:root{color-scheme:light;--ink:#192e28;--muted:#566760;--green:#245f4e;--soft:#e7eee8;--paper:#fffef9;--border:#cfd9cf;--accent:#aa5d27;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:17px;background:#f0f3ee;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;line-height:1.85}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #9aafa2;border-radius:7px;background:#fffef9;color:var(--green);padding:10px 16px;line-height:1.4;font-weight:600}button:hover:not(:disabled){background:#e1eee4}button:disabled{opacity:.45;cursor:default}button.primary,button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b47c39;outline-offset:4px}button.primary:hover{background:#174c3e}
.shell{display:grid;grid-template-columns:250px minmax(0,1100px);max-width:1400px;margin:auto;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:32px 22px;background:#193d32;color:#dcebe1;font-size:14px}.sidebar .brand{color:#aac9b6;letter-spacing:.12em;font-size:12px}.sidebar h2{font-size:21px;color:white;line-height:1.5;margin:12px 0 24px}.sidebar a{color:#e6f0e8;display:block;text-decoration:none;padding:9px 0;border-bottom:1px solid #3a554a}.sidebar a:hover{color:white;text-decoration:underline}.sidebar .return{margin-top:28px;font-size:13px;color:#b3d4c1}.sidebar .mini{font-size:12px;color:#b1c8bb;margin:25px 0 0}
main{min-width:0;background:var(--paper);padding:48px 52px 70px}.hero{border-bottom:1px solid var(--border);padding-bottom:32px;margin-bottom:20px}.eyebrow{color:var(--green);font-size:13px;font-weight:650;letter-spacing:.12em;margin:0 0 10px}.hero h1{font-size:clamp(30px,3.2vw,44px);line-height:1.35;margin:14px 0 20px;letter-spacing:-.04em}.hero .lead{font-size:19px;color:#3f594d;max-width:44em}.meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:14px}.resource-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:22px}.chapter{padding:35px 0;border-bottom:1px solid var(--border);scroll-margin-top:24px}.chapter>h2{font-size:28px;line-height:1.4;margin:8px 0 24px}.chapter h3{font-size:21px;margin:28px 0 12px;line-height:1.55}.chapter h4{font-size:17px;margin:12px 0}.chapter p{margin:12px 0}.outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:25px 0}.outcomes>div{border-top:3px solid #a9c9b4;padding-top:12px}.outcomes span{font-size:14px;color:var(--green);font-weight:700}.outcomes h3{font-size:19px;margin:8px 0}.outcomes p{font-size:15px}.small{font-size:14px;color:var(--muted)}.callout{background:var(--soft);border-left:4px solid var(--green);padding:18px 21px;font-size:15px}.question{border-left:3px solid var(--accent);padding:6px 0 6px 16px;font-size:16px;color:#644929}.controls{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:16px 0}.controls label{font-size:14px}.controls input{display:block;width:130px;padding:8px 12px;margin-top:6px;border:1px solid #9aafa2;border-radius:5px;background:white;color:var(--ink)}.controls strong{font-size:15px;align-self:center}.step-heading{display:flex;gap:15px;align-items:baseline}.step{display:inline-grid;place-items:center;background:var(--green);color:white;width:32px;height:32px;border-radius:50%;flex-shrink:0;font-size:16px;font-weight:bold}.step-heading h3{margin:0!important}.step-heading p{font-size:15px;color:var(--muted);margin:4px 0 15px}.experiment-block{padding:28px 0;border-top:1px solid var(--border)}.experiment-block:first-of-type{border-top:0}.result{padding:12px 16px;background:#f0f3ec;border-radius:5px;min-height:50px}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.learning-method{background:#edf2e9;border-radius:8px;padding:14px 22px}.learning-method ol{padding-left:20px;font-size:15px}.learning-method p{font-size:14px}.learning-method li{margin:7px 0}.label-editor{font-size:14px;display:block;margin-top:15px}.label-editor select{display:block;padding:8px 10px;width:100%;max-width:300px;margin-top:5px;background:white;border:1px solid #9aafa2;border-radius:5px;color:var(--ink)}.model-saved{border-left:4px solid var(--green);padding:10px 18px;margin:22px 0;background:#e5efe6}.model-saved h4{margin:5px 0}.model-saved p{margin:6px 0}.model-saved .changed{color:#834715;font-weight:600}.length-bar{display:inline-block;vertical-align:middle;width:calc(var(--length)*12px);height:13px;background:repeating-linear-gradient(90deg,#749c82 0px,#749c82 11px,#fffef9 11px,#fffef9 12px);margin-right:9px}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.65;margin:12px 0}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}thead th{background:#edf2e9;font-weight:650}tbody th{font-weight:500}.candidates .selected{background:#e1eee2;font-weight:600}.candidates th{width:30%}.observation-sheet{background:#f0f2e9;border-radius:9px;padding:20px 25px}.observation-sheet h3{margin-top:0}.observation-sheet label{display:block;margin:14px 0;font-size:15px}.observation-sheet textarea{display:block;margin-top:8px;width:100%;border:1px solid #adbdad;border-radius:6px;padding:12px;background:white;color:var(--ink);resize:vertical;font-size:15px}.network-scroll{width:100%;overflow-x:auto;margin:22px 0}.network-scroll svg{display:block;width:100%;min-width:610px;height:auto}.net-link{stroke:#c7d5cc;stroke-width:1.3}.net-node{fill:#edf2e9;stroke:#7e9d8b;stroke-width:1.5}.net-layer.active .net-node{fill:#30674e;stroke:#1e573e}.net-label{fill:var(--ink);font-size:16px;text-anchor:middle}.net-layer.active .net-label{font-weight:700}.net-note{font-size:13px;fill:#52675a;text-anchor:middle}.scope-ai,.scope-ml,.scope-dl{border:2px solid #9bbba4;border-radius:18px;padding:18px 24px;background:#f2f6ef;margin:15px 0}.scope-ml{margin:15px 0 0 30px;background:#e5eedf;border-color:#79a287}.scope-dl{margin:15px 0 0 30px;background:#d3e4ce;border-color:#578269}.scope-ai strong,.scope-ai span{display:block}.scope-ai span{font-size:14px;color:#385843}.scope-ai strong{font-size:18px}
.prose{max-width:100%;overflow-wrap:anywhere}.prose h1{display:none}.prose h2{font-size:26px;border-top:1px solid var(--border);padding-top:30px;margin-top:32px;line-height:1.5}.prose h3{font-size:21px;margin-top:26px}.prose h4{font-size:18px}.prose li{margin:8px 0}.prose blockquote{margin:18px 0;padding:16px 22px;background:#f0f3e9;border-left:3px solid #749e80;color:#294a38}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-size:.9em;background:#eef1e8;padding:1px 4px;border-radius:3px}.prose pre{padding:16px;background:#eef1e8;overflow-x:auto;font-size:14px;line-height:1.65}.prose pre code{padding:0}.minute-table{min-width:680px;font-size:14px}.minute-table th:first-child{width:9%;white-space:nowrap}.minute-table th:nth-child(2){width:43%}.minute-table th:nth-child(3){width:25%}.minute-table th:nth-child(4){width:23%}.minute-table tr:nth-child(5n+1) td,.minute-table tr:nth-child(5n+1) th{border-top:2px solid #9bb39f}.prose details{border-top:1px solid var(--border);padding:14px 0}.prose summary{cursor:pointer;font-weight:650}.page-footer{padding-top:24px;font-size:13px;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}main{padding:38px 30px}.sidebar{padding:28px 18px}.lab-grid{grid-template-columns:1fr}.outcomes{gap:16px}}
@media(max-width:720px){:root{font-size:16px}.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:18px 22px}.sidebar h2{font-size:17px;margin:5px 0 12px}.sidebar nav{display:flex;overflow:auto;gap:18px;white-space:nowrap}.sidebar nav a{font-size:13px;border:0;padding:4px 0}.sidebar .return,.sidebar .mini{display:none}main{padding:28px 20px 45px}.hero h1{font-size:31px}.hero .lead{font-size:17px}.chapter>h2{font-size:25px}.outcomes{grid-template-columns:1fr;gap:8px}.outcomes>div{display:grid;grid-template-columns:28px 1fr;gap:0 12px;padding-top:10px}.outcomes h3{margin:0}.outcomes p{grid-column:2;margin:3px 0 15px}.scope-ai,.scope-ml,.scope-dl{padding:12px 14px;border-radius:12px}.scope-ml,.scope-dl{margin-left:12px}.controls button{font-size:14px}.controls{gap:10px}.observation-sheet{padding:18px 16px}.chapter{padding:27px 0}.step-heading h3{font-size:19px}th,td{padding:9px 8px}.prose h2{font-size:23px}.prose blockquote{padding:12px 16px}.resource-links{font-size:14px}}
@media print{.sidebar,.controls button,.resource-links,.label-editor,.observation-sheet button{display:none!important}.shell{display:block}main{padding:0;max-width:none}.hero{margin-top:0}.chapter{break-before:auto;padding:15px 0}h2,h3,h4{break-after:avoid}p,li{orphans:3;widows:3}table{font-size:10pt}tr{break-inside:avoid}.table-wrap,.network-scroll{overflow:visible}.network-scroll svg{min-width:0}.minute-table{min-width:0;font-size:9pt}.prose pre{white-space:pre-wrap}.lab-grid{grid-template-columns:1fr 1fr}.outcomes{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:28pt}.page-footer{font-size:9pt}a{color:inherit}.callout{border:1px solid #aaa}button,select,input,textarea{color:black}textarea{min-height:65px}.resource-links{display:none}body{background:white}.teacher-only-link{display:none}.chapter:target{scroll-margin:0}}
