:root {
    --bg-primary: rgba(255, 255, 255, 0.1);
    --bg-secondary: rgba(255, 255, 255, 0.08);
    --bg-card: rgba(255, 255, 255, 0.12);
    --bg-glass: rgba(255, 255, 255, 0.15);
    --half-title-color: #AA7F00;
    --text-primary: #ffffff;
    --text-secondary: #e8e8e8;
    --text-tertiary: #d0d0d0;
    --accent-color: #947203;
    --accent-light: #008310;
    --border-color: rgba(238, 238, 238, 0.3);
    --gold-color: #d4af37;
    --shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    --hover-color: #d4af37;
    --btn-primary: #2a6c54;
    --btn-secondary: #d4af37;
    --btn-tertiary: #1e3aad;
    --floating-btn-bg: rgba(42, 108, 84, 0.9);
    --floating-btn-hover: rgba(42, 108, 84, 1);
    --success-color: #27ae60;
    --danger-color: #e74c3c;
    --warning-color: #f39c12;
    --info-color: #3498db;
}

[data-theme="light"] {
    --bg-primary: rgba(255, 255, 255, 0.1);
    --bg-secondary: rgba(255, 255, 255, 0.08);
    --bg-card: rgba(255, 255, 255, 0.12);
    --bg-glass: rgba(255, 255, 255, 0.15);
    --half-title-color: #AA7F00;
    --text-primary: #ffffff;
    --text-secondary: #e8e8e8;
    --text-tertiary: #d0d0d0;
    --accent-color: #947203;
    --accent-light: #008310;
    --border-color: rgba(238, 238, 238, 0.3);
    --gold-color: #d4af37;
    --shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    --hover-color: #d4af37;
    --btn-primary: #2a6c54;
    --btn-secondary: #d4af37;
    --btn-tertiary: #1e3aad;
    --floating-btn-bg: rgba(42, 108, 84, 0.9);
    --floating-btn-hover: rgba(42, 108, 84, 1);
}

[data-theme="dark"] {
    --bg-primary: rgba(0, 0, 0, 0.1);
    --bg-secondary: rgba(0, 0, 0, 0.08);
    --bg-card: rgba(0, 0, 0, 0.12);
    --bg-glass: rgba(0, 0, 0, 0.15);
    --half-title-color: #9F0707;
    --text-primary: #f0f8ff;
    --text-secondary: #b0c4de;
    --text-tertiary: #8fa8c9;
    --accent-color: #920530;
    --accent-light: #06217B;
    --border-color: rgba(75, 75, 105, 0.3);
    --gold-color: #e6c34d;
    --shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    --hover-color: #b0e0e6;
    --btn-primary: #1a4a3a;
    --btn-secondary: #b8941f;
    --btn-tertiary: #0d1f5a;
    --floating-btn-bg: rgba(26, 74, 58, 0.9);
    --floating-btn-hover: rgba(26, 74, 58, 1);
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes gradientMove {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
