:root{--purple:#502075;--green:#166546;--ink:#242e28;--muted:#69746e;--line:#e1e8e1}*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,sans-serif;color:var(--ink);background:radial-gradient(ellipse at 12% 15%,#eee4f6,transparent 45%),radial-gradient(ellipse at 90% 40%,#e5f0e4,transparent 50%),#f7f9f5}a{color:inherit}header{max-width:1180px;margin:auto;padding:20px 28px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:20px;letter-spacing:.1em;font-weight:850;color:var(--purple)}.brand img{width:58px;border-radius:16px}.brand small{display:block;font-size:10px;letter-spacing:.22em;color:var(--green)}select,input,button{font:inherit}select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;color:var(--ink)}main{max-width:1160px;margin:auto;padding:0 28px}.intro{padding:42px 0 32px;max-width:790px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--green)}h1{font-size:clamp(36px,4.4vw,57px);line-height:1.07;letter-spacing:-.045em;color:var(--purple);margin:15px 0 18px}h1 br{display:none}.intro p{font-size:18px;color:var(--muted);max-width:640px}.workspace{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:start}.card{padding:32px;border-radius:26px;border:1px solid #fff;background:#fffffff0;box-shadow:0 20px 60px #293d2910}h2{font-size:25px;letter-spacing:-.025em;margin:0 0 8px}.muted,.hint{color:var(--muted)}.muted{margin:0 0 24px}.hint{font-size:13px;margin:7px 0 10px;line-height:1.5}label{display:flex;align-items:center;gap:10px;font-weight:750}.step{border-radius:10px;background:#eee6f3;color:var(--purple);width:28px;height:28px;display:grid;place-items:center;font-size:13px}.input-wrap{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:13px;background:#f9fbf8;margin-bottom:23px;overflow:hidden}.input-wrap:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px #50207515}.input-wrap input{border:0;outline:0;background:transparent;width:100%;min-width:0;padding:13px 16px;font-size:24px;color:var(--ink)}.input-wrap span{padding:0 16px;color:var(--purple);font-weight:750}input::placeholder{color:#acb3ad;font-size:19px}.capacity-label{font-size:14px;margin:3px 0 10px}#capacity{width:100%}button{cursor:pointer;border:0;font-weight:750;border-radius:13px;min-height:48px}.primary{width:100%;padding:14px 18px;background:linear-gradient(110deg,#502075,#724397);color:#fff;margin-top:16px;box-shadow:0 8px 22px #50207520}.primary:hover{filter:brightness(1.1)}.reset{display:block;margin:9px auto 0;padding:8px 20px;background:transparent;color:var(--muted)}:focus-visible{outline:3px solid #b088ce;outline-offset:3px}.result{position:sticky;top:24px;overflow:hidden;background:linear-gradient(150deg,#fff,#f5f9f2)}.result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.badge{font-size:12px;font-weight:800;color:var(--purple);border:1px solid #d9c8e5;background:#f4eef7;padding:5px 12px;border-radius:999px}.number{display:flex;align-items:baseline;gap:12px;margin-top:22px;flex-wrap:wrap}.number>span:first-child{font-size:clamp(45px,5vw,72px);line-height:1.1;font-weight:850;letter-spacing:-.055em;color:var(--purple);overflow-wrap:anywhere}.unit{font-size:20px;color:var(--purple);font-weight:650}.equivalent{font-size:16px;color:var(--muted);margin:12px 0}.syringe-stage{margin:26px -15px 0}svg{width:100%;height:auto;display:block}#fill{transition:width .6s ease}#piston{transition:transform .6s ease}.visual-help{font-size:13px;color:var(--green);text-align:center;margin:2px 0 25px}.details{padding:16px 20px;border:1px solid var(--line);background:#fff;border-radius:14px}.details div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;font-size:13px}.details span{color:var(--muted)}.details b{font-variant-numeric:tabular-nums;text-align:right}.precision{color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}#error,.warning{padding:13px;border:1px solid #e9bda6;border-radius:12px;background:#fff3e9;color:#8b3d19;font-size:14px}.explainer{margin:40px 0;padding:28px 0}.terms{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:20px}.terms p{border-top:1px solid #d7dfd5;padding-top:20px}.terms b{display:block;color:var(--purple);font-size:25px}.terms span{font-size:14px;color:var(--muted)}summary{font-weight:700;cursor:pointer;color:var(--purple);padding:12px 0}details p{color:var(--muted);font-size:14px}.notice{font-size:12px;color:var(--muted);margin-top:26px;max-width:900px}footer{border-top:1px solid var(--line);max-width:1104px;margin:auto;padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}footer img{width:90px;height:auto}footer a{text-decoration:none}[hidden]{display:none!important}@media(max-width:760px){header{padding:16px 20px}main{padding:0 20px}.intro{padding:24px 0}.workspace{grid-template-columns:1fr}.card{padding:25px}.result{position:static}.terms{grid-template-columns:1fr}.terms p{margin:0;padding-top:13px}.terms b{font-size:20px}footer{margin:0 20px;flex-wrap:wrap}.brand{font-size:17px}.brand img{width:45px}header select{max-width:145px;font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.versions{display:flex;gap:4px;background:#ebe8ee;border-radius:14px;padding:5px;width:max-content;margin:18px 0 0}.versions a{padding:9px 25px;border-radius:10px;text-decoration:none;font-weight:750;color:#74617e;font-size:14px}.versions a.selected{background:#fff;color:var(--purple);box-shadow:0 3px 12px #50207510}
.back-choice{display:inline-block;margin-top:20px;color:var(--purple);text-decoration:none;font-size:13px;font-weight:700}.chooser{min-height:calc(100vh - 215px);padding-bottom:40px}.chooser .intro{padding-top:60px;max-width:900px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:10px 0 30px}.choice{display:flex;flex-direction:column;text-decoration:none;padding:35px;transition:transform .2s,box-shadow .2s}.choice:hover{transform:translateY(-4px);box-shadow:0 24px 60px #50207518}.choice-icon{font-size:45px;color:var(--purple);margin-bottom:18px}.choice h2{font-size:29px;color:var(--purple);margin-top:12px}.choice p{color:var(--muted);margin:5px 0 30px}.choice-action{margin-top:auto;border-radius:12px;background:#502075;color:white;padding:14px 18px;text-align:center;font-weight:750;font-size:14px}.choice:last-child .choice-action{background:var(--green)}@media(max-width:760px){.choices{grid-template-columns:1fr;gap:18px}.chooser .intro{padding-top:30px}.choice{padding:26px}.choice-icon{font-size:36px;margin-bottom:12px}.choice h2{font-size:25px}.choice p{margin-bottom:20px}}
.report-fields{background:#f0edf5;padding:18px;border-radius:15px;margin-bottom:25px}.report-fields input{display:block;width:100%;border:1px solid #d6cfdd;background:white;border-radius:10px;padding:12px;margin:8px 0 15px}.report-fields input:last-child{margin-bottom:0}.report-buttons{display:flex;gap:10px;margin-top:20px}.report-buttons button{flex:1;padding:12px;background:var(--purple);color:white;font-size:14px}.report-buttons button:last-child{background:var(--green)}.report-buttons button:disabled{opacity:.45;cursor:wait}.shop{text-align:center;padding:25px;border-radius:20px;background:#ebe3f2;margin:0 0 35px}.shop a{font-size:18px;font-weight:800;text-decoration:none;color:var(--purple)}.shop small{display:block;color:var(--muted);margin-top:6px}
.anatomy{margin-top:30px}.anatomy img{display:block;width:100%;max-width:750px;margin:20px auto;border-radius:20px}.anatomy p,.anatomy li{color:var(--muted);font-size:14px}.anatomy h3{color:var(--purple)}
.install-banner{display:flex;align-items:center;gap:16px;margin:24px 0 8px;padding:20px;border:1px solid #d9c8e5;border-radius:20px;background:linear-gradient(120deg,#f0e8f7,#edf6ed)}.install-banner img,.install-dialog img{border-radius:15px}.install-banner strong{font-size:17px;color:var(--purple)}.install-banner p{margin:4px 0 0;font-size:13px;color:var(--muted)}.install-banner button{margin-left:auto;background:var(--purple);color:white;padding:12px 18px;white-space:nowrap;font-size:13px}.install-dialog{border:0;border-radius:24px;padding:30px;width:min(92vw,530px);max-height:90dvh;color:var(--ink);box-shadow:0 25px 80px #18092744}.install-dialog::backdrop{background:#20102f99;backdrop-filter:blur(5px)}.install-dialog h2{margin-top:18px;color:var(--purple)}.install-dialog ol{padding-left:23px}.install-dialog li{padding:6px 0;font-size:14px}.install-dialog p{font-size:12px;color:var(--muted)}.install-dialog .install-url{overflow-wrap:anywhere;color:var(--purple);font-weight:700}.install-actions{display:flex;gap:12px;margin-top:20px}.install-actions button{flex:1;padding:10px;background:#ede6f3;color:var(--purple)}.install-actions button:last-child{background:var(--purple);color:white}@media(max-width:650px){.install-banner{flex-wrap:wrap;padding:16px;gap:12px}.install-banner>div{flex:1;min-width:160px}.install-banner button{width:100%;margin:3px 0 0}.install-dialog{padding:25px}.install-banner img{width:54px;height:54px}}
