:root{--ink: #0f2742;--ink-2: #4a5d73;--bg: #f6f8fb;--surface: #ffffff;--line: #d9e2ee;--accent: #1a56c8;--accent-dark: #123f98;--accent-soft: #e8f0fd;--warn-bg: #fff8e8;--warn-line: #e9c46a;--err: #a4262c;--err-bg: #fdecec;--radius: 10px;--maxw: 1120px;--prose: 70ch;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:1.0625rem}img,svg{max-width:100%}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-dark)}:focus-visible{outline:3px solid #5b9bff;outline-offset:2px;border-radius:4px}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}.skip:focus{left:0}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}h1,h2,h3{line-height:1.2;letter-spacing:-.01em;color:var(--ink)}h1{font-size:clamp(1.9rem,4.5vw,2.9rem);font-weight:700;margin:0 0 .75rem}h2{font-size:clamp(1.4rem,3vw,1.85rem);margin:2.5rem 0 .75rem;font-weight:680}h3{font-size:1.15rem;margin:1.75rem 0 .5rem;font-weight:650}p,ul,ol{margin:0 0 1rem}.prose{max-width:var(--prose)}.prose li{margin-bottom:.35rem}.lead{font-size:1.15rem;color:var(--ink-2);max-width:62ch}.muted{color:var(--ink-2)}.small{font-size:.9rem}.site-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:1rem}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem}.brand svg{flex:none}.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem;font:inherit;color:var(--ink);cursor:pointer}.nav{display:flex;align-items:center;gap:.25rem}.nav a,.nav summary{color:var(--ink);text-decoration:none;padding:.5rem .75rem;border-radius:8px;cursor:pointer;font-size:1rem;list-style:none;display:block}.nav summary::-webkit-details-marker{display:none}.nav summary:after{content:"▾";margin-left:.35rem;font-size:.75rem;color:var(--ink-2)}.nav a:hover,.nav summary:hover,.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-dark)}.dd{position:relative}.dd-menu{position:absolute;top:100%;left:0;min-width:270px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.4rem;box-shadow:0 8px 24px #0f27421f;z-index:60}.dd-menu a{padding:.5rem .65rem}@media(max-width:860px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:.5rem 1rem 1rem;max-height:calc(100vh - 64px);overflow-y:auto}.nav.open{display:flex}.dd-menu{position:static;box-shadow:none;border:0;padding:0 0 0 .75rem;min-width:0}}.crumbs{font-size:.9rem;color:var(--ink-2);padding:1rem 0 0}.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}.crumbs li+li:before{content:"/";margin-right:.35rem;color:var(--line)}.crumbs a{color:var(--ink-2)}.page-head{padding:1.5rem 0 1rem}.hero{padding:1.5rem 0 .5rem}.notice{border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:var(--radius);padding:.9rem 1.1rem;font-size:.96rem;max-width:var(--prose)}.notice strong:first-child{display:block;margin-bottom:.15rem}.note-blue{background:var(--accent-soft);border-color:#b9cff7}.calc{display:grid;gap:1.25rem;margin:1rem 0 2rem}@media(min-width:900px){.calc{grid-template-columns:1fr 1fr;align-items:start}}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.5rem}.card h2,.card h3{margin-top:0}.field{margin-bottom:1.1rem}.field label,.field .label{display:block;font-weight:600;margin-bottom:.3rem}.hint{font-size:.88rem;color:var(--ink-2);margin-top:.25rem}.row{display:grid;grid-template-columns:1fr 120px;gap:.5rem}.row.three{grid-template-columns:1fr 110px 110px}input[type=text],select{width:100%;font:inherit;font-size:1.1rem;padding:.7rem .8rem;border:1px solid #aebdd0;border-radius:8px;background:#fff;color:var(--ink);min-height:48px}input[aria-invalid=true]{border-color:var(--err);background:var(--err-bg)}details.adv{border:1px dashed var(--line);border-radius:8px;padding:.6rem .9rem;margin-bottom:1.1rem}details.adv summary{cursor:pointer;font-weight:600}.btns{display:flex;flex-wrap:wrap;gap:.6rem}.btn{font:inherit;font-weight:650;padding:.75rem 1.3rem;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;min-height:48px}.btn:hover{background:var(--accent-dark)}.btn.ghost{background:#fff;color:var(--accent)}.btn.ghost:hover{background:var(--accent-soft)}.errors{background:var(--err-bg);border:1px solid #e6a7a9;color:var(--err);border-radius:8px;padding:.7rem 1rem;margin-bottom:1rem}.errors ul{margin:0;padding-left:1.1rem}.result .empty{color:var(--ink-2)}.big{font-size:clamp(2rem,6vw,3rem);font-weight:750;font-variant-numeric:tabular-nums;line-height:1.1;margin:.1rem 0 .25rem;word-break:break-word}.big small{font-size:1.1rem;font-weight:600;color:var(--ink-2);margin-left:.35rem}.alt{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;padding:0;list-style:none}.alt li{background:var(--accent-soft);border-radius:999px;padding:.25rem .8rem;font-variant-numeric:tabular-nums;font-size:.95rem}.math{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem .75rem 2rem;font-variant-numeric:tabular-nums;font-size:.95rem}.math li{margin-bottom:.4rem}.result-note{font-size:.9rem;color:var(--ink-2)}.syringe-wrap{margin-top:1rem}.syringe-wrap svg{width:100%;height:auto;display:block}.sy-barrel{fill:#f3f7fc;stroke:var(--ink);stroke-width:2}.sy-liquid{fill:#8fb8f5}.sy-stopper{fill:var(--ink)}.sy-rod,.sy-thumb,.sy-flange{fill:#cfd9e6;stroke:var(--ink);stroke-width:1.5}.sy-needle{stroke:var(--ink);stroke-width:2}.sy-hub{fill:#cfd9e6;stroke:var(--ink);stroke-width:1.5}.sy-tick{stroke:var(--ink);stroke-width:1}.sy-label{font:12px var(--font);fill:var(--ink);text-anchor:middle}.sy-val{font:700 14px var(--font);fill:var(--accent-dark);text-anchor:middle}.sy-unit{font:12px var(--font);fill:var(--ink-2)}.syringe-cap{font-size:.85rem;color:var(--ink-2);margin:.25rem 0 0}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:1rem 0 2rem}.tile{display:block;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.15rem 1.25rem;text-decoration:none;color:var(--ink)}.tile:hover{border-color:var(--accent);box-shadow:0 4px 14px #1a56c81f}.tile strong{display:block;font-size:1.08rem;margin-bottom:.3rem;color:var(--accent-dark)}.tile span{color:var(--ink-2);font-size:.95rem;display:block}.tile .tag{font-size:.8rem;color:var(--ink-2);margin-top:.5rem}.content{max-width:var(--prose)}.content table,.table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.96rem}.content th,.content td,.table th,.table td{border:1px solid var(--line);padding:.55rem .75rem;text-align:left;vertical-align:top}.content th,.table th{background:var(--accent-soft)}.table-scroll{overflow-x:auto;max-width:100%}.formula{background:var(--surface);border-left:4px solid var(--accent);padding:.8rem 1.1rem;font-weight:600;font-variant-numeric:tabular-nums;border-radius:0 8px 8px 0;margin:1rem 0;max-width:var(--prose)}.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;max-width:var(--prose);margin-bottom:1.5rem}.toc ol{margin:.4rem 0 0;padding-left:1.2rem}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.8rem 1.1rem;margin-bottom:.6rem;max-width:var(--prose)}.faq summary{cursor:pointer;font-weight:650}.faq details[open] summary{margin-bottom:.5rem}.sources li{margin-bottom:.5rem}.site-footer{background:var(--ink);color:#dbe6f5;margin-top:4rem;padding:3rem 0 1.5rem;font-size:.96rem}.site-footer a{color:#fff}.foot-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.foot-grid h2{color:#fff;font-size:1rem;margin:0 0 .6rem}.foot-grid ul{list-style:none;padding:0;margin:0}.foot-grid li{margin-bottom:.4rem}.foot-brand p{max-width:36ch}.foot-legal{border-top:1px solid #2d4a6d;margin-top:2rem;padding-top:1.2rem;font-size:.88rem;color:#b9c9de}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem}.chip{font:inherit;font-size:.92rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;min-height:40px}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.meta{font-size:.9rem;color:var(--ink-2);margin-bottom:1rem}.takeaways{background:var(--accent-soft);border:1px solid #b9cff7;border-radius:var(--radius);padding:.9rem 1.2rem;max-width:var(--prose);margin:1rem 0 1.5rem}.takeaways strong{display:block;margin-bottom:.3rem}.takeaways ul{margin:0;padding-left:1.1rem}#main-calc .result [data-result],#vol-calc .result [data-result]{min-height:26rem}@media(max-width:899px){#main-calc .result [data-result],#vol-calc .result [data-result]{min-height:20rem}}body{background:linear-gradient(180deg,#eef4fd 0,var(--bg) 380px)}.hero{padding:2rem 0 .5rem}.hero h1{font-size:clamp(2rem,5vw,3.2rem)}.card{box-shadow:0 1px 2px #0f27420d,0 8px 28px #0f27420f}.calc-main{grid-template-columns:1fr}@media(min-width:960px){.calc-main{grid-template-columns:1.05fr 1fr}.calc-main .result{position:sticky;top:80px}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sample-note{margin-top:-.25rem}.step{display:grid;grid-template-columns:34px 1fr;gap:.75rem;margin-bottom:.4rem}.step-n{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);font-weight:700;display:grid;place-items:center;margin-top:.1rem;font-size:.95rem}.chips-l{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-right:.25rem}.chip{transition:background .15s,border-color .15s,transform .1s}.chip:active{transform:scale(.96)}input[type=text]:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a56c82e;outline:none}.seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px}.seg-wide{display:grid;grid-template-columns:repeat(3,1fr)}.seg label{cursor:pointer;display:block}.seg input{position:absolute;opacity:0;width:0;height:0}.seg span{display:block;text-align:center;padding:.55rem .9rem;border-radius:9px;font-weight:600;min-height:44px;line-height:1.2}.seg small{display:block;font-weight:500;font-size:.78rem;color:var(--ink-2)}.seg input:checked+span{background:var(--accent);color:#fff;box-shadow:0 2px 8px #1a56c84d}.seg input:checked+span small{color:#dbe7ff}.seg input:focus-visible+span{outline:3px solid #5b9bff;outline-offset:2px}.seg-sm span{padding:.4rem .9rem;min-height:38px}.tip{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);font:700 .72rem/1 var(--font);font-style:italic;cursor:help;position:relative;vertical-align:middle;margin-left:.25rem}.tip:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);width:max-content;max-width:min(280px,70vw);background:var(--ink);color:#fff;font:400 .85rem/1.4 var(--font);font-style:normal;padding:.55rem .75rem;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:30;box-shadow:0 8px 24px #0f274240}.tip:hover:after,.tip:focus:after{opacity:1}@media(max-width:520px){.tip:after{left:0;transform:none}}.res-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.res-top h2{margin:0;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-weight:700}.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#1b9a5b;margin-right:.5rem;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #1b9a5b80}70%{box-shadow:0 0 0 8px #1b9a5b00}to{box-shadow:0 0 #1b9a5b00}}.syringe-box{margin:1rem 0 .25rem;background:linear-gradient(180deg,#f4f8fe,#fff);border:1px solid var(--line);border-radius:12px;padding:.75rem .5rem .5rem}.syringe-box svg{width:100%;height:auto;display:block}.sy-anim{transition:transform .8s cubic-bezier(.2,.8,.2,1);transform-box:fill-box}.sy-liquid.sy-anim{transform-origin:0 50%}.sy-marker{stroke:var(--accent);stroke-width:2;stroke-dasharray:3 3}.sy-barrel{fill:#eef3fa}.sy-liquid{fill:#5b9bff;opacity:.85}.sub{margin:0 0 1rem;font-variant-numeric:tabular-nums}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:1rem}.stat{padding:.8rem .6rem;text-align:center;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:.15rem}.stat:last-child{border-right:0}.stat-l{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.stat strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.stat-u{font-size:.8rem;color:var(--ink-2)}@media(max-width:520px){.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}}.warns{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:8px;padding:.6rem .9rem;margin-bottom:.75rem;font-size:.95rem}.math-wrap summary{cursor:pointer;font-weight:650;margin-bottom:.5rem}@media(prefers-reduced-motion:reduce){.sy-anim{transition:none!important}.live-dot{animation:none}}#main-calc .result [data-result]{min-height:0}.step-body{min-width:0}.step>.field,.step>.step-body{min-width:0}.seg span{white-space:nowrap}
