/* Beniwal Systems — design tokens v3.0 · Structure & Thread · generated 2026-09-16
   GENERATED FILE — edit 02-brand/color-type/build_tokens.py and re-run it. Never edit this.
   LIGHT-FIRST: the ground is bone. Dark is an ASSET MODE (thumbnails, banner, video, the
   landing-page band) and is opt-in via [data-theme="dark"] — deliberately NOT wired to
   prefers-color-scheme. Four colour layers: identity · interface · status · data.
   Green and red are status only. Gold is the thread only. */

:root{
  /* type */
  --font-display:'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-text:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-data:'IBM Plex Mono', ui-monospace, Consolas, monospace;
  --text-display-size:48px;  --text-display-line:56px;  --text-display-weight:700;  --text-display-tracking:-0.01em;  --text-display-family:var(--font-display);
  --text-h1-size:38px;  --text-h1-line:46px;  --text-h1-weight:700;  --text-h1-tracking:-0.01em;  --text-h1-family:var(--font-display);
  --text-h2-size:30px;  --text-h2-line:38px;  --text-h2-weight:700;  --text-h2-tracking:-0.01em;  --text-h2-family:var(--font-display);
  --text-h3-size:24px;  --text-h3-line:32px;  --text-h3-weight:600;  --text-h3-tracking:-0.01em;  --text-h3-family:var(--font-display);
  --text-h4-size:20px;  --text-h4-line:28px;  --text-h4-weight:600;  --text-h4-tracking:0;  --text-h4-family:var(--font-display);
  --text-body-lg-size:18px;  --text-body-lg-line:30px;  --text-body-lg-weight:400;  --text-body-lg-tracking:0;  --text-body-lg-family:var(--font-text);
  --text-body-size:16px;  --text-body-line:26px;  --text-body-weight:400;  --text-body-tracking:0;  --text-body-family:var(--font-text);
  --text-small-size:14px;  --text-small-line:22px;  --text-small-weight:400;  --text-small-tracking:0;  --text-small-family:var(--font-text);
  --text-micro-size:12px;  --text-micro-line:18px;  --text-micro-weight:500;  --text-micro-tracking:0.08em;  --text-micro-family:var(--font-text);
  --text-label-size:12px;  --text-label-line:16px;  --text-label-weight:500;  --text-label-tracking:0.06em;  --text-label-family:var(--font-data);

  /* space · 4px module (the symbol's base module) */
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --space-10:128px;

  /* layout */
  --layout-max:1200px;
  --layout-text:720px;
  --layout-gutter:24px;
  --layout-pad-mobile:24px;
  --layout-pad-tablet:48px;
  --layout-pad-desktop:64px;
  --layout-section:96px;
  --layout-section-mobile:64px;

  /* form — square by default; the mark has no curves */
  --radius-0:0;
  --radius-sm:2px;
  --radius-md:4px;
  --radius-lg:8px;
  --line-hairline:1px;
  --line-rule:2px;
  --line-member:3px;
  --line-thread:4px;
  --dash-proposed:8 6;
  --dash-datum:16 4 2 4;

  /* elevation · overlays only (menus, dialogs); resting containers use a border */
  --shadow-sm:0 1px 2px rgba(15,38,69,.06);
  --shadow-md:0 4px 16px rgba(15,38,69,.08);
  --shadow-lg:0 12px 32px rgba(15,38,69,.10);

  /* motion · build, don't bounce */
  --motion-fast:120ms;
  --motion-base:200ms;
  --motion-slow:320ms;
  --motion-build:560ms;
  --motion-thread:880ms;
  --motion-stagger:60ms;
  --ease-settle:cubic-bezier(.2,.7,.3,1);
  --ease-move:cubic-bezier(.45,0,.2,1);
  --ease-exit:cubic-bezier(.4,0,1,1);

  /* colour · light (default) */
  /* interface */
  --bg:#FAFAF8;
  --surface:#FFFFFF;
  --surface-2:#EEF2F6;
  --ink:#0F2645;
  --ink-muted:#5A6B7D;
  --border:#E2E8EF;
  --border-control:#8090A3;
  --focus:#0F2645;
  --action:#0F2645;
  --action-hover:#173355;
  --action-pressed:#0A1C35;
  --action-ink:#FAFAF8;
  --link:#0F2645;
  --link-line:#8090A3;
  /* identity */
  --structure:#0F2645;
  --thread:#9C7F3C;
  --thread-tint:#F0EDE5;
  /* status — reserved meaning; always ship an icon + label */
  --success-fg:#007D4D;
  --success-fill:#007D4D;
  --success-on-fill:#FFFFFF;
  --success-tint:#E4EDE6;
  --success-line:#007D4D;
  --warning-fg:#B15100;
  --warning-fill:#FF7F22;
  --warning-on-fill:#0F2645;
  --warning-tint:#FDEFE5;
  --warning-line:#B15100;
  --critical-fg:#AD322D;
  --critical-fill:#AD322D;
  --critical-on-fill:#FFFFFF;
  --critical-tint:#F5E6E3;
  --critical-line:#AD322D;
  --info-fg:#34729B;
  --info-fill:#34729B;
  --info-on-fill:#FFFFFF;
  --info-tint:#E6ECEF;
  --info-line:#34729B;
  --neutral-fg:#5A6B7D;
  --neutral-fill:#5A6B7D;
  --neutral-on-fill:#FFFFFF;
  --neutral-tint:#EEF2F6;
  --neutral-line:#8090A3;
  /* severity — ordered ramp for risk matrices; always print the score in the cell */
  --sev-1-fill:#FFC298;
  --sev-1-ink:#0F2645;
  --sev-2-fill:#FF9460;
  --sev-2-ink:#0F2645;
  --sev-3-fill:#F25F36;
  --sev-3-ink:#0F2645;
  --sev-4-fill:#BE2323;
  --sev-4-ink:#FFFFFF;
  /* drawing — diagrams, illustration, banner linework */
  --draw-member:#0F2645;
  --draw-line:#8090A3;
  --draw-hairline:#CDD4DC;
  --draw-fill:#FFFFFF;
  /* data */
  --chart-cat-1:#176EC8;
  --chart-cat-2:#04999B;
  --chart-cat-3:#91256C;
  --chart-seq-1:#6EAEFB;
  --chart-seq-2:#5392DC;
  --chart-seq-3:#3876BE;
  --chart-seq-4:#1B5BA1;
  --chart-seq-5:#014280;
  --chart-div-1:#A03F3D;
  --chart-div-2:#C8635F;
  --chart-div-3:#79808A;
  --chart-div-4:#04999B;
  --chart-div-5:#017273;
  --chart-surface:#FFFFFF;
  --chart-grid:#E2E5E9;
  --chart-axis:#ADB5C0;
  --chart-context:#ADB5C0;
  --chart-focus:#0F2645;
  --chart-annotation:#9C7F3C;
}

/* asset mode — explicit opt-in only */
[data-theme="dark"]{
  /* interface */
  --bg:#0F2645;
  --surface:#173355;
  --surface-2:#1D3E63;
  --ink:#F5F7FA;
  --ink-muted:#A8BCCF;
  --border:#254669;
  --border-control:#5E7FA6;
  --focus:#F5F7FA;
  --action:#F5F7FA;
  --action-hover:#FFFFFF;
  --action-pressed:#D5DEE8;
  --action-ink:#0F2645;
  --link:#F5F7FA;
  --link-line:#5E7FA6;
  /* identity */
  --structure:#F5F7FA;
  --thread:#C9A45E;
  --thread-tint:#27374C;
  /* status — reserved meaning; always ship an icon + label */
  --success-fg:#50BC84;
  --success-fill:#50BC84;
  --success-on-fill:#0F2645;
  --success-tint:#163C50;
  --success-line:#50BC84;
  --warning-fg:#FFA571;
  --warning-fill:#FFA571;
  --warning-on-fill:#0F2645;
  --warning-tint:#343B4F;
  --warning-line:#FFA571;
  --critical-fg:#F9786C;
  --critical-fill:#F9786C;
  --critical-on-fill:#0F2645;
  --critical-tint:#35354E;
  --critical-line:#F9786C;
  --info-fg:#6BA9D4;
  --info-fill:#6BA9D4;
  --info-on-fill:#0F2645;
  --info-tint:#1C395A;
  --info-line:#6BA9D4;
  --neutral-fg:#A8BCCF;
  --neutral-fill:#A8BCCF;
  --neutral-on-fill:#0F2645;
  --neutral-tint:#1D3E63;
  --neutral-line:#5E7FA6;
  /* severity — ordered ramp for risk matrices; always print the score in the cell */
  --sev-1-fill:#FFD4B7;
  --sev-1-ink:#0F2645;
  --sev-2-fill:#FFAE87;
  --sev-2-ink:#0F2645;
  --sev-3-fill:#FF815F;
  --sev-3-ink:#0F2645;
  --sev-4-fill:#F45A51;
  --sev-4-ink:#0F2645;
  /* drawing — diagrams, illustration, banner linework */
  --draw-member:#A8BCCF;
  --draw-line:#5E7FA6;
  --draw-hairline:#2F5582;
  --draw-fill:#173355;
  /* data */
  --chart-cat-1:#3476C1;
  --chart-cat-2:#12A7A8;
  --chart-cat-3:#AA5086;
  --chart-seq-1:#9FC6FF;
  --chart-seq-2:#6EAEFB;
  --chart-seq-3:#4A88D2;
  --chart-seq-4:#2564AB;
  --chart-seq-5:#0E4C8F;
  --chart-div-1:#C8635F;
  --chart-div-2:#E08A86;
  --chart-div-3:#8A93A0;
  --chart-div-4:#12A7A8;
  --chart-div-5:#0A8F91;
  --chart-surface:#0F2645;
  --chart-grid:#2B3F5B;
  --chart-axis:#5D6D83;
  --chart-context:#5D6D83;
  --chart-focus:#F5F7FA;
  --chart-annotation:#C9A45E;
}

@media (prefers-reduced-motion: reduce){
  :root{ --motion-fast:0ms; --motion-base:0ms; --motion-slow:0ms; --motion-build:0ms; --motion-thread:0ms; --motion-stagger:0ms; }
}
