:root{
  --fd-ink:#15171C;
  --fd-ink-2:#1B1E24;
  --fd-ink-3:#23262E;
  --fd-line:#2A2D35; /* decorative grid/dividers only */
  --fd-line-strong:#6A7280; /* input borders, focusable controls: 3.7:1 on ink, 3.44:1 on ink-2 (WCAG 1.4.11 needs ≥3:1) */
  --fd-bone:#F2EEE6;
  --fd-vellum:#E6DFD2;
  --fd-slate:#5B6470;
  --fd-muted:#8A919C;
  --fd-brass:#B08D57;
  --fd-signal:#C8FF3D;
  --fd-ember:#FF6A3D;
  --fd-up:#3DDC97;
  --fd-down:#FF5C6C;
  --fd-warn:#FFB547;
  --fd-ok:#5AC8FA;
  --fd-live:#FF6A3D;
  --fd-font-display:'Archivo',system-ui,sans-serif; /* use font-stretch:125% (Expanded) */
  --fd-font-ui:'IBM Plex Sans',system-ui,sans-serif;
  --fd-font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --fd-font-mark:'Cormorant Garamond',serif; /* logo only, never UI */
  --fd-fs-display-xl:clamp(48px,6vw,96px); --fd-fs-display-l:clamp(36px,4vw,64px); --fd-fs-h2:clamp(28px,3vw,44px); --fd-fs-h3:22px;
  --fd-fs-body:15px; --fd-fs-small:13px; --fd-fs-mono-xl:40px; --fd-fs-mono-l:24px; --fd-fs-mono:13px; --fd-fs-label:11px;
  --fd-radius:10px; --fd-radius-s:6px; --fd-grid:64px;
  --fd-ease:cubic-bezier(.2,.7,.1,1);
  --fd-ease-viscous:cubic-bezier(.65,0,.15,1); --fd-ease-melt:cubic-bezier(.33,0,.1,1); --fd-ease-surface:cubic-bezier(.2,.8,.2,1);
  --fd-spring-k:.06; --fd-spring-damp:.82; /* per-frame spring at 60fps: v=v*damp+(goal-x)*k; x+=v */
  --fd-dur-tick:600ms; --fd-dur-dip:520ms; --fd-dur-melt:900ms; --fd-dur-pool:14s; --fd-dur-fast:160ms; --fd-dur:320ms;
}
@media (prefers-reduced-motion:reduce){:root{--fd-dur-fast:0ms;--fd-dur:0ms}}
