:root{--navy:#111c34;--ink:#16233c;--muted:#526179;--yellow:#ffcf32;--blue:#284fe8;--line:#d9e0ec;--paper:#f3f6fb;--green:#176142;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,a,input{touch-action:manipulation}button{font:inherit;font-weight:700;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible+span{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}button{transition:background .15s,transform .15s}button:not(:disabled):active{transform:translateY(1px)}.topbar{min-height:96px;padding:20px max(28px,calc((100vw - 1340px)/2));background:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:24px;color:white}.brand{display:flex;gap:16px;align-items:center;text-decoration:none;color:inherit;font-size:.9rem;letter-spacing:.08em;font-weight:800}.brand small{display:block;font-weight:400;letter-spacing:.02em;color:#c2cbde;font-size:.8rem;margin-top:3px}.brand-mark{background:var(--yellow);color:var(--navy);padding:9px 10px;border-radius:8px;font-size:1.3rem;letter-spacing:-.08em;white-space:nowrap}.brand-mark span{padding:0 3px}.top-actions{display:flex;align-items:center;gap:24px}.edition{font-size:.75rem;letter-spacing:.12em;color:#c2cbde}.quiet{background:transparent;border:1px solid #52607b;color:white;border-radius:7px;padding:9px 13px;font-size:.875rem}.quiet span{padding-left:8px;font-size:1.1rem}main{max-width:1340px;margin:0 auto;padding:42px 28px 30px;min-height:calc(100vh - 166px)}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;gap:20px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.13em;margin:0 0 10px}.intro h1{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.1;letter-spacing:-.055em;margin:0 0 14px;font-weight:800}.intro h1 span,.finished h1 span{color:var(--blue)}.intro p:last-child{margin:0;color:var(--muted);font-size:1.05rem}.roundel{display:flex;align-items:center;gap:9px;transform:rotate(-5deg);margin-right:15px}.roundel span{border:1px solid #c2ccdc;border-radius:50%;font-weight:700;width:34px;height:34px;display:grid;place-items:center;color:var(--muted)}.roundel b{background:var(--yellow);border-radius:50%;width:88px;height:88px;display:grid;place-items:center;font-size:2rem;letter-spacing:-.06em;box-shadow:4px 5px 0 var(--navy)}fieldset{padding:0;border:0;min-width:0;margin:0}legend{font-size:1rem;font-weight:800;margin-bottom:17px;padding:0}.step{display:inline-grid;place-items:center;background:var(--navy);color:#fff;border-radius:50%;width:25px;height:25px;font-size:.7rem;margin-right:9px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.category-card{position:relative;display:block;cursor:pointer}.category-card input{position:absolute;opacity:0;width:1px;height:1px}.category-content{display:flex;flex-direction:column;min-height:217px;padding:23px;border:2px solid var(--line);border-radius:12px;background:var(--white);transition:border .15s,background .15s}.category-card input:checked+.category-content{border-color:var(--blue);background:#edf1ff;box-shadow:0 3px 0 var(--blue)}.category-card input:focus-visible+.category-content{outline:3px solid var(--blue);outline-offset:4px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.category-symbol{font-family:Consolas,monospace;color:var(--blue);font-size:1.8rem;font-weight:800;line-height:1}.radio-mark{border:2px solid #a6b2c8;border-radius:50%;width:21px;height:21px;background:white}.category-card input:checked+.category-content .radio-mark{border:6px solid var(--blue)}.category-title{font-size:1.3rem;line-height:1.25;letter-spacing:-.025em;font-weight:800;max-width:320px;margin-bottom:17px}.category-count{color:var(--muted);font-size:.875rem;margin-top:auto}.setup-bottom{display:grid;grid-template-columns:1fr 330px;gap:50px;margin:34px 0 25px;background:var(--white);padding:27px 30px;border:1px solid var(--line);border-radius:12px}.terms legend{margin-bottom:5px}.muted{color:var(--muted);font-size:.875rem}.terms .muted{margin:4px 0 18px}.term-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:640px}.term-chip{position:relative;cursor:pointer}.term-chip input{position:absolute;opacity:0;width:1px;height:1px}.term-chip span{display:block;border:1px solid #bbc6d9;border-radius:7px;padding:11px 9px;font-size:1rem;text-align:center;font-weight:700;white-space:nowrap}.term-chip input:checked+span{color:var(--blue);background:#edf1ff;border:2px solid var(--blue);padding:10px 8px}.term-chip input:checked+span::after{content:' ✓';font-size:.85em}.selection-note{font-size:.875rem;color:var(--muted);margin:14px 0 0}.launch{border-left:1px solid var(--line);padding-left:28px}.launch .eyebrow{color:var(--muted);margin-bottom:0}.question-total{margin:0 0 14px;color:var(--muted)}.question-total strong{font-size:2.5rem;color:var(--ink);letter-spacing:-.06em;margin-right:5px}.primary{background:var(--yellow);color:var(--navy);border:0;border-radius:7px;padding:14px 20px;min-height:52px}.primary:hover:not(:disabled){background:#ffda58}.launch .primary{display:flex;justify-content:space-between;width:100%;gap:10px}.text-button{background:none;color:var(--ink);border:0;padding:8px 0;font-size:.9rem}.text-button:hover{text-decoration:underline}.launch .text-button{display:block;margin:auto;color:var(--muted);font-size:.85rem}.audio-note{color:var(--muted);font-size:.8rem;margin:0}.audio-note:empty{display:none}.how-to{display:flex;align-items:center;gap:15px;color:var(--muted);max-width:1040px}.how-to p{font-size:.875rem;margin:0}.how-icon{flex-shrink:0;border:1px solid #a7b3c9;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-weight:700}footer{max-width:1340px;margin:auto;padding:18px 28px 23px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line)}.game-heading{display:flex;justify-content:space-between;align-items:center;margin-top:-18px;gap:15px}.progress-label{font-size:.9rem;color:var(--muted)}.progress-track{height:4px;background:#dce3ee;border-radius:5px;margin:12px 0 28px;overflow:hidden}.progress-track div{height:100%;background:var(--blue);transition:width .2s}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px;align-items:start}.question-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:30px}.question-meta{display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;font-size:.75rem;font-weight:700;color:var(--muted);margin-bottom:24px}.category-label{color:var(--blue);text-transform:uppercase;letter-spacing:.04em}.question-panel h1{font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.35;letter-spacing:-.025em;margin:0 0 26px;white-space:pre-wrap;font-weight:750;overflow-wrap:anywhere}.alternatives{list-style:none;padding:0;margin:0;display:grid;gap:12px}.option{display:flex;gap:15px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:15px 17px;min-height:65px;background:#fafbfd}.option-letter{flex-shrink:0;width:33px;height:33px;display:grid;place-items:center;background:#e8edf6;border-radius:7px;font-size:.9rem;font-weight:800}.option-text{font-size:1.08rem;line-height:1.45;overflow-wrap:anywhere}.option.correct{background:#e7f5ed;border:2px solid var(--green);padding:14px 16px}.option.correct .option-letter{background:var(--green);color:white}.correct-label{color:var(--green);font-size:.8rem;display:block;font-weight:800;margin-top:4px}.answer{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.answer h2{font-size:1rem;color:var(--green);margin:0 0 8px}.answer p{margin:0 0 12px;font-size:1rem}.answer details{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.answer summary{cursor:pointer}.answer details p{font-size:.8rem;margin-top:8px}.control-panel{background:var(--navy);color:white;border-radius:12px;padding:25px 22px;text-align:center;position:sticky;top:20px}.control-panel .eyebrow{color:#c7d3e8;font-size:.7rem;letter-spacing:.12em}.signal{margin:18px auto 8px;display:grid;place-items:center;width:158px;height:158px;border-radius:50%;border:2px solid #43516c;background:#192740;box-shadow:0 0 0 8px #1b2943}.signal span{font-size:5.3rem;line-height:1;letter-spacing:-.07em;font-weight:800}.signal.running{border-color:var(--yellow);color:var(--yellow)}.signal.go{background:var(--yellow);color:var(--navy);border-color:var(--yellow);box-shadow:0 0 0 8px #ffcf3230}.signal.go span{font-size:3.7rem}.status{font-size:.9rem;color:#d1daea;min-height:52px;display:grid;align-content:center;margin:19px 0}.control-panel button{width:100%;font-size:.9rem}.control-panel .primary{padding:13px 8px}.secondary{background:transparent;color:white;border:1px solid #76849f;padding:12px 8px;border-radius:7px;margin-top:10px}.secondary:hover:not(:disabled){background:#253553}.reveal-slot{min-height:100px;display:grid;align-items:center}.reveal-slot .muted{color:#c3cee2;font-size:.8rem;margin:18px 0}.reveal{background:#e7f5ed;border:0;color:#174d37;border-radius:7px;padding:13px 7px}.next{border:0;border-top:1px solid #485570;background:none;color:white;padding:15px 0 0}.next:hover:not(:disabled){color:var(--yellow)}.keyboard-hint{font-size:.75rem;color:#c2cce0;line-height:1.7;margin:17px 0 0}.finished{text-align:center;margin:70px auto;max-width:620px}.finished h1{font-size:3rem;letter-spacing:-.05em;line-height:1.1;margin:15px 0}.finished p{color:var(--muted);margin:22px 0}.finished button{display:block;margin:12px auto}.error{background:#fff0f0;color:#9c2020;border:1px solid #db9d9d;padding:20px;border-radius:8px}
@media(min-width:1600px){main{padding-top:55px}.option-text{font-size:1.2rem}.category-content{min-height:235px}}
@media(max-width:1000px){.roundel{display:none}.category-title{font-size:1.1rem}.category-content{padding:18px;min-height:210px}.setup-bottom{grid-template-columns:1fr 260px;gap:25px;padding:24px}.term-grid{grid-template-columns:repeat(2,1fr)}.game-layout{grid-template-columns:minmax(0,1fr) 255px;gap:17px}.question-panel{padding:23px}.option-text{font-size:1rem}.control-panel{padding:23px 17px}}
@media(max-width:720px){.topbar{padding:17px 20px;min-height:82px}.edition{display:none}.brand{font-size:.75rem;gap:10px;letter-spacing:.02em}.brand small{font-size:.7rem}.brand-mark{font-size:1.05rem;padding:8px}.quiet{font-size:.75rem;padding:7px 9px}.quiet span{display:none}main{padding:28px 18px}.intro{margin-bottom:27px}.intro h1{font-size:2.35rem}.intro p:last-child{font-size:1rem}.category-grid{grid-template-columns:1fr;gap:12px}.category-content{min-height:auto;padding:17px 19px;display:grid;grid-template-columns:43px 1fr;column-gap:15px}.card-top{margin:0;grid-row:1/3;align-items:center}.radio-mark{position:absolute;right:20px;top:23px}.category-title{font-size:1.12rem;margin:0 25px 6px 0;max-width:none}.category-count{font-size:.8rem}.category-symbol{font-size:1.6rem}.setup-bottom{grid-template-columns:1fr;gap:22px;margin-top:25px;padding:22px 19px}.term-grid{grid-template-columns:repeat(2,1fr);max-width:none}.launch{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.question-total strong{font-size:2.15rem}.how-to{align-items:flex-start}.how-to p{font-size:.85rem}footer{padding:18px;display:block}footer span{display:block;margin:4px 0}.game-layout{grid-template-columns:1fr}.question-panel{padding:20px 17px}.question-meta{font-size:.7rem;margin-bottom:19px}.question-panel h1{font-size:1.4rem}.option{padding:13px 12px;gap:12px}.option.correct{padding:12px 11px}.option-letter{width:29px;height:29px}.control-panel{position:static}.signal{width:120px;height:120px}.signal span{font-size:4rem}.signal.go span{font-size:3.2rem}.control-panel .primary,.secondary,.reveal,.next{min-height:48px}.keyboard-hint{display:none}.progress-label{font-size:.8rem}.game-heading .text-button{font-size:.8rem}.finished{margin:40px auto}.finished h1{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.teacher-name{margin:0;text-align:center;font-size:1.25rem;font-weight:700;white-space:nowrap}.top-actions{justify-self:end}@media(max-width:1000px){.topbar{grid-template-columns:minmax(0,1fr) auto;row-gap:14px}.teacher-name{grid-column:1/-1;grid-row:2}.top-actions{grid-column:2;grid-row:1}}

button.option{width:100%;text-align:left;color:var(--ink);font-weight:400;border-width:2px;padding:14px 16px}.option:hover:not(:disabled){border-color:var(--blue);background:#f0f3ff}.option.selected{border-color:var(--blue);background:#e7edff}.option.selected .option-letter{background:var(--blue);color:white}.selected-label,.incorrect-label{display:block;font-size:.8rem;font-weight:800;margin-top:4px}.selected-label{color:var(--blue)}.option.incorrect{border-color:#b42332;background:#fff0f0}.option.incorrect .option-letter{background:#b42332;color:white}.incorrect-label{color:#a51c2a}.option:disabled{opacity:1;cursor:default}.next{border:1px solid #718bff;background:var(--blue);color:white;border-radius:7px;padding:14px 12px;min-height:52px}.next:hover:not(:disabled){background:#3d62f3;color:white}@media(max-width:720px){button.option{padding:12px 11px}}
