/* All positioning stays in the calibrated native camera coordinates. */
.scene-moon {position:absolute;left:1900px;top:151px;width:322px;height:322px;max-width:none;z-index:0;pointer-events:none;transition:opacity 2.8s;}
.scene-sun[role=button] {cursor:pointer;outline-offset:8px;border-radius:50%;}
.scene-sun[role=button]:focus-visible {outline:2px solid #ffcf81;}
.hero[data-power=night] .scene-sun video,.hero[data-power=night] .scene-sun .solar-corona-layer,.hero[data-power=night] .scene-sun .solar-aura {opacity:0!important;}
.hero[data-power=night] .scene-sun {background:radial-gradient(circle,#19130c 0,#0d0b08 64%,#393022 67%,transparent 70%);mix-blend-mode:normal;}
.hero[data-power=night] .scene-floor,.hero[data-power=night] .seated-foreground {filter:brightness(.22) saturate(.45);}
.hero[data-power=night] .table-flow-mask,.hero[data-power=night] .seated-legends {opacity:0;}
.hero[data-power=night] .scene-screen,.hero[data-power=boot] .scene-screen {visibility:hidden;pointer-events:none;}
.scene-floor,.seated-foreground {transition:filter 3s ease;}
.table-flow-mask,.seated-legends {transition:opacity 1.5s;}
.hero[data-power=on] .scene-moon,.hero[data-power=boot] .scene-moon {opacity:.38;}
.monitor-led {position:absolute;z-index:12;width:4px;height:4px;border-radius:50%;background:#36ff63;box-shadow:0 0 2px #36ff6380;pointer-events:none;animation:powerLed 2.6s ease-in-out infinite;}
@keyframes powerLed {0%,35%,100%{opacity:.15}55%,70%{opacity:1}}
.hero[data-power=on] .monitor-led {animation:none;opacity:.8;}
.moon-reflection {position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at 79% 83%,#bdc7ee22,transparent 27%);mask:url('../scene/seated/workstation.webp') center/4096px 1440px no-repeat;transition:opacity 2s;}
.hero:not([data-power=night]) .moon-reflection {opacity:0;}
.platform-wave-plane {position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden;pointer-events:none;}
.platform-wave {position:absolute;inset:-5% -25%;background:radial-gradient(ellipse at center,rgba(255,205,132,.55),rgba(255,129,58,.14) 16%,rgba(255,88,33,.04) 34%,transparent 55%);mix-blend-mode:screen;opacity:0;will-change:transform;}
.particle-sphere {position:absolute;left:calc(50% + var(--scene-unit,.5px)*490);top:calc(var(--scene-top,0px) + var(--scene-unit,.5px)*750);width:calc(var(--scene-unit,.5px)*840);height:calc(var(--scene-unit,.5px)*840);transform:translate(-50%,-50%);pointer-events:none;}
.particle-sphere img {position:absolute;inset:0;width:100%;height:100%;animation:particleRenewal var(--period) ease-in-out infinite;animation-delay:var(--delay);}
@keyframes particleRenewal {0%,100%{opacity:.8;transform:translate(0,0) rotate(0deg)}35%{opacity:.17;transform:translate(1.6%,-1.4%) rotate(1deg)}65%{opacity:.7;transform:translate(-.7%,.8%) rotate(-.6deg)}}
html.scene-light-paused .particle-sphere img,html.scene-light-paused .monitor-led,html.studio-tab-hidden .particle-sphere img {animation-play-state:paused;}
html.studio-save-data .particle-sphere img {animation:none;}
@media(prefers-reduced-motion:reduce){.particle-sphere img,.monitor-led{animation:none;}.scene-floor,.seated-foreground,.scene-moon{transition:none;}}
.boot-circuit {display:none;position:absolute;inset:0;z-index:11;pointer-events:none;}
.boot-circuit img {position:absolute;left:-768px;top:0;width:4096px;height:1440px;max-width:none;}
.boot-circuit-base {opacity:.38;}
.hero[data-power=boot] .boot-circuit {display:block;}
.hero[data-power=night] .scene-moon {animation:moonGlimmer 13s ease-in-out infinite;}
@keyframes moonGlimmer {0%,100%{opacity:.85}50%{opacity:1}}
html.scene-light-paused .scene-moon {animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){.hero[data-power=night] .scene-moon{animation:none;}}
/* Powered-off panels stay opaque; stars must never show through the apertures. */
.hero[data-power=night] .scene-screen,.hero[data-power=boot] .scene-screen {visibility:visible;background:radial-gradient(ellipse at 90% 20%,#10131b,#030609 70%);}
.hero[data-power=night] .scene-screen *,.hero[data-power=boot] .scene-screen * {visibility:hidden!important;}
.platform-wave-mask {position:absolute;inset:0;mask:url('../scene/seated/platform.webp') left bottom/4096px auto no-repeat;pointer-events:none;mix-blend-mode:screen;}
@media(max-width:760px){.platform-wave-mask{mask-image:url('../scene/seated/platform-mobile.webp');}}

/* Clip paint without creating a scroll container that focus can shift. */
.hero.comparison-ready .hero-new {overflow:clip!important;}
.platform-wave-mask {overflow:clip;contain:paint;}
.particle-sphere {filter:brightness(1.6);}
/* A broad crest keeps the passing light legible on the dark graphite tiles. */
.platform-wave {background:linear-gradient(90deg,transparent 30%,rgba(255,114,48,.07) 39%,rgba(255,180,89,.30) 45%,rgba(255,220,166,.58) 50%,rgba(255,149,65,.22) 55%,rgba(255,89,38,.04) 63%,transparent 70%);mask-image:linear-gradient(0deg,transparent,#000 12% 75%,transparent);}

/* Version 3: sharp genuine SVG outlines. A single phase crosses top → bevel →
   front, with independent symbol changes. No colour filter, bitmap video or bloom. */
.matrix-vector-plane {position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;overflow:hidden;}
.matrix-glyph-canvas {display:block;width:100%;height:100%;}
.seated-native .table-flow-mask {filter:none;mix-blend-mode:normal;}

/* Sun and moon are rigidly attached to diametrically opposed orbit arms. */
.celestial-orbit {position:absolute;z-index:1;pointer-events:none;--orbit-phase:0deg;}
.celestial-arm {position:absolute;inset:0;pointer-events:none;transition:transform 2.8s cubic-bezier(.45,0,.25,1);}
.moon-arm {transform:rotate(var(--moon-angle));}
.sun-arm {transform:rotate(var(--sun-angle));}
.hero:not([data-power=night]) .moon-arm {transform:rotate(calc(var(--moon-angle) + var(--orbit-travel)));}
.hero:not([data-power=night]) .sun-arm {transform:rotate(calc(var(--sun-angle) + var(--orbit-travel)));}
.moon-trigger,.hero .celestial-orbit .scene-sun.white-halo.sun-stage {position:absolute;left:100%;top:50%;width:var(--body-size);height:var(--body-size);padding:0;border:0;background:transparent;border-radius:50%;box-shadow:none;pointer-events:none;transform:translate(-50%,-50%) rotate(calc(0deg - var(--sun-angle)));transition:transform 2.8s cubic-bezier(.45,0,.25,1),opacity 1s;}
.moon-trigger {transform:translate(-50%,-50%) rotate(calc(0deg - var(--moon-angle)));cursor:pointer;}
.hero[data-power=night] .moon-trigger {pointer-events:auto;}
.moon-trigger:focus-visible {outline:2px solid #b6c3dc;outline-offset:8px;}
.hero:not([data-power=night]) .moon-trigger {transform:translate(-50%,-50%) rotate(calc(0deg - var(--moon-angle) - var(--orbit-travel)));}
.hero:not([data-power=night]) .celestial-orbit .scene-sun.white-halo.sun-stage {transform:translate(-50%,-50%) rotate(calc(0deg - var(--sun-angle) - var(--orbit-travel)));}
.celestial-orbit .scene-moon {position:static;inset:auto;display:block;width:100%;height:100%;max-width:none;opacity:1;animation:none!important;transition:none;}
.hero[data-power=night] .celestial-orbit .scene-moon {opacity:.62;}
.hero[data-power=night] .celestial-orbit .scene-sun {opacity:0;}
.hero:not([data-power=night]) .moon-trigger {opacity:0;transition:transform 2.8s cubic-bezier(.45,0,.25,1),opacity 2.8s;}
.hero[data-power=night] .scene-floor,.hero[data-power=night] .seated-foreground {filter:brightness(.055) saturate(.2);}
.hero[data-power=night] .particle-sphere {opacity:0;pointer-events:none;}
.particle-sphere {transition:opacity 2.8s;}
.moon-reflection {display:none;}
html[data-scene-power=night] .space-background {opacity:.10;}
html[data-scene-power=night] .particle-sphere {opacity:0;}
.space-background {transition:opacity 2.8s;}
.hero[data-power=night] .scene-screen {background:#010202;}
@media(prefers-reduced-motion:reduce){.boot-circuit{animation:none;}.celestial-arm,.moon-trigger,.hero .celestial-orbit .scene-sun.white-halo.sun-stage,.scene-brand,.particle-sphere,.space-background{transition:none;}}
