
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#172447;background:#f5f7fc;--ink:#172447;--muted:#657491;--primary:#5949b6;--aqua:#0d887f;--line:#dde3f1;--white:#fff;--gold:#ffc75c}
*{box-sizing:border-box}body{margin:0}button,select,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #18c4b0;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin-top:0}
.shell{max-width:1430px;margin:0 auto;padding:22px 24px 60px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:850}.mark{display:grid;place-items:center;background:linear-gradient(145deg,#6456cb,#332d84);color:white;width:45px;height:45px;border-radius:15px;font-size:24px}.sub{font-size:12px;font-weight:500;color:var(--muted);display:block;margin-top:2px}.navBack{color:#405176;font-size:13px;text-decoration:none;font-weight:700}.hero{background:linear-gradient(115deg,#1b2856,#5342a5 68%,#087f81);color:#fff;border-radius:22px;margin:22px 0;padding:29px;display:flex;justify-content:space-between;gap:18px}.hero h1{font-size:clamp(27px,3vw,42px);line-height:1.1;letter-spacing:-.025em;margin:8px 0}.hero p{max-width:720px;color:#dfdff9;line-height:1.55;margin:0}.hero .pill{display:inline-block;background:#ffffff21;color:#fff;padding:7px 10px;border:1px solid #ffffff44;border-radius:30px;font-size:11px;font-weight:800;letter-spacing:.06em}
.layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:18px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:21px;box-shadow:0 9px 40px #20245809}.stack{display:grid;gap:17px}.panel h2{font-size:17px;letter-spacing:-.01em;margin:0 0 13px}.muted{color:var(--muted);font-size:13px;line-height:1.55}.field{display:grid;gap:7px;font-size:13px;font-weight:700;color:#354563}.field select,.field input,.field textarea{width:100%;border:1px solid #cbd5e5;padding:12px 13px;border-radius:10px;background:white;color:#182d4d}.field textarea{resize:vertical;min-height:80px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btnrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn{background:var(--primary);border:1px solid var(--primary);border-radius:11px;padding:11px 15px;color:white;font-weight:750;min-height:43px}.btn.alt{background:#eef0fb;color:#403c8b;border-color:#dde1f3}.btn.ghost{background:#fff;color:#34466a;border-color:#cfd9e8}.btn.gold{background:var(--gold);color:#1d2850;border-color:#ffc75c}.btn.danger{color:#a53747;background:#fff1f2;border-color:#f3c8d0}.tag{background:#e9f8f5;color:#067d6d;display:inline-block;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:850}.pnote{background:#eef7f9;border:1px solid #d4e8eb;border-radius:12px;padding:11px 13px;color:#30566b;font-size:12px;line-height:1.55}.counter{font-weight:800;color:#4b3c9a}.lessonlist{display:grid;gap:5px;margin:12px 0}.lessonline{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #ebedf4;border-radius:10px;padding:8px 10px;color:#4b5d77;font-size:12px}.lessonline.selected{border-color:#bcb0f0;background:#f4f1ff;color:#2d2471}.lessonline button{border:0;background:transparent;color:inherit;font-size:12px;font-weight:700}.lessonline strong{white-space:nowrap}.scoreGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.scoreCard{background:#f5f6fc;border:1px solid #e6e7f2;border-radius:12px;padding:12px;display:grid;gap:8px}.scoreCard .team{font-weight:850;font-size:14px}.scoreCard .points{font-size:30px;font-weight:900}.scoreCard .btn{padding:7px 9px;min-height:34px}.group{display:flex;gap:5px;flex-wrap:wrap}.mutedsmall{font-size:11px;color:#6a7990;line-height:1.45}.divider{height:1px;background:#ebedf4;margin:15px 0}.answerKey{display:grid;gap:7px;margin-top:12px;font-size:13px;color:#445472}.answerKey strong{color:#1a6e62}
/* Live slide on teacher screen and TV */
.board{background:radial-gradient(circle at 85% 18%,#493c9c 0,transparent 35%),linear-gradient(130deg,#142349,#172f60 65%,#215d7b);color:white;border-radius:20px;padding:23px;min-height:450px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;box-shadow:0 18px 42px #13244e23}.board.topTV{min-height:min(720px,76vh)}.boardHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.boardLabel{background:#ffffff1c;border:1px solid #ffffff3b;border-radius:90px;padding:8px 13px;font-weight:800;font-size:12px}.clock{font-size:clamp(24px,3vw,38px);font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:.02em}.clock.warn{color:#ffcf68}.clock.end{color:#ff8d88}.boardQuestion{font-size:clamp(22px,2.55vw,37px);font-weight:900;line-height:1.22;letter-spacing:-.015em;max-width:95%;margin:0}.boardPassage{font-size:clamp(14px,1.4vw,19px);line-height:1.55;background:#ffffff12;border:1px solid #ffffff31;padding:15px 19px;border-radius:13px;white-space:pre-wrap;max-height:220px;overflow:auto}.boardOptions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:auto}.opt{display:flex;align-items:center;gap:12px;background:#f1f4ffe8;color:#14264a;border-radius:13px;padding:15px;min-height:70px;font-size:clamp(15px,1.55vw,22px);line-height:1.25;font-weight:730;white-space:normal}.opt .letter{border-radius:10px;display:grid;place-items:center;background:#dfe4f8;color:#322b84;flex:none;font-weight:950;width:34px;height:34px}.opt.correct{background:#d3fae8;border:3px solid #46dda6}.opt.dim{opacity:.5}.feedback{background:#fff2d2;color:#533d17;padding:15px 17px;border-radius:12px;line-height:1.5;font-size:clamp(13px,1.1vw,17px)}.boardFoot{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#cfdafa;font-size:12px;flex-wrap:wrap}.boardTeams{font-weight:800;color:#ffe2a3}.board.empty .boardOptions{display:none}.hostControls{display:flex;gap:8px;justify-content:space-between;margin-top:12px;flex-wrap:wrap}.hostControls .btn{flex:1}.board:fullscreen{border-radius:0;min-height:100vh;width:100vw;max-height:100vh;padding:4vh 5vw}.board:fullscreen .boardQuestion{font-size:clamp(32px,3.7vw,65px)}.board:fullscreen .boardPassage{font-size:clamp(20px,1.8vw,31px);max-height:28vh}.board:fullscreen .opt{font-size:clamp(23px,2.2vw,38px);min-height:11vh;padding:1.7vw}.board:fullscreen .boardOptions{gap:2vh}.board:fullscreen .boardHead{font-size:18px}
.builder{margin-top:16px}.builder summary{font-weight:900;cursor:pointer;color:#343f77;padding:6px 0}.builder h3{font-size:16px}.error{color:#a0324b;font-size:12px;min-height:17px}.status{color:#157e6c;font-size:12px;min-height:15px}.fileSelect{padding:10px 12px;border:1px dashed #b6c2da;border-radius:10px;color:#455b77;font-size:12px}.footer{padding-top:20px;color:#718098;font-size:12px;line-height:1.6}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.hero{padding:23px}.board{min-height:460px}}
@media(max-width:560px){.shell{padding:12px 12px 50px}.hero{margin:14px 0;padding:18px;border-radius:15px}.panel{padding:15px}.two,.scoreGrid{grid-template-columns:1fr}.board{padding:15px;min-height:465px;gap:11px}.boardOptions{grid-template-columns:1fr;gap:7px}.opt{min-height:45px;padding:9px;font-size:15px}.boardQuestion{font-size:23px}.boardPassage{font-size:13px;max-height:135px}.board:fullscreen .boardOptions{grid-template-columns:1fr 1fr}.board:fullscreen .opt{font-size:3vw;min-height:8vh}.board:fullscreen .boardQuestion{font-size:5vw}}
