:root{--bg:#faf8f2;--ink:#292d2b;--muted:#70756d;--gold:#a48343;--line:#e2dfd4;--panel:#202727;--soft:#f0ece1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Nirmala UI",sans-serif;font-size:15px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}a{color:inherit;text-decoration:none}button{cursor:pointer}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:15px;letter-spacing:2px;font-weight:700}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted)}.mark{font-family:Georgia,serif;background:var(--ink);color:var(--bg);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:30px;letter-spacing:-3px;padding-right:3px}nav{display:flex;gap:30px;font-size:13px}nav a:hover{color:var(--gold)}.quiet{background:transparent;border:1px solid var(--line);padding:8px 13px;border-radius:5px}main{max-width:1440px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:8%;padding:72px 0 64px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--gold);margin:0 0 14px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;line-height:1.09;font-size:clamp(40px,4.7vw,69px);font-weight:400;letter-spacing:-2px;margin-bottom:25px}h1 em{color:var(--gold);font-weight:400}h2{font-family:Georgia,serif;font-size:clamp(28px,3vw,41px);line-height:1.2;font-weight:400;letter-spacing:-.8px;margin-bottom:16px}h3{line-height:1.4}.intro{max-width:480px;color:var(--muted);font-size:16px}.button{display:inline-flex;align-items:center;gap:35px;padding:13px 20px;color:var(--bg);background:var(--ink);border-radius:4px;margin-top:14px;font-size:13px}.button span{font-size:20px}.hero-note{font-size:10px;color:var(--muted);margin:20px 0 0;letter-spacing:1px}.hero-art{background:var(--panel);border-radius:8px;padding:25px 28px;color:#cbc6b9;box-shadow:0 20px 45px #2b292b0d;min-width:0}.art-label,.art-bottom{font-size:9px;letter-spacing:1.8px}.hero-art svg{width:100%;display:block}.art-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff18;padding-top:20px}.path{display:flex;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);gap:18px}.path b{font-size:10px;color:var(--gold);padding-right:12px}.section{padding:66px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.pill{border:1px solid #cec6ac;border-radius:30px;padding:5px 12px;font-size:10px;white-space:nowrap}.ready{color:#597356;background:#edf1e6}.workspace{display:grid;grid-template-columns:210px minmax(0,1fr) 185px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.lesson-list{padding:28px 18px;background:var(--soft)}.lesson-list h3{font-size:16px;margin-bottom:28px}.lesson{width:100%;text-align:left;background:transparent;border:0;border-left:2px solid transparent;padding:12px 8px;margin:0 0 8px;font-size:12px;color:var(--muted)}.lesson span{margin-right:5px;color:var(--gold)}.lesson small{display:block;padding-left:22px;font-size:9px}.lesson.active{background:var(--bg);border-left-color:var(--gold);color:var(--ink)}.aside-note{font-size:11px;border-top:1px solid var(--line);margin-top:22px;padding-top:20px;color:var(--muted)}.lesson-list a{font-size:10px;color:var(--gold)}.lesson-main{padding:25px 28px;min-width:0}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:30px}.tabs button{border:0;background:transparent;padding:0 0 10px;font-size:11px;color:var(--muted);border-bottom:2px solid transparent}.tabs .active{color:var(--gold);border-bottom-color:var(--gold)}.lesson-main h3{font-family:Georgia,serif;font-size:26px;font-weight:400}.lesson-main p{font-size:13px}.analogy{border-left:2px solid var(--gold);background:var(--soft);padding:14px 17px;margin:25px 0}.analogy b{font-size:11px;color:var(--gold)}.analogy p{margin:5px 0 0}.subtle{color:var(--muted);font-size:11px!important}.lab-guide{margin:28px 0 14px}.lab-guide b{font-size:12px}.lab-guide p{margin:5px 0;color:var(--muted);font-size:11px}.stage{background:var(--panel);border-radius:6px;padding:16px 16px 6px;overflow:hidden}.stage-top{display:flex;justify-content:space-between;color:#bcbdb2;font-size:8px;letter-spacing:1.5px}.stage svg{width:100%;display:block}#object,#pointer{transition:width .14s,x1 .14s,x2 .14s}.controls{display:flex;gap:18px;align-items:flex-start;margin:20px 0}.controls label{flex:1;min-width:0;font-size:10px;color:var(--muted)}label output{float:right;color:var(--ink)}input[type=range]{display:block;width:100%;accent-color:var(--gold);margin-top:12px}select{display:block;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:7px;color:var(--ink);margin-top:6px;font-size:11px}.readouts{display:flex;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:16px}.readouts>div{flex:1}.readouts small{display:block;font-size:7px;letter-spacing:1px;color:var(--muted)}.readouts strong{font-family:Georgia,serif;font-size:19px;font-weight:400}.at-glance{background:#f6f3eb;border-left:1px solid var(--line);padding:28px 18px}.at-glance h3{font-family:Georgia,serif;font-size:21px;font-weight:400}.at-glance p{font-size:11px;color:var(--muted)}.at-glance small{font-size:8px;letter-spacing:1px;color:var(--gold)}hr{border:0;border-top:1px solid var(--line);margin:20px 0}#practice{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.answers{display:flex;gap:8px;flex-wrap:wrap}.answers button{font-size:11px;border:1px solid var(--line);background:var(--soft);border-radius:5px;padding:10px}.answers button:hover{border-color:var(--gold)}#feedback{margin:15px 0;color:var(--gold);min-height:20px}.dimension-stage{padding:18px;min-height:220px}.equation{font-family:Georgia,serif;font-size:clamp(21px,2vw,30px);padding:42px 0 15px;color:#e7cd94;text-align:center}.equation span{margin-left:12px}.balanced{color:#bad3a7}.unbalanced{color:#edbb98}#dim-result{font-size:11px;text-align:center}.filters{display:flex;align-items:end;gap:12px;margin:30px 0}.grade{background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:10px 15px;font-size:12px}.grade.active{background:var(--ink);color:var(--bg)}.search-label{margin-left:auto;font-size:10px;color:var(--muted)}input[type=search]{display:block;border:1px solid var(--line);padding:10px 12px;background:transparent;border-radius:4px;width:280px;margin-top:4px}.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.chapter{border:1px solid var(--line);border-radius:5px;padding:20px;background:#fffdf8}.chapter summary{cursor:pointer;list-style:none}.chapter summary:after{content:'+';float:right;color:var(--gold);font-size:23px}.chapter[open] summary:after{content:'−'}.chapter h3{font-family:Georgia,serif;font-weight:400;font-size:21px;margin:10px 0}.chapter .eyebrow{font-size:8px}.status{font-size:9px;letter-spacing:.5px;color:var(--muted)}.concept{padding:14px 0;border-top:1px solid var(--line);font-size:11px}.concept p{margin:5px 0;color:var(--muted)}.concept small{font-size:9px;display:block;color:var(--muted);margin-bottom:8px}.concept a{color:var(--gold);display:block}.practicals{margin-top:30px;border:1px solid var(--line);padding:18px}.practicals summary{cursor:pointer;font-size:13px}#practical-list{columns:3;font-size:11px}.sources{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%}.sources p{font-size:13px;color:var(--muted)}#source-links a{display:block;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--gold)}footer{border-top:1px solid var(--line);padding:28px 5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.2px;color:var(--muted)}[hidden]{display:none!important}.tamil{padding:12px 0;color:var(--gold)}
@media(min-width:1450px){.workspace{grid-template-columns:240px minmax(0,1fr) 210px}}@media(max-width:1050px){.workspace{grid-template-columns:170px minmax(0,1fr)}.at-glance{grid-column:1/-1;display:none}.lesson-main{padding:22px}.hero{gap:5%}nav{gap:15px}.chapter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){header{padding:18px 5%;flex-wrap:wrap}nav{order:3;width:100%;justify-content:space-between;font-size:11px}.brand{font-size:12px}.hero{grid-template-columns:1fr;padding:40px 0;gap:30px}.hero-art{max-width:480px}.hero-art svg{max-height:290px}.path{display:grid;grid-template-columns:1fr 1fr;font-size:10px}.section{padding:42px 0}.section-heading{align-items:start}.pill{font-size:8px}.workspace{display:block}.lesson-list{padding:18px}.lesson-list h3,.aside-note,.lesson-list>a{display:none}.lesson-list .eyebrow{margin-bottom:8px}.lesson{display:inline-block;width:49%;margin:0}.lesson-main{padding:20px 16px}.readouts{gap:12px}.readouts strong{font-size:17px}.filters{flex-wrap:wrap}.search-label{width:100%;margin:0}input[type=search]{width:100%}.chapter-grid{grid-template-columns:1fr}.sources{grid-template-columns:1fr;gap:20px}.controls{flex-wrap:wrap}.controls label{min-width:40%}#practical-list{columns:1}footer{gap:18px;flex-wrap:wrap}h1{font-size:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Chapter 1 laboratories */
/* Shared interactive library */
.library-picker{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 14px}.library-picker label{font-size:11px;color:var(--muted)}.library-picker input[type=search]{width:100%;font-size:12px;padding:9px}.library-picker select{font-size:12px;padding:10px}.library-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.library-shortcuts button{font-size:11px}.sim-stage{padding:16px 10px 4px}.sim-stage .stage-top{padding:0 8px;gap:20px}.sim-stage svg{margin-top:12px;min-height:180px}.sim-presets{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.sim-presets button{font-size:11px;padding:7px 10px}.sim-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.sim-controls label{min-width:0!important;font-size:11px;color:var(--ink)}.sim-controls output{float:none;display:block;color:var(--gold);font-variant-numeric:tabular-nums;margin-top:3px}.sim-controls input[type=range]{margin:10px 0;min-height:24px}.sim-transport{display:flex;gap:10px;align-items:center;background:var(--soft);padding:12px;margin:20px 0;border-radius:5px}.sim-transport button{font-size:11px;white-space:nowrap}.sim-transport label{flex:1;min-width:70px;font-size:11px}.sim-transport output{font-variant-numeric:tabular-nums}.sim-transport input{min-height:24px;margin-top:5px}.sim-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sim-readouts strong{font-size:19px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.sim-readouts small{font-size:9px;letter-spacing:.7px}.sim-formula{background:var(--soft);padding:12px 15px;border-left:2px solid var(--gold);font-size:12px!important;overflow-wrap:anywhere}.sim-error:empty{display:none}.sim-assumptions{line-height:1.8}.lesson-list{align-self:start}.lesson-list .lesson{font-size:12px}.lesson-list .lesson small{font-size:10px}#lab-search-status:empty{display:none}.lab-navigation{display:flex;justify-content:space-between;gap:12px;margin:24px 0 0}.lab-navigation button{font-size:11px}.lab-navigation button:disabled{opacity:.4;cursor:default}#practical-list a{color:var(--gold)}
@media(min-width:1100px){.workspace{grid-template-columns:205px minmax(0,1fr) 190px}.lesson-main{padding:25px 22px}}
@media(max-width:700px){.library-picker{grid-template-columns:1fr;gap:12px}.library-shortcuts{gap:6px}.library-shortcuts button{padding:7px 8px;font-size:10px}.sim-stage{margin:0 -6px;padding:12px 2px 4px}.sim-stage .stage-top{font-size:7px;letter-spacing:1px}.sim-stage svg{min-height:155px}.sim-controls{gap:16px}.sim-controls label{font-size:11px}.sim-transport{flex-wrap:wrap}.sim-transport label{flex-basis:100%}.sim-readouts strong{font-size:18px}.sim-presets button{font-size:10px}.sim-readouts small{font-size:8px}.lesson-list .lesson{width:100%;min-height:44px}#lab-list{max-height:250px;overflow:auto}.lesson-list .aside-note{display:none}.sim-assumptions{font-size:12px!important}}
#sig-count{color:#c7c9b9}
.sim-mobile-hint{display:none}.sim-stage{overscroll-behavior-x:contain}
@media(max-width:700px){.sim-stage{overflow-x:auto!important}.sim-stage svg{min-width:680px}.sim-mobile-hint{display:block;margin:7px 0 12px;font-size:10px!important;color:var(--muted)}}
.full-control{display:block;font-size:11px;margin:20px 0;color:var(--muted)}
.full-control input,.controls input[type=text],.controls input[type=number]{width:100%;min-width:0;display:block;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--bg);margin-top:6px}
.base-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.base-grid label{font-size:10px}.base-grid small{display:block;font-size:9px;color:var(--muted)}
.conversion-equation{display:flex;justify-content:center;align-items:center;gap:25px;padding:34px 0 18px;color:#e7cd94;font:24px Georgia,serif;flex-wrap:wrap}.conversion-equation strong{font-weight:400;overflow-wrap:anywhere}
#conversion-factor{color:#c3c4b5;text-align:center;font-size:12px}.new-lab .controls{flex-wrap:wrap}.new-lab .controls label{min-width:90px}.new-lab .equation{overflow-wrap:anywhere}
.input-error{color:#a14c37;font-size:12px}.lesson-support{border-top:1px solid var(--line);padding-top:12px;margin-top:20px}.lesson-support details{padding:9px 0}.lesson-support summary{cursor:pointer;color:var(--gold);font-size:12px}.lesson-support p{padding-top:10px}.chart-legend{font-size:10px!important;color:#c7c9b9;text-align:center}
@media(max-width:700px){.base-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-list .lesson{width:100%;display:block;margin:4px 0}.lesson-list .lesson small{display:inline;margin-left:8px;padding:0}.new-lab .controls label{min-width:40%}.new-lab .readouts{flex-wrap:wrap}.new-lab .readouts>div{min-width:40%}}
