/* ==========================================================================
   Alternative color themes. Each one overrides the roles defined at the top
   of style.css. Visitors switch with the palette button in the header; the
   choice is saved in their browser. To add a theme: copy a block, give it a
   new data-theme name, and add it to THEMES in static/js/theme.js.
   ========================================================================== */

/* ---- Miami Nights: cyan leads, pink is the spark ------------------------- */
:root[data-theme="miami"] {
  --bg: #041A2E;  --bg-2: #06243F;  --panel: #08294A;  --panel-2: #0C3560;  --input-bg: #05203A;
  --line-rgb: 108, 218, 252;
  --text: #E6F7FF;  --text-soft: #CFE9F5;  --muted: #93B9D3;  --faint: #5F88A6;
  --accent: #04C4D9;       --accent-rgb: 4, 196, 217;
  --accent-soft: #F76391;  --accent-soft-rgb: 247, 99, 145;
  --accent-2: #F2399A;     --accent-2-rgb: 242, 57, 154;
  --accent-3: #4FE8D3;     --accent-3-rgb: 79, 232, 211;
  --grad: #1B74AB;         --grad-rgb: 27, 116, 171;
  --on-accent: #02202A;
  --link: #6CDAFC;  --strap: #A3F0E0;  --h2: #4FE8D3;  --h3: #F282E2;
  --star: #4FE8D3;  --star-off: rgba(147, 185, 211, .25);
  --toolbar-on: #E6F7FF;
  --halo: rgba(4, 196, 217, .22);
  --footer-bg: #03142A;
  --hdr-1: #03162A;  --hdr-2: #062C4A;  --hdr-3: #0A4A6E;
  --hdr-text: #E6F7FF;  --hdr-muted: #93B9D3;  --hdr-active: #F282E2;  --hdr-sub: #F2399A;
  --wm-1: #E6FFFB;  --wm-2: #6CDAFC;  --wm-3: #04C4D9;  --wm-glow-rgb: 4, 196, 217;
  --search-bg: rgba(3, 22, 42, .7);
  --grid-h-rgb: 4, 196, 217;  --grid-v-rgb: 242, 57, 154;
  --ph-1: #0A4A6E;  --ph-2: #06243F;  --ph-text: rgba(163, 240, 224, .5);
  --score-1: #0B4F70;  --score-2: #06243F;  --score-label: #A3F0E0;
}

/* ---- Ultraviolet: purples lead, mint for scores --------------------------- */
:root[data-theme="ultraviolet"] {
  --bg: #0E0620;  --bg-2: #170A33;  --panel: #1C0D3D;  --panel-2: #26124F;  --input-bg: #130828;
  --line-rgb: 179, 79, 245;
  --text: #F3ECFF;  --text-soft: #E2D6FA;  --muted: #B7A6D9;  --faint: #8571AE;
  --accent: #B34FF5;       --accent-rgb: 179, 79, 245;
  --accent-soft: #F76391;  --accent-soft-rgb: 247, 99, 145;
  --accent-2: #4FE8D3;     --accent-2-rgb: 79, 232, 211;
  --accent-3: #4FE8D3;     --accent-3-rgb: 79, 232, 211;
  --grad: #9D2AEB;         --grad-rgb: 157, 42, 235;
  --on-accent: #FFFFFF;
  --link: #D9A8FF;  --strap: #F0A6F7;  --h2: #F0A6F7;  --h3: #4FE8D3;
  --star: #4FE8D3;  --star-off: rgba(183, 166, 217, .25);
  --halo: rgba(157, 42, 235, .35);
  --footer-bg: #0A0418;
  --hdr-1: #0C0420;  --hdr-2: #240A4A;  --hdr-3: #45106E;
  --hdr-text: #F3ECFF;  --hdr-muted: #B7A6D9;  --hdr-active: #4FE8D3;  --hdr-sub: #4FE8D3;
  --wm-1: #FFFFFF;  --wm-2: #F0A6F7;  --wm-3: #B34FF5;  --wm-glow-rgb: 179, 79, 245;
  --search-bg: rgba(12, 4, 32, .7);
  --grid-h-rgb: 179, 79, 245;  --grid-v-rgb: 79, 232, 211;
  --ph-1: #45106E;  --ph-2: #170A33;  --ph-text: rgba(240, 166, 247, .5);
  --score-1: #4A137A;  --score-2: #1C0D3D;  --score-label: #F0A6F7;
}

/* ---- Vaporwave Daylight: light pages, neon header and accents ------------- */
:root[data-theme="daylight"] {
  color-scheme: light;
  --bg: #FBF6FF;  --bg-2: #F3EAFB;  --panel: #FFFFFF;  --panel-2: #F4ECFA;  --input-bg: #FFFFFF;
  --line-rgb: 27, 116, 171;
  --text: #1A1440;  --text-soft: #2C2558;  --muted: #5A5280;  --faint: #7A7299;
  --accent: #E0247F;       --accent-rgb: 224, 36, 127;
  --accent-soft: #D63F74;  --accent-soft-rgb: 214, 63, 116;
  --accent-2: #0784A0;     --accent-2-rgb: 7, 132, 160;
  --accent-3: #0A8573;     --accent-3-rgb: 10, 133, 115;
  --grad: #9D2AEB;         --grad-rgb: 157, 42, 235;
  --on-accent: #FFFFFF;
  --link: #1B6FA6;  --strap: #A3237F;  --h2: #A3237F;  --h3: #1B6FA6;
  --star: #E0247F;  --star-off: rgba(90, 82, 128, .22);
  --warn-text: #8E1748;  --danger-text: #B4174F;  --ok-text: #075A4E;
  --mark-bg: rgba(224, 36, 127, .16);  --mark-text: #1A1440;
  --toolbar-on: #1A1440;  --th-bg: rgba(26, 20, 64, .03);
  --card-shadow: 0 2px 10px rgba(26, 20, 64, .07);
  --halo: rgba(242, 130, 226, .22);
  --footer-bg: #F3EAFB;
  --hdr-1: #1B0F45;  --hdr-2: #4A1570;  --hdr-3: #A3237F;
  --hdr-text: #FFFFFF;  --hdr-muted: #E4D6FF;  --hdr-active: #FFFFFF;  --hdr-sub: #A3F0E0;
  --wm-1: #FFFFFF;  --wm-2: #F0A6F7;  --wm-3: #F76391;  --wm-glow-rgb: 224, 36, 127;
  --search-bg: rgba(255, 255, 255, .12);
  --grid-h-rgb: 240, 166, 247;  --grid-v-rgb: 108, 218, 252;
  --ph-1: #F0A6F7;  --ph-2: #F4ECFA;  --ph-text: rgba(163, 35, 127, .45);
  --score-1: #4A1570;  --score-2: #1B0F45;  --score-label: #F0A6F7;
}
:root[data-theme="daylight"] .site-nav a[aria-current] { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: #F0A6F7; }
:root[data-theme="daylight"] .score-overall .stars { --star: #F76391; }
:root[data-theme="daylight"] .stars.xl { filter: none; }
