:root{--winner-gold:#f4c542;--winner-blue:#55cbff;color:#f7f8fb;font-synthesis:none;text-rendering:optimizelegibility;background:#0b0e14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{min-height:100dvh;margin:0}button{font:inherit}.page-shell{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 0,#293451 0%,#121722 48%,#0b0e14 100%);place-items:center;display:grid;overflow-x:hidden}.guest-card,.host-card{text-align:center;background:#ffffff12;border:1px solid #ffffff1f;border-radius:28px;width:min(100%,440px);padding:clamp(28px,8vw,48px) clamp(20px,7vw,36px);box-shadow:0 24px 64px #00000052}.eyebrow{color:#a8b8ff;letter-spacing:.16em;margin:0 0 18px;font-size:.72rem;font-weight:750}.star-mark{color:var(--winner-blue);transform-origin:50%;display:block;overflow:visible}.star-mark path{fill:currentColor}.brand-star{width:clamp(58px,18vw,78px);margin:4px auto 24px}.star-waiting{color:#355b7d;filter:drop-shadow(0 0 12px #49a4e633);animation:3.8s ease-in-out infinite star-waiting}h1{margin:0;font-size:clamp(1.9rem,9vw,3rem);line-height:1.12}.supporting{color:#c4c9d6;margin:20px auto;line-height:1.65}.privacy-note{color:#8f98aa;margin:18px 0 0;font-size:.84rem}.compatibility-note{font-size:.78rem}.primary-button,.secondary-button{cursor:pointer;border-radius:16px;width:100%;min-height:52px;font-weight:750}.primary-button{color:#0a251a;background:#86e8c1;border:0;box-shadow:0 10px 28px #4dd49f33}.primary-button:active{transform:translateY(1px)}.secondary-button{color:#f7f8fb;background:0 0;border:1px solid #ffffff29}.waiting-copy{gap:18px;margin-top:24px;display:grid}.waiting-copy p,.waiting-copy span{color:#b5bdcc;margin:0}.waiting-copy strong{color:#86e8c1;font-size:1.25rem}.evidence-panel{color:#aeb6c5;text-align:left;font-size:.78rem}.evidence-panel summary{cursor:pointer}.evidence-panel code{overflow-wrap:anywhere;margin-top:8px;display:block}.loading-dot{background:#86e8c1;border-radius:50%;width:12px;height:12px;margin:28px auto 0;animation:1.2s ease-in-out infinite pulse}.host-shell{padding-block:32px}.host-card{width:min(100%,560px)}.host-card h1{font-size:clamp(2rem,8vw,3.25rem)}.host-room{grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;display:grid}.room-code,.room-count{background:#ffffff0f;border-radius:16px;gap:6px;padding:14px;display:grid}.room-code span,.room-count span{color:#9ca5b6;font-size:.78rem}.room-code strong,.room-count strong{font-size:1.5rem}.qr-code{aspect-ratio:1;border:10px solid #fff;border-radius:14px;grid-column:1/-1;width:min(100%,320px);margin:6px auto}.safe-url{overflow-wrap:anywhere;color:#b7c4fa;grid-column:1/-1;font-size:.76rem}.secondary-button{grid-column:1/-1}.harness-status{color:#aeb6c5;margin:20px 0 0;font-size:.86rem}.legal-shell{align-items:start}.legal-card{color:#dce2ef;width:min(100%,720px);padding:32px 24px 56px;line-height:1.72}.legal-card h1{margin:22px 0 28px}.legal-card h2{color:#f7f8fb;margin:28px 0 8px;font-size:1.15rem}.legal-card p{margin:10px 0}.legal-card a{color:#86e8c1}.legal-home{letter-spacing:.08em;font-weight:750;text-decoration:none}.profile-picker{color:#aeb6c5;text-align:left;gap:8px;margin:22px 0;font-size:.82rem;display:grid}.profile-picker select{color:#f7f8fb;min-height:46px;font:inherit;background:#171d29;border:1px solid #ffffff2e;border-radius:12px;padding:0 12px}.round-page{background:#05070b;padding:0}.round-surface{color:#eef3ff;background:#05070b;place-items:center;width:100%;min-height:100dvh;transition:background-color 90ms linear,color .16s;display:grid;overflow:hidden}.round-surface p{color:#aab3c6;letter-spacing:.08em;margin:0}.round-surface h1{text-align:center;font-size:clamp(3rem,17vw,7rem)}.round-visual{place-items:center;gap:clamp(24px,7vh,52px);display:grid}.round-visual .star-mark{width:min(48vw,260px)}.round-visual .crowned-star-mark{width:min(48vw,330px)}.star-awaken{color:#b9d5ff;opacity:.72;filter:drop-shadow(0 0 34px #8bb7ff6b);animation:1.8s ease-out both star-awaken}.star-active{color:#64d8ff;filter:drop-shadow(0 0 44px #37abff9e);animation:1.1s ease-in-out infinite star-breathe}.star-idle{color:#111a28;filter:drop-shadow(0 0 18px #5c73a01f)}.star-blackout{color:#050608;opacity:.035;filter:none}.star-nonWinner{color:#151b26;opacity:.55;filter:drop-shadow(0 0 12px #5a69871a)}.crowned-star-mark{transform-origin:50%;filter:drop-shadow(0 0 48px #37abff9e);animation:.5s cubic-bezier(.2,.8,.2,1) both crowned-star-bloom;display:block;overflow:visible}.crowned-star-core{fill:url(#winner-blue)}.winner-crown{fill:var(--winner-gold);filter:drop-shadow(0 3px 5px #f4c54259)}.round-surface[data-visual-stage=tension] .star-active{color:#8bdfff;filter:drop-shadow(0 0 52px #37abffb8);animation-duration:.78s}.round-surface[data-visual-stage=tension].phase-chaseIdle{background:#070b12}.round-surface[data-visual-stage=slowdown] .star-active{color:#b8eaff;filter:drop-shadow(0 0 62px #37abffc7);animation-duration:1.45s}.round-surface[data-visual-stage=slowdown].phase-chaseIdle{background:#020306}.phase-blackout{color:#0000;background:#000}.phase-winner{color:#f4f8ff;background:radial-gradient(circle,#163968 0%,#09172c 48%,#030711 100%)}.phase-notSelected{color:#c7ceda;background:#05070b}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}@keyframes star-waiting{50%{opacity:.72;filter:drop-shadow(0 0 18px #49a4e647)}}@keyframes star-awaken{0%{opacity:.24;transform:scale(.84)}}@keyframes star-breathe{50%{opacity:.78;transform:scale(.92)}}@keyframes crowned-star-bloom{0%{opacity:.68;filter:drop-shadow(0 0 18px #37abff4d);transform:scale(.92)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media (width<=340px){.page-shell{padding-inline:12px}.guest-card,.host-card{border-radius:22px;padding-inline:18px}}@media (prefers-reduced-motion:reduce){.loading-dot,.star-mark,.crowned-star-mark{animation:none}.round-surface{transition:none}.star-awaken,.star-active,.crowned-star-mark{filter:drop-shadow(0 0 24px #55cbff6b)}}
