/* Shared scenery. The scene stays behind content and never intercepts input. */
.game-frame{
 --atmosphere-image:url('/images/sanctuary-atmosphere.webp');--atmosphere-canvas:#eaf2f2;--atmosphere-opacity:.64;--atmosphere-filter:saturate(.65) brightness(1.16);
 --overview-panel:#ffffffed;--overview-elevated:#fbfefdf5;--overview-line:#bad3d5;
 --overview-shadow:0 16px 44px #234d5c12;--overview-glow:#e7bf6433;
 position:relative;isolation:isolate;
}
.game-atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
.atmosphere-wing{position:absolute;top:65px;bottom:0;width:clamp(240px,32vw,900px);height:min(1050px,100vh);background-image:var(--atmosphere-image);background-repeat:no-repeat;background-size:auto 100%;opacity:var(--atmosphere-opacity);filter:var(--atmosphere-filter)}
.atmosphere-west{left:0;background-position:left top;mask-image:linear-gradient(90deg,#000,transparent),linear-gradient(180deg,transparent,#000 14%,#000 68%,transparent);mask-composite:intersect}
.atmosphere-east{right:0;background-position:right top;mask-image:linear-gradient(270deg,#000,transparent),linear-gradient(180deg,transparent,#000 14%,#000 68%,transparent);mask-composite:intersect}
.atmosphere-light{position:absolute;inset:0;background:radial-gradient(ellipse at 95% 15%,#fce7b13b,transparent 36%),radial-gradient(ellipse at 12% 65%,#8dd6e522,transparent 38%);animation:atmosphere-breathe 22s ease-in-out infinite alternate}
@keyframes atmosphere-breathe{to{opacity:.45;transform:translateY(12px)}}
/* Full-opacity reading surfaces sit above a quiet landscape. */
.overview-home .page-hero:after{content:"";position:absolute;inset:auto var(--layout-inset) 0;height:1px;background:linear-gradient(90deg,transparent,#d6b47688,transparent);pointer-events:none}
.overview-home .page-hero-orbit{background:radial-gradient(circle,#fff8e3aa,transparent 70%);color:#aa7c35;border-color:#cfaa6555;box-shadow:0 0 0 14px #d4b4770a,0 0 0 29px #d4b47708}
.overview-home .page-hero-orbit:before{border-color:#bd995455}
.game-frame .overview-home .identity-card{border-color:var(--overview-line);background:var(--overview-elevated);box-shadow:0 22px 58px #183e501c,0 1px 0 #ffffff70 inset;border-radius:24px;overflow:hidden}
.game-frame .overview-home .identity-card .profile-details{background:radial-gradient(ellipse at 100% 0,var(--overview-glow),transparent 60%),linear-gradient(130deg,var(--overview-elevated),var(--overview-panel));position:relative}
.overview-home .identity-card .profile-details:after{content:"";position:absolute;inset:20px 20px auto auto;width:90px;height:90px;border-top:1px solid #bd9d6640;border-right:1px solid #bd9d6640;border-radius:0 16px 0 0;pointer-events:none}
.overview-home .identity-card .profile-details h2{letter-spacing:-.04em}
.overview-home .identity-summary{border-top-color:var(--overview-line)}
.game-frame .overview-home .overview-shortcuts a{background:var(--overview-panel);border-color:var(--overview-line);box-shadow:0 6px 20px #193f5008;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}
.overview-home .overview-shortcuts a:first-child{border-left:3px solid #c9a260}
.game-frame .overview-home .overview-shortcuts a:hover{transform:translateY(-2px);box-shadow:var(--overview-shadow);border-color:#bba272}
.game-frame .overview-home .stat-card{background:linear-gradient(120deg,var(--overview-elevated),var(--overview-panel));border-color:var(--overview-line);box-shadow:0 7px 24px #1b465010}
.overview-home .stat-card .stat-symbol{box-shadow:0 0 0 5px #83b8bf08}
/* Theme-specific lighting, keeping the original artwork intact. */
:root[data-theme="dark"] .game-frame{--atmosphere-canvas:#102331;--atmosphere-opacity:.46;--atmosphere-filter:saturate(.65) brightness(.64);--overview-panel:#1b3345f5;--overview-elevated:#203b4ef7;--overview-line:#496273;--overview-shadow:0 18px 48px #040e1940;--overview-glow:#e8b86612}
:root[data-theme="aura"] .game-frame{--atmosphere-canvas:#0e152b;--atmosphere-opacity:.42;--atmosphere-filter:saturate(.65) brightness(.55) hue-rotate(22deg);--overview-panel:#17213df5;--overview-elevated:#202c47f7;--overview-line:#495674;--overview-shadow:0 18px 50px #03061b66;--overview-glow:#9574ed22}
:root:is([data-theme="dark"],[data-theme="aura"],[data-theme="obsidian"]) .overview-home .page-hero-orbit{background:radial-gradient(circle,#ecc68515,transparent 72%);color:#e3c28a}
:root:is([data-theme="dark"],[data-theme="aura"],[data-theme="obsidian"]) .game-frame .overview-home .identity-card{box-shadow:var(--overview-shadow),0 1px 0 #b8d9df14 inset}
:root[data-theme="aura"] .atmosphere-light{background:radial-gradient(ellipse at 95% 15%,#aa78ed28,transparent 40%),radial-gradient(ellipse at 8% 60%,#56d7df20,transparent 38%)}
/* Combat and editing retain their concentration; the shell alone gets atmosphere. */
.game-frame:has(.arena,.content-editor) .game-atmosphere{opacity:.3}
@media(min-width:2000px){.atmosphere-west{left:240px}.atmosphere-wing{width:clamp(500px,28vw,960px)}}
@media(max-width:850px){
 .atmosphere-wing{background-image:none}.atmosphere-light{animation:none;background:radial-gradient(ellipse at 90% 15%,#d5b77d22,transparent 60%)}
 .game-frame .overview-home .identity-card{border-radius:18px}.overview-home .identity-card .profile-details:after{display:none}
}
@media(prefers-reduced-motion:reduce){.atmosphere-light{animation:none}.game-frame .overview-home .overview-shortcuts a{transition:none}.game-frame .overview-home .overview-shortcuts a:hover{transform:none}}
@media(forced-colors:active){.game-atmosphere{display:none}.game-frame .overview-home .page-hero{background:Canvas}.game-frame .overview-home .identity-card{border:1px solid CanvasText}}

/* Optional scenery: GameAtmosphere renders only when explicitly enabled. */
.game-frame:has(.game-atmosphere){background:linear-gradient(180deg,transparent,var(--atmosphere-canvas) 720px)}
