@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;800&display=swap');
:root{--bg:#f5f6f0;--paper:#fffefa;--ink:#203333;--muted:#78847c;--green:#207264;--pale:#e8efe5;--line:#e0e6dc;--orange:#d77c48;--blue:#557bb1;font-family:'Golos Text',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;scroll-behavior:smooth;}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #93b6a7;outline-offset:4px}a{color:inherit}button{color:inherit}h1,h2,h3,p{margin:0}a{text-decoration:none}button{border:0}svg{display:block}canvas{display:block;width:100%}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px;background:var(--green);color:white;padding:12px;z-index:10}.skip:focus{top:12px}
.sidebar{width:246px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:35px 23px 24px;background:#eef1e8;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:13px;margin-bottom:60px}.brand-mark{font-family:Georgia,serif;font-size:36px;letter-spacing:-4px;color:var(--green);line-height:1}.brand-mark span{color:var(--orange)}.brand>span:last-child{font-family:Manrope,system-ui;font-weight:800;font-size:15px;letter-spacing:1px}.brand small{display:block;font-size:6.8px;font-weight:600;letter-spacing:1.05px;margin-top:6px}.sidebar-caption{font-size:9px;font-weight:600;letter-spacing:1.4px;color:var(--muted);margin-bottom:17px}.labs{display:grid;gap:7px}.labs button{background:transparent;display:flex;align-items:center;gap:12px;text-align:left;padding:15px 11px;border-radius:9px;width:100%;font-size:13px;line-height:1.4}.labs button:hover{background:#e5ebdf}.labs button.active{background:var(--green);color:#fff}.nav-number{font-size:10px;opacity:.65;align-self:flex-start;margin-top:3px;font-variant-numeric:tabular-nums}.labs small{display:block;font-size:9px;opacity:.65;margin-top:5px}.nav-arrow{margin-left:auto;opacity:0}.active .nav-arrow{opacity:1}.side-note{border-top:1px solid #d9e1d3;margin-top:45px;padding:28px 12px}.tiny-orbit{font-size:29px;color:var(--green)}.side-note p{font-family:Georgia,serif;font-size:19px;line-height:1.4;margin:12px 0}.side-note div{font-size:11px;line-height:1.8;color:var(--muted)}.sidebar-bottom{margin-top:auto;font-size:9px;color:#60746a;line-height:1.6}.sidebar-bottom small{display:block;font-size:9px;color:var(--muted);padding-top:6px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px}.sidebar-bottom .live-dot{width:5px;height:5px}
main{margin-left:246px;padding:25px 48px 0;max-width:1680px}.topline{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:21px}.edition{font-size:9px}.hero{padding:37px 0 29px;max-width:850px}.eyebrow{color:var(--green);font-size:9px;font-weight:600;letter-spacing:1.6px}.hero h1{font-family:Manrope,system-ui,sans-serif;font-size:clamp(32px,3.6vw,52px);font-weight:650;line-height:1.14;letter-spacing:-2px;margin:17px 0 15px}.hero h1 em{font-style:normal;color:var(--green)}.hero p{font-size:13px;line-height:1.8;color:#6e7b73;max-width:610px}.lesson-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:23px;font-size:10px}.lesson-links a{padding-bottom:7px;border-bottom:1px solid #c8d3c2}.lesson-links a:hover{color:var(--green);border-color:var(--green)}
section[id]{scroll-margin-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:14px 0 16px}.section-heading h2{font-family:Manrope,system-ui;font-size:18px;font-weight:700;letter-spacing:-.5px}.section-index,.model-tag{font-size:8px;letter-spacing:1.1px;color:var(--muted)}.model-tag{padding:6px 8px;border:1px solid #d9e2d4;border-radius:4px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:16px}.panel{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 21px 0;min-height:40px}.panel-head h3{font-size:12px;font-weight:550}.panel-label{font-size:9px;letter-spacing:1px;color:#63766c}.time-display{font-size:11px;color:#5f7469;font-variant-numeric:tabular-nums;background:#f0f4eb;padding:5px 9px;border-radius:4px}.visual-panel #scene{height:219px;touch-action:pan-y}.scene-caption{padding:0 23px 18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:9px}.swatch{display:inline-block;width:13px;height:2px;vertical-align:middle;margin-right:4px}.green{background:var(--green)}.orange{background:var(--orange)}.blue{background:var(--blue)}.purple{background:#9471a2}.dash{display:inline-block;width:15px;vertical-align:middle;border-top:1px dashed #8c9c90;margin-left:9px;margin-right:4px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 22px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px}.metric-label{color:var(--muted);font-size:9px;margin-bottom:7px;display:block}.metric-value{font-family:Manrope,system-ui;font-size:19px;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.metric-unit{font-size:9px;color:var(--muted);margin-left:4px}.transport{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:18px 22px 12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:500;border:1px solid #d9e1d4;border-radius:6px;padding:10px 13px;background:transparent;min-height:36px}.button:hover{background:#edf2e8}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:#185e51}.button span{font-size:9px}.icon-button{height:36px;width:36px;border:1px solid #d9e1d4;border-radius:6px;background:transparent;font-size:20px}.speed-control{display:flex;gap:6px;align-items:center;font-size:9px;color:var(--muted);margin-left:auto}select{background:transparent;border:1px solid #d9e1d4;border-radius:5px;padding:6px;color:var(--ink);font-size:10px}.timeline{margin:0 22px 17px}.timeline>div{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-top:4px}input[type=range]{width:100%;accent-color:var(--green);cursor:pointer;display:block;height:18px;margin:0}.timeline input{height:13px}.controls .panel-head{padding:20px 20px 0}.unit-tag{font-size:8px;padding:4px 6px;background:#f0f3e9;color:#78816e;border-radius:4px}#parameters{padding:22px 20px 3px;display:grid;gap:19px}.parameter label{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-bottom:8px}.parameter output{font-family:Manrope,system-ui;font-size:11px;font-variant-numeric:tabular-nums;padding:3px 6px;background:#f0f3eb;border-radius:4px;min-width:42px;text-align:center}.range-labels{display:flex;justify-content:space-between;color:#98a08f;font-size:8px;margin-top:3px}.control-foot{font-size:9px;line-height:1.65;color:var(--muted);padding:15px 20px}.stability{border-top:1px solid var(--line);padding:12px 20px;background:#f3f7ee;font-size:9px;line-height:1.6;color:#4c6e57}.stability.warning{background:#fbefdf;color:#966323}.notice{background:#fff1df;border:1px solid #e6ceb0;border-radius:8px;padding:13px 16px;margin-top:12px;font-size:11px;line-height:1.65;color:#825522}
.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.plot-panel canvas{height:207px;margin-top:12px}.plot-panel .panel-head{padding-top:17px}.chart-note{font-size:9px;color:var(--muted);line-height:1.6;margin:0 21px 17px;min-height:28px}.segmented{display:flex;border:1px solid var(--line);padding:2px;border-radius:5px}.segmented button{font-size:9px;padding:4px 7px;border-radius:3px;background:transparent}.segmented button[aria-pressed=true]{background:var(--pale);color:var(--green)}.chart-legend{font-size:8px;white-space:nowrap;color:#7a887b}.energy-panel{grid-column:1/-1}.energy-panel canvas{height:170px}.energy-panel .chart-note{min-height:unset}
.experiments,.theory-section,.stepper-section{margin-top:43px}.challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.challenge{border-top:2px solid #c6d7bf;padding:15px 0}.challenge-num{font-size:9px;color:var(--green);letter-spacing:1px}.challenge h3{font-family:Manrope,system-ui;font-size:13px;line-height:1.5;margin-top:10px}.challenge p{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0 14px}.challenge button{font-size:10px;color:var(--green);background:transparent;padding:4px 0;text-align:left}.challenge button:hover{text-decoration:underline}.theory-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}.theory-card{padding:23px}.theory-card+.theory-card{border-left:1px solid var(--line)}.formula-label{font-size:8px;letter-spacing:1.3px;color:var(--green);margin-bottom:16px}.formula{font-family:'Cambria Math','Times New Roman',serif;font-size:23px;line-height:1.9;color:var(--ink);overflow-wrap:anywhere}.formula sub,.formula sup{font-size:.63em}.fraction{display:inline-flex;vertical-align:middle;flex-direction:column;text-align:center;line-height:1.2;font-size:.85em;margin:0 .14em}.fraction>span:first-child{border-bottom:1px solid currentColor;padding:0 .12em .1em}.fraction>span:last-child{padding:.1em .12em 0}.theory-card p{font-size:11px;line-height:1.75;color:var(--muted);margin-top:13px}.theory-card .live-substitution{font-family:system-ui;font-size:10px;color:var(--green);margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.details-list{margin-top:17px}.details-list details,.code-details{border-bottom:1px solid var(--line);padding:0 0 3px}.details-list summary,.code-details summary{font-family:Manrope,system-ui;font-size:13px;font-weight:600;cursor:pointer;padding:18px 0;line-height:1.55}.details-body{max-width:820px;font-size:12px;line-height:1.9;color:#607168;padding:0 0 20px}.details-body p+p{margin-top:12px}.details-body .formula{margin:12px 0;font-size:22px}.details-body strong{color:var(--ink);font-weight:600}.symbol-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:11px}.symbol-table th,.symbol-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.symbol-table th{font-weight:500;color:var(--ink)}.symbol-table td:first-child{font-family:Georgia,serif;font-size:16px;color:var(--green);width:80px}.section-intro{font-size:12px;color:var(--muted);line-height:1.8;max-width:720px}.step-context{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;margin:21px 0 14px;padding:13px 16px;border:1px solid var(--line);border-radius:6px;font-variant-numeric:tabular-nums;background:#f0f3ea}.operation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.operation{padding:17px 13px;border:1px solid var(--line);border-radius:9px;background:var(--paper);transition:background .2s,border-color .2s}.operation.is-done{background:#edf3e7;border-color:#b8ceb0}.operation.is-active{box-shadow:inset 0 3px var(--green);border-color:var(--green)}.operation .op-num{font-size:8px;letter-spacing:1px;color:var(--muted);display:flex;justify-content:space-between}.operation h3{font-size:10px;font-weight:500;margin:13px 0 9px}.operation .formula{font-size:17px;line-height:1.65}.operation-value{font-family:system-ui;font-size:10px;color:#71816f;line-height:1.6;margin-top:14px;min-height:32px;overflow-wrap:anywhere}.step-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:17px 0}.step-actions>span{font-size:10px;color:var(--muted)}pre{background:#eaf0e5;border-radius:7px;padding:20px;overflow-x:auto;font-size:12px;line-height:1.9;color:#355b45;margin-top:0}.code-details p{font-size:11px;color:var(--muted);line-height:1.8;margin-bottom:20px}.reading{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;border-top:1px solid var(--line);margin-top:50px;padding-top:25px}.reading p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:13px}.reading a{display:block;font-size:11px;line-height:1.7;margin-top:12px;color:var(--green);text-decoration:underline;text-underline-offset:3px}footer{display:flex;align-items:center;gap:17px;margin-top:40px;padding:25px 0;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.footer-brand{font-family:Georgia,serif;font-size:25px;color:var(--green)}footer a{margin-left:auto;white-space:nowrap}
@media(min-width:1650px){main{padding-left:65px;padding-right:65px}.hero h1{font-size:55px}.visual-panel #scene{height:240px}}
@media(max-width:1200px){.sidebar{width:210px;padding-left:16px;padding-right:16px}main{margin-left:210px;padding-left:28px;padding-right:28px}.workspace{grid-template-columns:minmax(0,1fr) 235px}.brand{gap:10px}.brand small{font-size:6px}.metric-value{font-size:16px}.transport{gap:6px}.speed-control{width:100%;justify-content:flex-end}.operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-legend{white-space:normal;line-height:1.7}.theory-card{padding:18px}.formula{font-size:21px}}
@media(max-width:950px){.sidebar{position:relative;width:auto;padding:19px 24px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 17px}.brand small{font-size:7px}.brand-mark{font-size:31px}.sidebar-caption,.side-note,.sidebar-bottom{display:none}.labs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.labs button{padding:12px;font-size:12px;gap:9px}.labs small{font-size:8px}.nav-arrow{display:none}main{margin:0;padding:23px 25px 0;max-width:1050px}.hero h1{font-size:42px}.workspace{grid-template-columns:minmax(0,1fr) 250px}.hero{padding-top:30px}.speed-control{width:auto;margin-left:auto}.topline{font-size:8px}}
@media(max-width:680px){.sidebar{padding:17px 16px}.brand{margin-bottom:15px}.labs button{padding:10px 8px;font-size:10px;gap:6px}.labs small{display:none}.nav-number{font-size:8px;margin-top:2px}.hero h1{font-size:36px;letter-spacing:-1.5px}.hero p{font-size:12px}main{padding:18px 16px 0}.edition{display:none}.eyebrow{font-size:8px;letter-spacing:1px}.lesson-links{gap:17px;font-size:9px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading h2{font-size:17px}.workspace{grid-template-columns:minmax(0,1fr)}.controls #parameters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:18px}.controls .control-foot{padding-bottom:10px}.chart-grid{grid-template-columns:minmax(0,1fr)}.energy-panel{grid-column:auto}.challenge-grid{grid-template-columns:minmax(0,1fr);gap:0}.challenge{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;padding:16px 0}.challenge-num{grid-row:1/4;padding-top:4px}.challenge h3{margin-top:0}.challenge p{margin:6px 0}.challenge button{grid-column:2}.theory-flow{grid-template-columns:minmax(0,1fr)}.theory-card+.theory-card{border-left:0;border-top:1px solid var(--line)}.theory-card .formula{font-size:24px}.theory-card{padding:22px}.formula-label{margin-bottom:8px}.reading{grid-template-columns:minmax(0,1fr);gap:24px}.metrics{gap:5px}.metric-value{font-size:16px}.metric-label{font-size:8px}.panel-head{padding-left:17px;padding-right:17px}.visual-panel #scene{height:205px}.scene-caption{padding-left:17px;padding-right:17px;font-size:8px}.button{padding:10px 11px}.transport{padding-left:17px;padding-right:17px}.speed-control{font-size:8px}.time-display{font-size:10px}.chart-legend{font-size:8px}.panel-head h3{font-size:11px}.operation .formula{font-size:16px}.step-context{gap:12px}.symbol-table th,.symbol-table td{padding:8px 4px}.symbol-table td:first-child{width:55px}footer{gap:12px}footer>span:nth-child(2){max-width:160px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
.notation{margin-bottom:17px}
.labs .lab-link{display:flex;align-items:center;gap:12px;text-align:left;padding:15px 11px;border-radius:9px;width:100%;font-size:13px;line-height:1.4}.labs .lab-link:hover{background:#e5ebdf}.labs .lab-link small{display:block;font-size:9px;opacity:.65;margin-top:5px}
@media(max-width:950px){.labs{grid-template-columns:repeat(4,minmax(0,1fr))}.labs .lab-link{padding:12px;font-size:12px;gap:9px}.labs .lab-link small{font-size:8px}}
@media(max-width:680px){.labs{grid-template-columns:repeat(2,minmax(0,1fr))}.labs .lab-link{padding:10px 8px;font-size:10px;gap:6px}.labs .lab-link small{display:none}}
@media(max-width:380px){.operation-grid{grid-template-columns:minmax(0,1fr)}.speed-control{width:100%;justify-content:flex-end}}
@media(pointer:coarse){button,select{min-height:44px}input[type=range]{height:30px}.timeline input{height:28px}.segmented button{min-width:44px}}
