/* Seasonal presentation only. No game sizes, controls, input or physics overrides. */
body.arena-ui.season-halloween{background-color:#0b0b12;background-image:radial-gradient(ellipse at 0 12%,#7e3e1515,transparent 42%),radial-gradient(ellipse at 100% 62%,#61379519,transparent 46%);background-attachment:scroll}
body.arena-ui.season-halloween .competition-mobile-nav{border-top-color:#b7794345;background-color:#100e17}
body.arena-ui.season-halloween .site-footer{background:linear-gradient(180deg,#110d17,#090b12);border-top-color:#ba81443d}
body.arena-ui.season-halloween .site-footer-group h2{color:#dab789}
/* Seasonal action palette, shared across public pages. Gameplay and destructive,
   secondary or disabled controls retain their established semantic treatments. */
body.arena-ui.season-halloween{--season-action:#dfa65d;--season-action-hover:#efba77;--season-action-ink:#21140c;--season-action-edge:#f4c68a;--season-action-base:#6d4323}
:root body.arena-ui.season-halloween :is(.site-content,.discovery-toast,.onboarding-dialog,.feedback-dialog) :is(.button:not(.secondary):not(.danger):not(.destructive):not([disabled]):not([aria-disabled="true"]),.arena-primary-action){background:var(--season-action)!important;color:var(--season-action-ink)!important;border-color:var(--season-action-edge)!important;box-shadow:inset 0 1px #fff0c94d,0 3px 0 var(--season-action-base)!important;text-shadow:none!important}
:root body.arena-ui.season-halloween :is(.site-content,.discovery-toast,.onboarding-dialog,.feedback-dialog) :is(.button:not(.secondary):not(.danger):not(.destructive):not([disabled]):not([aria-disabled="true"]),.arena-primary-action):hover{background:var(--season-action-hover)!important;border-color:#ffe0ad!important;box-shadow:inset 0 1px #fff4d966,0 3px 0 var(--season-action-base)!important}
:root body.arena-ui.season-halloween :is(.site-content,.discovery-toast,.onboarding-dialog,.feedback-dialog) :is(.button,.arena-primary-action):focus-visible{outline:2px solid #ffe0ad!important;outline-offset:4px}
:root body.arena-ui.season-halloween :is(.site-content,.discovery-toast,.onboarding-dialog,.feedback-dialog) :is(.button:not(.secondary):not(.danger):not(.destructive):not([disabled]):not([aria-disabled="true"]),.arena-primary-action):active{box-shadow:inset 0 1px #fff0c92b,0 1px 0 var(--season-action-base)!important}
.season-trail{display:flex;align-items:center;gap:10px;max-width:1400px;margin:0 auto;padding:0 28px;min-height:58px;box-sizing:border-box;background:linear-gradient(90deg,#8b491014,transparent 65%);border-bottom:1px solid #bb85432b}
.season-trail img{width:72px;height:48px;object-fit:contain;pointer-events:none}
/* Discovery keeps its real feature icons and controls; seasonal art is secondary. */
body.season-halloween .discovery-toast{background:linear-gradient(135deg,#281b27,#14121e 70%);border-color:#a5734680;box-shadow:0 12px 38px #0007}
body.arena-ui.season-halloween .discovery-toast .eyebrow{color:#efbc81;display:inline-flex;align-items:center;gap:8px}
body.season-halloween .discovery-toast .eyebrow:before{content:"";width:36px;height:36px;flex:none;background:url('/assets/images/seasonal/halloween-pumpkin-2026.webp') center/contain no-repeat}
body.arena-ui.season-halloween .discovery-icon{background:#2c1d29;border-color:#9c704d;color:#edc090}
body.season-halloween .discovery-toast-footer,body.season-halloween .discovery-list article{border-color:#a679493b}
body.season-halloween .discovery-library>header{position:relative;padding-right:125px;max-width:900px}
body.season-halloween .discovery-library>header:after{content:"";position:absolute;right:0;bottom:0;width:125px;height:140px;background:url('/assets/images/seasonal/halloween-candles-2026.webp') center/contain no-repeat;pointer-events:none}
body.season-halloween .discovery-preference{border-color:#a6794944;background:linear-gradient(90deg,#a26b1410,transparent)}
@media(max-width:600px){body.season-halloween .discovery-library>header{padding-right:0;padding-top:12px}body.season-halloween .discovery-library>header:after{width:64px;height:64px;top:-12px;bottom:auto}body.season-halloween .discovery-library>header>.eyebrow{padding-right:74px}}
.season-trail a{display:inline-flex;gap:18px;align-items:center;min-height:44px;color:#e5ba85;font-size:.75rem;letter-spacing:.06em;text-decoration:none}
.season-trail a:focus-visible{outline:2px solid #f3b46d;outline-offset:3px}
.season-farewell{position:relative;z-index:1;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:24px;max-width:1344px;margin:18px auto 0;padding:0 28px;pointer-events:none}
.season-farewell img{width:200px;height:133px;object-fit:contain;flex:none}
.season-farewell span{height:1px;max-width:440px;flex:1;background:linear-gradient(90deg,transparent,#bd804140)}
.season-farewell span:last-child{transform:scaleX(-1)}
/* Artwork occupies reserved section space, never text or controls. */
body.arena-ui.home-page.season-halloween .arena-games-intro{position:relative;padding-top:42px;border-top-color:#bc81483b}
body.arena-ui.home-page.season-halloween .arena-games-intro:after{content:"";width:110px;height:110px;background:url('/assets/images/seasonal/halloween-pumpkin-2026.webp') center/contain no-repeat;position:absolute;right:0;top:12px;pointer-events:none}
body.arena-ui.home-page.season-halloween .arena-games-intro>p{padding-right:155px;box-sizing:border-box}
body.arena-ui.home-page.season-halloween .arena-standings{background:radial-gradient(ellipse at 5% 80%,#a65d1819,transparent 62%);border-block:1px solid #c3914d25;padding-block:42px}
body.arena-ui.home-page.season-halloween .home-fair-play{border-top:1px solid #aa81492a}
body.arena-ui.home-page.season-halloween .arena-progression-world{border-color:#b779433b;background-color:#15111b}
body.arena-ui.home-page.season-halloween .arena-progression-world:before{opacity:.68}
body.arena-ui.home-page.season-halloween .arena-final-call{background:radial-gradient(ellipse at 15% 90%,#a75d1820,transparent 68%);border-block:1px solid #c3914d25}
.halloween-event{position:relative;max-width:1344px;box-sizing:border-box;margin:8px auto 32px;padding:26px 32px;border-left:2px solid #d79249;background:linear-gradient(90deg,#3a21182b,transparent 80%);scroll-margin-top:calc(var(--app-header-height,68px) + 16px)}
.halloween-event-label{color:#e6b77f;font-size:.72rem;letter-spacing:.12em}
body.arena-ui .halloween-event h3{font-size:clamp(1.4rem,2.4vw,2rem);margin:10px 0;text-transform:none;letter-spacing:-.025em;color:#f2e5d7}
.halloween-event p{max-width:76ch;line-height:1.65;color:#bfb5c6;margin:10px 0;font-size:.9rem}
.halloween-event .halloween-event-pending{color:#978e9e;font-size:.78rem}
.halloween-event-actions{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;margin-top:18px}
.halloween-event-actions a{display:inline-flex;align-items:center;min-height:44px;color:#dec4ff;font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
.halloween-event-facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin:16px 0;color:#efd4b6;font-size:.85rem}
.halloween-admin-intro{position:relative;overflow:hidden;padding:28px 210px 28px 28px;background:linear-gradient(100deg,#19121f,#101019);border:1px solid #ba804740;margin:20px 0;border-radius:8px}
.halloween-admin-intro>img{position:absolute;right:12px;bottom:0;width:190px;height:127px;object-fit:contain;pointer-events:none}
.halloween-admin-intro strong{color:#eec08d}.halloween-admin-intro p{max-width:65ch}
body.season-halloween-game{background:#090a13 var(--halloween-environment) center/cover fixed!important}
body.season-halloween-game>.grid-bg{display:none!important}
body.season-halloween-game:before{display:none!important}
:root body.gameplay-page.season-halloween-game .game[data-game-mode]:before,
:root body.gameplay-page.season-halloween-game .game[data-game-mode]:after{display:none!important}
body.season-halloween-game .app-game-shell-stage,
:root body.gameplay-page.blockfall-large-view.season-halloween-game .game[data-game-mode]{background:linear-gradient(#08091320,#08091350),var(--halloween-environment) center/cover no-repeat,#090a13!important}
:root body.gameplay-page.season-halloween-game .game[data-game-mode] .board-shell{border-color:#bc783e!important;box-shadow:0 0 0 3px #291a20,0 0 0 4px #aa693b66,0 18px 50px #0009!important;background:#17121b!important}
:root body.gameplay-page.season-halloween-game:not(.blockfall-large-view) .game[data-game-mode] .game-panel{border-color:#b37748!important;background:linear-gradient(160deg,#251b27f5,#100e19f5)!important;box-shadow:inset 0 1px #f0bb7455,0 16px 36px #0007!important}
:root body.gameplay-page.season-halloween-game .game[data-game-mode] .game-panel .next-piece-preview{border-color:#b77a48!important;background:#1e1826!important;box-shadow:inset 0 1px #efbb7033!important}
:root body.gameplay-page.season-halloween-game:not(.blockfall-large-view) .game[data-game-mode] .game-panel .stats>span{background:#2a202d!important;border-color:#72503d!important}
body.season-halloween-game .game-panel #score{color:#ffe0ae;text-shadow:0 0 16px #c67b343d}
:root body.gameplay-page.blockfall-large-view.season-halloween-game .game[data-game-mode] .blockfall-board-hud{background:#211921!important;border-color:#aa7548!important;box-shadow:inset 0 2px #edb96e22}
:root body.gameplay-page.blockfall-large-view.season-halloween-game .game[data-game-mode] .blockfall-board-hud>.next-piece-preview{background:#302331!important}
/* Corner inlays live in the frame padding, never on the board or input layer. */
:root body.gameplay-page.season-halloween-game .game[data-game-mode] .board-shell{background-image:linear-gradient(45deg,#efa64d 0 2px,transparent 2px),linear-gradient(-45deg,#efa64d 0 2px,transparent 2px)!important;background-size:12px 12px!important;background-position:left bottom,right bottom!important;background-repeat:no-repeat!important}
body.season-halloween-game .board-shell:before{pointer-events:none!important}
:root body.gameplay-page.season-halloween-game .game[data-game-mode] .game-panel .badge{background:#412837!important;border-color:#b8804c!important;box-shadow:none!important;color:#ffe0ad}
:root body.gameplay-page.season-halloween-game .game[data-game-mode] .game-abandon-form>.button,
:root body.gameplay-page.season-halloween-game .game[data-game-mode] .game-pause-orb{background:#302131!important;border-color:#bd8753!important;box-shadow:inset 0 1px #eccba43b!important}
:root body.gameplay-page.season-halloween-game #start-game{background:#d99141;border-color:#f1b968;color:#211322;text-shadow:none}
.season-home-ornament{display:flex;align-items:center;justify-content:flex-end;pointer-events:none;max-width:1344px;margin:0 auto;padding-inline:28px;box-sizing:border-box}
.season-home-ornament.is-right{height:70px;position:relative}.season-home-ornament.is-right .season-candles{position:absolute;right:28px;bottom:-16px}
.season-home-ornament.is-web{justify-content:flex-start;height:64px;position:relative}
.season-home-ornament.is-web .season-web{width:110px;height:110px;position:absolute;left:28px;top:0;transform:rotate(-90deg);opacity:.32}
.season-candles{position:relative;display:block;width:180px;height:180px;isolation:isolate}
.season-candles img{position:relative;display:block;width:100%;height:100%;object-fit:contain;z-index:1}
.season-candles:before{content:"";position:absolute;inset:-25% -45%;z-index:-1;background:radial-gradient(ellipse,#dc822333,transparent 67%);opacity:.7;transform-origin:50% 65%;animation:season-candle-light 5.7s ease-in-out infinite;animation-play-state:paused}
.season-flame{position:absolute;width:30%;height:35%;border-radius:50%;background:radial-gradient(ellipse,#ffeac96b,#fbb24518 32%,transparent 68%);z-index:2;animation:season-candle-light 4.3s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 75%}
.flame-one{left:39%;top:3%}.flame-two{left:20%;top:22%;animation-delay:-1.8s}.flame-three{left:54%;top:41%;animation-delay:-3.2s}
.season-flame:after{content:"";position:absolute;left:48%;top:30%;width:5px;height:16px;border-radius:55% 45% 45% 45%;background:linear-gradient(#ffc868,#fffbea 45%,#fff0b5 80%,#ffa53a55);transform-origin:50% 100%;animation:season-flame-sway 1.7s ease-in-out infinite;animation-delay:inherit;animation-play-state:paused}
body[data-season-playback="running"] .season-candles.is-lit:before,body[data-season-playback="running"] .season-candles.is-lit .season-flame,body[data-season-playback="running"] .season-candles.is-lit .season-flame:after{animation-play-state:running}
@keyframes season-candle-light{0%,100%{opacity:.48;transform:translate(-2px,0) scale(.9)}19%{opacity:.92;transform:translate(2px,-1px) scale(1.1,.98)}36%{opacity:.5;transform:translate(0,2px) scale(.95,1.04)}57%{opacity:.96;transform:translate(-2px,-1px) scale(1.08)}79%{opacity:.64;transform:translate(1px,0) scale(.98)}}
.season-web{width:160px;height:160px;stroke:#a993b0;stroke-width:.8;opacity:.27;pointer-events:none}
.season-hero-web{position:absolute;right:0;top:0;transform:scaleX(-1);pointer-events:none}
.halloween-art{overflow:hidden}
.season-art-light{position:absolute;z-index:1;pointer-events:none;visibility:hidden;max-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 83%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 83%,transparent)}
.light-ready~.season-art-light{visibility:visible}
.season-lantern-light,.season-wick-halo,.season-ground-light{animation:season-lantern-flicker 6.7s ease-in-out infinite;animation-play-state:paused;transform-box:fill-box;transform-origin:center;opacity:.58}
.lantern-small{animation-duration:5.3s;animation-delay:-2.4s}.season-ground-light{animation-duration:7.1s;animation-delay:-3s;opacity:.2}
.season-lantern-shadow{animation:season-ember-shadow 6.7s ease-in-out infinite;animation-play-state:paused;opacity:.35;transform-box:fill-box;transform-origin:center}.shadow-small{animation-duration:5.3s;animation-delay:-2.4s}
.season-wick-halo{animation-duration:4.9s;animation-delay:var(--light-delay,0s)}
.season-wick-core{animation:season-flame-sway 1.9s ease-in-out infinite;animation-delay:var(--light-delay,0s);animation-play-state:paused;transform-box:fill-box;transform-origin:50% 100%;opacity:.95}
/* Each flame and its reflected floor light share one irregular intensity clock.
   Reflection is clipped below the candle base; no light slides over the candle. */
.season-candle-emission{animation:season-candle-emission var(--candle-period,3.83s) linear infinite;animation-delay:var(--light-delay,0s);animation-play-state:paused}
.season-candle-emission .season-wick-core{animation-duration:var(--candle-period,3.83s)}
.season-candle-emission .season-wick-halo{animation:season-candle-halo var(--candle-period,3.83s) linear infinite;animation-delay:var(--light-delay,0s);animation-play-state:paused;opacity:.62}
.season-floor-pool{animation:season-floor-sway var(--candle-period,3.83s) linear infinite;animation-delay:var(--light-delay,0s);animation-play-state:paused;transform-box:fill-box;transform-origin:center}
body[data-season-playback="running"] .halloween-art.is-lit~.season-art-light :is(.season-candle-emission,.season-floor-pool){animation-play-state:running}
@keyframes season-candle-emission{0%,100%{opacity:.45}9%{opacity:.82}16%{opacity:.95}23%{opacity:.55}27%{opacity:.78}31%{opacity:.64}41%{opacity:.87}48%{opacity:.38}54%{opacity:.72}59%{opacity:.58}64%{opacity:1}72%{opacity:.68}77%{opacity:.89}83%{opacity:.76}92%{opacity:.5}96%{opacity:.72}}
@keyframes season-floor-sway{0%,100%{transform:translateX(-2px) scaleX(.97)}16%{transform:translateX(3px) scaleX(1.03)}31%{transform:translateX(-1px) scaleX(.98)}48%{transform:translateX(2px) scaleX(.96)}64%{transform:translateX(-3px) scaleX(1.04)}83%{transform:translateX(1px) scaleX(1.01)}}
@keyframes season-candle-halo{0%,100%{transform:translate(-3px,1px) scale(.94)}16%{transform:translate(4px,-2px) scale(1.04)}31%{transform:translate(-2px,2px) scale(.96)}48%{transform:translate(3px,2px) scale(.88)}64%{transform:translate(-4px,-2px) scale(1.08)}83%{transform:translate(2px,0) scale(1.02)}}
@media(prefers-reduced-motion:reduce){.season-candle-emission,.season-floor-pool{animation:none!important}}
body[data-season-playback="running"] .halloween-art.is-lit~.season-art-light .season-lantern-light,body[data-season-playback="running"] .halloween-art.is-lit~.season-art-light .season-wick-halo,body[data-season-playback="running"] .halloween-art.is-lit~.season-art-light .season-wick-core,body[data-season-playback="running"] .halloween-art.is-lit~.season-art-light .season-ground-light{animation-play-state:running}
body[data-season-playback="running"] .halloween-art.is-lit~.season-art-light .season-lantern-shadow{animation-play-state:running}
@keyframes season-ember-shadow{0%,100%{opacity:.48;transform:translate(12px,0)}17%{opacity:.06;transform:translate(-12px,3px)}32%{opacity:.36;transform:translate(4px,-3px)}53%{opacity:.04;transform:translate(-8px,2px)}71%{opacity:.4;transform:translate(10px,0)}87%{opacity:.12;transform:translate(-3px,-2px)}}
@keyframes season-lantern-flicker{0%,100%{opacity:.2;transform:translate(-12px,4px) scale(.93)}17%{opacity:.82;transform:translate(14px,-5px) scale(1.06)}32%{opacity:.35;transform:translate(0,5px) scale(.97)}53%{opacity:.92;transform:translate(-10px,-6px) scale(1.05)}71%{opacity:.32;transform:translate(12px,0) scale(.96)}87%{opacity:.72;transform:translate(0,-4px) scale(1.04)}}
@keyframes season-flame-sway{0%,100%{transform:rotate(-9deg) skewX(-4deg) scale(.86,1.08);opacity:.9}16%{transform:rotate(10deg) skewX(5deg) scale(1.08,.87);opacity:1}31%{transform:rotate(-5deg) scale(.8,1.17);opacity:.95}48%{transform:rotate(7deg) skewX(3deg) scale(1,.96);opacity:.85}64%{transform:rotate(-11deg) scale(.89,1.1);opacity:1}83%{transform:rotate(4deg) skewX(-3deg) scale(1.12,.91);opacity:.94}}
.season-effects-controls{text-align:center;margin:4px 20px 20px}
.season-motion-control{min-height:44px;padding:8px 14px;color:#c8b9d2;background:#14101d;border:1px solid #aa84bb44;border-radius:4px;font:inherit;font-size:.72rem;cursor:pointer}
.season-motion-control:focus-visible{outline:2px solid #f4bb78;outline-offset:4px}
.season-motion-control[hidden]{display:none}
.season-fauna{position:fixed;inset:0;z-index:20;overflow:hidden;pointer-events:none!important;contain:strict}
.season-fauna *{pointer-events:none!important}
.season-flyer,.season-runner{position:absolute;left:0;top:0;opacity:0;will-change:transform;line-height:0}
.season-flyer svg{width:100%;fill:#302039;stroke:#bc8bd0;stroke-width:.65}
.season-eye{fill:#e2aa65;stroke:none}
.season-wing{transform-box:view-box;transform-origin:50px 26px;animation:season-wing-beat var(--wing-beat,.3s) ease-in-out infinite alternate}
.wing-right{animation-delay:-.03s}
@keyframes season-wing-beat{from{transform:scaleY(1) rotate(0deg)}to{transform:scaleY(.28) rotate(4deg)}}
.season-runner svg{width:100%;overflow:visible;stroke-linecap:round;stroke-linejoin:round}
.spider-shadow{fill:#0006;transform:translate(2px,3px)}
.spider-leg{fill:none;stroke:#1a141a;stroke-width:3}.spider-leg-highlight{fill:none;stroke:#998478;stroke-width:.65;transform:translate(-.45px,-.6px)}
.season-legs{fill:none;transform-origin:40px 41px;animation:season-skitter .26s ease-in-out infinite;animation-delay:var(--leg-delay,0s)}
.season-legs.legs-b{animation-direction:reverse}
.spider-abdomen{fill:#211920;stroke:#78685d;stroke-width:.7}.spider-body-sheen{fill:#796454;opacity:.42}.spider-thorax{fill:#352a29;stroke:#887263;stroke-width:.8}
.spider-palps{fill:none;stroke:#847065;stroke-width:1.7}.spider-mark{fill:#b88356;opacity:.45}.spider-eyes{fill:#b1a09b}
@keyframes season-skitter{0%,100%{transform:rotate(-9deg)}35%{transform:rotate(8deg)}60%{transform:rotate(10deg) scaleX(.94)}82%{transform:rotate(-5deg)}}
@media(prefers-reduced-motion:reduce){.season-fauna,.season-effects-controls{display:none}.season-candles:before,.season-flame,.season-flame:after,.season-lantern-light,.season-lantern-shadow,.season-wick-halo,.season-wick-core,.season-ground-light{animation:none!important}}
@media(max-width:767px){
 .season-trail{padding:0 16px;min-height:50px}.season-trail img{width:57px;height:38px}.season-trail a{font-size:.7rem}
 .season-farewell{margin-top:8px;gap:12px;padding-inline:20px}.season-farewell img{width:150px;height:100px}
 body.arena-ui.home-page.season-halloween .arena-games-intro:after{width:64px;height:64px;top:8px}
 body.arena-ui.home-page.season-halloween .arena-games-intro{padding-top:70px}
 body.arena-ui.home-page.season-halloween .arena-games-intro>p{padding-right:0}
 .halloween-event{margin:0 20px 28px;padding:18px 0 18px 18px}.halloween-event p{font-size:.83rem}
 .halloween-admin-intro{padding:20px 20px 110px}.halloween-admin-intro>img{width:150px;height:100px}
 .season-home-ornament{padding-inline:20px}.season-candles{width:132px;height:132px}.season-home-ornament.is-web{height:38px}.season-home-ornament.is-web .season-web{width:76px;height:76px;left:20px}
 .season-home-ornament.is-right{height:90px}.season-home-ornament.is-right .season-candles{right:20px;bottom:-10px}
 .season-hero-web .season-web{width:88px;height:88px;opacity:.2}
}
