/* The live scene owns the frame; identity arrives only as the camera lands. */
.arrival-director[hidden]{display:none!important}
.arrival-director{position:fixed;inset:0;z-index:190;pointer-events:none;color:#353e48;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;background:linear-gradient(180deg,#f3f4f6b8,transparent 18% 79%,#e5e8ecb0);isolation:isolate}
.arrival-director{touch-action:none}
.arrival-top{position:absolute;left:clamp(20px,4vw,72px);right:clamp(20px,4vw,72px);top:clamp(20px,4vh,56px);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:clamp(12px,.9vw,22px);line-height:1.4;font-weight:500;letter-spacing:.06em}
.arrival-skip,.arrival-replay{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #aebbc66b;border-radius:999px;background:#ffffffb8;color:#56616d;padding:.65em 1.1em;font:inherit;font-weight:400;cursor:pointer;backdrop-filter:blur(20px);transition:background .2s,transform .2s}
.arrival-skip:hover,.arrival-replay:hover{background:#fff;transform:translateY(-1px)}
.arrival-skip:active,.arrival-replay:active{transform:scale(.97)}
.arrival-skip:focus-visible,.arrival-replay:focus-visible{outline:3px solid #087cf0;outline-offset:4px}
.arrival-replay{font-size:clamp(11px,.75vw,20px);letter-spacing:.02em;white-space:nowrap}
.arrival-replay:disabled{opacity:.45;cursor:default}
.arrival-identity{position:absolute;left:clamp(24px,5.8vw,112px);top:clamp(100px,15vh,180px);max-width:min(32vw,470px);pointer-events:none;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .9s .3s,transform 1.1s .3s,visibility 0s .3s}
.arrival-director .arrival-identity small{display:block;margin-bottom:12px;font-size:clamp(11px,.85vw,22px);font-weight:400;letter-spacing:.1em;color:#687683}
.arrival-director .arrival-identity h2{margin:0;font-size:clamp(28px,3vw,72px);line-height:1.2;font-weight:550;letter-spacing:-.025em;color:#303b46}
.arrival-director .arrival-identity p{margin:14px 0 0;font-size:clamp(9px,.65vw,17px);line-height:1.6;letter-spacing:.16em;color:#7b8792}
body.arrival-landing .arrival-identity{opacity:1;visibility:visible;transform:none}
body[data-arrival-shot="hero"]:not(.arrival-landing) .arrival-identity{opacity:1;visibility:visible;transform:none;transition-delay:var(--arrival-reveal-delay,4.65s)}
.arrival-bottom{position:absolute;left:50%;bottom:clamp(24px,4vh,56px);width:min(260px,42vw);transform:translateX(-50%)}
.arrival-progress{height:2px;overflow:hidden;border-radius:2px;background:#9caeba2b}
.arrival-progress i{display:block;height:100%;width:var(--arrival-progress,0%);background:#6e92ac;border-radius:inherit}
body[data-surface="home"].arrival-playing .mainstage{position:static!important;isolation:auto!important}
body[data-surface="home"].arrival-playing .hero-stage{position:fixed!important;inset:0!important;z-index:100!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;margin:0!important;transform:none!important;opacity:1;transition:none!important;pointer-events:none!important}
body[data-surface="home"].arrival-playing.arrival-landing .hero-stage{inset:var(--arrival-home-top) var(--arrival-home-right) var(--arrival-home-bottom) var(--arrival-home-left)!important;transition:inset var(--arrival-landing-duration,2.5s) cubic-bezier(.2,.7,.2,1),opacity .7s!important}
body[data-surface="home"].arrival-playing .hero-stage::before,body[data-surface="home"].arrival-playing .hero-stage::after{opacity:0!important}
body[data-surface="home"]:not(.portal-home)[data-render-mode="solid"] .hero-stage::after{opacity:0!important}
body[data-surface="home"].arrival-playing{background:radial-gradient(ellipse at 50% 42%,#f7f9fa 0,#e8edf0 57%,#d9e0e5 100%)!important}
body[data-surface="home"].arrival-playing .screen{background:transparent!important}
body[data-surface="home"].arrival-playing .screen::before,body[data-surface="home"].arrival-playing .screen::after{opacity:0!important}
body[data-surface="home"].arrival-playing :is(.masthead,.stage-heading,.side,.directions,.exhibit-caption,.hero-toolbar,.vehicle-tools,.energy-portal,.portal-panel,.portal-actions,.portal-telemetry,.model-info,.selected-model-link,#platform-access-root,#platform-access,#portal-panel,#portal-actions,#energy-portal,#portal-telemetry){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body[data-surface="home"].arrival-playing .mainstage::before{opacity:0!important}
body[data-surface="home"].arrival-playing .mainstage > :not(.hero-stage){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body[data-surface="home"].arrival-playing .masthead *,body[data-surface="home"].arrival-playing .mainstage > :not(.hero-stage) *{visibility:hidden!important;pointer-events:none!important}
.arrival-portal-replay{display:none;position:fixed;right:3.3vw;bottom:2.5vh;z-index:35}
body.portal-home .arrival-portal-replay{display:inline-flex}
body.arrival-playing .arrival-portal-replay{display:none}
body.arrival-landed :is(.portal-intro,.portal-energy,.portal-actions,.portal-telemetry){animation:arrival-content-in .7s cubic-bezier(.2,.8,.2,1) backwards}
body.arrival-landed .portal-energy{animation-delay:.1s}
body.arrival-landed .portal-actions{animation-delay:.2s}
body.arrival-landed:not(.portal-home) :is(#nev-site-header,#nev-site-context,.home-scene-title,.side-left,.exhibit-caption,.teaching-dock,.view-switch,.home-display-modes,.directions){animation:arrival-controls-in .65s ease-out both}
body.arrival-landed:not(.portal-home) :is(.side-left,.view-switch){animation-delay:.12s}
body.arrival-landed:not(.portal-home) :is(.exhibit-caption,.teaching-dock,.directions){animation-delay:.24s}
html.arrival-preparing .screen{visibility:hidden!important}
html.arrival-preparing::before{content:'';position:fixed;inset:0;z-index:300;background:#eceef1}
@keyframes arrival-content-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes arrival-controls-in{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.arrival-top{font-size:11px;letter-spacing:.025em;gap:12px}.arrival-identity{left:7vw;right:7vw;top:14vh;max-width:none}.arrival-director .arrival-identity h2{font-size:28px}.arrival-director .arrival-identity small{margin-bottom:8px}.arrival-director .arrival-identity p{margin-top:10px}.arrival-replay{padding:.6em .85em}}
@media(max-height:570px){.arrival-top{top:18px}.arrival-identity{top:78px}.arrival-director .arrival-identity h2{font-size:clamp(24px,3vw,40px)}.arrival-bottom{bottom:18px}}
@media(prefers-reduced-motion:reduce){.arrival-director,.arrival-identity,.arrival-replay,.arrival-skip,body[data-surface="home"].arrival-playing .hero-stage{animation:none!important;transition:none!important}body.arrival-landed :is(.portal-intro,.portal-energy,.portal-actions,.portal-telemetry){animation:none}}
@media(prefers-reduced-motion:reduce){body.arrival-landed:not(.portal-home) :is(#nev-site-header,#nev-site-context,.home-scene-title,.side-left,.exhibit-caption,.teaching-dock,.view-switch,.home-display-modes,.directions){animation:none}}

html.energy-entry-locked body.nev-site-unified #yuansi-university-navigation:not([hidden]),body.nev-site-unified.arrival-playing #yuansi-university-navigation:not([hidden]){opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* Keep the mobile document and its landing anchor in place while the canvas
   temporarily leaves normal flow to fill the screen. */
@media(max-width:700px){
 body[data-surface="home"]:not(.portal-home) .screen{overflow:visible}
 body.nev-site-unified[data-surface="home"]:not(.portal-home) .mainstage .teaching-dock{order:5}
 body[data-surface="home"]:not(.portal-home).arrival-playing .mainstage::before{content:'';display:block!important;position:relative;inset:auto;order:4;flex:0 0 var(--arrival-stage-height,340px);height:var(--arrival-stage-height,340px);width:100%;margin:-5px 0;transform:none;pointer-events:none}
}

.arrival-director:focus{outline:none}
.arrival-viewing{font-size:inherit;font-weight:400;color:#6a7c8b;letter-spacing:.04em}
