/* Default Theme (Dark Theme) & Explicit [data-theme="dark"] */
:root, [data-theme="dark"] {
    --bg-main: #0f172a;
    --bg-card: #1e293b;
    --bg-muted: 15 23 42;
    --border-color: #334155;
    --text-main: #f8fafc;
    --text-muted: #94a3b8;
    --accent-color: #6366f1;
    --text-toast-color: #f8fafc;
}

/* Light Theme */
[data-theme="light"] {
    --bg-main: #f8fafc;
    --bg-card: #ffffff;
    --bg-muted: 248 250 252;
    --border-color: #e2e8f0;
    --text-main: #0f172a;
    --text-muted: #64748b;
    --accent-color: #2563eb;
    --text-toast-color: #16191f;
}

/* Navy Theme */
[data-theme="navy"] {
    --bg-main: #0b1329;
    --bg-card: #111c3a;
    --bg-muted: 11 19 41;
    --border-color: #1e2d5a;
    --text-main: #f1f5f9;
    --text-muted: #94a3b8;
    --accent-color: #3b82f6;
    --text-toast-color: #f1f5f9;
}

/* Sepia Theme */
[data-theme="sepia"] {
    --bg-main: #dfd8cd;
    --bg-card: #fff7ea;
    --bg-muted: 31 30 30;
    --border-color: #bdad90;
    --text-main: #010101;
    --text-muted: #1f1e1edc;
    --accent-color: #72603f;
    --text-toast-color: #010101;
}

@media print {
    :root {
        --bg-main: transparent;
        --bg-card: transparent;
        --accent-color: #000000 !important;
        --border-color: #000000 !important;
        --text-main: #000000 !important;
        --text-muted: #000000 !important;
    }
    
    table, th, td {
        border-color: #000000 !important;
    }
}

/* Base Style Applied to Body and Cards */
body {
    background-color: var(--bg-main);
    color: var(--text-main);
}

.theme-card {
    background-color: var(--bg-card);
    border: 1px solid var(--border-color);
}

.text-muted-custom {
    color: var(--text-muted);
}

/* Golden Glow & Shimmer Animation */
@keyframes goldShimmer {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.animate-gold-shimmer {
    background-size: 200% 200%;
    animation: goldShimmer 3s ease infinite;
}

/* Star Sequential Pop Animation */
@keyframes starPop {
    0% {
        opacity: 0;
        transform: scale(0.3) rotate(-20deg);
    }
    70% {
        transform: scale(1.3) rotate(10deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

.animate-star-pop {
    animation: starPop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.theme-btn {
    cursor: pointer;
}