/* ───────────────────────────────────────────────────────────────────────
   Reconstitution calculator — research lab dilution tool.
   Loaded only on the Reconstitution Guide template. Uses the theme token
   system (:root / [data-theme="dark"]) so light + dark mode are inherited
   automatically — no per-mode overrides needed here.
   ──────────────────────────────────────────────────────────────────────── */
.recon-calc{
  margin:var(--sp-6) 0;
  padding:var(--sp-5);
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  color:var(--ink);
}
.recon-calc__title{ margin:0 0 var(--sp-2); font-size:var(--fs-lg); }
.recon-calc__intro{
  margin:0 0 var(--sp-4);
  color:var(--ink-2);
  font-size:var(--fs-sm);
  line-height:1.55;
}
.recon-calc__mode{
  display:inline-flex;
  gap:2px;
  padding:3px;
  margin-bottom:var(--sp-4);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.recon-calc__modebtn{
  border:0;
  background:transparent;
  color:var(--ink-2);
  padding:var(--sp-2) var(--sp-3);
  font:inherit;
  font-size:var(--fs-sm);
  border-radius:calc(var(--radius) - 2px);
  cursor:pointer;
}
.recon-calc__modebtn:hover{ color:var(--ink); }
.recon-calc__modebtn.is-active{ background:var(--brand); color:#fff; }
.recon-calc__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-4);
}
.recon-calc__field{
  display:flex;
  flex-direction:column;
  gap:var(--sp-1);
  font-size:var(--fs-sm);
  color:var(--ink-2);
}
.recon-calc__field input{
  padding:var(--sp-2) var(--sp-3);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  color:var(--ink);
  font:inherit;
}
.recon-calc__field input:focus{
  outline:2px solid var(--brand);
  outline-offset:1px;
  border-color:var(--brand);
}
.recon-calc__out{
  display:block;
  margin-top:var(--sp-4);
  padding:var(--sp-4);
  background:var(--surface);
  border:1px solid var(--line);
  border-left:3px solid var(--brand);
  border-radius:var(--radius);
  color:var(--ink);
}
.recon-calc__out:empty{ display:none; }
.recon-calc__out strong{ font-size:var(--fs-lg); }
.recon-calc__sub{
  display:block;
  margin-top:var(--sp-2);
  color:var(--ink-2);
  font-size:var(--fs-sm);
  line-height:1.5;
}
@media (max-width:560px){
  .recon-calc__grid{ grid-template-columns:1fr; }
}
