[hidden]{display:none!important}.lobby-card{padding:18px;background:#1b3039;border:1px solid #3b555c;border-radius:14px;margin:14px 0}.lobby-card h2{margin-top:0}.lobby-card p{font-size:13px;line-height:1.6;color:#b4c8ca}.lobby-card label{display:block;margin:12px 0;font-size:12px;color:#b4c8ca}.lobby-card input,.lobby-card select{display:block;width:100%;margin-top:6px;background:#10212b;color:#eee;border:1px solid #3b505b;border-radius:8px;padding:11px;font-size:16px}.lobby-row{display:flex;align-items:center;gap:8px;justify-content:space-between}.lobby-row>div{min-width:0}.lobby-row strong{overflow-wrap:anywhere}.lobby-row small{display:block;color:#8fa6af;margin-top:5px}.lobby-buttons{display:flex;gap:8px;margin-top:12px}.online-header{margin-bottom:16px}.online-header .brand{font-size:24px}.online-gate{position:fixed;inset:0;z-index:5;background:radial-gradient(ellipse at 50% 20%,#30483f80,transparent 65%),#101f29;display:grid;place-items:center;padding:25px;overflow:auto}.online-gate .waiting-card{width:100%}.online-gate .secondary{margin-top:18px}.online-gate .recap-row{margin:20px 0}.online-gate.winner{background:radial-gradient(ellipse at 50% 20%,#75603980,transparent 65%),#101f29}.online-gate.winner h1{color:#efd68e}.online-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.online-actions button{flex:1}.online-message{color:#b4c8ca;font-size:12px;line-height:1.6}.online-status{min-height:20px;font-size:11px;color:#91d4be}.online-error{color:#ffb0a2}.clue-list{display:grid;gap:7px;margin:12px 0}.clue-list button{text-align:left;border:1px solid #354b54;border-radius:9px;padding:11px;background:#192d37;font-size:12px}.clue-list button.active{border-color:var(--active)}#boardViewport{height:clamp(280px,48dvh,560px);aspect-ratio:auto}#panel{min-height:0}.login-card{margin-top:12vh;text-align:center}.login-mark{font-size:50px;color:var(--mint);margin-bottom:25px}.login-card .primary{margin-top:20px}.pending-note{padding:10px;border:1px solid #765f42;border-radius:8px;color:#efd1a3;font-size:12px}.pending-note button{margin-top:8px}.muted{color:var(--muted)}@media(min-width:700px){.app{width:min(100%,500px)}}
.scoreboard .player {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.scoreboard .player > div {
  min-width: 0;
}
.scoreboard .player-name,
.scoreboard .player-status {
  display: block;
}
.scoreboard .player-score {
  justify-self: end;
  align-self: center;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
