:root{--ink:#193238;--muted:#687a7c;--paper:#f7f8f5;--line:#dfe6df;--forest:#2e705e;--mint:#e7f2eb;--gold:#e9ae70;--orange:#b4542c;--white:#fff;--radius:18px;--shadow:0 9px 32px #19323807;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bf713b;outline-offset:4px}input,select,textarea{min-width:0}input,select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}textarea{width:100%;border:1px solid var(--line);border-radius:12px;resize:vertical;padding:14px;background:#fafcf9;line-height:1.8}button{border:0;background:none;color:inherit}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(28px,3.1vw,42px);line-height:1.35;letter-spacing:-1.2px;font-weight:750;margin-bottom:14px}h2{font-size:23px;letter-spacing:-.5px;line-height:1.4;margin-bottom:12px}h3{font-size:18px;line-height:1.5;margin-bottom:8px}p{margin-bottom:12px}small{font-size:12px}ul,ol{padding-left:23px}li+li{margin-top:7px}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:260px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:50}.skip:focus{top:10px}.sidebar{width:230px;height:100dvh;position:fixed;background:#152b31;color:#dce8e4;padding:32px 22px 22px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;color:#f8faf4;font-size:22px;font-weight:700;letter-spacing:2px;margin-bottom:41px}.brand small{display:block;font-size:9px;color:#b8c9c4;letter-spacing:1.7px;margin-top:2px}.brand-mark{width:42px;height:44px;display:grid;place-items:center;background:#efbc83;color:var(--ink);border-radius:12px;font-family:serif;font-size:25px}.nav-label{font-size:10px;letter-spacing:2px;color:#92aaa6;margin:0 12px 12px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;padding:11px 14px;border-radius:10px;font-size:14px;gap:13px}.sidebar nav a:hover{background:#ffffff0a}.sidebar nav a.active{background:#2e514e;color:white}.sidebar nav a.active:before{content:'';height:17px;width:3px;background:#efbc83;border-radius:2px;margin-left:-14px;margin-right:-2px}.sidebar nav a>span{font-size:20px;width:18px;line-height:1}.sidebar nav b{margin-left:auto;font-size:10px;background:#efbc83;color:var(--ink);padding:0 5px;border-radius:4px}.sidebar nav b:empty{display:none}.sidebar-bottom{margin-top:auto;padding:35px 8px 0;font-size:12px;color:#bfd1c9}.sidebar-bottom p{font-size:11px;color:#91aaa4;margin:7px 0 14px}.pulse{display:inline-block;width:6px;height:6px;border-radius:100%;background:#b9d6b2;margin-right:5px}.text-button{font-size:12px;padding:0;margin-right:12px;text-decoration:underline;text-underline-offset:4px}.shell{margin-left:230px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:81px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 38px;background:#fbfcf9}.topbar-context{font-size:13px;color:var(--muted);white-space:nowrap}.topbar form{display:flex;align-items:center;gap:10px;max-width:520px;flex:1;margin-left:auto}.topbar form>span{font-size:26px}.topbar input{border:0;background:transparent;padding:8px 0;width:100%;font-size:13px}.topbar form>button{font-size:12px;border:1px solid var(--line);border-radius:7px;padding:3px 10px;white-space:nowrap}.local-tag{font-size:11px;color:var(--muted);white-space:nowrap}.icon-button{font-size:21px;padding:2px 7px;display:none}main{width:100%;max-width:1600px;margin:0 auto;padding:32px 38px 48px;flex:1}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--forest);margin-bottom:12px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:25px}.page-heading p{font-size:14px;color:var(--muted);max-width:720px;margin-bottom:0}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:18px;margin-bottom:24px}.hero-copy{padding:32px;background:#eaf1e8;border:1px solid #dce7d8;border-radius:var(--radius);position:relative;overflow:hidden}.hero-copy:after{content:'';width:180px;height:180px;border:1px solid #c5d7c2;border-radius:100%;position:absolute;right:-110px;top:-90px;pointer-events:none}.hero h1{font-size:clamp(28px,2.9vw,42px)}.hero p{font-size:14px;max-width:440px;color:#526b5c;line-height:1.9}.hero-foot{margin-top:28px;font-size:11px;color:#5b7667;display:flex;align-items:center;gap:7px}.hero-art{background:#17343a;border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;justify-content:space-between;min-height:315px;overflow:hidden}.hero-art .eyebrow{color:#c2d7d0;margin-bottom:3px}.hero-art svg{width:100%;max-height:240px}.art-caption{font-size:11px;color:#b8cec5;display:flex;justify-content:space-between;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border-radius:9px;border:1px solid var(--line);font-size:13px;font-weight:600;background:white;line-height:1.6;white-space:nowrap}.button.primary{background:var(--forest);border-color:var(--forest);color:white}.button.dark{background:var(--ink);border-color:var(--ink);color:white}.button.subtle{background:transparent}.button.danger{color:#a73c34;border-color:#e8bfb8}.button:hover{filter:brightness(.97);transform:translateY(-1px)}.button.small{padding:6px 11px;font-size:12px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.metric{padding:20px 23px;background:white;border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.metric strong{font-size:29px;font-weight:650;letter-spacing:-1px;line-height:1.1}.metric p{color:var(--muted);font-size:12px;margin:6px 0 0}.metric>span{font-size:25px;color:#8ea393}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:25px 0 16px}.section-heading h2{margin:0;font-size:21px}.section-heading a{font-size:12px;color:var(--forest)}.section-heading p{margin:0;color:var(--muted);font-size:12px}.track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.track-card{display:flex;flex-direction:column;position:relative;min-height:205px;padding:22px;border:1px solid var(--line);border-radius:15px;background:white;transition:transform .18s,box-shadow .18s}.track-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#a8c2ad}.track-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.track-icon{display:grid;place-items:center;width:36px;height:36px;background:color-mix(in srgb,var(--track) 12%, white);color:var(--track);border-radius:10px;font-size:11px;font-weight:800;letter-spacing:.5px}.track-card .arrow{color:#8c9f93}.track-card h3{font-size:17px}.track-card p{font-size:12px;color:var(--muted);line-height:1.8;flex:1}.track-bottom{display:flex;gap:9px;align-items:center;font-size:10px;color:var(--muted);border-top:1px solid #eff2ed;padding-top:12px;margin-top:10px}.track-bottom span:last-child{margin-left:auto;color:var(--forest)}.progress{height:4px;background:#e6ede4;border-radius:6px;overflow:hidden;margin:13px 0 8px}.progress i{display:block;background:#679a77;height:100%;border-radius:6px}.two-col{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:20px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-width:0}.panel.warm{background:#f4eadb;border-color:#e8ddcc}.panel.sage{background:var(--mint);border-color:#d5e5d8}.panel p{font-size:14px;line-height:1.9}.mini-list{list-style:none;margin:12px 0 0;padding:0}.mini-list li{padding:12px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:13px}.mini-list small{color:var(--muted)}.label{font-size:10px;letter-spacing:1px;color:var(--muted)}.chip{display:inline-block;padding:3px 8px;border-radius:6px;background:#eef3ec;font-size:10px;color:#456653;line-height:1.6;margin:2px 4px 2px 0}.chip.expert{background:#f6e9dd;color:#975d29}.chip.intro{background:#edf1f6;color:#587080}.chips{display:flex;gap:3px;flex-wrap:wrap}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0;padding:16px;background:white;border:1px solid var(--line);border-radius:12px}.toolbar input{flex:1;min-width:160px}.toolbar select{font-size:12px;max-width:240px}.toolbar label{font-size:12px;color:var(--muted)}.result-note{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;margin:12px 0}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.lesson-card{padding:20px;border-radius:13px;background:white;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.lesson-card h3{font-size:16px}.lesson-card>p{font-size:12px;line-height:1.8;color:var(--muted);flex:1;margin:10px 0}.lesson-card .label{margin-bottom:6px}.lesson-card .actions{margin-top:13px;padding-top:12px;border-top:1px solid #edf0e9;justify-content:space-between}.bookmark{font-size:19px;line-height:1;color:#9da69a;padding:5px}.bookmark.on{color:#aa642e}.empty{padding:60px 20px;text-align:center;border:1px dashed #b9c9b9;border-radius:16px;background:#ffffff80}.empty h3{margin-bottom:10px}.empty p{font-size:13px;color:var(--muted);margin-bottom:20px}.pagination{display:flex;justify-content:center;gap:12px;align-items:center;margin:25px 0 0;font-size:12px}.crumb{font-size:12px;color:var(--muted);margin-bottom:20px;display:flex;gap:8px;flex-wrap:wrap}.crumb a{color:var(--forest)}.reader-head{max-width:950px;margin-bottom:24px}.reader-head .summary{font-size:17px;color:#526d60;line-height:1.9;margin:18px 0}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}.reader-content{min-width:0}.reader-content>section{margin-bottom:20px;scroll-margin-top:24px}.reader-content h2{font-size:21px}.reader-content p{line-height:1.95;font-size:14px}.reader-side{position:sticky;top:20px}.reader-side nav{display:grid;gap:9px;margin:14px 0 20px;font-size:12px}.reader-side nav a{color:var(--muted)}.reader-side .panel{padding:20px}.reader-side ul{font-size:12px;color:var(--muted)}.version-note{padding:13px 16px;border-left:3px solid #c79960;background:#f6efdf;border-radius:0 9px 9px 0;color:#80643d;font-size:12px;margin:18px 0}.mechanism{padding:22px;background:#edf4ee;border:1px solid #d9e6d9;border-radius:var(--radius)}.diagram-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin:18px 0}.diagram-node{border:1px solid #c3d7c6;padding:17px 15px;border-radius:12px;background:#ffffffd9;position:relative;text-align:left;min-width:0}.diagram-node strong{font-size:14px;display:block}.diagram-node small{display:block;color:#62796b;line-height:1.8;margin-top:7px;font-size:11px;overflow-wrap:anywhere}.diagram-node .step{font-size:9px;color:#839987;letter-spacing:1px;display:block;margin-bottom:5px}.diagram-node.selected{background:#224b41;border-color:#224b41;color:#fff;box-shadow:0 5px 14px #19323818}.diagram-node.selected small,.diagram-node.selected .step{color:#c7ddce}.diagram-nodes.flow .diagram-node:nth-child(odd):after,.diagram-nodes.cycle .diagram-node:nth-child(odd):after{content:'→';position:absolute;right:-17px;top:25px;color:#739c7c;font-size:18px}.diagram-nodes.layers{grid-template-columns:1fr;gap:12px}.diagram-nodes.layers .diagram-node{display:flex;gap:14px;align-items:baseline}.diagram-nodes.layers .diagram-node .step{flex:0 0 40px}.diagram-nodes.layers .diagram-node strong{flex:0 0 150px}.diagram-nodes.layers .diagram-node small{margin:0;flex:1}.diagram-nodes.compare .diagram-node{border-top:3px solid #779a76}.diagram-nodes.cycle{border:1px dashed #a8c5aa;border-radius:15px;padding:20px}.diagram-caption{font-size:12px;color:#506e5b;line-height:1.8;margin:12px 0}.diagram-focus{padding:13px 15px;background:#dcebdd;border-radius:9px;font-size:12px;color:#355c45}.example{border-left:3px solid #89a486;padding-left:19px;margin:18px 0}.example ol{font-size:14px;line-height:1.9}.boundary{background:#f7eee1;border-radius:9px;padding:14px 16px;color:#7d5b35;font-size:13px}.pitfalls{display:grid;gap:12px}.pitfall{padding:16px 18px;border:1px solid #ebddd0;background:#fdf9f2;border-radius:12px;display:flex;gap:12px;font-size:13px;line-height:1.9}.pitfall>span{color:#bb7c42;font-size:18px}.question{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;margin-bottom:12px}.question summary{padding:19px 20px;cursor:pointer;font-size:14px;font-weight:650;list-style:none;display:flex;gap:13px;align-items:baseline}.question summary:after{content:'+';margin-left:auto;font-size:19px;color:var(--forest);flex-shrink:0}.question[open] summary:after{content:'−'}.question summary::-webkit-details-marker{display:none}.question .q-body{padding:0 21px 21px;border-top:1px solid #eef1e9}.question summary .chip{white-space:nowrap;flex-shrink:0}.q-body>p:first-child{margin-top:18px}.rubric{padding:15px 18px;background:#f3f7f0;border-radius:10px;margin:17px 0;font-size:12px}.rubric ul{margin-bottom:0}.followup{font-size:12px;color:#6f6252;background:#f8f0e5;border-radius:8px;padding:12px 15px;margin-bottom:17px}.rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.rating>span{font-size:11px;color:var(--muted);margin-right:4px}.rating button{padding:6px 11px;font-size:11px;border:1px solid var(--line);border-radius:7px;background:white}.rating button.selected{background:#28584b;color:white;border-color:#28584b}.source-list{display:grid;gap:10px}.source-item{padding:17px;border:1px solid var(--line);border-radius:11px;background:white;overflow-wrap:anywhere}.source-item a{color:var(--forest);font-size:13px;font-weight:650}.source-item p{font-size:12px;color:var(--muted);line-height:1.8;margin:8px 0 0}.source-item small{font-size:10px;color:var(--muted)}.path-form{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(140px,.5fr)) auto;gap:13px;align-items:end}.field{display:grid;gap:7px;font-size:12px;color:var(--muted)}.plan-summary{display:flex;gap:20px;flex-wrap:wrap;padding:18px 23px;background:#e7f0e5;border:1px solid #d5e2d3;border-radius:12px;margin:20px 0;font-size:13px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.day-card{background:white;padding:20px;border:1px solid var(--line);border-radius:12px}.day-card .day-head{font-size:11px;color:var(--forest);display:flex;justify-content:space-between;margin-bottom:13px}.day-card ul{padding-left:17px;margin:0;font-size:12px}.day-card li a{text-decoration:underline;text-underline-offset:3px}.day-card li small{color:var(--muted)}.quiz-setup{max-width:880px}.quiz-setup .field{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.quiz-card{max-width:980px;margin:auto}.quiz-status{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:20px}.quiz-card h2{font-size:24px;line-height:1.7;margin:18px 0 22px}.quiz-answer{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.quiz-answer[hidden]{display:none}.quiz-end{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:25px}.switches{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.switches button{border:1px solid var(--line);background:white;font-size:12px;padding:8px 16px;border-radius:8px}.switches button.active{background:var(--ink);border-color:var(--ink);color:white}.lab-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px}.lab-controls .field{margin-bottom:15px}.lab-controls input{width:100%}.lab-stage{min-height:270px;display:flex;flex-direction:column;justify-content:center}.array-cells{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:22px 0}.cell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:43px;min-height:65px;border:1px solid #cfdbcc;border-radius:9px;background:#f0f5ec;position:relative}.cell small{font-size:9px;color:var(--muted)}.cell strong{font-size:21px;font-weight:600}.cell.out{opacity:.25}.cell.mid{background:#285b4d;color:white;border-color:#285b4d}.cell.mid small{color:#d3e3d7}.cell.window{background:#ecd0a6;border-color:#d6b483}.lab-note{padding:17px 20px;background:#edf3e9;border-radius:11px;margin:15px 0;color:#46644e;font-size:13px;min-height:58px}.lab-meta{font-size:12px;color:var(--muted);display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.lab-nav{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:22px}.lab-nav>span{font-size:12px;color:var(--muted)}.lab-error{font-size:12px;color:#a34431}.token-table{border-collapse:collapse;width:100%;font-size:12px}.token-table td,.token-table th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.token-table th{color:var(--muted);font-weight:500}.node-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:25px 0}.consensus-node{width:47px;height:47px;border-radius:100%;background:#cfe0ce;border:2px solid #769c7b;display:grid;place-items:center;font-size:11px}.consensus-node.dead{border-style:dashed;background:#f2e5db;border-color:#ccb9a5;color:#9a8c7e}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{padding:26px;border:1px solid var(--line);background:white;border-radius:16px}.project-card>p{color:var(--muted);font-size:13px;line-height:1.9}.project-card h4{margin-top:20px;margin-bottom:8px;font-size:13px;color:var(--forest)}.project-card ul{font-size:12px;line-height:1.9;margin-top:4px}.notice{padding:15px 18px;background:#f3eddf;color:#7e6540;border:1px solid #e9ddc6;border-radius:11px;font-size:12px;line-height:1.9;margin:18px 0}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;padding:20px 38px;font-size:10px;color:#7b8c82;letter-spacing:.3px}.footer a{text-decoration:underline}.reader-pagination{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:12px}.reader-pagination a{max-width:48%;padding:14px;background:white;border-radius:10px;border:1px solid var(--line)}#toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);background:#1b3b32;color:white;border-radius:11px;padding:12px 20px;box-shadow:0 10px 30px #152b3133;z-index:80;font-size:13px;max-width:min(85vw,700px);display:none}#toast.show{display:block}.noscript{padding:30px;color:#9c3d28}pre{overflow:auto;padding:16px;border-radius:10px;background:#192f34;color:#d8e8dd;font-size:12px;line-height:1.8}code{font-family:"SFMono-Regular",Consolas,monospace;overflow-wrap:anywhere}.inline-link{color:var(--forest);text-decoration:underline;text-underline-offset:4px}.legacy-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9}.quiz-note{font-size:11px;color:var(--muted);margin-top:8px}
@media(min-width:1550px){.track-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.sidebar{width:205px;padding:28px 17px}.shell{margin-left:205px}main{padding:28px 26px}.topbar{padding:0 26px;gap:14px}.local-tag{display:none}.reader-layout{grid-template-columns:minmax(0,1fr) 205px}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{padding:28px}.hero-art{padding:16px}.metrics{gap:10px}.metric{padding:17px}.path-form{grid-template-columns:1fr 1fr}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-side .panel{padding:15px}}@media(max-width:940px){.sidebar{width:185px;padding:26px 12px}.shell{margin-left:185px}.brand{font-size:19px;gap:8px}.brand small{font-size:8px}.brand-mark{width:36px;height:39px}.sidebar nav a{padding:10px 12px;font-size:13px;gap:10px}.sidebar nav a.active:before{margin-left:-12px}.topbar-context{display:none}.hero{grid-template-columns:1fr}.hero-art{min-height:260px}.hero-art svg{max-height:200px}.metrics{grid-template-columns:repeat(2,1fr)}.reader-layout{grid-template-columns:1fr}.reader-side{position:static;order:-1}.reader-side nav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:0}.reader-side .side-extra{display:none}.reader-side .panel{padding:13px 18px}.two-col{grid-template-columns:1fr}.lesson-grid{grid-template-columns:1fr}.lab-layout{grid-template-columns:1fr}.lab-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lab-controls .field{margin:0}.project-grid{grid-template-columns:1fr}.footer{padding:18px 26px;flex-direction:column;gap:5px}.topbar{height:68px}main{padding:25px 23px}.page-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.sidebar{transform:translateX(-100%);width:240px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #10232170}.shell{margin-left:0}.icon-button{display:block}.topbar{padding:0 16px;gap:8px}.topbar form{gap:5px;max-width:none}.topbar input{font-size:12px}.topbar form>span{display:none}main{padding:23px 16px 34px}.hero-copy{padding:25px 23px}.hero h1{font-size:31px}.hero-copy p{font-size:13px}.hero-foot{margin-top:20px}.hero-art{min-height:250px}.metrics{gap:9px}.metric{padding:16px}.metric strong{font-size:26px}.track-grid{grid-template-columns:1fr}.track-card{min-height:190px}.track-bottom{font-size:11px}.toolbar{padding:12px;gap:8px}.toolbar input{width:100%;flex-basis:100%}.toolbar select{max-width:100%;flex:1}.panel{padding:21px}.diagram-nodes{grid-template-columns:1fr;gap:12px}.diagram-nodes.flow .diagram-node:nth-child(odd):after,.diagram-nodes.cycle .diagram-node:nth-child(odd):after{display:none}.diagram-nodes.layers .diagram-node{display:block}.diagram-nodes.layers .diagram-node small{margin-top:7px}.diagram-nodes.cycle{padding:12px}.mechanism{padding:19px 15px}.diagram-node{padding:16px}.reader-head .summary{font-size:15px}.reader-head h1{font-size:29px}.path-form,.form-grid,.plan-grid{grid-template-columns:1fr}.lab-controls{grid-template-columns:1fr}.quiz-card h2{font-size:20px}.quiz-end{align-items:stretch;flex-wrap:wrap}.page-heading{gap:10px}.question summary{padding:16px;font-size:13px;gap:6px;flex-wrap:wrap}.question .q-body{padding:0 16px 17px}.question summary:after{margin-left:auto}.question summary .chip{font-size:9px}.source-item{padding:15px}.token-table td,.token-table th{padding:8px 5px}.footer{padding:16px}.cell{min-width:36px;min-height:57px}.array-cells{gap:6px}.project-card{padding:22px}#toast{left:50%;bottom:15px;max-width:90vw;width:max-content}.skip{left:15px}.reader-pagination a{font-size:11px;padding:12px}.topbar input::placeholder{font-size:11px}.art-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,.reader-side,.footer,.actions,.rating,.bookmark,#toast,.reader-pagination{display:none!important}.shell{margin:0}main{max-width:none;padding:0}.hero-art{display:none}.reader-layout,.hero,.track-grid,.lesson-grid,.project-grid{display:block}.panel,.mechanism,.track-card,.lesson-card,.project-card{break-inside:avoid;box-shadow:none;margin-bottom:15px;border:1px solid #bbb}.question{break-inside:avoid}.question .q-body{display:block!important}.question summary{display:block}.diagram-nodes{grid-template-columns:repeat(2,1fr)}body{background:white}.version-note,.boundary{color:#333}a{text-decoration:none}h1{font-size:28px}h2{font-size:20px}}

.hero-copy .actions .button{white-space:normal;max-width:100%;text-align:left}.diagram-nodes.flow{grid-template-columns:1fr;gap:16px}.diagram-nodes.flow .diagram-node{display:grid;grid-template-columns:54px minmax(110px,.8fr) minmax(0,1.8fr);align-items:center;gap:14px;padding:15px 18px}.diagram-nodes.flow .diagram-node .step,.diagram-nodes.flow .diagram-node small{margin:0}.diagram-nodes.flow .diagram-node:nth-child(odd):after{content:none}.diagram-nodes.flow .diagram-node:not(:last-child):after{content:"↓";position:absolute;top:auto;right:calc(50% - 8px);bottom:-19px;font-size:18px;line-height:20px;color:#739c7c}.diagram-nodes.layers .diagram-node:nth-child(even){background:#e0ece0}.diagram-nodes.layers .diagram-node.selected{background:#224b41}@media(max-width:680px){.diagram-nodes.flow .diagram-node{grid-template-columns:1fr;gap:5px}.diagram-nodes.flow .diagram-node:not(:last-child):after{display:block}.diagram-nodes.flow .diagram-node .step{font-size:9px}}
/* v2: explicit relationship diagrams and a target-first business studio. */
html{scroll-padding-top:20px}body{overflow-x:clip}.shell,main,.topbar,main>*,section,article,figure{min-width:0}.topbar{gap:18px}.mobile-brand,.mobile-dock,.nav-backdrop{display:none}.vector-figure,.sequence-figure{margin:0;container-type:inline-size}.vector-canvas{max-width:100%;border-radius:14px;overflow:hidden;background:#f1f6f0}.vector-canvas svg{display:block;width:100%;height:auto}.diagram-mobile{display:none}.vector-figure figcaption,.sequence-figure figcaption{color:#607969;font-size:12px;line-height:1.9;margin:16px 0}.edge-legend{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px;margin:18px 0}.edge-legend li{display:flex;gap:9px;font-size:11px;line-height:1.6;min-width:0;margin:0}.edge-legend li>span:last-child{min-width:0;overflow-wrap:anywhere}.edge-legend b{font-weight:600}.edge-legend small{display:block;margin-top:3px;font-size:11px;color:#64796b}.edge-number{background:#e6f0e6;min-width:22px;height:22px;border:1px solid #599172;display:grid;place-items:center;color:#2f7864;border-radius:50%;font-size:10px;flex-shrink:0}.edge-number.data{color:#427ca0;border-color:#427ca0;background:#ebf2f6}.edge-number.error{color:#b14e47;border-color:#b14e47;background:#fcf0ed}.edge-number.retry{color:#ab7639;border-color:#ab7639;background:#faf2e7}.graph-inspector{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid #d9e4d8;padding-top:15px}.graph-inspector .button{font-size:11px;background:#ffffff8c;text-align:left;white-space:normal}.graph-detail{background:#e0ecdf;color:#3b5e46;padding:15px 18px;border-radius:10px;font-size:13px!important;line-height:1.85!important;margin-top:13px}.vector-mechanism{padding:25px}.sequence-mobile{display:none;list-style:none;padding:0;margin:0}.sequence-mobile li{position:relative;margin:0 0 0 12px;padding:0 0 24px 24px;border-left:2px solid #bcd0bd;font-size:13px}.sequence-count{position:absolute;left:-13px;top:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:10px;color:white;background:#386e59}.sequence-mobile .error .sequence-count{background:#b14e47}.sequence-parties{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:11px;color:#56725f}.sequence-parties b{padding:4px 7px;border-radius:5px;border:1px solid #ccdccb;background:#f0f6ec;font-weight:500}.sequence-parties span{color:#4e8468}.sequence-mobile li>strong{font-size:14px}.sequence-mobile li>p{font-size:12px;color:#657a6b;margin:7px 0 0;line-height:1.9}.sequence-notes{border-top:1px solid var(--line);margin:15px 0;padding-top:13px;font-size:13px}.sequence-notes summary{cursor:pointer;color:var(--forest)}.sequence-notes li{line-height:1.9}.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.business-card{display:block;border:1px solid #d8e3d7;background:linear-gradient(145deg,#fff,#f3f7ef);border-radius:17px;padding:25px;box-shadow:0 8px 24px #224b4405;transition:transform .2s,border-color .2s}.business-card:hover{transform:translateY(-3px);border-color:#8aae92}.business-card .track-top{margin-bottom:15px}.business-card h3{font-size:19px;letter-spacing:-.3px}.business-card>p{font-size:13px;line-height:1.9;color:#60766a;margin:12px 0 17px}.case-invariant{border-left:2px solid #bd8c4d;background:#f6efdf;padding:10px 12px;border-radius:0 7px 7px 0;font-size:12px;color:#81613a}.case-context{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;background:#e9f0e4;border:1px solid #d7e3d0;border-radius:18px;padding:28px}.case-context p,.case-context li{font-size:14px;line-height:1.9}.case-context ul{margin-bottom:0}.architecture-panel{padding:26px;background:#fbfdf8}.diagram-tabs{margin:24px 0 13px}.case-study-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:23px;margin-top:25px;align-items:start}.case-stages{position:sticky;top:20px;display:grid;gap:8px}.case-stages>a{display:flex;gap:13px;padding:15px 12px;border:1px solid transparent;border-radius:11px;font-size:13px}.case-stages>a>span{font-size:12px;color:#789781;padding-top:2px}.case-stages strong{font-size:13px;display:block}.case-stages small{display:block;color:#7d8d80;font-size:10px;margin-top:3px}.case-stages>a.active{background:#e2eddf;border-color:#cbdcc7}.case-stages>a.active>span{color:#33644e}.case-stage-content>section{margin-bottom:18px}.case-stage-content p,.case-stage-content li{line-height:1.95;font-size:14px}.case-boundaries{padding:17px 10px;border-top:1px solid var(--line);font-size:12px;line-height:1.9;color:var(--muted)}.case-boundaries summary{cursor:pointer}.case-challenge{border-top:4px solid #3a775d}.case-challenge h2{font-size:25px}.case-challenge>p{font-size:16px}.decision-answer{margin-top:20px;border:1px solid #d7e2d2;border-radius:11px;padding:17px;background:#fafcf7}.decision-answer summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--forest)}.decision-answer h3{margin-top:17px;font-size:17px}.failure-drill{background:#f8eee3;border:1px solid #ebd6c0;border-radius:15px;padding:25px}.failure-drill .eyebrow{color:#a05e32}.failure-drill .muted{font-size:12px}.evidence-checks{display:grid;gap:10px;margin-top:17px}.evidence-checks label{display:flex;gap:10px;align-items:flex-start;border:1px solid #cbdcc8;background:#f9fcf5;padding:13px;border-radius:10px;font-size:13px;line-height:1.8;cursor:pointer}.evidence-checks input{margin-top:5px;accent-color:#357358;flex-shrink:0;width:17px;height:17px}.case-reading{padding:20px 0;font-size:13px}.case-reading summary{cursor:pointer;color:var(--forest);margin-bottom:12px}.target-plan-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px}.target-plan-form .field>select{width:100%;height:46px}.plan-submit{justify-content:end}.plan-submit .button{height:46px}.diagnostic-fields{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:12px}.diagnostic-fields summary{cursor:pointer}.diagnostic-fields .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:17px}.mastery-option{display:flex;align-items:flex-start;gap:8px;margin-top:17px;font-size:12px}.mastery-option input{accent-color:#357358;margin-top:4px;min-width:15px}.route-business{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:26px;background:#173b35;border-radius:17px;color:#f5f9ef;margin-top:24px}.route-business .eyebrow{color:#c8d6b9}.route-business h2{font-size:23px}.route-business p{color:#bfd1bf;font-size:13px;margin:0;line-height:1.8}.route-business .button{background:#e9ecd9;color:#274538;border-color:#e9ecd9;white-space:normal;flex-shrink:0}.route-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dae4d5;border-radius:13px;background:white;margin:20px 0;overflow:hidden}.route-metrics>div{padding:18px 20px;border-right:1px solid #e2e9dd}.route-metrics>div:last-child{border:0}.route-metrics strong{display:block;font-size:26px;font-weight:650;line-height:1.3}.route-metrics span{display:block;color:#6a7f6e;font-size:11px;margin-top:6px}.route-explanation{background:#f3efdf;border:1px solid #e5dbc3;padding:16px 20px;border-radius:12px;margin-bottom:23px;font-size:12px;color:#7c6746}.route-explanation summary{cursor:pointer;font-weight:600}.route-explanation p{margin:15px 0 0;line-height:1.9}.route-explanation .button{margin-top:15px}.target-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.target-plan-grid .day-card{padding:23px}.mission-list{list-style:none;margin:0;padding:0}.mission-list li{padding:14px 0;border-top:1px solid #e3eadd;margin-top:0}.mission-list li:first-child{padding-top:0;border-top:0}.task-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:7px;font-size:10px;color:#739077}.task-meta>span{border-radius:5px;background:#e8f1e2;padding:3px 7px;color:#46734d}.mission-list a{font-size:14px;font-weight:600;line-height:1.8;text-decoration:underline;text-decoration-color:#b7ccb5;text-underline-offset:4px}.mission-list p{font-size:11px;color:#708271;line-height:1.9;margin:8px 0 0}.task-checkpoint .task-meta>span{background:#f6e5d1;color:#986230}.task-mission .task-meta>span{background:#e1edf0;color:#4e7787}.task-review .task-meta>span{background:#eeece6;color:#7a7664}.vector-figure .text-button{font-size:12px;margin-top:3px}.business-card .track-bottom{flex-wrap:wrap}.business-card .label{letter-spacing:.5px;text-align:right}.architecture-panel .vector-figure .edge-legend{grid-template-columns:repeat(3,minmax(0,1fr))}.case-stage-content .chip{white-space:normal}
@container(max-width:720px){.diagram-desktop{display:none}.diagram-mobile{display:block}.diagram-mobile svg{max-width:520px;margin:auto}.sequence-mobile{display:block}.sequence-notes{display:none}.edge-legend{grid-template-columns:1fr}.architecture-panel .edge-legend{grid-template-columns:1fr}}
@media(max-width:1100px){.case-study-layout{grid-template-columns:200px minmax(0,1fr)}.target-plan-form{grid-template-columns:repeat(2,minmax(0,1fr))}.route-business{align-items:flex-start;flex-direction:column;gap:17px}.architecture-panel .vector-figure .edge-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.business-card{padding:22px}.case-context{grid-template-columns:1fr;gap:20px}}
@media(max-width:850px){.business-grid{grid-template-columns:1fr}.case-study-layout{grid-template-columns:1fr}.case-stages{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.case-stages>a{border-color:var(--line);background:#fff}.case-boundaries{grid-column:1/-1}.case-stages small{font-size:11px}.target-plan-grid{grid-template-columns:1fr}.diagnostic-fields .form-grid{grid-template-columns:1fr}.route-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.route-metrics>div:nth-child(2){border-right:0}.route-metrics>div:nth-child(-n+2){border-bottom:1px solid #e2e9dd}.case-context{padding:23px}.architecture-panel{padding:20px}.reader-layout .vector-mechanism{padding:20px}.graph-inspector .button{font-size:12px}}
@media(max-width:680px){:root{--radius:15px}.shell{padding-bottom:76px}main{padding:24px 15px 32px}.topbar{height:auto;min-height:65px;padding:8px 12px;gap:7px;position:sticky;top:0;z-index:15;background:#fbfcf9ed;backdrop-filter:blur(12px)}.mobile-brand{display:block;font-weight:700;font-size:15px;white-space:nowrap;color:#2b5142;letter-spacing:-.5px}.topbar form{min-width:0}.topbar input{font-size:16px;width:100%;min-width:0}.topbar input::placeholder{font-size:11px}.topbar form>button{padding:7px 9px;min-height:40px;font-size:12px}.icon-button{min-width:35px;min-height:44px;padding:3px}.sidebar{z-index:40;box-shadow:none!important}.sidebar.open{box-shadow:10px 0 30px #19323833!important}.nav-backdrop.on{display:block;position:fixed;inset:0;background:#17302970;z-index:35;padding:0;width:100%;height:100%;backdrop-filter:blur(2px)}.sidebar nav a{min-height:44px}.mobile-dock{display:flex;position:fixed;z-index:25;left:0;right:0;bottom:0;align-items:center;justify-content:space-around;background:#fbfdf8f5;border-top:1px solid #d6e1d2;backdrop-filter:blur(14px);padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -5px 25px #19323807}.mobile-dock a{min-width:50px;min-height:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;gap:0;color:#7b8f7b;font-size:18px;line-height:1.3}.mobile-dock a span{font-size:10px;margin-top:3px}.mobile-dock a.active{color:#2e6c4f;background:#e3eddd}.button{min-height:44px;white-space:normal;text-align:center;font-size:14px;padding:9px 13px;max-width:100%}.button.small{min-height:40px;font-size:13px}.text-button{min-height:40px;line-height:1.6}.toolbar input,.toolbar select,.target-plan-form select,.field select,.field input,textarea{font-size:16px;min-height:46px}.target-plan-form{grid-template-columns:1fr;padding:20px;gap:17px}.diagnostic-fields{grid-column:auto}.target-plan-form .plan-submit{order:9}.diagnostic-fields{order:8}.diagnostic-fields summary{min-height:32px;font-size:13px}.diagnostic-fields .field{font-size:13px}.mastery-option{font-size:13px;line-height:1.8}.route-business{padding:23px}.route-business h2{font-size:22px;line-height:1.6}.route-business p{font-size:14px}.route-business .button{width:100%}.route-metrics>div{padding:16px}.route-metrics span{font-size:12px;line-height:1.7}.route-metrics strong{font-size:25px}.route-explanation{font-size:13px;line-height:1.9;padding:16px}.target-plan-grid .day-card{padding:22px 19px}.day-head{font-size:12px!important}.task-meta{font-size:11px}.task-meta small{font-size:11px}.mission-list a{font-size:16px;line-height:1.8}.mission-list p{font-size:13px}.mission-list li{padding:18px 0}.case-stages{grid-template-columns:1fr}.case-stages>a{padding:13px 15px}.case-stages strong{font-size:14px}.case-stages small{font-size:11px}.case-stage-content p,.case-stage-content li{font-size:15px}.case-challenge h2{font-size:24px}.case-challenge>p{font-size:16px}.case-context p,.case-context li{font-size:15px}.case-context{padding:23px 20px}.case-context .chip{font-size:12px}.architecture-panel,.vector-mechanism{padding:17px 12px!important}.diagram-desktop{display:none}.diagram-mobile{display:block}.sequence-mobile{display:block;padding:16px 10px 0 3px}.sequence-notes{display:none}.sequence-mobile li>strong{font-size:15px}.sequence-mobile li>p{font-size:13px}.sequence-parties b{font-size:12px}.edge-legend,.architecture-panel .vector-figure .edge-legend{grid-template-columns:1fr;gap:13px}.edge-legend li,.edge-legend small{font-size:12px}.edge-number{width:24px;height:24px}.vector-figure figcaption,.sequence-figure figcaption{font-size:12px}.graph-inspector .button{padding:7px 9px;font-size:12px}.graph-detail{font-size:14px!important;padding:14px}.graph-inspector{gap:6px}.failure-drill{padding:23px 20px}.failure-drill .muted{font-size:13px}.evidence-checks label{font-size:14px;line-height:1.85;min-height:48px}.evidence-checks input{width:20px;height:20px;margin-top:3px}.decision-answer summary{font-size:14px;min-height:35px}.decision-answer{padding:16px}.diagram-tabs{gap:7px}.diagram-tabs a{flex:1;min-width:80px;font-size:13px}.business-card{padding:23px 21px}.business-card h3{font-size:20px}.business-card>p{font-size:14px}.case-invariant{font-size:13px}.business-card .track-bottom{font-size:11px;gap:8px}.business-card .track-bottom span:last-child{margin-left:0}.reader-content p,.panel p{font-size:15px;line-height:1.95}.question summary{font-size:15px;line-height:1.8}.q-body p,.q-body li{font-size:15px;line-height:1.95}.rubric,.followup{font-size:13px}.source-item a{font-size:14px}.source-item p{font-size:13px}.reader-side nav a{padding:7px 4px;font-size:13px}.reader-head .actions .button{font-size:13px}.page-heading p{font-size:15px;line-height:1.85}#toast{bottom:95px}.footer{padding-bottom:22px}.field{font-size:13px}.reader-pagination a{font-size:13px;line-height:1.9}.topbar form>button:focus-visible{outline-offset:1px}}
@media(max-width:360px){.mobile-brand{display:none}.topbar input::placeholder{font-size:12px}.route-metrics>div{padding:14px 12px}.graph-inspector .button{width:100%;justify-content:flex-start}.metric{padding:14px}.case-context{padding:20px 17px}.target-plan-form{padding:19px 17px}}
@media print{.mobile-dock,.nav-backdrop,.case-stages,.graph-inspector,[data-download-diagram],.diagnostic-fields{display:none!important}.shell{padding:0}.diagram-mobile,.sequence-mobile{display:none!important}.diagram-desktop,.sequence-notes{display:block!important}.case-study-layout,.case-context,.business-grid,.target-plan-grid{display:block}.case-stage-content>section,.business-card{break-inside:avoid}.vector-figure,.sequence-figure{break-inside:avoid}.case-stage-content details>div{display:block}.edge-legend{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.reader-content .diagram-desktop,.architecture-panel .diagram-desktop{display:none}.reader-content .diagram-mobile,.architecture-panel .diagram-mobile{display:block}.architecture-panel .sequence-mobile{display:block}.architecture-panel .sequence-notes{display:none}.diagram-mobile svg{max-width:520px;margin-inline:auto}}
@media(max-width:680px){.text-button{min-height:44px}.case-stage-content{scroll-margin-top:84px}.diagram-tabs{scroll-margin-top:82px}}
.vector-node.selected rect{stroke:#b78345;stroke-width:2.8}.graph-inspector .selected{background:#e1ecda;border-color:#9cba91}.graph-detail{scroll-margin-top:85px}.diagram-mobile svg{max-width:440px}
