/* Metro Sofia UI tokens · pass 02, the interface layer, re-valued for Night
   Line (2026-10-04, redesign phase 1): Fira Sans runs narrower than the old
   mono, so the text steps rise to hold the same measure, and Oswald carries
   the numbers. The light theme is gone; night is the only theme.
   Companion to tokens.css (colour, glyphs, space). Every name here is one the
   pass-02 component layer in the original codebase's `UI System.html` resolves to.

   DERIVED, NOT INVENTED. The handoff arrived without this file, so the dev side
   reconstructed it. Its own Foundations section states the intent exactly: "the
   values are the ones the current build already reaches for by hand, so
   adopting them changes nothing on screen and everything about the next edit."
   So each value below is read off the shipping interface (index.html before
   pass 02) or off an explicit density rule in section 01, and the source is
   named. Design team: correct anything here freely. This is notation of your
   system, not design. */

:root {
  --tb-ui-scale: 1;
  /* --- Layout (Night Line, phase 2): the status dock along the foot and
         the drawer down the right. In rem, so the UI scale (standard,
         large, XL) grows them with the type: the drawer is 300, 360 and
         420 px, the dock 64, 77 and 90 px. --tb-drawer-space is what the
         drawer takes from the map right now (0 while it is collapsed). -- */
  --tb-dock-h: 4rem;
  --tb-drawer-w: 18.75rem;
  --tb-drawer-space: var(--tb-drawer-w);
  --tb-card-w: 18.75rem;        /* the left column: station card, inspector, guide */
  --tb-depart-d: 6.75rem;       /* the DEPART disc, 108 px at standard */
  /* --- Type scale, named by role (section 01) ---------------------------- */
  --tb-fs-hero: 1.6rem;      /* menu wordmark (was .menu-panel h1) */
  --tb-fs-counter: 2rem;     /* the money readout (was #money) */
  --tb-fs-lg: 1.1rem;        /* AVGÅNG, the primary CTA (was .bell-title) */
  --tb-fs-md: 0.84rem;       /* menu buttons (was .menu-btn) */
  --tb-fs-title: 0.86rem;    /* shop name, station name (was .shop-top) */
  --tb-fs-body: 0.78rem;     /* descriptions, help prose (was .shop-desc) */
  --tb-fs-label: 0.78rem;    /* rows, rates, line rows (was .rates/.line-row) */
  --tb-fs-caption: 0.72rem;  /* uppercase eyebrows (was .era-needs) */
  --tb-fs-micro: 0.66rem;    /* legal, credits (one step under .brand .sub) */

  /* --- Tracking. Section 01 names the pairs: hero .30em, CTA .10em, caps
         .16em. Tight is for tabular numbers, where tracking hurts. --------- */
  --tb-track-wide: 0.12em;
  --tb-track-mid: 0.06em;
  --tb-track-caps: 0.06em;
  --tb-track-tight: 0.01em;

  /* --- Line height ------------------------------------------------------- */
  --tb-lh: 1.5;              /* body copy */
  --tb-lh-loose: 1.7;        /* long-form: help page, era blurbs */
  --tb-lh-tight: 1.05;       /* display numbers, so a counter never reflows */

  /* --- Weight (Fira Sans ships 400, 500 and 600; Oswald is variable) ---- */
  --tb-weight-semi: 600;

  /* --- Density (section 01 states these verbatim) ------------------------ */
  --tb-pad-panel: 0.7rem 0.85rem;
  --tb-pad-panel-lg: 1.5rem 2rem;      /* moments and menu */
  --tb-gap-panel: 0.5rem;              /* between stacked panels */
  --tb-gap-row: 0.45rem;               /* within a panel */
  --tb-btn-pad-std: 0.5rem 0.7rem;
  --tb-btn-pad-primary: 0.85rem 1rem;  /* the bell (was #bell) */
  --tb-btn-pad-inline: 0.3rem 0.5rem;  /* controls inside panels (was .mini-btn) */

  /* --- Shape. Night Line rounds the panels a little; chips stay near square
         so a line chip still reads as the station square. ----------------- */
  --tb-radius-panel: 8px;
  --tb-radius-chip: 3px;
  --tb-radius-pill: 999px;

  /* --- Stroke. "1px every hairline; 2px reserved for the primary CTA" ----- */
  --tb-border: 1px;
  --tb-border-cta: 2px;

  /* --- Motion. "150ms ease on border / background / colour" -------------- */
  --tb-motion: 150ms ease;

  /* --- Surface ----------------------------------------------------------- */
  --tb-blur: 10px;

  /* --- Interaction tints, at the alpha the shipping build used ----------- */
  --tb-hover-green: rgba(76, 141, 240, 0.12);
  --tb-hover-green-strong: rgba(76, 141, 240, 0.22);
  --tb-hover-danger: rgba(229, 83, 75, 0.12);
  --tb-hover-politic: rgba(169, 155, 224, 0.12);
  --tb-focus: 0 0 0 2px rgba(76, 141, 240, 0.7);

  /* --- Disabled. The mockup's ruling, and a real change from the build: an
         unaffordable card must stay READABLE with its reason named, not be
         dimmed into mush. So disabled recolours; the blanket opacity survives
         only for a retired relic. ----------------------------------------- */
  --tb-disabled-ink: var(--tb-ghost);
  --tb-disabled-border: #1a2a25; /* between raised and the hairline */
  --tb-disabled-dim: 0.45;

  /* --- Numbers, coloured by meaning (section 02) ------------------------- */
  --tb-num-value: var(--tb-ink);
  --tb-num-unit: var(--tb-muted);  /* the unit sits under the value */
  --tb-num-up: #3fbf78;            /* M3 green, lifted for small type */
  --tb-num-down: var(--tb-red);
  --tb-num-trust: var(--tb-politic);
}
