:root{
/* ── Base scales ───────────────────────────────────────── */
/* Casco: the near-black substrate the whole HUD is painted on */
--hull-950:#050708;--hull-900:#080B0C;--hull-850:#0A1214;--hull-800:#0B1315;--hull-700:#0E2422;--hull-600:#12302D;--hull-500:#16403C;--hull-400:#1D514C;--hull-300:#3D605C;--hull-250:#6E938E;--hull-200:#87A9A4;--hull-150:#A3C0BB;--hull-100:#BAD2CE;--hull-50:#CFE3E0;--hull-0:#EAFFFB;
/* Fósforo: the phosphor readout green — the only accent */
--phos-700:#1B6B5A;--phos-600:#2AA88F;--phos-500:#4FE0C0;--phos-400:#7DEBD3;--phos-300:#A8F3E4;
/* Semantic hues, tuned for a dark instrument face */
--amber-600:#C98A2E;--amber-500:#FFB648;--amber-900:#4A3A18;
--alert-600:#C33C26;--alert-500:#FF6B52;--alert-900:#4A2018;
--signal-600:#3D8FD1;--signal-500:#5FB3F5;--signal-900:#153348;
--white:#FFFFFF;

/* ── Semantic aliases ──────────────────────────────────── */
--surface-page:var(--hull-900);
--surface-card:var(--hull-800);
--surface-sunken:var(--hull-850);
--surface-raised:var(--hull-700);
--surface-inverse:var(--hull-0);
--surface-accent-soft:rgba(79,224,192,.10);
--border-hairline:var(--hull-500);
--border-dim:var(--hull-600);
--border-strong:var(--phos-700);
--border-live:var(--phos-500);

--text-strong:var(--hull-0);
--text-body:var(--hull-50);
--text-muted:var(--hull-150);
--text-faint:var(--hull-200);
/* Floor for the 9–10px mono micro-labels: never go below hull-250. */
--text-dim:var(--hull-250);
--text-inverse:var(--hull-900);
--text-accent:var(--phos-500);
--text-link:var(--phos-500);
--text-link-hover:var(--phos-300);

--action-primary:var(--phos-500);
--action-primary-soft:rgba(79,224,192,.12);
--action-primary-hover:rgba(79,224,192,.22);
--action-primary-press:rgba(79,224,192,.34);
--action-primary-text:var(--phos-500);
--action-solid:var(--phos-500);
--action-solid-text:var(--hull-950);
--action-ghost-hover:rgba(79,224,192,.08);
--focus-ring:var(--phos-500);

--state-pass:var(--phos-500);--state-pass-soft:rgba(79,224,192,.14);--state-pass-border:var(--phos-700);
--state-fail:var(--alert-500);--state-fail-soft:rgba(255,107,82,.14);--state-fail-border:var(--alert-900);
--state-warn:var(--amber-500);--state-warn-soft:rgba(255,182,72,.13);--state-warn-border:var(--amber-900);
--state-info:var(--signal-500);--state-info-soft:rgba(95,179,245,.13);--state-info-border:var(--signal-900);

/* Aforo readout */
--meter-track:var(--hull-600);--meter-fill:var(--phos-500);--meter-fill-tight:var(--amber-500);--meter-fill-full:var(--alert-500);

/* HUD motifs */
--scanline:rgba(255,255,255,.022);
--grid-line:rgba(79,224,192,.05);
--glow-phos:0 0 14px rgba(79,224,192,.30);
--glow-alert:0 0 14px rgba(255,107,82,.28)}

/* Puesto de mando: the higher-contrast scope for /panel/dia — sunlight, gloves, one hand */
[data-theme="campo"]{
--surface-page:var(--hull-950);
--surface-card:var(--hull-850);
--border-hairline:var(--phos-700);
--border-dim:var(--hull-500);
--text-body:var(--hull-0);
--text-muted:var(--hull-50);
--text-faint:var(--hull-100);
--text-dim:var(--hull-150)}
