/* Shared course stylesheet. Every lesson and reference links this. Tufte-inspired: wide margins, one column, restrained colour. */
:root{--paper:#fbfaf7;--ink:#1c1b18;--ink2:#4c4a44;--muted:#8a877e;--line:#e3e0d7;--accent:#1f5fa8;--up:#0b7a53;--down:#c0392f;--hl:#fff1a8;--code:#f1efe8}
@media (prefers-color-scheme:dark){:root{--paper:#15140f;--ink:#ece9e0;--ink2:#bab6aa;--muted:#8a877e;--line:#2c2a24;--accent:#7fb0ef;--up:#3dc590;--down:#f2776c;--hl:#4a4320;--code:#211f19}}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;padding:0 20px 80px;background:var(--paper);color:var(--ink);font:18px/1.6 Georgia,"Iowan Old Style","Times New Roman",serif}
main{max-width:720px;margin:0 auto}
header.lesson{padding:48px 0 24px;border-bottom:1px solid var(--line);margin-bottom:32px}
.eyebrow{font:600 12px/1.4 -apple-system,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
h1{font-size:40px;line-height:1.1;font-weight:400;margin:8px 0 12px;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:26px;font-weight:400;margin:44px 0 12px;letter-spacing:-.01em}
h3{font-size:20px;font-weight:600;margin:28px 0 8px}
p{margin:0 0 16px;max-width:66ch}
.lede{font-size:21px;color:var(--ink2);max-width:60ch}
.mission{font:14px/1.5 -apple-system,system-ui,sans-serif;color:var(--ink2);border-left:3px solid var(--accent);padding:6px 14px;margin:16px 0}
a{color:var(--accent)}
mark{background:var(--hl);color:var(--ink);padding:0 3px}
table{border-collapse:collapse;width:100%;margin:12px 0 24px;font:16px/1.4 -apple-system,system-ui,sans-serif}
th{text-align:left;font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--ink2)}
td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.up{color:var(--up)}.down{color:var(--down)}
.aside{font:15px/1.5 -apple-system,system-ui,sans-serif;color:var(--ink2);background:var(--code);border-radius:6px;padding:14px 16px;margin:16px 0 24px}
.aside b{color:var(--ink)}
.persona{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 24px}
.persona>div{border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:16px}
.persona b{display:block;font-family:-apple-system,system-ui,sans-serif;margin-bottom:4px}
@media(max-width:600px){.persona{grid-template-columns:1fr}}
.source{font:15px/1.5 -apple-system,system-ui,sans-serif;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:32px 0}
.source b{display:block;margin-bottom:4px}
footer.lesson{margin-top:56px;padding-top:20px;border-top:1px solid var(--line);font:14px/1.6 -apple-system,system-ui,sans-serif;color:var(--muted)}
footer.lesson a{margin-right:14px}
/* quiz */
.quiz{font:16px/1.5 -apple-system,system-ui,sans-serif;margin:8px 0 32px}
.q{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:12px}
.q .stem{font-size:17px;margin:0 0 12px;color:var(--ink)}
.q .opts{display:grid;gap:8px}
.q button{font:inherit;text-align:left;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer}
.q button:hover:not(:disabled){border-color:var(--accent)}
.q button:disabled{cursor:default}
.q button.right{border-color:var(--up);background:color-mix(in srgb,var(--up) 12%,transparent)}
.q button.wrong{border-color:var(--down);background:color-mix(in srgb,var(--down) 10%,transparent)}
.q .why{margin:10px 0 0;color:var(--ink2);font-size:15px}
.q .why:empty{display:none}
.score{font-weight:600;padding:12px 0}
.retry{font:inherit;padding:8px 14px;border:1px solid var(--accent);border-radius:8px;background:none;color:var(--accent);cursor:pointer}
@media print{body{padding:0;font-size:12pt}.quiz button{border:1px solid #999}footer.lesson,.retry{display:none}}
