﻿/* 
   FIKIT SEASONAL CORE ENGINE v3.0
   Fully Immersive, High-Performance, Robust
*/

:root {
    --theme-primary: #8338ec;
    --theme-secondary: #3a86ff;
    --theme-bg: #050505;
    --theme-card: rgba(17, 17, 17, 0.8);
    --theme-border: rgba(255, 255, 255, 0.08);
}

.theme-decorations {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    z-index: 9999;
    overflow: hidden;
}

.floating-particle {
    position: absolute;
    pointer-events: none;
    z-index: 10000;
    will-change: transform, opacity;
}

/* --- THEME DEFINITIONS --- */

/* SPACE */
body.theme-space {
    --theme-primary: #00f2ff;
    --theme-secondary: #7000ff;
    --theme-bg: #020205;
    background: radial-gradient(circle at center, #0a0a25 0%, #020205 100%) !important;
}

/* CHRISTMAS */
body.theme-christmas {
    --theme-primary: #c41e3a;
    --theme-secondary: #165b33;
    --theme-bg: #051505;
    background: linear-gradient(180deg, #0a250a 0%, #051505 100%) !important;
}

/* HALLOWEEN */
body.theme-halloween {
    --theme-primary: #ff7518;
    --theme-secondary: #4b0082;
    --theme-bg: #0a0510;
    background: radial-gradient(circle at center, #1a0a2a 0%, #0a0510 100%) !important;
}

/* BLACK FRIDAY */
body.theme-black_friday {
    --theme-primary: #00ff41;
    --theme-bg: #000;
    --theme-card: #080808;
}

/* PRIDE */
body.theme-lgbt_pride {
    --theme-primary: #ff0000;
}

/* VALENTINE */
body.theme-valentine {
    --theme-primary: #ff4d6d;
    --theme-bg: #1a050a;
}

/* --- OVERRIDES --- */
body[class*="theme-"] {
    background-color: var(--theme-bg) !important;
    color: #fff;
}

body[class*="theme-"] .navbar {
    background: rgba(0, 0, 0, 0.8) !important;
    backdrop-filter: blur(15px);
    border-bottom: 1px solid var(--theme-border);
}

body[class*="theme-"] .cyber-card {
    background: var(--theme-card) !important;
    border: 1px solid var(--theme-border) !important;
    backdrop-filter: blur(10px);
}

body[class*="theme-"] .btn-primary-modern {
    background: var(--theme-primary) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

body[class*="theme-"] .accent-text {
    color: var(--theme-primary) !important;
}

/* --- ICON ANIMATIONS --- */
@keyframes theme-swing {
    from {
        transform: rotate(-10deg);
        transform-origin: top center;
    }

    to {
        transform: rotate(10deg);
        transform-origin: top center;
    }
}

@keyframes theme-float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

@keyframes theme-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.ufo-unit {
    animation: theme-float 5s ease-in-out infinite;
    filter: drop-shadow(0 0 10px var(--theme-primary));
}

.lantern-unit {
    animation: theme-swing 3s ease-in-out infinite alternate;
}

.bat-unit {
    animation: theme-float 3s ease-in-out infinite;
}
/* --- IMMERSIVE OVERLAYS --- */
.theme-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    pointer-events: none;
    z-index: 9998;
    opacity: 0.3;
}

/* Christmas Frost */
body.theme-christmas .theme-overlay {
    background: radial-gradient(circle, transparent 70%, rgba(255,255,255,0.2) 100%);
    box-shadow: inset 0 0 100px rgba(255,255,255,0.1);
}

/* Halloween Vignette */
body.theme-halloween .theme-overlay {
    background: radial-gradient(circle, transparent 50%, rgba(0,0,0,0.8) 100%);
}

/* Space Nebula */
body.theme-space .theme-overlay {
    background: linear-gradient(45deg, rgba(112,0,255,0.05) 0%, rgba(0,242,255,0.05) 100%);
    animation: nebula-shift 30s ease-in-out infinite alternate;
}
@keyframes nebula-shift {
    from { filter: hue-rotate(0deg); }
    to { filter: hue-rotate(45deg); }
}

/* Matrix Theme */
body.theme-matrix {
    --theme-primary: #00ff41;
    --theme-bg: #000;
}
body.theme-matrix .cyber-card {
    border-color: #00ff41 !important;
    background: rgba(0,20,0,0.9) !important;
}

/* --- SPECIAL PARTICLES --- */
.comet {
    position: fixed;
    width: 2px; height: 2px;
    background: #fff;
    box-shadow: 0 0 10px #fff, 0 0 20px var(--theme-primary);
    border-radius: 50%;
    z-index: 10001;
}

.spider-web {
    position: fixed;
    font-size: 150px;
    opacity: 0.1;
    z-index: 10001;
    color: #fff;
}


/* --- NEW YEAR RICH STYLES --- */
body.theme-new_year .theme-overlay {
    background: radial-gradient(circle at 50% 10%, rgba(212, 175, 55, 0.1) 0%, transparent 80%);
}

/* --- CANCER AWARENESS --- */
body.theme-cancer_awareness {
    --theme-primary: #ff69b4;
    --theme-bg: #1a0a10;
}
body.theme-cancer_awareness .theme-overlay {
    background: radial-gradient(circle, rgba(255, 105, 180, 0.05) 0%, transparent 70%);
}

/* --- MOTHER / WOMAN DAY --- */
body.theme-mother_day, body.theme-woman_day {
    --theme-primary: #ff1493;
    --theme-bg: #15050a;
}

/* --- HANUKKAH --- */
body.theme-hanukkah {
    --theme-primary: #0038b8;
    --theme-bg: #000b1a;
}

/* --- CHINESE NEW YEAR --- */
body.theme-chinese_new_year {
    --theme-primary: #aa381e;
    --theme-bg: #1a0505;
}

/* --- EASTER --- */
body.theme-easter {
    --theme-primary: #b4eeb4;
    --theme-bg: #0a1a0a;
}

/* Special Animations */
@keyframes firework {
    0% { transform: scale(0); opacity: 1; }
    100% { transform: scale(2); opacity: 0; box-shadow: 0 0 40px #ffd700; }
}
.firework-unit {
    width: 5px; height: 5px;
    background: #ffd700;
    border-radius: 50%;
    animation: firework 1s ease-out forwards;
}
@keyframes bunny-hop {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-40px) scaleY(0.9); }
}
.bunny-unit { animation: bunny-hop 1s ease-in-out infinite; }

