:root{font-family:Inter,system-ui,sans-serif;color:#172033;background:#f4f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,.button,input,select,textarea{font:inherit}main{max-width:1440px;margin:auto;padding:32px}header{display:flex;justify-content:space-between;align-items:end}.eyebrow{color:#5b5bd6;font-weight:700;margin:0}h1{margin:.2rem 0}button,.button,.file{border:0;border-radius:7px;background:#5b5bd6;color:#fff;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-block}.secondary{background:#e5e8f2;color:#26304a}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.toolbar>input{flex:1;min-width:280px}input,select,textarea{border:1px solid #cbd1df;border-radius:6px;padding:9px;background:#fff}.file input{display:none}.table-wrap{overflow:auto;background:#fff;border:1px solid #dfe3ec;border-radius:10px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:11px;border-bottom:1px solid #e8eaf0;vertical-align:top}th{background:#f8f9fc}.row-actions{white-space:nowrap}.text{background:none;color:#4b55b8;padding:4px}.danger{color:#b9384c}.error{background:#fee8eb;color:#8a2232;padding:12px;border-radius:7px;margin-top:16px}.modal{position:fixed;inset:0;background:#1118;display:grid;place-items:center;padding:24px}.editor{background:#fff;border-radius:12px;padding:24px;max-width:850px;width:100%;max-height:92vh;overflow:auto}.editor>label{display:grid;gap:5px;margin:12px 0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid label{display:grid;gap:5px}textarea{min-height:70px}.actions{display:flex;gap:10px;margin-top:16px}@media(max-width:800px){main{padding:18px}.form-grid{grid-template-columns:1fr}table{min-width:1050px}}nav{display:flex;gap:10px;align-items:center;padding:12px 32px;background:#172033;color:#fff}nav strong{margin-right:auto}nav button{background:transparent}nav button.active{background:#5b5bd6}.builder-form{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:#fff;padding:20px;border-radius:10px;margin:20px 0}.builder-form label{display:grid;gap:5px}.inline{display:flex;gap:6px}.inline input{min-width:0;flex:1}.builder-form .actions{grid-column:1/-1}.board{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;overflow:auto}.board-column{background:#e8eaf5;padding:10px;border-radius:9px}.board-column h2{min-height:58px}.board article{background:#fff;border-radius:7px;padding:10px;margin:10px 0;min-height:150px}.board article button{display:block;margin-top:8px}@media(max-width:800px){.builder-form{grid-template-columns:1fr}.board{grid-template-columns:repeat(5,240px)}}.empty,.episode-card{background:#fff;border:1px solid #dfe3ec;border-radius:10px;padding:20px;margin:14px 0}.episode-card{display:flex;justify-content:space-between;gap:20px}.episode-card h2{margin:.4rem 0}.status{display:inline-block;padding:4px 9px;border-radius:999px;background:#dfe3ec;text-transform:capitalize;font-weight:700}.status-completed{background:#d7f3e2}.status-in_progress{background:#fff0bf}.status-archived{background:#e5e5e5}.danger-button{background:#b9384c}.run-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:20px;margin:20px 0}.run-board{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;overflow:auto}.run-column{background:#e8eaf5;padding:8px;border-radius:8px}.run-column h2{font-size:1rem;min-height:42px}.question-tile{display:flex;flex-direction:column;width:100%;margin:8px 0;min-height:64px}.state-completed{background:#2f855a}.state-skipped{background:#667085}.state-opened{outline:3px solid #f5b82e}.score-row{display:grid;grid-template-columns:1fr auto auto auto;gap:6px;align-items:center;background:#fff;padding:10px;border-bottom:1px solid #ddd}.score-row button{padding:5px 8px}.active-question{background:#fff;border:2px solid #5b5bd6;border-radius:10px;padding:20px;margin:20px 0}.history{max-height:300px;overflow:auto;background:#fff;padding:20px 40px}@media(max-width:900px){.run-layout{grid-template-columns:1fr}.run-board{grid-template-columns:repeat(5,180px)}.episode-card{display:block}}.host-console{max-width:1800px}.host-console header>div:last-child{display:flex;gap:8px}.connection{font-weight:800}.connection.online{color:#18794e}.connection.offline{color:#b42318}.warning{padding:12px;background:#fff0bf;border-left:5px solid #e5a000}.show-controls{display:flex;gap:8px;align-items:center;margin:20px 0;padding:12px;background:#fff;border-radius:10px}.show-controls button{text-transform:capitalize}.show-controls button.active{outline:3px solid #f5b82e}.live-layout{display:grid;grid-template-columns:minmax(700px,3fr) minmax(330px,1fr);gap:20px}.host-board{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.host-column{background:#e8eaf5;padding:8px;border-radius:8px}.host-column h3{min-height:44px}.live-square{display:grid;width:100%;min-height:72px;margin:7px 0}.live-square.selected{outline:4px solid #f5b82e}.host-side>section,.timer-panel,.private-question{background:#fff;padding:18px;border-radius:10px;margin-bottom:16px}.timer{font-size:4rem;font-weight:900;display:block;font-variant-numeric:tabular-nums}.live-score{display:grid;grid-template-columns:1fr auto repeat(3,auto);gap:5px;align-items:center;padding:8px 0;border-bottom:1px solid #ddd}.live-score button{padding:6px}.private-question{border:3px solid #5b5bd6}.private-question h2{font-size:1.7rem}.audience{height:100vh;overflow:hidden;background:radial-gradient(circle at top,#20305d,#070b18 70%);color:#fff;padding:4vh 4vw;display:grid;grid-template-rows:auto 1fr auto;font-family:Inter,system-ui,sans-serif}.audience.transparent{background:transparent}.audience>header{display:flex;align-items:center;justify-content:space-between}.audience>header h1{font-size:2.2vw}.audience-connection{font-weight:900;letter-spacing:.15em}.broadcast-center{display:grid;place-content:center;text-align:center}.broadcast-center h2{font-size:4vw}.audience-board{display:grid;grid-template-columns:repeat(5,1fr);gap:1vw;min-height:0}.audience-board section{display:grid;grid-template-rows:1.4fr repeat(5,1fr);gap:.8vh}.audience-board h2{display:grid;place-items:center;text-align:center;font-size:1.45vw;margin:0;padding:.6vw;background:#293b75;border-radius:.5vw}.audience-square{display:grid;place-items:center;background:#111b3c;border:2px solid #5267ae;border-radius:.5vw;font-size:2.4vw;text-transform:uppercase}.audience-square.state-completed,.audience-square.state-skipped{opacity:.45;font-size:1vw}.audience-square.active{outline:5px solid #ffd166}.broadcast-question{display:grid;place-content:center;text-align:center;position:relative}.broadcast-question>p{font-size:1.7vw;color:#ffd166}.broadcast-question h2{font-size:3vw;max-width:1500px}.answer-reveal{display:grid;gap:1vh;font-size:2vw}.answer-reveal strong{font-size:3.5vw;color:#ffd166}.broadcast-timer{position:absolute;right:0;top:2vh;font-size:5vw;font-weight:900}.broadcast-timer.expired:after{content:" — TIME";font-size:1.5vw}.standings{list-style:none;padding:0;width:55vw;font-size:2vw}.standings li{display:flex;justify-content:space-between;padding:1.4vh 2vw;margin:1vh;background:#182650;border-radius:.6vw}.audience footer{display:flex;justify-content:center;gap:1.2vw}.audience footer div{display:flex;gap:1vw;background:#182650;padding:.8vh 1.2vw;border-radius:.4vw;font-size:1.25vw}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #f5b82e;outline-offset:2px}@media(max-width:1000px){.live-layout{grid-template-columns:1fr}.host-board{overflow:auto;grid-template-columns:repeat(5,180px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.host-console .host-board{grid-template-columns:repeat(4,minmax(120px,1fr))}.host-console .host-d20-value{font-size:.72rem;font-weight:900;letter-spacing:.06em;color:#5b21b6;text-transform:uppercase}.host-dark .host-console .host-d20-value{color:#c4b5fd}@media(max-width:1000px){.host-console .host-board{grid-template-columns:repeat(4,180px)}}.d20-panel{background:#111a35;color:#fff;border:2px solid #7c5cff;border-radius:14px;padding:20px;margin:20px 0}.d20-heading{display:flex;justify-content:space-between;align-items:center}.d20-heading h2{margin:.2rem 0}.d20-panel label{display:flex;align-items:center;gap:8px;margin:10px 0}.d20-roll-button{font-size:1.35rem;background:linear-gradient(135deg,#7c3aed,#0891b2);min-width:180px}.d20-result-private{display:grid;grid-template-columns:auto 1fr;gap:20px;margin-top:16px;padding:16px;background:#ffffff12;border-radius:10px}.d20-result-private .actions{grid-column:1/-1}.d20-number{font-size:5rem;color:#ffd166}.d20-settings{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px 20px;background:#fff;color:#172033;padding:16px;border-radius:10px;margin-top:16px}.d20-settings h3,.d20-settings button{grid-column:1/-1}.effect-editor{grid-column:1/-1;display:grid;grid-template-columns:1fr 80px auto 80px;gap:6px}.d20-public{display:grid;place-content:center;text-align:center;justify-items:center;overflow:hidden}.d20-poly{width:min(32vw,430px);aspect-ratio:1;display:grid;place-items:center;clip-path:polygon(50% 0,93% 25%,100% 70%,70% 100%,30% 100%,0 70%,7% 25%);background:linear-gradient(145deg,#8b5cf6,#1d4ed8 48%,#07112c);filter:drop-shadow(0 0 35px #7c3aed);transform-style:preserve-3d}.d20-face{display:grid;place-items:center;width:55%;aspect-ratio:1;clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:20%;background:#ffffff20;border:3px solid #d8b4fe;font-size:min(11vw,150px);font-weight:1000;text-shadow:0 0 20px white}.d20-public.rolling .d20-poly{animation:d20-tumble var(--roll-duration,2.2s) cubic-bezier(.2,.7,.2,1)}.d20-public h2{font-size:4vw;margin:.8vh}.d20-public>p{font-size:1.7vw;margin:.5vh}.d20-public.natural-1 .d20-poly{background:linear-gradient(145deg,#7f1d1d,#111827)}.d20-public.natural-20 .d20-poly{background:linear-gradient(145deg,#f59e0b,#7c3aed,#0891b2);filter:drop-shadow(0 0 55px #ffd166)}.selected-square,.modified-xp{font-weight:900;color:#ffd166}.theme-classic_polyhedral .d20-poly{background:linear-gradient(145deg,#b7791f,#3f2d1b)}.theme-holographic_scifi .d20-poly{background:linear-gradient(145deg,#00e5ff55,#7c3aed,#050816)}@keyframes d20-tumble{0%{transform:rotateX(0) rotateY(0) scale(.35);filter:blur(5px) drop-shadow(0 0 10px #7c3aed)}30%{transform:rotateX(420deg) rotateY(240deg) scale(1.1)}70%{transform:rotateX(780deg) rotateY(620deg) scale(.9)}to{transform:rotateX(1080deg) rotateY(720deg) scale(1)}}@media(prefers-reduced-motion:reduce){.d20-public.rolling .d20-poly{animation:d20-pop .2s ease-out}@keyframes d20-pop{0%{transform:scale(.8);opacity:.5}to{transform:scale(1);opacity:1}}}.player-roll-button{font-size:clamp(1.4rem,6vw,2.4rem);font-weight:1000;padding:1.2rem 2rem;background:linear-gradient(135deg,#7c3aed,#0891b2);box-shadow:0 0 28px #7c3aed88}.control-status{font-weight:900;color:#ffd166}.team-control-card.in-control{outline:3px solid #ffd166}.team-control-card .control-team-button.active{background:#b7791f}.player-camera{width:min(100%,42rem);margin:1rem auto;padding:.75rem;border:2px solid #7c5cff;border-radius:14px;background:#080d1c}.player-camera-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.player-camera iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#000}.camera-help{max-width:42rem;margin:.5rem auto;text-align:center;font-size:.82rem;opacity:.8}.player-media-controls{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.player-media-controls button{padding:.45rem .65rem;font-size:.78rem}.player-media-controls button.active{background:#087f5b}@media(max-width:600px){.player-camera-heading{align-items:flex-start;flex-direction:column}.player-media-controls{justify-content:flex-start}}.player-board{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.55rem;text-align:center}.player-board article{min-width:0;padding:.45rem;background:#0c1025;border:1px solid #334155;border-radius:.7rem}.player-board h2{margin:0 0 .4rem;font-size:clamp(.8rem,3vw,1rem);color:#e9d5ff}.player-board article>div{display:grid;gap:.3rem}.player-board span{padding:.45rem .25rem;border-radius:.4rem;background:#312e81;color:#fff;font-weight:900}.player-board span.state-completed,.player-board span.state-skipped{opacity:.3}.player-board span.active{outline:2px solid #facc15}.player-question-details{width:min(56rem,100%);display:grid;gap:.65rem}.player-referenced-work{display:grid;gap:.15rem;text-align:center}.player-referenced-work span,.player-answer span{color:#94a3b8;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.player-referenced-work strong{font-size:1.2rem}.player-modifier{justify-self:center;margin:0;padding:.4rem .75rem;border-radius:999px;background:#f59e0b;color:#111827;font-weight:900}.player-answer{display:grid;gap:.25rem;padding:.8rem;border-left:5px solid #22c55e;background:#14532d66}.player-answer strong{font-size:1.35rem}.player-response-timer{justify-self:center;min-width:4.5rem;padding:.55rem .8rem;border:3px solid #a78bfa;border-radius:999px;font-size:1.5rem;font-weight:1000}.player-response-timer.expired{border-color:#ef4444;background:#7f1d1d;color:#fff}.player-host-message{padding:.6rem .9rem;border-radius:.6rem;background:#1e293b}@media(max-width:650px){.player-board{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.35rem}.player-board article{flex:0 0 min(72vw,15rem);scroll-snap-align:start}.contestant-status{justify-content:flex-start}}.player-board span>strong,.player-board span>small{display:block}.player-board span>small{margin-top:.15rem;font-size:.68rem;color:#ddd6fe}.contestant-cockpit{gap:1rem;overflow-x:hidden}.player-header{padding:.25rem .25rem .8rem;border-bottom:1px solid #334155}.player-header h1,.player-header p{margin:.15rem 0}.player-header-status{display:grid;justify-items:end;gap:.35rem;text-align:right}.player-header-status>strong{color:#ffd166;font-size:clamp(.78rem,1.5vw,1rem);letter-spacing:.04em}.player-video-wall{display:flex;justify-content:center;gap:.65rem;overflow-x:auto;padding:.25rem 0 .6rem;scroll-snap-type:x proximity}.player-feed{position:relative;flex:0 1 min(18vw,15rem);min-width:9rem;aspect-ratio:16/9;overflow:hidden;border:2px solid #7c5cff;border-radius:.55rem;background:#02030a;scroll-snap-align:center}.player-feed iframe{display:block;width:100%;height:100%;border:0}.player-feed strong{position:absolute;left:.35rem;bottom:.3rem;max-width:calc(100% - .7rem);padding:.18rem .4rem;border-radius:.25rem;background:#000c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.player-cockpit-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,23rem);gap:1rem;align-items:start}.player-game-area{min-width:0;display:grid;gap:1rem}.player-control-rail{position:sticky;top:1rem;display:grid;justify-items:center;gap:.75rem;padding:1rem;border:1px solid #334155;border-radius:1rem;background:#0c1025e8;box-shadow:0 1rem 2rem #0006}.player-control-rail .buzzer-button{width:min(100%,18rem);font-size:clamp(1.6rem,4vw,3rem)}.buzzer-state{margin:0;text-transform:capitalize;color:#cbd5e1;font-weight:800}.player-question-details,.player-waiting{width:100%;min-height:10rem;padding:1rem;border:1px solid #334155;border-radius:1rem;background:#0c1025;place-items:center;text-align:center}.player-question-details h2{margin:.35rem 0;font-size:clamp(1.25rem,3vw,2.35rem);line-height:1.18}.player-question-meta{width:100%;display:flex;justify-content:space-between;gap:1rem;color:#ffd166}.player-waiting{display:grid;align-content:center;gap:.4rem;color:#94a3b8}.player-waiting strong{color:#fff;font-size:1.2rem}.contestant-cockpit footer{justify-content:center;flex-wrap:wrap;padding-top:.5rem;border-top:1px solid #334155}@media(max-width:900px){.player-cockpit-grid{grid-template-columns:1fr}.player-control-rail{position:sticky;bottom:0;top:auto;z-index:20;grid-template-columns:1fr auto;align-items:center;background:#090d1af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.player-control-rail .buzzer-button{width:min(42vw,12rem)}.player-control-rail .player-roll-button{width:100%}.player-control-rail .buzzer-state{grid-column:1/-1}.player-feed{flex-basis:10.5rem}.player-header-status>strong{max-width:14rem}}@media(max-width:600px){.contestant-cockpit{padding:.65rem}.player-header{align-items:flex-start}.player-header-status{font-size:.76rem}.player-video-wall{justify-content:flex-start}.player-feed{min-width:8.5rem}.player-board article{flex-basis:min(66vw,13rem)}.player-control-rail{margin:0 -.65rem -.65rem;border-radius:1rem 1rem 0 0;padding:.7rem}.player-control-rail .buzzer-button{width:9rem;border-width:.45rem}.player-question-details{padding:.75rem}.contestant-cockpit footer button{min-width:0;flex:1}}.player-d20-tray{justify-self:end;width:min(100%,21rem);height:20rem;padding:.65rem;overflow:hidden;border:2px solid #a78bfa;border-radius:1.25rem;background:radial-gradient(circle at 50% 35%,#312e81,#080d1c 72%);box-shadow:0 1rem 2.5rem #0008}.player-d20-tray .d20-public{width:100%;height:100%;min-height:0;padding:.2rem;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto auto}.player-d20-tray .d20-three{width:100%;height:100%;min-height:0;aspect-ratio:auto}.player-d20-tray .d20-result-readout{position:absolute;right:.5rem;top:.4rem;font-size:2.2rem}.player-d20-tray h2{margin:.1rem;font-size:1rem}.player-d20-tray .d20-public>p{display:block;margin:.08rem;font-size:.68rem;line-height:1.08}.player-d20-tray .selected-square,.player-d20-tray .modified-xp{padding:.1rem;border:0;background:transparent}@media(max-width:600px){.player-d20-tray{width:100%;height:17rem}}.broadcast-controls{margin:2rem 0;padding:1.25rem;border:1px solid #334155;border-radius:18px;background:#0c1324;color:#f8fafc}.broadcast-heading,.broadcast-toolbar,.broadcast-options,.scene-shortcuts{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.broadcast-heading{justify-content:space-between}.preview-program-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.broadcast-monitor{background:#05070c;border:2px solid #293447;padding:.5rem;border-radius:12px}.broadcast-monitor>span{font:700 .7rem ui-monospace;color:#94a3b8}.preview-monitor{border-color:#16a34a}.program-monitor{border-color:#dc2626}.mini-scene{aspect-ratio:16/9;display:grid;place-content:center;text-align:center;gap:.4rem;border-radius:8px;background:radial-gradient(circle at 50% 20%,#30205d,#090914);text-transform:uppercase}.mini-scene strong{font-size:clamp(1.1rem,3vw,2rem)}.broadcast-toolbar label,.broadcast-options label,.presentation-editor label{display:flex;align-items:center;gap:.4rem}.take-button{background:#dc2626;font-weight:900}.presentation-editor{padding:1rem;display:grid;gap:.8rem}.presentation-editor ul{max-height:10rem;overflow:auto}.field-help{color:#94a3b8;font-size:.85rem}.broadcast-controls select,.broadcast-controls input{max-width:18rem}.presentation{position:fixed;inset:0;width:100vw;height:100vh;overflow:hidden;background:var(--background);color:var(--text);font-family:var(--font-body);isolation:isolate}.presentation:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--primary) 25%,transparent),transparent 35%),radial-gradient(circle at 85% 80%,color-mix(in srgb,var(--secondary) 18%,transparent),transparent 40%),var(--background)}.theme-neon-arcade:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 28px,var(--secondary) 29px 30px),repeating-linear-gradient(90deg,transparent 0 28px,var(--primary) 29px 30px)}.theme-fantasy-codex:before{background:radial-gradient(circle,#342916,var(--background) 70%)}.program-brand{position:absolute;z-index:10;top:var(--action-safe);left:var(--action-safe);right:var(--action-safe);display:flex;justify-content:space-between;align-items:center;background:none;border:0}.program-brand>div{display:flex;align-items:center;gap:.75rem}.program-brand h1{font:900 clamp(1rem,2.2vw,2rem) var(--font-display);letter-spacing:.08em;margin:0}.program-theme-logo{object-fit:contain;border-radius:10px}.logo-placeholder{display:grid;place-items:center;background:var(--primary);font-weight:900}.program-stage{position:absolute;inset:var(--title-safe);display:grid;place-items:center;animation:scene-enter var(--transition-ms) both cubic-bezier(.2,.8,.2,1)}.hero-scene{text-align:center;width:min(1200px,90%)}.hero-scene>h2{font:900 clamp(4rem,10vw,10rem)/.9 var(--font-display);text-transform:uppercase;margin:.15em 0}.hero-scene>p{font-size:clamp(1.4rem,2.5vw,2.8rem)}.presentation .eyebrow{color:var(--accent);letter-spacing:.3em;font-weight:900;text-transform:uppercase}.presentation .audience-board{width:100%;height:78%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1vw}.presentation .audience-board.categories-5{grid-template-columns:repeat(5,minmax(0,1fr))}.presentation .audience-board article{display:grid;grid-template-rows:minmax(5rem,1.3fr) repeat(5,1fr);gap:.55vw;min-width:0;animation:category-in calc(var(--transition-ms) + var(--category-index)*90ms) both}.presentation .audience-board h2{display:grid;place-items:center;text-align:center;padding:.6rem;font:800 clamp(1rem,2vw,2.25rem)/1 var(--font-heading);overflow-wrap:anywhere;background:var(--primary);border-radius:var(--radius)}.presentation .audience-square{display:grid;place-items:center;border-radius:var(--radius);background:var(--surface);border:1px solid var(--secondary);font:900 clamp(1.5rem,3.8vw,4rem) var(--font-xp,var(--font-score))}.presentation .audience-square strong:after{content:" XP";font-size:.35em;color:var(--muted)}.presentation .audience-square.state-completed{opacity:.25}.presentation .audience-square.state-skipped{opacity:.45}.presentation .audience-square.active{outline:5px solid var(--accent);transform:scale(1.035)}.presentation .broadcast-question{width:min(1400px,94%);min-height:55%;display:grid;align-content:center;gap:1.2rem;padding:clamp(2rem,5vw,5rem);background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius)}.presentation .broadcast-question h2{font:800 clamp(2.6rem,5vw,6rem)/1.08 var(--font-question);text-wrap:balance;margin:0}.presentation .broadcast-question h2.long-copy{font-size:clamp(2rem,3.7vw,4rem)}.question-meta{color:var(--accent);font:800 clamp(1.2rem,2vw,2.2rem) var(--font-heading)}.presentation .broadcast-timer{position:absolute;right:2rem;bottom:2rem;width:7rem;height:7rem;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:5px solid var(--accent);font:900 3.4rem var(--font-timer)}.presentation .answer-reveal{display:grid;gap:.4rem;padding:1.5rem;border-left:8px solid var(--success);background:color-mix(in srgb,var(--success) 15%,var(--surface));animation:answer-pop var(--transition-ms) both}.presentation .answer-reveal strong{font:900 clamp(2.5rem,5vw,5rem) var(--font-display)}.modifier-banner{position:absolute;top:1rem;right:1rem;padding:.8rem 1.2rem;background:var(--accent);color:#111;font-weight:900}.presentation .standings{list-style:none;padding:0;display:grid;gap:.65rem;margin:auto;max-width:1000px}.presentation .standings li{display:flex;justify-content:space-between;gap:2rem;padding:1rem 1.5rem;background:var(--surface);border-radius:var(--radius);font-size:clamp(1.2rem,2.6vw,2.8rem)}.presentation .standings li.leader{border:2px solid var(--accent)}.presentation .standings em{font-size:.5em;color:var(--accent)}.winner-scene .confetti{font-size:5vw;color:var(--accent);animation:confetti 2s ease-out both}.credits-scene{animation:credits-up 16s linear both}.presentation footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:.5rem;padding:.55rem var(--action-safe);background:#000b}.presentation footer div{display:flex;gap:1rem;padding:.45rem 1rem;border-radius:10px;background:var(--surface)}.overlay-score{position:absolute;right:4%;top:8%;min-width:340px;background:#090b14e8;border:1px solid var(--accent);border-radius:var(--radius);padding:1rem}.score-bug{list-style:none;margin:0;padding:0}.score-bug li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem}.lower-third{position:absolute;left:6%;bottom:8%;min-width:38%;display:grid;padding:1rem 2rem;background:linear-gradient(90deg,var(--primary),var(--surface));border-left:8px solid var(--accent);font-size:1.4rem}.lower-third strong{font-size:2rem}.broadcast-graphic{position:absolute;left:50%;bottom:12%;transform:translate(-50%);padding:1rem 2.5rem;background:var(--primary);border:2px solid var(--accent);border-radius:999px;font-size:2rem;font-weight:900}.program-watermark{position:absolute;right:3%;bottom:3%;max-width:12vw;max-height:8vh;opacity:.3}.safe-guides{position:absolute;inset:0;pointer-events:none}.safe-guides .action-safe{position:absolute;inset:var(--action-safe);border:2px dashed #22d3ee}.safe-guides .title-safe{position:absolute;inset:var(--title-safe);border:2px dashed #facc15}.safe-guides i{position:absolute;background:#ef444444;border:2px solid #ef4444}.layout-overlay,.layout-scorebug,.layout-question,.layout-lowerthird{background:transparent}.layout-overlay:before,.layout-scorebug:before,.layout-question:before,.layout-lowerthird:before{display:none}.layout-scorebug .program-brand,.layout-scorebug .program-theme-logo,.layout-scorebug .program-stage,.layout-scorebug footer,.layout-lowerthird .program-brand,.layout-lowerthird .program-theme-logo,.layout-lowerthird .program-stage,.layout-lowerthird footer,.layout-overlay .program-stage,.layout-overlay .program-brand,.layout-overlay .program-theme-logo,.layout-overlay footer{display:none}.layout-question .program-brand,.layout-question .program-theme-logo,.layout-question footer{display:none}.transition-slide-left .program-stage{animation-name:slide-left}.transition-slide-right .program-stage{animation-name:slide-right}.transition-slide-up .program-stage{animation-name:slide-up}.transition-zoom .program-stage{animation-name:zoom-in}.transition-card-flip .program-stage{animation-name:card-flip}.transition-wipe .program-stage,.transition-iris .program-stage{animation-name:wipe-in}.transition-glitch .program-stage{animation-name:glitch-in}.transition-cut .program-stage{animation:none}@keyframes scene-enter{0%{opacity:0}to{opacity:1}}@keyframes category-in{0%{opacity:0;transform:translateY(-2rem)}to{opacity:1;transform:none}}@keyframes slide-left{0%{opacity:0;transform:translate(12%)}to{opacity:1;transform:none}}@keyframes slide-right{0%{opacity:0;transform:translate(-12%)}to{opacity:1;transform:none}}@keyframes slide-up{0%{opacity:0;transform:translateY(12%)}to{opacity:1;transform:none}}@keyframes zoom-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@keyframes card-flip{0%{opacity:0;transform:perspective(900px) rotateY(65deg)}to{opacity:1;transform:none}}@keyframes wipe-in{0%{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(80% at 50% 50%)}}@keyframes glitch-in{0%{opacity:0;transform:translate(2%)}30%{filter:hue-rotate(90deg);transform:translate(-1%,1%)}to{opacity:1;filter:none;transform:none}}@keyframes answer-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes confetti{0%{opacity:0;transform:translateY(-60vh)}to{opacity:1;transform:none}}@keyframes credits-up{0%{transform:translateY(15%)}to{transform:translateY(-8%)}}@media(prefers-reduced-motion:reduce){.presentation *{animation-duration:1ms!important;animation-iteration-count:1!important}.confetti{display:none}}.presentation.reduced-motion *{animation-duration:1ms!important;animation-iteration-count:1!important}.presentation.reduced-motion .confetti{display:none}.contestant-app{width:100%;max-width:none;min-height:100vh;min-height:100dvh;margin:0;background:radial-gradient(circle at 50% -10%,#4d1a8a 0,#28145b 30%,#070814 72%);color:#f8fafc;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));display:flex;flex-direction:column}.contestant-join{position:relative;isolation:isolate;overflow:auto}.contestant-join:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;background:linear-gradient(135deg,transparent 0 48%,#14b8ff 49% 50%,transparent 51%),linear-gradient(45deg,transparent 0 48%,#8b5cf6 49% 50%,transparent 51%);background-size:72px 72px}.contestant-app header,.contestant-app footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.join-card{width:min(32rem,100%);margin:auto;background:#0c1025e8;border:1px solid #7c3aed;border-radius:1.5rem;padding:clamp(1.25rem,5vw,2.5rem);display:grid;gap:1rem;box-shadow:0 1.5rem 5rem #000a,0 0 3rem #7c3aed33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.join-logo{display:block;width:min(21rem,82%);max-height:15rem;object-fit:contain;margin:-.5rem auto 0;filter:drop-shadow(0 .8rem 1.2rem #0008)}.join-card .eyebrow,.join-card h1{text-align:center}.join-card label{display:grid;gap:.35rem}.join-card input{font-size:1.1rem;min-height:3.25rem}.join-button{min-height:3.75rem;font-size:1.25rem}.contestant-status{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem}.contestant-status h2{font-size:clamp(1.4rem,6vw,3rem);max-width:50rem}.buzzer-button{width:min(72vw,22rem);aspect-ratio:1;border-radius:50%;font-size:clamp(2rem,10vw,4rem);font-weight:900;background:linear-gradient(#ef4444,#991b1b);border:.7rem solid #fecaca;box-shadow:0 0 0 .4rem #7f1d1d,0 1.4rem 3rem #0008;color:#fff}.buzzer-button:disabled{background:#27314b;border-color:#64748b;color:#cbd5e1;box-shadow:none}.contestant-won .buzzer-button{background:#16a34a;border-color:#bbf7d0}.contestant-locked-out .buzzer-button{background:#475569}.contestant-app footer button{min-height:3rem;min-width:7rem}.contestant-panel{background:#101426;border:1px solid #334155;border-radius:1rem;padding:1rem;margin:1rem 0}.join-controls,.contestant-actions,.responder{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.75rem 0}.join-code{display:grid;padding:.7rem 1rem;background:#070814;border:1px solid #7c3aed;border-radius:.7rem}.join-code strong{font-size:2rem;letter-spacing:.18em}.join-code small{max-width:25rem;overflow:hidden;text-overflow:ellipsis}.contestant-list{list-style:none;padding:0;display:grid;gap:.5rem}.contestant-list li{display:grid;grid-template-columns:minmax(10rem,1fr) auto minmax(14rem,1fr);gap:.75rem;padding:.75rem;background:#171c31;border-radius:.6rem}.contestant-list em{color:#fbbf24}@media(max-width:600px){.contestant-list li{grid-template-columns:1fr}.contestant-app header{align-items:flex-start}.contestant-app header h1{font-size:1.4rem}.join-logo{width:min(17rem,78%)}.join-card{border-radius:1.1rem}}.presentation .audience-board{gap:var(--board-gap,1vw)}.presentation .audience-square,.presentation .audience-board h2{border-radius:var(--board-cell-radius,var(--radius))}.presentation .broadcast-question h2{font-size:clamp(2rem,calc(var(--question-size,64px)*var(--content-scale,1)),8rem)}.presentation .answer-reveal strong{font-size:clamp(2rem,calc(var(--answer-size,64px)*var(--content-scale,1)),8rem)}.presentation .broadcast-timer{font-size:clamp(2rem,calc(var(--timer-size,72px)*var(--content-scale,1)),10rem)}.theme-designer{max-width:none;padding:0;background:#090d18;color:#e5edf9;min-height:calc(100vh - 4rem)}.designer-toolbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.8rem 1rem;background:#0f172a;border-bottom:1px solid #334155}.designer-toolbar>div:first-child{margin-right:auto}.designer-toolbar h1{margin:0;font-size:1.45rem}.designer-toolbar .eyebrow{margin:0}.draft-badge{padding:.4rem .65rem;border-radius:999px;background:#164e63}.draft-badge.dirty{background:#92400e}.designer-message{padding:.6rem 1rem;background:#064e3b}.designer-message.error{background:#7f1d1d}.designer-grid{display:grid;grid-template-columns:13rem minmax(30rem,1fr) 21rem;min-height:calc(100vh - 8.5rem)}.designer-navigation,.designer-inspector{padding:1rem;background:#101827;overflow:auto;max-height:calc(100vh - 8.5rem);position:sticky;top:8.5rem}.designer-navigation{border-right:1px solid #334155}.designer-inspector{border-left:1px solid #334155}.designer-navigation button,.designer-inspector>button,.layer-list button{display:flex;width:100%;justify-content:space-between;margin:.18rem 0;text-align:left}.designer-navigation button.active{background:#6d28d9}.designer-preview{min-width:0;background:#060914;padding:1rem}.preview-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.designer-stage{height:calc(100vh - 14rem);overflow:auto;border:1px solid #475569;background:#02030a}.designer-stage.checkerboard,.preview-transparent{background-color:#fff;background-image:linear-gradient(45deg,#bbb 25%,transparent 25%),linear-gradient(-45deg,#bbb 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#bbb 75%),linear-gradient(-45deg,transparent 75%,#bbb 75%);background-size:32px 32px;background-position:0 0,0 16px,16px -16px,-16px 0}.designer-stage.camera-simulation{background-image:linear-gradient(#0f172a99,#0f172a99),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='360'%3E%3Crect width='640' height='360' fill='%23334155'/%3E%3Ccircle cx='320' cy='130' r='55' fill='%2394a3b8'/%3E%3Cpath d='M190 340q25-135 130-135t130 135' fill='%2364748b'/%3E%3C/svg%3E")}.designer-stage>div{position:relative}.designer-stage .presentation,.theme-preview-canvas{position:absolute}.designer-inspector label,.designer-inspector fieldset{display:grid;gap:.35rem;margin:.7rem 0}.designer-inspector input,.designer-inspector select,.designer-inspector textarea{width:100%;max-width:none}.designer-inspector label:has(input[type=range]){grid-template-columns:1fr 4rem}.designer-inspector label:has(input[type=range]) span{grid-column:1/-1}.designer-inspector input[type=color]{height:2.5rem;padding:.15rem}.color-control{grid-template-columns:1fr 3.5rem}.color-control span{grid-column:1/-1}.font-preview{margin:.55rem 0}.font-preview summary{cursor:pointer;color:#c4b5fd;font-weight:700}.font-preview-list{display:grid;gap:.4rem;margin-top:.5rem;max-height:22rem;overflow:auto;padding-right:.25rem}.font-preview-list button{display:grid;gap:.25rem;width:100%;text-align:left;background:#182235;border:1px solid #334155}.font-preview-list button.selected{border-color:#a78bfa;background:#2e1065}.font-preview-list small{color:#94a3b8;font-family:Inter,system-ui,sans-serif}.font-preview-list span{font-size:1.35rem;line-height:1.2;overflow-wrap:anywhere}.position-editor{padding:.85rem;border:1px solid #334155;border-radius:.65rem;background:#0b1220}.position-editor>section{margin:.8rem 0}.position-editor h4{margin:0 0 .45rem;color:#cbd5e1;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.position-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.designer-inspector label.position-control{margin:0;display:block!important}.position-control>span{display:block;margin-bottom:.25rem;font-weight:700}.position-control>div{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem;gap:.4rem;align-items:center}.designer-inspector .position-control input[type=range]{width:100%;min-width:0}.position-number{position:relative;display:block}.designer-inspector .position-number input{padding-right:1.35rem;text-align:right}.position-number small{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.logo-scale-actions{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.65rem}.logo-scale-actions button:last-child{grid-column:1/-1}.position-options{display:flex;gap:1rem;flex-wrap:wrap;padding:.65rem 0;border-top:1px solid #263244;border-bottom:1px solid #263244}.designer-inspector .position-options label{display:flex;align-items:center;gap:.4rem;margin:0}.designer-inspector .position-options input{width:auto}.designer-inspector .position-layer{display:grid;grid-template-columns:1fr 5rem;align-items:center;margin:.75rem 0}.nudge-panel{text-align:center}.nudge-grid{width:9rem;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}.nudge-grid button{padding:.45rem}.layer-list{display:grid;gap:.2rem;margin:.7rem 0}.layer-list small{color:#94a3b8}.nudge-grid{display:grid;grid-template-columns:repeat(3,1fr)}.nudge-grid button:first-child{grid-column:2}.nudge-grid button:last-child{grid-column:2}.validation-ok{padding:.7rem;background:#064e3b}.validation-errors{padding:.7rem;background:#7f1d1d}.preview-warnings{display:flex;gap:.5rem;color:#fbbf24;padding:.5rem}.theme-preview-error{display:grid;place-content:center;min-height:100vh;text-align:center}.presentation .program-brand h1{font-family:var(--font-show-title,var(--font-display))}.presentation .hero-scene>h2{font-family:var(--font-scene-title,var(--font-heading))}.presentation .audience-board h2,.presentation .question-category{font-family:var(--font-category,var(--font-heading))}.presentation .question-xp{font-family:var(--font-xp,var(--font-score))}.presentation .answer-reveal strong{font-family:var(--font-answer,var(--font-display))}.presentation .standings li>span,.presentation .score-bug li>span,.presentation footer div>span{font-family:var(--font-participant,var(--font-body))}.presentation .standings li>strong,.presentation .score-bug li>strong,.presentation footer div>strong{font-family:var(--font-score)}.presentation .lower-third{font-family:var(--font-lower-third,var(--font-heading))}@media(max-width:1100px){.designer-grid{grid-template-columns:11rem minmax(28rem,1fr)}.designer-inspector{grid-column:1/-1;position:static;max-height:none;border-left:0;border-top:1px solid #334155}.designer-navigation{position:sticky;top:8.5rem}}@media(max-width:720px){.designer-grid{display:block}.designer-navigation{position:static;max-height:none;display:flex;overflow:auto;gap:.3rem}.designer-navigation h2{display:none}.designer-navigation button{min-width:max-content}.designer-stage{height:60vh}}.audience.presentation{padding:0;display:block;grid-template-rows:none}.presentation .program-stage{inset:0;max-width:none;margin:0;padding:0}.presentation .audience-board h2{display:flex;align-items:center;justify-content:center;gap:clamp(.35rem,.7vw,.8rem)}.presentation .audience-board h2>span{min-width:0}.presentation .category-icon{width:clamp(1.35rem,2.2vw,2.7rem);height:clamp(1.35rem,2.2vw,2.7rem);flex:0 0 auto;color:var(--accent);filter:drop-shadow(0 2px 3px #0007)}.production-video{position:absolute;z-index:85;width:min(22vw,420px);aspect-ratio:16/9;background:#05070c;border:3px solid var(--accent);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 50px #000b}.production-video iframe{display:block;width:100%;height:100%;border:0}.production-video span{position:absolute;left:.55rem;bottom:.45rem;padding:.25rem .55rem;background:#000c;border-radius:.35rem;font:800 clamp(.75rem,1.1vw,1.1rem) var(--font-participant,var(--font-body))}.production-video-top-left{left:var(--action-safe);top:var(--title-safe)}.production-video-top-right{right:var(--action-safe);top:var(--title-safe)}.production-video-bottom-left{left:var(--action-safe);bottom:8%}.production-video-bottom-right{right:var(--action-safe);bottom:8%}.d20-three{width:min(38vw,520px);aspect-ratio:1;filter:drop-shadow(0 0 34px color-mix(in srgb,var(--accent) 70%,transparent))}.d20-three canvas{display:block;width:100%!important;height:100%!important}.d20-webgl-fallback{width:min(30vw,390px);aspect-ratio:1;display:grid;place-items:center;clip-path:polygon(50% 0,93% 25%,100% 70%,70% 100%,30% 100%,0 70%,7% 25%);background:linear-gradient(145deg,var(--primary),var(--surface));font:900 min(11vw,150px) var(--font-display);color:var(--text);filter:drop-shadow(0 0 35px var(--accent))}.d20-result-readout{font:1000 clamp(3rem,7vw,7rem)/.8 var(--font-display);color:var(--accent);text-shadow:0 0 24px color-mix(in srgb,var(--accent) 70%,transparent);margin-top:-1.2rem}.presentation .answer-judgement{display:block;margin-top:.35rem;font:1000 clamp(2rem,4.5vw,5rem) var(--font-display);font-style:normal;letter-spacing:.08em}.presentation .answer-judgement.correct{color:var(--success);text-shadow:0 0 1.5rem color-mix(in srgb,var(--success) 70%,transparent)}.presentation .answer-judgement.incorrect{color:var(--error)}.theme-fantasy-codex .audience-square{position:relative;isolation:isolate;overflow:hidden;border:clamp(3px,.28vw,6px) solid #321c0c;border-radius:clamp(5px,.45vw,11px);background:repeating-linear-gradient(2deg,transparent 0 9px,#2b13091f 10px 12px,transparent 13px 23px),linear-gradient(90deg,#5a3217 0,#9a6635 7%,#74451f 18%,#a36e38 31%,#633716 45%,#98602d,#70401b 71%,#a36b34 86%,#5b3014);box-shadow:inset 0 clamp(4px,.45vw,9px) 0 #d5a5684d,inset 0 clamp(-9px,-.45vw,-4px) 0 #24100680,inset clamp(4px,.3vw,7px) 0 0 #c28b4a26,inset clamp(-7px,-.3vw,-4px) 0 0 #1b0c0573,0 clamp(5px,.5vw,11px) clamp(8px,.7vw,16px) #0008;color:#ffe7a3;text-shadow:0 2px 0 #2a1308,0 0 8px #120804}.theme-fantasy-codex .audience-square:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.7;background:radial-gradient(ellipse 18% 42% at 22% 42%,transparent 0 25%,#2b140a66 28% 32%,transparent 35%),radial-gradient(ellipse 13% 34% at 78% 68%,transparent 0 24%,#2a12085c 27% 31%,transparent 34%),repeating-radial-gradient(ellipse at 50% 130%,transparent 0 22px,#f0bd7240 23px 25px,transparent 27px 42px);mix-blend-mode:multiply}.theme-fantasy-codex .audience-square:after{content:"";position:absolute;inset:clamp(7px,.55vw,13px);z-index:2;pointer-events:none;background:radial-gradient(circle at 0 50%,#d2c3a1 0 2px,#514637 3px 5px,transparent 6px),radial-gradient(circle at 100% 50%,#d2c3a1 0 2px,#514637 3px 5px,transparent 6px);filter:drop-shadow(0 1px 1px #000)}.theme-fantasy-codex .audience-square>strong,.theme-fantasy-codex .audience-square>span{position:relative;z-index:3}.theme-fantasy-codex .audience-square strong:after{color:#e8c77e}.theme-fantasy-codex .audience-square.active{outline-color:#f4d88b;box-shadow:inset 0 7px #e2b36c4d,inset 0 -7px #24100680,0 0 1.5rem #e8c77ea6}.d20-public{position:relative}.d20-public>*:not(.natural20-energy){position:relative;z-index:2}.natural20-energy{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 50% 42%,#fff9 0,#facc1540 9%,#7c3aed28 25%,transparent 52%);animation:n20-aura 1.1s ease-out both}.natural20-energy .energy-core,.natural20-energy .energy-ring,.natural20-energy b{position:absolute;left:50%;top:42%;display:block}.natural20-energy .energy-core{width:24vmin;height:24vmin;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#fff 0,#fde047aa 22%,#a855f755 48%,transparent 72%);filter:blur(8px);animation:n20-core 1.2s ease-out both}.natural20-energy .energy-ring{width:18vmin;height:18vmin;border:clamp(3px,.45vmin,8px) solid #fde047;border-radius:50%;box-shadow:0 0 3vmin #fff,0 0 7vmin #a855f7;animation:n20-ring 1.45s cubic-bezier(.12,.7,.2,1) both}.natural20-energy .ring-two{animation-delay:.18s;border-color:#67e8f9}.natural20-energy b{width:clamp(5px,.65vmin,12px);height:clamp(14px,2.6vmin,46px);border-radius:999px;background:linear-gradient(#fff,#fde047 42%,#a855f7);box-shadow:0 0 1.5vmin #fff;transform-origin:50% 0;transform:translate(-50%,-50%) rotate(var(--spark-angle));animation:n20-spark 1.25s cubic-bezier(.1,.8,.2,1) var(--spark-delay) both}.d20-public.natural-20.landed .d20-three,.d20-public.natural-20.landed .d20-webgl-fallback{filter:drop-shadow(0 0 2vmin #fff) drop-shadow(0 0 5vmin #facc15);animation:n20-die-charge 1.2s ease-out both}@keyframes n20-aura{0%{opacity:0;transform:scale(.25)}25%{opacity:1}to{opacity:.72;transform:scale(1)}}@keyframes n20-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.15)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}to{opacity:.7;transform:translate(-50%,-50%) scale(1)}}@keyframes n20-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.25)}to{opacity:0;transform:translate(-50%,-50%) scale(5)}}@keyframes n20-spark{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(0) scaleY(.2)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(calc(-1 * var(--spark-distance))) scaleY(1)}}@keyframes n20-die-charge{0%{transform:scale(.82);filter:brightness(3) drop-shadow(0 0 1vmin #fff)}45%{transform:scale(1.12)}to{transform:scale(1);filter:drop-shadow(0 0 2vmin #fff) drop-shadow(0 0 5vmin #facc15)}}@media(prefers-reduced-motion:reduce){.natural20-energy,.natural20-energy *,.d20-public.natural-20.landed .d20-three,.d20-public.natural-20.landed .d20-webgl-fallback{animation:none!important}.natural20-energy{opacity:.65}.natural20-energy b,.natural20-energy .energy-ring{display:none}}.board-position>.audience-board{height:100%}.d20-board-sequence{position:absolute;inset:0;overflow:hidden;background:var(--background,#07111f);isolation:isolate}.d20-board-backdrop{position:absolute!important;left:var(--title-safe);right:var(--title-safe);top:11%;bottom:11%;width:auto!important;height:auto!important;z-index:1;transition:opacity .45s ease,filter .45s ease,transform .45s ease}.d20-board-sequence:has(.d20-public.landed) .d20-board-backdrop{opacity:.18;filter:blur(18px) brightness(.35);transform:scale(1.08)}.d20-roll-layer{position:absolute;inset:0;z-index:3;display:grid;place-items:center;transition:background .5s ease}.d20-board-sequence:has(.d20-public.landed) .d20-roll-layer{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--primary,#7c3aed) 35%,transparent),var(--background,#07111f) 68%)}.d20-roll-layer .d20-public{width:100%;height:100%;max-width:none;margin:0;padding:0}.d20-roll-layer .d20-public.rolling>h2{position:absolute;left:50%;bottom:7%;transform:translate(-50%);padding:.55rem 1.4rem;border-radius:999px;background:#000b;border:1px solid var(--accent);font-size:clamp(1.4rem,2.6vw,2.8rem);white-space:nowrap}.d20-roll-layer .d20-public.rolling .d20-three{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 2.5rem 1.4rem #0009) drop-shadow(0 0 2rem var(--accent))}.d20-roll-layer .d20-public.rolling .d20-webgl-fallback{position:absolute;width:min(25vw,390px);animation:d20-across-board var(--roll-duration,2.2s) ease-out both}.d20-roll-layer .d20-public.landed{align-content:center;background:transparent}.d20-roll-layer .d20-public.landed .d20-three{width:min(34vw,480px)}.d20-roll-layer .d20-public.landed h2{font-size:clamp(2.4rem,5vw,5.5rem);margin:.25rem}.d20-roll-layer .d20-public.landed>p{font-size:clamp(1.25rem,2vw,2.4rem)}.d20-roll-layer .d20-public.landed .selected-square{padding:.65rem 1.4rem;border:2px solid var(--accent);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);font-size:clamp(1.6rem,3vw,3.5rem)}.natural20-highlight-board{position:absolute!important;inset:0;z-index:5;opacity:0;pointer-events:none}.natural20-sequence .natural20-highlight-board{animation:n20-board-reveal 2s var(--selection-delay) ease both}.natural20-sequence .natural20-highlight-board .audience-square:not(.natural20-selected),.natural20-sequence .natural20-highlight-board h2{filter:brightness(.28);opacity:.55}.natural20-sequence .natural20-highlight-board .natural20-selected{position:relative;z-index:2;outline:.55rem solid #fff5a8;transform:scale(1.12);background:linear-gradient(135deg,#fff7ae,#f59e0b,#7c3aed);color:#160b2f;box-shadow:0 0 2rem #fff,0 0 5rem #facc15,0 0 9rem #7c3aed;animation:n20-xp-charge .42s ease-in-out infinite alternate}.natural20-sequence .d20-roll-layer{animation:n20-roll-fade 2s var(--selection-delay) ease both}@keyframes n20-board-reveal{0%{opacity:0;transform:scale(1.04)}15%,88%{opacity:1;transform:scale(1)}to{opacity:0}}@keyframes n20-roll-fade{0%{opacity:1}18%,to{opacity:0}}@keyframes n20-xp-charge{0%{filter:brightness(1);box-shadow:0 0 2rem #fff,0 0 4rem #facc15}to{filter:brightness(1.45);box-shadow:0 0 3rem #fff,0 0 7rem #facc15,0 0 10rem #7c3aed}}@keyframes d20-across-board{0%{transform:translate(var(--roll-start-x,-36vw),-8vh) scale(.62);animation-timing-function:cubic-bezier(.18,.65,.3,1)}22%{transform:translate(var(--roll-x2,-24vw),4vh) scale(.76);animation-timing-function:linear}43%{transform:translate(var(--roll-x3,-15vw),2.5vh) scale(.86);animation-timing-function:linear}61%{transform:translate(var(--roll-x4,-9vw),1.5vh) scale(.93);animation-timing-function:linear}76%{transform:translate(var(--roll-x5,-4vw),.7vh) scale(.97);animation-timing-function:linear}88%{transform:translate(var(--roll-x6,-1.5vw),.25vh) scale(.99);animation-timing-function:ease-out}to{transform:translate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.d20-roll-layer .d20-public.rolling .d20-three,.d20-roll-layer .d20-public.rolling .d20-webgl-fallback{animation:none!important;transform:none}.d20-board-backdrop{transition:none}}.d20-tray-board{position:absolute;inset:0;overflow:hidden;background:var(--background,#07111f)}.presentation:has(>.d20-corner-tray) .board-position,.presentation .d20-tray-board .board-position{left:21%!important;top:17%!important;width:58%!important;height:72%!important}.d20-corner-tray{position:absolute;right:2%;bottom:5%;z-index:90;width:18vw;max-width:18rem;height:min(34vh,19rem);padding:clamp(.35rem,.7vw,.65rem);overflow:hidden;border:3px solid var(--accent);border-radius:clamp(.8rem,1.2vw,1.35rem);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--primary) 32%,var(--surface)),color-mix(in srgb,var(--background) 94%,transparent));box-shadow:0 1rem 3rem #000b,inset 0 0 2rem color-mix(in srgb,var(--accent) 16%,transparent)}.d20-corner-tray .d20-public{width:100%;height:100%;min-height:0;padding:.25rem;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto auto;align-content:center;overflow:hidden}.d20-corner-tray .d20-three{width:100%;height:100%;min-height:0;aspect-ratio:auto}.d20-corner-tray .d20-result-readout{position:absolute;z-index:12;right:1rem;top:1rem;width:3.5rem;height:3.5rem;box-sizing:border-box;display:grid;place-items:center;overflow:visible;border-radius:.55rem;background:#090b14e8;font-size:clamp(1.55rem,2vw,2.15rem);line-height:1;text-align:center;white-space:nowrap}.d20-corner-tray .d20-public h2{margin:.15rem;font-size:clamp(.8rem,1.25vw,1.25rem)}.d20-corner-tray .d20-public>p{display:block;max-width:100%;margin:.08rem;font-size:clamp(.62rem,.72vw,.8rem);line-height:1.08;white-space:normal}.d20-corner-tray .selected-square,.d20-corner-tray .modified-xp{padding:.12rem .3rem;border:0;background:transparent;color:var(--accent)}.d20-ready-state{width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:.25rem;text-align:center}.d20-ready-state span{font:800 clamp(.75rem,1vw,1rem) var(--font-heading);letter-spacing:.18em;color:var(--muted,#94a3b8)}.d20-ready-state strong{font:1000 clamp(2rem,4vw,4rem) var(--font-display);color:var(--accent,#a78bfa);text-shadow:0 0 1.5rem color-mix(in srgb,var(--accent,#a78bfa) 60%,transparent)}.d20-ready-state small{color:var(--text,#fff)}@media(max-width:900px){.presentation:has(>.d20-corner-tray) .board-position,.presentation .d20-tray-board .board-position{left:14%!important;width:62%!important}.d20-corner-tray{width:21vw;height:29vh;right:2%;bottom:4%}}.presentation .audience-square .square-d20-value{display:block;margin-top:.1rem;font:800 clamp(.58rem,.78vw,.88rem) var(--font-body);letter-spacing:.06em;color:var(--text);opacity:.82;text-shadow:none}.presentation .broadcast-timer{aspect-ratio:1 / 1!important;height:auto!important;display:grid!important;place-items:center!important;align-content:center!important;justify-content:center!important;padding:0!important;line-height:1!important;font-size:clamp(3rem,calc(var(--timer-size,72px) * var(--content-scale,1) * 1.5),15rem)!important;text-align:center!important;font-variant-numeric:tabular-nums;border-radius:50%!important}.presentation .broadcast-timer.expired{background:#b91c1c!important;border-color:#fecaca!important;color:#fff!important;box-shadow:0 0 2rem #ef444499!important;font-size:clamp(1rem,1.8vw,2rem)!important;font-weight:1000!important;letter-spacing:.04em;white-space:nowrap}.presentation .broadcast-timer.expired:after{content:none!important}.presentation .question-game{display:flex;align-items:center;gap:.75rem;width:max-content;max-width:100%;margin:0 auto;justify-content:center;text-align:center;padding:.55rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--text);font:700 clamp(1rem,1.6vw,1.65rem) var(--font-heading)}.presentation .question-game span{color:var(--accent);font-size:.7em;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.presentation .question-game strong{overflow-wrap:anywhere}body.host-dark:has(.host-console){background:#080d18;color:#e8edf7}.host-dark .host-console{color:#e8edf7}.host-dark .host-console .show-controls,.host-dark .host-console .host-column,.host-dark .host-console .host-side>section,.host-dark .host-console .timer-panel,.host-dark .host-console .private-question,.host-dark .host-console .history,.host-dark .host-console .video-feed-controls{background:#111a2b;color:#e8edf7;border-color:#536788}.host-dark .host-console .host-column{background:#172238}.host-dark .host-console .live-square{background:#253657;color:#f8fafc;border:1px solid #52678d}.host-dark .host-console .live-square.state-completed{background:#1f6a4b}.host-dark .host-console .live-square.state-skipped{background:#46536a}.host-dark .host-console .live-square.state-opened{background:#4a3712}.host-dark .host-console input,.host-dark .host-console select,.host-dark .host-console textarea{background:#0a1221;color:#f8fafc;border-color:#536788}.host-dark .host-console .secondary{background:#2b3b58;color:#f8fafc}.host-dark .host-console .host-dark-toggle{background:#f3c64e;color:#17120a;font-weight:800}.host-dark .host-console .live-score{border-color:#34445f}.host-dark .host-console .video-feed-row{background:#172238;border-color:#34445f;border-radius:8px;margin-top:8px;padding:10px}.host-dark .host-console .video-feed-controls .field-help{color:#b8c4d9}.host-dark .host-console .video-feed-controls input::placeholder{color:#7f90ad}.host-dark .host-console .warning{background:#44350d;color:#fff1ae;border-color:#e5a000}.host-dark .host-console .error{background:#4a1820;color:#ffd9df}.host-dark .host-console a.text,.host-dark .host-console button.text{color:#aab8ff}.host-dark .team-control-card{background:#172238;color:#e8edf7;border-color:#3e5274}.host-dark .team-control-card.connected{border-color:#36b676}.host-dark .team-card-status span,.host-dark .buzzer-state{background:#273753;color:#e8edf7}.host-dark .team-control h2,.host-dark .team-control-status,.host-dark .team-advanced summary{color:#f3f6ff}.host-dark .team-score-actions .team-remove{color:#ffd9df;border-color:#8d3d4a;background:#401923}.host-dark .team-camera-missing{color:#aebbd0}.host-dark .team-member-roster{background:#101a2d;border-color:#34445f}.host-dark .team-member-roster>strong,.host-dark .team-member-roster small,.host-dark .team-member-roster p{color:#aebbd0}.host-dark .team-advanced{border-color:#34445f}body.backend-dark{background:#080d18;color:#e8edf7;color-scheme:dark}.backend-dark nav{background:#080d18;border-bottom:1px solid #34445f}.backend-dark nav .app-dark-toggle{background:#f3c64e;color:#17120a;font-weight:800}.backend-dark main{color:#e8edf7}.backend-dark input,.backend-dark select,.backend-dark textarea{background:#0a1221;color:#f8fafc;border-color:#536788}.backend-dark input::placeholder,.backend-dark textarea::placeholder{color:#8392aa}.backend-dark .secondary{background:#2b3b58;color:#f8fafc}.backend-dark .text{color:#aab8ff}.backend-dark .table-wrap,.backend-dark .editor,.backend-dark .builder-form,.backend-dark .board article,.backend-dark .empty,.backend-dark .episode-card,.backend-dark .score-row,.backend-dark .active-question,.backend-dark .history{background:#111a2b;color:#e8edf7;border-color:#34445f}.backend-dark th{background:#172238;color:#f8fafc}.backend-dark th,.backend-dark td{border-color:#34445f}.backend-dark .board-column,.backend-dark .run-column{background:#172238;color:#e8edf7}.backend-dark .status{background:#2b3b58;color:#e8edf7}.backend-dark .status-completed{background:#155538}.backend-dark .status-in_progress{background:#614a0d}.backend-dark .status-archived{background:#3a4659}.backend-dark .modal{background:#02050dcc}.backend-dark .error{background:#4a1820;color:#ffd9df}.backend-dark .warning{background:#44350d;color:#fff1ae;border-color:#e5a000}.backend-dark .d20-settings{background:#111a2b;color:#e8edf7}.backend-dark .theme-designer,.backend-dark .theme-designer-loading{background:#090d18;color:#e5edf9}.backend-dark .designer-toolbar{background:#0f172a;border-color:#334155}.backend-dark .designer-navigation,.backend-dark .designer-inspector{background:#101827;color:#e5edf9}.backend-dark .designer-inspector fieldset,.backend-dark .position-editor{border-color:#41516c}.backend-dark .font-preview-list button{background:#182235;border-color:#41516c}.game-system-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch}.game-system-row>.d20-panel,.game-system-row>.contestant-panel{margin-top:20px;min-width:0;height:calc(100% - 20px)}.d20-host-preview{--accent:#ffd166;--primary:#7c3aed;--surface:#111a35;--text:#fff;--font-display:Inter,system-ui,sans-serif;margin:16px 0;border:1px solid #5267ae;border-radius:12px;overflow:hidden;background:radial-gradient(circle at top,#20305d,#070b18 70%);color:#fff}.d20-host-preview .d20-public{height:360px;min-height:360px;max-width:none;padding:14px;grid-template-rows:minmax(0,1fr) auto auto;align-content:center}.d20-host-preview .d20-three{width:min(22vw,280px)}.d20-host-preview .d20-webgl-fallback{width:min(20vw,250px);font-size:72px}.d20-host-preview .d20-result-readout{font-size:3.2rem;margin-top:-.5rem}.d20-host-preview .d20-public h2{font-size:1.55rem;margin:.35rem}.d20-host-preview .d20-public>p{font-size:1rem;margin:.2rem}.d20-host-preview .natural20-energy{border-radius:12px}.timer-panel .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.timer-panel .actions button{width:100%;min-width:0;white-space:nowrap}.timer-panel label{display:grid;grid-template-columns:1fr minmax(80px,110px);align-items:center;gap:10px}.timer-panel input[type=number]{width:100%}.live-layout .host-side>.timer-panel{display:none}.question-timer-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1fr);gap:20px;align-items:stretch;margin-top:20px}.question-timer-row>.private-question,.question-timer-row>.question-timer-panel{height:100%;margin:0}.question-judgement-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:1rem 0;padding:1rem;border:2px solid #6875d1;border-radius:10px;background:#eef1ff}.question-judgement-actions strong{margin-right:auto}.question-judgement-actions button.correct{background:#087f5b}.question-judgement-actions button.incorrect{background:#b42318}.question-timer-panel{display:flex;flex-direction:column}.question-timer-panel .actions{margin-top:auto}.host-console .live-layout{grid-template-columns:1fr}.host-console .live-layout>.host-side{display:none}.team-control{display:flex;flex-direction:column;gap:12px}.team-control .broadcast-heading{margin:0}.team-control-status{display:grid;justify-items:end;gap:4px;font-size:.82rem}.buzzer-state{padding:4px 8px;border-radius:999px;background:#dfe5ef;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.buzzer-state.state-open,.buzzer-state.state-steal-open{background:#b9f6cf;color:#075d2e}.buzzer-state.state-answering{background:#fff0a8;color:#674b00}.team-global-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.team-global-actions button{min-width:0;padding:9px 6px}.team-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.team-control-card{padding:12px;border:2px solid #c5cedd;border-radius:12px;background:#f6f8fc;box-shadow:0 7px 18px #23304b12}.team-control-card.connected{border-color:#31a36a}.team-control-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 9px}.team-control-card>header>div{display:flex;align-items:center;gap:7px;min-width:0}.team-control-card h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-control-card>header>strong{font-size:1.35rem;white-space:nowrap}.team-presence{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#9aa6b8}.connected .team-presence{background:#1f9d58;box-shadow:0 0 0 4px #1f9d5822}.team-card-status{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.team-card-status span{padding:3px 6px;border-radius:999px;background:#e4e9f1;font-size:.72rem;font-weight:800}.team-member-roster{margin:8px 0;padding:8px;border:1px solid #d9e0ea;border-radius:8px;background:#fff}.team-member-roster>strong{display:block;margin-bottom:5px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#667085}.team-member-roster ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.team-member-roster li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;font-size:.84rem}.team-member-roster li>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}.team-member-roster small{color:#667085}.team-member-roster p{margin:0;color:#667085;font-size:.8rem}.member-presence{width:8px;height:8px;border-radius:50%;background:#98a2b3}.member-presence.online{background:#22a06b;box-shadow:0 0 0 2px #22a06b22}.team-camera-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;margin-bottom:9px}.team-camera-row label{display:grid;gap:3px;font-size:.72rem;font-weight:800}.team-camera-row select{min-width:0;padding:7px}.team-camera-row button{padding:7px}.team-camera-missing{min-height:31px;margin:0 0 9px;color:#667085;font-size:.78rem}.team-score-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.team-score-actions button{min-width:0;padding:8px 5px;font-size:.78rem}.team-score-actions .team-remove{grid-column:1/-1;color:#a11d2f;border-color:#d9a2aa;background:#fff5f6}.team-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.team-add input{min-width:0}.team-responder{margin:0;display:grid;grid-template-columns:minmax(0,1fr) repeat(3,auto);gap:7px}.team-responder>div{display:grid}.team-responder span{font-size:.8rem}.team-advanced{border-top:1px solid #d6dce7;padding-top:9px}.team-advanced summary{cursor:pointer;font-weight:900}.team-advanced[open] summary{margin-bottom:10px}@media(max-width:1100px){.game-system-row{grid-template-columns:1fr}.game-system-row>.d20-panel,.game-system-row>.contestant-panel{height:auto}.d20-host-preview .d20-three{width:min(48vw,300px)}}@media(max-width:900px){.question-timer-row{grid-template-columns:1fr}}@media(max-width:650px){.team-control-grid{grid-template-columns:1fr}.team-global-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.team-responder{grid-template-columns:1fr}}@media(max-width:500px){.timer-panel .actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.video-feed-controls{background:#fff;padding:18px;border-radius:10px;margin:18px 0}.video-feed-add{display:grid;grid-template-columns:minmax(10rem,.6fr) minmax(20rem,1.4fr) auto;gap:8px}.video-feed-row{display:grid;grid-template-columns:minmax(9rem,1fr) auto auto auto auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #ddd}.video-feed-row label{display:flex;align-items:center;gap:6px}.video-feed-row button.active{background:#18794e}.production-video-strip{position:absolute;z-index:85;top:2.5%;left:50%;width:min(95vw,calc(100% - 2rem));height:15%;transform:translate(-50%);display:grid;grid-template-columns:minmax(0,1fr) clamp(9.375rem,15.625vmin,15.625rem) minmax(0,1fr);align-items:center;gap:clamp(.5rem,1vmin,1.25rem);pointer-events:none}.production-host-slot{position:absolute;z-index:86;width:min(14vw,20.5625vh,260px);min-width:0;display:flex;align-items:center;pointer-events:none}.production-host-slot .production-video{position:relative;inset:auto;width:100%;max-width:100%;border-radius:clamp(4px,.4vw,7px);pointer-events:auto}.production-host-slot .production-video.loading,.production-host-slot .production-video.connecting{visibility:hidden;pointer-events:none}.production-host-slot.host-position-top-left{left:var(--action-safe);top:var(--action-safe)}.production-host-slot.host-position-top-right{right:var(--action-safe);top:var(--action-safe)}.production-host-slot.host-position-bottom-left{left:var(--action-safe);bottom:var(--action-safe)}.production-host-slot.host-position-bottom-right{right:var(--action-safe);bottom:var(--action-safe)}.production-video-team{height:11.5625vh;display:grid;align-items:center;min-width:0}.production-video-row{display:flex;align-items:center;gap:clamp(.4rem,.75vw,1rem);min-width:0}.production-video-team-left .production-video-row{justify-content:flex-end}.production-video-team-right .production-video-row{justify-content:flex-start}.production-video-strip .production-video{position:relative;inset:auto;width:min(17.5vw,20.5625vh,325px);max-width:calc((100% - 1rem)/2);flex:0 1 auto;pointer-events:auto}.production-video-strip .production-video.loading{visibility:hidden;position:absolute;pointer-events:none}.production-video-strip .production-video.connecting{opacity:.72}.production-team-score{min-width:clamp(5.5rem,8vw,8rem);display:grid;place-items:center;padding:.45rem .7rem;border:2px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 .5rem 1.5rem #0008;text-align:center}.production-team-score span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 clamp(.7rem,1vw,1rem) var(--font-participant,var(--font-body));color:var(--text)}.production-team-score strong{font:1000 clamp(1rem,1.65vw,1.7rem) var(--font-score);color:var(--accent);white-space:nowrap}.production-video-logo{height:14.453125vh;display:grid;place-items:center;padding:.1rem;min-height:0}.production-video-logo img{display:block;width:100%;height:100%!important;max-height:100%!important;min-height:0;object-fit:contain;filter:drop-shadow(0 .5rem 1rem #000b)}.production-video-logo strong{text-align:center;font:900 clamp(.9rem,1.5vw,1.5rem)/1 var(--font-display);color:var(--text);text-shadow:0 2px 8px #000}.production-video{--video-edge-gap:clamp(1rem,2vw,2.5rem);width:min(16.5vw,315px)}.production-video-top-left{left:calc(var(--action-safe) + var(--video-edge-gap));top:calc(var(--title-safe) + var(--video-edge-gap))}.production-video-top-right{right:calc(var(--action-safe) + var(--video-edge-gap));top:calc(var(--title-safe) + var(--video-edge-gap))}.production-video-bottom-left{left:calc(var(--action-safe) + var(--video-edge-gap));bottom:calc(8% + var(--video-edge-gap))}.production-video-bottom-right{right:calc(var(--action-safe) + var(--video-edge-gap));bottom:calc(8% + var(--video-edge-gap))}@media(max-width:900px){.video-feed-add,.video-feed-row{grid-template-columns:1fr}}@media(max-width:900px){.production-video-strip{width:calc(100% - 1rem);grid-template-columns:minmax(0,1fr) 6.25rem minmax(0,1fr);gap:.35rem}.production-video-strip .production-video{width:min(20vw,180px)}.production-host-slot{width:min(16vw,8rem)}}.host-media-panel iframe{display:block;width:min(100%,42rem);aspect-ratio:16/9;margin-top:.75rem;border:0;border-radius:10px;background:#000}.host-media-panel .player-media-controls{justify-content:flex-start;margin:.6rem 0}.host-video-position{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:.8rem 0;padding:.7rem;border:1px solid #475569;border-radius:.65rem}.host-video-position legend{padding:0 .35rem;font-weight:800}.host-video-position button{min-height:2.6rem}.presentation.scene-board .board-position{top:17%!important;left:9%!important;width:82%!important;height:72%!important}.presentation.scene-board:has(>.d20-corner-tray) .board-position{top:17%!important;left:21%!important;width:58%!important;height:72%!important}.presentation.scene-board .audience-board{height:100%;gap:clamp(.45rem,.8vw,.8rem)}.presentation.scene-board .audience-board article{grid-template-rows:minmax(2rem,.54fr) repeat(5,1fr);gap:clamp(.35rem,.6vw,.65rem)}.presentation.scene-board .audience-board h2{padding:.35rem;font-size:clamp(.85rem,1.45vw,1.6rem)}.presentation.scene-board .audience-square{font-size:clamp(1.2rem,2.55vw,2.85rem)}.presentation .d20-board-backdrop{inset:15% 6% 7%!important}@media(max-width:900px){.presentation.scene-board:has(>.d20-corner-tray) .board-position{left:14%!important;width:62%!important}.presentation.scene-board:has(>.d20-corner-tray) .audience-board h2{font-size:clamp(.7rem,1.35vw,1rem)}.presentation.scene-board:has(>.d20-corner-tray) .audience-square{font-size:clamp(1rem,2.3vw,2rem)}}.security-screen{width:100%;max-width:none;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at top,#3b176c,#070814 70%);color:#fff}.security-card{width:min(30rem,100%);display:grid;gap:1rem;padding:clamp(1.5rem,5vw,2.5rem);border:1px solid #7c3aed;border-radius:1.5rem;background:#0c1025e8;box-shadow:0 1.5rem 5rem #000a}.security-card img{width:min(18rem,80%);max-height:13rem;object-fit:contain;margin:auto}.security-card h1,.security-card .eyebrow{text-align:center}.security-card label{display:grid;gap:.4rem}.security-card input,.security-card button{min-height:3.3rem}.player-shell{--player-ink:#f9f7ff;--player-muted:#c2bdd3;--player-panel:rgba(18,12,34,.88);--player-border:rgba(195,169,255,.24);width:100%;max-width:none;min-height:100vh;box-sizing:border-box;margin:0;padding:clamp(20px,4vw,56px);color:var(--player-ink);background:radial-gradient(circle at 15% 10%,rgba(128,66,255,.28),transparent 34%),radial-gradient(circle at 85% 25%,rgba(255,47,148,.18),transparent 30%),linear-gradient(145deg,#080512,#150c28 58%,#07040d);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.player-header{max-width:1100px;margin:0 auto clamp(56px,9vw,110px);display:flex;align-items:center;justify-content:space-between;gap:24px}.player-brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.player-brand>span:first-child{display:grid;place-items:center;width:46px;height:46px;border:1px solid #a982ff;border-radius:14px;background:linear-gradient(135deg,#7138ed,#cf3eaa);box-shadow:0 12px 32px #692de059;font-size:25px}.player-brand span:last-child{display:grid}.player-brand strong{text-transform:uppercase;letter-spacing:.08em}.player-brand small{color:var(--player-muted);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.player-header nav{display:flex;gap:22px;padding:0;background:transparent;color:inherit}.player-header nav a{color:var(--player-muted);font-weight:700;text-decoration:none}.player-header nav a:hover,.player-header nav a:focus-visible{color:#fff}.player-hero,.player-card{max-width:900px;margin:0 auto}.player-hero{padding:clamp(10px,2vw,26px) 0 clamp(42px,7vw,80px)}.player-hero h1,.player-card h1{margin:.15em 0;font-family:Georgia,serif;font-size:clamp(2.5rem,7vw,5.6rem);line-height:.94;letter-spacing:-.045em}.player-hero>p:not(.eyebrow){max-width:650px;color:var(--player-muted);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65}.eyebrow{margin:0 0 12px;color:#cfaeff;font-size:.76rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.player-card{box-sizing:border-box;padding:clamp(24px,5vw,48px);border:1px solid var(--player-border);border-radius:26px;background:var(--player-panel);box-shadow:0 30px 70px #00000052;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.player-card h1{font-size:clamp(2rem,5vw,3.6rem)}.player-card h2{margin:4px 0 10px;font-size:clamp(1.5rem,3vw,2.25rem)}.player-card p{color:var(--player-muted);line-height:1.6}.player-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.player-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;box-sizing:border-box;padding:0 22px;border:1px solid transparent;border-radius:999px;color:#fff;background:linear-gradient(135deg,#7947f5,#d03eaa);font-weight:900;text-decoration:none;box-shadow:0 12px 30px #753ae14d}.player-button.secondary{border-color:var(--player-border);background:#ffffff0e;box-shadow:none}.player-button:hover,.player-button:focus-visible{filter:brightness(1.15);transform:translateY(-1px)}.open-play-empty{display:flex;align-items:center;gap:24px}.open-play-icon{display:grid;place-items:center;flex:0 0 86px;aspect-ratio:1;color:#fff;background:linear-gradient(145deg,#6f34de,#d842a9);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);font-family:Georgia,serif;font-size:2rem;font-weight:900}.open-play-page>.player-button{margin:24px auto 0;max-width:220px}.player-account-callout{max-width:760px}.player-profile{display:flex;align-items:center;gap:24px;margin-bottom:24px}.player-profile h1{font-size:clamp(2rem,5vw,3.2rem)}.player-avatar{display:grid;place-items:center;flex:0 0 88px;aspect-ratio:1;overflow:hidden;border:2px solid #a982ff;border-radius:50%;background:#3b2466;font-size:2rem;font-weight:900}.player-avatar img{width:100%;height:100%;object-fit:cover}.player-admin-callout{margin-top:24px}.player-text-button{display:block;margin:26px auto;border:0;color:var(--player-muted);background:transparent;text-decoration:underline;cursor:pointer}.player-auth-shell>[data-slot=card]{margin-inline:auto}.role-admin-page>.player-button{margin:24px auto 0;max-width:220px}.role-list{padding:0;overflow:hidden}.role-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.role-row:last-child{border-bottom:0}.role-row strong,.role-row small{display:block}.role-row small{margin-top:4px;color:var(--player-muted)}.role-row select{min-width:170px}.player-role-error{max-width:900px;box-sizing:border-box;margin:0 auto 20px;padding:14px 18px;border:1px solid #ff738d;border-radius:12px;color:#ffd8df;background:#5d1830}@media(max-width:620px){.player-header{align-items:flex-start}.player-header nav{display:grid;gap:8px;text-align:right}.open-play-empty,.player-profile,.role-row{align-items:flex-start;flex-direction:column}.role-row select{width:100%}.open-play-icon{flex-basis:70px}.player-actions{display:grid}.player-button{width:100%}}@media(prefers-reduced-motion:no-preference){.player-button{transition:transform .18s ease,filter .18s ease}.player-card{animation:player-rise .45s ease both}@keyframes player-rise{0%{opacity:0;transform:translateY(12px)}}}
