
@font-face{font-family:"Space Grotesk";src:url(/assets/fonts/space-grotesk-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(/assets/fonts/space-grotesk-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/assets/fonts/ibm-plex-sans-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plex Fallback";src:local("Arial"),local("Helvetica");size-adjust:101%;ascent-override:102%;descent-override:27%;line-gap-override:0%}
@font-face{font-family:"Grotesk Fallback";src:local("Arial"),local("Helvetica");size-adjust:104%;ascent-override:94%;descent-override:28%;line-gap-override:0%}
:root{
  --primary-50:#F6FDE6;--primary-100:#EAFBC8;--primary-200:#D6F592;--primary-300:#C2EE5C;--primary-400:#AEE53A;
  --primary-500:#9BD31F;--primary-600:#7DAF12;--primary-700:#5E860E;--primary-800:#44610F;--primary-900:#2F4210;
  --neutral-0:#FFFFFF;--neutral-50:#F4F7F2;--neutral-100:#E6ECE6;--neutral-200:#CFD8D1;--neutral-300:#AEBBB2;--neutral-400:#8A998F;
  --neutral-500:#6B7A70;--neutral-600:#4F5D54;--neutral-700:#36423B;--neutral-800:#222C27;--neutral-850:#18211D;--neutral-900:#121916;--neutral-950:#0C110F;
  --accent-300:#FFCB7A;--accent-500:#FFB547;--accent-700:#9A5B00;
  --green-300:#7FE3B0;--green-800:#0F3D2A;--green-100:#DDF7EA;--green-700:#11603F;
  --amber-300:#FFD08A;--amber-800:#4A3305;--amber-100:#FFF0D6;--amber-700:#7A4A00;
  --red-300:#FF9A9A;--red-800:#4D1616;--red-100:#FDE3E3;--red-700:#A12525;
  --blue-300:#8FD0FF;--blue-800:#0E3352;--blue-100:#DEF0FF;--blue-700:#0B5A99;
  --font-head:"Space Grotesk","Grotesk Fallback",system-ui,sans-serif;
  --font-body:"IBM Plex Sans","Plex Fallback",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --fs-xs:0.78rem;--fs-sm:0.889rem;--fs-base:1.125rem;--fs-md:1.25rem;--fs-lg:1.563rem;
  --fs-h3:clamp(1.25rem,1.1rem + .6vw,1.563rem);
  --fs-h2:clamp(1.55rem,1.25rem + 1.1vw,2.2rem);
  --fs-h1:clamp(2.1rem,1.5rem + 2.6vw,3.55rem);
  --fs-display:clamp(2.4rem,1.6rem + 3.4vw,4.2rem);
  --lh-body:1.68;--lh-tight:1.12;--lh-head:1.2;
  --measure:68ch;
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;
  --gutter:24px;--container:1240px;--container-narrow:760px;
  --r-sm:8px;--r-md:16px;--r-lg:24px;--r-pill:999px;
  --bw:1px;--bw-strong:2px;
  --t-fast:120ms;--t-base:200ms;--t-slow:320ms;
  --ease-out:cubic-bezier(.2,.8,.2,1);--ease-inout:cubic-bezier(.65,0,.35,1);
  --z-base:1;--z-sticky:50;--z-dropdown:60;--z-overlay:80;--z-modal:90;--z-toast:100;
}
:root,:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:var(--neutral-950);--surface-1:var(--neutral-900);--surface-2:var(--neutral-850);--surface-3:var(--neutral-800);
  --band-alt:#101613;--band-tint:#151C0E;
  --text:#E6EEE9;--text-muted:#A9B6AE;--text-faint:#8D9B93;--text-on-primary:var(--neutral-950);
  --border-subtle:#25302A;--border-strong:#3C4B43;
  --link:var(--primary-300);--link-hover:var(--primary-200);
  --primary:var(--primary-400);--primary-hover:var(--primary-300);--primary-ink:var(--primary-300);
  --accent:var(--accent-500);
  --success-bg:var(--green-800);--success-fg:var(--green-300);--success-border:#1E6B49;
  --warning-bg:var(--amber-800);--warning-fg:var(--amber-300);--warning-border:#7A5A12;
  --danger-bg:var(--red-800);--danger-fg:var(--red-300);--danger-border:#7D2B2B;
  --info-bg:var(--blue-800);--info-fg:var(--blue-300);--info-border:#1C5A8A;
  --focus-ring:var(--accent-500);
  --contour:rgba(174,229,58,.07);--contour-strong:rgba(174,229,58,.16);
  --scrim:rgba(6,9,8,.72);
  --shadow-color:0 0% 0%;
  --elev-0:none;--elev-1:0 1px 2px rgba(0,0,0,.4);--elev-2:0 8px 24px rgba(0,0,0,.45);--elev-3:0 18px 48px rgba(0,0,0,.55);
  --img-filter:saturate(.82) contrast(1.04) brightness(.92);
  --chart-1:var(--primary-400);--chart-2:var(--accent-500);--chart-3:#8FD0FF;--chart-grid:#25302A;
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:var(--neutral-50);--surface-1:var(--neutral-0);--surface-2:#EEF2EC;--surface-3:var(--neutral-100);
  --band-alt:#E9EEE6;--band-tint:#EFF7DD;
  --text:#111613;--text-muted:#46534B;--text-faint:#56635B;--text-on-primary:var(--neutral-950);
  --border-subtle:#D6DED7;--border-strong:#9AA89F;
  --link:var(--primary-800);--link-hover:var(--primary-900);
  --primary:var(--primary-400);--primary-hover:var(--primary-300);--primary-ink:var(--primary-800);
  --accent:var(--accent-700);
  --success-bg:var(--green-100);--success-fg:var(--green-700);--success-border:#8FD3B0;
  --warning-bg:var(--amber-100);--warning-fg:var(--amber-700);--warning-border:#E8B866;
  --danger-bg:var(--red-100);--danger-fg:var(--red-700);--danger-border:#E9A1A1;
  --info-bg:var(--blue-100);--info-fg:var(--blue-700);--info-border:#92C4EC;
  --focus-ring:var(--accent-700);
  --contour:rgba(68,97,15,.07);--contour-strong:rgba(68,97,15,.16);
  --scrim:rgba(17,22,19,.55);
  --elev-0:none;--elev-1:0 1px 2px rgba(17,22,19,.08);--elev-2:0 8px 24px rgba(17,22,19,.10);--elev-3:0 18px 48px rgba(17,22,19,.16);
  --img-filter:saturate(.9) contrast(1.02);
  --chart-1:var(--primary-700);--chart-2:var(--accent-700);--chart-3:var(--blue-700);--chart-grid:#D6DED7;
}
@media (max-width:640px){:root{--gutter:16px}}
@media (prefers-reduced-motion:reduce){:root{--t-fast:0ms;--t-base:0ms;--t-slow:0ms}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:env(safe-area-inset-bottom)}
img,svg,video{max-width:100%;height:auto;display:block}
img{border-style:none}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--t-fast) var(--ease-out)}
a:hover{color:var(--link-hover)}
:focus-visible{outline:var(--bw-strong) solid var(--focus-ring);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:var(--lh-head);letter-spacing:-.015em;margin-block:0 var(--s-4);color:var(--text)}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:-.025em}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);font-weight:500}
h4{font-size:var(--fs-md);font-weight:500}
p{margin-block:0 var(--s-4)}
small{font-size:var(--fs-sm)}
code,kbd,samp{font-family:var(--font-mono);font-size:.88em}
kbd{border:var(--bw) solid var(--border-strong);border-bottom-width:var(--bw-strong);border-radius:6px;padding-inline:6px;color:var(--text-muted)}
hr{border:0;border-top:var(--bw) solid var(--border-subtle);margin-block:var(--s-7)}
table{border-collapse:collapse;font-variant-numeric:tabular-nums}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--primary);color:var(--text-on-primary)}
.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:var(--z-toast);background:var(--primary);color:var(--text-on-primary);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);font-weight:600}
.skip-link:focus{top:var(--s-3)}
.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--primary-ink)}
.muted{color:var(--text-muted)}
.num{font-variant-numeric:tabular-nums}
.inline-ic{display:inline-flex;vertical-align:-3px}
.inline-ic svg{width:16px;height:16px}
main{overflow-wrap:break-word}
td a,td code{overflow-wrap:anywhere}
.wrap{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter))}
.band{position:relative;padding-block:var(--s-9);overflow:hidden}
.band--tight{padding-block:var(--s-7)}
.band--alt{background:var(--band-alt)}
.band--deep{background:var(--surface-1);border-block:var(--bw) solid var(--border-subtle)}
.band--tint{background:var(--band-tint)}
.band__head{text-align:center;max-width:820px;margin-inline:auto;margin-block-end:var(--s-7)}
.band__head p{color:var(--text-muted);font-size:var(--fs-md)}
.band__title{font-size:var(--fs-h2)}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s-8);align-items:center}
.split--rev > :first-child{order:2}
.grid{display:grid;gap:var(--s-5)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.center{text-align:center}
.stack > * + *{margin-block-start:var(--s-4)}
.contour{position:absolute;inset:0;color:var(--contour-strong);pointer-events:none;z-index:0}
.contour svg{width:100%;height:100%}
.band > .wrap{position:relative;z-index:1}
@media (max-width:1023px){
  .split{grid-template-columns:1fr;gap:var(--s-6)}
  .split--rev > :first-child{order:0}
  .grid--4,.grid--5,.grid--6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .band{padding-block:var(--s-8)}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .grid--5,.grid--6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--bg);border-bottom:var(--bw) solid var(--border-subtle);
  transition:transform var(--t-base) var(--ease-out),background-color var(--t-base) var(--ease-out)}
.site-header.is-scrolled{box-shadow:var(--elev-2)}
.site-header__bar{display:flex;align-items:center;gap:var(--s-5);min-height:68px}
.brand{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--text);text-decoration:none;flex:none}
.brand svg{height:30px;width:auto}
.brand:hover{color:var(--text)}
.nav{margin-inline-start:auto;display:flex;align-items:center;gap:var(--s-1)}
.nav__list{display:flex;align-items:center;gap:var(--s-1);list-style:none;margin:0;padding:0}
.nav__link,.nav__trigger{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding-inline:var(--s-3);border-radius:var(--r-pill);
  color:var(--text);text-decoration:none;font-size:var(--fs-sm);font-weight:600;background:none;border:0;cursor:pointer;
  transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}
.nav__link:hover,.nav__trigger:hover,.nav__trigger[aria-expanded="true"]{background:var(--surface-2);color:var(--text)}
.nav__link[aria-current="page"]{color:var(--primary-ink)}
.nav__trigger svg{width:14px;height:14px;transition:transform var(--t-base) var(--ease-out)}
.nav__trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav__item{position:relative}
.mega{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-30%);width:min(860px,92vw);background:var(--surface-1);
  border:var(--bw) solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--elev-3);padding:var(--s-5);z-index:var(--z-dropdown);
  display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:var(--s-4)}
.mega[hidden]{display:none}
.mega__group h3{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-block-end:var(--s-2)}
.mega__link{display:block;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);text-decoration:none;color:var(--text)}
.mega__link strong{display:block;font-size:var(--fs-sm)}
.mega__link span{display:block;font-size:var(--fs-xs);color:var(--text-muted);line-height:1.45}
.mega__link:hover{background:var(--surface-2);color:var(--text)}
.mega__feature{background:var(--band-tint);border-radius:var(--r-sm);padding:var(--s-4);border:var(--bw) solid var(--border-subtle)}
.mega__feature p{font-size:var(--fs-sm);color:var(--text-muted)}
.header-tools{display:flex;align-items:center;gap:var(--s-2)}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--r-pill);border:var(--bw) solid var(--border-subtle);
  background:var(--surface-1);color:var(--text);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}
.icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong)}
.icon-btn svg{width:18px;height:18px}
.search-trigger{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding-inline:var(--s-3) var(--s-2);border-radius:var(--r-pill);
  border:var(--bw) solid var(--border-subtle);background:var(--surface-1);color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm)}
.search-trigger:hover{border-color:var(--border-strong);color:var(--text)}
.search-trigger svg{width:16px;height:16px}
.theme-icon-light{display:none}
:root[data-theme="light"] .theme-icon-light{display:block}
:root[data-theme="light"] .theme-icon-dark{display:none}
.menu-btn{display:none}
.drawer{position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:flex-end;background:var(--scrim)}
.drawer[hidden]{display:none}
.drawer__panel{width:min(420px,100%);height:100%;overflow-y:auto;background:var(--bg);padding:var(--s-5) var(--gutter) var(--s-8);
  border-inline-start:var(--bw) solid var(--border-strong)}
.drawer__head{display:flex;justify-content:space-between;align-items:center;margin-block-end:var(--s-5)}
.drawer__list{list-style:none;margin:0;padding:0}
.drawer__list a{display:flex;align-items:center;min-height:48px;padding-inline:var(--s-2);border-bottom:var(--bw) solid var(--border-subtle);
  color:var(--text);text-decoration:none;font-weight:600}
.drawer__sub a{font-weight:400;padding-inline-start:var(--s-5);color:var(--text-muted)}
@media (max-width:1023px){
  .nav__list,.search-trigger .label,.search-trigger kbd{display:none}
  .menu-btn{display:inline-grid}
  .search-trigger{width:44px;padding:0;justify-content:center}
}
.brand{min-height:44px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:48px;padding-inline:var(--s-5);border-radius:var(--r-pill);
  font-family:var(--font-body);font-weight:600;font-size:var(--fs-sm);text-decoration:none;border:var(--bw-strong) solid transparent;cursor:pointer;
  transition:background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}
.btn svg{width:16px;height:16px}
.btn--primary{background:var(--primary);color:var(--text-on-primary)}
.btn--primary:hover{background:var(--primary-hover);color:var(--text-on-primary)}
.btn--secondary{background:transparent;color:var(--text);border-color:var(--border-strong)}
.btn--secondary:hover{border-color:var(--primary);color:var(--text)}
.btn--ghost{background:transparent;color:var(--primary-ink);padding-inline:var(--s-2)}
.btn--ghost:hover{color:var(--link-hover)}
.btn:active{transform:translateY(1px)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn--sm{min-height:44px;padding-inline:var(--s-4);font-size:var(--fs-xs)}
.btn--lg{min-height:56px;padding-inline:var(--s-6);font-size:var(--fs-base)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}
.arrow-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none;color:var(--primary-ink)}
.arrow-link::after{content:"→";transition:transform var(--t-fast) var(--ease-out)}
.arrow-link:hover::after{transform:translateX(3px)}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding-inline:var(--s-3);border-radius:var(--r-pill);
  border:var(--bw) solid var(--border-subtle);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;text-decoration:none;white-space:nowrap}
a.chip{min-height:44px}
a.chip:hover{border-color:var(--primary);color:var(--text)}
.chip--lime{background:var(--band-tint);color:var(--primary-ink);border-color:var(--border-subtle)}
.chip-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.copy-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding-inline:var(--s-3);border-radius:var(--r-pill);border:var(--bw) solid var(--border-subtle);
  background:var(--surface-1);color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer}
.copy-btn:hover{color:var(--text);border-color:var(--border-strong)}
.back-to-top{position:fixed;right:var(--s-4);bottom:calc(var(--s-4) + env(safe-area-inset-bottom));z-index:var(--z-sticky);opacity:0;pointer-events:none;
  transition:opacity var(--t-base) var(--ease-out)}
.back-to-top.is-visible{opacity:1;pointer-events:auto}
.arrow-link{min-height:44px}
.byline a{display:inline-flex;align-items:center;min-height:44px}
.chip{max-width:100%;white-space:normal;line-height:1.3;padding-block:6px}
.card{position:relative;display:flex;flex-direction:column;background:var(--surface-1);border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);
  overflow:hidden;transition:border-color var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out)}
.card:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.card:focus-within{border-color:var(--primary)}
.card__media{aspect-ratio:16/9;background:var(--surface-3);overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter);transition:transform var(--t-slow) var(--ease-out)}
.card:hover .card__media img{transform:scale(1.03)}
.card__body{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) var(--s-5) var(--s-5);flex:1}
.card__meta{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;font-size:var(--fs-xs);color:var(--text-faint)}
.card__meta .eyebrow{color:var(--primary-ink)}
.card__title{font-size:var(--fs-md);font-weight:700;line-height:1.28;margin:0}
.card__title a{color:var(--text);text-decoration:none}
.card__title a::after{content:"";position:absolute;inset:0}
.card__title a:hover{color:var(--text)}
.card__text{font-size:var(--fs-sm);color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card__foot{margin-block-start:auto;padding-block-start:var(--s-2);font-size:var(--fs-xs);color:var(--text-faint)}
.card--feature{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;background:transparent;border:0;gap:var(--s-6)}
.card--feature:hover{transform:none}
.card--feature .card__media{border-radius:var(--r-md);border:var(--bw) solid var(--border-subtle)}
.card--feature .card__title{font-size:var(--fs-h2);line-height:1.15}
.card--feature .card__text{font-size:var(--fs-base);-webkit-line-clamp:4}
.card--compact{flex-direction:row;align-items:stretch}
.card--compact .card__media{aspect-ratio:1;flex:0 0 120px}
.card--compact .card__body{padding:var(--s-3) var(--s-4)}
.card--compact .card__title{font-size:var(--fs-base)}
.tile{position:relative;display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);background:var(--surface-1);border:var(--bw) solid var(--border-subtle);
  border-radius:var(--r-md);transition:border-color var(--t-base) var(--ease-out),background-color var(--t-base) var(--ease-out)}
.tile:hover{border-color:var(--primary);background:var(--surface-2)}
.tile__icon{width:40px;height:40px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--band-tint);color:var(--primary-ink)}
.tile__icon svg{width:20px;height:20px}
.tile h3{font-size:var(--fs-md);margin:0}
.tile h3 a{color:var(--text);text-decoration:none}
.tile h3 a::after{content:"";position:absolute;inset:0}
.tile p{font-size:var(--fs-sm);color:var(--text-muted);margin:0}
.tile__count{margin-block-start:auto;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint)}
.mcard{position:relative;flex:0 0 calc((100% - 3 * var(--s-5)) / 4);scroll-snap-align:start;display:flex;flex-direction:column;background:var(--surface-1);
  border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);overflow:hidden;transition:border-color var(--t-base) var(--ease-out)}
.mcard:hover{border-color:var(--primary)}
.mcard__chart{height:120px;background:var(--surface-2);border-bottom:var(--bw) solid var(--border-subtle);color:var(--chart-1)}
.mcard__chart svg{width:100%;height:100%}
.mcard__body{padding:var(--s-4)}
.mcard__body h3{font-size:var(--fs-base);margin:0 0 var(--s-1)}
.mcard__body h3 a{color:var(--text);text-decoration:none}
.mcard__body h3 a::after{content:"";position:absolute;inset:0}
.mcard__body p{font-size:var(--fs-xs);color:var(--text-muted);margin:0}
.carousel{position:relative}
.carousel__track{display:flex;gap:var(--s-5);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:var(--s-1)}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__nav{display:flex;justify-content:center;gap:var(--s-2);margin-block-start:var(--s-5)}
.starter{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5);background:var(--band-tint);border:var(--bw) solid var(--border-strong);border-radius:var(--r-md)}
.starter h2,.starter h3{font-size:var(--fs-md);margin:0}
.starter ol{margin:0;padding-inline-start:1.2em;font-size:var(--fs-sm);color:var(--text-muted)}
.starter li{margin-block:var(--s-1)}
@media (max-width:1023px){.mcard{flex-basis:calc((100% - var(--s-5)) / 2)}.card--feature{grid-template-columns:1fr;gap:var(--s-4)}}
@media (max-width:640px){.mcard{flex-basis:82%}.card--compact .card__media{flex-basis:96px}}
.card__media,.lead-figure--flat,.tile,.starter{position:relative;overflow:hidden}
.hero{padding-block:var(--s-9) var(--s-8)}
.hero h1{font-size:var(--fs-display);margin-block:var(--s-3) var(--s-5)}
.hero__lede{font-size:var(--fs-md);color:var(--text-muted);max-width:52ch}
.hero__cta{margin-block-start:var(--s-6)}
.explorer{background:var(--surface-1);border:var(--bw) solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--elev-3);overflow:hidden}
.explorer__bar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:var(--bw) solid var(--border-subtle);font-size:var(--fs-sm)}
.explorer__dot{width:10px;height:10px;border-radius:var(--r-pill);background:var(--primary)}
.explorer__chart{padding:var(--s-4);color:var(--chart-1)}
.explorer__chart svg{width:100%;height:auto}
.explorer__legend{display:flex;flex-wrap:wrap;gap:var(--s-4);padding:0 var(--s-4) var(--s-3);font-size:var(--fs-xs);color:var(--text-muted)}
.legend-swatch{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-inline-end:6px}
.legend-swatch--1{background:var(--chart-1)}.legend-swatch--2{background:var(--chart-2)}.legend-swatch--3{background:var(--chart-3)}
.explorer__search{display:flex;gap:var(--s-2);padding:var(--s-3) var(--s-4) var(--s-4);border-top:var(--bw) solid var(--border-subtle)}
.explorer__search input{flex:1}
.explorer__note{padding:0 var(--s-4) var(--s-3);font-size:var(--fs-xs);color:var(--text-faint);margin:0}
.assets{padding-block:var(--s-6) var(--s-7)}
.assets h2{font-size:var(--fs-md);text-align:center;color:var(--text-muted);font-weight:500;margin-block-end:var(--s-5)}
.assets__row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--s-3);list-style:none;margin:0;padding:0}
.asset{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);text-decoration:none;color:var(--text)}
.asset img{width:64px;height:64px}
.asset span{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}
.asset:hover{background:var(--surface-2);color:var(--text)}
.assets__note{text-align:center;font-size:var(--fs-xs);color:var(--text-faint);margin-block-start:var(--s-3)}
.stats{display:flex;justify-content:center;gap:var(--s-8);margin-block:var(--s-6) var(--s-7);list-style:none;padding:0}
.stats li{text-align:center}
.stats strong{display:block;font-family:var(--font-head);font-size:var(--fs-h2);color:var(--primary-ink);font-variant-numeric:tabular-nums}
.stats span{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.layer{display:grid;grid-template-columns:1fr 2fr;gap:var(--s-4)}
.layer__col{background:var(--surface-1);border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);overflow:hidden}
.layer__tag{padding:var(--s-2) var(--s-4);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;
  background:var(--surface-3);color:var(--text-muted)}
.layer__col--on .layer__tag{background:var(--primary);color:var(--text-on-primary)}
.layer__inner{display:grid;grid-template-columns:1fr;gap:0}
.layer__col--on .layer__inner{grid-template-columns:1fr 1fr}
.layer__part{padding:var(--s-5)}
.layer__col--on .layer__part + .layer__part{border-inline-start:var(--bw) solid var(--border-subtle)}
.layer__part h3{font-size:var(--fs-md);margin-block-end:var(--s-2)}
.layer__part > p{font-size:var(--fs-sm);color:var(--text-muted)}
.layer__part ul{list-style:none;margin:var(--s-4) 0 0;padding:var(--s-4) 0 0;border-top:var(--bw) solid var(--border-subtle);font-size:var(--fs-sm)}
.layer__part li{padding-block:4px}
.layer__part li a{font-weight:600}
.layer__part li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--r-pill);background:var(--primary);margin-inline-end:var(--s-2);vertical-align:middle}
.layer__src{font-size:var(--fs-xs);color:var(--text-faint);margin-block-start:var(--s-2)}
.product-mark{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--font-head);font-weight:700;font-size:var(--fs-md);color:var(--text);margin-block-end:var(--s-3)}
.product-mark span{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-sm);color:var(--primary-ink)}
.checklist{list-style:none;padding:0;margin:var(--s-5) 0}
.checklist li{display:flex;gap:var(--s-3);align-items:flex-start;padding-block:6px;color:var(--text-muted)}
.checklist svg{flex:none;width:20px;height:20px;color:var(--primary-ink);margin-block-start:3px}
.art{border-radius:var(--r-md);border:var(--bw) solid var(--border-subtle);background:var(--surface-1);color:var(--chart-1);overflow:hidden}
.art svg{width:100%;height:auto}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);max-width:900px;margin:var(--s-7) auto 0}
.path{position:relative;padding:var(--s-4) var(--s-5);border:var(--bw) solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-1)}
.path h3{font-size:var(--fs-base);margin:0 0 var(--s-1)}
.path h3 a{color:var(--text);text-decoration:none}
.path h3 a::after{content:"";position:absolute;inset:0}
.path p{font-size:var(--fs-xs);color:var(--text-muted);margin:0 0 var(--s-2)}
.path .arrow-link{font-size:var(--fs-sm)}
.path--lime{border-color:var(--primary)}
.features{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s-7) var(--s-6)}
.feature{grid-column:span 2;text-align:center}
.feature:nth-child(4){grid-column:2 / span 2}
.feature svg{width:32px;height:32px;margin:0 auto var(--s-3);color:var(--primary-ink)}
.feature h3{font-size:var(--fs-md);margin-block-end:var(--s-2)}
.feature p{font-size:var(--fs-sm);color:var(--text-muted);margin:0}
.product{position:relative;display:flex;flex-direction:column;background:var(--surface-1);border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);overflow:hidden}
.product--tint{background:var(--band-tint)}
.product__body{padding:var(--s-5) var(--s-5) var(--s-4)}
.product__body h3{font-size:var(--fs-md);margin-block-end:var(--s-3)}
.product__body p{font-size:var(--fs-sm);color:var(--text-muted)}
.product__art{margin-block-start:auto;padding-inline:var(--s-5);color:var(--chart-1)}
.product__art svg{width:100%;height:auto;display:block}
.searchband{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7);align-items:center}
.searchband__text h2{margin-block-end:var(--s-3)}
.searchband form{display:grid;grid-template-columns:1fr auto;gap:var(--s-2)}
.searchband small{display:block;margin-block-start:var(--s-3);color:var(--text-faint)}
@media (max-width:768px){.searchband{grid-template-columns:1fr;gap:var(--s-5)}}
.pull{max-width:760px;margin-inline:auto;text-align:center}
.pull blockquote{margin:0;font-family:var(--font-head);font-size:var(--fs-lg);line-height:1.4;font-weight:500}
.pull figcaption{margin-block-start:var(--s-4);font-size:var(--fs-sm);color:var(--text-muted)}
.pull svg{width:40px;height:40px;margin:0 auto var(--s-4);color:var(--primary-ink)}
@media (max-width:1023px){
  .assets__row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .layer{grid-template-columns:1fr}
  .features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature,.feature:nth-child(4){grid-column:auto}
  .stats{gap:var(--s-6)}
}
@media (max-width:640px){
  .hero{padding-block:var(--s-7) var(--s-6)}
  .layer__col--on .layer__inner{grid-template-columns:1fr}
  .layer__col--on .layer__part + .layer__part{border-inline-start:0;border-top:var(--bw) solid var(--border-subtle)}
  .paths{grid-template-columns:1fr}
  .features{grid-template-columns:1fr}
  .stats{flex-direction:column;gap:var(--s-4)}
  .searchband form{grid-template-columns:1fr}
}
.hero__visual{position:relative;padding-block-end:var(--s-8)}
.hero__photo{border-radius:var(--r-md);overflow:hidden;border:var(--bw) solid var(--border-subtle);aspect-ratio:4/3;background:var(--surface-2)}
.hero__photo img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter)}
.hero__visual .explorer{position:absolute;inset-inline-start:calc(-1 * var(--s-7));inset-block-end:0;width:min(440px,86%);margin:0}
.explorer__src{margin-inline-start:auto;color:var(--text-faint);font-size:var(--fs-xs)}
.art img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;filter:var(--img-filter)}
@media (max-width:1023px){.art img{aspect-ratio:16/10}}
.product__art img{border-radius:var(--r-sm) var(--r-sm) 0 0;aspect-ratio:16/10;object-fit:cover;width:100%;filter:var(--img-filter)}
@media (max-width:1023px){.hero__visual{padding-block-end:0}.hero__visual .explorer{position:relative;inset:auto;z-index:1;width:100%;margin-block-start:calc(-1 * var(--s-7));margin-inline:auto;max-width:520px}}
@media (max-width:1023px){.art{margin:var(--s-6) 0 0}}
.art--cool img{filter:saturate(.45) contrast(1.05) brightness(.9) hue-rotate(-8deg)}
.explorer__search form{display:flex;gap:var(--s-2);flex:1;min-width:0}
.explorer__search form input{flex:1;min-width:0}
.explorer__search form .btn{flex:none}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;list-style:none;margin:0 0 var(--s-3);padding:0;font-size:var(--fs-xs);color:var(--text-faint)}
.crumbs li + li::before{content:"/";margin-inline-end:6px;color:var(--border-strong)}
.crumbs a{color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.crumbs a:hover{color:var(--primary-ink)}
.post{padding-block:var(--s-7) var(--s-8)}
.post__head{max-width:var(--container-narrow);margin-inline:auto}
.post__head h1{margin-block-end:var(--s-4)}
.post__dek{font-size:var(--fs-md);color:var(--text-muted);line-height:1.55;margin-block-end:var(--s-5)}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);font-size:var(--fs-sm);color:var(--text-muted);
  padding-block:var(--s-3);border-block:var(--bw) solid var(--border-subtle)}
.byline a{color:var(--text);font-weight:600;text-decoration:none}
.byline__dot{width:4px;height:4px;border-radius:var(--r-pill);background:var(--border-strong)}
.byline__mark{width:32px;height:32px;border-radius:var(--r-pill);background:var(--band-tint);display:grid;place-items:center;color:var(--primary-ink)}
.byline__mark svg{width:18px;height:18px}
.lead-figure{max-width:1040px;margin:var(--s-6) auto 0}
.lead-figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-md);filter:var(--img-filter);border:var(--bw) solid var(--border-subtle)}
.lead-figure--flat{aspect-ratio:16/6;border-radius:var(--r-md);background:var(--band-tint);border:var(--bw) solid var(--border-subtle);color:var(--contour-strong);overflow:hidden}
.lead-figure--flat svg{width:100%;height:100%}
.credit{font-size:var(--fs-xs);color:var(--text-faint);margin-block-start:var(--s-2);line-height:1.5}
.credit a{color:var(--text-muted)}
.post__body{max-width:var(--container-narrow);margin:var(--s-7) auto 0}
.prose{font-size:var(--fs-base)}
.prose > * {margin-block:0 var(--s-5)}
.prose h2{margin-block:var(--s-8) var(--s-4);scroll-margin-top:96px;position:relative}
.prose h3{margin-block:var(--s-6) var(--s-3);scroll-margin-top:96px}
.prose ul,.prose ol{padding-inline-start:1.3em}
.prose li{margin-block:var(--s-2)}
.prose li::marker{color:var(--primary-ink)}
.prose strong{color:var(--text);font-weight:600}
.anchor{margin-inline-start:.35em;opacity:0;text-decoration:none;color:var(--text-faint);font-weight:400;padding-inline:2px}
.prose h2:hover .anchor,.anchor:focus{opacity:1}
.cite{font-family:var(--font-mono);font-size:.68em;font-weight:500;vertical-align:super;line-height:0;margin-inline-start:1px}
.cite a{text-decoration:none;color:var(--primary-ink);padding-inline:1px}
.cite a:hover{text-decoration:underline}
.answer{border-inline-start:3px solid var(--primary);background:var(--surface-1);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--s-4) var(--s-5)}
.answer__label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--primary-ink);margin-block-end:var(--s-2);display:block}
.answer p{margin:0;font-size:var(--fs-md);line-height:1.55}
.keypoints{background:var(--surface-1);border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);padding:var(--s-5)}
.keypoints h2{font-size:var(--fs-md);margin:0 0 var(--s-3)}
.keypoints ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3)}
.keypoints li{display:grid;grid-template-columns:28px 1fr;gap:var(--s-2);margin:0;align-items:start}
.keypoints li > span:first-child{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-on-primary);background:var(--primary);border-radius:var(--r-pill);
  width:24px;height:24px;display:grid;place-items:center;margin-block-start:3px}
.otp{border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-1)}
.otp summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:48px;padding-inline:var(--s-4);font-weight:600;font-size:var(--fs-sm)}
.otp summary::-webkit-details-marker{display:none}
.otp summary::after{content:"+";font-family:var(--font-mono);color:var(--primary-ink)}
.otp[open] summary::after{content:"–"}
.otp ol{margin:0;padding:0 var(--s-4) var(--s-4) calc(var(--s-4) + 1.2em);font-size:var(--fs-sm)}
.otp a{color:var(--text-muted);text-decoration:none}
.otp a:hover,.otp a.is-active{color:var(--primary-ink)}
.figure{margin-inline:0}
.figure--wide{margin-inline:calc(50% - min(520px, 50vw - var(--gutter)))}
.figure img{width:100%;border-radius:var(--r-md);filter:var(--img-filter);border:var(--bw) solid var(--border-subtle)}
.figure figcaption{font-size:var(--fs-sm);color:var(--text-muted);margin-block-start:var(--s-2)}
.diagram{background:var(--surface-1);border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);padding:var(--s-5);color:var(--text)}
.diagram__title{font-family:var(--font-head);font-weight:700;font-size:var(--fs-base);margin-block-end:var(--s-3)}
.diagram svg{width:100%;height:auto}
.diagram .v-mobile{display:none}
.diagram figcaption{font-size:var(--fs-xs);color:var(--text-faint);margin-block-start:var(--s-3)}
@media (max-width:640px){.diagram .v-desktop{display:none}.diagram .v-mobile{display:block}.diagram{padding:var(--s-4)}}
.table-wrap{overflow-x:auto;border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-1)}
.table-wrap table{width:100%;font-size:var(--fs-sm)}
.table-wrap caption{caption-side:top;text-align:start;padding:var(--s-3) var(--s-4);font-weight:600;font-family:var(--font-head);color:var(--text)}
.table-wrap th,.table-wrap td{text-align:start;padding:var(--s-3) var(--s-4);border-top:var(--bw) solid var(--border-subtle);vertical-align:top}
.table-wrap thead th{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);font-weight:500}
.table-wrap tbody tr:hover{background:var(--surface-2)}
@media (max-width:640px){
  .table-wrap{overflow:visible;border:0;background:transparent}
  .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}
  .table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .table-wrap caption{display:block;padding-inline:0}
  .table-wrap tr{border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-1);margin-block-end:var(--s-3);padding:var(--s-2) 0}
  .table-wrap td{border:0;padding:var(--s-2) var(--s-4);display:grid;grid-template-columns:42% 1fr;gap:var(--s-3)}
  .table-wrap td::before{content:attr(data-label);font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-faint);letter-spacing:.04em}
}
.callout{border:var(--bw) solid var(--info-border);background:var(--info-bg);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);display:grid;grid-template-columns:24px 1fr;gap:var(--s-3)}
.callout svg{width:22px;height:22px;color:var(--info-fg);margin-block-start:2px}
.callout__title{font-weight:600;color:var(--info-fg);margin-block-end:var(--s-1);display:block}
.callout p{margin:0}
.callout p + p{margin-block-start:var(--s-2)}
.callout--tip{border-color:var(--success-border);background:var(--success-bg)}
.callout--tip svg,.callout--tip .callout__title{color:var(--success-fg)}
.callout--warning{border-color:var(--warning-border);background:var(--warning-bg)}
.callout--warning svg,.callout--warning .callout__title{color:var(--warning-fg)}
.callout--example{border-color:var(--border-strong);background:var(--surface-1)}
.callout--example svg,.callout--example .callout__title{color:var(--primary-ink)}
.steps{list-style:none;padding:0;counter-reset:step;display:grid;gap:var(--s-3)}
.steps li{counter-increment:step;position:relative;padding:var(--s-4) var(--s-5) var(--s-4) calc(var(--s-5) + 40px);margin:0;background:var(--surface-1);
  border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md)}
.steps li::before{content:counter(step);position:absolute;left:var(--s-4);top:var(--s-4);width:32px;height:32px;border-radius:var(--r-pill);
  display:grid;place-items:center;background:var(--primary);color:var(--text-on-primary);font-family:var(--font-mono);font-size:var(--fs-sm)}
.steps strong{display:block;margin-block-end:var(--s-1)}
.steps p{margin:0;color:var(--text-muted);font-size:var(--fs-sm)}
.factbox{border:var(--bw) solid var(--border-strong);border-radius:var(--r-md);overflow:hidden}
.factbox__title{background:var(--surface-2);padding:var(--s-3) var(--s-5);font-family:var(--font-head);font-weight:700;margin:0;font-size:var(--fs-base)}
.factbox dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.factbox dt,.factbox dd{margin:0;padding:var(--s-3) var(--s-5);border-top:var(--bw) solid var(--border-subtle);font-size:var(--fs-sm)}
.factbox dt{color:var(--text-muted)}
.factbox dd{font-variant-numeric:tabular-nums;font-weight:600}
@media (max-width:640px){.factbox dl{grid-template-columns:1fr}.factbox dd{border-top:0;padding-block-start:0}}
.formula{background:var(--surface-1);border:var(--bw) dashed var(--border-strong);border-radius:var(--r-md);padding:var(--s-4) var(--s-5)}
.formula code{display:block;font-size:var(--fs-md);color:var(--primary-ink);overflow-wrap:anywhere;margin-block-end:var(--s-2)}
.formula p{margin:0;font-size:var(--fs-sm);color:var(--text-muted)}
.mistakes{list-style:none;padding:0;display:grid;gap:var(--s-3)}
.mistakes li{margin:0;padding:var(--s-4) var(--s-5);border-radius:var(--r-md);background:var(--danger-bg);border:var(--bw) solid var(--danger-border);display:grid;grid-template-columns:24px 1fr;gap:var(--s-3)}
.mistakes svg{width:20px;height:20px;color:var(--danger-fg);margin-block-start:4px}
.mistakes strong{display:block;color:var(--text)}
.mistakes p{margin:0;font-size:var(--fs-sm);color:var(--text-muted)}
.timeline{list-style:none;padding:0;border-inline-start:var(--bw-strong) solid var(--border-strong);margin-inline-start:var(--s-2)}
.timeline li{position:relative;padding:0 0 var(--s-5) var(--s-5);margin:0}
.timeline li::before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;border-radius:var(--r-pill);background:var(--primary);box-shadow:0 0 0 4px var(--bg)}
.timeline time,.timeline .tl-date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--primary-ink);display:block}
.prose blockquote{margin-inline:0;padding:var(--s-2) var(--s-5);border-inline-start:3px solid var(--accent);font-style:italic;color:var(--text-muted)}
.prose blockquote cite{display:block;font-style:normal;font-size:var(--fs-sm);margin-block-start:var(--s-2)}
.faq{border-top:var(--bw) solid var(--border-subtle)}
.faq details{border-bottom:var(--bw) solid var(--border-subtle)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--s-4);align-items:center;min-height:56px;padding-block:var(--s-3);
  font-family:var(--font-head);font-weight:500;font-size:var(--fs-md)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-mono);color:var(--primary-ink);font-size:var(--fs-lg);transition:transform var(--t-base) var(--ease-out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > div{padding-block-end:var(--s-4);color:var(--text-muted)}
.sources ol{font-size:var(--fs-sm);padding-inline-start:1.6em;color:var(--text-muted)}
.sources li{margin-block:var(--s-2);scroll-margin-top:96px}
.sources li:target{background:var(--band-tint);border-radius:var(--r-sm);outline:var(--bw) solid var(--primary)}
.grade{font-family:var(--font-mono);font-size:var(--fs-xs);border:var(--bw) solid var(--border-strong);border-radius:4px;padding-inline:4px;margin-inline-end:6px;color:var(--text-muted)}
.checked{display:grid;grid-template-columns:40px 1fr;gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-md);background:var(--surface-1);border:var(--bw) solid var(--border-subtle)}
.checked svg{width:32px;height:32px;color:var(--primary-ink)}
.checked h2{font-size:var(--fs-md);margin:0 0 var(--s-2)}
.checked p{font-size:var(--fs-sm);color:var(--text-muted);margin:0 0 var(--s-2)}
.related{padding-block:var(--s-8);border-top:var(--bw) solid var(--border-subtle);margin-block-start:var(--s-8)}
.related h2{font-size:var(--fs-h3);margin-block-end:var(--s-5)}
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--primary);z-index:var(--z-toast)}
.share{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-block-start:var(--s-5)}
.disclaimer{font-size:var(--fs-sm);color:var(--text-faint);font-style:italic}
.dg-box{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1}
.dg-box--hi{fill:var(--band-tint);stroke:var(--primary)}
.dg-txt{fill:var(--text);font-family:var(--font-body);font-size:14px}
.dg-txt--b{font-weight:600;font-family:var(--font-head);font-size:15px}
.dg-txt--m{fill:var(--text-muted);font-size:12px}
.dg-num{fill:var(--primary-ink);font-family:var(--font-mono);font-size:12px}
.dg-arrow{stroke:var(--primary);stroke-width:2;fill:none}
.dg-head{fill:var(--primary)}
.dg-bar{fill:var(--chart-1)}
.dg-bar--2{fill:var(--chart-2)}
.dg-line{fill:none;stroke:var(--chart-1);stroke-width:2.5}
.dg-line--2{fill:none;stroke:var(--chart-2);stroke-width:2;stroke-dasharray:6 5}
.dg-line--3{fill:none;stroke:var(--chart-3);stroke-width:2}
.dg-grid{stroke:var(--chart-grid);stroke-width:1}
.dg-area{fill:var(--contour-strong)}
.dg-img img{width:100%;height:auto}
.dg-img--light{display:none}
:root[data-theme="light"] .dg-img--light{display:block}
:root[data-theme="light"] .dg-img--dark{display:none}
.copy-btn{white-space:nowrap}
.callout{background:var(--surface-1);border-inline-start-width:3px}
@media (max-width:640px){.crumbs li:last-child:not(:first-child){display:none}}
.byline__i{white-space:nowrap}
.byline__i + .byline__i::before,.byline__meta > span + span::before{content:"";display:inline-block;vertical-align:middle;width:4px;height:4px;border-radius:var(--r-pill);background:var(--border-strong);margin-inline:0 var(--s-4)}
.byline__meta > span + span::before{margin-inline-start:var(--s-4)}
@media (max-width:640px){.byline__i.byline__meta{flex-basis:100%;order:3;padding-inline-start:calc(32px + var(--s-4))}.byline__i.byline__meta::before{display:none}.byline .copy-btn{order:4}}
.docs{display:grid;grid-template-columns:260px minmax(0,1fr) 220px;gap:var(--s-7);padding-block:var(--s-6) var(--s-8)}
.docs__nav{position:sticky;top:92px;align-self:start;max-height:calc(100vh - 110px);overflow-y:auto;font-size:var(--fs-sm);padding-inline-end:var(--s-2)}
.docs__nav h2,.docs__navh{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:var(--s-5) 0 var(--s-2)}
.docs__nav h2:first-child,.docs__navh:first-child{margin-block-start:0}
.docs__nav ul{list-style:none;margin:0;padding:0}
.docs__nav a{display:flex;align-items:center;min-height:36px;padding-inline:var(--s-3);border-radius:var(--r-sm);color:var(--text-muted);text-decoration:none}
.docs__nav a:hover{background:var(--surface-2);color:var(--text)}
.docs__nav a[aria-current="page"]{background:var(--band-tint);color:var(--primary-ink);font-weight:600}
.docs__main{min-width:0;max-width:760px}
.docs__main h1{font-size:var(--fs-h1)}
.docs__toc{position:sticky;top:92px;align-self:start;font-size:var(--fs-sm)}
.docs__toc h2{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0 0 var(--s-3)}
.docs__toc ol{list-style:none;margin:0;padding:0;border-inline-start:var(--bw) solid var(--border-subtle)}
.docs__toc a{display:block;padding:6px var(--s-3);margin-inline-start:-1px;border-inline-start:var(--bw-strong) solid transparent;color:var(--text-muted);text-decoration:none;line-height:1.4}
.docs__toc a:hover{color:var(--text)}
.docs__toc a.is-active{color:var(--primary-ink);border-inline-start-color:var(--primary)}
.docs__pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin-block-start:var(--s-7)}
.pager{position:relative;display:flex;flex-direction:column;gap:2px;padding:var(--s-4);border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);text-decoration:none;color:var(--text)}
.pager span{font-size:var(--fs-xs);color:var(--text-faint)}
.pager:hover{border-color:var(--primary);color:var(--text)}
.pager--next{text-align:end}
.docs__mobilenav{display:none}
.docs__head .post__dek{margin-block-end:var(--s-4)}
.docs__head .lead-figure{margin-block-start:var(--s-5)}
.alpha{position:sticky;top:69px;z-index:var(--z-base);display:flex;flex-wrap:wrap;gap:4px;padding-block:var(--s-3);background:var(--bg);border-bottom:var(--bw) solid var(--border-subtle)}
.alpha a,.alpha span{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--fs-sm);text-decoration:none}
.alpha a{color:var(--text);background:var(--surface-1);border:var(--bw) solid var(--border-subtle)}
.alpha a:hover{border-color:var(--primary)}
.alpha span{color:var(--text-faint)}
.letter-group{padding-block:var(--s-6) 0;scroll-margin-top:140px}
.letter-group h2{font-family:var(--font-mono);color:var(--primary-ink);font-size:var(--fs-h2)}
@media (max-width:1180px){.docs{grid-template-columns:240px minmax(0,1fr)}.docs__toc{display:none}}
@media (max-width:860px){
  .docs{grid-template-columns:1fr;gap:var(--s-5);padding-block-start:var(--s-4)}
  .docs__nav{display:none}
  .docs__mobilenav{display:block}
  .docs__mobilenav details{border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-1)}
  .docs__mobilenav summary{min-height:48px;display:flex;align-items:center;padding-inline:var(--s-4);font-weight:600;font-size:var(--fs-sm);cursor:pointer}
  .docs__mobilenav ul{list-style:none;margin:0;padding:0 var(--s-2) var(--s-3)}
  .docs__mobilenav a{display:flex;align-items:center;min-height:44px;padding-inline:var(--s-3);color:var(--text-muted);text-decoration:none;font-size:var(--fs-sm)}
  .docs__pager{grid-template-columns:1fr}
}
.docs .figure--wide{margin-inline:0}
.docs .byline .copy-btn{margin-inline-start:auto}
.docs__main > .lead-figure{margin-block-start:var(--s-5)}
@media (max-width:640px){
  .docs .byline{flex-direction:column;align-items:flex-start;gap:var(--s-1)}
  .docs .byline__mark{display:none}
  .docs .byline .copy-btn{margin-inline-start:0}
  .docs__head .crumbs li:last-child{display:none}
  .docs__head .crumbs li:nth-last-child(2)::after{content:""}
}
.feed{padding-block:var(--s-7) var(--s-8)}
.feed__intro{max-width:720px;margin-block-end:var(--s-7)}
.feed__intro p{font-size:var(--fs-md);color:var(--text-muted)}
.feed__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-7) var(--s-5)}
.feed__lead{grid-column:1 / -1}
.feed__pair{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.feed__filters{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-block-end:var(--s-6)}
.feed__filters a[aria-current="page"]{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}
.subtopics{margin-block-start:var(--s-8);padding-block-start:var(--s-6);border-top:var(--bw) solid var(--border-subtle)}
.subtopics h2{font-size:var(--fs-h3)}
@media (max-width:1023px){.feed__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.feed__grid,.feed__pair{grid-template-columns:1fr}}
.catalog{display:grid;grid-template-columns:240px 300px minmax(0,1fr);background:var(--surface-1);border:var(--bw) solid var(--border-strong);border-radius:var(--r-md);overflow:hidden;min-height:560px}
.catalog__col{border-inline-end:var(--bw) solid var(--border-subtle);padding:var(--s-4);overflow-y:auto;max-height:640px}
.catalog__col:last-child{border:0;padding:var(--s-5) var(--s-6)}
.catalog__label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin:var(--s-3) 0 var(--s-2)}
.catalog__groups{list-style:none;margin:0;padding:0}
.catalog__groups button,.catalog__metrics button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--s-2);min-height:44px;padding:6px var(--s-3);
  border-radius:var(--r-sm);border:0;background:none;color:var(--text-muted);text-align:start;cursor:pointer;font-size:var(--fs-sm)}
.catalog__groups button:hover,.catalog__metrics button:hover{background:var(--surface-2);color:var(--text)}
.catalog__groups button[aria-pressed="true"],.catalog__metrics button[aria-pressed="true"]{background:var(--band-tint);color:var(--primary-ink);font-weight:600}
.catalog__metrics{list-style:none;margin:0;padding:0}
.catalog__count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint)}
.catalog__detail h3{font-size:var(--fs-h3);margin-block:var(--s-2)}
.catalog__detail dl{display:grid;grid-template-columns:120px 1fr;gap:var(--s-2) var(--s-4);font-size:var(--fs-sm);margin:var(--s-5) 0;padding-block-start:var(--s-4);border-top:var(--bw) solid var(--border-subtle)}
.catalog__detail dt{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-faint);letter-spacing:.06em}
.catalog__detail dd{margin:0}
.catalog__static{display:none}
.no-js .catalog__static{display:block}
.no-js .catalog{display:none}
.catalog__foot{text-align:center;font-size:var(--fs-sm);color:var(--text-muted);margin-block-start:var(--s-4)}
.accordion{border-top:var(--bw) solid var(--border-subtle)}
.accordion details{border-bottom:var(--bw) solid var(--border-subtle)}
.accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--s-3);min-height:64px;font-family:var(--font-head);font-weight:700;font-size:var(--fs-md)}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary svg{width:22px;height:22px;color:var(--primary-ink)}
.accordion details[open]{background:var(--surface-1);border-radius:var(--r-sm)}
.accordion details[open] summary{padding-inline:var(--s-4)}
.accordion details > div{padding:0 var(--s-4) var(--s-5) calc(var(--s-4) + 34px);color:var(--text-muted);font-size:var(--fs-sm)}
@media (max-width:1023px){.catalog{grid-template-columns:200px minmax(0,1fr)}.catalog__col:last-child{grid-column:1 / -1;border-top:var(--bw) solid var(--border-subtle)}}
@media (max-width:640px){.catalog{grid-template-columns:1fr}.catalog__col{max-height:none;border-inline-end:0;border-bottom:var(--bw) solid var(--border-subtle)}}
.feed__wide{grid-column:span 2}
.feed__wide .card{height:100%}
.feed__wide .card__media{aspect-ratio:21/9}
.feed__sub{grid-column:1 / -1;font-size:var(--fs-h3);margin:var(--s-5) 0 0;padding-block-start:var(--s-5);border-top:var(--bw) solid var(--border-subtle)}
@media (max-width:640px){.feed__wide{grid-column:auto}.feed__wide .card__media{aspect-ratio:16/9}}
.feed__full{grid-column:1 / -1}
.feed__full .card--feature{background:var(--surface-1);border:var(--bw) solid var(--border-subtle);padding:var(--s-4)}
.feed__full .card--feature .card__title{font-size:var(--fs-h3)}
.field{display:grid;gap:6px;margin-block-end:var(--s-4)}
.field label{font-size:var(--fs-sm);font-weight:600}
.field small{color:var(--text-faint);font-size:var(--fs-xs)}
.input,.select,.textarea{width:100%;min-height:48px;padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);border:var(--bw) solid var(--border-strong);
  background:var(--surface-1);color:var(--text);font-size:max(16px,var(--fs-base));transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}
.input--pill{border-radius:var(--r-pill)}
.textarea{min-height:140px;resize:vertical}
.input:hover,.select:hover,.textarea:hover{border-color:var(--text-faint)}
.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--contour-strong)}
.input[aria-invalid="true"],.textarea[aria-invalid="true"]{border-color:var(--danger-fg)}
.input:disabled{opacity:.55;cursor:not-allowed}
.field__error{color:var(--danger-fg);font-size:var(--fs-xs);min-height:1em}
.check{display:flex;gap:var(--s-3);align-items:flex-start;font-size:var(--fs-sm);min-height:44px}
.check input{width:20px;height:20px;accent-color:var(--primary);margin-block-start:3px}
.form-status{border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);font-size:var(--fs-sm);margin-block-start:var(--s-3)}
.form-status[hidden]{display:none}
.form-status--ok{background:var(--success-bg);color:var(--success-fg);border:var(--bw) solid var(--success-border)}
.form-status--err{background:var(--danger-bg);color:var(--danger-fg);border:var(--bw) solid var(--danger-border)}
.form-card{max-width:640px;margin-inline:auto;background:var(--surface-1);border:var(--bw) solid var(--border-subtle);border-radius:var(--r-md);padding:var(--s-6)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s-4)}
.hp{position:absolute;left:-9999px}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}.form-card{padding:var(--s-5)}}
.search-dialog{position:fixed;inset:0;z-index:var(--z-modal);background:var(--scrim);display:flex;justify-content:center;align-items:flex-start;padding:10vh var(--gutter) 0}
.search-dialog[hidden]{display:none}
.search-dialog__panel{width:min(680px,100%);background:var(--surface-1);border:var(--bw) solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--elev-3);overflow:hidden}
.search-dialog__field{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:var(--bw) solid var(--border-subtle)}
.search-dialog__field svg{width:20px;height:20px;color:var(--text-faint);flex:none}
.search-dialog__field input{flex:1;border:0;background:transparent;min-height:44px;font-size:max(16px,var(--fs-md));outline:none}
.search-results{list-style:none;margin:0;padding:var(--s-2);max-height:60vh;overflow-y:auto}
.search-results a{display:block;padding:var(--s-3);border-radius:var(--r-sm);text-decoration:none;color:var(--text)}
.search-results a:hover,.search-results a[aria-selected="true"]{background:var(--surface-2)}
.search-results strong{display:block;font-size:var(--fs-sm)}
.search-results span{display:block;font-size:var(--fs-xs);color:var(--text-muted)}
.search-results mark{background:var(--band-tint);color:var(--primary-ink);border-radius:2px}
.search-empty{padding:var(--s-5);color:var(--text-muted);font-size:var(--fs-sm);text-align:center}
.search-hint{display:flex;justify-content:space-between;padding:var(--s-2) var(--s-4);border-top:var(--bw) solid var(--border-subtle);font-size:var(--fs-xs);color:var(--text-faint)}
.search-page form{display:grid;grid-template-columns:1fr auto;gap:var(--s-2);margin-block:var(--s-5)}
.search-page .search-results{padding:0;max-height:none}
.search-page .search-results a{border-bottom:var(--bw) solid var(--border-subtle);border-radius:0;padding-inline:0}
.calc{display:grid;grid-template-columns:1fr 1fr;border:var(--bw) solid var(--border-strong);border-radius:var(--r-md);overflow:hidden;background:var(--surface-1)}
.calc__form{padding:var(--s-5);border-inline-end:var(--bw) solid var(--border-subtle)}
.calc__result{padding:var(--s-5);background:var(--band-tint)}
.calc__result h2,.calc__form h2{font-size:var(--fs-md);margin-block-end:var(--s-4)}
.calc__big{font-family:var(--font-head);font-size:var(--fs-h2);font-weight:700;color:var(--primary-ink);font-variant-numeric:tabular-nums;line-height:1.1}
.calc__rows{display:grid;grid-template-columns:1fr auto;gap:var(--s-2) var(--s-4);margin:var(--s-4) 0 0;font-size:var(--fs-sm)}
.calc__rows dt{color:var(--text-muted)}
.calc__rows dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600;text-align:end}
.calc__note{font-size:var(--fs-xs);color:var(--text-faint);margin-block-start:var(--s-4)}
.calc noscript p{font-size:var(--fs-sm);color:var(--text-muted)}
@media (max-width:768px){.calc{grid-template-columns:1fr}.calc__form{border-inline-end:0;border-bottom:var(--bw) solid var(--border-subtle)}}
.toast{position:fixed;left:50%;bottom:calc(var(--s-5) + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:var(--z-toast);background:var(--text);color:var(--bg);
  padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-sm);box-shadow:var(--elev-2)}
.toast[hidden]{display:none}
.tooltip{position:relative;border-bottom:var(--bw) dotted var(--text-faint);cursor:help}
.tooltip__body{position:absolute;bottom:calc(100% + 6px);left:0;width:max-content;max-width:260px;background:var(--surface-3);color:var(--text);padding:var(--s-2) var(--s-3);
  border-radius:var(--r-sm);font-size:var(--fs-xs);box-shadow:var(--elev-2);opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease-out)}
.tooltip:hover .tooltip__body,.tooltip:focus .tooltip__body{opacity:1}
.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;border-radius:var(--r-sm);min-height:1em;animation:shimmer 1.4s infinite linear}
@keyframes shimmer{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}
.site-footer{background:var(--surface-1);border-top:var(--bw) solid var(--border-subtle);padding-block:var(--s-8) var(--s-6);margin-block-start:0;font-size:var(--fs-sm)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:var(--s-6)}
.site-footer h2{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-block-end:var(--s-3)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li a{display:inline-flex;align-items:center;min-height:36px;color:var(--text-muted);text-decoration:none}
.site-footer li a:hover{color:var(--primary-ink)}
.site-footer__about p{color:var(--text-muted);max-width:34ch;margin-block-start:var(--s-3)}
.site-footer__risk{margin-block-start:var(--s-7);padding:var(--s-4) var(--s-5);border:var(--bw) solid var(--warning-border);background:var(--warning-bg);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-xs);line-height:1.6}
.site-footer__risk strong{color:var(--warning-fg)}
.site-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);margin-block-start:var(--s-5);color:var(--text-faint);font-size:var(--fs-xs)}
@media (max-width:1023px){.site-footer__grid{grid-template-columns:repeat(2,1fr)}.site-footer__about{grid-column:1 / -1}}
@media (max-width:480px){.site-footer__grid{grid-template-columns:1fr 1fr}}
.notfound{text-align:center;padding-block:var(--s-9)}
.notfound__code{font-family:var(--font-mono);font-size:var(--fs-display);color:var(--primary-ink);line-height:1}
.notfound form{max-width:520px;margin:var(--s-5) auto;display:grid;grid-template-columns:1fr auto;gap:var(--s-2)}
@media (max-width:640px){.notfound form{grid-template-columns:1fr}}
.sg-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s-3)}
.sg-swatch{border:var(--bw) solid var(--border-subtle);border-radius:var(--r-sm);overflow:hidden;font-size:var(--fs-xs)}
.sg-swatch div:first-child{height:56px}
.sg-swatch div:last-child{padding:var(--s-2)}
.sg-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;margin-block:var(--s-4)}
.sg-section{padding-block:var(--s-6);border-bottom:var(--bw) solid var(--border-subtle)}
.sg-space{display:flex;align-items:flex-end;gap:var(--s-3)}
.sg-space div{background:var(--primary);width:16px}
.form-status--warn{background:var(--warning-bg);color:var(--warning-fg);border:var(--bw) solid var(--warning-border)}
