/* Showtime — product token layer (revision 83 — adds the Map controller panel names; nothing else moved)
   Lifted from the design board, unmodified. Load AFTER Nocturne's styles.css; everything here
   resolves against its --color-*, --space-*, --radius-* and --shadow-* tokens.
   Ship this file as-is. Rule of use: no raw colour, radius or shadow in component CSS — only these names. */

:root{
/* text tones (composited over the ground in section 6) */
--calm:var(--color-text);
--muted:color-mix(in srgb,var(--color-text) 55%,transparent);
--dim:color-mix(in srgb,var(--color-text) 30%,transparent);
--faint:color-mix(in srgb,var(--color-text) 12%,transparent);
--on-photo:color-mix(in srgb,var(--color-text) 70%,transparent);
--ghost:rgba(233,233,237,.07);
--faint-fill:#2f313d; /* --faint composited on --ground */
--detail:#555762; /* --dim composited on --ground */
--wash:rgba(233,233,237,.03);
/* surfaces */
--ground:var(--color-bg);
--ground-game:#0f101a;
--panel:var(--color-surface);
--raised:#2b2d3a;
--well:#1b1d29;
--deep:#15161f;
--board:#0d0e18;
--game-surface:#000; /* the emulator's own output — an image, not a theme colour */
--game-ink:#26272f;
/* strokes: rest / hover / active */
--line:var(--color-neutral-800);
--line-hov:var(--color-neutral-700);
--line-act:var(--color-neutral-600);
/* accent: rest / hover / active — on this ground press goes lighter */
--accent:var(--color-accent);
--accent-hov:var(--color-accent-400);
--accent-act:var(--color-accent-300);
--accent-fill:color-mix(in srgb,var(--color-accent) 14%,transparent);
--accent-fill-act:color-mix(in srgb,var(--color-accent) 22%,transparent);
/* the five tones — status only, never a port */
--good:oklch(0.734 0.125 145);
--waiting:oklch(0.734 0.125 55);
--wrong:oklch(0.734 0.125 25);
/* port hues — violet → blue → cyan → pink */
--p1:var(--color-accent);--p2:#4bb5ec;--p3:#02c1c1;--p4:#dd89c2;
/* geometry */
--r-badge:var(--radius-sm);--r-control:6px;--r-tile:var(--radius-md);--r-window:var(--radius-lg);
/* elevation, scrims, rules */
--frame:0 0 0 1px var(--line),0 16px 40px rgba(0,0,0,.65);
--pop:0 0 0 1px var(--line),0 18px 44px rgba(0,0,0,.7);
--focus:0 0 0 2px var(--ground),0 0 0 4px var(--accent);
--handle-edge:0 0 0 1px rgba(0,0,0,.45);
--modal:var(--shadow-sm),0 32px 80px rgba(0,0,0,.75);
--accent-glow:0 0 60px color-mix(in srgb,var(--accent) 10%,transparent);
--scrim:linear-gradient(to top,rgba(0,0,0,.78),transparent);
--overlay:rgba(15,16,26,.78);--overlay-band:rgba(15,16,26,.94);--plate:rgba(0,0,0,.55);
--rule:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent);
/* the four camera feeds — one recipe, one ground per person */
--cam-1:radial-gradient(120% 90% at 50% 35%,#2f3244 0%,var(--well) 62%,var(--deep) 100%);
--cam-2:radial-gradient(120% 90% at 55% 40%,#33364a 0%,var(--well) 62%,var(--deep) 100%);
--cam-3:radial-gradient(120% 90% at 45% 38%,#2d3142 0%,var(--well) 62%,var(--deep) 100%);
--cam-4:radial-gradient(120% 90% at 60% 35%,#343548 0%,var(--well) 62%,var(--deep) 100%);
--art:radial-gradient(90% 90% at 40% 20%,#3a3d52,var(--well));
/* Map controller — the drawn control panel (r83). --plate above is a scrim; the cabinet plate is its own name. */
--cabinet:var(--deep);
--cap:#4a4d5c; /* a control at rest — --calm at ~22% over --deep */
--cap-hi:#5b5e6e; /* the stick well ring / a live cap edge */
--map-assigned:color-mix(in srgb,var(--good) 22%,var(--faint-fill));
--map-actuated:color-mix(in srgb,var(--good) 40%,var(--cap));
--map-ring:color-mix(in srgb,var(--good) 55%,transparent)}

/* Interaction states, once, on the element and its pseudo-classes. */
:focus-visible{outline:none;box-shadow:var(--focus)}
.btn,.input,.seg{transition:background-color 90ms,border-color 90ms}  /* fill and border move; nothing scales or lifts */
:disabled,[aria-disabled="true"]{opacity:.45}  /* the one opacity in the product */
