:root{color:#172038;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.waiting-room{max-width:70rem}.waiting-room__hero{color:#fff;text-align:center;background:radial-gradient(circle at 100% 0,#ffcf5c59,#0000 35%),linear-gradient(135deg,#12263f,#3a236c 70%,#722f62);border-radius:2rem;margin:1.5rem 0;padding:clamp(1.5rem,5vw,4rem);box-shadow:0 1.5rem 3rem #12263f33}.waiting-room__hero .eyebrow,.waiting-room__hero time{color:#ffffffc7}.waiting-room__hero h1{margin:.5rem 0;font-size:clamp(2rem,7vw,4.8rem)}.waiting-countdown{gap:.25rem;margin-top:2rem;display:grid}.waiting-countdown strong,.starting-countdown{font-variant-numeric:tabular-nums;font-size:clamp(3rem,12vw,7rem);line-height:1}.live-quiz-page{max-width:920px}.live-question{gap:1.5rem;display:grid}.live-question__status{justify-content:space-between;align-items:center;gap:1rem;display:flex}.live-question__status>strong{background:var(--ink,#182033);color:#fff;border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;font-size:1.35rem;display:grid}.live-question h1{max-width:22ch;font-size:clamp(2rem,5vw,3.75rem)}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.answer-option{color:#182033;min-height:6rem;font:inherit;text-align:left;cursor:pointer;background:#fff;border:2px solid #d7dbea;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-weight:700;display:flex}.answer-option:disabled{cursor:default;opacity:1}.answer-option--selected{border-color:#6655d9;box-shadow:0 0 0 3px #6655d926}.answer-option--correct{background:#e5f8f0;border-color:#16825d}.answer-option--wrong{background:#fff0f2;border-color:#c23d55}.answer-option small{font-weight:600}.answer-locked{color:#534d70;font-weight:700}.answer-retry{background:#fff5dc;border-radius:.75rem;padding:1rem}.reveal-result{background:#f2f3f8;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:1.25rem;display:flex}.reveal-result--correct{background:#e5f8f0}.reveal-result--incorrect{background:#fff0f2}.result-handoff{text-align:center;place-content:center;min-height:60vh;display:grid}.result-handoff ul{padding:0;font-size:1.25rem;font-weight:700;list-style:none}@media (width<=640px){.answer-grid{grid-template-columns:1fr}}.starting-countdown{color:#ffcf5c;margin-top:2rem;font-weight:900}.waiting-room__join{margin:2rem auto;padding:1rem 2rem;font-size:1.1rem;display:block}.presence-panel{border:1px solid var(--border-color,#dfe3e8);background:#fff;border-radius:1.5rem;padding:clamp(1.25rem,4vw,2.5rem)}.presence-panel .card-heading>strong{color:#fff;text-align:center;background:#3a236c;border-radius:999px;min-width:3rem;padding:.45rem .8rem;font-size:1.4rem}.presence-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;padding:0;list-style:none;display:grid}.presence-grid li{background:#f4f1fa;border-radius:1rem;align-items:center;gap:.75rem;padding:.75rem;display:flex}.presence-grid li>span,.presence-grid img{color:#fff;object-fit:cover;background:#722f62;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid}.connection-state{color:#64748b;text-transform:capitalize;margin-bottom:.25rem;display:inline-block}.connection-state:before{content:"";background:#94a3b8;border-radius:50%;width:.55rem;height:.55rem;margin-right:.4rem;display:inline-block}.connection-state--connected:before{background:#22a06b}.connection-state--reconnecting:before,.connection-state--connecting:before{background:#e99a24}.join-activity{color:#64748b;min-height:2rem}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:#3730a3}.shell{background:radial-gradient(circle at 0 0,#dbeafe,#0000 45%),#f8fafc;place-items:center;min-height:100vh;padding:2rem;display:grid}.hero{background:#ffffffeb;border:1px solid #dbe3f0;border-radius:1.5rem;width:min(680px,100%);padding:clamp(2rem,6vw,4rem);box-shadow:0 24px 70px #2538581f}.eyebrow{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;font-weight:700}h1{margin:.35rem 0 1rem;font-size:clamp(2.3rem,8vw,4.5rem);line-height:.98}.intro{color:#526078;max-width:55ch;font-size:1.1rem;line-height:1.7}.health{background:#eef2ff;border-radius:999px;align-items:center;gap:.65rem;margin-top:1.5rem;padding:.75rem 1rem;font-weight:650;display:inline-flex}.health:before{content:"";background:#94a3b8;border-radius:50%;width:.7rem;height:.7rem}.health--connected:before{background:#16a34a}.health--disconnected:before{background:#dc2626}.app-layout{min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #dbe3f0;align-items:center;gap:1rem;min-height:4rem;padding:.75rem clamp(1rem,4vw,3rem);display:flex}.app-header nav{gap:1rem;display:flex}.app-header>span:first-of-type{margin-left:auto}.brand{color:#172038;font-weight:800;text-decoration:none}.admin-badge,.admin-callout{color:#4338ca;background:#eef2ff;border-radius:999px;width:fit-content;padding:.35rem .65rem;font-weight:700;display:inline-flex}.dev-user-selector{align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.dev-user-selector select{background:#fff;border:1px solid #cbd5e1;border-radius:.4rem;padding:.4rem}.hero>.dev-user-selector{margin-top:1.5rem}.primary-link,button{color:#fff;cursor:pointer;background:#4f46e5;border:0;border-radius:.6rem;width:fit-content;padding:.7rem 1rem;text-decoration:none;display:inline-flex}.page{width:min(1120px,100%);margin:0 auto;padding:clamp(1.5rem,4vw,3rem)}.page h1{font-size:clamp(2.2rem,6vw,4rem)}.page-heading,.card-heading,.actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-heading{margin-bottom:2rem}.game-section{margin:2.5rem 0}.card-grid,.admin-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.card,.detail-panel,.game-form,.invitation-panel,.session-panel{background:#fff;border:1px solid #dbe3f0;border-radius:1rem;padding:1.4rem;box-shadow:0 10px 30px #2538580f}.card h2,.card h3{margin:.25rem 0}.card p{color:#526078;line-height:1.5}.status-chip,.detail-chips span{color:#4338ca;background:#eef2ff;border-radius:999px;padding:.3rem .55rem;font-size:.78rem;font-weight:750;display:inline-flex}.game-facts{gap:.7rem;display:grid}.game-facts div{gap:.15rem;display:grid}.game-facts dt{color:#64748b;text-transform:uppercase;font-size:.78rem;font-weight:700}.game-facts dd{margin:0}.empty-state{color:#64748b;background:#fff;border-radius:.75rem;padding:1rem}.notice,.schedule-preview{color:#3730a3;background:#eef2ff;border-radius:.75rem;padding:.8rem 1rem}.error-message{color:#991b1b;background:#fee2e2;border-radius:.75rem;padding:.8rem 1rem}.detail-panel{margin-top:1.5rem}.detail-chips{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.actions{flex-wrap:wrap;justify-content:flex-start;margin-top:1rem}.secondary-button,.secondary-link{color:#3730a3;background:#eef2ff}.secondary-link{border-radius:.6rem;padding:.7rem 1rem;text-decoration:none;display:inline-flex}.danger-button{color:#991b1b;background:#fee2e2}button:disabled{opacity:.55;cursor:wait}.game-form{gap:1rem;display:grid}.game-form label,.inline-form label{color:#334155;gap:.4rem;font-weight:650;display:grid}.game-form input,.game-form textarea,.game-form select,.inline-form input{background:#fff;border:1px solid #cbd5e1;border-radius:.55rem;width:100%;padding:.7rem}.game-form textarea{resize:vertical;min-height:6rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.weekday-options{flex-wrap:wrap;gap:.7rem;display:flex}.weekday-options label{align-items:center;gap:.3rem;display:flex}.weekday-options input{width:auto}.invitation-panel,.session-panel{margin-top:1.5rem}.session-panel h2{margin:0}.session-list{gap:.8rem;padding:0;list-style:none;display:grid}.session-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem;display:flex}.session-card h3{margin:.2rem 0 .4rem}.session-card--cancelled{opacity:.68;background:#fef2f2}.session-state{text-align:right;justify-items:end;gap:.5rem;display:grid}.session-editor{flex:1;gap:.6rem;display:grid}.session-editor label{color:#334155;gap:.25rem;font-size:.85rem;font-weight:650;display:grid}.session-editor input{background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.6rem}.preparation-summary{color:#526078;flex-wrap:wrap;align-items:center;gap:.7rem;font-size:.85rem;display:flex}.preparation--ready{color:#166534;background:#dcfce7}.preparation--warning{color:#92400e;background:#fef3c7}.preparation--critical,.preparation--failed_retrying{color:#991b1b;background:#fee2e2}.question-list{gap:1rem;padding:0;list-style:none;display:grid}.question-editor{background:#fff;border:1px solid #dbe3f0;border-radius:.75rem;gap:.8rem;padding:1rem;display:grid}.question-editor label{gap:.3rem;display:grid}.question-editor textarea,.answer-option input:last-child{border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.6rem}.question-editor textarea{resize:vertical;min-height:5rem}.answer-option{grid-template-columns:auto 1fr;align-items:center;margin:.45rem 0;gap:.6rem!important;display:grid!important}.inline-form{align-items:end;gap:.8rem;display:flex}.inline-form label{flex:1}.invitation-list{gap:.6rem;padding:0;list-style:none;display:grid}.invitation-list li{background:#f8fafc;border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem;display:flex}@media (width<=720px){.app-header{flex-wrap:wrap}.app-header>span:first-of-type{margin-left:0}.page-heading,.card-heading{align-items:flex-start}.inline-form,.session-card{flex-direction:column;align-items:stretch}.session-state{text-align:left;justify-items:start}}.spectator-banner{color:#5b2b67;text-align:center;background:#f4e8f7;border-radius:999px;padding:.8rem 1rem;font-weight:750}.winner-reveal{text-align:center;color:#fff;background:radial-gradient(circle at 50% 20%,#9d4edd,#3a0f59 64%,#180523);place-content:center;min-height:70vh;display:grid;position:relative;overflow:hidden}.winner-reveal h1{color:#ffdf70;text-shadow:0 0 2rem #ffd24d8c}.winner-reveal .eyebrow{color:#f0c7ff}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{color:#ffcf5c;margin:8%;font-style:normal;animation:1.6s ease-in-out infinite alternate confetti-float;display:inline-block;position:relative}.confetti i:nth-child(2n){color:#67e8f9;animation-delay:-.7s}.confetti i:nth-child(3n){color:#f472b6;animation-delay:-1.1s}@keyframes confetti-float{0%{transform:translateY(-1rem)rotate(0)}to{transform:translateY(3rem)rotate(160deg)}}.session-results{gap:1rem;display:grid}.results-card{background:#fff;border:1px solid #dbe3f0;border-radius:1rem;padding:1.25rem}.results-card h2{margin-top:0}.results-card ol{gap:.65rem;padding-left:1.5rem;display:grid}.leaderboard-panel,.final-podium,.dashboard-card{background:#fff;border:1px solid #dbe3f0;border-radius:1rem;margin-top:1.5rem;padding:1.25rem}.leaderboard-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.leaderboard-entry{background:#f8fafc;border-radius:.75rem;grid-template-columns:3rem 2.5rem minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.75rem;display:grid}.leaderboard-entry--me{background:#f5f3ff;outline:2px solid #7c3aed}.leaderboard-position{font-size:1.1rem}.leaderboard-avatar{color:#fff;background:#4f46e5;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;font-weight:800;display:grid}.leaderboard-avatar:is(img){object-fit:cover}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.movement{text-align:right;min-width:2.5rem;font-weight:850}.movement--up{color:#15803d}.movement--down{color:#b91c1c}.movement--new{color:#6d28d9;font-size:.75rem}.own-game-stats{color:#fff;background:#172038;border-radius:.8rem;flex-wrap:wrap;align-items:baseline;gap:.65rem 1.2rem;margin-top:1rem;padding:1rem;display:flex}.own-game-stats .eyebrow{color:#c4b5fd;width:100%}.own-game-stats strong{font-size:1.4rem}.game-champion-reveal{color:#fff;text-align:center;background:radial-gradient(circle at 50% 0,#a855f7,#43145f 62%,#1f0929);border-radius:1.5rem;margin-top:1.5rem;padding:3rem 1.5rem;position:relative;overflow:hidden}.game-champion-reveal h2{margin-bottom:.75rem}.game-champion-reveal>strong{color:#ffdf70;font-size:clamp(2rem,7vw,4.5rem);display:block}.final-podium ol{gap:.6rem;padding:0;list-style:none;display:grid}.final-podium li{background:#fff8dc;border-radius:.7rem;justify-content:space-between;padding:.8rem;display:flex}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;max-width:70rem;margin:1.5rem auto;display:grid}.dashboard-card{gap:.55rem;margin-top:0;display:grid}.dashboard-card--upcoming{color:#fff;background:linear-gradient(135deg,#173155,#542477)}.dashboard-card--upcoming .eyebrow{color:#ddd6fe}.game-complete-handoff{background:#faf5ff;border-color:#c084fc}.profile-page{gap:1.5rem;display:grid}.profile-hero{align-items:center;gap:1.25rem;display:flex}.profile-hero img,.profile-avatar{color:#fff;object-fit:cover;background:#4f46e5;border-radius:50%;place-items:center;width:6rem;height:6rem;font-size:2.5rem;font-weight:850;display:grid}.profile-stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem;display:grid}.profile-stats div{color:#fff;background:#172038;border-radius:.9rem;gap:.25rem;padding:1rem;display:grid}.profile-stats strong{font-size:1.65rem}.profile-stats span{color:#cbd5e1}.achievement-section,.history-section{background:#fff;border:1px solid #dbe3f0;border-radius:1rem;padding:1.25rem}.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.8rem;padding:0;list-style:none;display:grid}.achievement-card{background:#faf5ff;border-radius:.85rem;gap:.9rem;padding:1rem;display:flex}.achievement-card h3,.achievement-card p{margin:.25rem 0}.achievement-card time{color:#64748b;font-size:.8rem}.achievement-icon,.dashboard-achievement-icon{font-size:2rem}.history-section>ul{gap:.7rem;padding:0;list-style:none;display:grid}.history-section li{background:#f8fafc;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.8rem;display:grid}.history-section li>div{gap:.2rem;display:grid}.recent-achievement{background:#faf5ff}.winner-reveal a{color:#ffdf70}@media (width<=620px){.leaderboard-entry{grid-template-columns:2.5rem 2.25rem minmax(0,1fr) auto}.leaderboard-entry>:nth-last-child(2):not(.movement){grid-column:3}}
