/* Theme system
   Swap only the body class:
   theme-gold | theme-green | theme-cyan | theme-violet | theme-light-tech | theme-light-neon | theme-watermelon | theme-cyber-silver
*/

:root {
  --gold-soft: #b8941f;
  --gold-medium: #d4af37;
  --gold-bright: #f4d03f;
  --gold-glow: rgba(212, 175, 55, 0.4);
  --theme-bg-0: #050505;
  --theme-bg-1: #0a0a0a;
  --theme-bg-2: #0f0f0f;
  --theme-bg-warm: #0a0a08;
  --theme-bg-warm-2: #0f0f0c;
  --theme-text: #ffffff;
  --theme-muted: var(--color-gray-medium);
  --theme-panel: rgba(255, 255, 255, 0.02);
  --theme-panel-strong: linear-gradient(135deg, rgba(184, 148, 31, 0.08), transparent);
  --theme-panel-soft: linear-gradient(135deg, rgba(184, 148, 31, 0.03), transparent);
  --theme-border: rgba(184, 148, 31, 0.3);
  --theme-border-soft: rgba(184, 148, 31, 0.2);
  --theme-accent-rgb: 184, 148, 31;
  --theme-header-rgb: 5, 5, 5;
  --theme-header-shadow: none;
  --theme-glow: rgba(184, 148, 31, 0.15);
  --theme-glow-strong: rgba(184, 148, 31, 0.3);
  --theme-signal: #00ff88;
  --theme-primary-bg: var(--gold-soft);
  --theme-primary-text: var(--color-black-deep);
  --theme-primary-hover-bg: var(--gold-bright);
  --theme-secondary-text: var(--gold-medium);
  --theme-secondary-hover-bg: var(--gold-medium);
  --theme-secondary-hover-text: var(--color-black-deep);
  --theme-modal-bg: #050505;
  --theme-modal-backdrop: rgba(0, 0, 0, 0.78);
  --theme-modal-border: var(--theme-border);
  --theme-modal-shadow: rgba(0, 0, 0, 0.5);
  --theme-modal-text: var(--theme-text);
  --theme-modal-muted: var(--color-gray-light);
  --theme-input-bg: rgba(0, 0, 0, 0.28);
  --theme-input-text: var(--theme-text);
  --theme-error: #ff9d9d;
}

/* Dark themes: deep backgrounds, solid modals, luminous accents. */
body.theme-gold {
  --color-black-deep: #050505;
  --color-gray-light: #f5f1e8;
  --color-gray-medium: #b8b1a4;
  --color-gold-primary: #f4d03f;
  --color-gold-secondary: #d4af37;
  --color-gold-tertiary: #ffd700;
  --gold-soft: #b8941f;
  --gold-medium: #d4af37;
  --gold-bright: #f4d03f;
  --gold-glow: rgba(212, 175, 55, 0.4);
  --theme-bg-0: #050505;
  --theme-bg-1: #0a0a0a;
  --theme-bg-2: #0f0f0f;
  --theme-bg-warm: #0a0a08;
  --theme-bg-warm-2: #0f0f0c;
  --theme-text: #ffffff;
  --theme-panel: rgba(255, 255, 255, 0.02);
  --theme-panel-strong: linear-gradient(135deg, rgba(184, 148, 31, 0.08), transparent);
  --theme-panel-soft: linear-gradient(135deg, rgba(184, 148, 31, 0.03), transparent);
  --theme-border: rgba(184, 148, 31, 0.3);
  --theme-border-soft: rgba(184, 148, 31, 0.2);
  --theme-accent-rgb: 184, 148, 31;
  --theme-header-rgb: 5, 5, 5;
  --theme-header-shadow: none;
  --theme-glow: rgba(184, 148, 31, 0.15);
  --theme-glow-strong: rgba(184, 148, 31, 0.3);
  --theme-signal: #00ff88;
  --theme-primary-bg: var(--gold-soft);
  --theme-primary-text: var(--color-black-deep);
  --theme-primary-hover-bg: var(--gold-bright);
  --theme-secondary-text: var(--gold-medium);
  --theme-secondary-hover-bg: var(--gold-medium);
  --theme-secondary-hover-text: var(--color-black-deep);
  --theme-modal-bg: #050505;
  --theme-modal-backdrop: rgba(0, 0, 0, 0.78);
  --theme-modal-border: var(--theme-border);
  --theme-modal-shadow: rgba(0, 0, 0, 0.5);
  --theme-modal-text: var(--theme-text);
  --theme-modal-muted: var(--color-gray-light);
  --theme-input-bg: rgba(0, 0, 0, 0.28);
  --theme-input-text: var(--theme-text);
  --theme-error: #ff9d9d;
}

body.theme-green {
  --color-black-deep: #060807;
  --color-gray-light: #f3f0e8;
  --color-gray-medium: #aab5ae;
  --color-gold-primary: #36f5b2;
  --color-gold-secondary: #d6c08d;
  --color-gold-tertiary: #00e08a;
  --gold-soft: #d6c08d;
  --gold-medium: #36f5b2;
  --gold-bright: #e8d8a8;
  --gold-glow: rgba(54, 245, 178, 0.3);
  --theme-bg-0: #060807;
  --theme-bg-1: #0b100d;
  --theme-bg-2: #101511;
  --theme-bg-warm: #090b08;
  --theme-bg-warm-2: #11150f;
  --theme-text: #ffffff;
  --theme-panel: rgba(255, 255, 255, 0.025);
  --theme-panel-strong: linear-gradient(135deg, rgba(214, 192, 141, 0.1), rgba(0, 224, 138, 0.04));
  --theme-panel-soft: linear-gradient(135deg, rgba(0, 224, 138, 0.05), transparent);
  --theme-border: rgba(54, 245, 178, 0.3);
  --theme-border-soft: rgba(214, 192, 141, 0.2);
  --theme-accent-rgb: 54, 245, 178;
  --theme-header-rgb: 6, 8, 7;
  --theme-header-shadow: none;
  --theme-glow: rgba(54, 245, 178, 0.14);
  --theme-glow-strong: rgba(54, 245, 178, 0.3);
  --theme-signal: #36f5b2;
  --theme-primary-bg: linear-gradient(135deg, #d6c08d, #36f5b2);
  --theme-primary-text: #060807;
  --theme-primary-hover-bg: linear-gradient(135deg, #36f5b2, #e8d8a8);
  --theme-secondary-text: #36f5b2;
  --theme-secondary-hover-bg: #36f5b2;
  --theme-secondary-hover-text: #060807;
  --theme-modal-bg: #060807;
  --theme-modal-backdrop: rgba(0, 0, 0, 0.78);
  --theme-modal-border: var(--theme-border);
  --theme-modal-shadow: rgba(0, 0, 0, 0.5);
  --theme-modal-text: var(--theme-text);
  --theme-modal-muted: var(--color-gray-light);
  --theme-input-bg: rgba(0, 0, 0, 0.28);
  --theme-input-text: var(--theme-text);
  --theme-error: #ff9d9d;
}

body.theme-cyan {
  --color-black-deep: #061014;
  --color-gray-light: #f4f7f8;
  --color-gray-medium: #aebbc0;
  --color-gold-primary: #34d9ff;
  --color-gold-secondary: #5eead4;
  --color-gold-tertiary: #d8dde2;
  --gold-soft: #34d9ff;
  --gold-medium: #34d9ff;
  --gold-bright: #d8dde2;
  --gold-glow: rgba(52, 217, 255, 0.3);
  --theme-bg-0: #061014;
  --theme-bg-1: #07151a;
  --theme-bg-2: #0b1a20;
  --theme-bg-warm: #061115;
  --theme-bg-warm-2: #0d2026;
  --theme-text: #ffffff;
  --theme-panel: rgba(255, 255, 255, 0.025);
  --theme-panel-strong: linear-gradient(135deg, rgba(52, 217, 255, 0.09), rgba(216, 221, 226, 0.04));
  --theme-panel-soft: linear-gradient(135deg, rgba(52, 217, 255, 0.04), transparent);
  --theme-border: rgba(52, 217, 255, 0.28);
  --theme-border-soft: rgba(216, 221, 226, 0.18);
  --theme-accent-rgb: 52, 217, 255;
  --theme-header-rgb: 6, 16, 20;
  --theme-header-shadow: none;
  --theme-glow: rgba(52, 217, 255, 0.14);
  --theme-glow-strong: rgba(52, 217, 255, 0.3);
  --theme-signal: #5eead4;
  --theme-primary-bg: linear-gradient(135deg, #34d9ff, #5eead4);
  --theme-primary-text: #061014;
  --theme-primary-hover-bg: linear-gradient(135deg, #5eead4, #d8dde2);
  --theme-secondary-text: #34d9ff;
  --theme-secondary-hover-bg: #34d9ff;
  --theme-secondary-hover-text: #061014;
  --theme-modal-bg: #061014;
  --theme-modal-backdrop: rgba(0, 0, 0, 0.78);
  --theme-modal-border: var(--theme-border);
  --theme-modal-shadow: rgba(0, 0, 0, 0.5);
  --theme-modal-text: var(--theme-text);
  --theme-modal-muted: var(--color-gray-light);
  --theme-input-bg: rgba(0, 0, 0, 0.28);
  --theme-input-text: var(--theme-text);
  --theme-error: #ff9d9d;
}

body.theme-violet {
  --color-black-deep: #050509;
  --color-gray-light: #f5f5f7;
  --color-gray-medium: #b9bbc6;
  --color-gold-primary: #a78bfa;
  --color-gold-secondary: #7c3aed;
  --color-gold-tertiary: #e4e4ea;
  --gold-soft: #a78bfa;
  --gold-medium: #a78bfa;
  --gold-bright: #e4e4ea;
  --gold-glow: rgba(167, 139, 250, 0.34);
  --theme-bg-0: #050509;
  --theme-bg-1: #0c0c13;
  --theme-bg-2: #11111a;
  --theme-bg-warm: #08080f;
  --theme-bg-warm-2: #13131e;
  --theme-text: #ffffff;
  --theme-panel: rgba(255, 255, 255, 0.025);
  --theme-panel-strong: linear-gradient(135deg, rgba(167, 139, 250, 0.1), rgba(228, 228, 234, 0.04));
  --theme-panel-soft: linear-gradient(135deg, rgba(167, 139, 250, 0.05), transparent);
  --theme-border: rgba(167, 139, 250, 0.3);
  --theme-border-soft: rgba(228, 228, 234, 0.16);
  --theme-accent-rgb: 167, 139, 250;
  --theme-header-rgb: 5, 5, 9;
  --theme-header-shadow: none;
  --theme-glow: rgba(167, 139, 250, 0.15);
  --theme-glow-strong: rgba(167, 139, 250, 0.3);
  --theme-signal: #a78bfa;
  --theme-primary-bg: linear-gradient(135deg, #7c3aed, #a78bfa);
  --theme-primary-text: #ffffff;
  --theme-primary-hover-bg: linear-gradient(135deg, #a78bfa, #e4e4ea);
  --theme-secondary-text: #a78bfa;
  --theme-secondary-hover-bg: #a78bfa;
  --theme-secondary-hover-text: #050509;
  --theme-modal-bg: #050509;
  --theme-modal-backdrop: rgba(0, 0, 0, 0.78);
  --theme-modal-border: var(--theme-border);
  --theme-modal-shadow: rgba(0, 0, 0, 0.5);
  --theme-modal-text: var(--theme-text);
  --theme-modal-muted: var(--color-gray-light);
  --theme-input-bg: rgba(0, 0, 0, 0.28);
  --theme-input-text: var(--theme-text);
  --theme-error: #ff9d9d;
}

/* Light themes: white base, controlled glow, soft modal contrast. */
body.theme-light-tech {
  --color-black-deep: #ffffff;
  --color-gray-light: #14212b;
  --color-gray-medium: #5d6b75;
  --color-gold-primary: #ff7a1a;
  --color-gold-secondary: #00b7d8;
  --color-gold-tertiary: #ff9f43;
  --gold-soft: #ff7a1a;
  --gold-medium: #ff7a1a;
  --gold-bright: #00d5ff;
  --gold-glow: rgba(0, 183, 216, 0.22);
  --theme-bg-0: #ffffff;
  --theme-bg-1: #f7fbfd;
  --theme-bg-2: #edf7fb;
  --theme-bg-warm: #fff8f2;
  --theme-bg-warm-2: #eefaff;
  --theme-text: #071018;
  --theme-muted: #5d6b75;
  --theme-panel: rgba(255, 255, 255, 0.92);
  --theme-panel-strong: linear-gradient(135deg, rgba(255, 122, 26, 0.1), rgba(0, 183, 216, 0.07));
  --theme-panel-soft: linear-gradient(135deg, rgba(0, 183, 216, 0.08), rgba(255, 122, 26, 0.04));
  --theme-border: rgba(0, 183, 216, 0.34);
  --theme-border-soft: rgba(20, 33, 43, 0.14);
  --theme-accent-rgb: 0, 183, 216;
  --theme-header-rgb: 255, 255, 255;
  --theme-header-shadow: 0 12px 32px rgba(20, 33, 43, 0.08);
  --theme-glow: rgba(0, 183, 216, 0.16);
  --theme-glow-strong: rgba(255, 122, 26, 0.24);
  --theme-signal: #00b7d8;
  --theme-primary-bg: linear-gradient(135deg, #ff7a1a, #00b7d8);
  --theme-primary-text: #ffffff;
  --theme-primary-hover-bg: linear-gradient(135deg, #00b7d8, #ff7a1a);
  --theme-secondary-text: #007f9a;
  --theme-secondary-hover-bg: #00b7d8;
  --theme-secondary-hover-text: #ffffff;
  --theme-modal-bg: #ffffff;
  --theme-modal-backdrop: rgba(7, 16, 24, 0.46);
  --theme-modal-border: rgba(0, 183, 216, 0.28);
  --theme-modal-shadow: rgba(20, 33, 43, 0.18);
  --theme-modal-text: #071018;
  --theme-modal-muted: #23313d;
  --theme-input-bg: #ffffff;
  --theme-input-text: #071018;
  --theme-error: #b42318;
}

body.theme-light-neon {
  --color-black-deep: #ffffff;
  --color-gray-light: #111827;
  --color-gray-medium: #5b6472;
  --color-gold-primary: #0066ff;
  --color-gold-secondary: #8b5cf6;
  --color-gold-tertiary: #00d5ff;
  --gold-soft: #0066ff;
  --gold-medium: #0066ff;
  --gold-bright: #8b5cf6;
  --gold-glow: rgba(0, 102, 255, 0.32);
  --theme-bg-0: #ffffff;
  --theme-bg-1: #f7fbff;
  --theme-bg-2: #f0f6ff;
  --theme-bg-warm: #fbf8ff;
  --theme-bg-warm-2: #f4efff;
  --theme-text: #080b14;
  --theme-muted: #5b6472;
  --theme-panel: rgba(255, 255, 255, 0.94);
  --theme-panel-strong: linear-gradient(135deg, rgba(0, 102, 255, 0.1), rgba(139, 92, 246, 0.09));
  --theme-panel-soft: linear-gradient(135deg, rgba(0, 213, 255, 0.08), rgba(139, 92, 246, 0.06));
  --theme-border: rgba(0, 102, 255, 0.36);
  --theme-border-soft: rgba(139, 92, 246, 0.18);
  --theme-accent-rgb: 0, 102, 255;
  --theme-header-rgb: 255, 255, 255;
  --theme-header-shadow: 0 12px 34px rgba(0, 102, 255, 0.1);
  --theme-glow: rgba(0, 102, 255, 0.18);
  --theme-glow-strong: rgba(139, 92, 246, 0.36);
  --theme-signal: #8b5cf6;
  --theme-primary-bg: linear-gradient(135deg, #0066ff, #00d5ff 46%, #8b5cf6);
  --theme-primary-text: #ffffff;
  --theme-primary-hover-bg: linear-gradient(135deg, #8b5cf6, #00d5ff, #0066ff);
  --theme-secondary-text: #5f35f5;
  --theme-secondary-hover-bg: linear-gradient(135deg, #0066ff, #8b5cf6);
  --theme-secondary-hover-text: #ffffff;
  --theme-modal-bg: #ffffff;
  --theme-modal-backdrop: rgba(8, 11, 20, 0.5);
  --theme-modal-border: rgba(95, 53, 245, 0.26);
  --theme-modal-shadow: rgba(0, 102, 255, 0.18);
  --theme-modal-text: #080b14;
  --theme-modal-muted: #1d2635;
  --theme-input-bg: #ffffff;
  --theme-input-text: #080b14;
  --theme-error: #b42318;
}

body.theme-watermelon {
  --color-black-deep: #ffffff;
  --color-gray-light: #1a2e1a;
  --color-gray-medium: #5c7a5c;
  --color-gold-primary: #ff6b81;
  --color-gold-secondary: #2ecc71;
  --color-gold-tertiary: #ff4757;
  --gold-soft: #ff6b81;
  --gold-medium: #2ecc71;
  --gold-bright: #ff4757;
  --gold-glow: rgba(255, 107, 129, 0.3);
  --theme-bg-0: #ffffff;
  --theme-bg-1: #fdfdfd;
  --theme-bg-2: #f7fff7;
  --theme-bg-warm: #fff5f7;
  --theme-bg-warm-2: #f0fff4;
  --theme-text: #1a2e1a;
  --theme-muted: #5c7a5c;
  --theme-panel: rgba(255, 255, 255, 0.95);
  --theme-panel-strong: linear-gradient(135deg, rgba(255, 107, 129, 0.12), rgba(46, 204, 113, 0.08));
  --theme-panel-soft: linear-gradient(135deg, rgba(255, 107, 129, 0.06), rgba(46, 204, 113, 0.04));
  --theme-border: rgba(255, 107, 129, 0.3);
  --theme-border-soft: rgba(46, 204, 113, 0.2);
  --theme-accent-rgb: 255, 107, 129;
  --theme-header-rgb: 255, 255, 255;
  --theme-header-shadow: 0 12px 34px rgba(255, 107, 129, 0.1);
  --theme-glow: rgba(255, 107, 129, 0.18);
  --theme-glow-strong: rgba(46, 204, 113, 0.28);
  --theme-signal: #2ecc71;
  --theme-primary-bg: linear-gradient(135deg, #ff6b81, #2ecc71);
  --theme-primary-text: #ffffff;
  --theme-primary-hover-bg: linear-gradient(135deg, #2ecc71, #ff6b81);
  --theme-secondary-text: #ff4757;
  --theme-secondary-hover-bg: linear-gradient(135deg, #ff6b81, #2ecc71);
  --theme-secondary-hover-text: #ffffff;
  --theme-modal-bg: #ffffff;
  --theme-modal-backdrop: rgba(26, 46, 26, 0.4);
  --theme-modal-border: rgba(255, 107, 129, 0.25);
  --theme-modal-shadow: rgba(26, 46, 26, 0.12);
  --theme-modal-text: #1a2e1a;
  --theme-modal-muted: #5c7a5c;
  --theme-input-bg: #ffffff;
  --theme-input-text: #1a2e1a;
  --theme-error: #ff4757;
}

body.theme-cyber-silver {
  --color-black-deep: #ffffff;
  --color-gray-light: #0f172a;
  --color-gray-medium: #475569;
  --color-gold-primary: #0ea5e9;
  --color-gold-secondary: #94a3b8;
  --color-gold-tertiary: #cbd5e1;
  --gold-soft: #94a3b8;
  --gold-medium: #0284c7;
  --gold-bright: #0369a1;
  --gold-glow: rgba(14, 165, 233, 0.3);
  --theme-bg-0: #f8fafc;
  --theme-bg-1: #ffffff;
  --theme-bg-2: #e2e8f0;
  --theme-bg-warm: #f1f5f9;
  --theme-bg-warm-2: #e2e8f0;
  --theme-text: #0f172a;
  --theme-muted: #475569;
  --theme-panel: rgba(255, 255, 255, 0.8);
  --theme-panel-strong: linear-gradient(135deg, rgba(148, 163, 184, 0.2), rgba(14, 165, 233, 0.08));
  --theme-panel-soft: linear-gradient(135deg, rgba(148, 163, 184, 0.1), transparent);
  --theme-border: rgba(148, 163, 184, 0.4);
  --theme-border-soft: rgba(148, 163, 184, 0.2);
  --theme-accent-rgb: 14, 165, 233;
  --theme-header-rgb: 255, 255, 255;
  --theme-header-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
  --theme-glow: rgba(14, 165, 233, 0.2);
  --theme-glow-strong: rgba(14, 165, 233, 0.4);
  --theme-signal: #0284c7;
  --theme-primary-bg: #0f172a;
  --theme-primary-text: #ffffff;
  --theme-primary-hover-bg: #0284c7;
  --theme-secondary-text: #0f172a;
  --theme-secondary-hover-bg: #0284c7;
  --theme-secondary-hover-text: #ffffff;
  --theme-modal-bg: #ffffff;
  --theme-modal-backdrop: rgba(15, 23, 42, 0.65);
  --theme-modal-border: rgba(148, 163, 184, 0.35);
  --theme-modal-shadow: rgba(15, 23, 42, 0.12);
  --theme-modal-text: #0f172a;
  --theme-modal-muted: #475569;
  --theme-input-bg: #f1f5f9;
  --theme-input-text: #0f172a;
  --theme-error: #dc2626;
}
