:root{color-scheme:dark;--page:#141411;--surface:#1d1d18;--strong:#292820;--ink:#fff8e9;--muted:#aaa797;--line:#444137;--yellow:#f4ca64;--coral:#ef776c;--mint:#6bd3ae;--blue:#78aee0}*{box-sizing:border-box}[hidden]{display:none!important}html{min-width:320px;min-height:100%;background:var(--page)}body{min-width:320px;min-height:100vh;margin:0;background:var(--page);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit;letter-spacing:0}.shell{min-height:100svh}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:62px;border-bottom:1px solid var(--line);padding:8px clamp(14px,3vw,34px);background:#181814}.back-link,.brand{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:850}.back-link{justify-self:start;min-height:40px;color:var(--muted);text-decoration:none}.brand{justify-self:center;white-space:nowrap}.brand-mark{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--coral);color:white;font-size:13px}.language-button{justify-self:end;width:42px;height:36px;border:1px solid var(--line);border-radius:5px;background:var(--strong);color:var(--yellow);cursor:pointer;font-size:11px;font-weight:950}.screen[hidden]{display:none}.setup-screen,.final-screen{width:min(940px,calc(100% - 36px));margin:auto;padding:clamp(44px,7vw,78px) 0 70px}.screen-heading{margin-bottom:32px}.screen-heading p,.ready-stage p,.judge-stage>p,.result-stage p,.challenge-copy p{margin:0;color:var(--coral);font-size:11px;font-weight:900;text-transform:uppercase}.screen-heading h1{margin:5px 0 8px;font-size:clamp(40px,6vw,66px);line-height:1;letter-spacing:0}.screen-heading>span{color:var(--muted);font-size:15px}.setup-tool{border-top:1px solid var(--line)}.add-form{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:18px 0}.add-form label,.setting>span{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.add-form>div{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px}.add-form input{min-width:0;min-height:46px;border:1px solid var(--line);border-radius:6px;padding:0 14px;background:var(--surface);color:var(--ink);outline:0}.add-form input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,202,100,.2)}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;font-size:20px;font-weight:900}.add-button{width:46px;height:46px;background:var(--yellow);color:#1b1a13;font-size:25px}.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-height:94px;border-bottom:1px solid var(--line);padding:18px 0}.roster:empty:after{grid-column:1/-1;align-self:center;color:#777568;content:attr(data-empty);font-size:13px;text-align:center}.roster-item{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:9px;min-width:0;border:1px solid var(--line);border-radius:6px;padding:6px;background:var(--surface)}.mini-avatar,.player-avatar{display:grid;place-items:center;border-radius:5px;color:#161612;font-weight:950}.mini-avatar{width:42px;height:42px}.roster-item strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.settings-row{display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:24px;padding-top:20px}.setting{display:grid;gap:8px}.segments{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:6px}.segments button{min-width:54px;min-height:42px;border:0;border-right:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-size:12px;font-weight:900}.segments button:last-child{border-right:0}.segments button.is-active,.segments button:hover,.segments button:focus-visible{background:var(--yellow);color:#191812}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid transparent;border-radius:6px;padding:0 18px;cursor:pointer;font-size:13px;font-weight:900}.button.primary{border-color:var(--yellow);background:var(--yellow);color:#181812}.button.secondary{border-color:var(--line);background:var(--strong);color:var(--ink)}.button:disabled{cursor:not-allowed;opacity:.4}.button:hover:not(:disabled),.button:focus-visible:not(:disabled){filter:brightness(1.08)}.start-button{justify-self:end;min-width:160px}.play-screen{padding-bottom:84px}.round-bar{display:flex;align-items:center;justify-content:space-between;min-height:62px;border-bottom:1px solid var(--line);padding:8px clamp(16px,4vw,50px);background:var(--surface)}.round-bar>div{display:flex;flex-direction:column;gap:2px}.round-bar span{color:var(--coral);font-size:11px;font-weight:900;text-transform:uppercase}.round-bar strong{color:var(--muted);font-size:12px}.ready-stage,.judge-stage,.result-stage{display:grid;min-height:calc(100svh - 208px);place-content:center;justify-items:center;padding:36px 20px;text-align:center}.player-orbit{position:relative;margin-bottom:22px}.player-avatar{width:136px;height:136px;border-radius:10px;background:var(--yellow);font-size:54px}.player-orbit i{position:absolute;right:-13px;bottom:-13px;display:grid;width:48px;height:48px;place-items:center;border:5px solid var(--page);border-radius:50%;background:var(--coral);color:white;font-size:21px;font-style:normal;font-weight:950}.ready-stage h1,.judge-stage h1,.result-stage h1{margin:5px 0 9px;font-size:clamp(42px,7vw,72px);line-height:1;letter-spacing:0}.ready-stage>span,.judge-stage>span,.result-stage>span{max-width:720px;color:var(--muted);font-size:15px}.challenge-stage{display:grid;grid-template-columns:230px minmax(0,760px);align-items:center;justify-content:center;gap:48px;min-height:calc(100svh - 208px);padding:40px}.timer-ring{--progress:1;display:grid;width:220px;height:220px;place-content:center;border-radius:50%;background:radial-gradient(circle at center,var(--page) 0 63%,transparent 64%),conic-gradient(var(--coral) calc(var(--progress)*1turn),var(--strong) 0);text-align:center}.timer-ring span{font-variant-numeric:tabular-nums;font-size:88px;font-weight:950;line-height:.9}.timer-ring small{margin-top:8px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.challenge-copy h1{margin:8px 0 18px;font-size:clamp(34px,5vw,58px);line-height:1.06;letter-spacing:0}.challenge-copy strong{display:inline-block;border:1px solid var(--line);border-radius:5px;padding:8px 12px;color:var(--yellow);font-size:13px}.judge-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(420px,100%);margin-top:28px}.judge-actions .button{min-height:64px;font-size:16px}.button.fail{border-color:var(--coral);background:transparent;color:var(--coral)}.button.success{border-color:var(--mint);background:var(--mint);color:#101713}.result-mark{display:grid;width:116px;height:116px;place-items:center;margin-bottom:20px;border-radius:50%;background:var(--mint);color:#101713;font-size:38px;font-weight:950}.result-stage.is-fail .result-mark{background:var(--strong);color:var(--coral)}.action-bar{position:fixed;z-index:10;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;border-top:1px solid var(--line);padding:10px max(20px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:rgba(24,24,20,.97);backdrop-filter:blur(14px)}.action-bar[hidden]{display:none}.action-bar>div{display:flex;min-width:0;flex-direction:column;gap:2px}.action-bar span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.action-bar strong{font-size:15px}.action-bar .button span{color:inherit;font-size:13px;text-transform:none}.winner{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.winner-mark{display:grid;width:112px;height:112px;place-items:center;border-radius:8px;background:var(--yellow);color:#181812;font-size:46px;font-weight:950}.winner p{margin:0 0 3px;color:var(--coral);font-size:11px;font-weight:900;text-transform:uppercase}.winner h2{margin:0;font-size:38px}.winner span{color:var(--muted);font-size:13px}.leaderboard{display:grid}.leader-row{display:grid;grid-template-columns:42px 50px minmax(0,1fr) auto;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:11px 0}.leader-row .mini-avatar{width:50px;height:50px}.leader-row>span:first-child{color:var(--muted);font-weight:900;text-align:center}.score-pill{border:1px solid var(--line);border-radius:5px;padding:7px 10px;color:var(--yellow);font-size:13px;font-weight:950}.final-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:24px}.toast{position:fixed;z-index:50;right:18px;bottom:86px;visibility:hidden;border-radius:6px;padding:11px 14px;background:var(--ink);color:#1c1b15;font-size:13px;font-weight:850;opacity:0;transform:translateY(8px);transition:.15s}.toast.is-visible{visibility:visible;opacity:1;transform:none}:focus-visible{outline:3px solid rgba(244,202,100,.75);outline-offset:3px}@media(max-width:720px){.roster{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-row{grid-template-columns:1fr 1fr}.start-button{grid-column:1/-1;width:100%}.challenge-stage{grid-template-columns:1fr;gap:28px;text-align:center}.timer-ring{width:170px;height:170px;justify-self:center}.timer-ring span{font-size:68px}}@media(max-width:520px){.topbar{grid-template-columns:auto 1fr auto;padding-inline:12px}.brand{font-size:12px}.setup-screen,.final-screen{width:calc(100% - 28px);padding-top:38px}.screen-heading h1{font-size:39px}.add-form{grid-template-columns:1fr;gap:8px}.roster{grid-template-columns:1fr}.settings-row{gap:12px}.round-bar{padding-inline:14px}.round-bar .button{width:44px;padding:0}.round-bar .button span:last-child{display:none}.ready-stage,.judge-stage,.result-stage{min-height:calc(100svh - 198px)}.player-avatar{width:108px;height:108px;font-size:44px}.challenge-stage{min-height:calc(100svh - 198px);padding:24px 14px}.challenge-copy h1{font-size:33px}.action-bar{padding-inline:14px}.action-bar>div{max-width:48%}.winner{grid-template-columns:84px 1fr}.winner-mark{width:84px;height:84px}.winner h2{font-size:27px}.leader-row{grid-template-columns:30px 46px 1fr auto;gap:8px}.leader-row .mini-avatar{width:46px;height:46px}.final-actions{align-items:stretch;flex-direction:column-reverse}}@media(prefers-reduced-motion:reduce){.toast{transition:none}}
