*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#080e16;color:#edf4f6;font-family:"Avenir Next","Segoe UI",Arial,sans-serif}
body{overflow-x:clip}
a{color:inherit}
button{font:inherit;cursor:pointer}
button:disabled{cursor:default;opacity:.55}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #b4edff;outline-offset:5px}
#scene{position:fixed;top:0;left:0;width:100%;height:100vh;height:100lvh;pointer-events:none;touch-action:pan-y}
#scene canvas{width:100%;height:100%;display:block}
body[data-welcome-returning=true] #scene{visibility:hidden}
.welcome-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.welcome-still[hidden]{display:none!important}
body[data-immersive=true] .welcome-still{display:none}
.welcome-loading{position:fixed;z-index:2;left:70%;top:45svh;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:12px;width:280px;max-width:42vw;padding:22px 14px;text-align:center;color:#d7edf4;pointer-events:none;text-shadow:0 2px 10px #030a12}
.welcome-loading[hidden],body[data-immersive=true] .welcome-loading{display:none}
.welcome-loading strong{font-size:14px;font-weight:500;letter-spacing:.5px}
.welcome-loading>span:not(.welcome-loading-ring){font-size:11px;line-height:1.5;color:#9dbac9}
.welcome-loading-ring{width:58px;height:58px;margin-bottom:6px;border:2px solid #a8e7ff22;border-top-color:#b6edff;border-right-color:#81c9e5;border-radius:50%;box-shadow:0 0 28px #5dbfe31a,inset 0 0 18px #5dbfe30d;animation:welcome-loading-spin 1.4s linear infinite}
.welcome-loading a{pointer-events:auto;min-height:44px;padding:12px 18px;font-size:12px;color:#c4efff}
.welcome-loading[data-state=error] .welcome-loading-ring{animation:none;border-color:#bda88566;box-shadow:none}
@keyframes welcome-loading-spin{to{transform:rotate(360deg)}}
@media(max-width:700px) and (orientation:portrait){.welcome-loading{left:50%;top:38svh;max-width:calc(100vw - 40px);padding:12px;gap:9px}}
@media(prefers-reduced-motion:reduce){.welcome-loading-ring{animation:none}}
#render-status:not([hidden]){max-width:70vw;padding:6px 8px;border-radius:4px;background:#07131ee8;color:#b7d8e7;font:10px/1.5 monospace;letter-spacing:0;pointer-events:none}
.shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#060e16f5 0%,#060e16de 27%,#060e1640 49%,transparent 70%),linear-gradient(0deg,#060e16bb,transparent 23%)}
header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 5vw;pointer-events:none}
header a{pointer-events:auto}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none}
.brand img{width:42px;height:42px}
.brand span{font-size:13px;letter-spacing:4px}
.brand small{display:block;font-size:8px;letter-spacing:2px;color:#7e9aaa;margin-top:7px}
.fan-mark{font-size:8px;letter-spacing:2px;color:#a0b7c0}
.about-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 0;font-size:12px;text-decoration:none;color:#cee6ee;white-space:nowrap}
.about-link:hover{color:#fff}
.platform-links{display:flex;flex-wrap:wrap;gap:0 22px;margin:8px 0;color:#b7d6e3;font-size:11px}
.platform-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px;text-decoration-color:#83b8ca66}
.intro{position:relative;margin:4vh 0 90px 7vw;width:440px;max-width:43vw}
.eyebrow{font-size:9px;letter-spacing:3px;color:#99bacb;display:flex;align-items:center;gap:10px}
.eyebrow span{width:5px;height:5px;border-radius:50%;background:#7df0e3;box-shadow:0 0 12px #7df0e3}
h1{font-size:clamp(40px,4.2vw,64px);line-height:1.04;letter-spacing:-2px;font-weight:400;margin:23px 0 21px}
.title-line,.compact-title{white-space:nowrap}
h1 em{font-style:normal;color:#aeeaf3;font-weight:300;font-size:.78em}
.description{font-size:14px;line-height:1.8;font-weight:400;color:#b1c6cf;margin:0 0 19px;max-width:365px}
.description strong{font-weight:500;color:#d7eef4}
.world-route{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:9px;letter-spacing:1.8px;color:#d7e7ec;margin:0 0 26px}
.world-route i{font-style:normal;color:#ba9252}
.launch{position:relative;z-index:4;margin:0;max-width:365px}
.primary{width:100%;min-height:56px;padding:15px 18px;border:1px solid #c1f3ff80;border-radius:7px;background:linear-gradient(115deg,#c4ebed,#83bfd7);color:#122936;font-size:15px;font-weight:600;letter-spacing:.3px}
.primary:hover:enabled{filter:brightness(1.1)}
.screen-launch{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:46px;padding:12px 2px;color:#c2dbe3;font-size:12px;text-decoration:none;border-bottom:1px solid #95bfd22b}
.screen-launch:hover{color:white}
.screen-launch span{font-size:19px}
.welcome-vr-link,.touch-hint{display:none}
body:is([data-entry=mobile],[data-entry=pc]) .welcome-vr-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:10px;padding:12px 16px;border:1px solid #99d6eb60;border-radius:7px;background:#102b3bd9;text-decoration:none;font-size:12px;color:#d3edf5}
.welcome-vr-link span{font-size:10px;color:#9ecbdc}
body:is([data-entry=mobile],[data-entry=pc]) .touch-hint{display:block;font-size:10px;line-height:1.7;color:#a7c6d1;margin:12px 0 0}
body:is([data-entry=mobile],[data-entry=pc]) .launch .headset-help,
body:is([data-entry=mobile],[data-entry=pc]) #vr-settings,
body:is([data-entry=mobile],[data-entry=pc]) .help,
body:is([data-entry=mobile],[data-entry=pc]) .controls-hint,
body:is([data-entry=mobile],[data-entry=pc]) #enter-vr{display:none}
body:is([data-entry=mobile],[data-entry=pc])[data-ready=true] #vr-status{display:none}
body:is([data-entry=mobile],[data-entry=pc]) h1 em{font-size:.68em}
body:is([data-entry=mobile],[data-entry=pc]) .screen-launch{min-height:56px;padding:15px 18px;border:1px solid #c1f3ff80;border-radius:7px;background:linear-gradient(115deg,#c4ebed,#83bfd7);color:#122936;font-size:15px;font-weight:600}
body[data-xr-available=false] .screen-launch:hover{filter:brightness(1.1)}
body[data-xr-available=false] .controls-hint{display:none}
.headset-help{display:none;margin:15px 0;padding:14px 16px;border:1px solid #8acde255;border-radius:8px;background:#102b3be6;font-size:12px;line-height:1.7;color:#d5edf5}
body[data-xr-available=false] .headset-help{display:block}
.headset-help>strong{font-weight:600}
.headset-help p{font-size:11px;color:#b0cbd8;margin:6px 0 0}
#vr-status{font-size:11px;line-height:1.6;color:#a9c3d1;margin:10px 0;min-height:18px}
.controls-hint{font-size:10px;line-height:1.8;margin:0;color:#91adbd}
.controls-hint strong{font-weight:500;color:#bddce7}
.fan-note{font-size:11px;font-style:italic;line-height:1.6;color:#8ba3b0;margin:19px 0 22px}
.options{margin-top:10px;background:#0d1b28c9;border:1px solid #7299ad38;border-radius:8px;color:#c2dce7}
.options>summary{cursor:pointer;min-height:56px;padding:14px 16px;font-size:12px}
.options>summary span{display:block;margin:5px 0 0 16px;font-size:10px;color:#91adbd}
.option-content{padding:4px 16px 16px}
.preview{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;background:#102332d9;border:1px solid #83b4c933;color:#b3cfdb;border-radius:7px;padding:13px 16px;font-size:11px;margin-top:15px}
.help{margin-top:18px;font-size:12px;color:#a9c3d1}
.help summary{cursor:pointer;min-height:44px;padding:12px 0}
.help p,.help ol{font-size:11px;line-height:1.9;color:#91adbd}
.help ol{padding-left:20px}
.scene-label{position:fixed;left:70%;bottom:9%;transform:translateX(-50%);text-align:center;pointer-events:none;font-size:8px;letter-spacing:3px;color:#bed5dd;text-shadow:0 2px 8px #000}
.scene-label span{display:block;margin:14px 0}
.scene-label span+span{font-size:7px;color:#91acba}
footer{position:fixed;bottom:22px;left:5vw;right:5vw;display:flex;justify-content:space-between;gap:20px;font-size:7px;letter-spacing:1.7px;color:#587c91;pointer-events:none}
body[data-immersive=true] header,body[data-immersive=true] .intro,body[data-immersive=true] .shade,body[data-immersive=true] .scene-label,body[data-immersive=true] footer{display:none}
.room-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.room-views button{min-height:44px;padding:6px;border:1px solid #7299ad60;border-radius:5px;background:#102332d9;color:#a8c7d6;font-size:11px}
.room-views button[aria-pressed=true]{background:#bddfe7;color:#142e3b;border-color:#bddfe7}
.room-views button:hover:enabled{border-color:#d2f2ff}
.room-views button[hidden]{display:none}
.room-views[data-shortcut-scope=worlds]{grid-template-columns:1fr}
.room-views[data-shortcut-scope=worlds] button{text-align:left;padding:12px 14px}
.viewpoint-details{margin-top:16px;border-top:1px solid #7299ad38;padding-top:8px}
.viewpoint-details summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:11px;color:#a8c7d6}
.viewpoint-details .room-views{max-height:38dvh;overflow-y:auto;overscroll-behavior:contain;padding:4px}
.view-status{font-size:10px;color:#91adbd;min-height:15px;margin:9px 0 0}
.quality-label{display:block;margin:0 0 9px;font-size:11px;color:#b3cfdb}
.quality-note{font-size:10px;line-height:1.65;color:#91adbd;margin:9px 0 18px}
.option-content select,.option-content input[type=number]{display:block;width:100%;min-height:44px;padding:10px 13px;font:inherit;font-size:12px;color:#d8edf4;background:#172d3b;border:1px solid #6e9db356;border-radius:7px;color-scheme:dark}
.option-content select:focus-visible,.option-content input:focus-visible{outline:2px solid #b4edff;outline-offset:4px}
#standing-height,#height-mode{margin-bottom:14px}
#vr-quality:disabled{opacity:.55}
@media(max-width:700px){
  header{padding:18px 20px;gap:12px}
  .brand img{width:32px;height:32px}
  .brand span{font-size:10px;letter-spacing:2px}
  .brand small{font-size:6px}
  .fan-mark{display:none}
  .intro{margin:clamp(24px,7svh,60px) 22px 40px;width:auto;max-width:none}
  .eyebrow{font-size:8px;margin-top:0;letter-spacing:2px}
  h1{font-size:36px;letter-spacing:-1.1px;margin:14px 0 13px}
  h1 em{font-size:.88em}
  .description{font-size:12px;line-height:1.7;margin-bottom:15px;max-width:330px}
  .world-route{font-size:8px;gap:11px;margin-bottom:19px}
  .shade{background:linear-gradient(180deg,#060e1680,#060e1650 18%,#060e16d9 37%,#060e16f5 65%)}
  .launch{max-width:none}
  .primary{min-height:52px}
  .fan-note{margin:16px 0}
  body:is([data-entry=mobile],[data-entry=pc]) .intro{margin-top:clamp(24px,7svh,60px)}
  body:is([data-entry=mobile],[data-entry=pc]) h1 em{font-size:.8em}
  body:is([data-entry=mobile],[data-entry=pc]) .description{font-size:12px}
  body:is([data-entry=mobile],[data-entry=pc]) .world-route{margin-bottom:18px}
  .scene-label{display:none}
  footer{position:relative;bottom:auto;left:auto;right:auto;margin:20px 24px;font-size:6px}
}
@media(max-height:560px){
  header{padding-top:12px;padding-bottom:12px}
  .intro{margin-top:8px}
  h1{font-size:32px;margin:12px 0 10px}
  .description{font-size:12px;margin-bottom:12px}
  .world-route{margin-bottom:12px}
  .fan-note{margin:12px 0}
}
@media(max-width:1000px){.fan-mark{display:none}}
@media(max-width:700px) and (orientation:landscape){
  .intro{max-width:44vw;margin-left:5vw}
  .shade{background:linear-gradient(90deg,#060e16f5,#060e16c0 40%,transparent 75%)}
  h1{font-size:28px}
  .description{font-size:11px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

@media(max-height:560px){body:is([data-entry=mobile],[data-entry=pc]) .intro{margin-top:8px}}

/* Launch first: one device-appropriate action, with details underneath. */
body:is([data-entry=mobile],[data-entry=pc]) #vr-status{display:none}
body:not([data-entry])[data-xr-available=true] .screen-launch{display:none}
.world-route{margin-top:22px}.experience-promise{font-size:12px;line-height:1.7;color:#bdd4df}
@media(max-width:700px){
  header{padding:14px 22px}
  .description{margin-bottom:18px}
  .world-route{margin-top:20px}
}
@media(max-height:450px) and (orientation:landscape){
  header{padding:8px 5vw}.brand img{width:28px;height:28px}
  .intro{margin-top:6px;max-width:55vw;width:480px}
  .eyebrow{margin:0 0 6px}h1{font-size:26px;margin:8px 0}
  .description{font-size:11px;line-height:1.45;margin-bottom:10px}
  .launch{max-width:365px}.screen-launch,.primary{min-height:44px!important;padding:10px 14px!important}
  footer{position:relative;inset:auto;margin:20px 5vw}.scene-label{display:none}
}

.compact-title,.compact-summary{display:none}
/* Let the gate occupy the centre; keep only the invitation to enter below it. */
@media(max-width:700px) and (orientation:portrait){
  body{display:flex;flex-direction:column;min-height:100svh}
  header{padding:10px 20px;flex-shrink:0}
  .brand img{width:28px;height:28px}
  .shade{background:linear-gradient(180deg,#060e1640,transparent 18%,transparent 54%,#060e16d9 72%,#060e16 90%)}
  body:is([data-entry=mobile],[data-entry=pc]) .intro,body:not([data-entry]) .intro{margin:auto 20px 0;width:auto;max-width:none;padding-top:clamp(160px,34svh,300px)}
  .intro>.eyebrow,.full-title,.intro>.description,.intro>.world-route,.intro>.experience-promise,.intro>.fan-note,
  body .intro .touch-hint,.intro>.sg-share-row p{display:none}
  h1{font-size:30px;line-height:1.15;letter-spacing:-.7px;margin:0 0 8px}
  .compact-title{display:block}
  .compact-summary{display:block;color:#c3d8e0;font-size:11px;line-height:1.4;margin:0 0 16px}
  body:is([data-entry=mobile],[data-entry=pc]) .screen-launch{min-height:52px;padding:14px 16px}
  .intro>.sg-share-row{margin:6px 0 0;text-align:center}
  .platform-links{justify-content:center;margin:0;font-size:10px;gap:0 22px}
  .platform-links a{min-height:36px}
  .intro>.sg-share-row .sg-share-entry{min-height:40px;padding:8px 12px;border:0;background:transparent;font-size:11px;color:#afc8d3}
  footer{margin:0 20px 12px;justify-content:center;text-align:center;flex-shrink:0}
  html body:not([data-controls]) #fps-counter{top:84px}
}
