:root{--bg:#faf7ef;--ink:#302c26;--muted:#655d50;--line:#ded7c9;--accent:#285d78;--surface:#fff;--soft:#edf3f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.wrap{max-width:860px;margin:auto;padding:20px 24px 40px}nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:32px}a{color:var(--accent);text-underline-offset:4px}nav a,.action{min-height:44px;display:inline-flex;align-items:center}h1{font-size:2rem;line-height:1.35;margin:12px 0}h2{font-size:1.3rem;margin:28px 0 12px}h3{font-size:1.08rem;margin:0}p{max-width:70ch;margin:8px 0 18px}.intro,.muted{color:var(--muted)}.topic-list,.activities{list-style:none;padding:0;margin:0}.topic-list li{border-bottom:1px solid var(--line);padding:16px 0}.topic-list a{display:block;min-height:44px;font-weight:650;font-size:1.2rem}.topic-list p{margin:0;color:var(--muted)}.activities li{padding:12px 0;border-bottom:1px solid var(--line)}.activities a{display:inline-flex;min-height:44px;align-items:center;font-weight:600}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.action{border:1px solid var(--accent);border-radius:10px;padding:10px 16px;text-decoration:none}.action.primary{color:white;background:var(--accent)}.note{padding:14px 18px;background:var(--soft);border-radius:12px}.lesson{background:var(--surface);padding:24px;border-radius:14px;margin-top:24px}.lesson p{white-space:pre-wrap}.prerequisites a{display:inline-block;padding:8px 10px 8px 0;min-height:44px}details{margin-top:32px}summary{cursor:pointer;min-height:44px;display:list-item}details ul{padding-left:22px}details a{display:inline-block;min-height:44px;padding:8px 0}footer{color:var(--muted);font-size:.875rem;border-top:1px solid var(--line);margin-top:40px;padding-top:20px}:focus-visible{outline:3px solid #9b4d27;outline-offset:4px}a:hover{text-decoration-thickness:2px}.action:hover{background:var(--soft);color:var(--accent)}.action:active{background:#dce9ee}main:focus{outline:none}h1,h2,h3,a,p{overflow-wrap:anywhere}@media(max-width:520px){.wrap{padding:16px}h1{font-size:1.75rem}nav{margin-bottom:24px}.lesson{padding:18px}.actions{flex-direction:column}.action{justify-content:center}}
