:root{--bg:#070d26;--card:#101a48;--line:#2b3b8f;--tx:#e9edff;--mut:#9aa6d6;--acc:#45e0c1;--acc2:#ffcc4d;--bad:#ff5a78}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#1f2f86 0%,#0a1236 50%,#060b22 100%);color:var(--tx);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif;min-height:100vh}
.wrap{max-width:860px;margin:0 auto;padding:22px 16px 40px}
h1{margin:0 0 6px;font-size:34px;letter-spacing:.5px}
h2{margin:0 0 10px;font-size:20px;color:var(--acc2)}
.lead{color:var(--mut);margin:0 0 18px}
.card{background:rgba(16,26,72,.7);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:16px}
.row{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:10px 0}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mut)}
label.chk{flex-direction:row;align-items:center;gap:6px;color:var(--tx)}
select,input[type=text]{font:inherit;padding:8px 12px;border-radius:99px;border:1px solid #2c3a7a;background:#0b1340;color:var(--tx)}
button{font:inherit;font-weight:600;padding:9px 18px;border-radius:99px;border:1px solid var(--line);background:#101a48;color:var(--tx);cursor:pointer}
button:hover{border-color:var(--acc)}
button.main{background:linear-gradient(135deg,#45e0c1,#33b9a0);color:#04210f;border:0}
button:disabled{opacity:.45;cursor:default}
.small{font-size:13px;color:var(--mut);margin:8px 0 14px}
.hidden{display:none!important}
.top{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-bottom:12px}
.score{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 12px;text-align:center;font-weight:700;transition:.2s}
.score b{display:block;font-size:26px;color:var(--acc2)}
.score.on{border-color:var(--acc);box-shadow:0 0 0 2px rgba(69,224,193,.35)}
.mid{text-align:center}
.round{color:var(--mut);font-size:13px}
.bank{font-size:15px}
.bank b{color:var(--acc);font-size:22px}
.q{font:700 22px/1.3 system-ui,sans-serif;text-align:center;background:linear-gradient(135deg,#1a2a78,#10206a);border:1px solid var(--line);border-radius:14px;padding:16px 14px;margin-bottom:12px}
.board{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
@media(max-width:640px){.board{grid-template-columns:1fr}.q{font-size:18px}h1{font-size:28px}}
.slot{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-height:48px;background:#0b1340;perspective:600px}
.slot .no{width:42px;display:flex;align-items:center;justify-content:center;background:#16225c;font-weight:800;color:var(--acc2)}
.slot .ans{flex:1;display:flex;align-items:center;padding:0 12px;color:#4a5690;letter-spacing:3px;overflow:hidden}
.slot .pts{width:58px;display:flex;align-items:center;justify-content:center;font-weight:800;background:#16225c;color:#4a5690}
.slot.open .ans{color:var(--tx);letter-spacing:0;font-weight:700;text-transform:capitalize;animation:flip .5s}
.slot.open .pts{color:#04210f;background:var(--acc)}
.slot.open{border-color:var(--acc)}
.slot.missed .ans{color:var(--mut);letter-spacing:0;text-transform:capitalize}
.slot.missed .pts{color:var(--mut)}
@keyframes flip{from{transform:rotateX(90deg);opacity:0}to{transform:rotateX(0);opacity:1}}
.strikes{display:flex;justify-content:center;gap:10px;margin:10px 0;min-height:44px}
.strikes span{width:44px;height:44px;border-radius:10px;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font:800 26px/1 system-ui;color:#2b3b8f}
.strikes span.on{color:#fff;background:var(--bad);border-color:var(--bad);animation:pop .3s}
@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
.msg{min-height:28px;text-align:center;color:var(--acc2);font-weight:600;margin:4px 0 8px}
.guess{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.guess input{flex:1 1 260px;max-width:420px}
.foot{color:var(--mut);font-size:12px;margin-top:26px}
.foot a{color:#8fc7ff}
#result table{border-collapse:collapse;margin:8px 0 14px;width:100%}
#result td,#result th{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left}
#result .win{color:var(--acc);font-weight:800}
