.pipes-review {
  margin-block: 1rem;
  padding: .9rem;
  min-width: 0;
  border: 2px solid var(--ink);
  border-radius: var(--radius-input, 12px);
  background: var(--paper-2);
  color: var(--ink);
  overflow-wrap: anywhere;
}
.pipes-review[hidden] { display: none; }
.pipes-review h2, .pipes-review h3 { margin: 0 0 .55rem; font-size: 1rem; }
.pipes-review p { margin: .55rem 0; line-height: 1.45; }
.pipes-review-note { font-size: .78rem; color: var(--muted); }
.pipes-review-target-row { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; }
.pipes-review-target-row label { font-weight: 800; font-size: .85rem; }
.pipes-review-target-row select {
  width: auto;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  flex: 1 1 10rem;
  padding: .45rem .6rem;
  border: 2px solid var(--ink);
  border-radius: 8px;
  font: inherit;
  font-size: .85rem;
  color: var(--ink);
  background: var(--paper);
}
.pipes-review-target-row select:disabled { opacity: 1; color: var(--muted); }
.pipes-review-target { font-size: .86rem; font-weight: 700; }
.pipes-review-status { font-size: .8rem; }
.pipes-review[data-target-status="met"] .pipes-review-status { color: var(--water-deep); }
.pipes-review-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin: .8rem 0; }
.pipes-review-counts > div { min-width: 0; padding: .45rem; border-left: 3px solid var(--water); background: var(--paper); }
.pipes-review-counts dt { font-size: .72rem; line-height: 1.3; }
.pipes-review-counts dd { margin: .15rem 0 0; font: 800 1.1rem var(--font-mono, monospace); }
.pipes-review-details { border-top: 1px solid var(--rule); padding-top: .3rem; }
.pipes-review-details summary { min-height: 44px; cursor: pointer; padding-block: .6rem; font-size: .85rem; font-weight: 700; }
.pipes-review-details summary:focus-visible, .pipes-review-target-row select:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.pipes-review-previous, .pipes-review--result > p { font-size: .83rem; }
.pipes-review-milestones { padding-left: 1.1rem; margin: .55rem 0; font-size: .78rem; line-height: 1.5; }
.pipes-review-trace { display: grid; grid-template-columns: repeat(auto-fit, minmax(22px, 1fr)); gap: 3px; padding: 0; margin: .7rem 0; list-style: none; }
.pipes-review-trace li { display: flex; flex-direction: column; align-items: center; font-size: .63rem; min-width: 0; text-align: center; }
.pipes-review-trace-bar { display: block; height: 48px; width: 100%; margin-bottom: .25rem; border: 1px solid var(--rule); background: linear-gradient(to top, var(--water-light) calc(var(--wet-fraction) * 100%), var(--paper-3) 0); }
.pipes-review-trace strong, .pipes-review-trace li > span:last-child { display: block; }
.pipes-review-next { padding: .55rem; border-left: 3px solid var(--water-deep); background: var(--water-light); }
@media (max-width: 420px) {
  .pipes-review { padding: .7rem; }
  .pipes-review-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipes-review-trace li { font-size: .59rem; }
}
