:root{--bg:#0f1013;--panel:#16181c;--panel2:#1c1f24;--line:#ffffff1a;--line2:#ffffff0d;--ink:#ebe7e0;--ink2:#dcd6cc;--ink3:#aca69b;--ink4:#9b958a;--needle:#ff7a63;--needle-bg:#ff7a6321;--on-needle:#0f1013;--cheong:#6fb7e8;--cheong-bg:#6fb7e821;--on-cheong:#0f1013;--grid:#ffffff06;--r:6px;--r-lg:10px;--tr:.2s cubic-bezier(.4, 0, .2, 1);--t1:13px;--t2:15px;--t3:19px;--font-disp:var(--font-display), "Space Grotesk", system-ui, sans-serif;--font-mono:var(--font-plex-mono), "IBM Plex Mono", ui-monospace, monospace;--font-body:var(--font-kr-sans), "Noto Sans KR", system-ui, sans-serif;--font-serif:"Noto Serif KR", "Apple SD Gothic Neo", Batang, 바탕, Georgia, serif}[data-theme=light]{--bg:#f4f1ea;--panel:#fbf9f4;--panel2:#ece8de;--line:#00000024;--line2:#0000000f;--ink:#1a1815;--ink2:#3d382f;--ink3:#645d52;--ink4:#635c50;--needle:#a8321f;--needle-bg:#a8321f1a;--on-needle:#fff;--cheong:#1c5a86;--cheong-bg:#1c5a861a;--on-cheong:#fff;--grid:#00000007}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--ink2);font-family:var(--font-body);font-size:var(--t2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);transition:background-color var(--tr), color var(--tr);background-size:24px 24px;margin:0;line-height:1.65}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.disp{font-family:var(--font-disp)}.serif{font-family:var(--font-serif)}.reg{z-index:210;pointer-events:none;opacity:.5;width:14px;height:14px;position:fixed}.reg:before,.reg:after{content:"";background:var(--needle);position:absolute}.reg:before{width:1px;height:14px;top:0;left:6px}.reg:after{width:14px;height:1px;top:6px;left:0}.reg-tl{top:8px;left:8px}.reg-tr{top:8px;right:8px}.reg-bl{bottom:8px;left:8px}.reg-br{bottom:8px;right:8px}@media (max-width:899px){.reg{display:none}}.rail{z-index:90;border-right:1px solid var(--line);background:var(--bg);width:46px;display:none;position:fixed;top:52px;bottom:0;left:0}.rail .strata{flex-direction:column;width:16px;display:flex;position:absolute;inset:0 0 0 auto}.rail .strata i{background:var(--ink4);opacity:.28;border-bottom:1px solid var(--bg);width:100%;display:block}.rail .strata i:last-child{border-bottom:none}.rail .cursor{background:var(--needle);height:1px;transition:top 50ms linear;position:absolute;left:0;right:0}.rail .cursor:after{content:"";border:4px solid #0000;border-right-color:var(--needle);position:absolute;top:-4px;right:-1px}.rail .cursor .pct{font-family:var(--font-mono);color:var(--needle);font-size:12px;font-weight:600;position:absolute;top:-16px;right:6px}.rail .unit{font-family:var(--font-mono);color:var(--ink3);letter-spacing:.18em;writing-mode:vertical-rl;font-size:11px;position:absolute;bottom:12px;left:15px;right:0;transform:rotate(180deg)}@media (min-width:900px){.rail{display:block}body{padding-left:46px}}.topbar{z-index:200;background:var(--bg);border-bottom:1px solid var(--line);height:52px;position:sticky;top:0}.topbar-in{align-items:center;gap:12px;max-width:1180px;height:100%;margin:0 auto;padding:0 24px;display:flex}.logo{font-family:var(--font-disp);font-size:var(--t3);color:var(--ink);letter-spacing:.02em;flex-shrink:0;font-weight:700;line-height:1}.logo .m{color:var(--needle)}.logo-an{font-family:var(--font-mono);color:var(--ink3);letter-spacing:.14em;border:1px solid var(--line);white-space:nowrap;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:11px}.spacer{margin-left:auto}.sw{border:1px solid var(--line);border-radius:5px;flex-shrink:0;display:flex;overflow:hidden}.sw button{background:var(--panel);font-family:var(--font-mono);color:var(--ink3);letter-spacing:.05em;cursor:pointer;transition:var(--tr);border:none;padding:5px 9px;font-size:11px;line-height:1.3}.sw button+button{border-left:1px solid var(--line)}.sw button.on{background:var(--needle);color:var(--on-needle)}.tnav{gap:4px;display:flex}.tnav a{font-family:var(--font-mono);font-size:var(--t1);color:var(--ink3);white-space:nowrap;transition:var(--tr);border:1px solid #0000;border-radius:5px;padding:5px 10px}.tnav a:hover{color:var(--ink);border-color:var(--line)}.tnav a.on{color:var(--needle);border-color:var(--needle);background:var(--needle-bg)}.tnav .off{font-family:var(--font-mono);font-size:var(--t1);color:var(--ink4);white-space:nowrap;opacity:.55;cursor:default;padding:5px 10px}.tnav .off em{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:820px){.tnav a{padding:5px 7px}}@media (max-width:620px){.tnav{display:none}}.wrap,.wrap-narrow{max-width:1180px;margin:0 auto;padding:0 24px}.wrap-narrow>*{max-width:812px}.shdr{align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.shdr .no{font-family:var(--font-mono);color:var(--needle);letter-spacing:.1em;flex-shrink:0;font-size:11px}.shdr h2{font-family:var(--font-disp);font-size:var(--t3);color:var(--ink);letter-spacing:-.01em;margin:0;font-weight:500}.shdr .rule{background:var(--line);flex:1;height:1px}.hero{border-bottom:1px solid var(--line);padding:64px 0 44px}.hero h1{font-family:var(--font-disp);color:var(--ink);letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(30px,5vw,46px);font-weight:700;line-height:1.1}.hero .sub{color:var(--ink3);font-size:var(--t2);max-width:640px;margin:0 0 28px}.gauges{flex-wrap:wrap;gap:0;display:flex}.gauges>div{border-right:1px solid var(--line);padding:0 22px}.gauges>div:first-child{padding-left:0}.gauges>div:last-child{border-right:none}.gauges .v{font-family:var(--font-mono);color:var(--needle);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.2}.gauges .k{font-family:var(--font-mono);color:var(--ink4);letter-spacing:.08em;margin-top:2px;font-size:11px}.grid{gap:12px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);transition:var(--tr);padding:16px 18px;display:block}.card:hover{border-color:var(--needle);background:var(--panel2)}.card .cap{font-family:var(--font-mono);color:var(--ink4);letter-spacing:.08em;margin-bottom:6px;font-size:11px}.card h3{font-size:var(--t2);color:var(--ink);letter-spacing:-.01em;margin:0 0 6px;font-weight:500}.card p{font-size:var(--t1);color:var(--ink3);margin:0;line-height:1.6}.card .n{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.tag{font-family:var(--font-mono);border:1px solid var(--line);color:var(--ink3);letter-spacing:.05em;border-radius:3px;padding:1px 7px;font-size:11px;display:inline-block}.tag.cheong{color:var(--cheong);border-color:var(--cheong);background:var(--cheong-bg)}.tag.danju{color:var(--needle);border-color:var(--needle);background:var(--needle-bg)}.tl{border-left:1px solid var(--line);margin-left:6px;padding-left:20px}.tl .row{border-bottom:1px solid var(--line2);padding:12px 0;position:relative}.tl .row:last-child{border-bottom:none}.tl .row:before{content:"";background:var(--needle);width:9px;height:1px;position:absolute;top:19px;left:-25px}.tl .yr{font-family:var(--font-mono);font-size:var(--t1);color:var(--needle);letter-spacing:.04em;font-variant-numeric:tabular-nums}.tl .ti{font-size:var(--t2);color:var(--ink);margin-top:2px}.tl .bd{font-size:var(--t1);color:var(--ink3);margin-top:3px}.prose{color:var(--ink2);font-size:16px;line-height:1.85}.prose h2{font-family:var(--font-disp);color:var(--ink);letter-spacing:-.01em;margin:40px 0 12px;font-size:21px;font-weight:500}.prose h3{color:var(--ink);margin:28px 0 8px;font-size:17px;font-weight:500}.prose p{margin:0 0 16px}.prose a{color:var(--needle);border-bottom:1px solid var(--needle-bg)}.prose a:hover{border-bottom-color:var(--needle)}.prose strong{color:var(--ink);font-weight:500}.prose ul,.prose ol{margin:0 0 16px;padding-left:20px}.prose li{margin-bottom:6px}.prose blockquote{border-left:2px solid var(--line);color:var(--ink3);margin:20px 0;padding:2px 0 2px 16px}.prose pre{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);font-family:var(--font-mono);color:var(--ink2);margin:0 0 16px;padding:12px 14px;font-size:13px;overflow-x:auto}.prose code{font-family:var(--font-mono);font-size:13px}.prose table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14px}.prose th{text-align:left;font-family:var(--font-mono);color:var(--ink4);letter-spacing:.06em;border-bottom:1px solid var(--line);padding:6px 10px;font-size:11px;font-weight:400}.prose td{border-bottom:1px solid var(--line2);padding:7px 10px}.prose .tablewrap{overflow-x:auto}.note{border:1px solid var(--line);border-left:2px solid var(--needle);background:var(--panel);font-size:var(--t1);color:var(--ink3);border-radius:0;padding:12px 16px}.foot{border-top:1px solid var(--line);margin-top:64px;padding:28px 0 44px}.foot .in{max-width:1180px;margin:0 auto;padding:0 24px}.foot .sis{flex-wrap:wrap;gap:4px 14px;margin-bottom:12px;display:flex}.foot .sis a{font-family:var(--font-mono);font-size:var(--t1);color:var(--ink3);transition:var(--tr)}.foot .sis a:hover{color:var(--needle)}.foot .sis a.self{color:var(--ink)}.foot .fine{color:var(--ink4);font-size:12px;line-height:1.7}
