/* Base palette — fixed across themes */
:root {
  --void: #000000;           /* raw framebuffer black */
  --void-raise: #0a0910;     /* recessed panel */
  --void-lift: #16131f;      /* raised panel / hover */
  --uv: #7b6bff;             /* primary phosphor */
  --uv-hot: #c4bcff;         /* over-driven core — highlights, numerals */
  --uv-dim: #4a3fb8;         /* decayed trace */
  --uv-ghost: #221c4a;       /* unlit cell */
  --signal-pink: #ff2f92;    /* alert — inherited Edge Mag Pink */
  --signal-cyan: #00d9c0;    /* nominal — inherited Coolant Cyan */
  --lcd-paper: #cfc6b4;      /* terminal paper ground */
  --lcd-paper-deep: #c2b8a4;
  --lcd-ink: #15121c;
  --lcd-uv: #3b2db8;
  --lcd-pink: #b8005a;

  /* Semantic — VOID (default) */
  --base: var(--void);
  --base-deep: #000000;
  --panel: var(--void-raise);
  --panel-hover: var(--void-lift);
  --fg: var(--uv-hot);          /* body text */
  --fg-phosphor: var(--uv);     /* labels, rules, frames */
  --fg-dim: #8a82c9;            /* meta, manifest */
  --fg-off: var(--uv-ghost);    /* unlit cells, empty meter */
  --fg-decay: var(--uv-dim);    /* aged organism cells, graticule */
  --alert: var(--signal-pink);
  --nominal: var(--signal-cyan);
  --on-phosphor: var(--void);   /* text on UV fill */
  --hairline: var(--uv);      /* rules are solid, 1px */
  --gridline: transparent;
  --focus-ring: var(--signal-cyan);
}

/* TERMINAL PAPER — beige LCD. Same raw rules, inverted ground. */
[data-theme="paper"] {
  --base: var(--lcd-paper);
  --base-deep: var(--lcd-paper-deep);
  --panel: #c8bfac;
  --panel-hover: #bdb39e;
  --fg: var(--lcd-ink);
  --fg-phosphor: var(--lcd-uv);
  --fg-dim: #4f4858;
  --fg-off: rgba(21, 18, 28, 0.14);
  --fg-decay: #8a8094;
  --alert: var(--lcd-pink);
  --nominal: #006e62;
  --on-phosphor: var(--lcd-paper);
  --hairline: var(--lcd-ink);
  --gridline: transparent;
  --focus-ring: var(--lcd-uv);
}
