.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-bar{z-index:100;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--header-border);position:sticky;top:0}.top-bar-inner{max-width:var(--content-wide-max-width);align-items:center;gap:1.5rem;margin:0 auto;padding:.875rem 1.5rem;display:flex}.brand{color:var(--text-on-gradient);flex-shrink:0;align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand-emoji{font-size:1.5rem}.brand-title{letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.top-nav{flex:1;align-items:center;gap:.25rem;display:flex}.nav-link{border-radius:var(--radius-pill);color:#ffffffa6;padding:.5rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s}.nav-link:hover{color:var(--text-on-gradient);background:#ffffff14}.nav-link.active{color:var(--text-on-gradient);background:#ffffff24}.session-badge{border-radius:var(--radius-sm);background:#ffffff14;border:1px solid #ffffff1a;flex-direction:column;flex-shrink:0;align-items:flex-end;padding:.375rem .875rem;display:flex}.session-code{letter-spacing:.08em;color:var(--text-on-gradient);font-size:.9375rem;font-weight:700}.session-meta{color:#fff9;font-size:.75rem}.main-content{flex:1;padding:2.5rem 1.5rem 3rem}.content-container{max-width:var(--content-max-width);width:100%;margin:0 auto}.content-container:has(.page-wide){max-width:var(--content-wide-max-width)}.alert{border-radius:var(--radius);background:var(--card-bg);border:1px solid var(--error-border);color:var(--error-text);box-shadow:var(--card-shadow);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.875rem 1rem;display:flex}.alert button{border-radius:var(--radius-sm);background:var(--error-bg);color:var(--error-text);border:none;padding:.375rem .75rem;font-size:.875rem;font-weight:600}.site-footer{padding:0 1.5rem 1.5rem}.site-footer-inner{max-width:var(--content-wide-max-width);border-radius:var(--radius-lg);color:#ffffffe6;text-align:center;letter-spacing:.04em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0f192e;border:1px solid #ffffff1f;margin:0 auto;padding:1rem 1.25rem;font-size:.875rem}@media (width<=768px){.top-bar-inner{flex-wrap:wrap;gap:.75rem}.top-nav{order:3;width:100%;padding-bottom:.25rem;overflow-x:auto}.session-badge{margin-left:auto}.main-content{padding:1.5rem 1rem 2rem}.site-footer{padding:0 1rem 1rem}}.page{flex-direction:column;gap:1.5rem;display:flex}.page-centered{text-align:center;align-items:center}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.page-header h1,.hero h1{letter-spacing:-.03em;color:var(--text-on-gradient);margin:.25rem 0;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15}.hero{max-width:540px}.eyebrow{color:var(--eyebrow-color);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.6875rem;font-weight:700}.lead{color:var(--text-on-gradient-muted);font-size:1.0625rem;line-height:1.6}.muted,.hint{color:var(--text-on-gradient-muted)}.card{border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);color:var(--text-primary);padding:1.5rem;transition:box-shadow .25s,transform .25s}.card:hover{box-shadow:var(--card-shadow-hover)}.card h2,.card h3{color:var(--text-primary);margin-top:0}.card .muted,.card .hint,.card label{color:var(--text-muted)}.card-stack{flex-direction:column;gap:1rem;width:100%;display:flex}.grid{gap:1rem;display:grid}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.game-grid{grid-template-columns:2fr 1fr}.form-card,.empty-state{flex-direction:column;gap:1.25rem;width:100%;max-width:480px;display:flex}label{color:var(--text-secondary);flex-direction:column;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}input,textarea,select{border-radius:var(--radius);color:var(--text-primary);background:#f8fafc;border:1px solid #0f0f191f;padding:.875rem 1rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent-orange);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input::placeholder,textarea::placeholder{color:var(--text-in-card-muted)}.form-error{border-radius:var(--radius);background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);margin:0;padding:.75rem 1rem;font-size:.875rem}button,.button-link{border-radius:var(--radius-pill);background:var(--accent-gradient);color:#fff;text-align:center;letter-spacing:.02em;border:none;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 4px 16px #f973164d}button:hover:not(:disabled),.button-link:hover{transform:translateY(-1px);box-shadow:0 6px 24px #9333ea59}button:active:not(:disabled),.button-link:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}.button-secondary{color:var(--text-primary);box-shadow:none;background:#f1f5f9}.button-secondary:hover:not(:disabled){box-shadow:none;background:#e2e8f0}.button-contrast{background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 52%,#06b6d4 100%);box-shadow:0 10px 28px #1d4ed859}.button-contrast:hover:not(:disabled){box-shadow:0 14px 32px #082f4966}.mode-switch{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;gap:.5rem;padding:.25rem;display:flex}.mode-switch button{border-radius:var(--radius-pill);color:#ffffffbf;box-shadow:none;background:0 0;flex:1;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600}.mode-switch button:hover:not(:disabled){box-shadow:none;color:var(--text-on-gradient);background:#ffffff1a;transform:none}.mode-switch button.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 2px 8px #0f0f191f}.big-code{letter-spacing:.14em;color:var(--accent-orange);text-align:center;text-shadow:0 10px 30px #f973162e;margin:0;font-size:clamp(2.75rem,7vw,4.5rem);font-weight:800}.invite-code-panel{border-radius:calc(var(--radius-lg) + .25rem);background:radial-gradient(circle at top,#ffffffe6,#fff7edeb 42%,#ffedd5e6 100%);border:1px solid #f973162e;flex-direction:column;align-items:center;gap:.75rem;margin:1rem 0 1.25rem;padding:1.5rem;display:flex;box-shadow:inset 0 1px #ffffffe6,0 20px 40px #f973161f}.invite-code-label{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.8125rem;font-weight:700}.invite-link-button{border-radius:var(--radius);width:100%;box-shadow:none;text-align:left;background:#f8fafc;border:1px solid #0f0f1914;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 1.1rem;display:flex}.invite-link-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #9333ea1f}.invite-link-button.copied{background:#f0fdf4;border-color:#22c55e66;box-shadow:0 8px 20px #22c55e1f}.invite-link-text{overflow-wrap:anywhere;width:100%;color:var(--accent-purple);font-family:inherit;font-size:.875rem}.invite-link-action{color:var(--text-muted);letter-spacing:.02em;font-size:.8125rem;font-weight:700}.player-list{flex-direction:column;gap:.375rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.player-list-scroll{max-height:31rem;padding-right:.35rem;overflow-y:auto}.player-list-scroll::-webkit-scrollbar{width:.55rem}.player-list-scroll::-webkit-scrollbar-thumb{background:#0f0f1929;border-radius:999px}.player-list-scroll::-webkit-scrollbar-track{background:0 0}.player-list li{border-radius:var(--radius-sm);color:var(--text-primary);background:#f8fafc;padding:.625rem .875rem}.lobby-participants-layout{justify-content:center;width:100%;display:flex}.lobby-participants-card{width:min(100%,620px)}.dashboard-settings-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.players-card,.settings-summary-card{height:100%}.settings-summary-card{flex-direction:column;gap:1rem;display:flex}.settings-toggle-button{white-space:nowrap;justify-content:center;align-items:center;width:100%;display:inline-flex}.player-list-compact li{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .7rem;font-size:.875rem;display:flex}.player-list-compact li span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.player-list.large li{border-bottom:none;justify-content:space-between;align-items:center;padding:.75rem .875rem;display:flex}.players-card .button-link{width:100%}.badge{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-orange);padding:.2rem .625rem;font-size:.75rem;font-weight:600}.category-grid{flex-wrap:wrap;gap:.625rem;display:flex}.settings-editor-card{flex-direction:column;gap:1.25rem;display:flex}.settings-editor-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.settings-summary-header{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.settings-summary-list{gap:.75rem;display:grid}.settings-summary-row{border-radius:var(--radius);color:var(--text-primary);background:#f8fafc;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.settings-summary-row span{color:var(--text-muted)}.settings-summary-row strong{color:var(--accent-orange)}.settings-summary-actions{border-top:1px solid #0f0f1914;margin-top:.25rem;padding-top:1rem}.admin-page{gap:1rem}.admin-layout{gap:1rem;display:grid}.admin-card{flex-direction:column;gap:1rem;display:flex}.admin-inline-form,.admin-question-form,.admin-filters{gap:1rem;display:grid}.admin-inline-form{grid-template-columns:minmax(0,1fr) 110px auto;align-items:end}.admin-emoji-field input{text-align:center}.admin-list{flex-direction:column;gap:.875rem;display:flex}.admin-list-item{border-radius:var(--radius);background:#f8fafc;border:1px solid #0f0f190f;flex-direction:column;gap:.875rem;padding:1rem;display:flex}.admin-list-item-main{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-id-line{word-break:break-word;margin:.35rem 0 0}.admin-field-hint{color:var(--text-muted);font-size:.8125rem;line-height:1.5}.admin-actions{flex-wrap:wrap;gap:.75rem;display:flex}.admin-section-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-choices-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-questions-card{min-height:320px}.admin-answer-list{color:var(--text-primary);margin:0;padding-left:1.2rem}.admin-answer-list li{margin:.35rem 0}.admin-answer-list li.correct{color:var(--success-text);font-weight:700}.admin-free-answer-list{flex-wrap:wrap;gap:.625rem;display:flex}.speed-option-card{border-radius:var(--radius);background:#f8fafc;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.toggle-row{white-space:nowrap;flex-direction:row;align-items:center;gap:.75rem}.toggle-row input{width:1.1rem;height:1.1rem;margin:0}.settings-editor-actions{justify-content:flex-end;gap:.75rem;display:flex}.invite-join-summary{border-radius:var(--radius);color:var(--text-primary);background:#f8fafc;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.invite-join-summary span{color:var(--text-muted)}.invite-join-summary strong{color:var(--accent-orange);font-size:1rem}.category-select{flex-direction:column;gap:.75rem;display:flex}.category-select-trigger{align-self:flex-start}.category-selection-summary{color:var(--text-muted);font-size:.875rem}.category-bulk-actions{flex-wrap:wrap;gap:.75rem;display:flex}.category-select-panel{border-radius:var(--radius);background:#f8fafc;border:1px solid #0f0f1914;gap:.5rem;max-width:420px;padding:.75rem;display:grid}.category-option-row{border-radius:var(--radius-sm);color:var(--text-primary);background:#fff;flex-direction:row;align-items:center;gap:.75rem;padding:.75rem .875rem}.category-option-row input{width:1rem;height:1rem;margin:0}.category-option-label{color:var(--text-primary);align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.category-option-label span:last-child{word-break:break-word}.answers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;display:grid}.free-text-answer-form{gap:1rem;display:grid}.feedback{border-radius:var(--radius);gap:.5rem;margin-top:1rem;padding:1rem 1.25rem 1.15rem;font-weight:600;display:grid;box-shadow:0 14px 32px #0f172a14}.feedback.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.feedback.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.feedback.reveal{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-orange)}.feedback-kicker,.feedback-message{margin:0}.feedback-kicker{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.feedback-message{font-size:1rem;line-height:1.5}.feedback-answer-highlight{border-radius:calc(var(--radius) - .25rem);color:#7f1d1d;text-align:left;word-break:break-word;background:#ffffffd9;border:1px solid #0f172a14;padding:.9rem 1rem;font-size:1rem;font-weight:800;line-height:1.45}.feedback.reveal .feedback-answer-highlight{color:#9a3412}.reveal-actions{justify-content:flex-end;margin-top:1rem;display:flex}.stats-table{flex-direction:column;gap:.75rem;display:flex}.final-podium-card,.final-ranking-card{width:100%}.final-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1rem;display:grid}.podium-slot{border-radius:var(--radius);text-align:center;color:var(--text-primary);background:#f8fafc;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;display:flex}.podium-first{background:linear-gradient(#fff7ed 0%,#ffedd5 100%);border:1px solid #f9731638;min-height:12rem}.podium-second,.podium-third{min-height:9.5rem}.podium-rank{background:var(--accent-gradient);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:inline-flex}.final-ranking-card .leaderboard{box-shadow:none;background:0 0;border:none;padding:0}.stats-row{border-radius:var(--radius-sm);color:var(--text-primary);background:#f8fafc;gap:.25rem;padding:.875rem;display:grid}.stats-row strong{color:var(--text-primary)}.stats-row span{color:var(--text-muted);font-size:.875rem}@media (width<=900px){.two-columns,.game-grid,.answers-grid,.dashboard-settings-layout,.settings-form-grid,.final-podium{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch}.page-header button,.page-header .button-link,.page-header-actions{width:100%}.section-heading,.speed-option-card,.settings-editor-header,.settings-editor-actions,.admin-section-header,.admin-list-item-main{flex-direction:column;align-items:stretch}.settings-toggle-button{width:100%}.admin-inline-form,.admin-choices-grid,.admin-filters{grid-template-columns:1fr}}.answer-button{border-radius:var(--radius);color:var(--text-primary);text-align:left;box-shadow:none;background:#f8fafc;border:2px solid #0f0f1914;align-items:center;gap:.75rem;padding:1rem 1.125rem;font-weight:500;transition:border-color .2s,background .2s,transform .2s;display:flex}.answer-button:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-soft);transform:translateY(-1px);box-shadow:0 4px 12px #f973161f}.answer-button.selected{border-color:var(--accent-orange);background:var(--accent-soft);box-shadow:0 8px 20px #f973162e}.answer-button.correct-selected,.answer-button.correct-reveal{border-color:var(--success-text);background:var(--success-bg)}.answer-button.wrong-reveal{border-color:var(--error-text);background:var(--error-bg)}.answer-letter{border-radius:var(--radius-pill);background:var(--accent-gradient);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.875rem;font-weight:700;display:inline-flex}.answer-button.correct-selected .answer-letter,.answer-button.correct-reveal .answer-letter{background:var(--success-text)}.answer-button.wrong-reveal .answer-letter{background:var(--error-text)}.answer-button.correct-selected{animation:.55s answer-bounce}.answer-button.correct-reveal{animation:.9s ease-in-out 2 answer-flash}.answer-button.wrong-reveal{animation:.45s answer-shake}@keyframes answer-bounce{0%{transform:scale(1)}35%{transform:scale(1.05)}65%{transform:scale(.97)}to{transform:scale(1)}}@keyframes answer-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes answer-flash{0%,to{opacity:1;box-shadow:0 0 #22c55e00}50%{opacity:.72;box-shadow:0 0 0 8px #22c55e1f}}.leaderboard{border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);color:var(--text-primary);padding:1.5rem}.leaderboard h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem;font-size:1.125rem}.leaderboard ol{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.leaderboard ol.center-on-highlight{max-height:28rem;padding-right:.35rem;overflow-y:auto}.leaderboard ol.center-on-highlight::-webkit-scrollbar{width:.55rem}.leaderboard ol.center-on-highlight::-webkit-scrollbar-thumb{background:#0f0f1929;border-radius:999px}.leaderboard li{border-radius:var(--radius-sm);background:#f8fafc;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem .875rem;display:grid}.leaderboard li.highlight{border:2px solid var(--accent-orange);background:var(--accent-soft)}.rank{color:var(--text-muted);font-size:.875rem;font-weight:700}.name{font-weight:500}.score{color:var(--accent-orange);align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.score-gain{color:var(--success-text);font-size:.875rem;animation:.45s score-gain-pop}.leaderboard.empty p{color:var(--text-muted)}@keyframes score-gain-pop{0%{opacity:0;transform:translateY(4px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.question-card{border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);color:var(--text-primary);margin-bottom:1rem;padding:1.5rem}.question-meta{color:var(--text-muted);justify-content:space-between;margin-bottom:.875rem;font-size:.875rem;font-weight:500;display:flex}.timer{color:var(--warning);font-weight:700}.timer-reveal{color:var(--accent-orange)}.question-card h2{color:var(--text-primary);margin:0;font-size:1.375rem;font-weight:700;line-height:1.35}.question-category{color:var(--text-muted);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.question-media{border-radius:var(--radius);background:#0f172a;border:1px solid #0f0f1914;width:100%;margin-top:1rem;overflow:hidden}audio.question-media{background:#f8fafc;padding:.5rem}video.question-media{object-fit:contain;max-height:420px}img.question-media{object-fit:contain;background:#fff;max-height:420px;display:block}:root{--bg-gradient-start:#f97316;--bg-gradient-mid:#fb7185;--bg-gradient-end:#e11d48;--header-bg:#0f0f19e0;--header-border:#ffffff14;--card-bg:#fff;--card-shadow:0 8px 32px #0f0f191f;--card-shadow-hover:0 12px 40px #0f0f1929;--card-border:#0f0f190f;--text-on-gradient:#fff;--text-on-gradient-muted:#ffffffd1;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--text-in-card-muted:#94a3b8;--accent-orange:#f97316;--accent-purple:#9333ea;--accent-gradient:linear-gradient(135deg, #f97316 0%, #ec4899 50%, #9333ea 100%);--accent-soft:#f973161f;--accent-border:#f9731659;--eyebrow-color:#ffffffbf;--success-bg:#10b9811a;--success-border:#10b98159;--success-text:#059669;--error-bg:#ef44441a;--error-border:#ef444459;--error-text:#dc2626;--warning:#f59e0b;--content-max-width:720px;--content-wide-max-width:960px;--radius-sm:.625rem;--radius:1rem;--radius-lg:1.25rem;--radius-pill:999px;color:var(--text-on-gradient);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-mid) 45%, var(--bg-gradient-end) 100%);background-attachment:fixed;min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}
