/* Cipher Vault — Theme skins (LOCAL PREVIEW, 2026-10-25)
   Themes: classic (default · Original green), mesa-moon, harvest, thanksgiving, full-color (prism night), radio-computer
   Hub wallpaper + puzzle board chrome. Letter glyphs stay high-contrast. */

/* Original · Classic green — live-site look (panel-bg.jpg rack + teal/green chrome) */
:root,
html[data-theme="classic"] {
  --cv-sky-top: #0b0d10;
  --cv-sky-bot: #070808;
  --cv-mesa: #3a4a36;
  --cv-dusk: #4ade80;
  --cv-accent-gold: #f5c14a;
  --cv-panel: rgba(12, 16, 14, 0.78);
  --cv-panel-border: #3d4d38;
  --cv-trim: #7dff8a;
  --cv-ink: #d7f3d2;
  --cv-muted: #8ea88a;
  --cv-wallpaper: url("panel-bg.jpg");
  --cv-wallpaper-pos: center 42%;
  --cv-vignette: linear-gradient(180deg, rgba(6, 8, 6, 0.32), rgba(6, 8, 6, 0.58));
  --cv-cta-bg: #1a3a22;
  --cv-cta-border: #7dff8a;
  --cv-cta-ink: #d7f3d2;
  --cv-ghost-border: #4a5c42;
  --cv-ghost-ink: #cfe8cb;
  --cv-chip-bg: rgba(22, 32, 24, 0.92);
  --cv-chip-border: #4a5c42;
  --cv-prism: none;
  /* Puzzle board chrome — matches unthemed index.html cells */
  --cv-cell-bg: #101722;
  --cv-cell-border: #2b364c;
  --cv-cell-hover: #4b5f84;
  --cv-cell-active-bg: #132033;
  --cv-cell-active-border: #7dff8a;
  --cv-cell-active-glow: rgba(125, 255, 138, 0.32);
  --cv-cell-given-bg: #182235;
  --cv-cell-empty-bg: #101722;
  --cv-quote-bg: rgba(8, 12, 9, 0.40);
  --cv-quote-border: #3d4d38;
  --cv-soft-hint-bg: #101722;
  --cv-soft-hint-border: #3b4a66;
  --cv-map-border: #3a4a36;
  --cv-kb-border: #3d4d38;
  --cv-num-ink: #8ea88a;
  --cv-guess-ink: #d7f3d2;
  --cv-word-border: #4ade80;
  --cv-word-bg: rgba(74, 222, 128, 0.08);
}

html[data-theme="mesa-moon"] {
  --cv-sky-top: #1A1F3A;
  --cv-sky-bot: #0E1228;
  --cv-mesa: #8B5A3C;
  --cv-dusk: #C4784A;
  --cv-accent-gold: #E8C97A;
  --cv-panel: rgba(30, 28, 36, 0.92);
  --cv-panel-border: #5a4a32;
  --cv-trim: #E8C97A;
  --cv-ink: #F2EDE4;
  --cv-muted: #b8a990;
  --cv-wallpaper: url("skins/skin_mesa_moon_event_key.png");
  --cv-wallpaper-pos: center 40%;
  --cv-vignette: linear-gradient(180deg, rgba(14, 18, 40, 0.42), rgba(14, 18, 40, 0.72));
  --cv-cta-bg: #2a2418;
  --cv-cta-border: #E8C97A;
  --cv-cta-ink: #F2EDE4;
  --cv-ghost-border: #6a5a40;
  --cv-ghost-ink: #e8dcc4;
  --cv-chip-bg: rgba(22, 20, 28, 0.88);
  --cv-chip-border: #6a5438;
  --cv-prism: none;
  --cv-cell-bg: #141a28;
  --cv-cell-border: #3a4a38;
  --cv-cell-hover: #5a6a48;
  --cv-cell-active-bg: #1a2430;
  --cv-cell-active-border: #E8C97A;
  --cv-cell-active-glow: rgba(232, 201, 122, 0.32);
  --cv-cell-given-bg: #1a2234;
  --cv-cell-empty-bg: #101722;
  --cv-quote-bg: rgba(10, 14, 22, 0.42);
  --cv-quote-border: #5a4a32;
  --cv-soft-hint-bg: #141a28;
  --cv-soft-hint-border: #4a5a40;
  --cv-map-border: #5a4a32;
  --cv-kb-border: #5a4a32;
  --cv-num-ink: #9aa8b8;
  --cv-guess-ink: #F2EDE4;
  --cv-word-border: #E8C97A;
  --cv-word-bg: rgba(232, 201, 122, 0.10);
}

html[data-theme="harvest"] {
  --cv-sky-top: #2A1830;
  --cv-sky-bot: #1A1024;
  --cv-mesa: #8A4030;
  --cv-dusk: #D4783A;
  --cv-accent-gold: #E8B86A;
  --cv-panel: rgba(36, 24, 32, 0.92);
  --cv-panel-border: #8A4030;
  --cv-trim: #E89840;
  --cv-ink: #FFF4E6;
  --cv-muted: #d4b090;
  --cv-wallpaper: url("skins/skin_harvest_event_key.png");
  --cv-wallpaper-pos: center 40%;
  --cv-vignette: linear-gradient(180deg, rgba(42, 24, 48, 0.40), rgba(26, 16, 36, 0.78));
  --cv-cta-bg: #3a2214;
  --cv-cta-border: #E89840;
  --cv-cta-ink: #FFF4E6;
  --cv-ghost-border: #8A5040;
  --cv-ghost-ink: #ffe8d0;
  --cv-chip-bg: rgba(36, 22, 28, 0.90);
  --cv-chip-border: #A06040;
  --cv-prism: none;
  --cv-cell-bg: #1c1420;
  --cv-cell-border: #6a4030;
  --cv-cell-hover: #8a5040;
  --cv-cell-active-bg: #241820;
  --cv-cell-active-border: #E89840;
  --cv-cell-active-glow: rgba(232, 152, 64, 0.34);
  --cv-cell-given-bg: #221820;
  --cv-cell-empty-bg: #161018;
  --cv-quote-bg: rgba(18, 12, 18, 0.42);
  --cv-quote-border: #8A4030;
  --cv-soft-hint-bg: #1c1420;
  --cv-soft-hint-border: #8A5040;
  --cv-map-border: #8A4030;
  --cv-kb-border: #8A4030;
  --cv-num-ink: #c8a888;
  --cv-guess-ink: #FFF4E6;
  --cv-word-border: #E89840;
  --cv-word-bg: rgba(232, 152, 64, 0.12);
}

html[data-theme="thanksgiving"] {
  /* Feast table · cranberry / wine / candle gold / warm wood (distinct from harvest purple dusk) */
  --cv-sky-top: #2A1218;
  --cv-sky-bot: #160A0C;
  --cv-mesa: #6B2A22;
  --cv-dusk: #9B2D3A;
  --cv-accent-gold: #F0C070;
  --cv-panel: rgba(28, 14, 12, 0.93);
  --cv-panel-border: #8A3A2E;
  --cv-trim: #E89840;
  --cv-ink: #FFF4E6;
  --cv-muted: #d4a888;
  --cv-wallpaper: url("skins/skin_thanksgiving_event_key.png");
  --cv-wallpaper-pos: center 42%;
  --cv-vignette: linear-gradient(180deg, rgba(42, 18, 20, 0.38), rgba(18, 8, 10, 0.78));
  --cv-cta-bg: #3A1814;
  --cv-cta-border: #E89840;
  --cv-cta-ink: #FFF4E6;
  --cv-ghost-border: #8A4030;
  --cv-ghost-ink: #ffe8d0;
  --cv-chip-bg: rgba(32, 14, 12, 0.92);
  --cv-chip-border: #A04830;
  --cv-prism: none;
  --cv-cell-bg: #1A100E;
  --cv-cell-border: #6A3028;
  --cv-cell-hover: #8A4030;
  --cv-cell-active-bg: #241410;
  --cv-cell-active-border: #F0C070;
  --cv-cell-active-glow: rgba(240, 192, 112, 0.36);
  --cv-cell-given-bg: #221210;
  --cv-cell-empty-bg: #140C0A;
  --cv-quote-bg: rgba(16, 8, 8, 0.45);
  --cv-quote-border: #8A3A2E;
  --cv-soft-hint-bg: #1A100E;
  --cv-soft-hint-border: #8A4030;
  --cv-map-border: #8A3A2E;
  --cv-kb-border: #8A3A2E;
  --cv-num-ink: #c8a088;
  --cv-guess-ink: #FFF4E6;
  --cv-word-border: #E89840;
  --cv-word-bg: rgba(155, 45, 58, 0.14);
}

html[data-theme="full-color"] {
  --cv-sky-top: #12183A;
  --cv-sky-bot: #0a0e24;
  --cv-mesa: #2E2848;
  --cv-dusk: #E84AA8;
  --cv-accent-gold: #F0D078;
  --cv-panel: rgba(22, 24, 56, 0.92);
  --cv-panel-border: #5CB8FF;
  --cv-trim: #B07CFF;
  --cv-ink: #FFF8F0;
  --cv-muted: #c8c0e0;
  --cv-wallpaper: url("skins/skin_fullcolor_event_key_prism_night.png");
  --cv-wallpaper-pos: center 40%;
  --cv-vignette: linear-gradient(180deg, rgba(18, 24, 58, 0.38), rgba(10, 14, 36, 0.78));
  --cv-cta-bg: #241838;
  --cv-cta-border: #F0D078;
  --cv-cta-ink: #FFF8F0;
  --cv-ghost-border: #5CB8FF;
  --cv-ghost-ink: #e8f4ff;
  --cv-chip-bg: rgba(20, 22, 48, 0.90);
  --cv-chip-border: #B07CFF;
  --cv-prism: linear-gradient(90deg, #FF5C7A, #FFB84A, #FFE66A, #5CFFB0, #5CB8FF, #B07CFF);
  --cv-cell-bg: #121830;
  --cv-cell-border: #4a60a0;
  --cv-cell-hover: #6a80c0;
  --cv-cell-active-bg: #182040;
  --cv-cell-active-border: #5CB8FF;
  --cv-cell-active-glow: rgba(176, 124, 255, 0.38);
  --cv-cell-given-bg: #181e3a;
  --cv-cell-empty-bg: #0e1228;
  --cv-quote-bg: rgba(10, 12, 28, 0.42);
  --cv-quote-border: #5CB8FF;
  --cv-soft-hint-bg: #121830;
  --cv-soft-hint-border: #B07CFF;
  --cv-map-border: #5CB8FF;
  --cv-kb-border: #5CB8FF;
  --cv-num-ink: #a8b0d0;
  --cv-guess-ink: #FFF8F0;
  --cv-word-border: #5CB8FF;
  --cv-word-bg: rgba(176, 124, 255, 0.12);
}

/* Full of colors · Radio Computer — NO pink/magenta; phosphor green + amber + bakelite */
html[data-theme="radio-computer"] {
  --cv-sky-top: #0e1418;
  --cv-sky-bot: #080c10;
  --cv-mesa: #5a4630;
  --cv-dusk: #E8A040;
  --cv-accent-gold: #E8C060;
  --cv-panel: rgba(16, 20, 18, 0.94);
  --cv-panel-border: #3a8a50;
  --cv-trim: #70d070;
  --cv-ink: #E8F0E0;
  --cv-muted: #9ab090;
  --cv-wallpaper: url("skins/skin_fullcolor_radio_computer_event_key.png");
  --cv-wallpaper-pos: center center;
  --cv-vignette: linear-gradient(180deg, rgba(8, 12, 14, 0.35), rgba(6, 10, 12, 0.82));
  --cv-cta-bg: #1a2218;
  --cv-cta-border: #70d070;
  --cv-cta-ink: #E8F0E0;
  --cv-ghost-border: #E8A040;
  --cv-ghost-ink: #ffe8c0;
  --cv-chip-bg: rgba(12, 16, 14, 0.92);
  --cv-chip-border: #4a7050;
  --cv-prism: linear-gradient(90deg, #3a8a50, #70d070, #E8C060, #E8A040, #5ab0a0);
  --cv-cell-bg: #101610;
  --cv-cell-border: #3a5a40;
  --cv-cell-hover: #5a8a58;
  --cv-cell-active-bg: #142018;
  --cv-cell-active-border: #70d070;
  --cv-cell-active-glow: rgba(112, 208, 112, 0.36);
  --cv-cell-given-bg: #141c14;
  --cv-cell-empty-bg: #0c100c;
  --cv-quote-bg: rgba(8, 12, 10, 0.40);
  --cv-quote-border: #3a8a50;
  --cv-soft-hint-bg: #101610;
  --cv-soft-hint-border: #E8A040;
  --cv-map-border: #3a8a50;
  --cv-kb-border: #3a8a50;
  --cv-num-ink: #8aa888;
  --cv-guess-ink: #E8F0E0;
  --cv-word-border: #70d070;
  --cv-word-bg: rgba(112, 208, 112, 0.10);
}

/* Map brand tokens used by hub chrome */
html[data-theme] {
  --ink: var(--cv-ink);
  --muted: var(--cv-muted);
  --panel: var(--cv-panel);
  --line: var(--cv-panel-border);
  --chip: var(--cv-chip-bg);
  --accent: #7dff8a;
  --warn: var(--cv-accent-gold);
}

/* Hub wallpaper */
html[data-theme] body::before {
  background-color: var(--cv-sky-bot);
  background-image:
    var(--cv-vignette),
    var(--cv-wallpaper);
  background-size: cover, cover;
  background-position: center, var(--cv-wallpaper-pos);
  background-repeat: no-repeat;
}

html[data-theme="full-color"] body::after {
  background:
    linear-gradient(180deg, rgba(255, 92, 122, 0.06), transparent 35%, rgba(92, 184, 255, 0.05)),
    repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0px,
      rgba(0,0,0,0) 2px,
      rgba(0, 0, 0, 0.10) 3px
    );
}

html[data-theme="radio-computer"] body::after {
  background:
    linear-gradient(180deg, rgba(112, 208, 112, 0.05), transparent 40%, rgba(232, 160, 64, 0.04)),
    repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0px,
      rgba(0,0,0,0) 2px,
      rgba(0, 0, 0, 0.12) 3px
    );
}

/* Hub / menu chrome */
html[data-theme] .controls,
html[data-theme] .toolbar,
html[data-theme] .keyboard,
html[data-theme] .stats,
html[data-theme] .solved-card,
html[data-theme] .rules,
html[data-theme] .source-hint,
html[data-theme] .account-bar,
html[data-theme] .promos-card,
html[data-theme] .games-item,
html[data-theme] .promos-item,
html[data-theme] .map {
  background: var(--cv-panel);
  border-color: var(--cv-panel-border);
  box-shadow: inset 0 0 0 1px rgba(232, 201, 122, 0.08), var(--shadow);
}

html[data-theme="full-color"] .controls,
html[data-theme="full-color"] .account-bar {
  box-shadow:
    inset 0 0 0 1px rgba(176, 124, 255, 0.18),
    0 0 0 1px rgba(92, 184, 255, 0.15),
    var(--shadow);
}

html[data-theme="classic"] .controls,
html[data-theme="classic"] .account-bar {
  box-shadow:
    inset 0 0 0 1px rgba(125, 255, 138, 0.10),
    var(--shadow);
}
html[data-theme="radio-computer"] .controls,
html[data-theme="radio-computer"] .account-bar {
  box-shadow:
    inset 0 0 0 1px rgba(112, 208, 112, 0.16),
    0 0 0 1px rgba(232, 160, 64, 0.12),
    var(--shadow);
}

html[data-theme] .wallet-pill {
  background: var(--cv-chip-bg);
  border-color: var(--cv-chip-border);
  color: var(--cv-muted);
  box-shadow: inset 0 0 0 1px rgba(232, 201, 122, 0.10), var(--shadow);
}
html[data-theme] .wallet-pill b { color: var(--cv-ink); }

/* Points chip stays distinct (gold coin edge) — do not merge with Moon Bucks later */
html[data-theme] .wallet-pill.points-pill,
html[data-theme] .points-pill {
  border-color: #e7b84a;
  color: #ffe7b0;
}
html[data-theme] .supporter-pill {
  border-color: var(--cv-accent-gold);
}

html[data-theme] button.primary {
  background: var(--cv-cta-bg);
  border-color: var(--cv-cta-border);
  color: var(--cv-cta-ink);
}
html[data-theme] button.ghost {
  background: rgba(8, 10, 16, 0.55);
  border-color: var(--cv-ghost-border);
  color: var(--cv-ghost-ink);
}

html[data-theme] .brand h1 {
  color: var(--cv-ink);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
}
html[data-theme="harvest"] .brand h1 {
  text-shadow: 0 0 18px rgba(240, 176, 96, 0.35), 0 1px 12px rgba(0, 0, 0, 0.55);
}
html[data-theme="thanksgiving"] .brand h1 {
  text-shadow: 0 0 18px rgba(240, 192, 112, 0.40), 0 0 10px rgba(155, 45, 58, 0.35), 0 1px 12px rgba(0, 0, 0, 0.55);
}
html[data-theme="full-color"] .brand h1 {
  background: linear-gradient(90deg, #FFE66A, #5CFFB0, #5CB8FF, #B07CFF, #FF5C7A);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65));
}
html[data-theme="classic"] .brand h1 {
  color: #d7f3d2;
  text-shadow: 0 0 12px rgba(125, 255, 138, 0.22), 0 1px 10px rgba(0, 0, 0, 0.55);
}
html[data-theme="radio-computer"] .brand h1 {
  color: #c8f0c0;
  text-shadow: 0 0 14px rgba(112, 208, 112, 0.45), 0 1px 10px rgba(0, 0, 0, 0.65);
}

html[data-theme] .xp-wrap {
  border: 1px solid var(--cv-panel-border);
  border-radius: 8px;
  padding: 8px 10px;
  background: var(--cv-chip-bg);
}
html[data-theme] .xp-fill {
  background: linear-gradient(90deg, var(--cv-dusk), var(--cv-accent-gold));
}
html[data-theme="full-color"] .xp-fill {
  background: linear-gradient(90deg, #FF5C7A, #FFB84A, #5CFFB0, #5CB8FF, #B07CFF);
}
html[data-theme="radio-computer"] .xp-fill {
  background: linear-gradient(90deg, #3a8a50, #70d070, #E8C060, #E8A040);
}


/* Thanksgiving XP turkey — progress thumb; hidden on other themes */
.xp-turkey {
  display: none;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(-50%, -55%);
  font-size: 15px;
  line-height: 1;
  z-index: 3;
  pointer-events: none;
  transition: left 0.9s ease;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
  user-select: none;
}
html[data-theme="thanksgiving"] .xp-track {
  overflow: visible;
  border-color: #8A3A2E;
  background: #140A08;
}
html[data-theme="thanksgiving"] .xp-fill {
  background: linear-gradient(90deg, #6B2A22, #9B2D3A, #E89840, #F0C070);
  box-shadow: 0 0 10px rgba(232, 152, 64, 0.35);
  border-radius: 999px;
}
html[data-theme="thanksgiving"] .xp-turkey {
  display: block;
}

html[data-theme="full-color"] .cv-theme-card,
html[data-theme="full-color"] #screenMenu .controls {
  border-image: linear-gradient(90deg, #FF5C7A, #FFB84A, #FFE66A, #5CFFB0, #5CB8FF, #B07CFF) 1;
}
html[data-theme="radio-computer"] .cv-theme-card[aria-selected="true"],
html[data-theme="radio-computer"] #screenMenu .controls {
  border-color: #70d070;
}

/* ========== Puzzle board chrome (themed) + LOCK letter contrast ========== */
html[data-theme] .quote-box {
  /* Panel backing removed — wallpaper shows through; word tiles keep their own boxes */
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-theme] .cipher .cell {
  background: var(--cv-cell-empty-bg) !important;
  border: 1px solid var(--cv-cell-border) !important;
  color: var(--cv-guess-ink);
}
html[data-theme] .cipher .cell:hover {
  border-color: var(--cv-cell-hover) !important;
}
html[data-theme] .cipher .cell.active {
  border-color: var(--cv-cell-active-border) !important;
  box-shadow: 0 0 0 2px var(--cv-cell-active-glow) !important;
  background: var(--cv-cell-active-bg) !important;
}
html[data-theme] .cipher .cell.given {
  background: var(--cv-cell-given-bg) !important;
}
html[data-theme] .cipher .cell.filled {
  background: var(--cv-cell-bg) !important;
}

/* Glyph faces — high contrast, never rainbow-washed or autumn brown-on-brown */

/* Letter / number glyphs: no glow (opaque tiles — shadows not needed) */
html[data-theme] .cipher .guess,
html[data-theme] .cipher .num,
html[data-theme] .cipher .cell,
html[data-theme] .cipher .cell .guess,
html[data-theme] .cipher .cell .num,
html[data-theme] .cipher .word .guess,
html[data-theme] .cipher .word .num {
  text-shadow: none !important;
  filter: none;
}
html[data-theme] .cipher .guess {
  color: var(--cv-guess-ink) !important;
  text-shadow: none !important;
}
html[data-theme] .cipher .cell.filled .guess { color: var(--cv-guess-ink) !important; text-shadow: none !important; }
html[data-theme] .cipher .cell.correct .guess { color: #4ade80 !important; text-shadow: none !important; }
html[data-theme] .cipher .cell.wrong .guess { color: #f87171 !important; text-shadow: none !important; }
html[data-theme] .cipher .num { color: var(--cv-num-ink) !important; text-shadow: none !important; }

/* Word frames follow each theme's accent/chrome (not locked green) */
html[data-theme] .cipher .word {
  border-color: var(--cv-word-border) !important;
  background: var(--cv-word-bg) !important;
}

html[data-theme] .keyboard {
  border-color: var(--cv-kb-border) !important;
}
html[data-theme] .map {
  border-color: var(--cv-map-border) !important;
}
html[data-theme] .soft-hint-box {
  background: var(--cv-soft-hint-bg) !important;
  border-color: var(--cv-soft-hint-border) !important;
  color: var(--cv-muted);
}
html[data-theme] .soft-hint-box b { color: var(--cv-trim); }
html[data-theme] .toolbar {
  border-color: var(--cv-panel-border) !important;
}
html[data-theme] .source-hint {
  border-color: var(--cv-panel-border) !important;
}

/* Harvest: slightly warmer empty wells, still dark enough for cream letters */
html[data-theme="harvest"] .cipher .cell {
  box-shadow: inset 0 0 0 1px rgba(232, 152, 64, 0.06);
}
html[data-theme="full-color"] .cipher .cell.active {
  box-shadow:
    0 0 0 2px var(--cv-cell-active-glow),
    0 0 12px rgba(92, 184, 255, 0.18) !important;
}
html[data-theme="radio-computer"] .cipher .cell.active {
  box-shadow:
    0 0 0 2px var(--cv-cell-active-glow),
    0 0 10px rgba(232, 160, 64, 0.16) !important;
}

/* ========== Theme picker UI ========== */
.cv-theme-picker {
  display: block !important;
  grid-template-columns: none !important;
}
.cv-theme-grid {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}
.cv-theme-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  text-align: left;
  padding: 10px;
  border-radius: 12px;
  border: 2px solid var(--cv-panel-border, #5a4a32);
  background: rgba(8, 10, 16, 0.72);
  color: var(--cv-ink, #F2EDE4);
  cursor: pointer;
  width: 100%;
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
}
.cv-theme-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  display: block;
  background: #111;
}
.cv-theme-name {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--cv-ink, #F2EDE4);
}
.cv-theme-desc {
  font-size: 0.85rem;
  color: var(--cv-muted, #b8a990);
}
.cv-theme-card[aria-selected="true"] {
  border-color: var(--cv-accent-gold, #E8C97A);
  box-shadow: 0 0 0 2px rgba(232, 201, 122, 0.35), var(--shadow);
}
html[data-theme="full-color"] .cv-theme-card[aria-selected="true"] {
  border-color: #5CB8FF;
  box-shadow: 0 0 0 2px rgba(176, 124, 255, 0.4), var(--shadow);
}
html[data-theme="classic"] .cv-theme-card[aria-selected="true"] {
  border-color: #7dff8a;
  box-shadow: 0 0 0 2px rgba(125, 255, 138, 0.4), var(--shadow);
}
html[data-theme="radio-computer"] .cv-theme-card[aria-selected="true"] {
  border-color: #70d070;
  box-shadow: 0 0 0 2px rgba(112, 208, 112, 0.4), var(--shadow);
}
.cv-theme-note {
  margin: 0 0 12px;
  color: var(--cv-muted, #b8a990);
  font-size: 0.82rem;
}

#themeBtn.cv-theme-active {
  border-color: var(--cv-trim);
  color: var(--cv-ink);
}



/* cv-nov1-20261028inv1 — November Daily Vault fall/Thanksgiving surface (body.cv-nov-daily) */
/* Applies only while a November Daily puzzle is open; does not rewrite saved data-theme. */
body.cv-nov-daily,
body.cv-nov-daily-menu {
  --cv-nov-cranberry: #9B2D3A;
  --cv-nov-wine: #6B2A22;
  --cv-nov-orange: #E89840;
  --cv-nov-gold: #F0C070;
  --cv-nov-cream: #FFF4E6;
  --cv-nov-wood: #3A1814;
}
body.cv-nov-daily-menu #dailyVaultBtn[data-marker="cv-nov1-20261028-novdaily"] {
  border-color: var(--cv-nov-orange, #E89840) !important;
  background: linear-gradient(160deg, #3A1814, #6B2A22) !important;
  color: var(--cv-nov-cream, #FFF4E6) !important;
  box-shadow: 0 0 0 1px rgba(240, 192, 112, 0.35), 0 6px 16px rgba(60, 20, 16, 0.45);
}
body.cv-nov-daily.mode-game {
  --cv-panel: rgba(28, 14, 12, 0.93);
  --cv-panel-border: #8A3A2E;
  --cv-trim: #E89840;
  --cv-ink: #FFF4E6;
  --cv-muted: #d4a888;
  --cv-accent-gold: #F0C070;
  --cv-cta-bg: #3A1814;
  --cv-cta-border: #E89840;
  --cv-cta-ink: #FFF4E6;
  --cv-ghost-border: #8A4030;
  --cv-ghost-ink: #ffe8d0;
  --cv-chip-bg: rgba(32, 14, 12, 0.92);
  --cv-chip-border: #A04830;
  --cv-cell-bg: #1A100E;
  --cv-cell-border: #6A3028;
  --cv-cell-hover: #8A4030;
  --cv-cell-active-bg: #241410;
}
body.cv-nov-daily.mode-game #screenGame .quote-box,
body.cv-nov-daily.mode-game #screenGame .game-top,
body.cv-nov-daily.mode-game #screenGame .stats,
body.cv-nov-daily.mode-game #screenGame .map {
  border-color: rgba(232, 152, 64, 0.45);
  box-shadow: inset 0 0 0 1px rgba(155, 45, 58, 0.25);
}
body.cv-nov-daily.mode-game #screenGame .wallet-pill {
  border-color: rgba(240, 192, 112, 0.45);
  background: rgba(58, 24, 20, 0.85);
  color: #FFF4E6;
}
body.cv-nov-daily.mode-game #catBadge {
  background: #6B2A22;
  border-color: #E89840;
  color: #FFF4E6;
}
body.cv-nov-daily.mode-game #catBadge::before {
  content: "🦃 ";
}
body.cv-nov-daily.mode-game .game-actions .ghost {
  border-color: #8A4030;
  color: #ffe8d0;
}
body.cv-nov-daily.mode-game #invUseNote {
  color: #F0C070;
}
.inv-use-note {
  flex: 1 1 100%;
  margin: 0;
  font-size: 0.82rem;
  color: var(--cv-muted, #b8a990);
}
#winCalBtn:not(.hidden) {
  border-color: #E89840;
  background: linear-gradient(160deg, #3A1814, #6B2A22);
  color: #FFF4E6;
}
