:root{--bg:#f0f9fa;--surface:#fff;--ink:#132f3a;--muted:#496575;--line:#c4dce2;--accent:#087e8b;--soft:#e2f5f5}
[data-theme="dark"]{--bg:#071b25;--surface:#102c39;--ink:#edf9fb;--muted:#b2ccd7;--line:#315563;--accent:#65e1df;--soft:#173e48}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,sans-serif;line-height:1.65}a{color:var(--accent)}button,input,textarea{font:inherit}button{cursor:pointer;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.5rem .9rem}button:hover{background:var(--soft)}.toolbar{padding:1rem max(1rem,calc((100vw - 1000px)/2));display:flex;gap:1rem;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--surface)}.toolbar div{display:flex;gap:.5rem}main{max-width:1000px;margin:auto;padding:2rem 1rem}h1,h2{line-height:1.2}h1{font-size:clamp(2rem,5vw,3.6rem);margin:.6rem 0}h2{font-size:1.4rem}p{margin:.75rem 0}.hero,.intro,.formula-sheet,.exercise{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.8rem;margin-bottom:1.3rem}.hero{border-top:6px solid var(--accent);background:linear-gradient(125deg,var(--surface),var(--soft))}.eyebrow{font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.09em;color:var(--accent)}.lead{font-size:1.15rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.chips span,.points{border:1px solid var(--line);background:var(--soft);border-radius:30px;padding:.25rem .8rem;font-weight:700}.identity{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin:1rem 0}.identity label{font-weight:600}input,textarea{display:block;width:100%;margin-top:.4rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:.65rem}textarea{resize:vertical;min-height:150px}.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1rem}.exercise-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.points{white-space:nowrap;font-size:.9rem}figure{margin:1.3rem 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:1rem;background:var(--bg)}svg{display:block;width:100%;max-height:260px}.piece{fill:var(--soft);stroke:var(--accent);stroke-width:3}.cutout{fill:var(--surface);stroke:var(--ink);stroke-width:2}.construction{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:6 5}svg text{fill:var(--ink);font-size:15px}figcaption{font-size:.95rem}li{margin:.55rem 0}.answer-label{font-weight:650}.paper-answer{display:none}.resource-links{padding:1rem;border-left:4px solid var(--accent)}.criteria{border-left:4px solid var(--accent);padding:.8rem;background:var(--soft)}table{border-collapse:collapse;width:100%}th,td{padding:.7rem;border:1px solid var(--line);text-align:left}caption{font-weight:700;margin:.5rem}.table-wrap{overflow-x:auto}footer{text-align:center;font-size:.85rem;color:var(--muted);padding:1.5rem}.design-grid svg{max-height:340px}
.hint-card{margin:1.2rem 0;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.hint-card summary{padding:.8rem 1rem;cursor:pointer;font-weight:700;color:var(--accent)}.hint-card[open] summary{border-bottom:1px solid var(--line)}.hint-content{padding:.2rem 1rem .8rem}.hint-content ol{padding-left:1.4rem}
@media(max-width:650px){.toolbar{flex-wrap:wrap}.hero,.intro,.formula-sheet,.exercise{padding:1.1rem}.identity,figure,.formula-grid{grid-template-columns:1fr}.exercise-heading{align-items:flex-start}h2{font-size:1.2rem}.points{padding:.2rem .5rem}}
@media print{@page{size:A4;margin:12mm}html[data-theme]{--bg:#fff;--surface:#fff;--ink:#000;--muted:#333;--line:#bbb;--accent:#155969;--soft:#eef6f6}body{font-size:10pt;background:white}.toolbar,.screen-only,.skip-link,footer{display:none!important}main{max-width:none;padding:0}.hero,.intro,.formula-sheet,.exercise{border-radius:0;padding:3mm;margin-bottom:3mm}.hero{border-top-width:2px}h1{font-size:22pt}h2{font-size:13pt}.hero .lead{font-size:11pt}.identity{margin:3mm 0}.chips{margin-top:2mm}.formula-grid{gap:0}.formula-grid p{margin:1mm 0}.formula-sheet p,.intro p{margin:1.5mm 0}.exercise{break-before:page;border:none;padding:0}figure{grid-template-columns:1fr 1fr;padding:2mm;margin:3mm 0;break-inside:avoid}svg{max-height:45mm}figcaption{font-size:9pt}textarea{display:none}.paper-answer{display:block;height:50mm;background:repeating-linear-gradient(to bottom,transparent 0,transparent 7mm,#ccc 7mm,#ccc 7.2mm)}textarea.has-answer{display:block;resize:none;overflow:visible;min-height:50mm;border:1px solid #bbb}textarea.has-answer+.paper-answer{display:none}.design-grid{grid-template-columns:1fr 1fr}.design-grid svg{max-height:75mm}.criteria,table{break-inside:avoid}a{color:#155969;text-decoration:none}.hero a{display:none}.identity input{border:0;border-bottom:1px solid #888;border-radius:0;padding:1mm}.katex{font-size:1em}}
