@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-normal-CWV284fw.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-normal-DLkyKLvH.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-400-normal-C44pakCn.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-400-normal-B8Z6Jvzv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-greek-400-normal-Cw5-AHNN.woff2) format("woff2"),url(/assets/source-serif-4-greek-400-normal-BccYJ-vZ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-vietnamese-400-normal-BbG3LG1A.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-400-normal-DR1UuFon.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-ext-400-normal-Cp7z-ARB.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-400-normal-CEpydyUl.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-normal-Dn3IlU-Z.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-cyrillic-ext-500-normal-DaDZE_Na.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-500-normal-8-8HP2PF.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-cyrillic-500-normal-BdVUvljg.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-500-normal-Bb4u56_6.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-greek-500-normal-By8GFJzz.woff2) format("woff2"),url(/assets/source-serif-4-greek-500-normal-z-Q6FFuG.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-vietnamese-500-normal-Bi3OSTTW.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-500-normal-8N8MYVKB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-latin-ext-500-normal-BYjRCDVy.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-500-normal-D-qasQTj.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-latin-500-normal-CUHe9xxf.woff2) format("woff2"),url(/assets/source-serif-4-latin-500-normal-DVVamBqs.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:IBM Plex Sans,sans-serif;color:#29463e;background:#e8f0ed;font-synthesis:none;--bg:#E8F0ED;--panel:#F6FAF8;--ink:#29463E;--line:#A4BBB0;--accent:#527A6B}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--accent);border-radius:3px;padding:10px 15px;background:transparent;min-height:42px}button:hover{background:var(--panel)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}input{background:var(--panel);border:1px solid var(--accent);border-radius:2px;padding:10px 12px;min-width:0;max-width:100%}input[aria-invalid=true]{border:2px dashed var(--ink)}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;font-weight:400;line-height:1.15}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;gap:20px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font:24px "Source Serif 4",serif}.brand img{width:44px;height:44px;object-fit:contain}nav{display:flex;align-items:center;gap:24px}.text-button{border:none;padding:7px 0;background:none;text-decoration:none;min-height:40px;font-size:14px}.text-button:hover{text-decoration:underline;background:transparent}main{max-width:1600px;margin:auto;padding:38px 4.5vw 0}main:focus{outline:none}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{font-size:12px;letter-spacing:.065em;text-transform:uppercase;margin-bottom:12px}h1{font-size:clamp(34px,3.4vw,51px)}.page-heading p:not(.eyebrow){margin-top:15px;font-size:16px}.local-badge{font-size:13px;white-space:nowrap;border:1px solid var(--line);padding:8px 12px;display:flex;gap:8px;align-items:center}.local-badge i{width:6px;height:6px;background:var(--accent);border-radius:50%}.plan-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px;border-top:1px solid var(--line);padding-top:20px}.plan-name{font-size:13px;display:flex;align-items:center;gap:16px;flex:1}.plan-name input{width:300px;background:transparent}.toolbar-actions{display:flex;gap:8px}.toolbar-actions button{font-size:14px}#saved-count{font-family:IBM Plex Mono,monospace;font-size:12px;padding-left:8px}#message{font-size:13px;min-height:46px;padding:13px 0}.work-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);border-top:1px solid var(--ink)}.members-panel{padding:28px 30px 28px 0}.section-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}h2{font-size:26px}.budget-label{font-size:13px;width:165px;flex-shrink:0}.budget-label span{float:right}.budget-label input{display:block;width:100%;font:22px IBM Plex Mono,monospace;margin-top:8px}.unit-note{font-size:12px;margin:17px 0 25px}.member-head,.member-row{display:grid;grid-template-columns:minmax(100px,1.6fr) minmax(56px,.55fr) minmax(85px,.8fr) minmax(78px,.75fr) 28px;gap:12px;align-items:center}.member-head{font-size:12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.member-head span:nth-child(4){text-align:right}.member-row{padding:17px 0 9px}.member-row input{width:100%;font-size:14px;padding:8px 6px;background:transparent}.member-row input[data-field=weight],.member-row input[data-field=cap]{font-family:IBM Plex Mono,monospace;font-size:13px}.member-row input[data-field=name]{border-color:transparent;padding-left:0}.member-row input[data-field=name]:hover,.member-row input[data-field=name]:focus{border-color:var(--accent);padding-left:6px}.allocation{font:15px IBM Plex Mono,monospace;text-align:right;overflow-wrap:anywhere}.remove{border:none;padding:0;min-height:32px;font-size:20px}.member-block{border-bottom:1px solid var(--line)}.calculation{font-size:12px;padding-bottom:14px}.calculation summary{cursor:pointer;list-style:none;width:fit-content}.calculation summary:before{content:"+ ";font-family:monospace}.calculation[open] summary:before{content:"− "}.calculation p{padding:10px 0 0;line-height:1.6;max-width:600px}.row-bar{height:4px;background:var(--bg);margin:0 40px 12px 0;position:relative;border-left:1px solid var(--ink);border-right:1px solid var(--ink)}.row-bar i{display:block;height:4px;background:var(--accent)}.row-bar:after{content:"";position:absolute;left:50%;height:6px;top:-1px;border-left:1px solid var(--ink)}.member-footer{display:flex;align-items:center;gap:20px;padding:12px 0 22px}#member-count{font-size:12px;margin-left:auto}.rules-section{border-top:1px solid var(--line);padding-top:25px}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.rule{padding:14px 12px;text-align:left;border-radius:0;border-color:var(--line);border-right:none;min-height:122px}.rule:last-child{border-right:1px solid var(--line)}.rule.active{background:var(--ink);color:var(--panel);border-color:var(--ink)}.rule span{display:block;font-size:13px}.rule strong{font:19px IBM Plex Mono,monospace;display:block;margin:15px 0 6px}.rule small{font-size:11px}#rule-note{font-size:14px;line-height:1.5;margin:18px 0}.method{font-size:13px;line-height:1.6}.method summary{cursor:pointer}.method p{margin-top:10px}.results-panel{background:var(--panel);border-left:1px solid var(--line);padding:28px 25px}.results-panel .section-top{display:block}.live-tag{font-size:12px;display:block;margin-top:12px}.assigned{margin:32px 0 10px}.assigned>span:first-child{font:clamp(28px,3.3vw,47px) "IBM Plex Mono",monospace;display:block;overflow-wrap:anywhere}.assigned>span:last-child{font-size:13px}#allocation-chart{margin:26px 0 28px;overflow:auto;max-height:520px}.cylinder-chart{width:100%;display:block;min-width:230px;max-height:300px}.chart-label{font-family:IBM Plex Mono,monospace}.chart-key{display:grid;gap:7px;margin:12px 0 0;font-size:12px}.chart-key>div{display:flex;justify-content:space-between;gap:14px}.chart-key strong{font-weight:400}.balance-row{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:18px;gap:16px;font-size:14px}.balance-row strong{font:17px IBM Plex Mono,monospace}#balance-note{font-size:13px;line-height:1.55;margin:12px 0 24px}.result-actions{display:grid;gap:10px}.primary{color:var(--panel);background:var(--ink);border-color:var(--ink)}.primary:hover{background:var(--accent)}.result-actions button{display:flex;justify-content:space-between;align-items:center;font-size:14px}.result-actions .text-button{justify-content:center;gap:12px}.empty{padding:35px 0;font-size:15px;line-height:1.6}#validation{padding:14px;border:1px dashed var(--ink);font-size:14px;margin-bottom:18px}footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;border-top:1px solid var(--line);padding:24px 0 28px}dialog{color:var(--ink);background:var(--panel);border:1px solid var(--ink);border-radius:4px;max-width:560px;width:calc(100% - 32px);padding:26px}dialog::backdrop{background:#29463e59}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-top button{border:none;font-size:24px;min-width:40px;padding:0}#dialog-body{font-size:15px;line-height:1.6}#dialog-body p{margin:15px 0}#dialog-body button{margin:8px 8px 8px 0}.snapshot{display:flex;gap:8px;border-top:1px solid var(--line);padding:10px 0;align-items:center}.snapshot span{flex:1;overflow-wrap:anywhere}.soon-label{display:inline-block;font:12px IBM Plex Mono,monospace;border:1px solid var(--ink);padding:4px 10px}.noscript{padding:25px;background:var(--panel)}#intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg);display:flex;flex-direction:column;padding:30px 4.5vw}#intro[hidden]{display:none}.intro-top,.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.intro-top .eyebrow{margin:0}.intro-scene{position:relative;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:0}.intro-pipette{position:absolute;width:145px;height:160px;left:calc(50% - 215px);top:6%;animation:pipette 10s ease-in-out both}.intro-pipette img{width:100%;height:100%;object-fit:contain}.intro-vessels{display:flex;gap:36px;align-items:end;height:220px;margin-top:40px}.intro-vessel{position:relative;width:75px;height:180px;border:2px solid var(--ink);border-top:none;border-radius:0 0 14px 14px;overflow:hidden}.intro-vessel i{position:absolute;bottom:0;left:0;right:0;background:var(--accent);height:0;animation:fill 10s linear both}.intro-vessel.v1 i{animation-name:fillcap}.intro-vessel.v3 i{animation-delay:.3s}.intro-vessel span{position:absolute;border-bottom:1px dashed var(--ink);top:95px;left:0;width:100%;text-align:right;padding-right:5px;font-size:12px}.falling-drop{position:absolute;left:calc(50% - 121px);top:27%;width:11px;height:16px;background:var(--accent);border-radius:50% 50% 60% 60%;animation:drop 10s linear both}#intro-caption{font:24px "Source Serif 4",serif;margin-top:35px;text-align:center;max-width:500px}.intro-brand{position:absolute;bottom:5%;text-align:center;opacity:0;animation:brand 10s both}.intro-brand h1{font-size:38px}.intro-brand p{margin-top:10px}.intro-bottom{font-size:12px}.time-track{width:200px;height:2px;background:var(--line)}.time-track i{display:block;height:2px;background:var(--ink);animation:progress 10s linear both}@keyframes pipette{0%,12%{transform:translateY(-12px)}20%,33%{transform:translateY(15px)}44%{transform:translate(110px)}58%{transform:translate(220px,15px)}72%{transform:translate(110px)}85%,to{transform:translateY(-20px)}}@keyframes fill{0%,22%{height:0}40%{height:30%}55%{height:42%}80%,to{height:75%}}@keyframes fillcap{0%,15%{height:0}35%{height:30%}45%,to{height:45%}}@keyframes drop{0%,15%{opacity:0}16%{opacity:1;transform:translate(0)}25%{opacity:1;transform:translateY(140px)}26%,38%{opacity:0;transform:translate(110px)}40%{opacity:1;transform:translate(110px)}50%{opacity:1;transform:translate(110px,140px)}51%,56%{opacity:0;transform:translate(220px)}58%{opacity:1;transform:translate(220px)}70%{opacity:1;transform:translate(220px,140px)}71%,to{opacity:0}}@keyframes brand{0%,76%{opacity:0;transform:translateY(10px)}85%,to{opacity:1;transform:translateY(0)}}@keyframes progress{0%{width:0}to{width:100%}}@media(min-width:1450px){.member-row{padding-top:21px}.results-panel{padding:30px 34px}}@media(max-width:1050px){.work-grid{grid-template-columns:minmax(0,1.35fr) minmax(285px,1fr)}.members-panel{padding-right:20px}.member-head,.member-row{gap:7px}.section-top{display:block}.budget-label{display:block;margin-top:18px;width:220px}.plan-name{display:block}.plan-name input{display:block;margin-top:7px;width:100%}.page-heading{align-items:flex-start}.local-badge{margin-top:4px}}@media(max-width:760px){header{height:75px;padding:0 5vw}.brand{font-size:21px;gap:4px}.brand img{width:36px;height:36px}nav{gap:10px}nav .text-button{font-size:12px}main{padding:27px 5vw 0}.page-heading{display:block;margin-bottom:25px}.page-heading h1{font-size:37px}.page-heading p:not(.eyebrow){font-size:15px;line-height:1.5}.local-badge{display:inline-flex;margin-top:18px}.plan-toolbar{display:block}.plan-name input{width:100%}.toolbar-actions{margin-top:12px;flex-wrap:wrap}.toolbar-actions button{flex:1;font-size:13px;padding:8px 10px}#message{min-height:54px;line-height:1.5}.work-grid{display:block}.members-panel{padding:25px 0}.section-top{display:flex}.budget-label{width:125px;margin:0}.budget-label input{font-size:19px;padding:10px 7px}.section-top h2{font-size:24px}.section-top .eyebrow{font-size:11px}.member-head,.member-row{grid-template-columns:minmax(83px,1.4fr) 47px minmax(66px,.8fr) minmax(62px,.8fr) 20px;gap:6px}.member-head{font-size:10px}.member-row input{font-size:12px}.member-row input[data-field=weight],.member-row input[data-field=cap]{font-size:11px;padding:10px 4px}.allocation{font-size:12px}.rule{padding:13px 8px}.rule span{font-size:12px}.rule strong{font-size:16px}.rule small{font-size:10px}.results-panel{border-left:0;border-top:1px solid var(--ink);padding:25px 20px}.assigned>span:first-child{font-size:44px}#allocation-chart{max-height:none}.cylinder-chart{max-height:290px}footer{display:block;line-height:1.8}footer span{display:block}#intro{padding:20px 5vw}.intro-top .eyebrow{font-size:10px;max-width:160px}.intro-top button{font-size:13px}.intro-vessels{gap:28px}.intro-vessel{width:60px}.intro-pipette{width:125px;left:calc(50% - 160px);top:6%}.intro-brand{bottom:3%}.intro-brand h1{font-size:32px}.intro-bottom{font-size:10px}.time-track{width:90px}#intro-caption{font-size:20px}.falling-drop{left:calc(50% - 92px)}@keyframes pipette{0%,12%{transform:translateY(-12px)}20%,33%{transform:translateY(15px)}44%{transform:translate(88px)}58%{transform:translate(176px,15px)}72%{transform:translate(88px)}85%,to{transform:translateY(-20px)}}}@media(max-height:650px){.intro-vessels{height:140px;margin-top:45px}.intro-vessel{height:120px}.intro-vessel span{top:60px}.intro-pipette{height:100px;top:0}.intro-brand{bottom:0}#intro-caption{margin-top:12px;font-size:18px}.intro-brand h1{font-size:27px}.intro-brand p{font-size:12px}.intro-scene{padding-bottom:70px}}@media(prefers-reduced-motion:reduce){#intro{display:none}*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}.intro-pipette svg{width:100%;height:100%}.plunger{animation:press 10s ease-in-out both}.intro-vessels{animation:bench-transfer 10s ease-in-out both}#intro{animation:opening-exit 10s linear both}@keyframes press{0%,12%,32%,44%,58%,72%,to{transform:translateY(0)}20%,49%,64%{transform:translateY(3px)}}@keyframes bench-transfer{0%,88%{transform:translate(0) scale(1)}to{transform:translate(27vw,80px) scale(.65)}}@keyframes opening-exit{0%,95%{opacity:1}to{opacity:0}}@media(max-width:760px){.member-row input{font-size:14px}.member-row input[data-field=weight],.member-row input[data-field=cap],.allocation{font-size:13px}.member-head{font-size:11px}.brand{white-space:nowrap;font-size:19px}header{gap:10px}.brand img{width:28px}nav{gap:10px}nav .text-button{font-size:11px}}
