/* Premium non-match worlds. The arena canvas and its match overlays are intentionally untouched. */
html[data-menu-art=original]{--theme-world:url('/assets/game/lagoon-menu.webp');--theme-panel-base:#087ba7;--theme-panel-deep:#064f7d;--theme-edge:#a9efff;--theme-soft:#dffaff;--theme-action:#17b7d7;--theme-play:#ffc62e;--theme-play-deep:#b96913;--theme-focus:#ffe66f}
html[data-menu-art=summer]{--theme-world:url('/assets/game/summer-menu-v2.webp');--theme-panel-base:#178e83;--theme-panel-deep:#0b5d65;--theme-edge:#b8ffe1;--theme-soft:#eaffd7;--theme-action:#53bd70;--theme-play:#ffbd31;--theme-play-deep:#b75a16;--theme-focus:#fff078}
html[data-menu-art=fall]{--theme-world:url('/assets/game/fall-menu-v2.webp');--theme-panel-base:#9b4c20;--theme-panel-deep:#612a20;--theme-edge:#ffd28b;--theme-soft:#fff0ce;--theme-action:#c86b2b;--theme-play:#f4c332;--theme-play-deep:#9a3f16;--theme-focus:#ffe477}
html[data-menu-art=halloween]{--theme-world:url('/assets/game/halloween-menu-v2.webp');--theme-panel-base:#503078;--theme-panel-deep:#24183f;--theme-edge:#d9b5ff;--theme-soft:#f0e3ff;--theme-action:#8f55ba;--theme-play:#ff982e;--theme-play-deep:#9d3819;--theme-focus:#ffc95f}
html[data-menu-art=christmas]{--theme-world:url('/assets/game/christmas-menu-v2.webp');--theme-panel-base:#176a62;--theme-panel-deep:#0b4545;--theme-edge:#d4fff1;--theme-soft:#f0fff8;--theme-action:#c63f4a;--theme-play:#f3c94c;--theme-play-deep:#9a392e;--theme-focus:#fff1a1}

#shell{--theme-glass:color-mix(in srgb,var(--theme-panel-base) 78%,transparent);--theme-glass-strong:color-mix(in srgb,var(--theme-panel-deep) 86%,transparent);--theme-card:color-mix(in srgb,var(--theme-soft) 84%,transparent);--theme-ink:#fff}
#shell[data-appearance=light]{--theme-glass:color-mix(in srgb,var(--theme-panel-base) 72%,transparent);--theme-glass-strong:color-mix(in srgb,var(--theme-panel-deep) 80%,transparent);--theme-card:color-mix(in srgb,var(--theme-soft) 80%,transparent)}
#shell[data-appearance=dark]{--theme-glass:color-mix(in srgb,var(--theme-panel-deep) 91%,transparent);--theme-glass-strong:color-mix(in srgb,var(--theme-panel-deep) 96%,#070a12 4%);--theme-card:color-mix(in srgb,var(--theme-panel-deep) 88%,#080b12 12%);--ink:#f7fbff;--muted:#d8e8ef}
@media(prefers-color-scheme:dark){#shell:not([data-appearance=light]){--theme-glass:color-mix(in srgb,var(--theme-panel-deep) 91%,transparent);--theme-glass-strong:color-mix(in srgb,var(--theme-panel-deep) 96%,#070a12 4%);--theme-card:color-mix(in srgb,var(--theme-panel-deep) 88%,#080b12 12%);--ink:#f7fbff;--muted:#d8e8ef}}

/* Every screen before or outside a match inherits the scheduled world. */
#shell :is(#party-panel,#rooms-panel,#career-panel,#collection-panel,#expansion-panel,#tutorial,#account-panel,#admin-panel,#settings-panel,#create-panel),
#shell .loading-screen,#shell .rotate-screen{background:linear-gradient(135deg,color-mix(in srgb,var(--theme-panel-deep) 52%,transparent),color-mix(in srgb,var(--theme-panel-base) 28%,transparent)),var(--theme-world) center/cover no-repeat fixed;color:var(--theme-ink)}
#shell :is(#party-panel,#rooms-panel,#career-panel,#collection-panel,#expansion-panel,#tutorial,#account-panel,#admin-panel,#settings-panel,#create-panel)>.dialog,
#shell :is(.collection-dialog,.settings-dialog,.expansion-dialog,.admin-dialog,.party-lobby-card),
#shell .rotate-card,#shell .loading-card{background:linear-gradient(145deg,var(--theme-glass),var(--theme-glass-strong));border-color:color-mix(in srgb,var(--theme-edge) 84%,white 16%);box-shadow:0 9px 25px #06172755,0 6px color-mix(in srgb,var(--theme-panel-deep) 62%,transparent),inset 0 2px #ffffff5c;backdrop-filter:blur(13px) saturate(1.14);-webkit-backdrop-filter:blur(13px) saturate(1.14)}
#shell :is(.menu-page.small-overlay,.small-overlay.party-lobby){color:var(--theme-ink)}
#shell :is(.menu-page.small-overlay,.small-overlay.party-lobby) :is(h1,h2,h3,h4,strong,label,p,small){font-family:Fredoka,'Trebuchet MS',sans-serif}

/* Readable glass controls let the artwork remain visible. */
#shell :is(.icon-button,.dock-button,.career-strip>button,.best-plaque,.coin-plaque,.player-dock,.loadout-bar,.collection-tabs,.settings-tabs,.back-button,.secondary){background:linear-gradient(180deg,color-mix(in srgb,var(--theme-action) 84%,transparent),var(--theme-glass-strong));border-color:var(--theme-edge);color:#fff;box-shadow:0 4px color-mix(in srgb,var(--theme-panel-deep) 75%,transparent),inset 0 2px #ffffff5c;backdrop-filter:blur(9px) saturate(1.12);-webkit-backdrop-filter:blur(9px) saturate(1.12)}
#shell :is(.party-choice,.public-rooms,.room-row,.setting-tile,.control-instructions,.guide-grid article,.collection-footer,.store-footer){background:linear-gradient(145deg,var(--theme-glass-strong),var(--theme-glass));border-color:color-mix(in srgb,var(--theme-edge) 78%,white 22%)}
#shell :is(.collection-card,.store-card,.collection-preview,.store-detail){background:var(--theme-card);border-color:color-mix(in srgb,var(--theme-edge) 70%,white 30%)}
#shell :is(button,a):focus-visible{outline-color:var(--theme-focus)}
#shell .primary{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-action) 66%,white 34%),var(--theme-action));border-color:color-mix(in srgb,var(--theme-edge) 72%,white 28%);box-shadow:0 4px color-mix(in srgb,var(--theme-panel-deep) 72%,transparent),inset 0 2px #ffffff75;color:#fff}
#shell :is(.quick-play,#auto-join){background:linear-gradient(180deg,color-mix(in srgb,var(--theme-play) 55%,white 45%),var(--theme-play));border-color:#fff1a4;color:#54320c;box-shadow:0 5px var(--theme-play-deep),inset 0 3px #fffbd3;text-shadow:0 2px #fff4bd;font-weight:800}
#shell :is(.quick-play,#auto-join):hover{filter:brightness(1.08) saturate(1.08)}
html[data-menu-art=halloween] #shell :is(.quick-play,#auto-join){color:#40133f;text-shadow:0 2px #ffd49c}
html[data-menu-art=christmas] #shell :is(.quick-play,#auto-join){background:linear-gradient(180deg,#fff6a7,var(--theme-play) 55%,#e5a62f)}

/* Main menu environmental motion. */
#lobby-backdrop{background:var(--theme-world) center/cover no-repeat;filter:saturate(1.03) contrast(1.02)}
/* Time of day changes only menu scenery; controls and loading artwork stay legible. */
html[data-menu-time=evening] #lobby-backdrop{filter:saturate(1.12) sepia(.13) brightness(.90)}
html[data-menu-time=night] #lobby-backdrop{filter:saturate(.94) hue-rotate(8deg) brightness(.78)}
#lobby-backdrop::before,#lobby-backdrop::after{background:none;opacity:1;will-change:transform,opacity,filter}
html[data-menu-art=original] #lobby-backdrop::before{inset:-8% -35%;background:url('/assets/game/beach-clouds-overlay.webp') center top/72% auto repeat-x;opacity:.68;animation:beach-cloud-parallax 42s linear infinite}
html[data-menu-art=original] #lobby-backdrop::after{background:linear-gradient(108deg,transparent 34%,#fff7c51d 48%,transparent 59%);animation:world-shimmer 8s ease-in-out infinite alternate}
html[data-menu-art=summer] #lobby-backdrop::before{background:radial-gradient(circle at 14% 19%,#fff7a9c9 0 2px,transparent 3px),radial-gradient(circle at 81% 17%,#fffbd7b5 0 2px,transparent 3px);background-size:128px 108px,169px 141px;animation:summer-sparkle 7s ease-in-out infinite alternate}
html[data-menu-art=summer] #lobby-backdrop::after{background:linear-gradient(112deg,transparent 39%,#fff5a82b 49%,transparent 58%);animation:world-shimmer 9s ease-in-out infinite alternate}
html[data-menu-art=fall] #lobby-backdrop::before{inset:-22% -8%;background:url('/assets/game/fall-leaves-overlay.webp') center/cover repeat-y;opacity:.72;animation:fall-maple-flight 15s linear infinite}
html[data-menu-art=fall] #lobby-backdrop::after{background:radial-gradient(circle at 8% 47%,#ffbc58 0 1.2%,transparent 4.5%),radial-gradient(circle at 93% 43%,#ff9b36 0 1.1%,transparent 4.3%),radial-gradient(circle at 76% 21%,#ffd06e 0 .8%,transparent 3.8%),radial-gradient(circle at 23% 27%,#ff8a28 0 .7%,transparent 3.5%);mix-blend-mode:screen;animation:fall-lantern-life 7.3s steps(1,end) infinite}
html[data-menu-art=halloween] #lobby-backdrop::before{background:radial-gradient(circle at 9% 72%,#ff8a2475,transparent 8%),radial-gradient(circle at 88% 67%,#ff9b2468,transparent 9%),radial-gradient(circle at 54% 17%,#bba4ff35,transparent 23%);animation:halloween-pumpkin-life 6.7s steps(1,end) infinite}
html[data-menu-art=halloween] #lobby-backdrop::after{inset:auto -12% -5%;height:37%;background:radial-gradient(ellipse at 50% 100%,#d8ccff45,transparent 65%);animation:halloween-mist 11s ease-in-out infinite alternate}
html[data-menu-art=christmas] #lobby-backdrop::before{inset:-18% -5%;background:url('/assets/game/christmas-snow-overlay.webp') center/cover repeat-y;opacity:.82;animation:christmas-snowfall 13s linear infinite}
html[data-menu-art=christmas] #lobby-backdrop::after{background:radial-gradient(circle at 12% 28%,#ffd96a56,transparent 5%),radial-gradient(circle at 88% 30%,#ffd96a4a,transparent 6%),linear-gradient(180deg,#74e8ff12,#b67aff1b 42%,transparent 65%);animation:christmas-lights 3.8s ease-in-out infinite alternate}

@keyframes beach-cloud-parallax{to{transform:translateX(22%)}}
@keyframes world-shimmer{to{opacity:.34;transform:translateX(3%)}}
@keyframes summer-sparkle{to{opacity:.43;transform:translate3d(12px,-7px,0)}}
@keyframes fall-maple-flight{0%{transform:translate3d(-2%,-18%,0) rotate(-2deg)}50%{transform:translate3d(3%,2%,0) rotate(2deg)}100%{transform:translate3d(-1%,22%,0) rotate(-1deg)}}
@keyframes fall-lantern-life{0%,100%{opacity:.42;filter:brightness(.8)}17%{opacity:.9;filter:brightness(1.35)}39%{opacity:.55;filter:brightness(.95)}63%{opacity:1;filter:brightness(1.5)}81%{opacity:.68;filter:brightness(1.05)}}
@keyframes halloween-pumpkin-life{0%,100%{opacity:.45;filter:brightness(.82)}21%{opacity:.92;filter:brightness(1.34)}47%{opacity:.58;filter:brightness(.95)}72%{opacity:1;filter:brightness(1.46)}}
@keyframes halloween-mist{to{transform:translateX(8%) scaleY(1.15);opacity:.58}}
@keyframes christmas-snowfall{0%{transform:translate3d(0,-18%,0)}50%{transform:translate3d(2%,2%,0)}100%{transform:translate3d(-1%,22%,0)}}
@keyframes christmas-lights{to{opacity:.52;filter:brightness(1.28)}}

@media(prefers-reduced-motion:reduce){#lobby-backdrop::before,#lobby-backdrop::after{animation:none!important}}

/* Precision pass: more scenery, one control language, and truly continuous particles. */
html.theme-loading #shell{opacity:1}#shell{opacity:1;transition:opacity .18s ease}
html[data-menu-art=original]{--theme-world:url('/assets/game/beach-menu-v2.webp');--theme-control:#087da4;--theme-play-top:#fff0a1;--theme-play-bottom:#f2a91d;--theme-play-ink:#63340a}
html[data-menu-art=summer]{--theme-control:#188a72;--theme-play-top:#fff1a0;--theme-play-bottom:#efa92c;--theme-play-ink:#57340c}
html[data-menu-art=fall]{--theme-control:#9a461f;--theme-play-top:#ffd96e;--theme-play-bottom:#e47424;--theme-play-ink:#54210b}
html[data-menu-art=halloween]{--theme-control:#57317c;--theme-play-top:#ffc267;--theme-play-bottom:#ec681f;--theme-play-ink:#3d153f}
html[data-menu-art=christmas]{--theme-world:url('/assets/game/christmas-menu-v3.webp');--theme-control:#9b3041;--theme-play-top:#fff1a0;--theme-play-bottom:#e9aa27;--theme-play-ink:#5a2910}
#shell{--theme-glass:color-mix(in srgb,var(--theme-control) 58%,transparent);--theme-glass-strong:color-mix(in srgb,var(--theme-panel-deep) 68%,transparent);--theme-card:color-mix(in srgb,var(--theme-soft) 72%,transparent)}
#shell[data-appearance=light]{--theme-glass:color-mix(in srgb,var(--theme-control) 52%,transparent);--theme-glass-strong:color-mix(in srgb,var(--theme-panel-deep) 62%,transparent);--theme-card:color-mix(in srgb,var(--theme-soft) 68%,transparent)}
#shell[data-appearance=dark]{--theme-glass:color-mix(in srgb,var(--theme-control) 72%,#080b12 28%);--theme-glass-strong:color-mix(in srgb,var(--theme-panel-deep) 80%,#070a12 20%);--theme-card:color-mix(in srgb,var(--theme-panel-deep) 72%,#080b12 28%)}
#shell :is(#party-panel,#rooms-panel,#career-panel,#collection-panel,#expansion-panel,#tutorial,#account-panel,#admin-panel,#settings-panel,#create-panel),#shell .loading-screen,#shell .rotate-screen{background:linear-gradient(135deg,color-mix(in srgb,var(--theme-panel-deep) 18%,transparent),color-mix(in srgb,var(--theme-panel-base) 8%,transparent)),var(--theme-world) center/cover no-repeat fixed}
#shell :is(.rotate-card,.loading-card){position:relative;z-index:2;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-panel-base) 58%,transparent),color-mix(in srgb,var(--theme-panel-deep) 68%,transparent));border:2px solid color-mix(in srgb,var(--theme-edge) 86%,white 14%);border-radius:clamp(25px,5vw,42px);box-shadow:0 18px 46px #06111f4d,inset 0 2px #ffffff70;backdrop-filter:blur(10px) saturate(1.12);-webkit-backdrop-filter:blur(10px) saturate(1.12)}
#shell .rotate-card{width:min(470px,88%);padding:clamp(22px,5vw,42px)}
#shell .loading-card{width:min(570px,84%);padding:clamp(22px,5vw,46px);overflow:hidden}
#shell .loading-card img{width:clamp(82px,13vw,126px);height:clamp(82px,13vw,126px);object-fit:cover;border-radius:50%;filter:drop-shadow(0 8px 12px #081a3855)}
#shell .loading-card progress{height:14px;border-radius:99px;overflow:hidden}
html[data-menu-art=halloween] #shell :is(.rotate-icon,.loading-title em){color:#ffab49}html[data-menu-art=fall] #shell :is(.rotate-icon,.loading-title em){color:#ffd36d}html[data-menu-art=christmas] #shell :is(.rotate-icon,.loading-title em){color:#ffdf68}

/* Shopping needs a solid surface: seasonal scenery behind glass made the
   Store look like the main menu was still open. */
#shell #collection-panel{background:linear-gradient(145deg,var(--theme-panel-base),var(--theme-panel-deep));}
#shell #collection-panel .collection-dialog{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
#shell #collection-panel :is(.collection-card,.store-card,.collection-preview,.store-detail){background:var(--theme-soft);color:#173d60;}
#shell #collection-panel :is(.store-sidebar button,.collection-filters button){background:var(--theme-soft);color:#173d60;}
#shell #collection-panel :is(.store-sidebar button,.collection-filters button)[aria-pressed=true]{background:var(--theme-action);color:#fff;}

#shell.hide-menu-stats #menu-top-stats,#shell.hide-menu-stats #menu-top-stats *{visibility:hidden!important;pointer-events:none!important}

#shell.simple-background :is(#lobby-backdrop,#rotate-screen,#loading-screen){background:linear-gradient(145deg,var(--theme-panel-base),var(--theme-panel-deep))!important}
#shell.simple-background :is(#lobby-backdrop,#rotate-screen)>.menu-atmosphere{display:none}

#shell.high-contrast{--theme-glass:#07517a;--theme-glass-strong:#062f53;--theme-card:#f8fcff;--theme-edge:#fff;--theme-ink:#fff;--ink:#fff;--muted:#d8edff}
#shell.high-contrast :is(.collection-card,.store-card,.collection-preview,.store-detail){color:#12344f}
#shell.high-contrast :is(.collection-card small,.store-price){color:#234963}
#shell.high-contrast :is(button,input,select,textarea):focus-visible{outline:4px solid #ffe34e;outline-offset:3px}
#shell .player-dock,#shell .loadout-bar{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#shell .player-dock{padding-inline:0}
#shell :is(.icon-button,.dock-button,.career-strip>button,.best-plaque,.coin-plaque,.profile-plaque,#player-name,#player-name.saved,.showcase-edit,.collection-tabs,.settings-tabs,.back-button,.secondary,.store-shortcut){background:linear-gradient(180deg,color-mix(in srgb,var(--theme-control) 72%,white 8%),color-mix(in srgb,var(--theme-panel-deep) 69%,transparent))!important;border-color:color-mix(in srgb,var(--theme-edge) 76%,white 24%)!important;color:#fff!important;box-shadow:0 4px color-mix(in srgb,var(--theme-panel-deep) 62%,transparent),inset 0 2px #ffffff65!important;backdrop-filter:blur(7px) saturate(1.08);-webkit-backdrop-filter:blur(7px) saturate(1.08)}
#shell :is(#season-open,.season-card,.career-strip>button){background:linear-gradient(180deg,color-mix(in srgb,var(--theme-control) 72%,white 8%),color-mix(in srgb,var(--theme-panel-deep) 69%,transparent))!important}
#shell :is(.quick-play,#auto-join,.party-play){position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,var(--theme-play-top),var(--theme-play-bottom))!important;border:3px solid #fff4bd!important;color:var(--theme-play-ink)!important;box-shadow:0 6px color-mix(in srgb,var(--theme-play-bottom) 72%,#5c250b 28%),inset 0 3px #ffffffc7,inset 0 -2px #b8652140!important;text-shadow:0 2px #fff5c2!important;font-weight:800;letter-spacing:.025em}
#shell :is(.quick-play,#auto-join,.party-play)::before{content:"";position:absolute;z-index:-1;inset:2px 4px auto;height:42%;border-radius:inherit;background:linear-gradient(#ffffff80,transparent);pointer-events:none}
#shell :is(.admin-grid>section,.admin-member,.admin-offer,.admin-ip-area,.admin-confirm>div,.segmented,.control-choices button,.guide-grid article){background:linear-gradient(145deg,var(--theme-glass-strong),var(--theme-glass))!important;border-color:color-mix(in srgb,var(--theme-edge) 74%,white 26%)!important;color:#fff}
#shell :is(.admin-grid>section,.guide-grid article,.setting-tile){box-shadow:0 10px 24px #07162b2e,inset 0 1px #ffffff50}
#shell .guide-grid img{width:76px;height:76px;image-rendering:auto;filter:drop-shadow(0 8px 8px #06152555);transform:translateZ(0)}
#shell .guide-grid article:first-child img{animation:guide-star-float 3.8s ease-in-out infinite alternate}
@keyframes guide-star-float{to{transform:translateY(-5px) rotate(2deg);filter:drop-shadow(0 12px 10px #06152545) brightness(1.06)}}
#lobby-backdrop,#loading-screen,#rotate-screen{isolation:isolate}
.menu-atmosphere{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.menu-atmosphere~*{position:relative;z-index:2}
#lobby-backdrop>.menu-atmosphere{z-index:0}.theme-particle{position:absolute;left:var(--x);top:-14vh;width:var(--size);height:var(--size);will-change:transform;animation:particle-fall var(--duration) linear var(--delay) infinite}
.theme-particle.leaf{background:url('/assets/game/maple-leaf-red.webp') center/contain no-repeat;filter:drop-shadow(0 5px 5px #4a16084d)}.theme-particle.leaf.variant{background-image:url('/assets/game/maple-leaf-gold.webp')}
.theme-particle.snow{display:grid;place-items:center;color:#f4fdff;font-size:var(--size);line-height:1;text-shadow:0 0 7px #b9e8ff,0 2px 3px #356ba5;opacity:.9}.theme-particle.snow.variant{color:#dff7ff;opacity:.72}
@keyframes particle-fall{0%{transform:translate3d(0,-8vh,0) rotate(0)}100%{transform:translate3d(var(--drift),132vh,0) rotate(var(--spin))}}
.summer-flora{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;opacity:.7;animation:summer-flora-sway 11s ease-in-out infinite alternate;transform-origin:50% 100%}.summer-kite{position:absolute;right:3%;top:4%;width:clamp(62px,10vw,145px);filter:drop-shadow(0 7px 8px #17396640);animation:summer-kite-flight 13s ease-in-out infinite alternate}
@keyframes summer-flora-sway{to{transform:translateX(-1.2%) rotate(.3deg)}}@keyframes summer-kite-flight{to{transform:translate3d(-42vw,3vh,0) rotate(-7deg)}}
.halloween-bats{position:absolute;right:-18%;top:3%;width:clamp(190px,26vw,430px);filter:drop-shadow(0 6px 8px #08030c99);animation:halloween-bat-flight 18s linear infinite}.halloween-ghost{position:absolute;right:-18%;top:10%;width:clamp(86px,12vw,190px);opacity:.82;filter:drop-shadow(0 0 12px #d5c6ff);animation:halloween-ghost-cross 25s ease-in-out infinite}
@keyframes halloween-bat-flight{to{transform:translateX(-145vw) translateY(8vh)}}@keyframes halloween-ghost-cross{0%,8%{transform:translateX(0);opacity:0}18%{opacity:.82}82%{opacity:.82}92%,100%{transform:translateX(-140vw) translateY(4vh);opacity:0}}
.beach-cloud-track{position:absolute;left:-100%;top:0;width:240%;height:39%;display:flex;animation:beach-cloud-seam 58s linear infinite}.beach-clouds{flex:0 0 50%;width:50%;height:100%;object-fit:cover;object-position:center top;opacity:.67;filter:brightness(1.05)}
@keyframes beach-cloud-seam{to{transform:translateX(50%)}}
html[data-menu-art=original] #lobby-backdrop::before,html[data-menu-art=fall] #lobby-backdrop::before,html[data-menu-art=christmas] #lobby-backdrop::before{display:none}
html[data-menu-art=fall] #lobby-backdrop::after{background:radial-gradient(circle at 4% 38%,#ffc66b80 0 .45%,transparent 2.5%),radial-gradient(circle at 96% 39%,#ffb24f70 0 .42%,transparent 2.4%),radial-gradient(circle at 78% 15%,#ffd98168 0 .32%,transparent 2.1%);animation:fall-candle-breathe 12s ease-in-out infinite alternate}
html[data-menu-art=halloween] #lobby-backdrop::before{background:radial-gradient(circle at 7% 70%,#ff8c2b73,transparent 5%),radial-gradient(circle at 91% 68%,#ff9f2b68,transparent 5.5%),radial-gradient(circle at 48% 22%,#ff7b2450,transparent 4%);animation:halloween-pumpkin-breathe 9s ease-in-out infinite alternate}
@keyframes fall-candle-breathe{0%,20%{opacity:.35;filter:brightness(.8)}55%{opacity:.88;filter:brightness(1.2)}100%{opacity:.48;filter:brightness(.9)}}@keyframes halloween-pumpkin-breathe{0%,18%{opacity:.42;filter:brightness(.82)}62%{opacity:.94;filter:brightness(1.32)}100%{opacity:.58;filter:brightness(.96)}}
@media(prefers-reduced-motion:reduce){.menu-atmosphere *,.guide-grid article:first-child img{animation:none!important}.theme-particle,.scene-particle{display:none}.summer-flora{transform:none}.summer-kite{right:5%}.halloween-bats,.halloween-ghost{display:none}}

/* Scene-space motion: the same cover transform as the illustrated background. */
html[data-menu-art=summer]{--theme-world:url('/assets/game/summer-scene-v4.webp')}
html[data-menu-art=halloween]{--theme-world:url('/assets/game/halloween-scene-v4.webp')}
html[data-menu-art=christmas]{--theme-world:url('/assets/game/christmas-scene-v5.webp')}
html[data-menu-art] #shell #lobby-backdrop{background:var(--theme-world) center/cover no-repeat;transition:none}
#shell :is(#loading-screen,#rotate-screen){background:var(--theme-world) center/cover no-repeat;background-attachment:scroll}
#shell #lobby :is(.player-dock,.loadout-bar,.career-strip){background:transparent!important;box-shadow:none!important;border-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#shell #lobby :is(.player-dock,.loadout-bar)::before,#shell #lobby :is(.player-dock,.loadout-bar)::after{content:none!important}
#shell #lobby :where(button:not(#menu-snake-growth):not(#auto-join),.best-plaque,.coin-plaque,#player-name){background:linear-gradient(155deg,color-mix(in srgb,var(--theme-control) 32%,transparent),color-mix(in srgb,var(--theme-panel-deep) 53%,transparent))!important;border-color:color-mix(in srgb,var(--theme-edge) 72%,transparent)!important;color:#fff!important;box-shadow:inset 0 1px 0 #ffffff70,0 3px 9px #06152830!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);text-shadow:0 1px 3px #071420,0 0 7px #07142090!important}
#shell #lobby button svg{filter:drop-shadow(0 1px 2px #07142080)!important}
#shell[data-appearance=dark] #lobby :where(button:not(#menu-snake-growth):not(#auto-join),.best-plaque,.coin-plaque,#player-name){background:linear-gradient(155deg,color-mix(in srgb,var(--theme-control) 42%,transparent),color-mix(in srgb,var(--theme-panel-deep) 65%,transparent))!important}
#shell #lobby #auto-join{background:linear-gradient(170deg,color-mix(in srgb,var(--theme-play-top) 87%,transparent),color-mix(in srgb,var(--theme-play-bottom) 83%,transparent))!important;color:var(--theme-play-ink)!important;text-shadow:0 1px 0 #fff4c780!important;box-shadow:inset 0 2px #fff9dbb0,0 3px 8px #24130640!important;border:2px solid #fff2b2c9!important;letter-spacing:.02em;font-weight:650}
#shell #lobby #auto-join svg{filter:none!important}
#shell #lobby #auto-join::before{content:none}
#shell :is(.rotate-card,.loading-card){background:linear-gradient(145deg,color-mix(in srgb,var(--theme-panel-base) 29%,transparent),color-mix(in srgb,var(--theme-panel-deep) 48%,transparent));backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);text-shadow:0 2px 4px #082034}
.scene-plane{position:absolute;z-index:0;pointer-events:none;perspective:1000px}
#shell :is(#modes-open,#main-topbar .icon-button,#main-topbar .best-plaque,#main-topbar .coin-plaque){background:linear-gradient(155deg,color-mix(in srgb,var(--theme-control) 32%,transparent),color-mix(in srgb,var(--theme-panel-deep) 53%,transparent))!important;border-color:color-mix(in srgb,var(--theme-edge) 72%,transparent)!important;box-shadow:inset 0 1px 0 #ffffff70,0 3px 9px #06152830!important;color:#fff;text-shadow:0 1px 3px #071420;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.summer-breeze{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scene-plane img{position:absolute;object-fit:contain;pointer-events:none}
.scene-cloud{width:19%;height:10%;top:max(7%,calc(var(--scene-crop-top) + 1%));opacity:.78;animation:scene-cloud-drift 83s linear infinite;will-change:transform}
.cloud-0{left:8%;animation-delay:-19s}.cloud-1{left:39%;top:max(5%,calc(var(--scene-crop-top) + 2%));width:16%;animation-duration:101s;animation-delay:-61s}.cloud-2{left:68%;top:max(8%,calc(var(--scene-crop-top) + 1.5%));width:17%;animation-delay:-42s}
@keyframes scene-cloud-drift{0%{transform:translateX(-150%);opacity:0}12%,85%{opacity:.78}100%{transform:translateX(190%);opacity:0}}
.scene-kite{left:min(62%,calc(100% - var(--scene-crop-left) - 9%));top:max(1%,calc(var(--scene-crop-top) + .65%));width:5.8%;height:10%;transform-origin:50% 95%;animation:scene-kite-tether 7.6s cubic-bezier(.45,0,.35,1) infinite;filter:drop-shadow(0 2px 2px #15355120)}
/* A tethered figure-eight: bank into each gust, then settle before returning. */
@keyframes scene-kite-tether{
  0%,100%{transform:translate(0,0) rotate(-7deg) rotateY(-10deg)}
  18%{transform:translate(8%,3%) rotate(9deg) rotateY(14deg)}
  39%{transform:translate(-5%,7%) rotate(-12deg) rotateY(-18deg)}
  57%{transform:translate(-11%,2%) rotate(-4deg) rotateY(5deg)}
  76%{transform:translate(4%,5%) rotate(11deg) rotateY(18deg)}
  89%{transform:translate(6%,1%) rotate(2deg) rotateY(-3deg)}
}
.scene-bat-flight{position:absolute;left:25%;top:max(14%,calc(var(--scene-crop-top) + 4%));width:3.8%;height:4%;animation:scene-bat-orbit 23s ease-in-out infinite;will-change:transform;opacity:.8}
.scene-bat-flight.bat-1{left:53%;top:max(12%,calc(var(--scene-crop-top) + 3%));width:2.6%;animation-duration:29s;animation-delay:-11s}.scene-bat-flight.bat-2{left:69%;top:max(19%,calc(var(--scene-crop-top) + 5%));width:2%;animation-duration:19s;animation-delay:-7s}
.scene-bat{width:100%;height:100%;animation:scene-wingbeat .36s ease-in-out infinite alternate;transform-origin:40% 45%}
@keyframes scene-wingbeat{from{transform:rotateX(8deg) scaleY(.92)}to{transform:rotateX(57deg) scaleY(.72)}}
@keyframes scene-bat-orbit{0%,100%{transform:translate(-90%,-40%) scale(.5) rotate(-8deg);opacity:0}18%{opacity:.7}40%{transform:translate(210%,-80%) scale(.8) rotate(9deg)}65%{transform:translate(390%,50%) scale(1) rotate(-9deg);opacity:.85}86%{transform:translate(150%,80%) scale(.55);opacity:.6}}
.scene-ghost{left:26%;top:max(14%,calc(var(--scene-crop-top) + 4%));width:4%;height:7%;opacity:.7;animation:scene-ghost-roam 29s ease-in-out infinite;filter:drop-shadow(0 0 5px #c1b9ff66)}
@keyframes scene-ghost-roam{0%,100%{transform:translate(-40%,30%) scale(.6);opacity:0}20%{opacity:.7}45%{transform:translate(80%,-18%) scale(.94) rotate(7deg)}72%{transform:translate(130%,15%) scale(.75) rotate(-5deg);opacity:.65}90%{opacity:0}}
.scene-santa{left:75%;top:max(12%,calc(var(--scene-crop-top) + 1%));width:14%;height:7%;animation:scene-santa-flight 48s linear infinite;opacity:.9}
@keyframes scene-santa-flight{0%{transform:translate(230%,10%) scale(.65);opacity:0}12%,83%{opacity:.9}45%{transform:translate(-140%,-45%) scale(.9)}100%{transform:translate(-620%,20%) scale(.6);opacity:0}}
.scene-particle{position:absolute;z-index:1;left:var(--x);top:-90px;width:var(--size);height:var(--size);animation:scene-particle-fall var(--duration) linear var(--delay) both;will-change:transform}
.scene-particle img,.snow-art{display:block;width:100%;height:100%;object-fit:contain}
.leaf-art{animation:scene-leaf-tumble var(--sway) ease-in-out infinite alternate;transform-origin:50% 35%}
.snow-art{color:#fff;font-size:var(--size);text-shadow:0 1px 3px #719dc5;animation:scene-snow-sway 5s ease-in-out infinite alternate}
@keyframes scene-particle-fall{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(var(--drift),calc(var(--fall-height) + 200px),0) rotate(var(--spin))}}
@keyframes scene-leaf-tumble{0%{transform:translateX(-17px) rotate(-22deg) rotateY(-35deg)}55%{transform:translateX(8px) rotate(8deg) rotateY(15deg)}100%{transform:translateX(23px) rotate(29deg) rotateY(52deg)}}
@keyframes scene-snow-sway{to{transform:translateX(16px) rotate(30deg)}}
@media(prefers-reduced-motion:reduce){.scene-plane *,.scene-particle{animation:none!important}.scene-particle{display:none}.scene-kite{transform:none}.scene-ghost,.scene-bat-flight{opacity:.65}}

/* Reversible edge controls preserve the menu grid and the main Play action. */
#lobby .menu-panel-toggle{position:absolute;top:48%;z-index:12;width:36px;min-width:36px;height:48px;min-height:48px;padding:7px;border:1px solid var(--theme-edge);border-radius:0 14px 14px 0;background:color-mix(in srgb,var(--theme-panel-deep) 66%,transparent);color:#fff;box-shadow:0 2px 8px #001b3033;backdrop-filter:blur(8px);touch-action:manipulation}
#lobby .menu-panel-toggle-left{left:max(0px,env(safe-area-inset-left))}
#lobby .menu-panel-toggle-right{right:max(0px,env(safe-area-inset-right));border-radius:14px 0 0 14px}
#lobby .menu-panel-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
#lobby .menu-panel-toggle-right[aria-expanded=true] svg,#lobby .menu-panel-toggle-left[aria-expanded=false] svg{transform:rotate(180deg)}
#shell[data-left-menu-closed=true] :is(#menu-player-panel,#collection-open,#modes-open),
#shell[data-right-menu-closed=true] :is(#menu-career-panel,#menu-top-actions){visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){#lobby .menu-panel-toggle svg{transition:none}}

/* Scene revision: viewport-aware flight and controls outside menu hit areas. */
html[data-menu-art=halloween]{--theme-world:url('/assets/game/halloween-scene-v5.webp')}
#shell #lobby #browser-status{position:absolute;inset:auto auto 8px 50%;transform:translateX(-50%);width:max-content;max-width:min(90%,440px);margin:0;padding:6px 10px;min-height:0;display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.25;border:1px solid var(--theme-edge);border-radius:12px;background:color-mix(in srgb,var(--theme-panel-deep) 92%,transparent);color:white;z-index:20;box-shadow:0 3px 12px #0003}
#shell #lobby #browser-status[hidden]{display:none}
#shell #lobby #browser-status button{min-height:32px;margin:0;padding:5px 9px;font-size:12px;border-radius:8px;white-space:nowrap}
#lobby .menu-panel-toggle[aria-expanded=true]{top:78px;height:28px;min-height:28px;width:32px;min-width:32px;padding:3px;border-radius:9px}
#lobby .menu-panel-toggle-left[aria-expanded=true]{left:max(2px,env(safe-area-inset-left))}
#lobby .menu-panel-toggle-right[aria-expanded=true]{right:max(2px,env(safe-area-inset-right))}
#shell[data-left-menu-closed=true] :is(#menu-player-panel,#collection-open,#modes-open),#shell[data-left-menu-closed=true] #menu-player-panel *,
#shell[data-right-menu-closed=true] :is(#menu-career-panel,#menu-top-actions),#shell[data-right-menu-closed=true] :is(#menu-career-panel,#menu-top-actions) *{visibility:hidden!important;pointer-events:none!important}
.animated-sprite{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scene-kite:has(.animated-sprite:not([hidden])),.scene-santa:has(.animated-sprite:not([hidden])){background:none!important}
.scene-kite{position:absolute;left:auto;right:9%;top:3%;width:clamp(45px,6vw,92px);height:clamp(68px,9vw,138px);transform-origin:50% 85%;animation:kite-open-sky 13s ease-in-out infinite;perspective:700px}
@keyframes kite-open-sky{0%,100%{transform:translate3d(0,0,0) rotate(-12deg) rotateY(-24deg) scale(.84)}18%{transform:translate3d(-8vw,2vh,25px) rotate(16deg) rotateY(28deg) scale(1)}43%{transform:translate3d(-14vw,5vh,-20px) rotate(-20deg) rotateY(-32deg) scale(.88)}67%{transform:translate3d(-5vw,1vh,35px) rotate(12deg) rotateY(20deg) scale(1.05)}84%{transform:translate3d(2vw,3vh,0) rotate(4deg) rotateY(-8deg) scale(.92)}}
#rotate-screen .scene-kite{right:2%;top:1%;width:46px;height:69px;animation:kite-phone-sky 10s ease-in-out infinite}
@keyframes kite-phone-sky{0%,100%{transform:translate(-3px,0) rotate(-13deg) rotateY(-24deg)}25%{transform:translate(-22px,5px) rotate(17deg) rotateY(30deg)}53%{transform:translate(-47px,0) rotate(-18deg) rotateY(-28deg)}78%{transform:translate(-16px,8px) rotate(12deg) rotateY(18deg)}}
.cloud-3{left:1%;width:13%;animation-delay:-39s;animation-duration:121s}.cloud-4{left:34%;width:12%;animation-delay:-72s;animation-duration:109s}.cloud-5{left:75%;width:15%;animation-delay:-23s;animation-duration:131s}.cloud-6{left:53%;width:13%;animation-delay:-52s;animation-duration:113s}
.summer-cloud{opacity:.5;height:7%;top:max(2%,calc(var(--scene-crop-top) + .5%))}
.scene-bat-flight.bat-3{left:29%;width:2.6%;animation-delay:-1s}.scene-bat-flight.bat-4{left:32%;width:2.2%;animation-delay:-.5s}.scene-bat-flight.bat-5{left:58%;width:2.3%;animation-duration:29s;animation-delay:-11.6s}.scene-bat-flight.bat-6{left:62%;width:1.9%;animation-duration:29s;animation-delay:-12s}.scene-bat-flight.bat-7{left:80%;width:2.8%;animation-duration:31s;animation-delay:-19s}
.scene-ghost{animation:ghost-depth-flight 26s ease-in-out infinite;transform-origin:center}
@keyframes ghost-depth-flight{0%,100%{transform:translate(-100%,-40%) scale(.25) rotateY(20deg);opacity:0}16%{opacity:.45}42%{transform:translate(160%,35%) scale(1.8) rotate(-9deg) rotateY(-15deg);opacity:.85}65%{transform:translate(360%,-15%) scale(1.1) rotate(8deg);opacity:.7}86%{transform:translate(620%,-50%) scale(.22);opacity:0}}
.scene-santa{width:16.8%;height:8.4%}
@media(prefers-reduced-motion:reduce){.scene-kite,.scene-ghost{animation:none!important;transform:none}.scene-ghost{opacity:.6}}
html[data-menu-art=summer]{--theme-world:url('/assets/game/summer-scene-v6.webp')}
.sky-cloud-layer{position:absolute;inset:0;mask-size:100% 100%;-webkit-mask-size:100% 100%;pointer-events:none}
.sky-cloud{height:9%;animation:sky-breeze 65s ease-in-out infinite alternate;object-fit:contain}
@keyframes sky-breeze{from{transform:translateX(-22%)}to{transform:translateX(30%)}}
.scene-santa{position:absolute;left:auto;right:8%;top:1%;width:clamp(125px,16.8vw,260px);height:clamp(62px,8.4vw,130px);opacity:1;animation:santa-early-flight 24s linear infinite}
@keyframes santa-early-flight{0%{transform:translateX(0) translateY(0) scale(.92);opacity:1}60%{transform:translateX(-70vw) translateY(8px) scale(1);opacity:1}76%{transform:translateX(-110vw) translateY(0) scale(.9);opacity:0}77%{transform:translateX(35vw) scale(.92);opacity:0}88%,100%{transform:translateX(0) scale(.92);opacity:1}}
#rotate-screen .scene-santa{right:5%;top:.5%;width:150px;height:75px}
@media(prefers-reduced-motion:reduce){.sky-cloud,.scene-santa{animation:none!important}}
/* Linear motion avoids the apparent stop at the ends of an eased oscillation. */
.sky-cloud{animation-name:sky-continuous;animation-timing-function:linear;animation-direction:normal}
@keyframes sky-continuous{from{transform:translate3d(calc(var(--scene-width) * -.25),0,0)}to{transform:translate3d(calc(var(--scene-width) * 1.05),0,0)}}
/* Constant-speed travel; invisible repositioning happens fully beyond the viewport. */
.scene-santa{left:100%;right:auto;animation:santa-steady 28s linear 2s infinite both}
@keyframes santa-steady{from{transform:translateX(0);opacity:1}to{transform:translateX(calc(-100vw - 100%));opacity:1}}
#rotate-screen .scene-santa{left:100%;right:auto}
#lobby-backdrop .scene-kite{right:31%;top:1%;width:clamp(40px,4.5vw,70px);height:clamp(60px,6.75vw,105px);animation:kite-menu-clearance 12s ease-in-out infinite}
@keyframes kite-menu-clearance{0%,100%{transform:translate(0,0) rotate(-12deg) rotateY(-20deg)}25%{transform:translate(-3vw,2vh) rotate(13deg) rotateY(25deg)}55%{transform:translate(1vw,4vh) rotate(-17deg) rotateY(-28deg)}80%{transform:translate(-1vw,1vh) rotate(9deg) rotateY(18deg)}}
html.theme-loading #shell{transition:none}
@media(prefers-reduced-motion:reduce){.sky-cloud,#lobby-backdrop .scene-kite,.scene-santa{animation:none!important}.scene-santa,#rotate-screen .scene-santa{left:65%}}

.sky-cloud{will-change:transform;backface-visibility:hidden}
/* Avoid compositing a second animated world beneath the portrait gate. */
#shell:has(#rotate-screen:not([hidden])) #lobby-backdrop>.menu-atmosphere,
#shell:has(#loading-screen:not([hidden])) #lobby-backdrop>.menu-atmosphere{display:none}
#shell:has(#rotate-screen:not([hidden])) #lobby-backdrop .menu-atmosphere *,
#shell.menu-paused .menu-atmosphere *{animation-play-state:paused!important}
#shell:has(#loading-screen:not([hidden])) #lobby-backdrop .menu-atmosphere *{animation-play-state:paused!important}

/* A source-aligned sky silhouette puts the sleigh behind the actual scenery. */
.santa-sky{position:absolute;inset:0;mask:url('/assets/game/christmas-sky-mask.svg') center/100% 100% no-repeat;-webkit-mask:url('/assets/game/christmas-sky-mask.svg') center/100% 100% no-repeat;overflow:hidden}
.santa-sky .scene-santa,#rotate-screen .santa-sky .scene-santa{left:0;right:auto;top:0;opacity:0;animation:none!important;transform-origin:50% 50%;will-change:transform,opacity}
#lobby-backdrop .scene-kite{animation:kite-wind-clearance 9s ease-in-out infinite;transform-origin:50% 85%;--kite-gust:10px}
@keyframes kite-wind-clearance{
  0%,100%{transform:perspective(650px) translate3d(0,0,0) rotate(-7deg) rotateY(-16deg)}
  18%{transform:perspective(650px) translate3d(calc(var(--kite-gust) * -.7),5px,0) rotate(10deg) rotateY(21deg)}
  37%{transform:perspective(650px) translate3d(var(--kite-gust),-5px,0) rotate(-12deg) rotateY(-25deg)}
  56%{transform:perspective(650px) translate3d(calc(var(--kite-gust) * .35),3px,0) rotate(-3deg) rotateY(8deg)}
  76%{transform:perspective(650px) translate3d(calc(var(--kite-gust) * -.8),-3px,0) rotate(11deg) rotateY(22deg)}
}
@media(prefers-reduced-motion:reduce){#lobby-backdrop .scene-kite{animation:none!important}}

/* The kite starts in the clear gap, then follows stronger gusts across the sky. */
#lobby-backdrop .scene-kite{animation:kite-roaming-wind 22s linear infinite}
@keyframes kite-roaming-wind{
0.00000%{transform:perspective(650px) translate3d(-0.0000vw,0.0000vh,0) rotate(-7.0000deg) rotateY(-10.0000deg) scale(1.0000)}
0.83333%{transform:perspective(650px) translate3d(-0.0144vw,0.0099vh,0) rotate(-5.8502deg) rotateY(-9.1626deg) scale(0.9999)}
1.66667%{transform:perspective(650px) translate3d(-0.0575vw,0.0393vh,0) rotate(-4.7130deg) rotateY(-8.3275deg) scale(0.9997)}
2.50000%{transform:perspective(650px) translate3d(-0.1293vw,0.0881vh,0) rotate(-3.6008deg) rotateY(-7.4970deg) scale(0.9993)}
3.33333%{transform:perspective(650px) translate3d(-0.2295vw,0.1556vh,0) rotate(-2.5259deg) rotateY(-6.6734deg) scale(0.9987)}
4.16667%{transform:perspective(650px) translate3d(-0.3578vw,0.2412vh,0) rotate(-1.5000deg) rotateY(-5.8589deg) scale(0.9980)}
5.00000%{transform:perspective(650px) translate3d(-0.5139vw,0.3438vh,0) rotate(-0.5344deg) rotateY(-5.0557deg) scale(0.9971)}
5.83333%{transform:perspective(650px) translate3d(-0.6974vw,0.4623vh,0) rotate(0.3604deg) rotateY(-4.2661deg) scale(0.9960)}
6.66667%{transform:perspective(650px) translate3d(-0.9078vw,0.5956vh,0) rotate(1.1746deg) rotateY(-3.4922deg) scale(0.9948)}
7.50000%{transform:perspective(650px) translate3d(-1.1444vw,0.7420vh,0) rotate(1.8992deg) rotateY(-2.7362deg) scale(0.9935)}
8.33333%{transform:perspective(650px) translate3d(-1.4067vw,0.9000vh,0) rotate(2.5263deg) rotateY(-2.0000deg) scale(0.9920)}
9.16667%{transform:perspective(650px) translate3d(-1.6940vw,1.0679vh,0) rotate(3.0490deg) rotateY(-1.2858deg) scale(0.9903)}
10.00000%{transform:perspective(650px) translate3d(-2.0053vw,1.2438vh,0) rotate(3.4616deg) rotateY(-0.5954deg) scale(0.9885)}
10.83333%{transform:perspective(650px) translate3d(-2.3400vw,1.4258vh,0) rotate(3.7596deg) rotateY(0.0691deg) scale(0.9866)}
11.66667%{transform:perspective(650px) translate3d(-2.6970vw,1.6118vh,0) rotate(3.9397deg) rotateY(0.7061deg) scale(0.9846)}
12.50000%{transform:perspective(650px) translate3d(-3.0754vw,1.8000vh,0) rotate(4.0000deg) rotateY(1.3137deg) scale(0.9824)}
13.33333%{transform:perspective(650px) translate3d(-3.4741vw,1.9882vh,0) rotate(3.9397deg) rotateY(1.8903deg) scale(0.9801)}
14.16667%{transform:perspective(650px) translate3d(-3.8921vw,2.1742vh,0) rotate(3.7596deg) rotateY(2.4343deg) scale(0.9778)}
15.00000%{transform:perspective(650px) translate3d(-4.3283vw,2.3562vh,0) rotate(3.4616deg) rotateY(2.9443deg) scale(0.9753)}
15.83333%{transform:perspective(650px) translate3d(-4.7813vw,2.5321vh,0) rotate(3.0490deg) rotateY(3.4187deg) scale(0.9727)}
16.66667%{transform:perspective(650px) translate3d(-5.2500vw,2.7000vh,0) rotate(2.5263deg) rotateY(3.8564deg) scale(0.9700)}
17.50000%{transform:perspective(650px) translate3d(-5.7331vw,2.8580vh,0) rotate(1.8992deg) rotateY(4.2561deg) scale(0.9672)}
18.33333%{transform:perspective(650px) translate3d(-6.2293vw,3.0044vh,0) rotate(1.1746deg) rotateY(4.6167deg) scale(0.9644)}
19.16667%{transform:perspective(650px) translate3d(-6.7371vw,3.1377vh,0) rotate(0.3604deg) rotateY(4.9373deg) scale(0.9615)}
20.00000%{transform:perspective(650px) translate3d(-7.2553vw,3.2562vh,0) rotate(-0.5344deg) rotateY(5.2169deg) scale(0.9585)}
20.83333%{transform:perspective(650px) translate3d(-7.7824vw,3.3588vh,0) rotate(-1.5000deg) rotateY(5.4548deg) scale(0.9555)}
21.66667%{transform:perspective(650px) translate3d(-8.3169vw,3.4444vh,0) rotate(-2.5259deg) rotateY(5.6504deg) scale(0.9525)}
22.50000%{transform:perspective(650px) translate3d(-8.8574vw,3.5119vh,0) rotate(-3.6008deg) rotateY(5.8030deg) scale(0.9494)}
23.33333%{transform:perspective(650px) translate3d(-9.4025vw,3.5607vh,0) rotate(-4.7130deg) rotateY(5.9124deg) scale(0.9463)}
24.16667%{transform:perspective(650px) translate3d(-9.9505vw,3.5901vh,0) rotate(-5.8502deg) rotateY(5.9781deg) scale(0.9431)}
25.00000%{transform:perspective(650px) translate3d(-10.5000vw,3.6000vh,0) rotate(-7.0000deg) rotateY(6.0000deg) scale(0.9400)}
25.83333%{transform:perspective(650px) translate3d(-11.0495vw,3.5901vh,0) rotate(-8.1498deg) rotateY(5.9781deg) scale(0.9369)}
26.66667%{transform:perspective(650px) translate3d(-11.5975vw,3.5607vh,0) rotate(-9.2870deg) rotateY(5.9124deg) scale(0.9337)}
27.50000%{transform:perspective(650px) translate3d(-12.1426vw,3.5119vh,0) rotate(-10.3992deg) rotateY(5.8030deg) scale(0.9306)}
28.33333%{transform:perspective(650px) translate3d(-12.6831vw,3.4444vh,0) rotate(-11.4741deg) rotateY(5.6504deg) scale(0.9275)}
29.16667%{transform:perspective(650px) translate3d(-13.2176vw,3.3588vh,0) rotate(-12.5000deg) rotateY(5.4548deg) scale(0.9245)}
30.00000%{transform:perspective(650px) translate3d(-13.7447vw,3.2562vh,0) rotate(-13.4656deg) rotateY(5.2169deg) scale(0.9215)}
30.83333%{transform:perspective(650px) translate3d(-14.2629vw,3.1377vh,0) rotate(-14.3604deg) rotateY(4.9373deg) scale(0.9185)}
31.66667%{transform:perspective(650px) translate3d(-14.7707vw,3.0044vh,0) rotate(-15.1746deg) rotateY(4.6167deg) scale(0.9156)}
32.50000%{transform:perspective(650px) translate3d(-15.2669vw,2.8580vh,0) rotate(-15.8992deg) rotateY(4.2561deg) scale(0.9128)}
33.33333%{transform:perspective(650px) translate3d(-15.7500vw,2.7000vh,0) rotate(-16.5263deg) rotateY(3.8564deg) scale(0.9100)}
34.16667%{transform:perspective(650px) translate3d(-16.2187vw,2.5321vh,0) rotate(-17.0490deg) rotateY(3.4187deg) scale(0.9073)}
35.00000%{transform:perspective(650px) translate3d(-16.6717vw,2.3562vh,0) rotate(-17.4616deg) rotateY(2.9443deg) scale(0.9047)}
35.83333%{transform:perspective(650px) translate3d(-17.1079vw,2.1742vh,0) rotate(-17.7596deg) rotateY(2.4343deg) scale(0.9022)}
36.66667%{transform:perspective(650px) translate3d(-17.5259vw,1.9882vh,0) rotate(-17.9397deg) rotateY(1.8903deg) scale(0.8999)}
37.50000%{transform:perspective(650px) translate3d(-17.9246vw,1.8000vh,0) rotate(-18.0000deg) rotateY(1.3137deg) scale(0.8976)}
38.33333%{transform:perspective(650px) translate3d(-18.3030vw,1.6118vh,0) rotate(-17.9397deg) rotateY(0.7061deg) scale(0.8954)}
39.16667%{transform:perspective(650px) translate3d(-18.6600vw,1.4258vh,0) rotate(-17.7596deg) rotateY(0.0691deg) scale(0.8934)}
40.00000%{transform:perspective(650px) translate3d(-18.9947vw,1.2438vh,0) rotate(-17.4616deg) rotateY(-0.5954deg) scale(0.8915)}
40.83333%{transform:perspective(650px) translate3d(-19.3060vw,1.0679vh,0) rotate(-17.0490deg) rotateY(-1.2858deg) scale(0.8897)}
41.66667%{transform:perspective(650px) translate3d(-19.5933vw,0.9000vh,0) rotate(-16.5263deg) rotateY(-2.0000deg) scale(0.8880)}
42.50000%{transform:perspective(650px) translate3d(-19.8556vw,0.7420vh,0) rotate(-15.8992deg) rotateY(-2.7362deg) scale(0.8865)}
43.33333%{transform:perspective(650px) translate3d(-20.0922vw,0.5956vh,0) rotate(-15.1746deg) rotateY(-3.4922deg) scale(0.8852)}
44.16667%{transform:perspective(650px) translate3d(-20.3026vw,0.4623vh,0) rotate(-14.3604deg) rotateY(-4.2661deg) scale(0.8840)}
45.00000%{transform:perspective(650px) translate3d(-20.4861vw,0.3438vh,0) rotate(-13.4656deg) rotateY(-5.0557deg) scale(0.8829)}
45.83333%{transform:perspective(650px) translate3d(-20.6422vw,0.2412vh,0) rotate(-12.5000deg) rotateY(-5.8589deg) scale(0.8820)}
46.66667%{transform:perspective(650px) translate3d(-20.7705vw,0.1556vh,0) rotate(-11.4741deg) rotateY(-6.6734deg) scale(0.8813)}
47.50000%{transform:perspective(650px) translate3d(-20.8707vw,0.0881vh,0) rotate(-10.3992deg) rotateY(-7.4970deg) scale(0.8807)}
48.33333%{transform:perspective(650px) translate3d(-20.9425vw,0.0393vh,0) rotate(-9.2870deg) rotateY(-8.3275deg) scale(0.8803)}
49.16667%{transform:perspective(650px) translate3d(-20.9856vw,0.0099vh,0) rotate(-8.1498deg) rotateY(-9.1626deg) scale(0.8801)}
50.00000%{transform:perspective(650px) translate3d(-21.0000vw,0.0000vh,0) rotate(-7.0000deg) rotateY(-10.0000deg) scale(0.8800)}
50.83333%{transform:perspective(650px) translate3d(-20.9856vw,0.0099vh,0) rotate(-5.8502deg) rotateY(-10.8374deg) scale(0.8801)}
51.66667%{transform:perspective(650px) translate3d(-20.9425vw,0.0393vh,0) rotate(-4.7130deg) rotateY(-11.6725deg) scale(0.8803)}
52.50000%{transform:perspective(650px) translate3d(-20.8707vw,0.0881vh,0) rotate(-3.6008deg) rotateY(-12.5030deg) scale(0.8807)}
53.33333%{transform:perspective(650px) translate3d(-20.7705vw,0.1556vh,0) rotate(-2.5259deg) rotateY(-13.3266deg) scale(0.8813)}
54.16667%{transform:perspective(650px) translate3d(-20.6422vw,0.2412vh,0) rotate(-1.5000deg) rotateY(-14.1411deg) scale(0.8820)}
55.00000%{transform:perspective(650px) translate3d(-20.4861vw,0.3438vh,0) rotate(-0.5344deg) rotateY(-14.9443deg) scale(0.8829)}
55.83333%{transform:perspective(650px) translate3d(-20.3026vw,0.4623vh,0) rotate(0.3604deg) rotateY(-15.7339deg) scale(0.8840)}
56.66667%{transform:perspective(650px) translate3d(-20.0922vw,0.5956vh,0) rotate(1.1746deg) rotateY(-16.5078deg) scale(0.8852)}
57.50000%{transform:perspective(650px) translate3d(-19.8556vw,0.7420vh,0) rotate(1.8992deg) rotateY(-17.2638deg) scale(0.8865)}
58.33333%{transform:perspective(650px) translate3d(-19.5933vw,0.9000vh,0) rotate(2.5263deg) rotateY(-18.0000deg) scale(0.8880)}
59.16667%{transform:perspective(650px) translate3d(-19.3060vw,1.0679vh,0) rotate(3.0490deg) rotateY(-18.7142deg) scale(0.8897)}
60.00000%{transform:perspective(650px) translate3d(-18.9947vw,1.2438vh,0) rotate(3.4616deg) rotateY(-19.4046deg) scale(0.8915)}
60.83333%{transform:perspective(650px) translate3d(-18.6600vw,1.4258vh,0) rotate(3.7596deg) rotateY(-20.0691deg) scale(0.8934)}
61.66667%{transform:perspective(650px) translate3d(-18.3030vw,1.6118vh,0) rotate(3.9397deg) rotateY(-20.7061deg) scale(0.8954)}
62.50000%{transform:perspective(650px) translate3d(-17.9246vw,1.8000vh,0) rotate(4.0000deg) rotateY(-21.3137deg) scale(0.8976)}
63.33333%{transform:perspective(650px) translate3d(-17.5259vw,1.9882vh,0) rotate(3.9397deg) rotateY(-21.8903deg) scale(0.8999)}
64.16667%{transform:perspective(650px) translate3d(-17.1079vw,2.1742vh,0) rotate(3.7596deg) rotateY(-22.4343deg) scale(0.9022)}
65.00000%{transform:perspective(650px) translate3d(-16.6717vw,2.3562vh,0) rotate(3.4616deg) rotateY(-22.9443deg) scale(0.9047)}
65.83333%{transform:perspective(650px) translate3d(-16.2187vw,2.5321vh,0) rotate(3.0490deg) rotateY(-23.4187deg) scale(0.9073)}
66.66667%{transform:perspective(650px) translate3d(-15.7500vw,2.7000vh,0) rotate(2.5263deg) rotateY(-23.8564deg) scale(0.9100)}
67.50000%{transform:perspective(650px) translate3d(-15.2669vw,2.8580vh,0) rotate(1.8992deg) rotateY(-24.2561deg) scale(0.9128)}
68.33333%{transform:perspective(650px) translate3d(-14.7707vw,3.0044vh,0) rotate(1.1746deg) rotateY(-24.6167deg) scale(0.9156)}
69.16667%{transform:perspective(650px) translate3d(-14.2629vw,3.1377vh,0) rotate(0.3604deg) rotateY(-24.9373deg) scale(0.9185)}
70.00000%{transform:perspective(650px) translate3d(-13.7447vw,3.2562vh,0) rotate(-0.5344deg) rotateY(-25.2169deg) scale(0.9215)}
70.83333%{transform:perspective(650px) translate3d(-13.2176vw,3.3588vh,0) rotate(-1.5000deg) rotateY(-25.4548deg) scale(0.9245)}
71.66667%{transform:perspective(650px) translate3d(-12.6831vw,3.4444vh,0) rotate(-2.5259deg) rotateY(-25.6504deg) scale(0.9275)}
72.50000%{transform:perspective(650px) translate3d(-12.1426vw,3.5119vh,0) rotate(-3.6008deg) rotateY(-25.8030deg) scale(0.9306)}
73.33333%{transform:perspective(650px) translate3d(-11.5975vw,3.5607vh,0) rotate(-4.7130deg) rotateY(-25.9124deg) scale(0.9337)}
74.16667%{transform:perspective(650px) translate3d(-11.0495vw,3.5901vh,0) rotate(-5.8502deg) rotateY(-25.9781deg) scale(0.9369)}
75.00000%{transform:perspective(650px) translate3d(-10.5000vw,3.6000vh,0) rotate(-7.0000deg) rotateY(-26.0000deg) scale(0.9400)}
75.83333%{transform:perspective(650px) translate3d(-9.9505vw,3.5901vh,0) rotate(-8.1498deg) rotateY(-25.9781deg) scale(0.9431)}
76.66667%{transform:perspective(650px) translate3d(-9.4025vw,3.5607vh,0) rotate(-9.2870deg) rotateY(-25.9124deg) scale(0.9463)}
77.50000%{transform:perspective(650px) translate3d(-8.8574vw,3.5119vh,0) rotate(-10.3992deg) rotateY(-25.8030deg) scale(0.9494)}
78.33333%{transform:perspective(650px) translate3d(-8.3169vw,3.4444vh,0) rotate(-11.4741deg) rotateY(-25.6504deg) scale(0.9525)}
79.16667%{transform:perspective(650px) translate3d(-7.7824vw,3.3588vh,0) rotate(-12.5000deg) rotateY(-25.4548deg) scale(0.9555)}
80.00000%{transform:perspective(650px) translate3d(-7.2553vw,3.2562vh,0) rotate(-13.4656deg) rotateY(-25.2169deg) scale(0.9585)}
80.83333%{transform:perspective(650px) translate3d(-6.7371vw,3.1377vh,0) rotate(-14.3604deg) rotateY(-24.9373deg) scale(0.9615)}
81.66667%{transform:perspective(650px) translate3d(-6.2293vw,3.0044vh,0) rotate(-15.1746deg) rotateY(-24.6167deg) scale(0.9644)}
82.50000%{transform:perspective(650px) translate3d(-5.7331vw,2.8580vh,0) rotate(-15.8992deg) rotateY(-24.2561deg) scale(0.9672)}
83.33333%{transform:perspective(650px) translate3d(-5.2500vw,2.7000vh,0) rotate(-16.5263deg) rotateY(-23.8564deg) scale(0.9700)}
84.16667%{transform:perspective(650px) translate3d(-4.7813vw,2.5321vh,0) rotate(-17.0490deg) rotateY(-23.4187deg) scale(0.9727)}
85.00000%{transform:perspective(650px) translate3d(-4.3283vw,2.3562vh,0) rotate(-17.4616deg) rotateY(-22.9443deg) scale(0.9753)}
85.83333%{transform:perspective(650px) translate3d(-3.8921vw,2.1742vh,0) rotate(-17.7596deg) rotateY(-22.4343deg) scale(0.9778)}
86.66667%{transform:perspective(650px) translate3d(-3.4741vw,1.9882vh,0) rotate(-17.9397deg) rotateY(-21.8903deg) scale(0.9801)}
87.50000%{transform:perspective(650px) translate3d(-3.0754vw,1.8000vh,0) rotate(-18.0000deg) rotateY(-21.3137deg) scale(0.9824)}
88.33333%{transform:perspective(650px) translate3d(-2.6970vw,1.6118vh,0) rotate(-17.9397deg) rotateY(-20.7061deg) scale(0.9846)}
89.16667%{transform:perspective(650px) translate3d(-2.3400vw,1.4258vh,0) rotate(-17.7596deg) rotateY(-20.0691deg) scale(0.9866)}
90.00000%{transform:perspective(650px) translate3d(-2.0053vw,1.2438vh,0) rotate(-17.4616deg) rotateY(-19.4046deg) scale(0.9885)}
90.83333%{transform:perspective(650px) translate3d(-1.6940vw,1.0679vh,0) rotate(-17.0490deg) rotateY(-18.7142deg) scale(0.9903)}
91.66667%{transform:perspective(650px) translate3d(-1.4067vw,0.9000vh,0) rotate(-16.5263deg) rotateY(-18.0000deg) scale(0.9920)}
92.50000%{transform:perspective(650px) translate3d(-1.1444vw,0.7420vh,0) rotate(-15.8992deg) rotateY(-17.2638deg) scale(0.9935)}
93.33333%{transform:perspective(650px) translate3d(-0.9078vw,0.5956vh,0) rotate(-15.1746deg) rotateY(-16.5078deg) scale(0.9948)}
94.16667%{transform:perspective(650px) translate3d(-0.6974vw,0.4623vh,0) rotate(-14.3604deg) rotateY(-15.7339deg) scale(0.9960)}
95.00000%{transform:perspective(650px) translate3d(-0.5139vw,0.3438vh,0) rotate(-13.4656deg) rotateY(-14.9443deg) scale(0.9971)}
95.83333%{transform:perspective(650px) translate3d(-0.3578vw,0.2412vh,0) rotate(-12.5000deg) rotateY(-14.1411deg) scale(0.9980)}
96.66667%{transform:perspective(650px) translate3d(-0.2295vw,0.1556vh,0) rotate(-11.4741deg) rotateY(-13.3266deg) scale(0.9987)}
97.50000%{transform:perspective(650px) translate3d(-0.1293vw,0.0881vh,0) rotate(-10.3992deg) rotateY(-12.5030deg) scale(0.9993)}
98.33333%{transform:perspective(650px) translate3d(-0.0575vw,0.0393vh,0) rotate(-9.2870deg) rotateY(-11.6725deg) scale(0.9997)}
99.16667%{transform:perspective(650px) translate3d(-0.0144vw,0.0099vh,0) rotate(-8.1498deg) rotateY(-10.8374deg) scale(0.9999)}
100.00000%{transform:perspective(650px) translate3d(-0.0000vw,0.0000vh,0) rotate(-7.0000deg) rotateY(-10.0000deg) scale(1.0000)}
}
@media(prefers-reduced-motion:reduce){#lobby-backdrop .scene-kite{animation:none!important}}

/* Collapsing the left menu also hides its score and currency plaques. */
#shell[data-left-menu-closed=true] #menu-top-stats,
#shell[data-left-menu-closed=true] #menu-top-stats *{visibility:hidden!important;pointer-events:none!important}
/* Only loading screens suppress seasonal effects. */
#loading-screen>.menu-atmosphere{display:none!important}

.equipped-stage .equipped-heading{display:none!important}

/* Portrait orchard: clean sky behind a separately anchored, flexible branch. */
html[data-menu-art=fall] #shell #rotate-screen{background-image:url('/assets/game/fall-menu-v4.webp')}
html[data-menu-art=summer] #shell #rotate-screen{background-image:url('/assets/game/orchard-upright-v1.webp')}
#rotate-screen .upright-orchard-branch{position:absolute;z-index:3;left:-12px;top:-10px;width:clamp(308.448px,86.8224vw,434.112px);aspect-ratio:1.5;transform-origin:0 0;animation:orchard-branch-sway 18s linear infinite;will-change:transform}
.upright-orchard-branch:has(.animated-sprite:not([hidden])){background:none!important}
@keyframes orchard-branch-sway{
0.00000%{transform:rotate(3.1683deg)}
0.83333%{transform:rotate(5.4888deg)}
1.66667%{transform:rotate(7.4983deg)}
2.50000%{transform:rotate(9.0783deg)}
3.33333%{transform:rotate(10.1602deg)}
4.16667%{transform:rotate(10.7306deg)}
5.00000%{transform:rotate(10.8299deg)}
5.83333%{transform:rotate(10.5442deg)}
6.66667%{transform:rotate(9.9913deg)}
7.50000%{transform:rotate(9.3031deg)}
8.33333%{transform:rotate(8.6067deg)}
9.16667%{transform:rotate(8.0066deg)}
10.00000%{transform:rotate(7.5706deg)}
10.83333%{transform:rotate(7.3208deg)}
11.66667%{transform:rotate(7.2320deg)}
12.50000%{transform:rotate(7.2362deg)}
13.33333%{transform:rotate(7.2334deg)}
14.16667%{transform:rotate(7.1080deg)}
15.00000%{transform:rotate(6.7461deg)}
15.83333%{transform:rotate(6.0547deg)}
16.66667%{transform:rotate(4.9771deg)}
17.50000%{transform:rotate(3.5040deg)}
18.33333%{transform:rotate(1.6788deg)}
19.16667%{transform:rotate(-0.4048deg)}
20.00000%{transform:rotate(-2.6110deg)}
20.83333%{transform:rotate(-4.7772deg)}
21.66667%{transform:rotate(-6.7318deg)}
22.50000%{transform:rotate(-8.3144deg)}
23.33333%{transform:rotate(-9.3947deg)}
24.16667%{transform:rotate(-9.8875deg)}
25.00000%{transform:rotate(-9.7632deg)}
25.83333%{transform:rotate(-9.0502deg)}
26.66667%{transform:rotate(-7.8312deg)}
27.50000%{transform:rotate(-6.2326deg)}
28.33333%{transform:rotate(-4.4081deg)}
29.16667%{transform:rotate(-2.5203deg)}
30.00000%{transform:rotate(-0.7208deg)}
30.83333%{transform:rotate(0.8678deg)}
31.66667%{transform:rotate(2.1645deg)}
32.50000%{transform:rotate(3.1385deg)}
33.33333%{transform:rotate(3.8089deg)}
34.16667%{transform:rotate(4.2389deg)}
35.00000%{transform:rotate(4.5239deg)}
35.83333%{transform:rotate(4.7746deg)}
36.66667%{transform:rotate(5.0989deg)}
37.50000%{transform:rotate(5.5840deg)}
38.33333%{transform:rotate(6.2817deg)}
39.16667%{transform:rotate(7.1985deg)}
40.00000%{transform:rotate(8.2926deg)}
40.83333%{transform:rotate(9.4770deg)}
41.66667%{transform:rotate(10.6301deg)}
42.50000%{transform:rotate(11.6108deg)}
43.33333%{transform:rotate(12.2767deg)}
44.16667%{transform:rotate(12.5038deg)}
45.00000%{transform:rotate(12.2033deg)}
45.83333%{transform:rotate(11.3354deg)}
46.66667%{transform:rotate(9.9160deg)}
47.50000%{transform:rotate(8.0176deg)}
48.33333%{transform:rotate(5.7619deg)}
49.16667%{transform:rotate(3.3075deg)}
50.00000%{transform:rotate(0.8317deg)}
50.83333%{transform:rotate(-1.4888deg)}
51.66667%{transform:rotate(-3.4983deg)}
52.50000%{transform:rotate(-5.0783deg)}
53.33333%{transform:rotate(-6.1602deg)}
54.16667%{transform:rotate(-6.7306deg)}
55.00000%{transform:rotate(-6.8299deg)}
55.83333%{transform:rotate(-6.5442deg)}
56.66667%{transform:rotate(-5.9913deg)}
57.50000%{transform:rotate(-5.3031deg)}
58.33333%{transform:rotate(-4.6067deg)}
59.16667%{transform:rotate(-4.0066deg)}
60.00000%{transform:rotate(-3.5706deg)}
60.83333%{transform:rotate(-3.3208deg)}
61.66667%{transform:rotate(-3.2320deg)}
62.50000%{transform:rotate(-3.2362deg)}
63.33333%{transform:rotate(-3.2334deg)}
64.16667%{transform:rotate(-3.1080deg)}
65.00000%{transform:rotate(-2.7461deg)}
65.83333%{transform:rotate(-2.0547deg)}
66.66667%{transform:rotate(-0.9771deg)}
67.50000%{transform:rotate(0.4960deg)}
68.33333%{transform:rotate(2.3212deg)}
69.16667%{transform:rotate(4.4048deg)}
70.00000%{transform:rotate(6.6110deg)}
70.83333%{transform:rotate(8.7772deg)}
71.66667%{transform:rotate(10.7318deg)}
72.50000%{transform:rotate(12.3144deg)}
73.33333%{transform:rotate(13.3947deg)}
74.16667%{transform:rotate(13.8875deg)}
75.00000%{transform:rotate(13.7632deg)}
75.83333%{transform:rotate(13.0502deg)}
76.66667%{transform:rotate(11.8312deg)}
77.50000%{transform:rotate(10.2326deg)}
78.33333%{transform:rotate(8.4081deg)}
79.16667%{transform:rotate(6.5203deg)}
80.00000%{transform:rotate(4.7208deg)}
80.83333%{transform:rotate(3.1322deg)}
81.66667%{transform:rotate(1.8355deg)}
82.50000%{transform:rotate(0.8615deg)}
83.33333%{transform:rotate(0.1911deg)}
84.16667%{transform:rotate(-0.2389deg)}
85.00000%{transform:rotate(-0.5239deg)}
85.83333%{transform:rotate(-0.7746deg)}
86.66667%{transform:rotate(-1.0989deg)}
87.50000%{transform:rotate(-1.5840deg)}
88.33333%{transform:rotate(-2.2817deg)}
89.16667%{transform:rotate(-3.1985deg)}
90.00000%{transform:rotate(-4.2926deg)}
90.83333%{transform:rotate(-5.4770deg)}
91.66667%{transform:rotate(-6.6301deg)}
92.50000%{transform:rotate(-7.6108deg)}
93.33333%{transform:rotate(-8.2767deg)}
94.16667%{transform:rotate(-8.5038deg)}
95.00000%{transform:rotate(-8.2033deg)}
95.83333%{transform:rotate(-7.3354deg)}
96.66667%{transform:rotate(-5.9160deg)}
97.50000%{transform:rotate(-4.0176deg)}
98.33333%{transform:rotate(-1.7619deg)}
99.16667%{transform:rotate(0.6925deg)}
100.00000%{transform:rotate(3.1683deg)}
}
#rotate-screen .scene-kite{width:55.2px;height:82.8px;right:3%;top:1.2%;animation:kite-phone-sky 16s ease-in-out infinite}
html:not([data-theme-ready]) #shell #rotate-screen{background:#143749!important}
@media(prefers-reduced-motion:reduce){#rotate-screen .upright-orchard-branch,#rotate-screen .scene-kite{animation:none!important}}

html:not([data-theme-ready]) #shell #loading-screen{background:#143749!important}
#shell.needs-rotation #loading-screen{display:none!important}
@media(pointer:coarse) and (orientation:portrait) and (max-width:600px){#shell #loading-screen{display:none!important}}

/* Small gusts act on the flake while its parent keeps falling steadily. */
.snow-art.snow-drift{animation:scene-snow-drift calc(var(--sway) * 1.4) ease-in-out var(--delay) infinite;transform-origin:center}
@keyframes scene-snow-drift{0%,100%{transform:translateX(-18px) rotate(-12deg)}25%{transform:translateX(9px) rotate(8deg)}50%{transform:translateX(23px) rotate(17deg)}75%{transform:translateX(-5px) rotate(-6deg)}}

.menu-atmosphere>.scene-kite{z-index:2}

/* The WebGL mask follows the carved pumpkin and lantern openings exactly. */
html[data-menu-art=halloween] #lobby-backdrop::before{display:none}

/* One brief background glint per three minutes; it never covers controls. */
#lobby-backdrop .scene-rare{position:absolute;z-index:1;width:54px;height:54px;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,#fffbd2 0,#fff4ab88 20%,transparent 65%);filter:blur(1px);animation:seasonal-glint 180s linear infinite}
#lobby-backdrop .scene-rare::before,#lobby-backdrop .scene-rare::after{content:"";position:absolute;left:49%;top:10%;width:2px;height:80%;background:linear-gradient(transparent,#fff8d9,transparent)}
#lobby-backdrop .scene-rare::after{transform:rotate(90deg)}
#lobby-backdrop .rare-original{left:69%;top:34%;filter:hue-rotate(100deg)}
#lobby-backdrop .rare-summer{left:73%;top:27%;filter:hue-rotate(30deg)}
#lobby-backdrop .rare-fall{left:24%;top:33%;filter:hue-rotate(-25deg)}
#lobby-backdrop .rare-halloween{left:70%;top:22%;filter:hue-rotate(210deg)}
#lobby-backdrop .rare-christmas{left:45%;top:20%;filter:hue-rotate(65deg)}
@keyframes seasonal-glint{0%,49%,52%,100%{opacity:0;transform:scale(.55)}50%{opacity:.55;transform:scale(1)}51%{opacity:.45;transform:scale(1.2)}}
#shell.reduce-flashes .scene-rare{display:none}
@media(prefers-reduced-motion:reduce){.scene-rare{display:none!important}}

/* The main menu snake remains tappable without a frosted panel or prompt. */
#shell #lobby #menu-snake-growth{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#shell #lobby #menu-snake-growth-label{display:none!important}

/* Daylight variants change scenery without dimming menu controls or labels. */
html[data-menu-lighting=evening] #lobby-backdrop{filter:saturate(.9) brightness(.82) sepia(.12)}
html[data-menu-lighting=night] #lobby-backdrop{filter:saturate(.72) brightness(.63) hue-rotate(8deg)}
.theme-sample[data-lighting=evening]{filter:saturate(.9) brightness(.82) sepia(.12)}
.theme-sample[data-lighting=night]{filter:saturate(.72) brightness(.63) hue-rotate(8deg)}

/* The Store keeps opaque, readable cards while reflecting the active season. */
html[data-menu-art=original]{--store-season-color:#57cfe9;--store-season-glow:#cffaff}
html[data-menu-art=summer]{--store-season-color:#70cb87;--store-season-glow:#edffd3}
html[data-menu-art=fall]{--store-season-color:#eaaa51;--store-season-glow:#fff0c4}
html[data-menu-art=halloween]{--store-season-color:#ad83dc;--store-season-glow:#f5dcff}
html[data-menu-art=christmas]{--store-season-color:#d86d77;--store-season-glow:#e5fff2}
#shell #collection-store .store-detail{border-color:var(--store-season-color);box-shadow:inset 0 5px var(--store-season-glow),0 5px 16px #102b4a20}
#shell #collection-store .store-card[aria-pressed=true]{border-color:var(--store-season-color);box-shadow:0 0 0 3px var(--store-season-glow),0 5px 14px #102b4a30}
#shell #collection-store .store-intro h3{color:var(--store-season-glow)}

.theme-season-calendar{margin:12px 0;padding:12px;border:1px solid var(--theme-edge);border-radius:12px;background:var(--theme-soft);color:#173d60}
.theme-season-calendar h4{margin:0 0 8px}.theme-season-calendar table{width:100%;border-collapse:collapse;text-align:left}.theme-season-calendar th,.theme-season-calendar td{padding:5px 8px;border-bottom:1px solid #35597a35}.theme-season-calendar p{margin:9px 0 0;font-size:.875rem;line-height:1.4}

/* Brief scenery taps never intercept menu controls. */
.scene-touch-ripple{position:absolute;width:92px;height:30px;border:1px solid #e2ffffb3;border-radius:50%;box-shadow:0 0 0 7px #cef4ff14,inset 0 0 0 7px #cef4ff14;pointer-events:none;z-index:3}

/* Two crossing boughs sway from fixed roots at opposite screen edges. */
#rotate-screen .orchard-canopy{position:absolute;z-index:3;left:0;top:0;width:100%;height:clamp(220px,34vh,340px);pointer-events:none}
.orchard-canopy .canopy-arm{position:absolute;width:106%;aspect-ratio:1.5;will-change:transform}
.orchard-canopy .canopy-arm-left{left:-8%;top:-62px;transform-origin:0 0;animation:canopy-left-sway 6.8s ease-in-out infinite}
.orchard-canopy .canopy-arm-right{right:-8%;top:-48px;transform-origin:100% 0;animation:canopy-right-sway 8.3s ease-in-out infinite;animation-delay:-3s}
.orchard-canopy .canopy-limb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.orchard-canopy .canopy-arm-right .canopy-limb{transform:scaleX(-1)}
.orchard-canopy .canopy-leaf{position:absolute;height:auto;object-fit:contain}
@keyframes canopy-left-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
@keyframes canopy-right-sway{0%,100%{transform:rotate(4deg)}50%{transform:rotate(-5deg)}}
#rotate-screen .rotate-card{position:relative;z-index:4}
@media(prefers-reduced-motion:reduce){#rotate-screen .canopy-arm{animation:none;will-change:auto}}

/* The initial portrait backdrop must match the clean rotation scene. */
@media(orientation:portrait){html[data-menu-art=fall]{--theme-world:url('/assets/game/fall-menu-v4.webp')}}

/* Results own their grid rows; the optional timeline must not displace cards. */
#shell #death{z-index:90;overflow:auto;background:linear-gradient(135deg,#102b42,#172038);padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));align-items:flex-start}
#shell #death .results-dialog{width:min(1180px,100%);height:auto;min-height:100%;max-height:none;margin:auto;overflow:visible;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:auto minmax(170px,1fr) auto;grid-template-areas:'heading heading heading' 'summary quests season' 'actions actions actions';gap:10px;padding:0}
#shell #death .results-heading{grid-area:heading;display:grid;grid-template-columns:1fr 1.8fr 1fr;min-height:52px;gap:12px}
#shell #death .results-heading h2{font-size:26px;line-height:1.1;margin:0 0 4px}
#shell #death #result-adventures{font-size:12px;line-height:1.3;margin:0 auto;max-width:420px}
#shell #death #death-reason{font-size:11px;margin:3px 0 0}
#shell #death .result-summary{grid-area:summary}
#shell #death .result-quests{grid-area:quests}
#shell #death .result-season{grid-area:season}
#shell #death :is(.result-summary,.result-quests,.result-season){overflow:visible;min-height:170px;padding:10px;background:#203c57;border:1px solid #6b91a5;box-shadow:none}
#shell #death .result-season{background:#343761}
#shell #death .result-actions{grid-area:actions;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 1.3fr;gap:8px;align-items:center}
#shell #death #revive-note{grid-column:1/-1;max-width:none;font-size:12px;line-height:1.3;margin:0}
#shell #death .result-actions button{grid-column:auto;grid-row:auto;width:100%;min-width:0;min-height:42px;padding:8px;font-size:13px;white-space:normal}
#shell #death #death-exit{order:3}#shell #death #restart{order:4}#shell #death #respawn{order:5}
#shell #death .quest-list.compact{grid-template-rows:none;gap:6px}
#shell #death .result-season-track{margin:6px 0;gap:6px}
#shell #death .season-medal{padding:4px}#shell #death .season-medal b{font-size:24px}
#shell #death .results-title>small{display:none}
@media(max-height:500px){#shell #death .round-score strong{font-size:25px}#shell #death .round-score{margin:0}#shell #death h3{font-size:16px;margin:0 0 6px}#shell #death .results-table th,#shell #death .results-table td{padding:3px;font-size:12px}#shell #death .ruby-reward{margin-top:5px;padding:5px}#shell #death .result-season p{margin:4px 0;font-size:11px}#shell #death .result-season>strong{font-size:17px}}
@media(orientation:portrait){#shell #death .results-dialog{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:'heading' 'summary' 'quests' 'season' 'actions'}#shell #death .results-heading{grid-template-columns:1fr 1fr!important}#shell #death .result-actions{grid-template-columns:1fr 1fr}}
@media(orientation:landscape){#shell #death .results-dialog{height:calc(100dvh - 24px);min-height:0;grid-template-rows:auto minmax(0,1fr) auto}#shell #death :is(.result-summary,.result-quests,.result-season){min-height:0;overflow:auto;overscroll-behavior:contain}#shell #death .quest-list.compact{flex:none}#shell #death .quest-card{min-height:0;padding:6px}#shell #death .quest-card progress{margin:4px 0}#shell #death .quest-card strong{font-size:12px}#shell #death .quest-card span{font-size:10px}#shell #death .result-season-track .season-medal b{font-size:20px}}

@media(orientation:landscape) and (max-height:500px){
 #shell #death .results-table{flex:none;margin:2px 0 4px}
 #shell #death .results-table th,#shell #death .results-table td{font-size:11px;line-height:1.15;padding:2px 3px}
 #shell #death .ruby-reward{flex-shrink:0;padding:4px;gap:4px}
 #shell #death .ruby-reward .ruby-icon{width:22px;height:26px}
 #shell #death .ruby-reward b{font-size:16px}
 #shell #death .quest-list.compact{gap:4px}
 #shell #death .quest-card{padding:4px 6px}
 #shell #death .quest-card strong{font-size:11px}
 #shell #death .quest-card progress{height:5px;margin:3px 0}
}

#rotate-screen .halloween-phone-canopy-cleanup{left:28.6458333333%;top:0;width:7.1614583333%;height:13.671875%;z-index:2}
