:root{--paper:#f6efe0;--paper2:#efe5d0;--ink:#2a2622;--ink2:#6b6258;--rule:#d9ccb3;--accent:#9a3b2a;--mustard:#d9a62e;--serif:"Source Serif 4 Variable", "Noto Serif SC", "Songti SC", Georgia, serif;--hand:"Caveat Variable", "Ma Shan Zheng", cursive;--fs:17px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body.teachers{background:var(--paper);color:var(--ink);font:400 var(--fs) / 1.6 var(--serif);margin:0}a{color:var(--accent)}.bar{z-index:5;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:10px;font-size:1.15em;font-weight:650;text-decoration:none;display:flex}.mark{background:var(--mustard);border-radius:3px 5px 5px 3px;width:22px;height:28px;box-shadow:inset 3px 0 #b7861a}.bar nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn,.lang button,.chip{font:inherit;cursor:pointer;border:1px solid var(--rule);color:var(--ink);background:#fffaf0;border-radius:999px;padding:6px 14px;font-size:.88em;text-decoration:none}.btn:hover,.chip:hover,.lang button:hover{border-color:var(--ink2)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn[aria-pressed=true],.chip[aria-pressed=true],.lang button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.lang{display:inline-flex}.lang button:first-child{border-radius:999px 0 0 999px}.lang button:last-child{border-radius:0 999px 999px 0;margin-left:-1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{grid-template-columns:220px minmax(0,1fr);gap:40px;max-width:1180px;margin:0 auto;padding:32px 24px 80px;display:grid}.toc{align-self:start;font-size:.92em;position:sticky;top:84px}.toc ul{border-left:1px solid var(--rule);margin:0;padding:0;list-style:none}.toc a{color:var(--ink2);padding:4px 14px;text-decoration:none;display:block}.toc a:hover{color:var(--accent)}.k{font-family:var(--hand);color:var(--accent);margin:0 0 6px;font-size:1.45em}h1{margin:0 0 14px;font-size:2.6em;font-weight:650;line-height:1.1}h2{border-bottom:1px solid var(--rule);margin:56px 0 10px;padding-bottom:6px;font-size:1.6em;font-weight:650}h3{margin:0;font-size:1.2em;font-weight:650}h4{letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin:0 0 6px;font-size:.8em}.lead{max-width:60ch;font-size:1.12em}.note,.hint{color:var(--ink2);font-size:.9em}.cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:24px;display:grid}.card{border:1px solid var(--rule);color:var(--ink);box-shadow:0 1px 0 var(--rule);background:#fffaf0;border-radius:8px;grid-template-columns:auto 1fr;gap:2px 10px;padding:12px 14px;text-decoration:none;display:grid}.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card .num,.lesson .num{font-family:var(--hand);color:var(--accent);grid-row:span 2;font-size:1.9em;line-height:1}.ctitle{font-weight:600;line-height:1.25}.ceq{color:var(--ink2);font-size:.9em;font-style:italic}.boards li,.paths li{margin:6px 0}.boards b,.paths b{margin-right:6px}table{border-collapse:collapse;width:100%;max-width:640px}th,td{text-align:left;border-bottom:1px solid var(--rule);padding:7px 10px}th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);font-size:.8em}.sw{background:var(--c);vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:8px;display:inline-block}.filter{z-index:2;background:var(--paper);border-bottom:1px dashed var(--rule);margin-bottom:8px;padding:10px 0 12px;position:sticky;top:58px}.filter p{margin:0 0 8px}.chips{flex-wrap:wrap;gap:8px;display:flex}.lesson{border-bottom:1px solid var(--rule);break-inside:avoid-page;padding:28px 0}.lesson header{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;margin-bottom:14px;display:grid}.lesson .open{white-space:nowrap;font-size:.9em}.eqline{color:var(--ink2);margin:2px 0 0}.eq{color:var(--ink);margin-right:8px;font-style:italic}.cols{grid-template-columns:1fr 1fr;gap:18px 32px;display:grid}.cols ul,.cols ol{margin:0;padding-left:1.2em}.cols li{margin:3px 0}.spec{list-style:none;padding-left:0!important}.spec .board{min-width:76px;font-weight:650;display:inline-block}.spec .ref{font-variant-numeric:tabular-nums;color:var(--accent);margin-right:4px}.kw{color:var(--ink2);margin:14px 0 0;font-size:.92em}footer{color:var(--ink2);margin-top:60px;font-size:.9em}body.projector{--fs:22px;--ink:#000;--ink2:#333;--paper:#fffdf6}body.projector .toc{display:none}body.projector .wrap{grid-template-columns:1fr;max-width:1400px}@media (max-width:860px){.wrap{grid-template-columns:1fr;gap:0;padding-top:16px}.toc{display:none}.cols{grid-template-columns:1fr}h1{font-size:2em}.lesson header{grid-template-columns:auto 1fr}.lesson .open{grid-column:2}.filter{top:104px}}@media print{.bar,.toc,.chips .chip[aria-pressed=false],.lesson .open{display:none!important}.wrap{padding:0;display:block}.filter{position:static}body.teachers{--fs:11pt;background:#fff}a{color:inherit;text-decoration:none}h2{break-after:avoid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
