:root{--bg:#eef1f4;--surface:#fff;--ink:#17231d;--muted:#5e6b64;--line:#d6ddd8;--stage:#142a25;--stage2:#1d4036;--gold:#f2c230;--green:#24834f;--a0:#0f8a8f;--a1:#d98a00;--a2:#7046b0;--a3:#d4513d;--bad:#b8322a;--display:"Bricolage Grotesque","Segoe UI",sans-serif;--body:"Atkinson Hyperlegible","Segoe UI",sans-serif}
/* Supporting figures and data shown with context-dependent questions. */
.prompt .text{max-width:900px;width:100%}.question-context{margin:18px auto 0;padding:14px 16px;background:#fff;color:var(--ink);border:2px solid #b9d9ca;border-radius:14px;font-size:1rem;box-shadow:0 8px 24px #0002}.question-context figcaption{font-family:var(--display);font-weight:800;font-size:1.08rem;margin-bottom:8px}.question-context p{margin:8px 0 0;color:var(--muted);font-size:.9rem}.context-table-scroll{overflow-x:auto}.question-context table{margin:0 auto;min-width:min(620px,100%);font-size:.95rem}.question-context th{background:#e7f4ec}.question-context th,.question-context td{border-color:#8db5a3;text-align:left}.context-graph{max-width:560px}.context-graph svg{display:block;width:min(420px,100%);height:auto;margin:auto;overflow:visible}.context-graph text{font:15px var(--body);fill:var(--ink)}.context-axis,.context-arrow{stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.context-curve{stroke:#159447;stroke-width:7;stroke-linecap:round}.context-image img{max-width:100%;max-height:330px}@media(max-width:680px){.question-context{padding:10px}.question-context table{min-width:520px;font-size:.82rem}.context-graph svg{width:100%}}
.item-box{margin:14px 0;padding:16px;border:2px solid #b7dcc5;border-radius:14px;background:#f5fff8;color:var(--ink)}
.item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:8px}.item-card{display:grid;grid-template-columns:48px 1fr;gap:10px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.item-card p{margin:4px 0;font-size:.88rem;color:var(--muted)}.item-card small{display:block;color:var(--muted)}.item-card .item-new{display:inline-block;margin-top:3px;padding:2px 7px;border-radius:999px;background:#fff0b8;color:#6c5100;font-weight:800}.item-card .item-timing{margin-top:7px;color:#226b40}.item-card .item-unavailable{margin-top:7px;padding:7px 9px;border-radius:7px;background:#fff4d6;color:#715300}.item-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#e7f4ec;font-size:1.55rem;font-weight:800}
.item-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;align-items:end}.item-actions .btn{padding:8px 12px}.item-keep{color:var(--ink)!important;border:1px solid var(--line)}.item-target-label{display:flex;flex-direction:column;gap:3px;font-size:.75rem;font-weight:800;color:var(--muted)}.item-target{max-width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.item-use-summary{margin:9px 0 0;padding:8px 11px;border-radius:8px;background:#e7f4ec;color:var(--green)}.item-status{display:grid;gap:6px;margin:10px 0}.item-status p{margin:0;padding:8px 11px;border-radius:9px;background:#fff8dc;color:#6d5500;font-weight:800}.answer-selection-status.repair{background:#e7f4ec;border-radius:10px;padding:11px}.camo-private{margin:12px auto;max-width:520px}.rank.camouflaged{border:1px dashed #b9cbc3;background:#ffffff0b}
.item-feed{display:grid;gap:7px;margin:12px 0}.item-event{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;background:#ffffff14}.student-card .item-event{background:#eef8f1}.gain{color:#2fb467}.loss{color:#ef7268}.switch-game{color:var(--ink)!important;border:1px solid var(--line);margin-top:12px}.switch-game-row{display:flex;justify-content:center;margin-top:18px}
.teams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.team-card{padding:18px;border:1px solid #ffffff2e;border-radius:14px;background:#ffffff12}.team-card h3{color:var(--gold)}.team-card ol{margin:10px 0 0;padding-left:24px}.team-card li{padding:3px 0}.student-team{padding-top:36px}.student-team ul{display:inline-block;margin:4px auto 20px;text-align:left;font-size:1.15rem}.student-team li{padding:4px 0}
.team-builder{display:grid;gap:16px}.team-builder-actions{display:flex;flex-wrap:wrap;gap:8px}.team-builder-actions .btn{padding:8px 12px;font-size:.9rem}.team-builder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;align-items:start}.team-builder-card{min-height:170px;padding:14px;border:2px dashed #ffffff35;border-radius:14px;background:#ffffff0c;transition:border-color .15s ease,background .15s ease,transform .15s ease}.team-builder-card.unassigned{background:#7b35182d;border-color:#f0b58d66}.team-builder-card.drag-over{border-color:var(--gold);background:#f2c23020;transform:translateY(-2px)}.team-builder-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.team-builder-title h3{font-size:1.05rem;color:var(--gold)}.team-builder-title span{font-weight:800;color:#d7e2dc}.team-member-list{display:grid;gap:8px;min-height:72px}.team-player{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;padding:9px;border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 4px 12px #0002;cursor:grab}.team-player.dragging{opacity:.45}.drag-handle{grid-row:1 / span 2;color:#8a9690;font-weight:800;letter-spacing:-4px}.team-player strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-picker{grid-column:2;width:100%;min-width:0;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:#f6f8f7;color:var(--ink);font-size:.8rem}.team-placeholder{margin:auto;color:#9db0a7;text-align:center;font-size:.85rem}.mini-btn{margin-top:10px;padding:5px 8px;border:1px solid #ffffff35;border-radius:7px;background:transparent;color:#d8e3dd;font-size:.76rem}.team-lock-row{padding-top:2px}.ready-text{color:#7ee3a7}.warning-text{color:#ffd47b}@media(max-width:680px){.team-builder-grid{grid-template-columns:1fr}.team-player{cursor:default}}
.reuse-team-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-color:#f2c23066;background:#f2c23013}.reuse-team-banner .note{margin:5px 0 0}.reuse-team-list{grid-column:1 / -1;display:grid;gap:5px;padding-top:10px;border-top:1px solid #ffffff24;color:#dce8e1;font-size:.9rem}.reuse-lobby-status{padding:10px 12px;border-radius:10px;background:#f2c2301c;color:#ffe79b}.final-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:680px){.reuse-team-banner{grid-template-columns:1fr}.reuse-team-banner .btn{justify-self:start}}
.student-timing{margin:14px 0 4px;padding:12px 14px;border:2px solid #bed8c8;border-radius:13px;background:#f0faf4}.student-timing-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;color:var(--ink)}.student-timing-row strong{font-family:var(--display);color:var(--green)}.student-timing-row span{font-variant-numeric:tabular-nums;font-weight:800}.student-timing .timer{height:14px;background:#d9e4de}.student-timing .timer span{background:var(--green);transition:width .2s linear}.student-timing.answering{border-color:#efd879;background:#fff9df}.student-timing.answering .student-timing-row strong{color:#856500}.student-timing.answering .timer span{background:var(--gold)}.student-timing.urgent{border-color:#e08c84;background:#fff1ef}.student-timing.urgent .student-timing-row strong,.student-timing.urgent .student-timing-row span{color:var(--bad)}.student-timing.urgent .timer span{background:var(--bad)}
.powerup-drop{text-align:center;background:linear-gradient(145deg,#f1fff6,#fff9df);border-color:#e5c74f;box-shadow:0 10px 28px #17231d18}.powerup-machine{position:relative;display:grid;grid-template-columns:18px minmax(180px,340px) 18px;align-items:center;justify-content:center;gap:9px;margin:12px auto 6px}.powerup-window{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px;border:5px solid #d6a91e;border-radius:17px;background:radial-gradient(circle at 50% 20%,#fff,#f8edbb);box-shadow:inset 0 0 0 3px #fff,0 7px 0 #9a7412;overflow:hidden}.powerup-reel-icon{font-size:2.5rem;line-height:1}.powerup-window strong{font-family:var(--display);font-size:1.2rem}.machine-light{width:14px;height:14px;border-radius:50%;background:#f2c230;box-shadow:0 -30px 0 #42b86d,0 30px 0 #d4513d,0 0 12px #f2c230}.powerup-machine.reel-tick .powerup-window{animation:reelTick .16s ease-out}.powerup-machine.landed .powerup-window{border-color:#42b86d;animation:powerupLand .6s ease-out;box-shadow:inset 0 0 0 3px #fff,0 7px 0 #227942,0 0 30px #42b86d88}.powerup-machine.landed .machine-light{animation:machineLights .22s steps(2,end) 3}.powerup-drop>p{margin:10px 0 0;font-weight:800;color:#2b6b43}@keyframes reelTick{0%{transform:translateY(-6px);filter:blur(2px);opacity:.55}100%{transform:translateY(0);filter:none;opacity:1}}@keyframes powerupLand{0%{transform:scale(.88)}55%{transform:scale(1.06)}100%{transform:scale(1)}}@keyframes machineLights{50%{filter:brightness(1.8);transform:scale(1.25)}}@media(prefers-reduced-motion:reduce){.powerup-machine.reel-tick .powerup-window,.powerup-machine.landed .powerup-window,.powerup-machine.landed .machine-light{animation:none}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}.shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:24px 0 48px}.top{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin-bottom:16px}.top h1,h1,h2,h3{font-family:var(--display);margin:0}.top p{margin:0;color:var(--muted)}.top a{margin-left:auto;color:var(--green);font-weight:700}.stage{background:radial-gradient(120% 90% at 50% 0%,var(--stage2),var(--stage) 70%);color:white;border-radius:20px;padding:28px;min-height:620px;display:flex;flex-direction:column;gap:20px}.panel{background:#ffffff10;border:1px solid #ffffff24;border-radius:14px;padding:18px}.setup{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field label{display:flex;gap:8px;align-items:center}.field select,.code-input{padding:10px;border-radius:9px;border:1px solid var(--line);background:white;color:var(--ink)}.label{text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:.76rem;color:#b9cbc3}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:11px 20px;background:var(--gold);color:#1d1a08;font-family:var(--display);font-weight:800}.btn.secondary{background:#ffffff20;color:white}.btn.danger{background:#c7473e;color:white}.btn:disabled{opacity:.45;cursor:not-allowed}.message{padding:10px 14px;border-radius:10px;background:#ffffff16}.message.error{background:#6d1f1f}.join-code{font-family:var(--display);font-size:clamp(3.5rem,10vw,7rem);letter-spacing:.12em;color:var(--gold);line-height:1}.join-url{font-size:1.15rem;word-break:break-all}.join-url a{color:white}.players{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}.player{background:#ffffff12;border-radius:10px;padding:10px 12px}.player b{display:block}.player span{color:#b9cbc3;font-size:.88rem}.question-meta{display:flex;gap:8px;flex-wrap:wrap}.pill{background:#ffffff18;padding:5px 12px;border-radius:999px;font-weight:700}.ask{text-align:center;font-size:clamp(1.5rem,3vw,2.35rem)}.prompt{min-height:220px;display:flex;align-items:center;justify-content:center;text-align:center}.prompt img{max-height:270px;max-width:min(540px,100%);object-fit:contain;background:#fff;border-radius:12px;padding:7px}.prompt .text{font-size:clamp(1.2rem,2vw,1.6rem);max-width:800px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer{position:relative;border:0;border-radius:13px;min-height:88px;padding:14px 18px;color:white;font-weight:800;font-size:1.12rem;display:flex;align-items:center;gap:12px;transition:opacity .18s ease,transform .18s ease,filter .18s ease,box-shadow .18s ease}.answer:nth-child(1){background:var(--a0)}.answer:nth-child(2){background:var(--a1)}.answer:nth-child(3){background:var(--a2)}.answer:nth-child(4){background:var(--a3)}.answer.correct{outline:5px solid white}.answer.dim{opacity:.28}.student-card .answer.selected{outline:5px solid #15251d;box-shadow:0 0 0 3px white,0 10px 24px #17231d35;transform:scale(1.015);z-index:1}.student-card .answer.faded{opacity:.34;filter:saturate(.55)}.student-card .answer.faded:hover,.student-card .answer.faded:focus-visible{opacity:.75;filter:saturate(.9);transform:scale(1.01)}.selection-check{margin-left:auto;display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:white;color:#173b2a;font-size:1.2rem}.answer-selection-status{text-align:center;margin:14px 0 0;color:var(--green);font-weight:800}.shape{font-size:1.7rem}.answer img{height:110px;max-width:100%;object-fit:contain;background:white;border-radius:7px;margin:auto}.count{margin-left:auto;background:#0003;padding:3px 10px;border-radius:8px}.timer{height:12px;border-radius:9px;background:#ffffff22;overflow:hidden}.timer span{display:block;height:100%;width:100%;background:var(--gold);transition:width .2s linear}.leaderboard{display:flex;flex-direction:column;gap:8px;max-width:850px;margin:auto;width:100%}.rank{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;background:#ffffff12;border-radius:11px;padding:11px 15px}.rank strong:first-child{font-size:1.45rem;color:var(--gold)}.empty{color:#b9cbc3;text-align:center;padding:28px}.student-card{position:relative;max-width:680px;margin:0 auto;background:var(--surface);border-radius:18px;padding:24px;box-shadow:0 8px 30px #0001}.student-card .answer{width:100%;text-align:left}.student-card .answers{margin-top:16px}.student-card .prompt{min-height:140px}.student-card .prompt img{max-height:190px}.status{padding:14px;border-radius:10px;background:#e7f4ec;color:#155f35;font-weight:700}.status.bad{background:#fce6e3;color:#8e2720}.scoreline{font-family:var(--display);font-size:1.35rem}.hidden{display:none!important}.signin{text-align:center;padding:70px 20px}.note{color:#b9cbc3;font-size:.9rem}.student-card .note{color:var(--muted)}table{border-collapse:collapse;margin:12px auto}th,td{border:1px solid currentColor;padding:5px 10px}@media(max-width:680px){body{font-size:16px}.stage{padding:18px;min-height:560px}.answers{grid-template-columns:1fr}.answer{min-height:78px}.top a{margin-left:0}.join-code{font-size:3.5rem}}
.student-card.bfx-active{min-height:390px}
@media(max-width:680px){.student-card.bfx-active{min-height:min(390px,calc(100dvh - 32px))}}
.question-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.student-board{display:grid;gap:14px}.student-board-header{text-align:center}.student-board-header p{margin:6px 0 0}.student-leaderboard{max-height:min(48vh,460px);overflow-y:auto;padding:3px 5px 3px 2px}.student-leaderboard .student-rank,.student-private-position .student-rank{background:#f3f7f5;color:var(--ink);border:2px solid transparent}.student-leaderboard .student-rank.mine,.student-private-position .student-rank.mine{background:#e4f6eb;border-color:var(--green);box-shadow:0 5px 16px #24834f22}.student-leaderboard .student-rank.camouflaged{background:#f3f7f5;border:2px dashed #9daba4}.student-rank>span{min-width:0}.student-rank small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.your-team-badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:var(--green);color:white;font-size:.72rem;vertical-align:middle}.student-private-position{display:grid;gap:7px;padding-top:12px;border-top:2px dashed #b7c7bf}.student-board-wait{text-align:center}.student-board>.switch-game{justify-self:center;margin-top:0}@media(max-width:680px){.student-leaderboard{max-height:45vh}.student-leaderboard .student-rank,.student-private-position .student-rank{grid-template-columns:38px minmax(0,1fr) auto;padding:9px 10px}.your-team-badge{display:block;width:max-content;margin:4px 0 0}}

/* Teacher-controlled Team Share pause */
.timer-paused-label{background:#f8c431;color:#173b2a}
.timer.paused{background:#ffffff38}
.timer.paused span{background:repeating-linear-gradient(135deg,#f8c431 0 10px,#ffe27a 10px 20px);transition:none}
.student-timing.paused{background:#fff5c9;border-color:#d4a313}
.student-timing.paused .student-timing-row strong,.student-timing.paused .student-timing-row span{color:#6f5200}
.paused-status{background:#fff5c9;color:#6f5200}

/* Expandable question context viewer */
.question-context[data-context-viewable]{cursor:zoom-in;position:relative}
.question-context[data-context-viewable] figcaption{padding-right:112px}
.context-expand{align-items:center;background:#fff;border:1px solid #b8d9ca;border-radius:999px;color:#0c6f48;cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:800;gap:6px;line-height:1;padding:8px 11px;position:absolute;right:12px;top:10px;z-index:2}
.context-expand:hover{background:#eaf8f1;border-color:#76b99b}
.question-context[data-context-surface="teacher"] .context-expand{background:#f8c431;border-color:#c89700;color:#173b2a;box-shadow:0 3px 10px rgba(0,0,0,.2);font-size:.84rem;padding:9px 13px}
.question-context[data-context-surface="teacher"] .context-expand:hover{background:#ffe173}
.context-expand:focus-visible,.context-viewer button:focus-visible{outline:3px solid #f8c431;outline-offset:3px}
.context-viewer{background:#f4f7f5;border:0;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.38);color:#102d23;height:min(94dvh,1000px);max-height:94dvh;max-width:96vw;overflow:hidden;padding:0;width:min(96vw,1440px)}
.context-viewer::backdrop{background:rgba(4,18,14,.78);backdrop-filter:blur(3px)}
.context-viewer-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}
.context-viewer-toolbar{align-items:center;background:#123d30;color:#fff;display:flex;gap:14px;justify-content:space-between;padding:12px 16px}
.context-viewer-title{font-size:1rem;font-weight:850;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.context-viewer-controls{align-items:center;display:flex;flex:0 0 auto;gap:7px}
.context-viewer-controls button{align-items:center;background:#fff;border:0;border-radius:9px;color:#123d30;cursor:pointer;display:inline-flex;font:inherit;font-size:.88rem;font-weight:850;justify-content:center;min-height:38px;min-width:42px;padding:8px 12px}
.context-viewer-controls button:hover{background:#ddf3e8}
.context-viewer-zoom{font-size:.82rem;font-weight:850;min-width:50px;text-align:center}
.context-viewer-close{margin-left:5px}
.context-viewer-viewport{background:linear-gradient(45deg,#eef2f0 25%,transparent 25%),linear-gradient(-45deg,#eef2f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef2f0 75%),linear-gradient(-45deg,transparent 75%,#eef2f0 75%),#f9fbfa;background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;overflow:auto;overscroll-behavior:contain;padding:28px;touch-action:pan-x pan-y}
.context-viewer-viewport.is-dragging{cursor:grabbing;user-select:none}
.context-viewer-content{align-items:flex-start;display:flex;justify-content:center;min-height:100%;min-width:100%;transform-origin:top center;width:max-content}
.context-viewer-clone{box-shadow:none;cursor:default;margin:0;max-width:none;width:min(1200px,calc(100vw - 96px))}
.context-viewer-clone.context-image img{max-height:none;max-width:none;padding:0;width:100%}
.context-viewer-clone.context-graph{max-width:none}
.context-viewer-clone .context-graph-svg{min-height:360px}
.context-viewer-clone .context-table-scroll{overflow:visible}
.context-viewer-help{background:#e9f2ed;color:#45675b;font-size:.8rem;font-weight:650;padding:9px 16px;text-align:center}
body.context-viewer-open{overflow:hidden}

@media(max-width:760px){.question-context[data-context-viewable] figcaption{padding-right:48px}.context-expand{border-radius:9px;padding:8px;right:8px;top:7px}.context-expand span:last-child{display:none}.context-viewer{border-radius:12px;height:96dvh;max-height:96dvh;max-width:98vw;width:98vw}.context-viewer-toolbar{align-items:flex-start;flex-direction:column;gap:9px;padding:10px 12px}.context-viewer-title{max-width:100%;white-space:normal}.context-viewer-controls{justify-content:space-between;width:100%}.context-viewer-controls button{min-width:38px;padding:7px 9px}.context-viewer-viewport{padding:16px}.context-viewer-clone{width:calc(100vw - 42px)}.context-viewer-clone .context-graph-svg{min-height:280px}.context-viewer-help{font-size:.72rem;padding:8px 10px}}
