:root{
  --color-bg:#14151A;
  --color-bg-rgb:20,21,26;
  --color-ink-deep:#0F1013;
  --color-surface:#1A1B20;
  --color-surface-2:#212228;
  --color-block:#303138;
  --color-line:#2A2B31;
  --color-line-strong:#3E3F46;
  --color-overlay:rgba(10,11,13,.72);
  --color-scrim:rgba(10,11,13,.6);
  --color-field:#212228;
  --color-ink:#EFEDE8;
  --color-ink-2:#8B8B85;
  --color-dim:#61625F;
  --color-brand:#FF4D00;
  --color-brand-strong:#E64500;
  --color-brand-ink:#C43B00;
  --color-brand-soft:rgba(255,77,0,.10);
  --color-glow:rgba(255,77,0,.15);
  --color-brand-line:rgba(255,77,0,.65);
  --color-on-brand:#101114;
  --color-success:#35C77B;
  --color-success-soft:rgba(53,199,123,.14);
  --color-success-line:rgba(53,199,123,.4);
  --color-warning:#FFB224;
  --color-warning-soft:rgba(255,178,36,.14);
  --color-warning-line:rgba(255,178,36,.4);
  --color-error:#FF5C5C;
  --color-error-soft:rgba(255,92,92,.14);
  --color-error-line:rgba(255,92,92,.4);
  --color-focus:var(--color-ink);
  --color-paper:#FAF9F5;
  --color-paper-ink:#171713;
  --color-paper-muted:#61615A;
  --color-paper-line:rgba(23,23,19,.12);
  --font-display:'Archivo','Heebo',sans-serif;
  --font-body:'Heebo',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --text-h1:clamp(40px,5.2vw,66px);
  --text-display:clamp(34px,4.6vw,58px);
  --text-h2:clamp(26px,3vw,36px);
  --text-h3:22px;
  --text-h4:16.5px;
  --text-lede:17px;
  --text-body:16px;
  --text-small:13.5px;
  --text-note:12.5px;
  --text-spec:10.5px;
  --text-spec-lg:12px;
  --weight-regular:400;
  --weight-medium:500;
  --weight-bold:700;
  --weight-heavy:800;
  --weight-black:900;
  --leading-tight:1.05;
  --leading-snug:1.3;
  --leading-normal:1.65;
  --ls-display:-0.02em;
  --ls-mono-tight:.06em;
  --ls-spec:.16em;
  --ls-spec-wide:.22em;
  --ls-wordmark:.26em;
  --space-1:4px; --space-2:8px; --space-3:16px; --space-4:24px;
  --space-5:32px; --space-6:48px; --space-7:64px; --space-8:96px;
  /* Component interiors, by role — spec 2.8. The rhythm scale above is ordinal and
     406 references read it by position, so it cannot take a step at 12px; and a
     control's padding is derived from --tap-min and a type scale that carries half
     pixels, so it was never a 4px-grid value. */
  --pad-badge:4px 10px; --pad-control:8px 16px;
  --pad-field:11px 14px; --pad-panel:12px 16px;
  --pad-pill:11px 20px; --pad-pill-sm:9px 16px; --pad-pill-lg:15px 32px;
  /* Two roles the vocabulary was missing, each an alias and not a new number: a button
     the size of a badge, and the header strip of a table or a boxed panel. They were
     deferred in design-system.md §2.8א precisely because their value already matched a
     token whose name describes something else, so restating the measurement here would
     put the same number in two places. Change the source, and the role follows. */
  --pad-button-xs:var(--pad-badge);
  --pad-head:var(--pad-pill); --pad-head-sm:var(--pad-pill-sm);
  --gap-inline:8px; --gap-items:12px;
  --radius-sm:8px; --radius-md:12px; --radius-card:14px;
  --radius-lg:16px; --radius-phone:40px; --radius-pill:999px;
  --shadow-object:0 14px 34px rgba(0,0,0,.5);
  --shadow-stage:0 30px 80px rgba(0,0,0,.55);
  --motion-fast:150ms; --motion-tilt:180ms; --motion-base:200ms;
  --motion-mid:250ms; --motion-slow:400ms; --motion-assemble:1s;
  --ease:cubic-bezier(.2,0,0,1);
  --ease-out:cubic-bezier(0,0,.2,1);
  --ease-spring:cubic-bezier(.2,.8,.2,1);
  --check-ink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.6 6.4 11.4 12.5 5' fill='none' stroke='%23101114' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --check-bone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.6 6.4 11.4 12.5 5' fill='none' stroke='%23EFEDE8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --container:1180px; --container-wide:1200px; --tap-min:44px;
}
@media (prefers-reduced-motion:reduce){
  :root{--motion-fast:1ms;--motion-tilt:1ms;--motion-base:1ms;
        --motion-mid:1ms;--motion-slow:1ms;--motion-assemble:1ms}
  *,::before,::after{
    animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
