/* review-games.css: styles for the shared in-page review games (review-games.js).
   Copied from the Unit 5-8 pages, which still carry their own inline copies. */
.game-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:700px;margin:0 auto}
.game-pick-card{background:var(--white);border:2px solid var(--border2);padding:36px 28px;cursor:pointer;text-align:center;transition:box-shadow .2s,border-color .2s}
.game-pick-card:hover{border-color:var(--red);box-shadow:0 8px 32px rgba(0,0,0,.12)}
.game-pick-icon{font-size:2.8rem;margin-bottom:12px}
.game-pick-name{font-family:Lato,system-ui,sans-serif;letter-spacing:-.02em;font-size:1.3rem;margin-bottom:6px}
.game-pick-desc{font-size:.84rem;color:var(--mid);line-height:1.5}
.jeop-teams-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px}
.jeop-team{background:var(--white);border:2px solid var(--border2);padding:12px 16px;min-width:140px;position:relative}
.jeop-team-name{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:none;background:none;width:100%;outline:none;padding:2px 0;border-bottom:1.5px dashed var(--border2)}
.jeop-team-name:focus{border-bottom-color:var(--red)}
.jeop-team-score{font-family:Lato,system-ui,sans-serif;letter-spacing:-.02em;font-size:1.6rem;margin-top:6px}
.jeop-team-rm{position:absolute;top:4px;right:6px;background:none;border:none;color:#999;cursor:pointer;font-size:.9rem}
.jeop-team-rm:hover{color:var(--red)}
.jeop-board{display:grid;grid-template-columns:repeat(var(--jcols,6),1fr);gap:4px;margin:20px 0}
.jeop-cat{background:#1a1a12;color:#fff;padding:12px 6px;text-align:center;font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
.jeop-cell{background:#1a237e;color:#ffd740;padding:18px 8px;text-align:center;font-family:Lato,system-ui,sans-serif;letter-spacing:-.02em;font-size:1.3rem;font-weight:700;cursor:pointer;border:none;transition:background .15s,transform .1s}
.jeop-cell:hover{background:#283593;transform:scale(1.04)}
.jeop-cell.used{background:#37474f;color:#78909c;cursor:default;transform:none}
.jeop-modal{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:910;display:flex;align-items:center;justify-content:center;padding:20px}
.jeop-modal-inner{background:#f9f6ef;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;padding:40px 36px;border:2px solid #ddd0b8;box-shadow:0 12px 48px rgba(0,0,0,.4)}
.jeop-modal-pts{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.14em;color:var(--red);text-transform:uppercase;margin-bottom:8px}
.jeop-modal-q{font-family:Lato,system-ui,sans-serif;font-size:1.15rem;line-height:1.7;margin-bottom:24px}
.jeop-modal-answer{background:#e8f5e9;border-left:4px solid #1a6825;padding:16px 20px;margin-bottom:20px;font-family:Lato,system-ui,sans-serif;font-size:1rem;line-height:1.6;display:none}
.jeop-modal-answer.show{display:block}
.jeop-award-bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.jeop-award-btn{padding:10px 18px;font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;color:#fff;transition:opacity .15s}
.jeop-award-btn:hover{opacity:.85}
.jeop-award-btn.no-pts{background:#78909c;color:#fff}
.jeop-reveal-btn{padding:12px 24px;background:var(--ink);color:#fff;border:none;font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.jeop-end-bar{display:flex;gap:12px;justify-content:center;margin-top:24px}
.jeop-winner{text-align:center;padding:40px 20px}
.jeop-winner h3{font-family:Lato,system-ui,sans-serif;letter-spacing:-.02em;font-size:1.8rem;margin-bottom:10px}
.match-board{display:flex;gap:20px;max-width:900px;margin:0 auto}
.match-col{flex:1;display:flex;flex-direction:column;gap:10px}
.match-col-hdr{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;text-align:center}
.match-card{background:var(--white);border:2px solid var(--border2);padding:14px 16px;font-size:.84rem;line-height:1.5;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.match-card:hover{border-color:var(--red);transform:translateY(-1px)}
.match-card.selected{border-color:var(--red);background:#eef3f7;box-shadow:0 0 0 2px rgba(15,50,72,.2)}
.match-card.matched{background:#e8f5e9;border-color:#1a6825;cursor:default;opacity:.8}
.match-card.wrong{animation:matchShake .4s ease-out}
.match-counter{text-align:center;font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.1em;color:var(--muted);margin:20px 0}
.match-success{text-align:center;padding:40px 20px}
.match-success h3{font-family:Lato,system-ui,sans-serif;letter-spacing:-.02em;font-size:1.6rem;margin-bottom:8px}
@keyframes matchShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.sortit-card{background:var(--white);border:2px solid var(--border2);padding:16px 18px;margin-bottom:12px;font-size:.86rem;line-height:1.6}
.sortit-btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sortit-btn{background:none;border:1.5px solid var(--border);font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;cursor:pointer;transition:all .15s}
.sortit-btn.earns{background:#e8f5e9;border-color:#1a6825;color:#1a6825}
.sortit-btn.nope{background:#eef3f7;border-color:var(--red);color:var(--red)}
.sortit-card.revealed-correct{border-color:#1a6825}
.sortit-card.revealed-wrong{border-color:var(--red)}
.sortit-explain{font-size:.79rem;color:var(--mid);margin-top:8px;display:none;line-height:1.55;border-top:1px solid var(--border);padding-top:8px}
.sortit-card.revealed-correct .sortit-explain,.sortit-card.revealed-wrong .sortit-explain{display:block}
.sq-score-chip{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.08em;color:var(--ink);background:var(--paper);border:1.5px solid var(--border2);padding:6px 14px}
.sq-qnum{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sq-timer-bar-wrap{height:8px;background:var(--border);border-radius:4px;margin-bottom:18px;overflow:hidden}
.sq-timer-bar{height:100%;background:var(--red);border-radius:4px}
.sq-q-text{font-family:Lato,system-ui,sans-serif;letter-spacing:-.02em;font-size:1.2rem;line-height:1.5;margin-bottom:20px;text-align:center}
.sq-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;margin:0 auto 16px}
.sq-choice{padding:16px 18px;border:2px solid var(--border2);background:var(--white);font-size:.86rem;line-height:1.4;cursor:pointer;text-align:left;transition:background .15s,border-color .15s;font-family:inherit}
.sq-choice:hover:not(:disabled){border-color:var(--ink);background:var(--paper)}
.sq-choice.sq-correct{background:#e8f5e9;border-color:#1a6825;color:#1a6825}
.sq-choice.sq-wrong{background:#eef3f7;border-color:var(--red);color:var(--red)}
.sq-pts-flash{text-align:center;font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:1rem;letter-spacing:.1em;min-height:26px;margin-bottom:8px}
.sq-expl{background:var(--paper);border:1px solid var(--border);border-left:3px solid var(--border2);padding:12px 16px;font-size:.83rem;line-height:1.6;max-width:640px;margin:0 auto}
.sq-final-score{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:2.4rem;letter-spacing:.06em;margin:14px 0 4px}
.sq-bk-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--border);font-size:.82rem;line-height:1.5;text-align:left}
.sq-bk-icon{font-size:1rem;flex-shrink:0;margin-top:2px}
.tl-pool{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:22px}
.tl-card{background:var(--white);border:2px solid var(--border2);padding:12px 14px;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.tl-card:hover:not(.tl-placed){border-color:var(--red);transform:translateY(-2px)}
.tl-card-title{font-size:.84rem;font-weight:600;color:var(--ink)}
.tl-placed{background:#e8f5e9;border-color:#1a6825;cursor:default;opacity:.7}
.tl-wrong-anim{animation:matchShake .35s ease-out;border-color:var(--red) !important;background:#eef3f7 !important}
.tl-sequence{background:var(--paper);border:1px solid var(--border);padding:14px 18px;margin-bottom:16px}
.tl-seq-lbl{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.tl-seq-item{display:flex;gap:10px;align-items:baseline;font-size:.82rem;line-height:1.5;color:#1a6825;margin-bottom:4px}
.tl-seq-num{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.08em;min-width:18px;color:#1a6825}
#asteroid-arena{position:relative;width:100%;height:420px;background:#06061a;overflow:hidden;border:2px solid #1a1a40;border-radius:4px}
.ast-stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 15% 25%,#fff 0%,transparent 100%),radial-gradient(1px 1px at 55% 18%,#cce 0%,transparent 100%),radial-gradient(1px 1px at 82% 65%,#fff 0%,transparent 100%),radial-gradient(1px 1px at 38% 78%,#aaf 0%,transparent 100%),radial-gradient(1px 1px at 92% 42%,#fff 0%,transparent 100%),radial-gradient(1px 1px at 8% 58%,#cce 0%,transparent 100%),radial-gradient(1px 1px at 48% 48%,#fff 0%,transparent 100%),radial-gradient(1px 1px at 68% 32%,#aaf 0%,transparent 100%),radial-gradient(1px 1px at 25% 12%,#fff 0%,transparent 100%),radial-gradient(1px 1px at 75% 85%,#cce 0%,transparent 100%),radial-gradient(1px 1px at 33% 55%,#fff 0%,transparent 100%),radial-gradient(1px 1px at 62% 90%,#aaf 0%,transparent 100%),radial-gradient(1px 1px at 5% 38%,#fff 0%,transparent 100%),radial-gradient(1px 1px at 88% 22%,#cce 0%,transparent 100%),radial-gradient(1px 1px at 44% 68%,#fff 0%,transparent 100%)}
.ast-ship{position:absolute;bottom:24px;left:50%;width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:28px solid #44aaff;filter:drop-shadow(0 0 8px #44aaff);transition:transform .15s ease-out;transform-origin:50% 100%}
.ast-ship::after{content:'';position:absolute;top:8px;left:-6px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:14px solid #06061a}
.asteroid{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;width:128px;height:108px;background:#7a4e28;clip-path:polygon(50% 0%,82% 10%,100% 40%,88% 76%,60% 100%,28% 98%,5% 72%,0% 40%,18% 12%);color:#f0e8d8;font-size:.62rem;line-height:1.3;font-family:Lato,system-ui,sans-serif;font-weight:700;padding:14px 10px;user-select:none;transform-origin:50% 50%;box-shadow:inset -5px -5px 12px rgba(0,0,0,.6)}
.asteroid:nth-child(odd){clip-path:polygon(30% 0%,72% 8%,100% 36%,92% 70%,65% 100%,28% 95%,0% 65%,5% 28%);background:#6b421e}
.asteroid:nth-child(3n){clip-path:polygon(45% 2%,80% 14%,100% 48%,82% 82%,50% 100%,16% 88%,0% 52%,10% 20%);background:#8b5e35}
.asteroid:hover{filter:brightness(1.3)}
.asteroid.ast-correct{animation:astExplode .45s ease-out forwards;pointer-events:none}
.asteroid.ast-wrong{animation:astWrong .3s ease-out}
.ast-hud{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#0a0a28;border-bottom:1px solid #1a1a50;position:relative;z-index:2}
.ast-lives{color:#ff6666;font-size:.9rem;letter-spacing:.04em}
.ast-score-hud{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.1em;color:#44aaff}
.ast-qbar{background:rgba(10,10,40,.95);border-bottom:1px solid #1a1a50;padding:10px 18px;font-size:.84rem;color:#e8e8ff;line-height:1.45;text-align:center;position:relative;z-index:2;min-height:44px}
.ast-qnum-lbl{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:#44aaff;margin-bottom:4px}
.ast-end{display:none;text-align:center;padding:44px 20px;background:#06061a;color:#e8e8ff;height:100%;box-sizing:border-box}
.ast-end.show{display:flex;flex-direction:column;align-items:center;justify-content:center}
.ast-end-score{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:2.2rem;letter-spacing:.06em;color:#44aaff;margin:10px 0 4px}
.ast-flash-overlay{position:absolute;inset:0;pointer-events:none;z-index:10;opacity:0;transition:opacity .15s}
.ast-laser{position:absolute;height:3px;background:linear-gradient(90deg,transparent,#44aaff 20%,#88ddff 50%,#44aaff 80%,transparent);transform-origin:0 50%;pointer-events:none;z-index:5;opacity:0;filter:drop-shadow(0 0 4px #44aaff)}
.ast-laser.fire{animation:laserFire .3s ease-out forwards}
@keyframes laserFire{0%{opacity:1;transform:rotate(var(--laser-angle)) scaleX(0)}30%{opacity:1;transform:rotate(var(--laser-angle)) scaleX(1)}70%{opacity:1;transform:rotate(var(--laser-angle)) scaleX(1)}100%{opacity:0;transform:rotate(var(--laser-angle)) scaleX(1)}}
@keyframes astExplode{0%{transform:scale(1) rotate(var(--rot,0deg));opacity:1}40%{transform:scale(1.8) rotate(var(--rot,0deg));filter:brightness(4);opacity:.8}100%{transform:scale(0) rotate(var(--rot,0deg));opacity:0}}
@keyframes astWrong{0%,100%{transform:translate(var(--tx,0px),var(--ty,0px)) rotate(var(--rot,0deg))}25%{transform:translate(calc(var(--tx,0px) - 7px),var(--ty,0px)) rotate(var(--rot,0deg))}75%{transform:translate(calc(var(--tx,0px) + 7px),var(--ty,0px)) rotate(var(--rot,0deg))}}
@media(max-width:600px){.match-board{flex-direction:column}.sq-choices{grid-template-columns:1fr}.jeop-board{gap:2px}.jeop-cat{font-size:.46rem;padding:8px 2px}.jeop-cell{padding:12px 2px;font-size:.8rem}}

/* ── Source Line Warm-up (Units 6 and 7) ── */
.warmup-timer{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:2rem;text-align:center;letter-spacing:.06em;color:var(--ink);margin:8px 0 16px}
.warmup-timer.urgent{color:var(--red)}
.warmup-source-card{background:var(--paper);border:1px solid var(--border2);border-left:4px solid var(--red);padding:16px 20px;margin-bottom:16px}
.warmup-doc-type{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:5px}
.warmup-source-line{font-weight:700;font-size:.88rem;margin-bottom:7px;color:var(--ink)}
.warmup-excerpt{font-size:.83rem;color:var(--mid);line-height:1.6;font-style:italic}
.warmup-lens-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.warmup-lens-btn{background:var(--white);border:1.5px solid var(--border);color:var(--muted);font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;cursor:pointer;transition:all .15s}
.warmup-lens-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}
.warmup-lens-btn:hover:not(.active){border-color:var(--ink);color:var(--ink)}
.warmup-frame{background:var(--paper);border:1px solid var(--border);border-left:3px solid var(--red);padding:12px 16px;margin-bottom:12px;font-size:.86rem;line-height:1.7}
.warmup-model{background:#e8f5e9;border:1px solid #1a6825;padding:14px 18px;margin-top:14px;font-size:.84rem;line-height:1.65}
.warmup-model-lbl{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:#1a6825;margin-bottom:6px}
.warmup-textarea{width:100%;min-height:110px;margin-top:4px;border:1.5px solid var(--border);padding:11px 13px;font-family:Lato,system-ui,sans-serif;font-size:.89rem;line-height:1.7;color:var(--ink);background:var(--white);resize:vertical;outline:none}
.warmup-textarea:focus{border-color:var(--ink)}
.warmup-result{display:none;margin-top:12px;border:1px solid var(--border);padding:12px 14px;background:var(--white);font-size:.86rem;line-height:1.55;align-items:flex-start}
.warmup-result.pass,.warmup-result.partial,.warmup-result.fail{display:flex}
.warmup-result.pass{border-color:var(--green,#1a6825);background:var(--green-bg,#eef7f0)}
.warmup-result.partial{border-color:var(--gold-b,#d4b84a);background:var(--gold-bg,#fdf7e8)}
.warmup-result.fail{border-color:var(--red);background:var(--red-bg)}
.warmup-result .dr-icon{font-size:1.2rem;margin-right:8px}
:root[data-theme="dark"] .warmup-model{background:rgba(70,190,130,.14);border-color:#2e7d4f}
