:root{--bbb-navy:#0b1d39;--bbb-blue:#0f5bd7;--bbb-light:#e9f2ff;--bbb-card:#ffffff;--bbb-border:#c7d7ee;--bbb-text:#122033;--bbb-muted:#637083;--bbb-good:#127a41;--bbb-bad:#b42318;--bbb-gold:#f6b73c;--radius:18px;--shadow:0 18px 45px rgba(11,29,57,0.12)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--bbb-text);background:#f5f8fc}a{color:inherit}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.hero{background:linear-gradient(135deg,var(--bbb-navy),#064aa5);color:white;padding:44px 22px}.hero-inner,.nav-inner,.page{max-width:1120px;margin:0 auto;width:100%}.nav{background:white;border-bottom:1px solid var(--bbb-border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.nav-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px}.brand{display:flex;flex-direction:column;line-height:1.1;font-weight:800;color:var(--bbb-navy)}.brand small{font-weight:600;color:var(--bbb-muted)}.nav-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn,.nav-links a{text-decoration:none;border:1px solid var(--bbb-border);background:white;padding:10px 14px;border-radius:999px;cursor:pointer;font-weight:700;color:var(--bbb-navy)}.btn.primary,.nav-links a.primary{background:var(--bbb-blue);color:white;border-color:var(--bbb-blue)}.btn.warn{background:#fff5e1;border-color:#ffd185}.btn.danger{background:#fff0ef;border-color:#ffb4ad;color:var(--bbb-bad)}.btn.good{background:#eafaf0;border-color:#9adeb5;color:var(--bbb-good)}.btn.full{width:100%;justify-content:center}.btn:disabled{opacity:.55;cursor:not-allowed}.page{padding:28px 22px 54px}.grid{display:grid;grid-gap:18px;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--bbb-card);border:1px solid var(--bbb-border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card.soft{background:#fbfdff;box-shadow:none}h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.96;letter-spacing:-.05em}h1,h2{margin:0 0 12px}h2{font-size:clamp(1.35rem,2vw,2.1rem)}h2,h3{color:var(--bbb-navy)}h3{margin:0 0 8px}p{line-height:1.55}.muted{color:var(--bbb-muted)}.kicker{color:#b9d7ff;letter-spacing:.08em;text-transform:uppercase}.badge,.kicker{font-weight:800}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--bbb-light);color:var(--bbb-navy);font-size:.84rem;border:1px solid var(--bbb-border)}.badge.good{background:#eafaf0;color:var(--bbb-good)}.row{flex-wrap:wrap;align-items:center;gap:10px}.row,.stack{display:flex}.stack{flex-direction:column;gap:12px}label{display:block;font-weight:800;margin:10px 0 6px;color:var(--bbb-navy)}input,select,textarea{width:100%;border:1px solid var(--bbb-border);border-radius:12px;padding:12px 14px;background:white;color:var(--bbb-text)}textarea{min-height:130px}.choice{width:100%;text-align:left;border:2px solid var(--bbb-border);background:white;padding:18px;border-radius:16px;cursor:pointer;font-weight:700}.choice.selected,.choice:hover{border-color:var(--bbb-blue)}.choice.selected{background:var(--bbb-light)}.choice.correct{border-color:var(--bbb-good);background:#eafaf0}.choice.incorrect{border-color:var(--bbb-bad);background:#fff0ef}.big-code{font-size:clamp(2.6rem,7vw,6rem);letter-spacing:.08em;font-weight:900;text-align:center;color:var(--bbb-navy)}.footer{margin-top:auto;padding:22px;text-align:center;color:var(--bbb-muted)}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:10px;border-bottom:1px solid var(--bbb-border);vertical-align:top}.table th{color:var(--bbb-navy);font-size:.86rem;text-transform:uppercase;letter-spacing:.04em}.notice{border-left:5px solid var(--bbb-blue);background:#eef6ff;padding:14px;border-radius:12px}.notice.warn{border-left-color:var(--bbb-gold);background:#fff8e9}hr{border:0;border-top:1px solid var(--bbb-border);margin:18px 0}@media (max-width:820px){.grid.three,.grid.two{grid-template-columns:1fr}.nav-inner{align-items:flex-start;flex-direction:column}.hero{padding-top:28px}.card{padding:18px}}.wide-page{max-width:1480px}.board-grid,.studio-grid{display:grid;grid-template-columns:300px minmax(0,1fr) 420px;grid-gap:18px;gap:18px;align-items:start}.board-side,.studio-side{position:-webkit-sticky;position:sticky;top:82px}.board-main,.board-selected,.studio-editor,.studio-main{min-width:0}.compact-grid{gap:10px}.table-wrap{width:100%;overflow-x:auto}.mini{font-size:.86rem;margin:4px 0 0;display:block}.choice-editor,.mini-card{border:1px solid var(--bbb-border);border-radius:14px;padding:12px;background:#fbfdff}.choice-label{max-width:58px;text-align:center;font-weight:900}.check-label{display:inline-flex;width:auto;align-items:center;gap:6px;margin:0;white-space:nowrap}.check-label input{width:auto}.media-preview{display:block;width:100%;max-height:240px;object-fit:contain;border:1px solid var(--bbb-border);border-radius:14px;background:#f7fbff;margin:10px 0}.media-preview.large{max-height:420px}.media-player{width:100%;margin:10px 0;border-radius:14px}.question-picker{display:flex;flex-direction:column;gap:10px;max-height:72vh;overflow-y:auto;padding-right:6px}.picker-row{width:100%;display:grid;grid-template-columns:42px 1fr;grid-gap:10px;gap:10px;align-items:start;text-align:left;border:2px solid var(--bbb-border);background:white;border-radius:16px;padding:14px;cursor:pointer}.picker-row.selected{border-color:var(--bbb-blue);background:var(--bbb-light)}.picker-check{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--bbb-blue);color:white;font-weight:900}.selected-list{max-height:68vh;overflow-y:auto;padding-right:6px}.selected-row{border:1px solid var(--bbb-border);border-radius:14px;padding:12px;background:#fbfdff;display:flex;justify-content:space-between;gap:10px;align-items:center}.points-input{width:86px}.no-wrap{flex-wrap:nowrap}@media (max-width:1180px){.board-grid,.studio-grid{grid-template-columns:1fr}.board-side,.studio-side{position:static}.selected-row{align-items:stretch;flex-direction:column}}@media (max-width:680px){.choice-editor .row,.no-wrap{flex-wrap:wrap}.choice-label,.points-input{width:100%;max-width:none}}.live-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.score-countdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:14px 0}.score-countdown>div{border:1px solid var(--bbb-border);border-radius:16px;padding:16px;background:#fbfdff;text-align:center}.score-countdown strong{display:block;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.95;color:var(--bbb-blue)}.score-countdown small{color:var(--bbb-muted);font-weight:800}.score-countdown.compact strong{font-size:clamp(1.9rem,4vw,3.2rem)}.timer-track{width:100%;height:14px;border-radius:999px;background:#dce9f8;overflow:hidden;border:1px solid var(--bbb-border);margin:12px 0}.timer-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bbb-blue),var(--bbb-gold));transition:width .18s linear}.good-notice{border-left-color:var(--bbb-good);background:#eafaf0}.scoreboard-list{display:grid;grid-gap:10px;gap:10px}.scoreboard-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--bbb-border);background:#fbfdff;border-radius:16px;padding:12px 14px}.rank{font-weight:900;color:var(--bbb-blue);font-size:1.1rem}.score-value{font-size:1.35rem;font-weight:900;color:var(--bbb-navy)}.display-shell{background:radial-gradient(circle at top left,#18427c 0,#0b1d39 44%,#050b17 100%);color:white}.display-shell .nav{position:static}.display-page{width:100%;max-width:1720px;margin:0 auto;padding:24px}.display-page .card{background:rgba(255,255,255,.96);color:var(--bbb-text)}.display-header{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px;align-items:center;margin-bottom:18px}.display-header h1{color:var(--bbb-navy);font-size:clamp(2rem,5vw,4.2rem)}.display-room-code{font-size:clamp(2.3rem,6vw,5.4rem);font-weight:900;letter-spacing:.08em;color:var(--bbb-blue)}.display-timer-card{border:2px solid var(--bbb-border);border-radius:22px;padding:18px;text-align:center;background:#f7fbff}.display-timer-card span{display:block;font-weight:900;color:var(--bbb-muted);text-transform:uppercase;letter-spacing:.06em}.display-timer-card strong{display:block;font-size:clamp(3rem,8vw,6rem);line-height:.9;color:var(--bbb-blue)}.display-timer-card p{margin:8px 0 0;font-weight:900;color:var(--bbb-navy)}.display-grid{grid-template-columns:minmax(0,1.4fr) minmax(360px,.7fr);align-items:start}.display-question-card h2{font-size:clamp(1.6rem,3vw,3rem);line-height:1.1;margin-top:18px}.display-scores .scoreboard-card{grid-template-columns:54px minmax(0,1fr) auto auto}@media (max-width:1100px){.display-grid,.display-header,.live-grid{grid-template-columns:1fr}}@media (max-width:720px){.score-countdown{grid-template-columns:1fr}.scoreboard-card{grid-template-columns:44px minmax(0,1fr)}.scoreboard-card .badge,.scoreboard-card .score-value{justify-self:start}.display-page{padding:14px}}.danger-zone{border:1px solid #fecaca;background:#fff7f7;border-radius:16px;padding:12px}.table input[type=checkbox]{width:18px;height:18px}.grid.six,.stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.stat{text-align:center;padding:18px}.stat strong{display:block;font-size:clamp(2rem,4vw,3.2rem);color:var(--bbb-blue);line-height:1}.stat span{display:block;margin-top:6px;color:var(--bbb-muted);font-weight:800}.badge.bad{background:#fff0ef;color:var(--bbb-bad);border-color:#ffb4ad}@media (max-width:1080px){.grid.six,.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.grid.six,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.badge.warn{background:#fff8e9;color:#805300;border-color:#ffd185}.auth-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.account-card{max-width:920px;margin:0 auto}.password-rules{margin:8px 0 0;padding-left:18px;color:var(--bbb-muted)}@media (max-width:760px){.auth-action-grid{grid-template-columns:1fr}}.phase-header-row,.phase-summary-heading{justify-content:space-between;align-items:flex-start}.phase-step-grid{align-items:stretch}.phase-step-card{position:relative;padding-top:56px}.phase-step-number{position:absolute;top:18px;left:22px;width:30px;height:30px;justify-content:center;border-radius:999px;background:var(--bbb-navy);color:white;font-weight:900}.phase-file-button,.phase-step-number{display:inline-flex;align-items:center}.phase-file-button{margin-top:12px}.phase-source-box{min-width:290px;max-width:480px;border:1px solid var(--bbb-border);border-radius:14px;background:#f8fbff;padding:12px 14px;display:flex;flex-direction:column;gap:5px}.phase-source-box span{color:var(--bbb-muted);font-size:.9rem;overflow-wrap:anywhere}.phase-source-box code{color:var(--bbb-blue);font-size:.78rem;overflow-wrap:anywhere}.phase-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:18px}.phase-stat{border:1px solid var(--bbb-border);background:#fbfdff;border-radius:14px;padding:14px;text-align:center}.phase-stat strong{display:block;color:var(--bbb-blue);font-size:clamp(1.35rem,2.5vw,2.1rem);line-height:1;overflow-wrap:anywhere}.phase-stat span{display:block;color:var(--bbb-muted);font-weight:800;margin-top:6px;font-size:.82rem}.phase-round-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.phase-round-title{justify-content:space-between;margin-bottom:10px}.compact-stack{gap:6px}.phase-category-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--bbb-border);padding-top:7px}.phase-category-row span{min-width:0}.phase-duplicate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.phase-duplicate-grid>div{text-align:center;border:1px solid var(--bbb-border);border-radius:14px;background:#fbfdff;padding:14px}.phase-duplicate-grid strong{display:block;font-size:1.8rem;color:var(--bbb-blue)}.phase-duplicate-grid span{display:block;color:var(--bbb-muted);font-weight:800;font-size:.82rem;margin-top:4px}.phase-filter-row{flex:1 1;justify-content:flex-end}.phase-filter-row input{max-width:420px}.phase-filter-row select{max-width:230px}.phase-question-table{max-height:72vh;overflow:auto;border:1px solid var(--bbb-border);border-radius:14px}.phase-question-table thead{position:-webkit-sticky;position:sticky;top:0;background:white;z-index:1}.phase-answer{margin:7px 0 0;color:var(--bbb-good)}.phase-warning-text{margin:8px 0 0;color:#805300;background:#fff8e9;border-radius:9px;padding:8px 10px;font-size:.82rem}.phase-locator{display:block;max-width:310px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--bbb-muted);font-size:.76rem}.phase-error{border-left-color:var(--bbb-bad);background:#fff0ef;margin-top:10px}.phase-status-ready{background:#eafaf0;color:var(--bbb-good);border-color:#9adeb5}.phase-status-media_pending,.phase-status-needs_choices{background:#fff8e9;color:#805300;border-color:#ffd185}.phase-status-review_required{background:#fff0ef;color:var(--bbb-bad);border-color:#ffb4ad}.phase-duplicate-content,.phase-duplicate-source_id{background:#fff8e9;color:#805300;border-color:#ffd185}.phase-duplicate-prompt{background:#f3f0ff;color:#5b3da8;border-color:#c9b9f4}.phase-duplicate-none{background:#eafaf0;color:var(--bbb-good);border-color:#9adeb5}@media (max-width:1080px){.phase-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phase-step-grid{grid-template-columns:1fr}}@media (max-width:760px){.phase-duplicate-grid,.phase-round-grid,.phase-stat-grid{grid-template-columns:1fr 1fr}.phase-source-box{min-width:0;width:100%}.phase-filter-row{width:100%;justify-content:stretch}.phase-filter-row input,.phase-filter-row select{max-width:none}}@media (max-width:520px){.phase-duplicate-grid,.phase-round-grid,.phase-stat-grid{grid-template-columns:1fr}}.phase-success-card{border-color:#9adeb5;background:#f5fff8}.phase-confirm-label{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-weight:700;line-height:1.4}.phase-confirm-label input{width:19px;height:19px;flex:0 0 auto;margin-top:2px}.phase-action-select{min-width:170px;margin-top:8px;padding:8px 10px;font-size:.84rem}.picker-row:disabled{cursor:not-allowed;opacity:.7;background:#f5f7fa;border-style:dashed}.picker-row:disabled .picker-check{background:var(--bbb-gold);color:var(--bbb-navy)}