/* Seasonal paint shared by Blockfall and Colorfall. No dimensions, input,
   timing, cell colours, contrast filters or rule-dependent states are changed. */
body.theme-autumn{--season-emblem:url('/assets/images/seasonal/autumn-mark.svg')}
body.theme-frost{--season-emblem:url('/assets/images/seasonal/frost-mark.svg')}
body.theme-landscape-game{background:var(--season-ink)!important}
body.theme-landscape-game .game-flow-surface{--start-accent:var(--season-color);--start-edge:var(--season-edge);--start-surface:var(--season-surface)}
body.theme-landscape-game>.grid-bg,body.theme-landscape-game:before{display:none!important}
body.theme-landscape-game,
body.theme-landscape-game .app-game-shell-stage,
:root body.theme-landscape-game.blockfall-large-view .game[data-game-mode]{background:linear-gradient(#0b101e50,#0b101e85),var(--season-environment) center bottom/cover no-repeat,var(--season-ink)!important}
body.theme-landscape-game .game[data-game-mode]:before,
body.theme-landscape-game .game[data-game-mode]:after{display:none!important}
:root body.theme-landscape-game .game[data-game-mode] .board-shell,
:root body.theme-landscape-game .match3-board-wrap>.match3-board{border-color:var(--season-color)!important;background:#101522!important;box-shadow:0 0 0 2px var(--season-ink),0 0 0 3px var(--season-edge),0 12px 30px #0006!important}
body.theme-landscape-game .board-shell{position:relative;isolation:isolate}
:root body.theme-landscape-game .game-board-interaction:after{border-color:var(--season-edge)!important;box-shadow:inset 0 0 12px #0003!important;animation:none!important}
.transition-board-trim{position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none!important;user-select:none}
.transition-board-trim *{pointer-events:none!important}
.transition-board-crest{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);width:42px;height:24px;color:var(--season-color);background:var(--season-ink);border-radius:50%;box-shadow:0 2px 0 var(--season-edge)}
body.blockfall-large-view .transition-board-crest{display:none} /* Joined HUD/frame has no spare edge space. */
.transition-board-crest .home-prize-emblem{display:block;width:100%;height:100%;position:static;opacity:1;transform:none;fill:none;stroke:currentColor;stroke-width:1.5}
.transition-board-crest .prize-emblem-fill{fill:var(--season-soft)}
.transition-board-corner{position:absolute;width:16px;height:16px;border:solid var(--season-color);border-width:2px 0 0 2px;border-radius:3px 0 0;background:linear-gradient(135deg,var(--season-soft),transparent)}
.transition-board-corner.is-tl{top:-3px;left:-3px}.transition-board-corner.is-tr{top:-3px;right:-3px;rotate:90deg}.transition-board-corner.is-bl{bottom:-3px;left:-3px;rotate:-90deg}.transition-board-corner.is-br{bottom:-3px;right:-3px;rotate:180deg}
/* Colorfall board is dynamically rebuilt. Use its stable shell, not its cells. */
body.theme-landscape-game .match3-game-shell{border-color:var(--season-edge)!important;background:var(--season-surface)!important;box-shadow:0 12px 30px #0006!important}
body.theme-landscape-game .match3-game-shell>header{border-bottom-color:var(--season-edge)!important}
body.theme-landscape-game .match3-board-wrap{border-radius:8px;outline:1px solid var(--season-edge);outline-offset:3px}
body.theme-landscape-game :is(.m3c-cockpit,.m3j-cockpit,.m3d-hud,.match3-goals,.m3j-powerup-toolbar){background:var(--season-surface)!important;border-color:var(--season-edge)!important}
:root body.theme-landscape-game:not(.blockfall-large-view) .game[data-game-mode] .game-panel,
:root body.theme-landscape-game .game[data-game-mode] :is(.blockfall-board-hud,.next-piece-preview){background:var(--season-surface)!important;border-color:var(--season-edge)!important;box-shadow:inset 0 1px var(--season-edge)!important}
:root body.theme-landscape-game .game[data-game-mode] .stats>span{background:#101522!important;border-color:var(--season-edge)!important}
body.theme-landscape-game :is(#score,[data-match3-score]){color:var(--season-color)!important;text-shadow:none!important}
:root body.theme-landscape-game .game[data-game-mode] .game-panel :is(.badge,#score+small){background:var(--season-soft)!important;border-color:var(--season-edge)!important;color:var(--season-color)!important;box-shadow:none!important}
body.theme-landscape-game :is(.game-shell-controls>button,.game-pause-orb,.game-abandon-form>.button,.blockfall-view-toggle){background:var(--season-surface)!important;border-color:var(--season-edge)!important;color:#f3f1f4!important;box-shadow:inset 0 1px #ffffff0c!important}
:root body.theme-landscape-game .game[data-game-mode] .game-abandon-form>.button,
:root body.theme-landscape-game .blockfall-view-details summary{background:var(--season-surface)!important;border-color:var(--season-edge)!important;color:#f3f1f4!important;box-shadow:inset 0 1px #ffffff0c!important}
body.theme-landscape-game .game-pause-card{background:var(--season-surface)!important;border-color:var(--season-edge)!important}
body.theme-landscape-game .game-pause-card :is(nav>button,footer>.button){border-color:var(--season-edge)!important;background:#101522!important;color:#f3f1f4!important}
/* The same surfaces also apply when the live overlay becomes a result dialog. */
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) .game-flow-card{background:linear-gradient(145deg,var(--season-surface),var(--season-ink))!important;border-color:var(--season-edge)!important;box-shadow:0 18px 48px #0009,inset 0 2px var(--season-edge)!important}
:root body.theme-landscape-game .game-flow-card:before{background:linear-gradient(90deg,transparent,var(--season-color),transparent)!important;box-shadow:none!important}
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay).game-flow-layer{background:#050913b8!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) .game-flow-card>.eyebrow{color:var(--season-color)!important;text-shadow:none!important}
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] .match3-overlay :is(.m3j-start-emblem,.m3j-result-mark){background:var(--season-surface)!important;border-color:var(--season-color)!important;box-shadow:none!important;color:var(--season-color)!important}
:root body.theme-landscape-game :is(.game-modal-emblem,.match3-modal-hero){background:var(--season-soft)!important;color:var(--season-color)!important;border-color:var(--season-edge)!important;box-shadow:none!important}
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) .game-flow-card :is(.game-modal-emblem,.match3-modal-hero){position:relative!important;background:none!important;border:0!important;box-shadow:none!important;filter:none!important}
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) .game-flow-card :is(.game-modal-emblem,.match3-modal-hero)>*{display:none!important}
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) .game-flow-card :is(.game-modal-emblem,.match3-modal-hero):before{content:"";position:absolute;inset:0;background:var(--season-emblem) center/contain no-repeat!important;box-shadow:none!important;animation:none!important;transform:none!important;border:0!important}
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) .game-flow-card :is(.game-modal-emblem,.match3-modal-hero):after{display:none!important}
:root body.theme-landscape-game .game-start-rules{background:#101522!important;border-color:var(--season-edge)!important;box-shadow:none!important}
:root body.theme-landscape-game .game-start-rules svg{color:var(--season-color)!important;background:none!important}
:root body.theme-landscape-game .game-start-rules>strong{color:var(--season-color)!important}
:root body.theme-landscape-game :is(.modal-actions,.match3-modal-actions) .button:not(.secondary):not([disabled]){background:var(--season-button)!important;border-color:var(--season-color)!important;color:#17121b!important;box-shadow:inset 0 -2px #0003!important;text-shadow:none!important}
:root body.theme-landscape-game :is(.modal-actions,.match3-modal-actions) .button:not(.secondary):not([disabled]):hover{background:var(--season-button-hover)!important}
:root body.theme-landscape-game .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) .game-flow-card .button:not(.secondary):not([disabled]){background:var(--season-button)!important;border-color:var(--season-color)!important;color:#17121b!important;box-shadow:inset 0 -2px #0003!important;text-shadow:none!important}
:root body.theme-landscape-game :is(#game-overlay,.match3-overlay) .game-flow-card .button.secondary{background:#101522!important;border-color:var(--season-edge)!important;color:#e5e7ed!important;box-shadow:none!important;text-shadow:none!important}
:root body.theme-landscape-game :is(#game-overlay,.match3-overlay) .game-flow-card :is(h1,h2){color:#f3f1f4!important;text-shadow:none!important}
body.theme-landscape-game :is(a,button):focus-visible{outline:2px solid var(--season-color)!important;outline-offset:3px}
/* Seasonal art is still and inert, including reduced-motion and low-FX modes. */
@media(forced-colors:active){.transition-board-trim{display:none}}
