
*{box-sizing:border-box}html,body{margin:0;background:#0b0b0b;color:#f4f4f4;font-family:Inter,system-ui,Arial,sans-serif}body{min-height:100vh}main{width:min(1100px,100%);margin:auto;padding:14px}.hero,.card{background:#151515;border:1px solid #2c2c2c;border-radius:14px;padding:18px;margin-bottom:14px}.hero{padding:28px}.hero h1{font-size:clamp(2rem,7vw,4rem);margin:.15em 0}.hero h1 span,.kicker{color:#f6c928}.kicker{font-size:.72rem;font-weight:900;letter-spacing:.14em}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 16px}.muted{color:#aaa;font-size:.85rem}.grid{display:grid;gap:14px}.hostgrid{grid-template-columns:1fr 1fr}.builder{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.wide{grid-column:1/-1}.questions{display:grid;gap:8px}label{display:block;font-size:.8rem;font-weight:700;color:#bbb}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;margin-top:4px;background:#0e0e0e;color:#fff;border:1px solid #444;border-radius:8px;padding:9px}button{border:1px solid #f6c928;background:#f6c928;color:#111;font-weight:900;border-radius:8px;padding:9px 12px;cursor:pointer}.ghost{background:#171717;color:#fff;border-color:#555}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.joincode{display:flex;align-items:center;gap:10px;margin:16px 0}.joincode span{font-size:.7rem;color:#999}.joincode strong{font-size:2rem;letter-spacing:.12em}.qrow{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border:1px solid #333;border-radius:10px}.qmeta{font-size:.75rem;color:#999}.qactions{display:flex;gap:6px;align-items:center}.scoreline{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #292929}.joinrow{display:grid;grid-template-columns:90px 1fr auto;gap:6px}.compact{padding:12px}.playerbar{display:flex;justify-content:space-between;padding:8px 4px 12px}.option{display:block;width:100%;text-align:left;margin:7px 0;background:#202020;color:#fff;border-color:#555}.option.selected{border-color:#f6c928;background:#332d10}.answer-submit{margin-top:10px}.feedback{margin-top:14px;font-weight:900}.feedback.good{color:#7de59c}.feedback.bad{color:#ff8d8d}
@media(max-width:700px){.hostgrid,.builder{grid-template-columns:1fr}.wide{grid-column:auto}.joinrow{grid-template-columns:70px 1fr}.joinrow button{grid-column:1/-1}.qrow{grid-template-columns:1fr}.qactions{justify-content:flex-start}}

.player-actions{display:flex;align-items:center;gap:7px}.small{padding:5px 8px;font-size:.76rem}
.timer{display:inline-flex;min-width:54px;justify-content:center;padding:6px 10px;margin:8px 0;border:1px solid #555;border-radius:999px;font-weight:900}
.media-carousel{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin:12px 0}.media-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:220px;background:#080808;border:1px solid #333;border-radius:12px;overflow:hidden}.media-stage img{display:block;max-width:100%;max-height:70vh;object-fit:contain}.media-count{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.7);padding:3px 7px;border-radius:999px;font-size:.72rem}.carousel-arrow{font-size:1.4rem;min-width:38px}
.slide-note{padding:12px 0;color:#aaa;font-style:italic}.order-box{display:grid;gap:6px}.order-row{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:8px;border:1px solid #333;border-radius:8px}.match-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;margin:7px 0}#challengeLinkWrap{margin:10px 0}#challengeLink{display:inline-flex;padding:9px 12px;border:1px solid #f6c928;border-radius:8px;color:#111;background:#f6c928;font-weight:900;text-decoration:none}
@media(max-width:620px){.media-carousel{grid-template-columns:1fr}.carousel-arrow{display:none!important}.media-stage{min-height:160px}.playerbar{align-items:flex-start;gap:8px}.player-actions{flex-wrap:wrap;justify-content:flex-end}}

.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.library-filters{display:grid;grid-template-columns:2fr repeat(3,1fr) 1fr;gap:7px;margin:10px 0 14px}.qcue{margin-top:6px;color:#c9c9c9;font-size:.83rem}.active-media-controls{display:flex;align-items:center;gap:8px;padding:10px;margin:8px 0 14px;border:1px solid #4a4321;background:#1b180d;border-radius:10px}.question-preview{padding:13px;border:1px solid #555;border-radius:10px;background:#101010;margin:10px 0 14px}.preview-head,.set-head{display:flex;justify-content:space-between;gap:10px}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.preview-grid>div,.preview-cue{padding:8px;border:1px solid #303030;border-radius:8px}.preview-cue{margin-top:8px}.set-builder{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.set-card{border:1px solid #333;border-radius:11px;padding:12px;margin:10px 0}.set-items{display:grid;gap:6px;margin:10px 0}.set-item{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center}.set-add{display:grid;grid-template-columns:1fr auto auto;gap:7px}@media(max-width:780px){.library-filters{grid-template-columns:1fr 1fr}.library-filters #filterSearch{grid-column:1/-1}.preview-grid{grid-template-columns:1fr 1fr}.set-builder{grid-template-columns:1fr}}

/* 0.3.1 workflow, taxonomy, presenter */
input::placeholder,textarea::placeholder{color:#767676!important;opacity:.72!important}
.taxonomy-assign{border:1px solid #333;border-radius:10px;padding:10px}.taxonomy-assign #taxonomyAssign{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tax-select-wrap select{min-height:70px}.tax-select-wrap .muted{font-size:.68rem;margin-left:5px}.taxonomy-manager{display:grid;gap:16px}.taxonomy-row{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:center;margin-top:7px}.taxonomy-summary-row{display:flex;justify-content:space-between;border-bottom:1px solid #292929;padding:6px 0}.checkline{display:flex;gap:6px;align-items:center}.checkline input{width:auto;margin:0}.drag-handle{cursor:grab;color:#999;font-size:1.1rem}.set-item{grid-template-columns:auto 1fr repeat(5,auto)!important}.question-headline{display:flex;justify-content:space-between;align-items:center;gap:8px}.presenter-card{background:#151515;border:1px solid #2c2c2c;border-radius:14px;padding:16px;margin-bottom:12px}.presenter-top{display:flex;justify-content:space-between;gap:12px}.presenter-media{background:#080808;border:1px solid #333;border-radius:12px;overflow:hidden;margin:12px 0;text-align:center}.presenter-media img{max-width:100%;max-height:52vh;object-fit:contain}.presenter-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.presenter-push{width:100%;font-size:1.25rem;padding:16px;margin-top:10px}.presenter-set-items{display:grid;gap:7px;margin-top:9px}.presenter-queue-item{text-align:left;background:#202020;color:#fff;border-color:#555}.presenter-queue-item:active{transform:scale(.99)}
@media(max-width:760px){.taxonomy-assign #taxonomyAssign{grid-template-columns:1fr 1fr}.taxonomy-row{grid-template-columns:1fr}.set-item{grid-template-columns:auto 1fr auto auto!important}.set-item button:nth-of-type(n+3){display:none}}
@media(max-width:480px){.taxonomy-assign #taxonomyAssign{grid-template-columns:1fr}.presenter-card{padding:12px}.presenter-controls button{padding:13px 6px}}

.embed-frame-wrap{margin:12px 0;border:1px solid #333;border-radius:10px;overflow:hidden}.embed-frame-wrap iframe{display:block;width:100%;min-height:520px;border:0;background:#fff}

.bulk-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
.bulk-bar label{display:flex;align-items:center;gap:6px;margin:0}
.bulk-bar input[type=checkbox]{width:auto;margin:0}
.library-check{width:20px;height:20px;align-self:start;margin-top:8px}
.qrow{grid-template-columns:auto 1fr auto!important}
.backup-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.import-label{display:inline-flex;align-items:center;gap:8px;border:1px solid #555;border-radius:8px;padding:8px 10px;cursor:pointer}
.import-label input{display:none}
.presenter-controls-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
@media(max-width:620px){.presenter-controls-row{grid-template-columns:1fr 1fr}.bulk-bar{align-items:stretch}.bulk-bar select,.bulk-bar button{width:100%}}

.game-mode-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.game-mode-card .muted{grid-column:1}
#endGame{grid-column:2;grid-row:1/3}
.winner-banner{margin:14px 0;padding:16px;border:1px solid #f6c928;border-radius:12px;font-weight:900;text-align:center;font-size:1.15rem}
@media(max-width:620px){.game-mode-card{grid-template-columns:1fr}.game-mode-card .muted,#endGame{grid-column:1;grid-row:auto}}

/* 0.7.0 G-Force Live shell + QBank bridge */
.gforce-wordmark{font-size:.72rem;font-weight:900;letter-spacing:.14em;color:#f4c928;margin-bottom:2px}
.gforce-wordmark span{display:inline-block;margin-left:7px;border:1px solid #6d5c16;border-radius:999px;padding:1px 6px;font-size:.58rem;letter-spacing:.08em}
.app-title{font-size:1.28rem}
.status-stack{text-align:right;display:grid;gap:2px}
.build-tag{font-size:.68rem;color:#8d8d8d;font-variant-numeric:tabular-nums}
.qbank-bridge{display:grid;grid-template-columns:1fr auto;gap:10px 14px;align-items:center;margin-top:18px;padding:14px;border:1px solid #4e4316;border-radius:12px;background:#17150a}
.qbank-bridge #qbankImportReport{grid-column:1/-1}
@media(max-width:700px){.qbank-bridge{grid-template-columns:1fr}.status-stack{text-align:right}}

/* 0.7.1 Bowl Set model */
.set-help{margin:10px 0 14px;padding:10px 12px;border:1px solid #333;border-radius:9px;background:#101010;color:#c7c7c7;font-size:.84rem}
.set-version-line{font-size:.74rem;color:#f4c928;margin:3px 0}
.set-head-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.set-history{margin:10px 0;padding:10px;border:1px solid #3a3a3a;border-radius:9px;background:#0c0c0c}
.history-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid #292929}
.history-row:first-child{border-top:0}
.set-empty{padding:12px}
@media(max-width:700px){.set-head{align-items:flex-start}.set-head-actions{justify-content:flex-start}.history-row{grid-template-columns:1fr}}

.presenter-media-overrides{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.presenter-media-overrides label{font-size:.75rem;color:#aaa}
.presenter-media-overrides select{display:block;width:100%;margin-top:4px}
@media(max-width:700px){.presenter-media-overrides{grid-template-columns:1fr}}

/* 0.7.4 scroll containment + selected-set manager + drag targets */
.library-scroll{max-height:620px;overflow:auto;padding-right:4px}
.set-manager-head{display:grid;grid-template-columns:1fr minmax(240px,380px);gap:14px;align-items:end;margin-top:22px;padding-top:18px;border-top:1px solid #303030}
.set-manager-head h2{margin:0 0 3px}
.managed-set-card{margin-top:12px}
.set-items-scroll{max-height:560px;overflow:auto;overscroll-behavior:contain;padding-right:5px}
.set-item{position:relative}
.set-position,.order-num{min-width:1.65rem;text-align:center;color:#8f8f8f;font-variant-numeric:tabular-nums;font-weight:800}
.set-item-title,.order-text{min-width:0}
.drop-before::before,.drop-after::after,.order-row.drop-before::before,.order-row.drop-after::after{
  content:"";position:absolute;left:4px;right:4px;height:3px;background:#f4c928;border-radius:4px;z-index:5;box-shadow:0 0 0 1px #000;
}
.drop-before::before,.order-row.drop-before::before{top:-3px}
.drop-after::after,.order-row.drop-after::after{bottom:-3px}
.set-end-drop{margin-top:7px;padding:9px;border:1px dashed #555;border-radius:8px;text-align:center;color:#777;font-size:.76rem}
.set-end-drop.active{border-color:#f4c928;color:#f4c928;background:#211d08}
.order-row{position:relative;display:grid;grid-template-columns:auto auto 1fr auto auto;gap:7px;align-items:center}
.order-row.dragging,.set-item.dragging{opacity:.45}
.drag-handle{cursor:grab;touch-action:none;font-size:1.05rem;padding:5px;color:#aaa}
.drag-handle:active{cursor:grabbing}
@media(max-width:700px){
 .set-manager-head{grid-template-columns:1fr}
 .library-scroll{max-height:520px}
 .set-items-scroll{max-height:480px}
}

.qbank-connect{display:grid;grid-template-columns:1fr 1fr auto auto;gap:9px;align-items:end}
.source-tools{margin-top:14px;padding-top:14px;border-top:1px solid #303030}
.source-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:8px 0}
.source-scroll{max-height:430px;overflow:auto}
.danger-lite{border-color:#6b3535!important}
@media(max-width:850px){.qbank-connect{grid-template-columns:1fr 1fr}.qbank-connect #qbankStatus{grid-column:1/-1}}

.authoring-boundary{display:flex;justify-content:space-between;gap:16px;align-items:center;border-color:#4e4316;background:#17150a}
@media(max-width:700px){.authoring-boundary{align-items:flex-start;flex-direction:column}}

#sourcePurpose,#sourceSet{min-width:0}
.presenter-media-overrides{border-top:1px solid #333;padding-top:10px}
.presenter-media-overrides::before{content:"MEDIA CONTROLS";display:block;grid-column:1/-1;font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#8d8d8d}

#setNotes{width:100%}
.source-set-info{margin:4px 0 8px;font-size:.78rem}

.loaded-set-status{margin-top:7px;padding:8px 10px;border:1px solid #3d3d3d;border-radius:8px;background:#111;font-weight:700}
#presenterLoadSet{font-weight:900}
body.mobile-remote #presenter .presenter-card:first-of-type .muted,body.mobile-remote #presenterMedia,body.mobile-remote .presenter-media-overrides,body.mobile-remote .presenter-controls{display:none!important}
body.mobile-remote #presenter{max-width:460px;margin:0 auto}
body.mobile-remote .presenter-card{padding:12px}
body.mobile-remote .presenter-controls-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.mobile-remote #presenterCurrent{font-size:1.15rem;line-height:1.25}
body.mobile-remote #presenterNext{font-size:.95rem;line-height:1.25}
body.mobile-remote #openMobileRemote{display:none}
@media(max-width:520px){#presenter .presenter-controls-row{gap:7px}#presenter .presenter-controls-row button{min-height:44px}}

.info-button{border:0!important;background:transparent!important;color:#9a9a9a!important;padding:0 3px!important;min-height:0!important;font-size:.8em;vertical-align:middle}.info-button:hover{color:#f0cf38!important}
.help-dialog{width:min(680px,92vw);border:1px solid #3a3a3a;border-radius:14px;background:#111;color:#eee;padding:18px}.help-dialog::backdrop{background:rgba(0,0,0,.72)}
.help-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #333;padding-bottom:10px;margin-bottom:12px}.help-dialog-head h2{margin:0}.help-body{line-height:1.5}
.source-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.source-qrow{grid-template-columns:auto 1fr auto!important}.source-check{align-self:start;margin-top:6px}
.added-state{border-color:#2f7d49!important;color:#8ee2a8!important;background:#102418!important;opacity:1!important}
@media(max-width:700px){.source-qrow{grid-template-columns:auto 1fr!important}.source-qrow .qactions{grid-column:2}}

.live-question{border-color:#42b968!important;box-shadow:0 0 0 1px rgba(66,185,104,.35);position:relative}.live-badge{align-self:start;background:#143b20;color:#8ee2a8;border:1px solid #2f7d49;border-radius:999px;padding:3px 7px;font-size:.72rem;font-weight:800;white-space:nowrap}
.presenter-current-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.presenter-position{font-size:.85rem;color:#f0cf38}.game-actions{display:flex;gap:8px;flex-wrap:wrap}
.mobile-remote .presenter-controls-row button,.mobile-remote .presenter-controls button{min-height:48px;padding:8px 10px;font-size:.78rem}.mobile-remote .presenter-card{padding:10px}.mobile-remote #presenterCurrent{font-size:1rem;line-height:1.25}.mobile-remote #presenterNext{font-size:.9rem;line-height:1.2}.mobile-remote .presenter-media-overrides{display:none}.mobile-remote .presenter-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:6px}.mobile-remote .presenter-controls-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mobile-remote #openMobileRemote{display:none}

.session-delivery{margin:10px 0;border:1px solid #333;border-radius:9px;padding:8px 10px}.session-delivery summary{cursor:pointer;font-weight:800}.delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.live-state-strip{margin-top:8px;padding:7px 9px;border:1px solid #343434;border-radius:8px;background:#0d0d0d;color:#d0d0d0;font-size:.76rem;font-weight:800;letter-spacing:.03em}
.question-hidden-card{text-align:center;padding:32px 16px}
.mobile-remote #presenterLiveState{font-size:.66rem;padding:5px 6px}.mobile-remote #presenterLoadedSet{font-size:.7rem;padding:6px}.mobile-remote .presenter-current-head{font-size:.78rem}
@media(max-width:650px){.delivery-grid{grid-template-columns:1fr}}

.result-summary{margin-top:8px;padding:8px;border:1px solid #333;border-radius:8px;background:#0c0c0c;display:grid;gap:5px}.result-line{display:flex;justify-content:space-between;gap:12px;padding:4px 2px;border-bottom:1px solid #262626}.result-line:last-child{border-bottom:0}
.mobile-remote .result-summary{font-size:.7rem;max-height:120px;overflow:auto}.mobile-remote #presenterLiveState{line-height:1.35}

.remote-menu-toggle,.remote-drawer,.remote-drawer-scrim{display:none}
body.mobile-remote .remote-menu-toggle{display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;min-width:42px;min-height:42px;padding:5px 10px}
body.mobile-remote #presenterClearScores{display:none!important}
body.mobile-remote #presenterDelivery{display:none!important}
body.mobile-remote .remote-drawer{display:block;position:fixed;z-index:1002;top:0;right:0;height:100dvh;width:min(340px,88vw);padding:14px;background:#101010;border-left:1px solid #3a3a3a;box-shadow:-12px 0 30px rgba(0,0,0,.45);transform:translateX(105%);transition:transform .18s ease;overflow-y:auto}
body.mobile-remote .remote-drawer.open{transform:translateX(0)}
body.mobile-remote .remote-drawer-scrim{display:block;position:fixed;z-index:1001;inset:0;background:rgba(0,0,0,.62)}
body.mobile-remote .remote-drawer-scrim[hidden]{display:none}
.remote-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.remote-drawer-head strong{font-size:1.05rem}.remote-drawer-head button{font-size:1.3rem}
.remote-drawer details{border-top:1px solid #333;padding:10px 0}.remote-drawer summary{cursor:pointer;font-weight:900}.remote-menu-body{display:grid;gap:10px;padding:10px 0}.remote-menu-body label{display:grid;gap:5px}.remote-menu-body button{width:100%}
.presenter-delivery{margin-top:9px}

.delivery-preset{display:grid;gap:6px;margin-top:9px}.delivery-preset label{display:grid;gap:5px}.custom-delivery{margin-top:9px;padding-top:9px;border-top:1px solid #303030}.live-controls-label{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:14px 0 7px;padding-top:11px;border-top:1px solid #363636}.live-controls-label strong{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.remote-custom-delivery{display:grid;gap:10px;padding-top:8px}
.presenter-delivery{background:#0d0d0d;border-color:#424242}.presenter-delivery+ .live-controls-label{margin-top:16px}

.unsupported-state{opacity:.62;cursor:not-allowed!important}

.source-empty-state{padding:22px 14px;border:1px dashed #3c3c3c;border-radius:10px;background:#0d0d0d;text-align:center}.source-empty-state strong{display:block;margin-bottom:6px}

.result-summary[hidden]{display:none!important}

.ready-action{font-weight:800}

.hotspot-stage{position:relative;width:100%;max-width:900px;margin:12px auto}
.hotspot-image{display:block;width:100%;height:auto;border-radius:12px;cursor:crosshair;touch-action:manipulation}
.hotspot-marker{position:absolute;width:22px;height:22px;border:3px solid currentColor;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 3px rgba(0,0,0,.45)}
.hotspot-hint{margin-top:8px;text-align:center}
.categorize-box{display:grid;gap:10px}
.categorize-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line,#333);border-radius:10px}
.categorize-row select{width:100%}
@media(max-width:600px){.categorize-row{grid-template-columns:1fr}.hotspot-stage{margin-inline:-4px;width:calc(100% + 8px)}}

.hotspot-correct-region{position:absolute;pointer-events:none;box-sizing:border-box;border:3px solid currentColor;background:color-mix(in srgb,currentColor 18%,transparent);z-index:3}
.hotspot-rectangle-overlay{border-radius:8px}
.hotspot-ellipse-overlay{border-radius:50%}
.hotspot-polygon-overlay{inset:0;width:100%;height:100%;overflow:visible;border:0;background:none}
.hotspot-polygon-overlay polygon{fill:color-mix(in srgb,currentColor 18%,transparent);stroke:currentColor;stroke-width:1}
.hotspot-marker{z-index:4}
.hotspot-correct-label{margin-top:8px;text-align:center;font-weight:700}

.hotspot-stage{position:static}
.hotspot-image-wrap{position:relative;width:100%;line-height:0}
.hotspot-image-wrap .hotspot-image{width:100%;height:auto}


/* 0.19.0 Controller / mobile Remote UI */
#presenter{max-width:980px;margin:0 auto}
.presenter-current-card{border-color:#3c3514}
.presenter-current-card h2{margin:.45rem 0 .65rem}
.presenter-response-count{margin-top:7px;color:#aaa;font-size:.82rem}
.presenter-next-card h2{margin:.45rem 0 0;font-size:1rem}
.presenter-live-card{padding-top:12px}
.live-control-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.live-control-grid .live-btn,.live-control-grid .start-bowl-btn{min-height:50px;font-weight:850}
.live-control-grid .primary-live,.start-bowl-btn{font-weight:950}
.ctl-icon{font-size:1.05em}
.nav-btn{display:flex;align-items:center;justify-content:center;gap:7px}
.start-bowl-btn{grid-column:span 2}
.secondary-live{opacity:.88}
.controller-setup-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.setup-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px}
.desktop-clear-scores{margin-top:10px}
.presenter-setup-card{margin-top:12px}

body.mobile-remote{background:#090909}
body.mobile-remote #presenter{width:min(100%,430px);max-width:430px;margin:0 auto;padding:0 8px 14px;display:flex;flex-direction:column}
body.mobile-remote .presenter-topbar{padding:10px 6px 8px;min-height:auto}
body.mobile-remote .presenter-topbar .gforce-wordmark{font-size:.61rem}
body.mobile-remote .presenter-topbar .app-title{font-size:1.08rem}
body.mobile-remote #presenterChannel{font-size:.68rem}
body.mobile-remote .status-stack{grid-template-columns:auto auto;align-items:center;column-gap:7px}
body.mobile-remote #presenterStatus{font-size:.66rem;grid-column:2}
body.mobile-remote .build-tag{font-size:.6rem;grid-column:2}
body.mobile-remote .remote-menu-toggle{grid-row:1/3;grid-column:1;min-width:42px;min-height:42px}
body.mobile-remote #presenterCurrentCard{order:1}
body.mobile-remote #presenterLiveCard{order:2}
body.mobile-remote #presenterNextCard{order:3}
body.mobile-remote #presenterSetupCard{order:4}
body.mobile-remote .presenter-card{padding:10px;margin:7px 0;border-radius:12px}
body.mobile-remote .presenter-current-head{margin-bottom:2px}
body.mobile-remote #presenterCurrent{font-size:1rem;line-height:1.23;margin:.3rem 0 .5rem}
body.mobile-remote #presenterPosition{font-size:.76rem}
body.mobile-remote #presenterLiveState{font-size:.63rem;line-height:1.25;padding:5px 6px;margin-top:5px;white-space:normal}
body.mobile-remote #presenterResponses{font-size:.72rem;margin-top:5px}
body.mobile-remote .presenter-media-overrides,
body.mobile-remote .presenter-controls,
body.mobile-remote #presenterMedia{display:none!important}
body.mobile-remote .live-controls-label{margin:0 0 7px;padding:0;border:0}
body.mobile-remote .live-controls-label .muted{display:none}
body.mobile-remote .live-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
body.mobile-remote .live-control-grid button{min-height:46px;padding:7px 8px;font-size:.76rem;line-height:1.05;border-radius:9px}
body.mobile-remote .live-control-grid .nav-btn{font-size:.84rem;min-height:49px}
body.mobile-remote #presenterStartSet{grid-column:1/-1;min-height:50px;font-size:.88rem}
body.mobile-remote .secondary-live{display:none}
body.mobile-remote #presenterNextCard{padding:9px 10px}
body.mobile-remote #presenterNextCard .kicker{font-size:.62rem}
body.mobile-remote #presenterNext{font-size:.83rem;line-height:1.2;margin:.3rem 0 0}
body.mobile-remote #presenterResultSummary{max-height:92px;overflow:auto;font-size:.66rem}
body.mobile-remote .remote-drawer #controllerSetupBlock{display:grid;gap:8px}
body.mobile-remote .remote-drawer .controller-setup-head{display:block}
body.mobile-remote .remote-drawer .controller-setup-head .muted{display:block;margin-top:3px}
body.mobile-remote .remote-drawer .setup-actions{grid-template-columns:1fr 1fr}
body.mobile-remote .remote-drawer #openMobileRemote,
body.mobile-remote .remote-drawer #presenterDelivery,
body.mobile-remote .remote-drawer .desktop-clear-scores{display:none!important}
body.mobile-remote .remote-drawer #presenterLoadedSet{font-size:.7rem}
body.mobile-remote .remote-drawer select{width:100%}
body.mobile-remote .remote-menu-body button{min-height:44px}
body.mobile-remote .remote-drawer details{padding:8px 0}
body.mobile-remote .remote-drawer{width:min(330px,90vw)}

@media(max-width:700px){
 #presenter:not(.mobile-remote) .live-control-grid{grid-template-columns:1fr 1fr}
 .setup-actions{grid-template-columns:1fr 1fr}
}

/* 0.19.1 Host Workspace plumbing prototype */
body.mobile-remote #hostNavShell{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;position:sticky;bottom:6px;z-index:70;order:99;margin:6px 0 0;padding:5px;border:1px solid #383838;border-radius:12px;background:rgba(12,12,12,.96)}
body.mobile-remote .host-nav-btn{min-width:0;min-height:44px;padding:5px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:.88rem;line-height:1}
body.mobile-remote .host-nav-btn span{font-size:.57rem;font-weight:800}
body.mobile-remote #hostWorkspacePane{order:1;min-height:calc(100dvh - 145px);margin:7px 0;border:1px solid #343434;border-radius:12px;overflow:hidden;background:#0b0b0b}
body.mobile-remote .host-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid #333;background:#111}
body.mobile-remote .host-workspace-body{height:calc(100dvh - 205px);min-height:520px;overflow:auto}
body.mobile-remote .host-workspace-frame{display:block;width:100%;height:100%;min-height:520px;border:0;background:#090909}
body.mobile-remote .workspace-placeholder{display:grid;gap:12px;padding:20px 14px;line-height:1.4}
body.mobile-remote .workspace-placeholder label{display:grid;gap:5px}
body.mobile-remote .host-workspace-pane[hidden],body.mobile-remote #hostNavShell[hidden]{display:none!important}
body.mobile-remote[data-host-view]:not([data-host-view="remote"]) #presenterCurrentCard,
body.mobile-remote[data-host-view]:not([data-host-view="remote"]) #presenterLiveCard,
body.mobile-remote[data-host-view]:not([data-host-view="remote"]) #presenterNextCard{display:none!important}

/* Alpha.111 — QBank connection layout + diagnostics */
.qbank-connect{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:stretch;
}
.qbank-fields{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);
  gap:10px;
}
.qbank-fields label{
  min-width:0;
}
.qbank-fields input{
  width:100%;
  min-width:0;
}
.qbank-connect-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.qbank-help{
  margin:0;
  max-width:900px;
}
.qbank-status{
  font-weight:800;
}
.qbank-diagnostic{
  min-height:1.2em;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .qbank-fields{grid-template-columns:1fr}
  .qbank-connect-actions{display:grid;grid-template-columns:1fr}
  .qbank-connect-actions button{width:100%}
}

/* A197 reusable Bowl definitions */
.bowl-definition-builder{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr);gap:10px;align-items:end}
.bowl-definition-builder label{grid-column:1/-1}.bowl-definition-builder select[multiple]{min-height:110px}
.saved-bowls-card .question-row{align-items:center}.saved-bowls-card .question-main{min-width:0}
@media(max-width:720px){.bowl-definition-builder{grid-template-columns:1fr}}

.stage-mode-hint{display:grid;gap:4px;margin:0 0 14px;padding:12px 14px;border:1px solid #685d22;border-radius:12px;background:#1c1a0f;color:#f4f4f4}.stage-mode-hint strong{color:#f6c928}.stage-mode-hint span{color:#c8c8c8;font-size:.88rem;line-height:1.35}.stage-mode-hint.stage-mode-live{border-color:#356a48;background:#102018}.stage-mode-hint.stage-mode-live strong{color:#7de59c}

/* A301: submitted Bowl answers are review-only, not selectable controls. */
.answer-submit:disabled,.option:disabled{cursor:default;opacity:.72}.option:disabled.selected{opacity:1}.option:disabled:not(.selected){background:#202020;color:#fff;border-color:#555}

/* R44-R18: embedded Bowl sizes to content; Participant Home owns page scrolling. */
html.gforce-embedded,body.gforce-embedded{height:auto!important;min-height:0!important;overflow:visible!important}
body.gforce-embedded #student{height:auto!important;min-height:0!important;overflow:visible!important}
body.gforce-embedded #play{overflow:visible!important}


/* A359-R44-R21: G-Bowl embedded in Participant Current Activity is content,
   not a nested scroll viewport. Participant Home owns vertical scrolling. */
html.gforce-embedded,body.gforce-embedded{
  height:auto!important;min-height:0!important;overflow:hidden!important;scrollbar-width:none!important;
}
html.gforce-embedded::-webkit-scrollbar,body.gforce-embedded::-webkit-scrollbar{display:none!important}
body.gforce-embedded #student,body.gforce-embedded #play{
  height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;
}
