:root{--ink:#182e2c;--muted:#5b706b;--paper:#fffefb;--ground:#f3f4ee;--line:#dce3da;--green:#184d48;--tint:#eaf1e9;--warm:#a34a2a;--serif:Georgia,'Times New Roman',serif;--sans:Segoe UI,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:155px}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.8}a{color:var(--green);text-underline-offset:4px}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bc683b;outline-offset:4px}.skip{position:absolute;top:-80px;left:15px;z-index:9;background:white;padding:10px}.skip:focus{top:8px}.topbar{position:sticky;top:0;z-index:5;background:rgba(255,254,251,.98);border-bottom:1px solid var(--line);min-height:86px;padding:13px 30px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:1.2px;line-height:1.5;margin-right:auto}.brandmark{font-family:var(--serif);font-size:32px;letter-spacing:-2px;color:white;background:var(--green);border-radius:15px;padding:3px 11px;line-height:1.65}.brandmark span{color:#cee6aa}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.mode-switch{display:flex;gap:5px;padding:4px;background:var(--tint);border-radius:12px}.mode-switch a{padding:7px 20px;text-decoration:none;font-weight:700;border-radius:9px;line-height:1.5}.mode-switch a.active{color:white;background:var(--green)}.mode-switch small{display:block;font-weight:400;font-size:11px}.other-subject{font-size:12px;white-space:nowrap}.tabs{position:sticky;top:86px;z-index:4;display:flex;justify-content:center;gap:25px;min-height:52px;background:var(--paper);border-bottom:1px solid var(--line);padding:0 14px}.tabs a{display:flex;align-items:center;font-size:14px;text-decoration:none;border-bottom:3px solid transparent;padding:10px 0;white-space:nowrap}.tabs a.active{border-color:var(--green);font-weight:700}.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:280px minmax(0,1fr);gap:0}aside{position:sticky;top:138px;height:calc(100vh - 138px);overflow:auto;padding:25px 20px 70px;border-right:1px solid var(--line)}.search-label{display:block;font-weight:600;font-size:12px;margin-bottom:5px}#search{width:100%;font-size:13px;padding:10px 12px;border:1px solid #cbd6cd;border-radius:6px;background:var(--paper);margin-bottom:18px}.toc-chapter{display:block;margin-top:17px;font-size:13px;font-weight:650;text-decoration:none;line-height:1.5;padding:7px 9px}.toc-section{display:block;font-size:12px;color:var(--muted);text-decoration:none;line-height:1.55;padding:8px 10px 8px 19px;border-left:2px solid transparent;margin-left:9px}.toc-section.active{border-color:var(--green);background:var(--tint);color:var(--green);font-weight:600}.toc-caption{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:0 9px}.search-result{display:block;padding:10px 6px;font-size:13px;border-bottom:1px solid var(--line);line-height:1.5}main{min-width:0;padding:40px 5vw 60px;background:var(--paper);min-height:80vh}article{max-width:830px;margin:auto}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);font-weight:650;margin:0 0 12px}h1{font-family:var(--serif);font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.18;letter-spacing:-.6px;margin:0 0 22px}h2{font-family:var(--serif);font-size:28px;line-height:1.35;font-weight:500;margin:38px 0 16px}h3{font-size:20px;line-height:1.45;margin:31px 0 13px}h4{font-size:17px;line-height:1.5;margin:25px 0 10px}p{margin:14px 0 20px}li{padding-left:3px;margin:8px 0}ol,ul{padding-left:26px;margin:17px 0 24px}strong{font-weight:650}.scope-note{font-size:13px;color:var(--muted);padding:12px 0 21px;border-bottom:1px solid var(--line);margin-bottom:30px;line-height:1.65}.cue{border-left:3px solid #829a66;background:#f2f5eb;padding:13px 18px;margin:24px 0;font-size:15px}.note,.given{padding:18px 22px;background:#f6f7f1;border:1px solid var(--line);margin:22px 0;border-radius:4px}.example{border-top:2px solid #b7cabb;padding-top:10px;margin:38px 0 48px}.example>h3:first-child{margin-top:20px}.question{font-weight:650;line-height:1.75;margin:25px 0 21px}.marks{font-size:13px;color:var(--warm);white-space:nowrap}.step{padding:3px 0 7px;margin:14px 0}.step h4,.step h3{margin-top:15px}.answer{padding:15px 20px;border-left:4px solid var(--green);background:var(--tint);margin:22px 0;font-weight:600}.math-display{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:17px 14px;background:#f1f5ef;border-radius:4px;margin:20px 0;text-align:center;font-size:19px;line-height:1.2}.math-display svg{max-width:none;vertical-align:middle;overflow:visible}.math-inline{font-size:1em;white-space:nowrap;display:inline-block;max-width:100%;vertical-align:middle}.math-inline svg{overflow:visible;vertical-align:middle}.table-scroll{overflow-x:auto;margin:23px 0;max-width:100%;border:1px solid var(--line);border-radius:4px}table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6;background:var(--paper)}th,td{padding:12px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}th{background:#eaf0e7;font-weight:650}tr:last-child td{border-bottom:0}td:last-child,th:last-child{border-right:0}tbody tr:nth-child(even){background:#fafbf7}.flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:23px 15px;background:#f4f6f0;border:1px solid var(--line);margin:27px 0}.node{padding:12px 18px;border:1px solid #b7c9ba;background:white;border-radius:5px;min-width:110px;text-align:center;font-size:15px;line-height:1.5}.node small{display:block;color:var(--muted);font-size:12px}.arrow{color:var(--warm);font-size:23px}.diagram{margin:25px 0;overflow:auto;max-width:100%}.diagram svg{max-width:100%;height:auto}figure{margin:25px 0}figcaption{font-size:13px;color:var(--muted);line-height:1.6;margin-top:9px}pre{background:#f4f5ef;overflow-x:auto;padding:20px;font-size:14px;line-height:1.7;border-radius:4px}code{font-size:.9em;overflow-wrap:anywhere}.next-prev{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:55px;padding-top:25px;font-size:14px}.next-prev a{max-width:48%;text-decoration:none}.next-prev small{display:block;color:var(--muted);font-size:11px;letter-spacing:1px;text-transform:uppercase}.next-prev a:last-child{text-align:right}.chapter-links{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0}.chapter-link{padding:18px;border:1px solid var(--line);text-decoration:none;font-size:16px;background:#f8faf4;line-height:1.6}.chapter-link small{display:block;color:var(--muted);font-size:12px}.contents-toggle{display:none}.site-footer{border-top:1px solid var(--line);font-size:12px;text-align:center;color:var(--muted);padding:22px}.empty{color:var(--muted);font-size:14px}.source-list{font-size:14px}.practice-label{font-size:12px;color:var(--warm)}.section-count{font-size:12px;color:var(--muted);margin-top:6px}.on-page{border-left:2px solid var(--line);padding-left:18px;font-size:14px;margin:22px 0}.print-link{font-size:12px;margin-top:18px;background:none;border:0;color:var(--green);text-decoration:underline;cursor:pointer}
.math-display img,.math-inline img{max-width:none;vertical-align:middle}.math-inline{overflow-x:auto;overflow-y:hidden}.lesson img:not([src^="math/"]){max-width:100%;height:auto}.lesson svg{max-width:100%;height:auto}h5{font-size:17px;line-height:1.6;margin:25px 0 12px;font-weight:650}.flow>.node{flex:1 1 110px}.flow>.arrow{flex:0 0 auto}
.tab-short{display:none}.memory{border-left:3px solid #829a66;background:#f2f5eb;padding:13px 18px;margin:24px 0;font-size:15px}.flow-box{padding:12px 18px;border:1px solid #b7c9ba;background:white;border-radius:5px;min-width:100px;text-align:center;font-size:15px;line-height:1.5;flex:1 1 110px}.table-wrap{max-width:100%;overflow:auto}
@media(max-width:680px){.tab-full{display:none}.tab-short{display:inline}.tabs{justify-content:space-between;gap:12px}.next-prev{padding-bottom:30px}.flow{flex-direction:column}.flow>.arrow{transform:rotate(90deg)}.flow>.node,.flow>.flow-box{flex-basis:auto;width:100%}}
@media(min-width:1500px){main{padding-left:75px;padding-right:75px}}
@media(max-width:900px){.topbar{padding:10px 18px;gap:12px}.other-subject{display:none}.layout{grid-template-columns:230px minmax(0,1fr)}aside{padding:20px 12px}main{padding:30px 25px}.tabs{gap:20px}.brand small{font-size:10px}.mode-switch a{padding:7px 13px}}
@media(max-width:680px){body{font-size:16px;line-height:1.8}.topbar{min-height:73px;padding:9px 14px;gap:8px}.brand{font-size:10px;gap:8px;letter-spacing:.7px}.brandmark{font-size:26px;padding:2px 9px;border-radius:11px}.brand small{display:none}.mode-switch a{font-size:13px;padding:7px 10px}.mode-switch small{display:none}.tabs{top:73px;min-height:48px;justify-content:flex-start;gap:23px;overflow-x:auto;padding:0 17px}.tabs a{font-size:12px;flex-shrink:0}.layout{display:block}.layout aside{display:none;position:fixed;z-index:6;top:121px;bottom:0;left:0;right:0;width:100%;height:calc(100dvh - 121px);padding:25px 24px 90px;background:var(--paper)}body.contents-open aside{display:block}.contents-toggle{display:block;position:fixed;bottom:18px;right:17px;padding:10px 17px;border:1px solid white;border-radius:30px;background:var(--green);color:white;font-size:13px;z-index:7;box-shadow:0 3px 10px #0002}main{padding:27px 19px 60px}h1{font-size:32px}h2{font-size:26px}h3{font-size:19px}.math-display{font-size:18px;padding:17px 12px;text-align:left}table{font-size:14px}th,td{padding:10px 12px}.given,.note{padding:15px 17px}.chapter-links{grid-template-columns:1fr}.node{min-width:100px;font-size:14px}.flow{padding:17px 8px;gap:8px}.site-footer{padding-bottom:80px}.next-prev{font-size:13px;gap:15px}html{scroll-padding-top:140px}}
@media(max-width:680px){.tabs{justify-content:space-between;gap:12px}.next-prev{padding-bottom:30px}figure{max-width:100%;overflow:auto}.lesson figure svg{min-width:520px}}
.topic-video{position:static;display:block;height:auto;overflow:visible;border:1px solid var(--line);border-left:3px solid #6b8c79;border-radius:4px;background:#f7f9f3;padding:15px 18px;margin:0 0 30px;font-size:14px;line-height:1.65}.video-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.video-heading>strong{font-size:12px;letter-spacing:.3px}.video-status{display:inline-block;font-size:11px;line-height:1.5;padding:3px 8px;border:1px solid #d0d9cf;border-radius:4px;color:var(--muted);background:#f0f3ed;white-space:nowrap}.video-status-available{color:#245440;background:#e9f3e8;border-color:#c2d7c2}.video-status-processing{color:#775321;background:#fbf2dc;border-color:#e8dab9}.video-status-failed{color:#86452e;background:#f7ebe5;border-color:#e1c8ba}.topic-video .video-title{font-size:16px;font-weight:650;line-height:1.5;margin:10px 0 6px}.video-note,.video-instruction{font-size:13px;color:var(--muted);line-height:1.65;margin:7px 0 12px}.video-instruction{font-size:12px;margin-top:8px}.video-open{display:inline-block;font-size:13px;font-weight:650;padding:7px 12px;border:1px solid #b6cbbd;border-radius:4px;background:white;text-decoration:none}.video-catalog-link,.video-read-link{display:inline-block;font-size:12px;margin-top:5px}.video-related{border-top:1px solid var(--line);margin-top:14px;padding-top:11px}.video-related summary{cursor:pointer;font-size:13px;color:var(--green)}.video-related>div{padding:8px 0}.video-related-title{font-size:14px;font-weight:650;margin:7px 0}.video-related-title span{font-weight:400;color:var(--muted)}.video-group{border-top:1px solid var(--line);margin:35px 0 28px;padding-top:19px}.video-group>h2{margin:5px 0 10px}.video-count{font-size:13px;color:var(--muted);margin:6px 0 18px}.video-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:18px 0}.video-list>li{padding:17px;margin:0;border:1px solid var(--line);border-radius:4px;background:#fafbf7;min-width:0}.video-list h3{font-size:16px;line-height:1.5;margin:12px 0 8px;overflow-wrap:anywhere}.video-list .video-read-link{display:block}.video-group>summary{cursor:pointer;font-size:21px;font-family:var(--serif);line-height:1.6}.video-group>summary span{display:block;font:13px var(--sans);line-height:1.65;color:var(--muted);margin:5px 0 12px}.video-overviews>summary{font-size:20px}summary:focus-visible{outline:3px solid #bc683b;outline-offset:4px}
.video-compact{padding:10px 16px;margin-bottom:25px}.video-compact>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.video-compact>summary::-webkit-details-marker{display:none}.video-compact>summary>strong{font-size:12px;margin-right:auto}.video-caret{font-size:17px;line-height:1;color:var(--muted)}.video-compact[open] .video-caret{transform:rotate(180deg)}.video-compact[open]{padding-bottom:16px}.video-limit p{font-size:14px;line-height:1.7;margin-bottom:0}
@media(max-width:680px){.layout .topic-video{display:block;position:static;inset:auto;width:auto;height:auto;padding:14px 16px;z-index:auto}.layout .video-compact{padding:10px 13px}.video-compact>summary{gap:7px}.video-list{grid-template-columns:1fr}.video-heading{gap:8px}.topic-video .video-title{font-size:15px}.video-group>summary{font-size:20px}}
@media print{.topbar,.tabs,aside,.contents-toggle,.site-footer,.next-prev,.print-link{display:none!important}.layout{display:block}main{padding:0}article{max-width:none}body{background:white;font-size:11pt;line-height:1.6}h1{font-size:24pt}h2{font-size:18pt}.example,.math-display,table,.flow{break-inside:avoid}.math-display{font-size:12pt;overflow:visible}.table-scroll{overflow:visible}a{color:inherit;text-decoration:none}}
