/* Keep decoration behind controls and reading surfaces. Theme identity, not clutter. */
.audio-quick-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:42px;min-height:42px;padding:8px 12px;border:1px solid var(--theme-edge);border-radius:10px;background:var(--theme-panel);color:var(--theme-muted);cursor:pointer;font:inherit;font-size:.75rem}.audio-quick-toggle>span:first-child{font-size:21px}.audio-quick-toggle[data-enabled=true]{color:var(--theme-accent);border-color:var(--theme-accent)}.audio-quick-toggle:focus-visible{outline:2px solid var(--theme-accent);outline-offset:3px}@media(max-width:1100px){.audio-toggle-label{display:none}.audio-quick-toggle{padding:7px;flex-shrink:0}}
.theme-atmosphere{position:fixed;inset:80px 0 0 76px;overflow:hidden;pointer-events:none;z-index:0;contain:strict;opacity:.55}
.theme-atmosphere i{position:absolute;left:var(--x);bottom:-8%;width:3px;height:3px;border-radius:50%;background:var(--theme-accent);opacity:0;animation:scenery-drift var(--duration) linear var(--delay) infinite}
[data-theme=ocean] .theme-atmosphere{background:repeating-conic-gradient(from 170deg at 55% -15%,transparent 0deg 15deg,#93e9ff07 16deg 20deg,transparent 21deg 38deg);background-size:150% 150%;animation:scenery-water-light 22s ease-in-out infinite alternate}
[data-theme=ocean] .theme-atmosphere i{width:var(--size);height:var(--size);background:transparent;border:1px solid #bbf4ff66;box-shadow:inset 1px 1px 3px #d7faff3b;animation-name:scenery-bubble}
[data-theme=aurora] .theme-atmosphere::before{content:'';position:absolute;inset:-20%;background:radial-gradient(ellipse at 30% 10%,#8debb518,transparent 40%),radial-gradient(ellipse at 80% 50%,#b99aff18,transparent 50%);filter:blur(35px);animation:scenery-curtain 24s ease-in-out infinite alternate}
[data-theme=aurora] .theme-atmosphere i{background:#d9fff3;width:2px;height:2px;animation-name:scenery-snow}
[data-theme=sunset] .theme-atmosphere i{background:#ffc392;box-shadow:0 0 8px #fda36d77;width:2px;height:5px;animation-name:scenery-ember;animation-duration:calc(var(--duration)*.7)}
[data-theme=midnight] .theme-atmosphere i{background:#f5d9ff;box-shadow:0 0 7px #d19fff;animation-name:scenery-stars}
[data-theme=vocaloid] .theme-atmosphere i{background:linear-gradient(var(--theme-accent),var(--theme-pink));border-radius:1px;width:2px;height:30px;animation-name:scenery-concert}
[data-theme=sakura] .theme-atmosphere i{width:120px;height:1px;left:-15%;top:calc(var(--n)*5.5%);background:linear-gradient(90deg,transparent,#ff716f55,transparent);animation-name:scenery-speed;animation-duration:calc(var(--duration)*.6)}
[data-theme=terminal] .theme-atmosphere i{width:1px;height:65px;background:linear-gradient(transparent,#b8cbff55,transparent);animation-name:scenery-code}
[data-theme=carbon] .theme-atmosphere i{width:3px;height:3px;border:1px solid #edcdbf66;background:transparent;border-radius:0;animation-name:scenery-stars}
[data-scenery=quality1] .world-model-nook{height:185px;width:min(78%,360px);opacity:1;bottom:14px}
[data-scenery=quality1] .world-heading .world-header::before{opacity:.42;filter:saturate(.85);mask-image:linear-gradient(90deg,transparent,black 50%)}
[data-scenery=quality1] .world-ribbon{margin-top:36px!important}
[data-scenery=quality1].models-ready .world-ribbon{height:240px;mask-image:linear-gradient(transparent,black 12%,black 88%,transparent)}
[data-scenery=quality1] .world-model-credit{display:none}
.quality-scenery-credit{display:block;font-size:.7rem;line-height:1.7;opacity:.85;text-underline-offset:4px;margin-top:16px;color:var(--theme-muted)}
[data-scenery=quality1] .world-heading{border-color:color-mix(in srgb,var(--theme-accent) 24%,var(--theme-edge));box-shadow:inset 0 1px #ffffff08,0 12px 36px #00000012}
[data-scenery=quality1][data-theme=ocean] .world-heading{background:linear-gradient(115deg,#102332dd,#193e50b8)}
[data-scenery=quality1][data-theme=aurora] .world-heading{background:linear-gradient(115deg,#17242cdd,#2c3048b8)}
@media(min-width:791px){[data-scenery=quality1] .world-heading> :not(.world-scene){max-width:62%!important}[data-scenery=quality1] .world-heading h1{font-size:clamp(1.6rem,3.2vw,2.4rem)!important}}
@keyframes scenery-drift{0%{transform:translateY(0);opacity:0}15%,70%{opacity:.5}100%{transform:translate(30px,-105vh);opacity:0}}
@keyframes scenery-bubble{0%{transform:translate(0,0);opacity:0}12%,80%{opacity:.5}50%{transform:translate(-16px,-45vh)}100%{transform:translate(18px,-105vh);opacity:0}}
@keyframes scenery-snow{0%{bottom:110%;transform:translateX(0);opacity:0}15%,75%{opacity:.6}100%{bottom:-10%;transform:translateX(60px);opacity:0}}
@keyframes scenery-ember{0%{transform:translate(0,0) rotate(12deg);opacity:0}20%,65%{opacity:.65}100%{transform:translate(-60px,-95vh) rotate(50deg);opacity:0}}
@keyframes scenery-stars{0%,100%{bottom:calc(var(--n)*5%);transform:scale(.6);opacity:0}45%{bottom:calc(var(--n)*5%);transform:scale(1);opacity:.7}}
@keyframes scenery-concert{0%{transform:translateY(0);opacity:0}20%,60%{opacity:.35}100%{transform:translateY(-100vh);opacity:0}}
@keyframes scenery-speed{0%,45%{transform:translateX(0);opacity:0}50%{opacity:.45}65%,100%{transform:translateX(115vw);opacity:0}}
@keyframes scenery-code{0%{bottom:110%;opacity:0}20%,70%{opacity:.4}100%{bottom:-15%;opacity:0}}
@keyframes scenery-curtain{from{transform:translate(-3%,-2%) skewX(-4deg)}to{transform:translate(5%,3%) skewX(7deg)}}
@keyframes scenery-water-light{from{background-position:0 0}to{background-position:25% 15%}}
[data-vfx=off] .theme-atmosphere,[data-performance=light] .theme-atmosphere{display:none}
:is([data-vfx=soft],.reduce-motion,.motion-paused) .theme-atmosphere,:is([data-vfx=soft],.reduce-motion,.motion-paused) .theme-atmosphere *{animation:none!important}
@media(prefers-reduced-motion:reduce){.theme-atmosphere,.theme-atmosphere *{animation:none!important}}
@media(max-width:790px){.theme-atmosphere{inset:65px 0 80px;opacity:.3}.theme-atmosphere i:nth-child(n+9){display:none}[data-scenery=quality1] .world-model-nook{width:190px;height:120px}[data-scenery=quality1].models-ready .world-ribbon{height:160px}}
.browser-compat{margin-top:24px;padding-top:24px;border-top:1px solid var(--theme-edge)}.browser-compat h3{font-size:1.1rem}.browser-compat p{line-height:1.65;font-size:.875rem;color:var(--theme-muted);margin:10px 0 14px}.browser-compat-results>div{padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--theme-edge) 50%,transparent)}.browser-compat-results small{display:block;margin-top:14px;color:var(--theme-muted)}.browser-startup-warning{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(90vw,620px);z-index:200;padding:20px;border:1px solid #e5bb73;border-radius:16px;background:#172334;color:#fff;box-shadow:0 10px 50px #0006}.browser-startup-warning p{margin:0 0 12px;line-height:1.5}
