:root{--bg:#101516;--panel:#192122;--line:#34403e;--text:#f2f3e9;--muted:#aebcb6;--lime:#d2f65a;--coral:#ff957e;--radius:22px;font-family:Arial,Helvetica,sans-serif;color-scheme:dark;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 5% 20%,#24302a55,transparent 60%),var(--bg);min-height:100vh}a{color:inherit}button,input{font:inherit}button,.button{border:0;background:var(--lime);color:#172112;font-weight:700;padding:18px 23px;border-radius:12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-size:16px}button:hover,.button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:4px}.secondary{background:transparent;border:1px solid var(--line);color:var(--text)}.compact{padding:10px 16px;font-size:14px}.hidden{display:none!important}.topbar{height:105px;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px;font-weight:800;font-size:19px;letter-spacing:2px;text-decoration:none;white-space:nowrap}.brandmark{font-size:23px;letter-spacing:-2px;background:var(--lime);color:#162015;border-radius:12px;padding:12px 10px;transform:rotate(-6deg)}.live{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--muted);display:flex;align-items:center;gap:8px}.live i{width:7px;height:7px;background:var(--lime);border-radius:50%}.shell{max-width:1260px;margin:auto;padding:70px 5% 90px}.eyebrow{color:var(--lime);font-size:11px;font-weight:700;letter-spacing:2px;line-height:1.6;margin:0 0 20px}h1{font-size:clamp(42px,5.6vw,78px);font-weight:800;line-height:1.04;letter-spacing:-3px;margin:0 0 28px}h2{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:0 0 18px}p{line-height:1.65;color:var(--muted);margin:0 0 20px}.accent{color:var(--lime)}.lede{font-size:19px;max-width:520px}.join-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;min-height:570px}.intro{padding:10px 0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.chips span{font-size:11px;border:1px solid var(--line);padding:9px 12px;border-radius:24px;color:var(--muted)}.intro-bottom{display:flex;align-items:center;gap:20px;margin-top:58px}.intro-bottom p{font-size:13px;margin:0}.orbit{color:var(--coral);font-size:66px;line-height:1}.card{background:var(--panel);padding:32px;border:1px solid var(--line);border-radius:var(--radius)}.join-card h2{font-size:35px}.stack{display:flex;flex-direction:column;gap:18px}.stack p,.stack h2,.stack .eyebrow{margin:0}.stack label{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:10px}.stack input{width:100%;background:#101717;color:var(--text);padding:16px;border:1px solid #46514e;border-radius:10px;font-size:16px;min-width:0}.stack .fine,.fine{font-size:12px;color:var(--muted);line-height:1.6}.code-input{text-transform:uppercase;letter-spacing:4px}.error{color:#ffb5a7!important}.notice{padding:16px 20px;background:#243029;border:1px solid #526645;border-radius:12px;margin-bottom:24px;font-size:14px;color:var(--text);line-height:1.6}.error.notice{background:#3c2420;border-color:#8e5145}.game-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:40px}.game-meta .eyebrow{margin-bottom:10px}.game-meta h2{margin:0}.score-pill{display:flex;flex-direction:column;align-items:center;background:var(--panel);border:1px solid var(--line);padding:15px 25px;border-radius:15px}.score-pill span{color:var(--muted);font-size:12px}.score-pill strong{font-size:32px;color:var(--lime)}.round-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;font-size:12px;letter-spacing:1.3px}.round-meta strong{font-size:36px;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:var(--lime)}.progress{height:4px;background:var(--line);margin:15px 0 32px;border-radius:3px;overflow:hidden}.progress>div{height:100%;background:var(--lime);transition:width .2s linear}.question-panel{padding:12px 0 36px}.question-panel h1{font-size:clamp(36px,4vw,60px)}.question-title{font-size:clamp(28px,3.2vw,44px);line-height:1.2;letter-spacing:-1px;margin-bottom:30px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:14px}.answer{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:20px;text-align:left;justify-content:flex-start;display:flex;align-items:center;gap:15px;min-height:78px;font-size:20px;border-radius:12px;line-height:1.3}.answer:disabled{opacity:1}.answer:disabled:not(.selected):not(.correct):not(.incorrect){color:var(--muted)}.letter{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;font-size:13px;background:#2d3835;border-radius:8px}.answer.selected{border-color:var(--lime);background:#2d3822}.answer.correct{background:var(--lime);color:#18200f;border-color:var(--lime)}.answer.correct .letter{background:#172015;color:var(--lime)}.answer.incorrect{border-color:var(--coral);background:#422923}.reveal-fact{margin:24px 0 0;color:var(--lime);font-size:17px}.boards{display:grid;grid-template-columns:1fr 1fr;gap:36px;border-top:1px solid var(--line);padding-top:30px}.boards h2{font-size:22px}.boards .eyebrow{font-size:9px;margin-bottom:10px}.board-row{display:flex;align-items:center;gap:15px;padding:13px 10px;border-top:1px solid #2c3733;font-size:14px}.board-row small,.player-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.rank{font-size:12px;color:var(--muted);width:25px}.board-score{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--lime)}.me{background:#263021;border-radius:8px}.empty{font-size:13px;margin-top:15px}.board-row:nth-child(n+6){display:none}footer{margin:0 5%;padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;letter-spacing:.5px}.setup{max-width:720px}.setup>.brand{margin-bottom:55px}.setup h1{font-size:52px}.setup hr{border:0;border-top:1px solid var(--line);width:100%}.admin-shell h1{font-size:54px}.admin-shell #login{max-width:460px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:35px 0 15px}.admin-heading h2{margin:0}.venue-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.copy-link{font-size:13px;overflow-wrap:anywhere;color:var(--lime)}#new-venue{max-width:600px}.player-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}#dashboard>.notice{margin-top:30px}.tv .topbar{height:90px;padding:20px 3%}.tv-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:45px;padding:30px 3%}.tv-shell>#connection{grid-column:1/-1}.tv-main{min-width:0}.tv-join{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;align-self:start}.tv-join h2{font-size:56px;line-height:.97;letter-spacing:-2px}.tv-join .eyebrow{font-size:9px}.qr{padding:12px;background:white;border-radius:12px;margin:25px 0 10px}.qr svg{display:block;width:100%;height:auto}.tv-join p,.tv-join a{font-size:12px;overflow-wrap:anywhere}.tv-join a{color:var(--lime)}.venue-code{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.venue-code span{font-size:10px;color:var(--muted);letter-spacing:1px}.venue-code strong{display:block;font-size:38px;letter-spacing:4px;color:var(--lime);margin:10px 0 18px;font-variant-numeric:tabular-nums}.player-count{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.player-count strong{color:var(--text)}.tv .question-title{font-size:clamp(30px,3vw,64px)}.tv .question-panel h1{font-size:clamp(40px,4vw,72px)}.tv .boards{gap:25px}.tv .board-row{padding:8px;font-size:13px}.tv .boards h2{font-size:18px}.tv .question-panel{padding-bottom:24px}.tv .answer{padding:16px;font-size:clamp(18px,1.6vw,30px)}
@media(min-width:1800px){.tv-shell{grid-template-columns:minmax(0,1fr) 360px;padding-top:50px}.tv .question-title{margin-bottom:45px}.tv .answer{padding:26px}.tv .board-row{font-size:18px;padding:14px}.tv .board-row small{font-size:14px}.tv-join h2{font-size:66px}}
@media(max-width:900px){.join-layout{gap:30px;grid-template-columns:1fr 1fr}.shell{padding-top:45px}.intro h1{font-size:50px}.chips{margin:24px 0}.intro-bottom{margin-top:30px}.tv-shell{gap:24px;grid-template-columns:minmax(0,1fr) 230px}.tv-join{padding:20px}.tv-join h2{font-size:44px}.venue-code strong{font-size:28px}.tv .answers{gap:10px}.tv .answer{padding:12px;font-size:16px}.tv .board-row small{font-size:10px}.tv .boards{gap:16px}}
@media(max-width:640px){.topbar{height:80px;padding:17px 6%}.brand{font-size:14px;gap:10px;letter-spacing:1.5px}.brandmark{font-size:19px;padding:10px 8px}.topbar>.live{font-size:8px;letter-spacing:1px}.shell{padding:35px 6% 50px}.join-layout{display:block;min-height:0}.intro h1{font-size:49px;letter-spacing:-2.5px}.intro .eyebrow{font-size:9px}.lede{font-size:16px}.intro-bottom{display:none}.chips{margin:24px 0 30px}.chips span{font-size:10px;padding:7px 9px}.card{padding:25px}.join-card{margin-top:15px}.join-card h2{font-size:30px}.game-meta h2{font-size:23px}.game-meta .eyebrow{font-size:10px}.score-pill{padding:10px 16px}.score-pill strong{font-size:27px}.round-meta{font-size:9px;letter-spacing:1px}.round-meta strong{font-size:30px}.answers{grid-template-columns:1fr;gap:10px}.answer{font-size:17px;padding:14px;min-height:65px}.question-title{font-size:28px}.boards{grid-template-columns:1fr;gap:30px}.question-panel h1{font-size:38px;letter-spacing:-1.5px}.game-meta{margin-bottom:25px}.progress{margin-bottom:25px}.venue-list{grid-template-columns:1fr}.admin-shell h1,.setup h1{font-size:40px;letter-spacing:-2px}.admin-heading{align-items:flex-start}footer{flex-wrap:wrap;font-size:10px;margin:0 6%}footer span:nth-child(2){display:none}.tv-shell{display:block}.tv-join{margin-top:30px;max-width:360px}.tv .topbar .live{display:none}.tv .boards{grid-template-columns:1fr 1fr}.tv .boards .board-row{font-size:11px;gap:6px}.tv .answers{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(min-width:1100px){.tv-join h2{font-size:56px}.tv .qr{max-width:250px;margin:18px auto 10px}.tv-join{padding:24px}.tv .board-row{font-size:14px;padding:8px}.tv .board-row small{font-size:11px}.tv .answer{padding:18px;min-height:70px}.tv .question-title{font-size:clamp(30px,2.9vw,56px)}}

/* Question manager */
.library-shell{max-width:1480px}.library-shell>h1{font-size:clamp(40px,5vw,66px)}.library-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}.library-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.library-stats>div{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.library-stats strong{display:block;font-size:32px;color:var(--lime);margin-bottom:6px}.library-stats span{font-size:12px;color:var(--muted)}.filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stack select,.stack textarea{width:100%;background:#101717;color:var(--text);padding:14px;border:1px solid #46514e;border-radius:10px;font:inherit;font-size:16px;min-width:0}.stack textarea{resize:vertical}.question-list{display:grid;gap:16px;margin-top:20px}.question-card{padding:24px}.question-card h3{font-size:20px;line-height:1.4;margin:12px 0 18px;overflow-wrap:anywhere}.question-card .actions{margin:18px 0 0}.question-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-card-meta .eyebrow{margin:0;font-size:10px}.status-badge{font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:6px 9px;border-radius:6px;background:#343e3b;color:var(--text)}.status-published{background:#304024;color:var(--lime)}.status-draft{background:#44362a;color:#f4c88d}.status-archived{color:var(--muted)}.editor-heading{margin:0}.editor-heading h2{font-size:24px}.question-preview{padding:20px 0}.question-preview h3{line-height:1.4;overflow-wrap:anywhere}.question-preview p{margin:10px 0}.question-preview .preview-correct{color:var(--lime);font-weight:700}.question-preview small{color:var(--muted)}details>summary{cursor:pointer;font-size:14px;color:var(--lime);padding:10px 0}.library-bottom{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:45px}.library-bottom .card{align-self:start}.library-bottom hr{width:100%;border:0;border-top:1px solid var(--line)}#page-label{font-size:12px;color:var(--muted);align-self:center}.manager-link{display:flex;align-items:center;justify-content:space-between;gap:20px}.manager-link p{margin:6px 0 0;font-size:13px}#library-login{max-width:460px}#upgrade-panel{max-width:680px}.library-catalog,.editor-column{min-width:0}#question-editor{scroll-margin-top:20px}.question-preview,.question-card .fine{overflow-wrap:anywhere}
@media(max-width:850px){.library-layout{grid-template-columns:1fr}.editor-column{grid-row:1}.library-bottom{grid-template-columns:1fr}.library-stats{grid-template-columns:1fr 1fr}.manager-link{align-items:flex-start;flex-direction:column}.library-layout .card{padding:24px}.library-shell .admin-heading{flex-wrap:wrap}.library-shell>.admin-heading h2{font-size:24px}.filter-pair{grid-template-columns:1fr}.library-stats>div{padding:15px}.library-stats strong{font-size:26px}}
dialog{max-width:600px;width:calc(100% - 32px);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:22px;padding:30px}dialog::backdrop{background:#000b}.danger{background:var(--coral);color:#291510}#category-list .player-row{flex-wrap:wrap}#category-list .player-row>div{flex:1;min-width:150px}#game-settings{margin:24px 0}#break-settings{max-width:540px}

/* Venue break images */
.venue-media{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}.venue-media>p{margin:14px 0}.slide-editor{display:grid;gap:16px;grid-template-columns:1fr 1fr}.slide-slot{border:1px solid var(--line);padding:16px;border-radius:12px;min-width:0}.slide-slot h3{font-size:16px;margin:0 0 12px}.slide-slot>img{width:100%;height:140px;object-fit:contain;background:#0c1111;border-radius:8px;margin-bottom:14px}.slide-slot input[type=file]{font-size:12px;padding:8px;max-width:100%}.slide-slot>.button,.slide-slot>button{margin-top:10px}.break-media{margin:0 0 20px}.break-media img{width:100%;height:32vh;max-height:360px;object-fit:contain;background:#080d0d;border:1px solid var(--line);border-radius:16px;display:block}.break-media>p{margin:8px 0 0;text-align:center}.tv.break-active .question-panel{padding:0 0 15px}.tv.break-active .question-panel h1{font-size:clamp(26px,2.4vw,42px);letter-spacing:-1px;margin-bottom:12px}.tv.break-active .question-panel .lede{font-size:14px;max-width:none;margin-bottom:8px}.tv.break-active .question-panel .eyebrow{margin-bottom:10px}.tv.break-active .boards{padding-top:16px}.tv.break-active .progress{margin-bottom:20px}.qr>p{color:#172112;font-size:15px;margin:10px}.venue-code span{line-height:1.6}
@media(max-width:640px){.slide-editor{grid-template-columns:1fr}.break-media img{height:230px}}

.wake-controls{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0 0 25px;font-size:12px;color:var(--muted)}.wake-controls label{display:flex;align-items:center;gap:8px}.wake-controls input{accent-color:var(--lime)}
@media(max-width:640px){.player-shell #join .intro h1{font-size:30px;line-height:1.15;letter-spacing:-.6px}.player-shell #join .chips{display:none}}
.player-page .topbar .score-pill{padding:8px 15px;gap:2px;flex-shrink:0}
.player-page .topbar .score-pill span{font-size:10px;letter-spacing:0}
.player-page .topbar .score-pill strong{font-size:25px;line-height:1.1}
.player-page .game-meta .wake-controls{margin:0;max-width:190px;flex-shrink:0;gap:8px}
.player-page .game-meta .wake-controls label{align-items:flex-start;line-height:1.5}
.player-page .wake-controls #wake-status:empty{display:none}
.player-page #question-panel>.eyebrow{font-size:20px;letter-spacing:1px;line-height:1.35;margin-bottom:16px}
.player-page .player-timer{display:flex;align-items:baseline;gap:6px;flex-shrink:0;white-space:nowrap;color:var(--lime);font-variant-numeric:tabular-nums}
.player-page #player-points{font-size:18px;letter-spacing:0}
@media(max-width:640px){.player-page .topbar{gap:12px}.player-page .topbar .score-pill{padding:7px 10px}.player-page .topbar .score-pill strong{font-size:23px}.player-page .game-meta{align-items:flex-start;gap:14px}.player-page .game-meta>div:first-child{min-width:0}.player-page .game-meta .wake-controls{max-width:150px;flex-shrink:1}.player-page .round-meta{font-size:11px;letter-spacing:.5px}.player-page #player-points{font-size:16px}.player-page #greeting{overflow-wrap:anywhere}}
/* Reveal feedback and continuous deadline progress on both game screens. */
.progress>div{width:100%;transform-origin:left center;transition:none;will-change:transform}
.player-page .reveal-fact{font-size:24px;line-height:1.4;margin:0 0 24px;overflow-wrap:anywhere}
.answer-miss{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:9999;color:#ff3b45;font-family:Arial,sans-serif;font-size:clamp(160px,38vw,300px);font-weight:700;line-height:1;text-shadow:0 4px 24px #0009;opacity:0;animation:d2-miss 3s ease-out both}
@keyframes d2-miss{0%{opacity:0;transform:scale(.35)}20%{opacity:1;transform:scale(1.08)}32%{opacity:1;transform:scale(1)}65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.answer-miss{animation-name:d2-miss-fade}@keyframes d2-miss-fade{0%,100%{opacity:0}20%,65%{opacity:1}}}
