/* Theme Styles */

body:not(.theme-blue):not(.theme-green):not(.theme-dark) {
  --font-body: 'Manrope', 'Inter', sans-serif;
  --font-display: 'Space Grotesk', 'Manrope', sans-serif;
  --primary-start: #6d5efc;
  --primary-end: #ff6aa2;
  --truth-start: #38bdf8;
  --truth-end: #34d399;
  --dare-start: #fb7185;
  --dare-end: #f97316;
  --bg-start: #020617;
  --bg-end: #111d3a;
  --surface-primary: rgba(18, 26, 45, 0.88);
  --surface-secondary: rgba(28, 39, 61, 0.76);
  --surface-tertiary: rgba(43, 55, 80, 0.9);
  --panel-info: rgba(32, 42, 67, 0.9);
  --panel-warning: rgba(56, 41, 34, 0.9);
  --input-bg: rgba(11, 19, 37, 0.94);
  --border-soft: rgba(148, 163, 184, 0.18);
  --border-strong: rgba(109, 94, 252, 0.3);
  --text-primary: #e5eef9;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --shadow-elevated: 0 34px 90px rgba(2, 6, 23, 0.52);
  --shadow-soft: 0 18px 40px rgba(2, 6, 23, 0.34);
  --button-shadow: 0 16px 32px rgba(109, 94, 252, 0.2);
  --title-spacing: -0.03em;
  --title-weight: 700;
  --button-case: none;
  --button-spacing: 0.01em;
  --glow-one: rgba(255, 106, 162, 0.14);
  --glow-two: rgba(56, 189, 248, 0.1);
  --surface-stroke: 1px solid rgba(148, 163, 184, 0.12);
  --button-secondary-bg: rgba(30, 41, 59, 0.82);
  --button-secondary-border: rgba(148, 163, 184, 0.22);
  --button-secondary-text: var(--text-primary);
  --chat-bubble: rgba(30, 41, 59, 0.92);
  --chat-own-bubble: rgba(46, 56, 95, 0.96);
  --chat-own-border: rgba(109, 94, 252, 0.26);
}

body.theme-blue {
  --font-body: 'Manrope', 'Inter', sans-serif;
  --font-display: 'Space Grotesk', 'Manrope', sans-serif;
  --primary-start: #3b82f6;
  --primary-end: #22d3ee;
  --truth-start: #0ea5e9;
  --truth-end: #67e8f9;
  --dare-start: #f97316;
  --dare-end: #fb7185;
  --bg-start: #020617;
  --bg-end: #0f3a8a;
  --surface-primary: rgba(248, 250, 252, 0.9);
  --surface-secondary: rgba(239, 246, 255, 0.8);
  --surface-tertiary: rgba(219, 234, 254, 0.9);
  --panel-info: rgba(224, 242, 254, 0.9);
  --panel-warning: rgba(255, 243, 224, 0.92);
  --input-bg: rgba(248, 250, 252, 0.92);
  --border-strong: rgba(59, 130, 246, 0.24);
  --button-shadow: 0 16px 32px rgba(59, 130, 246, 0.28);
  --title-spacing: -0.03em;
  --title-weight: 700;
  --button-case: none;
  --button-spacing: 0.01em;
  --glow-one: rgba(34, 211, 238, 0.18);
  --glow-two: rgba(59, 130, 246, 0.2);
  --surface-stroke: 1px solid rgba(191, 219, 254, 0.36);
  --button-secondary-bg: rgba(255, 255, 255, 0.76);
  --button-secondary-border: rgba(148, 163, 184, 0.24);
  --button-secondary-text: #0f172a;
  --chat-bubble: rgba(255, 255, 255, 0.9);
  --chat-own-bubble: rgba(224, 242, 254, 0.98);
  --chat-own-border: rgba(59, 130, 246, 0.22);
}

body.theme-green {
  --font-body: 'Manrope', 'Inter', sans-serif;
  --font-display: 'Space Grotesk', 'Manrope', sans-serif;
  --primary-start: #10b981;
  --primary-end: #84cc16;
  --truth-start: #14b8a6;
  --truth-end: #86efac;
  --dare-start: #fb7185;
  --dare-end: #f59e0b;
  --bg-start: #032b22;
  --bg-end: #14532d;
  --surface-primary: rgba(249, 250, 251, 0.9);
  --surface-secondary: rgba(236, 253, 245, 0.8);
  --surface-tertiary: rgba(209, 250, 229, 0.9);
  --panel-info: rgba(220, 252, 231, 0.88);
  --panel-warning: rgba(255, 247, 222, 0.92);
  --input-bg: rgba(248, 250, 252, 0.92);
  --border-strong: rgba(16, 185, 129, 0.22);
  --button-shadow: 0 16px 32px rgba(16, 185, 129, 0.24);
  --title-spacing: -0.03em;
  --title-weight: 700;
  --button-case: none;
  --button-spacing: 0.01em;
  --glow-one: rgba(132, 204, 22, 0.18);
  --glow-two: rgba(16, 185, 129, 0.18);
  --button-secondary-bg: rgba(255, 255, 255, 0.76);
  --button-secondary-border: rgba(16, 185, 129, 0.14);
  --button-secondary-text: #064e3b;
  --chat-bubble: rgba(255, 255, 255, 0.9);
  --chat-own-bubble: rgba(220, 252, 231, 0.96);
  --chat-own-border: rgba(16, 185, 129, 0.18);
}

body.theme-dark {
  --font-body: 'Manrope', 'Inter', sans-serif;
  --font-display: 'Space Grotesk', 'Manrope', sans-serif;
  --primary-start: #8b5cf6;
  --primary-end: #22d3ee;
  --truth-start: #60a5fa;
  --truth-end: #22d3ee;
  --dare-start: #fb7185;
  --dare-end: #f97316;
  --bg-start: #020617;
  --bg-end: #111d36;
  --surface-primary: rgba(15, 23, 42, 0.88);
  --surface-secondary: rgba(30, 41, 59, 0.76);
  --surface-tertiary: rgba(51, 65, 85, 0.9);
  --panel-info: rgba(30, 41, 59, 0.92);
  --panel-warning: rgba(51, 39, 23, 0.9);
  --input-bg: rgba(15, 23, 42, 0.94);
  --border-soft: rgba(148, 163, 184, 0.18);
  --border-strong: rgba(192, 132, 252, 0.26);
  --text-primary: #e5eef9;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --shadow-elevated: 0 34px 90px rgba(2, 6, 23, 0.52);
  --shadow-soft: 0 18px 40px rgba(2, 6, 23, 0.36);
  --button-shadow: 0 16px 32px rgba(192, 132, 252, 0.22);
  --title-spacing: -0.03em;
  --title-weight: 700;
  --button-case: none;
  --button-spacing: 0.01em;
  --glow-one: rgba(192, 132, 252, 0.14);
  --glow-two: rgba(34, 211, 238, 0.1);
  --surface-stroke: 1px solid rgba(148, 163, 184, 0.12);
  --button-secondary-bg: rgba(30, 41, 59, 0.82);
  --button-secondary-border: rgba(148, 163, 184, 0.2);
  --button-secondary-text: var(--text-primary);
  --chat-bubble: rgba(30, 41, 59, 0.94);
  --chat-own-bubble: rgba(58, 43, 92, 0.94);
  --chat-own-border: rgba(192, 132, 252, 0.22);
}

body.theme-dark .container,
body.theme-dark .admin-card,
body.theme-dark .admin-prompt-card,
body.theme-dark .theme-option,
body.theme-dark .player-item,
body.theme-dark .score-item,
body.theme-dark .modal-dialog,
body.theme-dark .custom-prompt-form,
body.theme-dark .players-list,
body.theme-dark .scoreboard,
body.theme-dark .stat-item,
body.theme-dark .game-info,
body.theme-dark .prompt-display,
body.theme-dark .response-section,
body.theme-dark .judgment-section {
  color: var(--text-primary);
}

body.theme-blue .container {
  backdrop-filter: blur(26px);
}

body.theme-blue h1 {
  text-transform: none;
}

body.theme-blue .theme-preview::after,
body.theme-blue .container::after {
  background-image: linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
  background-size: 24px 24px;
}

body.theme-blue .container::after {
  content: '';
  inset: 0;
  opacity: 0.1;
  pointer-events: none;
  position: absolute;
  border-radius: inherit;
}

body.theme-green .container {
  box-shadow: 0 34px 90px rgba(5, 150, 105, 0.16);
}

body.theme-green h1 {
  font-style: normal;
}

body.theme-green .theme-preview::after {
  background: radial-gradient(circle at 18% 28%, rgba(255, 255, 255, 0.42) 0, transparent 28%), radial-gradient(circle at 78% 78%, rgba(255, 255, 255, 0.22) 0, transparent 32%);
}

body.theme-dark .container {
  backdrop-filter: blur(14px);
}

body.theme-dark .theme-preview::after {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, transparent 52%), linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.06) 100%);
}
