:root{
  /* ---- BASE: SURFACE ---- */
  --asphalt:#0A0B0D;      /* base background — never pure black */
  --carbon:#121418;       /* surface / cards */
  --graphite:#1B1E24;     /* elevated surface, hover */
  --line:#262B33;         /* borders, dividers */

  /* ---- BASE: TEXT ---- */
  --white:#F4F5F7;        /* headings — never #FFF */
  --grey:#9BA1AB;         /* body text */
  --dim:#565D68;          /* meta, disabled */

  /* ---- BASE: M-STRIPE ---- */
  --m-ice:#4C9BD6;
  --m-blue:#1D3E8F;
  --m-red:#E4322B;        /* cockpit red — primary accent */
  --m-red-dim:#8C1F1B;    /* large areas / pressed state */
  --red-glow:rgba(228,50,43,.35);

  /* ---- BASE: DR BLUES (secondary, sparingly) ---- */
  --db-gold:#F5B301;

  /* ---- SEMANTIC: SURFACE ---- */
  --surface-page:var(--asphalt);
  --surface-card:var(--carbon);
  --surface-raised:var(--graphite);
  --surface-sponsor:var(--db-gold);
  --border-default:var(--line);
  --border-hover:rgba(228,50,43,.5);
  --border-focus:var(--m-red);

  /* ---- SEMANTIC: TEXT ---- */
  --text-heading:var(--white);
  --text-body:var(--grey);
  --text-meta:var(--dim);
  --text-accent:var(--m-red);
  --text-telemetry:var(--m-ice);
  --text-on-red:var(--white);
  --text-on-gold:var(--asphalt);

  /* ---- SEMANTIC: ACTION ---- */
  --action-primary-bg:var(--m-red);
  --action-primary-fg:var(--white);
  --action-primary-pressed:var(--m-red-dim);
  --action-ghost-border:var(--line);
  --action-ghost-border-hover:var(--m-red);

  /* ---- SEMANTIC: EFFECT ---- */
  --glow-red:0 8px 32px var(--red-glow);
  --glow-dot:0 0 12px var(--red-glow);
  --scrim-image:linear-gradient(to top,rgba(10,11,13,.85) 0%,rgba(10,11,13,0) 70%); /* @kind other */
  --vignette:radial-gradient(ellipse 120% 90% at 50% 40%,transparent 55%,rgba(0,0,0,.5) 100%); /* @kind other */
    --grain-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); /* @kind other */
  --grain-opacity:.055; /* @kind other */
}
