:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f7f8f7;--surface:#fff;--ink:#1e2725;--muted:#5f6e69;--line:#e2e8e5;--accent:#0e7b68;--accent-soft:#e3f0ec;--good:#21714e;--good-bg:#e4f1e9;--code-bg:#101b18;--code-frame:#22312d;--code-bar:#0c1513;--code-ink:#cfe0da;--code-muted:#5f7a72}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#121716;--surface:#1a211f;--ink:#e3eae7;--muted:#90a19b;--line:#2a3532;--accent:#41bfa2;--accent-soft:#16302a;--good:#58c08c;--good-bg:#172c22}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#121716;--surface:#1a211f;--ink:#e3eae7;--muted:#90a19b;--line:#2a3532;--accent:#41bfa2;--accent-soft:#16302a;--good:#58c08c;--good-bg:#172c22}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7f8f7;--surface:#fff;--ink:#1e2725;--muted:#5f6e69;--line:#e2e8e5;--accent:#0e7b68;--accent-soft:#e3f0ec;--good:#21714e;--good-bg:#e4f1e9}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Malgun Gothic,sans-serif;font-size:16.5px;line-height:1.78}.mono{font-family:ui-monospace,SF Mono,Cascadia Code,JetBrains Mono,Consolas,monospace}.wrap{max-width:780px;margin:0 auto;padding:0 24px}a{color:var(--accent);border-bottom:1px solid #0000;text-decoration:none}a:hover,a:focus-visible{border-bottom-color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.theme-toggle{z-index:10;border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s;display:flex;position:fixed;top:18px;right:18px}@media (prefers-reduced-motion:reduce){.theme-toggle{transition:none}}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-toggle svg{width:17px;height:17px;display:block}.theme-toggle .to-light{display:none}@media (prefers-color-scheme:dark){.theme-toggle .to-dark{display:none}.theme-toggle .to-light{display:block}}:root[data-theme=dark] .theme-toggle .to-dark{display:none}:root[data-theme=dark] .theme-toggle .to-light,:root[data-theme=light] .theme-toggle .to-dark{display:block}:root[data-theme=light] .theme-toggle .to-light{display:none}header.hero{padding:88px 0 0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.72rem}h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 6px;font-size:clamp(2.3rem,6vw,3.2rem);font-weight:800;line-height:1.15}.role{color:var(--muted);margin:0 0 28px;font-size:1.05rem}.lede{max-width:62ch;margin:0 0 12px}.lede strong{color:var(--accent);font-weight:700}.links{flex-wrap:wrap;gap:8px 10px;margin:30px 0 0;padding:0;list-style:none;display:flex}.links a{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 13px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.8rem;display:inline-block}.links a:hover{border-color:var(--accent);color:var(--accent)}.links .k{color:var(--muted);margin-right:6px}.principles{grid-template-columns:repeat(3,1fr);gap:12px;margin:48px 0 0;display:grid}.principles>div{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:16px 18px}.principles b{margin-bottom:4px;font-size:.95rem;display:block}.principles p{color:var(--muted);margin:0;font-size:.85rem;line-height:1.6}@media (max-width:640px){.principles{grid-template-columns:1fr}}section{padding:72px 0 0}.sec-head{border-top:2px solid var(--ink);margin-bottom:8px;padding-top:18px}.sec-head .eyebrow{color:var(--muted);margin-bottom:8px}h2{letter-spacing:-.01em;text-wrap:balance;margin:0 0 4px;font-size:1.6rem;font-weight:800}.sec-meta{color:var(--muted);margin:0;font-size:.9rem}.sec-note{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:0 8px 8px 0;margin:20px 0 0;padding:12px 16px;font-size:.88rem}.stack{gap:10px;margin-top:24px;display:grid}.stack-row{grid-template-columns:130px 1fr;align-items:baseline;gap:12px;display:grid}.stack-row .k{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.72rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:3px 11px;font-size:.82rem}.chip.hot{border-color:var(--accent);color:var(--accent);font-weight:600}@media (max-width:560px){.stack-row{grid-template-columns:1fr;gap:4px}}article.case{border-top:1px dashed var(--line);margin-top:52px;padding-top:36px}article.case:first-of-type{border-top:none;padding-top:24px}.case-eyebrow{letter-spacing:.1em;color:var(--accent);margin:0 0 10px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.72rem}h3{letter-spacing:-.01em;text-wrap:balance;margin:0 0 16px;font-size:1.28rem;font-weight:750;line-height:1.4}.case p{max-width:66ch;margin:0 0 14px}.case ul{max-width:66ch;margin:0 0 14px;padding-left:22px}.case li{margin-bottom:6px}.plabel{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:4px;margin:14px 0 10px;padding:2px 8px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.7rem;display:inline-block}.metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0;display:grid}@media (max-width:700px){.metrics{grid-template-columns:repeat(2,1fr)}}.metric{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:14px 16px}.metric .k{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.68rem;display:block}.metric .v{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:1.35rem;font-weight:700;line-height:1.2;display:block}.metric .d{font-variant-numeric:tabular-nums;color:var(--good);background:var(--good-bg);border-radius:4px;margin-top:8px;padding:2px 7px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.74rem;font-weight:600;display:inline-block}.metric .from{color:var(--muted);font-size:.78rem;font-weight:400}figure.code{margin:22px 0}.code-frame{border:1px solid var(--code-frame);background:var(--code-bg);border-radius:10px;overflow:hidden}.code-bar{background:var(--code-bar);border-bottom:1px solid var(--code-frame);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.code-path{color:#7fa99d;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.74rem;overflow:hidden}.code-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 8px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.64rem}.code-badge.real{color:#7be0c3;border:1px solid #2c5449}.code-badge.example{color:#c9b98a;border:1px solid #56503a}pre{margin:0;padding:16px 18px;font-size:.82rem;line-height:1.65;overflow-x:auto}code{font-family:ui-monospace,SF Mono,Cascadia Code,JetBrains Mono,Consolas,monospace}pre code{color:var(--code-ink)}:not(pre)>code{color:var(--ink);background:var(--accent-soft);border-radius:4px;padding:1px 6px;font-size:.85em}.tok-c{color:var(--code-muted);font-style:italic}.tok-k{color:#55c5aa}.tok-s{color:#d7b36f}.tok-n{color:#be95d6}figcaption{color:var(--muted);max-width:66ch;margin-top:8px;font-size:.82rem}.flow{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:8px;margin:18px 0;padding:14px 16px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.78rem;display:grid}.flow-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.flow .step{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:4px 10px}.flow .step.hot{border-color:var(--accent);color:var(--accent);font-weight:600}.flow .arr{color:var(--muted)}.outcome{background:var(--accent-soft);border-radius:10px;max-width:66ch;margin:18px 0 0;padding:14px 18px}.outcome b{color:var(--accent)}.outcome ul{margin:0;padding-left:20px}.outcome li{margin:4px 0}footer{border-top:2px solid var(--ink);margin-top:88px;padding:28px 0 72px}.foot-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}.foot-grid h4{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.7rem}.foot-grid p{margin:0 0 4px;font-size:.92rem}.foot-grid .sub{color:var(--muted);font-size:.8rem}.fin{color:var(--muted);margin-top:36px;font-size:.8rem}.print-actions{z-index:10;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:9px 16px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.78rem;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 10px #0000001a}.print-actions:hover{border-color:var(--accent);color:var(--accent)}.print-actions:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media print{@page{size:A4;margin:12mm 11mm}:root,:root[data-theme=dark],:root[data-theme=light]{--paper:#fff;--surface:#fff;--ink:#16201e;--muted:#55635e;--line:#d8e0dd;--accent:#0b6555;--accent-soft:#eef5f3;--good:#1c6444;--good-bg:#edf5f0}body{background:#fff;font-size:10.4pt;line-height:1.6}.wrap{max-width:none;padding:0}.theme-toggle,.print-actions{display:none!important}p{orphans:2;widows:2}h1{font-size:21pt}h2{font-size:13pt}h3{font-size:11.4pt}h1,h2,h3,.plabel,.case-eyebrow,.code-bar{break-after:avoid}header.hero{padding-top:0}section{padding-top:20px}article.case{margin-top:20px;padding-top:16px}.principles{gap:8px;margin-top:20px}.case p,.case ul{margin-bottom:9px}.metric,.outcome,.flow,.principles>div,.stack-row,.sec-note,figcaption,.foot-grid>div{break-inside:avoid}figure.code{break-inside:auto;margin:12px 0}pre{padding:10px 12px;font-size:7.6pt;line-height:1.5}.code-frame,.code-bar,pre,pre code,pre span,.outcome,.metric .d,.sec-note,.chip,.links a,:not(pre)>code{-webkit-print-color-adjust:exact;print-color-adjust:exact}footer{break-inside:avoid;margin-top:26px;padding-bottom:0}.fin{margin-top:18px}a{border-bottom:none}}
