/* Restored world intro: planet and comet backdrop, separate from readiness. */
#sceneEntry,.world-scene-loading{
  position:fixed;inset:0;box-sizing:border-box;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;
  padding:32px 24px 72px;border:0;border-radius:0;
  background:radial-gradient(ellipse at 50% 38%,#284d43 0%,#152e30 48%,#101f28 100%);
  color:#e8f0dc;text-align:center;font:14px/1.6 system-ui,sans-serif;overflow:auto
}
#sceneEntry[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
#sceneEntry::backdrop{background:transparent}
.world-scene-loading{z-index:10000;display:grid;place-items:center}
.world-scene-loading[hidden]{display:none}
.world-scene-loading h1{margin:24px 0 6px;font-size:22px;font-weight:650}
.world-scene-loading p{margin:0;color:#c5d7bd}
.scene-entry__stage,.world-loading-planet{
  position:relative;display:grid;place-items:center;width:190px;height:190px;flex:none;margin:0 auto 12px;
  border-radius:50%;background:linear-gradient(130deg,#94be76,#376d55 55%,#193a36);
  box-shadow:inset -18px -12px 0 #10292555,0 0 80px #89e5af18;touch-action:pan-y
}
.scene-entry__stage canvas{position:relative;width:128px;height:128px;image-rendering:pixelated;z-index:1}
.scene-entry__brand{font:900 clamp(36px,8vw,76px)/1 Consolas,monospace;letter-spacing:-.055em;color:#d2f65a}
#sceneEntry h2{margin:4px 0 0;font-size:17px;font-weight:500}
.scene-entry__tagline{margin:0 0 6px;color:#d6e5d8;font-size:16px}
.scene-entry__name{min-height:22px;margin:0 0 8px;color:#c5d7bd;font:13px/1.6 Consolas,monospace}
#sceneEntry button{border:1px solid #a4c172;background:#d2f65a;color:#173428;cursor:pointer}
.scene-entry__arrow{position:absolute;top:70px;width:44px;height:48px;border-radius:10px;font:30px/1 system-ui;z-index:2}
.scene-entry__arrow.prev{left:-60px}.scene-entry__arrow.next{right:-60px}
.scene-entry__enter{display:block;width:min(320px,100%);min-height:52px;padding:12px 24px;border-radius:28px;font:700 16px system-ui}
#sceneEntry a{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;min-height:44px;color:#c5d7bd}
#sceneEntry :focus-visible{outline:3px solid #fff;outline-offset:4px}
.world-loading-orbit{position:absolute;inset:-11px;border-radius:50%;pointer-events:none;animation:world-loading-orbit 6.4s linear infinite}
.world-loading-orbit::before{content:'';position:absolute;left:99%;top:50%;width:8px;height:8px;background:#f5ffb0;box-shadow:4px 0 #d2f65a,0 4px #72db9c,0 0 11px #d2f65aaa}
.world-loading-orbit::after{content:'';position:absolute;left:98%;top:35%;width:6px;height:6px;background:#91e4ad;box-shadow:-9px -25px #91e4adb3,-24px -46px #91e4ad80,-43px -62px #91e4ad52,-66px -70px #91e4ad2e}
#sceneEntry[open] .scene-entry__stage{animation:world-planet-arrive .8s cubic-bezier(.16,1,.3,1) both}
#sceneEntry.is-leaving{opacity:0;pointer-events:none;transition:opacity .9s .1s}
#sceneEntry.is-leaving .scene-entry__stage{animation:world-planet-depart 1s cubic-bezier(.5,0,.8,.4) both}
html.scene-entering #world{animation:world-intro-reveal 1s cubic-bezier(.16,1,.3,1) both}
@keyframes world-loading-orbit{to{transform:rotate(360deg)}}
@keyframes world-planet-arrive{from{opacity:0;transform:translateY(70px) scale(.5) rotate(-18deg)}to{opacity:1;transform:none}}
@keyframes world-planet-depart{to{transform:scale(4);opacity:0}}
@keyframes world-intro-reveal{from{opacity:.15;transform:scale(1.12)}to{opacity:1;transform:none}}
@media(max-height:600px){#sceneEntry[open]{gap:6px;padding-top:18px;padding-bottom:58px}.scene-entry__stage,.world-loading-planet{width:128px;height:128px;margin-bottom:4px}.scene-entry__stage canvas{width:100px;height:100px}.scene-entry__arrow{top:40px}.scene-entry__brand{font-size:40px}.scene-entry__tagline{font-size:14px;margin:0}.scene-entry__name{margin:0}}
@media(max-width:360px){.scene-entry__arrow.prev{left:-50px}.scene-entry__arrow.next{right:-50px}}
@media(prefers-reduced-motion:reduce){.world-loading-orbit,#sceneEntry[open] .scene-entry__stage,html.scene-entering #world{animation:none}#sceneEntry.is-leaving{transition:none}}

/* Branded loading art; the interactive scene intro remains separate. */
.world-loading-logo{display:grid;place-items:center;width:176px;height:176px;margin:0 auto 12px;background:none;animation:hl-logo-breathe 3s ease-in-out infinite}.world-loading-logo img{display:block;width:152px;height:152px;max-width:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 0 #10292540)}
@keyframes hl-logo-breathe{50%{transform:translateY(-5px)}}
@media(max-height:600px){.world-loading-logo{width:128px;height:128px}.world-loading-logo img{width:112px;height:112px}}
@media(prefers-reduced-motion:reduce){.world-loading-logo{animation:none}}
