/* An original LKS Science interface, informed by inquiry-based simulation design. */
:root{font-family:Arial,Helvetica,sans-serif;background:#fff;color:#17212c}body>nav{background:#17212c;padding:10px 24px;font-size:13px}main{max-width:1600px;padding:16px 24px}main>header{padding:0 0 10px}h1{font-size:25px;letter-spacing:0;margin:0 0 3px}main>header p{font-size:14px;margin:0;color:#5a6570}.modes{margin:8px 0 16px;gap:10px;border-bottom:2px solid #d1d9df;padding-bottom:12px}.modes button{min-width:148px;border:2px solid #9daebb;background:#f2f5f7;color:#182a3a;border-radius:10px;font-size:17px;font-weight:700;padding:12px 18px;box-shadow:0 2px 0 #c8d1d8}.modes button[aria-pressed=true]{background:#ddecff;border-color:#2d64af;color:#143d74;box-shadow:0 3px 0 #2d64af}.layout,.layout.surface-layout{grid-template-columns:220px minmax(0,1fr);gap:18px}.controls{background:#f0f1f2;border:1px solid #aeb8c1;border-radius:10px;padding:16px}.controls h2{font-size:18px}.control label{font-size:15px}.control output{color:#174a94;background:white;border:1px solid #b6c7da;border-radius:5px;min-width:49px;padding:3px 6px;text-align:center}.control select{font-size:13px;padding:9px 5px;background:#fff;border:1px solid #aab4bd}input[type=range]{accent-color:#266bb8;min-height:34px}.hint{background:transparent;padding:8px 0;border-top:1px solid #cbd2d7;border-radius:0;line-height:1.5}#fixedConditions{font-size:12px;color:#58636d;margin:10px 0}.actions{gap:8px}.actions button{padding:9px 12px}#pin{background:#ddecff;border:1px solid #789bc7;color:#163d70;font-weight:700}#reset{background:#ffda88;border:1px solid #b57c20;color:#573c10;font-weight:700}button:hover:not(:disabled){filter:brightness(.96)}.equation{background:#f5f8fb;border:1px solid #d2dde7;border-radius:8px;padding:12px 18px;margin-bottom:14px;display:grid;grid-template-columns:1fr auto;gap:4px 18px}.equation>.eyebrow{font-size:11px;letter-spacing:.7px;grid-column:1/-1;color:#4d5d6c}.formula{font-size:23px;margin:2px 0;letter-spacing:0}.equation #substitution{font-size:12px;grid-column:1;grid-row:3;color:#5b6772}.equation .result{grid-column:2;grid-row:2/4;display:block;padding-left:18px;border-left:1px solid #ced9e1}.result p{margin:0;font-size:12px}.result strong{color:#195fa2;font-size:27px}.result #orderSummary{font-size:11px;color:#526575}#surfaceWorkspace{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:stretch;margin-bottom:8px}#surfaceWorkspace .panel{border:0;border-radius:0;padding:10px!important}#surfaceWorkspace #surfacePanel{background:#f3f8fd;border:1px solid #b9cbdc;border-radius:10px}#surfaceWorkspace #ratePanel{background:#fff}#surfaceWorkspace .pt-heading{flex-direction:row;align-items:center;gap:10px}.pt-heading h2,#ratePanel h2{font-size:17px}.pt-heading .unit{display:none}#ptPause{font-size:12px;padding:8px 10px;background:#fff;border-color:#8fa2b5}.particle-stage{position:relative}#surfaceWorkspace #ptCanvas{height:300px;margin:8px 0;background:linear-gradient(#f8fbff,#e8f1fa);border-radius:5px}#surfaceWorkspace #ratePanel .graph{height:300px}.surface-badge{position:absolute;top:12px;left:12px;border:1px solid #9aafc4;background:#fff;color:#435e79;border-radius:6px;padding:5px 9px;font-size:12px;pointer-events:none}.surface-badge.saturated{background:#fff0b7;border-color:#c49a2b;color:#71500b}.pt-key{font-size:11px;gap:12px;align-items:center}.pt-key span{display:inline-flex;align-items:center;gap:5px}.pt-key i{display:inline-block;width:12px;height:12px;border-radius:50%}.key-n{background:#356bc8}.key-pt{background:#9caab6}.key-hit{background:#e1a044}#coverage{font-size:12px;font-weight:700;margin:9px 0 0;color:#334e68}#excess{font-size:12px;margin:3px 0;min-height:0}#ratePanel .caption{font-size:12px;line-height:1.5;margin:4px 0;min-height:0}.legend{margin:10px 0;font-size:11px}#extraGraphs{border-top:1px solid #cdd6dd;padding:12px 0}#extraGraphs summary,.notes summary{cursor:pointer;font-size:14px;font-weight:600;color:#304c65}#extraGraphs .graphs{margin-top:12px}#comparisons{margin-top:6px;padding:12px 0;border:0;border-top:1px solid #cdd6dd;border-radius:0}#comparisons h2{font-size:16px;margin-bottom:5px}#compareHelp{font-size:12px;margin:4px 0}#comparisonRows th,#comparisonRows td{padding:7px 8px}.notes{margin-top:10px;padding-top:12px}footer{font-size:11px;margin:16px 0 0}@media(max-width:1100px){.layout,.layout.surface-layout{grid-template-columns:190px minmax(0,1fr)}.surface-layout .controls{display:block}.equation{display:block}.equation .result{border:0;padding:0;display:flex;gap:10px}.formula{font-size:21px}.result strong{font-size:22px}#surfaceWorkspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#surfaceWorkspace .pt-heading{flex-direction:column;align-items:start}}@media(max-width:850px){main{padding:14px}.layout,.layout.surface-layout{grid-template-columns:1fr}.controls,.surface-layout .controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.controls h2,.controls .hint,.controls .actions{grid-column:1/-1}#surfaceWorkspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.control{margin:8px 0}.modes button{min-width:0;flex:1;font-size:14px;padding:11px 7px}}@media(max-width:600px){#surfaceWorkspace{grid-template-columns:1fr}#surfaceWorkspace .pt-heading{flex-direction:row;align-items:center}#surfaceWorkspace #ptCanvas{height:250px}#surfaceWorkspace #ratePanel .graph{height:250px}#orderSummary{display:block}.equation .result{display:block}.pt-key{gap:10px}body>nav{padding:10px 14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#graphViewer{min-width:0}.graph-navigation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px}.graph-navigation label{text-align:center;font-size:13px;font-weight:700}.graph-navigation button{padding:6px 12px}.graph-navigation select{grid-column:1/-1;font-size:13px;padding:8px}#graphViewer .graphs{display:block}#graphViewer .panel{border:0;padding:10px}#graphViewer .graph{height:300px}#graphViewer .caption{min-height:0}#graphViewer [hidden]{display:none!important}

#surfaceWorkspace #kineticPanel{border:1px solid #b9cbdc;border-radius:10px;background:#f3f8fd}#kineticCanvas{display:block;width:100%;height:330px;margin:10px 0;background:linear-gradient(#f8fbff,#e8f1fa);border-radius:8px}#kineticPause{font-size:12px;padding:8px 10px;flex-shrink:0}#kineticPanel .pt-heading h2{font-size:16px}#kineticPanel .unit{font-size:11px;line-height:1.5}#kineticPanel .caption{font-size:12px;min-height:0}.atom-key{display:flex;gap:12px;flex-wrap:wrap;font-size:11px}.atom-key span{display:flex;align-items:center;gap:4px}.atom-key i{width:10px;height:10px;border-radius:50%;border:1px solid #94a1ae}#reactionExample{margin:0 0 12px;padding:8px 0}#surfaceWorkspace #kineticPanel p{margin:6px 0}@media(max-width:600px){#kineticCanvas{height:310px}}

/* Consistent, accessible controls with clear selected and disabled states. */
button{min-height:44px;font-weight:600;border-radius:10px;transition:background-color .15s,box-shadow .15s,transform .15s}button:hover:not(:disabled){filter:none;box-shadow:0 3px 10px #183d621a}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,select:focus-visible{outline:3px solid #f0ac42;outline-offset:3px}button:disabled{opacity:1;background:#eef1f4!important;color:#8a96a4!important;border-color:#dde3e9!important;box-shadow:none!important}.modes{gap:8px;padding:8px;background:#eef3f8;border:1px solid #dbe4ec;border-radius:15px;width:fit-content;margin:12px 0 20px}.modes button{min-width:154px;border:1px solid transparent;border-radius:10px;background:transparent;box-shadow:none;color:#466079;padding:12px 22px}.modes button:hover:not(:disabled){background:#fff}.modes button[aria-pressed=true]{background:#234e80;color:white;border-color:#234e80;box-shadow:0 3px 8px #234e8033}.modes button[aria-pressed=true]:hover{background:#1a406e}.graph-navigation{padding:10px;background:#f1f5f9;border:1px solid #dce5ee;border-radius:12px;margin:0 0 10px;gap:10px}.graph-navigation button{background:#fff;border:1px solid #b8cce0;color:#234e80;padding:9px 13px;font-size:13px}.graph-navigation button:hover:not(:disabled){background:#e4effb;border-color:#739bc7}.graph-navigation label{font-size:12px;color:#4a6178}.graph-navigation select{min-height:44px;background:#fff;border:1px solid #c7d5e3;border-radius:9px;padding:10px;font-size:13px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}#pin{grid-column:1/-1;background:#147c80;color:white;border-color:#147c80;padding:11px}#pin:hover:not(:disabled){background:#0d686c}#clear{background:#fff;border-color:#cbd6e0;font-size:12px}#reset{background:#fff1cc;color:#765318;border-color:#e4cb8c;font-size:12px}#ptPause,#kineticPause,#play{background:#234e80;color:#fff;border:1px solid #234e80;padding:9px 13px;border-radius:9px;min-height:40px}#ptPause[aria-pressed=true],#kineticPause[aria-pressed=true]{background:#fff;color:#234e80}#comparisonRows button{min-height:36px;border-color:#c5d5e3;color:#234e80;background:#f6f9fc}.control select{min-height:44px;border-radius:9px;border-color:#c1cfdd}@media(max-width:850px){.modes{width:100%}.modes button{min-width:0;flex:1;padding:11px 8px}.actions{grid-template-columns:repeat(3,1fr)}#pin{grid-column:auto}}@media(prefers-reduced-motion:reduce){button{transition:none}}

.reaction-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#526b83;margin-bottom:9px}#reactionCards{display:grid;gap:9px}.reaction-card{position:relative;text-align:left;width:100%;padding:13px 26px 13px 12px;background:white;border:1px solid #c9d7e4;border-radius:11px;white-space:normal;overflow-wrap:anywhere}.reaction-card strong{display:block;font-size:14px;line-height:1.4;color:inherit}.reaction-card span{display:block;margin-top:5px;font-size:11px;font-weight:400;line-height:1.5;color:#5b7288}.reaction-card[aria-pressed=true]{background:#eaf3ff;border:2px solid #3674b9;color:#194878;padding:12px 25px 12px 11px;box-shadow:0 2px 6px #234e8012}.reaction-card[aria-pressed=true]::after{content:'✓';position:absolute;right:9px;top:14px;color:#2b6eae;font-weight:700}.species-counts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.species-counts span{border:1px solid #d2dfeb;border-radius:7px;background:white;padding:4px 7px;font-size:11px;color:#365570}.species-counts span.product-count{background:#e8f5ee;border-color:#b9dcca;color:#236047}

#graphChoices{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}#graphChoices button{text-align:left;padding:10px 12px;font-size:12px;line-height:1.3;min-height:44px;border:1px solid #c8d7e5;background:#fff;color:#415e78}#graphChoices button[aria-pressed=true]{background:#234e80;border-color:#234e80;color:white;box-shadow:0 2px 5px #234e8022}#graphChoices button:last-child:nth-child(odd){grid-column:1/-1}.graph-position{text-align:center;font-size:12px;font-weight:700;color:#4a6178}#timelineControls{padding:12px;border:1px solid #d7e2ec;border-radius:10px;background:#f5f8fb}.count-legend{display:flex;gap:9px;flex-wrap:wrap;font-size:12px;font-weight:700;margin:6px 0}#ptCounts{margin:8px 0}.timeline output{white-space:nowrap}#timeTarget{margin:8px 0 0;font-size:11px}

/* Match the LKS Science catalogue masthead and subject heading. */
body>.lab-site-nav{background:#003153;color:#fff;min-height:72px;padding:14px max(24px,calc((100vw - 1552px)/2));align-items:center;font-family:Inter,"Segoe UI",system-ui,sans-serif;border-bottom:1px solid #164565}
.lab-site-nav .lab-brand{display:inline-flex;align-items:center;gap:11px;font-size:19px;font-weight:650;letter-spacing:-.035em;white-space:nowrap}
.lab-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:6px;background:#ffffff15;color:white}.lab-brand-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8}
.lab-site-nav .lab-back{font-size:13px;font-weight:600;padding:10px 12px;border:1px solid #ffffff40;border-radius:6px}.lab-site-nav a:hover{color:#d5e9fa}.lab-site-nav a:focus-visible{outline:3px solid #f0ac42;outline-offset:4px}
main>.lab-intro{padding:26px 0 24px;margin-bottom:20px;border-bottom:1px solid #dce3eb;font-family:Inter,"Segoe UI",system-ui,sans-serif}.lab-kicker{color:#526779;font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.5}.lab-intro h1{font-size:clamp(32px,4vw,46px);font-weight:650;letter-spacing:-.045em;line-height:1.12;color:#182b40;margin:12px 0 14px}main>.lab-intro p{font-size:15px;line-height:1.65;color:#536579;max-width:680px}
@media(max-width:600px){body>.lab-site-nav{padding:12px 14px;min-height:64px;gap:12px}.lab-site-nav .lab-brand{font-size:16px;gap:8px}.lab-brand-mark{width:32px;height:32px}.lab-site-nav .lab-back{font-size:11px;padding:9px 8px}.lab-kicker{font-size:10px;letter-spacing:.08em}main>.lab-intro{padding:20px 0;margin-bottom:16px}.lab-intro h1{font-size:32px}main>.lab-intro p{font-size:14px}}

.condition-tag{font-size:12px!important;font-weight:700;color:#234e80!important;letter-spacing:.04em;margin:10px 0!important}.controls>.condition-tag{border-top:1px solid #cbd6df;padding-top:14px}#startBoth{width:100%;background:#234e80;color:white;border-color:#234e80}#surfaceWorkspace{grid-template-columns:repeat(2,minmax(0,1fr))}#graphViewer{grid-column:1/-1}#surfaceWorkspace #surfacePanel2,#surfaceWorkspace #kineticPanel2{border:1px solid #b9cbdc;border-radius:10px;background:#f3f8fd}#ptCanvas2,#kineticCanvas2{display:block;width:100%;height:300px;background:linear-gradient(#f8fbff,#e8f1fa);margin:10px 0}#ptPause2,#kineticPause2{background:#234e80;color:#fff;font-size:12px;padding:9px 13px}#surfacePanel2 .pt-heading,#kineticPanel2 .pt-heading{align-items:center}#surfaceBadge2{position:absolute;top:12px;left:12px}.controls input:disabled{opacity:.65;cursor:not-allowed}#timelineControls{margin-bottom:10px}.actions{display:block}.actions #reset{width:100%}@media(max-width:600px){#surfaceWorkspace{grid-template-columns:1fr}#ptCanvas2,#kineticCanvas2{height:250px}}

#sharedGraphControls{margin-bottom:16px}#sharedGraphControls .graph-navigation{margin-bottom:8px}#surfaceWorkspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px}#surfaceWorkspace #surfacePanel,#surfaceWorkspace #kineticPanel{grid-column:1;grid-row:1}#surfaceWorkspace #surfacePanel2,#surfaceWorkspace #kineticPanel2{grid-column:1;grid-row:2}#surfaceWorkspace #graphViewer{grid-column:2;grid-row:1}#surfaceWorkspace #graphViewerB{grid-column:2;grid-row:2;min-width:0}#graphViewer,#graphViewerB{padding:12px;border:1px solid #dce5ee;border-radius:10px;background:#fff}#graphViewerB .graph{height:300px}.countdown{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#234e80;background:#edf3fa;border-radius:7px;padding:9px 11px;margin:8px 0 14px}.countdown.complete{color:#206344;background:#eaf6ee}@media(max-width:700px){#surfaceWorkspace{grid-template-columns:1fr}#surfaceWorkspace #surfacePanel,#surfaceWorkspace #kineticPanel{grid-row:1;grid-column:1}#surfaceWorkspace #graphViewer{grid-row:2;grid-column:1}#surfaceWorkspace #surfacePanel2,#surfaceWorkspace #kineticPanel2{grid-row:3;grid-column:1}#surfaceWorkspace #graphViewerB{grid-row:4;grid-column:1}}

/* Unified controls: clear primary action, selected tabs and quiet secondary buttons. */
.modes{background:#edf2f7;border-color:#d5dfe9;padding:5px;gap:5px;border-radius:12px}.modes button{min-height:46px;border-radius:8px;font-size:15px;box-shadow:none}.modes button[aria-pressed=true]{background:#003153;border-color:#003153;box-shadow:0 2px 5px #00315320}.modes button[aria-pressed=true]:disabled{background:#dae6f0!important;border-color:#9eb6ca!important;color:#163d5b!important}
#startBoth{min-height:48px;border-radius:9px;background:#003153;border-color:#003153;font-size:14px;box-shadow:0 3px 8px #00315318}#startBoth::before{content:'▶';font-size:11px;margin-right:9px}#startBoth:hover:not(:disabled){background:#124969}#startBoth:disabled::before{content:'✓'}#startBoth[data-running=true]::before{content:'Ⅱ'}
.actions #reset{background:#fff;color:#34536c;border:1px solid #b9cad8;border-radius:9px;font-size:13px;min-height:44px}.reaction-card{border-radius:9px;padding:14px 28px 14px 12px}.reaction-card[aria-pressed=true]{background:#edf5fb;border-color:#416c8d;color:#003153;box-shadow:none}.reaction-card[aria-pressed=true]:disabled{background:#edf5fb!important;color:#234b69!important;border-color:#9db6ca!important}
.graph-navigation{background:#f7f9fc;padding:10px;border-radius:10px}.graph-navigation>button{min-height:38px;background:transparent;border-color:transparent;font-size:12px;padding:8px 12px}.graph-navigation>button:hover:not(:disabled){background:#e9f0f7}#graphChoices{display:flex;flex-wrap:wrap;gap:6px}#graphChoices button{flex:1 1 130px;min-height:43px;text-align:center;border-radius:8px;font-weight:600;border-color:#cfdae5;box-shadow:none}#graphChoices button[aria-pressed=true]{background:#003153;border-color:#003153;box-shadow:inset 0 -2px 0 #ffffff20}#graphChoices button:disabled[aria-pressed=true]{color:#204965!important}
#ptPause,#ptPause2,#kineticPause,#kineticPause2{background:white;color:#234b69;border:1px solid #b6cadb;border-radius:8px;font-size:12px;font-weight:600;min-height:38px;padding:8px 12px;box-shadow:none}
.fair-control{padding:12px;margin:14px 0;background:#f5f9fc;border:1px solid #cadbe7;border-radius:10px}.fair-control .reaction-label{display:block;margin:0 0 9px;font-size:10px}.fair-choices{display:grid;grid-template-columns:1fr 1fr;gap:5px}.fair-choices button{font-size:11px;min-height:42px;padding:8px 5px;border-radius:7px;border-color:#c9d9e5;color:#34536c}.fair-choices button[aria-pressed=true]{background:#003153;color:white;border-color:#003153}.fair-control .unit{margin:9px 0 0;font-size:11px}.fixed-control{border-left:3px solid #9eb5c7;padding-left:9px}.fixed-control .unit::after{content:' · Fixed in A & B';color:#46637b;font-weight:600}.fixed-control input:disabled{opacity:.45}

.vessel-controls{padding:12px 14px;margin:8px 0 14px;border:1px solid #ccdae6;border-radius:10px;background:#fff;display:grid;grid-template-columns:1fr;gap:8px}.vessel-controls .control{margin:0}.vessel-controls label{font-size:13px;font-weight:600;align-items:center;margin-bottom:2px}.vessel-controls output{min-width:56px;border:1px solid #c8d9e7;border-radius:6px;background:#f2f7fc;color:#003153;padding:5px 8px;text-align:center;font-weight:700;font-size:14px}.vessel-controls input[type=range]{appearance:none;-webkit-appearance:none;height:44px;width:100%;margin:3px 0;min-height:44px;background:transparent;touch-action:pan-y}.vessel-controls input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:10px;background:linear-gradient(to right,#235d86 0 var(--range-fill,50%),#dbe5ee var(--range-fill,50%) 100%)}.vessel-controls input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:25px;height:25px;margin-top:-8.5px;background:#fff;border:3px solid #235d86;border-radius:50%;box-shadow:0 2px 5px #163d5b26}.vessel-controls input[type=range]::-moz-range-track{height:8px;border-radius:10px;background:#dbe5ee}.vessel-controls input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#fff;border:3px solid #235d86;border-radius:50%}.vessel-controls input[type=range]:disabled::-webkit-slider-thumb{border-color:#93a8b8;background:#edf2f6}.vessel-controls input:focus-visible{outline:3px solid #e3ab46;outline-offset:1px;border-radius:6px}.vessel-controls .unit{display:block!important;font-size:11px!important;margin:0!important}.vessel-controls .fixed-control{border-left:3px solid #9eb5c7;padding-left:10px}.controls{position:static}.controls>.hint{margin-bottom:10px}@media(max-width:850px){.controls{position:static}.fair-control{grid-column:1/-1}#startBoth,#runStatus{grid-column:1/-1}.vessel-controls{padding:12px}}

.vessel-controls [hidden]{display:none!important}

.fair-choices button[aria-pressed=true]:disabled{background:#dce9f3!important;color:#174669!important;border-color:#9eb6ca!important}
