:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fbf9f6;--surface:#fff;--ink:#1d1a17;--muted:#6a6259;--line:#e7e0d6;--accent:#c81e64;--accent-ink:#fff;--accent-soft:#fce8f0;--note:#2f6fdb;--tip:#14804f;--warn:#b96a06;--code-bg:#17171b;--code-ink:#e9e6e1;--code-line:#2a2a31;--code-muted:#9c968d;--tok-c:#7d8590;--tok-s:#a5d6a7;--tok-k:#ff8fb8;--tok-n:#f5c26b;--tok-p:#8ab4ff;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121214;--surface:#1b1b1f;--ink:#f1ede6;--muted:#a39b91;--line:#2b2b31;--accent:#ff6ba3;--accent-ink:#1b0a12;--accent-soft:#3a1626;--note:#7aa7ff;--tip:#4cc38a;--warn:#f0a548;--code-bg:#0c0c0f;--code-line:#25252b}}*,:before,:after{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--ink);font:17px/1.7 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:var(--accent);text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{max-width:72rem;margin:0 auto;padding:0 16px}.skip{background:var(--accent);color:var(--accent-ink);z-index:20;border-radius:8px;padding:8px 14px;position:absolute;top:-4rem;left:16px}.skip:focus{top:12px}.hero{background:radial-gradient(60rem 22rem at 12% -12%, var(--accent-soft), transparent 62%);padding:72px 0 36px}.kicker{font:700 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}.hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.hero-top .kicker{margin:0}.language-switch{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.language-switch button{color:var(--muted);font:600 .8rem/1.2 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px}.language-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.hero h1{font:700 clamp(2.7rem, 8vw, 5rem) / 1.02 var(--serif);letter-spacing:-.02em;margin:0}.hero h1 em{color:var(--accent);font-style:italic}.hero-lead{max-width:40rem;color:var(--muted);margin:22px 0 0;font-size:1.15rem}.meta{flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none;display:flex}.meta li{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:.85rem}.shell{grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:4rem;padding-bottom:40px;display:grid}.article{min-width:0;max-width:48rem}.toc{max-height:calc(100vh - 4rem);padding-top:24px;font-size:.92rem;position:sticky;top:2rem;overflow-y:auto}.toc-label{font:700 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.toc ol{margin:0;padding:0;list-style:none}.toc a{color:var(--muted);border-radius:8px;gap:10px;margin-left:-10px;padding:5px 10px;line-height:1.4;text-decoration:none;display:flex}.toc a:hover{color:var(--ink)}.toc a[aria-current=true]{color:var(--accent);background:var(--accent-soft);font-weight:600}.toc-num{font:.75rem/1.9 var(--mono);opacity:.7}.section{border-top:1px solid var(--line);padding:56px 0 8px;scroll-margin-top:4.5rem}.section:first-child{border-top:0;padding-top:24px}.section header{align-items:baseline;gap:14px;display:flex}.section-num{font:600 .9rem/1 var(--mono);color:var(--accent)}.section h2{font:700 clamp(1.7rem, 4vw, 2.2rem) / 1.15 var(--serif);letter-spacing:-.01em;margin:0}.section h2 a{color:inherit;text-decoration:none}.section h2 a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.section h3{font:700 1.05rem/1.3 var(--sans);margin:32px 0 8px}.section-lead{font:1.2rem/1.55 var(--serif);color:var(--muted);margin:12px 0 24px}.section p,.section li{max-width:44rem}.section ul,.section ol{padding-left:1.3rem}.section li{margin:6px 0}code{background:color-mix(in srgb, var(--ink) 8%, transparent);font:.86em var(--mono);overflow-wrap:anywhere;border-radius:6px;padding:.12em .38em}.cards{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:14px;margin:22px 0;display:grid}.card{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface);border-radius:14px;padding:18px 20px}.section .card h3{margin:0 0 6px;font-size:1rem}.card p{color:var(--muted);margin:0;font-size:.93rem;line-height:1.6}.steps{counter-reset:step;margin:0;list-style:none;padding:0!important}.steps li{border:1px solid var(--line);background:var(--surface);counter-increment:step;border-radius:14px;gap:2px;max-width:none;margin:0 0 12px;padding:16px 20px 16px 68px;display:grid;position:relative}.steps li:before{content:counter(step);background:var(--accent);width:32px;height:32px;color:var(--accent-ink);font:700 .95rem/1 var(--sans);border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;left:18px}.steps span{color:var(--muted)}.chips{flex-wrap:wrap;gap:8px;list-style:none;display:flex;padding:0!important}.chips li{border:1px solid var(--line);background:var(--surface);border-radius:999px;max-width:none;margin:0;padding:5px 13px;font-size:.9rem}.mistakes{list-style:none;padding:0!important}.mistakes li{border-left:3px solid var(--warn);background:var(--surface);border-radius:0 10px 10px 0;max-width:none;padding:12px 16px}.mistakes span{color:var(--muted)}.sources{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:8px 32px;display:grid}.sources h3{margin-top:16px}.sources ul{padding-left:1.1rem}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:22px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.93rem}th,td{text-align:left;vertical-align:top;padding:11px 16px}th{font:700 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}td{border-top:1px solid var(--line)}tbody tr:first-child td{border-top:0}td:first-child{white-space:nowrap}.callout{--tone:var(--note);border:1px solid var(--line);border-left:4px solid var(--tone);background:var(--surface);border-radius:12px;margin:22px 0;padding:14px 18px;font-size:.95rem}.callout-tip{--tone:var(--tip)}.callout-warn{--tone:var(--warn)}.callout-title{font:700 .72rem/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--tone);margin-bottom:2px;display:block}.code{border:1px solid var(--code-line);background:var(--code-bg);border-radius:14px;margin:22px 0;overflow:hidden}.code-bar{border-bottom:1px solid var(--code-line);min-height:38px;font:.75rem/1 var(--mono);color:var(--code-muted);justify-content:space-between;align-items:center;padding:6px 10px 6px 16px;display:flex}.code-copy{border:1px solid var(--code-line);color:var(--code-ink);font:600 .75rem/1 var(--sans);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px}.code-copy:hover{border-color:var(--accent);color:var(--accent)}.code pre{font:.84rem/1.65 var(--mono);color:var(--code-ink);tab-size:2;margin:0;padding:16px;overflow-x:auto}.code code{font:inherit;overflow-wrap:normal;background:0 0;padding:0}.tok-c{color:var(--tok-c)}.tok-s{color:var(--tok-s)}.tok-k{color:var(--tok-k)}.tok-n{color:var(--tok-n)}.tok-p{color:var(--tok-p)}.footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0 56px;font-size:.88rem}.footer p{margin:0}@media (width<=960px){.hero{padding:48px 0 24px}.shell{display:block}.toc{z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:none;margin:0 -16px;padding:10px 16px;top:0;overflow-y:visible}.toc-label,.toc-num{display:none}.toc ol{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.toc a{border:1px solid var(--line);white-space:nowrap;border-radius:999px;margin:0;padding:6px 12px}.toc a[aria-current=true]{border-color:var(--accent)}.section{scroll-margin-top:4rem}}@media (width<=520px){body{font-size:16px}td:first-child{white-space:normal}}
