:root{--ink:#1c3435;--muted:#6d7c7c;--accent:#14745e;--accent-soft:#e4f0e9;--paper:#f8f9f6;--line:#dfe5df;--side:#132a2c;--serif:Georgia,'Songti SC','STSong',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);padding:9px 15px;line-height:1.4}button:hover{border-color:var(--accent);background:#eff5ef}button:disabled{opacity:.55;cursor:default}button.primary,.primary-link{background:var(--accent);color:#fff;border:1px solid var(--accent)}.primary-link{display:inline-flex;padding:11px 18px;border-radius:6px;align-items:center;gap:24px}.primary-link:hover,button.primary:hover{background:#105e4d}input,textarea,select{border:1px solid #cdd8d1;border-radius:5px;background:#fff;color:var(--ink);padding:10px 12px;max-width:100%}textarea{resize:vertical;line-height:1.7}input:focus,textarea:focus,select:focus{outline:2px solid #afd4c2;outline-offset:1px}:focus-visible{outline:3px solid #70b5a1;outline-offset:4px}.skip-link{position:fixed;left:12px;top:-100px;z-index:30;background:var(--side);color:#fff;padding:10px}.skip-link:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--side);color:#bed0cb;padding:30px 20px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;color:#e7f2ec;font-size:16px;font-weight:600;letter-spacing:1px;padding:0 7px 27px}.brand svg{width:40px;height:40px;color:#9fd2c3;flex:none}.brand small{display:block;font-size:11px;font-weight:400;color:#9cafaa;letter-spacing:1.5px;margin-top:3px}.nav-label{font-size:11px;letter-spacing:1.8px;margin:18px 13px 9px;color:#799c90}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{display:flex;gap:13px;align-items:center;padding:11px 13px;border-radius:5px;font-size:13px;transition:background .18s}.sidebar nav a:hover{background:#213b3d}.sidebar nav a.active{background:#284742;color:#eef8f1}.sidebar nav a>span{width:18px;color:#89ad9e;font-size:17px}.sidebar .stage-link{padding-top:13px;padding-bottom:13px}.stage-num{font-family:var(--serif);font-size:19px!important}.stage-link small{display:block;color:#8dab9f;font-size:10px}.side-footer{margin-top:auto;padding:30px 13px 0}.side-progress{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px}.side-progress strong{color:#d4e8dc;font-weight:500}.progress{height:4px;background:#dfe8de;border-radius:5px;overflow:hidden}.progress i{display:block;height:100%;width:var(--pct,0%);background:var(--accent);transition:width .35s}.side-footer .progress{background:#2d4846}.side-footer .progress i{background:#89bca4}.side-footer p{font-size:11px;color:#87a599;line-height:1.8;margin:20px 0}.edition{font-size:9px;letter-spacing:2px;color:#62887b}.workspace{margin-left:246px}.topbar{height:81px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fbfcf9}.topbar #breadcrumbs{font-size:12px;color:var(--muted);white-space:nowrap}#search-form{display:flex;align-items:center;gap:7px;background:#f0f3ed;border-radius:5px;padding:2px 7px;border:1px solid transparent}#search-form span{font-size:24px;color:#6d8179}#search-form input{border:0;background:transparent;width:245px;padding:7px;font-size:12px}#search-form button{font-size:11px;padding:4px 7px;background:transparent;border:0;color:var(--muted)}main{padding:40px 42px 55px;min-height:calc(100vh - 150px);max-width:1510px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:600;margin:0 0 14px}.page-title{font:400 clamp(28px,3vw,42px)/1.35 var(--serif);letter-spacing:-.5px;margin:0 0 10px}.page-subtitle{margin:0;color:var(--muted);font-size:13px;max-width:740px}.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:34px}.title-tag{font-size:10px;letter-spacing:1px;color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:3px;white-space:nowrap}.journey{background:#eaf0e7;border:1px solid #dbe3d5;padding:30px 34px;position:relative;overflow:hidden}.journey-top{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.journey h2{font:400 33px/1.35 var(--serif);margin:8px 0 15px}.journey p{font-size:13px;line-height:1.8;margin:0;color:#66796b}.overall{border-left:1px solid #cedbcb;padding-left:27px;min-width:190px;text-align:right}.overall strong{font:400 62px/1.1 var(--serif);color:#28664f}.overall strong span{font:16px var(--sans);margin-left:5px}.overall small{display:block;color:#71816f;font-size:11px;margin-top:10px}.path{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0 18px;border:1px solid #cddac9}.path a{padding:17px 20px;position:relative;min-width:0;border-right:1px solid #cddac9;overflow:hidden}.path a:last-child{border-right:0}.path a::before{content:'';position:absolute;inset:0;transform:scaleX(var(--fraction,0));transform-origin:left;background:#cedecb;z-index:0}.path a>*{position:relative}.path a.current{background:#dae6d4}.path strong{font:21px var(--serif);margin-right:13px}.path span{font-size:12px}.path small{display:block;font-size:10px;color:#758970;margin:5px 0 0 40px}.journey-foot{display:flex;justify-content:space-between;align-items:center;gap:20px}.journey-foot a{font-size:12px;white-space:nowrap}.overview-stats{display:flex;gap:0;border-bottom:1px solid var(--line);padding:25px 0 28px;margin-bottom:34px}.overview-stats>div{flex:1;border-right:1px solid var(--line);padding:0 25px}.overview-stats>div:first-child{padding-left:0}.overview-stats>div:last-child{border:0}.overview-stats small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.overview-stats strong{font:27px var(--serif)}.overview-stats span{font-size:11px;color:var(--muted);margin-left:7px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 17px}.section-heading h2{font-size:18px;font-weight:500;margin:0}.section-heading a,.section-heading small{font-size:11px;color:var(--muted)}.stage-row{display:grid;grid-template-columns:60px minmax(0,1fr) 160px 22px;gap:20px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}.stage-row:last-child{border-bottom:1px solid var(--line)}.stage-row>strong{font:34px var(--serif);color:#a1b5a4}.stage-row h3{font-size:17px;font-weight:500;margin:0 0 5px}.stage-row p{font-size:12px;color:var(--muted);margin:0}.stage-row .stage-metric{font-size:11px;color:var(--muted)}.stage-metric .progress{margin-top:8px}.arrow{font-size:21px;color:var(--accent)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px}.resume{padding:24px;border-left:3px solid var(--accent);background:#fff}.resume h3{font-weight:500;font-size:16px;margin:8px 0}.resume p{font-size:12px;color:var(--muted)}.resume a{font-size:12px;color:var(--accent)}.principles h3{font-size:15px;font-weight:500}.principles ol{padding-left:20px;font-size:12px;color:var(--muted);line-height:2}.page-footer{padding:19px 42px;border-top:1px solid var(--line);font-size:10px;color:#8b9690;display:flex;justify-content:space-between;gap:15px}.mobile-header{display:none}.muted{color:var(--muted);font-size:12px}.intro-box{padding:20px 24px;border-left:3px solid #7ba992;background:#edf3eb;margin:24px 0;font-size:13px}.intro-box p{margin:4px 0}.course-list{margin:20px 0}.course-row{display:grid;grid-template-columns:24px minmax(0,1fr) 92px 18px;align-items:center;gap:16px;border-top:1px solid var(--line);padding:19px 0}.course-row:last-child{border-bottom:1px solid var(--line)}.course-row h3{margin:0 0 3px;font-size:14px;font-weight:500}.course-row p{font-size:12px;color:var(--muted);margin:0}.course-row small{font-size:10px;color:var(--muted);text-align:right}.status-dot{width:17px;height:17px;border:1px solid #becdc0;display:grid;place-items:center;border-radius:50%;font-size:10px;color:var(--accent)}.status-dot.done{background:var(--accent);color:white;border-color:var(--accent)}.status-dot.read{border-color:var(--accent);background:#e5eee6}.lesson-layout{display:grid;grid-template-columns:minmax(0,800px) 190px;gap:45px;justify-content:center}.lesson-body{min-width:0}.lesson-body .page-title{font-size:30px}.lesson-body .title-row{margin-bottom:25px}.lesson-meta{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:26px}.lesson-meta button{font-size:11px;padding:5px 10px}.lesson-section{scroll-margin-top:22px;margin:36px 0}.lesson-section h2{font-size:19px;font-weight:500;margin:0 0 15px}.lesson-section p{font-size:15px;line-height:2.05;margin:0;color:#344949;overflow-wrap:anywhere}.reading-rail{align-self:start;position:sticky;top:25px;border-left:1px solid var(--line);padding-left:20px;font-size:11px;max-height:85vh;overflow:auto}.reading-rail p{color:var(--muted);font-size:10px;letter-spacing:1px}.reading-rail a{display:block;padding:7px 0;color:var(--muted)}.reading-rail a:hover{color:var(--accent)}.callout{padding:22px 24px;margin:24px 0;background:#eef3eb;border-left:3px solid #8eae85}.callout h2{font-size:14px;font-weight:500;margin:0 0 8px}.callout p{font-size:13px;line-height:1.9;margin:0}.callout.caution{background:#f3f0e6;border-color:#bca575}.task-box{padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:35px 0}.task-box h2{font-size:18px;font-weight:500;margin:0 0 12px}.task-box>p{font-size:13px;line-height:1.9}.checks{display:flex;flex-direction:column;margin:20px 0}.check-item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.check-item input{margin:5px 0 0;accent-color:var(--accent);width:17px;height:17px}.check-item label{font-size:13px;cursor:pointer}.check-item .evidence-text{display:block;font-size:11px;color:var(--muted);margin-top:7px;white-space:pre-wrap;overflow-wrap:anywhere}.check-item button{font-size:10px;padding:5px 9px}.quiz{border-top:1px solid var(--line);padding-top:25px;margin:30px 0}.quiz h2{font-size:18px;font-weight:500}.quiz fieldset{border:0;padding:0;margin:0}.quiz legend{font-size:14px;margin-bottom:15px}.quiz label{display:flex;align-items:flex-start;gap:10px;padding:11px 15px;background:#fff;border:1px solid var(--line);margin-bottom:8px;border-radius:4px;font-size:13px;cursor:pointer}.quiz input{accent-color:var(--accent);margin-top:5px}.quiz-result{padding:15px;background:var(--accent-soft);font-size:13px;margin-top:15px}.quiz-result.wrong{background:#f3eade}.note-box{margin:35px 0}.note-box h2{font-size:18px;font-weight:500}.note-box textarea{width:100%;min-height:135px;background:#fff}.note-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px}.note-foot small{font-size:11px;color:var(--muted)}.note-foot button{font-size:12px}.term-links{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.term-links a{font-size:11px;background:#edf2eb;padding:4px 9px;border-radius:3px;color:var(--accent)}.reference-list{padding:0;list-style:none}.reference-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.reference-list a{color:var(--accent)}.reference-list small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.prev-next{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;margin-top:35px;font-size:12px}.prev-next a{max-width:48%}.roadmap-section{margin:35px 0}.roadmap-head{display:flex;gap:20px;align-items:center}.roadmap-head strong{font:38px var(--serif);color:#9eb6a0}.roadmap-head h2{font-size:22px;font-weight:500;margin:0}.roadmap-head p{font-size:12px;color:var(--muted);margin:4px 0}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:25px 0}.filters button{font-size:11px;padding:6px 12px}.filters button.selected{background:var(--accent);border-color:var(--accent);color:#fff}.filters input{font-size:12px;min-width:220px}.glossary-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px}.term-list{max-height:620px;overflow:auto;border-top:1px solid var(--line)}.term-list button{display:block;text-align:left;width:100%;border-radius:0;border:0;border-bottom:1px solid var(--line);padding:12px;background:transparent;font-size:12px}.term-list button.selected{background:var(--accent-soft);color:var(--accent)}.term-list small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.term-detail{min-width:0}.term-detail h2{font-size:25px;font-weight:500;margin:0 0 13px}.term-detail p{font-size:14px;line-height:1.9}.term-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.term-actions a{font-size:12px;color:var(--accent)}.term-actions button{font-size:11px;padding:6px 10px}.graph{width:100%;background:#edf2ea;margin:25px 0 10px;border:1px solid #dae2d7;border-radius:5px}.graph svg{width:100%;display:block;height:auto}.graph-node{cursor:pointer}.graph-node rect{fill:#fff;stroke:#bed0bc}.graph-node text{fill:#43604c;font:12px var(--sans);pointer-events:none}.graph-node.center rect{fill:var(--accent);stroke:var(--accent)}.graph-node.center text{fill:white}.graph-node:hover rect{stroke:var(--accent);stroke-width:2}.graph line{stroke:#abc2ab;stroke-width:1.2}.graph-caption{font-size:10px!important;color:var(--muted)}.empty{padding:40px 0;color:var(--muted);font-size:13px}.resource-row{padding:20px 0;border-top:1px solid var(--line)}.resource-row a{font-weight:500;color:var(--accent);font-size:14px}.resource-row p{font-size:12px;margin:7px 0;color:var(--muted)}.resource-row small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.tool{border-top:2px solid #bfd1bd;padding-top:19px;min-width:0}.tool h2{font-size:19px;font-weight:500;margin:0 0 5px}.tool>p{font-size:12px;color:var(--muted);min-height:40px}.tool form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.tool label{font-size:11px;color:var(--muted);min-width:0}.tool input{display:block;width:100%;margin-top:5px}.tool button{grid-column:1/-1;font-size:12px}.tool output{display:block;min-height:80px;margin-top:18px;background:#edf2ea;padding:15px;font-size:13px;white-space:pre-line}.tool small{font-size:10px;display:block;margin-top:10px;color:var(--muted)}.backup-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.backup-section{margin:30px 0;border-top:1px solid var(--line);padding-top:20px}.backup-section h2{font-size:18px;font-weight:500}.backup-section p{font-size:13px;color:var(--muted)}.backup-note{padding:18px 0;border-bottom:1px solid var(--line)}.backup-note h3{font-size:14px;font-weight:500}.backup-note p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:var(--muted)}.search-section{margin:30px 0}.search-section h2{font-size:17px;font-weight:500}.warning{margin:20px 42px;background:#f3e8d5;border:1px solid #d8bb88;padding:15px;font-size:12px;white-space:pre-wrap}dialog{border:1px solid var(--line);border-radius:8px;padding:27px;max-width:min(590px,calc(100vw - 28px));width:590px;color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#11232288}dialog label{display:block;font-size:12px;margin-top:15px}dialog input,dialog textarea,dialog select{width:100%;margin-top:7px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-head h2{font-size:20px;font-weight:500;margin:0}.dialog-head button{border:0;font-size:23px;padding:0 8px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}#toast{position:fixed;bottom:25px;left:calc(50% + 123px);transform:translateX(-50%);background:var(--side);color:#edf5ec;border-radius:5px;padding:12px 20px;font-size:12px;z-index:50;max-width:calc(100vw - 30px);box-shadow:0 5px 20px #0002}button,a{touch-action:manipulation}.fade-in{animation:arrive .28s ease-out}@keyframes arrive{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){main{padding-left:65px;padding-right:65px}.topbar{padding-left:65px;padding-right:65px}}
@media(max-width:1200px){.sidebar{width:218px;padding:25px 15px}.workspace{margin-left:218px}main{padding:30px}.topbar{padding:0 30px}.lesson-layout{grid-template-columns:minmax(0,1fr) 160px;gap:25px}.overall{min-width:150px}.journey{padding:26px}.journey h2{font-size:29px}.glossary-layout{grid-template-columns:200px minmax(0,1fr)}#toast{left:calc(50% + 109px)}}
@media(max-width:1020px){.reading-rail{display:none}.lesson-layout{display:block}.title-tag{display:none}.glossary-layout{grid-template-columns:180px minmax(0,1fr)}.stage-row{grid-template-columns:45px minmax(0,1fr) 120px 18px;gap:12px}.journey-top{gap:16px}.journey h2{font-size:26px}.overall{min-width:125px;padding-left:17px}.overall strong{font-size:49px}.path a{padding:15px 12px}.path strong{margin-right:8px}.path small{margin-left:0}.two-col{gap:22px}.topbar #breadcrumbs{display:none}#search-form{width:100%}#search-form input{width:100%;min-width:0}}
@media(max-width:760px){html{scroll-padding-top:78px}.mobile-header{display:flex;position:sticky;top:0;z-index:25;height:62px;background:var(--side);color:#e3efe6;align-items:center;justify-content:space-between;padding:0 20px}.brand-mobile{font-size:13px;letter-spacing:1.2px;font-weight:600}.brand-mobile span{display:block;font-size:9px;font-weight:400;letter-spacing:1px;color:#98b4a6}.mobile-header button{background:transparent;border:1px solid #42615a;color:#d2e5d9;font-size:20px;padding:3px 12px;min-height:40px}.sidebar{top:62px;width:260px;transform:translateX(-100%);transition:transform .2s;padding:18px 17px}.sidebar.open{transform:translateX(0)}.sidebar .brand{display:none}#backdrop:not([hidden]){position:fixed;inset:62px 0 0;background:#11232277;z-index:19}.workspace{margin-left:0}.topbar{height:64px;padding:10px 20px}main{padding:27px 20px 35px}.page-title{font-size:30px}.title-row{margin-bottom:24px}.page-subtitle{font-size:12px}.eyebrow{font-size:9px;margin-bottom:10px}.journey{padding:23px 20px}.journey-top{display:block}.journey h2{font-size:28px}.journey p{font-size:12px}.overall{border:0;border-top:1px solid #d1decb;padding:17px 0 0;margin-top:20px;text-align:left;display:flex;align-items:center;gap:20px}.overall strong{font-size:47px}.overall small{margin:0;font-size:10px}.path{margin-top:20px}.path a{padding:12px 8px}.path strong{display:block;font-size:22px;margin:0 0 4px}.path span{font-size:11px}.path small{font-size:9px}.journey-foot{display:block}.journey-foot p{margin-bottom:15px}.overview-stats{padding:22px 0;margin-bottom:25px}.overview-stats>div{padding:0 12px}.overview-stats small{font-size:10px}.overview-stats strong{font-size:23px}.overview-stats span{display:block;font-size:9px;margin:2px 0}.stage-row{grid-template-columns:32px minmax(0,1fr) 18px;gap:12px;padding:20px 0}.stage-row>strong{font-size:26px}.stage-row h3{font-size:16px}.stage-row p{font-size:11px}.stage-row .stage-metric{grid-column:2;grid-row:2;font-size:10px;max-width:200px}.stage-row .arrow{grid-column:3;grid-row:1}.two-col{display:block;margin-top:25px}.principles{margin-top:25px}.page-footer{display:block;padding:17px 20px;font-size:9px}.page-footer span{display:block;margin-bottom:4px}.section-heading{margin:25px 0 15px}.section-heading h2{font-size:17px}.course-row{grid-template-columns:20px minmax(0,1fr) 16px;gap:12px}.course-row small{grid-column:2;grid-row:2;text-align:left}.course-row .arrow{grid-column:3;grid-row:1}.course-row h3{font-size:13px}.course-row p{font-size:11px}.lesson-body .page-title{font-size:26px}.lesson-meta{flex-wrap:wrap;gap:9px}.lesson-section{scroll-margin-top:80px;margin:29px 0}.lesson-section h2{font-size:18px}.lesson-section p{font-size:15px;line-height:2}.callout{padding:19px}.callout p{font-size:13px}.check-item{grid-template-columns:20px minmax(0,1fr);gap:9px}.check-item button{grid-column:2;justify-self:start}.task-box{padding:21px 0}.quiz label{padding:13px;min-height:46px}.note-foot{align-items:flex-start}.prev-next{font-size:11px}.filters{gap:7px}.filters input{width:100%;min-width:0}.filters button{padding:9px 11px}.glossary-layout{display:block}.term-list{max-height:190px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-bottom:25px}.term-list button{font-size:11px;padding:11px}.term-detail h2{font-size:23px}.graph{margin-top:20px}.graph-caption{font-size:10px!important}.tools-grid{grid-template-columns:1fr;gap:35px}.tool form{gap:12px}.tool>p{min-height:0}.warning{margin:15px 20px}#toast{left:50%;bottom:20px}.intro-box{padding:17px 19px}.roadmap-head h2{font-size:20px}dialog{padding:21px}dialog input,dialog textarea,dialog select{font-size:16px}.dialog-actions button{min-height:44px}}
#search-form button{flex:none;white-space:nowrap}.product-line{border-top:1px solid var(--line)}.product-line:last-child{border-bottom:1px solid var(--line)}.product-line summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:18px;align-items:center;padding:23px 0}.product-line summary::-webkit-details-marker{display:none}.product-number{font:26px var(--serif);color:#9eb19f}.product-line summary strong{display:block;font-size:16px;font-weight:500}.product-line summary small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.product-line summary>span:last-child{color:var(--accent)}.product-line[open] summary>span:last-child{transform:rotate(45deg)}.product-line-body{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0 0 25px 58px}.product-line-body h3{font-size:12px;font-weight:500;margin:15px 0 6px}.product-line-body p,.product-line-body ul{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.product-line-body ul{list-style:none;padding:0}.product-line-body a{color:var(--accent)}.product-course{grid-column:1/-1;font-size:12px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:760px){.product-line summary{grid-template-columns:28px minmax(0,1fr) 20px;gap:13px}.product-line summary strong{font-size:14px}.product-line summary small{font-size:11px}.product-line-body{display:block;padding:0 0 24px 41px}.product-line-body>div{margin-bottom:20px}.product-course{display:block}.product-number{font-size:23px}}
.lesson-figure{margin:22px 0 35px;padding:22px;background:#edf2ea;border:1px solid #dae3d6;border-radius:4px}.lesson-figure figcaption{font-size:12px;font-weight:500;margin-bottom:20px}.lesson-figure>p{font-size:11px;color:var(--muted);line-height:1.8;margin:17px 0 0}.lesson-figure>svg{display:block;max-width:420px;width:100%;margin:auto}.flow-blocks{display:flex;align-items:center;gap:9px}.flow-blocks div{flex:1;padding:14px 5px;text-align:center;font-size:11px;min-width:0;border:1px solid #c6d6bf;background:#fafcf7;border-radius:3px}.flow-blocks span{color:#85a679;font-size:18px}.truth-table{width:100%;border-collapse:collapse;text-align:center;font-size:12px}.truth-table th,.truth-table td{padding:9px;border-bottom:1px solid #d4dfce}.truth-table th{font-weight:500}
@media(max-width:760px){.lesson-figure{padding:18px}.flow-blocks{flex-direction:column;gap:5px}.flow-blocks div{width:100%;padding:10px;font-size:12px}.flow-blocks span{transform:rotate(90deg);line-height:1}.truth-table th,.truth-table td{padding:8px 4px;font-size:11px}}
.lesson-section p+p{margin-top:17px}.learning-goals h2{font-size:15px;font-weight:500;margin:0 0 12px}.learning-goals ul{padding-left:20px;margin:0;font-size:13px;line-height:1.9}.learning-goals li+li{margin-top:7px}.learning-goals>p{font-size:11px;color:var(--muted);margin-top:12px}.lesson-table-wrap{max-width:100%;overflow-x:auto;margin:25px 0 8px;border-top:1px solid var(--line)}.lesson-table{border-collapse:collapse;min-width:590px;width:100%;font-size:12px;line-height:1.85;text-align:left}.lesson-table caption{text-align:left;padding:14px 0;font-size:12px;font-weight:500;color:var(--ink)}.lesson-table caption span{display:block;font-weight:400;font-size:10px;color:var(--muted);margin-top:4px}.lesson-table th{font-weight:500;background:#edf2ea}.lesson-table th,.lesson-table td{padding:13px 14px;vertical-align:top;border-bottom:1px solid var(--line)}.lesson-table td:first-child{color:var(--accent);font-weight:500;width:24%}.lesson-table td{color:#425653}.chapter-review details{border-top:1px solid var(--line);padding:16px 0}.chapter-review details:last-child{border-bottom:1px solid var(--line)}.chapter-review summary{cursor:pointer;font-size:14px;font-weight:500;line-height:1.8}.chapter-review details p{font-size:13px;line-height:1.95;margin:14px 0 0;padding:15px 18px;background:#edf2ea}.chapter-review>p{font-size:12px}
@media(max-width:760px){.lesson-table{font-size:12px;min-width:565px}.lesson-table th,.lesson-table td{padding:11px 12px}.lesson-table-wrap{margin-top:20px}.lesson-section p+p{margin-top:17px}.learning-goals ul{font-size:12px}.chapter-review summary{font-size:13px}.chapter-review details p{font-size:13px;padding:14px}}
.lesson-gallery{margin:30px 0 36px}.lesson-gallery>h2{font-size:18px;font-weight:500;margin:0 0 9px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-top:24px}.lesson-image{margin:26px 0 18px;min-width:0}.lesson-image .image-link{display:block;background:#fff;border:1px solid var(--line);padding:16px;cursor:zoom-in;border-radius:4px}.lesson-image img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;margin:auto}.lesson-image figcaption{padding-top:12px}.lesson-image h3{font-size:14px;font-weight:500;margin:0 0 4px}.lesson-image .image-model{display:block;color:var(--accent);font-size:11px;overflow-wrap:anywhere}.lesson-image .image-kind{display:block;font-size:10px;color:var(--muted);margin:4px 0}.lesson-image figcaption p{font-size:12px;line-height:1.85;margin:8px 0}.lesson-image figcaption small{display:block;color:var(--muted);font-size:10px}.lesson-image figcaption small a{color:var(--accent)}.gallery-item{margin:0}.gallery-item .image-link{height:195px;padding:18px;display:flex;align-items:center;justify-content:center}.gallery-item img{max-height:155px;width:auto;max-width:100%}.gallery-item:nth-child(2) img{max-height:125px}.gallery-item figcaption p{font-size:11px}.lesson-gallery>p{font-size:11px;line-height:1.8}
@media(max-width:760px){.gallery-grid{gap:12px}.gallery-item .image-link{height:125px;padding:10px}.gallery-item img{max-height:95px}.gallery-item:nth-child(2) img{max-height:85px}.gallery-item h3{font-size:13px}.gallery-item .image-model{font-size:10px}.gallery-item figcaption p{font-size:11px;line-height:1.8}.gallery-item .image-kind{font-size:9px}.lesson-image .image-link{padding:10px}.lesson-gallery>h2{font-size:17px}.lesson-image figcaption p{font-size:12px}.gallery-item figcaption p{font-size:11px}}
.action-cue{padding:24px 27px;margin:28px 0 34px;background:#eef2ea;border-left:3px solid #9ab295}.action-cue.ready{background:#e4f0e8;border-color:var(--accent)}.action-cue h2{font-size:19px;font-weight:500;margin:0 0 10px}.action-cue>p:not(.eyebrow){font-size:13px;line-height:1.85;margin:0 0 10px}.action-cue>small{display:block;font-size:11px;color:var(--muted);line-height:1.8}.action-cue .primary-link{margin-top:18px;font-size:12px;padding:9px 14px}.action-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0 35px}.action-tabs a{padding:18px 15px;border-right:1px solid var(--line);min-width:0}.action-tabs a:last-child{border-right:0}.action-tabs a.selected{background:var(--accent-soft)}.action-tabs span{display:block;font:23px var(--serif);color:#8eaa93}.action-tabs strong{display:block;font-size:13px;font-weight:500;margin:7px 0}.action-tabs small{font-size:10px;color:var(--muted)}.action-guide{max-width:860px;margin:auto}.action-guide>h2{font-size:25px;font-weight:500;line-height:1.5}.action-guide>p{font-size:14px;line-height:1.9}.action-guide h3{font-size:19px;font-weight:500;margin:28px 0 15px}.action-guide h4{font-size:15px;font-weight:500;margin:0 0 9px}.action-steps ol{padding:0;list-style:none;counter-reset:steps}.action-steps li{counter-increment:steps;padding:20px 0 20px 43px;border-top:1px solid var(--line);position:relative}.action-steps li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:18px;font:24px var(--serif);color:#9fb39f}.action-steps p{font-size:14px;line-height:1.95;margin:0}.action-questions ul,.action-outputs ul{padding-left:21px;font-size:14px;line-height:1.9}.action-questions li,.action-outputs li{margin:9px 0}.action-template{margin:24px 0}.action-template>div{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:9px}.action-template h4{margin:0}.action-template button{font-size:11px;white-space:nowrap}.action-template textarea{width:100%;font-size:13px;line-height:1.9;background:#fff;color:#3c5650;min-height:120px}.action-guide .intro-box{font-size:12px}.action-guide .term-links{margin-bottom:0}.action-guide .note-box h2{font-size:19px}
@media(max-width:760px){.action-cue{padding:21px 19px}.action-cue h2{font-size:18px}.action-tabs{display:block}.action-tabs a{display:grid;grid-template-columns:30px minmax(0,1fr) 75px;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--line);padding:14px 9px}.action-tabs a:last-child{border-bottom:0}.action-tabs strong{font-size:12px;margin:0}.action-tabs small{text-align:right;font-size:10px}.action-guide>h2{font-size:22px}.action-steps li{padding-left:35px}.action-steps p{font-size:14px}.action-guide h3{font-size:18px}.action-guide h4{font-size:14px}.action-template textarea{font-size:16px}.action-questions ul,.action-outputs ul{font-size:14px}.action-template button{padding:8px 10px;min-height:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before{animation:none!important;transition:none!important}}

/* The route stays readable and interactive without a GPU or network dependency. */
.route-home{display:flex;align-items:center;gap:24px;padding:22px 0;border-block:1px solid var(--line);margin:0 0 28px}.route-home-scale{font:30px var(--serif);color:var(--accent);white-space:nowrap}.route-home-scale i{font:18px var(--sans);font-style:normal}.route-home strong{font-size:16px;font-weight:500}.route-home small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.route-home .arrow{margin-left:auto}.route-overview{background:#132f2c;color:#eaf3e9;padding:30px 30px 19px;position:relative;overflow:hidden}.route-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.route-top .eyebrow{color:#9cbdb0;margin-bottom:10px}.route-top h2{font:30px/1.3 var(--serif);margin:0 0 10px}.route-top p:not(.eyebrow){font-size:12px;color:#bbd0c6;max-width:490px;margin:0}.route-scale{font:46px var(--serif);white-space:nowrap;color:#c5dcc7}.route-scale span{font:24px var(--sans);color:#85bda4;padding:0 10px}.route-map{position:relative;margin-top:30px}.route-map>svg{position:absolute;inset:0;width:100%;height:320px;pointer-events:none}.route-track{fill:none;stroke:#6b9584;stroke-width:1.5;vector-effect:non-scaling-stroke}.practice-track{stroke-dasharray:6 7}.route-nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:160px 160px;position:relative}.route-node{grid-column:var(--route-col);grid-row:var(--route-row);display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 8px 10px;border-radius:4px;min-width:0;transition:background .18s,transform .18s}.route-node:hover{background:#ffffff0c;transform:translateY(-3px)}.route-pin{display:grid;place-items:center;flex:none;position:relative;width:32px;height:32px;border:1px solid #6b9584;border-radius:50%;font-size:11px;background:#132f2c;color:#aac9b9;transition:background .18s,box-shadow .18s}.route-node.selected .route-pin{border-color:#c6e0ba;background:#c6e0ba;color:#132f2c;box-shadow:0 0 0 5px #c6e0ba18}.route-node.done:not(.selected) .route-pin{color:#c6e0ba;border-color:#a2c1a4}.route-range{font:20px var(--serif);margin-top:11px;line-height:1.3;color:#a0bda5}.route-node strong{font-size:13px;font-weight:500;margin-top:4px}.route-node small{font-size:10px;color:#a6c2b3;margin-top:4px}.route-node.selected strong,.route-node.selected .route-range{color:#e6f0dd}.route-node:focus-visible{outline-color:#c6e0ba;outline-offset:-2px}.route-legend{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid #36514a;padding-top:14px;font-size:10px;color:#abc3b6}.route-legend i{display:inline-block;width:15px;border-top:1px solid #91b7a3;vertical-align:middle;margin-right:7px}.route-legend i.dashed{border-top-style:dashed}.route-planner{display:grid;grid-template-columns:auto 1fr;gap:10px 35px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.route-planner label{font-size:12px;white-space:nowrap}.route-planner select{font-size:12px;padding:8px 12px;margin-left:8px}.route-planner output{display:flex;flex-direction:column;gap:4px;min-width:0}.route-planner output strong{font-size:15px;font-weight:500}.route-planner output span{font-size:11px;color:var(--muted)}.route-planner>p{grid-column:1/-1;font-size:11px;line-height:1.9;color:var(--muted);margin:0}.route-recommend{padding:20px 0 28px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;font-size:12px}.route-recommend>span{color:var(--muted);font-size:11px}.route-recommend>a{color:var(--accent)}.route-recommend small{flex-basis:100%;color:var(--muted);font-size:10px}.route-detail{border-top:2px solid #98b396}.route-detail-head{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 0 25px}.route-detail-head .eyebrow{margin:0 0 12px}.route-detail-head h2{font-size:25px;font-weight:500;line-height:1.4;margin:0}.route-detail-head h2>span{font:29px var(--serif);margin-right:20px;color:var(--accent);white-space:nowrap}.route-detail-head p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:620px;margin:12px 0 0}.route-effort{flex:none;text-align:right;color:var(--accent)}.route-effort strong{display:block;font:32px var(--serif)}.route-effort strong small{font:11px var(--sans);color:var(--muted)}.route-effort>span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.route-status{padding:16px 20px;background:#edf2ea;display:flex;gap:20px;align-items:baseline;font-size:12px}.route-status strong{font-weight:500;flex:none}.route-status span{color:#56695f;font-size:11px}.route-detail h3{font-size:18px;font-weight:500;margin:30px 0 17px}.route-skill-labels,.route-skill{display:grid;grid-template-columns:1fr 1.2fr 1.65fr;gap:24px}.route-skill-labels{font-size:10px;color:var(--muted);padding:0 0 12px}.route-skill{border-top:1px solid var(--line);padding:19px 0}.route-skill:last-child{border-bottom:1px solid var(--line)}.route-skill h4{font-size:13px;line-height:1.8;font-weight:500;margin:0;color:var(--accent)}.route-skill p{font-size:12px;line-height:1.95;margin:0}.route-skill p:nth-child(2){color:var(--muted)}.route-mobile-label{display:none}.route-method{display:grid;grid-template-columns:1fr 1fr;gap:45px}.route-method p,.route-method li{font-size:13px;line-height:2}.route-method ol{padding-left:20px}.route-method li+li{margin-top:8px}.route-method blockquote{margin:20px 0;padding:15px 0 15px 18px;border-left:2px solid #9eb99d;font-size:13px;line-height:1.95;color:#456455}.route-method blockquote span{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.text-link,.route-review-links a{color:var(--accent);font-size:12px}.route-boundary{font-size:11px;color:var(--muted);line-height:1.9;margin:24px 0;padding:16px 0;border-block:1px solid var(--line)}.route-courses,.route-references{margin:24px 0}.route-courses>summary,.route-references>summary,.route-all-courses>summary{cursor:pointer;font-size:13px;padding:14px 0}.route-courses .text-link{display:inline-block;margin-top:14px}.route-review-links{display:flex;gap:24px;flex-wrap:wrap}.route-note-hint{font-size:11px;line-height:1.9;margin-top:-20px}.route-all-courses{border-top:1px solid var(--line);margin-top:22px}.route-detail-head h2{scroll-margin-top:24px}.route-detail{animation:arrive .22s ease-out}
@media(max-width:1020px){.route-scale{display:none}.route-overview{padding:25px 20px 18px}.route-skill-labels,.route-skill{gap:18px}.route-method{gap:28px}.route-node strong{font-size:12px}.route-node small{font-size:9px}.route-status{display:block}.route-status span{display:block;margin-top:6px}}
@media(max-width:760px){.route-home{gap:16px}.route-home-scale{font-size:23px}.route-home strong{font-size:14px}.route-home small{font-size:11px}.route-overview{padding:24px 20px 19px}.route-top h2{font-size:25px}.route-top p:not(.eyebrow){font-size:12px;line-height:1.9}.route-map{margin-top:21px}.route-map>svg{display:none}.route-nodes{display:flex;flex-direction:column}.route-node{position:relative;display:grid;grid-template-columns:32px 60px minmax(0,1fr);gap:0 13px;align-items:center;text-align:left;padding:12px 0;min-height:75px}.route-node::before{content:'';position:absolute;left:16px;top:0;bottom:0;border-left:1px solid #6b9584}.route-node:nth-child(n+5)::before{border-left-style:dashed}.route-node:first-child::before{top:50%}.route-node:last-child::before{bottom:50%}.route-pin{grid-column:1;grid-row:1/3;z-index:1}.route-range{grid-column:2;grid-row:1/3;font-size:19px;margin:0}.route-node strong{grid-column:3;grid-row:1;font-size:13px;align-self:end;margin:0}.route-node small{grid-column:3;grid-row:2;font-size:10px;align-self:start;margin-top:3px}.route-node:hover{transform:none}.route-node.selected{background:#ffffff08}.route-legend{gap:10px 20px;font-size:9px}.route-planner{grid-template-columns:1fr;gap:15px;padding:23px 0}.route-planner label,.route-planner select{font-size:13px}.route-planner select{min-height:44px}.route-planner output strong{font-size:16px}.route-planner output span{font-size:11px}.route-recommend{font-size:12px;gap:5px;padding-bottom:24px}.route-recommend>span{flex-basis:100%}.route-recommend>a{padding:6px 0}.route-detail-head{display:block;padding-top:24px}.route-detail-head h2{font-size:21px;scroll-margin-top:8px}.route-detail-head h2>span{font-size:25px;margin-right:12px}.route-detail-head p:not(.eyebrow){font-size:13px}.route-effort{display:flex;align-items:baseline;gap:18px;text-align:left;margin-top:17px}.route-effort strong{font-size:27px}.route-detail h3{font-size:17px;margin-top:26px}.route-skill-labels{display:none}.route-skill{display:block;padding:19px 0}.route-skill h4{font-size:14px;margin-bottom:6px}.route-skill p{font-size:13px}.route-skill p+p{margin-top:9px}.route-mobile-label{display:inline;color:var(--accent)}.route-method{display:block}.route-method p,.route-method li{font-size:14px}.route-method blockquote{font-size:14px}.route-status{padding:15px;font-size:12px}.route-detail .note-box textarea{font-size:16px}.route-courses>summary,.route-references>summary,.route-all-courses>summary{font-size:12px;min-height:44px}.route-home .arrow{flex:none}.route-boundary{font-size:11px}}
.route-back{display:none}
@media(max-width:760px){.route-back{display:inline-block;font-size:12px;min-height:44px;margin:0 0 19px;background:transparent;border-color:#c9d6c9}}
