/* ============================================================
   Theme System — 4 visual themes for splash cards & terminal
   Each theme defines CSS custom properties that cascade to all
   downstream components. Splash cards scope via data-card-theme;
   terminal/HUD scope via body[data-theme].
   ============================================================ */

/* ---- Default / Unset: inherit Phosphor ---- */
:root {
  /* ---- Color ---- */
  --theme-primary:          #33ff33;
  --theme-primary-dim:      #1a9c1a;
  --theme-primary-bright:   #66ff66;
  --theme-primary-glow:     rgba(51, 255, 51, 0.15);
  --theme-secondary:        #1a9c1a;
  --theme-secondary-dim:    #126e12;
  --theme-bg:               #0c0e0c;
  --theme-bg-screen:        #080c08;
  --theme-panel-bg:         #0a1610;
  --theme-panel-border:     rgba(51, 255, 51, 0.28);
  --theme-suit-color:       rgba(51, 255, 51, 0.65);

  /* Coin rims */
  --theme-border-outer:     linear-gradient(160deg, #5a5038 0%, #7a6c48 15%, #4a4028 30%, #6a5c3c 50%, #7a6c48 70%, #4a4028 85%, #3a3220 100%);
  --theme-border-outer-hover: linear-gradient(140deg, #2a3a28 0%, #1e3020 12%, #142818 35%, #1a2c1a 55%, #0e1a0c 80%, #0a140a 100%);
  --theme-border-inner:     linear-gradient(175deg, #1a1810 0%, #221e14 25%, #1e1a10 50%, #1a1608 75%, #14120a 100%);
  --theme-border-inner-hover: linear-gradient(175deg, #0a1a08 0%, #0e1e0c 25%, #0a1608 50%, #081408 75%, #061208 100%);

  /* Card face */
  --theme-face-gradient:    linear-gradient(175deg, #4a4538 0%, #2c2820 20%, #3a3428 40%, #282218 70%, #1e1a10 100%);
  --theme-face-back:        linear-gradient(175deg, #1e1a10 0%, #2a2418 35%, #1a1608 65%, #12100a 100%);

  /* Text hierarchy (brass tones) */
  --theme-text-classified:  rgba(200, 170, 90, 0.5);
  --theme-text-label:       rgba(160, 140, 90, 0.65);
  --theme-text-title:       rgba(220, 200, 140, 0.85);
  --theme-text-desc:        rgba(180, 160, 100, 0.65);
  --theme-text-book-label:  rgba(220, 200, 140, 0.85);
  --theme-text-book-dot:    rgba(160, 140, 80, 0.4);
  --theme-text-book-dur:    rgba(200, 180, 120, 0.7);
  --theme-text-wheel-val:   rgba(220, 200, 140, 0.85);
  --theme-text-wheel-ctx:   rgba(160, 140, 80, 0.65);
  --theme-text-tag:         rgba(180, 160, 100, 0.65);

  /* Button */
  --theme-btn-border:       rgba(120, 100, 50, 0.3);
  --theme-btn-bg:           linear-gradient(175deg, rgba(30, 26, 16, 0.95) 0%, rgba(22, 20, 12, 0.98) 50%, rgba(28, 24, 14, 0.95) 100%);
  --theme-btn-bg-hover:     linear-gradient(175deg, rgba(40, 34, 18, 0.98) 0%, rgba(30, 26, 14, 1) 50%, rgba(36, 30, 16, 0.98) 100%);

  /* Hover inset highlights (warm brass) */
  --theme-hover-highlight:  rgba(240, 220, 160, 0.35);
  --theme-hover-accent:     rgba(220, 200, 140, 0.15);
  --theme-hover-glow:       rgba(180, 160, 80, 0.06);
  --theme-hover-ring:       rgba(140, 120, 60, 0.18);

  /* Rings (brass-tinted) */
  --theme-ring-tint:        rgba(180, 160, 80, 0.015);

  /* ---- Typography ---- */
  --theme-font-display:     'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
  --theme-font-body:        'Courier New', 'Lucida Console', Consolas, monospace;
  --theme-font-data:        ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;

  /* ---- Metal frame (brass monitor bezel) ---- */
  --metal-frame-bg:         linear-gradient(180deg, #2a2418 0%, #1e1a10 40%, #16130c 100%);
  --metal-frame-border:     linear-gradient(160deg, #5a5038, #7a6c48 30%, #4a4028 60%, #6a5c3c);
  --metal-frame-border-b:   #4a4028;
  --metal-frame-highlight:  rgba(180, 160, 100, 0.08);
  --metal-frame-text:       rgba(200, 180, 120, 0.7);
  --metal-frame-text-dim:   rgba(160, 140, 90, 0.5);
  --metal-frame-inset:      inset 0 1px 0 rgba(180, 160, 100, 0.06), inset 0 -1px 0 rgba(0, 0, 0, 0.3);

  /* ---- Form fields (themed inputs) ---- */
  --field-bg:               rgba(4, 6, 4, 0.8);
  --field-border:           rgba(100, 88, 50, 0.3);
  --field-border-focus:     rgba(140, 120, 60, 0.6);
  --field-glow-focus:       rgba(180, 160, 80, 0.12);
  --field-text:             rgba(220, 210, 180, 0.9);
  --field-placeholder:      rgba(140, 130, 100, 0.3);
  --field-label:            rgba(180, 160, 100, 0.7);
  --field-inset:            inset 0 2px 4px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(0, 0, 0, 0.15);

  /* ---- Atmosphere ---- */
  --theme-scanline-opacity: 0.06;
  --theme-glow-spread:      4px;
  --theme-vignette-color:   rgba(10, 40, 10, 0.3);

  /* ---- Dossier page (paper/folder) ---- */
  --paper-bg:               #f5f0e6;
  --paper-bg-alt:           #eee8d8;
  --paper-line:             rgba(51, 255, 51, 0.08);
  --paper-margin:           rgba(220, 80, 80, 0.15);
  --paper-text:             #2a2418;
  --paper-text-dim:         #5a5040;
  --paper-text-label:       #7a6c50;
  --paper-heading:          #1a1610;
  --folder-bg:              #c9a86c;
  --folder-tab:             #b89858;
  --folder-shadow:          rgba(60, 40, 10, 0.35);
  --desk-bg:                #0e0c08;
  --desk-texture:           rgba(40, 32, 18, 0.3);
  --postit-bg:              rgba(255, 248, 200, 0.92);
  --postit-shadow:          rgba(0, 0, 0, 0.18);
  --field-glow-paper:       rgba(51, 255, 51, 0.12);
  --porthole-btn-glow:      rgba(51, 255, 51, 0.25);
  --porthole-btn-contrast-glow: rgba(255, 100, 40, 0.55);
}


/* ============================================================
   THEME 0 — PHOSPHOR (default)
   Card: Partners (Heart)
   Green CRT terminal — cold-war intelligence briefing screen.
   ============================================================ */
body[data-theme="phosphor"],
.splash-dossier[data-card-theme="phosphor"] {
  --theme-primary:          #33ff33;
  --theme-primary-dim:      #1a9c1a;
  --theme-primary-bright:   #66ff66;
  --theme-primary-glow:     rgba(51, 255, 51, 0.15);
  --theme-secondary:        #1a9c1a;
  --theme-secondary-dim:    #126e12;
  --theme-bg:               #0c0e0c;
  --theme-bg-screen:        #080c08;
  --theme-panel-bg:         #0a1610;
  --theme-panel-border:     rgba(51, 255, 51, 0.28);
  --theme-suit-color:       rgba(51, 255, 51, 0.65);

  --theme-border-outer:     linear-gradient(160deg, #5a5038 0%, #7a6c48 15%, #4a4028 30%, #6a5c3c 50%, #7a6c48 70%, #4a4028 85%, #3a3220 100%);
  --theme-border-outer-hover: linear-gradient(140deg, #2a3a28 0%, #1e3020 12%, #142818 35%, #1a2c1a 55%, #0e1a0c 80%, #0a140a 100%);
  --theme-border-inner:     linear-gradient(175deg, #1a1810 0%, #221e14 25%, #1e1a10 50%, #1a1608 75%, #14120a 100%);
  --theme-border-inner-hover: linear-gradient(175deg, #0a1a08 0%, #0e1e0c 25%, #0a1608 50%, #081408 75%, #061208 100%);

  --theme-face-gradient:    linear-gradient(175deg, #4a4538 0%, #2c2820 20%, #3a3428 40%, #282218 70%, #1e1a10 100%);
  --theme-face-back:        linear-gradient(175deg, #1e1a10 0%, #2a2418 35%, #1a1608 65%, #12100a 100%);

  --theme-text-classified:  rgba(51, 255, 51, 0.40);
  --theme-text-label:       rgba(51, 200, 51, 0.68);
  --theme-text-title:       rgba(120, 255, 120, 0.85);
  --theme-text-desc:        rgba(51, 200, 51, 0.68);
  --theme-text-book-label:  rgba(120, 255, 120, 0.85);
  --theme-text-book-dot:    rgba(51, 180, 51, 0.35);
  --theme-text-book-dur:    rgba(100, 240, 100, 0.7);
  --theme-text-wheel-val:   rgba(120, 255, 120, 0.85);
  --theme-text-wheel-ctx:   rgba(51, 180, 51, 0.76);
  --theme-text-tag:         rgba(51, 200, 51, 0.68);

  --theme-btn-border:       rgba(51, 200, 51, 0.25);
  --theme-btn-bg:           linear-gradient(175deg, rgba(6, 18, 8, 0.95) 0%, rgba(4, 14, 6, 0.98) 50%, rgba(6, 16, 8, 0.95) 100%);
  --theme-btn-bg-hover:     linear-gradient(175deg, rgba(10, 28, 12, 0.98) 0%, rgba(8, 22, 10, 1) 50%, rgba(10, 26, 12, 0.98) 100%);

  --theme-hover-highlight:  rgba(120, 255, 120, 0.20);
  --theme-hover-accent:     rgba(80, 220, 80, 0.10);
  --theme-hover-glow:       rgba(51, 255, 51, 0.06);
  --theme-hover-ring:       rgba(51, 200, 51, 0.15);

  --theme-ring-tint:        rgba(51, 255, 51, 0.012);

  --theme-font-display:     'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
  --theme-font-body:        'Courier New', 'Lucida Console', Consolas, monospace;
  --theme-font-data:        ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;

  --theme-scanline-opacity: 0.06;
  --theme-glow-spread:      4px;
  --theme-vignette-color:   rgba(10, 40, 10, 0.3);

  --paper-bg:               #f0f5ea;
  --paper-bg-alt:           #e4edda;
  --paper-line:             rgba(51, 255, 51, 0.07);
  --paper-text:             #1a2a18;
  --paper-text-dim:         #3a5030;
  --paper-text-label:       #5a7048;
  --paper-heading:          #0e1a0c;
  --postit-bg:              rgba(220, 255, 220, 0.88);
  --field-glow-paper:       rgba(51, 255, 51, 0.15);
  --porthole-btn-glow:      rgba(51, 255, 51, 0.30);
  --porthole-btn-contrast-glow: rgba(255, 100, 40, 0.55);
}


/* ============================================================
   THEME 1 — SILVER
   Card: Scenario 1 (Spade)
   Brushed steel, slate blue — NATO briefing room at 0300.
   ============================================================ */
body[data-theme="silver"],
.splash-dossier[data-card-theme="silver"] {
  --theme-primary:          #b0c4de;
  --theme-primary-dim:      #6a8099;
  --theme-primary-bright:   #d4e4f7;
  --theme-primary-glow:     rgba(176, 196, 222, 0.12);
  --theme-secondary:        #4a6a8a;
  --theme-secondary-dim:    #3a5070;
  --theme-bg:               #0a0c10;
  --theme-bg-screen:        #080a12;
  --theme-panel-bg:         #0c1018;
  --theme-panel-border:     rgba(176, 196, 222, 0.24);
  --theme-suit-color:       rgba(176, 196, 222, 0.70);

  --theme-border-outer:     linear-gradient(160deg, #5a6878 0%, #6a7888 15%, #3a4858 30%, #5a6878 50%, #6a7888 70%, #3a4858 85%, #2a3848 100%);
  --theme-border-outer-hover: linear-gradient(140deg, #6a7a90 0%, #5a6a80 12%, #3a4a60 35%, #4a5a70 55%, #2a3a50 80%, #1e2a3e 100%);
  --theme-border-inner:     linear-gradient(175deg, #1a2030 0%, #202838 25%, #1a2030 50%, #161e28 75%, #121a22 100%);
  --theme-border-inner-hover: linear-gradient(175deg, #1e2838 0%, #222c3c 25%, #1a2432 50%, #162028 75%, #0e1520 100%);

  --theme-face-gradient:    linear-gradient(175deg, #2a3040 0%, #1e2430 20%, #242a38 40%, #1a2028 70%, #141820 100%);
  --theme-face-back:        linear-gradient(175deg, #141820 0%, #1a2028 35%, #121820 65%, #0e1218 100%);

  --theme-text-classified:  rgba(176, 196, 222, 0.46);
  --theme-text-label:       rgba(140, 160, 190, 0.75);
  --theme-text-title:       rgba(200, 216, 240, 0.85);
  --theme-text-desc:        rgba(140, 160, 190, 0.75);
  --theme-text-book-label:  rgba(200, 216, 240, 0.85);
  --theme-text-book-dot:    rgba(120, 140, 170, 0.35);
  --theme-text-book-dur:    rgba(176, 196, 222, 0.7);
  --theme-text-wheel-val:   rgba(212, 228, 247, 0.85);
  --theme-text-wheel-ctx:   rgba(120, 140, 170, 0.87);
  --theme-text-tag:         rgba(140, 160, 190, 0.75);

  --theme-btn-border:       rgba(120, 140, 180, 0.25);
  --theme-btn-bg:           linear-gradient(175deg, rgba(14, 18, 28, 0.95) 0%, rgba(10, 14, 22, 0.98) 50%, rgba(12, 16, 26, 0.95) 100%);
  --theme-btn-bg-hover:     linear-gradient(175deg, rgba(20, 28, 40, 0.98) 0%, rgba(16, 22, 34, 1) 50%, rgba(18, 26, 38, 0.98) 100%);

  --theme-hover-highlight:  rgba(200, 216, 240, 0.25);
  --theme-hover-accent:     rgba(176, 196, 222, 0.12);
  --theme-hover-glow:       rgba(176, 196, 222, 0.06);
  --theme-hover-ring:       rgba(140, 160, 200, 0.15);

  --theme-ring-tint:        rgba(176, 196, 222, 0.012);

  --theme-font-display:     'Times New Roman', 'Palatino Linotype', Palatino, Georgia, serif;
  --theme-font-body:        'Courier New', 'Lucida Console', Consolas, monospace;
  --theme-font-data:        ui-monospace, Consolas, SFMono-Regular, Menlo, 'Liberation Mono', 'Courier New', monospace;

  --theme-scanline-opacity: 0.03;
  --theme-glow-spread:      2px;
  --theme-vignette-color:   rgba(8, 12, 24, 0.35);

  --paper-bg:               #eaeff5;
  --paper-bg-alt:           #dde4f0;
  --paper-line:             rgba(176, 196, 222, 0.10);
  --paper-text:             #1a2030;
  --paper-text-dim:         #3a4a60;
  --paper-text-label:       #4a5a70;
  --paper-heading:          #0e1420;
  --postit-bg:              rgba(210, 225, 250, 0.88);
  --field-glow-paper:       rgba(176, 196, 222, 0.15);
  --porthole-btn-glow:      rgba(176, 196, 222, 0.30);
  --porthole-btn-contrast-glow: rgba(255, 180, 40, 0.55);
}


/* ============================================================
   THEME 2 — AMBER
   Card: Scenario 2 (Club)
   Warm amber on black — Soviet intercept station, vacuum tubes.
   ============================================================ */
body[data-theme="amber"],
.splash-dossier[data-card-theme="amber"] {
  --theme-primary:          #ffb000;
  --theme-primary-dim:      #b37d00;
  --theme-primary-bright:   #ffc640;
  --theme-primary-glow:     rgba(255, 176, 0, 0.15);
  --theme-secondary:        #cc6600;
  --theme-secondary-dim:    #994c00;
  --theme-bg:               #0c0a02;
  --theme-bg-screen:        #0a0802;
  --theme-panel-bg:         #120e06;
  --theme-panel-border:     rgba(255, 176, 0, 0.24);
  --theme-suit-color:       rgba(255, 190, 60, 0.70);

  --theme-border-outer:     linear-gradient(160deg, #6a5a30 0%, #8a7a48 15%, #5a4a28 30%, #7a6a3c 50%, #8a7a48 70%, #5a4a28 85%, #4a3a18 100%);
  --theme-border-outer-hover: linear-gradient(140deg, #8a7640 0%, #7a6a38 12%, #5a4a28 35%, #6a5c30 55%, #4a3c20 80%, #3a2e14 100%);
  --theme-border-inner:     linear-gradient(175deg, #1a1408 0%, #221c0e 25%, #1e180a 50%, #1a1408 75%, #140e04 100%);
  --theme-border-inner-hover: linear-gradient(175deg, #1e1a0c 0%, #262010 25%, #1e1a0c 50%, #1a1608 75%, #100c04 100%);

  --theme-face-gradient:    linear-gradient(175deg, #4a4020 0%, #342c14 20%, #3e3620 40%, #2c2410 70%, #221c08 100%);
  --theme-face-back:        linear-gradient(175deg, #221c08 0%, #2e2610 35%, #1e1808 65%, #161204 100%);

  --theme-text-classified:  rgba(255, 176, 0, 0.47);
  --theme-text-label:       rgba(200, 140, 0, 0.79);
  --theme-text-title:       rgba(255, 198, 64, 0.85);
  --theme-text-desc:        rgba(200, 140, 0, 0.79);
  --theme-text-book-label:  rgba(255, 198, 64, 0.85);
  --theme-text-book-dot:    rgba(180, 120, 0, 0.35);
  --theme-text-book-dur:    rgba(240, 180, 60, 0.7);
  --theme-text-wheel-val:   rgba(255, 198, 64, 0.85);
  --theme-text-wheel-ctx:   rgba(180, 120, 0, 0.91);
  --theme-text-tag:         rgba(200, 140, 0, 0.79);

  --theme-btn-border:       rgba(200, 140, 0, 0.25);
  --theme-btn-bg:           linear-gradient(175deg, rgba(16, 12, 4, 0.95) 0%, rgba(12, 10, 2, 0.98) 50%, rgba(14, 12, 4, 0.95) 100%);
  --theme-btn-bg-hover:     linear-gradient(175deg, rgba(24, 18, 6, 0.98) 0%, rgba(18, 14, 4, 1) 50%, rgba(22, 16, 6, 0.98) 100%);

  --theme-hover-highlight:  rgba(255, 198, 64, 0.25);
  --theme-hover-accent:     rgba(255, 176, 0, 0.12);
  --theme-hover-glow:       rgba(255, 176, 0, 0.06);
  --theme-hover-ring:       rgba(200, 160, 40, 0.15);

  --theme-ring-tint:        rgba(255, 176, 0, 0.012);

  --theme-font-display:     Georgia, 'Palatino Linotype', Palatino, 'Book Antiqua', 'Times New Roman', serif;
  --theme-font-body:        Georgia, 'Palatino Linotype', Palatino, 'Book Antiqua', serif;
  --theme-font-data:        ui-monospace, Consolas, Menlo, 'Courier New', monospace;

  --theme-scanline-opacity: 0.06;
  --theme-glow-spread:      6px;
  --theme-vignette-color:   rgba(20, 12, 0, 0.40);

  --paper-bg:               #f5f0e0;
  --paper-bg-alt:           #ede6d0;
  --paper-line:             rgba(255, 176, 0, 0.08);
  --paper-text:             #2a2010;
  --paper-text-dim:         #5a4820;
  --paper-text-label:       #7a6430;
  --paper-heading:          #1a1408;
  --postit-bg:              rgba(255, 245, 210, 0.90);
  --field-glow-paper:       rgba(255, 176, 0, 0.15);
  --porthole-btn-glow:      rgba(255, 176, 0, 0.30);
  --porthole-btn-contrast-glow: rgba(0, 220, 200, 0.55);
}


/* ============================================================
   THEME 3 — PANTHER
   Card: Mini Games (Diamond)
   Magenta neon + dark forest green + cyan accents + phosphor
   green data fields. Split personality: spy glam over hacker guts.
   ============================================================ */
body[data-theme="panther"],
.splash-dossier[data-card-theme="panther"] {
  --theme-primary:          #ff3090;
  --theme-primary-dim:      #e03090;
  --theme-primary-bright:   #ff60b0;
  --theme-primary-glow:     rgba(255, 48, 144, 0.15);
  --theme-secondary:        #00e5cc;
  --theme-secondary-dim:    #008a7a;
  --theme-bg:               #080c08;
  --theme-bg-screen:        #060a06;
  --theme-panel-bg:         #0c140c;
  --theme-panel-border:     rgba(255, 48, 144, 0.25);
  --theme-suit-color:       rgba(255, 48, 144, 0.70);

  --theme-border-outer:     linear-gradient(160deg, #4a2040 0%, #5a2850 15%, #2a1828 30%, #4a2040 50%, #5a2850 70%, #2a1828 85%, #1e1420 100%);
  --theme-border-outer-hover: linear-gradient(140deg, #5a2850 0%, #4a2040 12%, #2a1828 35%, #3a1e34 55%, #1a1020 80%, #120a16 100%);
  --theme-border-inner:     linear-gradient(175deg, #0e180e 0%, #121e12 25%, #0e180e 50%, #0a140a 75%, #081008 100%);
  --theme-border-inner-hover: linear-gradient(175deg, #0a1a0a 0%, #0e200e 25%, #0a1a0a 50%, #081608 75%, #061208 100%);

  --theme-face-gradient:    linear-gradient(175deg, #1e1228 0%, #141020 20%, #1a1224 40%, #100c1a 70%, #0a0812 100%);
  --theme-face-back:        linear-gradient(175deg, #0a0812 0%, #120e1a 35%, #0a0812 65%, #08060e 100%);

  --theme-text-classified:  rgba(255, 48, 144, 0.67);
  --theme-text-label:       rgba(255, 96, 176, 0.82);
  --theme-text-title:       rgba(255, 96, 176, 0.85);
  --theme-text-desc:        rgba(0, 229, 204, 0.58);
  --theme-text-book-label:  rgba(255, 96, 176, 0.85);
  --theme-text-book-dot:    rgba(255, 96, 176, 0.82);
  --theme-text-book-dur:    rgba(0, 229, 204, 0.7);
  --theme-text-wheel-val:   rgba(51, 255, 51, 0.85);
  --theme-text-wheel-ctx:   rgba(0, 180, 160, 0.75);
  --theme-text-tag:         rgba(0, 229, 204, 0.58);

  --theme-btn-border:       rgba(255, 48, 144, 0.22);
  --theme-btn-bg:           linear-gradient(175deg, rgba(10, 18, 10, 0.95) 0%, rgba(8, 14, 8, 0.98) 50%, rgba(10, 16, 10, 0.95) 100%);
  --theme-btn-bg-hover:     linear-gradient(175deg, rgba(16, 8, 20, 0.98) 0%, rgba(12, 6, 16, 1) 50%, rgba(14, 8, 18, 0.98) 100%);

  --theme-hover-highlight:  rgba(255, 96, 176, 0.20);
  --theme-hover-accent:     rgba(255, 48, 144, 0.10);
  --theme-hover-glow:       rgba(255, 48, 144, 0.06);
  --theme-hover-ring:       rgba(255, 48, 144, 0.15);

  --theme-ring-tint:        rgba(255, 48, 144, 0.012);

  --theme-font-display:     'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
  --theme-font-body:        Georgia, 'Palatino Linotype', 'Book Antiqua', serif;
  --theme-font-data:        ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;

  --theme-scanline-opacity: 0.06;
  --theme-glow-spread:      5px;
  --theme-vignette-color:   rgba(10, 6, 10, 0.45);

  --paper-bg:               #f2ecf5;
  --paper-bg-alt:           #e8e0ee;
  --paper-line:             rgba(255, 48, 144, 0.06);
  --paper-text:             #2a1828;
  --paper-text-dim:         #5a3850;
  --paper-text-label:       #6a4860;
  --paper-heading:          #1a0e18;
  --postit-bg:              rgba(255, 220, 240, 0.88);
  --field-glow-paper:       rgba(255, 48, 144, 0.12);
  --porthole-btn-glow:      rgba(255, 48, 144, 0.25);
  --porthole-btn-contrast-glow: rgba(0, 229, 204, 0.60);
}


/* ============================================================
   THEME 4 — WHITE (Easter Egg)
   Hidden theme: waterproof submarine terminal designed by Apple.
   White plastic/rubber shell with matte inset shadows.
   Monitor screens (log-column, debrief, MOK) stay native phosphor.
   Unlocked via easter egg: drag amber coin to bottom → Join Now.
   ============================================================ */
body[data-theme="white"],
.splash-dossier[data-card-theme="white"] {
  --theme-primary:          #4a5a6a;
  --theme-primary-dim:      #6a7a8a;
  --theme-primary-bright:   #2a3a4a;
  --theme-primary-glow:     rgba(74, 90, 106, 0.08);
  --theme-secondary:        #7a8a9a;
  --theme-secondary-dim:    #5a6a7a;
  --theme-bg:               #d4d8dc;
  --theme-bg-screen:        #e0e3e6;
  --theme-panel-bg:         #e8eaeb;
  --theme-panel-border:     rgba(176, 184, 190, 0.6);
  --theme-suit-color:       rgba(74, 90, 106, 0.65);

  /* Coin rims — brushed aluminum */
  --theme-border-outer:     linear-gradient(160deg, #c8ccd0 0%, #dce0e4 15%, #b0b8be 30%, #c8ccd0 50%, #dce0e4 70%, #b0b8be 85%, #a0a8ae 100%);
  --theme-border-outer-hover: linear-gradient(140deg, #d8dce0 0%, #ccd0d4 12%, #b8bcc0 35%, #c4c8cc 55%, #a8b0b6 80%, #98a0a6 100%);
  --theme-border-inner:     linear-gradient(175deg, #e0e3e6 0%, #d8dce0 25%, #e0e3e6 50%, #dce0e4 75%, #d4d8dc 100%);
  --theme-border-inner-hover: linear-gradient(175deg, #e8eaed 0%, #e0e4e8 25%, #e8eaed 50%, #e4e8ec 75%, #dce0e4 100%);

  /* Card face — matte white plastic */
  --theme-face-gradient:    linear-gradient(175deg, #e8eaeb 0%, #dce0e4 20%, #e0e3e6 40%, #d8dce0 70%, #d4d8dc 100%);
  --theme-face-back:        linear-gradient(175deg, #d4d8dc 0%, #dce0e4 35%, #d0d4d8 65%, #c8ccd0 100%);

  /* Text hierarchy — dark ink on white */
  --theme-text-classified:  rgba(42, 46, 51, 0.55);
  --theme-text-label:       rgba(58, 74, 90, 0.75);
  --theme-text-title:       rgba(42, 46, 51, 0.90);
  --theme-text-desc:        rgba(58, 74, 90, 0.70);
  --theme-text-book-label:  rgba(42, 46, 51, 0.90);
  --theme-text-book-dot:    rgba(100, 112, 124, 0.40);
  --theme-text-book-dur:    rgba(58, 74, 90, 0.75);
  --theme-text-wheel-val:   rgba(42, 46, 51, 0.90);
  --theme-text-wheel-ctx:   rgba(74, 90, 106, 0.70);
  --theme-text-tag:         rgba(58, 74, 90, 0.70);

  /* Button — white plastic */
  --theme-btn-border:       rgba(176, 184, 190, 0.35);
  --theme-btn-bg:           linear-gradient(175deg, rgba(204, 208, 212, 0.95) 0%, rgba(220, 224, 228, 0.98) 50%, rgba(204, 208, 212, 0.95) 100%);
  --theme-btn-bg-hover:     linear-gradient(175deg, rgba(220, 224, 228, 0.98) 0%, rgba(232, 234, 236, 1) 50%, rgba(220, 224, 228, 0.98) 100%);

  /* Hover — subtle cool shadows */
  --theme-hover-highlight:  rgba(42, 46, 51, 0.10);
  --theme-hover-accent:     rgba(74, 90, 106, 0.06);
  --theme-hover-glow:       rgba(74, 90, 106, 0.03);
  --theme-hover-ring:       rgba(120, 130, 140, 0.12);

  --theme-ring-tint:        rgba(74, 90, 106, 0.008);

  /* Typography — clean sans-influenced mono */
  --theme-font-display:     -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;
  --theme-font-body:        -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif;
  --theme-font-data:        'SF Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Courier New', monospace;

  /* Metal frame — brushed aluminum */
  --metal-frame-bg:         linear-gradient(180deg, #e0e3e6 0%, #d4d8dc 40%, #ccd0d4 100%);
  --metal-frame-border:     linear-gradient(160deg, #b0b8be, #c8ccd0 30%, #a0a8ae 60%, #b8bcc0);
  --metal-frame-border-b:   #a0a8ae;
  --metal-frame-highlight:  rgba(255, 255, 255, 0.25);
  --metal-frame-text:       rgba(42, 46, 51, 0.75);
  --metal-frame-text-dim:   rgba(74, 90, 106, 0.55);
  --metal-frame-inset:      inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 -1px 0 rgba(0, 0, 0, 0.08);

  /* Form fields — light recessed */
  --field-bg:               rgba(255, 255, 255, 0.7);
  --field-border:           rgba(176, 184, 190, 0.5);
  --field-border-focus:     rgba(74, 90, 106, 0.6);
  --field-glow-focus:       rgba(74, 90, 106, 0.08);
  --field-text:             rgba(42, 46, 51, 0.9);
  --field-placeholder:      rgba(120, 130, 140, 0.4);
  --field-label:            rgba(58, 74, 90, 0.7);
  --field-inset:            inset 0 2px 4px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(0, 0, 0, 0.04);

  /* Atmosphere — suppressed for clean white */
  --theme-scanline-opacity: 0;
  --theme-glow-spread:      0px;
  --theme-vignette-color:   rgba(0, 0, 0, 0);
}
