/* Pacific Roleplay Seasonal Theme System V2
   Scoped: NORMAL keeps the existing Pacific UI untouched. */
:root{
  --season-accent:#E31B2D;
  --season-accent-2:#8F111E;
  --season-bg:#060607;
  --season-panel:#101014;
  --season-panel-2:#0b0b0e;
  --season-border:rgba(255,255,255,.08);
  --season-text:#f7f7f8;
  --season-muted:#9898a3;
  --season-ambient:rgba(227,27,45,.12);
  --season-hero-overlay:.55;
}

html[data-theme="halloween"]{
  --season-bg:#060505;
  --season-panel:#100b09;
  --season-panel-2:#090707;
  --season-border:rgba(212,78,28,.23);
  --season-text:#fff7ef;
  --season-muted:#b6a59b;
  --season-ambient:rgba(217,71,30,.20);
}
html[data-theme="christmas"]{
  --season-bg:#040708;
  --season-panel:#091011;
  --season-panel-2:#07100d;
  --season-border:rgba(202,226,220,.18);
  --season-text:#fbfdfd;
  --season-muted:#a2b0b1;
  --season-ambient:rgba(74,135,123,.18);
}
html[data-theme="newyear"]{
  --season-bg:#040508;
  --season-panel:#0a0b10;
  --season-panel-2:#08090d;
  --season-border:rgba(217,180,91,.22);
  --season-text:#fffdf8;
  --season-muted:#aaa8a4;
  --season-ambient:rgba(217,180,91,.16);
}

/* Public surface only. NORMAL has no selectors here. */
html[data-theme="halloween"] body,
html[data-theme="christmas"] body,
html[data-theme="newyear"] body{
  background:var(--season-bg);
  color:var(--season-text);
}

html[data-theme="halloween"] body:before,
html[data-theme="christmas"] body:before,
html[data-theme="newyear"] body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
}
html[data-theme="halloween"] body:before{
  background:
    radial-gradient(circle at 82% 9%,rgba(177,56,18,.11),transparent 25%),
    radial-gradient(circle at 8% 55%,rgba(67,29,70,.11),transparent 29%),
    linear-gradient(145deg,#070505 0%,#090606 38%,#060506 100%);
}
html[data-theme="christmas"] body:before{
  background:
    radial-gradient(circle at 80% 10%,rgba(188,219,211,.08),transparent 26%),
    radial-gradient(circle at 12% 62%,rgba(27,85,64,.12),transparent 28%),
    linear-gradient(145deg,#040708 0%,#07100e 52%,#050708 100%);
}
html[data-theme="newyear"] body:before{
  background:
    radial-gradient(circle at 82% 8%,rgba(217,180,91,.10),transparent 24%),
    radial-gradient(circle at 12% 58%,rgba(75,88,128,.10),transparent 30%),
    linear-gradient(145deg,#040508 0%,#090a10 48%,#050508 100%);
}

html[data-theme="halloween"] body.season-nav-on .site-nav,
html[data-theme="christmas"] body.season-nav-on .site-nav,
html[data-theme="newyear"] body.season-nav-on .site-nav{
  border-color:var(--season-border);
  backdrop-filter:blur(18px) saturate(1.08);
}
html[data-theme="halloween"] body.season-nav-on .site-nav:after,
html[data-theme="christmas"] body.season-nav-on .site-nav:after,
html[data-theme="newyear"] body.season-nav-on .site-nav:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--season-accent),transparent);
  opacity:.42;
  pointer-events:none;
}
html[data-theme="christmas"] body.season-nav-on.season-lights-on .site-nav:before{
  content:"";
  position:absolute;left:5%;right:5%;top:0;height:2px;
  background:repeating-linear-gradient(90deg,rgba(255,225,142,.7) 0 3px,transparent 3px 34px,rgba(191,47,57,.74) 34px 37px,transparent 37px 68px,rgba(75,132,101,.72) 68px 71px,transparent 71px 102px);
  filter:drop-shadow(0 0 5px rgba(255,225,142,.24));
  opacity:.55;
}

html[data-theme="halloween"] .desktop-nav a.active,
html[data-theme="halloween"] .desktop-nav a:hover,
html[data-theme="halloween"] .nav-more.active>summary,
html[data-theme="christmas"] .desktop-nav a.active,
html[data-theme="christmas"] .desktop-nav a:hover,
html[data-theme="christmas"] .nav-more.active>summary,
html[data-theme="newyear"] .desktop-nav a.active,
html[data-theme="newyear"] .desktop-nav a:hover,
html[data-theme="newyear"] .nav-more.active>summary{
  color:var(--season-accent);
}

html[data-theme="halloween"] .button.primary,
html[data-theme="christmas"] .button.primary,
html[data-theme="newyear"] .button.primary{
  background:var(--season-accent);
  border-color:var(--season-accent);
}
html[data-theme="halloween"] .button.primary:hover{
  box-shadow:0 0 0 1px rgba(229,90,32,.20),0 10px 30px rgba(229,90,32,.18);
}
html[data-theme="christmas"] .button.primary:hover{
  box-shadow:0 0 0 1px rgba(205,53,65,.18),0 10px 30px rgba(205,53,65,.14);
}
html[data-theme="newyear"] .button.primary:hover{
  box-shadow:0 0 0 1px rgba(217,180,91,.20),0 10px 30px rgba(217,180,91,.16);
}
html[data-theme="newyear"] .button.seasonal-featured-cta{
  background:linear-gradient(110deg,#9b7632,#d9b45b 46%,#f3deb0 52%,#b38c3c 70%,#7e612d);
  color:#100e09;
  border-color:rgba(255,229,164,.48);
  position:relative;overflow:hidden;
}
html[data-theme="newyear"] .button.seasonal-featured-cta:after{
  content:"";position:absolute;inset:-20% auto -20% -45%;width:28%;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transition:left .5s ease;
}
html[data-theme="newyear"] .button.seasonal-featured-cta:hover:after{left:120%}

html[data-theme="halloween"] .red,
html[data-theme="christmas"] .red,
html[data-theme="newyear"] .red{color:var(--season-accent)!important}
html[data-theme="halloween"] .eyebrow,
html[data-theme="christmas"] .eyebrow,
html[data-theme="newyear"] .eyebrow{color:var(--season-accent)}

/* Atmosphere layer */
.seasonal-chrome{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden;contain:paint}
.seasonal-custom-background{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.075;filter:saturate(.72) contrast(1.08)}
.seasonal-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.78}
.seasonal-fog,.seasonal-smoke,.seasonal-ambient{position:absolute;inset:-10%;opacity:0;will-change:transform,opacity}
.seasonal-chrome.effect-ambient .seasonal-ambient{opacity:1;background:radial-gradient(circle at 79% 8%,var(--season-ambient),transparent 28%),radial-gradient(circle at 8% 62%,color-mix(in srgb,var(--season-accent-2) 15%,transparent),transparent 25%)}
.seasonal-halloween.effect-fog .seasonal-fog{opacity:.29;filter:blur(24px);background:radial-gradient(ellipse at 15% 42%,rgba(137,97,72,.20),transparent 34%),radial-gradient(ellipse at 75% 69%,rgba(105,74,62,.15),transparent 38%);animation:seasonFog 22s ease-in-out infinite alternate}
.seasonal-halloween.effect-fog .seasonal-fog-b{opacity:.18;transform:scaleX(-1);animation-duration:31s;animation-delay:-8s}
.seasonal-halloween.effect-smoke .seasonal-smoke{opacity:.14;background:linear-gradient(125deg,transparent 20%,rgba(48,35,33,.45) 47%,transparent 72%);filter:blur(42px);animation:seasonSmoke 28s ease-in-out infinite alternate}
.seasonal-christmas.effect-winter_overlay .seasonal-fog{opacity:.17;background:linear-gradient(180deg,rgba(169,213,216,.12),transparent 34%,rgba(184,218,216,.04));filter:blur(14px)}
@keyframes seasonFog{from{transform:translate3d(-4%,1%,0) scale(1.02)}to{transform:translate3d(4%,-1%,0) scale(1.09)}}
@keyframes seasonSmoke{from{transform:translate3d(-6%,3%,0) rotate(-2deg)}to{transform:translate3d(7%,-2%,0) rotate(3deg)}}

/* Halloween decorative assets – CSS/SVG, not text emoji. */
.seasonal-moon{display:none}
.seasonal-halloween .seasonal-moon{display:block;position:absolute;width:220px;height:220px;border-radius:50%;right:7vw;top:12vh;background:radial-gradient(circle at 42% 40%,rgba(229,178,105,.12),rgba(137,79,45,.055) 56%,transparent 72%);filter:blur(.2px);opacity:.58}
.seasonal-web{display:none}
.seasonal-halloween .seasonal-web{display:block;position:absolute;width:170px;height:170px;opacity:.11;background:
  radial-gradient(circle at 0 0,transparent 0 18px,rgba(232,218,206,.8) 19px 20px,transparent 21px 38px,rgba(232,218,206,.62) 39px 40px,transparent 41px 58px,rgba(232,218,206,.45) 59px 60px,transparent 61px),
  linear-gradient(45deg,transparent 49.5%,rgba(232,218,206,.58) 50%,transparent 50.5%),
  linear-gradient(90deg,transparent 49.5%,rgba(232,218,206,.45) 50%,transparent 50.5%);
}
.seasonal-web-left{left:0;top:0}.seasonal-web-right{right:0;top:0;transform:scaleX(-1)}
.seasonal-bats i{position:absolute;width:40px;height:18px;opacity:.18;animation:pacificBat 18s linear infinite}
.seasonal-bats svg{width:100%;height:100%;fill:#e8b681}
.seasonal-bats i:nth-child(1){top:12%;left:-8%;animation-delay:0s}.seasonal-bats i:nth-child(2){top:22%;left:-13%;animation-delay:4s;transform:scale(.72)}.seasonal-bats i:nth-child(3){top:8%;left:-10%;animation-delay:8s;transform:scale(1.15)}.seasonal-bats i:nth-child(4){top:31%;left:-15%;animation-delay:12s;transform:scale(.58)}.seasonal-bats i:nth-child(5){top:17%;left:-12%;animation-delay:15s;transform:scale(.84)}
@keyframes pacificBat{0%{translate:0 0;rotate:-4deg}45%{translate:58vw -24px;rotate:5deg}100%{translate:120vw 12px;rotate:-3deg}}

/* Christmas lights */
.seasonal-lights{position:absolute;left:2vw;right:2vw;top:68px;height:14px;display:flex;justify-content:space-around;opacity:.54}
.seasonal-lights:before{content:"";position:absolute;left:0;right:0;top:2px;height:1px;background:rgba(208,218,213,.13)}
.seasonal-lights i{position:relative;width:6px;height:8px;border-radius:50% 50% 55% 55%;background:#f4df9b;box-shadow:0 0 12px rgba(244,223,155,.78);animation:seasonLight 2.8s ease-in-out infinite alternate}
.seasonal-lights i:nth-child(3n+1){background:#cf3c49;box-shadow:0 0 12px rgba(207,60,73,.72)}
.seasonal-lights i:nth-child(3n+2){background:#77a58f;box-shadow:0 0 12px rgba(119,165,143,.66);animation-delay:.8s}
.seasonal-lights i:nth-child(4n){animation-delay:1.35s}
@keyframes seasonLight{from{opacity:.28;filter:brightness(.7)}to{opacity:1;filter:brightness(1.16)}}

/* New Year sparkles */
.seasonal-sparkles i{position:absolute;width:2px;height:2px;border-radius:50%;background:#f8e4ac;box-shadow:0 0 10px rgba(248,228,172,.8);opacity:.35;animation:newYearSparkle 3.7s ease-in-out infinite}
.seasonal-sparkles i:nth-child(1){left:8%;top:14%}.seasonal-sparkles i:nth-child(2){left:18%;top:26%;animation-delay:.4s}.seasonal-sparkles i:nth-child(3){left:28%;top:11%;animation-delay:1.1s}.seasonal-sparkles i:nth-child(4){left:39%;top:23%;animation-delay:1.8s}.seasonal-sparkles i:nth-child(5){left:47%;top:9%;animation-delay:.7s}.seasonal-sparkles i:nth-child(6){left:58%;top:18%;animation-delay:2.2s}.seasonal-sparkles i:nth-child(7){left:68%;top:7%;animation-delay:1.5s}.seasonal-sparkles i:nth-child(8){left:77%;top:28%;animation-delay:.3s}.seasonal-sparkles i:nth-child(9){left:87%;top:13%;animation-delay:2.8s}.seasonal-sparkles i:nth-child(10){left:93%;top:33%;animation-delay:1.4s}.seasonal-sparkles i:nth-child(11){left:12%;top:48%;animation-delay:2.2s}.seasonal-sparkles i:nth-child(12){left:23%;top:63%;animation-delay:.9s}.seasonal-sparkles i:nth-child(13){left:36%;top:54%;animation-delay:2.7s}.seasonal-sparkles i:nth-child(14){left:54%;top:47%;animation-delay:1.6s}.seasonal-sparkles i:nth-child(15){left:66%;top:61%;animation-delay:.2s}.seasonal-sparkles i:nth-child(16){left:79%;top:52%;animation-delay:2.4s}.seasonal-sparkles i:nth-child(17){left:88%;top:70%;animation-delay:1.1s}.seasonal-sparkles i:nth-child(18){left:45%;top:76%;animation-delay:3s}
@keyframes newYearSparkle{0%,100%{opacity:.12;transform:scale(.65)}50%{opacity:.75;transform:scale(1.45)}}

/* Announcement / preview */
.seasonal-announcement{position:relative;z-index:12;display:flex;align-items:center;justify-content:center;gap:28px;padding:11px 24px;background:linear-gradient(90deg,color-mix(in srgb,var(--season-accent) 16%,#080809),#0b0b0d,color-mix(in srgb,var(--season-accent-2) 15%,#080809));border-bottom:1px solid var(--season-border);color:var(--season-text)}
.seasonal-announcement div{display:flex;align-items:center;gap:12px}.seasonal-announcement strong{font-size:12px;letter-spacing:.12em}.seasonal-announcement span{font-size:12px;color:var(--season-muted)}.seasonal-announcement a{font-size:11px;font-weight:900;letter-spacing:.09em;color:var(--season-accent);text-decoration:none}.seasonal-announcement-banner{width:42px;height:42px;border-radius:9px;object-fit:cover;border:1px solid var(--season-border)}
.seasonal-preview-bar{position:relative;z-index:30;background:#f2b53f;color:#16120b;font-weight:900;text-align:center;padding:8px 16px;font-size:11px;letter-spacing:.12em}.seasonal-preview-bar a{color:#16120b;margin-left:12px}

/* Hero rework without changing hero markup */
html[data-theme="halloween"] .hero,
html[data-theme="christmas"] .hero,
html[data-theme="newyear"] .hero{isolation:isolate;overflow:hidden;background-color:var(--season-bg)}
html[data-theme="halloween"] .hero:after,
html[data-theme="christmas"] .hero:after,
html[data-theme="newyear"] .hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:var(--season-hero-overlay)}
html[data-theme="halloween"] .hero:after{background:linear-gradient(90deg,rgba(5,4,4,.90) 0%,rgba(10,5,4,.58) 47%,rgba(78,25,10,.14)),radial-gradient(circle at 78% 30%,rgba(217,71,30,.34),transparent 32%)}
html[data-theme="christmas"] .hero:after{background:linear-gradient(90deg,rgba(4,7,8,.91) 0%,rgba(4,10,10,.62) 48%,rgba(20,60,50,.13)),radial-gradient(circle at 80% 28%,rgba(221,205,149,.16),transparent 28%)}
html[data-theme="newyear"] .hero:after{background:linear-gradient(90deg,rgba(4,5,8,.91) 0%,rgba(7,8,14,.62) 48%,rgba(86,65,23,.12)),radial-gradient(circle at 80% 26%,rgba(217,180,91,.22),transparent 30%)}
html[data-theme="halloween"] body.season-hero-decor-on .hero:before{content:"";position:absolute;z-index:0;right:-8%;bottom:-20%;width:46vw;height:46vw;border-radius:50%;background:radial-gradient(circle,rgba(217,71,30,.12),transparent 62%);filter:blur(10px);pointer-events:none}
html[data-theme="christmas"] body.season-hero-decor-on .hero:before{content:"";position:absolute;z-index:0;right:-8%;bottom:-24%;width:46vw;height:46vw;border-radius:50%;background:radial-gradient(circle,rgba(94,148,130,.11),transparent 62%);filter:blur(10px);pointer-events:none}
html[data-theme="newyear"] body.season-hero-decor-on .hero:before{content:"";position:absolute;z-index:0;right:-8%;bottom:-24%;width:48vw;height:48vw;border-radius:50%;background:radial-gradient(circle,rgba(217,180,91,.12),transparent 62%);filter:blur(10px);pointer-events:none}
html[data-theme="halloween"] body:has(.seasonal-chrome.effect-flicker) .hero:after{animation:seasonFlicker 7s steps(1,end) infinite}
@keyframes seasonFlicker{0%,91%,95%,100%{opacity:var(--season-hero-overlay)}92%,94%{opacity:calc(var(--season-hero-overlay) * .72)}}

/* Seasonal treatment for existing standard components, scoped to active themes. */
html[data-theme="halloween"] body.season-card-decor-on :is(.story-card,.home-change-card,.home-news-card,.home-roadmap-card,.status-strip,.cta-panel,.empty),
html[data-theme="christmas"] body.season-card-decor-on :is(.story-card,.home-change-card,.home-news-card,.home-roadmap-card,.status-strip,.cta-panel,.empty),
html[data-theme="newyear"] body.season-card-decor-on :is(.story-card,.home-change-card,.home-news-card,.home-roadmap-card,.status-strip,.cta-panel,.empty){border-color:var(--season-border)}
html[data-theme="halloween"] body.season-card-decor-on :is(.story-card,.home-change-card,.home-news-card,.home-roadmap-card){background:linear-gradient(145deg,rgba(19,12,9,.92),rgba(10,8,8,.94));box-shadow:0 20px 60px rgba(0,0,0,.16)}
html[data-theme="christmas"] body.season-card-decor-on :is(.story-card,.home-change-card,.home-news-card,.home-roadmap-card){background:linear-gradient(145deg,rgba(10,17,18,.92),rgba(7,10,11,.95));box-shadow:0 20px 60px rgba(0,0,0,.16)}
html[data-theme="newyear"] body.season-card-decor-on :is(.story-card,.home-change-card,.home-news-card,.home-roadmap-card){background:linear-gradient(145deg,rgba(12,13,19,.94),rgba(8,9,13,.96));box-shadow:0 20px 60px rgba(0,0,0,.18)}
html[data-theme="halloween"] body.season-card-decor-on :is(.story-card,.home-change-card):hover{border-color:rgba(217,71,30,.42);box-shadow:0 18px 45px rgba(116,41,15,.12)}
html[data-theme="christmas"] body.season-card-decor-on :is(.story-card,.home-change-card):hover{border-color:rgba(213,224,219,.28);box-shadow:0 18px 45px rgba(57,101,88,.11)}
html[data-theme="newyear"] body.season-card-decor-on :is(.story-card,.home-change-card):hover{border-color:rgba(217,180,91,.40);box-shadow:0 18px 45px rgba(125,94,36,.12)}

html[data-theme="halloween"] :is(.input,input,select,textarea):focus,
html[data-theme="christmas"] :is(.input,input,select,textarea):focus,
html[data-theme="newyear"] :is(.input,input,select,textarea):focus{border-color:color-mix(in srgb,var(--season-accent) 55%,#333);outline-color:color-mix(in srgb,var(--season-accent) 30%,transparent)}
html[data-theme="halloween"] :is(.badge,.version-chip),
html[data-theme="christmas"] :is(.badge,.version-chip),
html[data-theme="newyear"] :is(.badge,.version-chip){border-color:var(--season-border)}

/* Footer */
html[data-theme="halloween"] body.season-footer-on .site-footer{position:relative;background:linear-gradient(180deg,#080709,#0b0605);border-color:var(--season-border)}
html[data-theme="christmas"] body.season-footer-on .site-footer{position:relative;background:linear-gradient(180deg,#07090a,#06100e);border-color:var(--season-border)}
html[data-theme="newyear"] body.season-footer-on .site-footer{position:relative;background:linear-gradient(180deg,#07080c,#06070b);border-color:var(--season-border)}
html[data-theme="halloween"] body.season-footer-on .site-footer:before,
html[data-theme="christmas"] body.season-footer-on .site-footer:before,
html[data-theme="newyear"] body.season-footer-on .site-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--season-accent),transparent);opacity:.34}
html[data-theme="christmas"] body.season-footer-on .site-footer:after{content:"";position:absolute;left:0;right:0;top:-7px;height:9px;background:radial-gradient(ellipse at 10px 9px,rgba(233,241,239,.20) 0 7px,transparent 7.5px);background-size:38px 9px;opacity:.5;pointer-events:none}

/* Login atmosphere, layout remains unchanged. */
html[data-theme="halloween"] .login-visual:after,
html[data-theme="christmas"] .login-visual:after,
html[data-theme="newyear"] .login-visual:after{content:"";position:absolute;inset:0;pointer-events:none}
html[data-theme="halloween"] .login-visual:after{background:linear-gradient(90deg,rgba(5,4,4,.18),rgba(57,17,8,.18)),radial-gradient(circle at 75% 25%,rgba(217,71,30,.18),transparent 30%)}
html[data-theme="christmas"] .login-visual:after{background:linear-gradient(90deg,rgba(4,7,8,.20),rgba(11,45,36,.18)),radial-gradient(circle at 78% 20%,rgba(224,206,151,.13),transparent 30%)}
html[data-theme="newyear"] .login-visual:after{background:linear-gradient(90deg,rgba(4,5,8,.20),rgba(48,39,17,.16)),radial-gradient(circle at 79% 18%,rgba(217,180,91,.17),transparent 30%)}
html[data-theme="halloween"] .login-panel,
html[data-theme="christmas"] .login-panel,
html[data-theme="newyear"] .login-panel{border-color:var(--season-border);background:color-mix(in srgb,var(--season-panel) 90%,#09090b)}

/* Homepage seasonal module */
.seasonal-home{position:relative;overflow:hidden;border:1px solid var(--season-border);background:linear-gradient(135deg,color-mix(in srgb,var(--season-accent) 12%,#0a0a0c),#0b0b0e 58%,color-mix(in srgb,var(--season-accent-2) 10%,#08090a));border-radius:24px;padding:34px;display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:32px;align-items:center}
.seasonal-home:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-130px;top:-180px;background:var(--season-ambient);filter:blur(10px)}
.seasonal-home>*{position:relative}.seasonal-home h2{font-size:clamp(30px,4vw,54px);margin:7px 0 9px;line-height:.96}.seasonal-home p{max-width:690px;color:var(--season-muted);margin:0}.seasonal-home-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.seasonal-home-image{width:124px;height:86px;object-fit:cover;border-radius:14px;border:1px solid color-mix(in srgb,var(--season-accent) 30%,#27272d);box-shadow:0 14px 36px rgba(0,0,0,.28);flex:0 0 auto}
.seasonal-home-event{margin-top:18px;padding:14px 16px;border:1px solid var(--season-border);border-radius:14px;background:rgba(0,0,0,.16);display:flex;gap:14px;align-items:center;justify-content:space-between}.seasonal-home-event span{display:grid;gap:2px}.seasonal-home-event small{color:var(--season-muted);font-weight:800;letter-spacing:.08em}.seasonal-home-event b{font-size:14px}
.seasonal-countdown{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:-8px}.seasonal-countdown-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:2px}.seasonal-countdown-head b{font-size:11px;letter-spacing:.13em;color:var(--season-accent)}.seasonal-countdown-head span{font-size:11px;color:var(--season-muted)}.seasonal-countdown-cell{padding:15px 16px;border-radius:14px;border:1px solid var(--season-border);background:rgba(0,0,0,.22);display:flex;align-items:baseline;justify-content:space-between;gap:10px}.seasonal-countdown-cell strong{font-size:clamp(25px,3vw,40px);letter-spacing:-.04em}.seasonal-countdown-cell small{font-size:9px;letter-spacing:.12em;color:var(--season-muted);font-weight:900}.seasonal-countdown-complete{grid-column:1/-1;padding:18px;border:1px solid rgba(217,180,91,.28);border-radius:14px;background:rgba(217,180,91,.08);font-weight:900;letter-spacing:.07em;text-align:center}

/* Confetti generated only as a short New Year burst. */
.seasonal-confetti-burst{position:fixed;inset:0;z-index:35;pointer-events:none;overflow:hidden}.seasonal-confetti-burst i{position:absolute;top:-5%;width:6px;height:13px;border-radius:2px;background:#d9b45b;animation:pacificConfetti 2.8s ease-in forwards}.seasonal-confetti-burst i:nth-child(3n){background:#d9dce2}.seasonal-confetti-burst i:nth-child(4n){background:#c5303d}.seasonal-confetti-burst i:nth-child(5n){width:4px;height:9px}
@keyframes pacificConfetti{to{transform:translate3d(var(--confetti-x),110vh,0) rotate(720deg);opacity:.18}}

/* Master Seasonal Manager: uses existing control components, no global admin redesign. */
.seasonal-master-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-4px 0 16px;padding:12px 14px;border:1px solid #292930;border-radius:14px;background:#0d0d10}.seasonal-master-status span{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:900;letter-spacing:.08em}.seasonal-master-status i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 14px color-mix(in srgb,var(--red) 55%,transparent)}.seasonal-master-status small{color:#85858f}.seasonal-master-status .seasonal-card-actions{margin:0}
.seasonal-status-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.seasonal-theme-card{position:relative;overflow:hidden;padding:0;border-radius:18px;border:1px solid #26262d;background:#101014;min-height:244px}.seasonal-theme-card.active{border-color:color-mix(in srgb,var(--red) 60%,#333);box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 22%,transparent) inset}.seasonal-theme-preview{height:92px;background:radial-gradient(circle at 75% 20%,rgba(227,27,45,.18),transparent 38%),linear-gradient(145deg,#111114,#09090b);background-size:cover;background-position:center;position:relative}.seasonal-theme-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(7,7,9,.60))}.seasonal-theme-card[data-theme-card="halloween"] .seasonal-theme-preview{background-image:radial-gradient(circle at 78% 25%,rgba(217,71,30,.30),transparent 35%),linear-gradient(145deg,#160d09,#080607)}.seasonal-theme-card[data-theme-card="christmas"] .seasonal-theme-preview{background-image:radial-gradient(circle at 78% 24%,rgba(109,166,148,.24),transparent 35%),linear-gradient(145deg,#0a1514,#060809)}.seasonal-theme-card[data-theme-card="newyear"] .seasonal-theme-preview{background-image:radial-gradient(circle at 78% 24%,rgba(217,180,91,.28),transparent 35%),linear-gradient(145deg,#101119,#06070a)}.seasonal-theme-card-body{padding:16px}.seasonal-theme-card h3{margin:7px 0 6px;font-size:22px}.seasonal-theme-card p{color:#9797a3;font-size:12px;line-height:1.48;min-height:54px}.seasonal-theme-icon{font-size:24px}.seasonal-theme-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.seasonal-theme-meta span,.seasonal-theme-state{display:inline-flex;padding:5px 8px;border-radius:999px;background:#1b1b20;color:#aaa;font-size:9px;font-weight:900;letter-spacing:.08em}.seasonal-theme-card.active .seasonal-theme-state{background:rgba(58,195,113,.12);color:#65db96}.seasonal-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.seasonal-card-actions form{margin:0}
.seasonal-config-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px;align-items:start}.seasonal-preview{position:sticky;top:90px;border:1px solid #292930;border-radius:20px;overflow:hidden;background:#08080a}.seasonal-preview-hero{min-height:340px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--season-accent) 20%,transparent),transparent 34%),linear-gradient(180deg,#0b0b0d,#070708);background-size:cover;background-position:center;position:relative}.seasonal-preview-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.56));pointer-events:none}.seasonal-preview-hero>*{position:relative;z-index:1}.seasonal-preview[data-preview-theme="halloween"] .seasonal-preview-hero{background-image:radial-gradient(circle at 78% 22%,rgba(229,90,32,.24),transparent 32%),linear-gradient(180deg,#130d09,#070605)}.seasonal-preview[data-preview-theme="christmas"] .seasonal-preview-hero{background-image:radial-gradient(circle at 78% 20%,rgba(101,164,153,.22),transparent 34%),linear-gradient(180deg,#0b1213,#050708)}.seasonal-preview[data-preview-theme="newyear"] .seasonal-preview-hero{background-image:radial-gradient(circle at 78% 20%,rgba(217,180,91,.22),transparent 34%),linear-gradient(180deg,#101119,#050609)}.seasonal-preview small{font-weight:900;letter-spacing:.12em;color:var(--season-accent)}.seasonal-preview h2{font-size:38px;line-height:.95;margin:10px 0;white-space:pre-line}.seasonal-preview p{color:#a0a0aa}.seasonal-setting-section{padding:18px;border-top:1px solid #24242a}.seasonal-setting-section:first-child{border-top:0}.seasonal-setting-section>h3{margin:0 0 4px}.seasonal-setting-section>.muted{margin-top:0}.seasonal-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.seasonal-toggle{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #292930;border-radius:12px;background:#0d0d10}.seasonal-toggle input{accent-color:var(--red)}.seasonal-toggle span{display:grid;gap:2px}.seasonal-toggle small{color:#85858f}.seasonal-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.seasonal-asset{border:1px solid #292930;border-radius:14px;padding:12px}.seasonal-asset img,.seasonal-asset-placeholder{width:100%;height:110px;object-fit:cover;border-radius:10px;background:#08080a;margin-bottom:8px}.seasonal-asset-placeholder{display:grid;place-items:center;color:#555}.seasonal-asset input[type="file"]{max-width:100%;margin-top:8px;font-size:10px}.seasonal-asset-remove{display:block;margin-top:7px;font-size:10px;color:#888}
.seasonal-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid #24242a;border-bottom:1px solid #24242a;background:#0c0c0f}.seasonal-tab{appearance:none;border:1px solid #292930;background:#111116;color:#90909b;padding:8px 10px;border-radius:9px;font-size:10px;font-weight:900;letter-spacing:.08em;cursor:pointer}.seasonal-tab.active{border-color:color-mix(in srgb,var(--red) 42%,#333);color:#fff;background:#17171c}.seasonal-tab-panel{display:none}.seasonal-tab-panel.active{display:block}.seasonal-config-save{position:sticky;bottom:10px;z-index:4;padding:12px 18px;border-top:1px solid #292930;background:rgba(12,12,15,.94);backdrop-filter:blur(12px);display:flex;justify-content:flex-end}.seasonal-priority-note{padding:12px;border:1px solid #292930;border-radius:12px;background:#0d0d10;color:#94949f;font-size:12px;line-height:1.55}.seasonal-schedule-preset{margin-top:10px}.seasonal-field-note{display:block;color:#777781;font-size:10px;margin-top:5px}.seasonal-range-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.seasonal-range-row output{min-width:42px;text-align:right;color:#aaa;font-size:11px;font-weight:900}.seasonal-effect-count{color:#85858f;font-size:10px;margin-top:8px}

/* Small Master-only status badge. Admin layout otherwise remains unchanged. */
.seasonal-admin-indicator{display:inline-flex;align-items:center;gap:7px;margin-left:10px;padding:5px 8px;border:1px solid #2a2a31;border-radius:999px;background:#111116;color:#aaa;font-size:9px;font-weight:900;letter-spacing:.08em;vertical-align:middle}.seasonal-admin-indicator i{width:6px;height:6px;border-radius:50%;background:var(--red)}

.seasonal-decoration-image{position:fixed;right:0;bottom:0;width:min(28vw,420px);max-height:48vh;object-fit:contain;object-position:right bottom;opacity:.14;pointer-events:none;filter:saturate(.8);z-index:1}

@media(max-width:1120px){.seasonal-status-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px){.seasonal-config-grid{grid-template-columns:1fr}.seasonal-preview{position:relative;top:auto}.seasonal-assets{grid-template-columns:1fr 1fr}.seasonal-home{grid-template-columns:1fr}.seasonal-home-actions{justify-content:flex-start}.seasonal-countdown{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.seasonal-decoration-image{width:44vw;opacity:.09}.seasonal-home-image{width:100%;height:150px}.seasonal-home{align-items:stretch}.seasonal-lights{top:58px;opacity:.34}.seasonal-moon{transform:scale(.65);transform-origin:top right}.seasonal-canvas{opacity:.58}}
@media(max-width:640px){.seasonal-announcement{align-items:flex-start;flex-direction:column;gap:5px;padding:10px 16px}.seasonal-announcement div{display:block}.seasonal-announcement span{display:block;margin-top:3px}.seasonal-home{padding:24px}.seasonal-assets,.seasonal-toggle-grid,.seasonal-status-board{grid-template-columns:1fr}.seasonal-countdown{grid-template-columns:1fr 1fr}.seasonal-countdown-head{align-items:flex-start;flex-direction:column;gap:3px}.seasonal-master-status{align-items:flex-start;flex-direction:column}.seasonal-theme-card p{min-height:auto}}
@media(max-width:420px){.seasonal-countdown{grid-template-columns:1fr}.seasonal-home-event{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.seasonal-bats i,.seasonal-lights i,.seasonal-fog,.seasonal-smoke,.seasonal-sparkles i{animation:none!important}.seasonal-bats{display:none}.seasonal-canvas{display:none}.seasonal-confetti-burst{display:none}}

/* Broader standard-component support, still only while a public seasonal theme is active. */
html[data-theme="halloween"] :is(.nav-more-menu,.mobile-nav,.profile-menu-menu,.notification-popover,.modal,.dialog,.toast,.table-wrap),
html[data-theme="christmas"] :is(.nav-more-menu,.mobile-nav,.profile-menu-menu,.notification-popover,.modal,.dialog,.toast,.table-wrap),
html[data-theme="newyear"] :is(.nav-more-menu,.mobile-nav,.profile-menu-menu,.notification-popover,.modal,.dialog,.toast,.table-wrap){
  border-color:var(--season-border);
  background:color-mix(in srgb,var(--season-panel) 94%,#08080a);
}
html[data-theme="halloween"] :is(table,thead,tbody,tr,th,td),
html[data-theme="christmas"] :is(table,thead,tbody,tr,th,td),
html[data-theme="newyear"] :is(table,thead,tbody,tr,th,td){border-color:var(--season-border)}
html[data-theme="halloween"] body.season-section-decor-on .section+ .section,
html[data-theme="christmas"] body.season-section-decor-on .section+ .section,
html[data-theme="newyear"] body.season-section-decor-on .section+ .section{position:relative}
html[data-theme="halloween"] body.season-section-decor-on .section+ .section:before,
html[data-theme="christmas"] body.season-section-decor-on .section+ .section:before,
html[data-theme="newyear"] body.season-section-decor-on .section+ .section:before{
  content:"";position:absolute;left:50%;top:0;width:min(520px,70vw);height:1px;translate:-50% 0;background:linear-gradient(90deg,transparent,var(--season-accent),transparent);opacity:.16;pointer-events:none
}
html[data-theme="halloween"] body>main,
html[data-theme="christmas"] body>main,
html[data-theme="newyear"] body>main{animation:seasonPageIn .22s ease-out both}
@keyframes seasonPageIn{from{opacity:.92;transform:translateY(2px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html[data-theme="halloween"] body>main,html[data-theme="christmas"] body>main,html[data-theme="newyear"] body>main{animation:none}}

/* Visual component preview inside Theme Manager only. */
.seasonal-preview-components{padding:16px;border-top:1px solid #24242a;display:grid;gap:10px}.seasonal-preview-mini-nav,.seasonal-preview-mini-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #292930;border-radius:11px;background:#0d0d10;font-size:9px;font-weight:900;letter-spacing:.08em}.seasonal-preview-mini-nav b,.seasonal-preview-mini-footer b{color:var(--season-accent)}.seasonal-preview-mini-card{padding:14px;border:1px solid color-mix(in srgb,var(--season-accent) 26%,#292930);border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--season-accent) 7%,#101014),#09090b)}.seasonal-preview-mini-card small{display:block;color:var(--season-accent);font-weight:900;letter-spacing:.08em;margin-bottom:5px}.seasonal-preview-mini-card b{font-size:14px}.seasonal-preview-mini-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.seasonal-preview-mini-button{padding:7px 9px;border-radius:8px;border:1px solid #303038;font-size:9px;font-weight:900}.seasonal-preview-mini-button.primary{background:var(--season-accent);border-color:var(--season-accent);color:#fff}.seasonal-preview-mini-login{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #292930;border-radius:11px;background:#0c0c0f}.seasonal-preview-mini-login span{display:grid;gap:2px}.seasonal-preview-mini-login small{color:#85858f}.seasonal-preview-mini-login i{width:28px;height:28px;border-radius:8px;background:var(--season-accent);opacity:.85}

/* =========================================================
   V2.1 – STRONGER SEASONAL CHROME / NAV + EXTRA ATMOSPHERE
   IMPORTANT: All selectors remain theme-scoped. NORMAL is untouched.
   ========================================================= */

/* The public topbar always follows the active seasonal theme.
   nav_decorations still controls optional decorative extras, not the base theme. */
html[data-theme="halloween"] .site-nav,
html[data-theme="christmas"] .site-nav,
html[data-theme="newyear"] .site-nav{
  position:relative;
  isolation:isolate;
  overflow:visible;
  border-bottom-color:var(--season-border);
  backdrop-filter:blur(20px) saturate(1.18);
  -webkit-backdrop-filter:blur(20px) saturate(1.18);
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
html[data-theme="halloween"] .site-nav{
  background:
    radial-gradient(circle at 18% -55%,rgba(225,77,28,.24),transparent 34%),
    radial-gradient(circle at 78% -80%,rgba(111,24,18,.22),transparent 37%),
    linear-gradient(180deg,rgba(25,10,7,.985) 0%,rgba(12,7,7,.975) 58%,rgba(7,6,7,.965) 100%);
  border-bottom-color:rgba(224,82,30,.24);
  box-shadow:0 10px 36px rgba(35,8,4,.22),inset 0 -1px 0 rgba(235,102,38,.06);
}
html[data-theme="christmas"] .site-nav{
  background:
    radial-gradient(circle at 14% -70%,rgba(196,48,60,.17),transparent 31%),
    radial-gradient(circle at 82% -62%,rgba(49,113,91,.22),transparent 34%),
    linear-gradient(180deg,rgba(6,18,18,.988) 0%,rgba(5,13,14,.978) 58%,rgba(5,9,11,.97) 100%);
  border-bottom-color:rgba(149,197,184,.20);
  box-shadow:0 10px 38px rgba(0,20,17,.22),inset 0 -1px 0 rgba(226,246,239,.045);
}
html[data-theme="newyear"] .site-nav{
  background:
    radial-gradient(circle at 17% -70%,rgba(213,43,58,.13),transparent 30%),
    radial-gradient(circle at 78% -72%,rgba(217,180,91,.23),transparent 35%),
    linear-gradient(180deg,rgba(10,11,22,.99) 0%,rgba(7,8,16,.98) 56%,rgba(5,6,11,.97) 100%);
  border-bottom-color:rgba(217,180,91,.22);
  box-shadow:0 10px 40px rgba(4,5,12,.28),inset 0 -1px 0 rgba(250,222,155,.05);
}

/* Theme-colored nav indicator + link glow. */
html[data-theme="halloween"] .desktop-nav a.active:after,
html[data-theme="halloween"] .nav-more.active>summary:after,
html[data-theme="christmas"] .desktop-nav a.active:after,
html[data-theme="christmas"] .nav-more.active>summary:after,
html[data-theme="newyear"] .desktop-nav a.active:after,
html[data-theme="newyear"] .nav-more.active>summary:after{
  background:var(--season-accent);
  box-shadow:0 0 14px color-mix(in srgb,var(--season-accent) 40%,transparent);
}
html[data-theme="halloween"] .site-nav :is(.brand,.desktop-nav a,.nav-more>summary,.nav-right),
html[data-theme="christmas"] .site-nav :is(.brand,.desktop-nav a,.nav-more>summary,.nav-right),
html[data-theme="newyear"] .site-nav :is(.brand,.desktop-nav a,.nav-more>summary,.nav-right){position:relative;z-index:2}

/* Optional nav decorations become richer while the base themed nav remains on. */
html[data-theme="halloween"] body.season-nav-on .site-nav:before{
  content:"";
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:
    linear-gradient(108deg,transparent 0 37%,rgba(230,84,31,.055) 45%,transparent 54%),
    radial-gradient(circle at 68% 0,rgba(133,40,20,.12),transparent 30%);
  background-size:220% 100%,100% 100%;
  animation:halloweenNavDrift 14s ease-in-out infinite alternate;
}
html[data-theme="newyear"] body.season-nav-on .site-nav:before{
  content:"";
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:linear-gradient(108deg,transparent 0 40%,rgba(245,215,139,.075) 48%,rgba(255,255,255,.025) 50%,transparent 58%);
  background-size:240% 100%;
  animation:newYearNavShine 10s ease-in-out infinite;
}
@keyframes halloweenNavDrift{from{background-position:0 0,0 0}to{background-position:100% 0,0 0}}
@keyframes newYearNavShine{0%,45%{background-position:115% 0}70%,100%{background-position:-105% 0}}

/* Keep the Christmas light string, but integrate it into the themed bar instead of a black bar. */
html[data-theme="christmas"] body.season-nav-on.season-lights-on .site-nav:before{
  content:"";
  position:absolute;left:4%;right:4%;top:0;height:3px;z-index:1;pointer-events:none;
  background:repeating-linear-gradient(90deg,
    rgba(255,229,156,.86) 0 3px,transparent 3px 30px,
    rgba(204,52,67,.84) 30px 33px,transparent 33px 60px,
    rgba(90,153,124,.82) 60px 63px,transparent 63px 90px);
  filter:drop-shadow(0 0 6px rgba(255,229,156,.28));
  opacity:.75;
  animation:christmasTopTwinkle 3.2s ease-in-out infinite alternate;
}
@keyframes christmasTopTwinkle{from{filter:drop-shadow(0 0 3px rgba(255,229,156,.18));opacity:.52}to{filter:drop-shadow(0 0 8px rgba(255,229,156,.34));opacity:.88}}

/* Stronger atmospheric layer – still subtle enough to keep Pacific readable. */
.seasonal-halloween.effect-ambient .seasonal-ambient:before,
.seasonal-halloween.effect-ambient .seasonal-ambient:after,
.seasonal-christmas.effect-ambient .seasonal-ambient:before,
.seasonal-christmas.effect-ambient .seasonal-ambient:after,
.seasonal-newyear.effect-ambient .seasonal-ambient:before,
.seasonal-newyear.effect-ambient .seasonal-ambient:after{
  content:"";position:absolute;inset:-12%;pointer-events:none;will-change:transform,opacity;
}
.seasonal-halloween.effect-ambient .seasonal-ambient:before{
  background:radial-gradient(ellipse at 74% 16%,rgba(235,81,27,.13),transparent 30%),radial-gradient(ellipse at 19% 72%,rgba(93,31,87,.08),transparent 30%);
  filter:blur(18px);animation:halloweenAmbientPulse 9s ease-in-out infinite alternate;
}
.seasonal-halloween.effect-ambient .seasonal-ambient:after{
  background:linear-gradient(118deg,transparent 32%,rgba(130,46,21,.045) 48%,transparent 64%);
  background-size:190% 100%;animation:halloweenAmbientSweep 18s linear infinite;
}
@keyframes halloweenAmbientPulse{from{opacity:.58;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}
@keyframes halloweenAmbientSweep{from{background-position:140% 0}to{background-position:-140% 0}}

.seasonal-christmas.effect-ambient .seasonal-ambient:before{
  background:
    radial-gradient(ellipse at 18% 17%,rgba(105,173,165,.10),transparent 31%),
    radial-gradient(ellipse at 78% 12%,rgba(226,201,139,.075),transparent 27%),
    radial-gradient(ellipse at 52% 82%,rgba(34,103,78,.075),transparent 33%);
  filter:blur(22px);animation:christmasAurora 16s ease-in-out infinite alternate;
}
.seasonal-christmas.effect-ambient .seasonal-ambient:after{
  inset:auto -10% 0 -10%;height:20vh;
  background:linear-gradient(180deg,transparent,rgba(196,222,217,.025) 55%,rgba(221,237,234,.055));
  filter:blur(7px);animation:christmasGroundGlow 8s ease-in-out infinite alternate;
}
@keyframes christmasAurora{from{opacity:.45;transform:translate3d(-2%,0,0) scale(1.01)}to{opacity:.9;transform:translate3d(2%,-1%,0) scale(1.06)}}
@keyframes christmasGroundGlow{from{opacity:.45}to{opacity:.9}}

.seasonal-newyear.effect-ambient .seasonal-ambient:before{
  background:
    conic-gradient(from 205deg at 78% 6%,transparent 0 7deg,rgba(229,197,119,.055) 9deg 12deg,transparent 14deg 25deg,rgba(213,46,61,.025) 27deg 30deg,transparent 32deg),
    radial-gradient(circle at 80% 8%,rgba(236,202,119,.12),transparent 29%);
  filter:blur(4px);transform-origin:78% 6%;animation:newYearLightFan 18s ease-in-out infinite alternate;
}
.seasonal-newyear.effect-ambient .seasonal-ambient:after{
  background:linear-gradient(112deg,transparent 36%,rgba(255,237,190,.035) 48%,transparent 60%);
  background-size:210% 100%;animation:newYearAmbientSweep 12s ease-in-out infinite;
}
@keyframes newYearLightFan{from{opacity:.45;transform:rotate(-2deg) scale(1)}to{opacity:.86;transform:rotate(3deg) scale(1.04)}}
@keyframes newYearAmbientSweep{0%,35%{background-position:130% 0}70%,100%{background-position:-130% 0}}

/* Halloween gets a slightly more alive moon and deeper fog when the related effects are enabled. */
.seasonal-halloween .seasonal-moon{animation:halloweenMoonBreath 10s ease-in-out infinite alternate}
.seasonal-halloween.effect-fog .seasonal-fog{opacity:.34}
.seasonal-halloween.effect-smoke .seasonal-smoke{opacity:.18}
@keyframes halloweenMoonBreath{from{opacity:.44;box-shadow:0 0 38px rgba(222,111,47,.025)}to{opacity:.68;box-shadow:0 0 78px rgba(222,111,47,.06)}}

/* Christmas frost/glow follows the active theme without covering content. */
html[data-theme="christmas"] body.season-nav-on .site-nav{
  text-shadow:0 0 18px rgba(199,229,221,.025);
}
html[data-theme="christmas"] body.season-footer-on .site-footer{
  box-shadow:inset 0 1px 0 rgba(205,231,223,.035),0 -18px 52px rgba(16,66,53,.06);
}

/* New Year adds occasional gold/silver glints to chrome and cards, not constant confetti. */
html[data-theme="newyear"] body.season-card-decor-on :is(.card,.home-card,.feature-card){
  position:relative;overflow:hidden;
}
html[data-theme="newyear"] body.season-card-decor-on :is(.card,.home-card,.feature-card):after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 0 43%,rgba(255,236,184,.035) 49%,transparent 55%);
  background-size:260% 100%;background-position:120% 0;opacity:.65;
  animation:newYearCardGlint 13s ease-in-out infinite;
}
@keyframes newYearCardGlint{0%,58%{background-position:120% 0}78%,100%{background-position:-120% 0}}

/* Mobile keeps the atmosphere but lowers GPU/visual load. */
@media(max-width:760px){
  html[data-theme="halloween"] .site-nav,
  html[data-theme="christmas"] .site-nav,
  html[data-theme="newyear"] .site-nav{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
  .seasonal-halloween.effect-ambient .seasonal-ambient:after,
  .seasonal-newyear.effect-ambient .seasonal-ambient:after{opacity:.5}
}

@media(prefers-reduced-motion:reduce){
  html[data-theme="halloween"] body.season-nav-on .site-nav:before,
  html[data-theme="christmas"] body.season-nav-on.season-lights-on .site-nav:before,
  html[data-theme="newyear"] body.season-nav-on .site-nav:before,
  .seasonal-halloween.effect-ambient .seasonal-ambient:before,
  .seasonal-halloween.effect-ambient .seasonal-ambient:after,
  .seasonal-christmas.effect-ambient .seasonal-ambient:before,
  .seasonal-christmas.effect-ambient .seasonal-ambient:after,
  .seasonal-newyear.effect-ambient .seasonal-ambient:before,
  .seasonal-newyear.effect-ambient .seasonal-ambient:after,
  .seasonal-halloween .seasonal-moon,
  html[data-theme="newyear"] body.season-card-decor-on :is(.card,.home-card,.feature-card):after{animation:none!important}
}

/* ==========================================================================\n   V2.2 — Transparent seasonal topbar\n   Keep the original black navigation in NORMAL. When a seasonal theme is\n   active, the navigation becomes transparent so the active theme atmosphere\n   continues behind/through the bar. Theme identity remains in borders,\n   indicators and optional decorations — never as an opaque replacement bar.\n   ========================================================================== */
html[data-theme="halloween"] .site-nav,
html[data-theme="christmas"] .site-nav,
html[data-theme="newyear"] .site-nav{
  background:transparent;
  backdrop-filter:blur(18px) saturate(1.12);
  -webkit-backdrop-filter:blur(18px) saturate(1.12);
}

html[data-theme="halloween"] .site-nav{
  border-bottom-color:rgba(224,82,30,.24);
  box-shadow:0 10px 34px rgba(35,8,4,.10),inset 0 -1px 0 rgba(235,102,38,.055);
}
html[data-theme="christmas"] .site-nav{
  border-bottom-color:rgba(149,197,184,.20);
  box-shadow:0 10px 34px rgba(0,20,17,.09),inset 0 -1px 0 rgba(226,246,239,.04);
}
html[data-theme="newyear"] .site-nav{
  border-bottom-color:rgba(217,180,91,.22);
  box-shadow:0 10px 36px rgba(4,5,12,.11),inset 0 -1px 0 rgba(250,222,155,.045);
}

/* Decorations may tint/light the bar, but they stay transparent overlays. */
html[data-theme="halloween"] body.season-nav-on .site-nav:before,
html[data-theme="newyear"] body.season-nav-on .site-nav:before{
  mix-blend-mode:screen;
  opacity:.72;
}
html[data-theme="christmas"] body.season-nav-on.season-lights-on .site-nav:before{
  background-color:transparent;
}
\n\n/* ==========================================================================\n   V2.4 — Christmas Eve countdown\n   Only exists while the Christmas theme is active. NORMAL and other themes\n   keep their existing layout/UI untouched.\n   ========================================================================== */\nhtml[data-theme="christmas"] .christmas-countdown-section{\n  position:relative;z-index:4;padding:22px 0 0;\n}\nhtml[data-theme="christmas"] .christmas-countdown{\n  position:relative;overflow:hidden;margin:0;padding:17px 18px 18px;\n  border:1px solid rgba(190,224,212,.18);border-radius:18px;\n  background:\n    radial-gradient(circle at 88% -15%,rgba(224,206,151,.13),transparent 31%),\n    radial-gradient(circle at 7% 120%,rgba(36,88,69,.20),transparent 34%),\n    linear-gradient(135deg,rgba(8,18,17,.86),rgba(6,10,12,.80));\n  box-shadow:0 16px 48px rgba(0,0,0,.20),inset 0 1px 0 rgba(235,247,242,.035);\n  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);\n}\nhtml[data-theme="christmas"] .christmas-countdown:before{\n  content:"";position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;\n  background:linear-gradient(90deg,transparent,rgba(214,177,101,.42),rgba(200,47,60,.36),transparent);\n}\nhtml[data-theme="christmas"] .christmas-countdown .seasonal-countdown-head,\nhtml[data-theme="christmas"] .christmas-countdown .seasonal-countdown-cell{position:relative;z-index:1}\nhtml[data-theme="christmas"] .christmas-countdown .seasonal-countdown-head b{\n  color:#e0c98e;text-shadow:0 0 18px rgba(224,201,142,.10);\n}\nhtml[data-theme="christmas"] .christmas-countdown .seasonal-countdown-head span{color:#94aaa4}\nhtml[data-theme="christmas"] .christmas-countdown .seasonal-countdown-cell{\n  border-color:rgba(177,213,201,.13);\n  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.16));\n}\nhtml[data-theme="christmas"] .christmas-countdown .seasonal-countdown-cell strong{\n  color:#f5f7f6;text-shadow:0 0 24px rgba(216,235,228,.07);\n}\nhtml[data-theme="christmas"] .christmas-countdown .seasonal-countdown-cell small{color:#8fa49e}\nhtml[data-theme="christmas"] .christmas-countdown .seasonal-countdown-complete{\n  border-color:rgba(204,179,111,.24);\n  background:linear-gradient(135deg,rgba(38,91,71,.18),rgba(190,44,58,.10));\n  color:#f3e3b6;\n}\n@media(max-width:640px){\n  html[data-theme="christmas"] .christmas-countdown-section{padding-top:16px}\n  html[data-theme="christmas"] .christmas-countdown{padding:15px}\n}\n