.theme-select{background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font:inherit;font-size:12px;max-width:160px;cursor:pointer;}
/* Glance theme engine â€” ported from ISP-Control (Echo+Jill). Drives :root tokens + per-theme font + texture. default = no attr = Glance base look. */
@import url('https://fonts.googleapis.com/css2?family=Audiowide&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Exo:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Righteous:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Share+Tech&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=VT323&display=swap');

html[data-theme="aurora"] {
  --bg: #0a0f1f; --card: rgba(13, 26, 58, 0.5); --line: rgba(0, 255, 170, 0.25); --tx: #e0f7ff; --mut: rgba(224, 247, 255, 0.5); --accent: #00ff99; --alert: #ff1493;
  background: #0a0f1f;
}
html[data-theme="aurora"] body { font-family: 'Inter', sans-serif; }
html[data-theme="aurora"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/aurora-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="batman"] {
  --bg: #1a1a1a; --card: rgba(45, 45, 45, 0.6); --line: rgba(255, 223, 0, 0.25); --tx: #e8e8e8; --mut: rgba(232, 232, 232, 0.5); --accent: #ffdf00; --alert: #ff3333;
  background: #1a1a1a;
}
html[data-theme="batman"] body { font-family: 'Righteous', sans-serif; }
html[data-theme="batman"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/batman-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="blackpanther"] {
  --bg: #0a0a0a; --card: rgba(30, 30, 30, 0.6); --line: rgba(218, 165, 32, 0.3); --tx: #f0f0f0; --mut: rgba(240, 240, 240, 0.5); --accent: #daa520; --alert: #ff3333;
  background: #0a0a0a;
}
html[data-theme="blackpanther"] body { font-family: 'Righteous', sans-serif; }
html[data-theme="blackpanther"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/blackpanther-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="clean"] {
  --bg: #ffffff; --card: #ffffff; --line: #cccccc; --tx: #1a1a1a; --mut: #666666; --accent: #0066cc; --alert: #cc0000;
  background: #ffffff;
}
html[data-theme="clean"] body { font-family: 'Poppins', sans-serif; }

html[data-theme="cyberpunk"] {
  --bg: #0a0014; --card: rgba(20, 0, 40, 0.7); --line: rgba(255, 0, 128, 0.3); --tx: #ffffff; --mut: rgba(255, 255, 255, 0.4); --accent: #ff0080; --alert: #ff0040;
  background: #0a0014;
}
html[data-theme="cyberpunk"] body { font-family: 'Space Mono', monospace; }

html[data-theme="diablo"] {
  --bg: #0a0a0a; --card: rgba(10, 10, 10, 0.6); --line: rgba(255, 107, 107, 0.3); --tx: #ff6b6b; --mut: rgba(255,255,255,0.5); --accent: #cc0000; --alert: #ff0000;
  background: #0a0a0a;
}
html[data-theme="diablo"] body { font-family: 'Exo', sans-serif; }

html[data-theme="eldenring"] {
  --bg: #1a1410; --card: rgba(26, 20, 16, 0.6); --line: rgba(212, 175, 119, 0.3); --tx: #d4af77; --mut: rgba(255,255,255,0.5); --accent: #c9a961; --alert: #e57373;
  background: #1a1410;
}
html[data-theme="eldenring"] body { font-family: 'Cormorant Garamond', serif; }

html[data-theme="forest"] {
  --bg: #1a2d1f; --card: rgba(30, 53, 42, 0.5); --line: rgba(76, 175, 80, 0.2); --tx: #d4e4d0; --mut: rgba(212, 228, 208, 0.5); --accent: #4caf50; --alert: #ef5350;
  background: #1a2d1f;
}
html[data-theme="forest"] body { font-family: 'Lato', sans-serif; }
html[data-theme="forest"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/forest-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="greyscale"] {
  --bg: #2a2a2a; --card: rgba(42, 42, 42, 0.6); --line: #555555; --tx: #e0e0e0; --mut: rgba(255,255,255,0.5); --accent: #888888; --alert: #dddddd;
  background: #2a2a2a;
}
html[data-theme="greyscale"] body { font-family: 'Inter', sans-serif; }

html[data-theme="high-contrast"] {
  --bg: #000000; --card: #000000; --line: #00ff00; --tx: #00ff00; --mut: rgba(255,255,255,0.5); --accent: #00ff00; --alert: #ffff00;
  background: #000000;
}
html[data-theme="high-contrast"] body { font-family: 'Inter', sans-serif; }

html[data-theme="hulk"] {
  --bg: #0a1a0a; --card: rgba(26, 26, 10, 0.5); --line: rgba(0, 255, 0, 0.3); --tx: #ffffff; --mut: rgba(255,255,255,0.5); --accent: #00ff00; --alert: #ff2222;
  background: #0a1a0a;
}
html[data-theme="hulk"] body { font-family: 'Righteous', sans-serif; }
html[data-theme="hulk"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/hulk-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="ironman"] {
  --bg: #0a0a0a; --card: rgba(40, 40, 40, 0.6); --line: rgba(255, 140, 0, 0.3); --tx: #ffffff; --mut: rgba(255,255,255,0.5); --accent: #ff6600; --alert: #ff0000;
  background: #0a0a0a;
}
html[data-theme="ironman"] body { font-family: 'Orbitron', sans-serif; }
html[data-theme="ironman"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/ironman-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="matrix"] {
  --bg: #000000; --card: rgba(0, 0, 0, 0.7); --line: rgba(0, 255, 0, 0.2); --tx: #00ff00; --mut: rgba(0, 255, 0, 0.4); --accent: #00ff00; --alert: #ff0000;
  background: #000000;
}
html[data-theme="matrix"] body { font-family: 'IBM Plex Mono', monospace; }
html[data-theme="matrix"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/matrix-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="midnight"] {
  --bg: #0f1419; --card: rgba(26, 32, 48, 0.6); --line: rgba(255, 255, 255, 0.1); --tx: #e0e6ed; --mut: rgba(224, 230, 237, 0.5); --accent: #5b7cff; --alert: #ff6b6b;
  background: #0f1419;
}
html[data-theme="midnight"] body { font-family: 'Inter', sans-serif; }
html[data-theme="midnight"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/midnight-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }
html[data-theme="midnight"] body::after { content:""; position:fixed; inset:0; z-index:-1; background:linear-gradient(135deg, rgba(15, 20, 25, 0.4) 0%, rgba(26, 32, 48, 0.4) 50%, rgba(15, 20, 25, 0.4) 100%); pointer-events:none; }

html[data-theme="neon"] {
  --bg: #0a0015; --card: rgba(15, 0, 30, 0.7); --line: rgba(0, 255, 255, 0.3); --tx: #ffffff; --mut: rgba(255, 255, 255, 0.4); --accent: #ff00ff; --alert: #ff0055;
  background: #0a0015;
}
html[data-theme="neon"] body { font-family: 'Orbitron', sans-serif; }
html[data-theme="neon"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/neon-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="network"] {
  --bg: #0d1b2a; --card: rgba(26, 42, 58, 0.6); --line: rgba(255, 140, 0, 0.2); --tx: #e8eef5; --mut: rgba(232, 238, 245, 0.5); --accent: #ff8c00; --alert: #ff6b6b;
  background: #0d1b2a;
}
html[data-theme="network"] body { font-family: 'Source Sans Pro', sans-serif; }

html[data-theme="ocean"] {
  --bg: #0a1f35; --card: rgba(13, 45, 71, 0.5); --line: rgba(0, 255, 200, 0.15); --tx: #c5d9e8; --mut: rgba(197, 217, 232, 0.5); --accent: #00ffcc; --alert: #ff6b6b;
  background: #0a1f35;
}
html[data-theme="ocean"] body { font-family: 'Quicksand', sans-serif; }
html[data-theme="ocean"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/ocean-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="portal"] {
  --bg: #1a1a1a; --card: rgba(26, 26, 26, 0.6); --line: rgba(255, 102, 0, 0.3); --tx: #ffffff; --mut: rgba(255,255,255,0.5); --accent: #ff6600; --alert: #ff3333;
  background: #1a1a1a;
}
html[data-theme="portal"] body { font-family: 'Share Tech', sans-serif; }
html[data-theme="portal"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/portal-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="retro"] {
  --bg: #1a1410; --card: rgba(26, 20, 16, 0.7); --line: rgba(255, 179, 0, 0.25); --tx: #ffb300; --mut: rgba(255, 179, 0, 0.4); --accent: #ffb300; --alert: #ff6600;
  background: #1a1410;
}
html[data-theme="retro"] body { font-family: 'VT323', monospace; }

html[data-theme="scifi"] {
  --bg: #0a1618; --card: rgba(15, 17, 21, 0.5); --line: rgba(0, 255, 190, 0.15); --tx: #ffffff; --mut: rgba(255, 255, 255, 0.6); --accent: #00ffbe; --alert: #ff4a4a;
  background: #0a1618;
}
html[data-theme="scifi"] body { font-family: 'Rajdhani', sans-serif; }

html[data-theme="skyrim"] {
  --bg: #2c2c2c; --card: rgba(44, 44, 44, 0.6); --line: rgba(198, 166, 115, 0.4); --tx: #d4af9f; --mut: rgba(255,255,255,0.5); --accent: #c6a673; --alert: #d85a5a;
  background: #2c2c2c;
}
html[data-theme="skyrim"] body { font-family: 'Cinzel', serif; }

html[data-theme="sunset"] {
  --bg: #2d1b2e; --card: rgba(74, 44, 62, 0.5); --line: rgba(255, 140, 100, 0.2); --tx: #f5e6d3; --mut: rgba(245, 230, 211, 0.5); --accent: #ff8c64; --alert: #ff5050;
  background: #2d1b2e;
}
html[data-theme="sunset"] body { font-family: 'Poppins', sans-serif; }
html[data-theme="sunset"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/sunset-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="superman"] {
  --bg: #001a4d; --card: rgba(0, 51, 170, 0.5); --line: rgba(255, 215, 0, 0.3); --tx: #ffffff; --mut: rgba(255,255,255,0.5); --accent: #dc143c; --alert: #ff4444;
  background: #001a4d;
}
html[data-theme="superman"] body { font-family: 'Righteous', sans-serif; }
html[data-theme="superman"] body::before { content:""; position:fixed; inset:0; z-index:-2; background:url("/static/theme-bg/superman-bg.jpg") center/cover fixed; opacity:.28; filter:saturate(.9) brightness(.7) contrast(1.1); pointer-events:none; }

html[data-theme="synthwave"] {
  --bg: #16213e; --card: rgba(22, 33, 62, 0.6); --line: rgba(255, 0, 110, 0.3); --tx: #ff006e; --mut: rgba(255,255,255,0.5); --accent: #ff006e; --alert: #ff0040;
  background: #16213e;
}
html[data-theme="synthwave"] body { font-family: 'Audiowide', sans-serif; }

html[data-theme="terminal"] {
  --bg: #000000; --card: rgba(0, 0, 0, 0.8); --line: rgba(0, 170, 0, 0.3); --tx: #00aa00; --mut: rgba(0, 170, 0, 0.4); --accent: #00aa00; --alert: #ff5555;
  background: #000000;
}
html[data-theme="terminal"] body { font-family: 'IBM Plex Mono', monospace; }

html[data-theme="true-white"] {
  --bg: #ffffff; --card: #ffffff; --line: #cccccc; --tx: #1a1a1a; --mut: rgba(255,255,255,0.5); --accent: #000000; --alert: #cc0000;
  background: #ffffff;
}
html[data-theme="true-white"] body { font-family: 'Inter', sans-serif; }

html[data-theme="valorant"] {
  --bg: #0f1419; --card: rgba(15, 20, 25, 0.6); --line: rgba(206, 0, 54, 0.4); --tx: #e4e4e7; --mut: rgba(255,255,255,0.5); --accent: #ce0036; --alert: #ff4655;
  background: #0f1419;
}
html[data-theme="valorant"] body { font-family: 'Roboto', sans-serif; }

html[data-theme="vaporwave"] {
  --bg: #f3e7e9; --card: rgba(243, 231, 233, 0.8); --line: #d4b5d0; --tx: #5a4a6e; --mut: rgba(255,255,255,0.5); --accent: #7fb3d5; --alert: #ff9999;
  background: #f3e7e9;
}
html[data-theme="vaporwave"] body { font-family: 'Poppins', sans-serif; }

html[data-theme="witcher3"] {
  --bg: #1a1a1a; --card: rgba(26, 26, 26, 0.6); --line: rgba(169, 36, 36, 0.4); --tx: #e8d9cc; --mut: rgba(255,255,255,0.5); --accent: #a92424; --alert: #c41e3a;
  background: #1a1a1a;
}
html[data-theme="witcher3"] body { font-family: 'Noto Serif', serif; }

html[data-theme="wonderwoman"] {
  --bg: #0d1a3a; --card: rgba(26, 51, 102, 0.5); --line: rgba(255, 215, 0, 0.3); --tx: #ffffff; --mut: rgba(255,255,255,0.5); --accent: #e81b23; --alert: #ff3333;
  background: #0d1a3a;
}
html[data-theme="wonderwoman"] body { font-family: 'Righteous', sans-serif; }

html[data-theme="wow"] {
  --bg: #1a1a2e; --card: rgba(26, 26, 46, 0.6); --line: rgba(139, 92, 246, 0.3); --tx: #d4af77; --mut: rgba(255,255,255,0.5); --accent: #8b5cf6; --alert: #f56565;
  background: #1a1a2e;
}
html[data-theme="wow"] body { font-family: 'Playfair Display', serif; }
