.recovery-path {
  fill: none;
  stroke: #a8d8c7;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.trough-anchor-halo {
  fill: rgba(168, 216, 199, .16);
  stroke: rgba(168, 216, 199, .76);
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
}

.trough-anchor-point {
  fill: #b8e2d1;
  stroke: #101317;
  stroke-width: 2.4;
  vector-effect: non-scaling-stroke;
}

.wave-label-bottom {
  left: 50%;
  bottom: 0;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: min(94%, 380px);
  padding: 6px 10px;
  transform: translateX(-50%);
  border: 1px solid rgba(168, 216, 199, .25);
  border-radius: 4px;
  background: rgba(13, 17, 18, .96);
  box-shadow: 0 3px 14px rgba(0, 0, 0, .3);
}

.recovery-label-copy { display: flex; flex-direction: column; gap: 2px; text-align: left; }
.recovery-label-copy strong { color: #c6e3d6; font: 500 8px var(--mono); letter-spacing: .08em; }
.recovery-label-copy small { color: #8ba99d; font: 7px var(--mono); letter-spacing: .025em; }
.wave-axis { margin-top: 5px; }
.day-recovery-path {
  fill: none;
  stroke: #9ecab9;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.day-trough-marker { fill: #b0dac9; stroke: #101317; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.night-shade {
  fill: rgba(6, 10, 17, .52);
  stroke: rgba(142, 162, 191, .34);
  stroke-width: 1;
  filter: drop-shadow(0 0 8px rgba(72, 94, 130, .42));
  vector-effect: non-scaling-stroke;
}
.day-night-underlay, .day-night-path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.day-night-underlay { stroke: rgba(202, 210, 220, .7); stroke-width: 4.8; }
.day-night-path { stroke: #020304; stroke-width: 2.2; }
.day-phase-key {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 8px;
  color: #8ba99d;
  font: 8px var(--mono);
  letter-spacing: .055em;
}
.day-phase-item { display: inline-flex; align-items: center; gap: 7px; }
.day-recovery-swatch {
  width: 13px;
  height: 2px;
  flex: none;
  border-radius: 2px;
  background: #9ecab9;
  box-shadow: 0 0 7px rgba(158, 202, 185, .35);
}
.night-wave-swatch {
  width: 15px;
  height: 3px;
  flex: none;
  border-radius: 99px;
  background: #020304;
  box-shadow: 0 0 0 1px rgba(202, 210, 220, .7), 0 0 7px rgba(150, 171, 198, .35);
}
.day-axis { margin-top: 8px; }

@media (max-width: 680px) {
  .wave-label-bottom { max-width: 96%; gap: 6px; padding: 5px 7px; }
  .recovery-label-copy strong { font-size: 7.5px; }
  .recovery-label-copy small { font-size: 7px; }
  .wave-axis { margin-top: 7px; }
  .day-phase-key { justify-content: flex-start; gap: 5px 14px; font-size: 7px; letter-spacing: .025em; }
  .day-axis { margin-top: 7px; }
}
