/* themes.css - 8 Modern Themes with Curated Color Palettes */

:root, [data-theme="light"] {
    --bg-base: #f1f5f9;
    --bg-surface: rgba(255, 255, 255, 0.72);
    --bg-surface-elevated: rgba(255, 255, 255, 0.88);
    --bg-surface-hover: rgba(255, 255, 255, 0.96);
    --border-color: rgba(15, 23, 42, 0.08);
    --border-highlight: rgba(37, 99, 235, 0.45);
    --text-primary: #0f172a;
    --text-secondary: #334155;
    --text-muted: #64748b;
    --accent-primary: #2563eb;
    --accent-secondary: #3b82f6;
    --accent-glow: rgba(37, 99, 235, 0.22);
    --blob-1: #60a5fa;
    --blob-2: #818cf8;
    --blob-3: #c084fc;
    --glass-specular: rgba(255, 255, 255, 0.7);
    --glass-blur: 12px;
    --input-bg: rgba(255, 255, 255, 0.75);
    --input-border: rgba(15, 23, 42, 0.15);
    --input-text: #0f172a;
    --nav-bg: rgba(255, 255, 255, 0.8);
    --sidebar-bg: rgba(255, 255, 255, 0.85);
    --success: #16a34a;
    --warning: #d97706;
    --danger: #dc2626;
    --info: #0284c7;
    --shadow-color: rgba(15, 23, 42, 0.06);
    --scrollbar-track: rgba(15, 23, 42, 0.05);
    --scrollbar-thumb: rgba(15, 23, 42, 0.2);
}

[data-theme="dark"] {
    --bg-base: #0b0f19;
    --bg-surface: rgba(18, 24, 39, 0.75);
    --bg-surface-elevated: rgba(30, 41, 59, 0.85);
    --bg-surface-hover: rgba(51, 65, 85, 0.9);
    --border-color: rgba(255, 255, 255, 0.1);
    --border-highlight: rgba(96, 165, 250, 0.5);
    --text-primary: #f8fafc;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --accent-primary: #3b82f6;
    --accent-secondary: #60a5fa;
    --accent-glow: rgba(59, 130, 246, 0.3);
    --blob-1: #1e40af;
    --blob-2: #4338ca;
    --blob-3: #6b21a8;
    --glass-specular: rgba(255, 255, 255, 0.15);
    --glass-blur: 12px;
    --input-bg: rgba(15, 23, 42, 0.7);
    --input-border: rgba(255, 255, 255, 0.15);
    --input-text: #f8fafc;
    --nav-bg: rgba(11, 15, 25, 0.82);
    --sidebar-bg: rgba(15, 23, 42, 0.88);
    --success: #22c55e;
    --warning: #eab308;
    --danger: #ef4444;
    --info: #0ea5e9;
    --shadow-color: rgba(0, 0, 0, 0.4);
    --scrollbar-track: rgba(255, 255, 255, 0.05);
    --scrollbar-thumb: rgba(255, 255, 255, 0.2);
}

[data-theme="ocean"] {
    --bg-base: #061826;
    --bg-surface: rgba(10, 37, 64, 0.72);
    --bg-surface-elevated: rgba(14, 49, 84, 0.85);
    --bg-surface-hover: rgba(20, 68, 115, 0.9);
    --border-color: rgba(6, 182, 212, 0.2);
    --border-highlight: rgba(6, 182, 212, 0.65);
    --text-primary: #f0fdfa;
    --text-secondary: #ccfbf1;
    --text-muted: #5eead4;
    --accent-primary: #06b6d4;
    --accent-secondary: #22d3ee;
    --accent-glow: rgba(6, 182, 212, 0.35);
    --blob-1: #0891b2;
    --blob-2: #0284c7;
    --blob-3: #0d9488;
    --glass-specular: rgba(34, 211, 238, 0.25);
    --glass-blur: 12px;
    --input-bg: rgba(8, 28, 48, 0.7);
    --input-border: rgba(6, 182, 212, 0.3);
    --input-text: #f0fdfa;
    --nav-bg: rgba(6, 24, 38, 0.82);
    --sidebar-bg: rgba(8, 30, 50, 0.88);
    --success: #10b981;
    --warning: #f59e0b;
    --danger: #f43f5e;
    --info: #38bdf8;
    --shadow-color: rgba(0, 0, 0, 0.45);
    --scrollbar-track: rgba(6, 182, 212, 0.05);
    --scrollbar-thumb: rgba(6, 182, 212, 0.3);
}

[data-theme="cyberpunk"] {
    --bg-base: #070712;
    --bg-surface: rgba(28, 10, 48, 0.75);
    --bg-surface-elevated: rgba(45, 14, 76, 0.88);
    --bg-surface-hover: rgba(65, 18, 110, 0.92);
    --border-color: rgba(255, 0, 110, 0.3);
    --border-highlight: rgba(0, 245, 212, 0.8);
    --text-primary: #ffffff;
    --text-secondary: #f0abfc;
    --text-muted: #c084fc;
    --accent-primary: #ff006e;
    --accent-secondary: #00f5d4;
    --accent-glow: rgba(255, 0, 110, 0.45);
    --blob-1: #c026d3;
    --blob-2: #ff006e;
    --blob-3: #00f5d4;
    --glass-specular: rgba(0, 245, 212, 0.3);
    --glass-blur: 12px;
    --input-bg: rgba(18, 6, 32, 0.75);
    --input-border: rgba(255, 0, 110, 0.4);
    --input-text: #ffffff;
    --nav-bg: rgba(7, 7, 18, 0.85);
    --sidebar-bg: rgba(20, 7, 36, 0.9);
    --success: #00f5d4;
    --warning: #fee440;
    --danger: #ff006e;
    --info: #00bbf9;
    --shadow-color: rgba(255, 0, 110, 0.25);
    --scrollbar-track: rgba(255, 0, 110, 0.1);
    --scrollbar-thumb: rgba(0, 245, 212, 0.5);
}

[data-theme="sunset"] {
    --bg-base: #180d0e;
    --bg-surface: rgba(56, 20, 22, 0.72);
    --bg-surface-elevated: rgba(78, 26, 28, 0.85);
    --bg-surface-hover: rgba(105, 34, 36, 0.9);
    --border-color: rgba(249, 115, 22, 0.22);
    --border-highlight: rgba(249, 115, 22, 0.65);
    --text-primary: #fff7ed;
    --text-secondary: #fed7aa;
    --text-muted: #fb923c;
    --accent-primary: #ea580c;
    --accent-secondary: #f97316;
    --accent-glow: rgba(234, 88, 12, 0.35);
    --blob-1: #c2410c;
    --blob-2: #be123c;
    --blob-3: #b45309;
    --glass-specular: rgba(253, 186, 116, 0.25);
    --glass-blur: 12px;
    --input-bg: rgba(38, 14, 16, 0.7);
    --input-border: rgba(249, 115, 22, 0.3);
    --input-text: #fff7ed;
    --nav-bg: rgba(24, 13, 14, 0.82);
    --sidebar-bg: rgba(40, 15, 17, 0.88);
    --success: #22c55e;
    --warning: #facc15;
    --danger: #ef4444;
    --info: #38bdf8;
    --shadow-color: rgba(0, 0, 0, 0.45);
    --scrollbar-track: rgba(249, 115, 22, 0.05);
    --scrollbar-thumb: rgba(249, 115, 22, 0.3);
}

[data-theme="forest"] {
    --bg-base: #08170e;
    --bg-surface: rgba(16, 44, 28, 0.72);
    --bg-surface-elevated: rgba(22, 60, 38, 0.85);
    --bg-surface-hover: rgba(30, 80, 52, 0.9);
    --border-color: rgba(34, 197, 94, 0.2);
    --border-highlight: rgba(34, 197, 94, 0.65);
    --text-primary: #f0fdf4;
    --text-secondary: #bbf7d0;
    --text-muted: #86efac;
    --accent-primary: #16a34a;
    --accent-secondary: #22c55e;
    --accent-glow: rgba(34, 197, 94, 0.35);
    --blob-1: #15803d;
    --blob-2: #0f766e;
    --blob-3: #65a30d;
    --glass-specular: rgba(134, 239, 172, 0.25);
    --glass-blur: 12px;
    --input-bg: rgba(10, 30, 19, 0.7);
    --input-border: rgba(34, 197, 94, 0.3);
    --input-text: #f0fdf4;
    --nav-bg: rgba(8, 23, 14, 0.82);
    --sidebar-bg: rgba(12, 34, 22, 0.88);
    --success: #22c55e;
    --warning: #facc15;
    --danger: #ef4444;
    --info: #38bdf8;
    --shadow-color: rgba(0, 0, 0, 0.45);
    --scrollbar-track: rgba(34, 197, 94, 0.05);
    --scrollbar-thumb: rgba(34, 197, 94, 0.3);
}

[data-theme="midnight"] {
    --bg-base: #090915;
    --bg-surface: rgba(25, 20, 55, 0.72);
    --bg-surface-elevated: rgba(38, 30, 80, 0.85);
    --bg-surface-hover: rgba(52, 42, 108, 0.9);
    --border-color: rgba(168, 85, 247, 0.2);
    --border-highlight: rgba(168, 85, 247, 0.65);
    --text-primary: #faf5ff;
    --text-secondary: #e9d5ff;
    --text-muted: #d8b4fe;
    --accent-primary: #9333ea;
    --accent-secondary: #a855f7;
    --accent-glow: rgba(168, 85, 247, 0.35);
    --blob-1: #7e22ce;
    --blob-2: #4f46e5;
    --blob-3: #c026d3;
    --glass-specular: rgba(216, 180, 254, 0.25);
    --glass-blur: 12px;
    --input-bg: rgba(18, 14, 38, 0.7);
    --input-border: rgba(168, 85, 247, 0.3);
    --input-text: #faf5ff;
    --nav-bg: rgba(9, 9, 21, 0.82);
    --sidebar-bg: rgba(18, 14, 40, 0.88);
    --success: #10b981;
    --warning: #f59e0b;
    --danger: #ef4444;
    --info: #0ea5e9;
    --shadow-color: rgba(0, 0, 0, 0.45);
    --scrollbar-track: rgba(168, 85, 247, 0.05);
    --scrollbar-thumb: rgba(168, 85, 247, 0.3);
}

[data-theme="rose-gold"] {
    --bg-base: #160a10;
    --bg-surface: rgba(50, 20, 36, 0.72);
    --bg-surface-elevated: rgba(70, 28, 50, 0.85);
    --bg-surface-hover: rgba(95, 38, 68, 0.9);
    --border-color: rgba(244, 114, 182, 0.22);
    --border-highlight: rgba(244, 114, 182, 0.65);
    --text-primary: #fff1f2;
    --text-secondary: #fecdd3;
    --text-muted: #fda4af;
    --accent-primary: #e11d48;
    --accent-secondary: #fb7185;
    --accent-glow: rgba(225, 29, 72, 0.35);
    --blob-1: #be123c;
    --blob-2: #db2777;
    --blob-3: #9d174d;
    --glass-specular: rgba(253, 164, 175, 0.25);
    --glass-blur: 12px;
    --input-bg: rgba(32, 12, 23, 0.7);
    --input-border: rgba(244, 114, 182, 0.3);
    --input-text: #fff1f2;
    --nav-bg: rgba(22, 10, 16, 0.82);
    --sidebar-bg: rgba(35, 14, 25, 0.88);
    --success: #10b981;
    --warning: #f59e0b;
    --danger: #ef4444;
    --info: #38bdf8;
    --shadow-color: rgba(0, 0, 0, 0.45);
    --scrollbar-track: rgba(244, 114, 182, 0.05);
    --scrollbar-thumb: rgba(244, 114, 182, 0.3);
}

/* Smooth Theme Transitions Only When Switching */
.theme-transitioning,
.theme-transitioning * {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}

/* Base Body Application */
body {
    background-color: var(--bg-base);
    color: var(--text-primary);
    min-height: 100vh;
}

/* Scrollbar Customization */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--scrollbar-track);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--accent-primary);
}

/* Selection and Focus */
::selection {
    background-color: var(--accent-primary);
    color: #ffffff;
}

:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}
