.paramedic-recorded-co2 {
  display: grid;
  gap: 14px;
  min-width: 0;
  margin-top: 18px;
  padding: clamp(14px, 2vw, 22px);
  border: 1px solid #5b8993;
  border-radius: 17px;
  background: linear-gradient(150deg, #102f3d, #123846 68%, #173844);
  color: #eff8f7;
}
.paramedic-recorded-co2 * { box-sizing: border-box; }
.paramedic-recorded-co2 [hidden] { display: none !important; }
.paramedic-recorded-co2 :is(h3, h4, p) { margin: 0; }
.paramedic-recorded-co2-kicker { color: #99e9d1; font-size: .72rem; font-weight: 900; letter-spacing: .09em; }
.paramedic-recorded-co2 h3 { font-size: clamp(1.2rem, 2vw, 1.52rem); line-height: 1.25; }
.paramedic-recorded-co2-intro { max-width: 85ch; color: #d1e5e7; font-size: .88rem; line-height: 1.5; }
.paramedic-recorded-co2-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: end; }
.paramedic-recorded-co2-window-control, .paramedic-recorded-co2-duration { display: grid; gap: 7px; min-width: 0; }
.paramedic-recorded-co2-window-control label, .paramedic-recorded-co2-duration > span, .paramedic-recorded-co2-marker label { color: #e5f3ee; font-size: .79rem; font-weight: 800; }
.paramedic-recorded-co2-window-readout { color: #aaf3d9; font: 800 1.02rem/1.2 ui-monospace, Consolas, monospace; }
.paramedic-recorded-co2-duration-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
.paramedic-recorded-co2 button { min-height: 42px; padding: 8px 11px; border: 1px solid #78a3ad; border-radius: 9px; background: #21515e; color: #f2faf9; font: 750 .82rem/1.25 system-ui, sans-serif; cursor: pointer; text-align: left; }
.paramedic-recorded-co2 button:hover { background: #2b6370; }
.paramedic-recorded-co2 button[aria-pressed="true"] { border-color: #a1f1d6; background: #236e63; box-shadow: inset 0 0 0 1px #a1f1d6; }
.paramedic-recorded-co2 button:focus-visible, .paramedic-recorded-co2 input:focus-visible, .paramedic-recorded-co2 a:focus-visible { outline: 3px solid #ffe3a1; outline-offset: 3px; }
.paramedic-recorded-co2 button:disabled { opacity: .5; cursor: not-allowed; }
.paramedic-recorded-co2-slider { width: 100%; min-width: 0; height: 28px; margin: 0; accent-color: #85e7c9; }
.paramedic-recorded-co2-chart-frame { display: grid; gap: 7px; min-width: 0; padding: 9px 9px 8px; border: 1px solid #5d8994; border-radius: 12px; background: #071f2a; }
.paramedic-recorded-co2-chart { display: block; width: 100%; height: clamp(170px, 25vw, 280px); overflow: hidden; cursor: crosshair; }
.paramedic-recorded-co2-plot-bg { fill: #082b36; stroke: #557e89; stroke-width: 1.5; }
.paramedic-recorded-co2-grid { stroke: #49717c; stroke-width: 1; opacity: .52; }
.paramedic-recorded-co2-trace { fill: none; stroke: #8cf0d4; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.paramedic-recorded-co2-marker-line { stroke: #ffe2a2; stroke-width: 2.5; stroke-dasharray: 5 5; vector-effect: non-scaling-stroke; }
.paramedic-recorded-co2-marker-line.is-b { stroke: #eab9f4; }
.paramedic-recorded-co2-marker-dot { fill: #ffde91; stroke: #122f3a; stroke-width: 2; vector-effect: non-scaling-stroke; }
.paramedic-recorded-co2-marker-dot.is-b { fill: #eab9f4; }
.paramedic-recorded-co2-marker-label { fill: #ffebb6; font: 900 18px system-ui, sans-serif; }
.paramedic-recorded-co2-marker-label.is-b { fill: #f6d3ff; }
.paramedic-recorded-co2-time-ticks { display: flex; justify-content: space-between; gap: 5px; padding-inline: 2px; color: #c3e2e2; font: 700 .7rem/1.25 ui-monospace, Consolas, monospace; }
.paramedic-recorded-co2-axis, .paramedic-recorded-co2-hint { color: #bfd7dd; font-size: .76rem; line-height: 1.45; }
.paramedic-recorded-co2-markers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.paramedic-recorded-co2-marker { display: grid; gap: 7px; min-width: 0; padding: 11px; border: 1px solid #7f8d91; border-radius: 11px; background: #204450; }
.paramedic-recorded-co2-marker.is-a { border-left: 4px solid #ffde91; }
.paramedic-recorded-co2-marker.is-b { border-left: 4px solid #eab9f4; }
.paramedic-recorded-co2-marker .paramedic-recorded-co2-button { justify-self: start; }
.paramedic-recorded-co2-marker-readout { color: #e8f1f0; font-size: .78rem; line-height: 1.4; }
.paramedic-recorded-co2-equivalent { padding: 9px 11px; border-left: 3px solid #8ce5ca; border-radius: 7px; background: #0a2b36; color: #d5e9e7; font-size: .78rem; line-height: 1.45; }
.paramedic-recorded-co2-challenge { display: grid; gap: 10px; padding: 13px; border: 1px solid #b3996a; border-radius: 11px; background: #393c38; }
.paramedic-recorded-co2-challenge h4 { color: #ffe3b7; font-size: .99rem; }
.paramedic-recorded-co2-challenge > p { color: #f0ece4; font-size: .83rem; line-height: 1.45; }
.paramedic-recorded-co2-answers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.paramedic-recorded-co2-answers button { background: #4c524d; border-color: #9f9e81; }
.paramedic-recorded-co2-reveal { justify-self: start; background: #42614d !important; }
.paramedic-recorded-co2-result { display: grid; gap: 7px; padding: 10px 12px; border-left: 3px solid #a1ebce; border-radius: 7px; background: #143d3c; }
.paramedic-recorded-co2-result strong { color: #d6f7e6; font-size: .85rem; }
.paramedic-recorded-co2-result p { color: #e1efe9; font-size: .8rem; line-height: 1.46; }
.paramedic-recorded-co2-source { color: #bed6dc; font-size: .74rem; line-height: 1.48; }
.paramedic-recorded-co2-source a { color: #a7f0d6; }
@media (max-width: 700px) {
  .paramedic-recorded-co2-controls, .paramedic-recorded-co2-markers { grid-template-columns: 1fr; }
  .paramedic-recorded-co2-answers { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
  .paramedic-recorded-co2 { padding: 11px; }
  .paramedic-recorded-co2-duration-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .paramedic-recorded-co2-duration-buttons button { padding: 6px; font-size: .72rem; text-align: center; }
}
