*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;color:#14323b;background:radial-gradient(circle at 20% 20%,rgba(255,214,102,.55),transparent 45%),radial-gradient(circle at 80% 0%,rgba(125,211,252,.55),transparent 45%),linear-gradient(135deg,#1f6f8b,#2a9d8f 55%,#4cc9a4);background-attachment:fixed;background-size:cover;min-height:100%}#app{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:16px;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.screen{width:100%;max-width:560px;margin:auto;display:flex;flex-direction:column;gap:16px}.brand{text-align:center;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.25)}.brand h1{font-size:2rem;letter-spacing:.5px}.brand p{opacity:.95;margin-top:4px}.card{background:#ffffff7f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgb(255 255 255 / 45%);box-shadow:0 10px 30px #0000002e;padding:22px}.card h2{font-size:1.3rem;margin-bottom:12px}.muted{color:#3a5560;font-size:.95rem}button{font:inherit;cursor:pointer;border:none;border-radius:16px;padding:14px 18px;font-weight:700;transition:transform .06s ease,filter .15s ease,opacity .15s ease}button:active{transform:translateY(1px) scale(.99)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#f4a261;color:#3a1d00;font-size:1.15rem}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-secondary{background:#ffffffb3;color:#14323b}.btn-block{width:100%}.btn-big{padding:22px;font-size:1.3rem}input[type=text]{font:inherit;width:100%;padding:14px 16px;border-radius:16px;border:2px solid rgb(255 255 255 / 70%);background:#fffc;outline:none}input[type=text]:focus{border-color:#2a9d8f}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.field label{font-weight:700}.error{color:#b00020;font-weight:700;margin-top:6px}.center{text-align:center}.stack{display:flex;flex-direction:column;gap:12px}.code-pill{display:inline-block;font-size:2.4rem;font-weight:800;letter-spacing:6px;background:#fff;color:#1f6f8b;border-radius:16px;padding:10px 22px;margin:6px 0}.qr-box{background:#fff;border-radius:20px;padding:16px;display:inline-block;margin:0 auto}.qr-box img,.qr-box canvas{display:block;width:220px;height:220px}.player-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{background:#fffc;border-radius:999px;padding:8px 14px;font-weight:700}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.answer{min-height:84px;color:#fff;font-size:1.15rem;text-align:left;display:flex;align-items:center;gap:12px;text-shadow:0 1px 3px rgba(0,0,0,.25)}.answer .shape{font-size:1.6rem;line-height:1}.answer.c0{background:#e94f56}.answer.c1{background:#2f80ed}.answer.c2{background:#f2b705}.answer.c3{background:#27ae60}.answer.dim{opacity:.35}.answer.correct{outline:5px solid #fff;box-shadow:0 0 0 4px #27ae60,0 10px 24px #00000040;opacity:1}.answer.chosen{outline:4px dashed #fff}.timer{font-size:2.4rem;font-weight:800;text-align:center;color:#14323b}.timerbar{height:14px;border-radius:999px;background:#fff9;overflow:hidden;margin-top:8px}.timerbar>span{display:block;height:100%;background:linear-gradient(90deg,#27ae60,#f2b705,#e94f56);transition:width .25s linear}.qcount{font-weight:800;color:#1f6f8b}.lb{list-style:none;display:flex;flex-direction:column;gap:8px}.lb li{display:flex;align-items:center;gap:12px;background:#ffffffb3;border-radius:14px;padding:10px 14px;font-weight:700}.lb .rank{width:28px;text-align:center;font-size:1.2rem}.lb .name{flex:1}.lb .gain{color:#27ae60;font-size:.85rem}.lb .pts{font-variant-numeric:tabular-nums}.podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:18px 0}.podium .place{background:#fffc;border-radius:16px 16px 0 0;padding:12px 10px;text-align:center;width:30%;font-weight:800}.podium .p1{height:160px;background:#ffd66b}.podium .p2{height:130px}.podium .p3{height:110px}.podium .medal{font-size:1.8rem}.feedback{text-align:center;padding:28px 18px}.feedback .big{font-size:3rem;margin-bottom:8px}.feedback.good{color:#1d7a45}.feedback.bad{color:#b00020}.pts-badge{display:inline-block;background:#fff;border-radius:999px;padding:6px 16px;font-weight:800;margin-top:8px}@media(max-width:380px){.answers{grid-template-columns:1fr}.brand h1{font-size:1.6rem}}
