.emt-reader-visual {
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 18px 0 4px;
  padding: clamp(14px, 2vw, 20px);
  border: 1px solid rgba(94, 207, 195, 0.42);
  border-radius: 12px;
  color: #eff9f7;
  background: linear-gradient(135deg, #102d39, #0c2531);
}

.emt-rv-header { display: grid; gap: 6px; }
.emt-rv-header h4 { margin: 0; font-size: clamp(1.05rem, 2vw, 1.28rem); line-height: 1.25; }
.emt-rv-header p, .emt-rv-equivalent, .emt-rv-limit, .emt-reader-visual figcaption {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.48;
}
.emt-rv-header p { color: #d2ebe7; }
.emt-rv-source {
  color: #9fe4d6;
  font-size: 0.69rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.emt-rv-controls, .emt-rv-control-row { display: flex; flex-wrap: wrap; gap: 7px; min-width: 0; }
.emt-rv-controls:has(.emt-rv-control-row) { display: grid; }
.emt-rv-control {
  min-height: 40px;
  max-width: 100%;
  padding: 7px 10px;
  border: 1px solid rgba(167, 224, 219, 0.5);
  border-radius: 7px;
  color: #f2faf8;
  background: #143b47;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.3;
  cursor: pointer;
}
.emt-rv-control[aria-pressed="true"] { border-color: #ffcf80; color: #fff9ed; background: #614728; }
.emt-rv-control:focus-visible, .emt-rv-range-label input:focus-visible { outline: 2px solid #ffe1aa; outline-offset: 2px; }
.emt-rv-range-label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; font-size: 0.82rem; font-weight: 700; }
.emt-rv-range-label input { flex: 1 1 180px; accent-color: #ffcf80; }
.emt-rv-range-label output { min-width: 3ch; font-variant-numeric: tabular-nums; }
.emt-rv-diagram { display: grid; grid-template-columns: minmax(0, 1fr); gap: 11px; min-width: 0; }
.emt-rv-equivalent { padding: 10px 12px; border-left: 3px solid #97dcca; color: #e9f6f2; background: rgba(6, 24, 32, 0.55); }
.emt-reader-visual figcaption { color: #bde9dc; }
.emt-rv-limit { color: #b7d0d2; }

.emt-rv-lanes { display: grid; gap: 5px; }
.emt-rv-lane {
  display: grid;
  grid-template-columns: 84px minmax(80px, 0.7fr) minmax(70px, 1fr) minmax(120px, 1.3fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(147, 207, 207, 0.22);
  border-left: 4px solid #69cebe;
  border-radius: 7px;
  background: rgba(6, 24, 34, 0.6);
}
.emt-rv-lane--model { border-left-color: #c8b3ee; }
.emt-rv-lane--low-model { border-left-color: #c8b3ee; }
.emt-rv-lane--absent { border-left-color: #ffb97a; }
.emt-rv-lane--urgent { border-left-color: #ffb97a; }
.emt-rv-lane--uncertain { border-left-color: #e3ca82; }
.emt-rv-lane-source { color: #a9c5c8; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.04em; }
.emt-rv-lane-label { font-size: 0.76rem; }
.emt-rv-lane-value { min-width: 0; color: #eef8f6; font-size: 0.74rem; line-height: 1.35; overflow-wrap: anywhere; }
.emt-rv-lane-track { display: flex; align-items: center; justify-content: space-around; gap: 4px; height: 22px; border-bottom: 1px solid rgba(203, 239, 231, 0.3); }
.emt-rv-lane-track i { width: 8px; height: 8px; border-radius: 50%; background: #75d9c5; }
.emt-rv-lane--model .emt-rv-lane-track i { background: #c8b3ee; }
.emt-rv-lane--low-model .emt-rv-lane-track i { width: 4px; height: 4px; background: #c8b3ee; }
.emt-rv-lane--absent .emt-rv-lane-track i { background: transparent; border: 1px dashed #ffb97a; }
.emt-rv-lane--urgent .emt-rv-lane-track i { background: #ffb97a; }
.emt-rv-lane--uncertain .emt-rv-lane-track i { opacity: 0.55; transform: rotate(45deg); border-radius: 1px; background: #e3ca82; }
.emt-rv-card {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 76px;
  padding: 11px 12px;
  border: 1px solid rgba(165, 222, 216, 0.28);
  border-top: 4px solid #7bd5c4;
  border-radius: 8px;
  background: #153844;
}
.emt-rv-card--signal { border-top-color: #75d9c5; }
.emt-rv-card--model { border-top-color: #c8b3ee; }
.emt-rv-card--urgent, .emt-rv-card--noise, .emt-rv-card--gap { border-top-color: #ffc080; }
.emt-rv-card--review, .emt-rv-card--repair { border-top-color: #e5cd84; }
.emt-rv-card--neutral { border-top-color: #89a8b1; }
.emt-rv-card-label { color: #b7d6d6; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.emt-rv-card strong { font-size: 0.8rem; line-height: 1.38; overflow-wrap: anywhere; }
.emt-rv-lead-mapping, .emt-rv-record-row, .emt-rv-fixed-source, .emt-rv-bedside-check { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.emt-rv-lead-mapping { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; }
.emt-rv-mapping-arrow, .emt-rv-down-arrow, .emt-rv-map-arrow { color: #ffcf80; font-size: 1.3rem; font-weight: 850; text-align: center; }
.emt-rv-down-arrow { font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.05em; }

.emt-rv-diagram svg { display: block; width: 100%; max-height: 300px; border: 1px solid rgba(143, 209, 204, 0.28); border-radius: 8px; background: #0a2532; }
.emt-rv-compass-ring, .emt-rv-landmark { fill: none; stroke: rgba(163, 221, 213, 0.5); stroke-width: 2; }
.emt-rv-compass-axis { stroke: #6bafa9; stroke-width: 2; }
.emt-rv-compass-arrow { stroke: #ffcc7e; stroke-width: 7; stroke-linecap: round; }
.emt-rv-compass-tip { fill: #ffcc7e; }
.emt-rv-compass-label, .emt-rv-anatomy-label, .emt-rv-site-label { fill: #d9f2ed; font-size: 15px; font-weight: 700; }
.emt-rv-torso { fill: rgba(134, 182, 178, 0.13); stroke: #a7d9d1; stroke-width: 3; }
.emt-rv-site { fill: #7de0c4; stroke: #0e2a31; stroke-width: 2; }
.emt-rv-site-fault { fill: #ffbd7d; stroke: #0e2a31; stroke-width: 2; }
.emt-rv-site-loose { fill: #0a2532; stroke: #ffbd7d; stroke-width: 4; stroke-dasharray: 4 2; }
.emt-rv-site-target { fill: none; stroke: #7de0c4; stroke-width: 2; stroke-dasharray: 3 3; }
.emt-rv-contact-note { margin: 0; color: #b9ded7; font-size: 0.72rem; line-height: 1.4; }
.emt-rv-landmark-cue { display: none; margin: 0; color: #ffe0a2; font-size: 0.72rem; font-weight: 750; line-height: 1.35; }
.emt-rv-landmark-scroll { max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
.emt-rv-landmark-scroll:focus-visible, .emt-rv-aed-timeline:focus-visible { outline: 2px solid #ffe1aa; outline-offset: 2px; }
.emt-rv-record-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.emt-rv-quality-bar { display: flex; gap: 3px; margin-top: 8px; }
.emt-rv-quality-bar i { height: 12px; flex: 1 1 0; border-radius: 2px; background: #6ecdb9; }
.emt-rv-quality-bar--noise i:nth-child(odd) { transform: translateY(-4px); background: #f4bb77; }
.emt-rv-quality-bar--gap i:nth-child(3), .emt-rv-quality-bar--gap i:nth-child(4) { opacity: 0.15; }
.emt-rv-quality-bar--repair i { background: #d5c16f; }
.emt-rv-aed-current { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid #e2bb76; border-radius: 7px; color: #fff3d8; background: #4c3d28; font-size: 0.76rem; line-height: 1.4; }
.emt-rv-aed-current strong { font-size: 0.83rem; }
.emt-rv-aed-scroll-cue { margin: 0; color: #ffdda0; font-size: 0.72rem; font-weight: 750; line-height: 1.35; }
.emt-rv-aed-timeline { display: grid; gap: 5px; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
.emt-rv-aed-row { display: grid; grid-template-columns: 112px repeat(var(--emt-rv-aed-count), minmax(130px, 1fr)); gap: 5px; min-width: calc(112px + var(--emt-rv-aed-count) * 135px); }
.emt-rv-aed-row > * { padding: 8px; border: 1px solid rgba(142, 210, 199, 0.22); border-radius: 6px; font-size: 0.71rem; line-height: 1.35; background: #153844; }
.emt-rv-aed-row > strong { position: sticky; left: 0; z-index: 2; color: #b9e3d8; border-right-color: #9ecfc2; background: #143b47; box-shadow: 5px 0 7px rgba(4, 21, 29, 0.7); }
.emt-rv-aed-row--header > strong { z-index: 3; }
.emt-rv-aed-row--header > span { font-weight: 800; }
.emt-rv-aed-row > span[data-active="true"] { border-color: #ffcf80; color: #fff6e9; background: #614728; }
.emt-rv-aed-row > span[data-future="true"] { color: #a9bac0; background: #102a35; }
.emt-rv-pediatric-map { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.3fr); align-items: center; gap: 6px; }
.emt-rv-pediatric-technique { display: flex; gap: 12px; align-items: center; padding: 9px 12px; border: 1px dashed rgba(190, 218, 207, 0.45); border-radius: 8px; }
.emt-rv-pediatric-technique p { margin: 0; font-size: 0.78rem; line-height: 1.4; }
.emt-rv-technique-icon { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border: 2px solid #c8b3ee; border-radius: 50%; color: #e6d9ff; font-size: 1.5rem; }

@media (max-width: 680px) {
  .emt-rv-lane { grid-template-columns: 78px minmax(0, 1fr); }
  .emt-rv-lane-track { grid-column: 1; grid-row: 2; }
  .emt-rv-lane-value { grid-column: 2; grid-row: 2; }
  .emt-rv-record-flow { grid-template-columns: minmax(0, 1fr); }
  .emt-rv-pediatric-map { grid-template-columns: minmax(0, 1fr); }
  .emt-rv-pediatric-map .emt-rv-map-arrow { transform: rotate(90deg); }
  .emt-rv-aed-row { grid-template-columns: 100px repeat(var(--emt-rv-aed-count), minmax(125px, 1fr)); min-width: calc(100px + var(--emt-rv-aed-count) * 130px); }
}

@media (max-width: 360px) {
  .emt-rv-landmark-cue { display: block; }
  .emt-rv-landmark-scroll svg { width: 480px; max-width: none; min-width: 480px; height: 296px; }
  .emt-rv-aed-step-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emt-rv-aed-step-controls .emt-rv-control { width: 100%; min-height: 47px; font-size: 0.72rem; }
  .emt-rv-aed-row { grid-template-columns: 74px repeat(var(--emt-rv-aed-count), minmax(106px, 1fr)); min-width: calc(74px + var(--emt-rv-aed-count) * 111px); }
  .emt-rv-aed-row > * { padding: 6px; font-size: 0.68rem; }
}
