:root{--d-bg: #0b0f0e;--d-surface: #141a18;--d-surface-2: #1d2522;--d-line: #2a342f;--d-ink: #e9efeb;--d-ink-muted: #9caaa3;--d-accent: #2ee08a;--d-accent-ink: #0b0f0e;--d-warn: #f0a64b;--d-danger: #f2685a;--l-bg: #fcfcfb;--l-surface: #ffffff;--l-surface-2: #f3f5f4;--l-line: #e2e7e4;--l-ink: #0e1412;--l-ink-muted: #586862;--l-accent: #0b7a45;--l-accent-ink: #ffffff;--l-warn: #9a5716;--l-danger: #b3352a;--font-display: "Space Grotesk Variable", "Space Grotesk", system-ui, sans-serif;--font-body: "Inter Variable", Inter, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-display: clamp(2.75rem, 5.5vw, 4.25rem);--t-h2: clamp(1.75rem, 3vw, 2.5rem);--t-h3: clamp(1.25rem, 2vw, 1.5rem);--t-lede: clamp(1.05rem, 1.6vw, 1.25rem);--t-body: 1rem;--t-small: .875rem;--t-label: .75rem;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--s-9: 6rem;--wrap: min(72rem, calc(100% - 2rem) );--measure: 68ch;--r-control: 6px;--r-card: 12px;--tap-min: 2.75rem;--header-h: 3.75rem;--bg: var(--d-bg);--surface: var(--d-surface);--surface-2: var(--d-surface-2);--line: var(--d-line);--ink: var(--d-ink);--ink-muted: var(--d-ink-muted);--accent: var(--d-accent);--accent-ink: var(--d-accent-ink);--warn: var(--d-warn);--danger: var(--d-danger);--shadow-veil: rgba(0, 0, 0, .55);color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: var(--l-bg);--surface: var(--l-surface);--surface-2: var(--l-surface-2);--line: var(--l-line);--ink: var(--l-ink);--ink-muted: var(--l-ink-muted);--accent: var(--l-accent);--accent-ink: var(--l-accent-ink);--warn: var(--l-warn);--danger: var(--l-danger);--shadow-veil: rgba(14, 20, 18, .35);color-scheme:light}}:root[data-theme=light]{--bg: var(--l-bg);--surface: var(--l-surface);--surface-2: var(--l-surface-2);--line: var(--l-line);--ink: var(--l-ink);--ink-muted: var(--l-ink-muted);--accent: var(--l-accent);--accent-ink: var(--l-accent-ink);--warn: var(--l-warn);--danger: var(--l-danger);--shadow-veil: rgba(14, 20, 18, .35);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{color:var(--ink);background:var(--bg);font-family:var(--font-body);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.1;margin:0;text-wrap:balance}h1{font-size:var(--t-display);letter-spacing:-.035em}h2{font-size:var(--t-h2);letter-spacing:-.025em}h3{font-size:var(--t-h3);letter-spacing:-.015em}p{margin:0 0 var(--s-4)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}code,kbd,samp,pre,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}code{font-size:.9em;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:.1em .35em}pre{margin:0;overflow-x:auto}pre code{background:none;border:0;padding:0;font-size:var(--t-small);line-height:1.65}hr{border:0;border-top:1px solid var(--line);margin:var(--s-6) 0}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{width:var(--wrap);margin-inline:auto}@media(min-width:56rem){:root{--wrap: min(72rem, calc(100% - 4rem) )}}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}.col-4,.col-5,.col-6,.col-7,.col-8,.col-12{grid-column:span 12}@media(min-width:56rem){.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}}.section{padding-block:var(--s-8)}.section-tight{padding-block:var(--s-7)}.section+.section{border-top:1px solid var(--line)}.skip-link{position:absolute;left:var(--s-4);top:calc(-1 * var(--s-9));z-index:80;background:var(--accent);color:var(--accent-ink);padding:var(--s-3) var(--s-4);border-radius:var(--r-control);font-weight:600;text-decoration:none;transition:top .14s ease}.skip-link:focus{top:var(--s-3)}.page-head{padding-block:var(--s-8) var(--s-6)}.page-head .eyebrow,.eyebrow{margin:0 0 var(--s-3);font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.page-head .lede,.lede{font-size:var(--t-lede);color:var(--ink-muted);max-width:var(--measure);margin:var(--s-5) 0 0;text-wrap:pretty}.page-head h1+.lede{margin-top:var(--s-4)}.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--s-4)}.prose h2{margin-top:var(--s-7)}.prose h3{margin-top:var(--s-6)}.prose ul,.prose ol{padding-left:1.25rem;margin-block:0}.prose li+li{margin-top:var(--s-2)}.prose strong{font-weight:600;color:var(--ink)}.prose a{font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap-min);padding:.7rem 1.15rem;border-radius:var(--r-control);background:var(--accent);color:var(--accent-ink);font-family:var(--font-body);font-weight:600;font-size:var(--t-small);letter-spacing:.01em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .14s ease,opacity .14s ease,background .14s ease;touch-action:manipulation}.btn:hover{transform:translateY(-1px);opacity:.92;text-decoration:none}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:var(--surface-2);opacity:1}.btn-sm{min-height:2.25rem;padding:.4rem .8rem;font-size:var(--t-label)}.cta-row{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-5)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}.card>h3{margin:0}.card p{margin:0;color:var(--ink-muted);font-size:var(--t-small)}.card-lead{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.card .card-figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.card-grid{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;font-family:var(--font-mono);font-size:var(--t-small)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface-2);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.panel-body{padding:var(--s-4);overflow-x:auto}.panel-body pre{color:var(--ink)}.panel dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:var(--s-2) var(--s-5);font-variant-numeric:tabular-nums}.panel dt{color:var(--ink-muted)}.panel dd{margin:0;text-align:right;color:var(--ink)}.panel dd.hi{color:var(--accent)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--t-small)}.table th,.table td{padding:var(--s-3) var(--s-4);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.table thead th{position:sticky;top:0;background:var(--surface-2);font-family:var(--font-body);font-size:var(--t-label);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.table tbody tr:last-child td{border-bottom:0}.table td.num,.table th.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.table td.wrap-ok{white-space:normal;min-width:16rem}.chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:.15rem .55rem;border-radius:999px;border:1px solid currentColor;font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.04em;white-space:nowrap}.chip:before{content:"";width:.4rem;height:.4rem;border-radius:999px;background:currentColor}.chip-verified{color:var(--accent)}.chip-local{color:var(--warn)}.chip-unverified{color:var(--ink-muted)}.chip-failed{color:var(--danger)}.note{border:1px solid var(--line);border-left-width:3px;border-radius:var(--r-control);background:var(--surface);padding:var(--s-4);font-size:var(--t-small);color:var(--ink-muted)}.note :last-child{margin-bottom:0}.note strong{color:var(--ink)}.note-warn{border-left-color:var(--warn)}.note-info{border-left-color:var(--accent)}.note-danger{border-left-color:var(--danger)}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 85%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;gap:var(--s-4);min-height:var(--header-h)}.logo{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.03em;color:var(--ink);text-decoration:none;flex-shrink:0;min-height:var(--tap-min)}.logo .mark{width:1.4rem;height:1.4rem;display:block}.logo span{color:var(--accent)}.nav-primary{display:flex;align-items:center;gap:var(--s-1);margin-left:auto}.nav-primary a{padding:var(--s-2) var(--s-3);border-radius:var(--r-control);color:var(--ink-muted);text-decoration:none;font-size:var(--t-small);font-weight:500;min-height:var(--tap-min);display:inline-flex;align-items:center}.nav-primary a:hover{color:var(--ink);background:var(--surface-2)}.nav-primary a.on{color:var(--ink);font-weight:600}.nav-actions{display:flex;align-items:center;gap:var(--s-2);flex-shrink:0}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-min);height:var(--tap-min);padding:0;border-radius:var(--r-control);border:1px solid var(--line);background:transparent;color:var(--ink-muted);cursor:pointer}.theme-toggle:hover{color:var(--ink);background:var(--surface-2)}.theme-toggle svg{width:1.05rem;height:1.05rem}.theme-toggle [data-icon]{display:none}:root[data-theme-pref=system] .theme-toggle [data-icon=system],:root[data-theme-pref=light] .theme-toggle [data-icon=light],:root[data-theme-pref=dark] .theme-toggle [data-icon=dark]{display:block}.nav-toggle{display:none;align-items:center;justify-content:center;width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-control);border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{display:block;width:1rem;height:1.5px;background:currentColor;position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";position:absolute;left:0}.nav-toggle-bars:before{top:-5px}.nav-toggle-bars:after{top:5px}.nav-backdrop{display:none}.site-footer{margin-top:var(--s-9);border-top:1px solid var(--line);background:var(--surface);font-size:var(--t-small);color:var(--ink-muted)}.footer-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr);gap:var(--s-6) var(--s-7);padding-block:var(--s-7) var(--s-6)}.foot-tag{margin:var(--s-3) 0 var(--s-4);max-width:26rem}.foot-entity{margin:0;font-size:var(--t-label);line-height:1.6}.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}.footer-cols h2{margin:0 0 var(--s-3);font-family:var(--font-body);font-size:var(--t-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.footer-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}.footer-cols a{color:var(--ink);text-decoration:none}.footer-cols a:hover{color:var(--accent)}.footer-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3) var(--s-5);align-items:center;padding-block:var(--s-4);border-top:1px solid var(--line);font-size:var(--t-label)}.footer-bar p{margin:0}.bar-links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4)}.bar-links a{color:var(--ink-muted);text-decoration:none}.bar-links a:hover{color:var(--accent)}@media(max-width:55.99rem){.nav-toggle{display:inline-flex;order:3}.nav-actions{margin-left:auto;order:2}.nav-actions .nav-text{display:none}.nav-backdrop{display:block;position:fixed;inset:0;z-index:45;background:var(--shadow-veil)}.nav-backdrop[hidden]{display:none}.nav-primary{position:fixed;top:0;right:0;bottom:0;z-index:55;width:min(19rem,86vw);margin:0;padding:calc(var(--header-h) + var(--s-4)) var(--s-4) var(--s-5);flex-direction:column;align-items:stretch;gap:var(--s-1);background:var(--surface);border-left:1px solid var(--line);transform:translate(105%);transition:transform .2s ease;overflow-y:auto}body.nav-open .nav-primary{transform:translate(0)}.nav-primary a{font-size:var(--t-body)}.footer-inner{grid-template-columns:1fr}.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:56rem){.nav-panel-only{display:none!important}}.consent-bar{border-top:1px solid var(--line);background:var(--surface-2);padding-block:var(--s-4);font-size:var(--t-small);color:var(--ink-muted)}.consent-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3) var(--s-5)}.consent-inner p{margin:0;max-width:52ch}.consent-actions{display:flex;gap:var(--s-2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:hover{transform:none}.site-header{backdrop-filter:none}}@media(forced-colors:active){.card,.panel,.table-wrap,.note,.chip,.btn{border:1px solid CanvasText}.chip:before{forced-color-adjust:none}}.doc-shell{display:grid;gap:var(--s-6);padding-block:var(--s-7) var(--s-8);align-items:start}@media(min-width:56rem){.doc-shell{grid-template-columns:15rem minmax(0,1fr);gap:var(--s-8)}}.doc-side{position:static;min-width:0}@media(min-width:56rem){.doc-side{position:sticky;top:calc(var(--header-h) + var(--s-5))}}.doc-side-title{margin:0 0 var(--s-3);font-family:var(--font-body);font-size:var(--t-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.doc-jump{display:block;margin-bottom:var(--s-4)}@media(min-width:56rem){.doc-jump{display:none}}.doc-jump span{display:block;margin-bottom:var(--s-2);font-size:var(--t-label);color:var(--ink-muted)}.doc-select{width:100%;min-height:var(--tap-min);padding:var(--s-2) var(--s-3);border-radius:var(--r-control);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-small)}.doc-nav{display:none;flex-direction:column;gap:1px}@media(min-width:56rem){.doc-nav{display:flex}}.doc-nav a{padding:var(--s-2) var(--s-3);border-radius:var(--r-control);border-left:2px solid transparent;color:var(--ink-muted);text-decoration:none;font-size:var(--t-small)}.doc-nav a:hover{color:var(--ink);background:var(--surface-2)}.doc-nav a.on{color:var(--ink);font-weight:600;border-left-color:var(--accent);background:var(--surface-2)}.doc-side-extra{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line);font-size:var(--t-label)}.doc-side-extra a{color:var(--ink-muted);text-decoration:none}.doc-side-extra a:hover{color:var(--accent)}.doc-main{min-width:0}.doc-meta{margin:var(--s-4) 0 var(--s-6);padding-bottom:var(--s-4);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:var(--t-label);color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5)}.doc-side-note{margin:var(--s-5) 0 0;padding-top:var(--s-4);border-top:1px solid var(--line);font-size:var(--t-label);color:var(--ink-muted)}.doc-meta-block{margin:var(--s-5) 0 var(--s-6);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);font-size:var(--t-small);color:var(--ink-muted)}.doc-meta-block strong{color:var(--ink);font-weight:600}.doc-foot-links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--line);font-size:var(--t-small)}.doc-foot-links a{color:var(--ink-muted);text-decoration:none}.doc-foot-links a:hover{color:var(--accent)}.prose table{width:100%;border-collapse:collapse;margin-block:var(--s-5);font-size:var(--t-small);display:block;overflow-x:auto}.prose table th,.prose table td{padding:var(--s-3) var(--s-4);text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.prose table thead th{background:var(--surface-2);font-family:var(--font-body);font-size:var(--t-label);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}.prose table tbody tr:last-child td{border-bottom:0}
