/* Shared scene artwork; never modifies the Flash canvas or room geometry. */
/* Match the mean of the first four painted sky rows in each source image.
   A single blue for all six paintings leaves a band even with a soft mask. */
html[data-season]{--scene-forest:url('/flashclient-20141201/desktop-client/ui/assets/panfu-trees-hd.png');--scene-ground:#abcc1d;--scene-sky:#59d2fd;--scene-low:#70d8ed}
html[data-season=christmas]{--scene-forest:url('/flashclient-20141201/desktop-client/ui/assets/forest-christmas-215.png');--scene-sky:#51cefd;--scene-ground:#f3f8fc}
html[data-season=halloween]{--scene-forest:url('/flashclient-20141201/desktop-client/ui/assets/forest-halloween-215.png');--scene-sky:#56cefc;--scene-ground:#c49d2f}
html[data-sky=night]{--scene-sky:#062151;--scene-low:#294b79;--scene-forest:url('/flashclient-20141201/desktop-client/ui/assets/forest-normal-night-215.png');--scene-ground:#416a3e;background:var(--scene-sky)}
html[data-season=halloween][data-sky=night]{--scene-sky:#031136;--scene-forest:url('/flashclient-20141201/desktop-client/ui/assets/forest-halloween-night-215.png');--scene-ground:#3b3e38}
html[data-season=christmas][data-sky=night]{--scene-sky:#112550;--scene-forest:url('/flashclient-20141201/desktop-client/ui/assets/forest-christmas-night-215.png');--scene-ground:#88ace6}
html[data-season] .forest-backdrop{background-image:var(--scene-forest)}
html[data-season] .forest-backdrop:after{background:linear-gradient(transparent,var(--scene-ground))}
html[data-season] .soil-surface:before{background-image:linear-gradient(var(--scene-ground),transparent 40px),var(--scene-forest);background-color:var(--scene-ground)}
html[data-season] .world-landscape,html[data-season] .tree-line,html[data-season] .scene-handoff-cover:before{background-image:var(--scene-forest),linear-gradient(var(--scene-ground),var(--scene-ground))}
html[data-season] .game-stage{background-image:var(--scene-forest),linear-gradient(var(--scene-sky),var(--scene-low) 46%,var(--scene-ground) 72%)}
html[data-season] .web-player-status{background-image:var(--scene-forest);background-color:var(--scene-sky);background-position:center bottom;background-size:auto 100%;background-repeat:repeat-x}
html[data-season=christmas] .explore-stage:before,html[data-season=halloween] .explore-stage:before,html[data-sky=night] .explore-stage:before{background:var(--scene-ground)}
html[data-sky=night] body,html[data-sky=night] .world-camera,html[data-sky=night] .world,html[data-sky=night] .scene-handoff-cover,html[data-sky=night] .forest-stage{background-color:var(--scene-sky)}
html[data-sky=night] .scene-handoff-cover:after,html[data-sky=night] .world-landscape:before{background:linear-gradient(var(--scene-sky) 58%,transparent)}
html[data-sky=night] .world-clouds i{background:#9cbbd51c}
html[data-sky=night] .sky-page.world-scrolled .site-header{background:linear-gradient(var(--scene-sky) 75%,transparent)}
html[data-sky=night] .board-caption,html[data-sky=night] .game-topbar,html[data-sky=night] .web-player-account span,html[data-sky=night] .web-player-account small,html[data-sky=night] .web-player-note{color:#e0edff}
html[data-sky=night] .game-frame,html[data-sky=night] .web-player-frame{border-color:#e5efff}
html[data-sky=night] .client-tabs,html[data-sky=night] .client-nav{background:#213d6ce8;border-color:#a9c7e477}
html[data-sky=night] .client-tabs a,html[data-sky=night] .client-tabs [data-language-toggle],html[data-sky=night] .client-nav .nav-link{color:#f2f7ff;text-shadow:none}
html[data-sky=night] .client-tabs a:hover,html[data-sky=night] .client-tabs a[aria-current=page],html[data-sky=night] .client-tabs [data-language-toggle][aria-expanded=true],html[data-sky=night] .client-nav .nav-link.active,html[data-sky=night] .client-nav .nav-link:hover{background:#d8eee9;color:#214f49}
.standalone-sky{position:fixed;inset:0;pointer-events:none;z-index:0}
/* Small, code-drawn moon: no extra image download or continuously repainted
   blur. Keep it in the persistent camera so entering the game cannot flash it. */
.winter-moon{display:none;position:absolute;z-index:3;right:10%;top:clamp(88px,14vh,180px);width:clamp(44px,5.2vw,76px);aspect-ratio:1;border-radius:50%;pointer-events:none;border:2px solid #b9d6e8;background:radial-gradient(ellipse at 30% 31%,#b9cddd88 0 8%,transparent 9%),radial-gradient(ellipse at 64% 65%,#b9cddd66 0 12%,transparent 13%),radial-gradient(circle at 31% 68%,#c3d5df66 0 5%,transparent 6%),radial-gradient(circle at 37% 32%,#fffdec 0 42%,#e5edf0 76%,#bed4e4);box-shadow:0 0 16px 5px #dcefff30,0 0 48px 16px #bedfff13,inset -4px -3px 0 #a8c4d744}
html[data-season=christmas][data-sky=night] .winter-moon{display:block}
.sky-page>.winter-moon{position:fixed;z-index:0}
@media(max-width:760px){.winter-moon{right:7%;top:118px;width:44px}.forest-stage>.winter-moon,.landing-stage>.winter-moon{top:20px}}
.account-ban{padding:14px 18px;border:2px solid #d8a8a1;border-radius:16px;background:#fff1e9;color:#813c34;line-height:1.5}
[data-play-web]:disabled,#auto-login-button:disabled{background:#a8aeaa!important;border-color:#949d96!important;color:#f2f4f2!important;box-shadow:none!important;cursor:not-allowed;filter:grayscale(1)}
html[data-season] body.web-player-page{background-image:var(--scene-forest),linear-gradient(var(--scene-sky) 0 45%,var(--scene-ground) 85%);background-color:var(--scene-ground);background-position:center bottom;background-size:auto 100%;background-repeat:repeat-x}
.sky-stars{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.4s ease;overflow:hidden}
.forest-stage .sky-stars{mask-image:linear-gradient(#000 15%,transparent 30%)}
html[data-sky=night] .sky-stars{opacity:1}
.sky-stars:before,.sky-stars:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 7% 11%,#fff8d2 0 1.2px,transparent 2px),radial-gradient(circle at 22% 27%,#d8eeff 0 1px,transparent 2px),radial-gradient(circle at 34% 8%,#fff8d2 0 1.4px,transparent 2.2px),radial-gradient(circle at 47% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 65% 12%,#fff8d2 0 1.5px,transparent 2.4px),radial-gradient(circle at 81% 28%,#d6edff 0 1px,transparent 2px),radial-gradient(circle at 91% 6%,#fff8d2 0 1.3px,transparent 2px);opacity:.7}
.sky-stars:after{transform:translate(4%,14%);opacity:.35}
html[data-sky=night] .sky-stars:before{animation:panfu-twinkle 6s ease-in-out infinite alternate}
html[data-sky=night] .sky-stars:after{animation:panfu-twinkle 9s ease-in-out -4s infinite alternate-reverse}
body.world-underground .sky-stars:before,body.world-underground .sky-stars:after{animation-play-state:paused}
@keyframes panfu-twinkle{from{opacity:.32}to{opacity:.9}}
@media(max-width:900px){html[data-season] .forest-backdrop{background-image:var(--scene-forest),linear-gradient(var(--scene-sky) 0 50%,var(--scene-ground) 60%)}html[data-season] .forest-backdrop:after{background-image:var(--scene-forest);background-color:var(--scene-ground)}}
@media(prefers-reduced-motion:reduce){.sky-stars,.sky-stars:before,.sky-stars:after{transition:none!important;animation:none!important}}

/* Fade the actual artwork edge, not a fixed strip near the viewport top.
   Each seasonal image has a slightly different painted sky. This blends it
   into the shared sky without touching the trees or introducing a hard seam. */
html[data-season]{--sky:var(--scene-sky);--sky-soft:var(--scene-low)}
html[data-season] body,html[data-season] .world-camera,html[data-season] .world,html[data-season] .scene-handoff-cover,html[data-season] .forest-stage{background-color:var(--scene-sky)}
html[data-season] .world-landscape,html[data-season] .tree-line,html[data-season] .scene-handoff-cover:before{
 --scene-art-height:clamp(520px,84vh,1700px);--scene-buffer:320px;
 background-size:auto var(--scene-art-height),100% calc(var(--scene-buffer) + 8px);
 -webkit-mask-image:linear-gradient(to bottom,transparent calc(100% - var(--scene-buffer) - var(--scene-art-height)),#000 calc(100% - var(--scene-buffer) - var(--scene-art-height) + 28px));
 mask-image:linear-gradient(to bottom,transparent calc(100% - var(--scene-buffer) - var(--scene-art-height)),#000 calc(100% - var(--scene-buffer) - var(--scene-art-height) + 28px));
}
html[data-season] .world-landscape:before,html[data-season] .tree-line:before,html[data-season] .scene-handoff-cover:after{display:none}
html[data-season] .forest-backdrop{
 --scene-art-height:clamp(570px,78svh,1050px);
 -webkit-mask-image:linear-gradient(to bottom,transparent calc(100% - var(--scene-art-height)),#000 calc(100% - var(--scene-art-height) + 28px));
 mask-image:linear-gradient(to bottom,transparent calc(100% - var(--scene-art-height)),#000 calc(100% - var(--scene-art-height) + 28px));
}
html[data-season] .forest-backdrop:before{display:none}
@media(min-width:2200px){html[data-season] .forest-backdrop{--scene-art-height:min(80svh,1350px)}}
@media(min-width:761px) and (max-width:900px){html[data-season] .forest-backdrop{--scene-art-height:860px}}
@media(max-width:760px){html[data-season] .forest-backdrop{--scene-art-height:640px}}
@media(max-width:620px){html[data-season] .world-landscape,html[data-season] .tree-line,html[data-season] .scene-handoff-cover:before{--scene-art-height:clamp(500px,80vh,760px)}}
/* The parent camera remains visible during native entry and exit, including
   at night. Seasonal body rules must never paint over the embedded sky. */
html[data-season].embedded-game,html[data-season].embedded-game body{background:transparent;animation:none}
.christmas-music-setting{padding:16px;border:1px solid #b9d9b4;border-radius:16px;background:#f5fbef;color:#245344;font-family:inherit;font-size:14px;line-height:1.4;text-align:left;margin-block:12px}
.christmas-music-setting label{display:flex;align-items:center;gap:10px;cursor:pointer}.christmas-music-setting input{width:20px;height:20px;accent-color:#69a52d;flex:none}
.christmas-music-setting small,.christmas-music-setting a{display:block;margin-top:8px}.christmas-music-setting a{color:#276841;font-size:12px}
html[data-sky] .christmas-music-setting small{color:#496958}
.christmas-music-menu{position:relative;z-index:15}.christmas-music-menu summary{cursor:pointer;border-radius:15px;padding:12px 16px;background:#f5fff5;color:#245344;font-weight:bold}
.christmas-music-menu .christmas-music-setting{position:absolute;right:0;top:100%;width:280px;max-width:calc(100vw - 40px);box-shadow:0 8px 20px #15364935}
