/* Local, versioned seasonal layer. No remote media or theme API. */
:root {
    --idc-accent: #00ff7f;
    --idc-surface: #171e24;
    --idc-background: #101519;
    --idc-theme-accent: 0 255 127;
    --idc-theme-dark: 16 21 25;
    --idc-theme-surface: 23 30 36;
    --idc-theme-surface-2: 23 30 36;
    --idc-theme-border: 41 52 59;
    --idc-theme-muted: 147 160 169;
    --idc-theme-light: 246 248 248;
}
html[data-site-theme] body { background-color: var(--idc-background); }
nav.fixed { border-bottom-color: var(--idc-accent) !important; }
html[data-site-theme]:not([data-site-theme=classic]) body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image: var(--season-pattern);
    background-size: 220px 220px;
    background-position: 30px 80px;
    opacity: .045;
    pointer-events: none;
    z-index: 0;
}
#app, .account-wrap, body.idc-auth > main { position: relative; z-index: 1; }
body.idc-theme-celebrating::after {
    content: '';
    position: fixed;
    inset: 0;
    background: var(--season-pattern) 20% 25%/160px 160px repeat;
    pointer-events: none;
    z-index: 1040;
    animation: idc-celebrate 2.5s ease-out both;
}
@keyframes idc-celebrate {
    0% { opacity: 0; transform: scale(.85); }
    25% { opacity: .5; }
    100% { opacity: 0; transform: scale(1.1); }
}
html[data-launcher=true] body::before,
html[data-launcher=true] body::after { display: none !important; }
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
    body.idc-theme-celebrating::after { display: none; animation: none; }
}
