:root{--bg:#09090f;--bg-elev:#14141f;--bg-elev-2:#1c1c2a;--text:#f4f1ea;--muted:#9a96a8;--card:#f4f1ea;--card-text:#12121c;--correct:#3dff8a;--correct-dim:#3dff8a29;--skip:#ff4d6d;--skip-dim:#ff4d6d29;--team1:#5ce1ff;--team2:#ffb020;--timer-warn:#ffbf00;--ring:#2a2a38;--danger:#ff6b6b;--shadow:0 18px 50px #00000073;--sans:"Outfit", system-ui, sans-serif;--display:"Bebas Neue", "Arial Narrow", Impact, sans-serif;--safe-t:max(16px, env(safe-area-inset-top));--safe-b:max(16px, env(safe-area-inset-bottom));--safe-l:max(16px, env(safe-area-inset-left));--safe-r:max(16px, env(safe-area-inset-right));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--sans);margin:0}body{background:radial-gradient(1200px 500px at 50% -10%, #5ce1ff1f, transparent 50%), radial-gradient(900px 420px at 110% 90%, #ffb0201a, transparent 45%), var(--bg)}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.4}h1,h2,h3,p{margin:0}.app-root>.banner{width:min(100%,480px);margin:var(--safe-t) auto 0;z-index:6;position:sticky;top:0}.screen{width:min(100%,480px);min-height:100svh;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);flex-direction:column;gap:16px;margin:0 auto;display:flex}.banner{background:var(--bg-elev-2);color:var(--muted);border-radius:12px;padding:10px 12px;font-size:.9rem}.top-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.brand{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.85rem;font-weight:800}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}h1{letter-spacing:-.03em;font-size:clamp(2.1rem,8vw,3.2rem);font-weight:800;line-height:.95}h2{font-size:1.5rem;font-weight:700}.lede{color:var(--muted);font-size:1.05rem;line-height:1.45}.spacer{flex:1}.btn{border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:48px;padding:12px 20px;font-weight:700;transition:transform .12s,background .12s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--text);outline-offset:3px}.btn-primary{background:var(--text);color:var(--bg)}.btn-ghost{background:var(--bg-elev);color:var(--text)}.btn-correct{background:var(--correct);color:#052}.btn-skip{background:var(--skip);color:#fff}.btn-warn{background:var(--bg-elev-2);color:var(--text)}.btn-text{color:var(--muted);background:0 0;min-height:44px;padding:8px 10px}.btn-block{width:100%}.btn:active:not(:disabled){transform:scale(.98)}.icon-btn{background:var(--bg-elev);width:44px;height:44px;color:var(--text);border:0;border-radius:12px}.toggles{flex-direction:column;gap:10px;display:flex}.toggle{background:var(--bg-elev);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px 16px;display:flex}.toggle span{font-weight:600}.switch{background:#2c2c3a;border:0;border-radius:999px;width:48px;height:28px;position:relative}.switch[aria-pressed=true]{background:var(--correct)}.switch i{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .16s;position:absolute;top:3px;left:3px}.switch[aria-pressed=true] i{transform:translate(20px)}.team-pill{border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:6px 12px;font-size:.92rem;font-weight:700;display:inline-flex}.team-pill.t1{color:var(--team1);background:#5ce1ff24}.team-pill.t2{color:var(--team2);background:#ffb02024}.field{gap:8px;display:flex}.field input{background:var(--bg-elev);border:0;border-radius:16px;outline:none;flex:1;min-height:52px;padding:12px 16px}.field input:focus{box-shadow:0 0 0 2px var(--team1)}.meta{color:var(--muted);flex-direction:column;gap:6px;font-weight:600;display:flex}.last-card{background:var(--bg-elev);border-radius:16px;align-items:center;gap:8px;padding:12px;display:flex}.last-card p{flex:1;font-weight:700}.error{color:var(--skip);font-weight:600}.stack-list{flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.stack-list li{background:var(--bg-elev);border-radius:14px;padding:12px 14px;font-weight:600;list-style:none}.score-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.score-card{background:var(--bg-elev);border-radius:18px;padding:16px}.score-card strong{font-size:2rem;font-family:var(--display);letter-spacing:.04em;display:block}.handoff{text-align:center;justify-content:center}.handoff h1{margin:12px 0}.coin{background:conic-gradient(from 200deg, var(--team1), var(--team2), var(--team1));width:160px;height:160px;box-shadow:var(--shadow);border-radius:50%;place-items:center;margin:24px auto;animation:1.1s ease-in-out flip;display:grid}.coin span{background:var(--bg);text-align:center;border-radius:50%;place-items:center;width:132px;height:132px;padding:12px;font-size:1.4rem;font-weight:800;display:grid}@keyframes flip{0%{transform:rotateY(0)scale(.8)}50%{transform:rotateY(540deg)scale(1.05)}to{transform:rotateY(1080deg)scale(1)}}@media (prefers-reduced-motion:reduce){.coin{animation:none}.btn,.switch i,.card,.card-leave{transition:none!important}}.play{width:min(100%,480px);height:100svh;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;margin:0 auto;display:grid}.play-top{flex-direction:column;gap:8px;display:flex}.play-top-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.play-round h2{font-size:1.05rem;font-weight:700}.play-round .sub{color:var(--muted);font-size:.82rem}.play-status-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.timer-wrap{place-items:center;display:grid;position:relative}.timer-ring{width:min(42vw,168px);height:min(42vw,168px)}.timer-ring circle{fill:none;stroke-width:8px;transform-origin:50%;transform:rotate(-90deg)}.timer-face{font-family:var(--display);letter-spacing:.04em;place-items:center;font-size:clamp(2.4rem,10vw,3.4rem);line-height:1;display:grid;position:absolute;inset:0}.timer-face.warn{color:var(--timer-warn)}.card-area{place-items:center;min-height:0;display:grid;position:relative}.stack-card{background:#d9d4c8;border-radius:24px;width:min(86%,360px);height:min(100%,240px);position:absolute}.stack-card:first-child{opacity:.35;transform:translateY(10px)scale(.94)}.stack-card:nth-child(2){opacity:.55;transform:translateY(5px)scale(.97)}.card{background:var(--card);width:min(86%,360px);height:min(100%,240px);color:var(--card-text);box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;z-index:2;border-radius:24px;place-items:center;padding:24px;display:grid;position:relative}.card:focus-visible{outline:3px solid var(--team1);outline-offset:4px}.card-text{text-align:center;overflow-wrap:anywhere;-webkit-line-clamp:6;-webkit-box-orient:vertical;font-size:clamp(1.4rem,6.4vw,2.5rem);font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}.stamp{letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;border:3px solid;border-radius:10px;padding:6px 12px;font-weight:800;position:absolute;top:16px}.stamp.correct{color:#128a4a;border-color:#128a4a;right:16px;transform:rotate(12deg)}.stamp.skip{color:#c12345;border-color:#c12345;left:16px;transform:rotate(-12deg)}.cover{z-index:4;text-align:center;background:#09090feb;border-radius:24px;place-items:center;padding:24px;display:grid;position:absolute;inset:8% 7%}.cover strong{font-size:2rem}.play-controls{grid-template-columns:1fr auto auto 1fr;align-items:center;gap:8px;display:grid}.play-controls .btn{min-height:52px}.modal-back{z-index:20;background:#0000008c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-elev);border-radius:20px;flex-direction:column;gap:12px;width:min(100%,360px);padding:20px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (orientation:landscape) and (height<=560px){.play{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 220px;width:100%;max-width:none}.play-top{grid-column:1/-1}.timer-wrap{grid-area:2/2;align-self:start}.card-area{grid-area:2/1}.play-controls{grid-area:2/2;grid-template-columns:1fr 1fr;align-self:end}.timer-ring{width:110px;height:110px}.card,.stack-card{height:min(100%,220px)}}
