: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}
.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}}
