/* One brand accent, shared by controls and atmospheric glows. */
:root{--accent:#c8b6fb;--accent-rgb:200,182,251;--accent-soft:rgba(var(--accent-rgb),.14);--accent-glow:rgba(var(--accent-rgb),.25);--accent-ink:#252037}
body{isolation:isolate}.haze{display:none}
#nebulaBackdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
#nebulaBackdrop #stars{position:absolute;inset:0;width:100%;height:100%;z-index:1;animation:nebulaStars 150s ease-in-out infinite alternate}
.nebula-clouds{position:absolute;inset:-10%;opacity:.8;background:radial-gradient(ellipse at 75% 20%,rgba(var(--accent-rgb),.09),transparent 55%),radial-gradient(ellipse at 15% 80%,rgba(var(--accent-rgb),.06),transparent 52%);animation:nebulaClouds 110s ease-in-out infinite alternate}
.nebula-clouds:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 45% 50%,rgba(var(--accent-rgb),.045),transparent 55%);animation:nebulaClouds 145s ease-in-out infinite alternate-reverse}
#nebulaBackdrop.motion-paused #stars,#nebulaBackdrop.motion-paused .nebula-clouds,#nebulaBackdrop.motion-paused .nebula-clouds:after{animation-play-state:paused}
@keyframes nebulaClouds{to{transform:translate3d(3%,2%,0) rotate(3deg)}}
@keyframes nebulaStars{to{transform:translate3d(6px,-9px,0)}}
@media(prefers-reduced-motion:reduce){#nebulaBackdrop #stars,.nebula-clouds,.nebula-clouds:after{animation:none!important}}
.primary,#play,.card.selected .art-play,.runner-controls #runJump{background:var(--accent);color:var(--accent-ink)}
.primary:hover{background:var(--accent);box-shadow:0 6px 28px var(--accent-glow)}
.brand-icon,.eyebrow,h1 em,.little-star,.text-button,.mix-actions #surprise,.scene-state,.favorite-load,.resource-grid span,.guide a,.guide-nav a,.break-drawer>summary{color:var(--accent)}
.eyebrow>span,.free i,.playing .card.selected .scene-state:before{background:var(--accent)}
.free i,.playing .card.selected .scene-state:before{box-shadow:0 0 10px var(--accent-glow)}
input[type=range],.focus-bottom input{accent-color:var(--accent)}
input[type=range]:hover,input[type=range]:focus-visible{filter:drop-shadow(0 0 5px var(--accent-glow))}
.card.selected,body[data-scene] .card.selected,.resource-grid>a:hover,.room-enter,.focus-presets button,.room-views [aria-pressed=true]{border-color:rgba(var(--accent-rgb),.5)}
.card.selected{box-shadow:0 0 0 1px var(--accent-soft),0 10px 30px #0003}
.filters button.active,.focus-modes [aria-pressed=true],.room-views [aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}
.playing .player{border-top-color:var(--accent-glow)}
.planet{box-shadow:0 0 75px var(--accent-soft)}.orbit{border-color:var(--accent-glow);box-shadow:0 0 0 12px rgba(var(--accent-rgb),.025),0 0 0 27px rgba(var(--accent-rgb),.015)}
.room-planet{box-shadow:-15px -8px 75px var(--accent-soft)}.room-horizon{box-shadow:0 -4px 45px var(--accent-glow)}
#immersiveRoom[data-view=eclipse] .room-planet{box-shadow:0 0 0 2px var(--accent),0 0 35px var(--accent-glow),0 0 150px var(--accent-soft)}
@media(hover:hover){.card:hover .art-play{box-shadow:0 0 20px var(--accent-glow)}}
.primary{box-shadow:0 5px 35px var(--accent-soft)}
.playing .mini-art,.celestial:before{box-shadow:0 0 25px var(--accent-glow)}
.runner-preview span{color:var(--accent);text-shadow:0 0 18px var(--accent-glow)}
.runner-controls button,.focus-presets button,.room-enter{border-color:var(--accent-glow)}
.game-star{color:var(--accent);background:var(--accent-soft);text-shadow:0 0 14px var(--accent-glow);box-shadow:0 0 25px var(--accent-soft)}
@keyframes starBreathe{50%{box-shadow:0 0 40px var(--accent-glow)}}
.sky-complete{box-shadow:inset 0 0 65px var(--accent-soft)}
#interactivePlanet:focus-visible{outline-color:var(--accent)}
#immersiveRoom[data-view=night] .room-horizon{box-shadow:0 -2px 40px var(--accent-soft)}
.text-button:hover,nav a:hover,nav button:hover,.room-enter,.focus-presets button{color:var(--accent)}
