:root{--bg:#2b1655;--card:#3d2378;--accent:#ffcc33;--ok:#2ecc71;--bad:#e74c3c;--txt:#fff;--muted:#cbbcf0}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:#1d0f3d}html,body{margin:0;min-height:100vh;background-attachment:fixed;background:linear-gradient(160deg,#4c2a85,#1d0f3d);color:var(--txt);font:18px/1.4 system-ui,-apple-system,Roboto,sans-serif}
#app{max-width:640px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
h1{font-size:1.8rem;text-align:center;margin:.4em 0}h2{font-size:1.25rem;margin:1em 0 .5em}
.card{background:var(--card);border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 4px 14px #0004}
button,.btn{font:inherit;border:0;border-radius:14px;min-height:56px;padding:12px 18px;background:#5b3aa3;color:#fff;cursor:pointer;width:100%;font-weight:600}
button:active{transform:scale(.97)}button:disabled{opacity:.45}
.primary{background:var(--accent);color:#2b1655;font-size:1.2rem}
.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}
input[type=text]{font:inherit;width:100%;min-height:52px;border-radius:12px;border:0;padding:0 14px}
.players li{display:flex;align-items:center;gap:8px;margin:6px 0}.players{list-style:none;padding:0;margin:0}
.players li span{flex:1;font-size:1.1rem}.players li button{width:56px;background:#7a2d4a}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chip{background:#4a2f8a;border:3px solid transparent;text-align:left;font-weight:500;min-height:60px}
.chip[aria-pressed=true]{border-color:var(--accent);background:#6a46b8}
.seg{display:flex;gap:6px}.seg button{flex:1;padding:8px 4px}.seg button[aria-pressed=true]{background:var(--accent);color:#2b1655}
.stepper{display:flex;align-items:center;gap:12px}.stepper button{width:64px}.stepper output{font-size:1.6rem;min-width:2ch;text-align:center}
.turn{text-align:center;font-size:1.4rem;color:var(--accent);font-weight:700}
.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}
.q{font-size:1.35rem;font-weight:600;margin:12px 0}
.answers{display:grid;gap:10px}.answers button{text-align:left;min-height:64px;font-size:1.1rem;background:#5b3aa3}
.answers .ok{background:var(--ok)}.answers .bad{background:var(--bad)}
.timer{height:10px;background:#0003;border-radius:5px;overflow:hidden}.timer>div{height:100%;background:var(--accent);transition:width .25s linear}
.score{display:flex;justify-content:space-between;padding:10px 4px;border-bottom:1px solid #fff2;font-size:1.15rem}
.score.me{color:var(--accent);font-weight:700}
.big{font-size:3rem;text-align:center;margin:.2em 0}.center{text-align:center}.muted{color:var(--muted)}
.toggle{display:flex;justify-content:space-between;align-items:center;min-height:56px}
.toggle input{width:28px;height:28px}
.status{text-align:center;color:var(--muted);min-height:1.4em}
.stack>*+*{margin-top:10px}
