*{box-sizing:border-box} :root{color-scheme:light;--bg:#edf3f6;--card:#fff;--ink:#172e3a;--muted:#425c69;--accent:#075f6b;--line:#b4cbd2;--soft:#e3f3f2} [data-theme=dark]{color-scheme:dark;--bg:#101d27;--card:#192e3b;--ink:#edf7fa;--muted:#b4cdd6;--accent:#7cddd5;--line:#506d7d;--soft:#223f48} body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 system-ui,sans-serif} header,main,footer{max-width:1120px;margin:auto;padding:24px} header{padding-top:32px} nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap} nav a{margin-right:auto} a{color:var(--accent)} h1{font-size:clamp(2.4rem,6vw,4.5rem);line-height:1.05;letter-spacing:-.04em;margin:24px 0} h2{line-height:1.25;font-size:1.65rem} h3{line-height:1.3} .intro{font-size:1.3rem;max-width:780px}.eyebrow{letter-spacing:.1em;color:var(--muted);font-size:.8rem;margin-top:40px}.tags,.schedule{display:flex;gap:12px;flex-wrap:wrap}.tags span{background:var(--soft);padding:5px 16px;border-radius:30px}.schedule{padding-left:24px;gap:8px 30px;font-size:.9rem} section{background:var(--card);padding:30px;border:1px solid var(--line);border-radius:20px;margin-bottom:24px;min-width:0} article{border:1px solid var(--line);padding:20px;border-radius:12px;min-width:0;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid article{margin:0}.notice{border-left:4px solid var(--accent);padding:16px;background:var(--soft)} button{font:inherit;font-size:1rem;cursor:pointer;border:1px solid var(--accent);background:var(--soft);color:var(--ink);padding:10px 16px;border-radius:9px} button:hover{filter:brightness(.94)} :focus-visible{outline:3px solid var(--accent);outline-offset:4px} label{display:block;font-weight:600;margin:12px 0 6px} input:not([type=range]),textarea{font:inherit;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:12px} input[type=range]{width:100%;accent-color:var(--accent)} textarea{min-height:110px} details{margin:18px 0;padding:14px;background:var(--soft);border-radius:9px} summary{cursor:pointer;font-weight:650} .lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.controls button{margin:14px 6px 0 0}.circuit{border:5px solid var(--line);border-radius:20px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:.9rem}.circuit span{background:var(--soft);border-radius:8px;padding:10px}.bench.active .circuit{border-color:var(--accent)}.reading{background:var(--soft);padding:16px;border-radius:10px;margin-top:20px}.feedback{min-height:2em;color:var(--accent);font-weight:600} footer{color:var(--muted);font-size:.9rem} @media(max-width:700px){body{font-size:16px}header,main,footer{padding:16px}section{padding:20px}.grid,.lab-grid{grid-template-columns:1fr}nav a{width:100%}.circuit{gap:12px;padding:10px}} @media print{body{background:white;color:black;font-size:11pt}header,main,footer{padding:0;max-width:none}nav,button,#lab,.tags,#progress,.feedback,details{display:none!important}section,article{border:0;padding:8px 0;margin:0;break-inside:avoid}h1{font-size:26pt}.eyebrow{margin-top:0}.schedule{display:block}.grid{display:block}textarea{min-height:80px}input,textarea{background:white!important;color:black!important}.notice{background:white}.katex-display{overflow:visible!important}}

.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.step-nav button[aria-current=step]{background:var(--accent);color:var(--card)}.step-nav button.done::after{content:' ✓'}progress{width:100%;accent-color:var(--accent)}.joke{font-style:italic;color:var(--muted)}.step-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.lab-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}svg{display:block;width:100%;height:auto;color:var(--accent)}svg .wire{stroke:currentColor;stroke-width:4;fill:none}svg .resistor{fill:var(--soft);stroke:currentColor;stroke-width:3}svg text{fill:var(--ink);font:16px system-ui}button[disabled]{opacity:.5;cursor:default}select{font:inherit;width:100%;background:var(--bg);color:var(--ink);padding:12px;border:1px solid var(--line);border-radius:8px}.result-line{padding:10px;border-left:3px solid var(--accent);margin:12px 0}.feedback:empty{display:none}.print-only{display:none}[hidden]{display:none!important}.formula-key{font-size:.95rem}.katex{font-size:1.1em}h1 span{color:var(--accent)}
@media(max-width:700px){.grid,.lab-grid{grid-template-columns:1fr}.step-nav button{padding:8px 12px}section{padding:18px}article{padding:14px}}
@media print{#missions{display:block}.step-nav,.step-actions,progress,#progress,#lab{display:none!important}.mission{display:block!important}.mission[hidden]{display:block!important}.print-only{display:block}.joke{color:black}details{display:none!important}input,select,textarea{border:1px solid #777!important}section,article{break-inside:auto}.mission{break-inside:avoid}}
@media print {
  :root,[data-theme=dark]{color-scheme:light;--bg:#fff;--card:#fff;--ink:#000;--muted:#222;--accent:#000;--line:#999;--soft:#fff}
  body,section,article,header,footer,.notice{background:#fff!important;color:#000!important}
  [data-theme] .katex,[data-theme] .katex-display{color:#000!important;background:#fff!important;box-shadow:none!important;border-color:#aaa!important}
  main>section:not(#work):not(:last-child){display:none}
  .intro,.eyebrow{font-size:10pt}h1{margin:10px 0}section{border-radius:0}h2{font-size:16pt}h3{font-size:13pt}
  .mission input{height:32px}#exit{min-height:60px}
}

.exercise-diagram{max-width:500px;margin:12px auto 24px}.dam-basin{fill:var(--bg);stroke:var(--line);stroke-width:3}.dam-wall{fill:var(--line);stroke:var(--muted);stroke-width:2}.height-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:5 4}.water-flow{fill:none;stroke:#209cce;stroke-dasharray:12 7;animation:flow 1.2s linear infinite}.source{font-size:.85rem;color:var(--muted)}@keyframes flow{to{stroke-dashoffset:-38}}@media print{.exercise-diagram{max-width:260px}#efemerides{display:block!important}.source{font-size:8pt}.mission{break-inside:avoid}#dam{animation:none}}

.unit{white-space:nowrap}

.game-work{padding:26px}.levels-nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.levels-nav button[aria-current=step]{background:var(--accent);color:var(--card)}.levels-nav .completed{border-width:3px}.game-toolbar{display:flex;gap:20px;justify-content:space-between;align-items:center;background:var(--soft);padding:18px;border-radius:12px}.game-toolbar p{margin:4px 0}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;max-width:560px}#score-display{font-size:1.5rem}#score-note{font-size:.85rem}.challenge-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.challenge-grid article{margin:0;background:var(--card)}.stage-card{position:sticky;top:16px}.primary-button{background:var(--accent);color:var(--card);font-weight:700}.primary-button:disabled{background:var(--soft);color:var(--muted);opacity:1;border-color:var(--line)}.comparison-diagrams{display:grid;grid-template-columns:1fr;gap:8px}.energized .wire{stroke-dasharray:10 5;animation:circuit-flow 1.5s linear infinite}.working-space{min-height:55px}#stage-readings p{margin:8px 0}.math-board h3{margin-top:0}dialog{max-width:720px;width:calc(100% - 32px);max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);padding:24px}dialog::backdrop{background:#061e30b3}#close-guide{float:right;margin:0 0 16px 16px}@keyframes circuit-flow{to{stroke-dashoffset:-30}}@media(max-width:850px){.challenge-grid{grid-template-columns:1fr}.stage-card{position:static}.game-toolbar{align-items:start;flex-direction:column}}@media(max-width:700px){.game-work{padding:18px}.challenge-grid article{padding:14px}.levels-nav button{font-size:.85rem;padding:8px}.game-toolbar{padding:14px}}
@media print{#work,dialog{display:none!important}#print-exercises{display:block!important}#print-exercises article{break-inside:avoid}#print-exercises .working-space{border-bottom:1px solid #aaa}#print-exercises h3{margin-top:20px}}

#game-feedback:empty{display:none}

.history-card{background:var(--soft);border-left:4px solid var(--accent);padding:16px;margin-top:20px;border-radius:8px}.history-card h4{margin-top:0;line-height:1.35}.history-card p{font-size:.95rem}.history-card .source{font-size:.8rem;overflow-wrap:anywhere}.evaluation-scroll{overflow-x:auto;max-width:100%}#evaluation-panel table{width:100%;border-collapse:collapse;font-size:.9rem}#evaluation-panel th,#evaluation-panel td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}#evaluation-panel td{white-space:nowrap}#evaluation-panel button{font-size:.85rem;padding:6px 10px}@media print{#print-exercises article{break-inside:auto}#print-exercises .history-card{break-inside:avoid;border:1px solid #aaa;background:#fff}#print-exercises .history-card p{font-size:9pt}}
