.advanced-lab .paramedic-timeline-source {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  min-width: 0;
  border: 1px solid #73939f;
  background: radial-gradient(circle at 100% 0, #2c5060, transparent 42%), #102632;
}
.paramedic-timeline-source * { box-sizing: border-box; }
.paramedic-timeline-source :is(h4, h5, p) { margin: 0; }
.paramedic-timeline-source-kicker,
.paramedic-timeline-source-preview-kicker { color: #a2d4d7; font-size: .67rem; font-weight: 850; letter-spacing: .1em; }
.paramedic-timeline-source h4 { color: #f3faf9; font-size: clamp(1.1rem, 2vw, 1.42rem); }
.paramedic-timeline-source h5 { color: #ebf6f3; font-size: .88rem; }
.paramedic-timeline-source-intro,
.paramedic-timeline-source-boundary { max-width: 80ch; color: #cbdfe4; line-height: 1.5; }
.paramedic-timeline-source-rail { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; min-width: 0; }
.paramedic-timeline-source-point { display: grid; align-content: start; gap: 3px; min-width: 0; min-height: 66px; padding: 7px 8px; border: 1px solid #73949b; border-bottom: 4px solid #89b7a9; border-radius: 5px; background: #1b3c47; }
.paramedic-timeline-source-point[data-row="onset"] { border-style: dashed; border-bottom-style: solid; }
.paramedic-timeline-source-point[data-included="false"] { opacity: .47; }
.paramedic-timeline-source-point time { color: #f4d19f; font-size: .72rem; font-weight: 850; font-variant-numeric: tabular-nums; }
.paramedic-timeline-source-point strong { color: #eaf8f6; font-size: .68rem; line-height: 1.3; overflow-wrap: anywhere; }
.paramedic-timeline-source-workspace { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: start; gap: 11px; min-width: 0; }
.paramedic-timeline-source-ledger { display: grid; gap: 8px; min-width: 0; }
.paramedic-timeline-source-row { display: grid; gap: 8px; min-width: 0; padding: 10px; border: 1px solid #628999; border-radius: 7px; background: #1b3948; }
.paramedic-timeline-source-row[data-included="false"] { border-style: dashed; }
.paramedic-timeline-source-rowhead { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; }
.paramedic-timeline-source-rowhead strong { color: #faf0d8; font-size: .79rem; }
.paramedic-timeline-source-rowhead span { color: #9fcfd3; font-size: .7rem; font-weight: 800; }
.paramedic-timeline-source-detail { color: #e0eef0; font-size: .77rem; line-height: 1.42; overflow-wrap: anywhere; }
.paramedic-timeline-source-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.advanced-lab .paramedic-timeline-source-choice { min-width: 0; min-height: 39px; padding: 6px 7px; border-color: #739fa8; background: #24495b; font-size: .68rem; line-height: 1.22; white-space: normal; }
.advanced-lab .paramedic-timeline-source-choice[aria-pressed="true"] { border-color: #f1cf95; background: #645341; box-shadow: inset 0 0 0 1px #f1cf95; }
.advanced-lab .paramedic-timeline-source-include { justify-self: start; min-width: 0; font-size: .7rem; background: #345860; }
.paramedic-timeline-source-rowfeedback { padding: 7px 8px; border-left: 3px solid #a9d9bb; background: #2b5553; color: #e8f5ed; font-size: .72rem; line-height: 1.44; }
.paramedic-timeline-source-preview { position: sticky; top: 12px; display: grid; gap: 8px; min-width: 0; padding: 13px; border: 1px solid #ccbd96; border-radius: 4px; background: linear-gradient(140deg, #f3eee3, #e1e1d8); color: #1b343a; box-shadow: 0 10px 25px #020b1055; }
.paramedic-timeline-source-preview-kicker { color: #5b7372; }
.paramedic-timeline-source-preview h5 { color: #24444b; }
.paramedic-timeline-source-preview table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .7rem; line-height: 1.35; }
.paramedic-timeline-source-preview caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.paramedic-timeline-source-preview th { padding: 6px 4px; border-bottom: 2px solid #96aaa5; color: #3d5b5f; text-align: left; text-transform: uppercase; font-size: .62rem; }
.paramedic-timeline-source-preview td { padding: 6px 4px; border-bottom: 1px solid #b5c2bb; vertical-align: top; overflow-wrap: anywhere; }
.paramedic-timeline-source-preview th:first-child { width: 24%; }
.paramedic-timeline-source-preview th:last-child { width: 34%; }
.paramedic-timeline-source-copy { display: grid; gap: 5px; max-height: 210px; overflow-y: auto; padding: 8px; border: 1px solid #aebbb3; background: #fbfaf4; }
.paramedic-timeline-source-copy p { color: #294146; font-size: .68rem; line-height: 1.35; overflow-wrap: anywhere; }
.paramedic-timeline-source-preview-limit { color: #5a7070; font-size: .67rem; line-height: 1.4; }
.advanced-lab .paramedic-timeline-source-review { justify-self: start; border-color: #a7d0b6; background: #2b615c; }
.paramedic-timeline-source-feedback { display: grid; gap: 7px; padding: 11px 12px; border: 1px solid #c5bd88; border-radius: 7px; background: #3b483e; color: #eef4e8; }
.paramedic-timeline-source-feedback strong { color: #f4dcaa; }
.paramedic-timeline-source-feedback p { font-size: .76rem; line-height: 1.45; }
.advanced-lab .paramedic-timeline-source-retry { justify-self: start; }
.paramedic-timeline-source-boundary { font-size: .68rem; }
.paramedic-timeline-source button:focus-visible { outline: 3px solid #ffe1a3; outline-offset: 2px; }
@media (max-width: 1100px) {
  .paramedic-timeline-source-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .paramedic-timeline-source-workspace { grid-template-columns: minmax(0, 1fr); }
  .paramedic-timeline-source-preview { position: static; }
}
@media (max-width: 550px) {
  .paramedic-timeline-source-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .paramedic-timeline-source-point { min-height: 57px; }
}
