:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;--ink:#163a40;--muted:#647a75;--jade:#157862;--deep:#092638;--mint:#def5e7;--line:#d9e5de;--cream:#f6f8f3;--white:#fffefb;color:var(--ink);background:var(--cream);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(155deg,#eef6ee,#f8f9f4 48%,#f2f6ef)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid #cc933e;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.12;letter-spacing:-.043em}p{line-height:1.6}.skip{position:absolute;top:-100px;left:10px;z-index:100;background:#fff;padding:14px;color:#103d40}.skip:focus{top:10px}
.sitebar{height:75px;background:#fff;border-bottom:1px solid var(--line);padding:10px max(24px,calc((100vw - 1410px)/2));display:flex;align-items:center;justify-content:space-between;gap:14px}.sitebrand{text-decoration:none;display:flex;gap:10px;align-items:center;white-space:nowrap}.sitebrand img{display:block}.sitebrand strong{font-size:18px;display:block;letter-spacing:-.045em;font-weight:860;color:#0b3940}.sitebrand small{display:block;color:#6e8d84;font-size:9px;font-weight:800;letter-spacing:.12em;margin-top:3px}.sitebar nav{display:flex;align-items:center;gap:14px}.back{font-size:13px;color:#246c5b;font-weight:800;text-decoration:none;padding:10px 3px}.back:hover{text-decoration:underline}.language{display:flex;align-items:center;gap:7px;font-size:12px;color:#5c7a72;font-weight:760}.language select{min-height:40px;border-radius:9px;border:1px solid #d2e3d6;background:#fff;color:#244f48;padding:8px 10px}
.shell{max-width:1460px;padding:0 22px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:264px;padding:35px 43px;margin-bottom:17px;position:relative;overflow:hidden;border-radius:0 0 22px 22px;background:linear-gradient(112deg,#072a3b,#0d3453 74%,#15335d);color:#eafef2}.hero::before{content:'';position:absolute;inset:-160px -55px auto auto;border-radius:50%;width:590px;height:490px;background:radial-gradient(circle,#54e9d425,transparent 70%)}.hero-copy{position:relative;z-index:2;max-width:790px}.eyebrow{font-size:10px;letter-spacing:.15em;color:#a0e8d7;font-weight:870;margin:0 0 14px}.pulse,.live-dot{display:inline-block;width:8px;height:8px;background:#7ff1c3;border-radius:50%;box-shadow:0 0 0 4px #7bf4be20;margin-right:7px}.hero h1{font-size:clamp(33px,4.5vw,59px);font-weight:880;line-height:1.06;letter-spacing:-.065em;margin:0 0 18px}.hero h1 em{color:#b6f3dd;font-style:normal}.hero-intro{color:#c8e0e0;font-size:14px;max-width:750px;margin:0 0 19px}.hero-pills{display:flex;gap:7px;flex-wrap:wrap}.hero-pills span{border:1px solid #99ddc942;background:#ffffff0d;color:#cbf5e6;border-radius:999px;padding:7px 10px;font-size:9px;letter-spacing:.05em;font-weight:830}.hero-illustration{width:280px;max-width:30%;flex:none;position:relative;z-index:1;filter:drop-shadow(0 8px 18px #70ddc12d)}.hero-illustration svg{width:100%;height:auto}
.station-bar{display:flex;gap:7px;align-items:center;overflow-x:auto;max-width:100%;padding:6px;border-radius:16px;background:#e8f0e8;border:1px solid #d9e3dc;margin:0 0 16px;scrollbar-width:thin}.station-bar button{flex:1;display:flex;align-items:center;gap:11px;min-height:59px;padding:9px 14px;border-radius:11px;border:1px solid transparent;background:transparent;color:#476c64;white-space:nowrap;text-align:left;min-width:174px;line-height:1.3}.station-bar button[aria-pressed=true]{background:#fff;border-color:#d4e6d9;color:#135f50;box-shadow:0 4px 14px #123c3320}.station-bar button:hover{background:#ffffffba}.tab-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#daf0e4;font-size:20px;color:#24715d;flex:none}.station-bar button[aria-pressed=true] .tab-icon{background:#166e5d;color:#fff}.station-bar button b{display:block;font-size:13px;font-weight:850}.station-bar button small{display:block;margin-top:4px;font-size:9px;font-weight:780;letter-spacing:.08em;opacity:.8}
.lab-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(333px,.9fr);gap:17px;align-items:start}.scene-card,.control-card,.journal-section,.concept-bridge{border:1px solid var(--line);background:#fff;border-radius:21px;box-shadow:0 10px 32px #143d3310;min-width:0}.scene-card{overflow:hidden}.scene-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:21px 20px 15px}.kicker{color:#288775;font-size:10px;letter-spacing:.12em;font-weight:870;margin:0 0 8px;line-height:1.5}.scene-heading h2{font-size:clamp(24px,2.5vw,34px);margin:0 0 7px}.scene-heading p:last-child{font-size:13px;color:#667c75;margin:0}.scene-live{background:#e9f6ec;border:1px solid #ccebd8;border-radius:99px;color:#236f5c;font-size:10px;letter-spacing:.05em;font-weight:800;white-space:nowrap;padding:9px 10px;flex:none}.scene-live .live-dot{width:6px;height:6px;margin-right:5px}
.arena-frame{position:relative;margin:0 14px;border-radius:16px;overflow:hidden;min-height:382px;background:#0d293c}.arena-frame canvas{display:block;width:100%;height:382px;touch-action:none;cursor:grab}.arena-frame canvas:active{cursor:grabbing}.scene-hint{position:absolute;left:15px;bottom:17px;pointer-events:none;color:#d3e7eb;background:#0b2a3dc7;border:1px solid #72999a64;border-radius:99px;padding:8px 11px;font-size:11px;max-width:calc(100% - 160px)}.scene-camera{position:absolute;right:13px;bottom:13px;display:flex;gap:5px}.scene-camera button{width:37px;height:38px;border-radius:9px;border:1px solid #5b8893;background:#123c50d9;color:#f1fff6;font-size:20px}
.playbar{display:flex;justify-content:space-between;gap:9px;align-items:center;padding:13px 18px 7px;flex-wrap:wrap}.play-buttons,.speed-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.play-main{display:flex;align-items:center;gap:10px;background:#146d59;color:#fff;border:1px solid #146d59;border-radius:10px;padding:11px 15px;min-height:44px;font-size:12px;font-weight:840}.play-main:hover{background:#0e5548}.action-btn,.speed-tools button{border-radius:10px;border:1px solid #d6e4d8;background:#f6f9f3;color:#3a685a;padding:9px 11px;min-height:42px;font-size:11px;font-weight:800}.speed-tools button[aria-pressed=true]{background:#e0f3e7;border-color:#70c39c;color:#146b4e}.play-time{font-size:12px;color:#315e55;font-weight:850;font-variant-numeric:tabular-nums;min-width:58px;text-align:right}.timeline-wrap{display:flex;align-items:center;gap:10px;padding:4px 20px 13px}.timeline-wrap input{flex:1;min-width:0;height:26px;accent-color:#19745f}.timeline-wrap>span{font-size:10px;color:#79908a;white-space:nowrap;font-weight:760;font-variant-numeric:tabular-nums}.viewbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 17px;border-top:1px solid #e4ede6;border-bottom:1px solid #e5ece8;background:#fbfcf9}.segmented{display:flex;gap:5px}.segmented button{background:#f0f5f0;color:#4e7769;border:1px solid #dfebe0;border-radius:9px;min-height:38px;padding:8px 11px;font-size:11px;font-weight:790}.segmented button[aria-pressed=true]{background:#d8f2e3;border-color:#73c7a9;color:#166b54}.switch{display:flex;gap:7px;align-items:center;color:#4e7266;font-size:11px;font-weight:780}.switch input{accent-color:#1a8a65;width:16px;height:16px}
.measurements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 15px}.metric-card{border:1px solid #dfece1;background:#f4f8f3;border-radius:12px;padding:12px 11px;min-height:77px;min-width:0}.metric-card small{display:block;font-size:10px;color:#668278;font-weight:740;line-height:1.4;margin-bottom:8px}.metric-card strong{display:block;font-size:clamp(14px,1.7vw,18px);line-height:1.3;color:#214c42;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.graph-section{border-top:1px solid #e5ece5;margin:3px 0 0;padding:17px 17px 13px}.graph-heading{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-bottom:13px}.graph-heading h3{font-size:18px;margin:0}.graph-select{display:grid;gap:5px;font-size:10px;font-weight:800;color:#568074}.graph-select select{font-size:11px;color:#225b4d;border:1px solid #d7e5dc;border-radius:9px;background:#fff;min-height:38px;padding:8px 10px;max-width:190px}.graph-section canvas{display:block;width:100%;height:220px;border-radius:13px;background:#0b293c}.graph-footnote{color:#748981;font-size:10px;line-height:1.55;margin:11px 0 0}.science-explainer{padding:18px 19px;background:#f2f8ee;border-top:1px solid #e1eadc}.science-explainer h3{font-size:20px;color:#24594a;margin:3px 0 9px;letter-spacing:-.02em}.science-explainer p:not(.kicker){color:#4d6e5d;font-size:12px;margin:0 0 8px}.science-explainer .model-limit{font-size:10px!important;color:#667e70!important;border-top:1px solid #dbe5d8;padding-top:9px;margin-top:9px}
.control-card{padding:23px 20px}.control-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.control-head h2{font-size:22px;line-height:1.24;margin:0 0 19px}.control-stamp{background:#eaf7ec;color:#207b62;border:1px solid #c5e5cf;font-size:9px;border-radius:99px;padding:7px 9px;font-weight:850;letter-spacing:.07em}
.control-list{display:grid;gap:16px}.control-row{padding-bottom:14px;border-bottom:1px solid #edf0e8}.control-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.control-row label{font-size:12px;color:#3b6357;font-weight:790}.control-row output{font-size:12px;font-weight:890;color:#145e51;white-space:nowrap;font-variant-numeric:tabular-nums}.control-row input[type=range]{width:100%;accent-color:#14836a;display:block;margin:7px 0 6px;height:27px;touch-action:pan-y}.control-range-labels{display:flex;justify-content:space-between;font-size:9px;color:#84958b;font-variant-numeric:tabular-nums}.control-help{font-size:10px;color:#798d7f;margin:6px 0 0}.control-actions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 20px}.outline-btn{min-height:41px;padding:10px 12px;border-radius:10px;border:1px solid #cfe0d5;background:#fff;color:#2b7059;font-size:11px;font-weight:800}.outline-btn:hover{background:#f1f8f1}
.predict-panel,.missions-panel{border:1px solid #d7e7da;background:#f3f9f2;border-radius:16px;padding:17px;margin:15px 0 0}.predict-heading{display:flex;align-items:center;gap:10px}.predict-icon{flex:none;display:grid;place-items:center;background:#e0f1dd;border:1px solid #aacead;border-radius:11px;width:35px;height:35px;font-size:19px;color:#21745d;font-weight:900}.predict-heading h3,.missions-head h3{font-size:17px;margin:0}.predict-panel>p:not(.prediction-feedback){font-size:12px;margin:14px 0 12px;color:#4d6e5c}.prediction-options{display:grid;gap:7px}.prediction-options label{display:flex;gap:9px;align-items:center;padding:11px;border:1px solid #d7e6d6;border-radius:10px;background:#fff;color:#45695e;font-size:11px;line-height:1.45;font-weight:670;cursor:pointer}.prediction-options input{accent-color:#168067;flex:none;width:16px;height:16px}.prediction-options label:has(input:checked){border-color:#3caa84;background:#e3f6e9}.mini-action{display:block;margin-top:11px;border:1px solid #bcdacd;background:#dff2e7;color:#16664d;font-size:11px;font-weight:850;border-radius:9px;min-height:40px;padding:9px 12px}.prediction-feedback{font-size:11px;color:#2f755a;font-weight:700;line-height:1.6;margin:9px 0 0}.prediction-feedback:empty{display:none}
.missions-panel{background:#fff;border-color:#e3ebe3;padding:17px 13px}.missions-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 4px 11px}.missions-head>span{white-space:nowrap;border:1px solid #d4e7d6;background:#f5f9ef;border-radius:99px;color:#416a52;padding:7px 10px;font-size:11px;font-weight:850}.mission-list{display:grid;gap:6px}.mission-tile{display:flex;gap:10px;align-items:center;text-align:left;background:#fafcf8;border:1px solid #e0e9e0;padding:9px 10px;border-radius:10px;color:#284f46;min-height:53px}.mission-tile:hover{border-color:#80c5aa}.mission-tile[aria-pressed=true]{background:#e9f7ed;border-color:#369979;box-shadow:inset 0 0 0 1px #369979}.mission-num{flex:none;width:34px;height:34px;border-radius:10px;background:#e5f0e5;color:#396f56;display:grid;place-items:center;font-size:12px;font-weight:830}.mission-tile strong{display:block;font-size:11px;line-height:1.3}.mission-tile small{color:#759084;font-size:10px;display:block;margin-top:3px}.active-mission{margin-top:12px;border-radius:12px;padding:14px;background:#eaf5e8;border:1px solid #c8e5d3}.active-mission h4{font-size:17px;margin:0 0 10px}.active-mission p:not(.kicker){font-size:11px;color:#496d56;margin:8px 0}.active-mission #missionHint{font-style:italic;color:#769078}.primary-wide{min-height:43px;border:1px solid #13725b;border-radius:10px;background:#13725b;color:#fff;padding:10px 14px;font-size:12px;font-weight:860}.primary-wide:hover{background:#0b5e4d}.active-mission .primary-wide{width:100%;margin-top:7px}.active-mission #missionFeedback{font-weight:730;line-height:1.5}.subtle-btn{border:0;background:none;color:#32775c;font-size:11px;padding:8px 0;text-decoration:underline;font-weight:780}
.journal-section{margin:19px 0;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.22fr);gap:26px}.journal-intro h2{font-size:clamp(23px,3vw,32px);margin-bottom:13px}.journal-intro p:last-child{color:#5c7669;font-size:13px}.journal-body label{display:block;font-size:12px;color:#305d50;font-weight:790;margin-bottom:9px}.journal-body textarea{display:block;width:100%;border:1px solid #cfe0d2;background:#fcfefb;border-radius:11px;min-height:84px;resize:vertical;padding:12px;font-size:13px;color:#244f44}.journal-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.journal-status{color:#648475;font-size:11px;margin:10px 0}.saved-notes{display:grid;gap:7px;margin-top:12px}.saved-note{padding:12px;background:#f5f9f3;border:1px solid #e0e9e1;border-radius:10px}.saved-note b{display:block;font-size:11px;color:#216750}.saved-note p{font-size:12px;color:#4d6b5b;margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.saved-note button{border:0;background:transparent;text-decoration:underline;color:#9c5c43;font-size:11px;padding:7px 0 0}
.concept-bridge{padding:24px;margin:19px 0}.concept-bridge>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.concept-bridge article{padding:16px;border-radius:13px;background:#f3f8f3;border:1px solid #e1ece3}.concept-bridge article span{font-size:10px;color:#258a6a;font-weight:850}.concept-bridge article h3{font-size:16px;margin:10px 0 8px}.concept-bridge article p{font-size:11px;color:#5c7669;line-height:1.7;margin:0}.footer{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:15px 5px 40px}.footer p{font-size:11px;color:#728478;max-width:820px}.footer>div{display:flex;gap:14px;flex-wrap:wrap}.footer a{font-size:12px;color:#1b785b;text-decoration:none;font-weight:820;white-space:nowrap}.toast{position:fixed;z-index:50;left:50%;bottom:23px;transform:translate(-50%,170%);padding:12px 16px;border-radius:11px;color:#fff;background:#153d45;box-shadow:0 14px 35px #06283755;max-width:calc(100vw - 30px);font-size:12px;line-height:1.6;pointer-events:none;transition:transform .2s}.toast.shown{transform:translate(-50%,0)}
@media(max-width:1200px){.lab-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.95fr)}.hero{padding:28px}.hero-illustration{max-width:25%}.arena-frame,.arena-frame canvas{height:335px;min-height:335px}.measurements{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:65px}}
@media(max-width:880px){.lab-layout{grid-template-columns:1fr}.scene-card,.control-card{min-height:0}.hero-illustration{display:none}.hero h1{font-size:clamp(31px,6vw,47px)}.arena-frame,.arena-frame canvas{height:370px;min-height:370px}.station-bar button{min-width:165px}.control-card{padding:22px}.control-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:19px}.journal-section{grid-template-columns:1fr}.concept-bridge>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.sitebar{height:68px;padding:8px 12px}.sitebrand img{width:28px;height:28px}.sitebrand strong{font-size:16px}.sitebrand small{font-size:8px;letter-spacing:.06em}.sitebar nav{gap:5px}.back{font-size:11px;padding:7px 2px}.language>span{display:none}.language select{max-width:90px;font-size:11px;padding:8px 5px;min-height:37px}.shell{padding:0 9px}.hero{min-height:0;padding:25px 18px 22px;border-radius:0 0 17px 17px;margin-bottom:11px}.eyebrow{font-size:9px}.hero h1{font-size:clamp(29px,8vw,42px);line-height:1.1;margin-bottom:11px}.hero-intro{font-size:12px;line-height:1.65;margin-bottom:13px}.hero-pills{gap:5px}.hero-pills span{font-size:8px;padding:6px}.station-bar{gap:5px;padding:4px;margin-bottom:10px;border-radius:12px;scroll-snap-type:x proximity}.station-bar button{flex:0 0 auto;min-width:142px;min-height:51px;padding:8px 9px;gap:7px;scroll-snap-align:start}.station-bar button b{font-size:11px}.station-bar button small{font-size:8px}.tab-icon{width:29px;height:29px;border-radius:8px;font-size:17px}.lab-layout{gap:10px}.scene-card,.control-card,.journal-section,.concept-bridge{border-radius:16px}.scene-heading{padding:14px 12px 12px}.scene-heading h2{font-size:23px}.scene-heading p:last-child{font-size:11px}.scene-live{padding:7px 8px;font-size:9px;max-width:116px;text-align:center;white-space:normal}.arena-frame{margin:0 7px;border-radius:12px}.arena-frame,.arena-frame canvas{height:305px;min-height:305px}.scene-hint{left:8px;bottom:10px;padding:6px 8px;font-size:9px;max-width:calc(100% - 132px)}.scene-camera{right:7px;bottom:8px;gap:3px}.scene-camera button{width:32px;height:34px}.playbar{padding:10px 9px 4px;gap:7px}.play-main{min-height:42px;padding:9px 10px;font-size:11px}.action-btn,.speed-tools button{min-height:38px;padding:8px 9px;font-size:10px}.play-buttons{gap:4px}.speed-tools{width:100%;justify-content:space-between}.play-time{font-size:12px}.timeline-wrap{padding:2px 11px 10px}.viewbar{padding:9px;gap:9px}.segmented button{padding:8px;font-size:10px}.switch{font-size:10px}.measurements{padding:9px;gap:6px}.metric-card{padding:10px;min-height:69px}.metric-card strong{font-size:15px}.metric-card small{font-size:10px}.graph-section{padding:13px 9px}.graph-heading h3{font-size:16px}.graph-select select{font-size:10px;max-width:146px;padding:7px}.graph-section canvas{height:190px}.science-explainer{padding:15px 13px}.science-explainer h3{font-size:18px}.science-explainer p:not(.kicker){font-size:11px}.control-card{padding:19px 13px}.control-head h2{font-size:21px}.control-list{display:grid;grid-template-columns:1fr;gap:12px}.control-row{padding-bottom:11px}.predict-panel,.missions-panel{padding:13px}.journal-section{padding:19px 13px;margin:10px 0;gap:12px}.journal-intro h2{font-size:23px}.concept-bridge{padding:17px 12px;margin:10px 0}.concept-bridge>div{grid-template-columns:1fr;gap:8px}.concept-bridge article{padding:13px}.concept-bridge article h3{font-size:15px;margin:7px 0}.footer{display:block;padding:17px 6px 35px}.footer>div{margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Read-aloud is opt-in; comparisons use results from real physics functions. */
.scene-heading-tools{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.listen-physics{min-height:37px;border:1px solid #a4d8be;background:#eefaf1;color:#176c53;border-radius:9px;padding:8px 11px;font-weight:840;font-size:11px}
.listen-physics:hover{background:#dff4e7}
.gravity-select{display:block;width:100%;min-height:46px;border:1px solid #cce0d2;border-radius:10px;background:white;color:#1d5648;font-size:12px;padding:9px 10px}
.comparison-strip{display:flex;align-items:center;gap:12px;padding:0 16px 16px}
.comparison-strip button{flex:none;min-height:39px;background:#e5f4e9;border:1px solid #a9d8bc;color:#156b51;border-radius:10px;font-size:11px;font-weight:850;padding:9px 12px}
.comparison-strip p{font-size:11px;color:#587566;margin:0;line-height:1.5}
@media(max-width:580px){
 .scene-heading-tools{gap:5px;max-width:140px}
 .listen-physics{min-height:34px;padding:6px 8px;font-size:10px}
 .comparison-strip{display:block;padding:0 10px 12px}
 .comparison-strip p{margin-top:7px;font-size:10px}
}
