/* Dose and response (environmental-science/assets/tools/dose-response.js). OWNED BY THIS TOOL ONLY (builder T4).
   Roles: the three chemicals in three Okabe-Ito colors (the chosen one
   thick); LD50 vermillion; the threshold (no effect) green; the toxin dots
   purple; biomagnification orange, bioaccumulation blue, so the two words
   never share a color. Lighter in dark mode. Every value is also written. */
.dr-svg,.dr-qfig{--dr-a:#D55E00;--dr-a-ink:#A84A00;--dr-b:#0072B2;--dr-b-ink:#005A8C;--dr-c:#009E73;--dr-c-ink:#00704F;
  --dr-ld:#D55E00;--dr-good:#1F6E3E;--dr-bad:#A83B2C;--dr-tox:#8E3B9E;--dr-mag:#B36B00;--dr-acc:#0072B2;--dr-acc-ink:#005A8C;
  --dr-body:#E9EEEC;--dr-edge:#40525A;--dr-water:#9CCDE8;}
:root[data-theme="dark"] .dr-svg,:root[data-theme="dark"] .dr-qfig{--dr-a:#FF9A5C;--dr-a-ink:#FFB385;--dr-b:#6CB8EC;--dr-b-ink:#8FCBF2;--dr-c:#4FD1AA;--dr-c-ink:#7BE0C1;
  --dr-ld:#FF9A5C;--dr-good:#6FD094;--dr-bad:#FF8E7E;--dr-tox:#D9A3E6;--dr-mag:#F3C04F;--dr-acc:#6CB8EC;--dr-acc-ink:#8FCBF2;
  --dr-body:#C9D3D1;--dr-edge:#0F1917;--dr-water:#2F6D90;}
.dr-card{display:grid;gap:14px;}
.dr-fig{position:relative;min-height:380px;height:min(74vh,640px);}
.ls-root .dr-fig{flex:1 1 auto;height:auto;min-height:320px;}
.dr-svg{display:block;width:100%;height:100%;font-family:var(--font-ui);user-select:none;-webkit-user-select:none;}
.dr-fig .dr-svg{position:absolute;inset:0;}
.dr-svg.is-drag{touch-action:none;cursor:crosshair;}
.dr-qfig .dr-svg{height:auto;}
.dr-h{font-weight:900;font-size:13.5px;fill:var(--ink);}
.dr-lab{font-weight:800;font-size:12.5px;fill:var(--ink);paint-order:stroke;stroke:var(--white);stroke-width:3px;stroke-linejoin:round;}
.dr-tag{font-weight:900;font-size:13.5px;fill:var(--dr-ld);paint-order:stroke;stroke:var(--white);stroke-width:3.5px;stroke-linejoin:round;}
.dr-read{font-weight:900;font-size:16px;fill:var(--ink);paint-order:stroke;stroke:var(--white);stroke-width:4px;stroke-linejoin:round;font-variant-numeric:tabular-nums;}
.dr-tk{fill:var(--muted);font-weight:700;font-size:11.5px;font-variant-numeric:tabular-nums;}
.dr-axl{fill:var(--ink);font-weight:800;font-size:12.5px;}
.dr-name{fill:var(--ink);font-weight:800;font-size:12.5px;}
.dr-val{fill:var(--dr-tox);font-weight:900;font-size:13px;font-variant-numeric:tabular-nums;}
.dr-muted{fill:var(--muted);}
.dr-x{fill:var(--dr-mag);font-weight:900;font-size:13px;}
.dr-c-bad{fill:var(--dr-bad);} .dr-c-good{fill:var(--dr-good);} .dr-c-mag{fill:var(--dr-mag);} .dr-c-acc{fill:var(--dr-acc-ink);}
.dr-c-a{fill:var(--dr-a-ink);} .dr-c-b{fill:var(--dr-b-ink);} .dr-c-c{fill:var(--dr-c-ink);}
/* the mice */
.dr-mouse ellipse,.dr-mouse circle{fill:var(--dr-body);stroke:var(--dr-edge);stroke-width:1.1;}
.dr-mouse .dr-ear{fill:#F2B8C6;}
.dr-mouse .dr-tail{fill:none;stroke:var(--dr-edge);stroke-width:1.1;stroke-linecap:round;}
.dr-mouse.is-dead ellipse,.dr-mouse.is-dead circle{fill:var(--dr-bad);fill-opacity:.32;stroke:var(--dr-bad);}
.dr-mouse.is-dead .dr-ear{fill:var(--dr-bad);fill-opacity:.32;}
/* the curve */
.dr-grid{stroke:var(--line);stroke-width:1;}
.dr-axis{stroke:var(--ink);stroke-width:1.5;}
.dr-thband{fill:var(--dr-good);fill-opacity:.09;}
.dr-thmark{stroke:var(--dr-good);stroke-width:2.5;}
.dr-curve{fill:none;stroke-width:2;stroke-linejoin:round;opacity:.65;}
.dr-curve.is-sel{stroke-width:3.4;opacity:1;}
.dr-curve.dr-a{stroke:var(--dr-a);} .dr-curve.dr-b{stroke:var(--dr-b);} .dr-curve.dr-c{stroke:var(--dr-c);}
.dr-pt{stroke:var(--white);stroke-width:1.2;}
.dr-pt.dr-a{fill:var(--dr-a);} .dr-pt.dr-b{fill:var(--dr-b);} .dr-pt.dr-c{fill:var(--dr-c);}
.dr-ldl{stroke-width:1.4;stroke-dasharray:3 3;}
.dr-ldl.dr-a{stroke:var(--dr-a);} .dr-ldl.dr-b{stroke:var(--dr-b);} .dr-ldl.dr-c{stroke:var(--dr-c);}
.dr-guide{fill:none;stroke:var(--dr-ld);stroke-width:1.6;stroke-dasharray:6 4;}
.dr-ld{fill:var(--dr-ld);stroke:var(--white);stroke-width:2.5;}
.dr-now{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:2 3;opacity:.6;}
.dr-now-pt{fill:var(--ink);stroke:var(--white);stroke-width:2.5;}
.dr-now-pt.is-acc{fill:var(--dr-acc);}
/* food chain */
.dr-drop{fill:var(--dr-water);stroke:var(--dr-b);stroke-width:2;}
.dr-zoo ellipse{fill:#F4E3B5;stroke:var(--dr-edge);stroke-width:2;}
.dr-zoo path{fill:none;stroke:var(--dr-edge);stroke-width:2.4;stroke-linecap:round;}
.dr-fish path{fill:#BFD7DF;stroke:var(--dr-edge);stroke-width:2.2;stroke-linejoin:round;}
.dr-fish.is-big path{fill:#9DB8A6;}
.dr-eye{fill:#1B2A26;}
.dr-bird path{fill:#E6E1D6;stroke:var(--dr-edge);stroke-width:2.2;stroke-linejoin:round;}
.dr-bird .dr-wing{fill:#7A6A58;}
.dr-bird .dr-beak{fill:#E69F00;}
.dr-tox{fill:var(--dr-tox);}
.dr-arrow{fill:none;stroke:var(--dr-mag);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.dr-bar{fill:var(--dr-tox);}
.dr-bar.dr-lv0{fill-opacity:.35;} .dr-bar.dr-lv1{fill-opacity:.5;} .dr-bar.dr-lv2{fill-opacity:.65;} .dr-bar.dr-lv3{fill-opacity:.8;} .dr-bar.dr-lv4{fill-opacity:1;}
/* one fish */
.dr-acc{fill:none;stroke:var(--dr-acc);stroke-width:3.2;stroke-linejoin:round;}
.dr-in,.dr-out{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.dr-in{stroke:var(--dr-acc);} .dr-out{stroke:var(--muted);stroke-width:1.6;}
/* drill animals */
.dr-animal ellipse,.dr-animal circle,.dr-animal rect,.dr-animal path{fill:#C8A27A;stroke:var(--dr-edge);stroke-width:2;}
.dr-animal .dr-eye{fill:#1B2A26;stroke:none;}
.dr-animal .dr-beak{fill:#E69F00;}
.dr-animal .dr-tail2{fill:none;}
.dr-scale rect{fill:var(--track);stroke:var(--muted);stroke-width:1.5;}
.dr-scale text{fill:var(--ink);font-weight:900;font-size:13px;}
.dr-k-mag{color:var(--dr-mag,#B36B00);font-weight:900;} .dr-k-acc{color:#005A8C;font-weight:900;}
:root[data-theme="dark"] .dr-k-mag{color:#F3C04F;} :root[data-theme="dark"] .dr-k-acc{color:#8FCBF2;}
/* dock */
.dr-ctl{display:flex;flex-direction:column;gap:10px;}
.dr-views,.dr-chems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.dr-views button,.dr-chems button{min-height:44px;}
.dr-grp{display:flex;flex-direction:column;gap:10px;}
.dr-grp[hidden],.dr-opt[hidden]{display:none !important;}
.dr-opt{display:flex;gap:10px;align-items:center;min-height:44px;font-weight:700;}
.ls-tbl tr.hl{background:var(--ctint);}
body.ls-on .env-crumb{display:none;}
/* Dark mode: the shared pill and setup-row labels (muted #8CA39B) reach only
   4.2 to 4.4:1 on the olive tints; a lighter muted here gives 5.6:1 or more
   (shared fix reported to the lead for tool-studio.css). */
:root[data-theme="dark"] .ls-root .ls-pill-k,:root[data-theme="dark"] .ls-root .ls-k{color:#B4C6C0;}
/* Room for the first-run tip while it shows (hintSlot). */
.env-tipslot{height:58px;flex:none;}
.dr-lbg{fill:var(--white);fill-opacity:.85;}
