/* Two identical transparent cloud groups form each seamless conveyor. */
.atmosphere { pointer-events:none; contain:strict; background:#a4d3ef; animation:none; transform:none; }
.atmosphere .sky-base { position:absolute; inset:0; background:linear-gradient(180deg,#8fc7eb 0%,#b7def3 52%,#e1f1fa 100%); animation:none; transform:none; opacity:1; }
.atmosphere .cloud-track { --cloud-span:max(1200px,140vw); position:absolute; inset:0 auto 0 0; width:calc(var(--cloud-span) * 2); height:100%; display:flex; background:none; filter:none; opacity:.62; animation:cloud-loop 220s linear infinite; will-change:transform; }
.cloud-tile { position:relative; flex:0 0 50%; height:100%; }
.cloud-shape { position:absolute; display:block; width:clamp(360px,43vw,820px); height:auto; max-width:none; }
.cloud-shape-0 { left:4%; top:2%; }
.cloud-shape-1 { left:53%; top:37%; width:clamp(420px,50vw,940px); }
.cloud-shape-2 { left:15%; top:70%; width:clamp(300px,37vw,700px); }
.atmosphere .cloud-near { opacity:.88; animation-duration:100s; }
.cloud-near .cloud-shape-0 { left:48%; top:4%; }
.cloud-near .cloud-shape-1 { left:3%; top:42%; }
.cloud-near .cloud-shape-2 { left:60%; top:73%; }
.atmosphere .cloud-light { animation:none; transform:none; inset:0; background:radial-gradient(ellipse at 50% 35%,#f7fcff30,transparent 70%); }
.atmosphere .orbital-lines,.atmosphere .drifting-marks { animation:none; }
.motion-paused .game-shell *, .motion-paused .game-shell *::before, .motion-paused .game-shell *::after { animation-play-state:running!important; }
.atmosphere-hidden * { animation-play-state:paused!important; }
@keyframes cloud-loop { from {transform:translateX(0)} to {transform:translateX(-50%)} }
@media(prefers-reduced-motion:reduce) { .atmosphere .cloud-track {animation-play-state:paused!important;will-change:auto} }
/* Original archive atmosphere is the default; floating clouds are opt-in. */
.atmosphere .sky-base,.atmosphere .sky-layer{inset:-9%;background:url('/assets/aero-sky.webp') center/cover no-repeat;opacity:.92;filter:saturate(.8);animation:none;transform:none}
.atmosphere .cloud-light{background:radial-gradient(ellipse at 50% 35%,#f5fcffde 5%,#e8f8ffad 45%,transparent 85%);inset:-25%;animation:none;transform:none}
.atmosphere:not([data-theme=clouds]) .cloud-track{visibility:hidden;animation-play-state:paused!important}
.atmosphere:not([data-theme=clouds]) .sky-base{animation:sky-travel 46s ease-in-out infinite alternate;filter:saturate(1.18) brightness(1.08)}
.atmosphere:not([data-theme=clouds]) .cloud-light{animation:cloud-travel 29s ease-in-out infinite alternate}
.atmosphere:not([data-theme=clouds]) .orbital-lines{animation:line-drift 55s ease-in-out infinite alternate}
.atmosphere:not([data-theme=clouds]) .drifting-marks{animation:mark-drift 18s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){.atmosphere *{animation-play-state:paused!important;will-change:auto}}
.motion-paused .atmosphere .cloud-track{animation-play-state:paused!important}
.atmosphere[data-theme=clouds] .sky-base{inset:0;background:linear-gradient(180deg,#c0deef,#d7eaf6 52%,#eaf5fb);filter:none;opacity:1}
.atmosphere[data-theme=clouds] .cloud-light{inset:0;background:radial-gradient(ellipse at 50% 35%,#f7fcff22,transparent 70%)}
.sky-theme-toggle{font:inherit;letter-spacing:.02em;color:#426e8c;background:#f5fbffb3;border:1px solid #a6c7dd;padding:5px 8px;margin-right:8px;cursor:pointer;white-space:nowrap}
.sky-theme-toggle:hover{background:#fff}.sky-theme-toggle[aria-pressed=true]{border-color:#3883b1;background:#edfaff}
.utility>span:last-child{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:5px}.utility .motion-toggle{margin-right:5px}
.hero>img{mask-image:linear-gradient(transparent,#000 5%,#000 88%,transparent),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}
@media(max-width:580px){.utility{align-items:flex-start}.utility>span:first-child{max-width:38%}.utility>span:last-child{max-width:62%;white-space:normal}.sky-theme-toggle{font-size:10px;margin:0;padding:6px}.utility .motion-toggle{font-size:10px;margin:0;padding:6px}}

