:root{--ink:#18251f;--muted:#69736e;--paper:#f3f0e7;--white:#fff;--green:#174c3b;--green-2:#23654f;--orange:#d85d3f;--line:#d7dbd4;--soft:#e9eee8}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:linear-gradient(135deg,rgba(23,76,59,.035),transparent 36%),var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}main{width:min(1450px,100%);min-height:100vh;margin:0 auto;padding:0 42px}header{min-height:92px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:white;box-shadow:inset 0 0 0 7px rgba(255,255,255,.12)}.brand-mark span{font:700 16px Georgia,serif}.eyebrow,.kicker,.section-number{margin:0 0 5px;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1{font:500 22px Georgia,serif;margin:0}.source-badge{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--green);font-size:12px;font-weight:700}.source-badge span{width:8px;height:8px;border-radius:50%;background:#51a373;box-shadow:0 0 0 4px rgba(81,163,115,.13)}.intro{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:end;padding:45px 0 39px}.intro h2{max-width:720px;margin:10px 0 0;font:500 clamp(34px,4.2vw,58px)/1.02 Georgia,serif;letter-spacing:-.04em}.intro>p{max-width:545px;margin:0;color:var(--muted);line-height:1.65}.calculator{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(540px,1.38fr);gap:18px}.input-panel,.output-panel,.chart-card{background:rgba(255,255,255,.93);border:1px solid rgba(24,37,31,.1);border-radius:16px;box-shadow:0 12px 38px rgba(24,37,31,.035)}.input-panel{padding:27px;display:flex;flex-direction:column}.input-panel h3,.output-panel h3,.chart-card h3{margin:0;font:500 23px Georgia,serif}.muted{margin:7px 0 27px;color:var(--muted);font-size:13px;line-height:1.5}.input-panel label{margin-bottom:8px;font-size:13px;font-weight:800}.dose-input{display:flex;align-items:stretch;overflow:hidden;border:1px solid #cfd6cf;border-radius:10px;background:#f7f8f5;transition:.2s}.dose-input:focus-within{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(35,101,79,.11)}.dose-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:15px 16px;color:var(--ink);font-size:22px;font-weight:700}.dose-input span{display:grid;place-items:center;padding:0 17px;background:#e8ece7;color:#51605a;font-size:13px;font-weight:800}.input-panel button{align-self:flex-start;margin-top:12px;padding:0;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:800;cursor:pointer}.input-panel button:hover{text-decoration:underline}.method-note{margin-top:auto;padding-top:25px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;font-size:12px}.method-note span{color:var(--muted);line-height:1.5}.output-panel{padding:27px}.output-heading,.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.total-pill{display:flex;flex-direction:column;align-items:flex-end;padding:10px 14px;border-radius:10px;background:var(--soft)}.total-pill span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.total-pill strong{margin-top:2px;color:var(--green);font-size:16px}.results-box{height:366px;overflow-y:auto;margin-top:22px;border:1px solid var(--line);border-radius:10px;scrollbar-color:#aab6ae transparent}.results-box:focus{outline:3px solid rgba(35,101,79,.13)}.table-head,.table-row,.summary-row{display:grid;grid-template-columns:1fr 1fr;align-items:center}.table-head{position:sticky;top:0;z-index:1;padding:11px 17px;background:var(--green);color:white;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.table-head span:last-child{text-align:right}.table-row{min-height:47px;padding:0 17px;border-bottom:1px solid #e4e6e2;font-size:13px}.table-row>span{font-weight:700}.table-row em{display:inline-block;width:30px;color:#9aa29d;font-size:10px;font-style:normal;letter-spacing:.08em}.table-row strong{text-align:right;font-variant-numeric:tabular-nums}.summary-row{padding:16px 17px;background:#f0f3ef;color:var(--green);font-size:13px}.summary-row strong{text-align:right}.remainder-note{margin:0;padding:15px 17px 17px;color:#5d6863;font-size:12px;line-height:1.5}.remainder-note strong{color:var(--orange)}.error{padding:18px;border-radius:8px;background:#fff0ed;color:#912f1d}.chart-card{margin-top:18px;padding:27px 27px 18px}.legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.legend span{width:10px;height:10px;border-radius:2px;background:var(--orange)}canvas{display:block;width:100%;height:340px;margin-top:14px}.chart-note{margin:5px 0 0;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}footer{display:flex;gap:20px;padding:25px 0 32px;color:var(--muted);font-size:11px}footer span:nth-child(2){margin-left:auto}footer span:last-child{color:var(--green);font-weight:800}@media(max-width:850px){main{padding:0 20px}.intro{grid-template-columns:1fr;gap:17px;padding:34px 0}.calculator{grid-template-columns:1fr}.method-note{margin-top:30px}.source-badge{font-size:0}.source-badge:after{content:'CSV loaded';font-size:11px}.output-panel{padding:22px}footer{flex-direction:column;gap:7px}footer span:nth-child(2){margin-left:0}}@media(max-width:520px){main{padding:0 14px}header{min-height:78px}.brand-mark{width:40px;height:40px}.eyebrow{display:none}h1{font-size:17px}.intro h2{font-size:37px}.input-panel{padding:22px}.output-heading,.chart-heading{align-items:flex-start}.total-pill{display:none}.table-head,.table-row,.summary-row{grid-template-columns:1.2fr .8fr}canvas{height:270px}.chart-card{padding:22px 14px 14px}.legend{display:none}}
