:root{--ground:#fff;--surface:#fff;--sunk:#f4f6f9;--band:#12295e;--ink:#16203a;--muted:#55617d;--faint:#8290ac;--rule:#dfe3ea;--rule-soft:#edeff4;--accent:#1b3b86;--accent-deep:#12295e;--accent-soft:#e4ebf9;--accent-line:#aecbff;--warn:#9a5b00;--warn-soft:#fbeedd;--ok:#0b6b4f;--ok-soft:#e0f0ea;--on-accent:#fff;--r:8px;--r-s:6px;--r-xs:4px;--shadow:0 1px 1px #12295e08}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0c1120;--surface:#141b2d;--sunk:#1b2438;--band:#101a33;--ink:#e7ecf7;--muted:#a0aac2;--faint:#75809b;--rule:#2a3450;--rule-soft:#212b44;--accent:#8fb2f5;--accent-deep:#aecbff;--accent-soft:#1b2a4d;--accent-line:#33487a;--warn:#e0a85c;--warn-soft:#33260f;--ok:#6fcfa6;--ok-soft:#123026;--on-accent:#0c1120;--shadow:0 1px 2px #00000059}}:root[data-theme=dark]{--ground:#0c1120;--surface:#141b2d;--sunk:#1b2438;--band:#101a33;--ink:#e7ecf7;--muted:#a0aac2;--faint:#75809b;--rule:#2a3450;--rule-soft:#212b44;--accent:#8fb2f5;--accent-deep:#aecbff;--accent-soft:#1b2a4d;--accent-line:#33487a;--warn:#e0a85c;--warn-soft:#33260f;--ok:#6fcfa6;--ok-soft:#123026;--on-accent:#0c1120;--shadow:0 1px 2px #00000059}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;font-family:Noto Sans KR,system-ui,-apple-system,Malgun Gothic,sans-serif;font-size:15px;line-height:1.7}td,th,p,li,dd,dt,label,span,div,a,b,em,small{word-break:keep-all;overflow-wrap:break-word}.rule,td.n,th.n,code,.chip{overflow-wrap:anywhere}a{color:inherit;text-decoration:none}:where(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.serif{font-family:Noto Serif KR,Nanum Myeongjo,serif}.topbar{background:var(--surface);border-bottom:1px solid var(--rule);z-index:10;position:sticky;top:0}.topbar .inner{align-items:center;gap:22px;max-width:1560px;min-height:64px;margin:0 auto;padding:0 24px;display:flex}.brand{white-space:nowrap;align-items:center;gap:11px;display:flex}.brand .mark{background:var(--accent);width:32px;height:32px;color:var(--on-accent);border-radius:var(--r-s);letter-spacing:-.03em;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.brand .txt{letter-spacing:-.02em;font-family:Noto Serif KR,serif;font-size:16px;font-weight:700;line-height:1.2}.brand .txt small{letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-top:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9.5px;font-weight:500;display:block}nav.top{flex-wrap:nowrap;align-items:center;gap:2px;margin-left:auto;display:flex}nav.top a{color:var(--muted);white-space:nowrap;border-radius:var(--r-s);padding:8px 12px;font-size:13.5px;transition:color .15s,background .15s}nav.top a:hover{background:var(--sunk);color:var(--ink)}nav.top a.cta{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);margin-left:8px;font-weight:500}nav.top a.cta:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-accent)}nav.top a.cta.ghost{color:var(--accent);border-color:var(--accent-line);background:0 0;margin-left:14px}nav.top a.cta.ghost:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}@media (max-width:1400px){.topbar .inner{flex-wrap:wrap;gap:8px 10px;min-height:0;padding-top:10px;padding-bottom:10px}nav.top{scrollbar-width:thin;width:100%;margin-left:0;padding-bottom:2px;overflow-x:auto}nav.top a.cta.ghost{margin-left:6px}}@media (max-width:900px){.topbar .inner{padding-left:16px;padding-right:16px}}.wrap{max-width:1560px;margin:0 auto;padding:30px 32px 80px}.demo-note{background:var(--warn-soft);border-left:3px solid var(--warn);color:var(--warn);border-radius:var(--r-s);margin-bottom:26px;padding:10px 14px;font-size:12.5px;line-height:1.6}h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 6px;font-size:24px;font-weight:700}.sub{color:var(--muted);max-width:78ch;margin:0 0 26px;font-size:14px}h2{border-left:3px solid var(--accent);letter-spacing:-.01em;margin:34px 0 12px;padding-left:12px;font-size:15.5px;font-weight:700}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow);padding:22px}.card+.card{margin-top:14px}.grid2{grid-template-columns:1fr 1fr;gap:22px;display:grid}.fld{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.fld .lb{color:var(--faint);letter-spacing:.04em;flex-wrap:wrap;justify-content:space-between;gap:10px;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}.fld .lb em{color:var(--accent);font-style:normal}.fld .lb em.bad{color:var(--warn);font-weight:500}.val{border:1px solid var(--rule);border-radius:var(--r-s);background:var(--sunk);color:var(--ink);padding:9px 12px;font-size:14px}.val.tall{min-height:80px;line-height:1.65}.val.ph{color:var(--faint)}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags span{border:1px solid var(--rule);border-radius:var(--r-xs);background:var(--sunk);color:var(--muted);padding:3px 10px;font-size:12.5px}.steps{border:1px solid var(--rule);border-radius:var(--r);background:var(--surface);flex-wrap:wrap;margin-bottom:24px;display:flex;overflow:hidden}.steps span{text-align:center;color:var(--faint);border-right:1px solid var(--rule);background:var(--sunk);flex:110px;padding:9px 6px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.steps span:last-child{border-right:none}.steps span.on{background:var(--accent-soft);color:var(--accent);font-weight:500}.alert{border-left:3px solid var(--warn);background:var(--warn-soft);color:var(--warn);border-radius:var(--r-s);margin-bottom:18px;padding:11px 15px;font-size:13px;line-height:1.65}.good{border-left:3px solid var(--ok);background:var(--ok-soft);color:var(--ok);border-radius:var(--r-s);margin-bottom:18px;padding:11px 15px;font-size:13px;line-height:1.65}.info{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--accent);border-radius:var(--r-s);margin-bottom:18px;padding:11px 15px;font-size:13px;line-height:1.65}.alert b,.good b,.info b{font-weight:700}table{border-collapse:collapse;width:100%;font-size:13.5px}.scroll{border:1px solid var(--rule);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule-soft);padding:10px 13px}thead th{background:var(--sunk);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500}tbody tr:last-child td{border-bottom:none}td.n,th.n{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:IBM Plex Mono,monospace}td b{font-weight:700}td a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.chip{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-xs);white-space:nowrap;align-items:center;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500;display:inline-flex}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.info{background:var(--accent-soft);color:var(--accent)}.scale{border:1px solid var(--rule);border-radius:var(--r-s);margin-bottom:8px;display:flex;overflow:hidden}.scale span{text-align:center;color:var(--faint);border-right:1px solid var(--rule);background:var(--sunk);flex:1;padding:7px 3px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.scale span:last-child{border-right:none}.scale span.on{background:var(--accent);color:var(--on-accent);font-weight:500}.btnrow{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.btn{border:1px solid var(--rule);border-radius:var(--r-s);background:var(--surface);color:var(--ink);white-space:nowrap;cursor:default;padding:9px 18px;font-size:13.5px;transition:background .15s,border-color .15s,transform 60ms}.btn:hover{background:var(--sunk);border-color:var(--accent-line)}.btn:active{transform:translateY(1px)}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}.btn.pri:hover{background:var(--accent-deep);border-color:var(--accent-deep)}button.btn{cursor:pointer;font-family:inherit}.stat{background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.stat div{background:var(--surface);padding:16px 18px}.stat .v{color:var(--accent);font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace;font-size:25px;line-height:1.1}.stat .k{color:var(--muted);margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.rule{color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:11.5px}footer{border-top:1px solid var(--rule);color:var(--faint);margin-top:56px;padding-top:20px;font-size:12.5px}footer a{color:var(--muted);text-underline-offset:3px;text-decoration:underline}@media (max-width:700px){.grid2{grid-template-columns:1fr}.wrap{padding:24px 16px 64px}}.sidebar-wrap{align-items:flex-start;gap:0;max-width:1560px;margin:0 auto;display:flex}.side{flex:0 0 234px;max-height:calc(100vh - 64px);padding:26px 0 60px 28px;position:sticky;top:64px;overflow-y:auto}.side-g{margin-bottom:22px}.side-t{letter-spacing:.06em;color:var(--accent);border-bottom:1px solid var(--rule-soft);justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:5px;padding:0 10px 6px;font-size:11px;font-weight:700;display:flex}.side-t span{color:var(--faint);letter-spacing:0;font-size:10px;font-weight:400}.side a{color:var(--muted);border-radius:0 var(--r-s) var(--r-s) 0;border-left:2px solid #0000;padding:5px 10px;font-size:13px;line-height:1.5;transition:color .15s,background .15s;display:block}.side a:hover{color:var(--accent);background:var(--accent-soft);border-left-color:var(--accent)}.sidebar-wrap .wrap{flex:auto;min-width:0;max-width:none;padding:26px 36px 80px}@media (max-width:900px){.sidebar-wrap{display:block}.side{flex:none;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 14px;max-height:none;padding:20px 16px 0;display:grid;position:static}.side-g{margin-bottom:14px}.sidebar-wrap .wrap{padding:24px 16px 64px}}.home{max-width:1560px;margin:0 auto;padding:0 32px 80px}.masthead{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);align-items:start;gap:48px;padding:48px 0 42px;display:grid}.masthead .kicker{color:var(--accent);letter-spacing:.02em;font-size:12.5px;font-weight:500}.masthead h1{letter-spacing:-.03em;margin:10px 0 14px;font-family:Noto Serif KR,serif;font-size:42px;font-weight:700;line-height:1.22}.masthead p{color:var(--muted);max-width:56ch;margin:0 0 24px;font-size:15.5px;line-height:1.85}.cover{background:var(--band);color:#fff;border:1px solid var(--accent-deep);border-radius:var(--r);flex-direction:column;gap:0;min-height:270px;padding:30px 26px 26px;display:flex}.cover .t{letter-spacing:-.02em;font-family:Noto Serif KR,serif;font-size:22px;font-weight:700;line-height:1.35}.cover .te{color:var(--accent-line);letter-spacing:.03em;margin-top:8px;font-size:11.5px;line-height:1.5}.cover hr{border:0;border-top:1px solid #aecbff59;margin:20px 0}.cover dl{grid-template-columns:auto 1fr;gap:7px 14px;margin:0;font-size:12.5px;display:grid}.cover dt{color:var(--accent-line);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:11px}.cover dd{color:#fff;font-variant-numeric:tabular-nums;margin:0}.cover .foot{color:var(--accent-line);letter-spacing:.03em;margin-top:auto;padding-top:22px;font-size:11px}@media (max-width:860px){.masthead{grid-template-columns:1fr;gap:26px;padding:30px 0 26px}.masthead h1{font-size:29px}.home{padding:0 16px 64px}}.rowsplit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:34px;display:grid}@media (max-width:860px){.rowsplit{grid-template-columns:1fr;gap:24px}}.entry{border-top:1px solid var(--rule)}.entry a{border-bottom:1px solid var(--rule-soft);grid-template-columns:1fr auto;align-items:baseline;gap:6px 16px;padding:14px 4px;transition:background .15s,padding .15s;display:grid}.entry a:hover{background:var(--sunk);padding-left:10px;padding-right:10px}.entry .n{font-size:14.5px;font-weight:700}.entry .d{color:var(--muted);grid-column:1/-1;font-size:13px;line-height:1.6}.entry .m{color:var(--faint);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:11px}.toc{border-top:1px solid var(--rule)}.toc li{border-bottom:1px solid var(--rule-soft);padding:13px 0;list-style:none}.toc ol{margin:0;padding:0}.toc .ti{font-size:14px;font-weight:500;line-height:1.55}.toc .au{color:var(--muted);margin-top:4px;font-size:12.5px}.toc .pg{color:var(--faint);float:right;margin-left:12px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.tabs{border-bottom:2px solid var(--rule);flex-wrap:wrap;gap:0;margin:22px 0 20px;display:flex}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 16px;font-size:13.5px;transition:color .15s,border-color .15s}.tabs a:hover{color:var(--ink);border-bottom-color:var(--accent-line)}.tabs a.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}@media (max-width:700px){.tabs{flex-wrap:nowrap;overflow-x:auto}}.side a.cur{color:var(--accent);background:var(--accent-soft);border-left-color:var(--accent);font-weight:700}.card>div[style*=pre-wrap],.fld .val:not(.tall){max-width:100%}@media (min-width:1400px){.sidebar-wrap .wrap{padding-left:44px;padding-right:44px}}@media (max-width:1000px){.wrap{padding:26px 20px 72px}.home{padding:0 20px 64px}}.crumb{color:var(--faint);flex-wrap:wrap;align-items:center;gap:0;margin:0 0 16px;font-size:12.5px;display:flex}.crumb a{color:var(--muted)}.crumb a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.crumb b{color:var(--ink);font-weight:500}.crumb i{color:var(--faint);margin:0 8px;font-style:normal}.reghead{border-bottom:2px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 18px;padding-bottom:14px;display:flex}.regwrap{grid-template-columns:252px minmax(0,1fr);align-items:start;gap:44px;display:grid}.reg{max-width:74ch}.reg section{scroll-margin-top:150px}.reg h3{letter-spacing:-.01em;border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px;margin:30px 0 10px;padding-bottom:7px;font-size:15px;font-weight:700;display:flex}.reg section:first-child h3{margin-top:0}.reg p{margin:0 0 9px;font-size:14.5px;line-height:1.92}.reg p.i{color:var(--muted);padding-left:20px;font-size:14px}.reg p.chap{color:var(--accent);letter-spacing:.02em;margin:34px 0 12px;font-size:14px;font-weight:700}.reg p.buchik{font-size:14px}.reg p.note{color:var(--muted);background:var(--sunk);border-left:3px solid var(--rule);border-radius:var(--r-s);margin:12px 0;padding:10px 14px;font-size:13px}.reg.diff p.new,.reg.diff p.mod{border-left:3px solid var(--accent-line);margin-left:-16px;padding-left:13px}.reg.diff p.i.new,.reg.diff p.i.mod{margin-left:-16px;padding-left:33px}.regtoc{max-height:calc(100vh - 180px);padding-right:8px;position:sticky;top:150px;overflow-y:auto}.regtoc .t{letter-spacing:.06em;color:var(--accent);border-bottom:1px solid var(--rule);margin-bottom:6px;padding-bottom:6px;font-size:11px;font-weight:700}.regtoc ol{margin:0 0 4px;padding:0;list-style:none}.regtoc li{margin:0}.regtoc a{border-radius:0 var(--r-s) var(--r-s) 0;border-left:2px solid #0000;padding:5px 8px;line-height:1.45;transition:color .15s,background .15s;display:block}.regtoc a:hover{background:var(--accent-soft);border-left-color:var(--accent)}.regtoc .no{color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:10.5px;display:block}.regtoc .nm{color:var(--muted);font-size:12.5px;display:block}.regtoc a:hover .nm{color:var(--accent)}@media (max-width:1100px){.regwrap{grid-template-columns:1fr;gap:22px}.regtoc{border:1px solid var(--rule);border-radius:var(--r);background:var(--surface);max-height:none;padding:16px 18px;position:static}.regtoc ol{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 10px;display:grid}}.tags a{text-decoration:none}.tags a span{cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tags a:hover span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn.lg{padding:13px 26px;font-size:15px;font-weight:500}.btn.lg.strong{border:2px solid var(--accent);color:var(--accent);background:var(--surface);font-weight:700}.btn.lg.strong:hover{background:var(--accent-soft);border-color:var(--accent-deep);color:var(--accent-deep)}
