:root{--bg:#fbfaf7;--surface:#fff;--surface-2:#f2f0ea;--text:#1c1f24;--muted:#5b6270;--border:#e3e0d8;--accent:#1d4ed8;--accent-ink:#fff;--accent-soft:#e8eefc;--brand:#0f2a5c;--ok:#15803d;--warn:#b45309;--radius:10px;--maxw:72rem;--readw:44rem;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#111418;--surface:#181c22;--surface-2:#1f242c;--text:#e7e9ee;--muted:#9aa3b2;--border:#2b313b;--accent:#7aa2ff;--accent-ink:#0b1020;--accent-soft:#1b2640;--brand:#c9d6f5;--ok:#4ade80;--warn:#fbbf24}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--bg);color:var(--text);font:1.0625rem/1.65 var(--font);overflow-wrap:break-word;margin:0}a{color:var(--accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}.skip{background:var(--accent);color:var(--accent-ink);z-index:50;border-radius:6px;padding:.5rem 1rem;position:absolute;top:.5rem;left:-999px}.skip:focus{left:1rem}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1rem}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .wrap{align-items:center;gap:1.5rem;min-height:3.75rem;display:flex}.logo{color:var(--brand);letter-spacing:-.01em;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:750;text-decoration:none;display:flex}.logo svg{flex:none}.logo span{color:var(--muted);font-weight:500}.nav{gap:1.1rem;margin-left:auto;font-size:.95rem;display:flex}.nav a{color:var(--text);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}@media (width<=760px){.site-header .wrap{flex-wrap:wrap;gap:.25rem 1rem;padding-block:.5rem}.nav{gap:1rem;width:100%;margin-left:0;padding-bottom:.25rem;overflow-x:auto}.nav a{white-space:nowrap}}.hero{padding:3.5rem 0 2.5rem}.hero h1{font-family:var(--serif);letter-spacing:-.015em;max-width:48rem;margin:0 0 1rem;font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.15}.hero p{color:var(--muted);max-width:44rem;margin:0;font-size:1.2rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .75rem;font-size:.78rem;font-weight:700}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card h3{color:var(--text);margin:0;font-size:1.1rem;line-height:1.35}.card p{color:var(--muted);margin:0;font-size:.95rem}.card .tag{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:.75rem;font-weight:700}section.block{padding:2rem 0}section.block>h2,.section-title{font-family:var(--serif);margin:0 0 .35rem;font-size:1.7rem}.section-sub{color:var(--muted);margin:0 0 1.25rem}.crumbs{color:var(--muted);padding-top:1.5rem;font-size:.875rem}.crumbs ol{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:.35rem}.crumbs a{color:var(--muted)}.article-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem;display:grid}@media (width>=1040px){.article-grid{grid-template-columns:minmax(0, var(--readw)) 16rem;justify-content:space-between}}.article-head h1{font-family:var(--serif);letter-spacing:-.01em;margin:.75rem 0 1rem;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.18}.article-head .lead{color:var(--muted);margin:0 0 1rem;font-size:1.2rem}.meta{color:var(--muted);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;font-size:.875rem;display:flex}.prose{max-width:var(--readw)}.prose h2{font-family:var(--serif);margin:2.5rem 0 .75rem;font-size:1.6rem;line-height:1.25}.prose h3{margin:1.75rem 0 .5rem;font-size:1.2rem}.prose p,.prose ul,.prose ol{margin:0 0 1rem}.prose li{margin:.25rem 0}.prose blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;padding:.75rem 1.25rem}.prose blockquote p:last-child{margin-bottom:0}.prose code{background:var(--surface-2);border-radius:4px;padding:.1em .35em;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.table-scroll,.prose table{display:block;overflow-x:auto}.prose table{border-collapse:collapse;width:max-content;max-width:100%;margin:1.25rem 0 1.5rem;font-size:.95rem}.prose th,.prose td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.55rem .75rem}.prose th{background:var(--surface-2);font-weight:650}.prose tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-2) 45%, transparent)}.toc{align-self:start;font-size:.9rem;position:sticky;top:5rem}.toc h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .5rem;font-size:.8rem}.toc ol{border-left:2px solid var(--border);margin:0;padding:0;list-style:none}.toc a{color:var(--muted);padding:.3rem 0 .3rem .85rem;line-height:1.35;text-decoration:none;display:block}.toc a:hover{color:var(--accent)}@media (width<=1039px){.toc{display:none}}.faq{margin-top:3rem}.faq details{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:.6rem;padding:.9rem 1.1rem}.faq summary{cursor:pointer;font-weight:650}.faq details p{color:var(--text);margin:.75rem 0 0}.callout{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand);margin:3rem 0 1rem;padding:1.5rem}.callout h2{font-family:var(--serif);margin:0 0 .5rem;font-size:1.3rem}.callout p{color:var(--muted);margin:0 0 1rem}.btn{background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:.6rem 1.1rem;font-weight:650;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(1.08)}.btn.ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}.btns{flex-wrap:wrap;gap:.6rem;display:flex}.gloss-letters{flex-wrap:wrap;gap:.35rem;margin:0 0 2rem;display:flex}.gloss-letters a{border:1px solid var(--border);background:var(--surface);border-radius:6px;place-items:center;width:2.1rem;height:2.1rem;text-decoration:none;display:inline-grid}.gloss dt{margin-top:1.5rem;scroll-margin-top:5rem;font-size:1.1rem;font-weight:700}.gloss dd{margin:.35rem 0 0}.gloss dd .see{color:var(--muted);font-size:.9rem}.site-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:4rem;font-size:.925rem}.site-footer .cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:2rem;padding:2.5rem 0 1.5rem;display:grid}.site-footer h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .75rem;font-size:.8rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin:.35rem 0}.site-footer a{color:var(--text);text-decoration:none}.site-footer a:hover{color:var(--accent)}.site-footer .legal{border-top:1px solid var(--border);color:var(--muted);padding:1.25rem 0 2rem}.brand-bar{background:var(--brand);color:#fff;font-size:.875rem}.brand-bar .wrap{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem 1rem;padding-block:.45rem;display:flex}.brand-bar a{color:#fff;text-underline-offset:.2em;font-weight:700;text-decoration:underline}@media (prefers-color-scheme:dark){.brand-bar{background:#1b2a4a}}.nav .nav-cta{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:.3rem .75rem;font-weight:650}.nav .nav-cta:hover{color:var(--accent-ink);filter:brightness(1.08)}.inline-cta{border-radius:var(--radius);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);margin:2rem 0;padding:1.1rem 1.25rem}.inline-cta p{margin:0 0 .75rem}.aside-col{align-self:start;position:sticky;top:5rem}.toc{position:static}.side-cta{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:.6rem;margin-top:1.5rem;padding:1rem;font-size:.875rem;display:grid}.side-cta p{color:var(--muted);margin:0}.side-cta .btn{text-align:center}@media (width<=1039px){.aside-col{display:none}}
