:root{--ink:#202124;--muted:#5d625e;--line:#d5d2c8;--soft:#f5f3eb;--white:#fff;--green:#274a3d;--answer:#eef5f0;--example:#f1f4f7;--warn:#fff7e8;--reading-size:18px;--ui-size:13px;--touch-size:44px;--reading-measure:760px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--white);font-size:var(--reading-size);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.math-course-page>nav{height:56px;padding:0 max(18px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff}
.brand img{display:block;width:112px}
nav>div{display:flex;align-items:center;gap:18px;font-size:var(--ui-size);font-weight:800}
nav>div>a{display:inline-flex;align-items:center;min-height:var(--touch-size);text-decoration:none}
.locale-switch{display:flex;border:1px solid var(--ink)}
.locale-switch a{display:inline-flex;align-items:center;min-height:var(--touch-size);padding:6px 12px;text-decoration:none}
.locale-switch a[aria-current="page"]{background:var(--ink);color:#fff}
.math-course-page{height:100vh;overflow:hidden}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);height:calc(100vh - 56px);overflow:hidden}
.sidebar{height:100%;overflow-y:auto;padding:18px 14px;border-right:1px solid var(--line)}
.sidebar>strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.sidebar ol{margin:10px 0 0;padding:0;list-style:none}
.sidebar li{border-top:1px solid var(--line)}
.sidebar a{display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center;min-height:var(--touch-size);padding:10px 2px;color:var(--muted);font-size:var(--ui-size);line-height:1.42;text-decoration:none}
.sidebar a span{font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}
.sidebar a:hover,.sidebar a:focus-visible{color:var(--ink);text-decoration:underline}
.course-scroll{height:100%;min-width:0;overflow-y:auto;overscroll-behavior:contain}
.course-head{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(210px,.55fr);align-items:end;gap:24px;padding:30px max(30px,calc((100% - 820px)/2)) 24px;border-bottom:1px solid var(--line)}
.course-head>div>span{color:var(--green);font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}
.course-head h1{max-width:760px;margin:12px 0 10px;font:clamp(2.2rem,4.4vw,4.6rem)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.04em}
.course-head p{max-width:730px;margin:0;color:var(--muted);font:var(--reading-size)/1.7 Georgia,"Times New Roman",serif}
#beginCourse{display:inline-flex;align-items:center;min-height:var(--touch-size);margin-top:10px;padding-bottom:2px;font-size:var(--ui-size);font-weight:900;text-underline-offset:4px}
#courseFacts{margin:0;padding-left:20px;border-left:1px solid var(--line)}
#courseFacts div{display:grid;grid-template-columns:76px 1fr;gap:9px;padding:7px 0;border-bottom:1px solid var(--line)}
#courseFacts div:last-child{border:0}
#courseFacts dt{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
#courseFacts dd{margin:0;color:var(--muted);font:var(--ui-size)/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
.lessons{max-width:calc(var(--reading-measure) + 60px);margin:auto;padding:40px 30px 74px}
.chapter{padding:0 0 62px;margin:0 0 64px;border-bottom:2px solid var(--ink);scroll-margin-top:24px}
.chapter:last-child{margin-bottom:0}
.chapter-number{color:var(--green);font:12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.chapter>h2{margin:9px 0 12px;font:clamp(2rem,4vw,3.8rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.04em}
.chapter-objective{margin:0 0 12px;padding-left:16px;border-left:3px solid var(--green);font:var(--reading-size)/1.75 Georgia,"Times New Roman",serif}
.chapter-prerequisite{margin:0 0 34px;color:var(--muted);font:var(--ui-size)/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.knowledge-point{margin:0 0 46px;scroll-margin-top:24px}
.knowledge-point>header{display:grid;grid-template-columns:48px 1fr;gap:13px;margin-bottom:18px}
.knowledge-point>header span{padding-top:5px;color:var(--green);font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}
.knowledge-point h3{margin:0;font:1.75rem/1.1 Georgia,"Times New Roman",serif}
.explanation p{margin:0 0 18px;color:#2a2b2a;font:var(--reading-size)/1.85 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.definition{margin:22px 0;padding:18px 20px;border-left:4px solid var(--green);background:var(--soft)}
.definition strong{display:block;margin-bottom:7px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.definition p{margin:0;font:var(--reading-size)/1.75 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.theorem{margin:24px 0;padding:22px;border:2px solid var(--green);background:#fbfffc}
.theorem>span,.worked-example>span,.checkpoint>span,.chapter-practice>span{color:var(--green);font-size:12px;font-weight:900;letter-spacing:.11em}
.theorem h4,.worked-example h4,.checkpoint h4,.chapter-practice h3{margin:8px 0 12px;font:1.35rem Georgia,"Times New Roman",serif}
.theorem p{font:var(--reading-size)/1.72 Georgia,"Times New Roman",serif}.theorem ol{padding-left:24px}.theorem li{margin:10px 0;font:var(--reading-size)/1.75 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.counterexample{margin:20px 0;padding:18px 20px;border-left:4px solid #a35742;background:#fff3ef}
.counterexample strong{display:block;margin-bottom:7px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.counterexample p{margin:0;font:var(--reading-size)/1.75 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.worked-example{margin:24px 0;padding:22px;border:1px solid #aebbc2;background:var(--example)}
.worked-example>p{font:var(--reading-size)/1.72 Georgia,"Times New Roman",serif}
.worked-example ol{padding-left:24px}.worked-example li{margin:10px 0;font:var(--reading-size)/1.75 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.example-answer{padding:14px;background:#fff;font-weight:700}
.checkpoint{padding:20px;border:1px solid #d4bc8d;background:var(--warn)}
.checkpoint>p{font:var(--reading-size)/1.75 Georgia,"Times New Roman",serif}
details summary{display:flex;align-items:center;min-height:var(--touch-size);cursor:pointer;font-size:var(--ui-size);font-weight:900}
.checkpoint details,.chapter-practice details{margin-top:14px;padding-top:13px;border-top:1px solid currentColor}
.checkpoint details p,.chapter-practice details div{padding:14px;background:#fff;font:var(--reading-size)/1.78 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.chapter-practice{margin-top:38px;padding:24px;border:2px solid var(--green);background:var(--answer)}
.chapter-practice ol{padding-left:22px}.chapter-practice li{margin:10px 0;font:var(--reading-size)/1.75 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}
.chapter-summary{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.chapter-summary h3{font:1.3rem Georgia,serif}.chapter-summary li{margin:8px 0;font:var(--reading-size)/1.72 Georgia,serif}
.chapter-navigation{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.chapter-navigation a{display:flex;align-items:center;min-height:var(--touch-size);padding:14px;border:1px solid var(--line);font-size:var(--ui-size);font-weight:900;text-decoration:none}
.chapter-navigation a:last-child{text-align:right}.chapter-navigation a:hover{background:var(--soft)}
.course-guide{width:min(820px,calc(100% - 60px));margin:0 auto 64px;border:1px solid var(--line);background:var(--soft)}
.course-guide>summary{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;min-height:64px;padding:18px 21px;list-style:none}
.course-guide>summary::-webkit-details-marker{display:none}.course-guide>summary span{color:var(--muted);font:12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.course-guide>summary b{font-size:1.1rem;font-weight:400}.course-guide[open]>summary{border-bottom:1px solid var(--line)}.course-guide[open]>summary b{transform:rotate(45deg)}
#guideBody{padding:24px}#guideBody h2{font:1.8rem Georgia,serif}#guideBody p,#guideBody li{font:var(--reading-size)/1.75 Georgia,serif}#guideBody a{font-weight:800}
.error{padding:50px 30px;color:#7a241c}
@media(max-width:900px){.math-course-page{height:auto;overflow:auto}.layout{display:block;height:auto;overflow:visible}.sidebar{height:auto;max-height:230px;border-right:0;border-bottom:1px solid var(--line)}.course-scroll{height:auto;overflow:visible}.course-head{grid-template-columns:1fr;padding:24px 20px}#courseFacts{padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}.lessons{padding:30px 20px 60px}.course-guide{width:calc(100% - 40px)}}
@media(max-width:560px){.math-course-page>nav{padding-inline:14px}.brand img{width:102px}nav>div>a{display:none}.course-head{padding-inline:16px}.lessons{padding-inline:16px}.knowledge-point>header{grid-template-columns:1fr;gap:6px}.chapter-navigation{grid-template-columns:1fr}.chapter-navigation a:last-child{text-align:left}.course-guide{width:calc(100% - 32px)}.course-guide>summary{grid-template-columns:1fr auto}.course-guide>summary span{grid-column:1/3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
