/* ui/tokens.css — the ONE token file of the web game UI (operator 2026-11-01: "all uis like this [JETS] on web").
   Every colour, alpha step, radius step and font of the web screens is defined here and nowhere else:
     menu.css component recipes (.jt-panel .jt-data .jt-row .jt-btn .jt-go .jt-chip .jt-cap, JETS header) and every
     screen stylesheet read these tokens only; ui/tokens_lint.test.mjs fails on a colour literal, a gradient with a
     literal stop or a literal radius outside this file, and on a JETS component class set outside ui/kit.js.
   Naming:  --<colour>            opaque palette colour
            --<colour>-aNN        the same colour at alpha NN / 100
            --r-<step>            radius in DESIGN px (unitless): border-radius: calc(var(--r-card) * var(--hu))
   Defined on :root so recipes used outside a .gm screen (shell keys, HUD layers) resolve the same values; the
   colour tokens never depend on --u / --hu, so subtrees that retune the unit (mobile.css) keep them. */
:root {
  /* Palette. */
  --cyan: #00eef2;          /* JETS lit / accent (tokens.json avionics.cyan) */
  --green: #00f07a;         /* primary key, unlimited, success */
  --amber: #ffc905;         /* score, warnings, last life */
  --red: #ff4d4d;           /* danger, empty, my death */
  --orange: #ffa030;        /* hot zone / multiplier heat */
  --white: #f6f6f6;         /* legend white (avionics.white) */
  --light: #ffffff;         /* pure white: glass sheens and highlights */
  --black: #000000;         /* shadows, scrims, mask ink */
  --text: #f2f5fa;          /* body text */
  --h-text: #f0f5fa;        /* JETS row text (hangar.json text) */
  --link: #e9edf0;          /* link legend */
  --text2: #b8c1c9;         /* secondary text */
  --muted: #91a1b8;         /* muted text */
  --h-muted: #8c9ead;       /* JETS sub line (hangar.json muted) */
  --hint: #727478;          /* hints, disabled */
  --divider: #474c50;       /* divider hairline */
  --version: #9aa3ab;       /* build id */
  --track: #272c2e;         /* meter track */
  --h-teal: #1ae6d9;        /* hangar.json teal */
  --h-green: #73ff99;       /* hangar.json green */
  --violet: #7c5cff;        /* panel edge-light tail */
  --lilac: #b99bff;         /* news tag: community */
  --ink: #03170c;           /* legend on the green primary key */
  --go-top: #52ffad;        /* primary key gradient top */
  --go-bot: #00c463;        /* primary key gradient bottom */
  --go-hi: #a0ffc8;         /* primary key hover ring */
  --go-shade: #003c1e;      /* primary key inner shade */
  --ice: #e9feff;           /* selected legend */
  --ice-2: #b9fdff;         /* selected glyph top */
  --steel: #9fb2c0;         /* rest glyph bottom */
  --tick: #c8e6eb;          /* hairlines and ruler ticks */
  --glass: #0e1820;         /* panel glass top */
  --night: #04080c;         /* panel glass bottom, scrims, HUD backing */
  --deep: #04161a;          /* data block glass, text on cyan */
  --indigo: #1b1636;        /* loader frame */
  /* Alpha steps. */
  --amber-a10: rgba(255, 201, 5, .10); --amber-a20: rgba(255, 201, 5, .20); --amber-a25: rgba(255, 201, 5, .25);
  --amber-a35: rgba(255, 201, 5, .35); --amber-a55: rgba(255, 201, 5, .55); --amber-a75: rgba(255, 201, 5, .75);
  --black-a10: rgba(0, 0, 0, .10); --black-a20: rgba(0, 0, 0, .20); --black-a25: rgba(0, 0, 0, .25);
  --black-a30: rgba(0, 0, 0, .30); --black-a35: rgba(0, 0, 0, .35); --black-a42: rgba(0, 0, 0, .42);
  --black-a45: rgba(0, 0, 0, .45); --black-a55: rgba(0, 0, 0, .55); --black-a75: rgba(0, 0, 0, .75);
  --black-a80: rgba(0, 0, 0, .80); --black-a85: rgba(0, 0, 0, .85); --black-a88: rgba(0, 0, 0, .88);
  --cyan-a03: rgba(0, 238, 242, .03); --cyan-a04: rgba(0, 238, 242, .04); --cyan-a05: rgba(0, 238, 242, .05);
  --cyan-a08: rgba(0, 238, 242, .08); --cyan-a10: rgba(0, 238, 242, .10); --cyan-a12: rgba(0, 238, 242, .12);
  --cyan-a14: rgba(0, 238, 242, .14); --cyan-a16: rgba(0, 238, 242, .16); --cyan-a18: rgba(0, 238, 242, .18);
  --cyan-a20: rgba(0, 238, 242, .20); --cyan-a25: rgba(0, 238, 242, .25); --cyan-a26: rgba(0, 238, 242, .26);
  --cyan-a30: rgba(0, 238, 242, .30); --cyan-a35: rgba(0, 238, 242, .35); --cyan-a40: rgba(0, 238, 242, .40);
  --cyan-a45: rgba(0, 238, 242, .45); --cyan-a50: rgba(0, 238, 242, .50); --cyan-a55: rgba(0, 238, 242, .55);
  --cyan-a60: rgba(0, 238, 242, .60); --cyan-a65: rgba(0, 238, 242, .65); --cyan-a75: rgba(0, 238, 242, .75);
  --cyan-a80: rgba(0, 238, 242, .80); --cyan-a85: rgba(0, 238, 242, .85); --cyan-a90: rgba(0, 238, 242, .90);
  --deep-a38: rgba(4, 22, 26, .38);
  --divider-a90: rgba(71, 76, 80, .90);
  --glass-a74: rgba(14, 24, 32, .74);
  --go-hi-a95: rgba(160, 255, 200, .95);
  --go-shade-a14: rgba(0, 60, 30, .14); --go-shade-a28: rgba(0, 60, 30, .28); --go-shade-a45: rgba(0, 60, 30, .45);
  --green-a10: rgba(0, 240, 122, .10); --green-a20: rgba(0, 240, 122, .20); --green-a30: rgba(0, 240, 122, .30);
  --green-a35: rgba(0, 240, 122, .35); --green-a50: rgba(0, 240, 122, .50); --green-a55: rgba(0, 240, 122, .55);
  --green-a60: rgba(0, 240, 122, .60); --green-a70: rgba(0, 240, 122, .70); --green-a75: rgba(0, 240, 122, .75);
  --ice-2-a85: rgba(185, 253, 255, .85); --ice-2-a90: rgba(185, 253, 255, .90);
  --ink-a72: rgba(3, 23, 12, .72);
  --light-a01: rgba(255, 255, 255, .01); --light-a02: rgba(255, 255, 255, .02); --light-a03: rgba(255, 255, 255, .03);
  --light-a04: rgba(255, 255, 255, .04); --light-a05: rgba(255, 255, 255, .05); --light-a06: rgba(255, 255, 255, .06);
  --light-a07: rgba(255, 255, 255, .07); --light-a08: rgba(255, 255, 255, .08); --light-a10: rgba(255, 255, 255, .10);
  --light-a12: rgba(255, 255, 255, .12); --light-a14: rgba(255, 255, 255, .14); --light-a16: rgba(255, 255, 255, .16);
  --light-a18: rgba(255, 255, 255, .18); --light-a20: rgba(255, 255, 255, .20); --light-a35: rgba(255, 255, 255, .35);
  --light-a45: rgba(255, 255, 255, .45); --light-a55: rgba(255, 255, 255, .55); --light-a65: rgba(255, 255, 255, .65);
  --light-a70: rgba(255, 255, 255, .70); --light-a75: rgba(255, 255, 255, .75);
  --muted-a65: rgba(145, 161, 184, .65);
  --night-a00: rgba(4, 8, 12, .00); --night-a06: rgba(4, 8, 12, .06); --night-a10: rgba(4, 8, 12, .10);
  --night-a20: rgba(4, 8, 12, .20); --night-a30: rgba(4, 8, 12, .30); --night-a35: rgba(4, 8, 12, .35);
  --night-a55: rgba(4, 8, 12, .55); --night-a60: rgba(4, 8, 12, .60); --night-a62: rgba(4, 8, 12, .62);
  --night-a75: rgba(4, 8, 12, .75); --night-a86: rgba(4, 8, 12, .86); --night-a88: rgba(4, 8, 12, .88);
  --night-a94: rgba(4, 8, 12, .94); --night-a95: rgba(4, 8, 12, .95); --night-a96: rgba(4, 8, 12, .96);
  --night-a97: rgba(4, 8, 12, .97);
  --orange-a60: rgba(255, 160, 48, .60); --orange-a80: rgba(255, 160, 48, .80);
  --red-a10: rgba(255, 77, 77, .10); --red-a20: rgba(255, 77, 77, .20); --red-a35: rgba(255, 77, 77, .35);
  --red-a55: rgba(255, 77, 77, .55); --red-a75: rgba(255, 77, 77, .75);
  --tick-a13: rgba(200, 230, 235, .13); --tick-a25: rgba(200, 230, 235, .25); --tick-a32: rgba(200, 230, 235, .32);
  --violet-a45: rgba(124, 92, 255, .45);
  /* Radius scale (design px, multiply by the unit: calc(var(--r-card) * var(--hu))). */
  --r-panel: 16; --r-card: 10; --r-inner: 8; --r-chip: 6; --r-cap: 5; --r-bar: 3; --r-tick: 2; --r-round: 999px;
  /* Fonts. */
  --font-ui: 'Russo One', sans-serif; --font-hud: 'JCS HUD', 'Russo One', sans-serif;
  --font-body: system-ui, 'Segoe UI', Roboto, sans-serif;
  /* Viewport height: one percent of the VISIBLE window height. Use calc(100 * var(--dvh)), never a dvh / svh / lvh unit
     directly (ui/compat_lint.test.mjs): Chrome < 108 (the Galaxy A51's stock Chrome 93) drops every declaration with a
     dynamic unit, and a custom property holding one turns each var() reading it invalid. 1vh until the rule below or
     ui/viewport.js (innerHeight / 100 px where dvh is missing) replaces it. */
  --dvh: 1vh;
}
@supports (height: 1dvh) { :root { --dvh: 1dvh; } }
