/* Design tokens — THE one place colors and type live. Every surface links this file
   before its own stylesheet; nothing else may hardcode a color.

   The palette comes from the machine our customers design. A tokamak is tungsten,
   steel and cold vacuum, and exactly one thing in it is bright: the plasma edge,
   which glows magenta from deuterium Balmer emission. So the ground is cool steel
   and `--plasma` is the only saturated color on the page — spent once, where the
   heat actually is. A fusion engineer recognises both on sight.

   `--accent` is a steel-shifted blue rather than the usual UI blue: the products are
   all called Blue-something, so blue carries the brand, and it should look like it
   came out of this palette rather than out of a framework.

   No webfont, anywhere. Self-hosting one is allowed (nothing may load from a CDN —
   the DSGVO guardrail) but none is worth the bytes yet, so type does its work through
   the *system* stacks. The display role is monospaced on purpose: this field reads its
   machines as columns of numbers — PROCESS input decks, radial-build tables — and a
   proportional headline would be the one thing on the page that comes from somewhere
   else. Used for headings, labels and figures only; prose stays in the sans. */

/* The one rule in this file that is not a token, and it earns its place: `hidden` is
   implemented as `display: none` at the very bottom of the cascade, so ANY explicit
   `display` on an element beats it. Every surface here styles `label`, `p` and
   `section` that way, which made `hidden` work on some elements and silently do
   nothing on others — a field the API refuses stayed on screen because its label is a
   grid. Which is which was invisible until somebody hid the wrong element. */
[hidden] { display: none !important; }

:root {
  --font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono",
    "Roboto Mono", Menlo, Consolas, monospace;
  --font-mono: var(--font-display);

  --ink: #0d1b24;        /* vessel steel in shadow — blue-black, never pure black */
  --muted: #566a76;
  --accent: #0e5e80;
  --accent-wash: #e4eef3; /* the tint under a changed field or a selected row */
  --plasma: #d8447a;      /* deuterium edge glow — the one saturated color we own */
  --danger: #a8342c;
  --bg: #f1f4f5;          /* brushed steel, cool: a green-grey cast, never cream */
  --card: #ffffff;
  --line: #dce3e6;
  --line-strong: #b4c1c7;

  /* Type that sits on a filled control. Its own token because "white on the accent"
     is a decision the palette owns — an accent light enough to need dark type would
     otherwise break every button at once, silently. */
  --on-accent: #ffffff;
  --neutral: #64757f;     /* filled controls that must not read as the primary action */

  /* semantic states — findings, balance rows, notes */
  --warn-ink: #7e5a10;
  --warn-bg: #fbf2de;
  --danger-ink: #9b2f27;
  --danger-bg: #faebe9;

  /* The radial build, from the plasma outward: one bright core and then material.
     Ordered, because the order is the whole point — see the marketing page, where
     the product tiers are drawn as the shells they actually are. */
  --shell-1: #3f5a68;
  --shell-2: #6d8794;
  --shell-3: #9fb2bb;
}
