:root {
  color-scheme: dark;
  font-family: "Avenir Next", "Trebuchet MS", ui-rounded, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg: #071321;
  --bg2: #0b1c31;
  --panel: #13253c;
  --panel2: #19304c;
  --panel3: #0d1c30;
  --line: #345374;
  --line-soft: #27415e;
  --text: #f8fbff;
  --muted: #abc0d8;
  --cyan: #42d7e8;
  --pink: #ef6eb6;
  --green: #62d99a;
  --red: #ff7282;
  --amber: #f6c75a;
  --purple: #ad8cf2;
  --blue: #6caaf7;
  --orange: #f49a62;
}
* { box-sizing: border-box; }
html,body { width:100%; max-width:100%; overflow-x:hidden; }
body { margin:0; min-height:100vh; min-height:100dvh; color:var(--text); background:
  radial-gradient(circle at 8% -10%, rgba(66,215,232,.19), transparent 34%),
  radial-gradient(circle at 100% 0%, rgba(239,110,182,.11), transparent 30%),
  linear-gradient(150deg, #071321 0%, #0a1727 48%, #08111e 100%); }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
a { color:#7be4f0; }
.shell { min-height:100vh; padding:22px; max-width:1600px; margin:0 auto; }
.header { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-bottom:18px; padding:4px 2px; }
.brand { font-family:"Arial Rounded MT Bold","Avenir Next",sans-serif; font-weight:900; letter-spacing:.04em; font-size:22px; }
.brand span { color:var(--cyan); }
.badge,.count-pill,.context-chip,.bank-type,.inheritance-badge { border:1px solid var(--line); background:#0d1c2e; border-radius:999px; padding:7px 11px; color:#c9d8e9; font-size:12px; font-weight:800; }
.card { position:relative; overflow:hidden; background:linear-gradient(180deg, rgba(25,48,76,.96), rgba(12,27,46,.97)); border:1px solid var(--line-soft); border-radius:20px; padding:19px; box-shadow:0 18px 48px rgba(0,0,0,.22); }
.card::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg, rgba(66,215,232,.7), rgba(173,140,242,.55), rgba(239,110,182,.55)); opacity:.55; }
.card h1,.card h2,.card h3 { margin-top:0; font-family:"Arial Rounded MT Bold","Avenir Next",sans-serif; letter-spacing:-.01em; }
.grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr); gap:18px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.space { justify-content:space-between; }
.stack { display:grid; gap:13px; }
.muted { color:var(--muted); }
.small { font-size:13px; }
.tiny { font-size:11px; }
.btn { border:1px solid #446383; background:#1a3552; color:var(--text); border-radius:12px; padding:10px 14px; font-weight:850; transition:transform .12s ease,border-color .12s ease,filter .12s ease; }
.btn:hover:not(:disabled) { border-color:#76a7d5; transform:translateY(-1px); filter:brightness(1.06); }
.btn.primary { background:linear-gradient(135deg,#42d7e8,#70e3de); color:#06222b; border-color:transparent; }
.btn.green { background:linear-gradient(135deg,#176a4c,#24845f); border-color:#43b483; }
.btn.purple { background:linear-gradient(135deg,#413276,#59449a); border-color:#826bc5; }
.btn.pink { background:linear-gradient(135deg,#71315b,#8f3c70); border-color:#b3538c; }
.btn.amber { background:#5c4419; border-color:#a27c31; }
.btn.danger { background:#5a2230; border-color:#9f4055; }
.btn.ghost { background:rgba(8,21,36,.45); }
.btn.ai,.ai-nav { background:linear-gradient(135deg,#573a83,#2c6a8d)!important; color:#fff!important; border-color:#8d79c5!important; }
.btn.ai-soft { background:rgba(173,140,242,.13); border-color:rgba(173,140,242,.55); }
.btn.small { padding:7px 10px; min-width:38px; }
.btn:disabled { opacity:.3; cursor:not-allowed; transform:none; }
.input,input,textarea,select { width:100%; border:1px solid #385674; border-radius:11px; background:#091a2d; color:var(--text); padding:11px 12px; outline:none; transition:border-color .12s, box-shadow .12s, background .12s; }
input:focus,textarea:focus,select:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(66,215,232,.12); background:#0c2036; }
input:disabled,textarea:disabled,select:disabled { opacity:.54; cursor:not-allowed; background:#0b1625; }
input::placeholder,textarea::placeholder { color:#718aa4; opacity:1; }
textarea { min-height:92px; resize:vertical; }
label { display:grid; gap:6px; color:#e0ebf6; font-size:13px; font-weight:760; }
fieldset { min-width:0; }
.nav { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; padding:8px; border:1px solid var(--line-soft); border-radius:16px; background:rgba(8,21,36,.68); }
.nav button { border:1px solid transparent; background:#12263e; color:#b8c9dc; border-radius:11px; padding:10px 13px; font-weight:850; }
.nav button.active { color:#062029; background:linear-gradient(135deg,var(--cyan),#85e9dd); }
.nav button:nth-child(2).active { background:linear-gradient(135deg,var(--purple),#c9a7ff); color:#1b1032; }
.nav button:nth-child(3).active { background:linear-gradient(135deg,var(--green),#9be6b8); color:#082719; }
.profile-item,.game-item,.round-item,.question-item { border:1px solid var(--line-soft); background:var(--panel3); border-radius:14px; padding:12px; }
.profile-item.active,.game-item.active,.round-item.active,.question-item.active { border-color:var(--cyan); box-shadow:inset 4px 0 0 var(--cyan); }
.editor-layout-v2 { display:grid; grid-template-columns:255px minmax(0,1fr); gap:17px; align-items:start; }
.round-list,.question-list,.record-list,.event-list,.assignment-list,.question-list-large,.bank-list,.bank-chooser { display:grid; gap:10px; }
.answer-row { display:grid; grid-template-columns:40px 34px minmax(0,1fr) auto; gap:8px; align-items:start; padding:10px; background:#0a192b; border:1px solid var(--line-soft); border-radius:13px; }
.answer-row textarea { min-height:62px; }
.answer-letter { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#294965,#3b577d);font-weight:950; }
.correct-check { width:20px; height:20px; margin-top:7px; accent-color:var(--green); }
.toggle-row { display:flex; justify-content:space-between; gap:12px; align-items:center; border:1px solid var(--line-soft); background:#0c1b2e; border-radius:13px; padding:12px; }
.toggle { width:50px;height:28px;border-radius:999px;background:#33465d;padding:3px;border:0;flex:none; }
.toggle span { display:block;width:22px;height:22px;border-radius:50%;background:white;transition:.15s; }
.toggle.on { background:var(--green); }
.toggle.on span { transform:translateX(22px); }
.notice { padding:12px 14px; border-radius:12px; background:rgba(66,215,232,.08); border:1px solid rgba(66,215,232,.27); }
.notice.success { background:rgba(98,217,154,.10); border-color:rgba(98,217,154,.36); }
.notice.error { background:rgba(255,114,130,.12); border-color:rgba(255,114,130,.42); }
.amber-notice { background:rgba(246,199,90,.10); border-color:rgba(246,199,90,.38); }
.phase { color:#6be4ef; font-weight:950; letter-spacing:.09em; font-size:12px; }
.timer { font-size:52px; font-weight:950; color:var(--amber); font-variant-numeric:tabular-nums; }
.question { font-size:clamp(26px,4vw,52px); line-height:1.08; font-weight:900; margin:18px 0 24px; }
.presentation .question { font-size:clamp(42px,5.5vw,84px); max-width:1500px; }
.options { display:grid; gap:12px; }
.option { border:2px solid var(--line); border-radius:15px; padding:16px 18px; background:#0d1c30; display:flex; gap:12px; align-items:flex-start; font-size:20px; transition:.15s ease; width:100%; color:var(--text); text-align:left; }
.presentation .option { font-size:clamp(28px,3vw,52px); padding:22px 28px; }
.option-button:hover { border-color:var(--cyan); transform:translateY(-1px); }
.option.selected { border-color:var(--purple); background:rgba(173,140,242,.12); }
.option-letter { width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#274563;font-weight:950;flex:none; }
.option.correct,.option.host-correct { border-color:var(--green); background:rgba(98,217,154,.11); }
.option.wrong-selected { border-color:var(--red); background:rgba(255,114,130,.12); }
.controls { display:flex; flex-wrap:wrap; gap:10px; }
.response-row { display:grid; grid-template-columns:1fr 70px 70px; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid rgba(52,83,116,.7); }
.response-bar { height:8px; background:#263b55; border-radius:999px; overflow:hidden; margin-top:5px; }
.response-bar > div { height:100%; background:linear-gradient(90deg,var(--cyan),var(--pink)); }
.table { width:100%; border-collapse:collapse; }
.table th,.table td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line-soft); }
.table th { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.me { background:rgba(66,215,232,.08); }
.audit { max-height:280px; overflow:auto; font-size:13px; }
.audit-entry { padding:8px 0; border-bottom:1px solid var(--line-soft); }
.landing { max-width:1050px; margin:50px auto; }
.landing-links { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px; }
.landing a { text-decoration:none; color:inherit; }
.landing .card:hover { border-color:var(--cyan); }
.login { max-width:520px; margin:12vh auto; }
.join { max-width:520px; margin:10vh auto; }
.presentation { padding:3vw; }
.presentation .card { min-height:85vh; display:flex; flex-direction:column; justify-content:center; }
.launch-box { border:1px solid var(--green); background:rgba(98,217,154,.08); padding:16px; border-radius:14px; }
.urlbox { background:#06121f; border:1px solid var(--line-soft); padding:9px 10px; border-radius:9px; word-break:break-all; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; }
hr { border:0; border-top:1px solid var(--line-soft); margin:17px 0; }

/* List-first records */
.profile-lists .card { min-height:520px; }
.list-tools { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:8px; margin:14px 0; }
.record-card,.event-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; border:1px solid var(--line-soft); background:#0b1d31; border-radius:14px; padding:11px; }
.record-card:hover,.event-card:hover { border-color:#4f779d; }
.record-card.just-created,.question-card.just-created { border-color:rgba(98,217,154,.78); box-shadow:inset 4px 0 0 rgba(98,217,154,.95); }
.record-main,.question-card-main { all:unset; cursor:pointer; display:block; min-width:0; width:100%; }
.profile-save-notice { margin:12px 0; }
.saved-badge { display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:850; color:#baf5d5; background:rgba(98,217,154,.13); border:1px solid rgba(98,217,154,.38); }

/* Modal/workflow */
.modal-backdrop { position:fixed; inset:0; z-index:1000; background:rgba(2,8,15,.76); backdrop-filter:blur(5px); display:grid; place-items:center; padding:24px; overflow:auto; }
.modal-backdrop.nested { z-index:1100; background:rgba(2,8,15,.82); }
.modal-card { width:min(900px,96vw); max-height:92vh; overflow:auto; background:linear-gradient(180deg,#1b3451,#0d1d31); border:1px solid #5278a0; border-radius:21px; padding:21px; box-shadow:0 30px 90px rgba(0,0,0,.58); }
.modal-card::before { content:""; display:block; height:4px; border-radius:999px; margin:-8px 0 17px; background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink)); opacity:.75; }
.profile-modal { width:min(1000px,96vw); }
.question-modal { width:min(1100px,97vw); }
.ai-panel { width:min(820px,95vw); }
.modal-actions { margin-top:8px; padding-top:14px; border-top:1px solid var(--line-soft); }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.detail-grid > div,.detail-block { border:1px solid var(--line-soft); background:#09192b; border-radius:13px; padding:12px; }
.detail-grid span,.detail-block > span { display:block; color:var(--muted); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; margin-bottom:5px; }
.assignment-check { display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; align-items:start; border:1px solid var(--line-soft); background:#09192b; border-radius:11px; padding:10px; cursor:pointer; }
.assignment-check input { width:18px; height:18px; margin-top:2px; accent-color:var(--cyan); }
.assignment-check span { display:grid; gap:2px; }
.assignment-check small { color:var(--muted); font-weight:500; }
.address-block { border:1px solid #3f6282; border-radius:15px; padding:14px; display:grid; gap:10px; background:rgba(66,215,232,.035); }
.address-block legend { padding:0 8px; color:#75dfe9; font-weight:900; }
.address-grid { display:grid; grid-template-columns:minmax(0,1.5fr) 110px 150px; gap:10px; }

/* Content library */
.library-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; background:linear-gradient(135deg,rgba(35,75,102,.93),rgba(60,39,91,.86)); }
.creation-actions,.compact-actions { display:flex; flex-wrap:wrap; gap:9px; }
.workspace-card::before { opacity:.95; }
.venue-workspace::before { background:var(--pink); }
.host-workspace::before { background:var(--green); }
.game-workspace::before { background:var(--cyan); }
.round-workspace::before,.round-map::before { background:var(--purple); }
.question-workspace::before,.round-editor::before { background:var(--green); }
.game-banner::before { background:linear-gradient(90deg,var(--cyan),var(--purple)); }
.library-card { transition:.14s ease; }
.library-card:hover { border-color:var(--cyan); transform:translateY(-2px); }
.bank-card { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; padding:11px 12px; border:1px solid var(--line-soft); border-radius:12px; background:#0b1b2e; }
.bank-card strong { display:block; line-height:1.3; }
.bank-type { padding:4px 8px; color:#d9cdfd; border-color:rgba(173,140,242,.45); background:rgba(173,140,242,.1); text-transform:uppercase; font-size:9px; letter-spacing:.07em; }
.bank-choice { text-align:left; border:1px solid var(--line-soft); color:var(--text); background:#0b1b2e; border-radius:13px; padding:13px; display:grid; gap:4px; }
.bank-choice:hover { border-color:var(--purple); }
.bank-choice span { color:var(--muted); font-size:12px; }

/* Round/question authoring */
.round-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.round-defaults { border:1px solid rgba(173,140,242,.4); background:rgba(173,140,242,.055); border-radius:16px; padding:14px; margin-top:14px; display:grid; gap:12px; }
.check-line { display:flex; grid-template-columns:none; gap:9px; align-items:center; font-weight:750; }
.check-line input { width:auto; accent-color:var(--cyan); }
.question-card { border:1px solid var(--line-soft); background:#091a2d; border-radius:15px; padding:14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:start; }
.question-card:hover { border-color:#5b7fa2; }
.question-card-text { font-size:18px; font-weight:850; line-height:1.35; margin:7px 0 10px; white-space:normal; }
.question-answer-preview { display:flex; flex-wrap:wrap; gap:7px 14px; color:#cad8e8; font-size:13px; line-height:1.35; }
.question-answer-preview.full { font-size:15px; display:grid; gap:8px; }
.question-answer-preview .answer-correct { color:#aef2cd; }
.question-actions { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; max-width:255px; }
.answer-row.no-check { grid-template-columns:34px minmax(0,1fr) auto; }
.question-tools-card { border:1px solid rgba(108,170,247,.45); background:linear-gradient(135deg,rgba(30,66,94,.44),rgba(31,48,85,.4)); border-radius:16px; padding:14px; display:grid; gap:12px; }
.tool-grid { display:grid; grid-template-columns:minmax(220px,1fr) minmax(210px,.8fr) minmax(220px,.8fr); gap:10px; align-items:end; }
.wager-check { display:flex; flex-direction:row; gap:10px; align-items:center; padding:10px 12px; border:1px solid rgba(246,199,90,.36); border-radius:12px; background:rgba(246,199,90,.06); }
.wager-check input { width:auto; accent-color:var(--amber); }
.wager-check span { display:grid; gap:2px; }
.wager-check small { color:var(--muted); font-weight:500; }
.inheritance-badge.inherited { color:#a9eaf1; border-color:rgba(66,215,232,.4); }
.inheritance-badge.override { color:#d8c9ff; border-color:rgba(173,140,242,.45); }
.inherited-summary { padding:10px 12px; border-radius:11px; background:rgba(66,215,232,.06); border:1px dashed rgba(66,215,232,.35); color:#c5d9e8; }
.settings-disclosure { border-top:1px solid var(--line-soft); padding-top:10px; }
.settings-disclosure summary { cursor:pointer; color:#c8d8e9; font-weight:850; margin-bottom:10px; }
.settings-grid { margin-top:10px; }
.question-text-label textarea { min-height:125px; font-size:17px; line-height:1.45; }
.wager-panel { border:1px solid rgba(246,199,90,.48); background:linear-gradient(135deg,rgba(91,67,22,.32),rgba(59,42,17,.18)); border-radius:16px; padding:14px; display:grid; gap:11px; }
.subfield { margin-top:8px; }
.disabled-field { opacity:.55; }

/* AI */
.ai-backdrop { z-index:1300; }
.context-chip { display:inline-flex; width:auto; color:#d9cff8; border-color:rgba(173,140,242,.5); background:rgba(173,140,242,.1); }

@media (max-width:1100px) { .editor-layout-v2 { grid-template-columns:1fr; } .library-hero { grid-template-columns:1fr; } .tool-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .grid,.grid-2,.grid-3,.landing-links { grid-template-columns:1fr; } .shell { padding:12px; } .response-row { grid-template-columns:1fr 52px 52px; } .answer-row { grid-template-columns:34px 28px 1fr; } .answer-row .remove-answer { grid-column:3; justify-self:start; } .round-settings,.tool-grid { grid-template-columns:1fr; } .question-card { grid-template-columns:1fr; } .question-actions { max-width:none; justify-content:flex-start; } .address-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .list-tools,.detail-grid { grid-template-columns:1fr; } .modal-backdrop { padding:8px; } }

/* Alpha 0.2.4 focused authoring refinements */
.question-tools-disclosure { display:block; }
.question-tools-disclosure > summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:14px; cursor:pointer; border-radius:11px; }
.question-tools-disclosure > summary::-webkit-details-marker { display:none; }
.question-tools-disclosure > summary::after { content:"▾"; color:var(--cyan); font-size:18px; font-weight:950; transition:transform .15s ease; }
.question-tools-disclosure[open] > summary::after { transform:rotate(180deg); }
.question-tools-body { display:grid; gap:12px; padding-top:14px; margin-top:12px; border-top:1px solid rgba(108,170,247,.25); }
.question-tools-disclosure:not([open]) { background:linear-gradient(135deg,rgba(32,75,103,.48),rgba(64,48,99,.32)); }
.question-tools-disclosure:not([open]) > summary { padding:2px 0; }
.card h1,.card h2,.card h3,.modal-card h2 { text-wrap:balance; }
.creation-actions .btn { box-shadow:0 7px 20px rgba(0,0,0,.14); }

/* Alpha 0.2.4: denser, clearer authoring and bulk display rules */
.shell { max-width:1760px; }
.editor-layout-v2 { grid-template-columns:300px minmax(0,1fr); }
.round-map { position:sticky; top:14px; }
.round-editor { padding:23px; }
.library-bank-grid { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(0,1.45fr); gap:16px; }
.bank-card-button { width:100%; text-align:left; color:var(--text); cursor:pointer; font:inherit; min-height:72px; transition:transform .12s ease,border-color .12s ease,background .12s ease; }
.bank-card-button:hover { transform:translateY(-1px); border-color:var(--cyan); background:#10243a; }
.bank-card-button strong { font-size:15px; }
.library-detail-modal { width:min(980px,96vw); }
.library-question-names { margin:8px 0 0; padding-left:23px; display:grid; gap:7px; }
.display-rules-summary { grid-column:1 / -1; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:13px 14px; border:1px solid rgba(173,140,242,.42); border-radius:14px; background:linear-gradient(135deg,rgba(173,140,242,.09),rgba(66,215,232,.05)); }
.round-display-modal { width:min(1180px,97vw); }
.display-token-help { display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:11px 13px; border:1px solid var(--line-soft); background:#09192b; border-radius:12px; }
.display-token-help span { color:var(--muted); font-size:12px; }
code { padding:2px 5px; border-radius:6px; background:#061421; color:#a9eff5; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.display-rule-presets { margin-top:2px; }
.display-assignment-list { display:grid; gap:10px; }
.display-assignment-row { display:grid; grid-template-columns:minmax(280px,1.25fr) minmax(180px,.65fr) minmax(280px,1fr); gap:12px; align-items:center; padding:12px; border:1px solid var(--line-soft); border-radius:14px; background:#09192b; }
.display-assignment-question { display:grid; gap:3px; min-width:0; }
.display-assignment-question > span { color:var(--purple); font-size:11px; font-weight:950; letter-spacing:.06em; }
.display-preview { padding:10px 12px; min-height:58px; border-radius:11px; background:rgba(66,215,232,.06); border:1px dashed rgba(66,215,232,.35); color:#eefaff; line-height:1.35; }
.display-preview > span { display:block; color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; margin-bottom:4px; }
.drag-handle { display:inline-grid; place-items:center; min-width:27px; height:29px; padding:0 6px; border:1px dashed #557596; border-radius:8px; color:#a8c0d8; font-weight:950; cursor:grab; user-select:none; }
.round-item.dragging,.question-card.dragging { opacity:.45; }
.round-item.drag-over,.question-card.drag-over { border-color:var(--cyan); box-shadow:0 0 0 2px rgba(66,215,232,.18); }
.draft-status { display:flex; align-items:center; gap:8px; min-height:34px; padding:7px 10px; border-radius:10px; border:1px solid rgba(108,170,247,.25); background:rgba(108,170,247,.07); color:#bcd0e4; font-size:12px; font-weight:750; }
.draft-status::before { content:"●"; color:var(--blue); font-size:9px; }
.draft-status.recovered { border-color:rgba(246,199,90,.4); background:rgba(246,199,90,.08); color:#f3deb1; }
.draft-status.recovered::before { color:var(--amber); }
.question-card { padding:16px; }
.question-card-text { font-size:19px; }
.game-workspace .grid-3 { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.profile-lists .card { min-height:0; }

@media (max-width:1200px) {
  .library-bank-grid { grid-template-columns:1fr; }
  .display-assignment-row { grid-template-columns:1fr 1fr; }
  .display-preview { grid-column:1 / -1; }
}
@media (max-width:1100px) { .round-map { position:static; } }
@media (max-width:760px) { .display-assignment-row { grid-template-columns:1fr; } .display-preview { grid-column:auto; } }
@media (max-width:1100px) { .editor-layout-v2 { grid-template-columns:1fr; } }

/* Alpha 0.2.5 foundation — templates, notes, destinations */
.template-workspace::before { background:var(--pink); }
.template-workspace { background:linear-gradient(180deg,rgba(52,35,67,.96),rgba(23,22,42,.97)); }
.round-description,.round-live-description { color:#c8d8e8; line-height:1.45; margin:6px 0 0; max-width:900px; }
.round-live-description { margin-top:6px; font-size:13px; max-width:700px; }
.question-notes-panel { border:1px solid rgba(246,199,90,.34); background:rgba(246,199,90,.055); border-radius:16px; padding:14px; display:grid; gap:10px; }
.notes-mode { min-width:260px; }
.host-notes-preview,.public-question-notes { margin-top:16px; border-radius:14px; padding:14px 16px; border:1px solid rgba(246,199,90,.4); background:rgba(246,199,90,.08); line-height:1.45; }
.presentation .public-question-notes { font-size:clamp(20px,2.2vw,34px); padding:18px 22px; }
.submit-answer-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding:12px; border:1px solid rgba(66,215,232,.3); border-radius:13px; background:rgba(66,215,232,.06); }
.destination-panel { margin-top:4px; border:1px solid rgba(98,217,154,.4); border-radius:15px; padding:15px; background:rgba(98,217,154,.06); display:grid; gap:11px; }
.library-use-row { margin-top:4px; }
.hidden { display:none !important; }
.bank-label { color:#d9cdfd; font-weight:850; }
.venue-check-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px; margin-top:8px; }
.compact-settings { gap:8px; }

/* Context help: one viewport-aware popover prevents clipping and stuck boxes. */
.help-wrap { position:relative; display:inline-flex; align-items:center; margin-left:6px; vertical-align:middle; z-index:20; }
.help-q { width:19px; height:19px; min-width:19px; padding:0; border-radius:50%; border:1px solid #6a86a4; background:#142c45; color:#cbe7f5; font-size:11px; font-weight:950; line-height:17px; display:grid; place-items:center; box-shadow:none; cursor:help; }
.help-q:hover,.help-q:focus-visible { border-color:var(--cyan); color:#071321; background:var(--cyan); outline:2px solid rgba(66,215,232,.26); outline-offset:2px; }
label > .help-wrap { justify-self:start; }
.global-help-popover { position:fixed; z-index:10000; width:min(360px,calc(100vw - 24px)); max-height:min(360px,55vh); overflow:auto; padding:14px 38px 14px 15px; border-radius:13px; border:1px solid #6585a5; background:#061522; color:#e8f2fb; font-weight:600; font-size:12.5px; line-height:1.48; box-shadow:0 20px 48px rgba(0,0,0,.55); }
.global-help-popover[hidden] { display:none; }
.global-help-popover.pinned { border-color:var(--cyan); box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 0 1px rgba(66,215,232,.14); }
.global-help-close { position:absolute; top:7px; right:7px; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-size:17px; font-weight:900; cursor:pointer; }
.global-help-close:hover { background:rgba(255,255,255,.22); }
.global-help-copy { white-space:normal; }

@media (max-width:700px) {
  .submit-answer-row { align-items:stretch; flex-direction:column; }
  .notes-mode { min-width:0; width:100%; }
}

/* Alpha 0.2.6 break-screen + import/export authoring */
.break-settings { margin-top:14px; border:1px solid rgba(246,199,90,.34); border-radius:15px; background:rgba(246,199,90,.045); padding:12px 14px; }
.break-settings summary { cursor:pointer; font-weight:900; color:#f4df9a; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.break-settings[open] summary { margin-bottom:12px; }
.break-fields { margin-top:10px; }
.break-settings .notice.subtle { background:rgba(112,162,221,.07); border-color:rgba(112,162,221,.24); color:#c7d9ec; }
.starter-import { display:grid; gap:8px; border:1px dashed rgba(66,215,232,.42); border-radius:14px; padding:13px; background:rgba(66,215,232,.045); }
.starter-import input[type=file] { padding:9px; }
.import-export-row { flex-wrap:wrap; align-items:center; }

/* Alpha 0.2.7 content-library management */
.library-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) minmax(170px,220px) auto; gap:10px; align-items:end; margin:12px 0 6px; }
.library-search-label input { width:100%; }
.library-search-note { margin:0 0 12px; line-height:1.4; }
.library-pager { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:12px; padding-top:12px; border-top:1px solid var(--line-soft); }
.bank-card-managed { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; padding:0; overflow:hidden; }
.bank-card-main { appearance:none; border:0; background:transparent; color:var(--text); font:inherit; text-align:left; cursor:pointer; padding:12px; display:flex; gap:10px; justify-content:space-between; align-items:flex-start; min-width:0; }
.bank-card-main:hover { background:#10243a; }
.bank-card-actions { display:flex; gap:6px; align-items:center; padding:9px; border-left:1px solid var(--line-soft); background:rgba(255,255,255,.018); }
.library-record-actions { flex-wrap:wrap; }
.banked-round-questions { padding:14px; }
.banked-question-list { display:grid; gap:10px; margin-top:12px; }
.banked-question-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:start; padding:12px; border:1px solid var(--line-soft); border-radius:13px; background:#0a1828; }
.banked-question-number { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:rgba(65,215,255,.12); color:var(--cyan); font-weight:800; }
.banked-question-content { min-width:0; }
.banked-question-actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; max-width:230px; }
.banked-question-row .question-card-text { font-size:16px; margin:5px 0 8px; }
@media (max-width:760px){
  .library-toolbar { grid-template-columns:1fr; }
  .library-pager { align-items:flex-start; flex-direction:column; }
  .bank-card-managed { grid-template-columns:1fr; }
  .bank-card-actions { border-left:0; border-top:1px solid var(--line-soft); justify-content:flex-end; }
  .banked-question-row { grid-template-columns:38px 1fr; }
  .banked-question-actions { grid-column:1 / -1; max-width:none; justify-content:flex-start; }
}

/* Alpha 0.3.0 — complete standard multi-round live runtime */
.live-topbar { margin-bottom:14px; flex-wrap:wrap; }
.player-live-card { max-width:760px; margin:auto; }
.round-ready { text-align:center; min-height:46vh; display:grid; align-content:center; justify-items:center; gap:12px; padding:28px; background:radial-gradient(circle at 50% 30%,rgba(173,140,242,.16),transparent 45%); }
.round-ready h1 { font-size:clamp(38px,6vw,82px); margin:0; }
.round-ready p { max-width:900px; font-size:clamp(16px,2vw,28px); line-height:1.45; }
.host-ready { min-height:340px; text-align:left; justify-items:start; align-content:center; }
.host-ready h1 { font-size:clamp(34px,4vw,58px); }
.ready-rule { width:min(540px,70vw); height:5px; border-radius:999px; background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink)); }
.break-screen { text-align:center; min-height:58vh; display:grid; align-content:center; justify-items:center; gap:14px; padding:24px; background:radial-gradient(circle at 50% 22%,rgba(66,215,232,.12),transparent 38%),radial-gradient(circle at 78% 70%,rgba(173,140,242,.12),transparent 36%); }
.break-screen h1 { margin:0; font-size:clamp(30px,4.5vw,68px); }
.break-countdown { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:clamp(64px,12vw,170px); line-height:.95; font-weight:950; letter-spacing:-.06em; color:#f5fbff; text-shadow:0 0 28px rgba(66,215,232,.22); }
.break-media { width:min(820px,90%); display:grid; place-items:center; margin:4px auto; }
.break-media img,.break-media video { max-width:100%; max-height:34vh; border-radius:18px; border:1px solid rgba(255,255,255,.16); box-shadow:0 16px 42px rgba(0,0,0,.32); }
.break-promo { width:min(900px,92%); padding:14px 18px; border-radius:16px; border:1px solid rgba(246,199,90,.38); background:rgba(246,199,90,.08); color:#fff1bd; font-size:clamp(17px,2.2vw,30px); line-height:1.35; }
.ranking-scope-switch { margin-bottom:14px; flex-wrap:wrap; }
.final-stage > .phase { color:var(--amber); }
.presentation .table { font-size:clamp(16px,1.6vw,28px); }
.presentation .table td,.presentation .table th { padding:clamp(9px,1.2vw,18px); }
@media (max-width:760px){
  .break-countdown { font-size:clamp(58px,20vw,110px); }
  .break-screen,.round-ready { min-height:50vh; padding:18px; }
}


/* Alpha 0.3.3 live synchronization status */
.live-sync-row{display:flex;justify-content:flex-end;margin:-4px 0 10px}
.live-sync-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.live-sync-badge.live{background:rgba(46,160,67,.14)}
.live-sync-badge.backup{background:rgba(210,153,34,.16)}
.live-sync-badge.recovering,.live-sync-badge.connecting{background:rgba(210,153,34,.16)}

/* Alpha 0.3.4 live-room usability */
.presentation { max-width:none; width:100%; padding:18px; }
.presentation-controls { position:fixed; z-index:40; top:10px; right:12px; display:flex; gap:8px; align-items:center; opacity:.92; }
.presentation-stage { min-height:calc(100vh - 36px)!important; border-radius:18px; }
:fullscreen .presentation { padding:0; }
:fullscreen .presentation-stage { min-height:100vh!important; border-radius:0; border:0; }
:fullscreen .presentation-controls { top:8px; right:8px; opacity:.32; transition:opacity .15s ease; }
:fullscreen .presentation-controls:hover { opacity:1; }
.lobby-screen { width:min(1500px,96vw); margin:auto; text-align:center; display:grid; justify-items:center; gap:18px; }
.lobby-brand { font-size:clamp(34px,5vw,74px); }
.lobby-screen h1 { font-size:clamp(44px,6.5vw,96px); margin:0; }
.lobby-code { font-size:clamp(24px,3vw,44px); letter-spacing:.08em; }
.lobby-code strong { color:var(--amber); }
.lobby-team-grid { width:min(1300px,94vw); display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.lobby-team-name { border:1px solid var(--line); background:rgba(8,24,42,.78); border-radius:14px; padding:14px 18px; font-size:clamp(18px,2vw,30px); font-weight:900; }
.option { gap:18px; }
.presentation .option { gap:24px; }
.option-letter { margin-right:4px; }
.correct-answer-label { display:inline-block; margin-top:5px; color:#b7f4d1; font-weight:900; }
.player-shell { width:100%; max-width:860px; margin:0 auto; padding-left:max(12px,env(safe-area-inset-left)); padding-right:max(12px,env(safe-area-inset-right)); overflow-x:hidden; }
.player-shell .header { width:100%; }
.player-live-card { width:100%; margin:0 auto; }
.player-shell .option { min-width:0; }
.player-shell .option > span:last-child { min-width:0; overflow-wrap:anywhere; }
.public-response-breakdown { margin-top:18px; padding:16px; border:1px solid rgba(66,215,232,.34); border-radius:16px; background:rgba(66,215,232,.055); display:grid; gap:12px; }
.public-response-breakdown.big { padding:22px; }
.public-response-row { display:grid; grid-template-columns:minmax(240px,1fr) minmax(180px,.8fr) auto; gap:14px; align-items:center; font-size:clamp(16px,1.6vw,26px); }
.public-response-bar { height:14px; background:#263b55; border-radius:999px; overflow:hidden; }
.public-response-bar span { display:block; height:100%; background:linear-gradient(90deg,var(--cyan),var(--purple)); }
.host-rundown summary { cursor:pointer; font-weight:900; }
.host-rundown-list { display:grid; gap:12px; margin-top:12px; max-height:560px; overflow:auto; }
.host-rundown-round { display:grid; gap:7px; padding:10px; border:1px solid var(--line-soft); border-radius:12px; background:#09192b; }
.host-rundown-question { display:grid; grid-template-columns:34px minmax(0,1fr); gap:8px; padding:8px; border-radius:9px; color:#d4e0ed; }
.host-rundown-question.active { background:rgba(66,215,232,.12); outline:1px solid rgba(66,215,232,.35); }
.host-rundown-question > span { color:var(--cyan); font-weight:900; }
.host-rundown-question small { display:block; color:var(--muted); margin-top:3px; }
.presentation-effect-layer { pointer-events:none; position:fixed; inset:0; z-index:60; display:grid; place-items:center; opacity:0; }
.presentation-effect-layer.active { opacity:1; animation:effectFade 2.2s ease both; }
.confetti-burst { font-size:clamp(62px,10vw,160px); letter-spacing:.12em; text-shadow:0 0 30px rgba(246,199,90,.7); animation:burstPop .7s ease-out both; }
.winner-burst { font-size:clamp(120px,20vw,300px); animation:burstPop 1s cubic-bezier(.2,.9,.2,1.2) both; filter:drop-shadow(0 0 28px rgba(246,199,90,.75)); }
@keyframes burstPop { 0%{transform:scale(.15) rotate(-8deg);opacity:0} 65%{transform:scale(1.14) rotate(3deg);opacity:1} 100%{transform:scale(1);opacity:1} }
@keyframes effectFade { 0%,72%{opacity:1} 100%{opacity:0} }

@media (max-width:700px){
  .player-shell { padding-top:10px; }
  .player-shell .header { align-items:flex-start; }
  .player-live-card { border-radius:16px; padding:14px; }
  .player-shell .question { font-size:clamp(24px,7.2vw,40px); margin:14px 0 18px; }
  .player-shell .option { font-size:17px; padding:14px; gap:14px; align-items:flex-start; }
  .player-shell .option-letter { width:32px; height:32px; }
  .public-response-row { grid-template-columns:1fr auto; }
  .public-response-bar { grid-column:1 / -1; grid-row:2; }
}

/* Alpha 0.3.6 — Audience Hub, progressive reveal, fitted venue layouts, themes and cards */
.game-feature-settings { margin-top:14px; border:1px solid rgba(173,140,242,.38); border-radius:16px; background:rgba(173,140,242,.045); padding:13px 15px; }
.game-feature-settings > summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; font-weight:900; }
.game-feature-settings > summary::-webkit-details-marker { display:none; }
.feature-settings-body { display:grid; gap:11px; margin-top:13px; padding-top:13px; border-top:1px solid var(--line-soft); }
.registration-grid { display:grid; grid-template-columns:minmax(180px,1fr) minmax(130px,220px); gap:12px; align-items:center; padding:7px 9px; border-bottom:1px solid rgba(52,83,116,.42); }
.registration-header { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.feature-subhead { margin-top:10px; }
.custom-field-row { display:grid; grid-template-columns:minmax(150px,1.2fr) 150px 130px minmax(180px,1fr) auto; gap:9px; align-items:end; padding:11px; border:1px solid var(--line-soft); border-radius:13px; background:#091a2d; }
.interstitial-editor-row { display:grid; grid-template-columns:160px minmax(180px,1fr) auto; gap:9px; align-items:end; padding:11px; border:1px solid var(--line-soft); border-radius:13px; background:#091a2d; }
.interstitial-editor-row .wide { grid-column:span 2; }
.interstitial-editor-row textarea { min-height:62px; }
.upload-control input[type=file] { padding:8px; }
.privacy-note { padding:11px 13px; border:1px solid rgba(98,217,154,.28); border-radius:12px; color:#c7d9e8; background:rgba(98,217,154,.055); font-size:12px; line-height:1.45; }
.registration-check { display:grid; grid-template-columns:22px minmax(0,1fr); gap:9px; align-items:start; padding:10px; border:1px solid var(--line-soft); border-radius:11px; background:#09192b; }
.registration-check input { width:18px; height:18px; margin-top:2px; accent-color:var(--cyan); }
.registration-check span { display:grid; gap:2px; }
.registration-check small { color:var(--muted); text-transform:capitalize; }
.audience-data-table { min-width:520px; font-size:12px; }
.interstitial-choice-list { display:grid; gap:7px; }

.option.incorrect { border-color:var(--red); background:rgba(255,114,130,.14); box-shadow:inset 5px 0 0 rgba(255,114,130,.85); }
.option-answer-main { min-width:0; flex:1; overflow-wrap:anywhere; }
.eliminate-answer { margin-left:auto; align-self:center; flex:none; }
.option-response-inline { display:grid; grid-template-columns:minmax(90px,1fr) auto; gap:12px; align-items:center; margin-top:8px; font-size:.45em; color:#d6e5f2; }
.option-response-bar { height:10px; border-radius:999px; background:#263b55; overflow:hidden; }
.option-response-bar span { display:block; height:100%; background:linear-gradient(90deg,var(--cyan),var(--purple)); }

.presentation { height:100vh; height:100dvh; min-height:0; max-width:none; width:100%; padding:12px; display:grid; grid-template-rows:minmax(0,1fr); gap:8px; overflow:hidden; background-color:#06111f; }
.presentation.has-join-strip { grid-template-rows:minmax(0,1fr) auto; }
:fullscreen .presentation.has-join-strip .presentation-stage { min-height:0!important; }
.presentation-stage { min-height:0!important; height:auto; padding:clamp(12px,1.7vw,24px); overflow:hidden; }
.presentation-content { width:100%; max-width:100%; transform-origin:top center; }
.presentation .question { margin:clamp(7px,1.1vh,15px) 0 clamp(8px,1.3vh,18px); font-size:clamp(28px,4.2vh,62px); line-height:1.05; }
.presentation .options { gap:clamp(5px,.75vh,10px); }
.presentation .option { padding:clamp(8px,1.15vh,16px) clamp(12px,1.5vw,22px); font-size:clamp(20px,2.65vh,38px); gap:clamp(10px,1.2vw,18px); }
.presentation .option-letter { width:clamp(30px,3.8vh,46px); height:clamp(30px,3.8vh,46px); }
.presentation .public-question-notes { margin-top:clamp(7px,1vh,13px); padding:clamp(8px,1.1vh,14px) clamp(12px,1.4vw,20px); font-size:clamp(15px,2vh,27px); }
.presentation .round-live-description { font-size:clamp(11px,1.35vh,17px); }
.venue-question-meta { gap:6px; }
.venue-join-dock { position:static; z-index:2; right:auto; bottom:auto; width:100%; max-width:none; min-height:74px; justify-content:flex-start; padding:6px 12px; border-radius:14px; flex-direction:row; box-shadow:0 8px 24px rgba(0,0,0,.32); }
.venue-join-dock .join-qr.compact { width:62px; }
.venue-join-dock .join-access-copy { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:14px; width:100%; }
.venue-join-dock .join-access-code { font-size:26px; white-space:nowrap; }
.venue-join-dock .join-address { max-width:none; font-size:clamp(10px,1vw,14px); }

.theme-bright-buzz { background:radial-gradient(circle at 12% 15%,rgba(255,232,88,.26),transparent 25%),radial-gradient(circle at 88% 76%,rgba(66,215,232,.25),transparent 31%),linear-gradient(135deg,#14233d,#143f50 55%,#412850); }
.theme-smooth-groove { background:radial-gradient(ellipse at 15% 90%,rgba(231,102,189,.28),transparent 36%),radial-gradient(ellipse at 85% 10%,rgba(104,87,222,.3),transparent 34%),linear-gradient(155deg,#16152d,#10233b 52%,#16273a); }
.theme-pop-spark { background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 12px,transparent 12px 34px),radial-gradient(circle at 80% 10%,rgba(255,91,148,.32),transparent 26%),linear-gradient(140deg,#102b49,#281947 55%,#5c204b); }
.theme-pixel-pulse { background-color:#071522; background-image:linear-gradient(rgba(66,215,232,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(66,215,232,.08) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(173,140,242,.22),transparent 52%); background-size:34px 34px,34px 34px,100% 100%; }
.theme-seasonal-celebration { background:radial-gradient(circle at 15% 20%,rgba(246,199,90,.3) 0 3%,transparent 3.4%),radial-gradient(circle at 82% 24%,rgba(98,217,154,.25) 0 4%,transparent 4.4%),radial-gradient(circle at 68% 82%,rgba(239,110,182,.26) 0 3%,transparent 3.4%),linear-gradient(145deg,#18352e,#31204b 58%,#553520); }
.theme-custom { background-image:linear-gradient(rgba(4,12,23,.54),rgba(4,12,23,.54)),var(--venue-custom-background); background-position:center; background-size:cover; }
.presentation[class*="theme-"] .presentation-stage { background:linear-gradient(180deg,rgba(20,38,61,.88),rgba(8,22,38,.9)); backdrop-filter:blur(4px); }
.player-shell[class*="theme-"] { background-position:center; background-size:cover; border-radius:20px; }
.player-shell[class*="theme-"] .player-live-card { background:linear-gradient(180deg,rgba(20,38,61,.91),rgba(8,22,38,.93)); backdrop-filter:blur(4px); }

.question-requirement-title { max-width:1200px; margin:8px auto 14px; color:#f4f8fc; font-size:clamp(20px,2.6vw,42px); font-weight:850; line-height:1.2; }
.question-ready-facts { width:min(1180px,96%); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 auto; text-align:left; }
.question-ready-facts > div { padding:12px 14px; border:1px solid var(--line-soft); border-radius:13px; background:rgba(6,18,31,.68); }
.question-ready-facts span { display:block; color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.08em; }
.question-ready-facts strong { display:block; margin-top:4px; font-size:clamp(14px,1.6vw,23px); }
.interstitial-card { width:min(900px,94%); margin:auto; display:grid; gap:14px; place-items:center; text-align:center; }
.interstitial-card img,.interstitial-card video { max-width:100%; max-height:36vh; border-radius:18px; }
.interstitial-card h1 { margin:0; font-size:clamp(34px,5.5vw,78px); }
.interstitial-card p { margin:0; max-width:850px; font-size:clamp(18px,2.4vw,34px); line-height:1.35; white-space:pre-wrap; }
.break-audio { padding:16px; border-radius:16px; background:rgba(6,18,31,.72); }
.break-audio audio { width:min(560px,100%); }

@media (max-width:900px){
  .custom-field-row,.interstitial-editor-row { grid-template-columns:1fr 1fr; }
  .custom-field-row .btn,.interstitial-editor-row .btn { justify-self:start; }
}
@media (max-width:700px){
  .custom-field-row,.interstitial-editor-row,.registration-grid { grid-template-columns:1fr; }
  .interstitial-editor-row .wide { grid-column:auto; }
  .join { width:100%; max-width:100%; margin:3vh auto; padding-left:max(0px,env(safe-area-inset-left)); padding-right:max(0px,env(safe-area-inset-right)); }
  .join .card { padding:15px; }
  .question-ready-facts { grid-template-columns:1fr 1fr; width:100%; }
  .venue-join-dock .join-access-copy { grid-template-columns:auto 1fr; gap:7px 11px; }
  .venue-join-dock .join-address { grid-column:1 / -1; display:block; }
}

/* Alpha 0.3.5 — join access, compact host utilities, break podiums, effects, and mobile safety */
.host-live-nav { position:sticky; top:0; z-index:45; padding:9px; margin-bottom:9px; border:1px solid var(--line-soft); border-radius:15px; background:rgba(7,19,33,.94); backdrop-filter:blur(12px); box-shadow:0 10px 28px rgba(0,0,0,.24); }
.host-undo { margin-left:auto; }
.live-session-badges { margin:0 0 14px; }
.host-utility-disclosure { padding:14px 16px; }
.host-utility-disclosure > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#dce9f5; font-weight:900; }
.host-utility-disclosure > summary::-webkit-details-marker { display:none; }
.host-utility-disclosure > summary::after { content:"▾"; color:var(--cyan); margin-left:6px; transition:transform .15s ease; }
.host-utility-disclosure[open] > summary::after { transform:rotate(180deg); }
.host-utility-disclosure .badge { margin-left:auto; }
.utility-body,.compact-effect-pad { margin-top:13px; padding-top:13px; border-top:1px solid var(--line-soft); }
.compact-effect-pad { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.compact-effect-pad .btn { padding:8px 9px; font-size:12px; }
.quiet-utility { opacity:.76; }
.quiet-utility[open],.quiet-utility:hover { opacity:1; }

.join-access { display:flex; align-items:center; justify-content:center; gap:22px; min-width:0; }
.join-access.large { width:min(820px,96%); padding:18px 22px; border:1px solid rgba(246,199,90,.48); border-radius:22px; background:linear-gradient(135deg,rgba(246,199,90,.10),rgba(66,215,232,.07)); text-align:left; }
.join-qr { display:block; width:clamp(150px,18vw,240px); height:auto; flex:none; border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.28); }
.join-access-code { margin:6px 0; color:var(--amber); font-size:clamp(32px,5vw,72px); line-height:1; font-weight:950; letter-spacing:.08em; }
.join-access-code span { color:#d4e0eb; font-size:.28em; letter-spacing:.12em; vertical-align:middle; }
.join-address { max-width:560px; overflow-wrap:anywhere; color:#d6e4f0; font-size:clamp(13px,1.5vw,22px); }
.venue-join-dock { position:fixed; z-index:42; right:18px; bottom:18px; max-width:min(430px,calc(100vw - 36px)); padding:9px 12px 9px 9px; border:1px solid rgba(246,199,90,.62); border-radius:16px; background:rgba(6,18,31,.94); box-shadow:0 12px 38px rgba(0,0,0,.5); backdrop-filter:blur(10px); }
.join-qr.compact { width:76px; border-radius:7px; }
.venue-join-dock .join-access-code { font-size:26px; margin:2px 0; }
.venue-join-dock .join-address { font-size:10px; max-width:290px; }
.join-qr-fallback { display:grid; place-items:center; width:130px; min-height:130px; color:#06121f; background:#fff; border-radius:8px; font-size:12px; font-weight:900; }
.join-code-input { text-transform:uppercase; text-align:center; font-size:clamp(30px,10vw,52px); font-weight:950; letter-spacing:.14em; }

.break-leaderboards { width:min(1080px,96%); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:5px auto; text-align:left; }
.break-leaderboard { min-width:0; padding:14px; border:1px solid var(--line-soft); border-radius:16px; background:rgba(5,18,31,.72); }
.break-rank { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:10px; align-items:center; padding:8px 4px; border-bottom:1px solid rgba(52,83,116,.55); }
.break-rank:last-child { border-bottom:0; }
.break-rank > span { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:#08202a; background:var(--amber); font-weight:950; }
.break-rank > strong { min-width:0; overflow-wrap:anywhere; }
.break-rank > b { color:#fff0b5; font-variant-numeric:tabular-nums; }

.table-scroll { width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.rankings-view .table { min-width:620px; }
.player-status-row { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin:-4px 0 10px; }
.player-status-row .live-sync-badge { margin-left:auto; }

.presentation-effect-layer { overflow:hidden; }
.player-effect-layer { z-index:100; }
.confetti-field { position:absolute; inset:0; overflow:hidden; }
.confetti-field i { --color:var(--cyan); position:absolute; left:calc(var(--x) * 1%); top:-12vh; width:clamp(7px,1.2vw,17px); height:clamp(15px,2.3vw,30px); border-radius:2px; background:var(--color); transform:rotate(var(--r)); animation:confettiFall 2.35s cubic-bezier(.2,.7,.35,1) var(--d) both; }
.confetti-field i:nth-child(5n+1){--color:var(--pink)}.confetti-field i:nth-child(5n+2){--color:var(--amber)}.confetti-field i:nth-child(5n+3){--color:var(--green)}.confetti-field i:nth-child(5n+4){--color:var(--purple)}
.fanfare-burst { position:relative; display:grid; place-items:center; width:min(78vw,760px); aspect-ratio:1; }
.fanfare-rays { position:absolute; inset:0; border-radius:50%; background:repeating-conic-gradient(from 0deg,rgba(246,199,90,.9) 0 7deg,transparent 7deg 18deg); animation:fanfareSpin 1.8s ease-out both; filter:drop-shadow(0 0 20px rgba(246,199,90,.6)); }
.fanfare-burst::after { content:""; position:absolute; inset:24%; border-radius:50%; background:#13253c; box-shadow:0 0 50px rgba(246,199,90,.82); }
.fanfare-burst strong { position:relative; z-index:2; color:#fff1ae; font-size:clamp(44px,10vw,130px); text-shadow:0 5px 0 #6f4d04,0 0 24px rgba(246,199,90,.8); transform:rotate(-4deg); }
.winner-burst,.effect-word { display:grid; place-items:center; gap:4px; animation:burstPop .8s cubic-bezier(.2,.9,.2,1.2) both; filter:drop-shadow(0 0 28px rgba(246,199,90,.75)); }
.winner-burst span,.effect-word span { font-size:clamp(100px,18vw,270px); line-height:1; }
.winner-burst strong,.effect-word strong { font-size:clamp(34px,7vw,100px); color:#fff1ae; text-shadow:0 4px 0 #654803; }
.applause-burst span { animation:clap .28s ease-in-out infinite alternate; }
.drumroll-burst span { animation:drum .18s ease-in-out infinite alternate; }
.spotlight-burst { width:60vmin; height:60vmin; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,#fff 0 8%,#fff1a9 9% 24%,rgba(246,199,90,.42) 25% 50%,transparent 70%); box-shadow:0 0 0 100vmax rgba(0,0,0,.82); animation:spotlightIn .7s ease-out both; }
.spotlight-burst span { color:#fff; font-size:clamp(90px,22vmin,260px); filter:drop-shadow(0 0 18px #fff); }
.correction-burst span { color:var(--cyan); }
@keyframes confettiFall { 0%{transform:translate3d(0,-15vh,0) rotate(var(--r));opacity:0} 8%{opacity:1} 100%{transform:translate3d(calc((var(--x) - 50) * .22vw),115vh,0) rotate(calc(var(--r) + 760deg));opacity:1} }
@keyframes fanfareSpin { from{transform:scale(.08) rotate(-55deg);opacity:0} to{transform:scale(1) rotate(12deg);opacity:1} }
@keyframes clap { to{transform:scale(1.14) rotate(8deg)} }
@keyframes drum { to{transform:translateX(10px) rotate(5deg)} }
@keyframes spotlightIn { from{transform:scale(.25);opacity:0} to{transform:scale(1);opacity:1} }

@media (max-width:700px){
  .shell.player-shell { width:100%; max-width:100%; padding:8px max(8px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
  .player-shell .header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-bottom:10px; }
  .player-shell .header .badge { max-width:118px; white-space:normal; text-align:center; padding:5px 7px; font-size:9px; }
  .player-live-card { max-width:100%; padding:12px; overflow:hidden; }
  .player-status-row { justify-content:space-between; gap:7px; }
  .player-status-row .live-sync-badge { margin-left:0; }
  .player-shell .row.space { align-items:flex-start; }
  .player-shell .timer { font-size:40px; }
  .player-shell .question { overflow-wrap:anywhere; }
  .player-shell .option { width:100%; max-width:100%; padding:13px 11px; }
  .break-leaderboards { grid-template-columns:1fr; width:100%; }
  .break-screen { width:100%; padding:12px 4px; }
  .break-screen h1 { font-size:clamp(27px,9vw,42px); }
  .break-countdown { font-size:clamp(54px,18vw,88px); }
  .venue-join-dock { right:8px; bottom:8px; max-width:calc(100vw - 16px); }
  .join-qr.compact { width:56px; }
  .venue-join-dock .join-address { display:none; }
  .join-access.large { width:100%; gap:13px; padding:12px; }
  .join-access.large .join-qr { width:min(36vw,145px); }
  .join-access-code { font-size:clamp(28px,9vw,46px); }
  .host-undo { margin-left:0; }
  .host-live-nav { position:static; }
}

/* Keep Alpha 0.3.6 layout rules last in the cascade. */
.venue-join-dock { position:static; right:auto; bottom:auto; width:100%; max-width:none; min-height:74px; justify-content:flex-start; padding:6px 12px; border-radius:14px; flex-direction:row; }
.venue-join-dock .join-qr.compact { width:62px; }
.venue-join-dock .join-access-copy { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:14px; width:100%; }
.venue-join-dock .join-access-code { font-size:26px; white-space:nowrap; }
.venue-join-dock .join-address { display:block; max-width:none; font-size:clamp(10px,1vw,14px); }
@media (max-width:700px){
  .venue-join-dock { position:static; right:auto; bottom:auto; max-width:none; }
  .venue-join-dock .join-qr.compact { width:56px; }
  .venue-join-dock .join-access-copy { grid-template-columns:auto 1fr; gap:7px 11px; }
  .venue-join-dock .join-address { display:block; grid-column:1 / -1; }
}
:root { --host-action-offset: env(safe-area-inset-top, 0px); }
.host-live-actions { position: sticky; top: var(--host-action-offset); z-index: 12; padding: 16px; margin: -4px -4px 20px; background: #152039; border: 1px solid #405373; border-radius: 12px; box-shadow: 0 8px 20px #0004; }
.host-live-actions .controls { margin-top: 8px; }
.host-live-actions .btn { min-height: 48px; }
.wager-screen { text-align: center; padding: 18px 0; overflow-wrap: anywhere; }
.wager-screen h1 { font-size: clamp(28px, 5vw, 64px); }
.wager-form { max-width: 440px; margin: 20px auto; text-align: left; }
.wager-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wager-form input { font-size: 26px; min-height: 52px; }
.wager-form .btn { min-height: 48px; }
.wager-host-list { display: grid; gap: 10px; margin: 12px 0; }
.question-media { text-align: center; margin: 12px 0; }
.question-media img, .question-media video { max-width: 100%; max-height: 32vh; border-radius: 12px; object-fit: contain; }
.question-media audio { max-width: 100%; width: 420px; }
@media (max-width: 600px) {
  .host-live-actions { margin: 0 0 14px; padding: 10px; }
  .host-live-actions .controls { gap: 8px; }
  .host-live-actions .btn.primary, .host-live-actions .btn.green { flex: 1 1 100%; }
}

.round-defaults > summary { cursor:pointer; padding:4px 0; font-size:1.05rem; }

.round-start-controls { grid-column:1 / -1; width:100%; box-sizing:border-box; padding:18px; border:2px solid #b796ff; border-radius:16px; background:linear-gradient(135deg,rgba(116,64,204,.30),rgba(33,136,166,.16)); display:grid; gap:10px; }
.round-start-controls h2,.round-start-controls p { margin:0; }
.round-start-controls #startRoundCountdown { width:100%; font-size:1.1rem; }

.card-media-preview img,.card-media-preview video { max-width:100%; max-height:220px; border-radius:12px; margin-top:10px; }
