:root{color-scheme:dark;--bg:#080d13;--panel:#101a27;--line:#27384e;--accent:#62d6bd;--text:#edf4ff;--danger:#b9424a;--warn:#e5b95c}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:17px system-ui,sans-serif}
header{display:flex;gap:12px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}
main{width:min(1700px,96vw);margin:28px auto}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px}
.badge,.availability{font-size:12px;border:1px solid var(--line);border-radius:99px;padding:4px 8px}
.availability{display:inline-block;margin:3px}
.availability.empty{border-color:#79434a;color:#ffb2b8}
button,input{font:inherit;border-radius:10px;border:1px solid var(--line);padding:12px;background:#18273a;color:var(--text)}
button{cursor:pointer;background:#1d725f}
button:disabled{opacity:.45;cursor:not-allowed}
.danger{background:var(--danger)}
.session-bar{display:flex;gap:34px;align-items:center;flex-wrap:wrap}
.session-bar>div:not(#qr){display:grid}
.session-bar strong{font-size:36px}
.session-bar p{min-width:280px;overflow-wrap:anywhere}
.board-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px}
.wheel-card{text-align:center}
.wheel-card button{display:block;width:100%;margin:8px 0}
.picked{font-size:54px;font-weight:800;margin-top:-175px;margin-bottom:112px;pointer-events:none}
.table-scroll{overflow:auto}
table{border-collapse:collapse;width:100%;min-width:1000px}
th,td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:middle}
thead th{position:sticky;top:0;background:#132033}
tbody th{white-space:nowrap}
.board-row{background:#16263a}
.blind{display:inline-block;letter-spacing:5px;color:var(--warn);font-weight:800}
.no-answer{font-size:12px;color:#ffb2b8}
.answer-cell{width:100%;min-width:110px;background:transparent;text-align:left;padding:7px}
.answer-cell b{display:block;color:var(--accent)}
.answer-cell.pending{outline:1px solid var(--warn)}
.answer-cell.pending b{color:var(--warn)}
.answer-cell.valid{outline:1px solid var(--accent)}
.answer-cell.invalid{text-decoration:line-through;opacity:.55;outline:1px solid var(--danger)}
.answer-cell.invalid b{color:#ffb2b8}
.review-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:0}
.review-legend span{border:1px solid var(--line);border-radius:99px;padding:5px 9px;font-size:13px}
.review-legend span:first-child{border-color:var(--warn);color:var(--warn)}
.stop-request{display:flex;justify-content:space-between;gap:18px;align-items:center;border:2px solid var(--warn);background:#2b2518;border-radius:14px;padding:14px;margin-bottom:16px}
.stop-request[hidden]{display:none}
.stop-request strong{color:var(--warn);font-size:22px}
.stop-request p{margin:6px 0 0;overflow-wrap:anywhere}
.stop-request-actions{display:flex;gap:9px;flex-shrink:0}
.verdict-dialog{width:min(520px,calc(100vw - 32px));border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:24px}
.verdict-dialog::backdrop{background:rgba(0,0,0,.72)}
.verdict-dialog h2{font-size:32px;margin:6px 0 10px;overflow-wrap:anywhere}
.verdict-kicker{color:var(--warn);margin:0;font-weight:700}
.verdict-actions{display:grid;gap:10px;margin-top:20px}
.verdict-actions button{width:100%}
.verdict-actions .secondary{background:#18273a}
.sum{font-size:22px;font-weight:800}
.join-card{max-width:560px;margin-inline:auto}
.join-card input,.join-card button{display:block;width:100%;margin:10px 0}
.letter{font-size:80px;font-weight:800;text-align:center}
.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.answer-grid label{display:grid;gap:5px}
.answer-grid input:disabled{background:#221a1d}
.category-info{text-align:center}
.round-history{border:1px solid var(--line);border-radius:12px;padding:10px;margin:10px 0}
.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.history-grid div{display:grid;padding:8px;background:#152236;border-radius:8px}
.history-grid b{color:var(--accent);font-size:13px}
a{color:var(--accent)}
@media(max-width:900px){.board-layout{grid-template-columns:1fr}
.wheel-card{max-width:420px;margin-inline:auto;width:100%}
}
@media(max-width:650px){main{margin:12px auto}
.card{padding:15px}
.answer-grid,.history-grid{grid-template-columns:1fr}
.session-bar>*{width:100%}
.session-bar #qr{width:auto}
.actions>*{width:100%!important}
.stop-request{align-items:stretch;flex-direction:column}.stop-request-actions{display:grid}
}
