:root{--bg:#f4f5ef;--panel:#fff;--ink:#17211d;--muted:#68736d;--line:#dfe4de;--lime:#c9ff38;--green:#173e33;--orange:#ff6542;--blue:#4078ff;--yellow:#ffc52d;--shadow:0 24px 70px #15221b18;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:light}
html[data-theme=dark]{--bg:#101815;--panel:#19241f;--ink:#f6f8f0;--muted:#aab5ae;--line:#34433c;--green:#c9ff38;color-scheme:dark}
@media(prefers-color-scheme:dark){html[data-theme=system]{--bg:#101815;--panel:#19241f;--ink:#f6f8f0;--muted:#aab5ae;--line:#34433c;--green:#c9ff38;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:.7rem;font-weight:850;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;background:var(--lime);color:#15251e;border-radius:10px;transform:rotate(-5deg)}.topbar{height:78px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.icon-btn,.ghost{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:.65rem .9rem;border-radius:10px}.primary{border:0;border-radius:10px;background:var(--green);color:var(--bg);font-weight:800;padding:.9rem 1.25rem;box-shadow:0 8px 20px #16251a20}.wide{width:100%;display:flex;justify-content:center;gap:1rem}.eyebrow,.card-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:850;color:#35745f;text-transform:uppercase}.join-shell{width:min(1180px,92vw);margin:auto;min-height:calc(100vh - 140px);display:grid;grid-template-columns:1.1fr .8fr;gap:8vw;align-items:center}.hero-copy h1{font-size:clamp(3.2rem,7vw,6.7rem);line-height:.9;letter-spacing:-.07em;margin:1rem 0 1.5rem}.hero-copy h1 em{font-style:normal;color:#2d725e}.hero-copy p{font-size:1.15rem;color:var(--muted)}.steps{display:flex;align-items:center;gap:.85rem;margin-top:3rem;font-size:.82rem;font-weight:700}.steps span{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.steps b{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%}.steps i{height:1px;flex:1;background:var(--line)}.join-card,.modal-card,.editor{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow)}.join-card h2,.modal-card h1{font-size:2rem;margin:.5rem 0 1.8rem;letter-spacing:-.04em}label{display:grid;gap:.45rem;font-size:.78rem;font-weight:750;color:var(--muted);margin-bottom:1rem}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:9px;padding:.85rem 1rem;outline:none}input:focus,select:focus,textarea:focus{border-color:#599e84;box-shadow:0 0 0 3px #60b99820}.form-error{color:#d64a34;min-height:1.2em;font-size:.85rem}body>footer{height:60px;padding:0 5vw;display:flex;justify-content:space-between;color:var(--muted)}body>footer span{color:#38836a}.game-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.mobile-choices{display:grid;gap:.8rem}.choice{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:1rem;text-align:left;font-weight:750}.choice.selected{outline:3px solid #5b977f;background:#dcffe9;color:#15251e}.choice.correct{background:#c9ff38;color:#16251f}.choice.wrong{opacity:.5}.submitted{color:#348268;font-weight:700}.mobile-leader{margin-top:1rem;color:var(--muted)}
.modal-card{width:min(440px,92vw);margin:10vh auto}.game-page{background:#0b1511;color:#f5f8ef;padding:clamp(1rem,2vw,2rem);overflow-x:hidden}.game-page .modal-card{color:var(--ink)}#stage{min-height:calc(100vh - 4rem);display:flex;flex-direction:column;gap:clamp(1rem,2vh,2rem)}.stage-head{display:flex;justify-content:space-between;align-items:flex-start}.stage-head p{color:#90a399;margin:.5rem 0}.join-detail{text-align:right;display:grid;gap:.2rem}.join-detail small,.side-card small,.score-strip small{color:#91a299;letter-spacing:.14em;font-weight:800}.join-detail strong{color:var(--lime);font-size:clamp(1.1rem,2vw,1.8rem)}.join-detail b{font-size:1.5em;margin-left:.4rem}.stage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,25vw);gap:clamp(1rem,2vw,2rem);flex:1}.question-card,.side-card,.score-strip{background:#14221c;border:1px solid #2c3a34;border-radius:18px}.question-card{padding:clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column}.category{color:#62d7aa;font-size:.8rem;font-weight:900;letter-spacing:.18em}.question-card h1{font-size:clamp(2rem,4.2vw,5rem);line-height:1.04;letter-spacing:-.045em;margin:clamp(1rem,3vh,2.5rem) 0;flex:1}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stage-choice{padding:clamp(.9rem,2vh,1.6rem);border-radius:12px;font-size:clamp(1rem,1.7vw,1.6rem);font-weight:800;background:#23332c;border-left:8px solid var(--accent)}.stage-choice.correct{background:var(--lime);color:#132019}.stage-choice.dim{opacity:.25}.side-card{display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding:1.5rem;text-align:center}.timer-wrap strong{display:block;font-size:clamp(4rem,9vw,8rem);color:var(--lime);line-height:1}.timer-track{height:6px;background:#35453d;border-radius:4px;margin-top:1rem;overflow:hidden}.timer-track i{display:block;width:100%;height:100%;background:var(--lime)}.side-card img{width:min(80%,260px);aspect-ratio:1;background:#fff;border-radius:12px;padding:8px}.score-strip{display:flex;gap:4vw;align-items:center;padding:1rem 1.5rem}.score-strip div{display:grid;gap:.2rem}.score-strip b{font-size:clamp(1.2rem,2.4vw,2rem)}.score-strip .leader{margin-left:auto}.host-controls{display:flex!important;grid-auto-flow:column;gap:.3rem!important}.host-controls button{border:1px solid #42544b;background:transparent;color:#c9d4ce;border-radius:7px;padding:.55rem}
.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.admin-nav{background:#14241d;color:#edf5ed;padding:2rem 1.4rem;display:flex;flex-direction:column}.admin-nav .brand{font-size:1.25rem}.admin-nav nav{display:grid;gap:.35rem;margin-top:4rem}.admin-nav nav>* ,.admin-nav>div button{border:0;background:transparent;color:#afbeb6;padding:.8rem;text-align:left;border-radius:8px}.admin-nav nav .active{background:#284237;color:#fff}.admin-nav>div{margin-top:auto;display:grid}.admin-main{padding:clamp(1.5rem,4vw,4rem);max-width:1300px;width:100%}.admin-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-main h1{font-size:clamp(2rem,4vw,3.5rem);margin:.25rem 0;letter-spacing:-.05em}.admin-main header p{color:var(--muted)}.game-list{display:grid;gap:1rem}.game-row{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:1.2rem 1.5rem;display:grid;grid-template-columns:1fr auto auto auto;gap:2rem;align-items:center}.game-row h3{margin:0}.game-row p{margin:.3rem 0 0;color:var(--muted);font-size:.85rem}.code-pill{font-weight:900;letter-spacing:.12em;background:#e5f9ad;color:#1a3025;padding:.45rem .7rem;border-radius:8px}.status-pill{color:#37785f}.editor{margin-top:2rem}.editor-head{display:flex;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.span2{grid-column:span 2}.check{display:flex;grid-auto-flow:column;justify-content:start;align-items:center}.check input{width:auto}.hint{color:var(--muted);font-size:.85rem}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
@media(max-width:800px){.join-shell{grid-template-columns:1fr;padding:3rem 0}.hero-copy{display:none}.steps{display:none}.stage-grid{grid-template-columns:1fr}.side-card{display:grid;grid-template-columns:1fr 1fr}.side-card img{max-width:130px}.answer-grid{grid-template-columns:1fr}.score-strip{flex-wrap:wrap}.admin-shell{grid-template-columns:1fr}.admin-nav{flex-direction:row;align-items:center;padding:1rem}.admin-nav nav{display:none}.admin-nav>div{margin:0 0 0 auto;display:flex}.game-row{grid-template-columns:1fr auto;gap:1rem}.game-row .status-pill{display:none}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.stage-head{gap:1rem}.join-detail strong{display:none}}
@media(max-height:650px) and (min-width:801px){.question-card h1{font-size:clamp(2rem,7vh,4rem);margin:1rem 0}.stage-choice{padding:.7rem}.stage-grid{grid-template-columns:1fr 220px}}
.account-panel{margin:1rem 0 2rem;color:var(--muted)}.account-panel form{display:flex;gap:.6rem;align-items:end;margin-top:1rem}.account-panel label{margin:0;max-width:320px;flex:1}

/* Lively presentation display */
.game-page{background:
 radial-gradient(circle at 8% 12%,#173f34 0,transparent 24%),
 radial-gradient(circle at 92% 88%,#372852 0,transparent 26%),
 linear-gradient(135deg,#07120e,#101a27 58%,#171026);position:relative}
.game-page #stage{position:relative;z-index:2}
.stage-decor{position:fixed;border-radius:40%;filter:blur(1px);opacity:.45;pointer-events:none;z-index:0;animation:stage-float 9s ease-in-out infinite}
.decor-one{width:180px;height:180px;background:#c7ff35;right:-70px;top:23%;transform:rotate(24deg)}
.decor-two{width:120px;height:120px;background:#ff6542;left:-60px;bottom:12%;animation-delay:-3s}
.decor-three{width:85px;height:85px;border:16px solid #4a7dff;right:28%;top:-48px;animation-delay:-6s}
@keyframes stage-float{50%{translate:0 18px;rotate:8deg}}
.stage-head .brand-mark{box-shadow:0 0 28px #c9ff3866}
.question-card,.side-card,.score-strip{background:#12241edb;backdrop-filter:blur(14px);border-color:#ffffff24;box-shadow:0 18px 50px #0005}
.question-card{position:relative;overflow:hidden}
.question-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#c9ff3810;right:-80px;top:-90px}
.category{display:inline-flex;align-self:flex-start;background:#55e7b122;color:#72f4c2;border:1px solid #67e7b544;padding:.45rem .75rem;border-radius:999px}
.answer-grid{position:relative;z-index:1}
.stage-choice{display:flex;align-items:center;gap:1rem;border:0;border-left:0;background:var(--accent);color:#fff;box-shadow:0 10px 22px #0003;transform:translateZ(0)}
.stage-choice:nth-child(3){color:#201b09}.stage-choice b{display:grid;place-items:center;flex:0 0 2.3em;aspect-ratio:1;border-radius:50%;background:#0003;font-size:.75em}.stage-choice span{line-height:1.15}
.stage-choice.correct{background:#c9ff38;color:#122019;box-shadow:0 0 0 5px #fff,0 0 45px #c9ff3888;animation:correct-pop .6s ease}.stage-choice.dim{filter:grayscale(.7);opacity:.2}
@keyframes correct-pop{50%{transform:scale(1.035)}}
.side-card{background:linear-gradient(165deg,#173c30dd,#17251fdd)}
.timer-wrap strong{filter:drop-shadow(0 0 18px #c9ff3855)}.timer-track{height:9px}.timer-track i{box-shadow:0 0 16px #c9ff38}
.qr-code{width:min(82%,260px);aspect-ratio:1;background:#fff;border-radius:18px;padding:12px;box-shadow:0 14px 35px #0005,0 0 0 6px #ffffff18;display:grid;place-items:center}
.qr-code svg{display:block;width:100%;height:100%}
.score-strip{border-top:3px solid #c9ff38}
.score-strip>div:nth-child(1) b{color:#72f4c2}.score-strip>div:nth-child(2) b{color:#ffd64a}.score-strip .leader b{color:#c9ff38}
.host-controls button:hover{background:#c9ff38;color:#122019;border-color:#c9ff38}
.waiting-steps{grid-template-columns:repeat(3,1fr);gap:1rem}
.waiting-steps div{display:grid;gap:.5rem;background:linear-gradient(135deg,#ffffff16,#ffffff08);border:1px solid #ffffff20;border-radius:15px;padding:1.25rem;color:#c6d4cd}
.waiting-steps b{font-size:2rem;color:#c9ff38}.waiting-steps span{font-weight:750}
@media(max-width:800px){.waiting-steps{grid-template-columns:1fr}.stage-decor{display:none}.qr-code{max-width:130px}}

/* Brighter v0.4 presentation palette */
.game-page{background:
 radial-gradient(circle at 8% 6%,#48d8b766 0,transparent 27%),
 radial-gradient(circle at 92% 12%,#845cff66 0,transparent 30%),
 radial-gradient(circle at 76% 92%,#ff64804d 0,transparent 30%),
 linear-gradient(135deg,#123d4c 0%,#243d79 48%,#542f73 100%);color:#fff}
.game-page:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#fff5 1.5px,transparent 1.5px);background-size:32px 32px;mask-image:linear-gradient(to bottom,#0008,transparent 75%)}
.question-card,.side-card,.score-strip{background:linear-gradient(145deg,#ffffff24,#ffffff12);border:1px solid #ffffff3d;box-shadow:0 18px 55px #08132f55,inset 0 1px #ffffff30}
.question-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#c9ff38,#50e5c2,#6e8cff,#ff6682)}
.question-card:after{background:#ffffff13}
.stage-head p,.join-detail small,.side-card small,.score-strip small{color:#d8e8f0}.join-detail strong{color:#d8ff52;text-shadow:0 3px 22px #c9ff3877}
.category{background:#d8ff52;color:#16382f;border:0;box-shadow:0 8px 22px #1115}
.question-card h1{text-shadow:0 4px 24px #07142f55}
.side-card{background:linear-gradient(165deg,#245b72dd,#593a7ddd)}
.timer-wrap strong{color:#e3ff62;text-shadow:0 4px 30px #d7ff5577}
.timer-track{background:#ffffff33}.timer-track i{background:linear-gradient(90deg,#e3ff62,#58f0ce)}
.qr-code{box-shadow:0 16px 40px #07142f66,0 0 0 7px #ffffff2e}
.score-strip{background:linear-gradient(90deg,#173f58df,#3f346fdf)}
.score-strip>div:nth-child(1) b{color:#74f3d2}.score-strip>div:nth-child(2) b{color:#ffe272}.score-strip .leader b{color:#dfff5d}
.waiting-steps div{background:linear-gradient(145deg,#ffffff2b,#ffffff12);border-color:#ffffff3b;box-shadow:0 12px 24px #101b4033}
.waiting-steps div:nth-child(1){border-top:5px solid #58e8c5}.waiting-steps div:nth-child(2){border-top:5px solid #ffe064}.waiting-steps div:nth-child(3){border-top:5px solid #ff7694}
.waiting-steps b{color:#e1ff65}.waiting-steps span{color:#f5f8ff}
.host-controls button{border-color:#ffffff50;color:#fff;background:#ffffff10}.host-controls button:hover{background:#e1ff65;color:#17343b}

/* Expanded player game view */
.player-page.playing .join-shell{display:block;width:min(1100px,94vw);padding:clamp(1rem,4vh,3rem) 0}
.player-page.playing .hero-copy{display:none}
.player-page.playing .join-card{width:100%;min-height:min(720px,calc(100vh - 170px));padding:clamp(1.5rem,4vw,3.5rem);display:flex;align-items:stretch}
.player-page.playing #playPanel{width:100%;display:flex;flex-direction:column}
.player-page.playing #playPanel[hidden]{display:none}
.player-page.playing .game-meta{font-size:clamp(.85rem,1.4vw,1.05rem)}
.player-page.playing #prompt{font-size:clamp(2rem,5vw,4.5rem);line-height:1.05;letter-spacing:-.045em;margin:clamp(1.5rem,5vh,3.5rem) 0}
.player-page.playing .mobile-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,2vw,1.25rem)}
.player-page.playing .choice{min-height:clamp(74px,12vh,120px);font-size:clamp(1rem,2.1vw,1.55rem);padding:clamp(1rem,2vw,1.5rem)}
.player-page.playing .submitted{font-size:1rem;margin-top:1.25rem}
.player-page.playing .mobile-leader{margin-top:auto;padding-top:1.5rem;font-size:1rem}
@media(max-width:640px){.player-page.playing .join-card{min-height:calc(100vh - 150px)}.player-page.playing .mobile-choices{grid-template-columns:1fr}.player-page.playing #prompt{font-size:clamp(1.8rem,9vw,3rem);margin:1.5rem 0}.player-page.playing .choice{min-height:68px}}

/* Ten game-display themes */
.game-page{scrollbar-width:none;-ms-overflow-style:none}.game-page::-webkit-scrollbar{display:none;width:0;height:0}
.game-page[data-game-theme]{transition:background .35s ease}
.game-page[data-game-theme] .stage-head,.game-page[data-game-theme] .stage-grid,.game-page[data-game-theme] .score-strip{transition:all .3s ease}

/* 1. Festival Pop: bright purple, aqua, confetti */
.game-page[data-game-theme="festival-pop"]{background:radial-gradient(circle at 12% 14%,#ffdd57 0 7%,transparent 8%),radial-gradient(circle at 86% 9%,#65f0d1 0 9%,transparent 10%),linear-gradient(135deg,#6d4aff,#c64fcf 52%,#ff718c);color:#fff}
.game-page[data-game-theme="festival-pop"] .question-card{background:linear-gradient(145deg,#ffffffee,#fff5f9e8);color:#302051}
.game-page[data-game-theme="festival-pop"] .question-card h1{text-shadow:none}.game-page[data-game-theme="festival-pop"] .side-card{background:linear-gradient(160deg,#173f63,#342b68)}.game-page[data-game-theme="festival-pop"] .score-strip{background:#2d245fcc}.game-page[data-game-theme="festival-pop"] .category{background:#603be8;color:#fff}

/* 2. Sunny Carnival: horizontal timer rail and warm daylight */
.game-page[data-game-theme="sunny-carnival"]{background:linear-gradient(145deg,#fff3a6,#ffb45e 52%,#ff7182);color:#44260d}
.game-page[data-game-theme="sunny-carnival"] .stage-head p,.game-page[data-game-theme="sunny-carnival"] .join-detail small{color:#674324}.game-page[data-game-theme="sunny-carnival"] .join-detail strong{color:#552778;text-shadow:none}
.game-page[data-game-theme="sunny-carnival"] .stage-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.game-page[data-game-theme="sunny-carnival"] .side-card{min-height:155px;display:grid;grid-template-columns:1fr 150px auto;gap:2rem;background:#542f74;color:#fff}.game-page[data-game-theme="sunny-carnival"] .qr-code{max-width:130px}.game-page[data-game-theme="sunny-carnival"] .question-card{background:#fffaf0ee;color:#482610}.game-page[data-game-theme="sunny-carnival"] .score-strip{background:#782f61e8}

/* 3. Sky High: QR panel on the left, cloud-light question card */
.game-page[data-game-theme="sky-high"]{background:linear-gradient(#71c9ff,#dff5ff);color:#153a58}.game-page[data-game-theme="sky-high"]:before{background-image:radial-gradient(#fff 3px,transparent 4px);background-size:75px 45px;opacity:.55}
.game-page[data-game-theme="sky-high"] .stage-grid{grid-template-columns:minmax(230px,24vw) minmax(0,1fr)}.game-page[data-game-theme="sky-high"] .side-card{order:-1;background:linear-gradient(160deg,#167ec0,#544bd8);color:#fff}.game-page[data-game-theme="sky-high"] .question-card{background:#fffffff0;color:#183650}.game-page[data-game-theme="sky-high"] .question-card h1{text-shadow:none}.game-page[data-game-theme="sky-high"] .score-strip{background:#18669edb}.game-page[data-game-theme="sky-high"] .stage-head p,.game-page[data-game-theme="sky-high"] .join-detail small{color:#285573}.game-page[data-game-theme="sky-high"] .join-detail strong{color:#4431aa;text-shadow:none}

/* 4. Paper Party: flat editorial cards and offset answers */
.game-page[data-game-theme="paper-party"]{background:#f2eee5;color:#242525}.game-page[data-game-theme="paper-party"]:before{background-image:linear-gradient(#d9d3c8 1px,transparent 1px),linear-gradient(90deg,#d9d3c8 1px,transparent 1px);background-size:28px 28px;opacity:.35}
.game-page[data-game-theme="paper-party"] .question-card,.game-page[data-game-theme="paper-party"] .side-card,.game-page[data-game-theme="paper-party"] .score-strip{background:#fff;color:#252525;border:2px solid #252525;border-radius:5px;box-shadow:8px 8px 0 #252525}.game-page[data-game-theme="paper-party"] .stage-choice{border-radius:4px;box-shadow:4px 4px 0 #242525}.game-page[data-game-theme="paper-party"] .category{background:#ffdd57;color:#222}.game-page[data-game-theme="paper-party"] .timer-wrap strong,.game-page[data-game-theme="paper-party"] .score-strip b{color:#563bd3;text-shadow:none}.game-page[data-game-theme="paper-party"] .stage-head p,.game-page[data-game-theme="paper-party"] .join-detail small,.game-page[data-game-theme="paper-party"] .side-card small,.game-page[data-game-theme="paper-party"] .score-strip small{color:#555}.game-page[data-game-theme="paper-party"] .join-detail strong{color:#d34463;text-shadow:none}

/* 5. Garden Party: calm greens with rounded organic cards */
.game-page[data-game-theme="garden-party"]{background:radial-gradient(circle at 15% 20%,#fff7c4 0 10%,transparent 11%),linear-gradient(135deg,#8edb9b,#dff3b5 55%,#fff2bf);color:#173d2b}
.game-page[data-game-theme="garden-party"] .question-card{background:#fffdf3ed;color:#24432f;border-radius:36px}.game-page[data-game-theme="garden-party"] .side-card{background:linear-gradient(160deg,#28664a,#4a8e5c);border-radius:36px}.game-page[data-game-theme="garden-party"] .score-strip{background:#276247e8;border-radius:30px}.game-page[data-game-theme="garden-party"] .stage-choice{border-radius:28px}.game-page[data-game-theme="garden-party"] .category{background:#316d4d;color:#fff}.game-page[data-game-theme="garden-party"] .stage-head p,.game-page[data-game-theme="garden-party"] .join-detail small{color:#315d46}.game-page[data-game-theme="garden-party"] .join-detail strong{color:#713c70;text-shadow:none}

/* 6. Ocean Splash: cool diagonal layout with a wide answer area */
.game-page[data-game-theme="ocean-splash"]{background:radial-gradient(circle at 85% 20%,#6af4da55,transparent 24%),linear-gradient(145deg,#076b91,#243b8f 55%,#592c89)}
.game-page[data-game-theme="ocean-splash"] .stage-grid{grid-template-columns:minmax(0,1.25fr) minmax(250px,20vw)}.game-page[data-game-theme="ocean-splash"] .question-card{background:linear-gradient(145deg,#0e8da5dd,#253d8ddd)}.game-page[data-game-theme="ocean-splash"] .side-card{background:linear-gradient(165deg,#14a59b,#234a91)}.game-page[data-game-theme="ocean-splash"] .score-strip{background:#072f58df}.game-page[data-game-theme="ocean-splash"] .category{background:#75f7dc;color:#083f4b}

/* 7. Retro Arcade: dark, squared, neon and compact */
.game-page[data-game-theme="retro-arcade"]{background:#120b26;color:#f8f0ff;font-family:"Courier New",monospace}.game-page[data-game-theme="retro-arcade"]:before{background-image:linear-gradient(#5e2fa833 1px,transparent 1px),linear-gradient(90deg,#5e2fa833 1px,transparent 1px);background-size:26px 26px}
.game-page[data-game-theme="retro-arcade"] .question-card,.game-page[data-game-theme="retro-arcade"] .side-card,.game-page[data-game-theme="retro-arcade"] .score-strip{background:#180f32;border:3px solid #24f5d0;border-radius:0;box-shadow:7px 7px 0 #ff4fbd}.game-page[data-game-theme="retro-arcade"] .stage-choice,.game-page[data-game-theme="retro-arcade"] .category,.game-page[data-game-theme="retro-arcade"] .qr-code{border-radius:0}.game-page[data-game-theme="retro-arcade"] .category{background:#ffeb3b;color:#191023}.game-page[data-game-theme="retro-arcade"] .timer-wrap strong{color:#ffeb3b}

/* 8. Midnight Neon: sleek dark game-show mode */
.game-page[data-game-theme="midnight-neon"]{background:radial-gradient(circle at 50% 0,#193a5a,#080b19 65%)}.game-page[data-game-theme="midnight-neon"] .question-card{background:linear-gradient(145deg,#111a2cee,#17152dee);border-color:#4b69ff66}.game-page[data-game-theme="midnight-neon"] .side-card{background:linear-gradient(160deg,#122640,#251848)}.game-page[data-game-theme="midnight-neon"] .score-strip{background:#0b1325e8;border-top-color:#5b7cff}.game-page[data-game-theme="midnight-neon"] .category{background:#5c69ff;color:#fff}

/* 9. Cosmic Quiz: central question, orbit-like rounded answers */
.game-page[data-game-theme="cosmic-quiz"]{background:radial-gradient(circle at 50% 45%,#663da5,#1b1746 48%,#090c22);color:#fff}.game-page[data-game-theme="cosmic-quiz"]:before{background-image:radial-gradient(#fff 1.5px,transparent 2px);background-size:47px 47px}
.game-page[data-game-theme="cosmic-quiz"] .question-card{text-align:center;background:#211b58d9;border-radius:42px}.game-page[data-game-theme="cosmic-quiz"] .category{align-self:center;background:#ffcf4d;color:#2d1953}.game-page[data-game-theme="cosmic-quiz"] .stage-choice{border-radius:999px;text-align:left}.game-page[data-game-theme="cosmic-quiz"] .side-card{background:linear-gradient(165deg,#42257a,#173d73)}.game-page[data-game-theme="cosmic-quiz"] .score-strip{background:#231552e8}

/* 10. Spotlight Stage: dramatic warm theater with bottom control rail */
.game-page[data-game-theme="spotlight-stage"]{background:radial-gradient(ellipse at 50% -10%,#ffd67d66,transparent 42%),linear-gradient(135deg,#351423,#6c2031 50%,#241122)}
.game-page[data-game-theme="spotlight-stage"] .stage-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 155px}.game-page[data-game-theme="spotlight-stage"] .side-card{display:grid;grid-template-columns:1fr 125px auto;gap:2rem;background:linear-gradient(90deg,#31121f,#7c2e32)}.game-page[data-game-theme="spotlight-stage"] .qr-code{max-width:115px}.game-page[data-game-theme="spotlight-stage"] .question-card{background:linear-gradient(145deg,#7e2e34dd,#331426e8);border:2px solid #d9a64c}.game-page[data-game-theme="spotlight-stage"] .score-strip{background:#1f1019e8;border-top-color:#e3b958}.game-page[data-game-theme="spotlight-stage"] .category{background:#e5b958;color:#32141f}.game-page[data-game-theme="spotlight-stage"] .timer-wrap strong{color:#ffd773}

@media(max-width:800px){
 .game-page[data-game-theme] .stage-grid{grid-template-columns:1fr;grid-template-rows:auto}
 .game-page[data-game-theme] .side-card{order:initial;display:grid;grid-template-columns:1fr 130px;min-height:auto}
}

.form-actions,.row-actions{display:flex;gap:.65rem;align-items:center}.row-actions .ghost{font-size:.85rem}
.pause-overlay{display:none;position:absolute;inset:0;z-index:20;place-items:center;align-content:center;gap:.55rem;text-align:center;background:#17102bd9;backdrop-filter:blur(12px);color:#fff}
.pause-overlay.visible{display:grid}.pause-overlay strong{font-size:clamp(3rem,8vw,8rem);letter-spacing:.08em;color:#e3ff62;text-shadow:0 0 35px #d9ff6577}.pause-overlay span{font-size:clamp(1rem,2vw,1.5rem);font-weight:750}

/* Mobile game-master controls */
.control-page{background:linear-gradient(155deg,#ecf7ef,#e6e8fb);min-height:100vh}
.control-shell{width:min(620px,94vw);margin:auto;padding:1rem 0 3rem}.control-shell>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.control-card{background:#fff;border:1px solid #dbe3dd;border-radius:22px;padding:clamp(1.25rem,5vw,2.2rem);box-shadow:0 20px 60px #243d5530}
.control-card h1{font-size:clamp(2rem,8vw,3.5rem);line-height:1;margin:.55rem 0 1.25rem;letter-spacing:-.05em}.control-status{display:flex;justify-content:space-between;align-items:center;background:#173e33;color:#fff;border-radius:16px;padding:1rem 1.2rem}.control-status span{font-weight:850;letter-spacing:.12em}.control-status strong{font-size:2.6rem;color:#dfff5d}.control-card>p{font-size:clamp(1.15rem,5vw,1.6rem);font-weight:750;min-height:3em}.control-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0}.control-stats span{background:#f1f5f1;border-radius:12px;padding:.9rem;text-align:center}.control-stats b{display:block;font-size:1.7rem;color:#3849a5}.control-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.control-buttons button{border:0;border-radius:13px;padding:1.1rem .75rem;background:#e9ece9;color:#1b3027;font-weight:850}.control-buttons .control-start{grid-column:span 2;background:#bff33b}.control-buttons .control-pause{background:#ffd45a}.control-buttons .control-next{background:#4d72f2;color:#fff}.control-buttons .control-end{background:#ffdddd;color:#9b2727}.control-buttons button:disabled{opacity:.5}
@media(max-width:800px){.game-row{grid-template-columns:1fr auto}.row-actions{grid-column:span 2}.form-actions{flex-wrap:wrap}}

/* Independent layout system: five structures can be combined with every theme */
.game-page[data-game-layout="classic"] .stage-grid{grid-template-columns:minmax(0,1fr) minmax(220px,25vw);grid-template-rows:auto}
.game-page[data-game-layout="classic"] .question-card{order:initial}
.game-page[data-game-layout="classic"] .side-card{order:initial;display:flex}

.game-page[data-game-layout="qr-left"] .stage-grid{grid-template-columns:minmax(230px,26vw) minmax(0,1fr);grid-template-rows:auto}
.game-page[data-game-layout="qr-left"] .side-card{order:-1;display:flex}
.game-page[data-game-layout="qr-left"] .question-card{order:initial}
.game-page[data-game-layout="qr-left"] .side-card .qr-code{order:-1}
.game-page[data-game-layout="qr-left"] .side-card{background-image:linear-gradient(165deg,#6247d8dd,#1a8a9bdd)}

.game-page[data-game-layout="split-question"] .stage-grid{grid-template-columns:minmax(0,1fr) minmax(210px,19vw);grid-template-rows:auto}
.game-page[data-game-layout="split-question"] .question-card{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(380px,1.15fr);grid-template-rows:auto 1fr;column-gap:clamp(1.5rem,4vw,4rem);align-items:center}
.game-page[data-game-layout="split-question"] .question-card .category{grid-column:1;align-self:end}
.game-page[data-game-layout="split-question"] .question-card h1{grid-column:1;grid-row:2;margin:1rem 0;align-self:start}
.game-page[data-game-layout="split-question"] .question-card .answer-grid{grid-column:2;grid-row:1/span 2;grid-template-columns:1fr;height:100%;align-content:center}
.game-page[data-game-layout="split-question"] .stage-choice{min-height:78px}
.game-page[data-game-layout="split-question"] .side-card{display:flex}

.game-page[data-game-layout="answer-wall"] .stage-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 145px}
.game-page[data-game-layout="answer-wall"] .question-card{display:flex}
.game-page[data-game-layout="answer-wall"] .question-card h1{text-align:center;max-width:1100px;align-self:center;margin-left:auto;margin-right:auto}
.game-page[data-game-layout="answer-wall"] .answer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.game-page[data-game-layout="answer-wall"] .stage-choice{min-height:120px;display:grid;align-content:center;justify-items:center;text-align:center;gap:.5rem}
.game-page[data-game-layout="answer-wall"] .side-card{display:grid;grid-template-columns:1fr 120px auto;gap:2rem;min-height:0}
.game-page[data-game-layout="answer-wall"] .side-card .qr-code{max-width:110px}

.game-page[data-game-layout="timer-rail"] .stage-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 125px}
.game-page[data-game-layout="timer-rail"] .question-card{display:flex}
.game-page[data-game-layout="timer-rail"] .side-card{display:grid;grid-template-columns:minmax(220px,1fr) 110px auto;gap:2rem;min-height:0;border-radius:999px;padding:.7rem 2rem}
.game-page[data-game-layout="timer-rail"] .side-card .timer-wrap{display:grid;grid-template-columns:auto 90px;align-items:center;gap:0 1rem;text-align:left}
.game-page[data-game-layout="timer-rail"] .side-card .timer-wrap strong{grid-column:2;grid-row:1/span 2;font-size:4.5rem}
.game-page[data-game-layout="timer-rail"] .side-card .timer-track{grid-column:1;min-width:240px}
.game-page[data-game-layout="timer-rail"] .side-card .qr-code{max-width:95px;border-radius:50%;padding:10px}

/* Stronger individual theme identities */
.game-page[data-game-theme="festival-pop"] .stage-choice:nth-child(odd){transform:rotate(-.6deg)}.game-page[data-game-theme="festival-pop"] .stage-choice:nth-child(even){transform:rotate(.6deg)}
.game-page[data-game-theme="sunny-carnival"]{font-family:Trebuchet MS,system-ui,sans-serif}.game-page[data-game-theme="sunny-carnival"] .question-card h1{color:#7c294f}.game-page[data-game-theme="sunny-carnival"] .stage-choice{border-radius:999px}
.game-page[data-game-theme="sky-high"] .question-card{border-radius:60px 18px 60px 18px}.game-page[data-game-theme="sky-high"] .stage-choice{clip-path:polygon(3% 0,100% 0,97% 100%,0 100%)}
.game-page[data-game-theme="paper-party"]{font-family:Georgia,serif}.game-page[data-game-theme="paper-party"] .question-card h1{font-weight:500}.game-page[data-game-theme="paper-party"] .stage-choice:nth-child(even){transform:translateY(6px)}
.game-page[data-game-theme="garden-party"]{font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif}.game-page[data-game-theme="garden-party"] .stage-choice:nth-child(1){background:#d65d69}.game-page[data-game-theme="garden-party"] .stage-choice:nth-child(2){background:#587fc7}.game-page[data-game-theme="garden-party"] .stage-choice:nth-child(3){background:#d7a62e}.game-page[data-game-theme="garden-party"] .stage-choice:nth-child(4){background:#438e60}
.game-page[data-game-theme="ocean-splash"] .question-card:after{background:repeating-radial-gradient(circle,#fff2 0 3px,transparent 4px 18px)}.game-page[data-game-theme="ocean-splash"] .stage-choice{border-radius:8px 40px 8px 40px}
.game-page[data-game-theme="midnight-neon"] .stage-choice{background:#11192d;border:2px solid var(--accent);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 45%,transparent)}.game-page[data-game-theme="midnight-neon"] .stage-choice b{background:var(--accent)}
.game-page[data-game-theme="cosmic-quiz"] .question-card h1{font-style:italic}.game-page[data-game-theme="cosmic-quiz"] .stage-choice:nth-child(odd){translate:-8px 0}.game-page[data-game-theme="cosmic-quiz"] .stage-choice:nth-child(even){translate:8px 0}
.game-page[data-game-theme="spotlight-stage"]{font-family:Georgia,serif}.game-page[data-game-theme="spotlight-stage"] .stage-head .brand,.game-page[data-game-theme="spotlight-stage"] .category,.game-page[data-game-theme="spotlight-stage"] .score-strip small{font-family:system-ui,sans-serif}.game-page[data-game-theme="spotlight-stage"] .question-card h1{font-weight:500}

.preview-page{padding-top:5.5rem}.preview-toolbar{position:fixed;z-index:100;top:.75rem;left:50%;translate:-50% 0;width:min(720px,94vw);display:flex;align-items:end;gap:.7rem;background:#fff;color:#17211d;padding:.7rem;border-radius:14px;box-shadow:0 14px 45px #0005}.preview-toolbar label{margin:0;flex:1;color:#48564f}.preview-toolbar select{padding:.6rem;background:#f1f4ef;color:#17211d}.preview-toolbar button{border:0;background:#173e33;color:#fff;padding:.75rem 1rem;border-radius:9px;white-space:nowrap}

@media(max-width:900px){
 .game-page[data-game-layout] .stage-grid{grid-template-columns:1fr;grid-template-rows:auto}
 .game-page[data-game-layout] .side-card{order:initial;display:grid;grid-template-columns:1fr 130px;min-height:auto;border-radius:18px}
 .game-page[data-game-layout="split-question"] .question-card{display:flex}
 .game-page[data-game-layout="answer-wall"] .answer-grid{grid-template-columns:1fr 1fr}
 .game-page[data-game-layout="timer-rail"] .side-card .timer-wrap{display:block}.game-page[data-game-layout="timer-rail"] .side-card .timer-wrap strong{font-size:3rem}
 .preview-toolbar{flex-wrap:wrap}.preview-toolbar label{min-width:40%}
}

.mobile-timer{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#193f34,#294c8d);color:#fff;border-radius:16px;padding:.85rem 1rem;margin:1rem 0 0;box-shadow:0 12px 28px #193b5530}.mobile-timer>div{display:flex;align-items:baseline;gap:.7rem;min-width:max-content}.mobile-timer strong{font-size:clamp(2.6rem,9vw,4.5rem);line-height:.85;color:#dcff58;font-variant-numeric:tabular-nums}.mobile-timer span{font-size:.7rem;font-weight:850;letter-spacing:.12em}.mobile-timer>i{display:block;flex:1;height:10px;border-radius:999px;background:#ffffff2b;overflow:hidden}.mobile-timer>i b{display:block;height:100%;width:0;background:linear-gradient(90deg,#5cf0cb,#ddff58);border-radius:inherit;transition:width .25s linear}.mobile-timer.urgent{background:linear-gradient(135deg,#9f2639,#e65943);animation:timer-pulse .8s ease-in-out infinite alternate}.mobile-timer.urgent strong{color:#fff}.mobile-timer.urgent>i b{background:#fff}
@keyframes timer-pulse{to{transform:scale(1.015);box-shadow:0 12px 35px #e6455470}}
@media(max-width:520px){.mobile-timer{align-items:stretch;flex-direction:column}.mobile-timer>div{justify-content:space-between}.mobile-timer>i{flex:none;width:100%}}

/* Open Trivia DB question picker */
.question-source-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.question-source-tabs button{border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:.8rem 1rem;border-radius:10px;font-weight:750}.question-source-tabs button.active{background:var(--green);color:var(--bg);border-color:var(--green)}.trivia-filters{display:grid;grid-template-columns:2fr 1fr .7fr;gap:1rem}.trivia-question{grid-template-columns:auto 1fr;align-items:start;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:.9rem;margin:.65rem 0;color:var(--ink)}.trivia-question input{width:auto;margin-top:.25rem}.trivia-question span{display:grid;gap:.2rem;font-weight:650}.trivia-question b{font-size:.68rem;letter-spacing:.1em;color:#3b8067;text-transform:uppercase}.trivia-question small{color:var(--muted)}#triviaImportActions{margin-top:1rem;padding:1rem;background:var(--bg);border-radius:12px}#triviaImportActions label{max-width:350px}
@media(max-width:700px){.trivia-filters{grid-template-columns:1fr}.question-source-tabs{display:grid;grid-template-columns:1fr 1fr}}

/* Pause is hidden by default and becomes a giant rubber stamp only when active */
.pause-overlay[hidden]{display:none!important}
#stage[data-status="paused"] .question-card>:not(.pause-overlay){visibility:hidden;opacity:0}
.pause-overlay.visible{display:grid!important;background:radial-gradient(circle,#f8eadb 0,#d9c4a8 100%);color:#8c1f2b;overflow:hidden}
.pause-overlay.visible:before,.pause-overlay.visible:after{content:"";position:absolute;width:130%;height:18px;background:#8c1f2b22;rotate:-7deg}.pause-overlay.visible:before{top:18%}.pause-overlay.visible:after{bottom:15%}
.pause-overlay.visible strong{position:relative;border:clamp(7px,1vw,14px) double currentColor;padding:.08em .24em;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(4rem,13vw,13rem);line-height:.92;letter-spacing:.025em;color:#a32632;text-shadow:4px 4px 0 #6d131c26;transform:rotate(-7deg);mix-blend-mode:multiply}
.pause-overlay.visible span{position:relative;font-family:"Courier New",monospace;font-size:clamp(1rem,2vw,1.6rem);font-weight:900;text-transform:uppercase;letter-spacing:.12em;transform:rotate(-7deg);color:#70212a}

/* More theatrical theme art */
.game-page[data-game-theme="festival-pop"] .question-card{clip-path:polygon(0 4%,4% 0,96% 1%,100% 7%,99% 94%,95% 100%,5% 98%,0 93%)}.game-page[data-game-theme="festival-pop"] .stage-choice{clip-path:polygon(4% 0,96% 2%,100% 18%,97% 93%,90% 100%,4% 97%,0 78%,2% 10%);border:4px solid #fff}.game-page[data-game-theme="festival-pop"] .stage-head:after{content:"★  ●  ✦  ▲  ★";position:absolute;left:42%;top:1rem;font-size:1.7rem;letter-spacing:1.2rem;color:#fff9;rotate:-4deg}
.game-page[data-game-theme="sunny-carnival"] .question-card{border:12px solid #fff;border-radius:80px 20px 80px 20px;box-shadow:18px 18px 0 #7b2c61}.game-page[data-game-theme="sunny-carnival"] .question-card:after{background:repeating-linear-gradient(90deg,#ffcf4d 0 30px,#ff6a71 30px 60px,#58d8c2 60px 90px);height:18px;width:100%;right:0;top:auto;bottom:0;border-radius:0}
.game-page[data-game-theme="sky-high"] .stage-choice{box-shadow:0 16px 0 #2b70ad33}.game-page[data-game-theme="sky-high"] .question-card:after{content:"☁";display:block;width:auto;height:auto;background:none;color:#fff;font-size:16rem;right:-2rem;top:-6rem;opacity:.28}
.game-page[data-game-theme="paper-party"] .question-card{rotate:-.35deg;box-shadow:14px 16px 0 #242525}.game-page[data-game-theme="paper-party"] .question-card:before{content:"";position:absolute;width:150px;height:38px;background:#ffd653aa;left:50%;top:-17px;translate:-50%;rotate:2deg}.game-page[data-game-theme="paper-party"] .category{border:2px solid #222;box-shadow:3px 3px 0 #222}
.game-page[data-game-theme="garden-party"] .question-card{clip-path:ellipse(72% 72% at 50% 50%)}.game-page[data-game-theme="garden-party"] .question-card:after{content:"❧";display:block;background:none;width:auto;height:auto;color:#2f7b49;font-size:16rem;right:0;top:-5rem;opacity:.15}.game-page[data-game-theme="garden-party"] .side-card{border:8px solid #fff9}
.game-page[data-game-theme="ocean-splash"] .question-card{clip-path:polygon(0 0,100% 0,100% 91%,88% 98%,73% 92%,55% 100%,38% 92%,20% 99%,0 91%)}.game-page[data-game-theme="ocean-splash"] .side-card{border:3px solid #6ff2df;box-shadow:0 0 0 8px #1b5fa9,0 20px 55px #061b4b66}.game-page[data-game-theme="ocean-splash"] .category:before{content:"≈ ";font-size:1.2em}
.game-page[data-game-theme="retro-arcade"] .question-card{box-shadow:inset 0 0 45px #000,8px 8px 0 #ff4fbd}.game-page[data-game-theme="retro-arcade"] .question-card:after{content:"INSERT COIN";display:block;background:#080513;border:2px solid #ffeb3b;width:auto;height:auto;border-radius:0;color:#ffeb3b;font:700 1rem "Courier New";padding:.35rem .55rem;right:1rem;top:1rem;animation:arcade-blink 1s steps(1) infinite}.game-page[data-game-theme="retro-arcade"] .stage-choice{border:3px solid var(--accent);background:#090617;color:#fff}@keyframes arcade-blink{50%{opacity:.25}}
.game-page[data-game-theme="midnight-neon"] .question-card{border-radius:50% 8px 50% 8px/12% 50% 12% 50%;border:3px solid #5676ff}.game-page[data-game-theme="midnight-neon"] .side-card{box-shadow:0 0 30px #b441ff66,inset 0 0 25px #3879ff33}.game-page[data-game-theme="midnight-neon"] .category{transform:skew(-12deg)}
.game-page[data-game-theme="cosmic-quiz"] .question-card{border:3px solid #aa7dff;box-shadow:0 0 80px #733ee877}.game-page[data-game-theme="cosmic-quiz"] .question-card:after{content:"◯";display:block;background:none;width:auto;height:auto;font-size:30rem;color:#f4c95b18;right:-7rem;top:-12rem}.game-page[data-game-theme="cosmic-quiz"] .side-card{border-radius:50% 50% 25% 25%}
.game-page[data-game-theme="spotlight-stage"] .question-card{border:12px ridge #d5a74f;box-shadow:inset 0 0 90px #1b050b,0 20px 60px #0008}.game-page[data-game-theme="spotlight-stage"] .question-card:after{content:"";width:70%;height:130%;right:15%;top:-25%;background:linear-gradient(90deg,transparent,#ffe7a522,transparent);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%)}.game-page[data-game-theme="spotlight-stage"] .stage-choice{border:2px solid #f0c96d}
.trivia-filters{grid-template-columns:2fr 1fr 1fr .7fr}
@media(max-width:700px){.trivia-filters{grid-template-columns:1fr}}

/* Ended presentation and fullscreen waiting note */
.end-overlay[hidden]{display:none!important}
#stage[data-status="ended"] .question-card>:not(.end-overlay){visibility:hidden;opacity:0}
.end-overlay.visible{display:grid!important;position:absolute;inset:0;z-index:21;place-items:center;align-content:center;gap:1rem;text-align:center;background:radial-gradient(circle at 50% 35%,#fff8c9,#ffce66 48%,#ff7a70);color:#35204c}
.end-overlay.visible strong{font-size:clamp(3.5rem,10vw,10rem);line-height:.9;letter-spacing:-.04em;text-shadow:5px 5px 0 #fff,10px 10px 0 #643d8c33}.end-overlay.visible span{font-size:clamp(1.2rem,3vw,2.3rem);font-weight:850}
.stage-subtext{position:relative;z-index:2;margin:-1rem 0 1.5rem;color:inherit;opacity:.72;font-size:clamp(.8rem,1.2vw,1rem);font-weight:700}.stage-subtext[hidden]{display:none}

/* Joined player view fits inside the viewport without page scrolling */
.player-page.playing{height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:64px minmax(0,1fr)}
.player-page.playing .topbar{height:64px}.player-page.playing>footer{display:none}
.player-page.playing .join-shell{height:100%;min-height:0;padding:clamp(.4rem,1.5vh,1rem) 0}
.player-page.playing .join-card{height:100%;min-height:0;padding:clamp(.8rem,2.3vh,1.8rem);overflow:hidden}
.player-page.playing #playPanel{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,auto) minmax(0,1fr) auto auto}
.player-page.playing #prompt{font-size:clamp(1.35rem,min(4.6vw,5vh),3.6rem);margin:clamp(.45rem,1.5vh,1rem) 0;max-height:16vh;overflow:hidden}
.player-page.playing .mobile-timer{margin:.35rem 0 0;padding:clamp(.45rem,1.2vh,.8rem) .9rem}.player-page.playing .mobile-timer strong{font-size:clamp(2rem,7vh,3.8rem)}
.player-page.playing .mobile-choices{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(.4rem,1.2vh,.8rem)}
.player-page.playing .choice{min-height:0;height:100%;font-size:clamp(.82rem,min(2vw,2.4vh),1.35rem);padding:clamp(.55rem,1.5vh,1rem);overflow:hidden}
.player-page.playing .submitted{margin:.4rem 0;font-size:clamp(.75rem,1.8vh,.95rem)}.player-page.playing .mobile-leader{margin:0;padding:.25rem 0 0;font-size:clamp(.75rem,1.7vh,.95rem)}
@media(max-width:640px){.player-page.playing .join-card{min-height:0}.player-page.playing .mobile-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.player-page.playing #prompt{font-size:clamp(1.25rem,5.5vw,2rem);margin:.45rem 0}.player-page.playing .choice{min-height:0}}
@media(max-height:620px){.player-page.playing .game-meta{font-size:.7rem}.player-page.playing .mobile-timer span{font-size:.58rem}.player-page.playing #prompt{max-height:13vh}.player-page.playing .mobile-leader,.player-page.playing .player-code-display{display:none}.player-page.playing .mobile-team-card{position:absolute;right:1rem;top:.35rem;width:min(240px,48vw);z-index:3}}

/* Between-round presentation leaderboard */
.round-overlay[hidden]{display:none!important}
#stage[data-status="round_break"] .question-card>:not(.round-overlay){visibility:hidden;opacity:0}
.round-overlay.visible{display:grid!important;position:absolute;inset:0;z-index:22;align-content:center;gap:.7rem;padding:clamp(1rem,4vw,4rem);background:linear-gradient(145deg,#33266f,#7a3fa0 48%,#e85f83);color:#fff}
.round-overlay>span{text-align:center;font-weight:900;letter-spacing:.18em;color:#e3ff62}.round-overlay>strong{text-align:center;font-size:clamp(2.5rem,6vw,6rem);line-height:1;margin-bottom:.6rem}.round-overlay>div{display:grid;gap:.45rem;width:min(900px,90%);margin:auto}.round-overlay>div>div{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:1rem;background:#ffffff20;border:1px solid #ffffff32;border-radius:14px;padding:.65rem 1rem;font-size:clamp(1rem,2vw,1.5rem)}.round-overlay>div>div:nth-child(1){background:#e3ff62;color:#2b2458;transform:scale(1.04)}.round-overlay>div>div>b{display:grid;place-items:center;width:42px;aspect-ratio:1;border-radius:50%;background:#ffffff2c}.round-overlay>div>div>strong{font-variant-numeric:tabular-nums}

/* Global administrator and Game Master management */
.user-management{margin:2rem 0;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow)}.user-management h2{font-size:2rem;margin:.25rem 0}.user-management>div:first-child p{color:var(--muted)}#inviteUserForm{display:flex;gap:.7rem;align-items:end;max-width:650px}#inviteUserForm label{flex:1;margin:0}.user-row{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--line)}.user-row span{display:grid}.user-row small{color:var(--muted)}.ghost.danger{color:#b63333;border-color:#dfaaaa}.ghost.danger:hover{background:#ffe5e5}.account-panel form+form{margin-top:1rem}
@media(max-width:620px){#inviteUserForm{display:grid}.row-actions{flex-wrap:wrap}}
.required-mark{color:#d72d3b;font-weight:950}.question-tools{margin:1rem 0;padding:1rem;background:var(--bg);border:1px solid var(--line);border-radius:12px}.current-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.current-question span{display:grid;gap:.2rem}.current-question small,.timezone-note{color:var(--muted)}#triviaSource{max-width:420px}
.main-start-countdown{display:block;font-size:clamp(3.5rem,10vw,10rem);font-variant-numeric:tabular-nums;line-height:1;color:var(--accent);text-shadow:0 .08em .2em #0002}
.player-code-display{display:block;color:var(--muted);font-weight:700;margin:.2rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-switch{display:flex!important;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .85rem;background:var(--bg);border:1px solid var(--line);border-radius:12px}.team-switch input{width:48px;height:26px;accent-color:var(--green);margin:0}.team-join-fields{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:.7rem}.team-join-fields>span{padding-bottom:1rem;color:var(--muted);font-weight:800}.mobile-team-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#e7ffab,#b7f4df);color:#173e33;border-radius:13px;padding:.5rem .75rem;margin:.25rem 0}.mobile-team-card>div:first-child{display:grid}.mobile-team-card small{font-size:.6rem;font-weight:900;letter-spacing:.12em}.mobile-team-card strong{font-size:1rem}.mobile-team-card span{font-size:.72rem}.mobile-team-qr{width:54px;height:54px;background:#fff;padding:3px;border-radius:6px}.mobile-team-qr svg{display:block;width:100%;height:100%}.choice{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.team-vote-count{flex:none;background:#ffffff38;border:1px solid #ffffff55;border-radius:999px;padding:.28rem .48rem;font-size:.68em;white-space:nowrap}
@media(max-width:560px){.team-join-fields{grid-template-columns:1fr}.team-join-fields>span{text-align:center;padding:0}.mobile-team-card{padding:.35rem .55rem}.mobile-team-qr{width:46px;height:46px}}
.wake-toggle{margin-left:auto;display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:750;color:var(--muted);white-space:nowrap}.wake-toggle input{width:34px;height:20px;margin:0;accent-color:var(--green)}@media(max-width:430px){.wake-toggle span{display:none}}

/* Mobile question, reveal, pause, and round states */
.player-page.playing #playPanel{position:relative}.player-page.playing .mobile-timer{min-height:48px;padding:.38rem .75rem;margin:.2rem 0}.player-page.playing .mobile-timer strong{font-size:clamp(1.8rem,5vh,3rem)}.player-page.playing .mobile-timer.answering{background:linear-gradient(100deg,#173f76,#286ab2)}.player-page.playing .mobile-timer.reveal{background:linear-gradient(100deg,#722d8c,#cf4f83);box-shadow:0 8px 24px #8c2b7550}.player-page.playing .mobile-timer.reveal>div{width:100%;justify-content:center}.player-page.playing .mobile-timer.reveal strong{font-size:clamp(1.25rem,4.8vw,2.15rem);color:#fff;text-align:center}.player-page.playing .mobile-timer.reveal>i{max-width:28%}.player-page.playing .choice{font-size:clamp(1rem,min(2.6vw,3vh),1.65rem);font-weight:850;padding:clamp(.7rem,2vh,1.3rem)}
.mobile-state-overlay[hidden]{display:none!important}.mobile-state-overlay{position:absolute;inset:0;z-index:30;display:grid;align-content:center;gap:.8rem;padding:clamp(1rem,5vw,2.5rem);border-radius:18px;text-align:center;color:#fff;overflow:auto}.mobile-state-overlay>span{font-weight:950;letter-spacing:.15em;color:#dfff5b}.mobile-state-overlay>strong{font-size:clamp(3rem,14vw,6.5rem);line-height:.92}.mobile-state-overlay>div{display:grid;gap:.45rem}.mobile-state-overlay p{font-size:clamp(1rem,4vw,1.5rem);font-weight:750}.player-page.playing #playPanel[data-status="paused"] .mobile-state-overlay{background:repeating-linear-gradient(-12deg,#8e2636 0 24px,#a83242 24px 48px);border:9px double #ffe9c9;transform:rotate(-1deg)}.player-page.playing #playPanel[data-status="round_break"] .mobile-state-overlay{background:linear-gradient(145deg,#33266f,#7a3fa0 48%,#e85f83)}
.player-page.playing #playPanel[data-status="paused"]>:not(.mobile-state-overlay),.player-page.playing #playPanel[data-status="round_break"]>:not(.mobile-state-overlay){visibility:hidden}.player-page.playing #playPanel[data-status="paused"] .mobile-state-overlay,.player-page.playing #playPanel[data-status="round_break"] .mobile-state-overlay{visibility:visible}.mobile-rank{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:.7rem;padding:.6rem .75rem;background:#ffffff20;border:1px solid #ffffff35;border-radius:11px;text-align:left}.mobile-rank:first-child{background:#dfff5b;color:#302259;transform:scale(1.02)}.mobile-rank>b{display:grid;place-items:center;width:30px;aspect-ratio:1;border-radius:50%;background:#ffffff30}.user-admin-row{align-items:center;gap:1rem}.user-admin-row .row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}
.team-join-fields[hidden],.mobile-team-card[hidden]{display:none!important}
#adminApp>.admin-main>.user-management{display:none}
.player-page.playing .mobile-timer{flex-direction:row;align-items:center}.player-page.playing .mobile-timer>i{flex:1;width:auto}

/* Account, editor labels, and compact mobile refinements */
.field-title{display:inline-flex;align-items:center;gap:.25rem;justify-self:start}.required-mark{display:inline!important;line-height:1}.account-page-panel{max-width:700px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow)}.account-page-panel form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:.7rem;margin-top:1.5rem}.account-page-panel form>span{grid-column:1/-1}
.team-switch{display:inline-flex!important;width:max-content;align-items:center;justify-content:flex-start;gap:.6rem;padding:.35rem .45rem .35rem .7rem;border-radius:999px;margin-bottom:.7rem}.team-switch input{appearance:none;width:42px;height:24px;border:0;border-radius:999px;padding:0;background:#b7c0bb;position:relative;transition:.2s}.team-switch input:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0004;transition:.2s}.team-switch input:checked{background:#3d9677}.team-switch input:checked:before{translate:18px 0}
.player-identity{display:flex;align-items:baseline;gap:.5rem;color:var(--muted);min-height:20px}.player-identity small{font-size:.58rem;font-weight:900;letter-spacing:.12em}.player-identity strong{color:var(--ink);font-size:.9rem}.mobile-team-qr{width:82px;height:82px}.player-page.playing .mobile-team-card{min-height:90px}
.player-page.playing .mobile-timer{min-height:32px!important;padding:.16rem .55rem!important;margin:.12rem 0!important;border-radius:10px;gap:.5rem}.player-page.playing .mobile-timer>div{gap:.35rem}.player-page.playing .mobile-timer strong{font-size:clamp(1.15rem,3.5vh,1.8rem)!important}.player-page.playing .mobile-timer span{font-size:.55rem}.player-page.playing .mobile-timer>i{height:5px}.player-page.playing .mobile-timer.reveal strong{font-size:clamp(1rem,4vw,1.55rem)!important}
.player-page.playing #playPanel[data-status="paused"] .player-identity,.player-page.playing #playPanel[data-status="paused"] .mobile-team-card{visibility:visible}.player-page.playing #playPanel[data-status="paused"] .mobile-state-overlay{inset:58px 0 0}.player-page.playing #playPanel[data-status="paused"]:has(.mobile-team-card:not([hidden])) .mobile-state-overlay{inset:155px 0 0}
.team-link-join .hero-copy{display:none}.team-link-join .join-shell{grid-template-columns:1fr;width:min(520px,94vw);gap:0}.team-link-join .join-card{width:100%}
@media(max-width:800px){.player-page:not(.playing) .join-shell{width:min(560px,94vw);min-height:calc(100dvh - 118px);padding:clamp(.5rem,3vh,1.5rem) 0;align-items:center}.player-page:not(.playing) .join-card{padding:clamp(1rem,4vw,1.8rem);max-height:calc(100dvh - 105px);overflow:auto}.player-page:not(.playing) .join-card h2{font-size:clamp(1.45rem,7vw,2rem);margin:.3rem 0 1rem}.player-page:not(.playing) label{margin-bottom:.65rem}.player-page:not(.playing) input{padding:.68rem .8rem}.player-page:not(.playing) body>footer{height:40px}.account-page-panel form{grid-template-columns:1fr}.account-page-panel form>span{grid-column:auto}}
@media(max-height:650px) and (min-width:560px){.player-page:not(.playing) #joinForm{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.player-page:not(.playing) #joinForm>button,.player-page:not(.playing) #joinForm>.form-error,.player-page:not(.playing) .team-join-fields{grid-column:1/-1}.player-page:not(.playing) #joinForm label{margin:0}}

/* Two-step join and corrected compact play layout */
#codeForm[hidden],#joinForm[hidden]{display:none!important}
.selected-game{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.2rem .7rem;margin:0 0 1rem;padding:.7rem .85rem;background:var(--bg);border:1px solid var(--line);border-radius:11px}.selected-game small{grid-column:1;font-size:.58rem;font-weight:900;letter-spacing:.14em;color:var(--muted)}.selected-game strong{grid-column:1;font-size:1rem}.selected-game button{grid-column:2;grid-row:1/span 2;border:0;background:transparent;color:#397d68;font-weight:800}
.player-page.playing #playPanel{grid-template-rows:auto auto auto auto auto auto auto minmax(0,1fr) auto auto!important;align-content:start}
.player-page.playing .game-meta{grid-row:1}.player-page.playing .player-identity{grid-row:2}.player-page.playing .wake-toggle{grid-row:3}.player-page.playing .player-code-display{grid-row:4}.player-page.playing .mobile-team-card{grid-row:5}.player-page.playing .mobile-timer{grid-row:6}.player-page.playing #prompt{grid-row:7}.player-page.playing #choices{grid-row:8}.player-page.playing #submitted{grid-row:9}.player-page.playing #mobileLeader{grid-row:10}
.player-page.playing .player-code-display{min-height:0;margin:.1rem 0}
.player-page.playing .mobile-team-card{min-height:0}
