@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@500;600;700;800&display=swap";:root{--rj-bg:#120d24;--rj-well:#1d1638;--rj-surface:#2a2152;--rj-surface-2:#3b3170;--rj-line:#50468b;--rj-edge:#847bba;--rj-plate:rgba(18,13,36,.7);--rj-plate-strong:rgba(18,13,36,.9);--rj-bar:rgba(42,33,82,.8);--rj-text:#f6f3ff;--rj-muted:#a99fd1;--rj-accent:#fc3;--rj-on-accent:#1b1300;--rj-accent-edge:#b88a00;--rj-accent-glow:rgba(255,204,51,.2);--rj-accent-2:#ff4d8d;--rj-accent-2-hi:#ff8fb5;--rj-accent-2-lo:#b3144f;--rj-accent-2-edge:#7d0e37;--rj-accent-2-glow:rgba(255,77,141,.12);--rj-sky:#4dabf7;--rj-on-sky:#06223a;--rj-sky-glow:rgba(77,171,247,.1);--rj-sky-ring:rgba(77,171,247,.25);--rj-ok:#3ddc97;--rj-ok-deep:#0f3b2b;--rj-ok-glow:rgba(61,220,151,.7);--rj-danger:#ff5a5a;--rj-on-danger:#120d24;--rj-track:rgba(255,255,255,.1);--rj-paper:#fff;--rj-focus:0 0 0 3px var(--rj-bg), 0 0 0 6px var(--rj-text);--rj-radius-xs:8px;--rj-radius-sm:10px;--rj-radius:18px;--rj-radius-lg:24px;--rj-display:"Fredoka", ui-rounded, system-ui, sans-serif;--rj-body:"Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--rj-bg);color:var(--rj-text);font-family:var(--rj-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,.rj-display{font-family:var(--rj-display);letter-spacing:.01em;margin:0;font-weight:700}button{font:inherit;color:inherit}.rj-button{-webkit-appearance:none;appearance:none;background:var(--rj-accent);color:var(--rj-on-accent);font-family:var(--rj-display);cursor:pointer;box-shadow:0 4px 0 var(--rj-accent-edge);border:0;border-radius:999px;padding:14px 28px;font-size:1.15rem;font-weight:700;transition:transform 80ms,box-shadow 80ms}.rj-button:focus-visible{outline-offset:3px;box-shadow:0 4px 0 var(--rj-accent-edge), var(--rj-focus);outline:3px solid transparent}.rj-button:active:not(:disabled):not([aria-disabled=true]){box-shadow:0 1px 0 var(--rj-accent-edge);transform:translateY(3px)}.rj-button:disabled,.rj-button[aria-disabled=true]{opacity:.45;cursor:default}.rj-button.secondary{background:var(--rj-surface-2);color:var(--rj-text);box-shadow:0 4px 0 var(--rj-bg)}.rj-button.secondary:active:not(:disabled){box-shadow:0 1px 0 var(--rj-bg)}.rj-button.secondary:focus-visible{box-shadow:0 4px 0 var(--rj-bg), var(--rj-focus)}.rj-button:focus-visible:active:not(:disabled){box-shadow:0 1px 0 var(--rj-accent-edge), var(--rj-focus)}.rj-button.secondary:focus-visible:active:not(:disabled){box-shadow:0 1px 0 var(--rj-bg), var(--rj-focus)}.rj-input{border:2px solid var(--rj-edge);border-radius:var(--rj-radius-sm);background:var(--rj-surface);width:100%;color:var(--rj-text);font:inherit;outline:none;padding:14px 16px;font-size:1.25rem}.rj-input::placeholder{color:var(--rj-muted)}.rj-input:focus{border-color:var(--rj-sky);outline:3px solid transparent}.rj-card{background:var(--rj-surface);border:1px solid var(--rj-line);border-radius:var(--rj-radius);padding:20px}.rj-muted{color:var(--rj-muted)}body{background:radial-gradient(1200px 700px at 85% -10%, var(--rj-accent-2-glow), transparent 60%), radial-gradient(900px 600px at -10% 110%, var(--rj-sky-glow), transparent 60%), var(--rj-bg);overflow:hidden}.st-root{flex-direction:column;height:100vh;display:flex;position:relative}.st-content{flex:1;min-height:0;position:relative}.st-logo{font-size:8rem;text-shadow:0 6px rgba(0,0,0,.35);font-size:max(3.5rem,min(9vw,8rem));line-height:.95}.st-logo span{color:var(--rj-accent)}.st-logo.small{font-size:3rem}.st-home{text-align:center;place-content:center;gap:48px;min-height:100vh;padding:32px;display:grid}.st-home-tag{font-size:1.8rem;color:var(--rj-muted);margin:16px 0 36px;font-size:max(1.2rem,min(2.2vw,1.8rem))}.st-home-start{padding:20px 56px;font-size:1.8rem}.st-home-join{text-align:left;max-width:560px;margin:0 auto}.st-home-join h2{font-size:1.4rem}.st-home-join-row{gap:12px;display:flex}.st-home-join-row input{text-transform:uppercase;letter-spacing:.3em;font-family:var(--rj-display);max-width:180px}.st-error{color:var(--rj-danger);font-size:1.2rem}.st-splash{text-align:center;place-content:center;justify-items:center;gap:20px;height:100vh;padding:32px;font-size:1.6rem;display:grid}.st-lobby{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(320px,30vw) 1fr;gap:4vw;height:100%;padding:4vh 4vw;display:grid}.st-join{text-align:center;background:var(--rj-surface);border:1px solid var(--rj-line);border-radius:28px;flex-direction:column;justify-content:center;align-items:center;padding:3vh 2vw;display:flex}.st-join-label{font-family:var(--rj-display);margin:0 0 16px;font-size:2rem}.st-qr{width:24vw;aspect-ratio:1;background:var(--rj-paper);border-radius:20px;width:min(24vw,42vh);padding:12px}.st-qr img{width:100%;height:100%;display:block}.st-join-url{color:var(--rj-muted);word-break:break-all;margin:16px 0 24px;font-size:1.1rem}.st-join-code-label{text-transform:uppercase;letter-spacing:.2em;color:var(--rj-muted);margin:0}.st-join-code{font-family:var(--rj-display);font-size:6.5rem;font-weight:700;letter-spacing:.12em;color:var(--rj-accent);margin:0;font-size:max(3.5rem,min(7vw,6.5rem))}.st-lobby-main{flex-direction:column;min-height:0;display:flex}.st-players-head{justify-content:space-between;align-items:baseline;font-size:1.4rem;display:flex}.st-players-head h2,.st-games-title{font-size:2.4rem}.st-empty{color:var(--rj-muted);padding:4vh 0;font-size:1.8rem}.st-players{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;min-height:0;margin:2vh 0 4vh;padding:0;list-style:none;display:grid;overflow-y:auto}.st-players li{background:var(--rj-surface);border:1px solid var(--rj-line);border-radius:999px;align-items:center;gap:14px;padding:8px 20px 8px 8px;font-size:1.6rem;animation:.3s cubic-bezier(.2,1.4,.4,1) st-pop;display:flex}.st-players li.away{opacity:.4}.st-avatar{width:52px;height:52px;font-family:var(--rj-display);color:var(--rj-bg);border-radius:50%;flex:none;place-items:center;font-size:1.6rem;font-weight:700;display:grid;box-shadow:inset 0 -4px rgba(0,0,0,.18)}.st-player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.st-player-score{color:var(--rj-accent);font-family:var(--rj-display);margin-left:auto}.st-games{flex:1 1 0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;min-height:0;margin:calc(2vh - 8px) -8px 0;padding:8px;display:grid;overflow-y:auto}.st-game-card{text-align:left;border:3px solid var(--rj-line);background:var(--rj-surface);cursor:pointer;border-radius:22px;flex-direction:column;gap:8px;padding:22px 24px;display:flex}div.st-game-card{cursor:default}.st-game-card strong{font-family:var(--rj-display);font-size:2rem}.st-game-head{align-items:center;gap:16px;display:flex}.st-game-icon{flex:none;width:64px;height:64px}.st-game-card.selected{border-color:var(--rj-sky);box-shadow:0 0 0 4px var(--rj-sky-ring)}.st-game-card:focus-visible{outline-offset:3px;box-shadow:var(--rj-focus);outline:3px solid transparent}.st-game-card.blocked{opacity:.6}.st-game-tag{color:var(--rj-text);font-size:1.15rem}.st-game-meta{color:var(--rj-muted)}.st-game-chips{flex-wrap:wrap;gap:8px;display:flex}.st-chip{background:var(--rj-surface-2);color:var(--rj-text);white-space:nowrap;border-radius:999px;padding:4px 14px;font-size:1.15rem;font-weight:700}.st-chip.mode{box-shadow:inset 0 0 0 2px var(--rj-edge);background:0 0}.st-game-note{color:var(--rj-muted);font-weight:700}.st-game-why{color:var(--rj-danger)}.st-lobby-foot{margin-top:auto;padding-top:3vh;font-size:1.3rem}.st-start{padding:20px 60px;font-size:1.8rem}.st-options{gap:1.4vh;margin-bottom:2.6vh;display:grid}.st-option{flex-wrap:wrap;align-items:center;gap:10px 20px;display:flex}.st-option-label{color:var(--rj-muted)}.st-option-choices{flex-wrap:wrap;gap:8px;display:flex}.st-option-choice{-webkit-appearance:none;appearance:none;border:2px solid var(--rj-line);background:var(--rj-surface);color:var(--rj-text);font-family:var(--rj-display);white-space:nowrap;cursor:pointer;border-radius:999px;padding:10px 24px;font-size:1.3rem;font-weight:700;transition:background .14s,color .14s}.st-option-choice.active{border-color:var(--rj-sky);background:var(--rj-sky);color:var(--rj-on-sky)}.st-option-choice:focus-visible{outline-offset:3px;box-shadow:var(--rj-focus);outline:3px solid transparent}.st-option-value{font-family:var(--rj-display)}.st-game{position:absolute;top:0;bottom:0;left:0;right:0}.st-endgame{border:1px solid var(--rj-line);background:var(--rj-plate);color:var(--rj-muted);cursor:pointer;opacity:.35;z-index:5;border-radius:999px;padding:8px 16px;transition:opacity .15s;position:absolute;bottom:16px;right:16px}.st-endgame:hover{opacity:1}.st-continue{z-index:5;animation:.3s st-continue-in;position:absolute;bottom:64px;right:16px}.st-continue-error{z-index:5;background:var(--rj-plate);max-width:40vw;color:var(--rj-danger);border-radius:12px;margin:0;padding:8px 14px;position:absolute;bottom:112px;right:16px}@keyframes st-continue-in{0%{opacity:0;transform:translateY(12px)}}.st-sound{z-index:6;gap:8px;display:flex;position:fixed;bottom:16px;left:16px}.st-sound button{border:1px solid var(--rj-line);background:var(--rj-plate);color:var(--rj-muted);cursor:pointer;opacity:.35;border-radius:999px;padding:8px 16px;transition:opacity .15s}.st-sound button:hover{opacity:1}.st-sound button:focus-visible{opacity:1}.st-sound button:focus-visible{outline-offset:3px;box-shadow:var(--rj-focus);outline:3px solid transparent}.st-sound-chip:focus-visible{outline-offset:3px;box-shadow:var(--rj-focus);outline:3px solid transparent}.st-caption{bottom:72px;left:0;right:0;width:fit-content;max-width:76vw;background:var(--rj-plate);backdrop-filter:blur(12px);max-width:min(1200px,76vw);color:var(--rj-text);font-size:2.25rem;text-align:center;pointer-events:none;z-index:15;border-radius:16px;margin:0 auto;padding:12px 28px;font-size:max(1.5rem,min(2.2vw,2.5rem));line-height:1.3;position:fixed;bottom:max(72px,6vh)}.st-caption-silent{border:2px dashed var(--rj-muted)}.st-caption-tag{color:var(--rj-muted);font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:max(.875rem,.45em);display:block}.st-caption:empty{backdrop-filter:none;background:0 0;border:0;padding:0}.st-sound-chip{border:2px solid var(--rj-accent);background:var(--rj-plate-strong);color:var(--rj-accent);cursor:pointer;z-index:6;border-radius:999px;padding:10px 20px;font-size:1.2rem;animation:2.4s ease-in-out infinite st-sound-nudge;position:fixed;bottom:64px;left:16px}@keyframes st-sound-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.st-results{flex-direction:column;align-items:center;height:100%;padding:6vh 6vw;display:flex}.st-results h1{font-size:4.5rem;margin-bottom:4vh;font-size:max(2.5rem,min(5vw,4.5rem))}.st-results-body{flex:0 auto;justify-content:center;width:100%;min-height:0;display:flex}.st-standings{flex:0 1000px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-content:start;gap:12px 16px;min-width:0;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.st-standings li{background:var(--rj-surface);border:1px solid var(--rj-line);border-radius:20px;grid-template-columns:56px 56px 1fr auto 120px;align-items:center;gap:18px;padding:10px 24px 10px 14px;font-size:1.8rem;animation:.42s cubic-bezier(.2,1.2,.4,1) both st-rise;display:grid}.st-standings li:first-child{border-color:var(--rj-accent);background:linear-gradient(90deg, var(--rj-accent-glow), var(--rj-surface))}.st-standings.split{flex-basis:1400px}.st-standings.split li{grid-template-columns:44px auto minmax(0,1fr) auto 80px;gap:12px;padding-left:12px;padding-right:20px}@media (max-height:1000px){.st-standings.compact{row-gap:1.2vh}.st-standings.compact li{padding-top:1vh;padding-bottom:1vh;line-height:1.2}.st-standings.compact .st-avatar{width:5.2vh;height:5.2vh;font-size:2.5vh}}.st-rank{font-family:var(--rj-display);color:var(--rj-muted);text-align:center}.st-gained{color:var(--rj-ok);font-family:var(--rj-display)}.st-total{font-family:var(--rj-display);text-align:right;color:var(--rj-accent);font-weight:700}.st-results-foot{gap:16px;margin-top:auto;padding-top:4vh;font-size:1.3rem;display:flex}.st-why{color:var(--rj-danger);align-self:center;margin:0}.st-lobby-foot .st-why{margin-bottom:1.5vh}.st-late{color:var(--rj-muted);margin:2vh 0 0}.st-late strong{color:var(--rj-text)}.st-storage-notice+.st-content .st-results{padding-top:3vh;padding-bottom:4vh}.st-storage-notice+.st-content .st-results h1{margin-bottom:2vh}.st-storage-notice+.st-content .st-results-foot{padding-top:2vh}.st-handoff{border:1px solid var(--rj-edge);border-radius:var(--rj-radius-lg);background:var(--rj-plate-strong);flex:none;justify-content:space-between;align-items:center;width:100%;max-width:1000px;margin:0 0 3vh;padding:2vh 2vw;display:flex;box-shadow:0 18px 48px rgba(0,0,0,.45)}.st-lobby .st-handoff{margin:0 0 1.5vh;padding:1.2vh 1.6vw}.st-lobby .st-handoff-title{font-size:1.8rem;font-size:max(1.2rem,min(1.8vw,1.8rem))}.st-lobby .st-handoff-body{font-size:1.2rem;font-size:max(.95rem,min(1.2vw,1.2rem))}.st-lobby .st-handoff-code{font-size:4.5rem;font-size:max(3rem,min(5vw,4.5rem))}.st-lobby .st-handoff~.st-players{margin-bottom:2vh}.st-results .st-handoff{text-align:center;flex-direction:column;flex:0 0 18vw;justify-content:flex-start;align-self:flex-start;min-width:9.5rem;max-width:none;margin:0 0 0 24px;padding-left:1.4vw;padding-right:1.4vw}.st-results .st-handoff-text{max-width:100%;margin:0 0 1.5vh}.st-results .st-handoff-title{overflow-wrap:break-word;font-size:2.2vw;font-size:max(1.4rem,min(2.2vw,2.2rem))}.st-results .st-handoff-body{font-size:1.4vw;font-size:max(1rem,min(1.4vw,1.4rem))}.st-results .st-handoff-code{font-size:4.5rem;font-size:max(3rem,min(5vw,4.5rem))}.st-handoff-text{margin-right:2vw}.st-handoff-title{font-family:var(--rj-display);font-size:2.2rem;font-weight:600;margin:0;font-size:max(1.4rem,min(2.2vw,2.2rem))}.st-handoff-body{color:var(--rj-muted);font-size:1.4rem;margin:.6vh 0 0;font-size:max(1rem,min(1.4vw,1.4rem))}.st-handoff-code{font-family:var(--rj-display);font-size:6.5rem;font-weight:700;letter-spacing:.12em;color:var(--rj-text);flex:none;margin:0;font-size:max(3.5rem,min(7vw,6.5rem));line-height:1}.st-storage-notice{width:760px;border:1px solid var(--rj-edge);background:var(--rj-surface);width:min(760px,100vw - 32px);color:var(--rj-text);text-align:center;border-radius:12px;flex:none;margin:12px auto 0;padding:12px 20px;font-size:1rem}.st-status,.st-toast{z-index:20;border-radius:999px;padding:10px 22px;font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.st-status{background:var(--rj-surface-2);color:var(--rj-text);border:1px solid var(--rj-line);top:16px}.st-toast{background:var(--rj-danger);color:var(--rj-on-danger);max-width:80vw;bottom:24px}.st-diag{max-width:720px;border:1px solid var(--rj-line);z-index:30;background:rgba(10,7,22,.94);border-radius:16px;max-width:min(720px,90vw);max-height:90vh;padding:18px 22px;font:14px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;top:16px;right:16px;overflow:auto}.st-diag h3{margin-bottom:8px;font-size:1.1rem}.st-diag table{border-collapse:collapse;width:100%}.st-diag th,.st-diag td{text-align:left;border-bottom:1px solid rgba(255,255,255,.06);padding:4px 10px 4px 0}.no-flex-gap .st-home-join-row>*+*{margin-left:12px}.no-flex-gap .st-players li>*+:not(.st-player-score){margin-left:14px}.no-flex-gap .st-game-card>*+*{margin-top:8px}.no-flex-gap .st-game-chips{margin-bottom:-8px}.no-flex-gap .st-chip{margin:0 8px 8px 0}.no-flex-gap .st-game-head>*+*,.no-flex-gap .st-results-foot>*+*{margin-left:16px}.no-flex-gap .st-sound>*+*{margin-left:8px}.no-flex-gap .st-option{margin:-5px -10px}.no-flex-gap .st-option>*{margin:5px 10px}.no-flex-gap .st-option-choices>*{margin:4px}.no-flex-gap .st-option>.st-option-choices{margin:1px 6px}@keyframes st-pop{0%{opacity:0;transform:scale(.6)}}@keyframes st-rise{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.st-players li,.st-standings li,.st-sound-chip{animation:none}}@media (max-width:1279px){.st-results-body.handoff .st-standings.split{grid-auto-flow:row}}@media (max-width:900px){body{overflow:auto}.st-lobby{grid-template-rows:none;grid-template-columns:1fr;height:auto;padding:16px}.st-games{overflow:visible}.st-qr{width:min(70vw,320px)}.st-standings.split{grid-auto-flow:row}}
