/* ─────────────────────────────────────────────────────────────
   Psysonic – Design System
   Catppuccin Mocha Color Palette + Inter Typography
   ───────────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Space+Grotesk:wght@400;500;600;700&family=Outfit:wght@300..700&family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=Nunito:ital,wght@0,300..800;1,300..800&family=Rubik:ital,wght@0,300..700;1,300..700&family=Figtree:ital,wght@0,300..800;1,300..800&family=Manrope:wght@300..800&family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&family=Lexend:wght@300..700&display=swap');

/* ─── Catppuccin Mocha Variables ─── */
:root,
[data-theme='mocha'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23bac2de%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  --ctp-rosewater: #f5e0dc;
  --ctp-flamingo: #f2cdcd;
  --ctp-pink: #f5c2e7;
  --ctp-mauve: #cba6f7;
  --ctp-red: #f38ba8;
  --ctp-maroon: #eba0ac;
  --ctp-peach: #fab387;
  --ctp-yellow: #f9e2af;
  --ctp-green: #a6e3a1;
  --ctp-teal: #94e2d5;
  --ctp-sky: #89dceb;
  --ctp-sapphire: #74c7ec;
  --ctp-blue: #89b4fa;
  --ctp-lavender: #b4befe;
  --ctp-text: #cdd6f4;
  --ctp-subtext1: #bac2de;
  --ctp-subtext0: #a6adc8;
  --ctp-overlay2: #9399b2;
  --ctp-overlay1: #7f849c;
  --ctp-overlay0: #6c7086;
  --ctp-surface2: #585b70;
  --ctp-surface1: #45475a;
  --ctp-surface0: #313244;
  --ctp-base: #1e1e2e;
  --ctp-mantle: #181825;
  --ctp-crust: #11111b;

  /* Semantic tokens */
  --bg-app: var(--ctp-base);
  --bg-sidebar: var(--ctp-mantle);
  --bg-card: var(--ctp-surface0);
  --bg-hover: var(--ctp-surface1);
  --bg-player: var(--ctp-crust);
  --bg-glass: rgba(30, 30, 46, 0.75);
  --accent: var(--ctp-mauve);
  --accent-dim: rgba(203, 166, 247, 0.15);
  --accent-glow: rgba(203, 166, 247, 0.3);
  --text-primary: var(--ctp-text);
  --text-secondary: var(--ctp-subtext1);
  --text-muted: var(--ctp-subtext0);
  --border: var(--ctp-surface1);
  --border-subtle: var(--ctp-surface0);
  --positive: var(--ctp-green);
  --warning: var(--ctp-yellow);
  --danger: var(--ctp-red);
}

/* ─── Catppuccin Macchiato Variables ─── */
[data-theme='macchiato'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23b8c0e0%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  --ctp-rosewater: #f4dbd6;
  --ctp-flamingo: #f0c6c6;
  --ctp-pink: #f5bde6;
  --ctp-mauve: #c6a0f6;
  --ctp-red: #ed8796;
  --ctp-maroon: #ee99a0;
  --ctp-peach: #f5a97f;
  --ctp-yellow: #eed49f;
  --ctp-green: #a6da95;
  --ctp-teal: #8bd5ca;
  --ctp-sky: #91d7e3;
  --ctp-sapphire: #7dc4e4;
  --ctp-blue: #8aadf4;
  --ctp-lavender: #b7bdf8;
  --ctp-text: #cad3f5;
  --ctp-subtext1: #b8c0e0;
  --ctp-subtext0: #a5adcb;
  --ctp-overlay2: #939ab7;
  --ctp-overlay1: #8087a2;
  --ctp-overlay0: #6e738d;
  --ctp-surface2: #5b6078;
  --ctp-surface1: #494d64;
  --ctp-surface0: #363a4f;
  --ctp-base: #24273a;
  --ctp-mantle: #1e2030;
  --ctp-crust: #181926;

  --bg-app: var(--ctp-base);
  --bg-sidebar: var(--ctp-mantle);
  --bg-card: var(--ctp-surface0);
  --bg-hover: var(--ctp-surface1);
  --bg-player: var(--ctp-crust);
  --bg-glass: rgba(36, 39, 58, 0.75);
  --accent: var(--ctp-mauve);
  --accent-dim: rgba(198, 160, 246, 0.15);
  --accent-glow: rgba(198, 160, 246, 0.3);
  --text-primary: var(--ctp-text);
  --text-secondary: var(--ctp-subtext1);
  --text-muted: var(--ctp-subtext0);
  --border: var(--ctp-surface1);
  --border-subtle: var(--ctp-surface0);
  --positive: var(--ctp-green);
  --warning: var(--ctp-yellow);
  --danger: var(--ctp-red);
}

/* ─── Catppuccin Frappé Variables ─── */
[data-theme='frappe'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23b5bfe2%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  --ctp-rosewater: #f2d5cf;
  --ctp-flamingo: #eebebe;
  --ctp-pink: #f4b8e4;
  --ctp-mauve: #ca9ee6;
  --ctp-red: #e78284;
  --ctp-maroon: #ea999c;
  --ctp-peach: #ef9f76;
  --ctp-yellow: #e5c890;
  --ctp-green: #a6d189;
  --ctp-teal: #81c8be;
  --ctp-sky: #99d1db;
  --ctp-sapphire: #85c1dc;
  --ctp-blue: #8caaee;
  --ctp-lavender: #babbf1;
  --ctp-text: #c6d0f5;
  --ctp-subtext1: #b5bfe2;
  --ctp-subtext0: #a5adce;
  --ctp-overlay2: #949cbb;
  --ctp-overlay1: #838ba7;
  --ctp-overlay0: #737994;
  --ctp-surface2: #626880;
  --ctp-surface1: #51576d;
  --ctp-surface0: #414559;
  --ctp-base: #303446;
  --ctp-mantle: #292c3c;
  --ctp-crust: #232634;

  --bg-app: var(--ctp-base);
  --bg-sidebar: var(--ctp-mantle);
  --bg-card: var(--ctp-surface0);
  --bg-hover: var(--ctp-surface1);
  --bg-player: var(--ctp-crust);
  --bg-glass: rgba(48, 52, 70, 0.75);
  --accent: var(--ctp-mauve);
  --accent-dim: rgba(202, 158, 230, 0.15);
  --accent-glow: rgba(202, 158, 230, 0.3);
  --text-primary: var(--ctp-text);
  --text-secondary: var(--ctp-subtext1);
  --text-muted: var(--ctp-subtext0);
  --border: var(--ctp-surface1);
  --border-subtle: var(--ctp-surface0);
  --positive: var(--ctp-green);
  --warning: var(--ctp-yellow);
  --danger: var(--ctp-red);
}

/* ─── Catppuccin Latte Variables (Light Theme) ─── */
[data-theme='latte'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%235c5f77%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  --ctp-rosewater: #dc8a78;
  --ctp-flamingo: #dd7878;
  --ctp-pink: #ea76cb;
  --ctp-mauve: #8839ef;
  --ctp-red: #d20f39;
  --ctp-maroon: #e64553;
  --ctp-peach: #fe640b;
  --ctp-yellow: #df8e1d;
  --ctp-green: #40a02b;
  --ctp-teal: #179299;
  --ctp-sky: #04a5e5;
  --ctp-sapphire: #209fb5;
  --ctp-blue: #1e66f5;
  --ctp-lavender: #7287fd;
  --ctp-text: #4c4f69;
  --ctp-subtext1: #5c5f77;
  --ctp-subtext0: #6c6f85;
  --ctp-overlay2: #7c7f93;
  --ctp-overlay1: #8c8fa1;
  --ctp-overlay0: #9ca0b0;
  --ctp-surface2: #acb0be;
  --ctp-surface1: #bcc0cc;
  --ctp-surface0: #ccd0da;
  --ctp-base: #eff1f5;
  --ctp-mantle: #e6e9ef;
  --ctp-crust: #dce0e8;

  /* Semantic tokens */
  --bg-app: var(--ctp-base);
  --bg-sidebar: var(--ctp-mantle);
  --bg-card: var(--ctp-surface0);
  --bg-hover: var(--ctp-surface1);
  --bg-player: var(--ctp-crust);
  --bg-glass: rgba(239, 241, 245, 0.75);
  --accent: var(--ctp-mauve);
  --accent-dim: rgba(136, 57, 239, 0.15);
  --accent-glow: rgba(136, 57, 239, 0.3);
  --text-primary: var(--ctp-text);
  --text-secondary: var(--ctp-subtext1);
  --text-muted: var(--ctp-subtext0);
  --border: var(--ctp-surface1);
  --border-subtle: var(--ctp-surface0);
  --positive: var(--ctp-green);
  --warning: var(--ctp-yellow);
  --danger: var(--ctp-red);
}

/* ─── Nord – Polar Night (Dark) ─── */
[data-theme='nord'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e5e9f0%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  /* Polar Night */
  --ctp-crust: #2e3440;
  --ctp-mantle: #2e3440;
  --ctp-base: #3b4252;
  --ctp-surface0: #434c5e;
  --ctp-surface1: #4c566a;
  --ctp-surface2: #576070;
  --ctp-overlay0: #7a8898;
  --ctp-overlay1: #8894a4;
  --ctp-overlay2: #96a2b0;
  /* Snow Storm as text */
  --ctp-text: #eceff4;
  --ctp-subtext1: #e5e9f0;
  --ctp-subtext0: #d8dee9;
  /* Frost */
  --ctp-teal: #8fbcbb;
  --ctp-sky: #88c0d0;
  --ctp-sapphire: #81a1c1;
  --ctp-blue: #5e81ac;
  --ctp-lavender: #81a1c1;
  --ctp-mauve: #88c0d0;
  /* Aurora */
  --ctp-red: #bf616a;
  --ctp-maroon: #d08770;
  --ctp-peach: #d08770;
  --ctp-yellow: #ebcb8b;
  --ctp-green: #a3be8c;
  --ctp-pink: #b48ead;
  --ctp-flamingo: #bf616a;
  --ctp-rosewater: #d08770;

  --bg-app: #3b4252;
  --bg-sidebar: #2e3440;
  --bg-card: #434c5e;
  --bg-hover: #4c566a;
  --bg-player: #2e3440;
  --bg-glass: rgba(59, 66, 82, 0.75);
  --accent: #88c0d0;
  --accent-dim: rgba(136, 192, 208, 0.15);
  --accent-glow: rgba(136, 192, 208, 0.3);
  --text-primary: #eceff4;
  --text-secondary: #e5e9f0;
  --text-muted: #a0aab8;
  --border: #434c5e;
  --border-subtle: #3b4252;
  --border-dropdown: #576070;
  --shadow-dropdown: rgba(0, 0, 0, 0.55);
  --positive: #a3be8c;
  --warning: #ebcb8b;
  --danger: #bf616a;
}

/* ─── Nord – Snow Storm (Light) ─── */
[data-theme='nord-snowstorm'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233b4252%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  /* Snow Storm as backgrounds */
  --ctp-crust: #d8dee9;
  --ctp-mantle: #e5e9f0;
  --ctp-base: #eceff4;
  --ctp-surface0: #d8dee9;
  --ctp-surface1: #c8d0de;
  --ctp-surface2: #b8c2d0;
  --ctp-overlay0: #7a8898;
  --ctp-overlay1: #636e7e;
  --ctp-overlay2: #4c566a;
  /* Polar Night as text */
  --ctp-text: #2e3440;
  --ctp-subtext1: #3b4252;
  --ctp-subtext0: #434c5e;
  /* Frost */
  --ctp-teal: #8fbcbb;
  --ctp-sky: #88c0d0;
  --ctp-sapphire: #81a1c1;
  --ctp-blue: #5e81ac;
  --ctp-lavender: #81a1c1;
  --ctp-mauve: #5e81ac;
  /* Aurora */
  --ctp-red: #bf616a;
  --ctp-maroon: #d08770;
  --ctp-peach: #d08770;
  --ctp-yellow: #9a7200;
  --ctp-green: #4e7c3f;
  --ctp-pink: #7e5d8c;
  --ctp-flamingo: #bf616a;
  --ctp-rosewater: #d08770;

  --bg-app: #eceff4;
  --bg-sidebar: #e5e9f0;
  --bg-card: #d8dee9;
  --bg-hover: #c8d0de;
  --bg-player: #e5e9f0;
  --bg-glass: rgba(236, 239, 244, 0.80);
  --accent: #5e81ac;
  --accent-dim: rgba(94, 129, 172, 0.15);
  --accent-glow: rgba(94, 129, 172, 0.3);
  --text-primary: #2e3440;
  --text-secondary: #3b4252;
  --text-muted: #636e7e;
  --border: #c8d0de;
  --border-subtle: #d8dee9;
  --positive: #4e7c3f;
  --warning: #9a7200;
  --danger: #bf616a;
}

/* ─── Nord – Frost (Deep Ocean Blue) ─── */
[data-theme='nord-frost'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e5e9f0%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  /* Deep ocean blue – Frost-inspired dark backgrounds */
  --ctp-crust: #1a2535;
  --ctp-mantle: #1d2b3a;
  --ctp-base: #253545;
  --ctp-surface0: #2d3f52;
  --ctp-surface1: #354a60;
  --ctp-surface2: #3d546e;
  --ctp-overlay0: #6888a4;
  --ctp-overlay1: #7898b4;
  --ctp-overlay2: #88a8c4;
  /* Snow Storm as text */
  --ctp-text: #eceff4;
  --ctp-subtext1: #e5e9f0;
  --ctp-subtext0: #d8dee9;
  /* Frost accent */
  --ctp-teal: #8fbcbb;
  --ctp-sky: #88c0d0;
  --ctp-sapphire: #81a1c1;
  --ctp-blue: #5e81ac;
  --ctp-lavender: #8fbcbb;
  --ctp-mauve: #88c0d0;
  /* Aurora */
  --ctp-red: #bf616a;
  --ctp-maroon: #d08770;
  --ctp-peach: #d08770;
  --ctp-yellow: #ebcb8b;
  --ctp-green: #a3be8c;
  --ctp-pink: #b48ead;
  --ctp-flamingo: #bf616a;
  --ctp-rosewater: #d08770;

  --bg-app: #253545;
  --bg-sidebar: #1d2b3a;
  --bg-card: #2d3f52;
  --bg-hover: #354a60;
  --bg-player: #1a2535;
  --bg-glass: rgba(37, 53, 69, 0.75);
  --accent: #88c0d0;
  --accent-dim: rgba(136, 192, 208, 0.15);
  --accent-glow: rgba(136, 192, 208, 0.35);
  --text-primary: #eceff4;
  --text-secondary: #e5e9f0;
  --text-muted: #7898b4;
  --border: #2d3f52;
  --border-subtle: #253545;
  --border-dropdown: #3d546e;
  --shadow-dropdown: rgba(0, 0, 0, 0.6);
  --positive: #a3be8c;
  --warning: #ebcb8b;
  --danger: #bf616a;
}

/* ─── Nord – Aurora (Dark + Aurora Purple) ─── */
[data-theme='nord-aurora'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e5e9f0%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  /* Polar Night base */
  --ctp-crust: #2e3440;
  --ctp-mantle: #2e3440;
  --ctp-base: #3b4252;
  --ctp-surface0: #434c5e;
  --ctp-surface1: #4c566a;
  --ctp-surface2: #576070;
  --ctp-overlay0: #7a8898;
  --ctp-overlay1: #8894a4;
  --ctp-overlay2: #96a2b0;
  /* Snow Storm as text */
  --ctp-text: #eceff4;
  --ctp-subtext1: #e5e9f0;
  --ctp-subtext0: #d8dee9;
  /* Aurora accents — purple as mauve/lavender for button gradients */
  --ctp-mauve: #b48ead;
  --ctp-lavender: #a3be8c;
  --ctp-pink: #b48ead;
  --ctp-teal: #8fbcbb;
  --ctp-sky: #88c0d0;
  --ctp-sapphire: #81a1c1;
  --ctp-blue: #5e81ac;
  --ctp-red: #bf616a;
  --ctp-maroon: #d08770;
  --ctp-peach: #d08770;
  --ctp-yellow: #ebcb8b;
  --ctp-green: #a3be8c;
  --ctp-flamingo: #bf616a;
  --ctp-rosewater: #d08770;

  --bg-app: #3b4252;
  --bg-sidebar: #2e3440;
  --bg-card: #434c5e;
  --bg-hover: #4c566a;
  --bg-player: #2e3440;
  --bg-glass: rgba(59, 66, 82, 0.75);
  --accent: #b48ead;
  --accent-dim: rgba(180, 142, 173, 0.15);
  --accent-glow: rgba(180, 142, 173, 0.3);
  --text-primary: #eceff4;
  --text-secondary: #e5e9f0;
  --text-muted: #a0aab8;
  --border: #434c5e;
  --border-subtle: #3b4252;
  --border-dropdown: #576070;
  --shadow-dropdown: rgba(0, 0, 0, 0.55);
  --positive: #a3be8c;
  --warning: #ebcb8b;
  --danger: #bf616a;
}

/* ─── Poison ─── */
[data-theme='poison'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231bd655%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette — charcoal grays + phosphor green ── */
  --ctp-crust: #0e0e0e;
  --ctp-mantle: #161616;
  --ctp-base: #1f1f1f;
  --ctp-surface0: #282828;
  --ctp-surface1: #323232;
  --ctp-surface2: #3e3e3e;
  --ctp-overlay0: #525252;
  --ctp-overlay1: #686868;
  --ctp-overlay2: #848484;
  --ctp-text: #d0d0cc;
  --ctp-subtext1: #a8a8a4;
  --ctp-subtext0: #787874;
  /* Phosphor green accent — the Winamp LED display color */
  --ctp-mauve: #1bd655;
  --ctp-lavender: #28e860;
  --ctp-green: #1bd655;
  --ctp-teal: #1ab8a8;
  --ctp-sky: #58a8e0;
  --ctp-blue: #4888d0;
  --ctp-sapphire: #3870b8;
  --ctp-pink: #c86888;
  --ctp-flamingo: #b85858;
  --ctp-rosewater: #c88080;
  --ctp-yellow: #c8a830;
  --ctp-peach: #c07838;
  --ctp-maroon: #a03030;
  --ctp-red: #c03030;

  /* ── Semantic tokens ── */
  --bg-app: #1f1f1f;
  --bg-sidebar: #161616;
  --bg-card: #282828;
  --bg-hover: #323232;
  --bg-player: #0e0e0e;
  --bg-glass: rgba(22, 22, 22, 0.90);
  --accent: #1bd655;
  --accent-dim: rgba(27, 214, 85, 0.12);
  --accent-glow: rgba(27, 214, 85, 0.35);
  --text-primary: #d0d0cc;
  --text-secondary: #a8a8a4;
  --text-muted: #909090;
  --border: #3a3a38;
  --border-subtle: #282826;
  --positive: #1bd655;
  --warning: #c8a830;
  --danger: #c03030;
}

/* ── Winamp: LED display glow + tactile buttons ── */
[data-theme='poison'] .player-track-name {
  text-shadow: 0 0 8px rgba(27, 214, 85, 0.7), 0 0 2px rgba(27, 214, 85, 0.4);
  color: #1bd655;
}

[data-theme='poison'] .player-track-artist {
  color: #1bd655;
  opacity: 0.7;
}

[data-theme='poison'] .btn {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

[data-theme='poison'] .player-btn,
[data-theme='poison'] .player-btn-primary {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.3);
}

/* ─── Classic Winamp — Winamp 2.x Base Skin ─── */
[data-theme='wnamp'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23c8c8d0%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #000000;
  --ctp-mantle: #1e1e28;
  --ctp-base: #2b2b3a;
  --ctp-surface0: #353545;
  --ctp-surface1: #404055;
  --ctp-surface2: #4e4e65;
  --ctp-overlay0: #5a5a75;
  --ctp-overlay1: #6e6e88;
  --ctp-overlay2: #8a8a96;
  --ctp-text: #c8c8d0;
  --ctp-subtext1: #a0a0ac;
  --ctp-subtext0: #8a8a96;
  /* Winamp orange accent + iconic green glow */
  --ctp-mauve: #d4cc46;
  --ctp-lavender: #e0d860;
  --ctp-green: #00ff00;
  --ctp-teal: #00cc88;
  --ctp-sky: #5ab8e0;
  --ctp-blue: #4898d0;
  --ctp-sapphire: #3878b8;
  --ctp-pink: #c06888;
  --ctp-flamingo: #b85858;
  --ctp-rosewater: #c88080;
  --ctp-yellow: #e8c050;
  --ctp-peach: #d08840;
  --ctp-maroon: #a03030;
  --ctp-red: #c03030;

  /* ── Semantic tokens ── */
  --bg-app: #2b2b3a;
  --bg-sidebar: #1e1e28;
  --bg-card: #353545;
  --bg-hover: #404055;
  --bg-player: #000000;
  --bg-glass: rgba(43, 43, 58, 0.90);
  --accent: #d4cc46;
  --accent-dim: rgba(212, 204, 70, 0.15);
  --accent-glow: rgba(212, 204, 70, 0.35);
  --volume-accent: #de9b35;
  --text-primary: #c8c8d0;
  --text-secondary: #a0a0ac;
  --text-muted: #a0a0bc;
  --border: #5a5a75;
  --border-subtle: #353545;
  --positive: #00cc66;
  --warning: #d4cc46;
  --danger: #c03030;
}

/* ── Classic Winamp: LCD display + bevel buttons ── */
[data-theme='wnamp'] .connection-type {
  color: var(--text-primary);
}

[data-theme='wnamp'] .connection-server {
  color: var(--text-secondary);
}

[data-theme='wnamp'] .player-track-name {
  color: #00ff00;
  text-shadow: 0 0 6px rgba(0, 255, 0, 0.65), 0 0 2px rgba(0, 255, 0, 0.4);
  font-family: 'Courier New', 'Lucida Console', monospace;
  letter-spacing: 0.04em;
}

[data-theme='wnamp'] .player-track-artist {
  color: #00cc00;
  font-family: 'Courier New', 'Lucida Console', monospace;
  opacity: 0.85;
}

[data-theme='wnamp'] .btn {
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.18), inset -1px -1px 0 rgba(0, 0, 0, 0.55), 0 1px 3px rgba(0, 0, 0, 0.4);
}

[data-theme='wnamp'] .player-btn,
[data-theme='wnamp'] .player-btn-primary {
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.18), inset -1px -1px 0 rgba(0, 0, 0, 0.55), 0 2px 5px rgba(0, 0, 0, 0.5);
}

/* ─── Nucleo — Classic HiFi / Winamp Brass ─── */
[data-theme='nucleo'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%238c7356%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #c8a458;
  --ctp-mantle: #dfc08f;
  --ctp-base: #e9d3ac;
  --ctp-surface0: #eedbb8;
  --ctp-surface1: #f5e4c3;
  --ctp-surface2: #f9ecd4;
  --ctp-overlay0: #b09060;
  --ctp-overlay1: #987848;
  --ctp-overlay2: #805c30;
  --ctp-text: #2c1e10;
  --ctp-subtext1: #5a3e20;
  --ctp-subtext0: #8c7356;
  /* Accents — burnished brass + warm tones */
  --ctp-mauve: #7a5218;
  /* dark burnished brass — primary accent */
  --ctp-lavender: #9a6a28;
  /* mid brass — hover/lighter variant */
  --ctp-pink: #c06880;
  --ctp-flamingo: #c06050;
  --ctp-rosewater: #d08070;
  --ctp-blue: #5878a8;
  /* muted steel blue */
  --ctp-sapphire: #4868a0;
  --ctp-sky: #6898b8;
  --ctp-teal: #487878;
  --ctp-green: #587838;
  /* muted olive */
  --ctp-yellow: #a88020;
  /* dark burnished gold */
  --ctp-peach: #b87040;
  --ctp-maroon: #903030;
  --ctp-red: #a03828;

  /* ── Semantic tokens ── */
  --bg-app: #f5e4c3;
  --bg-sidebar: #e9d3ac;
  --bg-card: #eedbb8;
  --bg-hover: #e3cc9e;
  --bg-player: #dfc08f;
  --bg-glass: rgba(245, 228, 195, 0.90);
  --accent: #7a5218;
  --accent-dim: rgba(122, 82, 24, 0.15);
  --accent-glow: rgba(122, 82, 24, 0.30);
  --text-primary: #2c1e10;
  --text-secondary: #5a3e20;
  --text-muted: #8c7356;
  --border: #b89a69;
  --border-subtle: #dfc08f;
  --positive: #587838;
  --warning: #a88020;
  --danger: #a03828;
}

/* ── Nucleo: skeuomorphic detail layer ── */
[data-theme='nucleo'] .sidebar {
  background-image: repeating-linear-gradient(90deg,
      rgba(255, 255, 255, 0.06) 0px,
      rgba(255, 255, 255, 0.06) 1px,
      transparent 1px,
      transparent 5px);
}

[data-theme='nucleo'] .player-bar {
  background-image: repeating-linear-gradient(90deg,
      rgba(255, 255, 255, 0.05) 0px,
      rgba(255, 255, 255, 0.05) 1px,
      transparent 1px,
      transparent 5px);
}

[data-theme='nucleo'] .player-track-name {
  text-shadow: 0 0 10px rgba(255, 244, 219, 0.75), 0 0 2px rgba(255, 244, 219, 0.4);
}

[data-theme='nucleo'] .btn {
  box-shadow: 0 2px 4px rgba(44, 30, 16, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

[data-theme='nucleo'] .btn-surface {
  background: #c8a860;
  color: #2c1e10;
}

[data-theme='nucleo'] .btn-surface:hover {
  background: #b89448;
}

[data-theme='nucleo'] .btn-ghost:hover {
  background: #c8a860;
  color: #2c1e10;
}

[data-theme='nucleo'] .player-btn,
[data-theme='nucleo'] .player-btn-primary {
  box-shadow: 0 2px 5px rgba(44, 30, 16, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* ─── Psychowave — Synthwave / Retrowave ─── */
[data-theme='psychowave'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23b09ee0%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #0d0c1a;
  --ctp-mantle: #110f22;
  --ctp-base: #161428;
  --ctp-surface0: #1f1c38;
  --ctp-surface1: #2a2750;
  --ctp-surface2: #383468;
  --ctp-overlay0: #4a4580;
  --ctp-overlay1: #6460a8;
  --ctp-overlay2: #8078c8;
  /* Text */
  --ctp-text: #e6e0f6;
  --ctp-subtext1: #b09ee0;
  --ctp-subtext0: #8878c0;
  /* Accents — muted synthwave palette */
  --ctp-mauve: #a06ae0;
  /* soft violet — primary accent */
  --ctp-lavender: #7878d8;
  /* muted indigo — gradient end */
  --ctp-pink: #c060a8;
  /* dusty rose */
  --ctp-flamingo: #c07090;
  --ctp-rosewater: #c89090;
  --ctp-blue: #58a8e8;
  /* steel blue */
  --ctp-sapphire: #4880c8;
  --ctp-sky: #60c0d8;
  --ctp-teal: #40a8a8;
  --ctp-green: #58c878;
  /* soft mint green */
  --ctp-yellow: #c8a848;
  /* muted gold */
  --ctp-peach: #c87848;
  --ctp-maroon: #c05868;
  --ctp-red: #b04060;

  /* ── Semantic tokens ── */
  --bg-app: #161428;
  --bg-sidebar: #110f22;
  --bg-card: #1f1c38;
  --bg-hover: #2a2750;
  --bg-player: #0d0c1a;
  --bg-glass: rgba(22, 20, 40, 0.85);
  --accent: #a06ae0;
  --accent-dim: rgba(160, 106, 224, 0.12);
  --accent-glow: rgba(160, 106, 224, 0.30);
  --text-primary: #e6e0f6;
  --text-secondary: #b09ee0;
  --text-muted: #706898;
  --border: #383468;
  --border-subtle: #1f1c38;
  --positive: #58c878;
  --warning: #c8a848;
  --danger: #b04060;
}

/* ─── Gruvbox Dark Hard ─── */
[data-theme='gruvbox-dark-hard'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ebdbb2%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #1d2021;
  --ctp-mantle: #1d2021;
  --ctp-base: #282828;
  --ctp-surface0: #3c3836;
  --ctp-surface1: #504945;
  --ctp-surface2: #665c54;
  --ctp-overlay0: #7c6f64;
  --ctp-overlay1: #928374;
  --ctp-overlay2: #a89984;
  --ctp-text: #ebdbb2;
  --ctp-subtext1: #d5c4a1;
  --ctp-subtext0: #bdae93;
  --ctp-mauve: #d3869b;
  --ctp-lavender: #d3869b;
  --ctp-pink: #d3869b;
  --ctp-flamingo: #fb4934;
  --ctp-rosewater: #fb4934;
  --ctp-blue: #83a598;
  --ctp-sapphire: #83a598;
  --ctp-sky: #8ec07c;
  --ctp-teal: #8ec07c;
  --ctp-green: #b8bb26;
  --ctp-yellow: #fabd2f;
  --ctp-peach: #fe8019;
  --ctp-maroon: #fb4934;
  --ctp-red: #cc241d;

  --bg-app: #1d2021;
  --bg-sidebar: #141617;
  --bg-card: #3c3836;
  --bg-hover: #504945;
  --bg-player: #1d2021;
  --bg-glass: rgba(29, 32, 33, 0.82);
  --accent: #fabd2f;
  --accent-dim: rgba(250, 189, 47, 0.15);
  --accent-glow: rgba(250, 189, 47, 0.3);
  --text-primary: #ebdbb2;
  --text-secondary: #d5c4a1;
  --text-muted: #928374;
  --border: #504945;
  --border-subtle: #3c3836;
  --border-dropdown: #665c54;
  --shadow-dropdown: rgba(0, 0, 0, 0.6);
  --positive: #b8bb26;
  --warning: #fabd2f;
  --danger: #fb4934;
}

/* ─── Gruvbox Dark Medium ─── */
[data-theme='gruvbox-dark-medium'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ebdbb2%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #1d2021;
  --ctp-mantle: #1d2021;
  --ctp-base: #282828;
  --ctp-surface0: #3c3836;
  --ctp-surface1: #504945;
  --ctp-surface2: #665c54;
  --ctp-overlay0: #7c6f64;
  --ctp-overlay1: #928374;
  --ctp-overlay2: #a89984;
  --ctp-text: #ebdbb2;
  --ctp-subtext1: #d5c4a1;
  --ctp-subtext0: #bdae93;
  --ctp-mauve: #d3869b;
  --ctp-lavender: #d3869b;
  --ctp-pink: #d3869b;
  --ctp-flamingo: #fb4934;
  --ctp-rosewater: #fb4934;
  --ctp-blue: #83a598;
  --ctp-sapphire: #83a598;
  --ctp-sky: #8ec07c;
  --ctp-teal: #8ec07c;
  --ctp-green: #b8bb26;
  --ctp-yellow: #fabd2f;
  --ctp-peach: #fe8019;
  --ctp-maroon: #fb4934;
  --ctp-red: #cc241d;

  --bg-app: #282828;
  --bg-sidebar: #1d2021;
  --bg-card: #3c3836;
  --bg-hover: #504945;
  --bg-player: #1d2021;
  --bg-glass: rgba(40, 40, 40, 0.82);
  --accent: #fabd2f;
  --accent-dim: rgba(250, 189, 47, 0.15);
  --accent-glow: rgba(250, 189, 47, 0.3);
  --text-primary: #ebdbb2;
  --text-secondary: #d5c4a1;
  --text-muted: #928374;
  --border: #504945;
  --border-subtle: #3c3836;
  --border-dropdown: #665c54;
  --shadow-dropdown: rgba(0, 0, 0, 0.55);
  --positive: #b8bb26;
  --warning: #fabd2f;
  --danger: #fb4934;
}

/* ─── Gruvbox Dark Soft ─── */
[data-theme='gruvbox-dark-soft'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ebdbb2%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #1d2021;
  --ctp-mantle: #282828;
  --ctp-base: #32302f;
  --ctp-surface0: #3c3836;
  --ctp-surface1: #504945;
  --ctp-surface2: #665c54;
  --ctp-overlay0: #7c6f64;
  --ctp-overlay1: #928374;
  --ctp-overlay2: #a89984;
  --ctp-text: #ebdbb2;
  --ctp-subtext1: #d5c4a1;
  --ctp-subtext0: #bdae93;
  --ctp-mauve: #d3869b;
  --ctp-lavender: #d3869b;
  --ctp-pink: #d3869b;
  --ctp-flamingo: #fb4934;
  --ctp-rosewater: #fb4934;
  --ctp-blue: #83a598;
  --ctp-sapphire: #83a598;
  --ctp-sky: #8ec07c;
  --ctp-teal: #8ec07c;
  --ctp-green: #b8bb26;
  --ctp-yellow: #fabd2f;
  --ctp-peach: #fe8019;
  --ctp-maroon: #fb4934;
  --ctp-red: #cc241d;

  --bg-app: #32302f;
  --bg-sidebar: #282828;
  --bg-card: #45403d;
  --bg-hover: #504945;
  --bg-player: #282828;
  --bg-glass: rgba(50, 48, 47, 0.82);
  --accent: #fabd2f;
  --accent-dim: rgba(250, 189, 47, 0.15);
  --accent-glow: rgba(250, 189, 47, 0.3);
  --text-primary: #ebdbb2;
  --text-secondary: #d5c4a1;
  --text-muted: #928374;
  --border: #504945;
  --border-subtle: #3c3836;
  --border-dropdown: #665c54;
  --shadow-dropdown: rgba(0, 0, 0, 0.5);
  --positive: #b8bb26;
  --warning: #fabd2f;
  --danger: #fb4934;
}

/* ─── Gruvbox Light Hard ─── */
[data-theme='gruvbox-light-hard'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23504945%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #ebdbb2;
  --ctp-mantle: #f2e5bc;
  --ctp-base: #f9f5d7;
  --ctp-surface0: #f2e5bc;
  --ctp-surface1: #ebdbb2;
  --ctp-surface2: #d5c4a1;
  --ctp-overlay0: #bdae93;
  --ctp-overlay1: #a89984;
  --ctp-overlay2: #928374;
  --ctp-text: #3c3836;
  --ctp-subtext1: #504945;
  --ctp-subtext0: #665c54;
  --ctp-mauve: #8f3f71;
  --ctp-lavender: #8f3f71;
  --ctp-pink: #8f3f71;
  --ctp-flamingo: #9d0006;
  --ctp-rosewater: #cc241d;
  --ctp-blue: #076678;
  --ctp-sapphire: #076678;
  --ctp-sky: #427b58;
  --ctp-teal: #427b58;
  --ctp-green: #79740e;
  --ctp-yellow: #b57614;
  --ctp-peach: #af3a03;
  --ctp-maroon: #9d0006;
  --ctp-red: #cc241d;

  --bg-app: #f9f5d7;
  --bg-sidebar: #f2e5bc;
  --bg-card: #f2e5bc;
  --bg-hover: #ebdbb2;
  --bg-player: #f2e5bc;
  --bg-glass: rgba(249, 245, 215, 0.9);
  --accent: #b57614;
  --accent-dim: rgba(181, 118, 20, 0.15);
  --accent-glow: rgba(181, 118, 20, 0.25);
  --text-primary: #3c3836;
  --text-secondary: #504945;
  --text-muted: #7c6f64;
  --border: #d5c4a1;
  --border-subtle: #ebdbb2;
  --positive: #79740e;
  --warning: #b57614;
  --danger: #9d0006;
}

/* ─── Gruvbox Light Medium ─── */
[data-theme='gruvbox-light-medium'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23504945%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #ebdbb2;
  --ctp-mantle: #f2e5bc;
  --ctp-base: #fbf1c7;
  --ctp-surface0: #f2e5bc;
  --ctp-surface1: #ebdbb2;
  --ctp-surface2: #d5c4a1;
  --ctp-overlay0: #bdae93;
  --ctp-overlay1: #a89984;
  --ctp-overlay2: #928374;
  --ctp-text: #3c3836;
  --ctp-subtext1: #504945;
  --ctp-subtext0: #665c54;
  --ctp-mauve: #8f3f71;
  --ctp-lavender: #8f3f71;
  --ctp-pink: #8f3f71;
  --ctp-flamingo: #9d0006;
  --ctp-rosewater: #cc241d;
  --ctp-blue: #076678;
  --ctp-sapphire: #076678;
  --ctp-sky: #427b58;
  --ctp-teal: #427b58;
  --ctp-green: #79740e;
  --ctp-yellow: #b57614;
  --ctp-peach: #af3a03;
  --ctp-maroon: #9d0006;
  --ctp-red: #cc241d;

  --bg-app: #fbf1c7;
  --bg-sidebar: #f2e5bc;
  --bg-card: #f2e5bc;
  --bg-hover: #ebdbb2;
  --bg-player: #f2e5bc;
  --bg-glass: rgba(251, 241, 199, 0.9);
  --accent: #b57614;
  --accent-dim: rgba(181, 118, 20, 0.15);
  --accent-glow: rgba(181, 118, 20, 0.25);
  --text-primary: #3c3836;
  --text-secondary: #504945;
  --text-muted: #7c6f64;
  --border: #d5c4a1;
  --border-subtle: #ebdbb2;
  --positive: #79740e;
  --warning: #b57614;
  --danger: #9d0006;
}

/* ─── Gruvbox Light Soft ─── */
[data-theme='gruvbox-light-soft'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23504945%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #ebdbb2;
  --ctp-mantle: #f2e5bc;
  --ctp-base: #f2e5bc;
  --ctp-surface0: #ebdbb2;
  --ctp-surface1: #d5c4a1;
  --ctp-surface2: #bdae93;
  --ctp-overlay0: #a89984;
  --ctp-overlay1: #928374;
  --ctp-overlay2: #7c6f64;
  --ctp-text: #3c3836;
  --ctp-subtext1: #504945;
  --ctp-subtext0: #665c54;
  --ctp-mauve: #8f3f71;
  --ctp-lavender: #8f3f71;
  --ctp-pink: #8f3f71;
  --ctp-flamingo: #9d0006;
  --ctp-rosewater: #cc241d;
  --ctp-blue: #076678;
  --ctp-sapphire: #076678;
  --ctp-sky: #427b58;
  --ctp-teal: #427b58;
  --ctp-green: #79740e;
  --ctp-yellow: #b57614;
  --ctp-peach: #af3a03;
  --ctp-maroon: #9d0006;
  --ctp-red: #cc241d;

  --bg-app: #f2e5bc;
  --bg-sidebar: #ebdbb2;
  --bg-card: #ebdbb2;
  --bg-hover: #d5c4a1;
  --bg-player: #ebdbb2;
  --bg-glass: rgba(242, 229, 188, 0.9);
  --accent: #b57614;
  --accent-dim: rgba(181, 118, 20, 0.15);
  --accent-glow: rgba(181, 118, 20, 0.25);
  --text-primary: #3c3836;
  --text-secondary: #504945;
  --text-muted: #7c6f64;
  --border: #d5c4a1;
  --border-subtle: #ebdbb2;
  --positive: #79740e;
  --warning: #b57614;
  --danger: #9d0006;
}

/* ── Gruvbox Light Soft overrides ── */
[data-theme='gruvbox-light-soft'] .album-detail-back {
  color: #fbf1c7;
}

[data-theme='gruvbox-light-soft'] .album-detail-back:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

[data-theme='gruvbox-light-soft'] .album-detail-badge {
  background: var(--accent);
  color: #fbf1c7;
}

/* ─── Lambda 17 — Half-Life / City 17 ─── */
/* HEV orange + Combine Overwatch teal + City 17 concrete       */
[data-theme='lambda-17'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ff9d00%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* City 17 — warm concrete dark, not pure black */
  --ctp-crust: #0c0d0e;
  --ctp-mantle: #111315;
  --ctp-base: #171a1c;
  --ctp-surface0: #1f2326;
  --ctp-surface1: #282d30;
  --ctp-surface2: #33393d;
  --ctp-overlay0: #4e5660;
  --ctp-overlay1: #718090;
  --ctp-overlay2: #96a8b4;
  --ctp-text: #e4ddd0;
  /* concrete dust off-white */
  --ctp-subtext1: #c8c0b0;
  --ctp-subtext0: #96a8b4;

  /* Half-Life palette */
  --ctp-peach: #ff9d00;
  /* HEV suit orange */
  --ctp-mauve: #ff9d00;
  --ctp-lavender: #ffb84d;
  --ctp-flamingo: #ffb84d;
  --ctp-rosewater: #ffd080;
  --ctp-teal: #00c8c0;
  /* Combine Overwatch scanner teal */
  --ctp-sky: #00c8c0;
  --ctp-sapphire: #0090a0;
  --ctp-blue: #0060a0;
  /* G-Man suit navy */
  --ctp-green: #78c800;
  /* Headcrab / barnacle green */
  --ctp-yellow: #f0d000;
  /* radiation warning yellow */
  --ctp-red: #e03020;
  /* danger / health critical */
  --ctp-maroon: #b82010;
  --ctp-pink: #cc44aa;
  /* Xen alien purple-pink */

  --bg-app: #171a1c;
  /* City 17 corridor concrete */
  --bg-sidebar: #111315;
  /* Combine facility wall */
  --bg-card: #1f2326;
  --bg-hover: rgba(255, 157, 0, 0.08);
  --bg-player: #0c0d0e;
  /* HEV suit display dark */
  --bg-glass: rgba(17, 19, 21, 0.95);

  --accent: #ff9d00;
  /* HEV orange */
  --accent-dim: rgba(255, 157, 0, 0.13);
  --accent-glow: rgba(255, 157, 0, 0.45);
  --volume-accent: #00c8c0;
  /* Combine teal for volume */

  --text-primary: #e4ddd0;
  /* concrete dust off-white */
  --text-secondary: #00c8c0;
  /* Combine Overwatch teal */
  --text-muted: #4e5660;
  --border: #2a3035;
  --border-subtle: #1f2326;
  --shadow-dropdown: rgba(0, 0, 0, 0.85);

  --positive: #78c800;
  --warning: #ff9d00;
  --danger: #e03020;

  --radius-sm: 0px;
  --radius-md: 1px;
  --radius-lg: 2px;
  --radius-xl: 3px;
}

/* Sidebar = Combine control panel: horizontal panel lines */
[data-theme='lambda-17'] .sidebar {
  border-right: 2px solid #ff9d00;
  box-shadow: 2px 0 12px rgba(255, 157, 0, 0.08);
  background-image: repeating-linear-gradient(0deg,
      transparent,
      transparent 28px,
      rgba(0, 200, 192, 0.04) 28px,
      rgba(0, 200, 192, 0.04) 29px);
}

/* Player bar = HEV suit monitor: orange top + teal secondary */
[data-theme='lambda-17'] .player-bar {
  border-top: 2px solid #ff9d00;
  box-shadow:
    0 -1px 0 rgba(0, 200, 192, 0.3),
    0 -6px 24px rgba(255, 157, 0, 0.07);
}

/* Track name = HEV announcement style */
[data-theme='lambda-17'] .player-track-name {
  color: #ff9d00;
  text-shadow: 0 0 10px rgba(255, 157, 0, 0.65), 0 0 24px rgba(255, 157, 0, 0.25);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* Artist = Combine Overwatch voice color */
[data-theme='lambda-17'] .player-track-artist {
  color: #00c8c0;
}

/* Queue album = Xen purple */
[data-theme='lambda-17'] .queue-meta-album {
  color: #cc44aa;
}

/* Active nav: HEV orange gradient */
[data-theme='lambda-17'] .nav-link.active {
  background: linear-gradient(90deg, rgba(255, 157, 0, 0.16) 0%, transparent 100%);
  color: #ff9d00;
}

[data-theme='lambda-17'] .nav-link.active::before {
  width: 3px;
  box-shadow: 2px 0 10px rgba(255, 157, 0, 0.6);
}

/* Buttons */
[data-theme='lambda-17'] .btn-primary {
  background: #ff9d00;
  color: #0c0d0e;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: none;
  border-radius: 1px;
}

[data-theme='lambda-17'] .btn-primary:hover {
  background: #ffb030;
}

/* Queue active = HEV orange lambda bar */
[data-theme='lambda-17'] .queue-item.active {
  background: rgba(255, 157, 0, 0.08);
  box-shadow: inset 3px 0 0 #ff9d00;
}

[data-theme='lambda-17'] .np-queue-item.active {
  background: rgba(255, 157, 0, 0.07);
}

[data-theme='lambda-17'] .np-queue-item-active {
  color: #ff9d00;
  text-shadow: 0 0 8px rgba(255, 157, 0, 0.55);
}

/* Now-playing active track = Combine teal */
[data-theme='lambda-17'] .np-album-track.active .np-album-track-title,
[data-theme='lambda-17'] .np-album-track.active .np-album-track-num {
  color: #00c8c0;
  text-shadow: 0 0 8px rgba(0, 200, 192, 0.5);
}

/* Hover rows */
[data-theme='lambda-17'] .track-row:hover,
[data-theme='lambda-17'] .track-row.context-active {
  background: rgba(255, 157, 0, 0.07) !important;
  box-shadow: inset 3px 0 0 #ff9d00;
}

[data-theme='lambda-17'] .queue-item:hover,
[data-theme='lambda-17'] .queue-item.context-active {
  background: rgba(255, 157, 0, 0.07) !important;
  box-shadow: inset 3px 0 0 #ff9d00;
}

[data-theme='lambda-17'] .np-queue-item:hover,
[data-theme='lambda-17'] .np-queue-item.context-active {
  background: rgba(255, 157, 0, 0.07);
  box-shadow: inset 2px 0 0 #ff9d00;
}

[data-theme='lambda-17'] .artist-row:hover {
  background: rgba(255, 157, 0, 0.06);
  box-shadow: inset 3px 0 0 #ff9d00;
}

[data-theme='lambda-17'] .playlist-row:hover {
  background: rgba(255, 157, 0, 0.06);
  box-shadow: inset 3px 0 0 #ff9d00;
}

/* Settings tabs: Combine teal when active */
[data-theme='lambda-17'] .settings-tab:hover {
  background: rgba(255, 157, 0, 0.07);
  color: #ff9d00;
}

[data-theme='lambda-17'] .settings-tab.active {
  background: rgba(0, 200, 192, 0.08);
  color: #00c8c0;
  box-shadow: inset 3px 0 0 #00c8c0;
}

/* Queue tabs */
[data-theme='lambda-17'] .queue-tab-btn:hover {
  background: rgba(255, 157, 0, 0.07);
  color: #ff9d00;
}

/* Dropdowns */
[data-theme='lambda-17'] .custom-select-trigger:hover {
  background: rgba(255, 157, 0, 0.07);
}

[data-theme='lambda-17'] .custom-select-option:hover {
  background: rgba(255, 157, 0, 0.1) !important;
  color: #ff9d00 !important;
}

/* Artist pills = headcrab green */
[data-theme='lambda-17'] .artist-ext-link:hover {
  background: rgba(120, 200, 0, 0.1);
  color: #78c800 !important;
  border-color: rgba(120, 200, 0, 0.4) !important;
}

/* Connection indicators */
[data-theme='lambda-17'] .connection-type,
[data-theme='lambda-17'] .connection-server {
  color: #00c8c0;
}

/* ─── Guild Wars 1 — Tyria ─── */
[data-theme='gw1'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23c8960c%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Palette — aged Tyrian stone, ornate gold, Searing crimson */
  --ctp-crust: #060402;
  --ctp-mantle: #0a0806;
  --ctp-base: #0e0b08;
  --ctp-surface0: #1a1208;
  --ctp-surface1: #261b0c;
  --ctp-surface2: #342510;
  --ctp-overlay0: #5a4830;
  --ctp-overlay1: #7a6448;
  --ctp-overlay2: #9a8060;
  --ctp-text: #f0e4c4;
  --ctp-subtext1: #d4c49a;
  --ctp-subtext0: #b0a07a;
  --ctp-mauve: #c8960c;
  --ctp-lavender: #e8b820;
  --ctp-pink: #c0321a;
  --ctp-flamingo: #d4780c;
  --ctp-rosewater: #f0e4c4;
  --ctp-green: #5a8030;
  --ctp-teal: #3a6858;
  --ctp-sky: #7aaccc;
  --ctp-blue: #3a6898;
  --ctp-sapphire: #3a6898;
  --ctp-yellow: #e8c840;
  --ctp-peach: #d4780c;
  --ctp-maroon: #8b1515;
  --ctp-red: #c0321a;

  --bg-app: #0e0b08;
  --bg-sidebar: #0a0806;
  --bg-card: #1a1208;
  --bg-hover: #261b0c;
  --bg-player: #060402;
  --bg-glass: rgba(14, 11, 8, 0.88);
  --accent: #c8960c;
  --accent-dim: rgba(200, 150, 12, 0.15);
  --accent-glow: rgba(200, 150, 12, 0.35);
  --text-primary: #f0e4c4;
  --text-secondary: #9a8060;
  --text-muted: #a08858;
  --border: rgba(200, 150, 12, 0.28);
  --border-subtle: rgba(200, 150, 12, 0.10);
  --border-dropdown: rgba(200, 150, 12, 0.35);
  --shadow-dropdown: rgba(0, 0, 0, 0.85);
  --positive: #5a8030;
  --warning: #d4780c;
  --danger: #c0321a;
  --radius-sm: 2px;
  --radius-md: 3px;
  --radius-lg: 4px;
}

/* App shell — solid dark stone base (grid moved to sidebar-only for perf) */

/* Sidebar — worn leather with faint horizontal stone lines */
[data-theme='gw1'] .sidebar {
  border-right: 1px solid rgba(200, 150, 12, 0.35);
  background: linear-gradient(180deg, #0c0906 0%, #080604 100%);
  background-image: repeating-linear-gradient(0deg,
      rgba(200, 150, 12, 0.04) 0px,
      transparent 1px,
      transparent 48px,
      rgba(200, 150, 12, 0.04) 49px);
}

/* Player bar — the GW1 skill bar: deepest black, gold top border */
[data-theme='gw1'] .player-bar {
  background: #060402;
  border-top: 2px solid #c8960c;
  box-shadow: 0 -6px 28px rgba(200, 150, 12, 0.14), 0 -1px 0 rgba(0, 0, 0, 0.9);
}

/* Track name — Tyrian item-name gold glow, Cinzel serif */
[data-theme='gw1'] .player-track-name {
  color: #e8b820;
  text-shadow: 0 0 10px rgba(232, 184, 32, 0.55), 0 0 22px rgba(200, 150, 12, 0.25);
  font-family: 'Cinzel', 'Palatino Linotype', Georgia, serif;
  letter-spacing: 0.03em;
}

/* Artist name — faded parchment, not competing with gold */
[data-theme='gw1'] .player-artist-name {
  color: #9a8060;
}

/* Nav active — left gold bar like GW1 menu selection */
[data-theme='gw1'] .nav-link.active {
  background: linear-gradient(90deg, rgba(200, 150, 12, 0.20) 0%, transparent 100%);
  border-left: 3px solid #c8960c;
  color: #e8b820;
}

[data-theme='gw1'] .nav-link:hover:not(.active) {
  background: linear-gradient(90deg, rgba(200, 150, 12, 0.09) 0%, transparent 100%);
  border-left: 3px solid rgba(200, 150, 12, 0.35);
}

/* Content header — ornate double gold rule */
[data-theme='gw1'] .content-header {
  border-bottom: 1px solid rgba(200, 150, 12, 0.22);
  position: relative;
}

[data-theme='gw1'] .content-header::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(200, 150, 12, 0.7) 20%, rgba(232, 184, 32, 0.9) 50%, rgba(200, 150, 12, 0.7) 80%, transparent 100%);
}

/* Cards — dark leather panels with subtle gold frame */
[data-theme='gw1'] .album-card,
[data-theme='gw1'] .artist-card {
  box-shadow: inset 0 0 0 1px rgba(200, 150, 12, 0.18);
}

[data-theme='gw1'] .album-card:hover,
[data-theme='gw1'] .artist-card:hover {
  box-shadow: inset 0 0 0 1px rgba(200, 150, 12, 0.55), 0 4px 20px rgba(200, 150, 12, 0.18);
}

/* Queue / track rows — gold left accent bar on hover */
[data-theme='gw1'] .track-row:hover,
[data-theme='gw1'] .queue-item:hover {
  box-shadow: inset 2px 0 0 #c8960c;
  background: rgba(200, 150, 12, 0.08);
}

/* Primary play button — hammered gold like GW1 UI buttons */
[data-theme='gw1'] .player-btn-primary {
  background: linear-gradient(180deg, #e8b820 0%, #c8960c 50%, #a87808 100%);
  color: #060402;
  box-shadow: 0 0 14px rgba(200, 150, 12, 0.45);
  border: 1px solid #906606;
}

[data-theme='gw1'] .player-btn-primary:hover {
  background: linear-gradient(180deg, #f0c830 0%, #d8a818 50%, #b88818 100%);
  box-shadow: 0 0 22px rgba(200, 150, 12, 0.65);
}

/* btn-primary (play album, etc.) */
[data-theme='gw1'] .btn-primary {
  background: linear-gradient(180deg, #e8b820 0%, #c8960c 50%, #a87808 100%);
  color: #060402;
  border: 1px solid #906606;
}

[data-theme='gw1'] .btn-primary:hover {
  background: linear-gradient(180deg, #f0c830 0%, #d8a818 50%, #b88818 100%);
}

/* Hero play button — Cinzel font, gold, no flash on hover */
[data-theme='gw1'] .hero-play-btn {
  background: linear-gradient(180deg, #e8b820 0%, #c8960c 50%, #a87808 100%);
  color: #060402;
  border: 1px solid #906606;
  box-shadow: 0 2px 14px rgba(200, 150, 12, 0.45);
  font-family: 'Cinzel', Georgia, serif;
  letter-spacing: 0.05em;
  transition: filter var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

[data-theme='gw1'] .hero-play-btn:hover {
  background: linear-gradient(180deg, #f0c830 0%, #d8a818 50%, #b88818 100%);
  box-shadow: 0 4px 22px rgba(200, 150, 12, 0.65);
  transform: scale(1.02);
}

/* Album card overlay play button */
[data-theme='gw1'] .album-card-details-btn {
  background: linear-gradient(180deg, #e8b820 0%, #c8960c 50%, #a87808 100%);
  color: #060402;
  border: 1px solid #906606;
  box-shadow: 0 2px 10px rgba(200, 150, 12, 0.5);
}

/* Scrollbar — dark stone with gold thumb */
[data-theme='gw1'] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

[data-theme='gw1'] ::-webkit-scrollbar-track {
  background: #0a0806;
  border-left: 1px solid rgba(200, 150, 12, 0.08);
}

[data-theme='gw1'] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #c8960c, #a87808);
  border-radius: 3px;
}

[data-theme='gw1'] ::-webkit-scrollbar-thumb:hover {
  background: #e8b820;
}


/* ─── Grand Theft Audio — GTA V / Los Santos at Night ─── */
/* Money green + Wanted-level gold + LS asphalt dark           */
[data-theme='grand-theft-audio'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2357b05a%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* LS asphalt — almost black with a warm urban undertone */
  --ctp-crust: #030303;
  --ctp-mantle: #080808;
  --ctp-base: #0e0e0e;
  --ctp-surface0: #161616;
  --ctp-surface1: #202020;
  --ctp-surface2: #2c2c2c;
  --ctp-overlay0: #484848;
  --ctp-overlay1: #707070;
  --ctp-overlay2: #989898;
  --ctp-text: #e8e8e8;
  --ctp-subtext1: #c0c0c0;
  --ctp-subtext0: #888888;

  /* GTA palette */
  --ctp-green: #57b05a;
  /* money green — health bar */
  --ctp-mauve: #57b05a;
  --ctp-teal: #3d9e40;
  --ctp-yellow: #ffd700;
  /* wanted stars — 5-star gold */
  --ctp-peach: #ffb800;
  /* Los Santos Customs orange */
  --ctp-flamingo: #ffb800;
  --ctp-rosewater: #ffb800;
  --ctp-red: #e02020;
  /* wasted / busted red */
  --ctp-maroon: #c01818;
  --ctp-blue: #4a9fd4;
  /* armor bar blue */
  --ctp-sapphire: #3a8fc4;
  --ctp-sky: #4a9fd4;
  --ctp-lavender: #57b05a;
  --ctp-pink: #e02020;

  --bg-app: #0e0e0e;
  --bg-sidebar: #080808;
  /* minimap dark */
  --bg-card: #161616;
  --bg-hover: rgba(87, 176, 90, 0.08);
  --bg-player: #030303;
  /* HUD strip */
  --bg-glass: rgba(8, 8, 8, 0.95);

  --accent: #57b05a;
  /* money green */
  --accent-dim: rgba(87, 176, 90, 0.14);
  --accent-glow: rgba(87, 176, 90, 0.45);
  --volume-accent: #ffd700;
  /* wanted-gold for volume knob */

  --text-primary: #e8e8e8;
  --text-secondary: #ffd700;
  /* wanted-level gold — the key differentiator */
  --text-muted: #484848;
  --border: #242424;
  --border-subtle: #161616;
  --shadow-dropdown: rgba(0, 0, 0, 0.9);

  --radius-sm: 0px;
  --radius-md: 2px;
  --radius-lg: 3px;
  --radius-xl: 4px;
}

/* Sidebar = minimap panel: dark border + subtle city-grid stripe */
[data-theme='grand-theft-audio'] .sidebar {
  border-right: 2px solid #57b05a;
  background-image: repeating-linear-gradient(135deg,
      transparent,
      transparent 40px,
      rgba(87, 176, 90, 0.018) 40px,
      rgba(87, 176, 90, 0.018) 41px);
}

/* Player bar = GTA HUD strip: green health line + gold secondary */
[data-theme='grand-theft-audio'] .player-bar {
  border-top: 2px solid #57b05a;
  box-shadow:
    0 -1px 0 rgba(255, 215, 0, 0.25),
    0 -8px 30px rgba(87, 176, 90, 0.08);
}

/* Track name = money counter — green + uppercase */
[data-theme='grand-theft-audio'] .player-track-name {
  color: #57b05a;
  text-shadow: 0 0 10px rgba(87, 176, 90, 0.6), 0 0 24px rgba(87, 176, 90, 0.25);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.06em;
}

/* Artist = wanted-gold, like the bounty/level display */
[data-theme='grand-theft-audio'] .player-track-artist {
  color: #ffd700;
}

/* Active nav link: money-green gradient + glow bar */
[data-theme='grand-theft-audio'] .nav-link.active {
  background: linear-gradient(90deg, rgba(87, 176, 90, 0.18) 0%, transparent 100%);
  color: #57b05a;
}

[data-theme='grand-theft-audio'] .nav-link.active::before {
  width: 3px;
  box-shadow: 2px 0 12px rgba(87, 176, 90, 0.6);
}

/* Buttons: blocky GTA UI style */
[data-theme='grand-theft-audio'] .btn-primary {
  background: #57b05a;
  color: #030303;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.06em;
  border: none;
}

[data-theme='grand-theft-audio'] .btn-primary:hover {
  background: #6abf6e;
}

/* Queue active = health-bar green left strip */
[data-theme='grand-theft-audio'] .queue-item.active {
  background: rgba(87, 176, 90, 0.08);
  box-shadow: inset 3px 0 0 #57b05a;
}

[data-theme='grand-theft-audio'] .np-queue-item.active {
  background: rgba(87, 176, 90, 0.07);
}

[data-theme='grand-theft-audio'] .np-queue-item-active {
  color: #57b05a;
  text-shadow: 0 0 8px rgba(87, 176, 90, 0.55);
}

/* Now-playing active track = gold (5-star wanted) */
[data-theme='grand-theft-audio'] .np-album-track.active .np-album-track-title,
[data-theme='grand-theft-audio'] .np-album-track.active .np-album-track-num {
  color: #ffd700;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.5);
}

/* Hover rows */
[data-theme='grand-theft-audio'] .track-row:hover,
[data-theme='grand-theft-audio'] .track-row.context-active {
  background: rgba(87, 176, 90, 0.07) !important;
  box-shadow: inset 3px 0 0 #57b05a;
}

[data-theme='grand-theft-audio'] .queue-item:hover,
[data-theme='grand-theft-audio'] .queue-item.context-active {
  background: rgba(87, 176, 90, 0.08) !important;
  box-shadow: inset 3px 0 0 #57b05a;
}

[data-theme='grand-theft-audio'] .np-queue-item:hover,
[data-theme='grand-theft-audio'] .np-queue-item.context-active {
  background: rgba(87, 176, 90, 0.07);
  box-shadow: inset 2px 0 0 #57b05a;
}

[data-theme='grand-theft-audio'] .artist-row:hover {
  background: rgba(87, 176, 90, 0.07);
  box-shadow: inset 3px 0 0 #57b05a;
}

[data-theme='grand-theft-audio'] .playlist-row:hover {
  background: rgba(87, 176, 90, 0.07);
  box-shadow: inset 3px 0 0 #57b05a;
}

/* Settings tabs: gold active = 5-star screen */
[data-theme='grand-theft-audio'] .settings-tab:hover {
  background: rgba(87, 176, 90, 0.07);
  color: #57b05a;
}

[data-theme='grand-theft-audio'] .settings-tab.active {
  background: rgba(255, 215, 0, 0.07);
  color: #ffd700;
  box-shadow: inset 3px 0 0 #ffd700;
}

/* Queue tab */
[data-theme='grand-theft-audio'] .queue-tab-btn:hover {
  background: rgba(87, 176, 90, 0.07);
  color: #57b05a;
}

/* Dropdowns */
[data-theme='grand-theft-audio'] .custom-select-trigger:hover {
  background: rgba(87, 176, 90, 0.07);
}

[data-theme='grand-theft-audio'] .custom-select-option:hover {
  background: rgba(87, 176, 90, 0.1) !important;
  color: #57b05a !important;
}

/* Artist pills = LS Customs orange */
[data-theme='grand-theft-audio'] .artist-ext-link:hover {
  background: rgba(255, 184, 0, 0.1);
  color: #ffb800 !important;
  border-color: rgba(255, 184, 0, 0.4) !important;
}

/* Queue album title = gold */
[data-theme='grand-theft-audio'] .queue-meta-album {
  color: #ffd700;
}

/* Connection indicators */
[data-theme='grand-theft-audio'] .connection-type,
[data-theme='grand-theft-audio'] .connection-server {
  color: #ffd700;
}

/* ─── V-Tactical ─── */
[data-theme='v-tactical'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23708599%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #090c0e;
  --ctp-mantle: #0d1114;
  --ctp-base: #161c22;
  --ctp-surface0: #1f2830;
  --ctp-surface1: #2a3640;
  --ctp-surface2: #3a4a58;
  --ctp-overlay0: #526371;
  --ctp-overlay1: #708599;
  --ctp-overlay2: #8da4b8;
  --ctp-text: #e1e9ef;
  --ctp-subtext1: #b0c1d1;
  --ctp-subtext0: #8da4b8;
  --ctp-mauve: #ff8a00;
  --ctp-lavender: #ffaa45;
  --ctp-pink: #bf616a;
  --ctp-flamingo: #d08770;
  --ctp-rosewater: #e1e9ef;
  --ctp-green: #a3be8c;
  --ctp-teal: #88c0d0;
  --ctp-sky: #81a1c1;
  --ctp-blue: #5e81ac;
  --ctp-sapphire: #5e81ac;
  --ctp-yellow: #ebcb8b;
  --ctp-peach: #d08770;
  --ctp-maroon: #bf616a;
  --ctp-red: #bf616a;

  --bg-app: #161c22;
  --bg-sidebar: #0d1114;
  --bg-card: #1f2830;
  --bg-hover: rgba(255, 138, 0, 0.1);
  --bg-player: #090c0e;
  --bg-glass: rgba(13, 17, 20, 0.85);
  --accent: #ff8a00;
  --accent-dim: rgba(255, 138, 0, 0.15);
  --accent-glow: rgba(255, 138, 0, 0.4);
  --text-primary: #e1e9ef;
  --text-secondary: #b0c1d1;
  --text-muted: #708599;
  --border: #3a4a58;
  --border-subtle: #1f2830;
  --border-dropdown: #3a4a58;
  --shadow-dropdown: rgba(0, 0, 0, 0.7);
  --positive: #a3be8c;
  --warning: #ebcb8b;
  --danger: #bf616a;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-lg: 4px;
}

[data-theme='v-tactical'] .sidebar {
  border-right: 1px solid var(--border);
}

[data-theme='v-tactical'] .player-bar {
  border-top: 2px solid var(--accent);
  background: linear-gradient(180deg, #0d1114 0%, #090c0e 100%);
}

[data-theme='v-tactical'] .player-track-name {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  color: var(--accent);
  text-shadow: 0 0 10px var(--accent-glow);
}

[data-theme='v-tactical'] .nav-link.active {
  background: linear-gradient(90deg, rgba(255, 138, 0, 0.15) 0%, transparent 100%);
  border-left: 3px solid var(--accent);
}

[data-theme='v-tactical'] .btn-primary {
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.5px;
}

/* ─── NightCity 2077 — Cyberpunk 2077 ─── */
/* V yellow + Netrunner cyan + Gang magenta + Johnny Silverhand glitch */
@keyframes glitch-2077 {

  0%,
  85%,
  100% {
    text-shadow:
      0 0 8px rgba(252, 238, 10, 0.75),
      0 0 22px rgba(252, 238, 10, 0.35),
      0 0 48px rgba(252, 238, 10, 0.12);
    transform: none;
  }

  86% {
    text-shadow:
      -3px 0 rgba(0, 245, 255, 0.65),
      3px 0 rgba(255, 45, 155, 0.65),
      0 0 8px rgba(252, 238, 10, 0.75);
    transform: translateX(-2px);
  }

  87% {
    text-shadow:
      3px 0 rgba(0, 245, 255, 0.65),
      -3px 0 rgba(255, 45, 155, 0.65),
      0 0 8px rgba(252, 238, 10, 0.75);
    transform: translateX(2px) skewX(-2deg);
  }

  88% {
    text-shadow:
      0 0 8px rgba(252, 238, 10, 0.75),
      0 0 22px rgba(252, 238, 10, 0.35);
    transform: none;
  }

  89% {
    text-shadow:
      -1px 0 rgba(0, 245, 255, 0.4),
      1px 0 rgba(255, 45, 155, 0.4),
      0 0 10px rgba(252, 238, 10, 0.8);
    transform: translateX(1px);
  }

  90% {
    text-shadow:
      0 0 8px rgba(252, 238, 10, 0.75),
      0 0 22px rgba(252, 238, 10, 0.35),
      0 0 48px rgba(252, 238, 10, 0.12);
    transform: none;
  }
}

[data-theme='nightcity-2077'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23FCEE0A%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Night City asphalt — dark with cold blue-black undertone */
  --ctp-crust: #000003;
  --ctp-mantle: #020208;
  --ctp-base: #06060f;
  --ctp-surface0: #0d0d1a;
  --ctp-surface1: #141428;
  --ctp-surface2: #1e1e38;
  --ctp-overlay0: #50508a;
  --ctp-overlay1: #7878b8;
  --ctp-overlay2: #a0a0d8;
  --ctp-text: #f0f0ff;
  --ctp-subtext1: #d0d0f8;
  --ctp-subtext0: #a0a0d8;

  /* Cyberpunk palette */
  --ctp-yellow: #FCEE0A;
  /* V / Johnny — primary yellow */
  --ctp-mauve: #FCEE0A;
  --ctp-lavender: #ffe84d;
  --ctp-teal: #00f5ff;
  /* Netrunner cyan */
  --ctp-sky: #00f5ff;
  --ctp-sapphire: #00c8e0;
  --ctp-blue: #0088ff;
  /* NCPD/corpo blue */
  --ctp-pink: #ff2d9b;
  /* Gang magenta — Maelstrom/Valentinos neon */
  --ctp-flamingo: #ff2d9b;
  --ctp-rosewater: #ff80c8;
  --ctp-green: #00ff9f;
  /* Netrunner green — Quickhack */
  --ctp-red: #ff1a1a;
  /* Combat critical / Arasaka red */
  --ctp-maroon: #cc0000;
  --ctp-peach: #ff8800;
  /* Trauma Team orange */

  --bg-app: #06060f;
  --bg-sidebar: #020208;
  /* deeper — like the Night City backdrop */
  --bg-card: #0d0d1a;
  --bg-hover: rgba(252, 238, 10, 0.07);
  --bg-player: #000003;
  --bg-glass: rgba(6, 6, 15, 0.96);

  --accent: #FCEE0A;
  /* V yellow */
  --accent-dim: rgba(252, 238, 10, 0.12);
  --accent-glow: rgba(252, 238, 10, 0.5);
  --volume-accent: #00f5ff;
  /* Netrunner cyan for volume */

  --text-primary: #f0f0ff;
  --text-secondary: #00f5ff;
  /* Netrunner cyan — the key differentiator */
  --text-muted: #6868a8;
  --border: #1e1e38;
  --border-subtle: #0d0d1a;
  --shadow-dropdown: rgba(0, 0, 0, 0.95);

  --positive: #00ff9f;
  --warning: #FCEE0A;
  --danger: #ff1a1a;

  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 2px;
  --radius-xl: 2px;
}

/* Sidebar = tech/netrunner panel: cyan border + scan-line texture */
[data-theme='nightcity-2077'] .sidebar {
  border-right: 2px solid #00f5ff;
  box-shadow: 2px 0 16px rgba(0, 245, 255, 0.1);
  background-image: repeating-linear-gradient(0deg,
      transparent,
      transparent 3px,
      rgba(0, 245, 255, 0.012) 3px,
      rgba(0, 245, 255, 0.012) 4px);
}

/* Player bar = HUD: V yellow top + cyan secondary strip */
[data-theme='nightcity-2077'] .player-bar {
  border-top: 2px solid #FCEE0A;
  box-shadow:
    0 -1px 0 rgba(0, 245, 255, 0.35),
    0 -8px 32px rgba(252, 238, 10, 0.08),
    0 -2px 16px rgba(0, 245, 255, 0.06);
}

/* Track name = V's yellow + Johnny Silverhand glitch */
[data-theme='nightcity-2077'] .player-track-name {
  color: #FCEE0A;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.08em;
  animation: glitch-2077 9s infinite;
}

/* Artist = Netrunner cyan */
[data-theme='nightcity-2077'] .player-track-artist {
  color: #00f5ff;
}

/* Queue album = gang magenta */
[data-theme='nightcity-2077'] .queue-meta-album {
  color: #ff2d9b;
}

/* Active nav: yellow gradient + chamfered feel */
[data-theme='nightcity-2077'] .nav-link.active {
  background: linear-gradient(90deg, rgba(252, 238, 10, 0.15) 0%, transparent 100%);
  color: #FCEE0A;
}

[data-theme='nightcity-2077'] .nav-link.active::before {
  width: 3px;
  background: #FCEE0A;
  box-shadow: 2px 0 14px rgba(252, 238, 10, 0.7);
}

/* Buttons: angular chamfered corner — iconic CP2077 UI shape */
[data-theme='nightcity-2077'] .btn-primary {
  background: #FCEE0A;
  color: #000000;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: none;
  border-radius: 0;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}

[data-theme='nightcity-2077'] .btn-primary:hover {
  background: #ffe84d;
  box-shadow: 0 0 20px rgba(252, 238, 10, 0.5);
}

[data-theme='nightcity-2077'] .btn-surface {
  border-radius: 0;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%);
}

/* Queue active = cyan netrunner bar */
[data-theme='nightcity-2077'] .queue-item.active {
  background: rgba(0, 245, 255, 0.07);
  box-shadow: inset 3px 0 0 #00f5ff;
}

[data-theme='nightcity-2077'] .np-queue-item.active {
  background: rgba(0, 245, 255, 0.06);
}

[data-theme='nightcity-2077'] .np-queue-item-active {
  color: #FCEE0A;
  text-shadow: 0 0 8px rgba(252, 238, 10, 0.6);
}

/* Now-playing active track = magenta gang glow */
[data-theme='nightcity-2077'] .np-album-track.active .np-album-track-title,
[data-theme='nightcity-2077'] .np-album-track.active .np-album-track-num {
  color: #ff2d9b;
  text-shadow: 0 0 10px rgba(255, 45, 155, 0.55);
}

/* Hover rows: yellow left bar */
[data-theme='nightcity-2077'] .track-row:hover,
[data-theme='nightcity-2077'] .track-row.context-active {
  background: rgba(252, 238, 10, 0.06) !important;
  box-shadow: inset 3px 0 0 #FCEE0A;
}

[data-theme='nightcity-2077'] .queue-item:hover,
[data-theme='nightcity-2077'] .queue-item.context-active {
  background: rgba(0, 245, 255, 0.06) !important;
  box-shadow: inset 3px 0 0 #00f5ff;
}

[data-theme='nightcity-2077'] .np-queue-item:hover,
[data-theme='nightcity-2077'] .np-queue-item.context-active {
  background: rgba(0, 245, 255, 0.06);
  box-shadow: inset 2px 0 0 #00f5ff;
}

[data-theme='nightcity-2077'] .artist-row:hover {
  background: rgba(252, 238, 10, 0.05);
  box-shadow: inset 3px 0 0 #FCEE0A;
}

[data-theme='nightcity-2077'] .playlist-row:hover {
  background: rgba(252, 238, 10, 0.05);
  box-shadow: inset 3px 0 0 #FCEE0A;
}

/* Settings tabs: active = magenta Valentinos style */
[data-theme='nightcity-2077'] .settings-tab:hover {
  background: rgba(252, 238, 10, 0.06);
  color: #FCEE0A;
}

[data-theme='nightcity-2077'] .settings-tab.active {
  background: rgba(255, 45, 155, 0.08);
  color: #ff2d9b;
  box-shadow: inset 3px 0 0 #ff2d9b;
}

/* Queue tabs */
[data-theme='nightcity-2077'] .queue-tab-btn:hover {
  background: rgba(0, 245, 255, 0.07);
  color: #00f5ff;
}

/* Dropdowns */
[data-theme='nightcity-2077'] .custom-select-trigger:hover {
  background: rgba(252, 238, 10, 0.07);
}

[data-theme='nightcity-2077'] .custom-select-option:hover {
  background: rgba(252, 238, 10, 0.1) !important;
  color: #FCEE0A !important;
}

/* Artist pills = Trauma Team orange */
[data-theme='nightcity-2077'] .artist-ext-link:hover {
  background: rgba(255, 136, 0, 0.1);
  color: #ff8800 !important;
  border-color: rgba(255, 136, 0, 0.4) !important;
}

/* Cards: dark glass with cyan edge-glow */
[data-theme='nightcity-2077'] .glass {
  border: 1px solid rgba(0, 245, 255, 0.12) !important;
  box-shadow: 0 0 0 1px rgba(252, 238, 10, 0.04), inset 0 0 20px rgba(0, 245, 255, 0.02) !important;
}

/* Connection indicators */
[data-theme='nightcity-2077'] .connection-type,
[data-theme='nightcity-2077'] .connection-server {
  color: #00f5ff;
}

/* ─── Heisenberg — Breaking Bad ─── */
@keyframes crystal-pulse {

  0%,
  100% {
    text-shadow:
      0 0 6px rgba(78, 223, 47, 0.60),
      0 0 18px rgba(78, 223, 47, 0.32),
      0 0 40px rgba(78, 223, 47, 0.14);
  }

  50% {
    text-shadow:
      0 0 10px rgba(78, 223, 47, 0.80),
      0 0 28px rgba(78, 223, 47, 0.48),
      0 0 60px rgba(78, 223, 47, 0.22);
  }
}

[data-theme='heisenberg'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2335d4f8%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Breaking Bad palette — crystal blue, BB logo green, hazmat yellow */
  --ctp-crust: #050709;
  --ctp-mantle: #080b0e;
  --ctp-base: #0b0e12;
  --ctp-surface0: #141a22;
  --ctp-surface1: #1e2830;
  --ctp-surface2: #283440;
  --ctp-overlay0: #3a4e60;
  --ctp-overlay1: #5a7288;
  --ctp-overlay2: #7a96a8;
  --ctp-text: #e4f0f8;
  --ctp-subtext1: #c0d8e8;
  --ctp-subtext0: #8ab0c8;
  --ctp-mauve: #35d4f8;
  --ctp-lavender: #70e8ff;
  --ctp-pink: #f05080;
  --ctp-flamingo: #e84060;
  --ctp-rosewater: #e4f0f8;
  --ctp-green: #4edf2f;
  --ctp-teal: #20c8b0;
  --ctp-sky: #55ddff;
  --ctp-blue: #35d4f8;
  --ctp-sapphire: #1ab8e0;
  --ctp-yellow: #f0c020;
  --ctp-peach: #e88040;
  --ctp-maroon: #a01820;
  --ctp-red: #e03030;

  --bg-app: #0b0e12;
  --bg-sidebar: #060a0e;
  --bg-card: #141a22;
  --bg-hover: #1e2830;
  --bg-player: #060809;
  --bg-glass: rgba(8, 11, 14, 0.92);
  --accent: #35d4f8;
  --accent-dim: rgba(53, 212, 248, 0.12);
  --accent-glow: rgba(53, 212, 248, 0.35);
  --text-primary: #e4f0f8;
  --text-secondary: #7a96a8;
  --text-muted: #7aaabe;
  --border: rgba(53, 212, 248, 0.14);
  --border-subtle: rgba(53, 212, 248, 0.06);
  --border-dropdown: rgba(53, 212, 248, 0.25);
  --shadow-dropdown: rgba(0, 0, 0, 0.92);
  --positive: #4edf2f;
  --warning: #f0c020;
  --danger: #e03030;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

/* App shell — periodic table grid (BB opening credits) */
[data-theme='heisenberg'] .app-shell {
  background-image:
    linear-gradient(rgba(53, 212, 248, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(53, 212, 248, 0.04) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* Sidebar — darker lab space, hazmat tape diagonal (very subtle) */
[data-theme='heisenberg'] .sidebar {
  background: #060a0e;
  border-right: 1px solid rgba(53, 212, 248, 0.14);
  background-image:
    repeating-linear-gradient(45deg,
      transparent 0px,
      transparent 20px,
      rgba(240, 192, 32, 0.028) 20px,
      rgba(240, 192, 32, 0.028) 22px);
}

/* Player bar — lab fluorescent: crystal blue top glow */
[data-theme='heisenberg'] .player-bar {
  background: #060809;
  border-top: 2px solid #35d4f8;
  box-shadow: 0 -8px 32px rgba(53, 212, 248, 0.14), 0 -1px 0 rgba(0, 0, 0, 0.9);
}

/* Track name — BB logo green glow (the Br/Ba element box color) */
[data-theme='heisenberg'] .player-track-name {
  color: #4edf2f;
  animation: crystal-pulse 3s ease-in-out infinite;
}

/* Artist name — hazmat suit yellow */
[data-theme='heisenberg'] .player-artist-name {
  color: #f0c020;
}

/* Nav active — BB green left bar */
[data-theme='heisenberg'] .nav-link.active {
  background: linear-gradient(90deg, rgba(78, 223, 47, 0.12) 0%, transparent 100%);
  border-left: 3px solid #4edf2f;
  color: #4edf2f;
}

[data-theme='heisenberg'] .nav-link:hover:not(.active) {
  background: linear-gradient(90deg, rgba(53, 212, 248, 0.06) 0%, transparent 100%);
  border-left: 3px solid rgba(53, 212, 248, 0.28);
}

/* Content header */
[data-theme='heisenberg'] .content-header {
  border-bottom: 1px solid rgba(53, 212, 248, 0.10);
}

/* Cards — blue crystal border on hover */
[data-theme='heisenberg'] .album-card:hover,
[data-theme='heisenberg'] .artist-card:hover {
  box-shadow: 0 0 0 1px rgba(53, 212, 248, 0.50), 0 4px 20px rgba(53, 212, 248, 0.14);
}

/* Track / queue rows */
[data-theme='heisenberg'] .track-row:hover,
[data-theme='heisenberg'] .queue-item:hover {
  box-shadow: inset 2px 0 0 #35d4f8;
  background: rgba(53, 212, 248, 0.05);
}

/* Primary play button — crystal blue gradient */
[data-theme='heisenberg'] .player-btn-primary {
  background: linear-gradient(180deg, #60e4ff 0%, #35d4f8 50%, #18b8e0 100%);
  color: #060809;
  box-shadow: 0 0 16px rgba(53, 212, 248, 0.45);
  border: 1px solid #14a8d0;
}

[data-theme='heisenberg'] .player-btn-primary:hover {
  background: linear-gradient(180deg, #7aecff 0%, #50deff 50%, #28caf0 100%);
  box-shadow: 0 0 26px rgba(53, 212, 248, 0.70);
}

/* btn-primary */
[data-theme='heisenberg'] .btn-primary {
  background: linear-gradient(180deg, #60e4ff 0%, #35d4f8 50%, #18b8e0 100%);
  color: #060809;
  border: 1px solid #14a8d0;
}

[data-theme='heisenberg'] .btn-primary:hover {
  background: linear-gradient(180deg, #7aecff 0%, #50deff 50%, #28caf0 100%);
}

/* Hero play button */
[data-theme='heisenberg'] .hero-play-btn {
  background: linear-gradient(180deg, #60e4ff 0%, #35d4f8 50%, #18b8e0 100%);
  color: #060809;
  border: 1px solid #14a8d0;
  box-shadow: 0 2px 16px rgba(53, 212, 248, 0.45);
  transition: filter var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

[data-theme='heisenberg'] .hero-play-btn:hover {
  background: linear-gradient(180deg, #7aecff 0%, #50deff 50%, #28caf0 100%);
  box-shadow: 0 4px 26px rgba(53, 212, 248, 0.68);
  transform: scale(1.02);
}

/* Album card overlay button */
[data-theme='heisenberg'] .album-card-details-btn {
  background: linear-gradient(180deg, #60e4ff 0%, #35d4f8 50%, #18b8e0 100%);
  color: #060809;
  border: 1px solid #14a8d0;
  box-shadow: 0 2px 12px rgba(53, 212, 248, 0.40);
}

/* Scrollbar — thin blue crystal */
[data-theme='heisenberg'] ::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

[data-theme='heisenberg'] ::-webkit-scrollbar-track {
  background: #080b0e;
}

[data-theme='heisenberg'] ::-webkit-scrollbar-thumb {
  background: rgba(53, 212, 248, 0.35);
  border-radius: 3px;
}

[data-theme='heisenberg'] ::-webkit-scrollbar-thumb:hover {
  background: #35d4f8;
}

/* ─── A Theme of Ice and Fire — Game of Thrones ─── */
/* Concept: FIRE (volcanic Dragonstone, main area) vs ICE (Castle Black, sidebar) */
@keyframes fire-flicker {
  0% {
    text-shadow: 0 0 8px rgba(200, 30, 20, 0.65), 0 0 20px rgba(200, 60, 10, 0.30);
  }

  20% {
    text-shadow: 0 0 12px rgba(220, 55, 15, 0.75), 0 0 28px rgba(210, 40, 10, 0.38);
  }

  40% {
    text-shadow: 0 0 6px rgba(180, 20, 10, 0.55), 0 0 14px rgba(190, 30, 10, 0.22);
  }

  65% {
    text-shadow: 0 0 14px rgba(215, 50, 12, 0.80), 0 0 32px rgba(200, 70, 15, 0.40);
  }

  85% {
    text-shadow: 0 0 9px rgba(195, 25, 15, 0.60), 0 0 22px rgba(200, 40, 10, 0.28);
  }

  100% {
    text-shadow: 0 0 8px rgba(200, 30, 20, 0.65), 0 0 20px rgba(200, 60, 10, 0.30);
  }
}

[data-theme='ice-and-fire'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23c41e1e%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Palette — Targaryen blood red, dragon gold, volcanic black, Wall ice */
  --ctp-crust: #060402;
  --ctp-mantle: #0a0806;
  --ctp-base: #100c08;
  --ctp-surface0: #1c1410;
  --ctp-surface1: #281c14;
  --ctp-surface2: #38261c;
  --ctp-overlay0: #5a3e2e;
  --ctp-overlay1: #7a5840;
  --ctp-overlay2: #9a7858;
  --ctp-text: #ecdcc8;
  --ctp-subtext1: #d0b898;
  --ctp-subtext0: #a89070;
  --ctp-mauve: #c41e1e;
  --ctp-lavender: #e03030;
  --ctp-pink: #e03030;
  --ctp-flamingo: #c83010;
  --ctp-rosewater: #ecdcc8;
  --ctp-green: #5a8a3a;
  --ctp-teal: #5090a0;
  /* Wall ice teal */
  --ctp-sky: #80b8d0;
  /* Northern sky */
  --ctp-blue: #3a6898;
  --ctp-sapphire: #3a6898;
  --ctp-yellow: #c8880a;
  /* Lannister / dragon gold */
  --ctp-peach: #c83010;
  --ctp-maroon: #8b0808;
  --ctp-red: #c41e1e;

  --bg-app: #100c08;
  /* volcanic black — warm dark */
  --bg-sidebar: #090c10;
  /* Castle Black — cold blue-grey stone */
  --bg-card: #1c1410;
  --bg-hover: #281c14;
  --bg-player: #060402;
  /* obsidian black */
  --bg-glass: rgba(10, 8, 6, 0.92);
  --accent: #c41e1e;
  /* Targaryen blood red */
  --accent-dim: rgba(196, 30, 30, 0.14);
  --accent-glow: rgba(196, 30, 30, 0.38);
  --text-primary: #ecdcc8;
  /* warm stone parchment */
  --text-secondary: #9a7858;
  --text-muted: #b08860;
  --border: rgba(196, 30, 30, 0.20);
  --border-subtle: rgba(196, 30, 30, 0.08);
  --border-dropdown: rgba(196, 30, 30, 0.32);
  --shadow-dropdown: rgba(0, 0, 0, 0.92);
  --positive: #5a8a3a;
  --warning: #c8880a;
  --danger: #c41e1e;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

/* App shell — scattered torch-light: warm pools of fire at corners */
[data-theme='ice-and-fire'] .app-shell {
  background-image:
    radial-gradient(ellipse at 15% 85%, rgba(200, 80, 10, 0.07) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 15%, rgba(180, 20, 10, 0.06) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 85%, rgba(200, 100, 15, 0.05) 0%, transparent 45%);
}

/* Sidebar — THE NORTH: cold Castle Black stone, masonry pattern */
[data-theme='ice-and-fire'] .sidebar {
  background: #090c10;
  border-right: 1px solid rgba(196, 30, 30, 0.20);
  background-image:
    repeating-linear-gradient(0deg,
      rgba(80, 110, 140, 0.04) 0px, transparent 1px, transparent 56px,
      rgba(80, 110, 140, 0.04) 57px),
    repeating-linear-gradient(90deg,
      rgba(80, 110, 140, 0.025) 0px, transparent 1px, transparent 112px,
      rgba(80, 110, 140, 0.025) 113px);
}

/* Player bar — Dragonstone forge: fire glow rising from below */
[data-theme='ice-and-fire'] .player-bar {
  background: #060402;
  border-top: 2px solid #c41e1e;
  background-image:
    radial-gradient(ellipse at 50% 130%, rgba(200, 80, 15, 0.22) 0%, rgba(180, 20, 10, 0.12) 45%, transparent 70%);
  box-shadow: 0 -8px 36px rgba(180, 20, 10, 0.22), 0 -1px 0 rgba(0, 0, 0, 0.9);
}

/* Track name — Targaryen red, fire flicker (irregular like real flame) */
[data-theme='ice-and-fire'] .player-track-name {
  color: #d42020;
  animation: fire-flicker 5s ease-in-out infinite;
}

/* Artist name — Lannister/dragon gold */
[data-theme='ice-and-fire'] .player-artist-name {
  color: #c8880a;
}

/* Nav active — blood red left bar */
[data-theme='ice-and-fire'] .nav-link.active {
  background: linear-gradient(90deg, rgba(196, 30, 30, 0.18) 0%, transparent 100%);
  border-left: 3px solid #c41e1e;
  color: #d42020;
}

[data-theme='ice-and-fire'] .nav-link:hover:not(.active) {
  background: linear-gradient(90deg, rgba(196, 30, 30, 0.08) 0%, transparent 100%);
  border-left: 3px solid rgba(196, 30, 30, 0.32);
}

/* Content header — red-to-gold ornate rule: Fire and Blood / Hear Me Roar */
[data-theme='ice-and-fire'] .content-header {
  border-bottom: 1px solid rgba(196, 30, 30, 0.16);
  position: relative;
}

[data-theme='ice-and-fire'] .content-header::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(196, 30, 30, 0.70) 25%,
      rgba(200, 136, 10, 0.90) 50%,
      rgba(196, 30, 30, 0.70) 75%,
      transparent 100%);
}

/* Cards — volcanic panel, fire-gold border on hover */
[data-theme='ice-and-fire'] .album-card:hover,
[data-theme='ice-and-fire'] .artist-card:hover {
  box-shadow:
    0 0 0 1px rgba(196, 30, 30, 0.50),
    0 0 0 2px rgba(200, 136, 10, 0.14),
    0 4px 24px rgba(180, 20, 10, 0.18);
}

/* Track / queue rows */
[data-theme='ice-and-fire'] .track-row:hover,
[data-theme='ice-and-fire'] .queue-item:hover {
  box-shadow: inset 2px 0 0 #c41e1e;
  background: rgba(196, 30, 30, 0.07);
}

/* Primary play button — Targaryen red gradient */
[data-theme='ice-and-fire'] .player-btn-primary {
  background: linear-gradient(180deg, #e03030 0%, #c41e1e 50%, #9c1010 100%);
  color: #ecdcc8;
  box-shadow: 0 0 16px rgba(196, 30, 30, 0.48);
  border: 1px solid #880808;
}

[data-theme='ice-and-fire'] .player-btn-primary:hover {
  background: linear-gradient(180deg, #f04040 0%, #d42828 50%, #ac1818 100%);
  box-shadow: 0 0 26px rgba(196, 30, 30, 0.70);
}

/* btn-primary */
[data-theme='ice-and-fire'] .btn-primary {
  background: linear-gradient(180deg, #e03030 0%, #c41e1e 50%, #9c1010 100%);
  color: #ecdcc8;
  border: 1px solid #880808;
}

[data-theme='ice-and-fire'] .btn-primary:hover {
  background: linear-gradient(180deg, #f04040 0%, #d42828 50%, #ac1818 100%);
}

/* Hero play button */
[data-theme='ice-and-fire'] .hero-play-btn {
  background: linear-gradient(180deg, #e03030 0%, #c41e1e 50%, #9c1010 100%);
  color: #ecdcc8;
  border: 1px solid #880808;
  box-shadow: 0 2px 16px rgba(196, 30, 30, 0.48);
  transition: filter var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

[data-theme='ice-and-fire'] .hero-play-btn:hover {
  background: linear-gradient(180deg, #f04040 0%, #d42828 50%, #ac1818 100%);
  box-shadow: 0 4px 26px rgba(196, 30, 30, 0.70);
  transform: scale(1.02);
}

/* Album card overlay button */
[data-theme='ice-and-fire'] .album-card-details-btn {
  background: linear-gradient(180deg, #e03030 0%, #c41e1e 50%, #9c1010 100%);
  color: #ecdcc8;
  border: 1px solid #880808;
  box-shadow: 0 2px 12px rgba(196, 30, 30, 0.45);
}

/* Scrollbar — obsidian dark, blood-red thumb transitioning to gold */
[data-theme='ice-and-fire'] ::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

[data-theme='ice-and-fire'] ::-webkit-scrollbar-track {
  background: #090c10;
}

[data-theme='ice-and-fire'] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #c41e1e, #883010);
  border-radius: 3px;
}

[data-theme='ice-and-fire'] ::-webkit-scrollbar-thumb:hover {
  background: #c8880a;
}

/* Connection indicators */
[data-theme='ice-and-fire'] .connection-type,
[data-theme='ice-and-fire'] .connection-server {
  color: #9a7858;
}

/* ─── D'oh-matic ─── */
[data-theme='doh-matic'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23444444%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #FFD90F;
  --ctp-mantle: #BAE1FF;
  --ctp-base: #FFFDF0;
  --ctp-surface0: #F0F8FF;
  --ctp-surface1: #E0EFFF;
  --ctp-surface2: #D0E5FF;
  --ctp-overlay0: #999999;
  --ctp-overlay1: #777777;
  --ctp-overlay2: #555555;
  --ctp-text: #222222;
  --ctp-subtext1: #444444;
  --ctp-subtext0: #666666;
  --ctp-mauve: #1F75FE;
  --ctp-lavender: #4D91FF;
  --ctp-pink: #F14E96;
  --ctp-flamingo: #F14E96;
  --ctp-rosewater: #FFD90F;
  --ctp-green: #4AC948;
  --ctp-teal: #00BFAF;
  --ctp-sky: #4D91FF;
  --ctp-blue: #1F75FE;
  --ctp-sapphire: #1F75FE;
  --ctp-yellow: #FFD90F;
  --ctp-peach: #F26522;
  --ctp-maroon: #CC0000;
  --ctp-red: #ED1C24;

  --bg-app: #FFFDF0;
  --bg-sidebar: #BAE1FF;
  --bg-card: #FFFFFF;
  --bg-hover: rgba(31, 117, 254, 0.1);
  --bg-player: #FFD90F;
  --bg-glass: rgba(255, 253, 240, 0.8);
  --accent: #1F75FE;
  --accent-dim: rgba(31, 117, 254, 0.15);
  --accent-glow: rgba(31, 117, 254, 0.3);
  --text-primary: #222222;
  --text-secondary: #444444;
  --text-muted: #555555;
  --border: #222222;
  --border-subtle: rgba(0, 0, 0, 0.1);
  --border-dropdown: #cccccc;
  --shadow-dropdown: rgba(0, 0, 0, 0.15);
  --positive: #4AC948;
  --warning: #F26522;
  --danger: #ED1C24;
  --radius-md: 12px;
}

[data-theme='doh-matic'] .sidebar {
  border-right: 2px solid #222222;
}

[data-theme='doh-matic'] .player-bar {
  border-top: 3px solid #222222;
}

[data-theme='doh-matic'] .player-track-name,
[data-theme='doh-matic'] .player-track-artist,
[data-theme='doh-matic'] .player-time {
  color: #222222 !important;
}

[data-theme='doh-matic'] .player-btn {
  color: #222222;
}

[data-theme='doh-matic'] .btn-primary:hover {
  background-color: var(--ctp-pink);
  border-color: #222222;
}

[data-theme='doh-matic'] .btn-surface:hover {
  background: #D0E5FF;
}

/* ─── Order of the Phoenix ─── */
/* ─── W98 ─── */
[data-theme='w98'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Authentische W98 Palette ── */
  --ctp-crust: #808080;
  --ctp-mantle: #a0a0a0;
  --ctp-base: #d4d0c8;
  /* Echtes W98 Button Face */
  --ctp-surface0: #ffffff;
  --ctp-surface1: #ececec;
  --ctp-surface2: #d4d0c8;
  --ctp-overlay0: #808080;
  --ctp-overlay1: #404040;
  --ctp-overlay2: #000000;
  --ctp-text: #000000;
  --ctp-subtext1: #000000;
  --ctp-subtext0: #404040;

  --ctp-mauve: #000080;
  --ctp-lavender: #0000cc;
  --ctp-green: #008000;
  --ctp-teal: #008080;
  --ctp-sky: #0000ff;
  --ctp-blue: #0000ff;
  --ctp-sapphire: #000080;
  --ctp-pink: #ff00ff;
  --ctp-flamingo: #ff00ff;
  --ctp-rosewater: #d4d0c8;
  --ctp-yellow: #808000;
  --ctp-peach: #ff8000;
  --ctp-maroon: #800000;
  --ctp-red: #ff0000;

  --bg-app: #008080;
  /* Teal Desktop */
  --bg-sidebar: #d4d0c8;
  --bg-card: #d4d0c8;
  --bg-hover: #000080;
  --bg-player: #d4d0c8;
  --bg-glass: rgba(212, 208, 200, 0.95);

  --accent: #000080;
  --accent-dim: rgba(0, 0, 128, 0.12);
  --accent-glow: transparent;
  --volume-accent: #000080;

  --text-primary: #000000;
  --text-secondary: #000000;
  --text-muted: #000000;

  --border: #808080;
  --border-subtle: #d4d0c8;
  --border-dropdown: #000000;
  --shadow-dropdown: rgba(0, 0, 0, 0.4);

  --positive: #008000;
  --warning: #808000;
  --danger: #ff0000;

  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-xl: 0px;
  --radius-full: 0px;
}

/* Teal Desktop (nur der äußere Shell-Rahmen) */
[data-theme='w98'] .app-shell {
  background-color: #008080;
}


/* ── 3D Bevel: Raised ── */
[data-theme='w98'] .sidebar,
[data-theme='w98'] .player-bar,
[data-theme='w98'] .card {
  background: #d4d0c8;
  border: 1px solid #000000;
  box-shadow:
    inset 1px 1px #ffffff,
    inset -1px -1px #808080,
    inset 2px 2px #dfdfdf,
    inset -2px -2px #404040;
}

[data-theme='w98'] .sidebar {
  border-right: 2px solid #000000;
}

/* Player Bar Titelbalken: ikonischer W98 Gradient für den Song-Titel */
[data-theme='w98'] .player-track-name {
  background: linear-gradient(to right, #09246d, #a6c4e8);
  color: #ffffff !important;
  padding: 1px 6px;
  font-weight: bold;
}

[data-theme='w98'] .player-track-artist,
[data-theme='w98'] .player-time {
  color: #000000 !important;
}

/* Nav */
[data-theme='w98'] .nav-link.active {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w98'] .nav-link.active svg {
  color: #ffffff !important;
}

[data-theme='w98'] .nav-link:hover:not(.active) {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w98'] .nav-link:hover:not(.active) svg {
  color: #ffffff !important;
}

/* Alle Buttons: 3D Raised Bevel */
[data-theme='w98'] .btn,
[data-theme='w98'] .btn-primary,
[data-theme='w98'] .btn-surface,
[data-theme='w98'] .btn-ghost,
[data-theme='w98'] .hero-play-btn,
[data-theme='w98'] .queue-round-btn,
[data-theme='w98'] .player-btn,
[data-theme='w98'] .album-card-details-btn {
  background: #d4d0c8 !important;
  color: #000000 !important;
  border: 1px solid #000000 !important;
  border-radius: 0 !important;
  box-shadow:
    inset 1px 1px #ffffff,
    inset -1px -1px #808080,
    inset 2px 2px #dfdfdf,
    inset -2px -2px #404040 !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* Gedrückt: Bevel umkehren */
[data-theme='w98'] .btn:active,
[data-theme='w98'] .btn-primary:active,
[data-theme='w98'] .btn-surface:active,
[data-theme='w98'] .btn-ghost:active,
[data-theme='w98'] .hero-play-btn:active,
[data-theme='w98'] .queue-round-btn:active,
[data-theme='w98'] .player-btn:active,
[data-theme='w98'] .album-card-details-btn:active {
  box-shadow:
    inset 1px 1px #808080,
    inset -1px -1px #ffffff,
    inset 2px 2px #404040,
    inset -2px -2px #dfdfdf !important;
}

/* Hover: heller */
[data-theme='w98'] .btn:hover,
[data-theme='w98'] .btn-primary:hover,
[data-theme='w98'] .btn-surface:hover,
[data-theme='w98'] .btn-ghost:hover,
[data-theme='w98'] .hero-play-btn:hover,
[data-theme='w98'] .album-card-details-btn:hover {
  background: #e4e0d8 !important;
  color: #000000 !important;
}

/* Aktive Queue-Buttons: navy, sunken */
[data-theme='w98'] .queue-round-btn.active {
  background: #000080 !important;
  color: #ffffff !important;
  box-shadow:
    inset 1px 1px #808080,
    inset -1px -1px #ffffff,
    inset 2px 2px #404040,
    inset -2px -2px #dfdfdf !important;
}

[data-theme='w98'] .queue-round-btn:hover:not(:disabled):not(.active) {
  background: #e4e0d8 !important;
  color: #000000 !important;
}

/* Progress Bar: eingesunkene Rille, navy Fill */
[data-theme='w98'] .progress-bar-track {
  background: #ffffff;
  box-shadow: inset 1px 1px #808080, inset -1px -1px #ffffff;
  border-radius: 0;
}

[data-theme='w98'] .progress-bar-fill {
  background: #000080;
  border-radius: 0;
  box-shadow: none;
}

/* Scrollbar */
[data-theme='w98'] ::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

[data-theme='w98'] ::-webkit-scrollbar-track {
  background: #d4d0c8;
}

[data-theme='w98'] ::-webkit-scrollbar-thumb {
  background: #d4d0c8;
  border: 1px solid #000000;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080;
}

[data-theme='w98'] ::-webkit-scrollbar-button {
  background: #d4d0c8;
  border: 1px solid #000000;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080;
}

/* Queue Tab */
[data-theme='w98'] .queue-tab-btn:hover {
  background: #e4e0d8;
  color: #000000;
}

/* Hero */
[data-theme='w98'] .hero-eyebrow {
  color: rgba(255, 255, 255, 0.9);
}

[data-theme='w98'] .hero-meta .badge {
  background: rgba(255, 255, 255, 0.15);
}

/* Settings */
[data-theme='w98'] .settings-tab:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .theme-accordion-header:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .theme-accordion-open .theme-accordion-header {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .theme-accordion-open .theme-accordion-chevron {
  color: #ffffff;
}

/* Dropdowns */
[data-theme='w98'] .custom-select-trigger:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .custom-select-option:hover {
  background: #000080 !important;
  color: #ffffff !important;
}

/* Various hovers → navy + white */
[data-theme='w98'] .artist-ext-link:hover {
  background: #000080;
  color: #ffffff !important;
}

[data-theme='w98'] .changelog-summary:hover {
  color: #000080;
}

[data-theme='w98'] .changelog-code {
  background: #ffffff;
  color: #000080;
  border: 1px solid #808080;
}

[data-theme='w98'] .keybind-badge {
  background: #d4d0c8 !important;
  color: #000000 !important;
  border: 1px solid #808080 !important;
}

[data-theme='w98'] .eq-ctrl-btn {
  background: #d4d0c8;
  color: #000000;
  border: 1px solid #808080;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080;
}

[data-theme='w98'] .eq-ctrl-btn:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .genre-keyword-badge {
  background: #d4d0c8 !important;
  color: #000000 !important;
  border: 1px solid #808080 !important;
}

[data-theme='w98'] .toggle-track::before {
  background: #d4d0c8;
  border: 1px solid #808080;
}

[data-theme='w98'] .np-title {
  color: #000080 !important;
}

[data-theme='w98'] .np-action-btn:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .np-queue-item:hover,
[data-theme='w98'] .np-queue-item.context-active {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .track-row:hover,
[data-theme='w98'] .track-row.context-active {
  background: #000080 !important;
}

[data-theme='w98'] .track-row:hover *,
[data-theme='w98'] .track-row.context-active * {
  color: #ffffff !important;
}

[data-theme='w98'] .artist-row:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .year-toggle:hover {
  color: #000080;
}

[data-theme='w98'] .playlist-row:hover {
  background: #000080;
}

[data-theme='w98'] .playlist-row:hover,
[data-theme='w98'] .playlist-row:hover * {
  color: #ffffff;
}

[data-theme='w98'] .help-question:hover {
  color: #000080;
}

[data-theme='w98'] .help-item-open .help-question {
  color: #000080;
  font-weight: bold;
}

[data-theme='w98'] .help-item-open .help-chevron {
  color: #000080;
}

[data-theme='w98'] .queue-item:hover,
[data-theme='w98'] .queue-item.context-active {
  background: #000080 !important;
}

[data-theme='w98'] .queue-item:hover .queue-item-title,
[data-theme='w98'] .queue-item:hover .queue-item-artist,
[data-theme='w98'] .queue-item:hover .queue-item-duration,
[data-theme='w98'] .queue-item.context-active .queue-item-title,
[data-theme='w98'] .queue-item.context-active .queue-item-artist,
[data-theme='w98'] .queue-item.context-active .queue-item-duration {
  color: #ffffff;
}

[data-theme='w98'] .player-btn:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w98'] .player-btn-primary {
  background: #d4d0c8 !important;
  color: #000000 !important;
}

[data-theme='w98'] .player-btn-primary:hover {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w98'] .search-result-item:hover,
[data-theme='w98'] .search-result-item.active {
  background: #000080;
}

[data-theme='w98'] .search-result-item:hover .search-result-name,
[data-theme='w98'] .search-result-item:hover .search-result-sub,
[data-theme='w98'] .search-result-item.active .search-result-name,
[data-theme='w98'] .search-result-item.active .search-result-sub {
  color: #ffffff;
}

[data-theme='w98'] .collapse-btn {
  border-color: #808080 !important;
}

[data-theme='w98'] .collapse-btn:hover {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w98'] .album-row-nav .nav-btn:hover:not(.disabled) {
  background: #000080;
  color: #ffffff;
}

/* Live-Dropdown: kein backdrop-blur (saugt teal durch), solider W98-Hintergrund */
[data-theme='w98'] .glass {
  background: #d4d0c8 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid #000000;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080, 2px 2px 4px rgba(0, 0, 0, 0.3);
  color: #000000;
}

/* Stream-Einträge: --bg-hover ist navy → Override auf W98-Grau mit Bevel */
[data-theme='w98'] .glass [style*="var(--bg-hover)"] {
  background: #ece8e0 !important;
  border: 1px solid #808080;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080;
  border-radius: 0 !important;
}

/* Inline-color-Overrides für Text in Stream-Einträgen */
[data-theme='w98'] .glass [style*="var(--text-primary)"],
[data-theme='w98'] .glass [style*="var(--text-secondary)"],
[data-theme='w98'] .glass [style*="var(--text-muted)"] {
  color: #000000 !important;
}

/* ─── Global Base Settings ─── */
:root {
  /* Typography */
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-display: 'Space Grotesk', 'Inter', sans-serif;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;

  /* Radii */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);
  --shadow-glow: 0 0 24px var(--accent-glow);

  /* Transitions */
  --transition-fast: 120ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 350ms ease;

  /* Layout */
  --sidebar-width: 220px;
  --player-height: 88px;
}

/* ─── Spotless ─── */
[data-theme='spotless'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B3B3B3%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #000000;
  --ctp-mantle: #121212;
  --ctp-base: #181818;
  --ctp-surface0: #282828;
  --ctp-surface1: #3E3E3E;
  --ctp-surface2: #535353;
  --ctp-overlay0: #727272;
  --ctp-overlay1: #A7A7A7;
  --ctp-overlay2: #B3B3B3;
  --ctp-text: #FFFFFF;
  --ctp-subtext1: #EBEBEB;
  --ctp-subtext0: #D6D6D6;

  --ctp-mauve: #1ED760;
  --ctp-lavender: #1FDF64;
  --ctp-green: #1ED760;
  --ctp-teal: #1DF2A4;
  --ctp-sky: #3D91F4;
  --ctp-blue: #2E77D0;
  --ctp-sapphire: #1C5599;
  --ctp-pink: #E55C5C;
  --ctp-flamingo: #E55C5C;
  --ctp-rosewater: #FFC8C8;
  --ctp-yellow: #FFA42B;
  --ctp-peach: #FF7A00;
  --ctp-maroon: #B22A2A;
  --ctp-red: #E22134;

  --bg-app: #121212;
  --bg-sidebar: #000000;
  --bg-card: #181818;
  --bg-hover: #282828;
  --bg-player: #181818;
  --bg-glass: rgba(18, 18, 18, 0.85);

  --accent: #1ED760;
  --accent-dim: rgba(30, 215, 96, 0.15);
  --accent-glow: rgba(30, 215, 96, 0.35);
  --volume-accent: #FFFFFF;

  --text-primary: #FFFFFF;
  --text-secondary: #B3B3B3;
  --text-muted: #A7A7A7;

  --border: #282828;
  --border-subtle: rgba(255, 255, 255, 0.1);

  --positive: #1ED760;
  --warning: #FFA42B;
  --danger: #E22134;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.6);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.7);

  --transition-fast: 150ms ease;
  --transition-med: 250ms ease;
  --transition-slow: 350ms ease;

  --sidebar-width: 220px;
  --player-height: 88px;
}

[data-theme='spotless'] .sidebar {
  border-right: none;
}

[data-theme='spotless'] .player-bar {
  border-top: 1px solid var(--border-subtle);
}

[data-theme='spotless'] .nav-link:hover {
  color: var(--text-primary);
  background-color: transparent;
}

[data-theme='spotless'] .nav-link.active {
  background-color: var(--bg-hover);
  color: var(--text-primary);
  border-radius: var(--radius-sm);
}

[data-theme='spotless'] .nav-link.active::before {
  display: none;
}

[data-theme='spotless'] .btn-primary {
  color: var(--ctp-crust);
  border-radius: var(--radius-full);
  font-weight: 700;
}

[data-theme='spotless'] .player-btn-primary {
  color: var(--ctp-crust);
  background-color: var(--text-primary);
  border-radius: var(--radius-full);
}

[data-theme='spotless'] .player-btn-primary:hover {
  background-color: var(--accent);
  transform: scale(1.05);
}

[data-theme='spotless'] .queue-item:hover,
[data-theme='spotless'] .track-row:hover {
  background-color: var(--bg-hover);
  border-radius: var(--radius-sm);
}

/* ─── Cupertino Beats ─── */
[data-theme='cupertino-beats'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23a1a1a1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #000000;
  --ctp-mantle: #121212;
  --ctp-base: #1c1c1e;
  --ctp-surface0: #2c2c2e;
  --ctp-surface1: #3a3a3c;
  --ctp-surface2: #48484a;
  --ctp-overlay0: #636366;
  --ctp-overlay1: #8e8e93;
  --ctp-overlay2: #aeaeb2;
  --ctp-text: #ffffff;
  --ctp-subtext1: #ebebf599;
  --ctp-subtext0: #ebebf560;

  --ctp-mauve: #fa243c;
  --ctp-lavender: #ff5e71;
  --ctp-green: #34c759;
  --ctp-teal: #30b0c7;
  --ctp-sky: #5ac8fa;
  --ctp-blue: #007aff;
  --ctp-sapphire: #0051d5;
  --ctp-pink: #ff2d55;
  --ctp-flamingo: #ff3b30;
  --ctp-rosewater: #ff9f0a;
  --ctp-yellow: #ffcc00;
  --ctp-peach: #ff9500;
  --ctp-maroon: #af52de;
  --ctp-red: #ff3b30;

  --bg-app: #1c1c1e;
  --bg-sidebar: rgba(18, 18, 18, 0.75);
  --bg-card: #2c2c2e;
  --bg-hover: rgba(255, 255, 255, 0.08);
  --bg-player: rgba(0, 0, 0, 0.85);
  --bg-glass: rgba(28, 28, 30, 0.6);

  --accent: #fa243c;
  --accent-dim: rgba(250, 36, 60, 0.15);
  --accent-glow: rgba(250, 36, 60, 0.3);
  --volume-accent: #fa243c;

  --text-primary: #ffffff;
  --text-secondary: rgba(235, 235, 245, 0.6);
  --text-muted: rgba(235, 235, 245, 0.3);

  --border: rgba(255, 255, 255, 0.1);
  --border-subtle: rgba(255, 255, 255, 0.05);

  --positive: #34c759;
  --warning: #ffcc00;
  --danger: #ff3b30;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);

  --transition-fast: 150ms ease;
  --transition-med: 250ms ease;
  --transition-slow: 350ms ease;

  --sidebar-width: 220px;
  --player-height: 88px;
}

[data-theme='cupertino-beats'] .sidebar {
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  border-right: 1px solid var(--border);
}

[data-theme='cupertino-beats'] .player-bar {
  backdrop-filter: blur(30px) saturate(150%);
  -webkit-backdrop-filter: blur(30px) saturate(150%);
  border-top: 1px solid var(--border);
}

[data-theme='cupertino-beats'] .nav-link.active {
  background: var(--accent-dim);
  color: var(--accent);
  font-weight: 600;
}

[data-theme='cupertino-beats'] .nav-link.active::before {
  width: 4px;
  border-radius: 0 4px 4px 0;
}

/* ─── Dzr0 ─── */
[data-theme='dzr0'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23A238FF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #E5E5E9;
  --ctp-mantle: #F5F5F7;
  --ctp-base: #FFFFFF;
  --ctp-surface0: #F0F0F3;
  --ctp-surface1: #E8E8EC;
  --ctp-surface2: #D8D8DF;
  --ctp-overlay0: #9E9EAF;
  --ctp-overlay1: #7C7C8F;
  --ctp-overlay2: #5D5D70;
  --ctp-text: #121216;
  --ctp-subtext1: #4A4A5A;
  --ctp-subtext0: #6A6A7A;

  --ctp-mauve: #A238FF;
  --ctp-lavender: #B86BFF;
  --ctp-green: #00C171;
  --ctp-teal: #00C171;
  --ctp-sky: #3D91F4;
  --ctp-blue: #2E77D0;
  --ctp-sapphire: #1C5599;
  --ctp-pink: #EF3B5D;
  --ctp-flamingo: #EF3B5D;
  --ctp-rosewater: #FFC8C8;
  --ctp-yellow: #FFCC00;
  --ctp-peach: #FF7A00;
  --ctp-maroon: #B22A2A;
  --ctp-red: #EF3B5D;

  --bg-app: #FFFFFF;
  --bg-sidebar: #F5F5F7;
  --bg-card: #FBFBFC;
  --bg-hover: #F0F0F3;
  --bg-player: #FFFFFF;
  --bg-glass: rgba(255, 255, 255, 0.85);

  --accent: #A238FF;
  --accent-dim: rgba(162, 56, 255, 0.12);
  --accent-glow: rgba(162, 56, 255, 0.25);
  --volume-accent: #A238FF;

  --text-primary: #121216;
  --text-secondary: #4A4A5A;
  --text-muted: #6B6B7A;

  --border: #E2E2E9;
  --border-subtle: #F0F0F5;

  --positive: #00C171;
  --warning: #FFCC00;
  --danger: #EF3B5D;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.10);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);

  --transition-fast: 150ms ease;
  --transition-med: 250ms ease;
  --transition-slow: 350ms ease;

  --sidebar-width: 220px;
  --player-height: 88px;
}

[data-theme='dzr0'] .player-bar {
  border-top: 1px solid var(--border-subtle);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.03);
}

[data-theme='dzr0'] .player-track-name,
[data-theme='dzr0'] .player-time,
[data-theme='dzr0'] .player-track-artist {
  color: var(--text-primary) !important;
}

[data-theme='dzr0'] .sidebar {
  border-right: 1px solid var(--border-subtle);
}

[data-theme='dzr0'] .nav-link:hover {
  background-color: var(--bg-hover);
  color: var(--accent);
}

[data-theme='dzr0'] .nav-link.active {
  background-color: var(--accent-dim);
  color: var(--accent);
  font-weight: 600;
}

[data-theme='dzr0'] .btn-primary {
  color: #FFFFFF !important;
}

/* ─── Reset ─── */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body,
#root {
  height: 100%;
  min-width: 1280px;
  min-height: 720px;
  overflow: hidden;
}

body {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-primary);
  user-select: none;
  background: var(--bg-app);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  user-select: none;
}

/* Allow text selection in specific areas */
input,
textarea,
[data-selectable] {
  user-select: text;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

ul,
ol {
  list-style: none;
}

/* ─── Scrollbars ─── */
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: var(--radius-full);
  transition: background 0.3s ease;
}

*:hover::-webkit-scrollbar-thumb {
  background: var(--ctp-surface2);
}

.is-scrolling::-webkit-scrollbar-thumb {
  background: var(--ctp-surface2);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--ctp-overlay0);
}

/* ─── Focus ─── */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* ─── Global Dragging State ─── */
body.is-dragging,
body.is-dragging * {
  user-select: none !important;
  cursor: col-resize !important;
}

/* ─── Mouse-event DnD cursor (psy-dragging) ──────────────────────
   Applied by DragDropProvider while a mouse-based drag is active.
   Overrides cursor globally to "grabbing" and prevents text-
   selection / stray pointer events on child elements. ─────────── */
body.psy-dragging,
body.psy-dragging * {
  cursor: grabbing !important;
  user-select: none !important;
}

/* ─── Utility Classes ─── */
.glass {
  background: var(--bg-glass, rgba(30, 30, 46, 0.75));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
}

.gradient-text {
  background: linear-gradient(135deg, var(--ctp-mauve), var(--ctp-blue));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

/* ─── Button Variants ─── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-weight: 500;
  transition: all var(--transition-fast);
  white-space: nowrap;
}

.btn-primary {
  background: var(--accent);
  color: var(--ctp-crust);
  font-weight: 600;
}

.btn-primary:hover {
  background: var(--accent);
  filter: brightness(1.1);
  transform: translateY(-1px);
  box-shadow: var(--shadow-glow);
}

.btn-primary:active {
  transform: translateY(0);
}

.btn-ghost {
  background: transparent;
  color: var(--text-secondary);
}

.btn-ghost:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.btn-surface {
  background: var(--bg-card);
  color: var(--text-primary);
  border: 1px solid var(--ctp-surface1);
}

.btn-surface:hover {
  background: var(--bg-hover);
  border-color: var(--ctp-overlay0);
}

/* ─── Input ─── */
.input {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  background: var(--ctp-base);
  border: 1px solid var(--ctp-overlay0);
  border-radius: var(--radius-md);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 14px;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
  outline: none;
}

.input::placeholder {
  color: var(--text-muted);
}

.input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-dim);
}

select.input {
  appearance: none;
  -webkit-appearance: none;
  background-image: var(--select-arrow);
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 40px;
  cursor: pointer;
}

select.input.input:focus {
  background-image: var(--select-arrow);
  /* Keep arrow on focus */
}

/* ─── Card ─── */
.card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: inset 0 0 0 1px var(--border-subtle);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px var(--border), var(--shadow-md);
}

/* ─── Album Grid ─── */
.album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--space-4);
}

/* ─── Scrollable area ─── */
.scroll-area {
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1;
}

/* ─── Divider ─── */
.divider {
  height: 1px;
  background: var(--border-subtle);
  margin: var(--space-4) 0;
}

/* ─── Badge ─── */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 2px var(--space-2);
  border-radius: var(--radius-full);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  background: var(--accent-dim);
  color: var(--accent);
}

/* ─── Star Rating ─── */
.star-rating {
  display: flex;
  gap: 2px;
  color: var(--ctp-overlay1);
  justify-content: center;
  width: 100%;
}

.star-rating .star.filled {
  color: var(--ctp-yellow);
}

.star-rating .star:hover {
  color: var(--ctp-yellow);
  cursor: pointer;
}

/* ─── Animations ─── */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.5;
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes wave {

  0%,
  100% {
    transform: scaleY(0.4);
  }

  50% {
    transform: scaleY(1);
  }
}

.animate-fade-in {
  animation: fadeIn var(--transition-slow) both;
}

.animate-slide-in {
  animation: slideIn var(--transition-slow) both;
}

.animate-pulse {
  animation: pulse 1.5s ease infinite;
}

.animate-spin {
  animation: spin 1s linear infinite;
}

/* ─── Progress / Range ─── */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  border-radius: var(--radius-full);
  background: var(--ctp-surface2);
  outline: none;
  cursor: pointer;
  transition: all var(--transition-fast);
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--text-primary);
  cursor: pointer;
  transition: transform var(--transition-fast), background var(--transition-fast);
  box-shadow: var(--shadow-sm);
}

input[type="range"]:hover::-webkit-slider-thumb {
  transform: scale(1.2);
  background: var(--accent);
}

/* ─── Loading Spinner ─── */
.spinner {
  width: 24px;
  height: 24px;
  border: 2px solid var(--border);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}

/* ─── Musicmatch Jukebox — Y2K Metallic Silver / Blue Display ─── */
[data-theme='muma-jukebox'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%234a4a4a%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #001358;
  /* deep blue — LCD display */
  --ctp-mantle: #b5babc;
  /* dark silver — panels, sidebar */
  --ctp-base: #d4d8db;
  /* metallic silver — main body */
  --ctp-surface0: #c8ccce;
  --ctp-surface1: #bec2c4;
  --ctp-surface2: #8a9094;
  /* border gray */
  --ctp-overlay0: #6a7074;
  --ctp-overlay1: #505458;
  --ctp-overlay2: #3a3e42;
  --ctp-text: #1a1a1a;
  --ctp-subtext1: #3a3a3a;
  --ctp-subtext0: #4a4a4a;
  /* Cyan accent + Musicmatch orange */
  --ctp-mauve: #00d0ff;
  /* cyan — primary accent */
  --ctp-lavender: #40e0ff;
  --ctp-sky: #00c0e8;
  --ctp-sapphire: #0088c8;
  --ctp-blue: #0058b8;
  --ctp-teal: #009898;
  --ctp-green: #008840;
  --ctp-yellow: #cc8800;
  --ctp-peach: #ff6600;
  /* Musicmatch orange — secondary accent */
  --ctp-pink: #d04060;
  --ctp-flamingo: #c05040;
  --ctp-rosewater: #c87060;
  --ctp-maroon: #b02828;
  --ctp-red: #c82020;

  /* ── Semantic tokens ── */
  --bg-app: #d4d8db;
  --bg-sidebar: #b5babc;
  --bg-card: #c8ccce;
  --bg-hover: #bec2c4;
  --bg-player: #001358;
  /* LCD display — deep blue */
  --bg-glass: rgba(212, 216, 219, 0.92);
  --accent: #00d0ff;
  --accent-dim: rgba(0, 208, 255, 0.15);
  --accent-glow: rgba(0, 208, 255, 0.35);
  --volume-accent: #ff6600;
  /* Musicmatch orange for volume */
  --text-primary: #1a1a1a;
  --text-secondary: #4a4a4a;
  --text-muted: #909090;
  --border: #8a9094;
  --border-subtle: #c0c4c6;
  --positive: #008840;
  --warning: #cc8800;
  --danger: #c82020;
}

/* ── Musicmatch: contrast fixes ── */
[data-theme='muma-jukebox'] .queue-round-btn.active {
  color: #001358;
}

/* Accent-coloured text on silver body needs to be darker */
[data-theme='muma-jukebox'] {
  --accent: #0070a0;
  --accent-dim: rgba(0, 112, 160, 0.15);
  --accent-glow: rgba(0, 112, 160, 0.35);
}

/* Player bar keeps the bright cyan since it's on dark blue bg */
[data-theme='muma-jukebox'] .player-bar {
  --accent: #00d0ff;
}

/* ── Metallic bevel buttons ── */
[data-theme='muma-jukebox'] .btn {
  background: linear-gradient(180deg, #e4e8eb 0%, #c0c4c7 100%);
  color: #1a1a1a;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.9),
    inset -1px -1px 0 rgba(0, 0, 0, 0.28),
    0 1px 3px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

[data-theme='muma-jukebox'] .btn:hover {
  background: linear-gradient(180deg, #eceef0 0%, #cacdd0 100%);
}

[data-theme='muma-jukebox'] .btn-primary {
  background: linear-gradient(180deg, #40e0ff 0%, #00a8d8 100%);
  color: #001358;
  font-weight: 600;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.6),
    inset -1px -1px 0 rgba(0, 60, 120, 0.4),
    0 1px 4px rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}

[data-theme='muma-jukebox'] .btn-primary:hover {
  background: linear-gradient(180deg, #60e8ff 0%, #20c0f0 100%);
}

/* ── Player bar: blue LCD display area ── */
[data-theme='muma-jukebox'] .player-bar {
  background: #001358;
  border-top: 3px solid #8a9094;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 2px 12px rgba(0, 0, 0, 0.4);
}

[data-theme='muma-jukebox'] .player-track-name {
  color: #ffffff;
  text-shadow: 0 0 8px rgba(0, 208, 255, 0.75), 0 0 2px rgba(0, 208, 255, 0.4);
  letter-spacing: 0.02em;
}

[data-theme='muma-jukebox'] .player-track-artist {
  color: #00d0ff;
  opacity: 0.9;
}

[data-theme='muma-jukebox'] .player-btn,
[data-theme='muma-jukebox'] .player-btn-primary {
  background: linear-gradient(180deg, #1a2880 0%, #000e40 100%);
  color: #00d0ff;
  box-shadow:
    inset 1px 1px 0 rgba(0, 208, 255, 0.25),
    inset -1px -1px 0 rgba(0, 0, 0, 0.5),
    0 2px 5px rgba(0, 0, 0, 0.4);
  border-radius: 50%;
}

[data-theme='muma-jukebox'] .player-btn:hover,
[data-theme='muma-jukebox'] .player-btn-primary:hover {
  background: linear-gradient(180deg, #2030a0 0%, #001060 100%);
  color: #40e8ff;
}

/* ── Sidebar: brushed-metal panel ── */
[data-theme='muma-jukebox'] .sidebar {
  background: linear-gradient(180deg, #c8ccce 0%, #b0b4b7 100%);
  border-right: 2px solid #7a8084;
  box-shadow: inset -2px 0 0 rgba(255, 255, 255, 0.5), 2px 0 4px rgba(0, 0, 0, 0.15);
}

/* Nav links on silver: look like Windows panel items */
[data-theme='muma-jukebox'] .nav-link {
  color: #1a1a2a;
  border-radius: 3px;
  margin: 1px 4px;
}

[data-theme='muma-jukebox'] .nav-link:hover {
  background: linear-gradient(180deg, #dde2e5 0%, #c8ccce 100%);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.8), inset -1px -1px 0 rgba(0, 0, 0, 0.15);
  color: #0070a0;
}

[data-theme='muma-jukebox'] .nav-link.active {
  background: linear-gradient(180deg, #b8c8e0 0%, #9ab0d0 100%);
  box-shadow:
    inset 1px 1px 0 rgba(0, 0, 0, 0.15),
    inset -1px -1px 0 rgba(255, 255, 255, 0.5);
  color: #001358;
  font-weight: 600;
}

[data-theme='muma-jukebox'] .nav-link.active::before {
  display: none;
}

/* ── Cards / panels: inset bevel ── */
[data-theme='muma-jukebox'] .glass,
[data-theme='muma-jukebox'] .card {
  background: #d4d8db;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.85),
    inset -1px -1px 0 rgba(0, 0, 0, 0.15),
    0 2px 6px rgba(0, 0, 0, 0.1);
  border: 1px solid #9a9ea0 !important;
}

/* ── Track rows: Windows XP list selection ── */
[data-theme='muma-jukebox'] .track-row:hover,
[data-theme='muma-jukebox'] .track-row.context-active {
  background: #316AC5 !important;
  color: #ffffff !important;
  box-shadow: none;
}

[data-theme='muma-jukebox'] .track-row:hover .track-title,
[data-theme='muma-jukebox'] .track-row:hover .track-artist,
[data-theme='muma-jukebox'] .track-row:hover .track-duration,
[data-theme='muma-jukebox'] .track-row:hover .track-num,
[data-theme='muma-jukebox'] .track-row.context-active .track-title,
[data-theme='muma-jukebox'] .track-row.context-active .track-artist {
  color: #ffffff !important;
}

/* ── Queue items ── */
[data-theme='muma-jukebox'] .queue-item:hover,
[data-theme='muma-jukebox'] .queue-item.context-active {
  background: #316AC5 !important;
}

[data-theme='muma-jukebox'] .queue-item:hover .queue-item-title,
[data-theme='muma-jukebox'] .queue-item:hover .queue-item-artist,
[data-theme='muma-jukebox'] .queue-item:hover .queue-item-duration,
[data-theme='muma-jukebox'] .queue-item.context-active .queue-item-title,
[data-theme='muma-jukebox'] .queue-item.context-active .queue-item-artist {
  color: #ffffff !important;
}

[data-theme='muma-jukebox'] .queue-item.active {
  background: rgba(0, 112, 160, 0.14);
  box-shadow: inset 3px 0 0 #0070a0;
}

[data-theme='muma-jukebox'] .np-queue-item:hover,
[data-theme='muma-jukebox'] .np-queue-item.context-active {
  background: #316AC5;
}

[data-theme='muma-jukebox'] .np-queue-item-active {
  color: #001358;
  font-weight: 600;
}

[data-theme='muma-jukebox'] .np-queue-item.active {
  background: rgba(49, 106, 197, 0.18);
}

/* ── Artist / playlist rows ── */
[data-theme='muma-jukebox'] .artist-row:hover,
[data-theme='muma-jukebox'] .playlist-row:hover {
  background: #316AC5;
  color: #ffffff;
}

/* ── Settings tabs: XP tab strip ── */
[data-theme='muma-jukebox'] .settings-tab {
  background: linear-gradient(180deg, #d4d8db 0%, #c0c4c7 100%);
  border: 1px solid #9a9ea0;
  color: #1a1a1a;
  border-radius: 3px 3px 0 0;
  margin-right: 2px;
}

[data-theme='muma-jukebox'] .settings-tab:hover {
  background: linear-gradient(180deg, #dde2e5 0%, #cacdd0 100%);
  color: #0070a0;
}

[data-theme='muma-jukebox'] .settings-tab.active {
  background: linear-gradient(180deg, #ffffff 0%, #f0f4f8 100%);
  color: #001358;
  font-weight: 600;
  box-shadow: inset 0 2px 0 #0070a0;
  border-bottom-color: transparent;
}

/* ── Queue tab buttons ── */
[data-theme='muma-jukebox'] .queue-tab-btn:hover {
  color: #0070a0;
}

/* ── Now-playing active ── */
[data-theme='muma-jukebox'] .np-album-track.active .np-album-track-title,
[data-theme='muma-jukebox'] .np-album-track.active .np-album-track-num {
  color: #0070a0;
  font-weight: 600;
}

/* ── Scrollbar: XP silver ── */
[data-theme='muma-jukebox'] ::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

[data-theme='muma-jukebox'] ::-webkit-scrollbar-track {
  background: linear-gradient(90deg, #c0c4c7 0%, #d4d8db 100%);
  border: 1px solid #9a9ea0;
}

[data-theme='muma-jukebox'] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #dde2e5 0%, #b8bcbf 100%);
  border: 1px solid #9a9ea0;
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), inset -1px -1px 0 rgba(0, 0, 0, 0.15);
}

[data-theme='muma-jukebox'] ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #e8ecf0 0%, #c8ccce 100%);
}

[data-theme='muma-jukebox'] ::-webkit-scrollbar-button {
  background: linear-gradient(180deg, #dde2e5 0%, #b8bcbf 100%);
  border: 1px solid #9a9ea0;
  height: 16px;
}

/* ── Dropdowns ── */
[data-theme='muma-jukebox'] .custom-select-trigger {
  background: linear-gradient(180deg, #e4e8eb 0%, #d4d8db 100%);
  border: 1px solid #9a9ea0;
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7);
}

[data-theme='muma-jukebox'] .custom-select-option:hover {
  background: #316AC5 !important;
  color: #ffffff !important;
}

/* ── Connection indicators ── */
[data-theme='muma-jukebox'] .connection-type,
[data-theme='muma-jukebox'] .connection-server {
  color: #0070a0;
}

/* ── Orange: volume knob + active/playing states ── */
/* Knob is var(--text-primary) by default = near-black on silver → fix to orange */
[data-theme='muma-jukebox'] input[type="range"]::-webkit-slider-thumb {
  background: #ff6600;
  box-shadow: inset 1px 1px 0 rgba(255, 180, 80, 0.7), inset -1px -1px 0 rgba(160, 40, 0, 0.4);
}

[data-theme='muma-jukebox'] input[type="range"]:hover::-webkit-slider-thumb {
  background: #ff8020;
}

/* Active queue item: orange left bar instead of blue */
[data-theme='muma-jukebox'] .queue-item.active {
  background: rgba(255, 102, 0, 0.1);
  box-shadow: inset 3px 0 0 #ff6600;
}

[data-theme='muma-jukebox'] .np-queue-item-active {
  color: #cc4400;
  font-weight: 600;
}

[data-theme='muma-jukebox'] .np-queue-item.active {
  background: rgba(255, 102, 0, 0.1);
}

/* Now-playing active track = orange brand color */
[data-theme='muma-jukebox'] .np-album-track.active .np-album-track-title,
[data-theme='muma-jukebox'] .np-album-track.active .np-album-track-num {
  color: #cc4400;
  font-weight: 600;
}

/* Active nav link: orange accent text */
[data-theme='muma-jukebox'] .nav-link.active {
  color: #cc4400;
}

/* Settings tab active: orange top border */
[data-theme='muma-jukebox'] .settings-tab.active {
  box-shadow: inset 0 2px 0 #ff6600;
  color: #cc4400;
}

/* Track row playing indicator (now-playing track-num shown in orange) */
[data-theme='muma-jukebox'] .track-row.playing .track-num {
  color: #ff6600;
}

/* Player bar artist: keep cyan, but LCD progress/waveform in orange */
[data-theme='muma-jukebox'] .player-bar input[type="range"]::-webkit-slider-thumb {
  background: #ff6600;
}

/* Waveform: orange played, cyan buffered, dim unplayed */
[data-theme='muma-jukebox'] {
  --waveform-played: #ff6600;
  --waveform-buffered: #00d0ff;
  --waveform-unplayed: #3a5080;
}

/* ── Hero readability on silver background ── */
[data-theme='muma-jukebox'] .album-detail-badge {
  background: #0070a0;
  color: #ffffff;
}

[data-theme='muma-jukebox'] .album-detail-info {
  color: #4a4a4a;
}

/* ─── WMP8 Classic — Windows Media Player 8 / XP Luna ─── */
[data-theme='winmedplayer'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23c2d4f2%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #000000;
  /* black — LCD display / playlist */
  --ctp-mantle: #1a3060;
  /* darkest blue — sidebar */
  --ctp-base: #3a62a5;
  /* Luna blue — main body (dark enough for white text) */
  --ctp-surface0: #4a72b8;
  --ctp-surface1: #5480cc;
  --ctp-surface2: #6090d8;
  --ctp-overlay0: #7090c0;
  --ctp-overlay1: #8aaad8;
  --ctp-overlay2: #a0c0e8;
  --ctp-text: #ffffff;
  --ctp-subtext1: #dce8ff;
  --ctp-subtext0: #b8d0f8;
  /* WMP green + XP blue-cool palette */
  --ctp-mauve: #45ff00;
  /* WMP poison green — primary accent */
  --ctp-lavender: #70ff40;
  --ctp-green: #30dd00;
  --ctp-teal: #00cc88;
  --ctp-sky: #88ccff;
  --ctp-blue: #5599ee;
  --ctp-sapphire: #3378cc;
  --ctp-pink: #ff88cc;
  --ctp-flamingo: #ff7788;
  --ctp-rosewater: #ffaabb;
  --ctp-yellow: #ffdd44;
  --ctp-peach: #ff9944;
  --ctp-maroon: #dd4455;
  --ctp-red: #ee3344;

  /* ── Semantic tokens ── */
  --bg-app: #3a62a5;
  /* ~12% luminance → white contrast 6:1 */
  --bg-sidebar: #1a3060;
  --bg-card: #4a72b8;
  --bg-hover: #5480cc;
  --bg-player: #000000;
  --bg-glass: rgba(30, 58, 110, 0.88);
  --accent: #45ff00;
  --accent-dim: rgba(69, 255, 0, 0.15);
  --accent-glow: rgba(69, 255, 0, 0.45);
  --text-primary: #ffffff;
  --text-secondary: #dce8ff;
  --text-muted: #b8d0f8;
  /* lighter so readable on #3a62a5 */
  --border: #2a5090;
  --border-subtle: #4a72b8;
  --positive: #30dd00;
  --warning: #ffdd44;
  --danger: #ee3344;
}

/* ── WMP8: Luna-style gradients + skeuomorphic detail ── */

/* Sidebar: deep WMP task-pane blue */
[data-theme='winmedplayer'] .sidebar {
  background: linear-gradient(180deg, #244080 0%, #1a3060 60%, #0e2048 100%);
  border-right: 2px solid #0e2048;
  box-shadow: inset -1px 0 0 rgba(120, 160, 220, 0.2);
}

/* Main body: Luna blue */
[data-theme='winmedplayer'] .app-shell {
  background: linear-gradient(160deg, #4a72b8 0%, #3a62a5 40%, #2e5498 100%);
}

/* Player bar: black LCD display with green glow ambience */
[data-theme='winmedplayer'] .player-bar {
  background: #000000;
  border-top: 2px solid #1a3060;
  box-shadow: inset 0 1px 0 rgba(69, 255, 0, 0.06), 0 -2px 12px rgba(0, 0, 0, 0.6);
}

/* Track name: WMP green glow */
[data-theme='winmedplayer'] .player-track-name {
  color: #45ff00;
  text-shadow:
    0 0 8px rgba(69, 255, 0, 0.80),
    0 0 16px rgba(69, 255, 0, 0.40),
    0 0 2px rgba(69, 255, 0, 0.60);
  letter-spacing: 0.03em;
}

[data-theme='winmedplayer'] .player-track-artist {
  color: #30dd00;
  opacity: 0.85;
  text-shadow: 0 0 4px rgba(69, 255, 0, 0.4);
}

/* Transport buttons: round, radial metallic gradient, drop shadow */
[data-theme='winmedplayer'] .player-btn,
[data-theme='winmedplayer'] .player-btn-primary {
  background: radial-gradient(circle at 38% 32%, #c8dcf8 0%, #8aacdc 40%, #4870b8 100%);
  color: #ffffff;
  border-radius: 50%;
  box-shadow:
    0 3px 8px rgba(0, 0, 0, 0.55),
    0 1px 2px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -1px 0 rgba(0, 0, 50, 0.3);
  border: 1px solid #2a5090;
}

[data-theme='winmedplayer'] .player-btn:hover,
[data-theme='winmedplayer'] .player-btn-primary:hover {
  background: radial-gradient(circle at 38% 32%, #d8ecff 0%, #a0c0ee 40%, #5888d0 100%);
  box-shadow:
    0 4px 10px rgba(0, 0, 0, 0.55),
    0 1px 2px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.6),
    inset 0 -1px 0 rgba(0, 0, 50, 0.3);
}

/* Regular buttons: Luna soft rounded pill */
[data-theme='winmedplayer'] .btn {
  background: linear-gradient(180deg, #b8d0f0 0%, #7898d8 55%, #5878c0 100%);
  color: #ffffff;
  border-radius: 12px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 -1px 0 rgba(0, 0, 80, 0.25),
    0 2px 4px rgba(0, 0, 0, 0.3);
  border: 1px solid #3a60b0;
}

[data-theme='winmedplayer'] .btn:hover {
  background: linear-gradient(180deg, #cce0ff 0%, #90aaee 55%, #6888d0 100%);
}

[data-theme='winmedplayer'] .btn-primary {
  background: linear-gradient(180deg, #70ff40 0%, #38cc00 55%, #28aa00 100%);
  color: #003300;
  border: 1px solid #208800;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 -1px 0 rgba(0, 60, 0, 0.25),
    0 2px 6px rgba(0, 0, 0, 0.3),
    0 0 8px rgba(69, 255, 0, 0.25);
}

/* Active queue round buttons: green bg, dark text */
[data-theme='winmedplayer'] .queue-round-btn.active {
  color: #003300;
}

/* Cards / glass panels: slightly elevated with border */
[data-theme='winmedplayer'] .glass,
[data-theme='winmedplayer'] .card {
  background: rgba(90, 128, 190, 0.55);
  border: 1px solid rgba(160, 190, 230, 0.5);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    0 2px 6px rgba(0, 0, 0, 0.2);
}

/* Content header: slightly darker Luna band */
[data-theme='winmedplayer'] .content-header {
  background: linear-gradient(180deg, rgba(58, 98, 165, 0.55) 0%, rgba(58, 98, 165, 0.2) 100%);
  border-bottom: 1px solid #6888c2;
}

/* ─── PowerDVD Classic — Virtual HiFi Receiver / VFD Display ─── */
/* ─── CyberLink PowerDVD ─── */
/* Midnight navy-blue darkness — not flat black, but that specific cinema-hall depth */
[data-theme='p-dvd'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%235a7090%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette — midnight navy spectrum ── */
  --ctp-crust: #020306;
  /* cinema blackout */
  --ctp-mantle: #060810;
  /* control deck depth */
  --ctp-base: #0a0d18;
  /* main chassis — navy-black */
  --ctp-surface0: #10141f;
  --ctp-surface1: #171c2a;
  --ctp-surface2: #1f2535;
  --ctp-overlay0: #2c3548;
  --ctp-overlay1: #3c4860;
  --ctp-overlay2: #506078;
  --ctp-text: #a8b8d0;
  /* blue-tinted label silver */
  --ctp-subtext1: #7890b0;
  --ctp-subtext0: #506080;
  /* PowerDVD blue spectrum */
  --ctp-mauve: #0088e8;
  /* PowerDVD blue — primary */
  --ctp-lavender: #00a8ff;
  --ctp-sky: #00ccff;
  /* glow highlight */
  --ctp-teal: #00b8cc;
  --ctp-blue: #0070cc;
  --ctp-sapphire: #0055aa;
  --ctp-green: #00cc66;
  --ctp-yellow: #ccaa00;
  --ctp-peach: #e07040;
  --ctp-pink: #cc5588;
  --ctp-flamingo: #bb4466;
  --ctp-rosewater: #cc6666;
  --ctp-maroon: #aa3333;
  --ctp-red: #cc2222;

  /* ── Semantic tokens ── */
  --bg-app: #0a0d18;
  --bg-sidebar: #060810;
  --bg-card: #10141f;
  --bg-hover: #171c2a;
  --bg-player: #020306;
  --bg-glass: rgba(10, 13, 24, 0.96);
  --accent: #0088e8;
  --accent-dim: rgba(0, 136, 232, 0.14);
  --accent-glow: rgba(0, 136, 232, 0.40);
  --text-primary: #a8b8d0;
  --text-secondary: #6880a8;
  --text-muted: #506080;
  --border: #1a2030;
  --border-subtle: #10141e;
  --positive: #00cc66;
  --warning: #ccaa00;
  --danger: #cc2222;
}

/* ── App shell: very subtle navy depth gradient ── */
[data-theme='p-dvd'] .app-shell {
  background: linear-gradient(160deg, #0c1020 0%, #080c18 50%, #060910 100%);
}

/* ── Sidebar: darkest navy — control panel behind the disc tray ── */
[data-theme='p-dvd'] .sidebar {
  background: linear-gradient(180deg, #07091280 0%, #060810 40%, #050710 100%);
  border-right: 1px solid #141824;
  box-shadow: inset -1px 0 0 rgba(0, 136, 232, 0.08), 2px 0 12px rgba(0, 0, 0, 0.7);
}

/* Active nav: PowerDVD blue LED strip */
[data-theme='p-dvd'] .nav-link.active {
  color: #00a8ff;
}

[data-theme='p-dvd'] .nav-link.active::before {
  background: #0088e8;
  box-shadow: 0 0 8px rgba(0, 136, 232, 0.7);
}

/* ── Player bar: cinema control deck — pure black + blue accent top border ── */
[data-theme='p-dvd'] .player-bar {
  background: linear-gradient(180deg, #050710 0%, #020306 100%);
  border-top: 1px solid #0a1828;
  box-shadow:
    inset 0 2px 0 rgba(0, 136, 232, 0.18),
    inset 0 1px 0 rgba(0, 200, 255, 0.08),
    0 -4px 24px rgba(0, 0, 0, 0.9);
}

/* Track name: PowerDVD blue LED display glow */
[data-theme='p-dvd'] .player-track-name {
  color: #00ccff;
  text-shadow:
    0 0 5px rgba(0, 204, 255, 0.95),
    0 0 12px rgba(0, 136, 232, 0.70),
    0 0 24px rgba(0, 100, 200, 0.35);
  letter-spacing: 0.03em;
}

[data-theme='p-dvd'] .player-track-artist {
  color: #0088e8;
  text-shadow: 0 0 6px rgba(0, 136, 232, 0.60);
  opacity: 1;
}

[data-theme='p-dvd'] .player-time {
  color: #0088e8;
  text-shadow: 0 0 5px rgba(0, 136, 232, 0.65);
}

/* ── Chrome transport buttons: silver against navy — the iconic contrast ── */
[data-theme='p-dvd'] .player-btn,
[data-theme='p-dvd'] .player-btn-primary {
  background: linear-gradient(170deg, #e8e8e8 0%, #ffffff 30%, #c0c0c0 70%, #989898 100%);
  color: #1a1a1a;
  border: 1px solid #707070;
  box-shadow:
    0 3px 8px rgba(0, 0, 0, 0.8),
    0 1px 2px rgba(0, 0, 0, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2);
}

[data-theme='p-dvd'] .player-btn:hover,
[data-theme='p-dvd'] .player-btn-primary:hover {
  background: linear-gradient(170deg, #f5f5f5 0%, #ffffff 30%, #d0d0d0 70%, #aaaaaa 100%);
  box-shadow:
    0 4px 10px rgba(0, 0, 0, 0.8),
    0 1px 3px rgba(0, 0, 0, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2),
    0 0 10px rgba(0, 136, 232, 0.20);
}

/* ── Regular buttons: navy panel style ── */
[data-theme='p-dvd'] .btn {
  background: linear-gradient(180deg, #171c2a 0%, #10141f 100%);
  color: #a8b8d0;
  border: 1px solid #1f2a3e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 1px 3px rgba(0, 0, 0, 0.6);
}

[data-theme='p-dvd'] .btn:hover {
  background: linear-gradient(180deg, #1f2535 0%, #171c2a 100%);
  border-color: #2a3850;
}

[data-theme='p-dvd'] .btn-primary {
  background: linear-gradient(180deg, #00a8ff 0%, #0070cc 100%);
  color: #ffffff;
  border: 1px solid #0055aa;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    0 1px 4px rgba(0, 0, 0, 0.5),
    0 0 10px rgba(0, 136, 232, 0.35);
}

/* Active queue round buttons: white on blue */
[data-theme='p-dvd'] .queue-round-btn.active {
  color: #ffffff;
}

/* ── Cards / panels: navy inset ── */
[data-theme='p-dvd'] .glass,
[data-theme='p-dvd'] .card {
  background: rgba(16, 20, 31, 0.90);
  border: 1px solid #1a2030;
  box-shadow: inset 0 1px 0 rgba(0, 136, 232, 0.04), 0 2px 8px rgba(0, 0, 0, 0.5);
}

/* ── Content header: dark navy band ── */
[data-theme='p-dvd'] .content-header {
  background: linear-gradient(180deg, rgba(16, 20, 31, 0.80) 0%, rgba(10, 13, 24, 0.30) 100%);
  border-bottom: 1px solid #1a2030;
}

/* ── Hover / active states: blue LED glow ── */
[data-theme='p-dvd'] .track-row:hover,
[data-theme='p-dvd'] .track-row.context-active {
  background: rgba(0, 136, 232, 0.07);
  box-shadow: inset 3px 0 0 #0088e8;
}

[data-theme='p-dvd'] .queue-item:hover,
[data-theme='p-dvd'] .queue-item.context-active {
  background: rgba(0, 136, 232, 0.07);
}

[data-theme='p-dvd'] .queue-item.active {
  background: rgba(0, 136, 232, 0.12);
  border-left: 2px solid #0088e8;
}

[data-theme='p-dvd'] .np-queue-item.active {
  background: rgba(0, 136, 232, 0.08);
}

[data-theme='p-dvd'] .np-queue-item-active {
  color: #00a8ff;
}

[data-theme='p-dvd'] .np-queue-item:hover,
[data-theme='p-dvd'] .np-queue-item.context-active {
  background: rgba(0, 136, 232, 0.06);
}

[data-theme='p-dvd'] .np-album-track.active .np-album-track-title,
[data-theme='p-dvd'] .np-album-track.active .np-album-track-num {
  color: #00a8ff;
}

[data-theme='p-dvd'] .artist-row:hover {
  background: rgba(0, 136, 232, 0.06);
  box-shadow: inset 3px 0 0 #0088e8;
}

[data-theme='p-dvd'] .playlist-row:hover {
  background: rgba(0, 136, 232, 0.06);
  box-shadow: inset 3px 0 0 #0088e8;
}

[data-theme='p-dvd'] .settings-tab:hover {
  background: rgba(0, 136, 232, 0.08);
  color: #00a8ff;
}

[data-theme='p-dvd'] .settings-tab.active {
  background: rgba(0, 136, 232, 0.14);
  color: #00a8ff;
  border-color: #0088e8;
}

[data-theme='p-dvd'] .queue-tab-btn:hover {
  background: rgba(0, 136, 232, 0.08);
  color: #00a8ff;
}

[data-theme='p-dvd'] .custom-select-trigger:hover {
  background: rgba(0, 136, 232, 0.08);
}

[data-theme='p-dvd'] .custom-select-option:hover {
  background: rgba(0, 136, 232, 0.12);
}

[data-theme='p-dvd'] .artist-ext-link:hover {
  background: rgba(0, 136, 232, 0.10);
  border-color: #0088e8;
}

[data-theme='p-dvd'] .connection-type,
[data-theme='p-dvd'] .connection-server {
  color: #4880b8;
}

/* ─── Vintage Tube Radio — 1950s Bakelite & Vacuum Tube ─── */
[data-theme='vintage-tube-radio'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23BCAAA4%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #1E110A;
  /* deep warm black-brown — dial background */
  --ctp-mantle: #5D4037;
  /* speaker cloth brown — sidebar */
  --ctp-base: #3E2723;
  /* polished bakelite — chassis */
  --ctp-surface0: #4E342E;
  --ctp-surface1: #5D4037;
  --ctp-surface2: #6D4C41;
  --ctp-overlay0: #795548;
  --ctp-overlay1: #8D6E63;
  --ctp-overlay2: #A1887F;
  --ctp-text: #FFECB3;
  /* ivory/cream — dial lettering */
  --ctp-subtext1: #D7CCC8;
  --ctp-subtext0: #BCAAA4;
  /* aged ivory — secondary labels */
  /* Tube glow + tarnished brass accents */
  --ctp-mauve: #FF6F00;
  /* vacuum tube orange — primary accent */
  --ctp-lavender: #FF8F00;
  --ctp-yellow: #FFC107;
  /* warm dial backlight */
  --ctp-peach: #FFB300;
  --ctp-green: #558B2F;
  --ctp-teal: #00695C;
  --ctp-sky: #B08D57;
  /* tarnished brass */
  --ctp-blue: #5C6BC0;
  --ctp-sapphire: #3949AB;
  --ctp-pink: #C2185B;
  --ctp-flamingo: #AD1457;
  --ctp-rosewater: #E91E63;
  --ctp-maroon: #B71C1C;
  --ctp-red: #C62828;

  /* ── Semantic tokens ── */
  --bg-app: #3E2723;
  --bg-sidebar: #5D4037;
  --bg-card: #4E342E;
  --bg-hover: #5D4037;
  --bg-player: #1E110A;
  --bg-glass: rgba(62, 39, 35, 0.92);
  --accent: #FF6F00;
  --accent-dim: rgba(255, 111, 0, 0.15);
  --accent-glow: rgba(255, 111, 0, 0.40);
  --text-primary: #FFECB3;
  --text-secondary: #BCAAA4;
  --text-muted: #b09880;
  --border: #B08D57;
  /* tarnished brass */
  --border-subtle: #4E342E;
  --positive: #558B2F;
  --warning: #FFC107;
  --danger: #C62828;
}

/* ── Tube Radio: polished bakelite chassis texture ── */
[data-theme='vintage-tube-radio'] .app-shell {
  background:
    radial-gradient(ellipse at 30% 20%, rgba(255, 111, 0, 0.04) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 80%, rgba(255, 193, 7, 0.03) 0%, transparent 50%),
    #3E2723;
}

/* Sidebar: speaker cloth — soft radial texture */
[data-theme='vintage-tube-radio'] .sidebar {
  background:
    repeating-linear-gradient(0deg,
      rgba(0, 0, 0, 0.12) 0px,
      rgba(0, 0, 0, 0.12) 1px,
      transparent 1px,
      transparent 4px),
    repeating-linear-gradient(90deg,
      rgba(0, 0, 0, 0.08) 0px,
      rgba(0, 0, 0, 0.08) 1px,
      transparent 1px,
      transparent 4px),
    #5D4037;
  border-right: 2px solid #B08D57;
  box-shadow: inset -2px 0 8px rgba(0, 0, 0, 0.4);
}

/* ── Frequency dial (Player Bar) ── */
[data-theme='vintage-tube-radio'] .player-bar {
  background: #1E110A;
  border-top: 2px solid #B08D57;
  box-shadow:
    inset 0 1px 0 rgba(255, 193, 7, 0.08),
    0 -3px 20px rgba(0, 0, 0, 0.7);
}

/* Track name: warm tube-glow */
[data-theme='vintage-tube-radio'] .player-track-name {
  color: #FFC107;
  text-shadow:
    0 0 6px rgba(255, 193, 7, 0.90),
    0 0 14px rgba(255, 111, 0, 0.60),
    0 0 28px rgba(255, 111, 0, 0.30);
  letter-spacing: 0.04em;
}

[data-theme='vintage-tube-radio'] .player-track-artist {
  color: #FF8F00;
  text-shadow: 0 0 6px rgba(255, 111, 0, 0.50);
  opacity: 1;
}

[data-theme='vintage-tube-radio'] .player-time {
  color: #FF8F00;
  text-shadow: 0 0 5px rgba(255, 111, 0, 0.55);
}

/* ── Transport buttons: turned brass knobs ── */
[data-theme='vintage-tube-radio'] .player-btn,
[data-theme='vintage-tube-radio'] .player-btn-primary {
  background: radial-gradient(circle at 38% 32%, #d4a843 0%, #b08d57 45%, #7a5e2a 100%);
  color: #1E110A;
  border: 1px solid #7a5e2a;
  box-shadow:
    0 3px 7px rgba(0, 0, 0, 0.7),
    0 1px 2px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 220, 120, 0.55),
    inset 0 -1px 0 rgba(0, 0, 0, 0.3);
}

[data-theme='vintage-tube-radio'] .player-btn:hover,
[data-theme='vintage-tube-radio'] .player-btn-primary:hover {
  background: radial-gradient(circle at 38% 32%, #e8bc55 0%, #c09a65 45%, #8a6e38 100%);
  box-shadow:
    0 4px 10px rgba(0, 0, 0, 0.7),
    0 1px 2px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 230, 140, 0.65),
    inset 0 -1px 0 rgba(0, 0, 0, 0.3);
}

/* ── Regular buttons: bakelite style ── */
[data-theme='vintage-tube-radio'] .btn {
  background: linear-gradient(180deg, #4E342E 0%, #3E2723 100%);
  color: #FFECB3;
  border: 1px solid #B08D57;
  box-shadow:
    inset 0 1px 0 rgba(255, 220, 150, 0.10),
    0 1px 4px rgba(0, 0, 0, 0.5);
}

[data-theme='vintage-tube-radio'] .btn:hover {
  background: linear-gradient(180deg, #5D4037 0%, #4E342E 100%);
}

[data-theme='vintage-tube-radio'] .btn-primary {
  background: linear-gradient(180deg, #FF8F00 0%, #E65100 100%);
  color: #1E110A;
  border: 1px solid #BF360C;
  box-shadow:
    inset 0 1px 0 rgba(255, 220, 120, 0.35),
    0 1px 4px rgba(0, 0, 0, 0.4),
    0 0 10px rgba(255, 111, 0, 0.30);
}

/* Active queue buttons: dark text on orange */
[data-theme='vintage-tube-radio'] .queue-round-btn.active {
  color: #1E110A;
}

/* Cards / panels: inset bakelite */
[data-theme='vintage-tube-radio'] .glass,
[data-theme='vintage-tube-radio'] .card {
  background: rgba(78, 52, 46, 0.80);
  border: 1px solid #B08D57;
  box-shadow:
    inset 0 1px 0 rgba(255, 220, 150, 0.06),
    0 2px 8px rgba(0, 0, 0, 0.4);
}

/* Content header: warm band */
[data-theme='vintage-tube-radio'] .content-header {
  background: linear-gradient(180deg, rgba(93, 64, 55, 0.60) 0%, rgba(62, 39, 35, 0.20) 100%);
  border-bottom: 1px solid #B08D57;
}

/* ─── Windows 7 Aero — Aero Glass & Frutiger Aero ─── */
/* ─── Windows 7 Aero Glass ─── */
[data-theme='aero-glass'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%234c607a%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #05080f;
  --ctp-mantle: #0d1a2e;
  --ctp-base: #b8cfe8;
  --ctp-surface0: #ccdaea;
  --ctp-surface1: #d8e6f2;
  --ctp-surface2: #e4f0f8;
  --ctp-overlay0: #a0bcd8;
  --ctp-overlay1: #7aa0c0;
  --ctp-overlay2: #5a84a8;
  --ctp-text: #0d1a2e;
  --ctp-subtext1: #1e3250;
  --ctp-subtext0: #3a5070;
  --ctp-mauve: #1878e8;
  --ctp-lavender: #3399ff;
  --ctp-sky: #5bb3ff;
  --ctp-blue: #1d4268;
  --ctp-sapphire: #1366c8;
  --ctp-teal: #0099aa;
  --ctp-green: #107c10;
  --ctp-yellow: #f7c948;
  --ctp-peach: #e8890c;
  --ctp-pink: #e3008c;
  --ctp-flamingo: #c50f1f;
  --ctp-rosewater: #da3b01;
  --ctp-maroon: #a4262c;
  --ctp-red: #c42b1c;

  /* ── Semantic tokens ── */
  --bg-app: #b8cfe8;
  --bg-sidebar: rgba(210, 228, 248, 0.55);
  --bg-card: rgba(225, 238, 252, 0.65);
  --bg-hover: rgba(24, 120, 232, 0.85);
  --bg-player: #05080f;
  --bg-glass: rgba(210, 228, 248, 0.82);
  --accent: #1878e8;
  --accent-dim: rgba(24, 120, 232, 0.14);
  --accent-glow: rgba(24, 120, 232, 0.40);
  --volume-accent: #1878e8;
  --text-primary: #0d1a2e;
  --text-secondary: #1e3250;
  --text-muted: #7090b8;
  --border: rgba(130, 175, 220, 0.65);
  --border-subtle: rgba(160, 200, 240, 0.45);
  --positive: #107c10;
  --warning: #c87400;
  --danger: #c42b1c;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
}

/* ── Background: W7 sky with depth ── */
[data-theme='aero-glass'] .app-shell {
  background: linear-gradient(160deg, #c8e2f5 0%, #b5cfe4 45%, #9fc0db 100%);
}

/* ── Sidebar: Aero glass panel — frosted translucent ── */
[data-theme='aero-glass'] .sidebar {
  background: rgba(210, 232, 252, 0.52);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 1px solid rgba(150, 190, 230, 0.55);
  box-shadow:
    inset -1px 0 0 rgba(255, 255, 255, 0.75),
    inset 1px 0 0 rgba(255, 255, 255, 0.25),
    2px 0 8px rgba(0, 0, 0, 0.12);
}

/* ── Player bar: authentic W7 taskbar — near-black glass ── */
[data-theme='aero-glass'] .player-bar {
  background: linear-gradient(180deg,
      rgba(12, 18, 32, 0.96) 0%,
      rgba(6, 10, 20, 0.99) 100%);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border-top: 1px solid rgba(80, 155, 235, 0.60);
  box-shadow:
    inset 0 1px 0 rgba(100, 180, 255, 0.28),
    inset 0 2px 0 rgba(255, 255, 255, 0.06),
    0 -2px 16px rgba(0, 0, 0, 0.55);
}

/* Track info: white on near-black, blue glow */
[data-theme='aero-glass'] .player-track-name {
  color: #ffffff;
  text-shadow: 0 0 12px rgba(80, 160, 255, 0.65), 0 1px 2px rgba(0, 0, 0, 0.60);
  font-weight: 600;
}

[data-theme='aero-glass'] .player-track-artist {
  color: #88b8e0;
  opacity: 1;
}

[data-theme='aero-glass'] .player-time {
  color: #88b8e0;
}

/* ── Transport buttons: Aero glass gel circles ── */
[data-theme='aero-glass'] .player-btn,
[data-theme='aero-glass'] .player-btn-primary {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.80) 0%,
      rgba(195, 228, 255, 0.82) 48%,
      rgba(80, 160, 235, 0.92) 50%,
      rgba(30, 110, 205, 0.96) 100%);
  color: #ffffff;
  border: 1px solid rgba(20, 75, 180, 0.55);
  border-radius: 50%;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.90),
    0 2px 6px rgba(0, 0, 0, 0.40),
    0 0 0 1px rgba(80, 150, 230, 0.25);
}

[data-theme='aero-glass'] .player-btn:hover,
[data-theme='aero-glass'] .player-btn-primary:hover {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.92) 0%,
      rgba(215, 240, 255, 0.90) 48%,
      rgba(105, 178, 248, 0.95) 50%,
      rgba(50, 130, 220, 0.99) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 3px 10px rgba(0, 0, 0, 0.40),
    0 0 12px rgba(51, 153, 255, 0.45);
}

/* ── Regular buttons: Aero frosted glass ── */
[data-theme='aero-glass'] .btn,
[data-theme='aero-glass'] .btn-surface,
[data-theme='aero-glass'] .btn-ghost {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.85) 0%,
      rgba(255, 255, 255, 0.85) 48%,
      rgba(190, 220, 248, 0.90) 50%,
      rgba(155, 198, 240, 0.94) 100%);
  color: #0d1a2e;
  border: 1px solid rgba(120, 170, 220, 0.65);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    inset 0 1px 0 rgba(255, 255, 255, 0.50),
    0 1px 3px rgba(0, 0, 0, 0.18);
  border-radius: 5px;
}

[data-theme='aero-glass'] .btn:hover,
[data-theme='aero-glass'] .btn-surface:hover,
[data-theme='aero-glass'] .btn-ghost:hover {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 255, 255, 0.96) 48%,
      rgba(210, 235, 255, 0.95) 50%,
      rgba(175, 215, 252, 0.98) 100%);
  border-color: rgba(24, 120, 232, 0.70);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    0 1px 4px rgba(0, 0, 0, 0.20),
    0 0 8px rgba(24, 120, 232, 0.22);
}

/* ── Primary button: Aero blue gel ── */
[data-theme='aero-glass'] .btn-primary {
  background: linear-gradient(180deg,
      rgba(110, 185, 255, 0.92) 0%,
      rgba(70, 155, 245, 0.92) 48%,
      rgba(24, 100, 205, 0.96) 50%,
      rgba(12, 72, 175, 0.99) 100%);
  color: #ffffff;
  border: 1px solid rgba(12, 60, 155, 0.70);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.58),
    0 1px 4px rgba(0, 0, 0, 0.30),
    0 0 10px rgba(24, 120, 232, 0.38);
  border-radius: 5px;
}

[data-theme='aero-glass'] .btn-primary:hover {
  background: linear-gradient(180deg,
      rgba(140, 200, 255, 0.95) 0%,
      rgba(90, 170, 255, 0.95) 48%,
      rgba(40, 120, 225, 0.98) 50%,
      rgba(24, 95, 195, 1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    0 1px 5px rgba(0, 0, 0, 0.30),
    0 0 14px rgba(24, 120, 232, 0.50);
}

/* ── Hero / album-card buttons: frosted glass ── */
[data-theme='aero-glass'] .hero-play-btn,
[data-theme='aero-glass'] .album-card-details-btn {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.82) 0%,
      rgba(190, 220, 248, 0.88) 48%,
      rgba(140, 190, 235, 0.92) 50%,
      rgba(100, 160, 220, 0.95) 100%);
  color: #0d1a2e;
  border: 1px solid rgba(100, 160, 220, 0.60);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.90), 0 1px 3px rgba(0, 0, 0, 0.20);
}

[data-theme='aero-glass'] .hero-play-btn:hover,
[data-theme='aero-glass'] .album-card-details-btn:hover {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.95) 0%,
      rgba(215, 238, 255, 0.95) 50%,
      rgba(165, 210, 250, 0.98) 100%);
  border-color: rgba(24, 120, 232, 0.70);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 0 8px rgba(24, 120, 232, 0.25);
}

/* ── Queue toolbar round buttons: Aero glass ── */
[data-theme='aero-glass'] .queue-round-btn {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.80) 0%,
      rgba(185, 218, 248, 0.88) 50%,
      rgba(140, 190, 235, 0.92) 100%);
  color: #1e3250;
  border: 1px solid rgba(110, 165, 220, 0.60);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.90), 0 1px 2px rgba(0, 0, 0, 0.18);
}

[data-theme='aero-glass'] .queue-round-btn:hover:not(:disabled):not(.active) {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.95) 0%,
      rgba(210, 235, 255, 0.95) 50%,
      rgba(165, 208, 250, 0.98) 100%);
  border-color: rgba(24, 120, 232, 0.65);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 0 8px rgba(24, 120, 232, 0.25);
  color: #0d1a2e;
}

[data-theme='aero-glass'] .queue-round-btn.active {
  background: linear-gradient(180deg,
      rgba(110, 180, 255, 0.90) 0%,
      rgba(24, 100, 210, 0.96) 100%);
  color: #ffffff;
  border-color: rgba(12, 60, 155, 0.70);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 0 8px rgba(24, 120, 232, 0.50);
}

/* ── Cards: frosted glass panels ── */
[data-theme='aero-glass'] .card {
  background: rgba(225, 240, 255, 0.62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(160, 200, 240, 0.60);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.80),
    0 2px 8px rgba(0, 0, 0, 0.12);
  border-radius: 6px;
}

/* ── Content header: Aero chrome strip ── */
[data-theme='aero-glass'] .content-header {
  background: rgba(210, 232, 252, 0.58);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(150, 195, 240, 0.55);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.70),
    inset 0 -1px 0 rgba(255, 255, 255, 0.35),
    0 2px 6px rgba(0, 0, 0, 0.10);
}

/* Connection indicators: dark navy, readable on glass */
[data-theme='aero-glass'] .connection-type,
[data-theme='aero-glass'] .connection-server {
  color: #0d1a2e;
}

/* ── Theme accordion: glass hover ── */
[data-theme='aero-glass'] .theme-accordion-header:hover {
  background: rgba(24, 120, 232, 0.18);
  color: #0d1a2e;
}

[data-theme='aero-glass'] .theme-accordion-open .theme-accordion-header {
  background: rgba(24, 120, 232, 0.22);
  color: #0d1a2e;
}

/* ── Progress bar: Aero blue ── */
[data-theme='aero-glass'] .progress-bar-track {
  background: rgba(150, 195, 235, 0.45);
  border-radius: 3px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}

[data-theme='aero-glass'] .progress-bar-fill {
  background: linear-gradient(180deg,
      rgba(110, 185, 255, 0.95) 0%,
      rgba(24, 120, 232, 0.98) 50%,
      rgba(12, 90, 200, 1) 100%);
  border-radius: 3px;
  box-shadow: 0 0 6px rgba(24, 120, 232, 0.50);
}

/* ── Scrollbar: W7 thin glass style ── */
[data-theme='aero-glass'] ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

[data-theme='aero-glass'] ::-webkit-scrollbar-track {
  background: rgba(175, 210, 245, 0.25);
  border-radius: 5px;
}

[data-theme='aero-glass'] ::-webkit-scrollbar-thumb {
  background: rgba(110, 168, 225, 0.60);
  border: 1px solid rgba(80, 140, 200, 0.45);
  border-radius: 5px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

[data-theme='aero-glass'] ::-webkit-scrollbar-thumb:hover {
  background: rgba(24, 120, 232, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.50), 0 0 4px rgba(24, 120, 232, 0.30);
}

/* ── Glass / dropdowns: frosted glass panel ── */
[data-theme='aero-glass'] .glass {
  background: rgba(218, 236, 255, 0.88) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border: 1px solid rgba(150, 195, 240, 0.65) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    2px 2px 12px rgba(0, 0, 0, 0.18) !important;
  border-radius: 8px !important;
}

[data-theme='aero-glass'] .glass [style*="var(--bg-hover)"] {
  background: rgba(24, 120, 232, 0.20) !important;
  border-radius: 4px !important;
}

[data-theme='aero-glass'] .glass [style*="var(--text-primary)"] {
  color: #0d1a2e !important;
}

[data-theme='aero-glass'] .glass [style*="var(--text-secondary)"] {
  color: #1e3250 !important;
}

[data-theme='aero-glass'] .glass [style*="var(--text-muted)"] {
  color: #3a5070 !important;
}

/* ── Hover / selection: Aero blue glass ── */
[data-theme='aero-glass'] .queue-tab-btn:hover {
  background: rgba(24, 120, 232, 0.18);
  color: #0d1a2e;
}

[data-theme='aero-glass'] .settings-tab:hover {
  background: rgba(24, 120, 232, 0.18);
  color: #0d1a2e;
}

[data-theme='aero-glass'] .settings-tab.active {
  background: rgba(24, 120, 232, 0.85);
  color: #ffffff;
}

[data-theme='aero-glass'] .custom-select-trigger:hover {
  background: rgba(24, 120, 232, 0.15);
}

[data-theme='aero-glass'] .custom-select-option:hover {
  background: rgba(24, 120, 232, 0.85) !important;
  color: #ffffff !important;
}

[data-theme='aero-glass'] .artist-ext-link:hover {
  background: rgba(24, 120, 232, 0.85);
  color: #ffffff !important;
}

[data-theme='aero-glass'] .np-action-btn:hover {
  background: rgba(24, 120, 232, 0.18);
}

[data-theme='aero-glass'] .np-queue-item:hover,
[data-theme='aero-glass'] .np-queue-item.context-active {
  background: rgba(24, 120, 232, 0.85);
  color: #ffffff;
}

[data-theme='aero-glass'] .track-row:hover,
[data-theme='aero-glass'] .track-row.context-active {
  background: rgba(24, 120, 232, 0.85) !important;
}

[data-theme='aero-glass'] .track-row:hover *,
[data-theme='aero-glass'] .track-row.context-active * {
  color: #ffffff !important;
}

[data-theme='aero-glass'] .artist-row:hover {
  background: rgba(24, 120, 232, 0.85);
  color: #ffffff;
}

[data-theme='aero-glass'] .playlist-row:hover {
  background: rgba(24, 120, 232, 0.85);
}

[data-theme='aero-glass'] .playlist-row:hover,
[data-theme='aero-glass'] .playlist-row:hover * {
  color: #ffffff;
}

[data-theme='aero-glass'] .queue-item:hover,
[data-theme='aero-glass'] .queue-item.context-active {
  background: rgba(24, 120, 232, 0.85) !important;
}

[data-theme='aero-glass'] .queue-item:hover .queue-item-title,
[data-theme='aero-glass'] .queue-item:hover .queue-item-artist,
[data-theme='aero-glass'] .queue-item:hover .queue-item-duration,
[data-theme='aero-glass'] .queue-item.context-active .queue-item-title,
[data-theme='aero-glass'] .queue-item.context-active .queue-item-artist,
[data-theme='aero-glass'] .queue-item.context-active .queue-item-duration {
  color: #ffffff;
}

/* ── Active queue / now-playing items ── */
[data-theme='aero-glass'] .queue-item.active {
  background: rgba(24, 120, 232, 0.14);
  color: #1366c8;
}

[data-theme='aero-glass'] .queue-item.active .queue-item-artist,
[data-theme='aero-glass'] .queue-item.active .queue-item-duration {
  color: #1878e8;
  opacity: 0.85;
}

[data-theme='aero-glass'] .np-queue-item-active {
  color: #1366c8;
}

[data-theme='aero-glass'] .np-queue-item.active {
  background: rgba(24, 120, 232, 0.10);
}

[data-theme='aero-glass'] .np-album-track.active .np-album-track-title,
[data-theme='aero-glass'] .np-album-track.active .np-album-track-num {
  color: #1366c8;
}

/* ─── Windows XP Luna — Classic 2001 ─── */
/* ─── Windows XP Luna Teal ─── */
[data-theme='luna-teal'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23444444%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #0041b8;
  --ctp-mantle: #0055e5;
  --ctp-base: #ece9d8;
  --ctp-surface0: #ffffff;
  --ctp-surface1: #f5f3ec;
  --ctp-surface2: #ece9d8;
  --ctp-overlay0: #c0bba8;
  --ctp-overlay1: #8a8675;
  --ctp-overlay2: #5e5a4c;
  --ctp-text: #000000;
  --ctp-subtext1: #1a1a1a;
  --ctp-subtext0: #444444;
  --ctp-mauve: #3c9d29;
  --ctp-lavender: #52b83c;
  --ctp-green: #3c9d29;
  --ctp-teal: #007c8a;
  --ctp-sky: #316ac5;
  --ctp-blue: #0055e5;
  --ctp-sapphire: #0041b8;
  --ctp-pink: #cc2288;
  --ctp-flamingo: #cc2020;
  --ctp-rosewater: #dd4400;
  --ctp-yellow: #b87800;
  --ctp-peach: #cc6600;
  --ctp-maroon: #aa1111;
  --ctp-red: #cc1111;

  /* ── Semantic tokens ── */
  --bg-app: #ece9d8;
  --bg-sidebar: #c8daf5;
  --bg-card: #ffffff;
  --bg-hover: #316ac5;
  --bg-player: #1248b8;
  --bg-glass: rgba(255, 255, 255, 0.97);
  --accent: #3c9d29;
  --accent-dim: rgba(60, 157, 41, 0.14);
  --accent-glow: rgba(60, 157, 41, 0.35);
  --volume-accent: #3c9d29;
  --text-primary: #000000;
  --text-secondary: #333333;
  --text-muted: #555555;
  --border: #003399;
  --border-subtle: #aca899;
  --positive: #3c9d29;
  --warning: #b87800;
  --danger: #cc1111;
  --radius-sm: 3px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

/* ── App shell: XP sandy desktop ── */
[data-theme='luna-teal'] .app-shell {
  background: #ece9d8;
}

/* ── Sidebar: XP Explorer task pane / Folders panel ── */
[data-theme='luna-teal'] .sidebar {
  background: linear-gradient(180deg, #d8e8fa 0%, #c0d4f5 40%, #b0c8f0 100%);
  border-right: 1px solid #7090c0;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.60), 2px 0 4px rgba(0, 0, 0, 0.14);
}

/* Sidebar text: dark navy on ice blue — with white text-shadow for legibility */
[data-theme='luna-teal'] .sidebar-link,
[data-theme='luna-teal'] .sidebar-section-title,
[data-theme='luna-teal'] .sidebar-logo-text,
[data-theme='luna-teal'] .nav-section-label,
[data-theme='luna-teal'] .brand-name {
  color: #002060;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.55);
  font-weight: 700;
}

/* Nav links */
[data-theme='luna-teal'] .nav-link {
  color: #001850;
}

[data-theme='luna-teal'] .nav-link:hover {
  background: rgba(255, 255, 255, 0.45);
  color: #000000;
  border-radius: 3px;
}

[data-theme='luna-teal'] .nav-link.active {
  background: #316ac5;
  color: #ffffff;
  border-radius: 3px;
  text-shadow: none;
}

[data-theme='luna-teal'] .nav-link.active::before {
  background: #ffffff;
}

[data-theme='luna-teal'] .nav-link.active svg,
[data-theme='luna-teal'] .nav-link:hover svg {
  opacity: 1;
}

/* Now Playing nav link */
[data-theme='luna-teal'] .nav-link-nowplaying {
  background: rgba(0, 0, 80, 0.10);
  color: #001850;
}

[data-theme='luna-teal'] .nav-link-nowplaying:hover {
  background: rgba(255, 255, 255, 0.45);
  color: #000000;
}

[data-theme='luna-teal'] .nav-link-nowplaying.active {
  background: #316ac5;
  color: #ffffff;
}

/* ── Player bar: authentic XP Luna taskbar blue ── */
[data-theme='luna-teal'] .player-bar {
  background: linear-gradient(180deg,
      #4b8ee8 0%,
      #2568d4 8%,
      #1a56c4 30%,
      #1248b8 70%,
      #0e3da8 85%,
      #1248b8 100%);
  border-top: 1px solid #7aaaff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 2px 0 rgba(255, 255, 255, 0.18),
    0 -2px 8px rgba(0, 0, 0, 0.30);
}

/* Track name: white with XP glow */
[data-theme='luna-teal'] .player-track-name {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.60), 0 0 10px rgba(120, 180, 255, 0.40);
  font-weight: 700;
}

[data-theme='luna-teal'] .player-track-artist {
  color: #b8d4ff;
  opacity: 1;
}

[data-theme='luna-teal'] .player-time {
  color: #b8d4ff;
}

/* ── Transport buttons: XP Luna gel circles ── */
[data-theme='luna-teal'] .player-btn,
[data-theme='luna-teal'] .player-btn-primary {
  background: linear-gradient(180deg,
      #80aaff 0%,
      #4477ee 45%,
      #1a50dd 50%,
      #0c3bb8 100%);
  color: #ffffff;
  border: 1px solid #002288;
  border-radius: 50%;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    0 2px 5px rgba(0, 0, 0, 0.45);
}

[data-theme='luna-teal'] .player-btn:hover,
[data-theme='luna-teal'] .player-btn-primary:hover {
  background: linear-gradient(180deg,
      #99bbff 0%,
      #5588ff 45%,
      #2264ee 50%,
      #1a52d0 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    0 3px 8px rgba(0, 0, 0, 0.40),
    0 0 10px rgba(80, 140, 255, 0.40);
}

/* ── Regular buttons: XP bevel style ── */
[data-theme='luna-teal'] .btn,
[data-theme='luna-teal'] .btn-surface,
[data-theme='luna-teal'] .btn-ghost {
  background: linear-gradient(180deg, #f5f3ec 0%, #ece9d8 48%, #ddd9c8 50%, #d0cdb8 100%);
  color: #000000;
  border: 1px solid #888480;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    inset 1px 0 0 rgba(255, 255, 255, 0.70),
    0 1px 2px rgba(0, 0, 0, 0.20);
  border-radius: 3px;
}

[data-theme='luna-teal'] .btn:hover,
[data-theme='luna-teal'] .btn-surface:hover,
[data-theme='luna-teal'] .btn-ghost:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f0ede0 48%, #e4e0d0 50%, #d8d4c4 100%);
  border-color: #0055e5;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    0 1px 3px rgba(0, 0, 0, 0.18);
}

/* ── Primary button: XP green gel ── */
[data-theme='luna-teal'] .btn-primary {
  background: linear-gradient(180deg,
      #66dd50 0%,
      #3c9d29 45%,
      #2e8020 50%,
      #1e6015 100%);
  color: #ffffff;
  border: 1px solid #1a5010;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 1px 3px rgba(0, 0, 0, 0.30);
  border-radius: 4px;
}

[data-theme='luna-teal'] .btn-primary:hover {
  background: linear-gradient(180deg,
      #80ee68 0%,
      #4db035 45%,
      #3a9028 50%,
      #2e8020 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.60),
    0 1px 4px rgba(0, 0, 0, 0.30),
    0 0 8px rgba(60, 157, 41, 0.40);
}

/* ── Hero / album-card play buttons ── */
[data-theme='luna-teal'] .hero-play-btn,
[data-theme='luna-teal'] .album-card-details-btn {
  background: linear-gradient(180deg, #f5f3ec 0%, #d0cdb8 100%);
  color: #000000;
  border: 1px solid #888480;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 1px 2px rgba(0, 0, 0, 0.20);
}

[data-theme='luna-teal'] .hero-play-btn:hover,
[data-theme='luna-teal'] .album-card-details-btn:hover {
  background: linear-gradient(180deg, #ffffff 0%, #ddd9c8 100%);
  border-color: #0055e5;
}

/* ── Queue toolbar round buttons ── */
[data-theme='luna-teal'] .queue-round-btn {
  background: linear-gradient(180deg, #f5f3ec 0%, #d0cdb8 100%);
  color: #333333;
  border: 1px solid #888480;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.90), 0 1px 2px rgba(0, 0, 0, 0.18);
}

[data-theme='luna-teal'] .queue-round-btn:hover:not(:disabled):not(.active) {
  background: linear-gradient(180deg, #ffffff 0%, #e0ddd0 100%);
  border-color: #0055e5;
  color: #000000;
}

[data-theme='luna-teal'] .queue-round-btn.active {
  background: #316ac5;
  color: #ffffff;
  border-color: #0033aa;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.30), 0 1px 0 rgba(255, 255, 255, 0.15);
}

/* ── Cards: XP white window interior ── */
[data-theme='luna-teal'] .card {
  background: #ffffff;
  border: 1px solid #aca899;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 1px 3px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
}

/* ── Content header: XP title bar gradient ── */
[data-theme='luna-teal'] .content-header {
  background: linear-gradient(180deg,
      #5a9aee 0%,
      #2a6ad4 25%,
      #1a56c4 50%,
      #0e48b8 75%,
      #0a3aaa 100%);
  border-bottom: 1px solid #0033aa;
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.40), 0 2px 4px rgba(0, 0, 0, 0.18);
}

/* Connection indicators: white on blue header */
[data-theme='luna-teal'] .connection-type,
[data-theme='luna-teal'] .connection-server {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.50);
}

/* ── Theme accordion: XP selection blue ── */
[data-theme='luna-teal'] .theme-accordion-header:hover {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .theme-accordion-open .theme-accordion-header {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .theme-accordion-open .theme-accordion-chevron {
  color: #ffffff;
}

/* ── Progress bar: XP green ── */
[data-theme='luna-teal'] .progress-bar-track {
  background: #aca899;
  border-radius: 2px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
}

[data-theme='luna-teal'] .progress-bar-fill {
  background: linear-gradient(180deg, #52cc3c 0%, #3c9d29 50%, #2e8020 100%);
  border-radius: 2px;
}

/* ── Scrollbar: XP 16px system style ── */
[data-theme='luna-teal'] ::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

[data-theme='luna-teal'] ::-webkit-scrollbar-track {
  background: #ece9d8;
  border-left: 1px solid #aca899;
}

[data-theme='luna-teal'] ::-webkit-scrollbar-thumb {
  background: linear-gradient(to right, #c8c4b8 0%, #e0ddd0 40%, #c0bbb4 100%);
  border: 1px solid #888480;
  box-shadow: inset 1px 1px 0 #ffffff, inset -1px -1px 0 #888480;
  border-radius: 2px;
}

[data-theme='luna-teal'] ::-webkit-scrollbar-button {
  background: linear-gradient(180deg, #f0ede0 0%, #d8d4c4 100%);
  border: 1px solid #888480;
  box-shadow: inset 1px 1px 0 #ffffff, inset -1px -1px 0 #888480;
}

/* ── Glass / dropdowns: solid XP dialog style ── */
[data-theme='luna-teal'] .glass {
  background: #ffffff !important;
  backdrop-filter: none !important;
  border: 1px solid #aca899 !important;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.28) !important;
  border-radius: 4px !important;
}

[data-theme='luna-teal'] .glass [style*="var(--bg-hover)"] {
  background: #316ac5 !important;
  border-radius: 0 !important;
  color: #ffffff !important;
}

[data-theme='luna-teal'] .glass [style*="var(--text-primary)"] {
  color: #000000 !important;
}

[data-theme='luna-teal'] .glass [style*="var(--text-secondary)"] {
  color: #333333 !important;
}

[data-theme='luna-teal'] .glass [style*="var(--text-muted)"] {
  color: #555555 !important;
}

/* ── Hover / selection: XP classic blue ── */
[data-theme='luna-teal'] .queue-tab-btn:hover {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .settings-tab:hover {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .settings-tab.active {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .custom-select-trigger:hover {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .custom-select-option:hover {
  background: #316ac5 !important;
  color: #ffffff !important;
}

[data-theme='luna-teal'] .artist-ext-link:hover {
  background: #316ac5;
  color: #ffffff !important;
}

[data-theme='luna-teal'] .np-action-btn:hover {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .np-queue-item:hover,
[data-theme='luna-teal'] .np-queue-item.context-active {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .track-row:hover,
[data-theme='luna-teal'] .track-row.context-active {
  background: #316ac5 !important;
}

[data-theme='luna-teal'] .track-row:hover *,
[data-theme='luna-teal'] .track-row.context-active * {
  color: #ffffff !important;
}

[data-theme='luna-teal'] .artist-row:hover {
  background: #316ac5;
  color: #ffffff;
}

[data-theme='luna-teal'] .playlist-row:hover {
  background: #316ac5;
}

[data-theme='luna-teal'] .playlist-row:hover,
[data-theme='luna-teal'] .playlist-row:hover * {
  color: #ffffff;
}

[data-theme='luna-teal'] .queue-item:hover,
[data-theme='luna-teal'] .queue-item.context-active {
  background: #316ac5 !important;
}

[data-theme='luna-teal'] .queue-item:hover .queue-item-title,
[data-theme='luna-teal'] .queue-item:hover .queue-item-artist,
[data-theme='luna-teal'] .queue-item:hover .queue-item-duration,
[data-theme='luna-teal'] .queue-item.context-active .queue-item-title,
[data-theme='luna-teal'] .queue-item.context-active .queue-item-artist,
[data-theme='luna-teal'] .queue-item.context-active .queue-item-duration {
  color: #ffffff;
}

/* ── Active queue / now-playing items ── */
[data-theme='luna-teal'] .queue-item.active {
  background: rgba(49, 106, 197, 0.12);
  color: #0041b8;
}

[data-theme='luna-teal'] .queue-item.active .queue-item-artist,
[data-theme='luna-teal'] .queue-item.active .queue-item-duration {
  color: #0055e5;
  opacity: 0.85;
}

[data-theme='luna-teal'] .np-queue-item-active {
  color: #0041b8;
}

[data-theme='luna-teal'] .np-queue-item.active {
  background: rgba(49, 106, 197, 0.10);
}

[data-theme='luna-teal'] .np-album-track.active .np-album-track-title,
[data-theme='luna-teal'] .np-album-track.active .np-album-track-num {
  color: #0041b8;
}

/* ─── macOS Ventura Light ─── */
[data-theme='cupertino-light'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23636366%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Palette */
  --ctp-crust: #f5f5f7;
  --ctp-mantle: #e8e8ed;
  --ctp-base: #ffffff;
  --ctp-surface0: #f2f2f7;
  --ctp-surface1: #e5e5ea;
  --ctp-surface2: #d1d1d6;
  --ctp-overlay0: #8e8e93;
  --ctp-overlay1: #6c6c70;
  --ctp-overlay2: #48484a;
  --ctp-text: #1c1c1e;
  --ctp-subtext1: #3a3a3c;
  --ctp-subtext0: #636366;
  --ctp-mauve: #0071e3;
  --ctp-lavender: #2c9af0;
  --ctp-green: #34c759;
  --ctp-teal: #5ac8fa;
  --ctp-sky: #32ade6;
  --ctp-blue: #0071e3;
  --ctp-sapphire: #0051a8;
  --ctp-pink: #ff2d55;
  --ctp-flamingo: #ff6b81;
  --ctp-rosewater: #ffd6d6;
  --ctp-yellow: #ffd60a;
  --ctp-peach: #ff9f0a;
  --ctp-maroon: #c0392b;
  --ctp-red: #ff3b30;

  /* Semantic tokens */
  --bg-app: #ffffff;
  --bg-sidebar: #f2f2f7;
  --bg-card: #ffffff;
  --bg-hover: #f2f2f7;
  --bg-player: rgba(255, 255, 255, 0.85);
  --bg-glass: rgba(255, 255, 255, 0.72);
  --accent: #0071e3;
  --accent-dim: rgba(0, 113, 227, 0.12);
  --accent-glow: rgba(0, 113, 227, 0.30);
  --text-primary: #1c1c1e;
  --text-secondary: #3a3a3c;
  --text-muted: #6d6d72;
  --border: #d1d1d6;
  --border-subtle: #e5e5ea;
  --positive: #34c759;
  --warning: #ff9f0a;
  --danger: #ff3b30;

  --shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
}

[data-theme='cupertino-light'] .app-shell {
  background: #f2f2f7;
}

[data-theme='cupertino-light'] .sidebar {
  background: rgba(242, 242, 247, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 1px solid rgba(0, 0, 0, 0.08);
}

[data-theme='cupertino-light'] .player-bar {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(0, 0, 0, 0.10);
  box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.06);
}

/* Player text: dark on light bar */
[data-theme='cupertino-light'] .player-track-name {
  color: #1c1c1e;
}

[data-theme='cupertino-light'] .player-track-artist {
  color: #636366;
}

[data-theme='cupertino-light'] .player-time {
  color: #636366;
}

[data-theme='cupertino-light'] .player-btn {
  color: #1c1c1e;
}

[data-theme='cupertino-light'] .player-btn:hover {
  color: #0071e3;
  background: rgba(0, 113, 227, 0.10);
}

[data-theme='cupertino-light'] .player-btn-primary {
  color: #ffffff;
  background: #0071e3;
  box-shadow: 0 2px 8px rgba(0, 113, 227, 0.35);
}

[data-theme='cupertino-light'] .player-btn-primary:hover {
  background: #0077ed;
  box-shadow: 0 4px 12px rgba(0, 113, 227, 0.45);
}

/* Nav links */
[data-theme='cupertino-light'] .nav-link {
  color: #3a3a3c;
}

[data-theme='cupertino-light'] .nav-link:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #1c1c1e;
}

[data-theme='cupertino-light'] .nav-link.active {
  background: #0071e3;
  color: #ffffff;
  border-left-color: transparent;
  border-radius: 8px;
}

[data-theme='cupertino-light'] .nav-link.active::before {
  display: none;
}

[data-theme='cupertino-light'] .nav-link-nowplaying {
  color: #0071e3;
  font-weight: 600;
}

/* Queue active */
[data-theme='cupertino-light'] .queue-item.active {
  background: rgba(0, 113, 227, 0.10);
  color: #0071e3;
}

/* NowPlaying overrides */
[data-theme='cupertino-light'] .np-queue-item-active {
  color: #0071e3;
}

[data-theme='cupertino-light'] .np-album-track.active .np-album-track-title,
[data-theme='cupertino-light'] .np-album-track.active .np-album-track-num {
  color: #0071e3;
}

/* ─── macOS Ventura Dark ─── */
[data-theme='cupertino-dark'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2398989d%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Palette */
  --ctp-crust: #0d0d0e;
  --ctp-mantle: #161617;
  --ctp-base: #1e1e1f;
  --ctp-surface0: #2d2d2f;
  --ctp-surface1: #3a3a3c;
  --ctp-surface2: #48484a;
  --ctp-overlay0: #636366;
  --ctp-overlay1: #8e8e93;
  --ctp-overlay2: #aeaeb2;
  --ctp-text: #f5f5f7;
  --ctp-subtext1: #e5e5ea;
  --ctp-subtext0: #c7c7cc;
  --ctp-mauve: #007aff;
  --ctp-lavender: #409cff;
  --ctp-green: #30d158;
  --ctp-teal: #5ac8fa;
  --ctp-sky: #32ade6;
  --ctp-blue: #007aff;
  --ctp-sapphire: #0a84ff;
  --ctp-pink: #ff375f;
  --ctp-flamingo: #ff6b81;
  --ctp-rosewater: #ffd6d6;
  --ctp-yellow: #ffd60a;
  --ctp-peach: #ff9f0a;
  --ctp-maroon: #c0392b;
  --ctp-red: #ff453a;

  /* Semantic tokens */
  --bg-app: #1e1e1f;
  --bg-sidebar: #161617;
  --bg-card: #2d2d2f;
  --bg-hover: #3a3a3c;
  --bg-player: rgba(16, 16, 17, 0.90);
  --bg-glass: rgba(30, 30, 31, 0.80);
  --accent: #007aff;
  --accent-dim: rgba(0, 122, 255, 0.15);
  --accent-glow: rgba(0, 122, 255, 0.35);
  --text-primary: #f5f5f7;
  --text-secondary: #c7c7cc;
  --text-muted: #8e8e93;
  --border: #3a3a3c;
  --border-subtle: #2d2d2f;
  --positive: #30d158;
  --warning: #ff9f0a;
  --danger: #ff453a;

  --shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.55), 0 2px 8px rgba(0, 0, 0, 0.30);
}

[data-theme='cupertino-dark'] .app-shell {
  background: #1e1e1f;
}

[data-theme='cupertino-dark'] .sidebar {
  background: rgba(22, 22, 23, 0.90);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border-right: 1px solid rgba(255, 255, 255, 0.06);
}

[data-theme='cupertino-dark'] .player-bar {
  background: rgba(16, 16, 17, 0.90);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

[data-theme='cupertino-dark'] .player-btn:hover {
  color: #007aff;
  background: rgba(0, 122, 255, 0.12);
}

[data-theme='cupertino-dark'] .player-btn-primary {
  color: #ffffff;
  background: #007aff;
  box-shadow: 0 2px 8px rgba(0, 122, 255, 0.40);
}

[data-theme='cupertino-dark'] .player-btn-primary:hover {
  background: #0a84ff;
  box-shadow: 0 4px 14px rgba(0, 122, 255, 0.50);
}

/* Nav links */
[data-theme='cupertino-dark'] .nav-link.active {
  background: #007aff;
  color: #ffffff;
  border-left-color: transparent;
  border-radius: 8px;
}

[data-theme='cupertino-dark'] .nav-link.active::before {
  display: none;
}

[data-theme='cupertino-dark'] .nav-link-nowplaying {
  color: #409cff;
  font-weight: 600;
}

/* Queue active */
[data-theme='cupertino-dark'] .queue-item.active {
  background: rgba(0, 122, 255, 0.15);
  color: #007aff;
}

/* NowPlaying overrides */
[data-theme='cupertino-dark'] .np-queue-item-active {
  color: #007aff;
}

[data-theme='cupertino-dark'] .np-album-track.active .np-album-track-title,
[data-theme='cupertino-dark'] .np-album-track.active .np-album-track-num {
  color: #007aff;
}

/* ─── Neon Drift ─── */
[data-theme='neon-drift'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2300f2ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #080916;
  --ctp-mantle: #0d0e21;
  --ctp-base: #12132c;
  --ctp-surface0: #1a1b3b;
  --ctp-surface1: #242650;
  --ctp-surface2: #2f3166;
  --ctp-overlay0: #51548a;
  --ctp-overlay1: #7277ad;
  --ctp-overlay2: #9299cf;
  --ctp-text: #e0e2ff;
  --ctp-subtext1: #aeb3e0;
  --ctp-subtext0: #8b91c4;
  --ctp-mauve: #00f2ff;
  --ctp-lavender: #7000ff;
  --ctp-green: #00ffa3;
  --ctp-teal: #00d4cc;
  --ctp-sky: #00c8ff;
  --ctp-blue: #0077ff;
  --ctp-sapphire: #0055cc;
  --ctp-pink: #ff00cc;
  --ctp-flamingo: #ff44aa;
  --ctp-rosewater: #ffaadd;
  --ctp-yellow: #ffe600;
  --ctp-peach: #ff9900;
  --ctp-maroon: #cc2244;
  --ctp-red: #ff2d55;

  --bg-app: #12132c;
  --bg-sidebar: #0d0e21;
  --bg-card: #1a1b3b;
  --bg-hover: #242650;
  --bg-player: #080916;
  --bg-glass: rgba(13, 14, 33, 0.85);
  --accent: #00f2ff;
  --accent-dim: rgba(0, 242, 255, 0.12);
  --accent-glow: rgba(0, 242, 255, 0.40);
  --text-primary: #e0e2ff;
  --text-secondary: #aeb3e0;
  --text-muted: #7277ad;
  --border: #2f3166;
  --border-subtle: #242650;
  --positive: #00ffa3;
  --warning: #ffe600;
  --danger: #ff2d55;

  --radius-md: 8px;
  --radius-lg: 12px;
}

[data-theme='neon-drift'] .player-bar {
  border-top: 1px solid rgba(0, 242, 255, 0.20);
  box-shadow: 0 -10px 30px -15px rgba(0, 242, 255, 0.15);
}

[data-theme='neon-drift'] .player-track-name {
  color: #00f2ff;
  text-shadow: 0 0 12px rgba(0, 242, 255, 0.30);
  font-weight: 600;
}

[data-theme='neon-drift'] .nav-link.active {
  color: #00f2ff;
  text-shadow: 0 0 8px rgba(0, 242, 255, 0.50);
}

[data-theme='neon-drift'] .nav-link.active::before {
  box-shadow: 0 0 10px #00f2ff;
}

[data-theme='neon-drift'] .btn-primary {
  background: linear-gradient(135deg, #00f2ff, #0077ff);
  border: none;
  color: #080916 !important;
  box-shadow: 0 4px 15px rgba(0, 242, 255, 0.30);
}

[data-theme='neon-drift'] input[type="range"]::-webkit-slider-thumb {
  background: white;
  box-shadow: 0 0 10px #00f2ff;
}

/* ─── Font overrides ─── */
[data-font='outfit'] {
  --font-sans: 'Outfit', system-ui, sans-serif;
  --font-display: 'Outfit', sans-serif;
}

[data-font='dm-sans'] {
  --font-sans: 'DM Sans', system-ui, sans-serif;
  --font-display: 'DM Sans', sans-serif;
}

[data-font='nunito'] {
  --font-sans: 'Nunito', system-ui, sans-serif;
  --font-display: 'Nunito', sans-serif;
}

[data-font='rubik'] {
  --font-sans: 'Rubik', system-ui, sans-serif;
  --font-display: 'Rubik', sans-serif;
}

[data-font='space-grotesk'] {
  --font-sans: 'Space Grotesk', system-ui, sans-serif;
  --font-display: 'Space Grotesk', sans-serif;
}

[data-font='figtree'] {
  --font-sans: 'Figtree', system-ui, sans-serif;
  --font-display: 'Figtree', sans-serif;
}

[data-font='manrope'] {
  --font-sans: 'Manrope', system-ui, sans-serif;
  --font-display: 'Manrope', sans-serif;
}

[data-font='plus-jakarta-sans'] {
  --font-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-display: 'Plus Jakarta Sans', sans-serif;
}

[data-font='lexend'] {
  --font-sans: 'Lexend', system-ui, sans-serif;
  --font-display: 'Lexend', sans-serif;
}

/* ─── Equalizer bars animation ─── */
.eq-bar {
  display: inline-block;
  width: 3px;
  background: var(--accent);
  border-radius: 2px;
  transform-origin: bottom;
}

.eq-bar:nth-child(1) {
  animation: wave 0.8s ease-in-out 0.0s infinite;
}

.eq-bar:nth-child(2) {
  animation: wave 0.8s ease-in-out 0.15s infinite;
}

.eq-bar:nth-child(3) {
  animation: wave 0.8s ease-in-out 0.3s infinite;
}

.eq-bar:nth-child(4) {
  animation: wave 0.8s ease-in-out 0.45s infinite;
}

/* ─────────────────────────────────────────────────────────────
   Middle Earth — Epic Fantasy / Cinematic
   ───────────────────────────────────────────────────────────── */

/* ─────────────────────────────────────────────────────────────
   Middle-Earth — The One Ring Inscription Glow
   ───────────────────────────────────────────────────────────── */

/* Breathing glow of the Ring — applied to player-track-name.
   Like the inscription heating up in Bag End's fireplace.      */
@keyframes ring-inscription-glow {

  0%,
  100% {
    text-shadow:
      0 0 8px rgba(240, 200, 60, 0.70),
      0 0 18px rgba(200, 140, 20, 0.38),
      0 0 36px rgba(160, 100, 10, 0.15);
  }

  50% {
    text-shadow:
      0 0 12px rgba(240, 200, 60, 0.95),
      0 0 28px rgba(200, 140, 20, 0.65),
      0 0 52px rgba(160, 100, 10, 0.32),
      0 0 80px rgba(100, 60, 5, 0.14);
  }
}

/* ─── Middle-Earth — Red Book of Westmarch ─── */
[data-theme='middle-earth'] {
  color-scheme: light;
  --color-star-active: #8c6800;
  --color-star-inactive: #b8985a;

  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%234a3728%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  /* Warm — Shire, Rohan, Dwarvish gold */
  --ctp-crust: #1a1008;
  --ctp-mantle: #281808;
  --ctp-base: #f0e0b0;
  --ctp-surface0: #e8d498;
  --ctp-surface1: #dcc482;
  --ctp-surface2: #ccb06e;
  --ctp-overlay0: #8a7250;
  --ctp-overlay1: #6a5438;
  --ctp-overlay2: #4a3828;
  --ctp-text: #1e1408;
  --ctp-subtext1: #3e2c1a;
  --ctp-subtext0: #5e4a30;
  /* Gold of the One Ring */
  --ctp-mauve: #d4a820;
  --ctp-lavender: #f0d060;
  --ctp-yellow: #f8e880;
  --ctp-peach: #b88010;
  /* Shire green, Rivendell silver, Elvish blue */
  --ctp-green: #4a7038;
  --ctp-teal: #3a6858;
  --ctp-sky: #7898b8;
  --ctp-blue: #486888;
  --ctp-sapphire: #2a4868;
  /* Mordor / danger */
  --ctp-red: #8a2820;
  --ctp-maroon: #5a1818;
  --ctp-flamingo: #b05838;
  --ctp-pink: #904868;
  --ctp-rosewater: #e8c8a8;

  /* ── Semantic tokens ── */
  --bg-app: #f0e0b0;
  --bg-sidebar: #241a0e;
  /* Bag End — old oak wood, hearthlit */
  --bg-card: #f4e8c0;
  --bg-hover: rgba(180, 130, 20, 0.12);
  --bg-player: #1a1008;
  /* Orodruin / the forge-dark */
  --bg-glass: rgba(244, 232, 192, 0.92);
  --accent: #d4a820;
  --accent-dim: rgba(212, 168, 32, 0.16);
  --accent-glow: rgba(212, 168, 32, 0.45);
  --volume-accent: #d4a820;
  --text-primary: #1e1408;
  --text-secondary: #3e2c1a;
  --text-muted: #6a5230;
  --border: rgba(180, 140, 50, 0.38);
  --border-subtle: rgba(180, 140, 50, 0.18);
  --positive: #4a7038;
  --warning: #c88a10;
  --danger: #8a2820;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
}

/* ── App shell: parchment map of Middle-Earth ── */
/* Three-layer: warm gold illumination top-right (candlelight),
   ember glow bottom-left (hearth), radial vignette darkening corners */
[data-theme='middle-earth'] .app-shell {
  background:
    radial-gradient(ellipse at center, transparent 50%, rgba(60, 38, 18, 0.12) 100%),
    radial-gradient(ellipse at 78% 18%, rgba(220, 180, 60, 0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 15% 88%, rgba(180, 110, 20, 0.07) 0%, transparent 45%),
    linear-gradient(155deg, #f4e8c0 0%, #eed8a0 50%, #e8d098 100%);
}

/* Parchment grain overlay — the texture of the Red Book's pages */
[data-theme='middle-earth'] .app-shell::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.045;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}

/* ── Sidebar: Bag End oak paneling ── */
/* Old Shire craftsmanship — vertical wood grain, warm hearthlight from right edge */
[data-theme='middle-earth'] .sidebar {
  background-color: #221608;
  background-image:
    repeating-linear-gradient(90deg,
      rgba(255, 220, 120, 0.04) 0px, rgba(255, 220, 120, 0.04) 1px,
      transparent 1px, transparent 14px),
    linear-gradient(180deg, #261a0a 0%, #1e1408 55%, #241c0e 100%);
  border-right: 2px solid rgba(200, 160, 40, 0.28);
  box-shadow:
    inset -3px 0 12px rgba(200, 140, 30, 0.10),
    2px 0 8px rgba(0, 0, 0, 0.50);
}

/* Sidebar text: warm candlelight on dark oak */
[data-theme='middle-earth'] .nav-link {
  color: #c8a060;
}

[data-theme='middle-earth'] .nav-link:hover {
  background: rgba(212, 168, 32, 0.12);
  color: #f0d880;
}

[data-theme='middle-earth'] .nav-link.active {
  background: linear-gradient(90deg, rgba(212, 168, 32, 0.22) 0%, transparent 100%);
  color: #f0d060;
  border-left: 2px solid #d4a820;
  box-shadow: inset 4px 0 18px rgba(212, 168, 32, 0.12);
}

[data-theme='middle-earth'] .nav-link.active::before {
  background: #d4a820;
  box-shadow: 0 0 10px rgba(212, 168, 32, 0.80), 0 0 20px rgba(212, 168, 32, 0.40);
}

[data-theme='middle-earth'] .nav-link.active svg {
  color: #d4a820;
}

[data-theme='middle-earth'] .nav-section-label {
  color: #6a5030;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.67em;
  font-family: Georgia, 'Book Antiqua', serif;
}

/* ── Player bar: Sammath Naur — the fires of Orodruin ── */
/* Near-black volcanic dark, sealed with the gold of the Ring */
[data-theme='middle-earth'] .player-bar {
  background: linear-gradient(180deg, #1c1208 0%, #100c04 100%);
  border-top: 2px solid rgba(212, 168, 32, 0.58);
  box-shadow:
    inset 0 1px 0 rgba(240, 200, 60, 0.22),
    0 -8px 40px rgba(180, 120, 20, 0.20),
    0 -20px 70px rgba(160, 100, 15, 0.09);
}

/* Track name: THE ONE RING INSCRIPTION — breathing gold fire */
[data-theme='middle-earth'] .player-track-name {
  color: #f0d060;
  font-family: Georgia, 'Book Antiqua', 'Palatino Linotype', Palatino, serif;
  letter-spacing: 0.06em;
  font-weight: 600;
  animation: ring-inscription-glow 5s ease-in-out infinite;
}

/* Artist: Elvish silver on the dark forge */
[data-theme='middle-earth'] .player-track-artist {
  color: #b8985a;
  font-family: Georgia, 'Book Antiqua', serif;
  letter-spacing: 0.03em;
  opacity: 1;
}

[data-theme='middle-earth'] .player-time {
  color: #7a5c30;
}

/* ── Transport buttons: Mithril-crafted, hearthlit ── */
[data-theme='middle-earth'] .player-btn,
[data-theme='middle-earth'] .player-btn-primary {
  background: linear-gradient(180deg, #2e2010 0%, #1e1408 100%);
  color: #d4a820;
  border: 1px solid rgba(212, 168, 32, 0.38);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgba(240, 200, 60, 0.10), 0 2px 6px rgba(0, 0, 0, 0.60);
}

[data-theme='middle-earth'] .player-btn:hover,
[data-theme='middle-earth'] .player-btn-primary:hover {
  background: rgba(212, 168, 32, 0.14);
  border-color: #d4a820;
  color: #f0d060;
  box-shadow:
    0 0 16px rgba(212, 168, 32, 0.48),
    inset 0 0 8px rgba(200, 140, 20, 0.10);
}

/* ── Regular buttons: parchment scroll / carved Shire wood ── */
[data-theme='middle-earth'] .btn,
[data-theme='middle-earth'] .btn-surface,
[data-theme='middle-earth'] .btn-ghost {
  background: linear-gradient(180deg, #f8f0d0 0%, #e8d898 50%, #dece88 100%);
  color: #2a1c0e;
  border: 1px solid rgba(160, 120, 40, 0.48);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    inset 1px 0 0 rgba(255, 255, 255, 0.45),
    0 1px 3px rgba(80, 50, 10, 0.22);
  border-radius: 6px;
  font-family: Georgia, 'Book Antiqua', serif;
}

[data-theme='middle-earth'] .btn:hover,
[data-theme='middle-earth'] .btn-surface:hover,
[data-theme='middle-earth'] .btn-ghost:hover {
  background: linear-gradient(180deg, #fffff0 0%, #f0e8a8 50%, #e8d890 100%);
  border-color: rgba(180, 140, 40, 0.70);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.80),
    0 1px 4px rgba(80, 50, 10, 0.20),
    0 0 8px rgba(212, 168, 32, 0.18);
}

/* ── Primary button: One Ring gold — the most precious craftsmanship ── */
[data-theme='middle-earth'] .btn-primary {
  background: linear-gradient(180deg, #e8bc28 0%, #c8940c 50%, #aa7808 100%);
  color: #1a1008;
  border: 1px solid #c89818;
  box-shadow:
    inset 0 1px 0 rgba(255, 240, 100, 0.45),
    0 0 16px rgba(212, 168, 32, 0.42),
    0 2px 4px rgba(80, 50, 0, 0.30);
  border-radius: 6px;
  font-weight: 700;
  font-family: Georgia, 'Book Antiqua', serif;
}

[data-theme='middle-earth'] .btn-primary:hover {
  background: linear-gradient(180deg, #f8cc38 0%, #d8a018 50%, #bc8810 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 240, 100, 0.55),
    0 0 24px rgba(212, 168, 32, 0.60),
    0 2px 6px rgba(80, 50, 0, 0.28);
}

/* ── Hero / album-card play buttons: solid One Ring gold ── */
/* These appear on dark album-art overlays — must be fully opaque and prominent */
[data-theme='middle-earth'] .hero-play-btn,
[data-theme='middle-earth'] .album-card-details-btn {
  background: linear-gradient(180deg, #e8bc28 0%, #c8940c 50%, #aa7808 100%);
  color: #1a1008;
  border: 1px solid #c89818;
  font-family: Georgia, 'Book Antiqua', serif;
  font-weight: 700;
  box-shadow:
    inset 0 1px 0 rgba(255, 240, 100, 0.45),
    0 0 14px rgba(212, 168, 32, 0.38),
    0 2px 6px rgba(0, 0, 0, 0.40);
}

[data-theme='middle-earth'] .hero-play-btn:hover,
[data-theme='middle-earth'] .album-card-details-btn:hover {
  background: linear-gradient(180deg, #f8cc38 0%, #d8a018 50%, #bc8810 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 240, 100, 0.55),
    0 0 22px rgba(212, 168, 32, 0.58),
    0 2px 8px rgba(0, 0, 0, 0.35);
  filter: none;
}

/* ── Queue round buttons ── */
[data-theme='middle-earth'] .queue-round-btn {
  background: linear-gradient(180deg, #f0e4b0 0%, #dece88 100%);
  color: #4a3828;
  border: 1px solid rgba(150, 112, 38, 0.40);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 1px 2px rgba(80, 50, 10, 0.18);
}

[data-theme='middle-earth'] .queue-round-btn:hover:not(:disabled):not(.active) {
  background: linear-gradient(180deg, #fffff0 0%, #f0e4a0 100%);
  border-color: rgba(180, 140, 40, 0.60);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.70), 0 0 8px rgba(212, 168, 32, 0.22);
  color: #2a1c0e;
}

[data-theme='middle-earth'] .queue-round-btn.active {
  background: linear-gradient(180deg, #e8bc28 0%, #c8940c 100%);
  color: #1a1008;
  border-color: #c89818;
  box-shadow: 0 0 14px rgba(212, 168, 32, 0.45), inset 0 1px 0 rgba(255, 240, 100, 0.35);
}

/* ── Cards: leaves of the Red Book — layered parchment ── */
[data-theme='middle-earth'] .card {
  background: linear-gradient(180deg, #f8f0d0 0%, #f0e4b8 100%);
  border: 1px solid rgba(168, 130, 48, 0.32);
  border-radius: 10px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.70),
    0 2px 8px rgba(80, 50, 10, 0.16),
    0 4px 16px rgba(60, 38, 10, 0.08);
}

/* ── Content header: illuminated manuscript chapter heading ── */
/* The gold ruled border at the bottom is the decorative line
   that separates the chapter title from the body of the text  */
[data-theme='middle-earth'] .content-header {
  position: relative;
  background: linear-gradient(180deg, #f8f0d0 0%, #f0e4b8 100%);
  border-bottom: 2px solid rgba(200, 158, 38, 0.45);
  box-shadow: 0 3px 14px rgba(120, 80, 15, 0.12);
}

/* The gold rule — fades at edges like gold leaf on vellum */
[data-theme='middle-earth'] .content-header::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(212, 168, 32, 0.65) 20%,
      rgba(240, 210, 60, 0.85) 50%, rgba(212, 168, 32, 0.65) 80%, transparent 100%);
  pointer-events: none;
}

/* Connection indicators */
[data-theme='middle-earth'] .connection-type,
[data-theme='middle-earth'] .connection-server {
  color: #5a4828;
}

/* ── Theme accordion: old book binding ── */
[data-theme='middle-earth'] .theme-accordion-header:hover {
  background: rgba(212, 168, 32, 0.12);
  color: #6a4820;
}

[data-theme='middle-earth'] .theme-accordion-open .theme-accordion-header {
  background: rgba(212, 168, 32, 0.16);
  color: #5a3818;
}

[data-theme='middle-earth'] .theme-accordion-open .theme-accordion-chevron {
  color: #c89818;
}

/* ── Progress bar: THE ROAD GOES EVER ON ── */
/* From darkness into gold light — the long journey from the Shire to Mount Doom */
[data-theme='middle-earth'] .progress-bar-track {
  background: #d8c880;
  border: 1px solid rgba(160, 120, 38, 0.40);
  border-radius: 4px;
  box-shadow: inset 0 1px 3px rgba(80, 50, 10, 0.20);
}

[data-theme='middle-earth'] .progress-bar-fill {
  background: linear-gradient(90deg,
      #5a3802 0%,
      #9a6808 25%,
      #c89018 55%,
      #d4a820 75%,
      #f0d060 90%,
      #fff0a0 100%);
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(212, 168, 32, 0.65), 0 0 3px rgba(255, 230, 100, 0.55);
}

/* ── Scrollbar: aged oak library shelves ── */
[data-theme='middle-earth'] ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

[data-theme='middle-earth'] ::-webkit-scrollbar-track {
  background: #dcc880;
  border-radius: 4px;
}

[data-theme='middle-earth'] ::-webkit-scrollbar-thumb {
  background: linear-gradient(to right, #6e4a28 0%, #9a7040 40%, #6a4420 100%);
  border: 1px solid rgba(180, 130, 40, 0.45);
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255, 220, 100, 0.25);
}

[data-theme='middle-earth'] ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to right, #8a6038 0%, #b88a50 40%, #8a5a30 100%);
  box-shadow: inset 0 1px 0 rgba(255, 220, 100, 0.35), 0 0 5px rgba(212, 168, 32, 0.28);
}

/* ── Glass / dropdowns: a scroll held to the light ── */
[data-theme='middle-earth'] .glass {
  background: rgba(248, 238, 198, 0.96) !important;
  backdrop-filter: none !important;
  border: 1px solid rgba(180, 140, 48, 0.45) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.70),
    0 4px 20px rgba(80, 50, 10, 0.20),
    0 8px 30px rgba(60, 38, 10, 0.10) !important;
  border-radius: 10px !important;
}

[data-theme='middle-earth'] .glass [style*="var(--bg-hover)"] {
  background: rgba(212, 168, 32, 0.12) !important;
  border-radius: 6px !important;
}

[data-theme='middle-earth'] .glass [style*="var(--text-primary)"] {
  color: #1e1408 !important;
}

[data-theme='middle-earth'] .glass [style*="var(--text-secondary)"] {
  color: #3e2c1a !important;
}

[data-theme='middle-earth'] .glass [style*="var(--text-muted)"] {
  color: #8a7250 !important;
}

/* ── Hover / selection: candlelight — warm gold glow ── */
[data-theme='middle-earth'] .settings-tab:hover {
  background: rgba(212, 168, 32, 0.12);
  color: #2a1c0e;
}

[data-theme='middle-earth'] .settings-tab.active {
  background: rgba(212, 168, 32, 0.18);
  color: #2a1c0e;
  box-shadow: inset 2px 0 0 #d4a820;
}

[data-theme='middle-earth'] .custom-select-trigger:hover {
  background: rgba(212, 168, 32, 0.10);
}

[data-theme='middle-earth'] .custom-select-option:hover {
  background: rgba(212, 168, 32, 0.15) !important;
  color: #1e1408 !important;
}

[data-theme='middle-earth'] .artist-ext-link:hover {
  background: rgba(212, 168, 32, 0.12);
  color: #2a1c0e !important;
  border-color: rgba(180, 140, 40, 0.55) !important;
}

[data-theme='middle-earth'] .np-action-btn:hover {
  background: rgba(212, 168, 32, 0.10);
}

[data-theme='middle-earth'] .np-queue-item:hover,
[data-theme='middle-earth'] .np-queue-item.context-active {
  background: rgba(212, 168, 32, 0.13);
  box-shadow: inset 2px 0 0 #d4a820;
}

[data-theme='middle-earth'] .track-row:hover,
[data-theme='middle-earth'] .track-row.context-active {
  background: rgba(212, 168, 32, 0.10) !important;
  box-shadow: inset 2px 0 0 #d4a820;
}

[data-theme='middle-earth'] .artist-row:hover {
  background: rgba(212, 168, 32, 0.10);
  box-shadow: inset 2px 0 0 #d4a820;
}

[data-theme='middle-earth'] .playlist-row:hover {
  background: rgba(212, 168, 32, 0.10);
  box-shadow: inset 2px 0 0 #d4a820;
}

[data-theme='middle-earth'] .queue-item:hover,
[data-theme='middle-earth'] .queue-item.context-active {
  background: rgba(212, 168, 32, 0.12) !important;
  box-shadow: inset 2px 0 0 #d4a820;
}

/* ── Active queue / now-playing: the bearer of the Ring ── */
[data-theme='middle-earth'] .queue-item.active {
  background: rgba(212, 168, 32, 0.14);
  box-shadow: inset 2px 0 0 #d4a820;
}

[data-theme='middle-earth'] .queue-item.active .queue-item-title {
  color: #f8e060;
}

[data-theme='middle-earth'] .queue-item.active .queue-item-artist,
[data-theme='middle-earth'] .queue-item.active .queue-item-duration {
  color: #c8a060;
}

[data-theme='middle-earth'] .np-queue-item-active {
  color: #2a1c0e;
  text-shadow: 0 0 6px rgba(212, 168, 32, 0.40);
}

[data-theme='middle-earth'] .np-queue-item.active {
  background: rgba(212, 168, 32, 0.10);
}

[data-theme='middle-earth'] .np-album-track.active .np-album-track-title,
[data-theme='middle-earth'] .np-album-track.active .np-album-track-num {
  color: #2a1c0e;
  text-shadow: 0 0 6px rgba(212, 168, 32, 0.38);
}

/* ── Queue tech bar: dark text on light parchment ── */
[data-theme='middle-earth'] .queue-current-tech {
  color: #3e2808;
}

/* ── Queue + Lyrics on dark sidebar ── */
[data-theme='middle-earth'] .queue-current-info h3 {
  color: #f0d880;
}

[data-theme='middle-earth'] .queue-current-sub {
  color: #d4a820;
}

[data-theme='middle-earth'] .queue-item-title {
  color: #f0d880;
}

[data-theme='middle-earth'] .queue-item-artist {
  color: #c8a060;
}

[data-theme='middle-earth'] .queue-item-duration {
  color: #8a6838;
}

[data-theme='middle-earth'] .queue-tab-btn {
  color: #c8a060;
  font-family: Georgia, serif;
}

[data-theme='middle-earth'] .queue-tab-btn:hover {
  color: #f0d880;
  background: rgba(212, 168, 32, 0.10);
}

[data-theme='middle-earth'] .queue-tab-btn.active {
  color: #d4a820;
}

[data-theme='middle-earth'] .lyrics-line {
  color: #8a6840;
}

[data-theme='middle-earth'] .lyrics-line.active {
  color: #f0d880;
  text-shadow: 0 0 6px rgba(212, 168, 32, 0.35);
}

[data-theme='middle-earth'] .lyrics-plain-line {
  color: #c8a060;
}

[data-theme='middle-earth'] .lyrics-status {
  color: #7a5a30;
}

/* ─────────────────────────────────────────────────────────────
   Morpheus — Matrix Style
   ───────────────────────────────────────────────────────────── */

/* ─── The Matrix — Morpheus ─── */
[data-theme='morpheus'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2300ff41%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #000000;
  --ctp-mantle: #020502;
  --ctp-base: #050905;
  --ctp-surface0: #0a120a;
  --ctp-surface1: #0f1c0f;
  --ctp-surface2: #162416;
  --ctp-overlay0: #003b00;
  --ctp-overlay1: #008f11;
  --ctp-overlay2: #00cc33;
  --ctp-text: #00ff41;
  --ctp-subtext1: #00cc33;
  --ctp-subtext0: #008f11;
  --ctp-mauve: #00ff41;
  --ctp-lavender: #adff2f;
  --ctp-green: #00ff41;
  --ctp-teal: #20c20e;
  --ctp-sky: #00ff41;
  --ctp-blue: #00ff41;
  --ctp-sapphire: #008f11;
  --ctp-pink: #003b00;
  --ctp-flamingo: #003b00;
  --ctp-rosewater: #d2ff00;
  --ctp-yellow: #adff2f;
  --ctp-peach: #00ff41;
  --ctp-maroon: #003b00;
  --ctp-red: #ff0033;

  /* ── Semantic tokens ── */
  --bg-app: #050905;
  --bg-sidebar: #000000;
  --bg-card: #0a120a;
  --bg-hover: rgba(0, 255, 65, 0.10);
  --bg-player: #000000;
  --bg-glass: rgba(0, 8, 0, 0.96);
  --accent: #00ff41;
  --accent-dim: rgba(0, 255, 65, 0.12);
  --accent-glow: rgba(0, 255, 65, 0.45);
  --volume-accent: #00ff41;
  --text-primary: #00ff41;
  --text-secondary: #00cc33;
  --text-muted: #22cc44;
  --border: #003b00;
  --border-subtle: #001a00;
  --positive: #00ff41;
  --warning: #adff2f;
  --danger: #ff0033;
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 2px;
}

/* ── App shell: solid dark base (scanlines moved to sidebar for perf) ── */
[data-theme='morpheus'] .app-shell {
  background-color: #050905;
}

/* ── Sidebar: black with code-column ghost pattern ── */
[data-theme='morpheus'] .sidebar {
  background-color: #000000;
  background-image: repeating-linear-gradient(90deg, transparent 0px, transparent 19px,
      rgba(0, 255, 65, 0.03) 19px, rgba(0, 255, 65, 0.03) 20px);
  border-right: 1px solid #003b00;
}

/* Nav links */
[data-theme='morpheus'] .nav-link {
  color: #00cc33;
}

[data-theme='morpheus'] .nav-link:hover {
  background: rgba(0, 255, 65, 0.08);
  color: #00ff41;
  text-shadow: 0 0 8px rgba(0, 255, 65, 0.50);
}

[data-theme='morpheus'] .nav-link.active {
  background: rgba(0, 255, 65, 0.10);
  color: #00ff41;
  text-shadow: 0 0 6px rgba(0, 255, 65, 0.45);
}

[data-theme='morpheus'] .nav-link.active::before {
  background: #00ff41;
  box-shadow: 0 0 8px rgba(0, 255, 65, 0.70);
}

[data-theme='morpheus'] .nav-section-label {
  color: #003b00;
}

/* ── Player bar: black glass with phosphor glow ── */
[data-theme='morpheus'] .player-bar {
  background: #000000;
  border-top: 1px solid rgba(0, 255, 65, 0.35);
  box-shadow:
    inset 0 1px 0 rgba(0, 255, 65, 0.12),
    0 -4px 24px rgba(0, 255, 65, 0.06);
}

/* Track info: phosphor CRT glow */
[data-theme='morpheus'] .player-track-name {
  font-family: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;
  color: #00ff41;
  text-shadow: 0 0 10px rgba(0, 255, 65, 0.70), 0 0 20px rgba(0, 255, 65, 0.30);
  letter-spacing: 0.04em;
}

[data-theme='morpheus'] .player-track-artist,
[data-theme='morpheus'] .player-time {
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  color: #00cc33;
  opacity: 0.85;
}

/* ── Transport buttons: terminal command style ── */
[data-theme='morpheus'] .player-btn,
[data-theme='morpheus'] .player-btn-primary {
  background: #000000;
  color: #00ff41;
  border: 1px solid #003b00;
  border-radius: 2px;
  box-shadow: inset 0 0 6px rgba(0, 255, 65, 0.05);
}

[data-theme='morpheus'] .player-btn:hover,
[data-theme='morpheus'] .player-btn-primary:hover {
  background: rgba(0, 255, 65, 0.08);
  border-color: #00ff41;
  box-shadow:
    0 0 12px rgba(0, 255, 65, 0.35),
    inset 0 0 8px rgba(0, 255, 65, 0.08);
  color: #00ff41;
}

/* ── All buttons: terminal style ── */
[data-theme='morpheus'] .btn,
[data-theme='morpheus'] .btn-surface,
[data-theme='morpheus'] .btn-ghost,
[data-theme='morpheus'] .btn-primary,
[data-theme='morpheus'] .hero-play-btn,
[data-theme='morpheus'] .album-card-details-btn,
[data-theme='morpheus'] .queue-round-btn {
  background: #000000;
  color: #00ff41;
  border: 1px solid #003b00;
  border-radius: 0;
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  box-shadow: none;
}

[data-theme='morpheus'] .btn:hover,
[data-theme='morpheus'] .btn-surface:hover,
[data-theme='morpheus'] .btn-ghost:hover,
[data-theme='morpheus'] .btn-primary:hover,
[data-theme='morpheus'] .hero-play-btn:hover,
[data-theme='morpheus'] .album-card-details-btn:hover {
  background: rgba(0, 255, 65, 0.08);
  border-color: #00ff41;
  color: #00ff41;
  box-shadow: 0 0 10px rgba(0, 255, 65, 0.28), inset 0 0 8px rgba(0, 255, 65, 0.05);
}

[data-theme='morpheus'] .btn-primary {
  border-color: #00cc33;
  box-shadow: 0 0 8px rgba(0, 255, 65, 0.20);
}

[data-theme='morpheus'] .btn-primary:hover {
  border-color: #00ff41;
  box-shadow: 0 0 16px rgba(0, 255, 65, 0.45), inset 0 0 10px rgba(0, 255, 65, 0.08);
}

/* Queue round button active: bright green */
[data-theme='morpheus'] .queue-round-btn:hover:not(:disabled):not(.active) {
  background: rgba(0, 255, 65, 0.08);
  border-color: #00ff41;
  color: #00ff41;
  box-shadow: 0 0 10px rgba(0, 255, 65, 0.28);
}

[data-theme='morpheus'] .queue-round-btn.active {
  background: rgba(0, 255, 65, 0.15);
  border-color: #00ff41;
  color: #00ff41;
  box-shadow: 0 0 12px rgba(0, 255, 65, 0.40), inset 0 0 8px rgba(0, 255, 65, 0.08);
}

/* ── Cards: dark terminal panels ── */
[data-theme='morpheus'] .card {
  background: #0a120a;
  border: 1px solid #003b00;
  border-radius: 0;
  box-shadow: inset 0 0 24px rgba(0, 255, 65, 0.02), 0 0 12px rgba(0, 0, 0, 0.60);
}

/* ── Content header: terminal prompt bar ── */
[data-theme='morpheus'] .content-header {
  background: #000000;
  border-bottom: 1px solid rgba(0, 255, 65, 0.25);
  box-shadow: 0 2px 16px rgba(0, 255, 65, 0.04);
}

/* ── Theme accordion: terminal hover ── */
[data-theme='morpheus'] .theme-accordion-header:hover {
  background: rgba(0, 255, 65, 0.08);
  color: #00ff41;
  text-shadow: 0 0 6px rgba(0, 255, 65, 0.40);
}

[data-theme='morpheus'] .theme-accordion-open .theme-accordion-header {
  background: rgba(0, 255, 65, 0.10);
  color: #00ff41;
}

[data-theme='morpheus'] .theme-accordion-open .theme-accordion-chevron {
  color: #00ff41;
}

/* ── Progress bar: terminal loading bar ── */
[data-theme='morpheus'] .progress-bar-track {
  background: #001a00;
  border: 1px solid #003b00;
  border-radius: 0;
}

[data-theme='morpheus'] .progress-bar-fill {
  background: #00ff41;
  border-radius: 0;
  box-shadow: 0 0 8px rgba(0, 255, 65, 0.60), 0 0 2px rgba(0, 255, 65, 1);
}

/* ── Scrollbar: CRT terminal style ── */
[data-theme='morpheus'] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

[data-theme='morpheus'] ::-webkit-scrollbar-track {
  background: #000000;
}

[data-theme='morpheus'] ::-webkit-scrollbar-thumb {
  background: #003b00;
  border: 1px solid rgba(0, 255, 65, 0.30);
}

[data-theme='morpheus'] ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 255, 65, 0.25);
  box-shadow: 0 0 6px rgba(0, 255, 65, 0.40);
}

/* ── Glass / dropdowns: black terminal window ── */
[data-theme='morpheus'] .glass {
  background: rgba(0, 8, 0, 0.97) !important;
  backdrop-filter: none !important;
  border: 1px solid rgba(0, 255, 65, 0.28) !important;
  box-shadow:
    0 0 20px rgba(0, 255, 65, 0.08),
    inset 0 0 16px rgba(0, 255, 65, 0.02) !important;
  border-radius: 0 !important;
}

[data-theme='morpheus'] .glass [style*="var(--bg-hover)"] {
  background: rgba(0, 255, 65, 0.10) !important;
  border-radius: 0 !important;
}

[data-theme='morpheus'] .glass [style*="var(--text-primary)"] {
  color: #00ff41 !important;
}

[data-theme='morpheus'] .glass [style*="var(--text-secondary)"] {
  color: #00cc33 !important;
}

[data-theme='morpheus'] .glass [style*="var(--text-muted)"] {
  color: #006b10 !important;
}

/* ── Hover / selection: phosphor glow highlight ── */
[data-theme='morpheus'] .queue-tab-btn:hover {
  background: rgba(0, 255, 65, 0.08);
  color: #00ff41;
  text-shadow: 0 0 6px rgba(0, 255, 65, 0.40);
}

[data-theme='morpheus'] .settings-tab:hover {
  background: rgba(0, 255, 65, 0.08);
  color: #00ff41;
}

[data-theme='morpheus'] .settings-tab.active {
  background: rgba(0, 255, 65, 0.12);
  color: #00ff41;
  box-shadow: inset 2px 0 0 #00ff41;
}

[data-theme='morpheus'] .custom-select-trigger:hover {
  background: rgba(0, 255, 65, 0.08);
}

[data-theme='morpheus'] .custom-select-option:hover {
  background: rgba(0, 255, 65, 0.12) !important;
  color: #00ff41 !important;
  text-shadow: 0 0 6px rgba(0, 255, 65, 0.40) !important;
}

[data-theme='morpheus'] .artist-ext-link:hover {
  background: rgba(0, 255, 65, 0.10);
  color: #00ff41 !important;
  border-color: #00ff41 !important;
  text-shadow: 0 0 6px rgba(0, 255, 65, 0.40);
}

[data-theme='morpheus'] .np-action-btn:hover {
  background: rgba(0, 255, 65, 0.08);
}

[data-theme='morpheus'] .np-queue-item:hover,
[data-theme='morpheus'] .np-queue-item.context-active {
  background: rgba(0, 255, 65, 0.10);
  box-shadow: inset 2px 0 0 #00ff41;
}

[data-theme='morpheus'] .track-row:hover,
[data-theme='morpheus'] .track-row.context-active {
  background: rgba(0, 255, 65, 0.08) !important;
  box-shadow: inset 2px 0 0 #00ff41;
}

[data-theme='morpheus'] .artist-row:hover {
  background: rgba(0, 255, 65, 0.08);
  box-shadow: inset 2px 0 0 #00ff41;
}

[data-theme='morpheus'] .playlist-row:hover {
  background: rgba(0, 255, 65, 0.08);
  box-shadow: inset 2px 0 0 #00ff41;
}

[data-theme='morpheus'] .queue-item:hover,
[data-theme='morpheus'] .queue-item.context-active {
  background: rgba(0, 255, 65, 0.10) !important;
  box-shadow: inset 2px 0 0 #00ff41;
}

/* ── Active queue item: glowing green ── */
[data-theme='morpheus'] .queue-item.active {
  background: rgba(0, 255, 65, 0.08);
  box-shadow: inset 2px 0 0 #00ff41, 0 0 8px rgba(0, 255, 65, 0.06);
}

[data-theme='morpheus'] .np-queue-item-active {
  text-shadow: 0 0 8px rgba(0, 255, 65, 0.60);
}

[data-theme='morpheus'] .np-queue-item.active {
  background: rgba(0, 255, 65, 0.08);
}

[data-theme='morpheus'] .np-album-track.active .np-album-track-title,
[data-theme='morpheus'] .np-album-track.active .np-album-track-num {
  text-shadow: 0 0 8px rgba(0, 255, 65, 0.60);
}

/* ─────────────────────────────────────────────────────────────
   Pandora — Bioluminescent Sci-Fi
   ───────────────────────────────────────────────────────────── */

/* ─────────────────────────────────────────────────────────────
   Stark HUD — Iron Man / Arc Reactor
   ───────────────────────────────────────────────────────────── */

[data-theme='stark-hud'] {
  color-scheme: dark;

  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2300f2ff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #05070a;
  --ctp-mantle: #080c12;
  --ctp-base: #0b0f15;
  --ctp-surface0: #141b24;
  --ctp-surface1: #1c2531;
  --ctp-surface2: #253141;
  --ctp-overlay0: #4a5d75;
  --ctp-overlay1: #6a8099;
  --ctp-overlay2: #8ba2bd;
  --ctp-text: #e0f7fa;
  --ctp-subtext1: #a3ced4;
  --ctp-subtext0: #7da5aa;
  --ctp-mauve: #00f2ff;
  --ctp-lavender: #7df9ff;
  --ctp-green: #00ff9d;
  --ctp-teal: #00d4cc;
  --ctp-sky: #00f2ff;
  --ctp-blue: #00f2ff;
  --ctp-sapphire: #0088cc;
  --ctp-pink: #ff3399;
  --ctp-flamingo: #ff6680;
  --ctp-rosewater: #ffe0e6;
  --ctp-yellow: #ffcc00;
  --ctp-peach: #ff8800;
  --ctp-maroon: #cc0022;
  --ctp-red: #ff3333;

  --bg-app: #0b0f15;
  --bg-sidebar: #080c12;
  --bg-card: #141b24;
  --bg-hover: rgba(0, 242, 255, 0.08);
  --bg-player: #05070a;
  --bg-glass: rgba(11, 15, 21, 0.85);

  --accent: #00f2ff;
  --accent-dim: rgba(0, 242, 255, 0.12);
  --accent-glow: rgba(0, 242, 255, 0.4);

  --text-primary: #e0f7fa;
  --text-secondary: #a3ced4;
  --text-muted: #5a718a;

  --border: #1e2a3a;
  --border-subtle: #141b24;

  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

[data-theme='stark-hud'] .app-shell {
  background: radial-gradient(circle at 50% 50%, #0e1621 0%, #05070a 100%);
}

[data-theme='stark-hud'] .sidebar {
  border-right: 1px solid rgba(0, 242, 255, 0.15);
}

[data-theme='stark-hud'] .player-bar {
  border-top: 1px solid rgba(0, 242, 255, 0.2);
  box-shadow: 0 -10px 30px rgba(0, 242, 255, 0.05);
}

[data-theme='stark-hud'] .player-track-name {
  color: #00f2ff;
  text-shadow: 0 0 10px rgba(0, 242, 255, 0.6);
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.5px;
}

[data-theme='stark-hud'] .nav-link.active {
  background: linear-gradient(90deg, rgba(0, 242, 255, 0.1) 0%, transparent 100%);
  box-shadow: -5px 0 15px rgba(0, 242, 255, 0.2);
}

[data-theme='stark-hud'] .nav-link.active::before {
  box-shadow: 0 0 10px rgba(0, 242, 255, 0.5);
}

[data-theme='stark-hud'] .btn-primary {
  background: #00f2ff;
  color: #05070a;
  font-weight: 700;
  box-shadow: 0 0 15px rgba(0, 242, 255, 0.3);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ─────────────────────────────────────────────────────────────
   Blade — Cinematic Industrial
   ───────────────────────────────────────────────────────────── */

[data-theme='blade'] {
  color-scheme: dark;

  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23a0a0a0%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #050505;
  --ctp-mantle: #0a0a0a;
  --ctp-base: #121212;
  --ctp-surface0: #1a1a1a;
  --ctp-surface1: #252525;
  --ctp-surface2: #333333;
  --ctp-overlay0: #4a4a4a;
  --ctp-overlay1: #707070;
  --ctp-overlay2: #909090;
  --ctp-text: #e0e0e0;
  --ctp-subtext1: #b0b0b0;
  --ctp-subtext0: #888888;
  --ctp-mauve: #b30000;
  --ctp-lavender: #ff1a1a;
  --ctp-green: #00ff66;
  --ctp-teal: #1abc9c;
  --ctp-sky: #3498db;
  --ctp-blue: #2980b9;
  --ctp-sapphire: #1f618d;
  --ctp-pink: #e91e63;
  --ctp-flamingo: #f06292;
  --ctp-rosewater: #f8bbd0;
  --ctp-yellow: #f1c40f;
  --ctp-peach: #e67e22;
  --ctp-maroon: #800000;
  --ctp-red: #ff0000;

  --bg-app: #121212;
  --bg-sidebar: #0a0a0a;
  --bg-card: #1a1a1a;
  --bg-hover: rgba(179, 0, 0, 0.1);
  --bg-player: #050505;
  --bg-glass: rgba(10, 10, 10, 0.85);

  --accent: #b30000;
  --accent-dim: rgba(179, 0, 0, 0.15);
  --accent-glow: rgba(179, 0, 0, 0.4);

  --text-primary: #e0e0e0;
  --text-secondary: #b0b0b0;
  --text-muted: #888888;

  --border: #2a2a2a;
  --border-subtle: #1a1a1a;

  --positive: #00ff66;
  --warning: #f1c40f;
  --danger: #ff0000;

  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

[data-theme='blade'] .player-bar {
  border-top: 1px solid #222;
  background: linear-gradient(to bottom, #0a0a0a 0%, #050505 100%);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.8);
}

[data-theme='blade'] .sidebar {
  border-right: 1px solid #1a1a1a;
}

[data-theme='blade'] .nav-link.active {
  background: linear-gradient(90deg, rgba(179, 0, 0, 0.2) 0%, transparent 100%);
  color: #fff;
}

[data-theme='blade'] .nav-link.active::before {
  box-shadow: 0 0 8px rgba(179, 0, 0, 0.5);
}

[data-theme='blade'] .player-track-name {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 0 10px rgba(179, 0, 0, 0.3);
}

[data-theme='blade'] .btn-primary {
  background: linear-gradient(135deg, #b30000 0%, #800000 100%);
  border: 1px solid rgba(255, 26, 26, 0.2);
  color: #fff;
}

/* ── T-800 — Terminator 2: Judgment Day ─────────────────────── */
/* Endoskeleton HUD red + machine data green + industrial dark   */
[data-theme='t-800'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ff2000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Industrial dark — machine oil, scorched steel, warm black */
  --ctp-crust: #080606;
  --ctp-mantle: #0e0a0a;
  --ctp-base: #140e0e;
  --ctp-surface0: #1e1414;
  --ctp-surface1: #281c1c;
  --ctp-surface2: #342424;
  --ctp-overlay0: #584040;
  --ctp-overlay1: #806060;
  --ctp-overlay2: #a88888;
  --ctp-text: #e8d8c8;
  /* CRT terminal warm white */
  --ctp-subtext1: #c8b8a0;
  --ctp-subtext0: #a08888;

  /* T2 palette */
  --ctp-red: #ff2000;
  /* T-800 eye / HUD targeting red */
  --ctp-maroon: #cc1800;
  --ctp-flamingo: #ff4020;
  --ctp-mauve: #ff2000;
  --ctp-lavender: #ff5040;
  --ctp-pink: #ff4020;
  --ctp-rosewater: #ff8060;
  --ctp-green: #00e040;
  /* machine data readout green */
  --ctp-teal: #00b830;
  --ctp-sky: #40ff80;
  --ctp-yellow: #f0a000;
  /* Judgment Day fire / nuclear orange */
  --ctp-peach: #ff6000;
  /* napalm / explosion */
  --ctp-blue: #2040c0;
  /* future war laser / Skynet */
  --ctp-sapphire: #1830a0;

  --bg-app: #140e0e;
  /* scorched industrial dark */
  --bg-sidebar: #0e0a0a;
  /* machine interior */
  --bg-card: #1e1414;
  --bg-hover: rgba(255, 32, 0, 0.08);
  --bg-player: #080606;
  /* endoskeleton chassis */
  --bg-glass: rgba(14, 10, 10, 0.96);

  --accent: #ff2000;
  /* T-800 eye red */
  --accent-dim: rgba(255, 32, 0, 0.12);
  --accent-glow: rgba(255, 32, 0, 0.5);
  --volume-accent: #00e040;
  /* data-green for volume */

  --text-primary: #e8d8c8;
  /* warm terminal white */
  --text-secondary: #00e040;
  /* machine data green */
  --text-muted: #584040;
  --border: #2a1a1a;
  --border-subtle: #1e1414;
  --shadow-dropdown: rgba(0, 0, 0, 0.9);

  --positive: #00e040;
  --warning: #f0a000;
  --danger: #ff2000;

  --radius-sm: 0px;
  --radius-md: 1px;
  --radius-lg: 2px;
  --radius-xl: 2px;
}

/* Sidebar = endoskeleton interior: scan-line texture + red glow */
[data-theme='t-800'] .sidebar {
  border-right: 2px solid #ff2000;
  box-shadow: 2px 0 16px rgba(255, 32, 0, 0.1);
  background-image: repeating-linear-gradient(0deg,
      transparent,
      transparent 3px,
      rgba(255, 32, 0, 0.025) 3px,
      rgba(255, 32, 0, 0.025) 4px);
}

/* Player bar = HUD targeting display */
[data-theme='t-800'] .player-bar {
  border-top: 2px solid #ff2000;
  box-shadow:
    0 -1px 0 rgba(0, 224, 64, 0.2),
    0 -8px 28px rgba(255, 32, 0, 0.1);
}

/* Track name = TARGET ACQUIRED — red HUD uppercase */
[data-theme='t-800'] .player-track-name {
  color: #ff2000;
  text-shadow: 0 0 10px rgba(255, 32, 0, 0.75), 0 0 28px rgba(255, 32, 0, 0.3);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.08em;
}

/* Artist = machine data readout green */
[data-theme='t-800'] .player-track-artist {
  color: #00e040;
}

/* Queue album = Judgment Day orange */
[data-theme='t-800'] .queue-meta-album {
  color: #f0a000;
}

/* Active nav: red HUD left bar */
[data-theme='t-800'] .nav-link.active {
  background: linear-gradient(90deg, rgba(255, 32, 0, 0.15) 0%, transparent 100%);
  color: #ff2000;
}

[data-theme='t-800'] .nav-link.active::before {
  width: 3px;
  box-shadow: 2px 0 12px rgba(255, 32, 0, 0.65);
}

/* Buttons: dark steel with red */
[data-theme='t-800'] .btn-primary {
  background: #ff2000;
  color: #080606;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  border: none;
  border-radius: 1px;
}

[data-theme='t-800'] .btn-primary:hover {
  background: #ff4020;
  box-shadow: 0 0 18px rgba(255, 32, 0, 0.5);
}

/* Play button = T-800 eye glow */
[data-theme='t-800'] .player-btn-primary {
  background: #ff2000;
  box-shadow: 0 0 16px rgba(255, 32, 0, 0.5);
  color: #080606;
}

[data-theme='t-800'] .player-btn-primary:hover {
  box-shadow: 0 0 26px rgba(255, 32, 0, 0.7);
}

/* Queue active = targeting lock — red left bar */
[data-theme='t-800'] .queue-item.active {
  background: rgba(255, 32, 0, 0.08);
  box-shadow: inset 3px 0 0 #ff2000;
}

[data-theme='t-800'] .np-queue-item.active {
  background: rgba(255, 32, 0, 0.07);
}

[data-theme='t-800'] .np-queue-item-active {
  color: #ff2000;
  text-shadow: 0 0 8px rgba(255, 32, 0, 0.6);
}

/* Now-playing active track = data green */
[data-theme='t-800'] .np-album-track.active .np-album-track-title,
[data-theme='t-800'] .np-album-track.active .np-album-track-num {
  color: #00e040;
  text-shadow: 0 0 8px rgba(0, 224, 64, 0.5);
}

/* Hover rows */
[data-theme='t-800'] .track-row:hover,
[data-theme='t-800'] .track-row.context-active {
  background: rgba(255, 32, 0, 0.07) !important;
  box-shadow: inset 3px 0 0 #ff2000;
}

[data-theme='t-800'] .queue-item:hover,
[data-theme='t-800'] .queue-item.context-active {
  background: rgba(255, 32, 0, 0.07) !important;
  box-shadow: inset 3px 0 0 #ff2000;
}

[data-theme='t-800'] .np-queue-item:hover,
[data-theme='t-800'] .np-queue-item.context-active {
  background: rgba(255, 32, 0, 0.07);
  box-shadow: inset 2px 0 0 #ff2000;
}

[data-theme='t-800'] .artist-row:hover {
  background: rgba(255, 32, 0, 0.06);
  box-shadow: inset 3px 0 0 #ff2000;
}

[data-theme='t-800'] .playlist-row:hover {
  background: rgba(255, 32, 0, 0.06);
  box-shadow: inset 3px 0 0 #ff2000;
}

/* Settings tabs: data-green active = SYSTEM ONLINE */
[data-theme='t-800'] .settings-tab:hover {
  background: rgba(255, 32, 0, 0.07);
  color: #ff2000;
}

[data-theme='t-800'] .settings-tab.active {
  background: rgba(0, 224, 64, 0.07);
  color: #00e040;
  box-shadow: inset 3px 0 0 #00e040;
}

/* Queue tabs */
[data-theme='t-800'] .queue-tab-btn:hover {
  background: rgba(255, 32, 0, 0.07);
  color: #ff2000;
}

/* Dropdowns */
[data-theme='t-800'] .custom-select-trigger:hover {
  background: rgba(255, 32, 0, 0.07);
}

[data-theme='t-800'] .custom-select-option:hover {
  background: rgba(255, 32, 0, 0.1) !important;
  color: #ff2000 !important;
}

/* Artist pills = Skynet blue */
[data-theme='t-800'] .artist-ext-link:hover {
  background: rgba(32, 64, 192, 0.15);
  color: #4060e0 !important;
  border-color: rgba(32, 64, 192, 0.4) !important;
}

/* Connection indicators */
[data-theme='t-800'] .connection-type,
[data-theme='t-800'] .connection-server {
  color: #00e040;
}

/* ─── Dune — Arrakis ─── */
[data-theme='dune'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23c8780a%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette — two-temperature Arrakis ── */
  /* Warm: spice / sand / desert sun */
  --ctp-crust: #0a0804;
  --ctp-mantle: #120e06;
  --ctp-base: #1c1408;
  --ctp-surface0: #2e1e0a;
  --ctp-surface1: #3e2a0e;
  --ctp-surface2: #503614;
  /* Cool: sietch / rock shadow / Fremen darkness */
  --ctp-overlay0: #2a2440;
  --ctp-overlay1: #4a4268;
  --ctp-overlay2: #6a6090;
  /* Text: aged parchment, scrolls of the Bene Gesserit */
  --ctp-text: #f0deb0;
  --ctp-subtext1: #d8c090;
  --ctp-subtext0: #b09060;
  /* Accent palette */
  --ctp-mauve: #c8780a;
  /* spice melange — cinnamon rust */
  --ctp-lavender: #e8a020;
  /* spice shimmer — bright amber */
  --ctp-yellow: #f5cc50;
  /* spice flare */
  --ctp-peach: #aa5a08;
  /* deep spice shadow */
  --ctp-green: #7a8c40;
  /* Caladan seagrass (far memory) */
  --ctp-teal: #1a80c0;
  /* Fremen eye blue — spice prescience */
  --ctp-sky: #2090d0;
  /* Guild Navigator blue */
  --ctp-blue: #1468a8;
  /* sietch pool depth */
  --ctp-sapphire: #0e4a80;
  /* deep cave water */
  --ctp-pink: #c84060;
  --ctp-flamingo: #e06080;
  --ctp-rosewater: #f0c0a0;
  --ctp-red: #cc2800;
  --ctp-maroon: #8c1c00;

  /* ── Semantic tokens ── */
  --bg-app: #1c1408;
  --bg-sidebar: #0e0c1a;
  /* sietch interior — cool rock */
  --bg-card: #2e1e0a;
  --bg-hover: rgba(200, 120, 10, 0.14);
  --bg-player: #0e0a04;
  --bg-glass: rgba(10, 8, 4, 0.96);
  --accent: #c8780a;
  --accent-dim: rgba(200, 120, 10, 0.12);
  --accent-glow: rgba(200, 120, 10, 0.40);
  --volume-accent: #c8780a;
  --text-primary: #f0deb0;
  --text-secondary: #d8c090;
  --text-muted: #a89870;
  --border: rgba(200, 120, 10, 0.22);
  --border-subtle: rgba(200, 120, 10, 0.10);
  --positive: #7a8c40;
  --warning: #f5cc50;
  --danger: #cc2800;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

/* ── App shell: Arrakis desert horizon at dusk ── */
/* Sky (cool/dark at top) fading into burning sand (warm at bottom) */
[data-theme='dune'] .app-shell {
  background: linear-gradient(180deg,
      #12101c 0%,
      #1a1408 30%,
      #201608 60%,
      #281e0a 100%);
}

/* ── Sidebar: sietch interior — cold carved rock ── */
/* The Fremen lived in caves cut from rock — cool, dark, shadows of blue and purple */
[data-theme='dune'] .sidebar {
  background: linear-gradient(180deg, #141228 0%, #0e0c1c 40%, #0c0a16 100%);
  border-right: 1px solid rgba(200, 120, 10, 0.22);
  box-shadow:
    inset -3px 0 10px rgba(200, 100, 8, 0.07),
    2px 0 8px rgba(0, 0, 0, 0.50);
}

/* Nav text: parchment on cool rock */
[data-theme='dune'] .nav-link {
  color: #b09060;
}

[data-theme='dune'] .nav-link:hover {
  background: rgba(200, 120, 10, 0.10);
  color: #d8c090;
}

[data-theme='dune'] .nav-link.active {
  background: linear-gradient(90deg, rgba(200, 120, 10, 0.20) 0%, transparent 100%);
  color: #e8a020;
  border-left: 2px solid #c8780a;
  box-shadow: inset 4px 0 14px rgba(200, 120, 10, 0.10);
}

[data-theme='dune'] .nav-link.active::before {
  background: #c8780a;
  box-shadow: 0 0 10px rgba(200, 120, 10, 0.70);
}

[data-theme='dune'] .nav-link.active svg {
  color: #c8780a;
}

[data-theme='dune'] .nav-section-label {
  color: #4a4268;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.70em;
}

/* ── Player bar: spice harvester console — deep amber warmth ── */
[data-theme='dune'] .player-bar {
  background: linear-gradient(180deg, #140e04 0%, #0a0802 100%);
  border-top: 2px solid rgba(200, 120, 10, 0.50);
  box-shadow:
    inset 0 1px 0 rgba(240, 180, 40, 0.16),
    0 -8px 40px rgba(180, 100, 8, 0.16),
    0 -2px 80px rgba(20, 100, 160, 0.04);
}

/* Track name: the spice calls — amber prophetic glow */
[data-theme='dune'] .player-track-name {
  color: #e8a020;
  text-shadow:
    0 0 8px rgba(232, 160, 32, 0.75),
    0 0 20px rgba(200, 120, 10, 0.40),
    0 0 40px rgba(200, 120, 10, 0.15);
  letter-spacing: 0.04em;
}

/* Artist: deeper spice cinnamon */
[data-theme='dune'] .player-track-artist {
  color: #aa7030;
  opacity: 1;
  text-shadow: 0 0 8px rgba(170, 112, 48, 0.45);
}

[data-theme='dune'] .player-time {
  color: #7a5020;
}

/* ── Transport buttons: Fremen tech — minimal, earth-worn ── */
[data-theme='dune'] .player-btn,
[data-theme='dune'] .player-btn-primary {
  background: linear-gradient(180deg, #2e1e0a 0%, #1e1406 100%);
  color: #c8780a;
  border: 1px solid rgba(200, 120, 10, 0.38);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgba(240, 180, 40, 0.08), 0 2px 6px rgba(0, 0, 0, 0.50);
}

[data-theme='dune'] .player-btn:hover,
[data-theme='dune'] .player-btn-primary:hover {
  background: rgba(200, 120, 10, 0.14);
  border-color: #c8780a;
  color: #e8a020;
  box-shadow:
    0 0 14px rgba(200, 120, 10, 0.42),
    inset 0 0 8px rgba(200, 100, 8, 0.08);
}

/* ── Regular buttons: desert stone / carved bone ── */
[data-theme='dune'] .btn,
[data-theme='dune'] .btn-surface,
[data-theme='dune'] .btn-ghost {
  background: linear-gradient(180deg, #2e1e0a 0%, #221608 100%);
  color: #d8c090;
  border: 1px solid rgba(200, 120, 10, 0.30);
  box-shadow: inset 0 1px 0 rgba(240, 200, 80, 0.06), 0 1px 4px rgba(0, 0, 0, 0.40);
  border-radius: 3px;
}

[data-theme='dune'] .btn:hover,
[data-theme='dune'] .btn-surface:hover,
[data-theme='dune'] .btn-ghost:hover {
  background: rgba(200, 120, 10, 0.12);
  border-color: rgba(200, 120, 10, 0.65);
  color: #f0deb0;
  box-shadow: 0 0 10px rgba(200, 120, 10, 0.24), inset 0 0 6px rgba(200, 100, 8, 0.05);
}

/* ── Primary button: spice melange — the most precious thing ── */
[data-theme='dune'] .btn-primary {
  background: linear-gradient(180deg, #b86808 0%, #884e04 100%);
  color: #ffe8a0;
  border: 1px solid #d08010;
  box-shadow: 0 0 14px rgba(200, 120, 10, 0.35), inset 0 1px 0 rgba(255, 220, 80, 0.20);
  border-radius: 3px;
  font-weight: 600;
}

[data-theme='dune'] .btn-primary:hover {
  background: linear-gradient(180deg, #d07a10 0%, #a05e06 100%);
  box-shadow: 0 0 22px rgba(200, 120, 10, 0.55), inset 0 1px 0 rgba(255, 220, 80, 0.25);
}

/* ── Hero / album buttons ── */
[data-theme='dune'] .hero-play-btn,
[data-theme='dune'] .album-card-details-btn {
  background: rgba(200, 120, 10, 0.12);
  color: #c8780a;
  border: 1px solid rgba(200, 120, 10, 0.36);
  box-shadow: inset 0 1px 0 rgba(240, 180, 40, 0.06);
}

[data-theme='dune'] .hero-play-btn:hover,
[data-theme='dune'] .album-card-details-btn:hover {
  background: rgba(200, 120, 10, 0.20);
  border-color: #c8780a;
  box-shadow: 0 0 12px rgba(200, 120, 10, 0.38);
}

/* ── Queue round buttons ── */
[data-theme='dune'] .queue-round-btn {
  background: linear-gradient(180deg, #2e1e0a 0%, #1e1406 100%);
  color: #8a6030;
  border: 1px solid rgba(200, 120, 10, 0.24);
}

[data-theme='dune'] .queue-round-btn:hover:not(:disabled):not(.active) {
  background: rgba(200, 120, 10, 0.10);
  border-color: rgba(200, 120, 10, 0.55);
  color: #c8780a;
  box-shadow: 0 0 10px rgba(200, 120, 10, 0.22);
}

[data-theme='dune'] .queue-round-btn.active {
  background: rgba(200, 120, 10, 0.20);
  border-color: #c8780a;
  color: #e8a020;
  box-shadow: 0 0 12px rgba(200, 120, 10, 0.42), inset 0 0 6px rgba(200, 100, 8, 0.08);
}

/* ── Cards: ancient stone / sand-worn rock ── */
[data-theme='dune'] .card {
  background: linear-gradient(180deg, #2e1e0a 0%, #281808 100%);
  border: 1px solid rgba(200, 120, 10, 0.16);
  border-radius: 4px;
  box-shadow:
    inset 0 1px 0 rgba(240, 200, 80, 0.04),
    inset 0 0 24px rgba(200, 100, 8, 0.03),
    0 2px 10px rgba(0, 0, 0, 0.50);
}

/* ── Content header: sietch entrance — cool rock above warm desert ── */
/* The contrast between the cold header and warm body is intentional — Arrakis duality */
[data-theme='dune'] .content-header {
  background: linear-gradient(180deg, #151228 0%, #12101e 100%);
  border-bottom: 1px solid rgba(200, 120, 10, 0.24);
  box-shadow: 0 3px 16px rgba(200, 100, 8, 0.06);
}

/* Text on cool header: light but warm */
[data-theme='dune'] .content-header .page-title,
[data-theme='dune'] .content-header h1,
[data-theme='dune'] .content-header h2 {
  color: #d8c090;
}

/* ── Connection indicators: parchment legible ── */
[data-theme='dune'] .connection-type,
[data-theme='dune'] .connection-server {
  color: #b09060;
}

/* ── Theme accordion ── */
[data-theme='dune'] .theme-accordion-header:hover {
  background: rgba(200, 120, 10, 0.10);
  color: #e8a020;
}

[data-theme='dune'] .theme-accordion-open .theme-accordion-header {
  background: rgba(200, 120, 10, 0.14);
  color: #e8a020;
}

[data-theme='dune'] .theme-accordion-open .theme-accordion-chevron {
  color: #c8780a;
}

/* ── Progress bar: spice flowing — from deep rust to bright amber ── */
[data-theme='dune'] .progress-bar-track {
  background: #1a1006;
  border: 1px solid rgba(200, 120, 10, 0.22);
  border-radius: 2px;
}

[data-theme='dune'] .progress-bar-fill {
  background: linear-gradient(90deg,
      #6a3604 0%,
      #a85a08 30%,
      #c8780a 65%,
      #e8a020 85%,
      #f5cc50 100%);
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(200, 120, 10, 0.55), 0 0 3px rgba(240, 200, 60, 0.40);
}

/* ── Scrollbar: sand grain — thin, warm, minimal ── */
[data-theme='dune'] ::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

[data-theme='dune'] ::-webkit-scrollbar-track {
  background: #0a0804;
}

[data-theme='dune'] ::-webkit-scrollbar-thumb {
  background: rgba(200, 120, 10, 0.30);
  border-radius: 2px;
  border: 1px solid rgba(200, 120, 10, 0.16);
}

[data-theme='dune'] ::-webkit-scrollbar-thumb:hover {
  background: rgba(200, 120, 10, 0.55);
  box-shadow: 0 0 5px rgba(200, 120, 10, 0.40);
}

/* ── Glass / dropdowns: deep sand shelter ── */
[data-theme='dune'] .glass {
  background: rgba(10, 8, 4, 0.97) !important;
  backdrop-filter: none !important;
  border: 1px solid rgba(200, 120, 10, 0.30) !important;
  box-shadow:
    0 0 20px rgba(180, 100, 8, 0.10),
    inset 0 0 16px rgba(200, 100, 8, 0.02) !important;
  border-radius: 4px !important;
}

[data-theme='dune'] .glass [style*="var(--bg-hover)"] {
  background: rgba(200, 120, 10, 0.12) !important;
  border-radius: 2px !important;
}

[data-theme='dune'] .glass [style*="var(--text-primary)"] {
  color: #f0deb0 !important;
}

[data-theme='dune'] .glass [style*="var(--text-secondary)"] {
  color: #d8c090 !important;
}

[data-theme='dune'] .glass [style*="var(--text-muted)"] {
  color: #6a5830 !important;
}

/* ── Hover / selection: spice glow — warm amber indicator bar ── */
[data-theme='dune'] .queue-tab-btn:hover {
  background: rgba(200, 120, 10, 0.10);
  color: #c8780a;
}

[data-theme='dune'] .settings-tab:hover {
  background: rgba(200, 120, 10, 0.10);
  color: #c8780a;
}

[data-theme='dune'] .settings-tab.active {
  background: rgba(200, 120, 10, 0.16);
  color: #e8a020;
  box-shadow: inset 2px 0 0 #c8780a;
}

[data-theme='dune'] .custom-select-trigger:hover {
  background: rgba(200, 120, 10, 0.10);
}

[data-theme='dune'] .custom-select-option:hover {
  background: rgba(200, 120, 10, 0.14) !important;
  color: #e8a020 !important;
}

[data-theme='dune'] .artist-ext-link:hover {
  background: rgba(200, 120, 10, 0.10);
  color: #c8780a !important;
  border-color: rgba(200, 120, 10, 0.45) !important;
}

[data-theme='dune'] .np-action-btn:hover {
  background: rgba(200, 120, 10, 0.10);
}

[data-theme='dune'] .np-queue-item:hover,
[data-theme='dune'] .np-queue-item.context-active {
  background: rgba(200, 120, 10, 0.12);
  box-shadow: inset 2px 0 0 #c8780a;
}

[data-theme='dune'] .track-row:hover,
[data-theme='dune'] .track-row.context-active {
  background: rgba(200, 120, 10, 0.09) !important;
  box-shadow: inset 2px 0 0 #c8780a;
}

[data-theme='dune'] .artist-row:hover {
  background: rgba(200, 120, 10, 0.09);
  box-shadow: inset 2px 0 0 #c8780a;
}

[data-theme='dune'] .playlist-row:hover {
  background: rgba(200, 120, 10, 0.09);
  box-shadow: inset 2px 0 0 #c8780a;
}

[data-theme='dune'] .queue-item:hover,
[data-theme='dune'] .queue-item.context-active {
  background: rgba(200, 120, 10, 0.10) !important;
  box-shadow: inset 2px 0 0 #c8780a;
}

[data-theme='dune'] .queue-item:hover .queue-item-title,
[data-theme='dune'] .queue-item:hover .queue-item-artist,
[data-theme='dune'] .queue-item:hover .queue-item-duration,
[data-theme='dune'] .queue-item.context-active .queue-item-title,
[data-theme='dune'] .queue-item.context-active .queue-item-artist,
[data-theme='dune'] .queue-item.context-active .queue-item-duration {
  color: #c8780a;
}

/* ── Active queue / now-playing: the worm has come ── */
[data-theme='dune'] .queue-item.active {
  background: rgba(200, 120, 10, 0.08);
  box-shadow: inset 2px 0 0 #c8780a;
}

[data-theme='dune'] .np-queue-item-active {
  color: #c8780a;
  text-shadow: 0 0 8px rgba(200, 120, 10, 0.55);
}

[data-theme='dune'] .np-queue-item.active {
  background: rgba(200, 120, 10, 0.08);
}

[data-theme='dune'] .np-album-track.active .np-album-track-title,
[data-theme='dune'] .np-album-track.active .np-album-track-num {
  color: #c8780a;
  text-shadow: 0 0 8px rgba(200, 120, 10, 0.50);
}

/* ── TetraStack (Games) — 7-tetromino NES Tetris ─────────────── */
/* I=cyan  O=yellow  T=purple  S=green  Z=red  J=blue  L=orange  */
[data-theme='tetrastack'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2300f0f0%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Dark navy — NES Tetris backdrop, not pure black */
  --ctp-crust: #000008;
  --ctp-mantle: #00000e;
  --ctp-base: #060614;
  --ctp-surface0: #0d0d22;
  --ctp-surface1: #141432;
  --ctp-surface2: #1e1e48;
  --ctp-overlay0: #3a3a6a;
  --ctp-overlay1: #6060a8;
  --ctp-overlay2: #9090cc;
  --ctp-text: #ffffff;
  --ctp-subtext1: #d0d0ff;
  --ctp-subtext0: #9090cc;

  /* 7 Tetromino colours mapped to palette slots */
  --ctp-sky: #00f0f0;
  /* I-piece  — cyan   */
  --ctp-teal: #00f0f0;
  --ctp-yellow: #f0d000;
  /* O-piece  — yellow */
  --ctp-mauve: #a020f0;
  /* T-piece  — purple */
  --ctp-lavender: #a020f0;
  --ctp-pink: #a020f0;
  --ctp-green: #00d000;
  /* S-piece  — green  */
  --ctp-red: #f02000;
  /* Z-piece  — red    */
  --ctp-flamingo: #f02000;
  --ctp-maroon: #f02000;
  --ctp-blue: #0060f0;
  /* J-piece  — blue   */
  --ctp-sapphire: #0060f0;
  --ctp-peach: #f07800;
  /* L-piece  — orange */
  --ctp-rosewater: #f07800;

  --bg-app: #060614;
  --bg-sidebar: #00000e;
  --bg-card: #0d0d22;
  --bg-hover: rgba(0, 240, 240, 0.07);
  --bg-player: #000008;
  --bg-glass: rgba(6, 6, 20, 0.96);

  --accent: #00f0f0;
  /* I-piece cyan */
  --accent-dim: rgba(0, 240, 240, 0.12);
  --accent-glow: rgba(0, 240, 240, 0.5);
  --volume-accent: #f0d000;
  /* O-piece yellow — classic score-panel feel */

  --text-primary: #ffffff;
  --text-secondary: #f0d000;
  /* O-piece yellow — like the score readout */
  --text-muted: #3a3a6a;
  --border: #1e1e48;
  --border-subtle: #0d0d22;

  /* All corners square — every element is a block */
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-xl: 0px;
}

/* 30 px grid — Tetris block scale */
[data-theme='tetrastack'] .app-shell {
  background-image:
    linear-gradient(rgba(0, 240, 240, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 240, 0.04) 1px, transparent 1px);
  background-size: 30px 30px;
}

/* Sidebar = the score/next-piece panel */
[data-theme='tetrastack'] .sidebar {
  border-right: 3px solid #00f0f0;
}

/* Player bar = bottom of the well */
[data-theme='tetrastack'] .player-bar {
  border-top: 3px solid #00f0f0;
  box-shadow:
    0 -2px 0 #a020f0,
    0 -8px 24px rgba(0, 240, 240, 0.12);
}

/* NES block shading on cards — lighter top-left, darker bottom-right */
[data-theme='tetrastack'] .card,
[data-theme='tetrastack'] .glass,
[data-theme='tetrastack'] .settings-card {
  border: 1px solid #1e1e48 !important;
  border-radius: 0 !important;
  box-shadow:
    inset -3px -3px 0 rgba(0, 0, 0, 0.55),
    inset 3px 3px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Buttons: block-shaped, NES-style press effect */
[data-theme='tetrastack'] .btn-primary {
  background: #00f0f0;
  color: #000000;
  border: none;
  border-radius: 0;
  box-shadow: inset -3px -3px 0 rgba(0, 0, 0, 0.5), inset 3px 3px 0 rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.08em;
}

[data-theme='tetrastack'] .btn-primary:hover {
  background: #30ffff;
  box-shadow: inset -3px -3px 0 rgba(0, 0, 0, 0.4), inset 3px 3px 0 rgba(255, 255, 255, 0.45);
}

[data-theme='tetrastack'] .btn-surface {
  border-radius: 0;
  box-shadow: inset -2px -2px 0 rgba(0, 0, 0, 0.5), inset 2px 2px 0 rgba(255, 255, 255, 0.06);
}

/* Track name = I-piece glow */
[data-theme='tetrastack'] .player-track-name {
  color: #00f0f0;
  text-shadow: 0 0 8px rgba(0, 240, 240, 0.7), 0 0 20px rgba(0, 240, 240, 0.3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Artist name = L-piece orange */
[data-theme='tetrastack'] .player-track-artist {
  color: #f07800;
}

/* Album title in queue = T-piece purple */
[data-theme='tetrastack'] .queue-meta-album {
  color: #a020f0;
}

/* Active queue item = I-piece left border */
[data-theme='tetrastack'] .queue-item.active {
  background: rgba(0, 240, 240, 0.07);
  box-shadow: inset 3px 0 0 #00f0f0;
}

[data-theme='tetrastack'] .np-queue-item-active {
  color: #00f0f0;
  text-shadow: 0 0 8px rgba(0, 240, 240, 0.6);
}

[data-theme='tetrastack'] .np-queue-item.active {
  background: rgba(0, 240, 240, 0.07);
}

/* Hover rows: subtle block highlight */
[data-theme='tetrastack'] .track-row:hover,
[data-theme='tetrastack'] .track-row.context-active {
  background: rgba(0, 240, 240, 0.06) !important;
  box-shadow: inset 3px 0 0 #00f0f0;
}

[data-theme='tetrastack'] .queue-item:hover,
[data-theme='tetrastack'] .queue-item.context-active {
  background: rgba(0, 240, 240, 0.07) !important;
  box-shadow: inset 3px 0 0 #00f0f0;
}

[data-theme='tetrastack'] .np-queue-item:hover,
[data-theme='tetrastack'] .np-queue-item.context-active {
  background: rgba(0, 240, 240, 0.07);
  box-shadow: inset 2px 0 0 #00f0f0;
}

[data-theme='tetrastack'] .artist-row:hover {
  background: rgba(0, 240, 240, 0.06);
  box-shadow: inset 3px 0 0 #00f0f0;
}

[data-theme='tetrastack'] .playlist-row:hover {
  background: rgba(0, 240, 240, 0.06);
  box-shadow: inset 3px 0 0 #00f0f0;
}

/* Settings tabs: active = S-piece green left border */
[data-theme='tetrastack'] .settings-tab:hover {
  background: rgba(0, 240, 240, 0.06);
  color: #00f0f0;
}

[data-theme='tetrastack'] .settings-tab.active {
  background: rgba(0, 208, 0, 0.08);
  color: #00d000;
  box-shadow: inset 3px 0 0 #00d000;
}

/* Queue tabs */
[data-theme='tetrastack'] .queue-tab-btn:hover {
  background: rgba(0, 240, 240, 0.06);
  color: #00f0f0;
}

/* Dropdowns / selects */
[data-theme='tetrastack'] .custom-select-trigger:hover {
  background: rgba(0, 240, 240, 0.06);
}

[data-theme='tetrastack'] .custom-select-option:hover {
  background: rgba(0, 240, 240, 0.1) !important;
  color: #00f0f0 !important;
}

/* Artist pill links = J-piece blue */
[data-theme='tetrastack'] .artist-ext-link:hover {
  background: rgba(0, 96, 240, 0.1);
  color: #0060f0 !important;
  border-color: rgba(0, 96, 240, 0.4) !important;
}

/* Now playing active track = Z-piece red accent */
[data-theme='tetrastack'] .np-album-track.active .np-album-track-title,
[data-theme='tetrastack'] .np-album-track.active .np-album-track-num {
  color: #f02000;
  text-shadow: 0 0 8px rgba(240, 32, 0, 0.5);
}

/* Connection indicators */
[data-theme='tetrastack'] .connection-type,
[data-theme='tetrastack'] .connection-server {
  color: #f0d000;
}

/* ── The Book (Social Media) ────────────────────────────────── */
[data-theme='the-book'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2365676B%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #FFFFFF;
  --ctp-mantle: #FFFFFF;
  --ctp-base: #F0F2F5;
  --ctp-surface0: #E4E6EB;
  --ctp-surface1: #D8DADF;
  --ctp-surface2: #CED0D4;
  --ctp-overlay0: #B0B3B8;
  --ctp-overlay1: #4B4C4F;
  --ctp-overlay2: #3A3B3D;
  --ctp-text: #050505;
  --ctp-subtext1: #44464A;
  --ctp-subtext0: #65676B;

  --ctp-mauve: #1877F2;
  --ctp-lavender: #2D88FF;
  --ctp-green: #42B72A;
  --ctp-yellow: #F7B125;
  --ctp-red: #FA383E;
  --ctp-blue: #1877F2;
  --ctp-teal: #00A400;
  --ctp-sky: #45BD62;
  --ctp-sapphire: #0064D1;
  --ctp-pink: #F33E58;
  --ctp-flamingo: #F33E58;
  --ctp-rosewater: #F0F2F5;
  --ctp-maroon: #B12425;
  --ctp-peach: #F7B125;

  --bg-app: #F0F2F5;
  --bg-sidebar: #1877F2;
  --bg-card: #FFFFFF;
  --bg-hover: #F2F2F2;
  --bg-player: #FFFFFF;
  --bg-glass: rgba(255, 255, 255, 0.9);

  --accent: #1877F2;
  --accent-dim: rgba(24, 119, 242, 0.1);
  --accent-glow: rgba(24, 119, 242, 0.2);
  --volume-accent: #1877F2;

  --text-primary: #050505;
  --text-secondary: #44464A;
  --text-muted: #65676B;
  --border: #CED0D4;
  --border-subtle: #E4E6EB;

  --positive: #42B72A;
  --warning: #F7B125;
  --danger: #FA383E;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;

  --shadow-dropdown: 0 12px 28px 0 rgba(0, 0, 0, 0.1), 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}

[data-theme='the-book'] .player-bar {
  border-top: 1px solid var(--border-subtle);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.03);
}

[data-theme='the-book'] .sidebar {
  border-right: none;
}

[data-theme='the-book'] .sidebar .nav-link {
  color: rgba(255, 255, 255, 0.85);
}

[data-theme='the-book'] .sidebar .nav-link:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

[data-theme='the-book'] .sidebar .nav-link.active {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-weight: 600;
}

[data-theme='the-book'] .sidebar .nav-section-label {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme='the-book'] .sidebar-brand .brand-name {
  -webkit-text-fill-color: #ffffff;
  color: #ffffff;
}

[data-theme='the-book'] .sidebar {
  --accent: #ffffff;
  --ctp-blue: #ffffff;
}

/* Queue panel — white text on blue background */
[data-theme='the-book'] .queue-item-title {
  color: rgba(255, 255, 255, 0.9);
}

[data-theme='the-book'] .queue-item-artist,
[data-theme='the-book'] .queue-item-duration {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme='the-book'] .queue-item:hover .queue-item-title,
[data-theme='the-book'] .queue-item.context-active .queue-item-title {
  color: #ffffff;
}

[data-theme='the-book'] .queue-item.active .queue-item-title {
  color: #ffffff;
}

[data-theme='the-book'] .queue-item.active .queue-item-artist,
[data-theme='the-book'] .queue-item.active .queue-item-duration {
  color: rgba(255, 255, 255, 0.7);
}

[data-theme='the-book'] .queue-item:hover,
[data-theme='the-book'] .queue-item.context-active {
  background: rgba(255, 255, 255, 0.1);
}

[data-theme='the-book'] .queue-header,
[data-theme='the-book'] .queue-header h2 {
  color: var(--text-primary);
}

[data-theme='the-book'] .queue-current-info h3 {
  color: rgba(255, 255, 255, 0.9);
}

[data-theme='the-book'] .queue-current-sub {
  color: rgba(255, 255, 255, 0.65);
}

[data-theme='the-book'] .collapse-btn {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

[data-theme='the-book'] .player-track-name,
[data-theme='the-book'] .player-track-artist,
[data-theme='the-book'] .player-time {
  color: var(--text-primary) !important;
}


[data-theme='the-book'] .card {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--border-subtle);
}

/* Album chip — opaque Facebook blue pill */
[data-theme='the-book'] .badge,
[data-theme='the-book'] .album-detail-badge {
  background: #1877F2;
  color: #ffffff;
}

/* Back button — opaque Facebook-style pill */
[data-theme='the-book'] .album-detail-back {
  background: #E7F3FF;
  color: #1877F2;
}
[data-theme='the-book'] .album-detail-back:hover {
  background: #D8EAFD;
  color: #0d6ae0;
}

/* Queue/Lyrics tab bar — white text on blue sidebar */
[data-theme='the-book'] .queue-tab-btn {
  color: rgba(255, 255, 255, 0.65);
}
[data-theme='the-book'] .queue-tab-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}
[data-theme='the-book'] .queue-tab-btn.active {
  color: #ffffff;
}

/* ── ReadIt (Social Media) ──────────────────────────────────── */
[data-theme='readit'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23FF4500%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #030303;
  --ctp-mantle: #1A1A1B;
  --ctp-base: #030303;
  --ctp-surface0: #1A1A1B;
  --ctp-surface1: #272729;
  --ctp-surface2: #343536;
  --ctp-overlay0: #818384;
  --ctp-overlay1: #D7DADC;
  --ctp-overlay2: #FFFFFF;
  --ctp-text: #D7DADC;
  --ctp-subtext1: #D7DADC;
  --ctp-subtext0: #818384;

  --ctp-mauve: #FF4500;
  --ctp-lavender: #FF581A;
  --ctp-green: #46D160;
  --ctp-yellow: #FFD635;
  --ctp-red: #FF4500;
  --ctp-blue: #0079D3;
  --ctp-teal: #00AD96;
  --ctp-sky: #7193FF;
  --ctp-sapphire: #3E5EB3;
  --ctp-pink: #FF66AC;
  --ctp-flamingo: #FF8280;
  --ctp-rosewater: #FFB3A6;
  --ctp-maroon: #EA0027;
  --ctp-peach: #FFB000;

  --bg-app: #030303;
  --bg-sidebar: #1A1A1B;
  --bg-card: #1A1A1B;
  --bg-hover: #272729;
  --bg-player: #1A1A1B;
  --bg-glass: rgba(26, 26, 27, 0.9);

  --accent: #FF4500;
  --accent-dim: rgba(255, 69, 0, 0.1);
  --accent-glow: rgba(255, 69, 0, 0.3);
  --volume-accent: #FF4500;

  --text-primary: #D7DADC;
  --text-secondary: #D7DADC;
  --text-muted: #818384;
  --border: #343536;
  --border-subtle: #272729;

  --radius-sm: 4px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
}

[data-theme='readit'] .player-bar {
  border-top: 1px solid var(--border);
  background: var(--bg-sidebar);
}

[data-theme='readit'] .sidebar {
  border-right: 1px solid var(--border);
}

[data-theme='readit'] .nav-link.active {
  background: transparent;
  color: var(--accent);
}

[data-theme='readit'] .nav-link.active::before {
  background: var(--accent) !important;
  width: 2px;
  border-radius: 0 2px 2px 0;
}

[data-theme='readit'] .btn-primary {
  background: var(--accent);
  color: white;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 11px;
}

[data-theme='readit'] .btn-primary:hover {
  background: var(--ctp-lavender);
}

[data-theme='readit'] .card {
  border: 1px solid var(--border);
}

[data-theme='readit'] .queue-item.active {
  border-left: 2px solid var(--accent);
  background: var(--accent-dim);
}

/* ── Insta (Social Media) ───────────────────────────────────── */
[data-theme='insta'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23FFFFFF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #000000;
  --ctp-mantle: #000000;
  --ctp-base: #121212;
  --ctp-surface0: #1A1A1A;
  --ctp-surface1: #262626;
  --ctp-surface2: #363636;
  --ctp-overlay0: #737373;
  --ctp-overlay1: #A8A8A8;
  --ctp-overlay2: #C7C7C7;
  --ctp-text: #F5F5F5;
  --ctp-subtext1: #DBDBDB;
  --ctp-subtext0: #8E8E8E;

  --ctp-mauve: #E1306C;
  --ctp-lavender: #C13584;
  --ctp-green: #0095F6;
  --ctp-yellow: #FFD600;
  --ctp-red: #ED4956;
  --ctp-peach: #F56040;
  --ctp-flamingo: #FD1D1D;
  --ctp-blue: #0095F6;
  --ctp-teal: #0095F6;
  --ctp-sky: #C13584;
  --ctp-sapphire: #833ab4;
  --ctp-pink: #E1306C;
  --ctp-rosewater: #fcb045;
  --ctp-maroon: #ED4956;

  --bg-app: #121212;
  --bg-sidebar: #000000;
  --bg-card: #1A1A1A;
  --bg-hover: #262626;
  --bg-player: #000000;
  --bg-glass: rgba(0, 0, 0, 0.85);

  --accent: #E1306C;
  --accent-dim: rgba(225, 48, 108, 0.15);
  --accent-glow: rgba(225, 48, 108, 0.35);
  --volume-accent: #E1306C;

  --text-primary: #F5F5F5;
  --text-secondary: #A8A8A8;
  --text-muted: #737373;
  --border: #262626;
  --border-subtle: #1A1A1A;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 22px;
}

[data-theme='insta'] .progress-bar-fill {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}

[data-theme='insta'] .nav-link.active::before {
  background: linear-gradient(to bottom, #833ab4, #fd1d1d, #fcb045) !important;
  width: 3px;
}

[data-theme='insta'] .player-bar {
  border-top: 1px solid var(--border);
}

[data-theme='insta'] .btn-primary:hover {
  background: linear-gradient(45deg, #f09433, #dc2743, #bc1888) !important;
  border-color: transparent;
}

[data-theme='insta'] .sidebar {
  border-right: 1px solid var(--border);
}

/* ── Hill Valley 85 (Movies) ────────────────────────────────── */
/* ─── Back to the Future — Hill Valley '85 ─── */
[data-theme='hill-valley-85'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ff8c00%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #020106;
  --ctp-mantle: #07060f;
  --ctp-base: #0d0b18;
  --ctp-surface0: #151220;
  --ctp-surface1: #1e1a2c;
  --ctp-surface2: #272338;
  --ctp-overlay0: #3d3455;
  --ctp-overlay1: #5a4e70;
  --ctp-overlay2: #7a6e90;
  --ctp-text: #ede0c8;
  --ctp-subtext1: #c8b898;
  --ctp-subtext0: #a09070;
  /* BTTF palette: flame orange, DeLorean red, lightning blue, flux yellow */
  --ctp-mauve: #ff8c00;
  --ctp-lavender: #ffaa33;
  --ctp-red: #ff2200;
  --ctp-blue: #3d88ff;
  --ctp-sapphire: #1a5ccc;
  --ctp-sky: #66aaff;
  --ctp-teal: #00ccff;
  --ctp-green: #44dd00;
  --ctp-yellow: #ffe033;
  --ctp-peach: #ff6600;
  --ctp-pink: #ff44aa;
  --ctp-flamingo: #ff2266;
  --ctp-rosewater: #ffd0b0;
  --ctp-maroon: #cc1100;

  /* ── Semantic tokens ── */
  --bg-app: #0d0b18;
  --bg-sidebar: #08060f;
  --bg-card: #141120;
  --bg-hover: rgba(255, 140, 0, 0.12);
  --bg-player: #040209;
  --bg-glass: rgba(6, 4, 12, 0.96);
  --accent: #ff8c00;
  --accent-dim: rgba(255, 140, 0, 0.12);
  --accent-glow: rgba(255, 140, 0, 0.40);
  --volume-accent: #ff8c00;
  --text-primary: #ede0c8;
  --text-secondary: #c8b898;
  --text-muted: #b0a0c8;
  --border: rgba(255, 140, 0, 0.20);
  --border-subtle: rgba(255, 140, 0, 0.10);
  --positive: #44dd00;
  --warning: #ffe033;
  --danger: #ff2200;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

/* ── App shell: Hill Valley night sky — orange fire & blue lightning ── */
[data-theme='hill-valley-85'] .app-shell {
  background:
    radial-gradient(ellipse at 15% 80%, rgba(255, 110, 0, 0.07) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 15%, rgba(60, 130, 255, 0.06) 0%, transparent 50%),
    #0d0b18;
}

/* ── Sidebar: DeLorean stainless steel panels ── */
[data-theme='hill-valley-85'] .sidebar {
  background-color: #08060f;
  background-image: repeating-linear-gradient(90deg,
      rgba(255, 255, 255, 0.025) 0px, rgba(255, 255, 255, 0.025) 1px,
      transparent 1px, transparent 10px);
  border-right: 1px solid rgba(255, 140, 0, 0.22);
  box-shadow: inset -2px 0 8px rgba(255, 100, 0, 0.05), 2px 0 6px rgba(0, 0, 0, 0.40);
}

/* Nav links */
[data-theme='hill-valley-85'] .nav-link {
  color: #c8b898;
}

[data-theme='hill-valley-85'] .nav-link:hover {
  background: rgba(255, 140, 0, 0.10);
  color: #ede0c8;
}

[data-theme='hill-valley-85'] .nav-link.active {
  background: linear-gradient(90deg, rgba(255, 140, 0, 0.18) 0%, transparent 100%);
  color: #ff8c00;
  border-left: 2px solid #ff8c00;
  box-shadow: inset 4px 0 12px rgba(255, 140, 0, 0.10);
}

[data-theme='hill-valley-85'] .nav-link.active::before {
  background: #ff8c00;
  box-shadow: 0 0 8px rgba(255, 140, 0, 0.70);
}

[data-theme='hill-valley-85'] .nav-link.active svg {
  color: #ff8c00;
}

/* ── Player bar: DeLorean time circuit console ── */
[data-theme='hill-valley-85'] .player-bar {
  background: linear-gradient(180deg, #060410 0%, #030208 100%);
  border-top: 2px solid rgba(255, 140, 0, 0.45);
  box-shadow:
    inset 0 1px 0 rgba(255, 140, 0, 0.18),
    0 -6px 30px rgba(255, 100, 0, 0.12),
    0 -2px 60px rgba(60, 130, 255, 0.04);
}

/* Track name: DeLorean time circuit red LED display */
[data-theme='hill-valley-85'] .player-track-name {
  color: #ff2200;
  font-family: 'Courier New', 'Courier', monospace;
  text-shadow:
    0 0 8px rgba(255, 34, 0, 0.90),
    0 0 18px rgba(255, 34, 0, 0.50),
    0 0 30px rgba(255, 34, 0, 0.20);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 700;
}

/* Artist name: amber LED — second row of the time display */
[data-theme='hill-valley-85'] .player-track-artist {
  color: #ff8c00;
  font-family: 'Courier New', monospace;
  text-shadow: 0 0 8px rgba(255, 140, 0, 0.65);
  letter-spacing: 0.5px;
  opacity: 1;
}

/* Time readout: amber LCD */
[data-theme='hill-valley-85'] .player-time {
  color: #cc6a00;
  font-family: 'Courier New', monospace;
  text-shadow: 0 0 6px rgba(255, 140, 0, 0.40);
}

/* ── Transport buttons: illuminated 80s switches ── */
[data-theme='hill-valley-85'] .player-btn,
[data-theme='hill-valley-85'] .player-btn-primary {
  background: linear-gradient(180deg, #100d1c 0%, #0a0815 100%);
  color: #ff8c00;
  border: 1px solid rgba(255, 140, 0, 0.35);
  border-radius: 50%;
  box-shadow: inset 0 0 6px rgba(255, 100, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.50);
}

[data-theme='hill-valley-85'] .player-btn:hover,
[data-theme='hill-valley-85'] .player-btn-primary:hover {
  background: rgba(255, 140, 0, 0.12);
  border-color: #ff8c00;
  color: #ffaa33;
  box-shadow:
    0 0 14px rgba(255, 140, 0, 0.40),
    inset 0 0 8px rgba(255, 100, 0, 0.08);
}

/* ── Regular buttons: DeLorean console switches ── */
[data-theme='hill-valley-85'] .btn,
[data-theme='hill-valley-85'] .btn-surface,
[data-theme='hill-valley-85'] .btn-ghost {
  background: linear-gradient(180deg, #141120 0%, #0e0c1a 100%);
  color: #c8b898;
  border: 1px solid rgba(255, 140, 0, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 1px 3px rgba(0, 0, 0, 0.40);
  border-radius: 4px;
}

[data-theme='hill-valley-85'] .btn:hover,
[data-theme='hill-valley-85'] .btn-surface:hover,
[data-theme='hill-valley-85'] .btn-ghost:hover {
  background: rgba(255, 140, 0, 0.10);
  border-color: rgba(255, 140, 0, 0.60);
  color: #ede0c8;
  box-shadow: 0 0 10px rgba(255, 140, 0, 0.22), inset 0 0 6px rgba(255, 100, 0, 0.05);
}

/* ── Primary button: fire orange ── */
[data-theme='hill-valley-85'] .btn-primary {
  background: linear-gradient(180deg, #cc5500 0%, #993d00 100%);
  color: #ffffff;
  border: 1px solid #ff6600;
  box-shadow: 0 0 12px rgba(255, 140, 0, 0.30), inset 0 1px 0 rgba(255, 180, 0, 0.25);
  border-radius: 4px;
}

[data-theme='hill-valley-85'] .btn-primary:hover {
  background: linear-gradient(180deg, #e86000 0%, #b04800 100%);
  box-shadow: 0 0 18px rgba(255, 140, 0, 0.50), inset 0 1px 0 rgba(255, 200, 0, 0.25);
}

/* ── Hero / album-card buttons ── */
[data-theme='hill-valley-85'] .hero-play-btn,
[data-theme='hill-valley-85'] .album-card-details-btn {
  background: rgba(255, 140, 0, 0.10);
  color: #ff8c00;
  border: 1px solid rgba(255, 140, 0, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 180, 0, 0.08);
}

[data-theme='hill-valley-85'] .hero-play-btn:hover,
[data-theme='hill-valley-85'] .album-card-details-btn:hover {
  background: rgba(255, 140, 0, 0.18);
  border-color: #ff8c00;
  box-shadow: 0 0 12px rgba(255, 140, 0, 0.35);
}

/* ── Queue toolbar round buttons ── */
[data-theme='hill-valley-85'] .queue-round-btn {
  background: linear-gradient(180deg, #141120 0%, #0e0c1a 100%);
  color: #a09070;
  border: 1px solid rgba(255, 140, 0, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

[data-theme='hill-valley-85'] .queue-round-btn:hover:not(:disabled):not(.active) {
  background: rgba(255, 140, 0, 0.10);
  border-color: rgba(255, 140, 0, 0.55);
  color: #ff8c00;
  box-shadow: 0 0 10px rgba(255, 140, 0, 0.22);
}

[data-theme='hill-valley-85'] .queue-round-btn.active {
  background: rgba(255, 140, 0, 0.18);
  border-color: #ff8c00;
  color: #ff8c00;
  box-shadow: 0 0 12px rgba(255, 140, 0, 0.40), inset 0 0 6px rgba(255, 100, 0, 0.08);
}

/* ── Cards: dark interior panels ── */
[data-theme='hill-valley-85'] .card {
  background: #141120;
  border: 1px solid rgba(255, 140, 0, 0.14);
  box-shadow: inset 0 0 20px rgba(255, 100, 0, 0.03), 0 2px 8px rgba(0, 0, 0, 0.40);
}

/* ── Content header: console panel strip ── */
[data-theme='hill-valley-85'] .content-header {
  background: linear-gradient(180deg, #100d1c 0%, #0d0b18 100%);
  border-bottom: 1px solid rgba(255, 140, 0, 0.22);
  box-shadow: 0 2px 12px rgba(255, 100, 0, 0.05);
}

/* ── Theme accordion ── */
[data-theme='hill-valley-85'] .theme-accordion-header:hover {
  background: rgba(255, 140, 0, 0.10);
  color: #ff8c00;
}

[data-theme='hill-valley-85'] .theme-accordion-open .theme-accordion-header {
  background: rgba(255, 140, 0, 0.12);
  color: #ff8c00;
}

[data-theme='hill-valley-85'] .theme-accordion-open .theme-accordion-chevron {
  color: #ff8c00;
}

/* ── Progress bar: speedometer reaching 88 mph ── */
[data-theme='hill-valley-85'] .progress-bar-track {
  background: #0a0815;
  border: 1px solid rgba(255, 140, 0, 0.20);
  border-radius: 2px;
}

[data-theme='hill-valley-85'] .progress-bar-fill {
  background: linear-gradient(90deg, #993d00 0%, #cc5500 40%, #ff8c00 80%, #ffaa33 100%);
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(255, 140, 0, 0.55), 0 0 3px rgba(255, 200, 0, 0.40);
}

/* ── Scrollbar: fire trail minimal ── */
[data-theme='hill-valley-85'] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

[data-theme='hill-valley-85'] ::-webkit-scrollbar-track {
  background: #07060e;
}

[data-theme='hill-valley-85'] ::-webkit-scrollbar-thumb {
  background: rgba(255, 140, 0, 0.28);
  border: 1px solid rgba(255, 140, 0, 0.18);
  border-radius: 3px;
}

[data-theme='hill-valley-85'] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 140, 0, 0.55);
  box-shadow: 0 0 6px rgba(255, 140, 0, 0.40);
}

/* ── Glass / dropdowns: dark DeLorean interior ── */
[data-theme='hill-valley-85'] .glass {
  background: rgba(6, 4, 12, 0.97) !important;
  backdrop-filter: none !important;
  border: 1px solid rgba(255, 140, 0, 0.28) !important;
  box-shadow:
    0 0 20px rgba(255, 100, 0, 0.08),
    inset 0 0 16px rgba(255, 100, 0, 0.02) !important;
  border-radius: 4px !important;
}

[data-theme='hill-valley-85'] .glass [style*="var(--bg-hover)"] {
  background: rgba(255, 140, 0, 0.10) !important;
  border-radius: 2px !important;
}

[data-theme='hill-valley-85'] .glass [style*="var(--text-primary)"] {
  color: #ede0c8 !important;
}

[data-theme='hill-valley-85'] .glass [style*="var(--text-secondary)"] {
  color: #c8b898 !important;
}

[data-theme='hill-valley-85'] .glass [style*="var(--text-muted)"] {
  color: #5a4e70 !important;
}

/* ── Hover / selection: fire orange glow ── */
[data-theme='hill-valley-85'] .queue-tab-btn:hover {
  background: rgba(255, 140, 0, 0.10);
  color: #ff8c00;
}

[data-theme='hill-valley-85'] .settings-tab:hover {
  background: rgba(255, 140, 0, 0.10);
  color: #ff8c00;
}

[data-theme='hill-valley-85'] .settings-tab.active {
  background: rgba(255, 140, 0, 0.15);
  color: #ff8c00;
  box-shadow: inset 2px 0 0 #ff8c00;
}

[data-theme='hill-valley-85'] .custom-select-trigger:hover {
  background: rgba(255, 140, 0, 0.10);
}

[data-theme='hill-valley-85'] .custom-select-option:hover {
  background: rgba(255, 140, 0, 0.14) !important;
  color: #ffaa33 !important;
}

[data-theme='hill-valley-85'] .artist-ext-link:hover {
  background: rgba(255, 140, 0, 0.10);
  color: #ff8c00 !important;
  border-color: rgba(255, 140, 0, 0.50) !important;
}

[data-theme='hill-valley-85'] .np-action-btn:hover {
  background: rgba(255, 140, 0, 0.10);
}

[data-theme='hill-valley-85'] .np-queue-item:hover,
[data-theme='hill-valley-85'] .np-queue-item.context-active {
  background: rgba(255, 140, 0, 0.12);
  box-shadow: inset 2px 0 0 #ff8c00;
}

[data-theme='hill-valley-85'] .track-row:hover,
[data-theme='hill-valley-85'] .track-row.context-active {
  background: rgba(255, 140, 0, 0.08) !important;
  box-shadow: inset 2px 0 0 #ff8c00;
}

[data-theme='hill-valley-85'] .artist-row:hover {
  background: rgba(255, 140, 0, 0.08);
  box-shadow: inset 2px 0 0 #ff8c00;
}

[data-theme='hill-valley-85'] .playlist-row:hover {
  background: rgba(255, 140, 0, 0.08);
  box-shadow: inset 2px 0 0 #ff8c00;
}

[data-theme='hill-valley-85'] .queue-item:hover,
[data-theme='hill-valley-85'] .queue-item.context-active {
  background: rgba(255, 140, 0, 0.10) !important;
  box-shadow: inset 2px 0 0 #ff8c00;
}

[data-theme='hill-valley-85'] .queue-item:hover .queue-item-title,
[data-theme='hill-valley-85'] .queue-item:hover .queue-item-artist,
[data-theme='hill-valley-85'] .queue-item:hover .queue-item-duration,
[data-theme='hill-valley-85'] .queue-item.context-active .queue-item-title,
[data-theme='hill-valley-85'] .queue-item.context-active .queue-item-artist,
[data-theme='hill-valley-85'] .queue-item.context-active .queue-item-duration {
  color: #ff8c00;
}

/* ── Active queue item: glowing orange ── */
[data-theme='hill-valley-85'] .queue-item.active {
  background: rgba(255, 140, 0, 0.08);
  box-shadow: inset 2px 0 0 #ff8c00;
}

[data-theme='hill-valley-85'] .np-queue-item-active {
  color: #ff8c00;
  text-shadow: 0 0 8px rgba(255, 140, 0, 0.55);
}

[data-theme='hill-valley-85'] .np-queue-item.active {
  background: rgba(255, 140, 0, 0.08);
}

[data-theme='hill-valley-85'] .np-album-track.active .np-album-track-title,
[data-theme='hill-valley-85'] .np-album-track.active .np-album-track-num {
  color: #ff8c00;
  text-shadow: 0 0 8px rgba(255, 140, 0, 0.50);
}

[data-theme='turtle-power'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2333cc33%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #0a0a0a;
  --ctp-mantle: #121212;
  --ctp-base: #1a1a1a;
  --ctp-surface0: #2a2a2a;
  --ctp-surface1: #353535;
  --ctp-surface2: #404040;
  --ctp-overlay0: #556655;
  --ctp-overlay1: #778877;
  --ctp-overlay2: #99aa99;
  --ctp-text: #e0e0e0;
  --ctp-subtext1: #a0b0a0;
  --ctp-subtext0: #809080;

  --ctp-mauve: #33cc33;
  --ctp-lavender: #44ee44;
  --ctp-red: #ff0000;
  --ctp-blue: #00aaff;
  --ctp-peach: #ff8c00;
  --ctp-yellow: #ffcc00;
  --ctp-maroon: #a020f0;
  --ctp-green: #33cc33;
  --ctp-teal: #44ee44;
  --ctp-sky: #00aaff;
  --ctp-sapphire: #0077cc;
  --ctp-pink: #ff66aa;
  --ctp-flamingo: #ff4488;
  --ctp-rosewater: #ffaacc;

  --bg-app: #1a1a1a;
  --bg-sidebar: #121212;
  --bg-card: #242424;
  --bg-hover: rgba(51, 204, 51, 0.1);
  --bg-player: #0a0a0a;
  --bg-glass: rgba(10, 10, 10, 0.85);

  --accent: #33cc33;
  --accent-dim: rgba(51, 204, 51, 0.15);
  --accent-glow: rgba(51, 204, 51, 0.4);
  --volume-accent: #33cc33;

  --text-primary: #e0e0e0;
  --text-secondary: #a0b0a0;
  --text-muted: #667766;
  --border: #333333;
  --border-subtle: #222222;

  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
}

[data-theme='turtle-power'] .sidebar {
  background-image:
    linear-gradient(335deg, #161616 5px, transparent 5px),
    linear-gradient(155deg, #161616 5px, transparent 5px),
    linear-gradient(335deg, #161616 5px, transparent 5px),
    linear-gradient(155deg, #161616 5px, transparent 5px);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px, 10px 10px, 0 0;
  border-right: 2px solid #222;
}

[data-theme='turtle-power'] .player-bar {
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border-top: 2px solid #333;
  box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.5);
}

[data-theme='turtle-power'] .player-track-name {
  color: #44ee44;
  text-shadow: 0 0 8px rgba(68, 238, 68, 0.6);
  font-weight: bold;
}

[data-theme='turtle-power'] .btn-primary,
[data-theme='turtle-power'] .player-btn-primary {
  background: linear-gradient(145deg, #33cc33, #28a428);
  border: 1px solid #1e7a1e;
  box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.3), 2px 2px 5px rgba(0, 0, 0, 0.5);
  color: #000 !important;
}

[data-theme='turtle-power'] .nav-link.active {
  background: var(--accent-dim);
  border-left: 4px solid var(--accent);
  color: var(--accent) !important;
  text-shadow: 0 0 5px rgba(51, 204, 51, 0.3);
}

[data-theme='turtle-power'] .queue-item.active {
  border-left: 3px solid var(--accent);
  background: rgba(51, 204, 51, 0.05);
}

/* ── W3.1 (Operating Systems) ───────────────────────────────── */
[data-theme='w3-1'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Authentische W3.1 Palette ── */
  --ctp-crust: #808080;
  --ctp-mantle: #a0a0a0;
  --ctp-base: #c0c0c0;
  /* Reines W3.1 Grau */
  --ctp-surface0: #ffffff;
  --ctp-surface1: #e0e0e0;
  --ctp-surface2: #c0c0c0;
  --ctp-overlay0: #808080;
  --ctp-overlay1: #404040;
  --ctp-overlay2: #000000;
  --ctp-text: #000000;
  --ctp-subtext1: #000000;
  --ctp-subtext0: #000000;

  --ctp-mauve: #000080;
  --ctp-lavender: #0000a0;
  --ctp-green: #008000;
  --ctp-teal: #008080;
  --ctp-sky: #0000ff;
  --ctp-blue: #000080;
  --ctp-sapphire: #000080;
  --ctp-pink: #ff00ff;
  --ctp-flamingo: #ff00ff;
  --ctp-rosewater: #ffffff;
  --ctp-yellow: #ffff00;
  --ctp-peach: #ff8000;
  --ctp-maroon: #800000;
  --ctp-red: #ff0000;

  --bg-app: #008080;
  /* Teal Desktop */
  --bg-sidebar: #c0c0c0;
  --bg-card: #ffffff;
  --bg-hover: #000080;
  --bg-player: #c0c0c0;
  --bg-glass: #c0c0c0;

  --accent: #000080;
  --accent-dim: rgba(0, 0, 128, 0.12);
  --accent-glow: transparent;
  --volume-accent: #000080;

  --text-primary: #000000;
  --text-secondary: #000000;
  --text-muted: #000000;

  --border: #000000;
  --border-subtle: #808080;
  --border-dropdown: #000000;
  --shadow-dropdown: rgba(0, 0, 0, 0.4);

  --positive: #008000;
  --warning: #808000;
  --danger: #ff0000;

  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-xl: 0px;
  --radius-full: 0px;
}

/* Teal Desktop */
[data-theme='w3-1'] .app-shell {
  background: #008080;
}

/* ── W3.1 Bevel (2-Layer, schlichter als W98) ── */
[data-theme='w3-1'] .sidebar,
[data-theme='w3-1'] .player-bar,
[data-theme='w3-1'] .card {
  background: #c0c0c0;
  border: 2px solid #000000;
  box-shadow:
    inset 1px 1px #ffffff,
    inset -1px -1px #808080;
}

[data-theme='w3-1'] .sidebar {
  border-right: 2px solid #000000;
}

/* Titelbalken-Stil: solides Navy — der Kern-Unterschied zu W98 */
[data-theme='w3-1'] .player-bar {
  border-top: 2px solid #000000;
}

[data-theme='w3-1'] .player-track-name {
  background: #000080;
  color: #ffffff !important;
  padding: 2px 6px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.03em;
}

[data-theme='w3-1'] .player-track-artist,
[data-theme='w3-1'] .player-time {
  color: #000000 !important;
}

/* Nav */
[data-theme='w3-1'] .nav-link.active {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w3-1'] .nav-link.active svg {
  color: #ffffff !important;
}

[data-theme='w3-1'] .nav-link:hover:not(.active) {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w3-1'] .nav-link:hover:not(.active) svg {
  color: #ffffff !important;
}

/* Accordion (Settings Theme Picker) */
[data-theme='w3-1'] .nav-section-label {
  color: #000000 !important;
}

[data-theme='w3-1'] .theme-accordion-header:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .theme-accordion-open .theme-accordion-header {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .theme-accordion-open .theme-accordion-chevron {
  color: #ffffff;
}

/* Alle Buttons: W3.1 Bevel (einfach, ohne doppelte Inset-Schicht) */
[data-theme='w3-1'] .btn,
[data-theme='w3-1'] .btn-primary,
[data-theme='w3-1'] .btn-surface,
[data-theme='w3-1'] .btn-ghost,
[data-theme='w3-1'] .hero-play-btn,
[data-theme='w3-1'] .queue-round-btn,
[data-theme='w3-1'] .player-btn,
[data-theme='w3-1'] .album-card-details-btn {
  background: #c0c0c0 !important;
  color: #000000 !important;
  border: 1px solid #000000 !important;
  border-radius: 0 !important;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080 !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* Gedrückt */
[data-theme='w3-1'] .btn:active,
[data-theme='w3-1'] .btn-primary:active,
[data-theme='w3-1'] .btn-surface:active,
[data-theme='w3-1'] .btn-ghost:active,
[data-theme='w3-1'] .hero-play-btn:active,
[data-theme='w3-1'] .queue-round-btn:active,
[data-theme='w3-1'] .player-btn:active,
[data-theme='w3-1'] .album-card-details-btn:active {
  box-shadow: inset -1px -1px #ffffff, inset 1px 1px #808080 !important;
}

/* Hover */
[data-theme='w3-1'] .btn:hover,
[data-theme='w3-1'] .btn-primary:hover,
[data-theme='w3-1'] .btn-surface:hover,
[data-theme='w3-1'] .btn-ghost:hover,
[data-theme='w3-1'] .hero-play-btn:hover,
[data-theme='w3-1'] .album-card-details-btn:hover {
  background: #d0d0d0 !important;
  color: #000000 !important;
}

/* Aktive Queue-Buttons */
[data-theme='w3-1'] .queue-round-btn.active {
  background: #000080 !important;
  color: #ffffff !important;
  box-shadow: inset -1px -1px #ffffff, inset 1px 1px #808080 !important;
}

[data-theme='w3-1'] .queue-round-btn:hover:not(:disabled):not(.active) {
  background: #d0d0d0 !important;
  color: #000000 !important;
}

/* Progress Bar */
[data-theme='w3-1'] .progress-bar-track {
  background: #ffffff;
  box-shadow: inset 1px 1px #808080, inset -1px -1px #ffffff;
  border-radius: 0;
}

[data-theme='w3-1'] .progress-bar-fill {
  background: #000080;
  border-radius: 0;
  box-shadow: none;
}

/* Scrollbar */
[data-theme='w3-1'] ::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

[data-theme='w3-1'] ::-webkit-scrollbar-track {
  background: #c0c0c0;
}

[data-theme='w3-1'] ::-webkit-scrollbar-thumb {
  background: #c0c0c0;
  border: 1px solid #000000;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080;
}

/* Cards */
[data-theme='w3-1'] .card {
  background: #ffffff;
  border: 2px solid #000000;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080;
}

/* Glass (Live Dropdown etc.) */
[data-theme='w3-1'] .glass {
  background: #c0c0c0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 2px solid #000000;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080;
  color: #000000;
}

[data-theme='w3-1'] .glass [style*="var(--bg-hover)"] {
  background: #d8d8d8 !important;
  border: 1px solid #808080;
  border-radius: 0 !important;
}

[data-theme='w3-1'] .glass [style*="var(--text-primary)"],
[data-theme='w3-1'] .glass [style*="var(--text-secondary)"],
[data-theme='w3-1'] .glass [style*="var(--text-muted)"] {
  color: #000000 !important;
}

/* Universelle Hover-Zustände → navy + weiß */
[data-theme='w3-1'] .queue-tab-btn:hover {
  background: #d0d0d0;
  color: #000000;
}

[data-theme='w3-1'] .settings-tab:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .custom-select-trigger:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .custom-select-option:hover {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w3-1'] .artist-ext-link:hover {
  background: #000080;
  color: #ffffff !important;
}

[data-theme='w3-1'] .np-action-btn:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .np-queue-item:hover,
[data-theme='w3-1'] .np-queue-item.context-active {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .track-row:hover,
[data-theme='w3-1'] .track-row.context-active {
  background: #000080 !important;
}

[data-theme='w3-1'] .track-row:hover *,
[data-theme='w3-1'] .track-row.context-active * {
  color: #ffffff !important;
}

[data-theme='w3-1'] .artist-row:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .playlist-row:hover {
  background: #000080;
}

[data-theme='w3-1'] .playlist-row:hover,
[data-theme='w3-1'] .playlist-row:hover * {
  color: #ffffff;
}

[data-theme='w3-1'] .queue-item:hover,
[data-theme='w3-1'] .queue-item.context-active {
  background: #000080 !important;
}

[data-theme='w3-1'] .queue-item:hover .queue-item-title,
[data-theme='w3-1'] .queue-item:hover .queue-item-artist,
[data-theme='w3-1'] .queue-item:hover .queue-item-duration,
[data-theme='w3-1'] .queue-item.context-active .queue-item-title,
[data-theme='w3-1'] .queue-item.context-active .queue-item-artist,
[data-theme='w3-1'] .queue-item.context-active .queue-item-duration {
  color: #ffffff;
}

[data-theme='w3-1'] .player-btn:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .player-btn-primary {
  background: #c0c0c0 !important;
  color: #000000 !important;
}

[data-theme='w3-1'] .player-btn-primary:hover {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w3-1'] .search-result-item:hover,
[data-theme='w3-1'] .search-result-item.active {
  background: #000080;
}

[data-theme='w3-1'] .search-result-item:hover .search-result-name,
[data-theme='w3-1'] .search-result-item:hover .search-result-sub,
[data-theme='w3-1'] .search-result-item.active .search-result-name,
[data-theme='w3-1'] .search-result-item.active .search-result-sub {
  color: #ffffff;
}

[data-theme='w3-1'] .np-title {
  color: #000080 !important;
}

[data-theme='w3-1'] .changelog-code {
  background: #ffffff;
  color: #000080;
  border: 1px solid #808080;
}

[data-theme='w3-1'] .keybind-badge {
  background: #c0c0c0 !important;
  color: #000000 !important;
  border: 1px solid #808080 !important;
}

[data-theme='w3-1'] .genre-keyword-badge {
  background: #c0c0c0 !important;
  color: #000000 !important;
  border: 1px solid #808080 !important;
}

[data-theme='w3-1'] .eq-ctrl-btn {
  background: #c0c0c0;
  color: #000000;
  border: 1px solid #808080;
  box-shadow: inset 1px 1px #ffffff, inset -1px -1px #808080;
}

[data-theme='w3-1'] .eq-ctrl-btn:hover {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .toggle-track::before {
  background: #c0c0c0;
  border: 1px solid #808080;
}

[data-theme='w3-1'] .hero-eyebrow {
  color: rgba(255, 255, 255, 0.9);
}

[data-theme='w3-1'] .hero-meta .badge {
  background: rgba(255, 255, 255, 0.15);
}

[data-theme='w3-1'] .connection-type,
[data-theme='w3-1'] .connection-server {
  color: #000000;
}

[data-theme='w3-1'] .collapse-btn {
  border-color: #808080 !important;
}

[data-theme='w3-1'] .collapse-btn:hover {
  background: #000080 !important;
  color: #ffffff !important;
}

[data-theme='w3-1'] .album-row-nav .nav-btn:hover:not(.disabled) {
  background: #000080;
  color: #ffffff;
}

[data-theme='w3-1'] .help-question:hover {
  color: #000080;
}

[data-theme='w3-1'] .help-item-open .help-question {
  color: #000080;
  font-weight: bold;
}

[data-theme='w3-1'] .year-toggle:hover {
  color: #000080;
}

/* ─── Ubuntu — Unity Ambiance (Classic Light) ─── */
/* Warm human desktop: aubergine launcher + orange accent + warm off-white content */
[data-theme='ubuntu-ambiance'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%237d6e68%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette — warm human spectrum ── */
  --ctp-crust: #1a000f;
  /* panel blackout aubergine */
  --ctp-mantle: #2c001e;
  /* Ubuntu top/bottom panel */
  --ctp-base: #f4efea;
  /* Ambiance window warm off-white */
  --ctp-surface0: #ede8e2;
  --ctp-surface1: #e4dfd8;
  --ctp-surface2: #d8d0c8;
  --ctp-overlay0: #c0b0a0;
  --ctp-overlay1: #a89080;
  --ctp-overlay2: #907870;
  --ctp-text: #3d2b2b;
  /* warm dark brown — human, not pure black */
  --ctp-subtext1: #5d4e48;
  --ctp-subtext0: #7d6e68;
  /* Ubuntu color spectrum */
  --ctp-mauve: #e95420;
  /* Ubuntu Orange — the soul of Ubuntu */
  --ctp-lavender: #f06030;
  --ctp-sky: #f07050;
  --ctp-peach: #e95420;
  --ctp-teal: #06989a;
  --ctp-blue: #3465a4;
  --ctp-sapphire: #204a87;
  --ctp-green: #4e9a06;
  /* Ubuntu success green */
  --ctp-yellow: #c4a000;
  --ctp-pink: #cc1e4a;
  --ctp-flamingo: #a52828;
  --ctp-maroon: #800000;
  --ctp-red: #cc0000;
  --ctp-rosewater: #cc4444;

  /* ── Semantic tokens ── */
  --bg-app: #f4efea;
  /* warm Ambiance window */
  --bg-sidebar: #3d1f3d;
  /* Unity Launcher — dark aubergine */
  --bg-card: #ede8e2;
  --bg-hover: #e4ddd5;
  --bg-player: #2c001e;
  /* Ubuntu panel — blackest aubergine */
  --bg-glass: rgba(244, 239, 234, 0.94);
  --accent: #e95420;
  /* Ubuntu Orange */
  --accent-dim: rgba(233, 84, 32, 0.12);
  --accent-glow: rgba(233, 84, 32, 0.30);
  --text-primary: #3d2b2b;
  --text-secondary: #5d4e48;
  --text-muted: #7d6e68;
  --border: #c8b8a8;
  --border-subtle: #ddd5cc;
  --positive: #4e9a06;
  --warning: #c4a000;
  --danger: #cc0000;
}

/* ── App shell: warm Ambiance off-white ── */
[data-theme='ubuntu-ambiance'] .app-shell {
  background: #f4efea;
}

/* ── Sidebar: Unity Launcher dark aubergine ── */
[data-theme='ubuntu-ambiance'] .sidebar {
  background: linear-gradient(180deg, #3d1f3d 0%, #2e162e 100%);
  border-right: 1px solid #1a0a1a;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.35);
}

/* Sidebar text: light on dark aubergine */
[data-theme='ubuntu-ambiance'] .sidebar-logo-text,
[data-theme='ubuntu-ambiance'] .nav-link,
[data-theme='ubuntu-ambiance'] .sidebar-bottom a,
[data-theme='ubuntu-ambiance'] .sidebar-bottom button {
  color: rgba(255, 255, 255, 0.72);
}

[data-theme='ubuntu-ambiance'] .nav-link:hover {
  background: rgba(255, 255, 255, 0.09);
  color: #ffffff;
}

[data-theme='ubuntu-ambiance'] .nav-link.active {
  background: rgba(233, 84, 32, 0.22);
  color: #ffffff;
}

[data-theme='ubuntu-ambiance'] .nav-link.active::before {
  background: #e95420;
  box-shadow: 0 0 8px rgba(233, 84, 32, 0.60);
}

[data-theme='ubuntu-ambiance'] {
  --logo-color-start: #ffffff;
  --logo-color-end: #ffb090;
}

[data-theme='ubuntu-ambiance'] .sidebar-logo-icon {
  color: #e95420;
}

/* Sidebar version / muted labels */
[data-theme='ubuntu-ambiance'] .sidebar-version,
[data-theme='ubuntu-ambiance'] .update-toast {
  color: rgba(255, 255, 255, 0.40);
}

/* ── Player bar: Ubuntu panel — darkest aubergine ── */
[data-theme='ubuntu-ambiance'] .player-bar {
  background: linear-gradient(180deg, #2c001e 0%, #1a000f 100%);
  border-top: 1px solid #3d0828;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 -3px 16px rgba(0, 0, 0, 0.50);
}

/* Player text: light on dark panel */
[data-theme='ubuntu-ambiance'] .player-track-name {
  color: #ffffff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

[data-theme='ubuntu-ambiance'] .player-track-artist {
  color: rgba(255, 255, 255, 0.60);
  opacity: 1;
}

[data-theme='ubuntu-ambiance'] .player-time {
  color: rgba(255, 255, 255, 0.65);
}

/* Transport buttons: Ubuntu Orange on dark panel */
[data-theme='ubuntu-ambiance'] .player-btn,
[data-theme='ubuntu-ambiance'] .player-btn-primary {
  background: linear-gradient(180deg, #f06030 0%, #e95420 50%, #d44418 100%);
  color: #ffffff;
  border: 1px solid #b83010;
  box-shadow:
    0 2px 6px rgba(0, 0, 0, 0.50),
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20);
}

[data-theme='ubuntu-ambiance'] .player-btn:hover,
[data-theme='ubuntu-ambiance'] .player-btn-primary:hover {
  background: linear-gradient(180deg, #f87040 0%, #f06030 50%, #e04828 100%);
  box-shadow:
    0 3px 8px rgba(0, 0, 0, 0.50),
    inset 0 1px 0 rgba(255, 255, 255, 0.30),
    inset 0 -1px 0 rgba(0, 0, 0, 0.15);
}

/* ── Content area buttons: Ambiance GTK style ── */
[data-theme='ubuntu-ambiance'] .btn {
  background: linear-gradient(180deg, #f0ebe5 0%, #e4dfd8 100%);
  color: #3d2b2b;
  border: 1px solid #b8a898;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.70), 0 1px 2px rgba(0, 0, 0, 0.15);
}

[data-theme='ubuntu-ambiance'] .btn:hover {
  background: linear-gradient(180deg, #f8f3ed 0%, #ede8e2 100%);
  border-color: #a89888;
}

[data-theme='ubuntu-ambiance'] .btn-primary {
  background: linear-gradient(180deg, #f06030 0%, #e95420 100%);
  color: #ffffff;
  border: 1px solid #b83010;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 1px 3px rgba(0, 0, 0, 0.25),
    0 0 0 0px rgba(233, 84, 32, 0);
}

[data-theme='ubuntu-ambiance'] .btn-primary:hover {
  background: linear-gradient(180deg, #f87040 0%, #f06030 100%);
}

/* ── Content header: warm Ambiance title band ── */
[data-theme='ubuntu-ambiance'] .content-header {
  background: linear-gradient(180deg, rgba(244, 239, 234, 1) 0%, rgba(237, 232, 226, 0.60) 100%);
  border-bottom: 1px solid #c8b8a8;
}

/* ── Cards / panels ── */
[data-theme='ubuntu-ambiance'] .glass,
[data-theme='ubuntu-ambiance'] .card {
  background: rgba(237, 232, 226, 0.88);
  border: 1px solid #c8b8a8;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.60), 0 1px 4px rgba(0, 0, 0, 0.10);
}

/* ── Hover / active states: orange accent ── */
[data-theme='ubuntu-ambiance'] .track-row:hover,
[data-theme='ubuntu-ambiance'] .track-row.context-active {
  background: rgba(233, 84, 32, 0.07);
  box-shadow: inset 3px 0 0 #e95420;
}

[data-theme='ubuntu-ambiance'] .queue-item:hover,
[data-theme='ubuntu-ambiance'] .queue-item.context-active {
  background: rgba(233, 84, 32, 0.07);
}

[data-theme='ubuntu-ambiance'] .queue-item.active {
  background: rgba(233, 84, 32, 0.12);
  border-left: 2px solid #e95420;
}

[data-theme='ubuntu-ambiance'] .np-queue-item.active {
  background: rgba(233, 84, 32, 0.08);
}

[data-theme='ubuntu-ambiance'] .np-queue-item-active {
  color: #e95420;
}

[data-theme='ubuntu-ambiance'] .np-queue-item:hover,
[data-theme='ubuntu-ambiance'] .np-queue-item.context-active {
  background: rgba(233, 84, 32, 0.06);
}

[data-theme='ubuntu-ambiance'] .np-album-track.active .np-album-track-title,
[data-theme='ubuntu-ambiance'] .np-album-track.active .np-album-track-num {
  color: #e95420;
}

[data-theme='ubuntu-ambiance'] .artist-row:hover {
  background: rgba(233, 84, 32, 0.06);
  box-shadow: inset 3px 0 0 #e95420;
}

[data-theme='ubuntu-ambiance'] .playlist-row:hover {
  background: rgba(233, 84, 32, 0.06);
  box-shadow: inset 3px 0 0 #e95420;
}

[data-theme='ubuntu-ambiance'] .settings-tab:hover {
  background: rgba(233, 84, 32, 0.08);
  color: #e95420;
}

[data-theme='ubuntu-ambiance'] .settings-tab.active {
  background: rgba(233, 84, 32, 0.14);
  color: #e95420;
  border-color: #e95420;
}

[data-theme='ubuntu-ambiance'] .queue-tab-btn:hover {
  background: rgba(233, 84, 32, 0.08);
  color: #e95420;
}

[data-theme='ubuntu-ambiance'] .custom-select-trigger:hover {
  background: rgba(233, 84, 32, 0.07);
}

[data-theme='ubuntu-ambiance'] .custom-select-option:hover {
  background: rgba(233, 84, 32, 0.10);
}

[data-theme='ubuntu-ambiance'] .artist-ext-link:hover {
  background: rgba(233, 84, 32, 0.09);
  border-color: #e95420;
}

/* Queue panel on dark player area */
[data-theme='ubuntu-ambiance'] .queue-round-btn.active {
  color: #ffffff;
}

/* Connection indicators: warm muted on light bg */
[data-theme='ubuntu-ambiance'] .connection-type,
[data-theme='ubuntu-ambiance'] .connection-server {
  color: #907860;
}

/* ── Album chip: opaque orange pill so it reads on both dark hero and light bg ── */
[data-theme='ubuntu-ambiance'] .badge,
[data-theme='ubuntu-ambiance'] .album-detail-badge {
  background: #e95420;
  color: #ffffff;
}

/* ── Queue panel: on dark aubergine bg — all text must be light ── */
/* Header + toolbar sit on --bg-app (light) — fine as-is */
/* List, meta box, divider sit on --bg-sidebar (dark aubergine) */

[data-theme='ubuntu-ambiance'] .queue-item-title {
  color: rgba(255, 255, 255, 0.88);
}

[data-theme='ubuntu-ambiance'] .queue-item-artist,
[data-theme='ubuntu-ambiance'] .queue-item-duration {
  color: rgba(255, 255, 255, 0.52);
}

[data-theme='ubuntu-ambiance'] .queue-item.active .queue-item-artist,
[data-theme='ubuntu-ambiance'] .queue-item.active .queue-item-duration {
  color: rgba(255, 255, 255, 0.72);
}

[data-theme='ubuntu-ambiance'] .queue-divider span {
  color: rgba(255, 255, 255, 0.40) !important;
}

/* Meta box (current track info) on dark aubergine */
[data-theme='ubuntu-ambiance'] .queue-current-info h3 {
  color: rgba(255, 255, 255, 0.92);
}

[data-theme='ubuntu-ambiance'] .queue-current-sub {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme='ubuntu-ambiance'] .queue-current-cover .fallback {
  color: rgba(255, 255, 255, 0.35);
}

/* Tabs sit on dark bg too */
[data-theme='ubuntu-ambiance'] .queue-tab-btn {
  color: rgba(255, 255, 255, 0.60);
}

[data-theme='ubuntu-ambiance'] .queue-tab-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.90);
}

[data-theme='ubuntu-ambiance'] .queue-tab-btn.active {
  color: #e95420;
}

/* Action buttons in header (on light --bg-app) */
[data-theme='ubuntu-ambiance'] .queue-action-btn {
  color: #7d6e68;
}

[data-theme='ubuntu-ambiance'] .queue-action-btn:hover:not(:disabled) {
  color: #3d2b2b;
}

/* ─────────────────────────────────────────── */

/* ─── Windows 10 — Fluent Design Light ─── */
/* Clean flat white + the iconic near-black taskbar + Windows blue #0078D4 */
[data-theme='w10'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23767676%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette — Windows 10 neutral + Fluent blue ── */
  --ctp-crust: #1c1c1c;
  /* taskbar near-black */
  --ctp-mantle: #2b2b2b;
  --ctp-base: #ffffff;
  /* window white */
  --ctp-surface0: #f3f3f3;
  /* nav pane / secondary bg */
  --ctp-surface1: #ebebeb;
  --ctp-surface2: #d6d6d6;
  /* borders, dividers */
  --ctp-overlay0: #767676;
  /* muted / disabled */
  --ctp-overlay1: #4a4a4a;
  --ctp-overlay2: #2b2b2b;
  --ctp-text: #000000;
  /* primary text — true black */
  --ctp-subtext1: #1b1b1b;
  --ctp-subtext0: #5d5d5d;
  /* Windows Fluent blue spectrum */
  --ctp-mauve: #0078d4;
  /* Windows blue — THE accent */
  --ctp-lavender: #2e95d3;
  --ctp-sky: #cce4f7;
  /* selection highlight */
  --ctp-teal: #008272;
  --ctp-blue: #0063b1;
  --ctp-sapphire: #003e92;
  --ctp-green: #107c10;
  --ctp-yellow: #ffb900;
  --ctp-peach: #d83b01;
  --ctp-pink: #e3008c;
  --ctp-flamingo: #c239b3;
  --ctp-rosewater: #ef6950;
  --ctp-maroon: #a80000;
  --ctp-red: #d13438;

  /* ── Semantic tokens ── */
  --bg-app: #ffffff;
  --bg-sidebar: #f3f3f3;
  --bg-card: #ffffff;
  --bg-hover: #e8e8e8;
  --bg-player: #1c1c1c;
  /* taskbar */
  --bg-glass: rgba(255, 255, 255, 0.90);
  --accent: #0078d4;
  --accent-dim: rgba(0, 120, 212, 0.10);
  --accent-glow: rgba(0, 120, 212, 0.28);
  --text-primary: #000000;
  --text-secondary: #1b1b1b;
  --text-muted: #767676;
  --border: #d6d6d6;
  --border-subtle: #ebebeb;
  --positive: #107c10;
  --warning: #ffb900;
  --danger: #d13438;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
  /* Waveform: Windows blue progress */
  --waveform-played: #0078d4;
  --waveform-buffered: #80bbea;
  --waveform-unplayed: #d6d6d6;
}

/* ── App shell: W10 desktop — clean off-white ── */
[data-theme='w10'] .app-shell {
  background: #f3f3f3;
}

/* ── Sidebar: W10 Navigation Pane — flat light gray ── */
[data-theme='w10'] .sidebar {
  background: #f3f3f3;
  border-right: 1px solid #d6d6d6;
  box-shadow: none;
}

/* Nav links: dark on light pane */
[data-theme='w10'] .nav-link {
  color: #1b1b1b;
}

[data-theme='w10'] .nav-link:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #000000;
}

[data-theme='w10'] .nav-link.active {
  background: rgba(0, 120, 212, 0.10);
  color: #0078d4;
}

[data-theme='w10'] .nav-link.active::before {
  background: #0078d4;
  box-shadow: none;
}

/* ── Player bar: W10 Taskbar — near-black flat + accent stripe ── */
[data-theme='w10'] .player-bar {
  background: #1c1c1c;
  border-top: 2px solid #0078d4;
  box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.50);
}

/* Player text: white on dark taskbar */
[data-theme='w10'] .player-track-name {
  color: #ffffff;
  font-weight: 500;
}

[data-theme='w10'] .player-track-artist {
  color: rgba(255, 255, 255, 0.65);
  opacity: 1;
}

[data-theme='w10'] .player-time {
  color: rgba(255, 255, 255, 0.60);
}

/* Transport: flat ghosted icons on dark bar */
[data-theme='w10'] .player-btn {
  color: rgba(255, 255, 255, 0.82);
  background: transparent;
  border: none;
  box-shadow: none;
}

[data-theme='w10'] .player-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

[data-theme='w10'] .player-btn-primary {
  background: #0078d4;
  color: #ffffff;
  border: none;
  box-shadow: none;
}

[data-theme='w10'] .player-btn-primary:hover {
  background: #1684d8;
  box-shadow: none;
}

/* ── Content-area buttons: W10 flat button style ── */
[data-theme='w10'] .btn {
  background: #ffffff;
  color: #1b1b1b;
  border: 1px solid #d6d6d6;
  border-radius: 4px;
  box-shadow: none;
}

[data-theme='w10'] .btn:hover {
  background: #f3f3f3;
  border-color: #767676;
  box-shadow: none;
}

[data-theme='w10'] .btn-primary {
  background: #0078d4;
  color: #ffffff;
  border: 1px solid transparent;
  box-shadow: none;
}

[data-theme='w10'] .btn-primary:hover {
  background: #006cbd;
  box-shadow: none;
}

[data-theme='w10'] .btn-ghost {
  background: transparent;
  border-color: transparent;
  color: #1b1b1b;
}

[data-theme='w10'] .btn-ghost:hover {
  background: rgba(0, 0, 0, 0.06);
  border-color: transparent;
}

[data-theme='w10'] .btn-surface {
  background: #ffffff;
  color: #1b1b1b;
  border: 1px solid #d6d6d6;
}

[data-theme='w10'] .btn-surface:hover {
  background: #f3f3f3;
  border-color: #767676;
}

/* Cards: white, flat border, very subtle lift */
[data-theme='w10'] .glass,
[data-theme='w10'] .card {
  background: #ffffff;
  border: 1px solid #d6d6d6;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

/* Content header */
[data-theme='w10'] .content-header {
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid #d6d6d6;
}

/* Album badge: Windows blue */
[data-theme='w10'] .badge,
[data-theme='w10'] .album-detail-badge {
  background: #0078d4;
  color: #ffffff;
}

/* ── Hover / active states ── */
[data-theme='w10'] .track-row:hover,
[data-theme='w10'] .track-row.context-active {
  background: rgba(0, 120, 212, 0.06);
  box-shadow: inset 3px 0 0 #0078d4;
}

[data-theme='w10'] .queue-item:hover,
[data-theme='w10'] .queue-item.context-active {
  background: rgba(0, 120, 212, 0.07);
}

[data-theme='w10'] .queue-item.active {
  background: rgba(0, 120, 212, 0.10);
  border-left: 2px solid #0078d4;
}

[data-theme='w10'] .np-queue-item.active {
  background: rgba(0, 120, 212, 0.08);
}

[data-theme='w10'] .np-queue-item-active {
  color: #0078d4;
}

[data-theme='w10'] .np-queue-item:hover,
[data-theme='w10'] .np-queue-item.context-active {
  background: rgba(0, 120, 212, 0.05);
}

[data-theme='w10'] .np-album-track.active .np-album-track-title,
[data-theme='w10'] .np-album-track.active .np-album-track-num {
  color: #0078d4;
}

[data-theme='w10'] .artist-row:hover {
  background: rgba(0, 120, 212, 0.06);
  box-shadow: inset 3px 0 0 #0078d4;
}

[data-theme='w10'] .playlist-row:hover {
  background: rgba(0, 120, 212, 0.06);
  box-shadow: inset 3px 0 0 #0078d4;
}

[data-theme='w10'] .settings-tab:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #0078d4;
}

[data-theme='w10'] .settings-tab.active {
  background: rgba(0, 120, 212, 0.10);
  color: #0078d4;
  border-color: #0078d4;
}

[data-theme='w10'] .queue-tab-btn:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #0078d4;
}

[data-theme='w10'] .custom-select-trigger:hover {
  background: rgba(0, 0, 0, 0.05);
}

[data-theme='w10'] .custom-select-option:hover {
  background: rgba(0, 120, 212, 0.08);
}

[data-theme='w10'] .artist-ext-link:hover {
  background: rgba(0, 120, 212, 0.08);
  border-color: #0078d4;
}

/* Connection info: readable on light sidebar */
[data-theme='w10'] .connection-type,
[data-theme='w10'] .connection-server {
  color: #5d5d5d;
}

/* ─────────────────────────────────────────── */

/* ─── Windows Vista — Aero Glass ─── */
/* Pure CSS glass illusion: layered gradients + strategic box-shadows, no backdrop-filter */
[data-theme='wista'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%234870a8%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette ── */
  --ctp-crust: #010308;
  --ctp-mantle: #050b1a;
  --ctp-base: #eef3fc;
  /* Vista window interior — ice blue-white */
  --ctp-surface0: #e2ecf8;
  --ctp-surface1: #d5e4f5;
  --ctp-surface2: #c5d8f0;
  --ctp-overlay0: #a8c4e0;
  --ctp-overlay1: #88a8cc;
  --ctp-overlay2: #6888b0;
  --ctp-text: #0d1d3c;
  /* deep navy — readable on ice bg */
  --ctp-subtext1: #2a4878;
  --ctp-subtext0: #4870a8;
  /* Vista Aero blue spectrum */
  --ctp-mauve: #1565c8;
  /* Vista Aero blue — THE accent */
  --ctp-lavender: #2880e0;
  --ctp-sky: #5aaaf8;
  /* selection/highlight blue */
  --ctp-teal: #1890b8;
  --ctp-blue: #0e50a8;
  --ctp-sapphire: #0848a0;
  --ctp-green: #1a8020;
  --ctp-yellow: #c8980c;
  --ctp-peach: #d06818;
  --ctp-pink: #c03878;
  --ctp-flamingo: #a82860;
  --ctp-rosewater: #c04848;
  --ctp-maroon: #903030;
  --ctp-red: #c02020;

  /* ── Semantic tokens ── */
  --bg-app: #eef3fc;
  --bg-sidebar: #0e1e3e;
  /* deep navy glass — Vista nav pane in dark mode */
  --bg-card: #e2ecf8;
  --bg-hover: rgba(21, 101, 200, 0.09);
  --bg-player: #050810;
  /* Vista taskbar — black glass */
  --bg-glass: rgba(238, 243, 252, 0.94);
  --accent: #1565c8;
  --accent-dim: rgba(21, 101, 200, 0.12);
  --accent-glow: rgba(21, 101, 200, 0.40);
  --text-primary: #0d1d3c;
  --text-secondary: #2a4878;
  --text-muted: #4870a8;
  --border: rgba(100, 160, 220, 0.45);
  --border-subtle: rgba(140, 190, 240, 0.30);
  --positive: #1a8020;
  --warning: #c8980c;
  --danger: #c02020;
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 10px;
  /* Waveform: Vista blue progress bar */
  --waveform-played: #1565c8;
  --waveform-buffered: #5aaaf8;
  --waveform-unplayed: #c5d8f0;
}

/* ── App shell: Vista desktop — soft blue gradient ── */
[data-theme='wista'] .app-shell {
  background: linear-gradient(160deg, #dce8f8 0%, #e5eefa 50%, #eef3fc 100%);
}

/* ── Sidebar: Aero glass nav pane ──
   Three layers: 1) top specular reflection, 2) deep navy base, 3) edge highlight via box-shadow */
[data-theme='wista'] .sidebar {
  background:
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.22) 0%,
      rgba(255, 255, 255, 0.08) 20%,
      rgba(255, 255, 255, 0.00) 55%,
      rgba(0, 20, 60, 0.12) 100%),
    linear-gradient(180deg, #1a3368 0%, #0e1e3e 45%, #0a1830 100%);
  border-right: 1px solid rgba(120, 180, 255, 0.55);
  box-shadow:
    inset -1px 0 0 rgba(255, 255, 255, 0.28),
    inset 1px 0 0 rgba(255, 255, 255, 0.10),
    2px 0 18px rgba(0, 0, 0, 0.40);
}

/* Sidebar text: light on dark glass */
[data-theme='wista'] .nav-link {
  color: rgba(210, 228, 255, 0.72);
}

[data-theme='wista'] .nav-link:hover {
  background: rgba(255, 255, 255, 0.11);
  color: #ffffff;
}

[data-theme='wista'] .nav-link.active {
  background: rgba(21, 101, 200, 0.38);
  color: #ffffff;
}

[data-theme='wista'] .nav-link.active::before {
  background: #5aaaf8;
  box-shadow: 0 0 10px rgba(90, 170, 248, 0.85);
}

[data-theme='wista'] .sidebar-logo-text,
[data-theme='wista'] .sidebar-bottom a,
[data-theme='wista'] .sidebar-bottom button {
  color: rgba(210, 228, 255, 0.70);
}

[data-theme='wista'] {
  --logo-color-start: #ffffff;
  --logo-color-end: #a8ccff;
}

[data-theme='wista'] .sidebar-version {
  color: rgba(210, 228, 255, 0.35);
}

/* ── Player bar: Vista Aero taskbar ──
   Black glass + intense blue glow on top border — the most iconic Vista element */
[data-theme='wista'] .player-bar {
  background:
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.07) 0%,
      rgba(255, 255, 255, 0.00) 18%,
      rgba(0, 0, 0, 0.00) 82%,
      rgba(0, 0, 0, 0.18) 100%),
    linear-gradient(180deg, #0c1828 0%, #050810 100%);
  border-top: 1px solid rgba(80, 155, 255, 0.70);
  box-shadow:
    inset 0 1px 0 rgba(140, 200, 255, 0.55),
    inset 0 2px 0 rgba(255, 255, 255, 0.14),
    0 -4px 24px rgba(0, 0, 0, 0.70);
}

/* Player text: white on black glass */
[data-theme='wista'] .player-track-name {
  color: #ffffff;
  text-shadow: 0 0 12px rgba(100, 170, 255, 0.65), 0 1px 2px rgba(0, 0, 0, 0.60);
  font-weight: 600;
}

[data-theme='wista'] .player-track-artist {
  color: #88b8e8;
  opacity: 1;
}

[data-theme='wista'] .player-time {
  color: #88b8e8;
}

/* ── Transport buttons: Vista glass orbs ──
   Top half: white → ice-blue reflection | Bottom half: royal blue deep — the iconic split */
[data-theme='wista'] .player-btn,
[data-theme='wista'] .player-btn-primary {
  background: linear-gradient(180deg,
      #daeeff 0%,
      #b8d8ff 44%,
      #3a91f8 50%,
      #0f58d7 100%);
  color: #ffffff;
  border: 1px solid rgba(10, 65, 180, 0.70);
  border-radius: 50%;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    0 2px 8px rgba(0, 0, 0, 0.50),
    0 0 0 1px rgba(80, 140, 255, 0.20);
}

[data-theme='wista'] .player-btn:hover,
[data-theme='wista'] .player-btn-primary:hover {
  background: linear-gradient(180deg,
      #e8f4ff 0%,
      #c8e4ff 44%,
      #58a8ff 50%,
      #2070e8 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.80),
    0 3px 12px rgba(0, 0, 0, 0.50),
    0 0 16px rgba(80, 150, 255, 0.35);
}

/* ── Content-area buttons: Vista dialog glass ── */
[data-theme='wista'] .btn {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(238, 248, 255, 0.95) 44%,
      rgba(195, 222, 248, 0.90) 50%,
      rgba(168, 205, 240, 0.85) 100%);
  color: #0d1d3c;
  border: 1px solid rgba(100, 160, 220, 0.68);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.90),
    0 1px 3px rgba(0, 0, 0, 0.18);
}

[data-theme='wista'] .btn:hover {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 1.00) 0%,
      rgba(245, 252, 255, 0.98) 44%,
      rgba(210, 233, 255, 0.95) 50%,
      rgba(180, 220, 252, 0.92) 100%);
  border-color: rgba(80, 140, 220, 0.80);
}

[data-theme='wista'] .btn-primary {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.95) 0%,
      rgba(190, 222, 255, 0.92) 44%,
      rgba(48, 130, 240, 0.96) 50%,
      rgba(15, 78, 210, 0.99) 100%);
  color: #ffffff;
  border: 1px solid rgba(10, 60, 180, 0.72);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 1px 4px rgba(0, 0, 0, 0.28),
    0 0 8px rgba(21, 101, 200, 0.22);
}

[data-theme='wista'] .btn-primary:hover {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 1.00) 0%,
      rgba(210, 235, 255, 0.95) 44%,
      rgba(68, 148, 255, 0.97) 50%,
      rgba(30, 95, 225, 1.00) 100%);
}

/* ── Cards/panels: Vista frosted glass panel ── */
[data-theme='wista'] .glass,
[data-theme='wista'] .card {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.88) 0%,
      rgba(225, 240, 255, 0.82) 100%);
  border: 1px solid rgba(130, 182, 232, 0.60);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 2px 8px rgba(21, 101, 200, 0.10);
}

/* ── Content header: Vista titlebar / toolbar band ── */
[data-theme='wista'] .content-header {
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0.92) 0%,
      rgba(232, 245, 255, 0.72) 100%);
  border-bottom: 1px solid rgba(150, 198, 238, 0.65);
  box-shadow: 0 1px 4px rgba(21, 101, 200, 0.10);
}

/* ── Album badge: Vista blue pill ── */
[data-theme='wista'] .badge,
[data-theme='wista'] .album-detail-badge {
  background: #1565c8;
  color: #ffffff;
}

/* ── Scrollbar: Vista light-blue style ── */
[data-theme='wista'] ::-webkit-scrollbar-track {
  background: #d5e4f5;
}

[data-theme='wista'] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #90b8e0 0%, #6898c8 100%);
  border-radius: 4px;
}

[data-theme='wista'] ::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #a8ccf0 0%, #80a8e0 100%);
}

/* ── Hover / active states: Vista selection blue ── */
[data-theme='wista'] .track-row:hover,
[data-theme='wista'] .track-row.context-active {
  background: rgba(21, 101, 200, 0.08);
  box-shadow: inset 3px 0 0 #1565c8;
}

[data-theme='wista'] .queue-item:hover,
[data-theme='wista'] .queue-item.context-active {
  background: rgba(90, 170, 248, 0.18);
}

[data-theme='wista'] .queue-item.active {
  background: rgba(21, 101, 200, 0.28);
  border-left: 2px solid #5aaaf8;
}

[data-theme='wista'] .np-queue-item.active {
  background: rgba(21, 101, 200, 0.10);
}

[data-theme='wista'] .np-queue-item-active {
  color: #1565c8;
}

[data-theme='wista'] .np-queue-item:hover,
[data-theme='wista'] .np-queue-item.context-active {
  background: rgba(21, 101, 200, 0.07);
}

[data-theme='wista'] .np-album-track.active .np-album-track-title,
[data-theme='wista'] .np-album-track.active .np-album-track-num {
  color: #1565c8;
}

[data-theme='wista'] .artist-row:hover {
  background: rgba(21, 101, 200, 0.07);
  box-shadow: inset 3px 0 0 #1565c8;
}

[data-theme='wista'] .playlist-row:hover {
  background: rgba(21, 101, 200, 0.07);
  box-shadow: inset 3px 0 0 #1565c8;
}

[data-theme='wista'] .settings-tab:hover {
  background: rgba(21, 101, 200, 0.08);
  color: #1565c8;
}

[data-theme='wista'] .settings-tab.active {
  background: rgba(21, 101, 200, 0.14);
  color: #1565c8;
  border-color: #1565c8;
}

[data-theme='wista'] .queue-tab-btn:hover {
  background: rgba(21, 101, 200, 0.08);
  color: #1565c8;
}

[data-theme='wista'] .custom-select-trigger:hover {
  background: rgba(21, 101, 200, 0.08);
}

[data-theme='wista'] .custom-select-option:hover {
  background: rgba(21, 101, 200, 0.12);
}

[data-theme='wista'] .artist-ext-link:hover {
  background: rgba(21, 101, 200, 0.10);
  border-color: #1565c8;
}

/* ── Queue: dark glass sidebar → light text ── */
[data-theme='wista'] .queue-item-title {
  color: rgba(210, 228, 255, 0.90);
}

[data-theme='wista'] .queue-item-artist,
[data-theme='wista'] .queue-item-duration {
  color: rgba(170, 205, 250, 0.55);
}

[data-theme='wista'] .queue-item.active .queue-item-artist,
[data-theme='wista'] .queue-item.active .queue-item-duration {
  color: rgba(190, 218, 255, 0.75);
}

[data-theme='wista'] .queue-divider span {
  color: rgba(180, 210, 255, 0.38) !important;
}

[data-theme='wista'] .queue-current-info h3 {
  color: rgba(220, 235, 255, 0.92);
}

[data-theme='wista'] .queue-current-sub {
  color: rgba(180, 210, 252, 0.58);
}

[data-theme='wista'] .queue-tab-btn {
  color: rgba(200, 220, 255, 0.62);
}

[data-theme='wista'] .queue-tab-btn.active {
  color: #5aaaf8;
}

[data-theme='wista'] .queue-round-btn.active {
  color: #050810;
}

/* Connection indicators: muted Vista blue on light bg */
[data-theme='wista'] .connection-type,
[data-theme='wista'] .connection-server {
  color: #6090b8;
}

/* ─────────────────────────────────────────── */

[data-theme='aqua-quartz'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23666666%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  --ctp-crust: #b0b8c8;
  --ctp-mantle: #c8d0e0;
  --ctp-base: #e8e8e8;
  --ctp-surface0: #f4f4f4;
  --ctp-surface1: #ececec;
  --ctp-surface2: #e0e0e0;
  --ctp-overlay0: #888888;
  --ctp-overlay1: #666666;
  --ctp-overlay2: #444444;
  --ctp-text: #111111;
  --ctp-subtext1: #333333;
  --ctp-subtext0: #555555;

  --ctp-mauve: #3165c4;
  --ctp-lavender: #6699dd;
  --ctp-green: #28c941;
  --ctp-teal: #17a2b8;
  --ctp-sky: #5ac8fa;
  --ctp-blue: #2060c0;
  --ctp-sapphire: #1a4fa0;
  --ctp-pink: #ff2d55;
  --ctp-flamingo: #ff3b30;
  --ctp-rosewater: #ffcc00;
  --ctp-yellow: #ffcc00;
  --ctp-peach: #ff9500;
  --ctp-maroon: #af52de;
  --ctp-red: #ff3b30;

  /* Aluminium app bg, blue sidebar token (overridden below) */
  --bg-app: #e8e8e8;
  --bg-sidebar: #5a7ab8;
  --bg-card: #f4f4f4;
  --bg-hover: rgba(49, 101, 196, 0.12);
  --bg-player: #c0c0c0;
  --bg-glass: rgba(232, 232, 232, 0.85);

  --accent: #3165c4;
  --accent-dim: rgba(49, 101, 196, 0.15);
  --accent-glow: rgba(49, 101, 196, 0.45);
  --volume-accent: #3165c4;

  --text-primary: #111111;
  --text-secondary: #333333;
  --text-muted: #777777;

  --border: #a0a0a0;
  --border-subtle: #cccccc;

  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-full: 999px;
}

/* Aluminium pinstripe background */
[data-theme='aqua-quartz'] .app-shell {
  background: #e8e8e8;
}

/* Iconic Aqua blue Source List sidebar */
[data-theme='aqua-quartz'] .sidebar {
  background: linear-gradient(to bottom, #7090c8 0%, #5a78b8 35%, #4a68a8 70%, #4060a0 100%);
  border-right: 1px solid #3a5590;
}

/* White text/icons in sidebar */
[data-theme='aqua-quartz'] .sidebar,
[data-theme='aqua-quartz'] .nav-link,
[data-theme='aqua-quartz'] .sidebar-logo-text,
[data-theme='aqua-quartz'] .sidebar-section-label,
[data-theme='aqua-quartz'] .nav-section-label {
  color: rgba(255, 255, 255, 0.9) !important;
}

[data-theme='aqua-quartz'] .nav-link {
  color: rgba(255, 255, 255, 0.85) !important;
}

[data-theme='aqua-quartz'] .nav-link:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}

/* Active nav: white pill with blue-tinted text */
[data-theme='aqua-quartz'] .nav-link.active {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95), rgba(240, 245, 255, 0.9)) !important;
  color: #1a4a9c !important;
  border-radius: var(--radius-full) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

[data-theme='aqua-quartz'] .nav-link.active svg {
  color: #1a4a9c !important;
}

/* Brushed aluminum player bar */
[data-theme='aqua-quartz'] .player-bar {
  background: linear-gradient(to bottom,
      #d8d8d8 0%,
      #d0d0d0 15%,
      #c0c0c0 50%,
      #b4b4b4 85%,
      #acacac 100%);
  border-top: 1px solid #909090;
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.6) inset;
}

[data-theme='aqua-quartz'] .player-track-name,
[data-theme='aqua-quartz'] .player-track-artist,
[data-theme='aqua-quartz'] .player-time {
  color: #111111 !important;
}

/* All buttons get rounded pill shape */
[data-theme='aqua-quartz'] .btn {
  border-radius: var(--radius-full) !important;
}

/* Aluminium jelly — secondary/surface/ghost buttons */
[data-theme='aqua-quartz'] .btn-surface,
[data-theme='aqua-quartz'] .btn-ghost {
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0.95) 0%,
      #ececec 20%,
      #d4d4d4 48%,
      #c4c4c4 52%,
      #d0d0d0 80%,
      #e0e0e0 100%) !important;
  border: 1px solid #909090 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.85);
  color: #111111 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}

[data-theme='aqua-quartz'] .btn-surface:hover,
[data-theme='aqua-quartz'] .btn-ghost:hover {
  filter: brightness(1.05);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.85);
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0.95) 0%,
      #f0f0f0 20%,
      #dadada 48%,
      #cacaca 52%,
      #d6d6d6 80%,
      #e4e4e4 100%) !important;
}

/* Authentic Aqua blue jelly — primary buttons */
[data-theme='aqua-quartz'] .btn-primary,
[data-theme='aqua-quartz'] .player-btn-primary {
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0.95) 0%,
      rgba(160, 195, 255, 0.9) 20%,
      #3165c4 48%,
      #1a4aaa 52%,
      #2555bb 75%,
      #4a7ad4 100%) !important;
  border: 1px solid #1040a0 !important;
  border-radius: var(--radius-full) !important;
  box-shadow: 0 2px 8px rgba(49, 101, 196, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.7);
  color: white !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}

[data-theme='aqua-quartz'] .btn-primary:hover,
[data-theme='aqua-quartz'] .player-btn-primary:hover {
  filter: brightness(1.08);
  box-shadow: 0 3px 12px rgba(49, 101, 196, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

/* Aqua progress/seek track + fill */
[data-theme='aqua-quartz'] .progress-bar-track {
  background: linear-gradient(to bottom, #b0b0b0, #d0d0d0);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
}

[data-theme='aqua-quartz'] .progress-bar-fill {
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0.85) 0%,
      #6699ee 25%,
      #3165c4 55%,
      #1a4aaa 56%,
      #4070cc 100%);
  box-shadow: 0 0 6px rgba(49, 101, 196, 0.5);
  border-radius: 999px;
}

/* Cards with subtle aluminium feel */
[data-theme='aqua-quartz'] .card {
  background: #f4f4f4;
  border: 1px solid #c0c0c0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* Queue / panels on light aluminium bg */
[data-theme='aqua-quartz'] .queue-panel,
[data-theme='aqua-quartz'] .queue-header {
  background: #e8e8e8;
  color: #111111;
}

[data-theme='aqua-quartz'] .queue-item {
  color: #111111;
}

[data-theme='aqua-quartz'] .queue-item-artist,
[data-theme='aqua-quartz'] .queue-item-sub {
  color: #555555;
}

/* Queue round toolbar buttons — aluminium jelly */
[data-theme='aqua-quartz'] .queue-round-btn {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, #ececec 20%, #d4d4d4 48%, #c4c4c4 52%, #d0d0d0 100%);
  border: 1px solid #909090;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.85);
  color: #333333;
}

[data-theme='aqua-quartz'] .queue-round-btn:hover:not(:disabled) {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, #f0f0f0 20%, #dadada 48%, #cacaca 52%, #d6d6d6 100%);
  color: #111111;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

[data-theme='aqua-quartz'] .queue-round-btn.active {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, rgba(160, 195, 255, 0.9) 20%, #3165c4 48%, #1a4aaa 52%, #4a7ad4 100%);
  border: 1px solid #1040a0;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(49, 101, 196, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

/* Hero play button — blue jelly */
[data-theme='aqua-quartz'] .hero-play-btn {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, rgba(160, 195, 255, 0.9) 20%, #3165c4 48%, #1a4aaa 52%, #2555bb 75%, #4a7ad4 100%);
  border: 1px solid #1040a0;
  border-radius: var(--radius-full);
  box-shadow: 0 2px 8px rgba(49, 101, 196, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.7);
  color: white;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  transition: filter var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

[data-theme='aqua-quartz'] .hero-play-btn:hover {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.98) 0%, rgba(185, 215, 255, 0.95) 20%, #3a72d8 48%, #2058c0 52%, #2d62cc 75%, #5585e0 100%);
  filter: brightness(1.08);
  box-shadow: 0 3px 12px rgba(49, 101, 196, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.7);
  transform: scale(1.02);
}

/* Album card hover play button — blue jelly */
[data-theme='aqua-quartz'] .album-card-details-btn {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, rgba(160, 195, 255, 0.9) 20%, #3165c4 48%, #1a4aaa 52%, #4a7ad4 100%);
  border: 1px solid #1040a0;
  box-shadow: 0 3px 10px rgba(49, 101, 196, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.7);
  color: white;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}

/* ─── Spider-Tech — Spider-Man ─── */
[data-theme='spider-tech'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23E62429%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Palette — suit red, night-sky navy, web black */
  --ctp-crust: #060408;
  --ctp-mantle: #0a0610;
  --ctp-base: #0e0c18;
  --ctp-surface0: #181428;
  --ctp-surface1: #241e3a;
  --ctp-surface2: #302848;
  --ctp-overlay0: #4a3e68;
  --ctp-overlay1: #6a5888;
  --ctp-overlay2: #9080a8;
  --ctp-text: #f0ecf8;
  --ctp-subtext1: #d0c8e0;
  --ctp-subtext0: #a898c0;
  --ctp-mauve: #E62429;
  --ctp-lavender: #ff4a50;
  --ctp-pink: #ff4a50;
  --ctp-flamingo: #cc1a1f;
  --ctp-rosewater: #f0ecf8;
  --ctp-green: #4adf80;
  --ctp-teal: #3ab8d0;
  --ctp-sky: #4a88ff;
  --ctp-blue: #1e52c8;
  --ctp-sapphire: #1e52c8;
  --ctp-yellow: #f0c030;
  --ctp-peach: #E62429;
  --ctp-maroon: #8b0010;
  --ctp-red: #E62429;

  --bg-app: #0e0c18;
  --bg-sidebar: #0a0610;
  --bg-card: #181428;
  --bg-hover: #241e3a;
  --bg-player: #060408;
  --bg-glass: rgba(10, 6, 16, 0.92);
  --accent: #E62429;
  --accent-dim: rgba(230, 36, 41, 0.14);
  --accent-glow: rgba(230, 36, 41, 0.38);
  --text-primary: #f0ecf8;
  --text-secondary: #9080a8;
  --text-muted: #a898c0;
  --border: rgba(230, 36, 41, 0.18);
  --border-subtle: rgba(230, 36, 41, 0.08);
  --border-dropdown: rgba(230, 36, 41, 0.30);
  --shadow-dropdown: rgba(0, 0, 0, 0.92);
  --positive: #4adf80;
  --warning: #f0c030;
  --danger: #E62429;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
}

/* App shell — Into the Spider-Verse comic halftone dots */
[data-theme='spider-tech'] .app-shell {
  background-image: radial-gradient(circle,
      rgba(230, 36, 41, 0.055) 1px,
      transparent 1px);
  background-size: 14px 14px;
}

/* Sidebar — CSS spider web radiating from top-left corner */
[data-theme='spider-tech'] .sidebar {
  background: #080510;
  border-right: 1px solid rgba(230, 36, 41, 0.22);
  background-image:
    repeating-radial-gradient(circle at 0% 0%,
      transparent 0px,
      transparent 38px,
      rgba(230, 36, 41, 0.10) 39px,
      rgba(230, 36, 41, 0.10) 40px),
    repeating-conic-gradient(from 0deg at 0% 0%,
      transparent 0deg,
      transparent 19deg,
      rgba(230, 36, 41, 0.07) 19deg,
      rgba(230, 36, 41, 0.07) 20deg);
}

/* Player bar — deep black with red suit border + glow */
[data-theme='spider-tech'] .player-bar {
  background: #060408;
  border-top: 2px solid #E62429;
  box-shadow: 0 -6px 28px rgba(230, 36, 41, 0.20), 0 -1px 0 rgba(0, 0, 0, 0.9);
}

/* Track name — Spider-Man red, bold */
[data-theme='spider-tech'] .player-track-name {
  color: #E62429;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(230, 36, 41, 0.45), 0 0 24px rgba(230, 36, 41, 0.20);
}

/* Artist name — Spider suit blue */
[data-theme='spider-tech'] .player-artist-name {
  color: #4a88ff;
}

/* Nav active — red left bar */
[data-theme='spider-tech'] .nav-link.active {
  background: linear-gradient(90deg, rgba(230, 36, 41, 0.18) 0%, transparent 100%);
  border-left: 3px solid #E62429;
  color: #E62429;
}

[data-theme='spider-tech'] .nav-link:hover:not(.active) {
  background: linear-gradient(90deg, rgba(230, 36, 41, 0.08) 0%, transparent 100%);
  border-left: 3px solid rgba(230, 36, 41, 0.35);
}

/* Content header */
[data-theme='spider-tech'] .content-header {
  border-bottom: 1px solid rgba(230, 36, 41, 0.14);
}

/* Cards — red border glow on hover */
[data-theme='spider-tech'] .album-card:hover,
[data-theme='spider-tech'] .artist-card:hover {
  box-shadow: 0 0 0 1px rgba(230, 36, 41, 0.55), 0 4px 20px rgba(230, 36, 41, 0.16);
}

/* Track / queue rows */
[data-theme='spider-tech'] .track-row:hover,
[data-theme='spider-tech'] .queue-item:hover {
  box-shadow: inset 2px 0 0 #E62429;
  background: rgba(230, 36, 41, 0.06);
}

/* Primary play button — suit red */
[data-theme='spider-tech'] .player-btn-primary {
  background: linear-gradient(180deg, #ff4a50 0%, #E62429 50%, #b81820 100%);
  color: #ffffff;
  box-shadow: 0 0 16px rgba(230, 36, 41, 0.50);
  border: 1px solid #9c1018;
}

[data-theme='spider-tech'] .player-btn-primary:hover {
  background: linear-gradient(180deg, #ff6065 0%, #f03035 50%, #cc2025 100%);
  box-shadow: 0 0 26px rgba(230, 36, 41, 0.72);
}

/* btn-primary */
[data-theme='spider-tech'] .btn-primary {
  background: linear-gradient(180deg, #ff4a50 0%, #E62429 50%, #b81820 100%);
  color: #ffffff;
  border: 1px solid #9c1018;
}

[data-theme='spider-tech'] .btn-primary:hover {
  background: linear-gradient(180deg, #ff6065 0%, #f03035 50%, #cc2025 100%);
}

/* Hero play button */
[data-theme='spider-tech'] .hero-play-btn {
  background: linear-gradient(180deg, #ff4a50 0%, #E62429 50%, #b81820 100%);
  color: #ffffff;
  border: 1px solid #9c1018;
  box-shadow: 0 2px 16px rgba(230, 36, 41, 0.50);
  transition: filter var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

[data-theme='spider-tech'] .hero-play-btn:hover {
  background: linear-gradient(180deg, #ff6065 0%, #f03035 50%, #cc2025 100%);
  box-shadow: 0 4px 26px rgba(230, 36, 41, 0.72);
  transform: scale(1.02);
}

/* Album card overlay button */
[data-theme='spider-tech'] .album-card-details-btn {
  background: linear-gradient(180deg, #ff4a50 0%, #E62429 50%, #b81820 100%);
  color: #ffffff;
  border: 1px solid #9c1018;
  box-shadow: 0 2px 12px rgba(230, 36, 41, 0.45);
}

/* Scrollbar — dark with red thumb */
[data-theme='spider-tech'] ::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

[data-theme='spider-tech'] ::-webkit-scrollbar-track {
  background: #0a0610;
}

[data-theme='spider-tech'] ::-webkit-scrollbar-thumb {
  background: rgba(230, 36, 41, 0.40);
  border-radius: 3px;
}

[data-theme='spider-tech'] ::-webkit-scrollbar-thumb:hover {
  background: #E62429;
}

/* ── Jayfin (Mediaplayer) ─────────────────────────────────────── */
[data-theme='jayfin'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23AA5CC3%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Jellyfin Palette ── */
  --ctp-crust: #050505;
  --ctp-mantle: #0c0c0c;
  --ctp-base: #141414;
  --ctp-surface0: #1e1e1e;
  --ctp-surface1: #282828;
  --ctp-surface2: #333333;
  --ctp-overlay0: #505050;
  --ctp-overlay1: #787878;
  --ctp-overlay2: #a8a8a8;
  --ctp-text: #ffffff;
  --ctp-subtext1: #e8e8e8;
  --ctp-subtext0: #c0c0c0;

  /* Jellyfin Lila als Hauptakzent, Cyan als Sekundärfarbe */
  --ctp-mauve: #AA5CC3;
  --ctp-lavender: #bf7ed4;
  --ctp-green: #2ed573;
  --ctp-teal: #00c8dc;
  --ctp-sky: #00A4DC;
  --ctp-blue: #0088cc;
  --ctp-sapphire: #0060a0;
  --ctp-pink: #c070d8;
  --ctp-flamingo: #d488e8;
  --ctp-rosewater: #e8b8f8;
  --ctp-yellow: #ffd060;
  --ctp-peach: #ff9500;
  --ctp-maroon: #cc3355;
  --ctp-red: #ff4444;

  /* ── Semantische Tokens ── */
  --bg-app: #141414;
  --bg-sidebar: #0c0c0c;
  --bg-card: #1e1e1e;
  --bg-hover: rgba(170, 92, 195, 0.1);
  --bg-player: #050505;
  --bg-glass: rgba(14, 14, 14, 0.88);

  --accent: #AA5CC3;
  --accent-dim: rgba(170, 92, 195, 0.15);
  --accent-glow: rgba(170, 92, 195, 0.4);
  --volume-accent: #AA5CC3;

  --text-primary: #ffffff;
  --text-secondary: #c8c8c8;
  --text-muted: #888888;

  --border: #2a2a2a;
  --border-subtle: #1e1e1e;

  --positive: #2ed573;
  --warning: #ffd060;
  --danger: #ff4444;

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --radius-full: 999px;
}

/* Sidebar mit dezenter Tiefe */
[data-theme='jayfin'] .sidebar {
  background: #0c0c0c;
  border-right: 1px solid #1e1e1e;
}

/* Aktiver Nav-Link: Lila-Akzent mit linkem Balken */
[data-theme='jayfin'] .nav-link.active {
  background: rgba(170, 92, 195, 0.12);
  color: #AA5CC3;
  border-left: 3px solid #AA5CC3;
}

[data-theme='jayfin'] .nav-link.active svg {
  color: #AA5CC3;
}

/* Player Bar: tiefes Schwarz mit Jellyfin-Brand-Gradient als Oberkante */
[data-theme='jayfin'] .player-bar {
  background: #050505;
  border-top: 2px solid transparent;
  border-image: linear-gradient(to right, #00A4DC, #AA5CC3) 1;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.6);
}

/* Progress fill: Gradient Cyan → Lila */
[data-theme='jayfin'] .progress-bar-fill {
  background: linear-gradient(to right, #00A4DC 0%, #AA5CC3 100%);
  box-shadow: 0 0 8px rgba(170, 92, 195, 0.5);
}

/* Cards */
[data-theme='jayfin'] .card {
  background: #1e1e1e;
  border: 1px solid #2a2a2a;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* Btn-primary: Jellyfin Lila */
[data-theme='jayfin'] .btn-primary,
[data-theme='jayfin'] .player-btn-primary,
[data-theme='jayfin'] .hero-play-btn {
  background: #AA5CC3;
  color: #ffffff;
  border: none;
  box-shadow: 0 2px 12px rgba(170, 92, 195, 0.35);
}

[data-theme='jayfin'] .btn-primary:hover,
[data-theme='jayfin'] .player-btn-primary:hover,
[data-theme='jayfin'] .hero-play-btn:hover {
  background: #be70d8;
  box-shadow: 0 4px 18px rgba(170, 92, 195, 0.5);
  filter: none;
}

/* Album card hover play button */
[data-theme='jayfin'] .album-card-details-btn {
  background: #AA5CC3;
  color: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

[data-theme='jayfin'] .album-card-details-btn:hover {
  background: #be70d8;
}

/* Queue round buttons */
[data-theme='jayfin'] .queue-round-btn.active {
  background: #AA5CC3;
  color: #ffffff;
  box-shadow: 0 0 10px rgba(170, 92, 195, 0.4);
}

/* Connection indicators: schwarz auf warmem Grau */
[data-theme='w98'] .connection-type,
[data-theme='w98'] .connection-server {
  color: #000000;
}

/* ─── MS-DOS ─── */
@keyframes dos-blink {

  0%,
  49% {
    opacity: 1;
  }

  50%,
  100% {
    opacity: 0;
  }
}

[data-theme='dos'] {
  color-scheme: dark;
  font-family: 'Courier New', Courier, 'Lucida Console', monospace;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23AAAAAA%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Pure ANSI color palette */
  --ctp-crust: #000000;
  --ctp-mantle: #000080;
  --ctp-base: #0000AA;
  --ctp-surface0: #000080;
  --ctp-surface1: #0000AA;
  --ctp-surface2: #0000CC;
  --ctp-overlay0: #8888AA;
  --ctp-overlay1: #BBBBCC;
  --ctp-overlay2: #E8E8E8;
  --ctp-text: #E8E8E8;
  --ctp-subtext1: #BBBBCC;
  --ctp-subtext0: #8888AA;
  --ctp-mauve: #FF55FF;
  --ctp-lavender: #FF55FF;
  --ctp-pink: #FF55FF;
  --ctp-flamingo: #FF5555;
  --ctp-rosewater: #FFFFFF;
  --ctp-green: #55FF55;
  --ctp-teal: #55FFFF;
  --ctp-sky: #55FFFF;
  --ctp-blue: #5555FF;
  --ctp-sapphire: #5555FF;
  --ctp-yellow: #FFFF55;
  --ctp-peach: #FF5555;
  --ctp-maroon: #AA0000;
  --ctp-red: #FF5555;

  --bg-app: #0000AA;
  --bg-sidebar: #000080;
  --bg-card: #000080;
  --bg-hover: rgba(170, 170, 170, 0.15);
  --bg-player: #000000;
  --bg-glass: rgba(0, 0, 128, 0.95);
  --accent: #FFFF55;
  --accent-dim: rgba(255, 255, 85, 0.15);
  --accent-glow: rgba(255, 255, 85, 0.3);
  --text-primary: #E8E8E8;
  --text-secondary: #BBBBCC;
  --text-muted: #8888AA;
  --border: #AAAAAA;
  --border-subtle: #4444AA;
  --border-dropdown: #AAAAAA;
  --shadow-dropdown: rgba(0, 0, 0, 0.95);
  --positive: #55FF55;
  --warning: #FFFF55;
  --danger: #FF5555;
  /* Square everything — no rounded corners in DOS */
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-full: 0px;
}

/* Monospace override — html inherits to most elements; form controls need explicit override */
[data-theme='dos'] button,
[data-theme='dos'] input,
[data-theme='dos'] textarea,
[data-theme='dos'] select {
  font-family: 'Courier New', Courier, 'Lucida Console', monospace;
}

/* Sidebar — dark navy with CRT scanlines, thick grey right border like a DOS panel edge */
[data-theme='dos'] .sidebar {
  background-color: #000080;
  background-image: repeating-linear-gradient(0deg,
      rgba(0, 0, 0, 0.20) 0px,
      rgba(0, 0, 0, 0.20) 1px,
      transparent 1px,
      transparent 3px);
  border-right: 2px solid #AAAAAA;
}

/* Active nav — classic DOS inverted selection */
[data-theme='dos'] .nav-link.active {
  background: #AAAAAA;
  color: #000080;
  border-left: none;
  font-weight: 700;
}

[data-theme='dos'] .nav-link:hover:not(.active) {
  background: rgba(170, 170, 170, 0.18);
  color: #FFFF55;
}

/* Player bar — pure black, the C:\> command prompt */
[data-theme='dos'] .player-bar {
  background-color: #000000;
  background-image: repeating-linear-gradient(0deg,
      rgba(0, 0, 0, 0.20) 0px,
      rgba(0, 0, 0, 0.20) 1px,
      transparent 1px,
      transparent 3px);
  border-top: 2px solid #AAAAAA;
  box-shadow: none;
}

/* Track name — bright yellow with blinking block cursor */
[data-theme='dos'] .player-track-name {
  color: #FFFF55;
  text-shadow: none;
}

[data-theme='dos'] .player-track-name::after {
  content: '\258B';
  animation: dos-blink 1s step-end infinite;
  margin-left: 3px;
  font-size: 0.8em;
  vertical-align: baseline;
}

/* Artist name — bright cyan (ANSI 11) */
[data-theme='dos'] .player-artist-name {
  color: #55FFFF;
}

/* Content header — simple grey border, no ornate gradient */
[data-theme='dos'] .content-header {
  border-bottom: 1px solid #AAAAAA;
}

/* Album/artist cards — flat navy panels with grey border */
[data-theme='dos'] .album-card,
[data-theme='dos'] .artist-card {
  background: #000080;
  border: 1px solid #AAAAAA;
  box-shadow: none;
}

[data-theme='dos'] .album-card:hover,
[data-theme='dos'] .artist-card:hover {
  background: #0000AA;
  border-color: #FFFFFF;
  box-shadow: none;
}

/* Track / queue row hover — inverted DOS selection */
[data-theme='dos'] .track-row:hover,
[data-theme='dos'] .queue-item:hover {
  background: #AAAAAA !important;
  color: #000080;
  box-shadow: none;
}

/* Primary play button — flat grey, sharp, DOS dialog style */
[data-theme='dos'] .player-btn-primary {
  background: #AAAAAA;
  color: #000000;
  border: 2px solid #FFFFFF;
  box-shadow: none;
}

[data-theme='dos'] .player-btn-primary:hover {
  background: #FFFFFF;
  color: #000000;
  box-shadow: none;
  transform: none;
}

/* btn-primary — uppercase DOS dialog button */
[data-theme='dos'] .btn-primary {
  background: #AAAAAA;
  color: #000000;
  border: 1px solid #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  box-shadow: none;
}

[data-theme='dos'] .btn-primary:hover {
  background: #FFFFFF;
  color: #000000;
  box-shadow: none;
}

/* btn-surface */
[data-theme='dos'] .btn-surface,
[data-theme='dos'] .btn {
  border: 1px solid #AAAAAA;
  box-shadow: none;
}

/* Hero play button */
[data-theme='dos'] .hero-play-btn {
  background: #AAAAAA;
  color: #000000;
  border: 2px solid #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}

[data-theme='dos'] .hero-play-btn:hover {
  background: #FFFFFF;
  color: #000000;
  transform: none;
  filter: none;
  box-shadow: none;
}

/* Album card overlay play button */
[data-theme='dos'] .album-card-details-btn {
  background: #AAAAAA;
  color: #000000;
  border: 2px solid #FFFFFF;
  box-shadow: none;
}

[data-theme='dos'] .album-card-details-btn:hover {
  background: #FFFFFF;
  color: #000000;
}

/* Queue round buttons — square in DOS */
[data-theme='dos'] .queue-round-btn {
  border: 1px solid #AAAAAA;
  box-shadow: none;
}

[data-theme='dos'] .queue-round-btn.active {
  background: #AAAAAA;
  color: #000000;
  border-color: #FFFFFF;
  box-shadow: none;
}

/* Input fields */
[data-theme='dos'] input,
[data-theme='dos'] textarea {
  background: #000080;
  border: 1px solid #AAAAAA;
  border-radius: 0;
}

[data-theme='dos'] input:focus,
[data-theme='dos'] textarea:focus {
  border-color: #FFFF55;
  outline: none;
  box-shadow: none;
}

/* Scrollbar — wide 16px DOS style with sharp thumb */
[data-theme='dos'] ::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

[data-theme='dos'] ::-webkit-scrollbar-track {
  background: #000080;
  border-left: 1px solid #AAAAAA;
}

[data-theme='dos'] ::-webkit-scrollbar-thumb {
  background: #AAAAAA;
  border-radius: 0;
  border: 1px solid #FFFFFF;
}

[data-theme='dos'] ::-webkit-scrollbar-thumb:hover {
  background: #FFFFFF;
}


/* ─── Unix Shell ─── */
@keyframes unix-cursor-blink {

  0%,
  49% {
    opacity: 1;
  }

  50%,
  100% {
    opacity: 0;
  }
}

[data-theme='unix'] {
  color-scheme: dark;
  font-family: 'Courier New', Courier, 'Lucida Console', monospace;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2322C55E%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ANSI colors mapped to semantic palette */
  --ctp-crust: #000000;
  --ctp-mantle: #0a0a0a;
  --ctp-base: #111111;
  --ctp-surface0: #1a1a1a;
  --ctp-surface1: #222222;
  --ctp-surface2: #2e2e2e;
  --ctp-overlay0: #666666;
  --ctp-overlay1: #888888;
  --ctp-overlay2: #AAAAAA;
  --ctp-text: #C8C8C8;
  --ctp-subtext1: #AAAAAA;
  --ctp-subtext0: #888888;
  --ctp-mauve: #C678DD;
  --ctp-lavender: #5588FF;
  --ctp-pink: #E06C75;
  --ctp-flamingo: #FF6B6B;
  --ctp-rosewater: #FFFFFF;
  --ctp-green: #22C55E;
  --ctp-teal: #55FFFF;
  --ctp-sky: #55FFFF;
  --ctp-blue: #5588FF;
  --ctp-sapphire: #5588FF;
  --ctp-yellow: #E5C07B;
  --ctp-peach: #E06C75;
  --ctp-maroon: #AA0000;
  --ctp-red: #E06C75;

  --bg-app: #000000;
  --bg-sidebar: #0a0a0a;
  --bg-card: #111111;
  --bg-hover: #1a1a1a;
  --bg-player: #000000;
  --bg-glass: rgba(0, 0, 0, 0.92);
  --accent: #22C55E;
  --accent-dim: rgba(34, 197, 94, 0.10);
  --accent-glow: rgba(34, 197, 94, 0.25);
  --text-primary: #C8C8C8;
  --text-secondary: #999999;
  --text-muted: #666666;
  --border: #222222;
  --border-subtle: #1a1a1a;
  --border-dropdown: #333333;
  --shadow-dropdown: rgba(0, 0, 0, 0.95);
  --positive: #22C55E;
  --warning: #E5C07B;
  --danger: #E06C75;
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-full: 0px;
}

/* Monospace override — html inherits to most elements; form controls need explicit override */
[data-theme='unix'] button,
[data-theme='unix'] input,
[data-theme='unix'] textarea,
[data-theme='unix'] select {
  font-family: 'Courier New', Courier, 'Lucida Console', monospace;
}

/* Sidebar — slightly off-black, thin separator */
[data-theme='unix'] .sidebar {
  background: #0a0a0a;
  border-right: 1px solid #222222;
}

/* Nav active — green left bar */
[data-theme='unix'] .nav-link.active {
  background: rgba(34, 197, 94, 0.10);
  border-left: 2px solid #22C55E;
  color: #22C55E;
}

[data-theme='unix'] .nav-link:hover:not(.active) {
  background: rgba(34, 197, 94, 0.05);
  color: #C8C8C8;
}

/* Player bar — pure black, thin grey separator */
[data-theme='unix'] .player-bar {
  background-color: #000000;
  background-image: repeating-linear-gradient(0deg,
      rgba(0, 0, 0, 0.10) 0px,
      rgba(0, 0, 0, 0.10) 1px,
      transparent 1px,
      transparent 2px);
  border-top: 1px solid #222222;
  box-shadow: none;
}

/* Track name — white text, green $ prompt prefix, blinking _ cursor */
[data-theme='unix'] .player-track-name {
  color: #FFFFFF;
  text-shadow: none;
}

[data-theme='unix'] .player-track-name::before {
  content: '$ ';
  color: #22C55E;
  font-weight: 700;
}

[data-theme='unix'] .player-track-name::after {
  content: '_';
  animation: unix-cursor-blink 1s step-end infinite;
  color: #C8C8C8;
  margin-left: 1px;
}

/* Artist name — ANSI bright blue (ls directory color) */
[data-theme='unix'] .player-artist-name {
  color: #5588FF;
}

/* Content header — minimal grey rule */
[data-theme='unix'] .content-header {
  border-bottom: 1px solid #1e1e1e;
}

/* Album/artist cards — dark panel, fine border */
[data-theme='unix'] .album-card,
[data-theme='unix'] .artist-card {
  background: #111111;
  border: 1px solid #1e1e1e;
  box-shadow: none;
}

[data-theme='unix'] .album-card:hover,
[data-theme='unix'] .artist-card:hover {
  background: #1a1a1a;
  border-color: #22C55E;
  box-shadow: none;
}

/* Track / queue row hover — green left accent */
[data-theme='unix'] .track-row:hover,
[data-theme='unix'] .queue-item:hover {
  background: rgba(34, 197, 94, 0.06);
  box-shadow: inset 2px 0 0 #22C55E;
}

/* Primary play button — solid green */
[data-theme='unix'] .player-btn-primary {
  background: #22C55E;
  color: #000000;
  border: none;
  box-shadow: none;
}

[data-theme='unix'] .player-btn-primary:hover {
  background: #16A34A;
  box-shadow: none;
  transform: none;
}

/* btn-primary */
[data-theme='unix'] .btn-primary {
  background: #22C55E;
  color: #000000;
  border: none;
  box-shadow: none;
}

[data-theme='unix'] .btn-primary:hover {
  background: #16A34A;
  box-shadow: none;
}

/* Hero play button */
[data-theme='unix'] .hero-play-btn {
  background: #22C55E;
  color: #000000;
  border: none;
  text-transform: lowercase;
  letter-spacing: 0.02em;
  box-shadow: none;
  transition: background var(--transition-fast), transform var(--transition-fast);
}

[data-theme='unix'] .hero-play-btn:hover {
  background: #16A34A;
  transform: scale(1.02);
  filter: none;
  box-shadow: none;
}

/* Album card overlay button */
[data-theme='unix'] .album-card-details-btn {
  background: #22C55E;
  color: #000000;
  border: none;
  box-shadow: none;
}

[data-theme='unix'] .album-card-details-btn:hover {
  background: #16A34A;
}

/* Queue round buttons */
[data-theme='unix'] .queue-round-btn {
  border: 1px solid #222222;
  box-shadow: none;
}

[data-theme='unix'] .queue-round-btn.active {
  background: #22C55E;
  color: #000000;
  border-color: #22C55E;
  box-shadow: none;
}

/* Input fields */
[data-theme='unix'] input,
[data-theme='unix'] textarea {
  background: #0a0a0a;
  border: 1px solid #222222;
  border-radius: 0;
}

[data-theme='unix'] input:focus,
[data-theme='unix'] textarea:focus {
  border-color: #22C55E;
  outline: none;
  box-shadow: none;
}

/* Scrollbar — thin 6px, modern terminal style */
[data-theme='unix'] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

[data-theme='unix'] ::-webkit-scrollbar-track {
  background: #0a0a0a;
}

[data-theme='unix'] ::-webkit-scrollbar-thumb {
  background: #333333;
  border-radius: 0;
}

[data-theme='unix'] ::-webkit-scrollbar-thumb:hover {
  background: #22C55E;
}

/* Connection indicator — server name and Last.fm username */
[data-theme='unix'] .connection-type,
[data-theme='unix'] .connection-server {
  color: #888888;
}

/* Connection indicators + Now Playing username */
[data-theme='spider-tech'] .connection-type,
[data-theme='spider-tech'] .connection-server {
  color: #9080a8;
}

/* Connection indicators */
[data-theme='dos'] .connection-type,
[data-theme='dos'] .connection-server {
  color: #AAAAAA;
}

/* Track row hover — all child text to navy so nothing drowns on grey */
[data-theme='dos'] .track-row:hover .track-title,
[data-theme='dos'] .track-row:hover .track-num,
[data-theme='dos'] .track-row:hover .track-artist,
[data-theme='dos'] .track-row:hover .track-duration,
[data-theme='dos'] .track-row:hover .track-codec,
[data-theme='dos'] .track-row:hover button,
[data-theme='dos'] .track-row.context-active .track-title,
[data-theme='dos'] .track-row.context-active .track-num,
[data-theme='dos'] .track-row.context-active .track-artist,
[data-theme='dos'] .track-row.context-active .track-duration,
[data-theme='dos'] .track-row.context-active .track-codec,
[data-theme='dos'] .track-row.context-active button {
  color: #000080 !important;
  background: transparent !important;
}

/* ═══════════════════════════════════════════════════════════════════
   HORDE — World of Warcraft, Durotar blood-red earth, forge-fire
   ═══════════════════════════════════════════════════════════════════ */
[data-theme='horde'] {
  /* Catppuccin-compatible palette — dark blood-iron */
  --ctp-base: #1a0500;
  --ctp-mantle: #140300;
  --ctp-crust: #0e0200;
  --ctp-surface0: #2e0a02;
  --ctp-surface1: #3e1104;
  --ctp-surface2: #521806;
  --ctp-overlay0: #8a5030;
  --ctp-overlay1: #a06038;
  --ctp-overlay2: #b87048;
  --ctp-subtext0: #c88850;
  --ctp-subtext1: #d89860;
  --ctp-text: #e8d4b8;
  --ctp-lavender: #cc4422;
  --ctp-blue: #cc2200;
  --ctp-sapphire: #aa1800;
  --ctp-sky: #dd3300;
  --ctp-teal: #cc5500;
  --ctp-green: #887722;
  --ctp-yellow: #ffd890;
  --ctp-peach: #ff8844;
  --ctp-maroon: #991100;
  --ctp-red: #cc2200;
  --ctp-mauve: #cc4422;
  --ctp-pink: #dd5533;
  --ctp-flamingo: #ee6644;
  --ctp-rosewater: #ffaa66;

  /* Semantic tokens */
  --bg-app: #1a0500;
  --bg-sidebar: #110300;
  --bg-player: #120400;
  --bg-card: #2e0a02;
  --bg-card-hover: #3e1104;
  --bg-input: #2e0a02;
  --bg-overlay: rgba(26, 5, 0, 0.92);
  --bg-selection: rgba(204, 34, 0, 0.25);
  --border-subtle: rgba(140, 60, 20, 0.30);
  --border-default: rgba(180, 80, 30, 0.35);
  --border-strong: rgba(220, 120, 50, 0.50);
  --text-primary: #e8d4b8;
  --text-secondary: #c09070;
  --text-muted: #a07848;
  --text-disabled: #5a3820;
  --accent: #cc2200;
  --accent-hover: #e02800;
  --accent-glow: rgba(204, 34, 0, 0.35);
  --accent-subtle: rgba(204, 34, 0, 0.15);
  --danger: #ff4422;
  --success: #887722;
  --warning: #ff8844;
  --nav-active-bg: rgba(204, 34, 0, 0.22);
  --nav-active-text: #ffd890;
  --scrollbar-thumb: rgba(140, 50, 10, 0.60);
  --scrollbar-track: transparent;
  --shadow-card: 0 2px 10px rgba(0, 0, 0, 0.70);
  --shadow-player: 0 -4px 20px rgba(150, 30, 0, 0.25);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
}

/* Track name — blood-gold glow, as if lit by forge-fire */
[data-theme='horde'] .player-track-name,
[data-theme='horde'] .queue-track-title {
  color: #ffd890;
  text-shadow: 0 0 16px rgba(220, 80, 0, 0.55), 0 0 4px rgba(220, 80, 0, 0.25);
}

/* Sidebar — iron plate lines + subtle red glow on active */
[data-theme='horde'] .sidebar {
  background-color: #110300;
  background-image: repeating-linear-gradient(180deg,
      transparent 0px,
      transparent 39px,
      rgba(100, 20, 0, 0.18) 39px,
      rgba(100, 20, 0, 0.18) 40px);
  border-right: 1px solid rgba(140, 40, 10, 0.35);
}

/* Nav active — ember glow */
[data-theme='horde'] .sidebar-nav-item.active {
  background: rgba(204, 34, 0, 0.20);
  border-left: 3px solid #cc2200;
  box-shadow: inset 0 0 12px rgba(204, 34, 0, 0.10);
}

/* Player bar — forge-fire glow from below */
[data-theme='horde'] .player-bar {
  background-color: #120400;
  background-image: linear-gradient(to bottom, rgba(80, 10, 0, 0.35), transparent);
  border-top: 1px solid rgba(180, 60, 20, 0.40);
  box-shadow: 0 -4px 24px rgba(150, 30, 0, 0.30);
}

/* App-shell — safe single-pass radial, no repeating */
[data-theme='horde'] .app-shell {
  background: radial-gradient(ellipse at 65% 110%, rgba(160, 25, 0, 0.18) 0%, transparent 55%);
}

/* Cards — iron-tinted hover */
[data-theme='horde'] .album-card:hover,
[data-theme='horde'] .artist-card:hover {
  box-shadow: 0 4px 18px rgba(180, 40, 0, 0.30);
  border-color: rgba(200, 60, 10, 0.50);
}

/* Connection indicators */
[data-theme='horde'] .connection-type,
[data-theme='horde'] .connection-server {
  color: #a07848;
}


/* ═══════════════════════════════════════════════════════════════════
   ALLIANCE — World of Warcraft, Stormwind navy, cathedral stone & gold
   ═══════════════════════════════════════════════════════════════════ */
[data-theme='alliance'] {
  /* Catppuccin-compatible palette — deep navy / cathedral stone */
  --ctp-base: #06101e;
  --ctp-mantle: #040c18;
  --ctp-crust: #020810;
  --ctp-surface0: #0c1e34;
  --ctp-surface1: #122440;
  --ctp-surface2: #1a2e50;
  --ctp-overlay0: #506888;
  --ctp-overlay1: #607898;
  --ctp-overlay2: #7088a8;
  --ctp-subtext0: #8098b8;
  --ctp-subtext1: #90a8c8;
  --ctp-text: #d8e8f8;
  --ctp-lavender: #5588cc;
  --ctp-blue: #3388cc;
  --ctp-sapphire: #2266aa;
  --ctp-sky: #44aadd;
  --ctp-teal: #3399cc;
  --ctp-green: #88bb44;
  --ctp-yellow: #f0c840;
  --ctp-peach: #dd9944;
  --ctp-maroon: #aa3322;
  --ctp-red: #cc4433;
  --ctp-mauve: #7766cc;
  --ctp-pink: #997acc;
  --ctp-flamingo: #aa88cc;
  --ctp-rosewater: #bbaacc;

  /* Semantic tokens */
  --bg-app: #06101e;
  --bg-sidebar: #040c18;
  --bg-player: #050e1a;
  --bg-card: #0c1e34;
  --bg-card-hover: #122440;
  --bg-input: #0c1e34;
  --bg-overlay: rgba(6, 16, 30, 0.92);
  --bg-selection: rgba(51, 136, 204, 0.25);
  --border-subtle: rgba(60, 100, 160, 0.28);
  --border-default: rgba(80, 120, 180, 0.35);
  --border-strong: rgba(120, 160, 210, 0.50);
  --text-primary: #d8e8f8;
  --text-secondary: #8098b8;
  --text-muted: #6880a0;
  --text-disabled: #2a3e58;
  --accent: #3388cc;
  --accent-hover: #4499dd;
  --accent-glow: rgba(51, 136, 204, 0.35);
  --accent-subtle: rgba(51, 136, 204, 0.15);
  --danger: #cc4433;
  --success: #88bb44;
  --warning: #dd9944;
  --nav-active-bg: rgba(51, 136, 204, 0.20);
  --nav-active-text: #e8f4ff;
  --scrollbar-thumb: rgba(60, 110, 180, 0.55);
  --scrollbar-track: transparent;
  --shadow-card: 0 2px 10px rgba(0, 0, 0, 0.60);
  --shadow-player: 0 -4px 20px rgba(20, 70, 160, 0.22);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
}

/* Track name — paladin holy-light glow */
[data-theme='alliance'] .player-track-name,
[data-theme='alliance'] .queue-track-title {
  color: #e8f4ff;
  text-shadow: 0 0 14px rgba(80, 160, 220, 0.50), 0 0 4px rgba(80, 160, 220, 0.20);
}

/* Sidebar — cathedral stone columns with gold right-border */
[data-theme='alliance'] .sidebar {
  background-color: #040c18;
  background-image: repeating-linear-gradient(180deg,
      transparent 0px,
      transparent 47px,
      rgba(60, 100, 180, 0.14) 47px,
      rgba(60, 100, 180, 0.14) 48px);
  border-right: 2px solid rgba(200, 170, 50, 0.30);
}

/* Nav active — royal blue with gold left accent */
[data-theme='alliance'] .sidebar-nav-item.active {
  background: rgba(51, 136, 204, 0.20);
  border-left: 3px solid #f0c840;
  box-shadow: inset 0 0 12px rgba(51, 136, 204, 0.10);
}

/* Player bar — paladin aura glow */
[data-theme='alliance'] .player-bar {
  background-color: #050e1a;
  background-image: linear-gradient(to bottom, rgba(20, 60, 130, 0.30), transparent);
  border-top: 1px solid rgba(100, 140, 200, 0.35);
  box-shadow: 0 -4px 22px rgba(30, 80, 180, 0.22);
}

/* App-shell — safe single-pass radial, no repeating */
[data-theme='alliance'] .app-shell {
  background: radial-gradient(ellipse at 38% 110%, rgba(25, 70, 170, 0.15) 0%, transparent 55%);
}

/* Cards — blue-glow hover */
[data-theme='alliance'] .album-card:hover,
[data-theme='alliance'] .artist-card:hover {
  box-shadow: 0 4px 18px rgba(40, 100, 200, 0.28);
  border-color: rgba(80, 140, 210, 0.50);
}

/* Connection indicators */
[data-theme='alliance'] .connection-type,
[data-theme='alliance'] .connection-server {
  color: #6880a0;
}

/* ═══════════════════════════════════════════════════════════════════
   W11 — Windows 11 Fluent Design, dark mode, Mica material
   ═══════════════════════════════════════════════════════════════════ */
[data-theme='w11'] {
  /* Catppuccin-compatible palette — Fluent dark neutrals */
  --ctp-base: #202020;
  --ctp-mantle: #1c1c1c;
  --ctp-crust: #181818;
  --ctp-surface0: #2c2c2c;
  --ctp-surface1: #363636;
  --ctp-surface2: #404040;
  --ctp-overlay0: #797979;
  --ctp-overlay1: #8a8a8a;
  --ctp-overlay2: #9a9a9a;
  --ctp-subtext0: #ababab;
  --ctp-subtext1: #bebebe;
  --ctp-text: #f3f3f3;
  --ctp-lavender: #6ccbf8;
  --ctp-blue: #0078d4;
  --ctp-sapphire: #0067c0;
  --ctp-sky: #4cc2ff;
  --ctp-teal: #00b7c3;
  --ctp-green: #6ccb5f;
  --ctp-yellow: #f9f1a5;
  --ctp-peach: #f7630c;
  --ctp-maroon: #e81123;
  --ctp-red: #e81123;
  --ctp-mauve: #8764b8;
  --ctp-pink: #b146c2;
  --ctp-flamingo: #e3008c;
  --ctp-rosewater: #f5e1ff;

  /* Semantic tokens */
  --bg-app: #202020;
  --bg-sidebar: #2b2b2b;
  --bg-player: #1c1c1c;
  --bg-card: #2c2c2c;
  --bg-card-hover: #363636;
  --bg-input: #2c2c2c;
  --bg-overlay: rgba(32, 32, 32, 0.92);
  --bg-selection: rgba(0, 120, 212, 0.25);
  --border-subtle: rgba(255, 255, 255, 0.06);
  --border-default: rgba(255, 255, 255, 0.10);
  --border-strong: rgba(255, 255, 255, 0.18);
  --text-primary: #f3f3f3;
  --text-secondary: #9a9a9a;
  --text-muted: #797979;
  --text-disabled: #4a4a4a;
  --accent: #0078d4;
  --accent-hover: #1086e0;
  --accent-glow: rgba(0, 120, 212, 0.30);
  --accent-subtle: rgba(0, 120, 212, 0.15);
  --danger: #e81123;
  --success: #6ccb5f;
  --warning: #f7630c;
  --nav-active-bg: rgba(0, 120, 212, 0.18);
  --nav-active-text: #f3f3f3;
  --scrollbar-thumb: rgba(255, 255, 255, 0.18);
  --scrollbar-track: transparent;
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.50);
  --shadow-player: 0 -1px 0 rgba(255, 255, 255, 0.06);
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
}

/* Track name — clean white, no glow (Fluent is minimal) */
[data-theme='w11'] .player-track-name,
[data-theme='w11'] .queue-track-title {
  color: #f3f3f3;
}

/* Sidebar — Mica-like: very slightly lighter than app bg, clean border */
[data-theme='w11'] .sidebar {
  background-color: #2b2b2b;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

/* Nav active — Fluent accent fill, rounded */
[data-theme='w11'] .sidebar-nav-item.active {
  background: rgba(0, 120, 212, 0.20);
  border-left: 3px solid #0078d4;
}

/* Player bar — taskbar-inspired: very dark, hairline top border */
[data-theme='w11'] .player-bar {
  background-color: #1c1c1c;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

/* App-shell — flat, no gradient (Fluent dark is clean/minimal) */
[data-theme='w11'] .app-shell {
  background: none;
}

/* Cards — Fluent hover: slight elevation via border brightening */
[data-theme='w11'] .album-card:hover,
[data-theme='w11'] .artist-card:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45);
  border-color: rgba(255, 255, 255, 0.16);
}

/* Connection indicators */
[data-theme='w11'] .connection-type,
[data-theme='w11'] .connection-server {
  color: #797979;
}

/* ── Barb & Ken (Games) ─────────────────────────────────────── */
[data-theme='barb-and-ken'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23FF1B8D%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Barbieland palette */
  --ctp-crust: #07000b;
  --ctp-mantle: #110009;
  --ctp-base: #1a000f;
  --ctp-surface0: #2e0019;
  --ctp-surface1: #450026;
  --ctp-surface2: #5c0032;
  --ctp-overlay0: #8c1455;
  --ctp-overlay1: #b82070;
  --ctp-overlay2: #d93d8a;
  --ctp-text: #ffe6f3;
  --ctp-subtext1: #ffb8da;
  --ctp-subtext0: #ff80be;

  /* Barbie Pink spectrum */
  --ctp-mauve: #FF1B8D;
  --ctp-pink: #FF69B4;
  --ctp-flamingo: #FF1493;
  --ctp-rosewater: #FFD6EC;
  --ctp-lavender: #FFB3D9;
  --ctp-maroon: #c4005e;
  --ctp-red: #FF4466;

  /* Ken — powder blue as accent-2 */
  --ctp-blue: #89CFF0;
  --ctp-sapphire: #5BC8F5;
  --ctp-sky: #AAE8FF;
  --ctp-teal: #70d8f2;

  --ctp-green: #a6e3a1;
  --ctp-yellow: #FFE4A8;
  --ctp-peach: #FFB8D0;

  --bg-app: #1a000f;
  --bg-sidebar: #110009;
  --bg-card: #2e0019;
  --bg-hover: rgba(255, 27, 141, 0.12);
  --bg-player: #07000b;
  --bg-glass: rgba(26, 0, 15, 0.88);

  --accent: #FF1B8D;
  --accent-dim: rgba(255, 27, 141, 0.15);
  --accent-glow: rgba(255, 27, 141, 0.45);
  --volume-accent: #89CFF0;

  --text-primary: #ffe6f3;
  --text-secondary: #ffb8da;
  --text-muted: #7a3055;
  --border: rgba(255, 27, 141, 0.28);
  --border-subtle: rgba(255, 27, 141, 0.12);
  --border-dropdown: rgba(255, 27, 141, 0.3);
  --shadow-dropdown: rgba(7, 0, 11, 0.9);

  --positive: #a6e3a1;
  --warning: #FFE4A8;
  --danger: #FF4466;

  /* Bubbly, soft rounding — very Barbie */
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
}

/* Polka-dot sidebar — Barbie's dreamhouse wallpaper */
[data-theme='barb-and-ken'] .sidebar {
  background:
    radial-gradient(circle, rgba(255, 27, 141, 0.18) 2px, transparent 2px),
    radial-gradient(circle, rgba(137, 207, 240, 0.10) 2px, transparent 2px),
    linear-gradient(180deg, #110009 0%, #1a000f 100%);
  background-size: 22px 22px, 22px 22px, 100% 100%;
  background-position: 0 0, 11px 11px, 0 0;
  border-right: 1px solid rgba(255, 27, 141, 0.35);
}

/* Player bar — deep magenta gradient, hot pink top border */
[data-theme='barb-and-ken'] .player-bar {
  background: linear-gradient(180deg, #1a000f 0%, #07000b 100%);
  border-top: 2px solid #FF1B8D;
  box-shadow: 0 -6px 24px rgba(255, 27, 141, 0.18);
}

/* Track name — glitter shimmer */
@keyframes barbie-shimmer {
  0% {
    background-position: -200% center;
  }

  100% {
    background-position: 200% center;
  }
}

[data-theme='barb-and-ken'] .player-track-name {
  background: linear-gradient(90deg,
      #FF1B8D 0%,
      #FF69B4 25%,
      #ffffff 50%,
      #FF69B4 75%,
      #FF1B8D 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: barbie-shimmer 4s linear infinite;
  font-weight: 700;
}

/* Artist name — Ken blue */
[data-theme='barb-and-ken'] .player-artist-name {
  color: #89CFF0;
}

/* Active nav — pink left border glow */
[data-theme='barb-and-ken'] .nav-link.active {
  background: linear-gradient(90deg, rgba(255, 27, 141, 0.22) 0%, transparent 100%);
  color: #FF69B4 !important;
  border-left: 3px solid #FF1B8D;
  text-shadow: 0 0 8px rgba(255, 27, 141, 0.4);
}

[data-theme='barb-and-ken'] .nav-link:hover:not(.active) {
  background: rgba(255, 27, 141, 0.08);
}

/* Content header — subtle pink rule */
[data-theme='barb-and-ken'] .content-header {
  border-bottom: 1px solid rgba(255, 27, 141, 0.2);
  background: rgba(26, 0, 15, 0.6);
  backdrop-filter: blur(12px);
}

/* Primary buttons — hot pink gradient */
[data-theme='barb-and-ken'] .btn-primary,
[data-theme='barb-and-ken'] .player-btn-primary,
[data-theme='barb-and-ken'] .hero-play-btn {
  background: linear-gradient(135deg, #FF1B8D 0%, #FF69B4 100%);
  box-shadow: 0 4px 16px rgba(255, 27, 141, 0.45);
  color: #fff !important;
  border: none;
}

[data-theme='barb-and-ken'] .btn-primary:hover,
[data-theme='barb-and-ken'] .player-btn-primary:hover,
[data-theme='barb-and-ken'] .hero-play-btn:hover {
  background: linear-gradient(135deg, #e5007a 0%, #FF1B8D 100%);
  box-shadow: 0 6px 22px rgba(255, 27, 141, 0.60);
}

/* Cards — pink border glow on hover */
[data-theme='barb-and-ken'] .album-card,
[data-theme='barb-and-ken'] .artist-card,
[data-theme='barb-and-ken'] .card,
[data-theme='barb-and-ken'] .settings-card {
  border: 1px solid rgba(255, 27, 141, 0.18);
}

[data-theme='barb-and-ken'] .album-card:hover,
[data-theme='barb-and-ken'] .artist-card:hover {
  border-color: rgba(255, 27, 141, 0.50);
  box-shadow: 0 4px 20px rgba(255, 27, 141, 0.20);
}

/* Queue active item */
[data-theme='barb-and-ken'] .queue-item.active {
  background: rgba(255, 27, 141, 0.08);
  border-left: 3px solid #FF1B8D;
}

[data-theme='barb-and-ken'] .queue-item.active .queue-item-title {
  color: #FF69B4;
}

[data-theme='barb-and-ken'] .queue-item.active .queue-item-artist,
[data-theme='barb-and-ken'] .queue-item.active .queue-item-duration {
  color: #89CFF0;
}

/* Track rows */
[data-theme='barb-and-ken'] .track-row:hover,
[data-theme='barb-and-ken'] .queue-item:hover {
  background: rgba(255, 27, 141, 0.07);
}

/* Album detail header cover button — Ken blue glow on hover */
[data-theme='barb-and-ken'] .album-detail-cover-btn:hover {
  box-shadow: 0 0 24px rgba(137, 207, 240, 0.35);
}

/* Star (favorite) icon — gold kept, but override to hot pink */
[data-theme='barb-and-ken'] .color-star-active {
  --color-star-active: #FF69B4;
}

/* Scrollbar — thin hot pink */
[data-theme='barb-and-ken'] ::-webkit-scrollbar {
  width: 5px;
}

[data-theme='barb-and-ken'] ::-webkit-scrollbar-track {
  background: #07000b;
}

[data-theme='barb-and-ken'] ::-webkit-scrollbar-thumb {
  background: #FF1B8D;
  border-radius: 3px;
}

[data-theme='barb-and-ken'] ::-webkit-scrollbar-thumb:hover {
  background: #FF69B4;
}

/* Connection indicators */
[data-theme='barb-and-ken'] .connection-type,
[data-theme='barb-and-ken'] .connection-server {
  color: #7a3055;
}

/* ── Toy Tale (Movies) ──────────────────────────────────────── */
[data-theme='toy-tale'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23FFD600%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* Warm toy-box palette */
  --ctp-crust: #080603;
  --ctp-mantle: #100d08;
  --ctp-base: #1a1208;
  --ctp-surface0: #2a1c10;
  --ctp-surface1: #3a2818;
  --ctp-surface2: #4a3422;
  --ctp-overlay0: #7a5a35;
  --ctp-overlay1: #9a7848;
  --ctp-overlay2: #b89060;
  --ctp-text: #f0e8d8;
  --ctp-subtext1: #d8c8a8;
  --ctp-subtext0: #c0a880;

  /* Woody gold */
  --ctp-mauve: #FFD600;
  --ctp-yellow: #FFD600;
  --ctp-peach: #FFA000;
  --ctp-rosewater: #FFE0A0;

  /* Buzz Lightyear purple + green */
  --ctp-lavender: #9B72D6;
  --ctp-blue: #7B4FD6;
  --ctp-sapphire: #5c35a0;
  --ctp-sky: #4FC3F7;
  --ctp-teal: #4CAF50;
  --ctp-green: #4CAF50;

  --ctp-pink: #FF6B9D;
  --ctp-flamingo: #FF4488;
  --ctp-maroon: #b71c1c;
  --ctp-red: #e53935;

  --bg-app: #1a1208;
  --bg-sidebar: #1e3a5f;
  /* Andy's sky-blue wallpaper */
  --bg-card: #2a1c10;
  --bg-hover: rgba(255, 214, 0, 0.10);
  --bg-player: #0d0a06;
  --bg-glass: rgba(26, 18, 8, 0.90);

  --accent: #FFD600;
  --accent-dim: rgba(255, 214, 0, 0.15);
  --accent-glow: rgba(255, 214, 0, 0.40);
  --volume-accent: #7B4FD6;
  /* Buzz purple */

  --text-primary: #f0e8d8;
  --text-secondary: #c8a878;
  --text-muted: #6a5030;
  --border: rgba(255, 214, 0, 0.22);
  --border-subtle: rgba(255, 214, 0, 0.10);
  --border-dropdown: rgba(255, 214, 0, 0.25);
  --shadow-dropdown: rgba(8, 6, 3, 0.92);

  --positive: #4CAF50;
  --warning: #FFA000;
  --danger: #e53935;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
}

/* Sidebar — Andy's iconic cloud wallpaper in sky blue */
[data-theme='toy-tale'] .sidebar {
  background:
    radial-gradient(ellipse 70px 42px at 18% 12%, rgba(255, 255, 255, 0.14) 0%, transparent 100%),
    radial-gradient(ellipse 45px 28px at 38% 18%, rgba(255, 255, 255, 0.09) 0%, transparent 100%),
    radial-gradient(ellipse 80px 50px at 72% 10%, rgba(255, 255, 255, 0.12) 0%, transparent 100%),
    radial-gradient(ellipse 55px 32px at 85% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 100%),
    radial-gradient(ellipse 65px 40px at 12% 55%, rgba(255, 255, 255, 0.10) 0%, transparent 100%),
    radial-gradient(ellipse 48px 30px at 55% 68%, rgba(255, 255, 255, 0.08) 0%, transparent 100%),
    radial-gradient(ellipse 72px 44px at 80% 75%, rgba(255, 255, 255, 0.11) 0%, transparent 100%),
    linear-gradient(180deg, #1e3a5f 0%, #274d78 100%);
  border-right: 1px solid rgba(255, 214, 0, 0.20);
}

/* Nav links need lighter text on blue sidebar */
[data-theme='toy-tale'] .nav-link {
  color: rgba(255, 255, 255, 0.75);
}

[data-theme='toy-tale'] .nav-link:hover:not(.active) {
  background: rgba(255, 255, 255, 0.10);
  color: #fff;
}

[data-theme='toy-tale'] .nav-link.active {
  background: rgba(255, 214, 0, 0.20);
  border-left: 3px solid #FFD600;
  color: #FFD600 !important;
  text-shadow: 0 0 8px rgba(255, 214, 0, 0.4);
}

[data-theme='toy-tale'] .sidebar-logo,
[data-theme='toy-tale'] .sidebar-title {
  color: #fff;
}

/* Player bar — dark toy-chest wood */
[data-theme='toy-tale'] .player-bar {
  background: linear-gradient(180deg, #1a1208 0%, #0d0a06 100%);
  border-top: 2px solid #FFD600;
  box-shadow: 0 -6px 20px rgba(255, 214, 0, 0.10);
}

/* Track name — Woody sheriff star gold */
[data-theme='toy-tale'] .player-track-name {
  color: #FFD600;
  text-shadow: 0 0 10px rgba(255, 214, 0, 0.45);
  font-weight: 700;
}

/* Artist name — warm cowboy tan */
[data-theme='toy-tale'] .player-artist-name {
  color: #c8a060;
}

/* Content header */
[data-theme='toy-tale'] .content-header {
  border-bottom: 1px solid rgba(255, 214, 0, 0.18);
}

/* Primary buttons — Woody yellow */
[data-theme='toy-tale'] .btn-primary,
[data-theme='toy-tale'] .player-btn-primary,
[data-theme='toy-tale'] .hero-play-btn {
  background: linear-gradient(135deg, #FFD600 0%, #FFA000 100%);
  color: #1a1208 !important;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(255, 214, 0, 0.35);
  border: none;
}

[data-theme='toy-tale'] .btn-primary:hover,
[data-theme='toy-tale'] .player-btn-primary:hover,
[data-theme='toy-tale'] .hero-play-btn:hover {
  background: linear-gradient(135deg, #ffe033 0%, #FFD600 100%);
  box-shadow: 0 6px 20px rgba(255, 214, 0, 0.50);
}

/* Cards */
[data-theme='toy-tale'] .album-card,
[data-theme='toy-tale'] .artist-card,
[data-theme='toy-tale'] .card,
[data-theme='toy-tale'] .settings-card {
  border: 1px solid rgba(255, 214, 0, 0.16);
}

[data-theme='toy-tale'] .album-card:hover,
[data-theme='toy-tale'] .artist-card:hover {
  border-color: rgba(255, 214, 0, 0.42);
  box-shadow: 0 4px 18px rgba(255, 214, 0, 0.14);
}

/* Track rows */
[data-theme='toy-tale'] .track-row:hover,
[data-theme='toy-tale'] .queue-item:hover {
  background: rgba(255, 214, 0, 0.06);
}

/* Queue active item — Buzz purple accent */
[data-theme='toy-tale'] .queue-item.active {
  background: rgba(123, 79, 214, 0.12);
  border-left: 3px solid #7B4FD6;
}

[data-theme='toy-tale'] .queue-item.active .queue-item-title {
  color: #FFD600;
}

[data-theme='toy-tale'] .queue-item.active .queue-item-artist,
[data-theme='toy-tale'] .queue-item.active .queue-item-duration {
  color: #9B72D6;
}

/* Scrollbar — Woody brown */
[data-theme='toy-tale'] ::-webkit-scrollbar {
  width: 6px;
}

[data-theme='toy-tale'] ::-webkit-scrollbar-track {
  background: #0d0a06;
}

[data-theme='toy-tale'] ::-webkit-scrollbar-thumb {
  background: #7a5a35;
  border-radius: 3px;
}

[data-theme='toy-tale'] ::-webkit-scrollbar-thumb:hover {
  background: #FFD600;
}

/* Connection indicators */
[data-theme='toy-tale'] .connection-type,
[data-theme='toy-tale'] .connection-server {
  color: #6a5030;
}

/* ─── North Park — South Park ─── */
/* Construction paper flat aesthetic — paper-cream main, Colorado mountain-blue sidebar,
   Kenny orange accent, South Park sky blue player accents. Light, no dark mode. */
[data-theme='north-park'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23FF8C00%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette — Kenny orange, South Park sky, Colorado Rockies ── */
  --ctp-crust: #0D2040;
  --ctp-mantle: #142D50;
  --ctp-base: #F5F1E8;
  /* construction paper cream */
  --ctp-surface0: #EDE9DE;
  --ctp-surface1: #E5E0D2;
  --ctp-surface2: #D8D2C0;
  --ctp-overlay0: #8090A8;
  --ctp-overlay1: #5A6A80;
  --ctp-overlay2: #4A526A;
  --ctp-text: #1A1A2E;
  --ctp-subtext1: #3A3A5A;
  --ctp-subtext0: #4A526A;
  --ctp-mauve: #FF8C00;
  /* Kenny orange */
  --ctp-lavender: #FFB030;
  --ctp-pink: #FF6A00;
  --ctp-flamingo: #FF5500;
  --ctp-rosewater: #FFD080;
  --ctp-green: #3D9A2A;
  /* Kyle's green hat */
  --ctp-teal: #2080A0;
  --ctp-sky: #87CEEB;
  /* South Park sky */
  --ctp-blue: #1E4080;
  --ctp-sapphire: #1B3D6E;
  --ctp-yellow: #FFD700;
  --ctp-peach: #FF8C00;
  --ctp-maroon: #CC4400;
  --ctp-red: #CC2200;
  /* Cartman red */

  --bg-app: #F5F1E8;
  /* construction paper cream */
  --bg-sidebar: #1B3D6E;
  /* Colorado Rockies night blue */
  --bg-card: #FFFFFF;
  --bg-hover: #EDE9DE;
  --bg-player: #102A50;
  /* deeper mountain blue */
  --bg-glass: rgba(245, 241, 232, 0.94);
  --accent: #FF8C00;
  /* Kenny orange */
  --accent-dim: rgba(255, 140, 0, 0.13);
  --accent-glow: rgba(255, 140, 0, 0.30);
  --text-primary: #1A1A2E;
  --text-secondary: #4A526A;
  --text-muted: #8090A8;
  --border: rgba(27, 61, 110, 0.14);
  --border-subtle: rgba(27, 61, 110, 0.08);
  --border-dropdown: rgba(255, 140, 0, 0.28);
  --shadow-dropdown: rgba(0, 20, 60, 0.18);
  --positive: #3D9A2A;
  --warning: #E8A000;
  --danger: #CC2200;
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 10px;

  /* Logo: Kenny orange → South Park yellow */
  --logo-color-start: #FF8C00;
  --logo-color-end: #FFD700;
}

/* Sidebar — Colorado mountain blue, orange nav accents */
[data-theme='north-park'] .sidebar {
  background: #1B3D6E;
  border-right: none;
}

/* Nav links: default text light on dark sidebar */
[data-theme='north-park'] .nav-link {
  color: rgba(255, 255, 255, 0.72);
}

[data-theme='north-park'] .nav-link.active {
  background: rgba(255, 140, 0, 0.18);
  border-left: 3px solid #FF8C00;
  color: #FF8C00;
}

[data-theme='north-park'] .nav-link:hover:not(.active) {
  background: rgba(255, 255, 255, 0.09);
  border-left: 3px solid rgba(255, 140, 0, 0.45);
  color: rgba(255, 255, 255, 0.95);
}

/* Player bar — deep mountain blue, Kenny orange top stripe */
[data-theme='north-park'] .player-bar {
  background: #102A50;
  border-top: 3px solid #FF8C00;
  box-shadow: 0 -2px 20px rgba(0, 20, 60, 0.30);
}

/* Track name — Kenny orange */
[data-theme='north-park'] .player-track-name {
  color: #FF8C00;
}

/* Artist name — South Park sky blue */
[data-theme='north-park'] .player-artist-name {
  color: #87CEEB;
}

/* Content header — warm paper border */
[data-theme='north-park'] .content-header {
  border-bottom: 1px solid rgba(27, 61, 110, 0.12);
}

/* Cards — clean white cutouts with paper shadow */
[data-theme='north-park'] .album-card,
[data-theme='north-park'] .artist-card {
  background: #FFFFFF;
  box-shadow: 0 1px 4px rgba(0, 20, 60, 0.08);
}

[data-theme='north-park'] .album-card:hover,
[data-theme='north-park'] .artist-card:hover {
  box-shadow: 0 0 0 2px #FF8C00, 0 4px 16px rgba(0, 20, 60, 0.12);
}

/* Track rows (light main area) */
[data-theme='north-park'] .track-row:hover {
  background: #EDE9DE;
  box-shadow: inset 2px 0 0 #FF8C00;
}

/* Queue items (dark blue sidebar — keep bg dark, text stays white) */
[data-theme='north-park'] .queue-item:hover {
  background: rgba(255, 255, 255, 0.09);
  box-shadow: inset 2px 0 0 #FF8C00;
}

/* Flat primary button — orange, no gradient */
[data-theme='north-park'] .player-btn-primary {
  background: #FF8C00;
  color: #FFFFFF;
  box-shadow: none;
  border: none;
}

[data-theme='north-park'] .player-btn-primary:hover {
  background: #E07800;
  box-shadow: 0 0 14px rgba(255, 140, 0, 0.40);
}

[data-theme='north-park'] .btn-primary {
  background: #FF8C00;
  color: #FFFFFF;
  border: none;
}

[data-theme='north-park'] .btn-primary:hover {
  background: #E07800;
}

[data-theme='north-park'] .hero-play-btn {
  background: #FF8C00;
  color: #FFFFFF;
  border: none;
  box-shadow: 0 2px 14px rgba(255, 140, 0, 0.35);
}

[data-theme='north-park'] .hero-play-btn:hover {
  background: #E07800;
  box-shadow: 0 4px 22px rgba(255, 140, 0, 0.55);
  transform: scale(1.02);
}

[data-theme='north-park'] .album-card-details-btn {
  background: #FF8C00;
  color: #FFFFFF;
  border: none;
  box-shadow: 0 2px 10px rgba(255, 140, 0, 0.30);
}

/* Badge — orange pill */
[data-theme='north-park'] .badge,
[data-theme='north-park'] .album-detail-badge {
  background: #FF8C00;
  color: #FFFFFF;
}

/* Settings tabs */
[data-theme='north-park'] .settings-tab:hover {
  background: rgba(255, 140, 0, 0.08);
  color: #FF8C00;
}

[data-theme='north-park'] .settings-tab.active {
  background: rgba(255, 140, 0, 0.13);
  color: #FF8C00;
  border-color: #FF8C00;
}

[data-theme='north-park'] .queue-tab-btn:hover {
  background: rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.90);
}

/* Misc interactive */
[data-theme='north-park'] .custom-select-trigger:hover {
  background: #EDE9DE;
}

[data-theme='north-park'] .custom-select-option:hover {
  background: rgba(255, 140, 0, 0.10);
}

[data-theme='north-park'] .artist-row:hover {
  background: rgba(255, 140, 0, 0.07);
  box-shadow: inset 3px 0 0 #FF8C00;
}

[data-theme='north-park'] .playlist-row:hover {
  background: rgba(255, 140, 0, 0.07);
  box-shadow: inset 3px 0 0 #FF8C00;
}

/* Connection indicators — muted on light bg */
[data-theme='north-park'] .connection-type,
[data-theme='north-park'] .connection-server {
  color: #7A8A9A;
}

/* Queue panel — dark sidebar, light text overrides */
[data-theme='north-park'] .queue-panel {
  background: #1B3D6E;
}

[data-theme='north-park'] .queue-item-title {
  color: rgba(255, 255, 255, 0.90);
}

[data-theme='north-park'] .queue-item-artist,
[data-theme='north-park'] .queue-item-duration {
  color: rgba(255, 255, 255, 0.52);
}

[data-theme='north-park'] .queue-item.active .queue-item-artist,
[data-theme='north-park'] .queue-item.active .queue-item-duration {
  color: rgba(255, 255, 255, 0.72);
}

[data-theme='north-park'] .queue-divider span {
  color: rgba(255, 255, 255, 0.38) !important;
}

[data-theme='north-park'] .queue-current-info h3 {
  color: rgba(255, 255, 255, 0.92);
}

[data-theme='north-park'] .queue-current-sub {
  color: rgba(255, 255, 255, 0.55);
}

[data-theme='north-park'] .queue-current-cover .fallback {
  color: rgba(255, 255, 255, 0.32);
}

[data-theme='north-park'] .queue-tab-btn {
  color: rgba(255, 255, 255, 0.58);
}

[data-theme='north-park'] .queue-tab-btn.active {
  color: #FF8C00;
}

[data-theme='north-park'] .queue-round-btn.active {
  color: #FFFFFF;
}

[data-theme='north-park'] .queue-action-btn {
  color: rgba(255, 255, 255, 0.60);
}

[data-theme='north-park'] .queue-action-btn:hover:not(:disabled) {
  color: rgba(255, 255, 255, 0.92);
}

/* Back button + hero text — needs high contrast on dark overlay at top of album header */
[data-theme='north-park'] .album-detail-back {
  color: rgba(255, 255, 255, 0.85);
}

[data-theme='north-park'] .album-detail-back:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

[data-theme='north-park'] .album-detail-info {
  color: rgba(255, 255, 255, 0.80);
}

/* Artist name in hero — soften the orange to a warm amber, less glaring */
[data-theme='north-park'] .album-detail-artist,
[data-theme='north-park'] .album-detail-artist-link {
  color: #FFAB40;
}

[data-theme='north-park'] .album-detail-artist-link:hover {
  color: #FFD080;
}

/* np-album-track (Now Playing page) */
[data-theme='north-park'] .np-album-track.active .np-album-track-title,
[data-theme='north-park'] .np-album-track.active .np-album-track-num {
  color: #FF8C00;
}

/* Scrollbar — thin, orange thumb */
[data-theme='north-park'] ::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

[data-theme='north-park'] ::-webkit-scrollbar-track {
  background: #EDE9DE;
}

[data-theme='north-park'] ::-webkit-scrollbar-thumb {
  background: rgba(255, 140, 0, 0.35);
  border-radius: 3px;
}

[data-theme='north-park'] ::-webkit-scrollbar-thumb:hover {
  background: #FF8C00;
}

/* ─── Dark Side of the Moon (inspired) — Pink Floyd ─── */
/* Pure void-black + prism spectrum. No colour except the rainbow.
   Accent: spectrum cyan. Spectrum gradient as player-bar top border.
   Track name: white (the input light beam). Performance: no patterns, no animations. */
[data-theme='dark-side-of-the-moon'] {
  color-scheme: dark;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%239B30FF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette — void black + prism spectrum ── */
  --ctp-crust: #000000;
  --ctp-mantle: #010101;
  --ctp-base: #050505;
  --ctp-surface0: #0A0A0A;
  --ctp-surface1: #111111;
  --ctp-surface2: #1A1A1A;
  --ctp-overlay0: #333333;
  --ctp-overlay1: #4A4A4A;
  --ctp-overlay2: #686868;
  --ctp-text: #F0F0F0;
  --ctp-subtext1: #C8C8C8;
  --ctp-subtext0: #A0A0A0;
  --ctp-mauve: #9B30FF;
  /* spectrum violet — primary accent */
  --ctp-lavender: #7B00FF;
  /* spectrum violet */
  --ctp-pink: #FF2400;
  /* spectrum red */
  --ctp-flamingo: #FF7700;
  /* spectrum orange */
  --ctp-rosewater: #FFFFFF;
  /* the input light beam */
  --ctp-green: #72FF00;
  /* spectrum green */
  --ctp-teal: #00C8FF;
  --ctp-sky: #9B30FF;
  --ctp-blue: #0040FF;
  /* spectrum blue */
  --ctp-sapphire: #0060DD;
  --ctp-yellow: #FFE600;
  /* spectrum yellow */
  --ctp-peach: #FF7700;
  --ctp-maroon: #CC1800;
  --ctp-red: #FF2400;

  --bg-app: #050505;
  --bg-sidebar: #020202;
  --bg-card: #0D0D0D;
  --bg-hover: #141414;
  --bg-player: #010101;
  --bg-glass: rgba(5, 5, 5, 0.96);
  --accent: #9B30FF;
  /* spectrum violet */
  --accent-dim: rgba(155, 48, 255, 0.10);
  --accent-glow: rgba(155, 48, 255, 0.28);
  --text-primary: #F0F0F0;
  --text-secondary: #A0A0A0;
  --text-muted: #555555;
  --border: rgba(255, 255, 255, 0.07);
  --border-subtle: rgba(255, 255, 255, 0.04);
  --border-dropdown: rgba(155, 48, 255, 0.22);
  --shadow-dropdown: rgba(0, 0, 0, 0.99);
  --positive: #72FF00;
  --warning: #FFE600;
  --danger: #FF2400;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;

  /* Waveform — cyan played, dark unplayed */
  --waveform-played: #9B30FF;
  --waveform-buffered: rgba(255, 255, 255, 0.07);
  --waveform-unplayed: rgba(255, 255, 255, 0.04);

  /* Logo — orange → cyan (the spectrum itself) */
  --logo-color-start: #FF7700;
  --logo-color-end: #9B30FF;
}

/* Player bar — void black, spectrum rainbow top border via ::before */
[data-theme='dark-side-of-the-moon'] .player-bar {
  background: #010101;
  border-top: none;
  position: relative;
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.04);
}

[data-theme='dark-side-of-the-moon'] .player-bar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,
      #FF2400 0%,
      #FF7700 17%,
      #FFE600 33%,
      #72FF00 50%,
      #00C8FF 67%,
      #0040FF 83%,
      #7B00FF 100%);
}

/* Track name — the white input light beam */
[data-theme='dark-side-of-the-moon'] .player-track-name {
  color: #FFFFFF;
}

/* Artist name — neutral dim */
[data-theme='dark-side-of-the-moon'] .player-artist-name {
  color: #888888;
}

/* Sidebar — pure void */
[data-theme='dark-side-of-the-moon'] .sidebar {
  background: #020202;
  border-right: 1px solid rgba(255, 255, 255, 0.04);
}

[data-theme='dark-side-of-the-moon'] .nav-link.active {
  background: rgba(0, 229, 255, 0.08);
  border-left: 3px solid #00E5FF;
  color: #00E5FF;
}

[data-theme='dark-side-of-the-moon'] .nav-link:hover:not(.active) {
  background: rgba(255, 255, 255, 0.04);
  border-left: 3px solid rgba(0, 229, 255, 0.30);
  color: #F0F0F0;
}

/* Cards */
[data-theme='dark-side-of-the-moon'] .album-card,
[data-theme='dark-side-of-the-moon'] .artist-card {
  background: #0D0D0D;
}

[data-theme='dark-side-of-the-moon'] .album-card:hover,
[data-theme='dark-side-of-the-moon'] .artist-card:hover {
  box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.40), 0 4px 20px rgba(0, 229, 255, 0.08);
}

/* Track / queue rows */
[data-theme='dark-side-of-the-moon'] .track-row:hover,
[data-theme='dark-side-of-the-moon'] .queue-item:hover {
  background: #141414;
  box-shadow: inset 2px 0 0 #00E5FF;
}

/* Buttons — flat cyan, no gradient */
[data-theme='dark-side-of-the-moon'] .player-btn-primary {
  background: #00E5FF;
  color: #010101;
  box-shadow: none;
  border: none;
}

[data-theme='dark-side-of-the-moon'] .player-btn-primary:hover {
  background: #33EEFF;
  box-shadow: 0 0 16px rgba(0, 229, 255, 0.40);
}

[data-theme='dark-side-of-the-moon'] .btn-primary {
  background: #00E5FF;
  color: #010101;
  border: none;
}

[data-theme='dark-side-of-the-moon'] .btn-primary:hover {
  background: #33EEFF;
}

[data-theme='dark-side-of-the-moon'] .hero-play-btn {
  background: #00E5FF;
  color: #010101;
  border: none;
  box-shadow: 0 2px 16px rgba(0, 229, 255, 0.30);
}

[data-theme='dark-side-of-the-moon'] .hero-play-btn:hover {
  background: #33EEFF;
  box-shadow: 0 4px 26px rgba(0, 229, 255, 0.50);
  transform: scale(1.02);
}

[data-theme='dark-side-of-the-moon'] .album-card-details-btn {
  background: #00E5FF;
  color: #010101;
  border: none;
  box-shadow: 0 2px 10px rgba(0, 229, 255, 0.25);
}

/* Badge */
[data-theme='dark-side-of-the-moon'] .badge,
[data-theme='dark-side-of-the-moon'] .album-detail-badge {
  background: #00E5FF;
  color: #010101;
}

/* Settings + queue tabs */
[data-theme='dark-side-of-the-moon'] .settings-tab:hover {
  background: rgba(155, 48, 255, 0.07);
  color: #9B30FF;
}

[data-theme='dark-side-of-the-moon'] .settings-tab.active {
  background: rgba(155, 48, 255, 0.12);
  color: #9B30FF;
  border-color: #9B30FF;
}

[data-theme='dark-side-of-the-moon'] .queue-tab-btn:hover {
  background: rgba(255, 255, 255, 0.05);
}

[data-theme='dark-side-of-the-moon'] .queue-tab-btn.active {
  color: #9B30FF;
}

[data-theme='dark-side-of-the-moon'] .queue-round-btn.active {
  color: #010101;
}

/* Misc interactive */
[data-theme='dark-side-of-the-moon'] .custom-select-trigger:hover {
  background: #141414;
}

[data-theme='dark-side-of-the-moon'] .custom-select-option:hover {
  background: rgba(155, 48, 255, 0.08);
}

[data-theme='dark-side-of-the-moon'] .artist-row:hover {
  background: rgba(155, 48, 255, 0.05);
  box-shadow: inset 3px 0 0 #9B30FF;
}

[data-theme='dark-side-of-the-moon'] .playlist-row:hover {
  background: rgba(155, 48, 255, 0.05);
  box-shadow: inset 3px 0 0 #9B30FF;
}

[data-theme='dark-side-of-the-moon'] .artist-ext-link:hover {
  background: rgba(155, 48, 255, 0.07);
  border-color: #9B30FF;
}

/* Album detail header — year/genre/info too dark on near-black bg, brighten */
[data-theme='dark-side-of-the-moon'] .album-detail-info {
  color: #888888;
}

/* np-album-track */
[data-theme='dark-side-of-the-moon'] .np-album-track.active .np-album-track-title,
[data-theme='dark-side-of-the-moon'] .np-album-track.active .np-album-track-num {
  color: #9B30FF;
}

/* Scrollbar — minimal, cyan thumb */
[data-theme='dark-side-of-the-moon'] ::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

[data-theme='dark-side-of-the-moon'] ::-webkit-scrollbar-track {
  background: #020202;
}

[data-theme='dark-side-of-the-moon'] ::-webkit-scrollbar-thumb {
  background: rgba(155, 48, 255, 0.25);
  border-radius: 2px;
}

[data-theme='dark-side-of-the-moon'] ::-webkit-scrollbar-thumb:hover {
  background: #9B30FF;
}

/* Connection indicators */
[data-theme='dark-side-of-the-moon'] .connection-type {
  color: #999999;
}

[data-theme='dark-side-of-the-moon'] .connection-server {
  color: #777777;
}

/* ─── Powerslave (inspired) — Iron Maiden ─── */
/* Blazing Egyptian sun — warm sandstone main, Nile-sky deep-blue sidebar,
   pharaoh gold accent, gold+blue duality. Light, no dark mode.
   Sidebar: deep Nile blue with subtle hieroglyph grid. Player bar: navy + gold cornice. */
[data-theme='powerslave'] {
  color-scheme: light;
  --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23C8800A%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");

  /* ── Palette — sandstone, pharaoh gold, temple shadows ── */
  --ctp-crust: #180E04;
  --ctp-mantle: #2A1808;
  --ctp-base: #F0DFB0;
  /* warm sandstone */
  --ctp-surface0: #E8D49A;
  --ctp-surface1: #DEC880;
  --ctp-surface2: #D0B860;
  --ctp-overlay0: #A07830;
  --ctp-overlay1: #806020;
  --ctp-overlay2: #604810;
  --ctp-text: #2A1808;
  /* warm dark brown */
  --ctp-subtext1: #4A2C10;
  --ctp-subtext0: #6A4018;
  --ctp-mauve: #C8800A;
  /* pharaoh gold */
  --ctp-lavender: #D49020;
  --ctp-pink: #B04000;
  --ctp-flamingo: #CC4800;
  --ctp-rosewater: #F8EDD0;
  --ctp-green: #507820;
  --ctp-teal: #207870;
  /* Egyptian turquoise */
  --ctp-sky: #3080A0;
  --ctp-blue: #1A5080;
  --ctp-sapphire: #204870;
  --ctp-yellow: #C8800A;
  --ctp-peach: #C05010;
  --ctp-maroon: #801808;
  --ctp-red: #A82000;

  --bg-app: #F0DFB0;
  /* sun-bleached sandstone */
  --bg-sidebar: #0A2035;
  /* Nile sky — deep lapis blue */
  --bg-card: #F8EDD0;
  --bg-hover: #E8D49A;
  --bg-player: #06101C;
  /* deep night Nile */
  --bg-glass: rgba(240, 223, 176, 0.94);
  --accent: #C8960C;
  /* pharaoh gold */
  --accent-dim: rgba(200, 150, 12, 0.13);
  --accent-glow: rgba(200, 150, 12, 0.30);
  --text-primary: #2A1808;
  --text-secondary: #6A4018;
  --text-muted: #A07830;
  --border: rgba(42, 24, 8, 0.14);
  --border-subtle: rgba(42, 24, 8, 0.08);
  --border-dropdown: rgba(200, 128, 10, 0.28);
  --shadow-dropdown: rgba(24, 14, 4, 0.22);
  --positive: #507820;
  --warning: #C05010;
  --danger: #A82000;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;

  --waveform-played: #2E7BB8;
  /* Nile azure — the sky */
  --waveform-buffered: rgba(46, 123, 184, 0.20);
  --waveform-unplayed: rgba(42, 24, 8, 0.10);

  /* Logo — Nile blue → pharaoh gold */
  --logo-color-start: #2E7BB8;
  --logo-color-end: #C8960C;
}

/* Sidebar — Nile-sky deep blue, drifting cloud wisps */
[data-theme='powerslave'] .sidebar {
  background: #0A2035;
  border-right: none;
  background-image:
    radial-gradient(ellipse 130% 30% at 50% 6%, rgba(140, 190, 235, 0.07) 0%, transparent 65%),
    radial-gradient(ellipse 90% 25% at 18% 22%, rgba(100, 155, 205, 0.05) 0%, transparent 60%),
    radial-gradient(ellipse 115% 28% at 78% 38%, rgba(120, 170, 225, 0.05) 0%, transparent 65%),
    radial-gradient(ellipse 100% 26% at 38% 58%, rgba(90, 145, 195, 0.04) 0%, transparent 60%),
    radial-gradient(ellipse 120% 30% at 68% 75%, rgba(110, 165, 218, 0.05) 0%, transparent 65%),
    radial-gradient(ellipse 85% 24% at 22% 92%, rgba(130, 180, 232, 0.04) 0%, transparent 60%);
}

[data-theme='powerslave'] .nav-link {
  color: rgba(200, 224, 248, 0.65);
}

[data-theme='powerslave'] .nav-link.active {
  background: linear-gradient(90deg, rgba(200, 150, 12, 0.22) 0%, transparent 100%);
  border-left: 3px solid #C8960C;
  color: #D49828;
}

[data-theme='powerslave'] .nav-link:hover:not(.active) {
  background: rgba(46, 123, 184, 0.12);
  border-left: 3px solid rgba(46, 123, 184, 0.50);
  color: rgba(200, 224, 248, 0.92);
}

/* Player bar — deep Nile night, gold cornice */
[data-theme='powerslave'] .player-bar {
  background: #06101C;
  border-top: 2px solid #C8960C;
  box-shadow: 0 -4px 24px rgba(46, 123, 184, 0.10), 0 -1px 0 rgba(200, 150, 12, 0.20);
}

/* Track name — warm gold glow */
[data-theme='powerslave'] .player-track-name {
  color: #D49828;
  text-shadow: 0 0 12px rgba(200, 150, 12, 0.40);
}

/* Artist name — Nile azure */
[data-theme='powerslave'] .player-artist-name {
  color: #6AAED8;
}

/* Content header */
[data-theme='powerslave'] .content-header {
  border-bottom: 1px solid rgba(42, 24, 8, 0.12);
}

/* Cards — parchment on sandstone */
[data-theme='powerslave'] .album-card,
[data-theme='powerslave'] .artist-card {
  background: #F8EDD0;
  box-shadow: 0 1px 4px rgba(42, 24, 8, 0.10);
}

[data-theme='powerslave'] .album-card:hover,
[data-theme='powerslave'] .artist-card:hover {
  box-shadow: 0 0 0 2px #C8800A, 0 4px 16px rgba(42, 24, 8, 0.12);
}

/* Track / queue rows */
[data-theme='powerslave'] .track-row:hover {
  background: #E8D49A;
  box-shadow: inset 2px 0 0 #C8800A;
}

[data-theme='powerslave'] .queue-item:hover {
  background: rgba(46, 123, 184, 0.12);
  box-shadow: inset 2px 0 0 #2E7BB8;
}

/* Buttons — gold gradient */
[data-theme='powerslave'] .player-btn-primary {
  background: linear-gradient(180deg, #D49020 0%, #C8800A 50%, #A06008 100%);
  color: #180E04;
  border: 1px solid #806006;
  box-shadow: 0 0 12px rgba(200, 128, 10, 0.28);
}

[data-theme='powerslave'] .player-btn-primary:hover {
  background: linear-gradient(180deg, #E0A028 0%, #D48818 50%, #B07010 100%);
  box-shadow: 0 0 22px rgba(200, 128, 10, 0.48);
}

[data-theme='powerslave'] .btn-primary {
  background: linear-gradient(180deg, #D49020 0%, #C8800A 50%, #A06008 100%);
  color: #180E04;
  border: 1px solid #806006;
}

[data-theme='powerslave'] .btn-primary:hover {
  background: linear-gradient(180deg, #E0A028 0%, #D48818 50%, #B07010 100%);
}

[data-theme='powerslave'] .hero-play-btn {
  background: linear-gradient(180deg, #D49020 0%, #C8800A 50%, #A06008 100%);
  color: #180E04;
  border: 1px solid #806006;
  box-shadow: 0 2px 16px rgba(200, 128, 10, 0.28);
}

[data-theme='powerslave'] .hero-play-btn:hover {
  background: linear-gradient(180deg, #E0A028 0%, #D48818 50%, #B07010 100%);
  box-shadow: 0 4px 26px rgba(200, 128, 10, 0.48);
  transform: scale(1.02);
}

[data-theme='powerslave'] .album-card-details-btn {
  background: linear-gradient(180deg, #D49020 0%, #C8800A 50%, #A06008 100%);
  color: #180E04;
  border: 1px solid #806006;
}

[data-theme='powerslave'] .album-card-details-btn:hover {
  background: linear-gradient(180deg, #E0A028 0%, #D48818 50%, #B07010 100%);
}

/* Badge — gold pill */
[data-theme='powerslave'] .badge,
[data-theme='powerslave'] .album-detail-badge {
  background: #C8800A;
  color: #F8EDD0;
}

/* Settings + queue */
[data-theme='powerslave'] .settings-tab:hover {
  background: rgba(200, 150, 12, 0.08);
  color: #C8960C;
}

[data-theme='powerslave'] .settings-tab.active {
  background: rgba(200, 150, 12, 0.14);
  color: #C8960C;
  border-color: #C8960C;
}

[data-theme='powerslave'] .queue-tab-btn:hover {
  background: rgba(46, 123, 184, 0.12);
  color: rgba(200, 224, 248, 0.92);
}

[data-theme='powerslave'] .queue-tab-btn.active {
  color: #C8960C;
}

[data-theme='powerslave'] .queue-round-btn.active {
  color: #06101C;
}

/* Queue panel text — Nile-blue sidebar */
[data-theme='powerslave'] .queue-panel {
  background: #0A2035;
}

[data-theme='powerslave'] .queue-item-title {
  color: rgba(220, 235, 248, 0.90);
}

[data-theme='powerslave'] .queue-item-artist,
[data-theme='powerslave'] .queue-item-duration {
  color: rgba(140, 190, 230, 0.55);
}

[data-theme='powerslave'] .queue-item.active .queue-item-artist,
[data-theme='powerslave'] .queue-item.active .queue-item-duration {
  color: rgba(140, 190, 230, 0.75);
}

[data-theme='powerslave'] .queue-divider span {
  color: rgba(140, 190, 230, 0.38) !important;
}

[data-theme='powerslave'] .queue-current-info h3 {
  color: rgba(220, 235, 248, 0.92);
}

[data-theme='powerslave'] .queue-current-sub {
  color: rgba(140, 190, 230, 0.58);
}

[data-theme='powerslave'] .queue-current-cover .fallback {
  color: rgba(140, 190, 230, 0.30);
}

[data-theme='powerslave'] .queue-action-btn {
  color: rgba(140, 190, 230, 0.65);
}

[data-theme='powerslave'] .queue-action-btn:hover:not(:disabled) {
  color: rgba(220, 235, 248, 0.95);
}

/* Misc interactive */
[data-theme='powerslave'] .custom-select-trigger:hover {
  background: #E8D49A;
}

[data-theme='powerslave'] .custom-select-option:hover {
  background: rgba(200, 128, 10, 0.10);
}

[data-theme='powerslave'] .artist-row:hover {
  background: rgba(200, 128, 10, 0.07);
  box-shadow: inset 3px 0 0 #C8800A;
}

[data-theme='powerslave'] .playlist-row:hover {
  background: rgba(200, 128, 10, 0.07);
  box-shadow: inset 3px 0 0 #C8800A;
}

[data-theme='powerslave'] .artist-ext-link:hover {
  background: rgba(200, 128, 10, 0.08);
  border-color: #C8800A;
}

/* Connection indicators */
[data-theme='powerslave'] .connection-type {
  color: #050E19;
}

[data-theme='powerslave'] .connection-server {
  color: #050E19;
}

/* Back button needs light color — sits on dark overlay above sandstone content */
[data-theme='powerslave'] .album-detail-back {
  color: rgba(255, 255, 255, 0.85);
}

[data-theme='powerslave'] .album-detail-back:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

/* Tech strip — default ctp-surface1 (#DEC880) is too bright on dark blue queue panel */
[data-theme='powerslave'] .queue-current-tech {
  background: rgba(6, 16, 28, 0.88);
  color: rgba(140, 190, 230, 0.72);
}

/* Album detail hero meta */
[data-theme='powerslave'] .album-detail-info {
  color: rgba(255, 255, 255, 0.80);
}

[data-theme='powerslave'] .album-detail-artist,
[data-theme='powerslave'] .album-detail-artist-link {
  color: #050E19;
}

[data-theme='powerslave'] .album-detail-artist-link:hover {
  color: #0A2035;
}

/* np-album-track */
[data-theme='powerslave'] .np-album-track.active .np-album-track-title,
[data-theme='powerslave'] .np-album-track.active .np-album-track-num {
  color: #C8960C;
}

/* Scrollbar — warm, gold thumb */
[data-theme='powerslave'] ::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

[data-theme='powerslave'] ::-webkit-scrollbar-track {
  background: #E8D49A;
}

[data-theme='powerslave'] ::-webkit-scrollbar-thumb {
  background: rgba(200, 128, 10, 0.35);
  border-radius: 3px;
}

[data-theme='powerslave'] ::-webkit-scrollbar-thumb:hover {
  background: #C8800A;
}