@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:optional}

@font-face{font-family:"JBM Fallback DejaVu";src:local("DejaVu Sans Mono"),local("DejaVuSansMono");font-weight:400;size-adjust:99.66%;ascent-override:102.35%;descent-override:30.10%;line-gap-override:0%}@font-face{font-family:"JBM Fallback DejaVu";src:local("DejaVu Sans Mono"),local("DejaVuSansMono");font-weight:700;size-adjust:99.66%;ascent-override:102.35%;descent-override:30.10%;line-gap-override:0%}@font-face{font-family:"JBM Fallback Menlo";src:local("Menlo"),local("Menlo-Regular");font-weight:400;size-adjust:99.66%;ascent-override:102.35%;descent-override:30.10%;line-gap-override:0%}@font-face{font-family:"JBM Fallback Menlo";src:local("Menlo"),local("Menlo-Regular");font-weight:700;size-adjust:99.66%;ascent-override:102.35%;descent-override:30.10%;line-gap-override:0%}@font-face{font-family:"JBM Fallback Consolas";src:local("Consolas"),local("Consolas");font-weight:400;size-adjust:109.13%;ascent-override:93.47%;descent-override:27.49%;line-gap-override:0%}@font-face{font-family:"JBM Fallback Consolas";src:local("Consolas"),local("Consolas");font-weight:700;size-adjust:109.13%;ascent-override:93.47%;descent-override:27.49%;line-gap-override:0%}@font-face{font-family:"JBM Fallback Liberation";src:local("Liberation Mono"),local("LiberationMono");font-weight:400;size-adjust:99.98%;ascent-override:102.02%;descent-override:30.00%;line-gap-override:0%}@font-face{font-family:"JBM Fallback Liberation";src:local("Liberation Mono"),local("LiberationMono");font-weight:700;size-adjust:99.98%;ascent-override:102.02%;descent-override:30.00%;line-gap-override:0%}@font-face{font-family:"JBM Fallback Courier";src:local("Courier New"),local("CourierNewPSMT");font-weight:400;size-adjust:99.98%;ascent-override:102.02%;descent-override:30.00%;line-gap-override:0%}@font-face{font-family:"JBM Fallback Courier";src:local("Courier New"),local("CourierNewPSMT");font-weight:700;size-adjust:99.98%;ascent-override:102.02%;descent-override:30.00%;line-gap-override:0%}

:root{color-scheme:dark;--bg:#0a0d12; --surface:#0f141b; --surface-2:#151c25;--fg:#e6edf3; --muted:#a3afbd; --line:#243040; --line-strong:#5f7187;--a-cyan:#22d3ee; --a-green:#4ade80; --a-amber:#fbbf24; --a-magenta:#f472b6; --on-accent:#0a0d12;--ok:#4ade80; --warn:#fbbf24; --danger:#f87171;--focus-color:var(--accent); --soft-pct:10%; --grid-pct:4.5%;--font-mono:"JetBrains Mono","JBM Fallback DejaVu","JBM Fallback Menlo","JBM Fallback Consolas","JBM Fallback Liberation","JBM Fallback Courier",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;--fs-xs:.8125rem; --fs-sm:.9375rem; --fs-base:1rem; --fs-md:1.125rem; --fs-lg:clamp(1.25rem,2.5vw,1.5rem);--fs-xl:clamp(1.5rem,4vw,2.25rem); --fs-hero:clamp(2.25rem,7vw,4.5rem);--lh:1.65; --lh-tight:1.15;--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;--container:72rem; --measure:42rem; --gutter:clamp(1rem,5vw,3rem);--radius:0; --border:1px solid var(--line); --focus:2px solid var(--focus-color);--header-h:3.75rem; --dur:160ms; --ease:cubic-bezier(.2,.6,.2,1);}@media (prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#f7f8fa; --surface:#ffffff; --surface-2:#eef1f5;--fg:#0a0d12; --muted:#4a5565; --line:#d5dae1; --line-strong:#7a8594;--a-cyan:#0e7490; --a-green:#166534; --a-amber:#92400e; --a-magenta:#be185d; --on-accent:#ffffff;--ok:#166534; --warn:#854d0e; --danger:#b91c1c; --soft-pct:8%; --grid-pct:6%;}}:root[data-theme="light"]{color-scheme:light;--bg:#f7f8fa; --surface:#ffffff; --surface-2:#eef1f5;--fg:#0a0d12; --muted:#4a5565; --line:#d5dae1; --line-strong:#7a8594;--a-cyan:#0e7490; --a-green:#166534; --a-amber:#92400e; --a-magenta:#be185d; --on-accent:#ffffff;--ok:#166534; --warn:#854d0e; --danger:#b91c1c; --soft-pct:8%; --grid-pct:6%;}@media (prefers-contrast:more){:root:not([data-theme]){color-scheme:dark;--bg:#000000; --surface:#000000; --surface-2:#0d0d0d;--fg:#ffffff; --muted:#e6e6e6; --line:#9a9a9a; --line-strong:#ffffff;--a-cyan:#67e8f9; --a-green:#86efac; --a-amber:#fde047; --a-magenta:#f9a8d4; --on-accent:#000000;--ok:#86efac; --warn:#fde047; --danger:#fca5a5; --focus-color:#ffffff; --soft-pct:0%; --grid-pct:0%;}}:root[data-theme="contrast"]{color-scheme:dark;--bg:#000000; --surface:#000000; --surface-2:#0d0d0d;--fg:#ffffff; --muted:#e6e6e6; --line:#9a9a9a; --line-strong:#ffffff;--a-cyan:#67e8f9; --a-green:#86efac; --a-amber:#fde047; --a-magenta:#f9a8d4; --on-accent:#000000;--ok:#86efac; --warn:#fde047; --danger:#fca5a5; --focus-color:#ffffff; --soft-pct:0%; --grid-pct:0%;}
:root{--accent:var(--a-cyan)}:root[data-accent="green"]{--accent:var(--a-green)}:root[data-accent="amber"]{--accent:var(--a-amber)}:root[data-accent="magenta"]{--accent:var(--a-magenta)}:root{--accent-fg:var(--on-accent);--accent-soft:color-mix(in srgb,var(--accent) var(--soft-pct),transparent);--grid:color-mix(in srgb,var(--accent) var(--grid-pct),transparent);
--fx-glyph:var(--fg); --fx-lit:var(--accent); --fx-bg:var(--bg); --fx-dim-alpha:.11; --fx-glow:1;}:root[data-theme="contrast"]{--fx-dim-alpha:.06;--fx-glow:0}:root[data-theme="light"]{--fx-dim-alpha:.14}
@media (forced-colors:active){:root{--bg:Canvas; --surface:Canvas; --surface-2:Canvas; --fg:CanvasText; --muted:CanvasText; --line:CanvasText; --line-strong:CanvasText;--accent:LinkText; --accent-fg:Canvas; --accent-soft:transparent; --grid:transparent; --focus-color:Highlight;--ok:CanvasText; --warn:CanvasText; --danger:CanvasText; --fx-glow:0;}.btn--primary{forced-color-adjust:none;background:ButtonText;color:ButtonFace;border-color:ButtonText}.fx-canvas,canvas[aria-hidden="true"]{display:none}}

*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s-4))}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg);color:var(--fg);font:var(--fs-base)/var(--lh) var(--font-body);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;background-attachment:fixed}main{flex:1;min-width:0;width:100%}h1,h2,h3,h4{font-family:var(--font-mono);font-weight:700;line-height:var(--lh-tight);margin:var(--s-6) 0 var(--s-3);letter-spacing:-.01em}h1{font-size:var(--fs-xl);letter-spacing:-.02em} h2{font-size:var(--fs-lg)} h3{font-size:var(--fs-md)} h4{font-size:var(--fs-base)}p,ul,ol,dl,blockquote,pre,table,figure{margin:0 0 var(--s-4)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:var(--focus);outline-offset:3px}img,svg{max-width:100%;height:auto}hr{border:0;border-top:var(--border);margin:var(--s-7) 0}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--surface-2);border:var(--border);padding:.05em .35em}::selection{background:var(--accent);color:var(--accent-fg)}.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}.prose{max-width:var(--measure)}.prose ul,.prose ol{padding-left:1.25rem} .prose li{margin-bottom:var(--s-2)}.prose blockquote{border-left:2px solid var(--accent);padding:var(--s-2) var(--s-4);margin-left:0;color:var(--muted)}.prose table,.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);display:block;overflow-x:auto}.prose th,.prose td,.table th,.table td{border:var(--border);padding:var(--s-2) var(--s-3);text-align:left;vertical-align:top}.prose th,.table th{font-family:var(--font-mono);background:var(--surface-2)}.label,.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0 0 var(--s-2)}.muted,.small{color:var(--muted)} .small{font-size:var(--fs-sm)}.visually-hidden,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.skip-link{position:absolute;left:var(--s-4);top:-100px;z-index:100;padding:var(--s-2) var(--s-4);background:var(--accent);color:var(--accent-fg);font-family:var(--font-mono);font-weight:700;text-decoration:none}.skip-link:focus{top:var(--s-4)}

.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:var(--border)}.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);min-height:var(--header-h)}.brand{display:inline-flex;gap:var(--s-2);align-items:center;margin-right:auto;font-family:var(--font-mono);font-weight:700;color:var(--fg);text-decoration:none;min-height:44px}.brand__mark{color:var(--accent);width:1.75rem;height:auto;flex:none}.nav-toggle,.theme-toggle{font:700 var(--fs-xs) var(--font-mono);min-height:44px;min-width:44px;padding:0 var(--s-3);background:transparent;color:var(--fg);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer}.nav-toggle:hover,.theme-toggle:hover{border-color:var(--accent)}.nav-toggle{display:none}.site-nav{flex-basis:100%}.site-nav ul{list-style:none;margin:0;padding:0 0 var(--s-3);display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-4)}.site-nav a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted);text-decoration:none}.site-nav a:hover{color:var(--fg)}.site-nav a[aria-current="page"]{color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}
.js .nav-toggle{display:inline-block}.js .site-nav{display:none}.js .site-nav.is-open{display:block}
@media (scripting:enabled){.nav-toggle{display:inline-block}.site-nav{display:none}.site-nav.is-open{display:block}.site-nav.is-open ul{flex-direction:column;gap:0;border-top:var(--border);padding-top:var(--s-2)}}.js .site-nav.is-open ul{flex-direction:column;gap:0;border-top:var(--border);padding-top:var(--s-2)}@media (min-width:56rem){.site-header__inner{flex-wrap:nowrap}.js .nav-toggle,.nav-toggle{display:none}.site-nav,.js .site-nav{display:block;flex-basis:auto}.site-nav ul,.js .site-nav.is-open ul{flex-direction:row;padding:0;border:0;gap:var(--s-5)}}

.site-footer{border-top:var(--border);background:var(--bg);margin-top:var(--s-9);padding:var(--s-7) 0;font-size:var(--fs-sm);color:var(--muted)}.site-footer__inner{display:grid;gap:var(--s-5)}.footer-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5)}.footer-links a{color:var(--muted)} .footer-links a:hover{color:var(--fg)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:44px;padding:var(--s-3) var(--s-5);font:700 var(--fs-sm) var(--font-mono);text-decoration:none;cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--fg);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease) }.btn:hover{border-color:var(--accent)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn--primary:hover{background:transparent;color:var(--accent)}.btn--ghost{border-color:transparent;color:var(--accent);padding-inline:var(--s-2)}.btn--sm{min-height:36px;padding:var(--s-1) var(--s-3);font-size:var(--fs-xs)}.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:var(--s-5) 0}

.section{padding:var(--s-8) 0}.section__head{display:flex;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-5)}.section__head h2{margin:0}.section__num{font:700 var(--fs-xs) var(--font-mono);color:var(--accent);border:1px solid var(--accent);padding:.1rem .4rem}.hero{padding:var(--s-8) 0 var(--s-7);border-left:1px solid var(--accent);padding-left:clamp(1rem,4vw,3rem);margin-top:var(--s-6)}.hero h1,.hero__title{font-size:var(--fs-hero);margin:var(--s-2) 0 var(--s-4)}.hero__lede{font-size:var(--fs-lg);line-height:1.5;color:var(--muted);max-width:40rem}@media (min-width:56rem){.hero{padding-top:var(--s-9);padding-bottom:var(--s-8)}}

.card-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}.card{position:relative;display:flex;flex-direction:column;padding:var(--s-5);background:var(--surface);border:var(--border);border-top:2px solid var(--accent)}.card__title{font-size:var(--fs-md);margin:0 0 var(--s-3)}.card__title a{color:var(--fg);text-decoration:none}.card__title a::after{content:"";position:absolute;inset:0}.card:hover{border-color:var(--line-strong);border-top-color:var(--accent)}.card:focus-within{outline:var(--focus);outline-offset:2px}.card__title a:focus-visible{outline:none}.card p{color:var(--muted);margin-bottom:var(--s-3)}.card > :last-child{margin-bottom:0}.card__meta{margin-top:auto;font:var(--fs-xs) var(--font-mono);color:var(--muted)}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));margin:var(--s-6) 0 0;max-width:46rem;border:var(--border);background:var(--surface)}.facts > div{padding:var(--s-4);border-bottom:var(--border);border-right:var(--border);margin:-1px -1px 0 0}.facts dt{font:700 var(--fs-xs) var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.facts dd{margin:var(--s-1) 0 0;font-family:var(--font-mono)}

.form{display:grid;gap:var(--s-5);max-width:var(--measure)}.field{display:grid;gap:var(--s-2)}.field label,.field legend{font:700 var(--fs-sm) var(--font-mono)}.field .optional,.optional{font-weight:400;color:var(--muted)}.field__hint{font-size:var(--fs-sm);color:var(--muted)}input,select,textarea,button{font:inherit}.field input,.field select,.field textarea,.input{width:100%;min-height:44px;padding:var(--s-3);background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);border-radius:var(--radius)}.field textarea,textarea.input{min-height:8rem;resize:vertical;font-family:var(--font-mono);font-size:var(--fs-sm)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.input:focus-visible{outline:var(--focus);outline-offset:0;border-color:var(--accent)}.field [aria-invalid="true"]{border-color:var(--danger)}.field__error{color:var(--danger);font-size:var(--fs-sm)}fieldset.field{border:var(--border);padding:var(--s-4);margin:0}.check{display:flex;gap:var(--s-2);align-items:flex-start;min-height:44px}.check input{width:1.125rem;height:1.125rem;margin-top:.2rem;accent-color:var(--accent)}.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status{font-family:var(--font-mono);font-size:var(--fs-sm);padding:var(--s-3) var(--s-4);border:var(--border);border-left:3px solid var(--accent);background:var(--surface)}.form-status:empty{display:none}.form-status[data-state="error"]{border-left-color:var(--danger)}.form-status[data-state="ok"]{border-left-color:var(--ok)}

pre{overflow-x:auto;padding:var(--s-4);background:var(--surface);border:var(--border);line-height:1.6;tab-size:2}pre code{background:none;border:0;padding:0;font-size:var(--fs-sm)}
.terminal{margin:var(--s-5) 0;border:var(--border);background:var(--surface)}.terminal__bar{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:var(--border);font:var(--fs-xs) var(--font-mono);color:var(--muted)}.terminal pre{margin:0;border:0;background:transparent;color:var(--fg)}.terminal .t-prompt,.terminal .t-ok{color:var(--accent)}.terminal .t-warn{color:var(--warn)} .terminal .t-err{color:var(--danger)} .terminal .t-dim{color:var(--muted)}.output{font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word}

.badge{display:inline-block;font:700 var(--fs-xs) var(--font-mono);padding:.1rem .45rem;border:1px solid currentColor;color:var(--muted)}.badge--ok{color:var(--ok)} .badge--warn{color:var(--warn)} .badge--danger{color:var(--danger)} .badge--accent{color:var(--accent)}.callout{padding:var(--s-4) var(--s-5);border:var(--border);border-left:3px solid var(--accent);background:var(--surface);margin:var(--s-5) 0}.callout--warn{border-left-color:var(--warn)} .callout--danger{border-left-color:var(--danger)}.callout > :last-child{margin-bottom:0}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (forced-colors:active){.btn,.card,.facts,.nav-toggle,.theme-toggle{border:1px solid CanvasText}}@media print{body{background:#fff;color:#000}.site-header,.site-footer,.nav-toggle,.theme-toggle,.skip-link,.btn-row{display:none!important}a{color:#000} a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em}pre,.card,.callout{break-inside:avoid;border-color:#999;background:#fff}}

.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:1.125em;height:1.125em;flex:none;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.icon--lg{width:1.5em;height:1.5em}

.page-header{padding:var(--s-7) 0 var(--s-5);border-bottom:var(--border);margin-bottom:var(--s-6)}.page-header h1{margin:0 0 var(--s-3)}.lede{font-size:var(--fs-md);color:var(--muted);max-width:var(--measure)}.breadcrumb ol{list-style:none;margin:var(--s-5) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2);font:var(--fs-xs) var(--font-mono);color:var(--muted)}.breadcrumb li+li::before{content:"/";margin-right:var(--s-2);color:var(--line-strong)}.breadcrumb a{color:var(--muted)}.tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}.tag{font:var(--fs-xs) var(--font-mono);color:var(--accent);border:1px solid var(--line-strong);padding:.1rem .45rem}.toc{border:var(--border);background:var(--surface);padding:var(--s-4) var(--s-5);margin:0 0 var(--s-6);max-width:var(--measure);font-size:var(--fs-sm)}.toc ol,.toc ul{margin:var(--s-2) 0 0;padding-left:1.25rem}.toc a{color:var(--fg)}main:focus{outline:none}
.swatches{list-style:none;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.swatch{border:var(--border);font:var(--fs-xs) var(--font-mono)}.swatch::before{content:"";display:block;height:3rem;border-bottom:var(--border)}.swatch span{display:block;padding:var(--s-2)}.sw-bg::before{background:var(--bg)} .sw-surface::before{background:var(--surface)} .sw-surface-2::before{background:var(--surface-2)}.sw-fg::before{background:var(--fg)} .sw-muted::before{background:var(--muted)} .sw-line::before{background:var(--line)}.sw-line-strong::before{background:var(--line-strong)} .sw-accent::before{background:var(--accent)}.sw-ok::before{background:var(--ok)} .sw-warn::before{background:var(--warn)} .sw-danger::before{background:var(--danger)}.icon-list{list-style:none;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));font:var(--fs-xs) var(--font-mono)}.icon-list li{display:flex;gap:var(--s-2);align-items:center;padding:var(--s-2);border:var(--border)}

.hero__title{text-wrap:balance}.hero h1{text-wrap:balance}.hero__lede{text-wrap:pretty}.btn .icon{width:1em;height:1em}.btn--external::after{content:"\2197";font-weight:400}.hero__note{margin:var(--s-3) 0 0;font:var(--fs-xs) var(--font-mono);color:var(--muted)}

.jump-nav{margin:0 0 var(--s-6);border:var(--border);background:var(--surface)}.jump-nav ol{list-style:none;margin:0;padding:var(--s-2) var(--s-3);display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-4);counter-reset:j}.jump-nav li{counter-increment:j}.jump-nav a{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;font:var(--fs-sm) var(--font-mono);color:var(--fg);text-decoration:none}.jump-nav a::before{content:counter(j,decimal-leading-zero);color:var(--accent);font-size:var(--fs-xs)}.jump-nav a:hover{color:var(--accent)}@media (min-width:56rem){.jump-nav{position:sticky;top:calc(var(--header-h) + 1px);z-index:10}}

.service{padding:var(--s-7) 0;border-top:var(--border);scroll-margin-top:calc(var(--header-h) + 5rem)}.service:first-of-type{border-top:0}.service__head{display:flex;align-items:baseline;gap:var(--s-3);flex-wrap:wrap}.service__head h2{margin:0}.service__summary{font-size:var(--fs-md);color:var(--muted);max-width:var(--measure);margin-top:var(--s-3)}.service__grid{display:grid;gap:var(--s-4);margin-top:var(--s-5);grid-template-columns:1fr}@media (min-width:48rem){.service__grid{grid-template-columns:1fr 1fr}}.service__block{padding:var(--s-5);background:var(--surface);border:var(--border)}.service__block h3{margin:0 0 var(--s-3);font-size:var(--fs-base)}.service__block ul{padding-left:1.1rem;margin:0} .service__block li{margin-bottom:var(--s-2)}.service__block--limits{border-left:3px solid var(--warn)}.service__cta{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;margin-top:var(--s-5)}

.faq{margin-top:var(--s-5);max-width:var(--measure)}.faq details{border:var(--border);border-top-width:0;background:var(--surface)}.faq details:first-of-type{border-top-width:1px}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--s-3);min-height:44px;align-items:center;padding:var(--s-3) var(--s-4);font:700 var(--fs-sm) var(--font-mono)}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--accent);flex:none}.faq details[open] summary::after{content:"\2212"}.faq details > :not(summary){margin:0;padding:0 var(--s-4) var(--s-4);color:var(--muted)}

.terms{display:grid;gap:0;margin:var(--s-5) 0 0;border:var(--border);background:var(--surface);grid-template-columns:1fr}.terms > div{padding:var(--s-4) var(--s-5);border-bottom:var(--border)}.terms > div:last-child{border-bottom:0}.terms dt{font:700 var(--fs-xs) var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s-2)}.terms dd{margin:0}@media (min-width:48rem){.terms{grid-template-columns:14rem 1fr}.terms > div{display:contents}.terms dt,.terms dd{padding:var(--s-4) var(--s-5);border-bottom:var(--border);margin:0}.terms > div:last-child dt,.terms > div:last-child dd{border-bottom:0}}.terms__note{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--s-3)}

.cta-band{margin:var(--s-8) 0 0;padding:var(--s-6) var(--s-5);border:var(--border);border-left:3px solid var(--accent);background:var(--surface);display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:center;justify-content:space-between}.cta-band h2{margin:0;font-size:var(--fs-lg)}.cta-band p{margin:var(--s-2) 0 0;color:var(--muted)}

.form--wide{max-width:48rem}.form__row{display:grid;gap:var(--s-5)}@media (min-width:48rem){.form__row{grid-template-columns:1fr 1fr}}.choice-grid{border:0;padding:0;margin:0;display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr))}.choice-grid legend{font:700 var(--fs-sm) var(--font-mono);margin-bottom:var(--s-2);padding:0}.choice{position:relative;display:flex;gap:var(--s-3);align-items:flex-start;min-height:44px;padding:var(--s-3) var(--s-4);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer}.choice input{width:1.125rem;height:1.125rem;margin:.2rem 0 0;flex:none;accent-color:var(--accent)}.choice:has(input:checked){border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.choice:has(input:focus-visible){outline:var(--focus);outline-offset:2px}.choice__label{font:700 var(--fs-sm) var(--font-mono)} .choice__hint{display:block;font-size:var(--fs-xs);color:var(--muted);font-family:var(--font-body);font-weight:400}.form__aside{font-size:var(--fs-sm);color:var(--muted);border-top:var(--border);padding-top:var(--s-4)}.counter{font:var(--fs-xs) var(--font-mono);color:var(--muted);justify-self:end}

.checklist{list-style:none;padding:0;margin:var(--s-5) 0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}.checklist li{display:flex;gap:var(--s-3);padding:var(--s-4);border:var(--border);background:var(--surface)}.checklist li::before{content:"\2713";color:var(--accent);font-family:var(--font-mono);font-weight:700;flex:none}.checklist strong{display:block;font-family:var(--font-mono);font-size:var(--fs-sm);margin-bottom:var(--s-1)}.steps{list-style:none;padding:0;margin:var(--s-5) 0;counter-reset:s;max-width:var(--measure)}.steps li{counter-increment:s;position:relative;padding:0 0 var(--s-5) var(--s-7);border-left:1px solid var(--line-strong);margin-left:var(--s-3)}.steps li:last-child{border-left-color:transparent;padding-bottom:0}.steps li::before{content:counter(s);position:absolute;left:calc(-1 * var(--s-3) - 1px);top:0;width:1.5rem;height:1.5rem;display:grid;place-items:center;background:var(--bg);border:1px solid var(--accent);color:var(--accent);font:700 var(--fs-xs) var(--font-mono)}.steps h3{margin:0 0 var(--s-2);font-size:var(--fs-base)}

:root{--ease-out:cubic-bezier(.16,1,.3,1); --ease-in-out:cubic-bezier(.65,0,.35,1); --ease-in:cubic-bezier(.5,0,.75,0); --ease-linear:linear;--t-instant:80ms; --t-fast:120ms; --t-base:180ms; --t-slow:320ms; --t-reveal:600ms; --t-story:1200ms;--stagger:40ms; --dist-1:4px; --dist-2:8px; --dist-3:16px;}@media (prefers-reduced-motion:reduce){:root{--t-instant:0ms;--t-fast:0ms;--t-base:0ms;--t-slow:0ms;--t-reveal:0ms;--t-story:0ms;--stagger:0ms;--dist-1:0px;--dist-2:0px;--dist-3:0px}}html[data-fx="off"]{--t-reveal:0ms;--t-story:0ms;--stagger:0ms;--dist-2:0px;--dist-3:0px}

.tool{margin:var(--s-5) 0}.tool-field{display:grid;gap:var(--s-2);margin-bottom:var(--s-4)}.tool-field label{font:700 var(--fs-sm) var(--font-mono)}.tool-field input:not([type=checkbox]):not([type=radio]):not([type=range]),.tool-field select,.tool-field textarea{width:100%;min-height:44px;padding:var(--s-3);background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);border-radius:0;font:var(--fs-sm) var(--font-mono)}.tool-field textarea{min-height:8rem;resize:vertical}.tool-field input[type=range]{accent-color:var(--accent);min-height:44px}.tool-field :focus-visible{outline:var(--focus);outline-offset:0;border-color:var(--accent)}.tool-hint{font-size:var(--fs-sm);color:var(--muted)}.tool-error{color:var(--danger);font-size:var(--fs-sm);font-family:var(--font-mono)}.tool-error:empty{display:none}.tool-result{padding:var(--s-4);border:var(--border);border-left:3px solid var(--accent);background:var(--surface);margin:var(--s-4) 0}.tool-output{font:var(--fs-sm)/1.6 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:var(--border);padding:var(--s-4);margin:0 0 var(--s-4);overflow-x:auto}.tool-copy,.btn-secondary{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4);font:700 var(--fs-xs) var(--font-mono);background:transparent;color:var(--fg);border:1px solid var(--line-strong);cursor:pointer}.tool-copy:hover,.btn-secondary:hover{border-color:var(--accent)}.tool-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);display:block;overflow-x:auto}.tool-table th,.tool-table td{border:var(--border);padding:var(--s-2) var(--s-3);text-align:left;vertical-align:top}.tool-table th{font-family:var(--font-mono);background:var(--surface-2)}.headers-row{font-family:var(--font-mono);font-size:var(--fs-sm)}.tool-findings{list-style:none;padding:0;display:grid;gap:var(--s-2)}.tool-findings li{padding:var(--s-3) var(--s-4);border:var(--border);border-left:3px solid var(--muted);background:var(--surface)}.finding-high{border-left-color:var(--danger)!important}.finding-medium{border-left-color:var(--warn)!important}.finding-low{border-left-color:var(--accent)!important}.finding-info{border-left-color:var(--line-strong)!important}.search-type{font:var(--fs-xs) var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.pw-options{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr))}.pw-options[hidden]{display:none}.pw-output{font:700 clamp(1.125rem,3vw,1.5rem)/1.4 var(--font-mono);overflow-wrap:anywhere;padding:var(--s-4) var(--s-5);border:1px solid var(--line-strong);background:var(--surface);margin:0 0 var(--s-3)}
.tool-meter{height:.5rem;border:var(--border);background:var(--surface-2);overflow:hidden;margin:var(--s-3) 0 var(--s-2)}.tool-meter__bar{height:100%;background:var(--accent);transform-origin:left center;transform:scaleX(clamp(0,var(--fill,0),1));transition:transform var(--t-slow) var(--ease-out),background-color var(--t-base) var(--ease-out)}.tool-meter[data-band="weak"] .tool-meter__bar{background:var(--danger)}.tool-meter[data-band="fair"] .tool-meter__bar{background:var(--warn)}.tool-meter[data-band="strong"] .tool-meter__bar{background:var(--ok)}.tool-meter[data-band="very-strong"] .tool-meter__bar{background:var(--accent)}@media (forced-colors:active){.tool-meter__bar{background:Highlight!important}}
.avalanche-grid{display:grid;grid-template-columns:repeat(32,1fr);gap:1px;max-width:40rem;padding:1px;background:var(--line);border:var(--border);margin:var(--s-3) 0}.avalanche-bit{aspect-ratio:1;background:var(--surface-2)}.avalanche-bit.is-diff{background:var(--accent)}.avalanche-grid.is-animated .avalanche-bit{transition:background-color var(--t-base) var(--ease-out)}@media (forced-colors:active){.avalanche-bit{background:Canvas}.avalanche-bit.is-diff{background:Highlight}}
.headers-previews{display:grid;gap:var(--s-4);margin:var(--s-5) 0}@media (min-width:56rem){.headers-previews{grid-template-columns:1fr 1fr}}.headers-preview{border:var(--border);background:var(--surface);min-width:0}.headers-preview h4{margin:0;padding:var(--s-2) var(--s-4);border-bottom:var(--border);font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.headers-preview pre{margin:0;border:0;background:transparent;overflow-x:auto;font-size:var(--fs-xs)}
.tool-toast{position:fixed;right:var(--s-5);bottom:var(--s-5);z-index:80;max-width:min(24rem,calc(100vw - 2rem));padding:var(--s-3) var(--s-4);background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);border-left:3px solid var(--ok);font:var(--fs-sm) var(--font-mono);opacity:0;transform:translateY(var(--dist-2));pointer-events:none;transition:opacity var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out)}.tool-toast.is-visible{opacity:1;transform:none}.tool-toast[data-state="error"]{border-left-color:var(--danger)}.tool-toast:empty{visibility:hidden}@media (max-width:47.99rem){.tool-toast{left:var(--s-4);right:var(--s-4);bottom:var(--s-4);max-width:none}}

@media (scripting:enabled){@media (max-width:25.74rem){#tool-password{min-height:64.5rem} #tool-hash{min-height:91rem} #tool-encoding{min-height:34.5rem} #tool-headers{min-height:142.5rem} #tool-jwt{min-height:21.5rem} #tool-csp{min-height:116rem} #tool-securitytxt{min-height:83.5rem}}@media (min-width:25.75rem) and (max-width:37.49rem){#tool-password{min-height:59.5rem} #tool-hash{min-height:86.5rem} #tool-encoding{min-height:34.5rem} #tool-headers{min-height:135rem} #tool-jwt{min-height:20rem} #tool-csp{min-height:96.5rem} #tool-securitytxt{min-height:76rem}}@media (min-width:37.5rem) and (max-width:63.99rem){#tool-password{min-height:43rem} #tool-hash{min-height:84.5rem} #tool-encoding{min-height:34.5rem} #tool-headers{min-height:120rem} #tool-jwt{min-height:18rem} #tool-csp{min-height:85rem} #tool-securitytxt{min-height:71.5rem}}@media (min-width:64rem) and (max-width:71.99rem){#tool-password{min-height:39rem} #tool-hash{min-height:78.5rem} #tool-encoding{min-height:34.5rem} #tool-headers{min-height:110.5rem} #tool-jwt{min-height:18rem} #tool-csp{min-height:75rem} #tool-securitytxt{min-height:71.5rem}}@media (min-width:72rem){#tool-password{min-height:34.5rem} #tool-hash{min-height:78.5rem} #tool-encoding{min-height:34.5rem} #tool-headers{min-height:108rem} #tool-jwt{min-height:16.5rem} #tool-csp{min-height:75rem} #tool-securitytxt{min-height:70rem}}}
.tool-output-label{font:700 var(--fs-xs) var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--s-2)}.tool-output-block[hidden]{display:none}.headers-tabs{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-bottom:var(--s-3)}.headers-tab{min-height:44px;padding:0 var(--s-3);font:700 var(--fs-xs) var(--font-mono);background:transparent;color:var(--fg);border:1px solid var(--line-strong);cursor:pointer}.headers-tab[aria-selected="true"]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.headers-preview pre{min-height:14rem;max-height:20rem;overflow:auto}

:root{--control-h:44px}
.tool-field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),.tool-field select,.tool-btn,.headers-tab{height:var(--control-h);min-height:var(--control-h);box-sizing:border-box;padding-block:0;line-height:1.2}.tool-field input[type=file]{height:var(--control-h);min-height:var(--control-h);padding:0;line-height:var(--control-h);box-sizing:border-box}
.tool-toggle{display:flex;align-items:center;gap:var(--s-3);min-height:var(--control-h);margin:0 0 var(--s-2)}.tool-toggle__input{flex:none;width:1.25rem;height:1.25rem;margin:0;accent-color:var(--accent);cursor:pointer}.tool-toggle__label{flex:1;display:flex;align-items:center;min-height:var(--control-h);font:700 var(--fs-sm) var(--font-mono);cursor:pointer}.tool-toggle > .tool-hint{flex-basis:100%;margin:0}.tool-toggle__input:focus-visible{outline:var(--focus);outline-offset:2px}.pw-options{align-items:end}.headers-row{grid-template-columns:1fr}
.tool-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:stretch;margin:0 0 var(--s-4)}.tool-btn{display:inline-flex;align-items:center;justify-content:center;min-width:9rem;height:var(--control-h);padding:0 var(--s-5);margin:0;font:700 var(--fs-sm) var(--font-mono);line-height:1;border:1px solid var(--line-strong);border-radius:0;cursor:pointer}.tool-btn:not(.tool-btn--secondary){background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.tool-btn--secondary{background:transparent;color:var(--fg)}.tool-btn:hover{border-color:var(--accent)}.tool-btn:focus-visible{outline:var(--focus);outline-offset:2px}@media (max-width:25.74rem){.tool-actions .tool-btn{flex:1 1 0}}
.tool-meter-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-3);margin:var(--s-3) 0 var(--s-2)}.tool-meter-row .tool-meter{margin:0}.tool-meter__end{font:var(--fs-xs) var(--font-mono);color:var(--muted);white-space:nowrap}

.tool{margin:var(--s-5) 0 48px}.tool + .prose > :first-child{margin-top:0}
.pw-options{align-items:end}.pw-options > .tool-field,.pw-options > .tool-toggle{margin-bottom:var(--s-3)}.pw-options .tool-toggle{min-height:var(--control-h)}.tool-toggle__label{white-space:nowrap}
.mini-pass__out{min-height:calc(2 * 1.35 * var(--fs-md))}.btn[hidden]{display:none}@media (scripting:enabled){.mini-pass__btn[hidden]{display:inline-flex;visibility:hidden}}
@media (scripting:none){.theme-toggle,.site-nav__theme,.fx-palette-btn,.fx-terminal-btn{display:none!important}}

.swatch-picker{border:0;margin:0;padding:0;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.swatch-picker legend{float:left;margin-right:var(--s-3);padding:0;font:700 var(--fs-xs) var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;line-height:44px}.swatch-picker__item{position:relative;display:inline-flex}
.swatch-picker__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.swatch-picker__label{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;min-width:44px;padding:0 var(--s-3);border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font:var(--fs-xs) var(--font-mono);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out)}.swatch-picker__chip{width:1rem;height:1rem;flex:none;border:1px solid var(--line-strong);background:var(--chip,var(--accent))}.swatch-picker__input:hover + .swatch-picker__label{border-color:var(--fg)}.swatch-picker__input:checked + .swatch-picker__label{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:700}.swatch-picker__input:checked + .swatch-picker__label .swatch-picker__chip{outline:2px solid var(--fg);outline-offset:1px}.swatch-picker__input:focus-visible + .swatch-picker__label{outline:var(--focus);outline-offset:2px}
.chip-cyan{--chip:var(--a-cyan)} .chip-green{--chip:var(--a-green)} .chip-amber{--chip:var(--a-amber)} .chip-magenta{--chip:var(--a-magenta)}.chip-dark{--chip:linear-gradient(135deg,#0a0d12 50%,#e6edf3 50%)} .chip-light{--chip:linear-gradient(135deg,#f7f8fa 50%,#0a0d12 50%)}.chip-contrast{--chip:linear-gradient(135deg,#000 50%,#fff 50%)} .chip-system{--chip:linear-gradient(135deg,#0a0d12 50%,#f7f8fa 50%)}@media (forced-colors:active){.swatch-picker__label{border-color:ButtonText;background:ButtonFace;color:ButtonText}.swatch-picker__chip{forced-color-adjust:none;border-color:CanvasText}.swatch-picker__input:checked + .swatch-picker__label{border:2px solid Highlight;box-shadow:none}.swatch-picker__input:focus-visible + .swatch-picker__label{outline:2px solid Highlight}}.prefs{display:grid;gap:var(--s-3)}
.prefs[hidden],.fx-control[hidden]{display:none!important}@media (scripting:none){[data-pref-pickers],[data-fx-control]{display:none!important}}

:root{--section-y:3rem}@media (min-width:48rem){:root{--section-y:4rem}}@media (min-width:64rem){:root{--section-y:6rem}}.section{padding:calc(var(--section-y) / 2) 0}.section + .section{border-top:0}.section__head{margin-bottom:var(--s-5)}.section__lede{max-width:var(--measure);color:var(--muted);font-size:var(--fs-md);margin:0 0 var(--s-6)}.tool{margin-bottom:var(--s-7)}.hero,.hero.hero--b{border-left:0;padding:var(--section-y) 0 calc(var(--section-y) * .75);margin:0;max-width:none;min-height:0}.hero .container{max-width:var(--container)}
.hero__grid{display:grid;gap:var(--s-6);align-items:center}@media (min-width:64rem){.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--s-7)}}.hero__copy > :first-child{margin-top:0}.hero__copy .btn-row{margin-bottom:0}background-image:radial-gradient(70% 80% at 55% 60%,var(--accent-soft),transparent 70%),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:auto,16px 18px,16px 18px}

.proof-strip{border-block:var(--border);background:var(--surface)}.proof-strip__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}@media (min-width:48rem){.proof-strip__list{grid-template-columns:repeat(4,minmax(0,1fr))}}.proof-strip__item{padding:var(--s-4) var(--s-4) var(--s-4) 0;border-right:var(--border);margin:0}.proof-strip__item:last-child{border-right:0}@media (max-width:47.99rem){.proof-strip__item:nth-child(2n){border-right:0;padding-left:var(--s-4)}.proof-strip__item:nth-child(-n+2){border-bottom:var(--border)}}@media (min-width:48rem){.proof-strip__item+.proof-strip__item{padding-left:var(--s-4)}}.proof-strip__item dt{font:var(--fs-xs) var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.proof-strip__item dd{margin:var(--s-1) 0 0;font:700 var(--fs-lg)/1.2 var(--font-mono);color:var(--fg)}.proof-strip__note{margin:0;padding:var(--s-2) 0 var(--s-3);font-size:var(--fs-sm);color:var(--muted);border-top:var(--border)}
.bento{display:grid;gap:var(--s-3);grid-template-columns:1fr}@media (min-width:48rem){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.bento{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense}.bento__tile--service{grid-column:span 2}.bento__tile--service:nth-child(4),.bento__tile--service:nth-child(5){grid-column:span 3}.bento__tile--tools,.bento__tile--recall{grid-column:span 3}}.bento__tile{position:relative;display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);background:var(--surface);border:var(--border);min-width:0}.bento__tile > *{margin:0}.bento__tile p{color:var(--muted)}.bento__title{font-size:var(--fs-md)}.bento__title a{color:var(--fg);text-decoration:none}.bento__title a::after{content:"";position:absolute;inset:0}.bento__tile:has(a:focus-visible){outline:var(--focus);outline-offset:2px}.bento__title a:focus-visible{outline:none}.bento__tile:hover{border-color:var(--line-strong)}.bento__tile--service .bento__title::before{content:"\2192  ";color:var(--accent)}.bento__tile--tools,.bento__tile--recall{border-top:2px solid var(--accent)}.bento__tile--tools .bento__title a::after,.bento__tile--recall .bento__title a::after{content:none}.mini-pass{margin-top:auto;display:grid;gap:var(--s-2);padding:var(--s-3);border:var(--border);background:var(--bg)}.mini-pass__label{font:var(--fs-xs) var(--font-mono);color:var(--muted);margin:0}.mini-pass__out{display:block;min-height:2.75rem;font:700 var(--fs-md)/1.35 var(--font-mono);overflow-wrap:anywhere;color:var(--fg)}.mini-pass__btn{justify-self:start;min-height:44px;padding:0 var(--s-4);background:transparent;color:var(--fg);border:1px solid var(--line-strong);font:700 var(--fs-xs) var(--font-mono);cursor:pointer}.mini-pass__btn:hover{border-color:var(--accent)}
.rail{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:rail;border-left:1px solid var(--line-strong)}@media (min-width:64rem){.rail{grid-template-columns:repeat(3,minmax(0,1fr));border-left:0;border-top:1px solid var(--line-strong)}}.rail__step{counter-increment:rail;position:relative;padding:0 0 var(--s-5) var(--s-6)}@media (min-width:64rem){.rail__step{padding:var(--s-5) var(--s-5) var(--s-5) 0}}.rail__step::before{content:counter(rail,decimal-leading-zero);position:absolute;left:calc(-1 * var(--s-3));top:0;width:1.5rem;height:1.5rem;display:grid;place-items:center;background:var(--bg);border:1px solid var(--accent);color:var(--accent);font:700 var(--fs-xs) var(--font-mono)}@media (min-width:64rem){.rail__step::before{position:static;margin-bottom:var(--s-3);margin-top:calc(-1 * var(--s-5) - .75rem)}}.rail__title{margin:0 0 var(--s-2);font-size:var(--fs-base)}.rail__step p{margin:0;color:var(--muted)}
@media (max-width:599.98px){.theme-toggle--bar{display:none}}@media (min-width:600px){.site-nav__theme{display:none}}.site-nav__theme .theme-toggle{margin:var(--s-2) 0}.site-header__inner{flex-wrap:nowrap}.site-nav{flex-basis:100%}@media (max-width:55.99rem){.site-header__inner{flex-wrap:wrap}.site-nav.is-open{order:5}}
.section:not(.section--cta) .btn-row .btn,.section:not(.section--cta) .btn-row .btn--primary{background:transparent;border-color:transparent;color:var(--accent);padding-inline:0;min-height:44px}.section:not(.section--cta) .btn-row .btn:not(.btn--external)::after{content:"\2192";margin-left:var(--s-2)}.section:not(.section--cta) .btn-row .btn:hover{text-decoration:underline;text-underline-offset:.25em}.section:not(.section--cta) .btn-row{gap:var(--s-5)}.service__cta .btn--primary{background:transparent;color:var(--accent);border-color:var(--accent)}
.tags{margin:0}.card .tags{margin-top:auto;padding-top:var(--s-3)}
@media (min-width:64rem){.prose:has(> .jump-nav){max-width:none;display:grid;grid-template-columns:13rem minmax(0,var(--measure));column-gap:var(--s-8);align-items:start}.prose:has(> .jump-nav) > *{grid-column:2}.prose:has(> .jump-nav) > .jump-nav{grid-column:1;grid-row:1 / span 40;position:sticky;top:calc(var(--header-h) + var(--s-5));margin:0;border:0;background:transparent}.prose:has(> .jump-nav) .jump-nav ol{flex-direction:column;align-items:stretch;padding:0;gap:0;border-left:1px solid var(--line-strong)}.prose:has(> .jump-nav) .jump-nav a{padding-left:var(--s-4);margin-left:-1px;border-left:2px solid transparent;width:100%}.prose:has(> .jump-nav) .jump-nav a:hover{border-left-color:var(--accent)}.prose:has(> .jump-nav) .service{scroll-margin-top:calc(var(--header-h) + var(--s-5))}}
.project-grid{display:grid;gap:var(--s-3);grid-template-columns:1fr;margin:var(--s-6) 0}@media (min-width:48rem){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card{padding:var(--s-4)}.project-card h3{margin:0 0 var(--s-2);font-size:var(--fs-base)}.project-card p{font-size:var(--fs-sm);margin:0}.project-grid > .project-card:first-child:has(a[href*="recall"]){grid-column:1 / -1;padding:var(--s-6);border-top:2px solid var(--accent);background-image:radial-gradient(60% 120% at 100% 0,var(--accent-soft),transparent 60%)}.project-grid > .project-card:first-child:has(a[href*="recall"]) h3{font-size:var(--fs-xl)}.project-grid > .project-card:first-child:has(a[href*="recall"]) p{font-size:var(--fs-md);max-width:var(--measure)}.project-grid > .project-card:first-child:has(a[href*="recall"])::before{content:"Featured";display:block;margin-bottom:var(--s-2);font:700 var(--fs-xs) var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.section.project{border-top:var(--border)}
:root[data-theme="light"] .hero,:root:not([data-theme]) .hero{background-image:radial-gradient(50% 70% at 85% 30%,var(--accent-soft),transparent 70%)}

.prose:has(.project-grid){max-width:none}.prose:has(.project-grid) > :not(:has(.project-grid)){max-width:var(--measure)}.prose:has(.project-grid) .section:has(> .project-grid) > :not(.project-grid){max-width:var(--measure)}.project-grid{grid-auto-rows:1fr;align-items:stretch}.project-grid > .project-card{display:flex;flex-direction:column;height:100%;margin:0}.project-grid > .project-card > p.small:last-child{margin-top:auto;padding-top:var(--s-3)}.project-grid > .project-card:first-child:has(a[href*="recall"]){grid-row:span 1}
@media (min-width:64rem){.container:has(> .jump-nav){display:grid;grid-template-columns:13rem minmax(0,1fr);column-gap:var(--s-8);align-items:start}.container:has(> .jump-nav) > *{grid-column:2;min-width:0}.container:has(> .jump-nav) > .page-header,.container:has(> .jump-nav) > .prose:first-of-type{grid-column:1 / -1}.container:has(> .jump-nav) > .jump-nav{grid-column:1;grid-row:3 / span 5;align-self:start;position:sticky;top:calc(var(--header-h,4rem) + var(--s-5));margin:0;padding:0;border:0;background:transparent;z-index:1}.container:has(> .jump-nav) > .jump-nav ol,.container:has(> .jump-nav) > .jump-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0;list-style:none;border-left:1px solid var(--line-strong)}.container:has(> .jump-nav) > .jump-nav a{display:flex;align-items:center;min-height:44px;padding:0 0 0 var(--s-4);margin-left:-1px;border-left:2px solid transparent;text-decoration:none;color:var(--muted)}.container:has(> .jump-nav) > .jump-nav a:hover,.container:has(> .jump-nav) > .jump-nav a:focus-visible{color:var(--fg);border-left-color:var(--accent)}.container:has(> .jump-nav) > .service{scroll-margin-top:calc(var(--header-h,4rem) + var(--s-5))}}
.proof-strip__item{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:var(--s-1)}.proof-strip__item dd{margin:0;font:700 2rem/1.1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;color:var(--fg)}.proof-strip__item dt{font:var(--fs-xs)/1.3 var(--font-mono)}.proof-strip__item:last-child dd{color:var(--accent)}:root[data-theme="light"] .proof-strip{background:var(--bg)}@media (prefers-color-scheme:light){:root:not([data-theme]) .proof-strip{background:var(--bg)}}
.demo-section{margin-top:0;padding-block:var(--section-y) 0}.demo-section + .demo-section{border-top:var(--border)}.demo-section > :last-child{margin-bottom:0}
@media (min-width:600px){.theme-toggle--bar{position:relative;width:44px;height:44px;min-width:44px;padding:0;font-size:0;line-height:0;color:var(--fg);border-color:transparent;overflow:hidden}.theme-toggle--bar::before{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border:2px solid currentColor;border-radius:50%;box-sizing:border-box;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}:root[data-theme="dark"] .theme-toggle--bar::before{background:transparent;box-shadow:inset -5px -2px 0 0 currentColor}:root[data-theme="light"] .theme-toggle--bar::before{background:transparent;width:10px;height:10px;box-shadow:0 0 0 3px var(--bg),0 0 0 5px currentColor}:root[data-theme="contrast"] .theme-toggle--bar::before{background:currentColor}.theme-toggle--bar:hover{border-color:var(--line-strong)}.theme-toggle--bar:focus-visible{outline:var(--focus);outline-offset:2px}
.site-nav a[href="/start/"]{padding:0 var(--s-3);border:1px solid var(--accent);color:var(--accent);min-height:36px;display:inline-flex;align-items:center}.site-nav a[href="/start/"]:hover{background:var(--accent-soft)}}@media (forced-colors:active){.theme-toggle--bar::before{forced-color-adjust:none;border-color:ButtonText;background:linear-gradient(90deg,ButtonText 50%,transparent 50%)}}
.site-header__inner{position:relative}.site-header__inner:has(> .fx-palette-btn,> .fx-terminal-btn){padding-right:calc(var(--gutter) + 3.25rem)}.site-header__inner:has(> .fx-palette-btn):has(> .fx-terminal-btn){padding-right:calc(var(--gutter) + 6.5rem)}.site-header__inner > .fx-palette-btn ~ .fx-terminal-btn{right:calc(var(--gutter) + 3.25rem)}@media (scripting:enabled){.site-header__inner > .fx-palette-btn,.site-header__inner > .fx-terminal-btn{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;min-width:0;padding:0;justify-content:center;margin:0}}

.bento__links{list-style:none;margin:var(--s-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}.bento__links li{margin:0;padding:0}.bento__links li::before{content:none}.bento__links a{position:relative;z-index:2;display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3);border:1px solid var(--line-strong);background:var(--bg);color:var(--fg);font:var(--fs-xs)/1.2 var(--font-mono);text-decoration:none}.bento__links a::after{content:"\2192";color:var(--accent)}.bento__links a:hover{border-color:var(--accent)}.bento__links a:focus-visible{outline:var(--focus);outline-offset:2px}@media (forced-colors:active){.bento__links a{border-color:LinkText}}.theme-toggle--menu{min-width:16ch;justify-content:flex-start;text-align:left}

.fx-progress{position:fixed;inset:0 0 auto 0;height:3px;background:var(--accent);transform-origin:0 50%;transform:scaleX(var(--progress,0));z-index:60;pointer-events:none}
.fx-boot{position:fixed;left:var(--gutter,1rem);bottom:var(--gutter,1rem);z-index:100;max-width:calc(100vw - 2*var(--gutter,1rem));padding:var(--s-3,.75rem) var(--s-4,1rem);background:var(--surface);border:var(--border);color:var(--accent);pointer-events:none;animation:fx-boot-out .2s ease 1s forwards}.fx-boot pre{margin:0;font:inherit;font-size:.8125rem;line-height:1.5;white-space:pre}@keyframes fx-boot-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.fx-boot{display:none}}
.page-header{position:relative}.page-header__fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.page-header > *:not(.page-header__fx){position:relative;z-index:1}.project__title{line-height:1}.project-logo{display:block;height:2.5rem;width:auto;max-width:100%;overflow:visible}
.hero h1,.hero__title{font-size:clamp(2.25rem,1.4rem + 3vw,3.6rem);line-height:1.04;letter-spacing:-.02em}.hero__lede{max-width:34rem}.footer-display{margin:var(--s-4) 0}.footer-display>summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font:var(--fs-xs) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.footer-display>summary:hover{color:var(--fg)}.footer-display[open]>summary{margin-bottom:var(--s-3)}@media (scripting:none){.footer-display{display:none!important}}

.hero--c{border-left:0;padding-left:0}.hero-steps{background:var(--surface);border:var(--border);border-top:2px solid var(--accent);padding:var(--s-5);box-shadow:0 24px 48px -24px rgba(0,0,0,.55)}.hero-steps__title{margin:0 0 var(--s-4);font:700 var(--fs-xs) var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.hero-steps__list{list-style:none;margin:0;padding:0;counter-reset:step}.hero-steps__list li{counter-increment:step;display:grid;grid-template-columns:2rem 1fr;column-gap:var(--s-3);padding:var(--s-3) 0;border-top:var(--border)}.hero-steps__list li:first-child{border-top:0;padding-top:0}.hero-steps__list li::before{content:counter(step);grid-row:1 / span 2;width:2rem;height:2rem;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);font:700 var(--fs-xs) var(--font-mono)}.hero-steps__when{font:700 var(--fs-sm) var(--font-mono);color:var(--fg)}.hero-steps__what{color:var(--muted);font-size:var(--fs-sm)}.hero-steps__note{margin:var(--s-4) 0 0;padding-top:var(--s-3);border-top:var(--border);font-size:var(--fs-xs);color:var(--muted)}@media (min-width:56rem){.hero--c .hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s-7);align-items:center}}@media (prefers-reduced-motion:no-preference){.card{transition:transform .18s ease,border-color .18s ease}.card:hover{transform:translateY(-2px)}}
.proof-panel [data-proof="headers-status"]{min-height:3.2em;margin:var(--s-2) 0 0}
.footer-display__tools{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;margin:var(--s-3) 0}.footer-display__tools .btn{min-height:44px;min-width:44px;padding-inline:var(--s-4)}