:root {
    --logo-invert: 100%;  /* 100% for white, 0% for black */
    --bg-primary: #121212;
    --bg-secondary: #2f2f2f;
    --episode-container: #e85a5a;
    --episode-container-rgb: 232, 90, 90;
    --visited: #db9090;
    --button-color: #232323;
    --text-primary: #ffffff;
    --text-secondary: #b3b3b3;
    --accent-color: #1b1b1b;
    --header-bg: #242424;
    --blend-color: #121212;
    --search-bar-color: #e7e7e7;
    --minor-text-color: #dadada;
}

.dark-theme:root {
    --logo-invert: 100%;
    --bg-primary: #15171c; 
    --bg-secondary: #1c1f26;
    --episode-container: #a14d69;
    --episode-container-rgb: 161, 77, 105;
    --button-color: #252830;
    --text-primary: #e1e3e8;
    --text-secondary: #9498a4;
    --accent-color: #191c22;
    --header-bg: #15171c;
    --blend-color: #15171c;
    --search-bar-color: #e6e8ed;
    --minor-text-color: #b4b8c2;
    --visited: #8e6276;
}

.light-theme:root {
    --logo-invert: 0%;
    --bg-primary: #f5efe6;
    --bg-secondary: #e8e0d4;
    --episode-container: #d4776a;
    --episode-container-rgb: 212, 119, 106;
    --button-color: #ded5c7;
    --text-primary: #382e27;
    /* old was 6b5c51 */
    --text-secondary: #6b5c51;
    --accent-color: #cfc3b4;
    --header-bg: rgba(245, 239, 230, 1);
    --search-bar-color: #2c241f;
    --minor-text-color: #574a41;
    --visited: #927b68;
}

.amoled-theme:root {
    --logo-invert: 100%;
    --bg-primary: #000000;
    --bg-secondary: #121212;
    --episode-container: #8B3A3A;
    --episode-container-rgb: 139, 58, 58;
    --button-color: #222222;
    --text-primary: #e0e0e0;
    --text-secondary: #8a8a8a;
    --accent-color: #141414;
    --header-bg: #000000;
    --blend-color: #000000;
    --search-bar-color: #d4d4d4;
    --minor-text-color: #a0a0a0;
    --visited: #6B4545;
}

/* ❄️ Winter/Christmas Theme */
.winter-theme:root {
    --logo-invert: 100%;
    --bg-primary: #0f1a2b;
    --bg-secondary: #162236;
    --episode-container: #5b8fb9;
    --episode-container-rgb: 91, 143, 185;
    --button-color: #1d2d44;
    --text-primary: #e8f1f8;
    --text-secondary: #8aacc8;
    --accent-color: #1a2840;
    --header-bg: #0f1a2b;
    --blend-color: #0f1a2b;
    --search-bar-color: #c9dbe8;
    --minor-text-color: #a3c4dc;
    --visited: #6a9ec4;
}

/* ❄️ Subtle snowfall background for winter theme - GPU optimized */
.winter-theme body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    background-image: 
        radial-gradient(2.5px 2.5px at 20% 20%, rgba(255, 255, 255, 0.4) 50%, transparent 50%),
        radial-gradient(2.5px 2.5px at 60% 40%, rgba(255, 255, 255, 0.35) 50%, transparent 50%),
        radial-gradient(2px 2px at 80% 15%, rgba(255, 255, 255, 0.4) 50%, transparent 50%),
        radial-gradient(2px 2px at 40% 70%, rgba(255, 255, 255, 0.35) 50%, transparent 50%);
    background-size: 250px 250px;
    opacity: 0.5;
    will-change: transform;
    animation: snowfall 20s linear infinite;
    transform: translateZ(0);
}

@keyframes snowfall {
    from {
        transform: translateY(-250px) translateZ(0);
    }
    to {
        transform: translateY(0) translateZ(0);
    }
}