:root {
  --bg-deep:#07101f; --bg:#0a1120; --bg-2:#0f1a2e;
  --panel:#142030; --panel-2:#1a283d;
  --border:#22324d; --border-soft:#1a2840; --border-hover:#2e4468;
  --text:#e6edf7; --text-2:#a9b6cc; --text-3:#6e7d96;
  /* CJK + Devanagari names trail the Latin faces: the browser falls back
     per-glyph for Chinese / Hindi without loading any extra web font
     (system-ui covers Windows/macOS, the Noto names cover Linux/Android). */
  --mono:'JetBrains Mono', ui-monospace, 'Noto Sans CJK SC', 'Noto Sans Devanagari', monospace;
  --amber:   oklch(0.82 0.16 75);
  --cyan:    oklch(0.82 0.14 210);
  --emerald: oklch(0.78 0.15 155);
  --violet:  oklch(0.78 0.14 295);
  /* UI STATUS green — task/step completion ("done"). NOT a semantic data
     color: --emerald stays locked to net/rail; this is the chrome success
     state (e.g. the pipeline-timeline phase checkmarks). A distinct token so
     the lock holds and the success color stays reusable. */
  --ok: oklch(0.80 0.17 150);
  /* mascot-only danger red — NOT a semantic data color; scoped to the
     mascot's alert/error animations (see web/styles/mascot.css). */
  --mascot-danger: oklch(0.62 0.23 27);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,'Noto Sans CJK SC','Noto Sans Devanagari',sans-serif;font-size:13px;overflow:hidden;-webkit-font-smoothing:antialiased}
