.host-page{min-height:100vh;background:var(--bg)}.host-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--surface);border-bottom:2px solid var(--border)}.host-header-logo{font-family:var(--font-display);font-size:26px;letter-spacing:4px;color:var(--accent)}.host-header-right{display:flex;align-items:center;gap:14px}.conn-indicator{display:flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:1px}.conn-dot{width:8px;height:8px;border-radius:50%}.conn-dot.connected{background:var(--green2)}.conn-dot.disconnected{background:var(--red2)}.conn-indicator.connected{color:var(--green2)}.conn-indicator.disconnected{color:var(--red2)}.host-setup{padding:24px;max-width:1100px;margin:0 auto}.setup-tabs{display:flex;gap:8px;margin-bottom:24px}.setup-tab{padding:10px 24px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-family:var(--font-ui);font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:all .15s}.setup-tab:hover{border-color:var(--blue2);color:var(--text)}.setup-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px}.section-title{font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue2);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.player-add-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.player-tags{display:flex;gap:10px;flex-wrap:wrap}.player-tag{display:flex;align-items:center;gap:10px;background:var(--surface2);border-radius:var(--radius);padding:8px 14px}.player-color-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.player-tag-name{font-weight:600;font-size:15px}.btn-remove{background:none;color:var(--red2);font-size:16px;line-height:1;padding:0 2px;transition:opacity .15s}.btn-remove:hover{opacity:.7}.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cat-value-label{font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:1px;color:var(--gold);margin-bottom:4px}.input{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);padding:10px 14px;color:var(--text);font-family:var(--font-body);font-size:14px;transition:border-color .15s;user-select:text;-webkit-user-select:text}.input:focus{border-color:var(--blue2)}.input-cat-name{font-family:var(--font-ui);font-weight:700;font-size:15px;letter-spacing:1px;flex:1}.textarea{resize:vertical;width:100%;min-height:72px}.btn{border-radius:var(--radius);padding:9px 16px;font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:1px;white-space:nowrap;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-success{background:var(--green);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-accent{background:var(--accent);color:#fff}.btn-subtle{background:transparent;border:1px solid var(--border2);color:var(--text-dim)}.host-playing{padding:20px;display:grid;grid-template-columns:1fr 300px;gap:20px;max-width:1400px;margin:0 auto}.active-question-panel{background:var(--surface2);border:2px solid var(--blue2);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;animation:slideDown .25s ease}.active-question-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.active-question-label{font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:2px;color:var(--blue2)}.active-question-actions{display:flex;gap:8px}.active-question-text{font-size:17px;font-weight:600;line-height:1.4;padding:12px;background:var(--surface);border-radius:var(--radius);margin-bottom:14px}.active-question-text.empty{color:var(--text-dim);font-style:italic}.buzzer-status{border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.buzzer-status.buzzed-in{background:var(--accent-dim);border:2px solid var(--accent);animation:buzzIn .35s ease}.buzzer-status.open{background:var(--blue-dim);border:1px solid var(--blue2);animation:pulse 1.5s infinite}.buzzer-status.turn{background:var(--surface);border:1px solid var(--border)}.buzzed-name{font-family:var(--font-ui);font-size:18px;font-weight:700}.buzzer-actions{display:flex;gap:8px}.locked-out-info{font-size:12px;color:var(--text-dim)}.turn-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.turn-label{font-size:14px;color:var(--text-dim)}.brett{display:grid;gap:8px}.brett-cat-header{background:var(--accent);padding:10px 8px;border-radius:var(--radius);text-align:center;font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:1px;min-height:46px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.brett-cell{border-radius:var(--radius);margin-bottom:6px;padding:14px 8px;text-align:center;font-family:var(--font-display);font-size:24px;letter-spacing:2px;transition:all .15s;border:2px solid transparent}.brett-cell.available{background:var(--blue-dark);color:var(--gold2);cursor:pointer}.brett-cell.available:hover{background:var(--blue);border-color:var(--blue2)}.brett-cell.active{background:var(--blue);border-color:var(--blue2);color:#fff}.brett-cell.answered{background:var(--surface);color:transparent;opacity:.3;cursor:default}.score-sidebar{position:sticky;top:20px}.score-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);margin-bottom:8px;transition:background .2s}.score-rank{font-family:var(--font-display);font-size:18px;color:var(--text-muted);width:20px;text-align:center}.score-name{flex:1;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-pts{font-family:var(--font-display);font-size:24px;letter-spacing:1px}.score-pts.positive{color:var(--gold2)}.score-pts.negative{color:var(--red2)}.score-adjust{display:flex;flex-direction:column;gap:3px}.btn-micro{background:var(--surface);border:1px solid var(--border2);border-radius:4px;width:22px;height:22px;color:var(--text-dim);font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .1s}.btn-micro:hover{background:var(--surface2);color:var(--text)}.info-box{font-size:13px;color:var(--text-dim);line-height:1.7}.info-box p+p{margin-top:4px}.auth-spinner{color:var(--text-dim);font-family:var(--font-ui);font-size:16px;letter-spacing:2px;animation:pulse 1.5s infinite}.auth-card{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:36px;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:360px;width:100%}.btn-discord{display:flex;align-items:center;gap:10px;background:#5865f2;color:#fff;border-radius:var(--radius);padding:12px 24px;font-family:var(--font-ui);font-size:15px;font-weight:700;letter-spacing:1px;text-decoration:none;transition:opacity .15s;cursor:pointer}.btn-discord:hover{opacity:.85}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-card{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:36px;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:340px}.auth-logo{font-family:var(--font-display);font-size:28px;letter-spacing:4px;color:var(--accent)}.auth-desc{color:var(--text-dim);font-size:14px;text-align:center}.auth-error{color:var(--red2);font-size:13px}.pw-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.pw-modal{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;animation:slideDown .2s ease}.cat-question-controls{display:flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px;flex-shrink:0}.cat-question-count{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--text-dim);white-space:nowrap}.btn-sm{padding:2px 8px;font-size:16px;font-weight:700;line-height:1;border-radius:4px;min-width:24px}.question-slot{display:flex;flex-direction:column;gap:6px}.point-value-row{display:flex;align-items:center;gap:4px}.point-input{width:70px;font-family:var(--font-display);font-size:16px;letter-spacing:1px;color:var(--gold2);text-align:center;padding:6px 8px;-moz-appearance:textfield}.point-input::-webkit-outer-spin-button,.point-input::-webkit-inner-spin-button{-webkit-appearance:none}.point-unit{font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:1px}.point-preset{padding:5px 4px;font-size:12px;cursor:pointer;background:var(--surface2);border:1px solid var(--border2);color:var(--text-dim);border-radius:var(--radius);width:36px}.btn-icon-only{padding:8px;display:flex;align-items:center;justify-content:center}.brett-cell.open-inactive{background:#2a2a2a;color:#666;border-color:#444;cursor:pointer}.cat-questions-list{display:flex;flex-direction:column;gap:10px}.question-slot-row{display:flex;align-items:flex-start;gap:8px}.question-textarea{flex:1;min-height:60px;resize:vertical}.btn-full-width{width:100%;padding:12px;justify-content:center;display:flex;align-items:center}.brett-cell.answered{background:#222;color:#444;opacity:1;cursor:pointer}.score-row:hover{border-color:var(--blue2)!important}.player-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column;position:relative}.player-select-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px}.player-select-logo{font-family:var(--font-display);font-size:60px;letter-spacing:6px;line-height:1;text-align:center;display:flex;align-items:center;gap:4px}.player-select-logo .logo-quiz{background:linear-gradient(135deg,#e8001d,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.player-select-logo .logo-duell{color:#fff;-webkit-text-fill-color:white}.player-select-card{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.player-select-label{font-family:var(--font-ui);font-size:14px;font-weight:700;letter-spacing:2px;color:var(--blue2);text-align:center}.player-select-waiting{color:var(--text-dim);font-size:14px;text-align:center;animation:pulse 2s infinite}.player-btn-list{display:flex;flex-direction:column;gap:8px}.player-btn-choose{display:flex;align-items:center;gap:12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;width:100%;transition:border-color .15s,background .15s;cursor:pointer}.player-btn-choose:hover{border-color:var(--blue2);background:var(--blue-dim)}.player-btn-choose .dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.player-btn-choose .name{font-family:var(--font-ui);font-size:18px;font-weight:700;letter-spacing:1px;color:var(--text)}.conn-status{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;font-family:var(--font-ui);letter-spacing:1px}.conn-status.connected{color:var(--green2)}.conn-status.disconnected{color:var(--red2)}.player-board-full{flex:1;display:flex;flex-direction:column;padding:16px;overflow-y:auto}.player-board-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.player-logo{font-family:var(--font-display);font-size:26px;letter-spacing:4px;display:flex;align-items:center;gap:2px}.player-logo .logo-quiz{background:linear-gradient(135deg,#e8001d,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.player-logo .logo-duell{color:#fff;-webkit-text-fill-color:white}.player-turn-bar{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;margin-bottom:12px}.player-turn-bar .turn-label{color:var(--text-dim)}.player-brett{display:grid;gap:6px}.player-brett-header{background:var(--accent);padding:8px 6px;border-radius:var(--radius);text-align:center;font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:1px;min-height:42px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.player-brett-cell{border-radius:var(--radius);margin-bottom:5px;padding:12px 6px;text-align:center;font-family:var(--font-display);font-size:22px;letter-spacing:2px;border:2px solid transparent;transition:all .2s}.player-brett-cell.available{background:var(--blue-dark);color:var(--gold2)}.player-brett-cell.active{background:var(--blue);border-color:var(--blue2);color:#fff}.player-brett-cell.answered{background:#1a1a1a;color:#3a3a3a;border-color:#2a2a2a}.player-brett-cell.open-inactive{background:#222;color:#555;border-color:#333}.player-scores{margin-top:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}.player-scores-title{font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:2px;color:var(--blue2);margin-bottom:10px;text-align:center}.player-scores-list{display:flex;flex-direction:column;gap:6px;align-items:flex-start;width:100%}.player-score-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);width:100%}.player-score-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.player-score-name{flex:1;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-score-name.is-me:after{content:" (du)";color:var(--text-dim);font-size:12px;font-weight:400}.player-score-pts{font-family:var(--font-display);font-size:20px;letter-spacing:1px}.player-score-pts.positive{color:var(--gold2)}.player-score-pts.negative{color:var(--red2)}.question-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.question-popup{background:var(--surface);border:2px solid var(--blue2);border-radius:16px;padding:28px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:16px;animation:slideDown .25s ease;box-shadow:0 0 60px #3b82f633}.popup-turn{display:flex;align-items:center;gap:10px}.popup-turn-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.popup-points{font-family:var(--font-display);font-size:42px;letter-spacing:3px;color:var(--gold2);line-height:1}.popup-question{font-size:20px;font-weight:600;line-height:1.5;padding:16px;background:var(--surface2);border-radius:var(--radius);min-height:80px}.popup-buzzer-area{display:flex;flex-direction:column;align-items:center;gap:10px}.popup-buzzer-btn{display:flex;align-items:center;gap:14px;padding:18px 36px;border-radius:12px;border:none;cursor:pointer;transition:transform .1s,box-shadow .2s;width:100%;justify-content:center}.popup-buzzer-btn:active{transform:scale(.97)}.popup-buzzer-btn.open{background:linear-gradient(135deg,#1a56db,#1e3a8a);box-shadow:0 0 30px #3b82f666;animation:pulse 1s infinite}.popup-buzzer-btn.idle{background:var(--surface2);opacity:.5}.popup-buzzer-btn.locked{background:#1f2937;cursor:not-allowed;opacity:.6}.popup-buzzer-btn.buzzed-me{background:linear-gradient(135deg,#e8001d,#991b1b);box-shadow:0 0 30px #e8001d80}.popup-buzzer-label{font-family:var(--font-display);font-size:22px;letter-spacing:3px;color:#fff}.popup-buzzed{display:flex;align-items:center;gap:12px;background:var(--accent-dim);border:2px solid var(--accent);border-radius:10px;padding:14px 20px;width:100%;font-family:var(--font-ui);font-size:18px;font-weight:700;color:var(--text);animation:buzzIn .35s ease}.popup-buzzed.is-me{background:#e8001d33;border-color:var(--accent);color:var(--accent);animation:glow 1.2s infinite}.popup-waiting{color:var(--text-dim);font-family:var(--font-ui);font-size:15px;letter-spacing:1px;animation:pulse 1.5s infinite}.popup-feedback{font-family:var(--font-ui);font-size:16px;font-weight:700;letter-spacing:1px}.popup-feedback.too-late{color:var(--red2);animation:shake .4s ease}.popup-locked{font-size:12px;color:var(--text-muted)}.player-conn-bottom{position:fixed;bottom:10px;right:14px;z-index:100}.logo-img{display:block}.logo-img--large{max-height:80px;max-width:280px;object-fit:contain}.logo-img--small{max-height:36px;max-width:160px;object-fit:contain}.player-cards-row{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.player-card{flex:1;min-width:100px;aspect-ratio:1 / 1;border-radius:var(--radius-lg);border:2px solid var(--border);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;position:relative;transition:border-color .2s,background .2s}.player-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.player-card-name{font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:1px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.player-card-score{font-family:var(--font-display);font-size:26px;letter-spacing:1px;line-height:1}.player-card-score.positive{color:var(--gold2)}.player-card-score.negative{color:var(--red2)}.player-card-turn-badge{position:absolute;top:6px;right:6px;font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:1px;background:var(--accent);color:#fff;border-radius:4px;padding:2px 5px}:root{--bg: #060a14;--bg2: #0d1525;--surface: #111d35;--surface2: #162240;--border: #1e3a6e;--border2: #2a4f8a;--accent: #e8001d;--accent-dim: rgba(232, 0, 29, .15);--accent-glow: rgba(232, 0, 29, .5);--blue: #1a56db;--blue2: #3b82f6;--blue-dark: #0f3a8a;--blue-dim: rgba(59, 130, 246, .12);--gold: #f59e0b;--gold2: #fbbf24;--green: #16a34a;--green2: #22c55e;--red: #dc2626;--red2: #ef4444;--text: #e8eeff;--text-dim: #6b82aa;--text-muted: #3d5278;--font-display: "Bebas Neue", sans-serif;--font-ui: "Barlow Condensed", sans-serif;--font-body: "Barlow", sans-serif;--radius: 8px;--radius-lg: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#root{min-height:100vh}input,textarea{user-select:text;-webkit-user-select:text}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-body);outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes buzzIn{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 50px var(--accent-glow),0 0 90px #e8001d40}}@keyframes slideDown{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}
