*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080810;--fg:#f4f4f5;--muted:#52525b;--border:#1c1c27;--buzz:#dc2626;--buzz-glow:rgba(220,38,38,0.4);--green:#22c55e}body,html{height:100%;background:var(--bg);color:var(--fg);font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}.dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex-shrink:0}.dot.on{background:var(--green)}.picker{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;gap:2rem;padding:2rem}.picker h1{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700}.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));grid-gap:.5rem;gap:.5rem;max-width:520px;width:100%}.letter-grid button{aspect-ratio:1;background:var(--border);border:1px solid #2c2c3a;color:var(--fg);font-size:1.25rem;font-weight:700;border-radius:8px;cursor:pointer;transition:background .15s,transform .1s}.letter-grid button:hover{background:#2c2c3a;transform:scale(1.08)}.letter-grid button:active{transform:scale(.95)}.panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;gap:.75rem;padding:2rem;position:relative;transition:background .4s}.panel.buzzing{animation:bg-pulse 1s ease-in-out infinite alternate}@keyframes bg-pulse{0%{background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(220,38,38,.05) 0,var(--bg) 65%)}to{background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(220,38,38,.14) 0,var(--bg) 65%)}}.panel-status{position:absolute;top:1.25rem;right:1.25rem;display:flex;align-items:center;gap:.5rem}.panel-id{font-size:clamp(5rem,18vw,14rem);font-weight:900;line-height:1;letter-spacing:-.05em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.panel-name{font-size:clamp(1rem,3vw,2rem);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:500;min-height:1.5em}.panel-score{font-size:clamp(2.5rem,8vw,6rem);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.result{font-size:clamp(.95rem,2.5vw,1.4rem);font-weight:700;padding:.6rem 1.2rem;border-radius:8px;text-align:center;margin-top:.5rem}.result.win{background:rgba(34,197,94,.12);color:var(--green);border:1px solid rgba(34,197,94,.35)}.result.lose{background:rgba(82,82,91,.12);color:var(--muted);border:1px solid var(--border)}.buzzer{margin-top:1.5rem;width:clamp(160px,40vw,280px);height:clamp(160px,40vw,280px);border-radius:50%;border:none;cursor:default;font-size:clamp(1.2rem,3.5vw,2.5rem);font-weight:900;letter-spacing:.1em;background:var(--border);color:var(--muted);transition:background .3s,color .3s,box-shadow .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.buzzer:not(:disabled){background:var(--buzz);color:#fff;cursor:pointer;animation:buzz-pulse .8s ease-in-out infinite alternate}.buzzer:not(:disabled):active{transform:scale(.93)}@keyframes buzz-pulse{0%{box-shadow:0 0 30px var(--buzz-glow),0 0 60px var(--buzz-glow)}to{box-shadow:0 0 70px var(--buzz-glow),0 0 140px var(--buzz-glow)}}.panel-reset{position:absolute;bottom:1.25rem;right:1.25rem;background:none;border:1px solid var(--border);color:var(--muted);width:2rem;height:2rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:border-color .15s,color .15s;line-height:1}.panel-reset:hover{border-color:var(--muted);color:var(--fg)}.admin{padding:2rem;max-width:900px;margin:0 auto}.admin-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.admin-header h1{font-size:1.5rem;font-weight:700;flex:1 1}.contest-bar{display:flex;gap:.75rem;margin-bottom:2rem}.contest-bar button{padding:.6rem 1.25rem;border-radius:8px;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}.contest-bar button:hover{opacity:.85}.btn-en{background:var(--green);color:#000}.btn-dis{background:var(--muted);color:var(--fg)}.no-devices{color:var(--muted);text-align:center;padding:4rem 2rem;font-size:1rem}table{width:100%;border-collapse:collapse}thead th{text-align:left;padding:.5rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}tbody td,thead th{border-bottom:1px solid var(--border)}tbody td{padding:.8rem 1rem;vertical-align:middle}.td-id{font-size:1.75rem;font-weight:900;width:3.5rem}.td-await{font-size:.85rem;color:var(--muted)}.td-await.yes{color:var(--buzz);font-weight:700}.editable{cursor:text;border-bottom:1px dashed var(--muted);padding-bottom:1px;font-size:.95rem;transition:color .15s,border-color .15s}.editable:hover{color:white;border-color:var(--fg)}.editable.placeholder{color:var(--muted)}.inline-form{display:flex;gap:.5rem;align-items:center}.inline-form input{background:var(--border);border:1px solid #2c2c3a;color:var(--fg);padding:.3rem .6rem;border-radius:6px;font-size:.9rem;outline:none;width:150px}.inline-form input:focus{border-color:var(--muted)}.inline-form button{background:var(--buzz);border:none;color:#fff;padding:.3rem .75rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600}.live{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;gap:2rem;position:relative;transition:background .4s}.live.contest-on{animation:live-bg-pulse 1s ease-in-out infinite alternate}@keyframes live-bg-pulse{0%{background:radial-gradient(ellipse 90% 70% at 50% 50%,rgba(220,38,38,.04) 0,var(--bg) 70%)}to{background:radial-gradient(ellipse 90% 70% at 50% 50%,rgba(220,38,38,.12) 0,var(--bg) 70%)}}.live-dot{position:absolute;top:1.25rem;right:1.25rem}.live-winner-banner{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(8,8,16,.88);animation:banner-in .25s ease-out;pointer-events:none}@keyframes banner-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.live-winner-id{font-size:clamp(6rem,20vw,16rem);font-weight:900;line-height:1;letter-spacing:-.05em;color:var(--green);text-shadow:0 0 60px rgba(34,197,94,.6),0 0 120px rgba(34,197,94,.3)}.live-winner-label{font-size:clamp(1.5rem,4vw,3rem);font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--green);opacity:.8;margin-top:.5rem}.live-empty{color:var(--muted);font-size:1.1rem}.live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-gap:1.25rem;gap:1.25rem;width:100%;max-width:1200px}.score-card{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;border-radius:16px;background:var(--border);border:2px solid #2c2c3a;gap:.5rem;transition:border-color .3s,box-shadow .3s,background .3s;position:relative;overflow:hidden}.score-card.awaiting{border-color:rgba(220,38,38,.5);animation:card-pulse .8s ease-in-out infinite alternate}@keyframes card-pulse{0%{box-shadow:0 0 0 rgba(220,38,38,0)}to{box-shadow:0 0 24px rgba(220,38,38,.35)}}.score-card.winner{border-color:var(--green);background:rgba(34,197,94,.08);box-shadow:0 0 40px rgba(34,197,94,.3)}.card-id{font-size:clamp(3rem,8vw,5rem);font-weight:900;line-height:1;letter-spacing:-.04em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card-name{font-size:clamp(.85rem,2vw,1.1rem);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:500;text-align:center;min-height:1.4em}.card-score{font-size:clamp(2rem,6vw,4rem);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:.25rem}.card-buzz-hint{margin-top:.5rem;font-size:.8rem;font-weight:700;letter-spacing:.15em;color:var(--buzz);opacity:.6;text-transform:uppercase}.quiz-card{width:100%;max-width:900px;background:var(--border);border:1px solid #2c2c3a;border-radius:20px;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;animation:quiz-in .3s ease-out}@keyframes quiz-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.quiz-q-text{font-size:clamp(1.3rem,3.5vw,2.2rem);font-weight:700;line-height:1.3;text-align:center}.quiz-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));grid-gap:.75rem;gap:.75rem}.quiz-option{display:flex;align-items:center;gap:1rem;padding:.9rem 1.25rem;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid #2c2c3a;transition:background .3s,border-color .3s,box-shadow .3s}.quiz-option.correct{background:rgba(34,197,94,.12);border-color:var(--green);box-shadow:0 0 20px rgba(34,197,94,.2)}.quiz-opt-letter{width:2rem;height:2rem;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--muted);color:#000;font-weight:900;font-size:.9rem}.quiz-option.correct .quiz-opt-letter{background:var(--green)}.quiz-opt-text{font-size:clamp(.9rem,2vw,1.15rem);line-height:1.4}.quiz-explanation{border-top:1px solid var(--border);padding-top:1.25rem;font-size:clamp(.85rem,1.8vw,1rem);color:var(--muted);line-height:1.6;animation:quiz-in .25s ease-out}.quiz-section{margin-top:2.5rem}.quiz-section h2{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}.quiz-active-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;background:rgba(34,197,94,.07);border:1px solid rgba(34,197,94,.25)}.quiz-active-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green);flex-shrink:0}.quiz-active-text{flex:1 1;font-size:.9rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quiz-active-answer{font-size:.85rem;font-weight:700;color:var(--green);flex-shrink:0}.contest-bar-btn{padding:.4rem .9rem;border-radius:7px;border:none;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s;flex-shrink:0}.contest-bar-btn:hover:not(:disabled){opacity:.85}.contest-bar-btn:disabled{opacity:.35;cursor:default}.btn-reveal{background:var(--green);color:#000}.quiz-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.quiz-upload-label{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:7px;background:var(--border);border:1px solid #2c2c3a;cursor:pointer;font-size:.85rem;font-weight:600;transition:border-color .15s}.quiz-upload-label:hover{border-color:var(--muted)}.quiz-upload-label input{display:none}.quiz-count{font-size:.8rem;color:var(--muted)}.quiz-list{display:flex;flex-direction:column;gap:.3rem;max-height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:.4rem}.quiz-row{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:7px;transition:background .12s}.quiz-row:hover{background:rgba(255,255,255,.04)}.quiz-row.active-row{background:rgba(34,197,94,.07)}.quiz-row.pushed{opacity:.38}.quiz-row-num{font-size:.72rem;color:var(--muted);width:2rem;flex-shrink:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quiz-row-text{flex:1 1;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-push{padding:.3rem .7rem;border-radius:6px;border:none;background:var(--buzz);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:opacity .12s}.btn-push:hover{opacity:.85}.btn-push:disabled{opacity:.35;cursor:not-allowed}.btn-reset-pushed{padding:.3rem .7rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.78rem;cursor:pointer;transition:border-color .12s,color .12s}.btn-reset-pushed:hover:not(:disabled){border-color:var(--muted);color:var(--text)}.btn-reset-pushed:disabled{opacity:.35;cursor:not-allowed}