/* Slow ambient movement for the homecoming scene; no video or network dependency. */
.welcome-backdrop { transform:scale(1.025); transform-origin:58% 55%; }
.welcome-atmosphere { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; border-radius:inherit; }
/* Individual translate composes with the existing ambient transform animation. */
.welcome-stage.has-pointer-motion .welcome-backdrop { left:-24px; top:-18px; width:calc(100% + 48px); height:calc(100% + 36px); translate:var(--scene-x,0px) var(--scene-y,0px); will-change:translate; }
.welcome-stage.has-pointer-motion .welcome-story { translate:var(--story-x,0px) var(--story-y,0px); }
.welcome-stage.has-pointer-motion .welcome-atmosphere { translate:var(--air-x,0px) var(--air-y,0px); }
.welcome-stage.has-pointer-motion .welcome-actions .welcome-primary { translate:var(--button-x,0px) var(--button-y,0px); }
.welcome-cursor-light { position:absolute; inset:0; pointer-events:none; opacity:0; background:radial-gradient(ellipse 250px 210px at var(--spot-x,50%) var(--spot-y,50%),#ffe1a226,transparent 100%); transition:opacity .4s ease; }
.welcome-stage.has-pointer-motion.is-pointer-inside .welcome-cursor-light { opacity:1; }
.welcome-light { position:absolute; inset:-20%; opacity:.12; background:linear-gradient(113deg,transparent 40%,#ffe7a50a 48%,#ffe4a24a 55%,transparent 65%); transform:translateX(-5%); }
.welcome-dust { position:absolute; inset:0; }
.welcome-dust i { position:absolute; width:3px; height:3px; border-radius:50%; background:#ffedba; opacity:0; box-shadow:0 0 8px #ffe8a966; left:62%; top:74%; }
.welcome-dust i:nth-child(2n) { width:2px; height:2px; }
.welcome-dust i:nth-child(1) { left:64%; top:80%; animation-delay:-3s; }
.welcome-dust i:nth-child(2) { left:76%; top:69%; animation-delay:-11s; }
.welcome-dust i:nth-child(3) { left:82%; top:90%; animation-delay:-7s; }
.welcome-dust i:nth-child(4) { left:56%; top:63%; animation-delay:-14s; }
.welcome-dust i:nth-child(5) { left:72%; top:87%; animation-delay:-5s; }
.welcome-dust i:nth-child(6) { left:90%; top:56%; animation-delay:-9s; }
.welcome-dust i:nth-child(7) { left:14%; top:73%; animation-delay:-1s; }
.welcome-dust i:nth-child(8) { left:26%; top:83%; animation-delay:-12s; }
.welcome-dust i:nth-child(9) { left:86%; top:77%; animation-delay:-16s; }
.welcome-dust i:nth-child(10) { left:67%; top:55%; animation-delay:-6s; }
.welcome-dust i:nth-child(11) { left:21%; top:62%; animation-delay:-15s; }
.welcome-dust i:nth-child(12) { left:78%; top:93%; animation-delay:-4s; }
.welcome-backdrop { animation:homecoming-drift 32s ease-in-out infinite alternate paused; }
.welcome-light { animation:homecoming-light 13s ease-in-out infinite alternate paused; }
.welcome-dust i { animation-name:homecoming-dust; animation-duration:19s; animation-timing-function:linear; animation-iteration-count:infinite; animation-play-state:paused; }
.welcome-screen.is-motion-playing .welcome-backdrop,
.welcome-screen.is-motion-playing .welcome-light,
.welcome-screen.is-motion-playing .welcome-dust i { animation-play-state:running; }
.welcome-motion-toggle { display:inline-flex; align-items:center; gap:7px; padding:2px 6px; border:0; border-radius:4px; color:#727d64; background:transparent; font-size:10px; white-space:nowrap; }
.welcome-motion-toggle:before { content:'▶'; font-size:9px; }
.welcome-motion-toggle[aria-pressed="true"]:before { content:'Ⅱ'; }
.welcome-motion-toggle:hover { color:#3e4c36; background:#dde1cf; }
.welcome-motion-toggle:focus-visible { outline:2px solid #a89867; outline-offset:3px; }
.welcome-motion-toggle:disabled { cursor:default; opacity:.7; }
@keyframes homecoming-drift {
 from { transform:scale(1.025) translate3d(-.35%,.2%,0); }
 to { transform:scale(1.085) translate3d(.45%,-.3%,0); }
}
@keyframes homecoming-light {
 from { opacity:.08; transform:translate3d(-4%,0,0); }
 to { opacity:.24; transform:translate3d(3%,1%,0); }
}
@keyframes homecoming-dust {
 0% { opacity:0; transform:translate3d(0,0,0); }
 18% { opacity:.45; }
 78% { opacity:.28; }
 100% { opacity:0; transform:translate3d(-48px,-165px,0); }
}
@media(max-width:700px) {
 .welcome-dust i:nth-child(n+7) { display:none; }
 .welcome-caption { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; }
 .welcome-caption>span:last-child { width:100%; text-align:center; }
 .welcome-motion-toggle { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
 .welcome-backdrop,.welcome-light,.welcome-dust i { animation:none!important; }
 .welcome-backdrop { transform:none; }
 .welcome-light { opacity:.1; }
 .welcome-dust { display:none; }
 .welcome-backdrop,.welcome-story,.welcome-atmosphere,.welcome-actions .welcome-primary { translate:none!important; }
 .welcome-cursor-light { display:none; }
}
