/* RocketCode dark. DERIVED, NOT FROM THE SITE: rocketcode.io (site.css v2.2.0) has no dark mode. This theme
   starts from the site's footer ink #06050F and keeps its indigo (signal) and orange (action) roles, with ONE
   primary orange CTA per screen. Font: Instrument Sans (numbers stay JetBrains Mono).

   Derived values (none of these exist on the site):
   - surfaces: page #06050F (footer), raised #0F1422, panel #111727 / #141A2B, lines from indigo-border and a neutral 8 % white;
   - text #E6E9F2 (16.2:1), body #A9B2C5 (9.2:1), muted #8A94A8 (6.4:1 on #06050F);
   - signal: the site indigo #6366F1 is 4.4:1 on #06050F, so labels, rings and selection use indigo-400 #818CF8 (6.6:1);
     #6366F1 stays for fills and the focus ring;
   - action: the site orange gradient #FF7A1A → #FFA265 with ink text #0B1020 (white on #FF7A1A is 2.6:1);
   - error #EF4444 → #F87171 and success #10B981 → #34D399 for text on dark (7.1:1 and 10.2:1);
   - resources: option D's dark-UI colours, except Ordnance #8B6CFF → #C084FC (purple-400, 7.4:1) so it does not
     read as the indigo signal; seats: option D's (5.9–13.4:1 on #06050F). */
:root[data-theme="rc-dark"] {
  color-scheme: dark;
  --c-void: #06050F;
  --c-void-raised: #0E0B1E;
  --c-obsidian: #151130;
  --c-obsidian-hi: #1E1940;
  --c-pearl: #E6E9F2;
  --c-gold: #FFD27A;
  --c-gold-deep: #E8B04F;
  --c-violet-deep: #6A4FD0;
  --c-basalt: #1E2433;
  --c-text: #E6E9F2;
  --c-text-2: #A9B2C5;
  --c-text-3: #8A94A8;
  --c-text-on-gold: #06050F;
  --c-line: rgba(230, 233, 242, 0.08);
  --c-line-strong: rgba(255, 210, 122, 0.45);
  --c-line-neutral: rgba(230, 233, 242, 0.08);
  --c-glass: rgba(14, 11, 30, 0.84);
  --c-glass-strong: rgba(14, 11, 30, 0.92);
  --c-scrim: rgba(4, 6, 12, 0.75);
  --c-focus: #FFD27A;
  --c-success: #34D399;
  --c-warning: #FBBF24;
  --c-danger: #F87171;
  --c-primary: #FFD27A;
  --c-primary-pressed: #E8B04F;
  --c-on-primary: #1A1208;
  --fill-primary: linear-gradient(135deg, #FFE2A8, #F4B860);
  --fill-primary-hover: linear-gradient(135deg, #FFEBC0, #FFC670);

  --c-ordnance: #C084FC; --c-ordnance-rgb: 192 132 252;

  --fg-rgb: 230 233 242;
  --bg-rgb: 6 5 15;
  --raised-rgb: 24 19 52;
  --signal-rgb: 255 210 122;
  --danger-rgb: 248 113 113;
  --warning-rgb: 251 191 36;
  --success-rgb: 52 211 153;
  --glow-rgb: 106 79 208;

  --font-display: "Space Grotesk", "Instrument Sans", system-ui, sans-serif;
  --font-body: "Instrument Sans", "Inter", system-ui, sans-serif;

  --r-xs: 6px; --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 24px;
  --blur-glass: 0px;
  --sh-1: 0 1px 2px rgba(0, 0, 0, 0.4);
  --sh-2: 0 1px 3px rgba(0, 0, 0, 0.35), 0 14px 34px -20px rgba(0, 0, 0, 0.8);
  --sh-3: 0 1px 3px rgba(0, 0, 0, 0.4), 0 30px 60px -24px rgba(0, 0, 0, 0.9);
  --sh-inset-line: inset 0 1px 0 rgba(230, 233, 242, 0.04);
  --sh-primary: 0 10px 26px rgba(255, 200, 110, 0.22);
  --sh-primary-hover: 0 12px 30px rgba(255, 200, 110, 0.32);
  --sh-glow-gold: 0 0 0 3px rgba(255, 210, 122, 0.35);
  --icon-bg: #06050F;
}
:root[data-theme="rc-dark"] body { background: url("../../assets/gen/3d-scenes/art/sky.jpg") center / cover fixed no-repeat, var(--c-void); }
:root[data-theme="rc-dark"] .screen {
  --bg-img: none;
  background: url("../../assets/gen/3d-scenes/art/sky.jpg") center / cover fixed no-repeat, var(--c-void);
}
/* game-art backgrounds: raw renders of the live 3D station (assets/gen/3d-scenes/bg, ui/scenes.html?scene=bg-*), composed
   with the art at the edges (wide) or top right and bottom left (tall). The scrim darkens the content column only.
   Robby, 30 Oct 2026: backgrounds are raw 3D renders, so they show the same station as the board. */
:root[data-theme="rc-dark"] .screen[data-bg] {
  --scrim: linear-gradient(rgba(6, 5, 15, 0.1), rgba(6, 5, 15, 0.6) 22%, rgba(6, 5, 15, 0.6) 78%, rgba(6, 5, 15, 0.2));
  background: var(--scrim), var(--bg-img) center / cover fixed no-repeat, var(--c-void);
}
/* board: the same space, no station in it (the 3D board draws its own), lighter scrim */
:root[data-theme="rc-dark"] .screen[data-bg="board"] {
  --bg-img: url("../../assets/gen/3d-scenes/art/sky.jpg");
  background: var(--bg-img) center / cover fixed no-repeat, var(--c-void);
}
:root[data-theme="rc-dark"] .screen[data-bg="menu"] { --bg-img: url("../../assets/gen/3d-scenes/art/menu-tall.jpg"); }
:root[data-theme="rc-dark"] .screen[data-bg="lobby"] { --bg-img: url("../../assets/gen/3d-scenes/art/lobby-tall.jpg"); }
:root[data-theme="rc-dark"] .screen[data-bg="loading"] { --bg-img: url("../../assets/gen/3d-scenes/art/loading-tall.jpg"); }
:root[data-theme="rc-dark"] .screen[data-bg="end"] { --bg-img: url("../../assets/gen/3d-scenes/art/victory-tall.jpg"); }
:root[data-theme="rc-dark"] .screen[data-bg="end"][data-result="defeat"] { --bg-img: url("../../assets/gen/3d-scenes/art/defeat-tall.jpg"); }
@media (min-aspect-ratio: 1/1) {
  :root[data-theme="rc-dark"] .screen[data-bg] {
    --scrim: linear-gradient(90deg, rgba(6, 5, 15, 0), rgba(6, 5, 15, 0.5) 32%, rgba(6, 5, 15, 0.5) 68%, rgba(6, 5, 15, 0));
  }
  :root[data-theme="rc-dark"] .screen[data-bg="menu"] { --bg-img: url("../../assets/gen/3d-scenes/art/menu-wide.jpg"); }
  :root[data-theme="rc-dark"] .screen[data-bg="lobby"] { --bg-img: url("../../assets/gen/3d-scenes/art/lobby-wide.jpg"); }
  :root[data-theme="rc-dark"] .screen[data-bg="loading"] { --bg-img: url("../../assets/gen/3d-scenes/art/loading-wide.jpg"); }
  :root[data-theme="rc-dark"] .screen[data-bg="end"] { --bg-img: url("../../assets/gen/3d-scenes/art/victory-wide.jpg"); }
  :root[data-theme="rc-dark"] .screen[data-bg="end"][data-result="defeat"] { --bg-img: url("../../assets/gen/3d-scenes/art/defeat-wide.jpg"); }
}
:root[data-theme="rc-dark"] :focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(255, 210, 122, 0.4); }
:root[data-theme="rc-dark"] .btn--primary, :root[data-theme="rc-dark"] .menu-item--primary { border-color: transparent; }
:root[data-theme="rc-dark"] .badge { background: rgba(255, 210, 122, 0.12); color: #FFD27A; border: 1px solid rgba(255, 210, 122, 0.3); }
:root[data-theme="rc-dark"] .banner__title { text-shadow: none; }
/* card face: keep the dark-UI colours inside it, including the original violet Ordnance */
:root[data-theme="rc-dark"] .card { --c-ordnance: #8B6CFF; --c-gold: #FFD27A; --icon-bg: #070B1F; }
:root[data-theme="rc-dark"] .card[data-state="selected"] { --card-line: #818CF8; --card-glow: 0 0 0 1px #818CF8, 0 0 26px rgba(129, 140, 248, 0.5); }
/* card-art language: no dashboard labels, gold on near-black indigo */
:root[data-theme="rc-dark"] .t-label { font: 500 var(--fs-small)/1.3 var(--font-display); letter-spacing: 0; text-transform: none; color: var(--c-gold); }
:root[data-theme="rc-dark"] .panel, :root[data-theme="rc-dark"] .menu-item, :root[data-theme="rc-dark"] .option { border-color: rgba(255, 233, 200, 0.14); }
