:root{--ink:#172c32;--paper:#f6f5f0;--teal:#006c67;--coral:#bc4136;--line:#d9ddd4;--muted:#4b6266}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc4136;outline-offset:4px}a{color:inherit}button{background:white;color:var(--ink);border:1px solid #b8c5bd;border-radius:8px;padding:9px 14px}button:hover{background:#e7eee7}button.primary,button.active{background:var(--ink);color:white;border-color:var(--ink)}button:disabled{opacity:.5;cursor:default}header.lab-header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 30px;border-bottom:1px solid var(--line)}.lab-brand{font-size:23px;text-decoration:none;font-weight:800;letter-spacing:-1px}.lab-brand span{color:var(--teal)}.lab-title{font-size:17px;font-weight:700;display:flex;gap:10px;align-items:center}.version{font-size:12px;border-radius:30px;padding:4px 9px;font-weight:400}.lab-header nav{display:flex;gap:20px;align-items:center;font-size:13px}.lab-header nav button{border:0;background:none;padding:0;text-decoration:underline}main.lab-main{max-width:1440px;margin:auto;padding:0 30px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:42px 0 30px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--teal);margin:0 0 12px}.intro h1{font-size:clamp(34px,4.4vw,62px);line-height:1.06;letter-spacing:-2px;margin:0 0 16px;font-weight:750}.intro h1 em{color:var(--teal);font-family:Georgia,serif;font-weight:400}.intro p:last-child{max-width:740px;color:var(--muted);font-size:17px;margin:0}.intro-symbol{width:105px;height:105px;border-radius:50%;background:#e0e9db;color:var(--teal);display:grid;place-items:center;font-size:62px;flex-shrink:0;transform:rotate(-12deg)}.lab-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px}.lab-nav a{font-size:12px;text-decoration:none;border:1px solid #c6d1c7;border-radius:30px;padding:6px 12px}.lab-nav a[aria-current]{background:var(--ink);color:white}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.stage{border:1px solid #c6d1c7;background:#fffefa;border-radius:17px;overflow:hidden}.stage-heading{padding:15px 22px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;font-weight:700}.stage-heading .badge{font-size:10px;letter-spacing:1px;color:var(--teal)}.scene{background:#e9efe7;min-height:210px;display:flex;align-items:center;justify-content:center}.scene svg{display:block;width:100%;height:230px}.readings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 22px}.reading{border-left:3px solid var(--teal);padding:0 12px;font-size:13px;color:var(--muted)}.reading.b{border-color:var(--coral)}.reading strong{display:block;font-size:26px;color:var(--ink);font-weight:700;letter-spacing:-1px}.reading small{display:block;line-height:1.4;margin-top:5px}.plot{padding:0 10px}.plot svg{display:block;width:100%;height:auto;min-height:180px}.chart-text{font-family:Arial,sans-serif;fill:var(--muted);font-size:13px}.timeline{padding:12px 22px 18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.timeline label{flex:1;min-width:140px;font-size:12px;font-weight:700}.timeline input{display:block;width:100%;accent-color:var(--teal);margin-top:10px}.timeline output{float:right;color:var(--teal)}.stage-note{font-size:12px;padding:13px 22px;background:#f0f2e9;border-top:1px solid var(--line);color:var(--muted)}.controls{background:#e8ece2;border:1px solid #c9d2c6;border-radius:17px;padding:22px}.controls h2{font-size:24px;line-height:1.15;letter-spacing:-.7px;margin:8px 0 17px}.setup-tabs{display:flex;gap:8px;margin-bottom:18px}.setup-tabs button{flex:1;font-size:13px}.control{margin:0 0 19px}.control label{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:700}.control output{font-weight:400;white-space:nowrap;color:var(--teal)}.control input{width:100%;accent-color:var(--teal);display:block;margin:10px 0}.control select{width:100%;padding:9px;border:1px solid #b8c5bd;border-radius:6px;background:#fffefa;margin-top:8px}.control p{font-size:11px;line-height:1.5;color:var(--muted);margin:6px 0}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button{font-size:12px;flex-grow:1}.controls .status{font-size:12px;margin-bottom:0;min-height:18px}.experiments{padding:38px 0 25px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.section-heading h2{font-size:29px;letter-spacing:-1px;margin:0}.section-heading span{font-size:12px;color:var(--muted)}.experiment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.experiment{padding:20px;text-align:left;background:#fffefa;border-radius:12px;border:1px solid #c9d2c6;display:block;line-height:1.4}.experiment strong{display:block;font-size:16px;margin-bottom:9px}.experiment span{display:block;font-size:12px;color:var(--muted)}.experiment.active span{color:#d6e4dc}.experiment.active{background:var(--ink)}.experiment-note{font-size:14px;color:var(--teal);min-height:22px}.learn{padding:28px 0;border-top:1px solid var(--line)}.learn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.learn h3{font-size:18px;letter-spacing:-.4px;margin:0 0 10px}.learn p{font-size:14px;color:var(--muted);margin:0}.limit{border:1px solid #c9d2c6;padding:17px 20px;border-radius:10px;font-size:13px;color:var(--muted);margin:20px 0}.limit summary{cursor:pointer;font-weight:700;color:var(--ink)}.limit p{margin-bottom:0}.lab-footer{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:25px 0;border-top:1px solid var(--line)}.lab-footer button{font-size:12px;border:0;background:none;text-decoration:underline;padding:0}dialog{max-width:720px;width:calc(100% - 32px);max-height:85vh;overflow:auto;border:1px solid #c9d2c6;border-radius:16px;padding:30px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#172c3299}dialog h2{font-size:32px;letter-spacing:-1px;margin:0 0 15px}dialog p,dialog li{font-size:14px}dialog .close{float:right;padding:6px 12px}dialog a{color:var(--teal)}.error{color:#a52f25;background:#fff0e9;border:1px solid #d28776;border-radius:8px;padding:14px;font-size:14px;margin:16px 22px}.screen-reader{position:absolute;left:-10000px}#challenge{padding:12px 22px;background:#f7edcf;font-size:13px}#challenge:empty{display:none}.plot-legend{display:flex;gap:20px;font-size:12px;padding:0 22px}.plot-legend span:before{content:'';display:inline-block;width:14px;height:3px;background:var(--teal);margin-right:7px;vertical-align:middle}.plot-legend span:nth-child(2):before{background:var(--coral)}
[hidden]{display:none!important}.number-entry{display:flex;align-items:center;gap:10px;font-size:12px}.number-entry input{width:100px;border:1px solid #9fb4aa;border-radius:5px;padding:5px 8px;margin:0;background:#fffefa;color:var(--ink)}input[aria-invalid=true]{border:2px solid #bc4136}.plot{overflow-x:auto}.chart-hint{display:none;font-size:11px;color:var(--muted);padding:5px 22px}
@media(max-width:760px){.plot svg{min-width:760px;min-height:0}.chart-hint{display:block}}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 290px}.controls{padding:18px}.lab-title{font-size:14px}.lab-header nav{gap:10px}}
@media(max-width:760px){header.lab-header{padding:16px;flex-wrap:wrap;gap:10px}.lab-header nav{width:100%;justify-content:space-between}.lab-title{margin-left:auto}.lab-brand{font-size:20px}main.lab-main{padding:0 16px}.intro{padding:28px 0 23px}.intro-symbol{display:none}.intro h1{font-size:40px}.intro p:last-child{font-size:15px}.workspace{grid-template-columns:minmax(0,1fr)}.controls{padding:20px}.experiment-grid,.learn-grid{grid-template-columns:1fr}.learn-grid{gap:24px}.section-heading{align-items:start}.section-heading span{max-width:100px}.readings{margin:15px 12px;gap:6px}.reading{padding:0 9px;font-size:12px}.reading strong{font-size:23px}.scene svg{height:195px}.stage-heading{padding:13px}.stage-heading .badge{font-size:9px}.lab-footer{flex-wrap:wrap}.lab-nav{gap:7px}.lab-nav a{font-size:11px;padding:5px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.temperature-units{display:flex;align-items:center;gap:7px;margin:0 0 18px;font-size:13px}.temperature-units span{margin-right:auto;font-weight:700}.temperature-units button{padding:7px 13px;font-weight:700}
.measurement-units{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;margin:0 0 18px}.measurement-units span{font-weight:700;margin-right:auto}.measurement-units button{padding:7px 9px}.embedded .lab-header,.embedded .lab-nav,.embedded .lab-footer,.embedded #pf-privacy-links,.embedded #pf-privacy-launcher,.embedded .temperature-units,.embedded .measurement-units{display:none!important}.embedded .lab-main{padding-top:0}.embedded .intro{padding-top:24px}.embedded .intro h1{font-size:38px}.embedded .intro-symbol{width:75px;height:75px;font-size:40px}
.embedded-info{display:none}.embedded .embedded-info{display:flex;gap:10px;flex-wrap:wrap;margin:-6px 0 22px}.embedded-info button{font-size:12px;padding:7px 10px}
