:root{color-scheme:light;--color-bg: #f4f1ea;--color-surface: #fbf9f4;--color-sunken: #eae6db;--color-text: #14150f;--color-text-soft: #45473d;--color-muted: #6b6d60;--color-faint: #8c8e7d;--color-rule: #d9d3c5;--color-rule-strong: #b7b1a0;--color-accent: #a1501b;--color-accent-ink: #7d3a10;--color-accent-wash: #f3e4d4;--color-ok: #1d6647;--color-ok-wash: #e1ece4;--color-warn: #855600;--color-warn-wash: #f7ecd5;--color-bad: #9c2a24;--color-bad-wash: #f7e3e0;--font-sans: "Archivo Variable", "Archivo", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, Menlo, monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: 1.0625rem;--text-md: 1.1875rem;--text-lg: 1.5rem;--text-xl: 1.875rem;--text-2xl: clamp(2.15rem, 1.5rem + 2.6vw, 3.1rem);--text-3xl: clamp(2.7rem, 1.6rem + 4.4vw, 4.5rem);--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 40px;--space-6: 64px;--space-7: 96px;--space-8: 128px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--border: 1px solid var(--color-rule);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .16s;--dur-base: .32s;--dur-slow: .64s;--measure: 68ch;--width-page: 1120px;--gutter: clamp(18px, 4vw, 40px);--header-h: 58px}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--color-bg: #121310;--color-surface: #191a15;--color-sunken: #0c0d0a;--color-text: #ece7db;--color-text-soft: #c6c1b3;--color-muted: #9b978a;--color-faint: #7a776c;--color-rule: #2d2f28;--color-rule-strong: #46483d;--color-accent: #e08b3c;--color-accent-ink: #f0ab63;--color-accent-wash: #2b1e11;--color-ok: #63c491;--color-ok-wash: #14251b;--color-warn: #e0a458;--color-warn-wash: #2a2013;--color-bad: #ef8a84;--color-bad-wash: #2a1816}}:root[data-theme=light]{color-scheme:light}@font-face{font-family:Archivo Variable;src:url(/fonts/archivo-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;src:url(/fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box}html{background-color:var(--color-bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}body{margin:0;background:transparent;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.65;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(to right,color-mix(in srgb,var(--color-rule) 42%,transparent) 0 1px,transparent 1px 72px),repeating-linear-gradient(to bottom,color-mix(in srgb,var(--color-rule) 30%,transparent) 0 1px,transparent 1px 72px);mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 78%);opacity:.55}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3,h4{margin:0 0 .5em;font-weight:700;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}h1{font-size:var(--text-2xl);letter-spacing:-.032em;line-height:1.04}h2{font-size:var(--text-lg);letter-spacing:-.024em;margin-top:2.2em}h3{font-size:var(--text-md);letter-spacing:-.015em;margin-top:1.8em}p{margin:0 0 1.1em;text-wrap:pretty}.prose p,.lede{max-width:var(--measure)}a{color:var(--color-accent-ink);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur-fast) ease-out}a:hover{color:var(--color-accent)}strong{font-weight:650}small{font-size:var(--text-sm)}hr{border:0;border-top:var(--border);margin:var(--space-5) 0}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.88em;font-variant-ligatures:none}code{background:var(--color-sunken);border:1px solid var(--color-rule);border-radius:var(--radius-xs);padding:.08em .34em;white-space:nowrap}pre{background:var(--color-sunken);border:var(--border);border-left:2px solid var(--color-rule-strong);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);overflow-x:auto;line-height:1.6;font-size:var(--text-sm);tab-size:2}pre code{background:none;border:0;padding:0;white-space:pre;font-size:inherit}ul,ol{padding-left:1.25em}li{margin:.3em 0}table{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin:var(--space-4) 0;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:9px 12px;border-bottom:var(--border);vertical-align:top}th{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);border-bottom-color:var(--color-rule-strong);white-space:normal;min-width:7ch}tbody tr:hover{background:color-mix(in srgb,var(--color-sunken) 55%,transparent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--color-accent-wash);color:var(--color-text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:var(--space-3);top:-100px;z-index:100;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;transition:top var(--dur-fast) ease-out}.skip-link:focus{top:var(--space-3)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--color-muted)}.small{font-size:var(--text-sm)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.sequence>*{opacity:0;animation:rise var(--dur-slow) var(--ease-out) forwards}.sequence>*:nth-child(1){animation-delay:40ms}.sequence>*:nth-child(2){animation-delay:.11s}.sequence>*:nth-child(3){animation-delay:.18s}.sequence>*:nth-child(4){animation-delay:.25s}.sequence>*:nth-child(5){animation-delay:.32s}.sequence>*:nth-child(n+6){animation-delay:.39s}.reveal{opacity:0;transform:translateY(12px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.sequence>*,.reveal{opacity:1!important;transform:none!important}}.wrap{width:100%;max-width:var(--width-page);margin:0 auto;padding:0 var(--gutter)}@media(min-width:1200px){.wrap{padding-left:var(--space-5);padding-right:var(--space-5);border-left:var(--border);border-right:var(--border)}}main{padding:var(--space-4) 0 var(--space-7)}main>.wrap>:first-child{margin-top:0}.site-header{position:sticky;top:0;z-index:30;border-bottom:var(--border);background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:blur(10px) saturate(1.2)}.site-header .bar{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-h)}.brand{display:inline-flex;align-items:baseline;gap:0;font-family:var(--font-mono);font-size:.95rem;font-weight:600;letter-spacing:-.03em;color:var(--color-text);text-decoration:none;white-space:nowrap}.brand:hover{color:var(--color-text)}.brand .prompt{color:var(--color-accent);margin-right:2px;font-weight:400}.brand .tld{color:var(--color-faint);font-weight:400}.brand .lamp{width:6px;height:6px;background:var(--color-accent);margin-right:9px;align-self:center;animation:lamp 2.4s ease-in-out 1s infinite}@keyframes lamp{0%,92%,to{opacity:1}96%{opacity:.25}}.site-nav{display:flex;align-items:center;gap:var(--space-4);margin-left:auto}.site-nav a{position:relative;display:inline-flex;align-items:baseline;gap:6px;min-height:44px;padding:0 2px;align-items:center;font-size:var(--text-sm);font-weight:500;color:var(--color-text-soft);text-decoration:none;transition:color var(--dur-fast) ease-out}.site-nav a .idx{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--color-faint);transition:color var(--dur-fast) ease-out}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}.site-nav a:hover{color:var(--color-text)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform:scaleX(1)}.site-nav a[aria-current=page]{color:var(--color-text)}.site-nav a[aria-current=page] .idx{color:var(--color-accent)}@media(max-width:720px){.site-header .bar,.site-nav{gap:var(--space-3)}.site-nav a{font-size:var(--text-xs);letter-spacing:.02em}.site-nav a .idx,.site-nav .nav-secondary{display:none}}.instrument{border-bottom:var(--border);background:color-mix(in srgb,var(--color-sunken) 55%,var(--color-bg));font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-muted);overflow:hidden}.instrument .row{display:flex;align-items:center;gap:var(--space-3) var(--space-4);min-height:34px;flex-wrap:wrap;padding:6px 0}.instrument .seg{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-transform:uppercase}.instrument .seg:before{content:"";width:4px;height:4px;background:var(--color-rule-strong)}.instrument .seg:first-child:before{background:var(--color-accent)}.instrument .cmd{margin-left:auto;color:var(--color-text-soft);text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}.instrument .cmd:before{content:"$ ";color:var(--color-accent)}@media(max-width:860px){.instrument .cmd{display:none}}.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:var(--space-6);align-items:center;padding:var(--space-6) 0 var(--space-5)}.hero-copy h1{font-size:var(--text-3xl);letter-spacing:-.04em;line-height:.98;margin-bottom:var(--space-3)}.hero-copy h1 em{font-style:normal;color:var(--color-accent)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3)}.eyebrow:before{content:"";width:22px;height:1px;background:currentColor}.lede{font-size:var(--text-md);line-height:1.6;color:var(--color-text-soft)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.hero-readout{position:relative}@media(min-width:1120px){.hero-readout{margin-right:calc(var(--space-5) * -1)}}@media(max-width:960px){.hero{grid-template-columns:1fr;gap:var(--space-5);padding-top:var(--space-5)}.hero-copy h1{font-size:var(--text-2xl)}}.readout{border:var(--border);border-top:2px solid var(--color-accent);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-sm);box-shadow:0 24px 48px -40px #14150f8c}.readout-head{display:flex;align-items:center;gap:8px;padding:8px var(--space-3);border-bottom:var(--border);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.readout-head .path{color:var(--color-text);text-transform:none;letter-spacing:0}.readout-body{padding:var(--space-3)}.readout-row{display:grid;grid-template-columns:13ch 1fr;gap:var(--space-3);padding:3px 0;font-variant-numeric:tabular-nums}.readout-row dt{color:var(--color-faint);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;padding-top:2px}.readout-row dd{margin:0;color:var(--color-text);overflow-wrap:anywhere}.readout-row dd .flag{color:var(--color-ok)}.readout-row.is-accent dd{color:var(--color-accent-ink);font-weight:600}.readout-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px var(--space-3);border-top:var(--border);font-size:var(--text-xs);color:var(--color-faint)}.readout-note{display:flex;gap:8px;margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-faint);line-height:1.6}.readout-note:before{content:"i";flex:0 0 auto;width:14px;height:14px;display:grid;place-items:center;border:1px solid var(--color-rule-strong);color:var(--color-accent);font-size:9px;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:600;text-decoration:none;cursor:pointer;transition:background var(--dur-fast) ease-out,border-color var(--dur-fast) ease-out,color var(--dur-fast) ease-out,transform var(--dur-fast) ease-out}.btn .arrow{font-family:var(--font-mono);transition:transform var(--dur-fast) ease-out}.btn:hover{border-color:var(--color-accent);color:var(--color-accent-ink)}.btn:hover .arrow{transform:translate(3px)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fdf9f3}.btn-primary:hover{background:var(--color-accent-ink);border-color:var(--color-accent-ink);color:#fdf9f3}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn-ghost{border-color:transparent;color:var(--color-text-soft);padding-inline:0}.btn-ghost:hover{border-color:transparent;color:var(--color-accent-ink)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-faint);margin:var(--space-4) 0 var(--space-3)}.breadcrumb a{color:var(--color-muted);text-decoration:none}.breadcrumb a:hover{color:var(--color-accent)}.breadcrumb .sep{color:var(--color-rule-strong)}.meta-row{display:flex;flex-wrap:wrap;gap:6px var(--space-4);margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-faint);text-transform:uppercase}.meta-row span:before{content:"";display:inline-block;width:4px;height:4px;background:var(--color-rule-strong);margin-right:7px;vertical-align:2px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin:var(--space-6) 0 var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-rule-strong)}.section-head h2{margin:0;font-size:var(--text-lg)}.section-head .count{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;color:var(--color-faint);text-transform:uppercase;white-space:nowrap}.card-grid{counter-reset:card;display:grid;grid-template-columns:1fr;gap:0;border-top:var(--border);border-left:var(--border);margin:var(--space-4) 0 var(--space-6)}@media(min-width:860px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{position:relative;display:flex;flex-direction:column;gap:6px;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);border-right:var(--border);border-bottom:var(--border);background:var(--color-surface);color:inherit;text-decoration:none;transition:background var(--dur-base) var(--ease-out)}a.card:before{counter-increment:card;content:"0" counter(card);position:absolute;left:var(--space-3);top:var(--space-4);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--color-faint);transition:color var(--dur-base) var(--ease-out)}a.card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--color-accent);transform:scaleY(0);transform-origin:top;transition:transform var(--dur-base) var(--ease-out)}a.card:hover{background:var(--color-bg)}a.card:hover:before{color:var(--color-accent)}a.card:hover:after{transform:scaleY(1)}.card h3{margin:0;font-size:var(--text-md);letter-spacing:-.02em}.card p{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--color-muted)}.card .tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.card .bullets{margin-top:auto;padding-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-faint);line-height:1.7}.guide-list{counter-reset:guide;list-style:none;padding:0;margin:var(--space-4) 0;border-top:var(--border)}.guide-list li{margin:0;border-bottom:var(--border)}.guide-list a{position:relative;display:grid;grid-template-columns:3.5ch 1fr;gap:var(--space-3);padding:var(--space-3) 0 var(--space-3) 0;text-decoration:none;color:inherit;transition:background var(--dur-fast) ease-out}.guide-list a:before{counter-increment:guide;content:counter(guide,decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-faint);padding-top:3px;transition:color var(--dur-fast) ease-out}.guide-list .title{display:block;font-weight:600;font-size:var(--text-base);letter-spacing:-.01em;transition:color var(--dur-fast) ease-out}.guide-list .desc{display:block;font-size:var(--text-sm);color:var(--color-muted);line-height:1.5;margin-top:2px}.guide-list a:hover{background:color-mix(in srgb,var(--color-sunken) 50%,transparent)}.guide-list a:hover:before{color:var(--color-accent)}.guide-list a:hover .title{color:var(--color-accent-ink)}.panel{position:relative;border:var(--border);background:var(--color-surface);margin:var(--space-4) 0}.panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--color-accent),var(--color-accent)) left top / 14px 2px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) left top / 2px 14px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) right top / 14px 2px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) right top / 2px 14px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) left bottom / 14px 2px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) left bottom / 2px 14px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) right bottom / 14px 2px no-repeat,linear-gradient(var(--color-accent),var(--color-accent)) right bottom / 2px 14px no-repeat;opacity:.5;transition:opacity var(--dur-base) ease-out}.panel:focus-within:after{opacity:1}.panel-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:10px var(--space-4);border-bottom:var(--border);background:color-mix(in srgb,var(--color-sunken) 60%,var(--color-surface));font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.panel-head .title,.panel-head strong{color:var(--color-text);font-weight:600;letter-spacing:0}.panel-head .spacer{flex:1}.panel-body{padding:var(--space-4)}@media(max-width:640px){.panel-body{padding:var(--space-3)}}.dropzone{position:relative;display:grid;place-items:center;gap:4px;padding:var(--space-6) var(--space-3);border:1px dashed var(--color-rule-strong);border-radius:var(--radius-xs);background:var(--color-bg);text-align:center;cursor:pointer;transition:border-color var(--dur-fast) ease-out,background var(--dur-fast) ease-out}.dropzone strong{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.dropzone span{font-size:var(--text-sm);color:var(--color-muted);max-width:46ch}.dropzone:before{content:"FILE";position:absolute;top:-9px;left:12px;padding:0 5px;background:var(--color-bg);font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;color:var(--color-faint)}.dropzone:hover,.dropzone.dragover{border-color:var(--color-accent);background:var(--color-accent-wash)}.dropzone.dragover strong{color:var(--color-accent-ink)}.field-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;margin:var(--space-3) 0}.field{display:flex;flex-direction:column;gap:5px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.field select,.field input[type=text],.field input[type=number]{min-height:40px;padding:0 10px;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:0;text-transform:none;border:1px solid var(--color-rule-strong);border-radius:var(--radius-xs);background:var(--color-bg);color:var(--color-text);transition:border-color var(--dur-fast) ease-out}.field select:hover,.field input:hover{border-color:var(--color-accent)}.field textarea{width:100%;min-height:140px;padding:10px;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.55;border:1px solid var(--color-rule-strong);border-radius:var(--radius-xs);background:var(--color-bg);color:var(--color-text);resize:vertical}.field textarea:focus{border-color:var(--color-accent);outline:none}.tabpanel[hidden]{display:none}.tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:var(--border);margin-bottom:var(--space-4)}.tabs button{position:relative;min-height:42px;padding:0 var(--space-3);border:0;background:none;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);cursor:pointer;transition:color var(--dur-fast) ease-out}.tabs button:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform var(--dur-fast) ease-out}.tabs button:hover,.tabs button[aria-selected=true]{color:var(--color-text)}.tabs button[aria-selected=true]:after{transform:scaleX(1)}.kv{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:1px var(--space-4);margin:0;font-size:var(--text-sm)}.kv dt{padding:6px 0;border-bottom:var(--border);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.kv dd{margin:0;padding:6px 0;border-bottom:var(--border);font-family:var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media(max-width:560px){.kv{grid-template-columns:1fr;gap:0}.kv dt{border-bottom:0;padding-bottom:0}.kv dd{padding-top:2px;padding-bottom:10px}}.badge{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border:1px solid var(--color-rule-strong);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-soft);white-space:nowrap}.badge.ok{background:var(--color-ok-wash);border-color:transparent;color:var(--color-ok)}.badge.warn{background:var(--color-warn-wash);border-color:transparent;color:var(--color-warn)}.badge.bad{background:var(--color-bad-wash);border-color:transparent;color:var(--color-bad)}.note{border-left:2px solid var(--color-accent);background:color-mix(in srgb,var(--color-sunken) 60%,transparent);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;font-size:var(--text-sm);line-height:1.6}.note p:last-child{margin-bottom:0}.note.warn{border-left-color:var(--color-warn)}.note strong{font-weight:650}.err{border:1px solid var(--color-bad);border-left-width:2px;background:var(--color-bad-wash);color:var(--color-bad);padding:var(--space-3);font-size:var(--text-sm);overflow-wrap:anywhere}.empty{color:var(--color-faint);font-size:var(--text-sm);padding:var(--space-4) 0;font-family:var(--font-mono)}.scroll-y{max-height:460px;overflow:auto;border:var(--border)}.table-scroll{overflow-x:auto}.ad-slot{position:relative;margin:var(--space-5) 0;padding:var(--space-4) 0 var(--space-2);border-top:var(--border);border-bottom:var(--border);text-align:center;background:color-mix(in srgb,var(--color-sunken) 26%,transparent)}.ad-slot:before{content:attr(data-label);position:absolute;top:4px;left:0;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-faint)}.ad-slot[data-format=leaderboard]{min-height:118px}.ad-slot[data-format=rectangle]{min-height:278px}.ad-slot[data-format=auto]{min-height:300px}@media(max-width:640px){.ad-slot[data-format=leaderboard]{min-height:128px}.ad-slot[data-format=rectangle]{min-height:268px}}.ad-slot .adsbygoogle{display:block;width:100%}.prose{max-width:74ch}.prose>h1{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.prose h2{padding-top:var(--space-2);border-top:1px solid var(--color-rule-strong)}.prose h2:first-of-type{border-top:0;padding-top:0}.prose ul,.prose ol{padding-left:1.2em}.prose li{margin:.35em 0;max-width:var(--measure)}.prose blockquote{margin:var(--space-4) 0;padding:var(--space-2) 0 var(--space-2) var(--space-4);border-left:2px solid var(--color-rule-strong);color:var(--color-text-soft);font-size:var(--text-md);line-height:1.5}.prose img{max-width:100%;height:auto;border:var(--border)}.prose table{border:var(--border)}.prose .table-scroll table{min-width:34rem}.prose td code{font-size:.82em}.prose>p:first-of-type{font-size:var(--text-md);color:var(--color-text-soft)}.article{display:grid;grid-template-columns:minmax(0,74ch) minmax(200px,240px);justify-content:space-between;gap:var(--space-5);align-items:start;margin-top:var(--space-4)}.toc{position:sticky;top:calc(var(--header-h) + var(--space-4));border-left:var(--border);padding-left:var(--space-3);font-size:var(--text-sm)}.toc h2{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-faint);border:0;padding:0}.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}.toc li{margin:0;counter-increment:toc}.toc a{display:block;padding:4px 0;color:var(--color-muted);text-decoration:none;line-height:1.35;border-bottom:1px solid transparent;transition:color var(--dur-fast) ease-out}.toc a:before{content:counter(toc,decimal-leading-zero);font-family:var(--font-mono);font-size:9px;color:var(--color-faint);margin-right:7px;vertical-align:2px}.toc a:hover{color:var(--color-accent-ink)}@media(max-width:1024px){.article{grid-template-columns:1fr}.toc{position:static;border-left:0;border-top:var(--border);padding:var(--space-3) 0 0;order:-1}.toc ol{display:flex;flex-wrap:wrap;gap:0 var(--space-3)}}.site-footer{border-top:1px solid var(--color-rule-strong);padding:var(--space-5) 0 var(--space-4);font-size:var(--text-sm);color:var(--color-muted)}.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:var(--border)}.site-footer h3{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-faint)}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:0}.site-footer a{display:inline-block;padding:3px 0;color:var(--color-muted);text-decoration:none;transition:color var(--dur-fast) ease-out}.site-footer a:hover{color:var(--color-accent-ink)}.site-footer .foot-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.03em;color:var(--color-faint)}.site-footer .origin{display:inline-flex;align-items:center;gap:6px}.site-footer .origin:before{content:"";width:5px;height:5px;background:var(--color-ok)}.wordmark{margin:var(--space-4) 0 0;font-family:var(--font-mono);font-size:clamp(2.6rem,9vw,7rem);font-weight:700;letter-spacing:-.05em;line-height:.85;color:transparent;-webkit-text-stroke:1px var(--color-rule-strong);user-select:none}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--color-rule);border:var(--border);margin:var(--space-5) 0}.stats>div{background:var(--color-bg);padding:var(--space-3) var(--space-4)}.stats dt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-faint);margin-bottom:4px}.stats dd{margin:0;font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}@media(max-width:480px){.hero-copy h1{font-size:2rem}.card-grid{grid-template-columns:1fr}.guide-list a{grid-template-columns:3ch 1fr}.readout-row{grid-template-columns:11ch 1fr}}
