/* ==========================================================================
   Treadum — Design Tokens (single source of truth)
   Dark futuristic / industrial-AI. Rebrand = change --accent-* only.
   ========================================================================== */

:root {
  /* ---- Background ramp (page → deepest) ---- */
  --bg-base: #08090B;   /* page root / footer chrome */
  --bg-900:  #0C0D10;   /* THE section background — every section uses this */
  --bg-800:  var(--bg-900);   /* no second band: app chrome sits on the page */

  /* ---- Surface ramp (raised UI on top of bg) ---- */
  --surface-1: #14161C;
  --surface-2: #1A1D25;
  --surface-3: #222630;
  --surface-glass: #14161C;   /* solid: nothing behind it is blurred */

  /* ---- Material: layered card fills + inner light (depth without dividers) ---- */
  /* Materials are solid values: a card is one colour, a sunken well is one
     colour, a hairline is a line, and nothing follows the cursor. */
  --mat-card: #13151B;
  --mat-card-hover: #171A21;
  --mat-sunken: #0A0B0E;
  --hairline: var(--border-subtle);
  
  /* ---- Text ramp ---- */
  --text-primary:   #F5F6F8;
  --text-secondary: #B7BCC7;
  --text-muted:     #8C93A1;
  --text-faint:     #5C6270;   /* decorative only (separators) — fails AA as text */
  --text-faint-aa:  #7D8492;   /* quietest text colour that still passes AA */
  --text-on-accent: #150703;

  /* ---- Borders / dividers (low-alpha whites) ---- */
  --border-subtle:  rgba(255,255,255,0.06);
  --border-default: rgba(255,255,255,0.10);
  --border-strong:  rgba(255,255,255,0.17);
  --ring:           #FF8154;

  /* ---- Accent — cure-orange, the only brand color, used sparingly ---- */
  --accent:       #FF6A3D;
  --accent-hover: #FF8154;
  --accent-press: #E8552A;
  --accent-2:     #2DD4BF;  /* secondary highlight (data/telemetry) */
  --accent-soft:  rgba(255,106,61,0.14);
  --accent-line:  rgba(255,106,61,0.40);  /* hairline in accent */
  --accent-2-dim: #1F7F74;               /* opaque teal for secondary bars */

  /* ---- Semantic ---- */
  --success: #34D399;  --success-soft: rgba(52,211,153,0.14); --success-line: rgba(52,211,153,0.40);
  --warning: #FBBF24;  --warning-soft: rgba(251,191,36,0.14);
  --error:   #F87171;  --error-soft:   rgba(248,113,113,0.14);
  --info:    #38BDF8;  --info-soft:    rgba(56,189,248,0.14);


  /* ---- Page backdrop: one flat colour, no lattice, no wash ---- */

  /* ---- Elevation ---- */
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-xl: none;
  --shadow-card: none;
  --shadow-glow: none;
  --shadow-btn: none;

  /* ---- Typography ---- */
  --font-sans: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               Helvetica, Arial, sans-serif;
  /* Kanit carries the headlines: a loud, slightly condensed grotesque with
     flat terminals that suits a tyre plant's scale. Rubik carries running and
     interface text with its softly rounded corners, and Source Code Pro
     carries cure times, compound codes and build IDs. */
  --font-display: "Kanit", "Rubik", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: "Source Code Pro", "SF Mono", ui-monospace, Menlo, monospace;

  --fs-display: clamp(2.625rem, 1.45rem + 5.2vw, 5.5rem);
  --fs-h1:      clamp(2.25rem, 1.55rem + 3vw, 3.75rem);
  --fs-h2:      clamp(1.875rem, 1.4rem + 2.1vw, 3.125rem);
  --fs-h3:      clamp(1.3125rem, 1.15rem + 0.8vw, 1.75rem);
  --fs-h4:      clamp(1.125rem, 1.06rem + 0.3vw, 1.3125rem);
  --fs-lead:    clamp(1.0625rem, 0.99rem + 0.4vw, 1.25rem);
  --fs-body:    1rem;
  --fs-body-lg: 1.125rem;
  --fs-small:   0.875rem;
  --fs-micro:   0.75rem;

  /* ---- Measure (line-length control) ---- */
  --measure-head: 22ch;   /* display + h2 headlines */
  --measure-lead: 60ch;   /* section leads */
  --measure-body: 70ch;   /* running body copy */

  /* ---- Tracking: Kanit is wide, so display sizes are pulled in ---- */
  --track-display: -0.028em;
  --track-h2:      -0.022em;

  /* ---- Spacing: 4-pt base / 8-pt rhythm ---- */
  --space-0: 0;      --space-1: 4px;   --space-2: 8px;   --space-3: 12px;
  --space-4: 16px;   --space-5: 20px;  --space-6: 24px;  --space-8: 32px;
  --space-10: 40px;  --space-12: 48px; --space-16: 64px; --space-20: 80px;
  --space-24: 96px;  --space-28: 112px;--space-32: 128px;--space-40: 160px;

  /* ---- Radii ---- */
  --radius-sm: 8px;  --radius-md: 12px; --radius-lg: 16px;
  --radius-xl: 24px; --radius-2xl: 32px; --radius-pill: 999px;

  /* ---- Containers & rhythm ---- */
  --container-sm: 640px;  --container-md: 768px;  --container-lg: 1024px;
  --container-xl: 1232px; --container-2xl: 1320px;
  --gutter: clamp(20px, 5vw, 48px);
  --section-y: clamp(80px, 9vw, 144px);
  --section-y-lg: clamp(96px, 11vw, 176px);
  --stack: clamp(16px, 2vw, 24px);

  /* ---- Grid ---- */
  --grid-cols: 12;
  --grid-gap: clamp(12px, 1.4vw, 20px);

  /* ---- Motion ---- */
  --dur-fast: 120ms;  --dur-base: 200ms;  --dur-slow: 320ms;  --dur-slower: 600ms;
  --dur-reveal: 720ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
  --stagger: 70ms;
}
