/* 第3课：沿用新课程第1–2课的颜色与字体。 */
:root{--bg:#12161b;--surface:#1a2028;--text:#eef1f5;--muted:#a7b0bd;--accent:#e2a84f;--teal:#4fb3a9;--line:#34404c;--r-background-color:#12161b;--r-main-color:#eef1f5;--r-link-color:#4fb3a9}
*{box-sizing:border-box}body.reveal-viewport,.reveal,.reveal .slides{background:var(--bg)}body{margin:0}.reveal{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--text);font-size:25px;line-height:1.5}.reveal .slides{text-align:left}.reveal .slides>section{height:720px;padding:0}.lesson-content{width:1280px;height:720px;padding:36px 48px}h1,h2,h3,p,ul,ol,figure,pre{margin:0}.reveal h1,.reveal h2,.reveal h3{text-transform:none;letter-spacing:-.015em;font-weight:600}.reveal h2{font-size:40px;line-height:1.25;margin:10px 0 24px}.reveal h3{font-size:27px;line-height:1.4;color:var(--teal);margin:0 0 14px}.eyebrow{font-size:16px;color:var(--accent);letter-spacing:2px}.lead{font-size:25px;line-height:1.6;color:var(--muted);margin:0 0 22px}.big{font-size:37px;line-height:1.6}.muted{color:var(--muted)}.accent{color:var(--accent)}.teal{color:var(--teal)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.three{grid-template-columns:repeat(3,1fr)}.card{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.card p{font-size:23px;line-height:1.6;color:var(--muted)}.card strong{color:var(--text)}.card ul{padding-left:24px;color:var(--muted)}.card li{font-size:23px;margin:12px 0}.callout{border-left:4px solid var(--accent);background:#322d21;padding:17px 23px;margin-top:24px;font-size:24px;line-height:1.55}.hint{font-size:18px;color:var(--muted);margin-top:17px}.formula{font-size:35px;line-height:1.5;color:var(--text);font-family:"SF Mono",ui-monospace,monospace;margin:18px 0}.fraction{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;font-size:34px}.fraction span:first-child{border-bottom:2px solid var(--text);padding:0 12px 9px}.fraction span:last-child{padding:9px 12px 0}.flow{display:flex;align-items:stretch;gap:10px;margin:28px 0}.flow>div{flex:1;padding:20px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-align:center}.flow>div strong{display:block;font-size:27px;color:var(--teal)}.flow>div span{display:block;font-size:20px;color:var(--muted);margin-top:10px}.flow>b{align-self:center;color:var(--accent);font-size:27px}.matrix{border-collapse:collapse;width:100%;font-size:23px}.matrix th,.matrix td{padding:16px;border:1px solid var(--line);text-align:center}.matrix th{color:var(--muted);font-weight:500}.row-focus td{background:#203b35}.cell-focus{outline:3px solid var(--accent);outline-offset:-3px}.mini-table{width:100%;border-collapse:collapse;font-size:22px}.mini-table th,.mini-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left}.mini-table th{color:var(--teal)}.mini-table code{font-size:20px}.check .case{font-size:30px;line-height:1.65;padding:27px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:28px 0}.check .task{font-size:28px;border-left:4px solid var(--teal);padding:13px 22px;line-height:1.6}.check .response{font-size:20px;color:var(--muted);margin-top:24px}.demo h2{font-size:34px;margin-bottom:12px}.demo iframe{width:100%;height:520px;border:1px solid var(--line);border-radius:12px;background:var(--bg);display:block}.demo .demo-link{font-size:17px;margin-top:9px;color:var(--muted)}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.performance{display:grid;grid-template-columns:795px 1fr;gap:25px}.performance figure{margin:0}.performance img{width:100%;height:508px;object-fit:contain;display:block;background:white;border-radius:9px}.performance figcaption{font-size:17px;margin-top:9px}.metrics{display:grid;gap:14px;align-content:start}.metrics .metric{padding:16px 20px;background:var(--surface);border-radius:10px}.metric small{display:block;color:var(--muted);font-size:18px}.metric b{display:block;font-size:34px;color:var(--accent);font-weight:600}.metrics p{font-size:20px;line-height:1.6;color:var(--muted)}.universe{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 15px;margin-top:17px}.universe div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 13px;font-size:20px}.universe code{display:block;color:var(--teal);font-size:17px}.window{display:grid;grid-template-columns:3fr 1fr 1fr;gap:8px;margin:28px 0}.window div{padding:24px 16px;background:#213b35;text-align:center;border-radius:9px;font-size:24px}.window div:nth-child(2){background:#3a3120}.window div:nth-child(3){background:#39262c}.window small{display:block;font-size:19px;color:var(--muted);margin-top:12px}.timeline{display:grid;grid-template-columns:1fr 110px 1fr;gap:14px;align-items:center;margin:25px 0}.timeline .lock{text-align:center;font-size:24px;color:var(--accent)}.timeline .card{min-height:235px}.reveal pre{font:22px/1.65 "SF Mono",ui-monospace,monospace;white-space:pre-wrap;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.reveal code{font-family:"SF Mono",ui-monospace,monospace}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.map-grid .card{padding:18px 24px}.map-grid h3{margin:0 0 8px}.map-grid p{font-size:23px}.step-number{font-size:17px;color:var(--accent);margin-bottom:8px}.reveal .slide-number{font:17px "SF Mono",monospace;background:var(--surface);color:var(--muted);padding:10px 14px;bottom:18px;right:22px}.reveal .controls,.reveal .progress{color:var(--accent)}
/* 保留用户确定的封面和作业。 */
.lesson-content.lesson-three-cover{display:flex;flex-direction:column;justify-content:center;padding:66px 76px}.lesson-three-cover .eyebrow{font-size:18px;letter-spacing:3px;margin:0 0 34px}.lesson-three-cover h1{font-size:76px;line-height:1.24;letter-spacing:-1px;margin:0;color:var(--text);font-weight:650}.lesson-three-cover h1 span{color:var(--accent)}.lesson-three-cover .series-title{font-size:23px;color:var(--muted);margin:40px 0 0;padding-top:24px;border-top:1px solid var(--line);max-width:890px}.lesson-content.homework-two-titles{display:flex;flex-direction:column;justify-content:center;padding:64px 76px}.homework-two-titles .eyebrow{margin:0 0 44px}.homework-two-titles ol{margin:0;padding-left:1.25em;font-size:35px;line-height:1.6;font-weight:600}.homework-two-titles li{color:var(--text);padding-left:12px;margin:0}.homework-two-titles li+li{margin-top:40px}.homework-two-titles li::marker{color:var(--accent)}

.universe{gap:8px 15px}.universe div{padding:7px 12px;font-size:19px;line-height:1.35}.universe code{font-size:16px;line-height:1.35}

/* 学员复习页：答案默认折叠，点击后显示。 */
.has-answer .case{font-size:28px;line-height:1.5;padding:20px 24px;margin:20px 0}
.has-answer .task{font-size:26px;line-height:1.5;padding:10px 20px}
.has-answer .response{font-size:18px;margin-top:14px}
.answer{margin-top:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:22px;line-height:1.5}
.answer summary{cursor:pointer;padding:10px 18px;color:var(--teal);font-weight:600}
.answer summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.answer .answer-hide{display:none}.answer[open] .answer-show{display:none}.answer[open] .answer-hide{display:inline}
.answer-body{padding:0 20px 16px;color:var(--muted)}.answer-body strong{color:var(--text)}
