:root{--forest:#006838;--lime:#d6de23;--green:#37b34a;--green-700:#17ad37;--slate:#8392ab;--danger:#ea0606;--brand-gradient:linear-gradient(310deg, #006838 0%, #d6de23 100%);--ink:#141727;--paper:#f6f8f4;--surface:#fff;--line:#d7ddd2;--tint:#eef3e9;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num:ui-monospace, "SF Mono", "Cascadia Mono", "Consolas", monospace;font-family:var(--font-ui);color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--paper);margin:0}main,.pad{max-width:60rem;margin:0 auto;padding:1.25rem clamp(1rem,4vw,2rem)}h1{letter-spacing:-.01em;margin:0 0 1rem;font-size:1.6rem;font-weight:750}h2{letter-spacing:-.005em;color:var(--forest);margin:1.75rem 0 .5rem;font-size:1.15rem;font-weight:700}nav{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1.1rem;padding:.7rem clamp(1rem,4vw,2rem);display:flex}nav strong{letter-spacing:-.02em;background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;margin-right:.5rem;font-size:1.05rem;font-weight:800}nav a{color:var(--slate);border-bottom:2px solid #0000;padding:.2rem 0;font-size:.93rem;font-weight:550;text-decoration:none}nav a:hover{color:var(--forest)}nav a.active{color:var(--forest);border-bottom-color:var(--lime);font-weight:700}.subnav{background:0 0;border:none;flex-wrap:wrap;gap:1.1rem;margin:.3rem 0 1.4rem;padding:0;display:flex}.setup>div,.mix>section{margin-bottom:2.5rem}.modes{gap:1.5rem;margin:.3rem 0 .6rem;display:flex}.wizard{max-width:720px;margin:0 auto}.steps{counter-reset:step;flex-wrap:wrap;gap:.5rem;margin:0 0 1.6rem;padding:0;list-style:none;display:flex}.steps li{color:var(--slate);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem;font-size:.9rem;font-weight:550}.steps li.active{color:var(--forest);border-color:var(--lime);font-weight:700}.steps li.done{color:var(--forest)}.spacer{flex:1}.muted{color:var(--slate)}.name{font-size:.8em;font-weight:400;display:block}.error,.over{color:var(--danger)}label{margin:.6rem 0;font-size:.9rem;font-weight:550;display:block}label.inline{margin-right:.9rem;display:inline-block}label.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}label.inline input,label.row input{width:6rem}input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-top:.25rem;padding:.4rem .55rem;transition:border-color .12s,box-shadow .12s;display:block}input[type=number]{font-family:var(--font-num)}input:focus,select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #37b34a38}input[type=range]{accent-color:var(--green);border:none;width:min(12rem,100%);padding:0}input[type=checkbox],input[type=radio]{accent-color:var(--green)}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--green);outline-offset:2px}fieldset{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:0 0 1rem;padding:.5rem 1rem 1rem}legend{letter-spacing:.08em;text-transform:uppercase;color:var(--forest);padding:0 .4rem;font-size:.72rem;font-weight:700}.shape-tabs{gap:.25rem;margin:0 0 .75rem;display:flex}.shape-tabs button{margin:0}.shape-tabs button[aria-pressed=true]{border-color:var(--green);background:var(--tint);color:var(--forest)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;max-width:24rem;margin:3rem auto;position:relative;overflow:hidden;box-shadow:0 12px 32px #00683814}.card:before{content:"";background:var(--brand-gradient);height:4px;display:block}.modal{border:1px solid var(--line);background:var(--surface);width:min(46rem,92vw);max-height:90vh;color:var(--ink);border-radius:14px;padding:0;overflow:auto;box-shadow:0 12px 40px #00000040}.modal::backdrop{background:#00000080}button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;margin-right:.5rem;padding:.5rem .95rem;font-weight:600;transition:border-color .12s,box-shadow .12s,transform 60ms}button:hover{border-color:var(--green)}button:active{transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:0 0 0 3px #37b34a4d}button:disabled{opacity:.5;cursor:not-allowed}button[type=submit],button.primary{background:var(--brand-gradient);color:#fff;text-transform:uppercase;letter-spacing:.04em;border:none;font-size:.85rem;box-shadow:0 6px 16px #00683840}button[type=submit]:hover,button.primary:hover{box-shadow:0 8px 20px #00683852}button.link{color:var(--forest);background:0 0;border:none;padding:.5rem .25rem;font-weight:550;text-decoration:underline}a.link{color:var(--forest)}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:auto;margin:1rem 0;overflow:hidden}caption{text-align:left;color:var(--forest);padding:0 0 .4rem;font-weight:700}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.4rem .7rem}thead th{background:var(--tint);color:var(--forest);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line);font-size:.72rem;font-weight:700}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--tint)}td{font-variant-numeric:tabular-nums}.tight input{width:6rem}.tight td input{font-family:var(--font-num)}.changed .damp{vertical-align:middle;border-left:1px solid var(--line)}.changed .damp label{color:var(--muted);align-items:center;gap:.4rem;margin:0;font-size:.8rem;display:flex}.changed .damp input{width:4.5rem;font-family:var(--font-num)}.cols{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.viz{--series-1:var(--forest);--viz-axis:#c3c2b7;--viz-grid:#e8e8e0;--tint-on:#dff0e0;--tint-near:#fdf3d4;--tint-off:#fbdcdc}.sparks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1rem 0;display:grid}.spark{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:0;padding:.75rem}.spark figcaption{color:var(--slate);font-size:.85rem}.spark figcaption .link{font-size:inherit;padding:0}.spark .latest{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--forest);font-weight:700}.spark.clickable{cursor:pointer}.spark.big{cursor:default;max-width:100%;overflow-x:auto}.spark.big svg{max-width:100%;height:auto}.tick{fill:var(--slate);font-size:9px;font-family:var(--font-num)}.spark-plot{position:relative}.spark-tip{white-space:nowrap;pointer-events:none;z-index:5;background:var(--ink);color:var(--paper);font-variant-numeric:tabular-nums;border-radius:6px;gap:.1rem;padding:.35rem .55rem;font-size:.75rem;line-height:1.3;display:grid;position:absolute;transform:translate(-50%,calc(-100% - .5rem))}.spark-tip .tip-date,.spark-tip .muted{color:var(--slate)}.viewswitch{gap:0;margin:.5rem 0 0;display:inline-flex}.viewswitch button{border-radius:0}.viewswitch button:first-child{border-radius:8px 0 0 8px}.viewswitch button:last-child{border-radius:0 8px 8px 0;margin-left:-1px}.viewswitch button[aria-pressed=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.table-scroll{border:1px solid var(--line);border-radius:8px;max-height:70vh;margin:1rem 0;overflow:auto}.numbers{border:none;border-radius:0;margin:0;overflow:visible}.numbers caption{padding:.5rem .7rem 0}.numbers th,.numbers td{white-space:nowrap}.numbers td{font-family:var(--font-num);text-align:right}.numbers thead th{z-index:2;background:var(--tint);position:sticky;top:0}.numbers tbody th{z-index:1;background:var(--surface);font-weight:600;position:sticky;left:0}.numbers thead th:first-child{z-index:3;left:0}.numbers tfoot th,.numbers tfoot td{z-index:2;background:var(--tint);color:var(--forest);border-top:2px solid var(--line);font-weight:700;position:sticky;bottom:0}.numbers tfoot th{z-index:3;left:0}.numbers td.on{background:var(--tint-on)}.numbers td.low,.numbers td.high{background:var(--tint-near)}.numbers td.off-low,.numbers td.off-high{background:var(--tint-off)}@media (prefers-color-scheme:dark){:root{--ink:#e7ece6;--paper:#10140f;--surface:#191f18;--line:#2c352a;--tint:#1f2a1c;--slate:#9aa8bd}h1{color:var(--ink)}h2,legend,caption,thead th,nav a.active,nav a:hover{color:var(--green)}nav a.active{border-bottom-color:var(--lime)}.viz{--series-1:#4fd06a;--viz-axis:#383835;--viz-grid:#262b24;--tint-on:#1d3a24;--tint-near:#3a3320;--tint-off:#3d2020}.spark-tip{color:#141727;background:#f2f5f0}.spark-tip .tip-date,.spark-tip .muted{color:#5c6470}.viewswitch button[aria-pressed=true]{background:var(--green);color:#06120a;border-color:var(--green)}.card{box-shadow:0 12px 32px #00000080}input:focus,select:focus{box-shadow:0 0 0 3px #37b34a4d}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}}.toast{background:var(--forest);color:#fff;z-index:100;box-sizing:border-box;border-radius:8px;max-width:calc(100vw - 2rem);padding:.6rem 1.1rem;font-weight:600;animation:.2s ease-out toast-in;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,.5rem)}}@media (width<=640px){nav{gap:.3rem .9rem}nav a{padding:.45rem 0}nav .muted{display:none}table{width:fit-content;max-width:100%;display:block;overflow-x:auto}.numbers{width:auto;max-width:none;display:table;overflow:visible}.table-scroll{max-height:60vh}.modal{width:96vw}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.toast{animation:none}}@media print{.mix:has(.print)>:not(.print){display:none}.no-print,nav button{display:none}body{color:#000;background:#fff}table,fieldset,.card{box-shadow:none}@page{margin:1cm}.cols{display:block}.tank-A,.tank-B,.dose{margin:1rem 12px;overflow:visible}.tank-A{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:10px solid #d00}.tank-B{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:10px solid #04c}.dose{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:10px solid #0a0}}
