/* IEDCO tokens v1.0 (kit v1.5) - generated from iedco.tokens.json. Do not edit by hand.
   Status: primitives from the approved spec; dark theme, type scale and spacing approved Oct 19, 2026; LIGHT theme still PROPOSED. */
:root {
  --iedco-color-red-500: #EF4444;
  --iedco-color-edition-react-accent: #EF4444;
  --iedco-color-edition-react-leave: #A04760;
  --iedco-color-edition-angular-accent: #19B3CF;
  --iedco-color-edition-angular-arrive: #17A6C0;
  --iedco-color-edition-angular-leave: #126B94;
  --iedco-color-edition-waiting: #B8B8B3;
  --iedco-color-neutral-0: #000000;
  --iedco-color-neutral-25: #040404;
  --iedco-color-neutral-30: #050505;
  --iedco-color-neutral-35: #060606;
  --iedco-color-neutral-80: #141414;
  --iedco-color-neutral-150: #262626;
  --iedco-color-neutral-165: #2A2A2A;
  --iedco-color-neutral-200: #333333;
  --iedco-color-neutral-300: #4D4D4D;
  --iedco-color-neutral-480: #5E5E59;
  --iedco-color-neutral-560: #7A7A75;
  --iedco-color-neutral-720: #B8B8B3;
  --iedco-color-neutral-840: #D6D6D2;
  --iedco-color-neutral-880: #E4E4E0;
  --iedco-color-neutral-960: #F5F5F3;
  --iedco-color-neutral-1000: #FFFFFF;
  --iedco-color-status-green-400: #4ADE80;
  --iedco-color-status-green-800: #166534;
  --iedco-color-status-amber-400: #FBBF24;
  --iedco-color-status-amber-800: #92400E;
  --iedco-color-status-rose-400: #FB7185;
  --iedco-color-status-rose-700: #BE123C;
  --iedco-color-status-blue-300: #93C5FD;
  --iedco-color-status-blue-700: #1D4ED8;
  --iedco-gradient-background: radial-gradient(120% 90% at 0% 0%, #2A2A2A 0%, #141414 42%, #060606 78%, #040404 100%);
  --iedco-font-family-display: Raleway, "Helvetica Neue", Arial, sans-serif;
  --iedco-font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --iedco-font-weight-medium: 500;
  --iedco-font-weight-semibold: 600;
  --iedco-font-weight-extrabold: 800;
  --iedco-radius-frame: 8px;
  --iedco-radius-control: 6px;
  --iedco-radius-pill: 999px;
  --iedco-space-4: 4px;
  --iedco-space-8: 8px;
  --iedco-space-12: 12px;
  --iedco-space-16: 16px;
  --iedco-space-24: 24px;
  --iedco-space-32: 32px;
  --iedco-space-40: 40px;
  --iedco-space-56: 56px;
  --iedco-space-80: 80px;
  --iedco-space-120: 120px;
}

/* Dark is the IEDCO default (approved). */
:root, [data-theme="dark"] {
  color-scheme: dark;
  --iedco-surface-canvas: var(--iedco-color-neutral-25);
  --iedco-surface-default: var(--iedco-color-neutral-35);
  --iedco-surface-raised: var(--iedco-color-neutral-80);
  --iedco-surface-overlay: var(--iedco-color-neutral-165);
  --iedco-text-primary: var(--iedco-color-neutral-960);
  --iedco-text-body: var(--iedco-color-neutral-840);
  --iedco-text-meta: var(--iedco-color-neutral-720);
  --iedco-text-disabled: var(--iedco-color-neutral-300);
  --iedco-text-link: var(--iedco-color-neutral-960);
  --iedco-border-subtle: rgba(255,255,255,0.12);
  --iedco-border-strong: rgba(255,255,255,0.16);
  --iedco-border-control: var(--iedco-color-neutral-560);
  --iedco-focus-ring: var(--iedco-color-neutral-960);
  --iedco-accent-brand: var(--iedco-color-red-500);
  --iedco-status-success: var(--iedco-color-status-green-400);
  --iedco-status-warning: var(--iedco-color-status-amber-400);
  --iedco-status-danger: var(--iedco-color-status-rose-400);
  --iedco-status-info: var(--iedco-color-status-blue-300);
}
/* Light theme: PROPOSED, not approved. */
[data-theme="light"] {
  color-scheme: light;
  --iedco-surface-canvas: var(--iedco-color-neutral-960);
  --iedco-surface-default: var(--iedco-color-neutral-1000);
  --iedco-surface-raised: var(--iedco-color-neutral-1000);
  --iedco-surface-overlay: var(--iedco-color-neutral-880);
  --iedco-text-primary: var(--iedco-color-neutral-80);
  --iedco-text-body: var(--iedco-color-neutral-200);
  --iedco-text-meta: var(--iedco-color-neutral-480);
  --iedco-text-disabled: var(--iedco-color-neutral-720);
  --iedco-text-link: var(--iedco-color-neutral-80);
  --iedco-border-subtle: rgba(0,0,0,0.10);
  --iedco-border-strong: rgba(0,0,0,0.16);
  --iedco-border-control: var(--iedco-color-neutral-480);
  --iedco-focus-ring: var(--iedco-color-neutral-80);
  --iedco-accent-brand: var(--iedco-color-red-500);
  --iedco-status-success: var(--iedco-color-status-green-800);
  --iedco-status-warning: var(--iedco-color-status-amber-800);
  --iedco-status-danger: var(--iedco-color-status-rose-700);
  --iedco-status-info: var(--iedco-color-status-blue-700);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --iedco-surface-canvas: var(--iedco-color-neutral-960);
    --iedco-surface-default: var(--iedco-color-neutral-1000);
    --iedco-surface-raised: var(--iedco-color-neutral-1000);
    --iedco-surface-overlay: var(--iedco-color-neutral-880);
    --iedco-text-primary: var(--iedco-color-neutral-80);
    --iedco-text-body: var(--iedco-color-neutral-200);
    --iedco-text-meta: var(--iedco-color-neutral-480);
    --iedco-text-disabled: var(--iedco-color-neutral-720);
    --iedco-text-link: var(--iedco-color-neutral-80);
    --iedco-border-subtle: rgba(0,0,0,0.10);
    --iedco-border-strong: rgba(0,0,0,0.16);
    --iedco-border-control: var(--iedco-color-neutral-480);
    --iedco-focus-ring: var(--iedco-color-neutral-80);
    --iedco-accent-brand: var(--iedco-color-red-500);
    --iedco-status-success: var(--iedco-color-status-green-800);
    --iedco-status-warning: var(--iedco-color-status-amber-800);
    --iedco-status-danger: var(--iedco-color-status-rose-700);
    --iedco-status-info: var(--iedco-color-status-blue-700);
  }
}

/* Type roles (approved, D7). Fluid between 360 px and 1280 px viewports. */
.iedco-display {
  font-family: var(--iedco-font-family-display);
  font-weight: 800;
  font-size: clamp(48px, calc(48px + 38 * (100vw - 360px) / 920), 86px);
  line-height: 0.95;
  letter-spacing: -0.02em;
}
.iedco-h1 {
  font-family: var(--iedco-font-family-display);
  font-weight: 800;
  font-size: clamp(32px, calc(32px + 12 * (100vw - 360px) / 920), 44px);
  line-height: 1.02;
  letter-spacing: -0.015em;
}
.iedco-h2 {
  font-family: var(--iedco-font-family-display);
  font-weight: 800;
  font-size: clamp(24px, calc(24px + 6 * (100vw - 360px) / 920), 30px);
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.iedco-h3 {
  font-family: var(--iedco-font-family-display);
  font-weight: 800;
  font-size: clamp(19px, calc(19px + 3 * (100vw - 360px) / 920), 22px);
  line-height: 1.2;
  letter-spacing: -0.005em;
}
.iedco-lead {
  font-family: var(--iedco-font-family-display);
  font-weight: 500;
  font-size: clamp(18px, calc(18px + 3 * (100vw - 360px) / 920), 21px);
  line-height: 1.5;
  letter-spacing: 0em;
}
.iedco-body {
  font-family: var(--iedco-font-family-display);
  font-weight: 500;
  font-size: clamp(16px, calc(16px + 3 * (100vw - 360px) / 920), 19px);
  line-height: 1.5;
  letter-spacing: 0em;
}
.iedco-small {
  font-family: var(--iedco-font-family-display);
  font-weight: 500;
  font-size: clamp(14px, calc(14px + 1 * (100vw - 360px) / 920), 15px);
  line-height: 1.45;
  letter-spacing: 0em;
}
.iedco-label {
  font-family: var(--iedco-font-family-mono);
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.iedco-meta {
  font-family: var(--iedco-font-family-mono);
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

:focus-visible { outline: 2px solid var(--iedco-focus-ring); outline-offset: 2px; }
a { color: var(--iedco-text-link); text-decoration: underline; text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
