:root{--color-bg:#0f0f1a;--color-bg-alt:#0a0a14;--color-surface:#1a1a2e;--color-surface-2:#232340;--color-surface-3:#2d2d52;--color-primary:#6c5ce7;--color-primary-light:#a29bfe;--color-primary-dark:#5a4bd1;--color-secondary:#00cec9;--color-secondary-light:#55efc4;--color-secondary-dark:#00b5b0;--color-accent:#fdcb6e;--color-accent-light:#ffeaa7;--color-accent-dark:#f9ca24;--color-gold:gold;--color-success:#00b894;--color-success-light:#55efc4;--color-danger:#e74c3c;--color-danger-light:#ff6b6b;--color-danger-dark:#c0392b;--color-warning:#ffeaa7;--color-orange:#e17055;--color-text:#f0f0f0;--color-text-dim:#a0a0b8;--color-text-muted:#6c6c8a;--color-border:#2d2d4a;--color-border-light:#3d3d5c;--gradient-primary:linear-gradient(135deg, #6c5ce7, #a29bfe);--gradient-secondary:linear-gradient(135deg, #00cec9, #4facfe);--gradient-accent:linear-gradient(135deg, #f9ca24, #fdcb6e);--gradient-gold:linear-gradient(135deg, gold, #ffed4a, gold);--gradient-danger:linear-gradient(135deg, #e74c3c, #ff6b6b);--gradient-success:linear-gradient(135deg, #00b894, #55efc4);--gradient-dark:linear-gradient(135deg, #1a1a2e, #2d2d52);--gradient-neon:linear-gradient(135deg, #6c5ce7, #00cec9);--glow-violet:0 0 20px #6c5ce766, 0 0 60px #6c5ce726;--glow-blue:0 0 20px #00cec966, 0 0 60px #00cec926;--glow-gold:0 0 20px #fdcb6e66, 0 0 60px #fdcb6e26;--glow-red:0 0 20px #e74c3c66, 0 0 60px #e74c3c26;--glow-green:0 0 20px #00b89466, 0 0 60px #00b89426;--glow-violet-intense:0 0 30px #6c5ce799, 0 0 80px #6c5ce74d;--glow-blue-intense:0 0 30px #00cec999, 0 0 80px #00cec94d;--glow-gold-intense:0 0 30px #fdcb6e99, 0 0 80px #fdcb6e4d;--glow-red-intense:0 0 30px #e74c3c99, 0 0 80px #e74c3c4d;--font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--fs-xs:.75rem;--fs-sm:.85rem;--fs-base:1rem;--fs-md:1.15rem;--fs-lg:1.5rem;--fs-xl:2rem;--fs-2xl:2.5rem;--fs-3xl:3rem;--fs-4xl:4rem;--fw-normal:400;--fw-medium:500;--fw-semi:600;--fw-bold:700;--fw-black:800;--sp-xs:.25rem;--sp-sm:.5rem;--sp-md:.75rem;--sp-lg:1rem;--sp-xl:1.5rem;--sp-2xl:2rem;--sp-3xl:3rem;--radius-xs:4px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow:0 4px 24px #0000004d;--shadow-lg:0 8px 40px #0006;--shadow-inset:inset 0 2px 8px #0006;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-bounce:cubic-bezier(.68, -.55, .265, 1.55);--transition:all .2s var(--ease-out);--transition-fast:all .1s var(--ease-out);--transition-slow:all .4s var(--ease-out)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{height:100%}body{font-family:var(--font-family);font-size:var(--fs-base);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(80% 60% at 50% 0,#6c5ce714 0%,#0000 60%),radial-gradient(60% 50% at 80% 100%,#00cec90d 0%,#0000 50%);background-attachment:fixed;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-primary-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}*{scrollbar-width:thin;scrollbar-color:var(--color-primary-dark) var(--color-bg)}::selection{color:#fff;background:#6c5ce766}img,svg{max-width:100%;display:block}a{color:var(--color-primary-light);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1.2}h2{font-size:var(--fs-lg);font-weight:var(--fw-semi);line-height:1.3}h3{font-size:var(--fs-md);font-weight:var(--fw-semi);margin-bottom:var(--sp-sm)}.text-glow{text-shadow:0 0 10px #6c5ce780,0 0 30px #6c5ce74d,0 0 60px #6c5ce726}.text-neon{color:var(--color-secondary);text-shadow:0 0 7px #00cec999,0 0 20px #00cec966,0 0 40px #00cec933,0 0 80px #00cec91a}.title-arcade{font-size:var(--fs-2xl);font-weight:var(--fw-black);text-transform:uppercase;letter-spacing:.08em;background:var(--gradient-neon);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 20px #6c5ce74d);-webkit-background-clip:text;background-clip:text}.text-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{justify-content:center;align-items:center;gap:var(--sp-sm);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--fs-base);font-weight:var(--fw-semi);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;min-height:48px;padding:.75rem 1.5rem;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.97)}.btn:disabled,.btn-disabled{opacity:.35;cursor:not-allowed;pointer-events:none;filter:grayscale(.3)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #6c5ce74d}.btn-primary:hover:not(:disabled){box-shadow:var(--glow-violet);filter:brightness(1.1)}.btn-secondary{background:var(--gradient-dark);color:var(--color-text);border:1px solid var(--color-border-light);box-shadow:0 4px 15px #0003}.btn-secondary:hover:not(:disabled){border-color:var(--color-secondary);box-shadow:var(--glow-blue);color:var(--color-secondary)}.btn-accent{background:var(--gradient-accent);color:#1a1a2e;box-shadow:0 4px 15px #fdcb6e4d}.btn-accent:hover:not(:disabled){box-shadow:var(--glow-gold);filter:brightness(1.1)}.btn-danger{background:var(--gradient-danger);color:#fff;box-shadow:0 4px 15px #e74c3c4d}.btn-danger:hover:not(:disabled){box-shadow:var(--glow-red);filter:brightness(1.1)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:0 4px 15px #00b8944d}.btn-success:hover:not(:disabled){box-shadow:var(--glow-green);filter:brightness(1.1)}.btn-link{color:var(--color-text-dim);padding:var(--sp-sm);font-size:var(--fs-sm);cursor:pointer;min-height:auto;transition:var(--transition-fast);background:0 0;border:none}.btn-link:hover{color:var(--color-text);transform:none}.btn-lg{font-size:var(--fs-md);border-radius:var(--radius);min-height:56px;padding:1rem 2rem}.btn-sm{font-size:var(--fs-sm);min-height:36px;padding:.4rem .8rem}.btn-xs{font-size:var(--fs-xs);min-height:28px;padding:.25rem .5rem}.btn-icon{cursor:pointer;padding:var(--sp-xs);color:var(--color-text-dim);transition:var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-height:auto;font-size:1.2rem;display:inline-flex}.btn-icon:hover{color:var(--color-text);background:#ffffff0d}.btn-neon{color:var(--color-primary-light);border:2px solid var(--color-primary);background:0 0;box-shadow:0 0 10px #6c5ce733,inset 0 0 10px #6c5ce71a}.btn-neon:hover:not(:disabled){border-color:var(--color-primary-light);text-shadow:0 0 10px #6c5ce780;background:#6c5ce71a;box-shadow:0 0 20px #6c5ce766,0 0 40px #6c5ce726,inset 0 0 20px #6c5ce726}.buzzer-container{width:100%;padding:var(--sp-lg) 0;justify-content:center;display:flex}.buzzer-btn{width:220px;height:220px;font-size:1.6rem;font-weight:var(--fw-black);cursor:pointer;justify-content:center;align-items:center;gap:var(--sp-xs);transition:var(--transition);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;text-transform:uppercase;letter-spacing:.05em;border:4px solid #0000;border-radius:50%;flex-direction:column;display:flex;position:relative}.buzzer-btn:before{content:"";z-index:-1;border-radius:50%;position:absolute;inset:-4px}.buzzer-btn:active:not(:disabled){transform:scale(.92);box-shadow:inset 0 4px 12px #00000080!important}.buzzer-label{letter-spacing:.08em;font-size:1.4rem}.buzzer-rank{font-size:var(--fs-3xl);line-height:1}.buzzer-waiting{background:var(--color-surface-2);color:var(--color-text-dim);border-color:var(--color-border);box-shadow:0 6px 0 var(--color-bg-alt), 0 8px 20px #0006;animation:2.5s ease-in-out infinite pulse}.buzzer-ready{color:#fff;text-shadow:0 2px 8px #0006;background:radial-gradient(circle at 35% 35%,#ff6b6b,#e74c3c 50%,#c0392b);border-color:#ff6b6b;animation:1.2s ease-in-out infinite pulse-glow-red;box-shadow:0 0 40px #e74c3c80,0 0 80px #e74c3c40,0 6px #a93226,inset 0 -3px 6px #0003,inset 0 3px 6px #ffffff1a}.buzzer-ready:hover{box-shadow:0 0 60px #e74c3cb3,0 0 100px #e74c3c4d,0 6px #a93226,inset 0 -3px 6px #0003,inset 0 3px 6px #ffffff1a}.buzzer-sent{color:#fff;border-color:var(--color-secondary-light);text-shadow:0 2px 8px #0000004d;background:radial-gradient(circle at 35% 35%,#4facfe,#00cec9 50%,#00b5b0);box-shadow:0 0 30px #00cec966,0 6px #00908c,inset 0 -3px 6px #0003,inset 0 3px 6px #ffffff1a}.buzzer-first{color:#1a1a2e;text-shadow:0 1px 4px #fff6;background:radial-gradient(circle at 35% 35%,#ffed4a,gold 40%,#f9ca24 70%,#e8b710);border-color:#ffed4a;animation:.8s ease-in-out infinite pulse-glow-gold;box-shadow:0 0 50px #ffd70099,0 0 100px #ffd7004d,0 0 150px #ffd70026,0 6px #c9960c,inset 0 -3px 6px #00000026,inset 0 3px 6px #ffffff4d}.buzzer-blocked{background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border);opacity:.55;box-shadow:0 4px 0 var(--color-bg-alt), inset 0 2px 8px #0000004d;cursor:not-allowed}.buzzer-wrong{color:#fff;text-shadow:0 2px 4px #0000004d;background:radial-gradient(circle at 35% 35%,#fab1a0,#e17055 50%,#d35400);border-color:#fab1a0;animation:.5s ease-in-out shake;box-shadow:0 0 30px #e1705566,0 4px #b54e2a,inset 0 -3px 6px #0003}.buzzer-eliminated{color:#636e72;cursor:not-allowed;background:radial-gradient(circle at 35% 35%,#444,#2d3436 50%,#1e1e1e);border-color:#444;text-decoration:line-through;box-shadow:0 4px #111,inset 0 2px 8px #00000080}.glow-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--sp-xl);transition:var(--transition);box-shadow:var(--shadow);position:relative}.glow-card:before{content:"";border-radius:var(--radius);-webkit-mask-composite:xor;pointer-events:none;opacity:0;background:linear-gradient(135deg,#6c5ce733,#00cec91a);padding:1px;transition:opacity .3s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glow-card:hover{box-shadow:var(--shadow-lg), var(--glow-violet);border-color:var(--color-border-light);transform:translateY(-2px)}.glow-card:hover:before{opacity:1}input,select,textarea{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--fs-base);width:100%;min-height:48px;transition:var(--transition);-webkit-tap-highlight-color:transparent;outline:none;padding:.75rem 1rem}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6c5ce726,0 0 20px #6c5ce71a}input:hover:not(:focus),select:hover:not(:focus){border-color:var(--color-border-light)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{font-size:var(--fs-sm);color:var(--color-text-dim);flex-direction:column;gap:.4rem;width:100%;display:flex}.input-code{font-size:var(--fs-xl);text-align:center;letter-spacing:.3em;font-weight:var(--fw-bold);font-family:var(--font-mono);background:var(--color-bg);border:2px solid var(--color-border);padding:1rem}.input-code:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6c5ce733,0 0 30px #6c5ce726}.input-answer{text-align:center;font-size:1.3rem;font-weight:var(--fw-semi)}.timer{background:var(--color-surface);border-radius:var(--radius-sm);width:100%;height:40px;margin-bottom:var(--sp-lg);border:1px solid var(--color-border);position:relative;overflow:hidden}.timer-large{height:60px;font-size:var(--fs-lg);border-radius:var(--radius)}.timer-bar{background:var(--gradient-primary);border-radius:var(--radius-sm);height:100%;transition:width 1s linear;position:relative;box-shadow:0 0 15px #6c5ce74d}.timer-bar:after{content:"";border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(#ffffff26 0%,#0000 100%);height:40%;position:absolute;top:0;left:0;right:0}.timer-urgent .timer-bar{background:var(--gradient-danger);animation:.8s ease-in-out infinite pulse-glow-red;box-shadow:0 0 20px #e74c3c66}.timer-text{font-weight:var(--fw-bold);text-shadow:0 1px 4px #0009;font-family:var(--font-mono);letter-spacing:.05em;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.timer-urgent .timer-text{animation:2s infinite neon-flicker}.scoreboard{background:var(--color-surface);border-radius:var(--radius);padding:var(--sp-lg);width:100%;margin-bottom:var(--sp-lg);border:1px solid var(--color-border);box-shadow:var(--shadow);position:relative}.scoreboard-close{top:var(--sp-sm);right:var(--sp-sm);color:var(--color-text-dim);cursor:pointer;padding:var(--sp-xs);border-radius:var(--radius-xs);transition:var(--transition-fast);background:0 0;border:none;font-size:1.2rem;position:absolute}.scoreboard-close:hover{color:var(--color-text);background:#ffffff0d}.scoreboard-list{gap:var(--sp-sm);flex-direction:column;list-style:none;display:flex}.scoreboard-row{padding:var(--sp-md) var(--sp-sm);border-bottom:1px solid var(--color-border);border-radius:var(--radius-sm);transition:var(--transition-fast);align-items:center;gap:.75rem;display:flex}.scoreboard-row:last-child{border-bottom:none}.scoreboard-row:hover{background:#ffffff05}.scoreboard-row:first-child .scoreboard-rank{color:gold;text-shadow:0 0 10px #ffd70066}.scoreboard-row:nth-child(2) .scoreboard-rank{color:silver;text-shadow:0 0 10px #c0c0c04d}.scoreboard-row:nth-child(3) .scoreboard-rank{color:#cd7f32;text-shadow:0 0 10px #cd7f324d}.scoreboard-rank{font-weight:var(--fw-bold);color:var(--color-accent);min-width:2rem;font-family:var(--font-mono)}.scoreboard-name{font-weight:var(--fw-semi);flex:1}.scoreboard-score{font-weight:var(--fw-bold);font-family:var(--font-mono);color:var(--color-accent)}.admin-page{max-width:900px}.admin-header{align-items:center;gap:var(--sp-lg);width:100%;margin-bottom:var(--sp-xl);flex-wrap:wrap;display:flex}.session-code{background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--fs-md);font-family:var(--font-mono);border:1px solid var(--color-border);letter-spacing:.05em;padding:.4rem .8rem}.session-code strong{color:var(--color-accent)}.player-count{color:var(--color-text-dim);font-size:var(--fs-sm)}.admin-section{background:var(--color-surface);border-radius:var(--radius);width:100%;padding:var(--sp-lg);margin-bottom:var(--sp-lg);border:1px solid var(--color-border);box-shadow:var(--shadow)}.admin-section h3{color:var(--color-primary-light);margin-bottom:var(--sp-md);align-items:center;gap:var(--sp-sm);display:flex}.admin-controls{gap:var(--sp-sm);width:100%;margin-bottom:var(--sp-lg);flex-wrap:wrap;display:flex}.admin-grid{gap:var(--sp-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));width:100%;display:grid}.validate-row{align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) 0;border-bottom:1px solid #ffffff08;display:flex}.validate-row:last-child{border-bottom:none}.validate-row span{font-weight:var(--fw-semi);flex:1}.expected-answer-form{gap:var(--sp-sm);flex-wrap:wrap;display:flex}.expected-answer-form input{flex:1;min-width:120px}.timer-controls{gap:var(--sp-sm);flex-wrap:wrap;align-items:center;display:flex}.timer-controls input{flex:0;width:80px;min-width:80px}.tables-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.table-card{background:var(--color-surface-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);transition:var(--transition);padding:.75rem}.table-card:hover{border-color:var(--color-border-light);box-shadow:0 4px 20px #0000004d}.table-card.locked{opacity:.5;border-style:dashed}.table-card.eliminated{opacity:.3;filter:grayscale(.5)}.table-header{padding-bottom:var(--sp-sm);margin-bottom:var(--sp-sm);border-bottom:2px solid;justify-content:space-between;display:flex}.table-card ul{margin-bottom:var(--sp-sm);list-style:none}.table-card li{font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:.2rem 0;display:flex}.table-card li.online{color:var(--color-text)}.table-card li.offline{opacity:.4;font-style:italic}.table-actions{gap:var(--sp-xs);display:flex}.control-btn{border:2px solid var(--color-primary);color:var(--color-primary-light);border-radius:var(--radius-sm);font-weight:var(--fw-semi);cursor:pointer;transition:var(--transition);background:0 0;min-height:44px;padding:.6rem 1rem}.control-btn:hover{box-shadow:var(--glow-violet);background:#6c5ce726}.buzz-list,.answer-list,.ranking-list{flex-direction:column;gap:.3rem;list-style:none;display:flex}.buzz-list li,.answer-list li,.ranking-list li{border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:var(--fs-sm);font-family:var(--font-mono);transition:var(--transition-fast);padding:.4rem .6rem}.buzz-list li:hover,.answer-list li:hover,.ranking-list li:hover{background:var(--color-surface-3)}.buzz-list li.foul{color:var(--color-danger-light);border-left:3px solid var(--color-danger)}.answer-list li.correct{color:var(--color-success-light);border-left:3px solid var(--color-success)}.answer-list li.wrong{color:var(--color-danger-light);border-left:3px solid var(--color-danger)}.screen-page{max-width:100%;min-height:100vh;padding:var(--sp-2xl);justify-content:flex-start}.screen-container{width:100%;max-width:1400px;min-height:100vh;padding:var(--sp-2xl);flex-direction:column;margin:0 auto;display:flex}.screen-header{align-items:center;gap:var(--sp-xl);width:100%;margin-bottom:var(--sp-2xl);display:flex}.screen-logo{object-fit:contain;filter:drop-shadow(0 0 10px #6c5ce74d);width:80px;height:80px}.screen-header h1{font-size:var(--fs-2xl);flex:1}.screen-header .session-code{font-size:var(--fs-lg);font-weight:var(--fw-bold);background:var(--color-surface);border:2px solid var(--color-primary);box-shadow:var(--glow-violet);padding:.5rem 1rem}.screen-round{text-align:center;margin-bottom:var(--sp-2xl)}.screen-round h2{font-size:var(--fs-2xl)}.buzz-prompt{font-size:var(--fs-4xl);font-weight:var(--fw-black);color:var(--color-danger-light);text-transform:uppercase;letter-spacing:.1em;text-shadow:0 0 20px #e74c3c80,0 0 60px #e74c3c4d,0 0 100px #e74c3c26;animation:1s ease-in-out infinite pulse-text,3s infinite neon-flicker}.buzz-display{font-size:var(--fs-3xl);font-weight:var(--fw-black);text-align:center;padding:var(--sp-2xl);border-radius:var(--radius-lg);background:var(--color-surface);border:2px solid var(--color-primary);box-shadow:var(--glow-violet-intense)}.buzz-winner{text-align:center;animation:score-pop .5s var(--ease-bounce)}.winner-table{font-size:var(--fs-3xl);font-weight:var(--fw-black);color:var(--color-gold);text-shadow:0 0 20px #ffd70080,0 0 60px #ffd7004d}.winner-name{font-size:var(--fs-lg);color:var(--color-text-dim);margin-top:var(--sp-sm)}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse-glow-red{0%,to{box-shadow:0 0 40px #e74c3c66,0 0 80px #e74c3c33,0 6px #a93226}50%{box-shadow:0 0 60px #e74c3cb3,0 0 120px #e74c3c59,0 6px #a93226}}@keyframes pulse-glow-gold{0%,to{box-shadow:0 0 50px #ffd70080,0 0 100px #ffd70040,0 6px #c9960c}50%{box-shadow:0 0 80px #ffd700cc,0 0 160px #ffd70066,0 6px #c9960c}}@keyframes pulse-glow{0%,to{box-shadow:var(--glow-violet)}50%{box-shadow:var(--glow-violet-intense)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-4px)}30%,70%{transform:translate(4px)}}@keyframes confetti-bg{0%{background-color:var(--color-bg)}25%{background-color:#ffd70014}50%{background-color:#6c5ce70f}75%{background-color:#00cec90d}to{background-color:var(--color-bg)}}@keyframes neon-flicker{0%,19%,21%,23%,25%,54%,56%,to{opacity:1}20%,24%,55%{opacity:.7}}@keyframes score-pop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-rotate{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes homeHaloPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.glow-violet{box-shadow:var(--glow-violet)}.glow-blue{box-shadow:var(--glow-blue)}.glow-gold{box-shadow:var(--glow-gold)}.glow-red{box-shadow:var(--glow-red)}.glow-green{box-shadow:var(--glow-green)}.glass{-webkit-backdrop-filter:blur(16px);background:#1a1a2e99;border:1px solid #6c5ce726;box-shadow:0 8px 32px #0000004d}.confetti{animation:.8s confetti-bg}.error{color:var(--color-danger-light);border-radius:var(--radius-sm);text-align:center;width:100%;font-size:var(--fs-sm);background:#e74c3c1a;border:1px solid #e74c3c33;padding:.75rem 1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{min-height:100%;padding:var(--sp-2xl) var(--sp-lg);flex-direction:column;align-items:center;max-width:600px;margin:0 auto;animation:.3s ease-out slide-up;display:flex}.home-page{justify-content:center;min-height:100dvh;padding-top:0;padding-bottom:0}.home-hero{align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-2xl);flex-direction:column;animation:4s ease-in-out infinite float;display:flex}.home-logo{object-fit:contain;width:120px;height:120px;margin-bottom:var(--sp-sm);filter:drop-shadow(0 0 20px #6c5ce74d)}.home-hero h1{font-size:var(--fs-2xl);font-weight:var(--fw-black);background:var(--gradient-neon);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 15px #6c5ce74d);-webkit-background-clip:text;background-clip:text}.home-subtitle{color:var(--color-text-dim);font-size:var(--fs-md);letter-spacing:.05em}.home-form{gap:var(--sp-lg);width:100%;margin-bottom:var(--sp-2xl);flex-direction:column;display:flex}.home-actions,.home-actions .btn{width:100%}.join-page{justify-content:center;min-height:100dvh}.join-page h1{margin-bottom:var(--sp-xl);text-align:center}.join-form{gap:var(--sp-lg);width:100%;margin-bottom:var(--sp-lg);flex-direction:column;display:flex}.join-form .btn{width:100%}.player-page{padding-bottom:env(safe-area-inset-bottom,0)}.player-header{align-items:center;gap:var(--sp-lg);width:100%;padding:var(--sp-md) var(--sp-lg);background:var(--color-surface);border-radius:var(--radius);margin-bottom:var(--sp-lg);border:1px solid var(--color-border);box-shadow:var(--shadow);display:flex}.player-name{font-weight:var(--fw-bold)}.player-table{color:var(--color-text-dim);font-size:var(--fs-sm)}.player-score{font-weight:var(--fw-bold);color:var(--color-gold);font-family:var(--font-mono);text-shadow:0 0 10px #ffd7004d;margin-left:auto}.player-round-info{text-align:center;margin:var(--sp-lg) 0}.round-number{font-size:1.2rem;font-weight:var(--fw-semi)}.round-title{color:var(--color-text-dim);margin-top:var(--sp-xs)}.waiting-text{color:var(--color-text-dim);font-style:italic;animation:2s ease-in-out infinite pulse}.player-action{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.answer-form{flex-direction:column;gap:.75rem;width:100%;display:flex}.answer-sent{color:var(--color-success-light);font-size:1.2rem;font-weight:var(--fw-semi);text-shadow:0 0 10px #00b8944d;animation:score-pop .4s var(--ease-bounce)}.screen-page .scoreboard{font-size:var(--fs-lg)}.screen-page .scoreboard-row{padding:var(--sp-lg) var(--sp-md)}.screen-page .scoreboard-rank,.screen-page .scoreboard-name,.screen-page .scoreboard-score{font-size:var(--fs-lg)}@media (width<=360px){:root{--fs-base:.9rem}.buzzer-btn{width:180px;height:180px;font-size:1.3rem}.buzzer-rank{font-size:var(--fs-2xl)}.page{padding:var(--sp-lg) var(--sp-md)}}@media (width>=768px){.admin-page{max-width:900px}.admin-controls{gap:var(--sp-md)}.tables-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.home-logo{width:150px;height:150px}.home-hero h1{font-size:var(--fs-3xl)}}@media (width>=1024px){.screen-page{padding:var(--sp-3xl)}.screen-header h1{font-size:var(--fs-3xl)}.screen-logo{width:100px;height:100px}.buzz-prompt{font-size:5rem}.winner-table{font-size:var(--fs-4xl)}.screen-page .scoreboard{font-size:var(--fs-xl);padding:var(--sp-2xl)}.screen-page .scoreboard-row{padding:var(--sp-xl) var(--sp-lg)}}@media (width>=1400px){.screen-page{padding:var(--sp-3xl) 4rem}.buzz-prompt{font-size:6rem}.winner-table{font-size:5rem}}@media (height<=500px) and (orientation:landscape){.buzzer-btn{width:160px;height:160px;font-size:1.2rem}.player-header{padding:var(--sp-sm) var(--sp-md)}.page{padding:var(--sp-lg) var(--sp-lg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){:root{--color-border:#4d4d6a;--color-text-dim:#c0c0d0;--color-text-muted:#9090a8}.btn{border:1px solid}}
