.season-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:56px;border-bottom:1px solid #ffffff18;padding-block:10px}
.refresh-notice{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:10px;border-bottom:1px solid var(--season-border,#ffffff18)}
.refresh-notice p{margin:0;font-size:11px;line-height:1.6;color:var(--season-muted,#cbb8d3)}
.refresh-notice #update-status{font-size:10px;margin-top:4px;color:var(--season-accent,#ffc0d8)}
.refresh-notice #update-status:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:7px;vertical-align:middle}
.refresh-notice button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;padding:9px 14px;border:1px solid var(--season-border,#ffffff28);border-radius:4px;background:var(--season-panel,#24192e);color:var(--season-accent,#ffc0d8);font-size:11px;font-weight:700}
.refresh-notice button:hover{background:var(--season-raised,#39273f);border-color:var(--season-accent,#ffc0d8)}
@media(max-width:600px){.refresh-notice{gap:12px}.refresh-notice p{font-size:10px}.refresh-notice button{padding-inline:11px}}
.season-banner{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.7px;color:var(--season-accent,#ffc0d8);font-weight:700;line-height:1.6}
#season-icon{display:flex;align-items:center;flex-shrink:0}#season-icon svg{width:28px;height:28px}
.theme-picker{display:flex;align-items:center;gap:9px;margin-left:auto;font-size:10px;color:#cbb8d3}.theme-picker select{background:#24192e;border:1px solid #ffffff28;color:#fbeaf4;border-radius:4px;padding:8px 10px;max-width:190px;min-height:36px;font-size:11px}
:root[data-season=halloween]{--season-accent:#ffb267;--season-soft:#ffd4b0;--season-tint:#ff873c26;--season-glow:#ff9c5220;--pink:#ffba83}
:root[data-season=autumn]{--season-accent:#eeb181;--season-soft:#f5dac5;--season-tint:#c37a3d1e;--season-glow:#c6915220;--pink:#eeb181}
:root[data-season=winter]{--season-accent:#b9ddf9;--season-soft:#e3f1fc;--season-tint:#95caff1c;--season-glow:#65afff20;--pink:#b9ddf9}
:root[data-season=spring]{--season-accent:#cbd9a1;--season-soft:#ebf1d6;--season-tint:#b7cf831c;--season-glow:#b0d28120;--pink:#d1dfaf}
:root[data-season=summer]{--season-accent:#7fe0d5;--season-soft:#c7f1e9;--season-tint:#5ce6ce1b;--season-glow:#67efd120;--pink:#a1e4dc}
:root[data-season=holiday]{--season-accent:#e4c58b;--season-soft:#fff0cf;--season-tint:#d0a75f24;--season-glow:#edbf6220;--pink:#e4c58b}
:root[data-season=newyear]{--season-accent:#f2d6a2;--season-soft:#fff5de;--season-tint:#e7c78125;--season-glow:#ffe18c20;--pink:#f2d6a2}
:root:not([data-season=classic]) .creator-strip{border-bottom-color:var(--season-tint)}
:root:not([data-season=classic]) .scene:after{background:radial-gradient(ellipse at 50% 45%,var(--season-tint),#1a15272e 70%)}
:root:not([data-season=classic]) .release-badge{border-color:var(--season-accent);color:var(--season-soft);background:var(--season-tint)}
:root:not([data-season=classic]) .seconds .number,:root:not([data-season=classic]) .wait-progress-heading strong,:root:not([data-season=classic]) .tube-numbers strong{color:var(--season-accent)}
:root:not([data-season=classic]) .wait-progress-track>span{background:linear-gradient(90deg,#a77ac9,var(--season-accent),var(--season-soft))}
:root:not([data-season=classic]) .primary,:root:not([data-season=classic]) .community-button,:root:not([data-season=classic]) .preorder-store-featured{background:var(--season-accent);border-color:var(--season-accent);color:#25152b}
:root:not([data-season=classic]) .tube-panel{background:radial-gradient(ellipse at 15% 100%,var(--season-glow),transparent 60%),#201726}
:root:not([data-season=classic]) .tube-fill{background:linear-gradient(0deg,var(--season-accent),#c897ef)}
:root:not([data-season=classic]) .tube-percent-line strong{color:var(--season-accent);background:var(--season-tint);border-color:var(--season-tint)}
:root[data-season=halloween] .scene{filter:saturate(.88)}
.launch-open .season-decor{display:none!important}
.hero{isolation:isolate}
.season-decor{position:absolute;inset:0 0 auto;height:390px;overflow:hidden;pointer-events:none;z-index:-1;contain:layout paint;display:block}
:root[data-season=classic] .season-decor{display:none}
.season-defs{position:absolute;width:0;height:0;overflow:hidden}
.season-vignette{position:absolute;top:16px;width:clamp(150px,23vw,260px);height:auto;opacity:.85;overflow:visible}
.season-vignette-left{left:0;transform:rotate(-4deg)}
.season-vignette-right{right:0;transform:rotate(5deg)}
:root[data-season=autumn] .season-vignette-right,:root[data-season=spring] .season-vignette-right,:root[data-season=winter] .season-vignette-right{transform:scaleX(-1) rotate(-4deg)}
.season-haze{position:absolute;inset:0;background:radial-gradient(ellipse at 9% 35%,var(--season-glow),transparent 33%),radial-gradient(ellipse at 92% 65%,var(--season-tint),transparent 35%);animation:season-breathe 9s ease-in-out infinite alternate}
.season-float{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:.65;animation:season-drift var(--duration) ease-in-out var(--delay) infinite alternate}
.season-float svg{width:100%;height:100%;overflow:visible;animation:season-turn calc(var(--duration)*1.4) ease-in-out var(--delay) infinite alternate}
:root[data-season=halloween] .season-float:nth-of-type(3n+1){color:#241529!important;opacity:.85}
:root[data-season=halloween] .scene{filter:saturate(.9);background-color:#30172d}
:root[data-season=winter] .season-float,:root[data-season=holiday] .season-float{animation-name:season-snow;animation-timing-function:linear;animation-direction:normal}
:root[data-season=autumn] .season-float{animation-name:season-leaf;animation-timing-function:linear;animation-direction:normal}
:root[data-season=newyear] .season-float{animation-name:season-leaf;animation-duration:calc(var(--duration)*1.4);animation-direction:normal}
.season-firework{transform-box:fill-box;transform-origin:center;animation:season-firework 8s ease-in-out infinite alternate}
.season-vignette-right .season-firework{animation-delay:-4s}
.season-lights{position:absolute;top:4px;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-around;height:28px;border-top:1px solid #d4c89566;border-radius:0 0 50% 50%}
.season-lights i{position:relative;width:5px;height:9px;border-radius:2px 2px 50% 50%;background:var(--bulb);box-shadow:0 2px 13px var(--bulb);animation:season-bulb 5s ease-in-out var(--delay) infinite alternate}
.season-lights i:nth-child(2n){margin-top:8px}.season-lights i:before{content:'';position:absolute;bottom:100%;left:2px;height:9px;border-left:1px solid #d4c89577}
:root:not([data-season=classic]) .season-toolbar{border-image:linear-gradient(90deg,var(--season-accent),#ffffff16,var(--season-accent)) 1}
:root:not([data-season=classic]) .world-section{background:radial-gradient(ellipse at 85% 0,var(--season-glow),transparent 65%),linear-gradient(150deg,#20172977,#18131f)}
:root:not([data-season=classic]) .music-card{border-color:var(--season-tint);background:radial-gradient(ellipse at 95% 10%,var(--season-glow),transparent 55%),#241b2d}
.season-paused *,.season-offscreen *{animation-play-state:paused!important}
@keyframes season-drift{from{transform:translate3d(-7px,-10px,0)}to{transform:translate3d(12px,20px,0)}}
@keyframes season-turn{from{transform:rotate(calc(var(--tilt)*-1))}to{transform:rotate(var(--tilt))}}
@keyframes season-breathe{from{opacity:.45}to{opacity:1}}
@keyframes season-snow{0%{transform:translate3d(-12px,-110px,0);opacity:0}15%,80%{opacity:.65}100%{transform:translate3d(28px,140px,0);opacity:0}}
@keyframes season-leaf{0%{transform:translate3d(-24px,-90px,0) rotate(-24deg);opacity:0}15%,80%{opacity:.75}100%{transform:translate3d(20px,145px,0) rotate(100deg);opacity:0}}
@keyframes season-firework{from{opacity:.2;scale:.78}to{opacity:.9;scale:1}}
@keyframes season-bulb{from{opacity:.45}to{opacity:1}}
@media(max-width:760px){.season-decor{height:350px}.season-vignette{width:155px;top:12px;opacity:.65}.season-vignette-left{left:-38px}.season-vignette-right{right:-38px}.season-float{width:calc(var(--size)*.75);height:calc(var(--size)*.75)}.season-float:nth-of-type(n+17){display:none}.season-float:nth-of-type(2n){left:90%}.season-float:nth-of-type(2n+1){left:3%}.season-haze{opacity:.6}}
@media(max-width:420px){.season-vignette{width:128px;top:18px}.season-vignette-left{left:-38px}.season-vignette-right{right:-38px}.season-lights i:nth-child(2n){display:none}}
@media(prefers-reduced-motion:reduce){.season-decor *{animation:none!important}.season-float{opacity:.45}.season-firework{opacity:.65}}
@media(max-width:600px){.season-toolbar{gap:8px;align-items:center}.season-banner{font-size:8px;letter-spacing:.7px;gap:6px;max-width:56%}#season-icon svg{width:24px;height:24px}.theme-picker{gap:5px}.theme-picker>span{display:none}.theme-picker select{font-size:10px;max-width:135px}}

/* Brand colours stay original in every season. The pumpkin is a separate ornament. */
.brand{color:#fff9f2}
.logo-pumpkin{display:none;flex:0 0 48px;width:48px;height:48px;align-self:flex-end;margin-bottom:14px;pointer-events:none}
.logo-pumpkin svg{display:block;width:100%;height:100%}
:root[data-season=halloween] .logo-pumpkin{display:block}
:root[data-season=halloween] .game-mark{gap:12px}
:root[data-season=halloween] .game-logo{min-width:0;max-width:calc(100% - 60px);flex:0 1 auto}
@media(max-width:600px){.logo-pumpkin{flex-basis:34px;width:34px;height:34px;margin-bottom:14px}:root[data-season=halloween] .game-mark{gap:8px}:root[data-season=halloween] .game-logo{max-width:calc(100% - 42px)}}

.season-toolbar{flex-wrap:wrap;row-gap:4px}.theme-help{flex-basis:100%;margin:0;padding-bottom:4px;text-align:right;font-size:10px;line-height:1.6;color:var(--season-muted,#cbb8d3)}
@media(max-width:600px){.theme-help{text-align:left;font-size:10px}.theme-picker select{max-width:160px}}
