:root{--bg: #0f0f1a;--surface: #1a1a2e;--surface2: #252540;--accent: #ff4f6d;--accent2: #ffd166;--correct: #06d6a0;--skip: #8ecae6;--penalty: #ff4f6d;--text: #f0f0ff;--text-muted: #8888aa;--radius: 16px;--radius-sm: 8px;--font-display: "Georgia", serif;--font-body: "Trebuchet MS", "Helvetica Neue", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:24px 20px 40px;gap:20px;max-width:480px;margin:0 auto}.room-screen{justify-content:center;text-align:center;gap:20px}.room-sub{color:var(--text-muted);line-height:1.6;max-width:280px}.room-error{color:var(--penalty);font-size:.9rem}.code-input{text-align:center;font-size:2.5rem;font-weight:900;letter-spacing:8px;text-transform:uppercase}.room-badge{position:fixed;top:12px;right:16px;background:var(--surface2);color:var(--text-muted);font-size:.75rem;padding:6px 12px;border-radius:20px;z-index:100}.room-badge strong{color:var(--accent2);letter-spacing:1px}.guest-overlay{min-height:100dvh;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.2rem}.screen-title{font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:-.5px;text-align:center}.btn{border:none;border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);font-weight:700;font-size:1rem;padding:14px 28px;transition:transform .1s,opacity .1s;letter-spacing:.5px}.btn:active{transform:scale(.97);opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-xl{font-size:1.15rem;padding:18px 32px}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--surface2)}.btn-sm{padding:10px 20px;font-size:.9rem}.action-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;width:100%}.btn-correct{background:var(--correct);color:#0a0a0a;border-radius:var(--radius);padding:18px 10px;font-size:.95rem;font-weight:800;cursor:pointer;border:none;transition:transform .1s}.btn-skip{background:var(--skip);color:#0a0a0a;border-radius:var(--radius);padding:18px 10px;font-size:.95rem;font-weight:800;cursor:pointer;border:none;transition:transform .1s}.btn-penalty{background:var(--penalty);color:#fff;border-radius:var(--radius);padding:18px 10px;font-size:.95rem;font-weight:800;cursor:pointer;border:none;transition:transform .1s}.btn-correct:active,.btn-skip:active,.btn-penalty:active{transform:scale(.96)}.home-screen{justify-content:center;text-align:center;gap:28px}.home-logo{font-family:var(--font-display);font-size:3.5rem;font-weight:900;line-height:1;letter-spacing:-2px}.logo-main{color:var(--text)}.logo-accent{color:var(--accent)}.home-tagline{color:var(--text-muted);font-size:1.1rem}.home-tagline em{color:var(--accent);font-style:normal;font-weight:700}.home-rules{background:var(--surface);border-radius:var(--radius);padding:20px 24px;text-align:left;width:100%}.home-rules h3{margin-bottom:12px;color:var(--accent2);font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px}.home-rules ol{padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--text-muted);line-height:1.5}.home-rules strong{color:var(--text)}.setup-section{width:100%;display:flex;flex-direction:column;gap:10px}.setup-label{font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted)}.text-input{width:100%;background:var(--surface);border:1.5px solid var(--surface2);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:1rem;padding:14px 16px;outline:none;transition:border-color .2s}.text-input:focus{border-color:var(--accent)}.score-picker{display:flex;gap:10px}.score-btn{flex:1;background:var(--surface);border:1.5px solid var(--surface2);border-radius:var(--radius-sm);color:var(--text-muted);font-size:1.1rem;font-weight:700;padding:14px;cursor:pointer;transition:all .15s}.score-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.category-chip{background:var(--surface);border:1.5px solid var(--surface2);border-radius:20px;color:var(--text-muted);font-family:var(--font-body);font-size:.85rem;font-weight:700;padding:9px 16px;cursor:pointer;transition:all .15s}.category-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.category-loading{color:var(--text-muted);font-size:.9rem}.pass-screen{justify-content:space-between}.scoreboard{display:flex;gap:12px;width:100%;justify-content:center}.score-chip{flex:1;background:var(--surface);border-radius:var(--radius-sm);padding:14px;text-align:center;border:1.5px solid transparent}.score-chip.active{border-color:var(--accent)}.score-team{display:block;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.score-val{display:block;font-size:2rem;font-weight:900;color:var(--text)}.pass-prompt{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;flex:1;justify-content:center}.pass-icon{font-size:3rem}.pass-prompt h2{font-size:1.3rem;color:var(--text-muted)}.pass-team-name{font-family:var(--font-display);font-size:2.4rem;font-weight:900;color:var(--accent)}.pass-sub{color:var(--text-muted);line-height:1.6}.pass-sub strong{color:var(--text)}.playing-screen{gap:16px;padding-top:0}.timer-bar-wrap{width:calc(100% + 40px);height:6px;background:var(--surface2);margin-top:-24px}.timer-bar{height:100%;background:var(--correct);transition:width 1s linear,background .3s}.timer-bar.warning{background:var(--accent)}.timer-display{font-size:1rem;font-weight:700;color:var(--text-muted);align-self:flex-end}.timer-display.warning{color:var(--accent)}.card{background:var(--surface);border-radius:var(--radius);padding:28px 24px 24px;width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;border:1.5px solid var(--surface2);flex:1;justify-content:center}.card-safe-word{font-family:var(--font-display);font-size:2.6rem;font-weight:900;text-align:center;color:var(--text);letter-spacing:-1px;line-height:1.1}.card-divider{width:100%;display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px}.card-divider:before,.card-divider:after{content:"";flex:1;height:1px;background:var(--surface2)}.cant-say-list{list-style:none;display:flex;flex-direction:column;gap:6px;width:100%;text-align:center}.cant-say-list li{color:var(--accent);font-size:1.05rem;font-weight:700;letter-spacing:1px}.end-turn-btn{margin-top:4px}.no-cards{color:var(--text-muted);text-align:center;flex:1;display:flex;align-items:center}.round-end-screen{gap:18px}.round-team{font-family:var(--font-display);font-size:1.6rem;color:var(--accent);font-weight:700}.round-stats{display:flex;gap:12px;width:100%}.stat{flex:1;background:var(--surface);border-radius:var(--radius-sm);padding:16px 10px;text-align:center}.stat.correct{border-top:3px solid var(--correct)}.stat.skip{border-top:3px solid var(--skip)}.stat.penalty{border-top:3px solid var(--penalty)}.stat-num{display:block;font-size:2rem;font-weight:900}.stat-label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.net-points{background:var(--surface);border-radius:var(--radius);padding:16px 24px;text-align:center;width:100%}.net-points .positive{font-size:2rem;font-weight:900;color:var(--correct)}.net-points .negative{font-size:2rem;font-weight:900;color:var(--penalty)}.net-label{display:block;font-size:.8rem;color:var(--text-muted);margin-top:2px}.results-list{width:100%;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.result-row{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px}.result-row.correct .result-icon{color:var(--correct)}.result-row.skip .result-icon{color:var(--skip)}.result-row.penalty .result-icon{color:var(--penalty)}.result-icon{font-size:1.1rem;font-weight:900;width:20px}.result-word{font-weight:700;font-size:.95rem}.game-over-screen{justify-content:center;text-align:center;gap:20px}.winner-badge{font-size:4rem}.winner-label{font-size:1rem;text-transform:uppercase;letter-spacing:3px;color:var(--text-muted)}.winner-name{font-family:var(--font-display);font-size:3rem;font-weight:900;color:var(--accent2);line-height:1}.final-scores{width:100%;background:var(--surface);border-radius:var(--radius);overflow:hidden}.final-score-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--surface2)}.final-score-row:last-child{border-bottom:none}.final-score-row.winner{background:var(--surface2)}.final-team{font-weight:700}.final-pts{font-size:1.2rem;font-weight:900;color:var(--accent2)}.guest-waiting{color:var(--text-muted);font-size:.95rem;text-align:center;padding:16px}.solo-tip{background:var(--surface);border-radius:var(--radius-sm);padding:12px 16px;font-size:.85rem;color:var(--text-muted);text-align:center;width:100%}.admin-screen{max-width:1200px;width:100%;align-items:stretch;gap:16px}.admin-header{display:flex;justify-content:space-between;align-items:center;width:100%}.admin-header h2{font-family:var(--font-display);font-size:1.6rem}.admin-login-card{background:var(--surface);border-radius:var(--radius);padding:28px 24px;width:100%;display:flex;flex-direction:column;gap:14px;margin-top:60px}.admin-error{color:var(--penalty);font-size:.85rem}.admin-toolbar{display:flex;gap:10px;width:100%}.admin-toolbar .text-input{flex:1}.admin-form{background:var(--surface);border-radius:var(--radius);padding:20px;width:100%;display:flex;flex-direction:column;gap:12px}.admin-form-row{display:flex;gap:10px}.admin-form-row .text-input,.admin-form-row select{flex:1}.admin-select{background:var(--surface2);border:1.5px solid var(--surface2);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:1rem;padding:14px 16px;outline:none}.cant-say-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-form-actions{display:flex;gap:10px;justify-content:flex-end}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--surface2);font-size:.9rem}.admin-table th{color:var(--text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:1px}.admin-table tr:last-child td{border-bottom:none}.admin-cant-say-cell{color:var(--text-muted);font-size:.8rem}.admin-row-actions{display:flex;gap:8px}.admin-row-actions button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:700;padding:4px 8px;border-radius:var(--radius-sm)}.admin-row-actions button:hover{background:var(--surface2);color:var(--text)}.admin-row-actions button.danger:hover{color:var(--penalty)}.admin-empty{color:var(--text-muted);text-align:center;padding:30px}.admin-pill{display:inline-block;background:var(--surface2);border-radius:12px;padding:3px 10px;font-size:.75rem;font-weight:700;color:var(--text-muted)}.admin-toolbar .text-input{width:300px;min-width:300px;background:var(--surface2);border:2px solid rgba(255,255,255,.12);border-radius:12px}.admin-toolbar input[type=search],.admin-toolbar .text-input{background:var(--surface2);border:2px solid rgba(255,255,255,.12);color:var(--text)}.admin-toolbar input[type=search]:focus,.admin-toolbar .text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff4e6d26}
