:root{color-scheme:light dark;--bg:#f5f4f0;--card:#fff;--ink:#182d35;--accent:#14645d;--line:#c9d3d1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,sans-serif}header{background:#132e36;color:white;padding:18px max(24px,calc((100vw - 1060px)/2));}header a{color:white;font-weight:700;text-decoration:none}main{max-width:1060px;margin:auto;padding:32px 24px 80px}h1{font-size:clamp(30px,5vw,46px);line-height:1.15}h2{font-size:27px;line-height:1.3}h3{margin-bottom:8px}a{color:var(--accent);text-underline-offset:3px}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:24px 0}article,.summary{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:28px;margin:24px 0}section{margin:26px 0}label{display:block;font-weight:600;margin:18px 0}input,select,textarea,button{font:inherit}textarea,select,input[type=number]{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--card)}button{padding:10px 16px;border:0;border-radius:6px;background:var(--accent);color:white;cursor:pointer}button:disabled{opacity:.5;cursor:default}fieldset{border:0;padding:0;margin:0;min-width:0}.inline{font-weight:400}.inline input{margin-right:8px}audio{display:block;width:100%;max-width:600px;margin-bottom:8px}.asset{margin:20px 0;padding:16px;border-left:3px solid var(--accent)}.eyebrow{font-size:13px;letter-spacing:.1em;font-weight:700}.objective{font-size:20px}.teacher,.feedback{padding:20px;background:#e8f2ee;border-radius:8px}.preserve,pre{white-space:pre-wrap;overflow-wrap:anywhere}progress{display:block;width:100%;margin:10px 0;accent-color:var(--accent)}#message:not(:empty){padding:14px;border-left:4px solid var(--accent);background:var(--card)}:focus-visible{outline:3px solid #d99025;outline-offset:3px}@media(prefers-color-scheme:dark){:root{--bg:#102129;--card:#182e36;--ink:#f1f4f2;--accent:#7cdbc3;--line:#4b666d}button{color:#102129}.teacher,.feedback{background:#24443f}}@media(max-width:600px){main{padding:20px 14px}article,.summary{padding:18px}nav{gap:12px}}@media print{header,nav,button,form,.lesson-picker,.summary{display:none}body{background:white;color:black}article{border:0;padding:0}audio{display:none}}
