/* =========================================================
   Photo Illusions — ICE theme (bright ice-blue + white), base layer
   Loaded AFTER every original stylesheet when <html data-theme="ice"> (tools/build.py THEME = "ice").
   Every rule is scoped to [data-theme="ice"], so the original dark look returns by setting THEME = "".
   Palette + rules for section files: _planning/ICE_THEME.md
   ========================================================= */
[data-theme="ice"] {
  --bg: #f4f9fe;            /* page: ice white */
  --bg-2: #eaf4fc;          /* alternate band */
  --bg-3: #dcecf9;          /* deeper frost */
  --ink: #0a1f36;           /* headings + body text: deep navy */
  --ink-2: #2c4560;         /* secondary text */
  --muted: #5a6f88;         /* captions, labels (4.8:1 on --bg) */
  --line: rgba(14, 92, 160, .14);
  --line-2: rgba(14, 92, 160, .24);
  --glass: rgba(255, 255, 255, .78);
  --cyan: #04689f;          /* accent TEXT + borders (5.9:1 on white, AA on the tinted bands too) */
  --violet: #4f53d6;        /* second accent (periwinkle) */
  --magenta: #7a5cf0;       /* third accent (lilac, replaces hot pink) */
  --gold: #8a5a06;          /* "New" text on white (5.6:1) */
  --ice: #38b6f5;           /* bright ice blue: fills, glows, icons (not small text) */
  --ice-2: #bfe8fb;         /* pale ice: tints, hovers */
  --frost: #ffffff;
  --grad: linear-gradient(100deg, #0284c7 0%, #2563eb 52%, #5b4fe0 100%);          /* gradient text, bars, ticks */
  --grad-btn: linear-gradient(100deg, #7fdcff 0%, #43bdf6 48%, #8db0ff 100%);     /* primary buttons (navy text) */
  --grad-soft: linear-gradient(160deg, #ffffff 0%, #eef6fd 100%);                   /* cards */
  --shadow-1: 0 1px 2px rgba(16, 60, 110, .06), 0 10px 30px -14px rgba(16, 60, 110, .28);
  --shadow-2: 0 2px 6px rgba(16, 60, 110, .06), 0 28px 70px -30px rgba(16, 60, 110, .42);
  --glow-c: 0 0 0 1px rgba(56, 182, 245, .25), 0 10px 30px -10px rgba(56, 182, 245, .55);
  --glow-v: 0 0 0 1px rgba(79, 83, 214, .2), 0 10px 30px -10px rgba(79, 83, 214, .45);
  --glow-m: 0 0 0 1px rgba(122, 92, 240, .2), 0 10px 30px -10px rgba(122, 92, 240, .45);
  color-scheme: light;
}
html[data-theme="ice"] { background: var(--bg); }
[data-theme="ice"] body {
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(56, 182, 245, .10), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(99, 102, 241, .06), transparent 60%),
    var(--bg);
  color: var(--ink);
}
[data-theme="ice"] ::selection { background: rgba(56, 182, 245, .3); color: var(--ink); }
[data-theme="ice"] .skip { background: var(--cyan); color: #fff; }

/* logo mark gradient (sprite <linearGradient id="piGrad">) */
[data-theme="ice"] #piGrad stop:nth-child(1) { stop-color: #0ea5e9; }
[data-theme="ice"] #piGrad stop:nth-child(2) { stop-color: #2563eb; }
[data-theme="ice"] #piGrad stop:nth-child(3) { stop-color: #6d5cf0; }

/* neon product icons are glow-on-black JPGs: invert them into crisp blue line art that sits on white */
[data-theme="ice"] img[src*="assets/img/icons/"] { filter: invert(1) hue-rotate(180deg) saturate(1.6) contrast(1.05); mix-blend-mode: multiply; }

[data-theme="ice"] .dot:not(.live) { background: var(--ice); box-shadow: 0 0 0 3px rgba(56, 182, 245, .2); }
[data-theme="ice"] .dot.live { box-shadow: 0 0 0 3px rgba(255, 59, 107, .18); }   /* live dots stay red */
[data-theme="ice"] .eyebrow { color: var(--cyan); }
[data-theme="ice"] .eyebrow .tick { box-shadow: none; }

/* ---------- buttons ---------- */
[data-theme="ice"] .btn-glow {
  color: #03203d; background: var(--grad-btn);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .6) inset, 0 10px 26px -10px rgba(14, 140, 220, .65), 0 2px 6px rgba(16, 60, 110, .12);
}
[data-theme="ice"] .btn-glow::after { background: var(--grad-btn); filter: blur(16px); opacity: .35; }
[data-theme="ice"] .btn-glow:hover::after { opacity: .65; }
[data-theme="ice"] .btn-glass {
  color: var(--ink); background: rgba(255, 255, 255, .78); border: 1px solid var(--line-2); box-shadow: 0 2px 8px -4px rgba(16, 60, 110, .2);
}
[data-theme="ice"] .btn-glass:hover { background: #fff; border-color: var(--ice); box-shadow: 0 10px 26px -12px rgba(14, 140, 220, .55); }

/* ---------- nav ---------- */
[data-theme="ice"] .nav.scrolled, [data-theme="ice"] .nav.open {
  background: rgba(255, 255, 255, .86); border-bottom-color: var(--line); box-shadow: 0 6px 24px -18px rgba(16, 60, 110, .45);
}
[data-theme="ice"] .brand-mark { filter: drop-shadow(0 2px 6px rgba(14, 140, 220, .35)); }
[data-theme="ice"] .nav-links a { color: var(--ink-2); }
[data-theme="ice"] .nav-links a:hover, [data-theme="ice"] .nav-links a.is-active { color: var(--ink); }
[data-theme="ice"] .nav-links a::after { box-shadow: none; }
[data-theme="ice"] .nav-status i { background: #10b981; box-shadow: 0 0 0 3px rgba(16, 185, 129, .18); }
[data-theme="ice"] .nav-toggle { background: #fff; border-color: var(--line-2); }
@media (max-width: 1024px) {
  [data-theme="ice"] .nav-links { background: rgba(255, 255, 255, .98); box-shadow: 0 24px 40px -24px rgba(16, 60, 110, .4); }
  [data-theme="ice"] .nav-links .nav-book { background: var(--grad-btn); color: #03203d; box-shadow: 0 10px 26px -12px rgba(14, 140, 220, .7); }
  [data-theme="ice"] .nav-links .nav-book:hover { color: #03203d; }
  [data-theme="ice"] .nav::before { background: rgba(10, 31, 54, .28); }
}

/* ---------- ticker ---------- */
[data-theme="ice"] .ticker { background: linear-gradient(90deg, rgba(56, 182, 245, .08), rgba(99, 102, 241, .07), rgba(56, 182, 245, .08)); }
[data-theme="ice"] .ticker-track span::after { box-shadow: none; }

/* ---------- shared layout ---------- */
[data-theme="ice"] .sec + .sec { border-top-color: rgba(14, 92, 160, .08); }
[data-theme="ice"] .glass {
  background: linear-gradient(160deg, rgba(255, 255, 255, .94), rgba(239, 247, 254, .9));
  border: 1px solid var(--line);
  box-shadow: var(--shadow-2), inset 0 1px 0 #fff;
}
[data-theme="ice"] .hud-corners::before { border-color: var(--ice); filter: none; }
[data-theme="ice"] .hud-corners::after { border-color: var(--violet); filter: none; opacity: .75; }
[data-theme="ice"] .price-chip b { color: var(--ink); }
[data-theme="ice"] .status-chip { color: var(--ink-2); background: #fff; border-color: var(--line-2); }
[data-theme="ice"] .status-chip.new { color: #8a5a00; border-color: rgba(200, 140, 30, .45); background: rgba(246, 198, 107, .16); box-shadow: none; }
[data-theme="ice"] .status-chip.soon { color: #4338ca; border-color: rgba(79, 83, 214, .35); background: rgba(99, 102, 241, .08); }
[data-theme="ice"] .bullets li::before { box-shadow: none; }

/* ---------- footer ---------- */
[data-theme="ice"] .footer {
  background: linear-gradient(180deg, #eaf4fc, #dcecf9); border-top-color: var(--line);
  --cyan: #03659b; --muted: #4b6079;   /* small footer text stays AA on the deeper frost */
}
[data-theme="ice"] .footer a:not(.brand):hover, [data-theme="ice"] .footer a.foot-all:not(.brand):hover { color: var(--cyan); }

[data-theme="ice"] .toast { background: #fff; color: var(--ink); border-color: var(--ice); box-shadow: var(--shadow-2); }

/* =========================================================
   Audio summaries (assets/css/lib/voice.css)
   ========================================================= */
[data-theme="ice"] .pv-btn { color: #045a8c; border-color: rgba(5, 119, 181, .38); background: rgba(56, 182, 245, .1); }
[data-theme="ice"] .pv-btn-dur { color: #4a5f78; }
[data-theme="ice"] .pv-btn:hover { background: rgba(56, 182, 245, .18); border-color: var(--cyan); box-shadow: 0 8px 20px -10px rgba(14, 140, 220, .6); }
[data-theme="ice"] .pv-btn.is-playing, [data-theme="ice"] .pv-btn.is-paused {
  color: var(--ink); border-color: var(--cyan); background: linear-gradient(100deg, rgba(56, 182, 245, .2), rgba(99, 102, 241, .14)); box-shadow: 0 8px 22px -12px rgba(14, 140, 220, .7);
}
@keyframes pv-nudge-ice { 50% { border-color: var(--cyan); box-shadow: 0 0 0 6px rgba(56, 182, 245, .18), 0 8px 24px -8px rgba(14, 140, 220, .6); } }
[data-theme="ice"] .pv-btn.is-nudge { animation-name: pv-nudge-ice; }
[data-theme="ice"] .pv-dock { background: rgba(255, 255, 255, .96); border-color: var(--line-2); box-shadow: 0 24px 60px -22px rgba(16, 60, 110, .5), 0 2px 8px rgba(16, 60, 110, .08); }
[data-theme="ice"] .pv-dock-play { color: #03203d; background: var(--grad-btn); box-shadow: 0 8px 20px -8px rgba(14, 140, 220, .7); }
[data-theme="ice"] .pv-dock-play:hover { box-shadow: 0 10px 26px -8px rgba(14, 140, 220, .8); }
[data-theme="ice"] .pv-dock-kicker { color: var(--cyan); }
[data-theme="ice"] .pv-dock-name { color: var(--ink); }
[data-theme="ice"] .pv-dock-cap { color: var(--ink-2); }
[data-theme="ice"] .pv-dock-x { background: rgba(14, 92, 160, .05); color: var(--ink-2); border-color: var(--line); }
[data-theme="ice"] .pv-dock-x:hover { color: var(--ink); background: rgba(14, 92, 160, .1); border-color: var(--line-2); }
[data-theme="ice"] .pv-dock-bar { background: rgba(14, 92, 160, .12); }
[data-theme="ice"] .pv-dock-auto { color: var(--muted); border-color: var(--line); }
[data-theme="ice"] .pv-dock-auto:hover { color: var(--ink); border-color: var(--line-2); }
[data-theme="ice"] .pv-dock-auto[aria-pressed="true"] { color: var(--ink-2); }
[data-theme="ice"] .pv-sw { background: rgba(14, 92, 160, .18); }
[data-theme="ice"] .pv-sw::after { background: #fff; box-shadow: 0 1px 3px rgba(16, 60, 110, .35); }
[data-theme="ice"] .pv-dock-auto[aria-pressed="true"] .pv-sw { background: var(--ice); }
