/* Light Theme (Default) */
[data-theme="light"] {
    /* Colors */
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #e9ecef;
    --bg-hover: #dee2e6;

    --text-primary: #212529;
    --text-secondary: #6c757d;

    --accent-primary: #0066cc;
    --accent-secondary: #0052a3;

    --border-color: #dee2e6;

    --danger-bg: #fee;
    --danger-text: #dc3545;

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #0066cc 0%, #0052a3 100%);

    /* Shadows */
    --shadow-wheel: 0 10px 40px rgba(0, 0, 0, 0.1);
    --shadow-button: 0 4px 12px rgba(0, 102, 204, 0.3);
    --shadow-button-hover: 0 6px 20px rgba(0, 102, 204, 0.4);
    --shadow-panel: 0 2px 8px rgba(0, 0, 0, 0.05);

    /* Fonts */
    --font-primary: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: "Inter", sans-serif;
}

/* Dark Theme */
[data-theme="dark"] {
    /* Colors */
    --bg-primary: #0d1117;
    --bg-secondary: #161b22;
    --bg-tertiary: #21262d;
    --bg-hover: #30363d;

    --text-primary: #c9d1d9;
    --text-secondary: #8b949e;

    --accent-primary: #58a6ff;
    --accent-secondary: #1f6feb;

    --border-color: #30363d;

    --danger-bg: #3d1418;
    --danger-text: #f85149;

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #58a6ff 0%, #1f6feb 100%);

    /* Shadows */
    --shadow-wheel: 0 10px 40px rgba(0, 0, 0, 0.5);
    --shadow-button: 0 4px 12px rgba(88, 166, 255, 0.3);
    --shadow-button-hover: 0 6px 20px rgba(88, 166, 255, 0.4);
    --shadow-panel: 0 2px 8px rgba(0, 0, 0, 0.3);

    /* Fonts */
    --font-primary: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: "Inter", sans-serif;
}

/* Classic Casino Theme */
[data-theme="casino"] {
    /* Colors */
    --bg-primary: #1a0f0f;
    --bg-secondary: #2d1818;
    --bg-tertiary: #3d2020;
    --bg-hover: #4d2828;

    --text-primary: #f4e4c1;
    --text-secondary: #d4c4a1;

    --accent-primary: #d4af37;
    --accent-secondary: #b8941f;

    --border-color: #5d3030;

    --danger-bg: #4d1818;
    --danger-text: #ff6b6b;

    /* Gradients */
    --gradient-primary: linear-gradient(
        135deg,
        #d4af37 0%,
        #b8941f 50%,
        #d4af37 100%
    );

    /* Shadows */
    --shadow-wheel: 0 10px 40px rgba(212, 175, 55, 0.3),
        inset 0 0 20px rgba(0, 0, 0, 0.5);
    --shadow-button: 0 4px 12px rgba(212, 175, 55, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    --shadow-button-hover: 0 6px 20px rgba(212, 175, 55, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    --shadow-panel: 0 2px 8px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(212, 175, 55, 0.1);

    /* Fonts */
    --font-primary: "Playfair Display", serif;
    --font-display: "Bebas Neue", sans-serif;
}

/* Dark Elegant Theme */
[data-theme="elegant"] {
    /* Colors */
    --bg-primary: #0a0a0a;
    --bg-secondary: #141414;
    --bg-tertiary: #1f1f1f;
    --bg-hover: #2a2a2a;

    --text-primary: #e0e0e0;
    --text-secondary: #a0a0a0;

    --accent-primary: #c9a961;
    --accent-secondary: #b89a52;

    --border-color: #333333;

    --danger-bg: #2a1414;
    --danger-text: #ff4444;

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #c9a961 0%, #8b7355 100%);

    /* Shadows */
    --shadow-wheel: 0 20px 60px rgba(201, 169, 97, 0.2),
        0 0 100px rgba(201, 169, 97, 0.1);
    --shadow-button: 0 8px 24px rgba(201, 169, 97, 0.3);
    --shadow-button-hover: 0 12px 32px rgba(201, 169, 97, 0.4);
    --shadow-panel: 0 4px 16px rgba(0, 0, 0, 0.6);

    /* Fonts */
    --font-primary: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: "Playfair Display", serif;
}

/* Neon Cyberpunk Theme */
[data-theme="neon"] {
    /* Colors */
    --bg-primary: #0a0a0f;
    --bg-secondary: #12121a;
    --bg-tertiary: #1a1a25;
    --bg-hover: #252530;

    --text-primary: #e0e0ff;
    --text-secondary: #a0a0c0;

    --accent-primary: #00ffff;
    --accent-secondary: #ff00ff;

    --border-color: #3d3d5c;

    --danger-bg: #2a1425;
    --danger-text: #ff0080;

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #00ffff 0%, #ff00ff 100%);

    /* Shadows */
    --shadow-wheel: 0 0 60px rgba(0, 255, 255, 0.5),
        0 0 120px rgba(255, 0, 255, 0.3), inset 0 0 60px rgba(138, 43, 226, 0.2);
    --shadow-button: 0 0 20px rgba(0, 255, 255, 0.6),
        0 4px 12px rgba(255, 0, 255, 0.4);
    --shadow-button-hover: 0 0 30px rgba(0, 255, 255, 0.8),
        0 6px 20px rgba(255, 0, 255, 0.6);
    --shadow-panel: 0 0 20px rgba(138, 43, 226, 0.3),
        0 2px 8px rgba(0, 0, 0, 0.8);

    /* Fonts */
    --font-primary: "Orbitron", monospace;
    --font-display: "Orbitron", monospace;
}

/* Theme-specific animations */
[data-theme="neon"] .spin-button {
    animation: neon-pulse 2s ease-in-out infinite;
}

[data-theme="neon"] .wheel-pointer {
    filter: drop-shadow(0 0 10px currentColor);
}

[data-theme="casino"] .result-value {
    text-shadow: 0 0 20px rgba(212, 175, 55, 0.5),
        0 0 40px rgba(212, 175, 55, 0.3);
}

[data-theme="elegant"] .logo {
    letter-spacing: 0.1em;
    font-weight: 700;
}

/* Neon theme glow effects */
@keyframes neon-pulse {
    0%,
    100% {
        box-shadow: 0 0 20px rgba(0, 255, 255, 0.6),
            0 4px 12px rgba(255, 0, 255, 0.4),
            inset 0 0 20px rgba(138, 43, 226, 0.2);
    }
    50% {
        box-shadow: 0 0 30px rgba(0, 255, 255, 0.8),
            0 4px 16px rgba(255, 0, 255, 0.6),
            inset 0 0 25px rgba(138, 43, 226, 0.3);
    }
}
