@font-face{font-family:Foundation;src:local('Aptos'),local('Segoe UI')}*{box-sizing:border-box}html{color-scheme:dark;scroll-padding-top:1rem}body{margin:0;background:#071820;color:#e4eef0;font:1rem/1.6 Foundation,'Segoe UI',Arial,sans-serif}a{color:#a8eee0;text-underline-offset:.25em}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{touch-action:manipulation}button,.button,select{border:1px solid #48656f;border-radius:.5rem;background:#16333d;color:#e4eff0;padding:.65rem .85rem;min-height:44px}button,.button{cursor:pointer;line-height:1.4}.button{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}button:hover:not(:disabled),.button:hover{background:#214c57;border-color:#b0eada}button:disabled{opacity:.6;cursor:default}.primary{background:#b6ecdc;color:#092824;border-color:#b6ecdc;font-weight:650}.primary:hover:not(:disabled){background:#d0ffed;color:#092824}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f4d39a;outline-offset:4px}input[type=range]{width:100%;min-height:32px;accent-color:#9ce6d2;cursor:pointer}select{width:100%;min-width:0}input[type=radio]{width:20px;height:20px;accent-color:#b6ecdc;flex:none;margin:.2rem 0 0}.site-header{min-height:70px;padding:1rem max(24px,calc((100vw - 1392px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #2d4750}.brand{display:flex;align-items:center;gap:.6rem;font-weight:650;color:#d6efec;text-decoration:none;white-space:nowrap}.brand span{font-weight:400;color:#9fb9bf;font-size:.9rem}.site-header nav{display:flex;gap:1.2rem;font-size:.9rem}main{max-width:1440px;padding:1.6rem 24px 3rem;margin:auto}.lesson-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:center;margin-bottom:1.5rem}.eyebrow{font-size:.72rem;letter-spacing:.14em;color:#9ddccd;font-weight:650;margin:0 0 .65rem}.eyebrow span{letter-spacing:.04em;color:#b4c8cb}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-family:Georgia,serif;font-weight:400;line-height:1.12;font-size:clamp(2rem,3.4vw,3.4rem);letter-spacing:-.03em;margin:.25rem 0 .65rem}h2{font-size:1.7rem;line-height:1.25;letter-spacing:-.02em;margin:.3rem 0 .7rem}h3{font-size:1.08rem;line-height:1.35;margin:.4rem 0 .8rem}p{margin:0 0 .9rem}.subtitle{color:#b8ced1;font-size:1rem;margin:0}.orientation{color:#b7cdd1;font-size:.95rem;max-width:560px}.orientation p{margin-bottom:.5rem}.orientation details{font-size:.88rem}.orientation details p{margin:.6rem 0}.orientation summary{color:#c3dedb;cursor:pointer}.chapter-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;padding:0 0 1.25rem}.chapter-nav button{display:flex;gap:.65rem;align-items:center;text-align:left;font-size:.85rem;background:#10272f;min-width:0}.chapter-nav button span{color:#a0bebd;font-size:.75rem}.chapter-nav button[aria-current]{background:#b6ecdc;color:#0c302d;border-color:#b6ecdc}.chapter-nav button[aria-current] span{color:#2a534c}.chapter-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.chapter-heading .eyebrow{margin-bottom:.35rem}.chapter-heading h2{font-size:1.65rem}.chapter-heading p:last-child{max-width:930px;color:#b8cdd1;margin-bottom:0;font-size:.95rem}.text-button{background:none;color:#b8d7d5;border-color:#3c5961;font-size:.83rem}.chapter-heading button{flex:none;margin-top:.3rem}.experiment-layout{display:grid;grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:1.15rem;align-items:start}.control-panel{padding:1.1rem;background:#112b34;border:1px solid #32515a;border-radius:.85rem}.task{font-size:.95rem;color:#e0ebe9}.control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.25rem .5rem;margin:0 0 1rem;font-size:.9rem}.control-name{color:#cce0e2}.control output{font-size:.9rem;font-variant-numeric:tabular-nums;color:#f4d39a}.control select,.control input{grid-column:1/-1}.control select{font-size:.9rem}.presets{display:flex;flex-wrap:wrap;gap:.5rem;border-top:1px solid #324f57;padding-top:1rem;margin-top:.4rem;margin-bottom:1rem}.presets button{font-size:.8rem;padding:.5rem .7rem}.control-panel>.primary{width:100%;font-size:.9rem}.small{color:#acc4c9;font-size:.82rem;line-height:1.5}.control-panel .small{margin:.65rem 0}.notebook-jump{font-size:.8rem}.visual-panel{min-width:0;border:1px solid #35515a;border-radius:.85rem;overflow:hidden;background:#0b2029}.visual-panel figure{margin:0}.figure-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid #2a4650;color:#b1cbc8;font-size:.73rem;letter-spacing:.08em}.figure-heading button{padding:.4rem .6rem;min-height:36px;letter-spacing:0;font-size:.8rem}.canvas-wrap{width:100%;min-width:0;background:#091d26}canvas{display:block;max-width:100%}#experiment-canvas,#expanded-canvas{width:100%}figcaption{padding:.5rem 1rem .8rem;font-size:.84rem;color:#bed0d4;line-height:1.5}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1rem;margin:0;padding:1rem;border-top:1px solid #35505a}.metric{min-width:0}.metric dt{font-size:.77rem;color:#b9cdd1;line-height:1.4;margin-bottom:.4rem}.metric dd{margin:0;color:#e7eadb;font-size:1.3rem;line-height:1.35;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric dd small{font-size:.8rem;color:#c1d7d9}.result-summary{padding:.8rem 1rem;margin:0;background:#122f37;border-top:1px solid #36585c;color:#c8eddf;font-size:.94rem}.related-results{padding:0 1rem;display:flex;flex-wrap:wrap;gap:1rem}.related-results:not(:empty){padding-top:.8rem;padding-bottom:.8rem;font-size:.9rem}.understand{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;padding:1.75rem 0;margin-top:.8rem}.understand p{color:#c0d1d6;font-size:.95rem}.understand .eyebrow{font-size:.72rem;color:#9ddccd}.takeaway{border-left:3px solid #9ed8c9;padding:.5rem .9rem;color:#def4e9!important}.reasoning{border:1px solid #34545e;border-radius:.8rem;padding:1.1rem;background:#102830}.reasoning fieldset{border:0;padding:0;margin:0 0 1rem}.reasoning legend{font-weight:600;font-size:1rem;margin-bottom:.65rem}.choice{display:flex;gap:.7rem;padding:.55rem 0;font-size:.91rem;cursor:pointer}.reasoning button{font-size:.85rem}.reasoning p:last-child{margin:.8rem 0 0}.chapter-actions{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1.7rem}.assembly-panel{padding:1rem 1.2rem;border:1px solid #3a5661;border-radius:.8rem;margin-bottom:1.5rem;background:#0d242e}.assembly-panel summary{cursor:pointer;color:#d8ede9;font-size:1rem}.assembly-panel summary span{font-size:.8rem;color:#b1c8cf;display:inline-block;margin-left:.8rem}.assembly-panel .scene{position:relative;height:400px;margin:1rem -1.2rem 0;background:radial-gradient(ellipse at 50% 40%,#24434b,#071820);overflow:hidden}.scene canvas{display:block;width:100%;height:100%;touch-action:none}.scene-label{position:absolute;transform:translate(-50%,-50%);background:#071820dc;border:1px solid #527078;padding:.2rem .45rem;border-radius:.3rem;font-size:.72rem;color:#d9eee9;white-space:nowrap;pointer-events:none}.scene-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;padding:1rem 0 .5rem}.scene-toolbar>div{display:flex;flex-wrap:wrap;gap:.5rem}.scene-toolbar button{font-size:.84rem}.assembly-panel>p{font-size:.83rem;color:#b6cdd0;margin:0}.notebook{padding:1.5rem;border:1px solid #486258;border-radius:1rem;background:#102925;margin-bottom:1.5rem}.notebook-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.notebook-heading>span{font-size:.85rem;color:#bad2c8}.notebook>p{color:#bad2cd;font-size:.9rem}.observations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.observation{border:1px solid #3e5e55;border-radius:.6rem;background:#09221f;padding:1rem;min-width:0}.observation img{display:block;width:100%;height:auto;border-radius:.35rem;margin:.5rem 0 .8rem}.observation p{font-size:.88rem;color:#c8ddd6}.observation .eyebrow{font-size:.7rem;color:#9ad8c2}.observation details{font-size:.8rem;margin-bottom:.8rem}.observation details p{font-size:.8rem}.observation summary{cursor:pointer}.saved-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.saved-metrics .metric dd{font-size:1rem}.note-label{display:block;margin:1.3rem 0 .5rem}textarea{display:block;width:100%;max-width:100%;background:#081d1c;border:1px solid #4a695f;color:#dfefe9;border-radius:.5rem;padding:.75rem;resize:vertical}.notebook-actions{display:flex;align-items:center;gap:1rem;margin:1rem 0}.notebook-actions span{font-size:.8rem;color:#b2c9c0}.notes{border-top:1px solid #34535c;padding:1rem 0}.notes summary{cursor:pointer;color:#c8dfdd}.notes>div,.notes>ol{max-width:1050px;font-size:.92rem;color:#b7ccd0;padding-top:1rem}.notes h3{color:#d9e9e8}.notes li{margin-bottom:1rem}.bridge{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem;border:1px solid #416167;border-radius:.75rem;margin:1.5rem 0}.bridge p{margin-bottom:.3rem}.bridge a{flex:none}footer{border-top:1px solid #35505a;margin-top:1.5rem;padding:1.25rem 0;font-size:.85rem;color:#b5cacf}.lesson-navigation{display:flex;justify-content:space-between;gap:1.5rem}.lesson-picker{display:block;max-width:500px;margin:1.5rem 0}.lesson-picker select{margin-top:.5rem;font-size:.9rem}footer>p{font-size:.8rem}.skip{position:absolute;left:10px;top:-100px;z-index:50;padding:10px;background:#d6f7e9;color:#09251d}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.no-js{padding:2rem}[hidden]{display:none!important}.print-only{display:none}dialog{width:min(1180px,96vw);max-height:95dvh;padding:1.25rem;background:#0c232c;color:#d9edeb;border:1px solid #779790;border-radius:.8rem}dialog::backdrop{background:#021115df}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dialog-heading h2{font-size:1.3rem}.expanded-wrap{width:100%}dialog p{font-size:.92rem;margin:.7rem 0}
body[data-lesson="methods"] .assembly-panel{display:none}#figure-description{white-space:pre-line}.control-result{display:none}
@media(max-width:1050px){.lesson-heading{gap:1.5rem;grid-template-columns:1.15fr 1fr}.experiment-layout{grid-template-columns:260px minmax(0,1fr)}.chapter-nav button{display:block;font-size:.78rem}.chapter-nav button span{display:block;margin-bottom:.2rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric dd{font-size:1.15rem}.understand{gap:1.2rem}}
@media(max-width:760px){.site-header{padding:.8rem 16px;font-size:.9rem;min-height:58px}.brand span{display:none}.site-header nav{font-size:.8rem;gap:.8rem}main{padding:1.1rem 16px 2rem}.lesson-heading{display:block;margin-bottom:1rem}.lesson-heading h1{font-size:2.05rem}.lesson-heading .orientation{margin-top:.7rem;font-size:.9rem}.orientation>p{display:none}.subtitle{font-size:.9rem}.chapter-nav{display:flex;overflow-x:auto;padding-bottom:.75rem;margin-bottom:.3rem;scrollbar-width:thin}.chapter-nav button{min-width:150px;font-size:.82rem}.chapter-heading{display:block;margin-bottom:1rem}.chapter-heading h2{font-size:1.4rem}.chapter-heading button{margin-top:.6rem}.chapter-heading p:last-child{font-size:.9rem}.experiment-layout{display:flex;flex-direction:column}.visual-panel{width:100%;order:0}.control-panel{width:100%;order:1;padding:1rem}#controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem}.control{margin-bottom:.5rem;display:block}.control-name{display:block;font-size:.85rem}.control output{display:block;text-align:right;font-size:.83rem}.control select{margin-top:.5rem}.task{font-size:.9rem}.presets{margin-top:.5rem}.understand{grid-template-columns:1fr;padding-top:1rem;gap:.5rem}.observations{grid-template-columns:1fr}.notebook{padding:1rem}.notebook-heading h2{font-size:1.4rem}.notebook-actions{align-items:start;flex-direction:column}.assembly-panel{padding:1rem}.assembly-panel summary span{display:block;margin:.3rem 0 0}.assembly-panel .scene{height:310px;margin:1rem -1rem 0}.scene-label{font-size:.7rem;max-width:115px;white-space:normal;text-align:center;line-height:1.3}.bridge{display:block;padding:1rem}.bridge a{margin-top:1rem}.lesson-navigation{flex-direction:column;gap:1rem}.chapter-actions button{font-size:.85rem}.metrics{gap:.7rem}.figure-heading{padding:.5rem .75rem}.figure-heading button{font-size:.74rem}figcaption{font-size:.82rem}}
@media(max-width:760px){.control-result{display:block;position:sticky;top:.4rem;z-index:3;background:#153d44;border:1px solid #507975;border-radius:.5rem;padding:.7rem;font-size:.8rem;line-height:1.5;color:#e1f2e9;margin:.2rem 0 1rem;box-shadow:0 5px 12px #061c22a0}.control-panel{overflow:visible}}
@media(max-width:370px){.site-header nav a:last-child{display:none}#controls{grid-template-columns:1fr}.chapter-actions{gap:.5rem}.metric dd{font-size:1rem}.notebook-heading{align-items:start}.notebook-heading>span{white-space:nowrap}}
@media print{html{color-scheme:light}body{background:white;color:#15332c}.site-header,.lesson-heading,#loading-message,#workbench,.chapter-nav,.assembly-panel,.notes,.bridge,footer,dialog,#announcer,.no-print,.notebook-actions,textarea,.note-label,#storage-status,#empty-notebook{display:none!important}main{max-width:none;padding:0}.notebook{padding:0;border:0;background:white;color:#123328}.notebook p,.observation p{color:#153c35}.observations{display:block}.observation{border-color:#acbcb4;background:white;margin:0 0 1rem;break-inside:avoid}.observation img{max-height:300px;object-fit:contain;background:#091d26}.observation details{display:block}.observation .eyebrow,.notebook .eyebrow{color:#1e6355}.print-only{display:block;white-space:pre-wrap}.notebook-heading{color:#183c32}@page{margin:15mm}}
