.mvr-pv2 {
  --pv2-ink: #123d4a;
  --pv2-blue: #166678;
  --pv2-blue-soft: #eaf5f5;
  --pv2-coral: #d86d5c;
  --pv2-sage: #70a698;
  --pv2-line: #cfdee1;
  background: #fff;
  border: 1px solid var(--pv2-line);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(18, 61, 74, .11);
  color: var(--pv2-ink);
  margin: 28px 0;
  overflow: hidden;
}
.mvr-pv2__header { align-items: start; background: linear-gradient(135deg, #f5fbfb, #fff5f1); display: flex; gap: 24px; justify-content: space-between; padding: 24px 26px 20px; }
.mvr-pv2__eyebrow { color: var(--pv2-coral); font-size: .72rem; font-weight: 850; letter-spacing: .1em; margin: 0 0 5px; text-transform: uppercase; }
.mvr-pv2__title { color: var(--pv2-ink); font-size: clamp(1.2rem, 2.5vw, 1.7rem); line-height: 1.18; margin: 0; }
.mvr-pv2__duration { background: #fff; border: 1px solid var(--pv2-line); border-radius: 999px; color: #536b73; flex: none; font-size: .78rem; font-weight: 750; padding: 7px 11px; }
.mvr-pv2__body { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.8fr) minmax(220px, .8fr); padding: 22px 26px 26px; }
.mvr-pv2__canvas { background: radial-gradient(circle at 50% 30%, #fff 0, #eff8f7 68%, #e5f1f1 100%); border: 1px solid var(--pv2-line); border-radius: 17px; min-height: 390px; overflow: hidden; position: relative; }
.mvr-pv2__canvas svg { display: block; height: auto; max-height: 465px; min-height: 360px; width: 100%; }
.mvr-pv2[data-sequence="journey_air"] .mvr-pv2__body { grid-template-columns: minmax(0, 1fr); }
.mvr-pv2[data-sequence="journey_air"] .mvr-pv2__canvas { aspect-ratio: 720 / 440; min-height: 0; }
.mvr-pv2[data-sequence="journey_air"] .mvr-pv2__canvas svg { max-height: none; min-height: 0; }
.mvr-pv2[data-sequence="journey_air"] .mvr-pv2__aside { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mvr-pv2__aside { align-content: start; display: grid; gap: 14px; }
.mvr-pv2__now,
.mvr-pv2__takeaway,
.mvr-pv2__practice { background: #f7fafb; border: 1px solid var(--pv2-line); border-radius: 14px; padding: 15px; }
.mvr-pv2__now span { color: #667d84; display: block; font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.mvr-pv2__now strong { color: var(--pv2-blue); display: block; font-size: 1.05rem; margin-top: 4px; }
.mvr-pv2__takeaway { background: #eff8f4; border-color: #c9e0d8; }
.mvr-pv2__takeaway strong { display: block; margin-bottom: 5px; }
.mvr-pv2__practice p { margin: 0 0 10px; }
.mvr-pv2__answers { display: grid; gap: 7px; }
.mvr-pv2__answers button,
.mvr-pv2__hotspot-list button { background: #fff; border: 1px solid #9cb7bd; border-radius: 9px; color: var(--pv2-ink); cursor: pointer; font: inherit; font-size: .86rem; font-weight: 700; min-height: 42px; padding: 8px 10px; text-align: left; }
.mvr-pv2__answers button:hover,
.mvr-pv2__hotspot-list button:hover { border-color: var(--pv2-blue); }
.mvr-pv2__answers button.is-correct { background: #e9f7f0; border-color: #4d8f7d; }
.mvr-pv2__answers button.is-wrong { background: #fff0ed; border-color: var(--pv2-coral); }
.mvr-pv2__feedback { color: #536b73; font-size: .82rem; margin: 10px 0 0 !important; min-height: 1.3em; }
.mvr-pv2__timeline { border-top: 1px solid var(--pv2-line); padding: 19px 26px 24px; }
.mvr-pv2__explore-title { color: var(--pv2-ink); font-size: 1rem; margin: 0 0 2px; }
.mvr-pv2__mobile-step { display: none; }
.mvr-pv2__markers { display: grid; gap: 6px; grid-auto-columns: minmax(78px, 1fr); grid-auto-flow: column; margin: 0 0 13px; overflow-x: auto; padding: 14px 0 4px; }
.mvr-pv2__marker { background: transparent; border: 0; color: #657a81; cursor: pointer; font: inherit; font-size: .7rem; min-height: 46px; padding: 18px 3px 2px; position: relative; text-align: center; }
.mvr-pv2__marker::before { background: #b9cdd1; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #b9cdd1; content: ''; height: 10px; left: 50%; position: absolute; top: 2px; transform: translateX(-50%); width: 10px; }
.mvr-pv2__marker::after { background: #dce8ea; content: ''; height: 2px; left: calc(50% + 8px); position: absolute; right: calc(-50% + 8px); top: 8px; }
.mvr-pv2__marker:last-child::after { display: none; }
.mvr-pv2__marker.is-active { color: var(--pv2-ink); font-weight: 800; }
.mvr-pv2__marker.is-active::before { background: var(--pv2-coral); box-shadow: 0 0 0 2px var(--pv2-coral); }
.mvr-pv2__progress { align-items: center; display: grid; gap: 7px 10px; grid-template-columns: minmax(0, 1fr) auto; }
.mvr-pv2__progress-label { color: #536b73; font-size: .74rem; font-weight: 750; grid-column: 1 / -1; }
.mvr-pv2__progress progress { accent-color: var(--pv2-coral); height: 8px; width: 100%; }
.mvr-pv2__progress-value { color: #657a81; font-size: .75rem; min-width: 3.2em; text-align: right; }
.mvr-pv2__controls { align-items: end; display: grid; gap: 11px 18px; grid-template-columns: auto minmax(0, 1fr); margin-top: 15px; }
.mvr-pv2__control-group { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.mvr-pv2__control-group > span { color: #667d84; flex: 0 0 100%; font-size: .64rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.mvr-pv2__control-group--audio { border-right: 1px solid var(--pv2-line); padding-right: 18px; }
.mvr-pv2__controls button { align-items: center; background: #fff; border: 1px solid #96b3b9; border-radius: 10px; color: var(--pv2-ink); cursor: pointer; display: inline-flex; font: inherit; font-size: .85rem; font-weight: 780; gap: 4px; justify-content: center; min-height: 44px; padding: 8px 13px; }
.mvr-pv2__controls .mvr-pv2__play { background: var(--pv2-blue); border-color: var(--pv2-blue); color: #fff; min-width: 112px; }
.mvr-pv2__controls button:disabled { cursor: not-allowed; opacity: .52; }
.mvr-pv2__controls [role="status"] { color: #5e737a; font-size: .78rem; grid-column: 1 / -1; min-height: 1.25em; }
.mvr-pv2 button:focus-visible,
.mvr-pv2 summary:focus-visible { outline: 3px solid var(--pv2-coral); outline-offset: 3px; }
.mvr-pv2__transcript { border-top: 1px solid var(--pv2-line); margin-top: 18px; padding-top: 14px; }
.mvr-pv2__transcript summary { color: var(--pv2-blue); cursor: pointer; font-weight: 750; }
.mvr-pv2__transcript p { color: #415a62; font-size: .91rem; line-height: 1.62; }
.mvr-pv2__caption { bottom: 14px; left: 14px; margin: 0; position: absolute; right: 14px; text-align: center; }
.mvr-pv2__caption span { background: rgba(18, 61, 74, .9); border-radius: 8px; color: #fff; display: inline-block; font-size: .8rem; padding: 6px 10px; }
.mvr-pv2 .pv2-label { fill: var(--pv2-ink); font: 700 14px system-ui, sans-serif; }
.mvr-pv2 .pv2-muted { fill: #6a8188; font: 600 12px system-ui, sans-serif; }
.mvr-pv2 .pv2-organ { fill: #d7ece9; stroke: var(--pv2-blue); stroke-width: 3; }
.mvr-pv2 .pv2-airway { fill: none; stroke: #5e9ba7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 13; }
.mvr-pv2 .pv2-airway-thin { fill: none; stroke: #79aeb4; stroke-linecap: round; stroke-width: 6; }
.mvr-pv2 .pv2-air-dot { fill: var(--pv2-coral); filter: drop-shadow(0 2px 4px rgba(116, 47, 37, .25)); }
.mvr-pv2 .pv2-route-marker line { stroke: #a4bbc0; stroke-width: 1.5; transition: stroke .18s ease, stroke-width .18s ease; }
.mvr-pv2 .pv2-route-marker text { transition: fill .18s ease, font-size .18s ease; }
.mvr-pv2 .pv2-route-marker.is-active line { stroke: var(--pv2-coral); stroke-width: 4; }
.mvr-pv2 .pv2-route-marker.is-active text { fill: #b94851; font-size: 17px; }
.mvr-pv2 .pv2-hotspot { cursor: pointer; opacity: .08; stroke: var(--pv2-coral); stroke-width: 3; }
.mvr-pv2 .pv2-hotspot:focus { opacity: .35; outline: none; }
.mvr-pv2 .pv2-structure.is-active { filter: drop-shadow(0 0 7px rgba(216, 109, 92, .75)); stroke: var(--pv2-coral); stroke-width: 5; }
.mvr-pv2 .pv2-structure.is-current-marker { filter: drop-shadow(0 0 8px rgba(216, 109, 92, .85)); stroke: var(--pv2-coral); stroke-width: 5; }
.mvr-pv2 .pv2-o2 { fill: #2585a0; }
.mvr-pv2 .pv2-co2 { fill: var(--pv2-coral); }
.mvr-pv2 .pv2-blood { fill: none; stroke: #c96965; stroke-linecap: round; stroke-width: 18; }
.mvr-pv2 .pv2-diaphragm { fill: none; stroke: var(--pv2-coral); stroke-linecap: round; stroke-width: 8; }
.mvr-pv2 .pv2-badge { fill: #fff; stroke: #aac2c7; stroke-width: 2; }
.mvr-pv2__hotspot-list { display: grid; gap: 6px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 212px; overflow: auto; }
.mvr-pv2__hotspot-list button { font-size: .76rem; min-height: 36px; padding: 6px 8px; }
.mvr-pv2__hotspot-list button.is-active { background: var(--pv2-blue); border-color: var(--pv2-blue); color: #fff; }
.mvr-pv2__gas-picker,
.mvr-pv2__order-picker { display: grid; gap: 8px; }
.mvr-pv2__gas-chips,
.mvr-pv2__gas-zones { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mvr-pv2__gas-chips button,
.mvr-pv2__gas-zones button,
.mvr-pv2__order-picker button { background: #fff; border: 1px solid #9cb7bd; border-radius: 9px; color: var(--pv2-ink); cursor: pointer; font: inherit; font-size: .78rem; font-weight: 750; min-height: 40px; padding: 7px 8px; }
.mvr-pv2__gas-chips button.is-selected { background: var(--pv2-blue); border-color: var(--pv2-blue); color: #fff; }
.mvr-pv2__gas-zones button.is-filled { background: #eff8f4; border-color: #4d8f7d; }
.mvr-pv2__order-result { background: #fff; border: 1px dashed #9cb7bd; border-radius: 9px; color: #536b73; font-size: .77rem; min-height: 42px; padding: 8px; }
.mvr-pv2__order-picker button:disabled { cursor: default; opacity: .45; }
.mvr-pv2__practice-reset { justify-self: start; }
.mvr-pv2-legacy-narration { display: none; }
.mvr-aet-audio__notice { color: #657a81; font-size: .76rem; }
.mvr-aet-narration { background: linear-gradient(135deg, #f2fbfc 0%, #fff 58%, #fff4f2 100%); border: 1px solid #c5dde2; border-radius: 22px; box-shadow: 0 18px 42px rgba(13,60,75,.1); margin: 26px 0 30px; overflow: hidden; padding: 22px; position: relative; }
.mvr-aet-narration::before { background: linear-gradient(90deg, #0c6c84 0 72%, #e46d79 72%); content: ""; height: 4px; inset: 0 0 auto; position: absolute; }
.mvr-aet-narration__intro { align-items: end; display: grid; gap: 4px 22px; grid-template-columns: minmax(0,1fr) auto; margin: 1px 2px 16px; }
.mvr-aet-narration__intro span { color: #d75f6d; font-size: .68rem; font-weight: 850; grid-column: 1 / -1; letter-spacing: .13em; text-transform: uppercase; }
.mvr-aet-narration__intro strong { color: #123d4a; font-size: clamp(1.05rem,2vw,1.35rem); line-height: 1.2; }
.mvr-aet-narration__intro p { color: #657b83; font-size: .76rem; margin: 0; }
.mvr-aet-narration .mvr-aet-audio { background: rgba(255,255,255,.92); border-color: #9dbfc6; box-shadow: 0 10px 24px rgba(12,72,88,.08); }
.mvr-aet-narration__transcript { border-top: 1px solid #d1e3e6; margin-top: 15px; padding-top: 13px; }
.mvr-aet-narration__transcript summary { color: #176c88; cursor: pointer; font-size: .83rem; font-weight: 780; }
.mvr-aet-narration__transcript p { color: #405b64; font-size: .86rem; line-height: 1.65; margin: 11px 0 0; }
.mvr-aet-narration button:focus-visible,
.mvr-aet-narration summary:focus-visible,
.mvr-aet-narration input:focus-visible { outline: 3px solid #e26c78; outline-offset: 3px; }
.mvr-aet-focus-visual { background: #fff; border: 1px solid #c9dfe3; border-radius: 24px; box-shadow: 0 24px 56px rgba(13,60,75,.12); margin: 32px 0; overflow: hidden; position: relative; }
.mvr-aet-focus-visual::before { background: linear-gradient(90deg, #147a91 0 68%, #e46d79 68%); content: ""; height: 4px; inset: 0 0 auto; position: absolute; z-index: 2; }
.mvr-aet-focus-visual__header { align-items: center; background: linear-gradient(122deg, #f2fbfb 0%, #fff 58%, #fff4f2 100%); display: flex; gap: 22px; justify-content: space-between; padding: 27px 30px 23px; }
.mvr-aet-focus-visual__header p { color: #db6472; font-size: .68rem; font-weight: 850; letter-spacing: .15em; margin: 0 0 6px; text-transform: uppercase; }
.mvr-aet-focus-visual__header h3 { color: #0f3344; font-size: clamp(1.35rem, 2.4vw, 1.8rem); line-height: 1.12; margin: 0; }
.mvr-aet-focus-visual__header > span { align-items: center; background: rgba(255,255,255,.88); border: 1px solid #c8dfe2; border-radius: 999px; color: #5b747d; display: flex; flex: 0 0 auto; font-size: .7rem; font-weight: 750; gap: 7px; padding: 8px 12px; }
.mvr-aet-focus-visual__header > span i { background: #77bbaa; border-radius: 50%; box-shadow: 0 0 0 4px #e3f3ef; height: 7px; width: 7px; }
.mvr-aet-focus-visual__body { display: grid; gap: 22px; grid-template-columns: minmax(0, 1.58fr) minmax(230px, .72fr); padding: 24px 28px 29px; }
.mvr-aet-focus-visual__canvas { aspect-ratio: 4 / 3; background: radial-gradient(circle at 50% 35%, #fff 0, #eef8f8 59%, #e2f0f1 100%); border: 1px solid #c4dde1; border-radius: 19px; min-height: 0; overflow: hidden; position: relative; }
.mvr-aet-focus-visual__canvas::after { border: 1px solid rgba(255,255,255,.82); border-radius: 16px; content: ""; inset: 8px; pointer-events: none; position: absolute; }
.mvr-aet-focus-visual__canvas-label { align-items: center; background: rgba(255,255,255,.9); border: 1px solid #d3e4e6; border-radius: 999px; color: #1b6072; display: flex; font-size: .64rem; font-weight: 800; gap: 6px; left: 16px; letter-spacing: .08em; padding: 7px 10px; position: absolute; text-transform: uppercase; top: 15px; z-index: 1; }
.mvr-aet-focus-visual__canvas-label span { color: #e46876; }
.mvr-aet-focus-visual__zoom { align-items: center; background: rgba(255,255,255,.94); border: 1px solid #afcfd5; border-radius: 999px; color: #14566b; cursor: pointer; display: inline-flex; font: inherit; font-size: .7rem; font-weight: 800; gap: 5px; min-height: 38px; padding: 7px 11px; position: absolute; right: 16px; top: 14px; z-index: 3; }
.mvr-aet-focus-visual__zoom span { font-size: 1rem; line-height: 1; }
.mvr-aet-focus-visual__canvas { scrollbar-color: #78aeb8 #e8f3f4; }
.mvr-aet-zoom-open { overflow: hidden; }
.mvr-aet-focus-visual.is-zoomed { overflow: visible; }
.mvr-aet-focus-visual.is-zoomed .mvr-aet-focus-visual__canvas { aspect-ratio: auto; border-radius: 18px; box-shadow: 0 24px 80px rgba(4,39,54,.3); height: auto; inset: 12px; min-height: 0; overflow: auto; position: fixed; width: auto; z-index: 10000; }
.mvr-aet-focus-visual.is-zoomed .mvr-aet-focus-visual__canvas svg { height: auto; max-width: none; min-height: 0; min-width: 760px; width: max(100%, 920px); }
.mvr-aet-focus-visual__canvas-caption { background: #103e4c; border-radius: 9px 9px 0 0; bottom: 0; color: #fff; font-size: .68rem; font-weight: 700; left: 50%; letter-spacing: .02em; margin: 0; max-width: calc(100% - 24px); padding: 8px 13px; position: absolute; text-align: center; transform: translateX(-50%); white-space: normal; width: max-content; z-index: 1; }
.mvr-aet-focus-visual__canvas svg { display: block; height: auto; min-height: 0; width: 100%; }
.mvr-aet-focus-visual__canvas svg text { font-family: Roboto, Arial, sans-serif; }
.mvr-aet-focus-visual__canvas .mvr-anatomy-render { filter: drop-shadow(0 13px 16px rgba(9,64,79,.16)); }
.mvr-aet-focus-visual__canvas .mvr-focus-target { opacity: .12; transition: opacity .32s ease, filter .32s ease; }
.mvr-aet-focus-visual__canvas .mvr-focus-target.is-active { filter: drop-shadow(0 5px 8px rgba(216,101,114,.2)); opacity: 1; }
.mvr-aet-focus-labels text { fill: #174352; font-size: 16px; font-weight: 850; letter-spacing: .04em; }
.mvr-aet-focus-visual__canvas [data-focus-target] text { fill: #174352; font-size: 14px; font-weight: 850; letter-spacing: .03em; }
.mvr-aet-focus-visual__canvas .mvr-lobe-tags rect { fill: #fff; stroke: #e28a93; stroke-width: 2px; }
.mvr-aet-focus-visual__canvas .mvr-lobe-tags path { fill: none; stroke: #e56775; stroke-width: 2px; }
.mvr-aet-focus-visual__panel { align-content: start; display: grid; gap: 10px; }
.mvr-aet-focus-visual__summary { background: linear-gradient(145deg, #063c50, #126b7f); border-radius: 17px; box-shadow: 0 14px 30px rgba(7,63,80,.18); color: #fff; min-height: 176px; padding: 19px 18px; position: relative; overflow: hidden; }
.mvr-aet-focus-visual__summary::after { border: 24px solid rgba(255,255,255,.07); border-radius: 50%; content: ""; height: 86px; position: absolute; right: -42px; top: -45px; width: 86px; }
.mvr-aet-focus-visual__summary > p { color: #9ed6df; font-size: .66rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 8px; text-transform: uppercase; }
.mvr-aet-focus-visual__summary h4 { color: #fff; font-size: 1.1rem; line-height: 1.2; margin: 0 0 13px; }
.mvr-aet-focus-visual__note { color: #e9f7f8; font-size: .8rem; line-height: 1.55; min-height: 70px; position: relative; z-index: 1; }
.mvr-aet-focus-visual__prompt { color: #647c85; font-size: .67rem; font-weight: 850; letter-spacing: .12em; margin: 7px 0 1px; text-transform: uppercase; }
.mvr-aet-focus-visual__panel button { align-items: center; background: #f7fafb; border: 1px solid #cbdee2; border-radius: 13px; color: #214957; cursor: pointer; display: grid; font: inherit; gap: 11px; grid-template-columns: 34px 1fr; min-height: 62px; padding: 10px 12px; text-align: left; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.mvr-aet-focus-visual__panel button span { align-items: center; background: #e1f1f3; border-radius: 50%; color: #1a6d80; display: flex; font-size: .63rem; font-weight: 800; height: 34px; justify-content: center; }
.mvr-aet-focus-visual__panel button b { display: block; font-size: .82rem; line-height: 1.18; }
.mvr-aet-focus-visual__panel button small { color: #71878e; display: block; font-size: .67rem; font-weight: 500; line-height: 1.25; margin-top: 4px; }
.mvr-aet-focus-visual__panel button:hover { border-color: #6ca9b7; box-shadow: 0 7px 16px rgba(24,93,110,.1); transform: translateX(3px); }
.mvr-aet-focus-visual__panel button.is-active { background: linear-gradient(115deg, #07506a, #13758a); border-color: #07506a; box-shadow: 0 9px 20px rgba(8,78,99,.18); color: #fff; }
.mvr-aet-focus-visual__panel button.is-active span { background: #ef8e98; color: #fff; }
.mvr-aet-focus-visual__panel button.is-active small { color: #c9e8ed; }
.mvr-aet-focus-visual__panel button:focus-visible { outline: 3px solid #e26c78; outline-offset: 2px; }
.mvr-aet-focus-visual__takeaway { align-items: start; background: #edf7f3; border: 1px solid #c9e0d8; border-radius: 13px; color: #356055; display: grid; font-size: .72rem; gap: 9px; grid-template-columns: 23px 1fr; line-height: 1.45; margin-top: 3px; padding: 12px; }
.mvr-aet-focus-visual__takeaway span { align-items: center; background: #78b9aa; border-radius: 50%; color: #fff; display: flex; font-size: .65rem; height: 23px; justify-content: center; }
.mvr-aet-focus-visual__takeaway p { margin: 0; }
.mvr-aet-focus-visual__takeaway strong { display: block; }
.mvr-airflow-line { animation: mvr-airflow-dash 2.4s linear infinite; stroke-dasharray: 10 12; }
.mvr-airflow-particles circle:nth-child(2) { animation-delay: -.8s; }
.mvr-airflow-particles circle:nth-child(3) { animation-delay: -1.6s; }
.mvr-airflow-particles circle { animation: mvr-air-particle 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.mvr-cough-waves path { animation: mvr-cough-wave 1.8s ease-out infinite; stroke-width: 5px; transform-box: fill-box; transform-origin: right center; }
.mvr-cough-waves path:nth-child(2) { animation-delay: -.3s; }.mvr-cough-waves path:nth-child(3) { animation-delay: -.6s; }
.mvr-pleura-pulse { animation: mvr-pleura-glow 2.3s ease-in-out infinite; }
@keyframes mvr-airflow-dash { to { stroke-dashoffset: -44; } }
@keyframes mvr-air-particle { 0%, 100% { opacity: .45; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.25); } }
@keyframes mvr-cough-wave { 0%, 100% { opacity: .25; transform: scale(.88); } 50% { opacity: 1; transform: scale(1); } }
@keyframes mvr-pleura-glow { 0%, 100% { opacity: .62; } 50% { opacity: 1; } }

.mvr-aet-professional-case { background: #fff; border: 1px solid #c9dfe3; border-radius: 22px; box-shadow: 0 20px 52px rgba(13,60,75,.1); margin: 30px 0; overflow: hidden; }
.mvr-aet-professional-case > header { align-items: center; background: linear-gradient(120deg, #063c50, #126b7f); color: #fff; display: flex; gap: 18px; justify-content: space-between; padding: 23px 25px; }
.mvr-aet-professional-case > header p { color: #9ee1e8; font-size: .67rem; font-weight: 850; letter-spacing: .13em; margin: 0 0 5px; text-transform: uppercase; }
.mvr-aet-professional-case > header h2 { color: #fff; font-size: clamp(1.25rem, 2.2vw, 1.75rem); margin: 0; }
.mvr-lms-aet-activity .mvr-aet-professional-case > header h2 { color: #fff; }
.mvr-aet-professional-case > header > span { background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #fff; flex: 0 0 auto; font-size: .68rem; font-weight: 700; max-width: 235px; padding: 8px 11px; text-align: center; }
.mvr-aet-professional-case__objective { align-items: center; background: #edf8f5; border-bottom: 1px solid #c9e0d8; color: #355e55; display: grid; gap: 14px; grid-template-columns: auto 1fr; padding: 13px 25px; }
.mvr-aet-professional-case__objective strong { color: #235d50; }
.mvr-aet-professional-case__objective p { margin: 0; }
.mvr-aet-professional-case__grid { display: grid; gap: 22px; grid-template-columns: minmax(0,.82fr) minmax(300px,1.18fr); padding: 24px 25px; }
.mvr-aet-professional-case__visual { background: radial-gradient(circle at 50% 35%, #fff, #edf7f7); border: 1px solid #c8dfe3; border-radius: 17px; overflow: hidden; padding: 12px; }
.mvr-aet-professional-case__visual svg { display: block; height: auto; width: 100%; }
.mvr-aet-professional-case__visual p { color: #405c66; font-size: .82rem; line-height: 1.55; margin: 5px 8px 8px; }
.mvr-aet-professional-case__label { color: #d75e6b; font-size: .68rem; font-weight: 850; letter-spacing: .12em; margin: 0 0 7px; text-transform: uppercase; }
.mvr-aet-professional-case__situation h3 { color: #123d4a; font-size: 1.08rem; line-height: 1.45; margin: 0 0 9px; }
.mvr-aet-professional-case__situation > p:not(.mvr-aet-professional-case__label) { color: #536e77; font-size: .86rem; }
.mvr-aet-professional-case__facts { background: #f5fafb; border: 1px solid #ccdee2; border-radius: 13px; margin: 14px 0 18px; padding: 13px; }
.mvr-aet-professional-case__facts > p { color: #405b64; font-size: .8rem; line-height: 1.45; margin: 0 0 10px; }
.mvr-aet-professional-case__fact-list { display: flex; flex-wrap: wrap; gap: 7px; }
.mvr-aet-professional-case__fact-list button { background: #fff; border: 1px solid #a9c5ca; border-radius: 999px; color: #315360; cursor: pointer; font: inherit; font-size: .74rem; font-weight: 700; min-height: 38px; padding: 7px 10px; }
.mvr-aet-professional-case__fact-list button.is-selected { background: #e6f4f6; border-color: #4e98a8; box-shadow: inset 0 0 0 1px #4e98a8; }
.mvr-aet-professional-case__fact-list button.is-correct { background: #e7f5ef; border-color: #57927d; color: #2f6855; }
.mvr-aet-professional-case__fact-list button.is-wrong { background: #fff0ed; border-color: #d86d5c; color: #8b3c34; }
.mvr-aet-professional-case__check { background: #176c88; border: 1px solid #176c88; border-radius: 999px; color: #fff; cursor: pointer; font: inherit; font-size: .76rem; font-weight: 800; margin-top: 10px; min-height: 40px; padding: 8px 13px; }
.mvr-aet-professional-case__facts-feedback { color: #526c75; font-size: .76rem; line-height: 1.45; margin-top: 9px; }
.mvr-aet-professional-case__facts-feedback.is-correct { color: #2f6855; }
.mvr-aet-professional-case__facts-feedback.is-wrong { color: #8b3c34; }
.mvr-aet-professional-case__choices { display: grid; gap: 8px; }
.mvr-aet-professional-case__choices button { align-items: center; background: #fff; border: 1px solid #a9c5ca; border-radius: 12px; color: #244b58; cursor: pointer; display: grid; font: inherit; font-size: .82rem; font-weight: 700; gap: 10px; grid-template-columns: 30px 1fr; min-height: 50px; padding: 9px 11px; text-align: left; }
.mvr-aet-professional-case__choices button span { align-items: center; background: #e5f3f5; border-radius: 50%; color: #176c88; display: flex; height: 30px; justify-content: center; }
.mvr-aet-professional-case__choices button:hover { background: #f1f9fa; border-color: #579cac; }
.mvr-aet-professional-case__choices button.is-correct { background: #eaf7f1; border-color: #4d8f7d; }
.mvr-aet-professional-case__choices button.is-wrong { background: #fff0ed; border-color: #d86d5c; }
.mvr-aet-professional-case__feedback { background: #f3f7f8; border-radius: 10px; color: #405b64; font-size: .8rem; line-height: 1.5; margin-top: 11px; min-height: 48px; padding: 10px 12px; }
.mvr-aet-professional-case__feedback.is-correct { background: #eaf7f1; color: #285e4e; }
.mvr-aet-professional-case__feedback.is-wrong { background: #fff0ed; color: #8b3c34; }
.mvr-aet-professional-case > footer { align-items: baseline; background: #f5fafb; border-top: 1px solid #d3e4e7; display: flex; gap: 10px; padding: 14px 25px; }
.mvr-aet-professional-case > footer strong { color: #176c88; flex: 0 0 auto; }
.mvr-aet-professional-case > footer p { color: #405b64; margin: 0; }
.mvr-aet-professional-case button:focus-visible { outline: 3px solid #d75e6b; outline-offset: 2px; }
@media (max-width: 880px) {
  .mvr-pv2__body { grid-template-columns: 1fr; }
  .mvr-pv2__canvas { min-height: 340px; }
  .mvr-pv2__canvas svg { min-height: 320px; }
  .mvr-pv2__aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mvr-pv2__now { grid-column: 1 / -1; }
  .mvr-aet-focus-visual__body { grid-template-columns: 1fr; }
  .mvr-aet-focus-visual__panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mvr-aet-focus-visual__summary,
  .mvr-aet-focus-visual__prompt,
  .mvr-aet-focus-visual__takeaway { grid-column: 1 / -1; }
  .mvr-aet-professional-case__grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .mvr-aet-narration { border-radius: 17px; margin: 20px 0 24px; padding: 18px 14px; }
  .mvr-aet-narration__intro { align-items: start; grid-template-columns: 1fr; }
  .mvr-aet-narration .mvr-aet-audio { grid-template-columns: 44px minmax(0,1fr); padding: 14px; }
  .mvr-aet-narration .mvr-aet-audio__controls,
  .mvr-aet-narration .mvr-aet-audio__timeline,
  .mvr-aet-narration .mvr-aet-audio__status { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .mvr-pv2 { border-radius: 16px; margin-inline: -4px; }
  .mvr-pv2__header { padding: 19px 17px 16px; }
  .mvr-pv2__body { padding: 16px; }
	.mvr-pv2__timeline { padding: 16px 16px 18px; }
	.mvr-pv2__markers { display: none; }
	.mvr-pv2__mobile-step { align-items: center; background: #f1f8f9; border: 1px solid #cbdfe3; border-radius: 11px; display: flex; gap: 9px; justify-content: space-between; margin: 15px 0 11px; padding: 9px 11px; }
	.mvr-pv2__mobile-step strong { color: var(--pv2-ink); font-size: .8rem; }
	.mvr-pv2__mobile-step span { color: #526f78; flex: none; font-size: .72rem; }
	.mvr-pv2__controls { display: grid; grid-template-columns: 1fr; }
	.mvr-pv2__control-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mvr-pv2__control-group > span { grid-column: 1 / -1; }
	.mvr-pv2__control-group--audio { border-bottom: 1px solid var(--pv2-line); border-right: 0; padding: 0 0 12px; }
	.mvr-pv2__controls .mvr-pv2__play,
	.mvr-pv2__controls .mvr-pv2__restart { grid-column: 1 / -1; width: 100%; }
	.mvr-pv2__controls button { width: 100%; }
	.mvr-pv2__controls [role="status"] { grid-column: 1 / -1; margin: 2px 0 0; }
  .mvr-pv2__canvas { min-height: 290px; }
  .mvr-pv2__canvas svg { min-height: 285px; }
  .mvr-pv2__aside { grid-template-columns: 1fr; }
  .mvr-pv2[data-sequence="journey_air"] .mvr-pv2__aside { grid-template-columns: 1fr; }
  .mvr-pv2__now { grid-column: auto; }
  .mvr-pv2__duration { display: none; }
  .mvr-pv2__hotspot-list { grid-template-columns: 1fr; }
  .mvr-pv2__gas-chips,
  .mvr-pv2__gas-zones { grid-template-columns: 1fr; }
  .mvr-aet-focus-visual { border-radius: 16px; margin-inline: -4px; }
  .mvr-aet-focus-visual__header { align-items: start; padding: 18px 16px 15px; }
  .mvr-aet-focus-visual__header > span { display: none; }
  .mvr-aet-focus-visual__body { padding: 14px; }
  .mvr-aet-focus-visual__canvas { min-height: 0; }
  .mvr-aet-focus-visual__canvas svg { min-height: 0; min-width: 0; transform: none; width: 100%; }
	.mvr-aet-focus-visual.is-zoomed .mvr-aet-focus-visual__canvas { inset: 7px; }
	.mvr-aet-focus-visual.is-zoomed .mvr-aet-focus-visual__canvas svg { min-width: 720px; transform: none; width: 720px; }
  .mvr-aet-focus-visual__panel { grid-template-columns: 1fr; }
  .mvr-aet-focus-visual__summary,
  .mvr-aet-focus-visual__prompt,
  .mvr-aet-focus-visual__takeaway { grid-column: auto; }
  .mvr-aet-focus-visual__note { min-height: 0; }
	.mvr-aet-professional-case { border-radius: 16px; margin-inline: -4px; }
	.mvr-aet-professional-case > header { align-items: start; flex-direction: column; padding: 18px 16px; }
	.mvr-aet-professional-case > header > span { border-radius: 10px; max-width: none; text-align: left; }
	.mvr-aet-professional-case__objective { align-items: start; grid-template-columns: 1fr; padding: 13px 16px; }
	.mvr-aet-professional-case__grid { padding: 15px; }
	.mvr-aet-professional-case > footer { align-items: start; flex-direction: column; padding: 13px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .mvr-pv2 *,
  .mvr-pv2 *::before,
  .mvr-pv2 *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .mvr-aet-focus-visual *,
  .mvr-aet-focus-visual *::before,
  .mvr-aet-focus-visual *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* AET 0.12.2 — clinical plates: finer linework and quieter typography. */
.mvr-pv2,
.mvr-aet-focus-visual,
.mvr-aet-professional-case {
  font-family: "Avenir Next", "Segoe UI Variable", "Segoe UI", Roboto, sans-serif;
}
.mvr-pv2 {
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(9, 52, 65, .075);
}
.mvr-pv2__header {
  background: linear-gradient(110deg, #f6faf9 0%, #fff 61%, #fdf7f5 100%);
  border-bottom: 1px solid #d5e2e4;
}
.mvr-pv2__eyebrow,
.mvr-pv2__duration,
.mvr-pv2__now span,
.mvr-pv2__progress-label,
.mvr-pv2__control-group > span,
.mvr-aet-focus-visual__header p,
.mvr-aet-focus-visual__canvas-label,
.mvr-aet-focus-visual__summary > p,
.mvr-aet-focus-visual__prompt,
.mvr-aet-professional-case > header p,
.mvr-aet-professional-case__label {
  font-weight: 590;
}
.mvr-pv2__title,
.mvr-pv2__explore-title,
.mvr-aet-focus-visual__header h3,
.mvr-aet-focus-visual__summary h4,
.mvr-aet-professional-case > header h2,
.mvr-aet-professional-case__situation h3 {
  font-weight: 560;
  letter-spacing: -.018em;
}
.mvr-pv2__canvas {
  background-color: #f4f8f7;
  background-image:
    linear-gradient(rgba(13, 99, 116, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 99, 116, .045) 1px, transparent 1px),
    radial-gradient(circle at 50% 32%, #fff 0, rgba(238, 246, 245, .92) 72%);
  background-size: 22px 22px, 22px 22px, 100% 100%;
  border-color: #bfcfd2;
  border-radius: 12px;
}
.mvr-pv2__canvas::before {
  color: #61777d;
  content: "PLANCHE CLINIQUE · MVR";
  font-size: .56rem;
  font-weight: 540;
  left: 14px;
  letter-spacing: .18em;
  position: absolute;
  top: 12px;
  z-index: 2;
}
.mvr-pv2__canvas svg text,
.mvr-aet-focus-visual__canvas svg text,
.mvr-aet-professional-case__visual svg text {
  font-family: "Avenir Next", "Segoe UI Variable", "Segoe UI", Roboto, sans-serif !important;
  font-weight: 520 !important;
  letter-spacing: .035em;
}
.mvr-pv2 .pv2-label { font: 520 13px "Avenir Next", "Segoe UI Variable", "Segoe UI", sans-serif; }
.mvr-pv2 .pv2-muted { font: 470 11px "Avenir Next", "Segoe UI Variable", "Segoe UI", sans-serif; letter-spacing: .05em; }
.mvr-pv2 .pv2-organ {
  fill: rgba(174, 220, 216, .34);
  stroke: #2b7c8b;
  stroke-width: 1.8;
}
.mvr-pv2 .pv2-airway { stroke: #397f8e; stroke-width: 6; }
.mvr-pv2 .pv2-airway-thin { stroke: #5e9fa8; stroke-width: 2.8; }
.mvr-pv2 .pv2-blood { stroke-width: 9; }
.mvr-pv2 .pv2-diaphragm { stroke-width: 3.5; }
.mvr-pv2 .pv2-route-marker line { stroke-width: 1; }
.mvr-pv2 .pv2-route-marker.is-active line { stroke-width: 2; }
.mvr-pv2 .pv2-route-marker.is-active text { font-size: 14px; }
.mvr-pv2 .pv2-structure.is-active,
.mvr-pv2 .pv2-structure.is-current-marker { stroke-width: 2.8; }
.mvr-pv2 .pv2-hotspot { stroke-width: 1.5; }
.mvr-pv2 .pv2-badge { stroke-width: 1; }
.mvr-pv2 svg [stroke-width="20"] { stroke-width: 9 !important; }
.mvr-pv2 svg [stroke-width="18"] { stroke-width: 8 !important; }
.mvr-pv2 svg [stroke-width="14"] { stroke-width: 6 !important; }
.mvr-pv2 svg [stroke-width="13"] { stroke-width: 5.5 !important; }
.mvr-pv2 svg [stroke-width="12"] { stroke-width: 5 !important; }
.mvr-pv2 svg [stroke-width="9"] { stroke-width: 4 !important; }
.mvr-pv2 svg [stroke-width="8"] { stroke-width: 3.5 !important; }
.mvr-pv2 svg [stroke-width="7"] { stroke-width: 3 !important; }
.mvr-pv2 svg [stroke-width="6"] { stroke-width: 2.7 !important; }
.mvr-pv2 svg [stroke-width="5"] { stroke-width: 2.2 !important; }
.mvr-pv2__answers button,
.mvr-pv2__hotspot-list button,
.mvr-pv2__gas-chips button,
.mvr-pv2__gas-zones button,
.mvr-pv2__order-picker button,
.mvr-pv2__controls button,
.mvr-pv2__marker,
.mvr-pv2__transcript summary {
  font-weight: 560;
}
.mvr-pv2__now,
.mvr-pv2__takeaway,
.mvr-pv2__practice {
  border-radius: 9px;
}
.mvr-aet-focus-visual {
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(9, 52, 65, .085);
}
.mvr-aet-focus-visual__canvas {
  background-color: #f2f7f6;
  background-image: linear-gradient(rgba(13, 99, 116, .038) 1px, transparent 1px), linear-gradient(90deg, rgba(13, 99, 116, .038) 1px, transparent 1px), radial-gradient(circle at 50% 35%, #fff, #e8f1f0);
  background-size: 24px 24px, 24px 24px, 100% 100%;
  border-radius: 12px;
}
.mvr-aet-focus-labels text,
.mvr-aet-focus-visual__canvas [data-focus-target] text { font-weight: 520 !important; }
.mvr-aet-focus-visual__panel button,
.mvr-aet-focus-visual__panel button span,
.mvr-aet-focus-visual__takeaway strong,
.mvr-aet-professional-case__fact-list button,
.mvr-aet-professional-case__choices button,
.mvr-aet-professional-case__check {
  font-weight: 560;
}
.mvr-aet-focus-visual__panel button { border-radius: 8px; }
.mvr-aet-focus-visual__panel button span { border-radius: 6px; }
.mvr-aet-professional-case__visual {
  background-color: #f2f7f6;
  background-image: linear-gradient(rgba(13, 99, 116, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(13, 99, 116, .04) 1px, transparent 1px);
  background-size: 22px 22px;
  border-radius: 10px;
}
.mvr-aet-professional-case__visual::before {
  background: linear-gradient(180deg, transparent 48%, rgba(5, 44, 57, .7)), url("images/zarina-review/nose-photo-v1.webp") center 43% / cover no-repeat;
  border-radius: 7px;
  content: "";
  display: block;
  min-height: 235px;
}
.mvr-aet-professional-case__visual svg { display: none; }
@media (max-width: 560px) {
  .mvr-pv2__canvas::before { font-size: .5rem; }
}
