:root{color-scheme:dark;--mint:#9be9df;--ink:#eaf6f6}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;margin:0;background:#030d16;color:var(--ink);font-family:Manrope,'Avenir Next',sans-serif}::selection{background:#3a8f98;color:white}button:focus-visible{outline:2px solid var(--mint);outline-offset:5px}#universe{position:relative;width:100%;height:100%;display:grid;place-items:center;isolation:isolate;background:radial-gradient(ellipse at 48% 43%,#0a283a 0,#061622 40%,#020b13 85%)}#cosmos{position:absolute;inset:0;width:100%;height:100%;z-index:-1}#stage{position:relative;width:1920px;height:1080px;flex:none;transform:scale(var(--scale,1));transform-origin:center;position:absolute;left:50%;top:50%;margin-left:-960px;margin-top:-540px}#constellation{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.identity{position:absolute;left:68px;top:48px;display:flex;gap:15px;align-items:center;z-index:1;color:#d2f4ef;font-size:28px;font-weight:500;line-height:1.1;letter-spacing:-.7px}.identity svg{width:56px;height:52px}.identity-sub{display:block;font-size:14px;letter-spacing:2.4px;font-weight:400;margin-top:9px}.branch-orbit{fill:none;stroke:#428d9e;stroke-width:.7;opacity:.24}.branch-orbit.dashed{stroke-dasharray:1 8;opacity:.45}.branch-thread{fill:none;stroke:#78c7d0;stroke-width:.8;opacity:.5}.branch-label{fill:#e0f5f3;font-size:24px;text-anchor:middle;font-weight:400;letter-spacing:.7px}.branch-node{fill:url(#star-fill);stroke:#97dbde;stroke-width:1}.branch-core{fill:#efffff}.branch-ray{stroke:#b0e6e2;stroke-width:.6;opacity:.5}.media-node{stroke:#ade9e0;stroke-width:1.5;fill:#0a2935}.guest-shape{fill:#123a4d;stroke:#a3e8e1;stroke-width:1.3}.guest-core{fill:#dffffb;filter:url(#soft-glow)}.guest-name{fill:#e1f2f2;font-size:20px;text-anchor:middle;paint-order:stroke;stroke:#061522;stroke-width:5px;stroke-linejoin:round;font-weight:500}.guest-label-secondary{font-size:18px}.winner-shape{fill:url(#winner-fill);stroke:url(#silver);stroke-width:1.3}.winner-inner{fill:none;stroke:#6bbdc7;stroke-width:.5;opacity:.45}.winner-ray{stroke:#85d8d9;stroke-width:1;opacity:.22}.winner-spark{fill:#bdfff2;opacity:0}.winner-name{font-size:18px;fill:#edfffd;text-anchor:middle;font-weight:600;opacity:0;paint-order:stroke;stroke:#123b4a;stroke-width:2px}.winner-caption{fill:#b5eae6;font-size:10px;letter-spacing:1.6px;text-anchor:middle;opacity:0}.winner.active .winner-shape{stroke:#b3fff0;stroke-width:2;fill:#164657;filter:url(#bright-glow)}.winner.active .winner-inner{stroke:#b1fff0;opacity:.8}.winner.active .winner-name,.winner.active .winner-caption{opacity:1}.winner.active .winner-spark{opacity:1}.scene-footer{position:absolute;left:70px;right:70px;bottom:40px;display:flex;align-items:center;gap:23px;font-size:11px;color:#85aebc;letter-spacing:.6px}.footer-line{height:1px;flex:1;background:linear-gradient(90deg,#35627655,transparent)}#scene-message{color:#afcfd6;font-size:13px;letter-spacing:.8px}#connection{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:12px;background:#112b38;color:#deeff3;border:1px solid #345969;border-radius:5px;padding:10px 16px;max-width:90%;text-align:center}#fullscreen{position:absolute;right:22px;bottom:18px;background:#0c2734aa;color:#b6d6df;border:1px solid #305266;border-radius:6px;width:40px;height:40px;display:grid;place-items:center;opacity:0;transition:opacity .2s}#fullscreen svg{width:18px;height:18px}body:hover #fullscreen,#fullscreen:focus-visible{opacity:.6}#fullscreen:hover{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-script{padding:20px;background:#102b39;color:white;position:absolute;top:40%}body.motion-off #cosmos{opacity:.7}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Quiet ambient motion: only star symbols move; names and media stay anchored. */
.guest-float{animation:star-float var(--float-duration,23s) ease-in-out var(--float-delay,0s) infinite;transform-origin:0 0}
.guest-aura{fill:url(#guest-aura);animation:star-radiance var(--shimmer-duration,9s) ease-in-out var(--shimmer-delay,0s) infinite}
.guest-rays{fill:none;stroke:#b0eee5;stroke-width:.6;opacity:.35;animation:star-rays var(--shimmer-duration,9s) ease-in-out var(--shimmer-delay,0s) infinite}
.guest-symbol>.guest-shape,.branch-sparkle{animation:star-shimmer var(--shimmer-duration,10s) ease-in-out var(--shimmer-delay,0s) infinite}
@keyframes star-float{0%,100%{transform:translate(-2px,1px)}25%{transform:translate(0,-2px)}50%{transform:translate(2px,-1px)}75%{transform:translate(0,2px)}}
@keyframes star-shimmer{0%,100%{opacity:.75}45%{opacity:1}75%{opacity:.86}}
@keyframes star-radiance{0%,100%{opacity:.55}45%{opacity:1}75%{opacity:.72}}
@keyframes star-rays{0%,100%{opacity:.22}45%{opacity:.65}75%{opacity:.32}}
.animation-paused .guest-float,.animation-paused .guest-aura,.animation-paused .guest-rays,.animation-paused .guest-shape,.animation-paused .branch-sparkle{animation-play-state:paused}
.reduced-motion .guest-float,.reduced-motion .guest-aura,.reduced-motion .guest-rays,.reduced-motion .guest-shape,.reduced-motion .branch-sparkle{animation:none!important;transform:none}
@media(prefers-reduced-motion:reduce){.guest-float,.guest-aura,.guest-rays,.guest-shape,.branch-sparkle{animation:none!important;transform:none}}
