
@font-face{font-family:"Sora";src:url(/assets/fonts/sora-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Sora";src:url(/assets/fonts/sora-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Figtree";src:url(/assets/fonts/figtree-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(/assets/fonts/figtree-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Figtree";src:url(/assets/fonts/figtree-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:"Figtree Fallback";src:local("Arial"),local("Helvetica");size-adjust:100%;ascent-override:95%;descent-override:25%;line-gap-override:0%}
@font-face{font-family:"Sora Fallback";src:local("Arial"),local("Helvetica");size-adjust:111%;ascent-override:87%;descent-override:26%;line-gap-override:0%}
:root{
  --primary-50:#E9FCF4;--primary-100:#CFF7E6;--primary-200:#A4EFCE;--primary-300:#76E5B5;--primary-400:#49D498;
  --primary-500:#27BE7D;--primary-600:#1E9964;--primary-700:#17784E;--primary-800:#115A3A;--primary-900:#0C3B27;
  --neutral-0:#FFFFFF;--neutral-50:#F3F6F9;--neutral-100:#E0E6EB;--neutral-200:#C9D2DC;--neutral-300:#A9B7C6;--neutral-400:#8F9DAE;
  --neutral-500:#6A7A8C;--neutral-600:#4F6072;--neutral-700:#405064;--neutral-800:#23303E;--neutral-850:#1C2733;--neutral-900:#161F2A;--neutral-950:#0F1720;
  --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:"Sora","Sora Fallback",system-ui,sans-serif;
  --font-body:"Figtree","Figtree Fallback",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --fs-xs:0.85rem;--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.2rem,1.5rem + 3vw,3.9rem);
  --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;--t-chain:700ms;
  --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:#131B25;--band-tint:#122121;
  --text:#E8EDF3;--text-muted:var(--neutral-300);--text-faint:var(--neutral-400);--text-on-primary:var(--neutral-950);
  --border-subtle:#283543;--border-strong:var(--neutral-700);
  --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(73,212,152,.06);--contour-strong:rgba(73,212,152,.14);
  --scrim:rgba(8,12,17,.72);
  --shadow-color:0 0% 0%;
  --elev-0:none;--elev-1:none;--elev-2:none;--elev-3:none;
  --img-filter:saturate(.7) contrast(1.04) brightness(.9);
  --chart-1:var(--primary-400);--chart-2:var(--accent-500);--chart-3:#8FD0FF;--chart-grid:#283543;
  --block-face:var(--neutral-900);--block-top:#1F3A36;--block-side:#0B1118;--block-new:var(--primary-400);
  --gauge-track:#2C3A4A;--gauge-fill:var(--primary-400);--gauge-fill-2:var(--accent-500);
  --hero-veil:linear-gradient(90deg,rgba(15,23,32,.97) 0%,rgba(15,23,32,.9) 46%,rgba(15,23,32,.55) 100%);
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:var(--neutral-50);--surface-1:var(--neutral-0);--surface-2:#EAEEF3;--surface-3:var(--neutral-100);
  --band-alt:#E7ECF0;--band-tint:#E5F5F0;
  --text:#0E1620;--text-muted:#425367;--text-faint:var(--neutral-600);--text-on-primary:var(--neutral-950);
  --border-subtle:#D3DBE3;--border-strong:#93A2B3;
  --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(17,90,58,.06);--contour-strong:rgba(17,90,58,.14);
  --scrim:rgba(14,22,32,.55);
  --elev-0:none;--elev-1:none;--elev-2:none;--elev-3:none;
  --img-filter:saturate(.85) contrast(1.02);
  --chart-1:var(--primary-700);--chart-2:var(--accent-700);--chart-3:var(--blue-700);--chart-grid:#D3DBE3;
  --block-face:var(--neutral-0);--block-top:#CDEFE2;--block-side:#C9D2DC;--block-new:var(--primary-600);
  --gauge-track:#DCE3EA;--gauge-fill:var(--primary-600);--gauge-fill-2:var(--accent-700);
  --hero-veil:linear-gradient(90deg,rgba(243,246,249,.97) 0%,rgba(243,246,249,.92) 46%,rgba(243,246,249,.62) 100%);
}
@media (max-width:640px){:root{--gutter:16px}}
@media (prefers-reduced-motion:reduce){:root{--t-fast:0ms;--t-base:0ms;--t-slow:0ms;--t-chain: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{display:none}
.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:none}
.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);padding:10px var(--gutter) 0;pointer-events:none;view-transition-name:site-header}
.site-header__bar{display:flex;align-items:center;gap:var(--s-4);min-height:60px;max-width:var(--container);margin-inline:auto;
  padding-inline:var(--s-3) var(--s-2);pointer-events:auto;background:var(--surface-1);border:var(--bw) solid var(--border-strong);
  border-radius:var(--r-pill);box-shadow:var(--elev-1);transition:box-shadow var(--t-base) var(--ease-out)}
.site-header.is-scrolled .site-header__bar{box-shadow:var(--elev-2)}
.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}
.site-header .brand{padding-inline:var(--s-1)}
.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:2px;list-style:none;margin:0;padding:0}
.nav__link,.nav__trigger{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding-inline:var(--s-4);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"],.nav__trigger.is-current{background:var(--primary);color:var(--text-on-primary)}
.nav__link[aria-current="page"]:hover,.nav__trigger.is-current:hover,.nav__trigger.is-current[aria-expanded="true"]{background:var(--primary);color:var(--text-on-primary)}
.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-head);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;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:none}
.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-2);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-2);border-radius:var(--r-pill);
  border:0;background:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);text-decoration:none}
.search-trigger:hover{color:var(--text);background:var(--surface-2)}
.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}
@media (max-width:640px){.site-header{padding:8px 12px 0}.site-header__bar{min-height:56px;padding-inline:var(--s-2) 6px;gap:var(--s-2)}.site-header .brand svg{height:28px}.header-tools{gap:6px}}
.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:none;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:1rem;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:none}
.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:none;
  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-body);font-size:var(--fs-xs);color:var(--text-faint)}
.mcard{flex:0 0 280px;display:flex;flex-direction:column;background:var(--surface-1);border:none;border-radius:var(--r-md);overflow:hidden;transition:background var(--t-base) var(--ease-out)}
.mcard:hover{border-color:var(--primary)}
.mcard__chart{padding:var(--s-4);background:var(--surface-2);display:grid;place-items:center;min-height:120px;border-bottom:none}
.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:1rem;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:none;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:0 0 280px;display:flex;flex-direction:column;background:var(--surface-1);border:none;border-radius:var(--r-md);overflow:hidden;transition:background var(--t-base) var(--ease-out)}.card--feature{grid-template-columns:1fr;gap:var(--s-4)}}
@media (max-width:640px){.mcard{flex:0 0 280px;display:flex;flex-direction:column;background:var(--surface-1);border:none;border-radius:var(--r-md);overflow:hidden;transition:background var(--t-base) var(--ease-out)}.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:none;border-radius:var(--r-md);box-shadow:none;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-sm);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-body);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-sm);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-body);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;color:var(--text-muted)}
.layer{display:grid;grid-template-columns:1fr 2fr;gap:var(--s-4)}
.layer__col{background:var(--surface-1);border:none;border-radius:var(--r-md);overflow:hidden}
.layer__tag{padding:var(--s-2) var(--s-4);font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;
  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:none}
.layer__part h3{font-size:var(--fs-md);margin-block-end:var(--s-2)}
.layer__part > p{font-size:1rem;color:var(--text-muted)}
.layer__part ul{list-style:none;margin:var(--s-4) 0 0;padding:var(--s-4) 0 0;border-top:none;font-size:var(--fs-sm)}
.layer__part li{padding-block:1px}
.layer__part li a{font-weight:600;display:inline-block;padding-block:3px}
.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-sm);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-body);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:none;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:none;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;display:inline-block;padding-block:2px}
.path h3 a::after{content:"";position:absolute;inset:0}
.path p{font-size:1rem;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:1rem;color:var(--text-muted);margin:0}
.product{position:relative;display:flex;flex-direction:column;background:var(--surface-1);border:none;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:1rem;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:none}
  .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:none;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}
@media (min-width:641px) and (max-width:1023px){.features > .feature:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - var(--s-6) / 2)}}
@media (min-width:1024px){
  .band > .wrap:has(> .form-card){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,640px);column-gap:var(--s-8);align-items:start}
  .band > .wrap:has(> .form-card) > .band__head{text-align:start;margin:0;max-width:none}
  .band > .wrap:has(> .form-card) > .form-card{margin:0;max-width: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)}
.post__body > :is(p,ul,ol,h2,h3,h4,blockquote){max-width:37em}
.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;display:inline-block;min-width:24px;min-height:24px;text-align:center}
.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:6px 5px}
.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-body);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;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:none;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:none;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;display:inline-block;padding-block:3px}
.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:none}
.figure figcaption{font-size:var(--fs-sm);color:var(--text-muted);margin-block-start:var(--s-2)}
.diagram{background:var(--surface-1);border:none;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:none;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:none;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:none;display:flex;flex-direction:column;gap:var(--s-3)}
.faq details{border:none;background:var(--surface-1);border-radius:var(--r-md);padding-inline:var(--s-5)}
.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:13.5px}
.dg-num{fill:var(--primary-ink);font-family:var(--font-mono);font-size:13.5px}
.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}}
@media (max-width:640px){.byline__i.byline__meta{white-space:normal;min-width:0}.byline__meta > span{white-space:nowrap}}
@media (max-width:360px){.byline__i.byline__meta{padding-inline-start:0}}
.steps strong a{padding-block:3px}
td a{padding-block:4px}
.credit .cite a{padding:8px 6px}
.post__toch{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)}
@media (min-width:1181px){
  .post__cols.has-toc{display:grid;grid-template-columns:minmax(0,var(--container-narrow)) 220px;column-gap:60px;justify-content:center;max-width:1040px;margin-inline:auto}
  .post__cols.has-toc > .post__body{max-width:none;margin-inline:0}
  .post__cols.has-toc .otp{display:none}
  .post__cols.has-toc .figure--wide{margin-inline:0}
  .post__toc{margin-block-start:var(--s-7);max-height:calc(100vh - 116px);overflow-y:auto;overscroll-behavior:contain}
  .post:has(.post__cols.has-toc) .post__head{max-width:1040px}
  .post:has(.post__cols.has-toc) .post__head > *{max-width:var(--container-narrow)}
}
.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:none;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-head);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;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:none;background:var(--warning-bg);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-xs);line-height:1.6}
.site-footer__risk a{padding-block:4px}
.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)}
main h1:not(#home-h1){view-transition-name:vt-headline}
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
  ::view-transition-group(vt-headline){animation-duration:.38s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
  ::view-transition-old(vt-headline),::view-transition-new(vt-headline){block-size:100%;inline-size:auto;object-fit:none;object-position:left top}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important} 
}
.intro{position:relative;overflow:hidden;padding-block:var(--s-7) var(--s-6);border-bottom:none}
.intro__wrap{position:relative;z-index:1}
.intro h1{font-size:var(--fs-display);max-width:20ch;margin-block:var(--s-3) var(--s-4)}
.intro .hero__lede{max-width:54ch}
.intro__cta{margin-block-start:var(--s-5)}
.intro__search{margin-block-start:var(--s-5);max-width:540px}
.intro__search form{display:flex;gap:var(--s-2)}
.intro__search input{flex:1;min-width:0}
.intro__search .btn{flex:none}
.intro__photo{display:none}
@media (min-width:1024px){
  .intro{padding-block:var(--s-7)}
  .intro__photo{display:block;position:absolute;inset-block:0;inset-inline-end:0;width:min(50%,720px)}
  .intro__photo img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter) saturate(.55)}
  .intro__photo::after{content:"";position:absolute;inset:0;background:var(--hero-veil)}
}
@media (max-width:640px){.intro{padding-block:var(--s-5) var(--s-5)}.intro__search{display:none}.intro .btn--lg{width:100%;min-height:52px}.intro__cta{margin-block-start:var(--s-4)}}
.chain{position:relative;padding-block:var(--s-6) var(--s-6);background:var(--surface-1);border-bottom:none}
.chain__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-3) var(--s-5);margin-block-end:var(--s-4)}
.chain__title h2{font-size:var(--fs-h3);font-weight:700;margin:var(--s-1) 0 0}
.chain__side{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}
.chain__status{display:inline-flex;align-items:center;gap:var(--s-2);min-height:36px;margin:0;padding:6px var(--s-3);border-radius:var(--r-pill);
  border:none;background:var(--surface-2);font-size:var(--fs-sm);color:var(--text-muted)}
.chain__dot{flex:none;width:9px;height:9px;border-radius:var(--r-pill);background:var(--text-faint)}
.chain.is-live .chain__dot{background:var(--primary)}
.chain.is-error .chain__dot{background:var(--danger-fg)}
.chain__retry[hidden]{display:none}
.chain__nav{display:flex;gap:var(--s-2)}
.chain__nav .icon-btn[disabled]{opacity:.45;cursor:default}
.chain__rail{position:relative}
.chain__rail::before{content:"";position:absolute;inset-inline:0;bottom:14px;border-top:var(--bw-strong) solid var(--surface-2);pointer-events:none}
.chain__track{display:flex;gap:30px;list-style:none;margin:0;padding:var(--s-3) 10px var(--s-6) 2px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;cursor:grab}
.chain__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.chain__track:focus-visible{outline:var(--bw-strong) solid var(--focus-ring);outline-offset:4px;border-radius:var(--r-md)}
.blk{position:relative;flex:0 0 224px;height:196px;scroll-snap-align:end}
.blk + .blk::before{content:"";position:absolute;inset-inline-start:-31px;top:50%;width:30px;border-top:var(--bw-strong) solid var(--border-strong)}
.blk--ghost{border:none;background:var(--surface-2);border-radius:14px}
.blk__card{position:relative;height:100%;display:flex;flex-direction:column;gap:6px;padding:var(--s-4) var(--s-4) var(--s-3);
  background:var(--block-face);border:none;border-radius:14px;box-shadow:none;overflow:hidden}
.blk__top{position:absolute;inset-inline:0;top:0;height:6px;background:var(--block-top);border-radius:14px 14px 0 0}
.blk--tip .blk__card{border-color:var(--block-new)}
.blk--tip .blk__top{background:var(--block-new)}
.blk__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2)}
.blk__h{margin:0;font-family:var(--font-body);font-size:1.2rem;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.blk__badge{flex:none;font-size:var(--fs-xs);font-weight:600;line-height:1;padding:5px 8px;border-radius:var(--r-pill);background:var(--primary);color:var(--text-on-primary)}
.blk__t{margin:0;font-size:var(--fs-sm);color:var(--text-muted)}
.blk__dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2);margin:6px 0 0}
.blk__dl dt{font-size:var(--fs-xs);color:var(--text-faint)}
.blk__dl dd{margin:0;font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.blk__dl dd small{font-family:var(--font-body);font-weight:600;font-size:var(--fs-xs);color:var(--text-muted)}
.blk__fill{margin-block-start:auto}
.blk__w{margin:4px 0 0;font-size:var(--fs-xs);color:var(--text-faint)}
.blk--enter{animation:blk-in var(--t-chain) var(--ease-out) both}
@keyframes blk-in{from{transform:translateX(110%);opacity:0}to{transform:none;opacity:1}}
.chain__nojs{display:none;margin:var(--s-3) 0 0;color:var(--text-muted)}
.no-js .chain__nojs{display:block}
.no-js .chain__status,.no-js .chain__nav{display:none}
.chain__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);margin-block-start:var(--s-2)}
.chain__legend-h{margin:0;font-size:var(--fs-sm);color:var(--text-muted)}
.chain__legend{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0;padding:0}
.chain__foot .arrow-link{margin-inline-start:auto}
.gauge{display:block;height:8px;border-radius:var(--r-pill);background:var(--gauge-track);overflow:hidden}
.gauge > span{display:block;height:100%;width:calc(var(--p,0) * 100%);background:var(--gauge-fill);border-radius:inherit;transition:width var(--t-slow) var(--ease-out)}
.gauge--lg{height:12px}
.dash{padding-block:var(--s-7) var(--s-8)}
.dash__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-2) var(--s-6);margin-block-end:var(--s-5)}
.dash__head h2{margin:0}
.dash__head p{margin:0;max-width:56ch}
.dash__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.dial{position:relative;display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) var(--s-5) var(--s-5);background:var(--surface-1);border:none;border-radius:var(--r-md);transition:border-color var(--t-base) var(--ease-out)}
.dial:hover,.dial:focus-within{border-color:var(--primary)}
.dial--wide{grid-column:span 2}
.dial__t{margin:0;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;letter-spacing:0}
.dial__t a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--text-muted);text-decoration:none}
.dial__t a::before{content:"";position:absolute;inset:0;border-radius:inherit}
.dial__t a::after{content:"→";color:var(--primary-ink);transition:transform var(--t-fast) var(--ease-out)}
.dial:hover .dial__t a::after{transform:translateX(3px)}
.dial__v{margin:0;font-family:var(--font-head);font-size:clamp(1.9rem,1.5rem + 1.3vw,2.6rem);font-weight:700;line-height:1.05;color:var(--text);font-variant-numeric:tabular-nums}
.dial__v small{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);letter-spacing:0}
.dial__sub{margin:0;font-size:1rem;color:var(--text-muted)}
.dial__note{margin:auto 0 0;padding-block-start:var(--s-2);font-size:var(--fs-sm);color:var(--text-faint)}
.dial.is-na .dial__v span:first-child::after{content:" unavailable";font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;color:var(--text-faint)}
.ladder{display:grid;gap:6px;list-style:none;margin:var(--s-2) 0 0;padding:0}
.ladder li{display:grid;grid-template-columns:6.2em 1fr 3.4em;align-items:center;gap:var(--s-3);font-size:var(--fs-sm)}
.ladder__l{color:var(--text-muted)}
.ladder__v{text-align:end;font-family:var(--font-body);color:var(--text);font-variant-numeric:tabular-nums}
.mblocks{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;margin-block-start:var(--s-2)}
.mblocks i{aspect-ratio:1;border-radius:4px;background:var(--gauge-track)}
.mblocks__more{margin:0;min-height:1.5em;font-size:var(--fs-sm);color:var(--text-muted)}
.mblocks i.on{background:var(--gauge-fill)}
.mblocks i.part{background:linear-gradient(to top,var(--gauge-fill) calc(var(--p,0) * 100%),var(--gauge-track) 0)}
.spark{width:100%;height:64px;margin-block-start:var(--s-2)}
.spark path{fill:none;stroke:var(--chart-1);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.dial__split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s-5);align-items:start}
.dial__split > div{display:flex;flex-direction:column;gap:var(--s-2)}
.dial__chart{margin:0;padding:var(--s-3);border-radius:var(--r-sm);background:var(--surface-2);border:none}
.dial__chart .explorer__chart{padding:var(--s-2) 0}
.dial__chart .explorer__legend,.dial__chart .explorer__note{padding-inline:0}
.dial__cap{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:baseline;font-size:var(--fs-sm)}
.dial__cap span{color:var(--text-faint);font-size:var(--fs-xs)}
.dash__src{margin:var(--s-5) 0 0;font-size:var(--fs-sm);color:var(--text-faint)}
.dash__src a{display:inline-block;padding-block:4px}
@media (max-width:1023px){
  .dash__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dial__split{grid-template-columns:1fr}
}
@media (max-width:640px){
  .dash__grid{grid-template-columns:1fr}
  .dial--wide{grid-column:auto}
  .blk{flex-basis:216px}
  .chain__side{width:100%;justify-content:space-between}
  .chain__foot .arrow-link{margin-inline-start:0}
}
@media (prefers-reduced-motion:no-preference){
  html[data-motion] [data-rv]{transition:opacity .55s var(--ease-out),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--rv-d,0ms)}
  html[data-motion] [data-rv]:not(.is-in){opacity:0;transform:translate3d(0,18px,0)}
  .tt-trace{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}
  .tt-trace rect{fill:none;stroke:var(--primary);stroke-width:2;stroke-dasharray:100 100;stroke-dashoffset:100;transition:stroke-dashoffset .85s cubic-bezier(.65,0,.35,1)}
  :is(.card,.mcard,.path,.ap-list>li):is(:hover,:focus-within)>.tt-trace rect{stroke-dashoffset:0}
  .card__media img{transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
  .card:is(:hover,:focus-within) .card__media img{transform:scale(1.07) translate3d(-2%,0,0)}
  html.js :is(.lead-figure,.ap-article .ap-figure){overflow:clip;border-radius:var(--r-md)}
  html.js :is(.lead-figure,.ap-article .ap-figure) img{animation:tt-settle 1.2s cubic-bezier(.16,1,.3,1) both}
}
@keyframes tt-settle{from{transform:scale(1.025)}to{transform:none}}
@media print{[data-rv]{opacity:1!important;transform:none!important}.tt-trace{display:none}} 


/* ===== Taste Design: Automated Visual Slider Showcase ===== */
.slider-showcase {
  position: relative;
  background: var(--surface-1);
  border-radius: var(--r-md);
  overflow: hidden;
  margin-block: var(--s-6);
}
.slider-showcase__track {
  display: flex;
  transition: transform 0.65s var(--ease-out);
  width: 100%;
}
.slider-showcase__slide {
  flex: 0 0 100%;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  align-items: center;
  gap: var(--s-7);
  padding: var(--s-6) var(--s-7);
  min-height: 400px;
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .slider-showcase__slide {
    grid-template-columns: 1fr;
    padding: var(--s-5);
    min-height: auto;
  }
}
.slider-showcase__img-wrap {
  position: relative;
  height: 320px;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--surface-2);
}
@media (max-width: 900px) {
  .slider-showcase__img-wrap {
    height: 220px;
  }
}
.slider-showcase__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-showcase__content h3 {
  font-size: var(--fs-h2);
  margin-block-end: var(--s-3);
  line-height: 1.2;
}
.slider-showcase__content p {
  color: var(--text-muted);
  line-height: 1.6;
  margin-block-end: var(--s-5);
  max-width: 50ch;
  font-size: var(--fs-base);
}
.slider-showcase__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--s-4) var(--s-7);
  background: var(--surface-2);
  
}
.slider-showcase__dots {
  display: flex;
  gap: 10px;
  align-items: center;
}
.slider-showcase__dot {
  width: 24px;
  height: 6px;
  background: var(--neutral-600);
  border-radius: 3px;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.3s var(--ease-out);
}
.slider-showcase__dot.is-active {
  background: var(--primary);
  width: 44px;
}
.slider-showcase__arrows {
  display: flex;
  gap: var(--s-2);
}

/* ===== Taste Design: Video Explainer Feature ===== */
.video-showcase {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: var(--s-7);
  align-items: center;
  margin-block: var(--s-7);
  background: var(--surface-1);
  padding: var(--s-6);
  border-radius: var(--r-md);
}
@media (max-width: 900px) {
  .video-showcase {
    grid-template-columns: 1fr;
    gap: var(--s-5);
    padding: var(--s-4);
  }
}
.video-showcase__media {
  position: relative;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--neutral-900);
  aspect-ratio: 16/9;
}
.video-showcase__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.video-showcase__caption {
  font-size: var(--fs-xs);
  color: var(--text-faint);
  margin-block-start: var(--s-2);
}
.video-showcase__body h3 {
  font-size: var(--fs-h2);
  margin-block-end: var(--s-3);
  line-height: 1.2;
}
.video-showcase__body p {
  color: var(--text-muted);
  line-height: 1.6;
  margin-block-end: var(--s-4);
}

/* ===== Taste Design: Stagger Scroll Reveal ===== */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.55s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: opacity, transform;
}
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}


@media (max-width: 480px) {
  .intro h1 {
    font-size: 1.8rem !important;
    max-width: 100% !important;
    line-height: 1.15 !important;
    margin-block: var(--s-2) var(--s-3) !important;
  }
}
