/* Homepage startup and page-owned surfaces only. Scene dimensions stay locked. */
html.reach-home{background:#08111f}
html.reach-home body{background:inherit}
html.reach-home.reach-dark-surface{color-scheme:dark}
html.reach-home #world{background-color:#08111f}
#arrival-mark{display:none}
html.reach-loading #arrival-mark,html.reach-arriving #arrival-mark{
  display:grid;position:fixed;inset:0;z-index:30;place-items:center;pointer-events:none;
  /* Preserve the visible opening paper while Safari samples the navy base color. */
  background-color:#08111f;
  background-image:radial-gradient(ellipse at 60% 40%,transparent 35%,#020a2514 100%),linear-gradient(#dfe2e7,#dfe2e7);
}
/* No separate logo: this empty readiness cover reveals the existing 3D model. */
html.reach-loading body>header,html.reach-loading #main{opacity:0}
html.reach-arriving body>header,html.reach-arriving #main{opacity:var(--arrival-copy,0)}
/* Used only if the startup dependencies cannot initialize. Existing content/links remain usable. */
html.reach-startup-fallback #world,html.reach-startup-fallback #hud,
html.reach-startup-fallback .scroll-hint,html.reach-startup-fallback .progress-track{display:none}
html.reach-startup-fallback #sequence{display:block}
html.reach-startup-fallback #journey{height:var(--stage-height,100svh)}
html.reach-startup-fallback #c0{opacity:1;visibility:visible}
html.reach-startup-fallback #details[hidden]{display:block!important;background:#08111f}
