.emt-ped-lab {
  display: grid;
  gap: 15px;
  min-width: 0;
  padding: 19px;
  border: 1px solid rgba(103, 199, 222, 0.36);
  border-radius: 12px;
  background: radial-gradient(circle at 96% 2%, rgba(120, 187, 246, 0.16), transparent 35%), #111c29;
  color: var(--text);
}
.emt-ped-lab :is(button, input, select, summary):focus-visible { outline: 2px solid #b6efff; outline-offset: 3px; }
.emt-ped-lab button { min-height: 38px; }
.emt-ped-lab :is(h3, h4, p) { margin: 0; }
.emt-ped-head { display: grid; justify-items: start; gap: 7px; }
.emt-ped-head h3 { font-size: clamp(1.16rem, 2vw, 1.4rem); }
.emt-ped-head p { max-width: 90ch; color: #c6d6dd; font-size: 0.8rem; line-height: 1.52; }
.emt-ped-lab h4 { color: #d8edf2; font-size: 0.89rem; }
.emt-ped-presets, .emt-ped-controls, .emt-ped-findings, .emt-ped-timeline {
  display: grid;
  gap: 11px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(185, 220, 236, 0.18);
  border-radius: 9px;
  background: rgba(3, 14, 24, 0.46);
}
.emt-ped-presets { border-color: rgba(111, 182, 255, 0.3); background: rgba(111, 182, 255, 0.07); }
.emt-ped-presets > strong { color: #d9eff8; font-size: 0.78rem; }
.emt-ped-preset-buttons, .emt-ped-replay-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.emt-ped-preset-buttons button, .emt-ped-replay-actions button { font-size: 0.72rem; }
.emt-ped-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
.emt-ped-controls h4 { grid-column: 1 / -1; }
.emt-ped-controls [hidden] { display: none; }
.emt-ped-support-note { grid-column: 1 / -1; color: #b9d7dd; font-size: 0.74rem; line-height: 1.5; }
.emt-ped-field { display: grid; gap: 6px; min-width: 0; }
.emt-ped-field strong, .emt-ped-replay-field strong { color: #d7eaf0; font-size: 0.75rem; }
.emt-ped-field select {
  width: 100%; min-height: 40px; padding: 7px 9px;
  border: 1px solid rgba(177, 221, 237, 0.31); border-radius: 7px;
  background: #182a38; color: #edf8fb; font: inherit; font-size: 0.75rem;
}
.emt-ped-toggle { display: flex; align-items: flex-start; gap: 8px; color: #cfdee3; font-size: 0.75rem; line-height: 1.42; cursor: pointer; }
.emt-ped-toggle input { flex: none; margin-top: 3px; accent-color: #64d8bf; }
.emt-ped-finding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.emt-ped-finding-grid p { padding: 10px; border: 1px solid rgba(111, 182, 255, 0.27); border-radius: 7px; background: rgba(111, 182, 255, 0.08); color: #d5e8f2; font-size: 0.76rem; line-height: 1.42; }
.emt-ped-pathway { padding: 11px 12px; border-left: 3px solid #5fd9c0; background: rgba(95, 217, 192, 0.09); color: #e2fcf4; font-size: 0.82rem; font-weight: 700; line-height: 1.5; }
.emt-ped-roles { color: #c1d4da; font-size: 0.75rem; line-height: 1.48; }
.emt-ped-scenes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.emt-ped-scene { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 14px; border: 1px solid rgba(111, 182, 255, 0.32); border-radius: 10px; background: linear-gradient(155deg, rgba(85, 214, 190, 0.08), transparent 36%), #0d1b28; }
.emt-ped-scene-child { background: linear-gradient(155deg, rgba(111, 182, 255, 0.12), transparent 36%), #0d1b28; }
.emt-ped-scene[data-warning="true"] { border-color: rgba(239, 176, 117, 0.65); }
.emt-ped-scene h4 { font-size: 0.93rem; }
.emt-ped-scene-meta, .emt-ped-scene-activity, .emt-ped-technique-note, .emt-ped-depth { color: #bdced6; font-size: 0.72rem; line-height: 1.44; }
.emt-ped-scene-activity { min-height: 2.7em; color: #a7e9e0; font-weight: 700; }
.emt-ped-technique-note { padding: 9px 10px; border-left: 3px solid #60d3b7; background: rgba(96, 211, 183, 0.08); }
.emt-ped-technique-note[data-warning="true"] { border-left-color: #efb075; background: rgba(239, 176, 117, 0.11); color: #f5d3aa; }
.emt-ped-depth { color: #97b9c5; }

/* Diagram dimensions communicate age bands; they are illustrative, never physical skill feedback. */
.emt-ped-stage {
  position: relative; height: 220px; overflow: hidden;
  border: 1px solid rgba(142, 200, 225, 0.26); border-radius: 9px;
  background: radial-gradient(ellipse at center 57%, rgba(58, 139, 170, 0.22), transparent 52%), linear-gradient(130deg, #0a1623, #102838);
}
.emt-ped-stage::before { content: "VIRTUAL INFANT MANIKIN"; position: absolute; z-index: 5; top: 9px; left: 10px; color: #9cb8c7; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.08em; }
.emt-ped-scene-child .emt-ped-stage::before { content: "VIRTUAL CHILD MANIKIN"; }
.emt-ped-pad { position: absolute; left: 50%; bottom: 15px; width: 195px; height: 170px; transform: translateX(-50%); border-radius: 50% 50% 26px 26px; background: rgba(114, 172, 202, 0.08); border: 1px dashed rgba(152, 206, 228, 0.21); }
.emt-ped-patient-head { position: absolute; top: 34px; left: 50%; width: 54px; height: 50px; transform: translateX(-50%); border-radius: 50%; background: linear-gradient(120deg, #7fb3c2, #527d95); box-shadow: inset -7px -4px 0 rgba(26, 53, 73, 0.22); }
.emt-ped-patient-torso { position: absolute; top: 86px; left: 50%; width: 104px; height: 119px; transform: translateX(-50%); border-radius: 43px 43px 22px 22px; background: linear-gradient(90deg, #416a7d, #86b9c4 48%, #416a7d); box-shadow: inset 0 0 0 2px rgba(211, 251, 255, 0.1); }
.emt-ped-scene-child .emt-ped-patient-head { top: 19px; width: 59px; height: 56px; }
.emt-ped-scene-child .emt-ped-patient-torso { top: 78px; width: 119px; height: 136px; border-radius: 37px 37px 15px 15px; }
.emt-ped-sternum { position: absolute; z-index: 1; left: 50%; top: 106px; width: 39px; height: 57px; transform: translateX(-50%); border: 2px dashed rgba(190, 244, 248, 0.7); border-radius: 21px; }
.emt-ped-scene-child .emt-ped-sternum { top: 101px; height: 64px; }
.emt-ped-hands { position: absolute; z-index: 3; top: 111px; left: 50%; width: 62px; height: 28px; transform: translateX(-50%) rotate(-9deg); border-radius: 16px; background: #e1aa78; box-shadow: inset -6px -3px 0 rgba(130, 77, 48, 0.16), 0 6px 0 #ba7856; opacity: 0.93; }
.emt-ped-stage[data-technique="two"] .emt-ped-hands { width: 72px; height: 32px; box-shadow: inset -6px -3px 0 rgba(130, 77, 48, 0.16), 0 6px 0 #ba7856, 9px -11px 0 #edb789; }
.emt-ped-stage[data-technique="thumbs"] .emt-ped-hands { top: 118px; width: 105px; height: 45px; border: 8px solid #d6996d; border-top-width: 13px; background: transparent; box-shadow: none; border-radius: 28px; transform: translateX(-50%); }
.emt-ped-stage[data-technique="thumbs"] .emt-ped-hands::before, .emt-ped-stage[data-technique="thumbs"] .emt-ped-hands::after { content: ""; position: absolute; top: -20px; width: 15px; height: 35px; border-radius: 8px; background: #e1aa78; }
.emt-ped-stage[data-technique="thumbs"] .emt-ped-hands::before { left: 24px; transform: rotate(21deg); }
.emt-ped-stage[data-technique="thumbs"] .emt-ped-hands::after { right: 24px; transform: rotate(-21deg); }
.emt-ped-stage[data-technique="fingers"] .emt-ped-hands { top: 116px; width: 8px; height: 42px; border-radius: 6px; transform: translateX(-9px); box-shadow: 10px 0 0 #d8996c; background: #e1aa78; }
.emt-ped-stage[data-cpr="false"] .emt-ped-hands { opacity: 0; }
.emt-ped-chest-rise { position: absolute; z-index: 2; left: 50%; top: 100px; width: 84px; height: 59px; transform: translateX(-50%) scale(0.87); border: 3px solid #a8ecff; border-radius: 50%; opacity: 0; }
.emt-ped-breath-beam { position: absolute; z-index: 2; left: calc(50% + 25px); top: 47px; width: 55px; height: 60px; border-top: 3px dotted #a8ecff; border-right: 3px dotted #a8ecff; border-radius: 0 35px 0 0; opacity: 0; }
.emt-ped-stage[data-mode="press"] .emt-ped-hands { margin-top: 8px; }
.emt-ped-stage[data-mode="press"] .emt-ped-sternum { top: 114px; border-color: #68e1c3; }
.emt-ped-scene-child .emt-ped-stage[data-mode="press"] .emt-ped-sternum { top: 109px; }
.emt-ped-stage[data-mode="rise"] .emt-ped-chest-rise { opacity: 1; transform: translateX(-50%) scale(1.08); box-shadow: 0 0 19px rgba(168, 236, 255, 0.5); }
.emt-ped-stage[data-mode="rise"] .emt-ped-breath-beam { opacity: 1; }

.emt-ped-timeline-intro, .emt-ped-aed, .emt-ped-text-equivalent, .emt-ped-safety, .emt-ped-source { color: #bed0d8; font-size: 0.76rem; line-height: 1.48; }
.emt-ped-bar { position: relative; display: flex; height: 35px; overflow: hidden; border: 1px solid rgba(206, 232, 244, 0.25); border-radius: 7px; background: #091623; }
.emt-ped-segment { flex: 0 0 auto; height: 100%; }
.emt-ped-assessment { background: #927fbd; }
.emt-ped-compressions { background: #55d6be; }
.emt-ped-breaths { background: #7cb7e9; }
.emt-ped-aed.emt-ped-segment { background: #e37b79; }
.emt-ped-observe { background: #47677a; }
.emt-ped-playhead { position: absolute; top: 0; bottom: 0; width: 3px; background: #fff; box-shadow: 0 0 9px #fff; }
.emt-ped-ticks { display: flex; justify-content: space-between; color: #94b2c0; font-size: 0.66rem; font-weight: 750; }
.emt-ped-replay-field { display: grid; gap: 6px; max-width: 710px; }
.emt-ped-replay-field input { width: 100%; accent-color: #68d7c0; }
.emt-ped-replay-field output { color: #a9f0dd; font-size: 0.74rem; font-weight: 800; }
.emt-ped-action { padding: 10px 12px; border-left: 3px solid #75bdeb; background: rgba(117, 189, 235, 0.08); color: #e0f0f7; font-size: 0.77rem; line-height: 1.47; }
.emt-ped-timeline-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.emt-ped-timeline-facts p { padding: 9px 10px; border: 1px solid rgba(178, 222, 235, 0.17); border-radius: 7px; color: #c9dce3; font-size: 0.73rem; line-height: 1.45; }
.emt-ped-puberty { padding: 12px 14px; border: 1px solid rgba(228, 184, 122, 0.33); border-radius: 9px; background: rgba(228, 184, 122, 0.065); }
.emt-ped-puberty summary { color: #f0d5ab; font-size: 0.79rem; font-weight: 800; cursor: pointer; }
.emt-ped-puberty p { margin-top: 9px; color: #d2c8b9; font-size: 0.74rem; line-height: 1.5; }
.emt-ped-transcript { padding: 12px 14px; border: 1px solid rgba(111, 182, 255, 0.23); border-radius: 9px; background: rgba(111, 182, 255, 0.045); }
.emt-ped-transcript summary { color: #b1dcf1; font-size: 0.76rem; font-weight: 800; cursor: pointer; }
.emt-ped-text-equivalent { margin-top: 9px !important; }
.emt-ped-safety { color: #ecd0ad; }
.emt-ped-source a { color: #96e8dc; }
.emt-ped-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 820px) { .emt-ped-scenes { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .emt-ped-lab { padding: 13px; gap: 12px; }
  .emt-ped-controls, .emt-ped-finding-grid, .emt-ped-timeline-facts { grid-template-columns: 1fr; }
  .emt-ped-controls h4 { grid-column: auto; }
  .emt-ped-stage { height: 212px; }
  .emt-ped-preset-buttons button, .emt-ped-replay-actions button { flex: 1 1 135px; }
}
@media (prefers-reduced-motion: reduce) {
  .emt-ped-lab *, .emt-ped-lab *::before, .emt-ped-lab *::after { animation: none !important; transition: none !important; }
}
