.worlds-stack{display:grid;gap:24px;min-width:0;width:100%}
.world-sky{border-color:#706699;background:linear-gradient(150deg,#252447bc,#18213cee),url('assets/sky-background.svg') center/cover}
.world-sky .map-world-label{background:#262741df;border-color:#555675}.world-sky .world-tag{background:#44345a;color:#e2c0ff;border-color:#796499}
.world-sky .map-trail path{stroke:#b3a1ef66}.world-sky .is-available .map-level-card{border-color:#b2a2db;background:linear-gradient(125deg,#3d3559,#222d45)}
.world-sky .is-available .map-node{border-color:#c8bbfc;background:linear-gradient(140deg,#756391,#383957);color:#ecdcff}
.sky-scene{background:#293451;aspect-ratio:16/11}.sky-scene .backdrop{filter:none}
.sky-scene .actor-hero{width:31%;bottom:17%;left:3%;z-index:4;filter:drop-shadow(0 5px 0 #19233677)}
.sky-hud{right:14px;max-width:54%;min-width:110px;background:#172640dd;border-color:#8da7ce55}.sky-hud>span{font-size:10px}.sky-hud small{display:block;color:#bbd8ee;font-size:9px;margin-top:4px}
.sky-seals{display:flex;gap:5px;direction:ltr;margin-top:5px}.sky-seals i{height:6px;flex:1;background:#4b526d}.sky-seals .lit{background:#a6f0ed;box-shadow:0 0 8px #8be8ff77}
.sky-obstacle{position:absolute;left:63%;top:29%;width:26%;height:44%;z-index:3;transform-origin:50% 80%;animation:sky-hover 3.5s ease-in-out infinite}
.sky-obstacle>svg{position:relative;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 6px 0 #1b2b4366);image-rendering:pixelated}
.sky-gear{position:absolute;left:-12%;top:5%;width:124%;aspect-ratio:1;border:5px dashed #b5ddeb40;border-radius:50%;animation:sky-spin 30s linear infinite;box-shadow:0 0 0 8px #80c3ed0a,inset 0 0 35px #79bbf61a}
.sky-stars{position:absolute;inset:0;pointer-events:none}.sky-stars i{position:absolute;left:calc(5% + var(--i)*8%);top:16%;width:3px;height:3px;background:#b6e7fa;box-shadow:0 0 8px #b6e7fa;animation:sky-twinkle 3s ease-in-out infinite;animation-delay:calc(var(--i)*-.4s)}
.sky-stars i:nth-child(3n){top:34%}.sky-stars i:nth-child(3n + 1){top:23%}.sky-stars i:nth-child(3n + 2){top:12%}
.sky-clouds{position:absolute;inset:30% -10% 0;background:radial-gradient(ellipse at 20% 90%,#b8e3ed29,transparent 40%),radial-gradient(ellipse at 85% 40%,#c8ddf129,transparent 38%);animation:sky-drift 12s ease-in-out infinite;pointer-events:none}
.sky-aurora{position:absolute;inset:0;background:linear-gradient(125deg,transparent 5%,#79ffe328 35%,#cfb5ff55 48%,transparent 60%);opacity:.15;pointer-events:none}
.sky-platforms{position:absolute;inset:0;pointer-events:none}.sky-platform{position:absolute;left:calc(29% + var(--i)*28%/var(--total));bottom:25%;width:calc(25%/var(--total));height:3%;background:#536787;border-top:4px solid #8ca6c3;box-shadow:0 8px 0 #253953;opacity:.55}.sky-platform.lit{background:#829cab;border-color:#acf3e8;box-shadow:0 8px 0 #354b6a,0 0 15px #97e8dc55;opacity:1}
.sky-orb{position:absolute;left:20%;top:52%;width:5%;aspect-ratio:1;border:3px solid #fff8d8;border-radius:25%;box-shadow:0 0 20px #9cefff;opacity:0;z-index:5}
.sky-sparks i{position:absolute;left:74%;top:53%;width:7px;height:7px;background:#a6f2ed;opacity:0;z-index:5}.sky-sparks i:nth-child(2n){background:#ffd598}
.sky-complete .sky-aurora{opacity:.85}.sky-complete .sky-gear{border-color:#a4f8dd99;box-shadow:0 0 25px #a8f9e444}.sky-complete .hero-paint{animation:victory-hop .7s ease-in-out 3,python-ready 2.6s 2.1s ease-in-out infinite}
.sky-enraged .sky-gear{border-color:#f997cd99;animation-duration:8s}.sky-enraged .sky-obstacle>svg{filter:drop-shadow(0 0 12px #f06aa855)}
.sky-scene[data-scene="sky-sentinel"] .sky-obstacle{width:32%;left:60%;top:23%;height:49%}
.sky-scene[data-scene="sky-lift"] .sky-obstacle{animation:sky-lift-idle 4s ease-in-out infinite}
.sky-scene[data-scene="sky-forge"] .sky-obstacle>svg{filter:drop-shadow(0 0 12px #a9e8ef66)}
.sky-scene[data-scene="sky-gate"].sky-complete .sky-obstacle>svg{opacity:.45}
.sky-scene[data-scene="sky-sentinel"].sky-complete .sky-obstacle{filter:grayscale(.4);opacity:.4;animation:none}
.sky-scene.battle-playing .sky-obstacle{animation:none}.sky-scene .battle-banner{max-width:90%;font-size:clamp(16px,2vw,25px)}
@keyframes sky-hover{50%{transform:translateY(-6%) rotate(2deg)}}@keyframes sky-spin{to{transform:rotate(360deg)}}@keyframes sky-drift{50%{transform:translateX(8%)}}@keyframes sky-twinkle{50%{opacity:.2;transform:scale(.6)}}@keyframes sky-lift-idle{50%{transform:translateY(-9%)}}
@media(max-width:760px){.sky-scene{aspect-ratio:16/10}.sky-hud{right:12px;min-width:103px;padding:6px 8px}.sky-hud>span{font-size:8px}.sky-hud small{font-size:8px}.sky-seals{gap:3px}.sky-obstacle{top:30%;height:44%}.sky-scene .battle-banner{top:38%;font-size:18px}.worlds-stack{gap:20px}}
@media(max-width:350px){.sky-hud{max-width:52%;min-width:94px}.sky-hud>span{font-size:7px}.sky-seals i{height:4px}.sky-scene .battle-banner{font-size:16px}}
