*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1a1a2e;--surface: #16213e;--surface2: #0f3460;--accent: #e94560;--text: #ffffff;--muted: #888;--radius: 8px}body{background:var(--bg);color:var(--text);font-family:sans-serif;min-height:100vh}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--muted)}.home-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;padding:2rem}.game-title{font-size:2.5rem;font-weight:700;color:var(--accent)}.home-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:360px}.home-actions{display:flex;gap:.75rem}.mode-form{display:flex;flex-direction:column;gap:.75rem}.game-screen{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem;min-height:100vh}.game-left{display:flex;flex-direction:column;gap:1rem}.game-right{display:flex;flex-direction:column;gap:1rem;overflow-y:auto}@media(max-width:700px){.game-screen{grid-template-columns:1fr}}.lobby-screen,.results-screen,.game-over-screen{max-width:600px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.prompt-card{background:var(--surface2);border-radius:var(--radius);padding:1.5rem;font-size:1.1rem;font-weight:500;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.pick-badge{font-size:.8rem;color:var(--accent);margin-top:.5rem}.hand{display:flex;flex-direction:column;gap:.5rem}.hand-card{background:#fff;color:#000;border-radius:var(--radius);padding:.75rem 1rem;cursor:pointer;border:3px solid transparent;transition:border-color .15s,transform .1s}.hand-card:hover:not(.disabled){transform:translateY(-2px)}.hand-card.selected{border-color:var(--accent)}.hand-card.disabled{cursor:default;opacity:.5}.submissions{display:flex;flex-direction:column;gap:.75rem}.submission{background:#fff;color:#000;border-radius:var(--radius);padding:.75rem;border:3px solid transparent;min-height:60px;display:flex;flex-direction:column;gap:.25rem}.submission.hidden{background:var(--surface);color:var(--muted);cursor:default}.submission.selectable{cursor:pointer}.submission.selectable:hover{border-color:var(--accent)}.face-down{font-size:1.5rem;text-align:center}.winner-banner{background:gold;color:#000;border-radius:var(--radius);padding:1rem;font-size:1.1rem}.submission-result{padding:.5rem 0;border-bottom:1px solid var(--surface2)}.submission-result.winner{color:gold;font-weight:700}.submitter-name{font-weight:700;margin-right:.5rem}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;width:100%;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid #444;border-radius:var(--radius);padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;width:100%}input,.name-input{background:var(--surface);color:var(--text);border:1px solid #444;border-radius:var(--radius);padding:.75rem 1rem;font-size:1rem;width:100%}.round-info{display:flex;justify-content:space-between;align-items:center}.round-num{font-size:.85rem;color:var(--muted)}.czar-label{font-size:.85rem;color:var(--accent)}.room-code{font-size:2rem;font-weight:700;letter-spacing:.2em;color:var(--accent)}.room-code-display{display:flex;flex-direction:column;align-items:center;gap:.25rem}.room-code-label{font-size:.8rem;color:var(--muted);text-transform:uppercase}.capacity{color:var(--muted);font-size:.9rem}.player-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.player-entry{display:flex;align-items:center;gap:.5rem}.player-entry.disconnected{opacity:.4}.player-score{margin-left:auto;color:var(--muted);font-size:.85rem}.badge{font-size:.7rem;padding:2px 6px;border-radius:4px}.badge.host{background:gold;color:#000}.badge.czar{background:var(--accent);color:#fff}.badge.offline{background:#555}.waiting-msg,.czar-waiting,.submitted-msg{color:var(--muted);font-style:italic}.error-msg{color:var(--accent)}.scoreboard ol{padding-left:1.5rem}.scoreboard li{padding:.3rem 0}.winner-announce{font-size:1.5rem}.hand-label{color:var(--muted);font-size:.9rem}.hand.faded{opacity:.5}.submission-count{color:var(--muted);font-size:.9rem}
