:root{color-scheme:light;--bg:#f6f5f1;--surface:#ffffff;--surface-2:#ece9e1;--ink:#171717;--muted:#6b675f;--line:#dedbd2;--accent:#11745b;--accent-strong:#0b5b47;--danger:#b4362c;--warning:#b47410;--ok:#127246;--shadow:0 18px 54px rgba(27,24,20,0.08)}*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.button,button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:0 14px;background:var(--accent);color:#fff;cursor:pointer;font-weight:700}.button:hover,button:hover{background:var(--accent-strong)}.button.secondary,button.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button.secondary:hover,button.secondary:hover{background:var(--surface-2)}.button.danger,button.danger{background:var(--danger)}.button.ghost,button.ghost{border-color:transparent;background:transparent;color:var(--ink)}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink)}textarea{min-height:92px;resize:vertical}label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:700}label,label span{color:var(--muted)}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .18s ease}.app-shell:has(.side-nav-collapsed){grid-template-columns:76px minmax(0,1fr)}.side-nav{border-right:1px solid var(--line);background:#fbfaf7;padding:24px 18px;overflow:hidden;transition:padding .18s ease,width .18s ease}.brand{display:grid;grid-gap:4px;gap:4px;margin-bottom:28px}.brand strong{font-size:20px;letter-spacing:-.02em}.brand span{color:var(--muted);font-size:13px}.nav-toggle{width:100%;margin-bottom:16px;background:var(--surface);color:var(--ink);border-color:var(--line)}.nav-toggle:hover{background:var(--surface-2)}.nav-toggle-mobile{display:none}.nav-list{display:grid;grid-gap:8px;gap:8px}.nav-list a,.nav-list button{justify-content:flex-start;width:100%}.nav-short{display:none;width:100%;text-align:center}.side-nav-collapsed{padding:18px 10px}.side-nav-collapsed .brand{margin-bottom:16px;text-align:center}.side-nav-collapsed .brand strong{font-size:15px}.side-nav-collapsed .brand span,.side-nav-collapsed .nav-label{display:none}.side-nav-collapsed .nav-list a,.side-nav-collapsed .nav-list button{min-height:46px;justify-content:center;padding:0}.side-nav-collapsed .nav-short{display:inline}.page{width:min(1180px,100%);margin:0 auto;padding:32px}.page-wide{width:min(1440px,100%)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:28px}.page-title{margin:0;font-size:clamp(28px,4vw,46px);line-height:1;letter-spacing:-.04em}.page-subtitle{max-width:680px;margin:10px 0 0;color:var(--muted);line-height:1.55}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.panel{padding:20px}.card{padding:18px}.section-title{margin:0 0 14px;font-size:18px;letter-spacing:-.02em}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.save-button{position:relative;overflow:hidden;transition:background .16s ease,border-color .16s ease,transform .16s ease}.save-button:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.18);opacity:0;transform:translateX(-100%)}.save-button:disabled:after{opacity:1;animation:saveSweep .9s ease-in-out infinite}.save-button.saved{border-color:rgba(18,114,70,.72);background:var(--ok);transform:translateY(-1px)}.save-button-check{display:none;font-size:11px;letter-spacing:.06em}.save-button-label{display:inline-flex}.save-button.saved .save-button-check{display:inline}.save-button.saved .save-button-label{animation:savePop .22s ease-out}@keyframes saveSweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes savePop{0%{transform:scale(.96)}to{transform:scale(1)}}.stack{display:grid;grid-gap:14px;gap:14px}.row{display:flex;gap:10px;align-items:center}.muted,.pill{color:var(--muted)}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:#fff;font-size:12px;font-weight:800;text-transform:uppercase}.presenter-meta{padding:8px 14px;color:var(--ink);font-size:clamp(16px,2vw,24px);font-weight:900;letter-spacing:0}.table{width:100%;border-collapse:collapse}.table td,.table th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}.table th{color:var(--muted);font-size:12px;text-transform:uppercase}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.option{border:1px solid var(--line);border-radius:8px;padding:13px 14px;background:#fff}.option.correct{border-color:var(--ok);background:var(--ok);color:#fff}.option.correct .muted{color:rgba(255,255,255,.82)}.question-image{display:block;width:100%;max-height:420px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.join-page,.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.join-page{background:#050505;color:#fff}.auth-card,.join-screen{width:min(440px,100%)}.join-screen{display:grid;grid-gap:14px;gap:14px}.join-page .auth-card.panel{border-color:#2f2f2f;background:#050505;box-shadow:none}.join-page .page-title,.join-page label span{color:#fff}.join-page .page-subtitle{color:#bcbcbc}.join-page input{border-color:#fff;background:#050505;color:#fff}.join-page input::placeholder{color:#8d8d8d}.join-page .button,.join-page button{border-color:#fff;background:#fff;color:#050505}.join-page .button:hover,.join-page button:hover{background:#dcdcdc}.player-shell{min-height:100vh;display:grid;place-items:center;padding:18px;background:#050505;color:#fff}.player-card{width:100%}.player-screen{display:grid;width:min(620px,100%);grid-gap:14px;gap:14px}.player-card.panel{border-color:#2f2f2f;background:#050505;box-shadow:none}.player-logo{display:block;width:min(360px,100%);margin:0 auto}.player-logo-top{margin-bottom:0}.player-logo-bottom{margin-top:0}.player-card .status-line{justify-content:center}.player-card .pill{border-color:#fff;background:#050505;color:#fff}.player-card .page-title,.player-card .timer{color:#fff}.player-card .muted{color:#bcbcbc}.player-card .empty{border-color:#5e5e5e;color:#fff}.player-card .question-image{border-color:#444;background:#050505}.answer-button{width:100%;justify-content:flex-start;min-height:58px;background:#fff;color:var(--ink);border-color:var(--line)}.answer-button.selected{border-color:var(--ink);background:var(--ink);color:#fff}.answer-button.correct-outline{border-color:rgba(18,114,70,.64);background:rgba(18,114,70,.12);color:var(--ok)}.answer-button.correct-solid{border-color:var(--ok);background:var(--ok);color:#fff}.answer-button.wrong-solid{border-color:var(--danger);background:var(--danger);color:#fff}.answer-button.correct-outline:disabled,.answer-button.correct-solid:disabled,.answer-button.wrong-solid:disabled{opacity:1}.player-card .answer-button{border-color:#fff;background:#fff;color:#050505}.player-card .answer-button.selected{border-color:#fff;background:#050505;color:#fff}.player-card .answer-button.correct-outline{border-width:3px;border-color:rgba(18,114,70,.72);background:rgba(18,114,70,.16);color:#4bd78f}.player-card .answer-button.correct-solid{border-width:3px;border-color:var(--ok);background:var(--ok);color:#fff}.player-card .answer-button.wrong-solid{border-color:var(--danger);background:var(--danger);color:#fff}.player-card .leaderboard-row{border-bottom-color:#444}.player-card .leaderboard-row:before{color:#bcbcbc}.run-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.projector{position:relative;min-height:calc(100vh - 64px);display:grid;align-content:center;grid-gap:22px;gap:22px;padding:34px}.projector h1{margin:0;font-size:clamp(36px,5vw,76px);line-height:1.02;letter-spacing:-.05em}.projector-lobby{display:grid;justify-items:center;grid-gap:18px;gap:18px;text-align:center}.projector-lobby h1{max-width:980px}.projector-controls{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,auto) minmax(130px,1fr);grid-gap:12px;gap:12px;align-items:center}.projector-controls>:first-child{justify-self:start}.projector-controls>:nth-child(2){justify-self:center}.projector-controls>:last-child{justify-self:end}.projector-footer{display:flex;justify-content:center}.projector-participants{border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:clamp(16px,2vw,24px);line-height:1.35}.projector-participants strong{color:var(--ink)}.projector-timer-overlay{position:absolute;top:22px;right:22px;z-index:4;border:1px solid rgba(23,23,23,.14);border-radius:8px;padding:12px 16px;background:rgba(255,255,255,.9);color:var(--ink);box-shadow:var(--shadow);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(30px,5vw,58px);font-weight:900;line-height:1}.leaderboard-overlay{position:absolute;inset:18px;z-index:5;display:grid;align-content:start;grid-gap:18px;gap:18px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:24px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.leaderboard-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.leaderboard-overlay-header .section-title{margin:0}.app-shell:has(.run-grid){background:#050505;color:#fff}.app-shell:has(.run-grid) .side-nav{border-color:#2f2f2f;background:#050505}.app-shell:has(.run-grid) .brand span,.app-shell:has(.run-grid) .muted{color:#bcbcbc}.app-shell:has(.run-grid) .nav-toggle,.app-shell:has(.run-grid) .side-nav .button.secondary,.app-shell:has(.run-grid) .side-nav button.ghost{border-color:#fff;background:#050505;color:#fff}.app-shell:has(.run-grid) .nav-toggle:hover,.app-shell:has(.run-grid) .side-nav .button.secondary:hover,.app-shell:has(.run-grid) .side-nav button.ghost:hover{background:#1d1d1d}.app-shell:has(.run-grid) .page{color:#fff}.run-grid .panel,.run-grid .projector{border-color:#2f2f2f;background:#050505;color:#fff;box-shadow:none}.run-grid .pill,.run-grid .presenter-meta{border-color:#fff;background:#050505;color:#fff}.run-grid .button,.run-grid button{border-color:#fff;background:#fff;color:#050505}.run-grid .button:hover,.run-grid button:hover{background:#dcdcdc}.run-grid .button.secondary,.run-grid button.secondary{border-color:#fff;background:#050505;color:#fff}.run-grid .button.secondary:hover,.run-grid button.secondary:hover{background:#1d1d1d}.run-grid .option{border-color:#fff;background:#050505;color:#fff}.run-grid .option.correct{border-color:var(--ok);background:var(--ok);color:#fff}.run-grid .option.correct .muted{color:rgba(255,255,255,.82)}.run-grid .empty{border-color:#5e5e5e;color:#fff}.run-grid .question-image{border-color:#444;background:#050505}.run-grid .projector-participants{border-color:#444;color:#bcbcbc}.run-grid .projector-participants strong{color:#fff}.run-grid .projector-timer-overlay{border-color:#fff;background:rgba(5,5,5,.92);color:#fff;box-shadow:none}.run-grid .leaderboard-overlay{border-color:#fff;background:rgba(5,5,5,.96);color:#fff;box-shadow:none}.run-grid .leaderboard-row{border-bottom-color:#444}.run-grid .leaderboard-row:before{color:#bcbcbc}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(26px,5vw,42px);font-weight:900;line-height:1.05}.status-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.leaderboard{counter-reset:rank}.leaderboard-row{counter-increment:rank;display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.leaderboard-row:before{content:counter(rank);color:var(--muted);font-weight:900}.empty{border:1px dashed var(--line);border-radius:8px;padding:28px;color:var(--muted);text-align:center}.error{border:1px solid rgba(180,54,44,.25);border-radius:8px;padding:12px;background:rgba(180,54,44,.08);color:var(--danger);font-weight:700;white-space:pre-wrap}.setup-list{margin:0;padding-left:22px;color:var(--muted);line-height:1.7}.subtle-panel{background:#f8f7f4;border-color:var(--line);box-shadow:none;padding:16px}.compact-list{margin-top:8px;line-height:1.45}@media (max-width:900px){.app-shell,.grid-2,.grid-3,.run-grid{grid-template-columns:1fr}.side-nav{display:grid;grid-template-columns:minmax(0,1fr) 48px;grid-gap:12px;gap:12px;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:12px 16px;overflow:visible}.app-shell:has(.side-nav-collapsed){grid-template-columns:1fr}.side-nav-collapsed{padding:12px 16px}.brand,.side-nav-collapsed .brand{margin-bottom:0;text-align:left}.brand strong,.side-nav-collapsed .brand strong{font-size:20px}.side-nav-collapsed .brand span{display:none}.nav-toggle{grid-column:2;grid-row:1;width:48px;min-height:48px;margin-bottom:0;padding:0;font-size:24px;line-height:1}.nav-toggle-desktop{display:none}.nav-toggle-mobile{display:inline}.nav-list{grid-column:1/-1;gap:8px}.side-nav-collapsed .nav-list{display:none}.side-nav:not(.side-nav-collapsed) .nav-list{display:grid}.side-nav:not(.side-nav-collapsed) .nav-list a,.side-nav:not(.side-nav-collapsed) .nav-list button{min-height:46px;justify-content:flex-start;padding:0 14px}.side-nav:not(.side-nav-collapsed) .nav-short{display:none}.side-nav:not(.side-nav-collapsed) .nav-label{display:inline}.page,.projector{padding:20px}.page-header{display:grid}.option-grid,.projector-controls{grid-template-columns:1fr}.projector-controls>:first-child,.projector-controls>:last-child,.projector-controls>:nth-child(2){justify-self:stretch}.leaderboard-overlay{inset:10px;padding:18px}.projector-timer-overlay{top:12px;right:12px;font-size:clamp(24px,9vw,42px)}}