/* Simulator, coach and congenital-disease panels */
.panel-tabs{display:flex;gap:6px;flex-wrap:wrap}
.panel-tabs button{font-size:13px;padding:8px 11px}
.panel-tabs button.active,#course-toggle[aria-expanded=true]{background:#1c3c39;color:#bafcef;border-color:#458e83}
.scan-meta{display:flex;gap:12px;align-items:center}
#marker-clock{font:10px Consolas,monospace;color:#ffcf8a}
#echo-tools,#sim-tools,#color-tools,#dop-tools{display:inline-flex;gap:6px;align-items:center}
#echo-tools[hidden],#sim-tools[hidden],#color-tools[hidden],#dop-tools[hidden]{display:none}
.scan-modes{flex-wrap:wrap;height:auto;min-height:34px;row-gap:4px}
.scan-modes select{font-size:11px;padding:3px 4px;background:#0f1a21;color:var(--ink);border:1px solid #2f414b;border-radius:4px}
.legend-target{color:#ffb454;font-weight:700;letter-spacing:-1px}
.legend-lesion{color:#ff5d6c}
.side-panel{max-height:none}
.side-panel h1{font-size:22px;font-weight:600;margin:8px 0 8px}
.side-panel h2{font-size:13px;margin:16px 0 8px;font-weight:650}
.side-panel h3{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;font-weight:650}
.side-panel .lead{font-size:12px;color:#b9c7cf;line-height:1.55;margin:0 0 12px}
.side-panel .field{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted);margin:10px 0}
.side-panel .field select{font-size:13px;padding:6px;background:#0f1a21;color:var(--ink);border:1px solid #2f414b;border-radius:5px}
.side-panel .field output{font:11px Consolas,monospace;color:var(--ink)}
.side-panel button.primary{background:#1d4a44;border-color:#4fa89a;color:#d8fff7;font-weight:600}
.side-panel button.primary:hover{background:#246055}
.coach-actions{display:flex;align-items:center;gap:14px;margin:6px 0 12px}
.coach-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#111b22;margin-bottom:16px}
.coach-meter{display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:center}
.meter-ring{position:relative;width:104px;height:104px}
.meter-ring svg{width:104px;height:104px;transform:rotate(-90deg)}
.meter-ring circle{fill:none;stroke-width:10}
.meter-ring .track{stroke:#1f2c35}
.meter-ring .arc{stroke:#6f7f8a;stroke-linecap:round;transition:stroke-dasharray .25s,stroke .25s;stroke-dasharray:0 400}
.coach-meter[data-tone=mid] .arc{stroke:#e0a24a}.coach-meter[data-tone=near] .arc{stroke:#d7d25a}.coach-meter[data-tone=good] .arc{stroke:#5fe09a}.coach-meter[data-tone=done] .arc{stroke:#63ddc8}
.meter-ring strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:650;padding-bottom:10px}
.meter-ring small{position:absolute;left:0;right:0;bottom:30px;text-align:center;font-size:10px;color:var(--muted)}
.verdict{font-size:14px;font-weight:600;margin:0 0 2px}
.coach-meter[data-tone=done] .verdict{color:#7ff0dc}
.coach-metrics{list-style:none;padding:0;margin:6px 0 0;font-size:11px;color:var(--muted);display:grid;gap:2px}
.coach-metrics b{color:var(--ink);font-weight:600;margin-left:4px}
.coach-goal p{font-size:12px;line-height:1.5;margin:12px 0 4px}
.coach-landmarks{list-style:none;padding:0;margin:8px 0;font-size:12px;display:grid;gap:3px}
.coach-landmarks li{color:#b7c3ca}.coach-landmarks li.ok{color:#7ff0b4}.coach-landmarks small{color:var(--muted)}
.coach-help{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.coach-help button{font-size:11px}
.hint{font-size:12px;line-height:1.5;color:#ffe2a8;min-height:18px;margin:10px 0 4px}
.hint button{margin-left:6px;font-size:11px}
#coach-ghost-fig{margin:8px 0 0}
#coach-ghost-fig canvas{width:100%;height:auto;border-radius:6px;background:#05080b;display:block}
#coach-ghost-fig figcaption{font-size:10px;color:var(--muted);margin-top:4px}
.coach-more summary{font-size:11px;color:var(--accent);cursor:pointer;margin-top:10px}
.coach-more ul{padding-left:17px;font-size:12px}
.pitfall{font-size:12px;line-height:1.5;border-left:3px solid #e0a24a;padding:4px 0 4px 10px;color:#f1d8b1;margin:10px 0}
.coach-board ol{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:12px}
.coach-board li{display:grid;grid-template-columns:1fr auto;gap:0 10px;border-bottom:1px solid #1d2830;padding:4px 0}
.coach-board li small{grid-column:1/-1;color:var(--muted);font-size:10px}
.coach-board li.empty{display:block;color:var(--muted)}
.seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:4px 0 10px}
.seg button{flex:1;border:0;border-radius:0;font-size:12px;background:#121c23}
.seg button.active{background:#1c3c39;color:#bafcef}
.chd-card{border:1px solid var(--line);border-radius:10px;padding:4px 14px 12px;background:#111b22}
.chd-card h2,#chd-feedback h2{font-size:15px}
.chd-card p,.chd-card li,#chd-feedback p,#chd-feedback li{font-size:12px;line-height:1.5}
.chd-card ul,#chd-feedback ul{padding-left:17px}
.chd-views{display:flex;flex-wrap:wrap;gap:6px}
.chd-views button{font-size:11px}
.result{padding:8px 10px;border-radius:6px;font-size:13px;margin:12px 0}
.result.ok{background:#173b2d;border:1px solid #3f9b6f}.result.bad{background:#3b1d1d;border:1px solid #a35151}
#chd-answer{margin:10px 0}
#chd-answer button{margin-top:4px}
@media(min-width:1101px){.practice-shell.with-tutor{grid-template-columns:minmax(0,1fr) 330px}}

/* beam map (view 02) */
.heading-checks{display:flex;gap:10px;align-items:center}
.beam-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.beam-labels[hidden]{display:none}
.beam-label{position:absolute;left:0;top:0;pointer-events:auto;font:600 10px 'Segoe UI',system-ui,sans-serif;padding:2px 6px;border-radius:3px;border:1px solid var(--c);background:rgba(8,14,19,.82);color:#eef6f8;white-space:nowrap;cursor:pointer;transition:opacity .2s;line-height:1.25}
.beam-label::before{content:'';position:absolute;left:var(--ax);top:var(--ay);width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px #0008}
.beam-label[hidden]{display:none}
.beam-label.selected{background:var(--c);color:#071014}
.beam-label.new{animation:beam-in 1.6s ease-out;border-width:2px}
.beam-label.left-beam{border-style:dashed;color:#ffb89a;border-color:#ff9c7a;background:rgba(40,14,10,.8);animation:beam-out 2.6s ease-in forwards}
.beam-label.left-beam::before{background:#ff9c7a}
@keyframes beam-in{0%{box-shadow:0 0 0 0 var(--c);transform-origin:left}30%{box-shadow:0 0 12px 3px var(--c)}100%{box-shadow:0 0 0 0 transparent}}
@keyframes beam-out{0%{opacity:1}70%{opacity:.85}100%{opacity:0}}
.beam-path{font:10px Consolas,monospace;color:#bfeee4;margin-bottom:3px;min-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legend-in{color:#7ff0dc;font-weight:700}.legend-out{color:#ff9c7a;font-weight:700}

/* ---------------- cabina: probe + compact console under the views ---------------- */
#layout-toggle{font-size:12px}
body.cabina .windows{padding:8px 0}
body.cabina .course-bar{padding:6px 0 8px}
body.cabina .display-setting{padding:0 0 6px}
body.cabina .workspace{height:var(--ws-h,52vh);max-height:none;min-height:320px}
body.cabina .inspector{display:none}
.deck{display:grid;grid-template-columns:minmax(300px,1fr) minmax(560px,2.05fr);gap:10px;align-items:stretch;padding:8px 0;position:sticky;bottom:0;z-index:20;background:var(--bg);border-top:1px solid var(--line)}
body.cabina .probe-controls{padding:8px 12px 6px;background:#111b22;border:1px solid var(--line);border-radius:8px}
body.cabina .probe-controls .section-heading{height:24px;gap:6px}
body.cabina .probe-controls .section-heading .eyebrow{margin-right:auto}
body.cabina .probe-controls .section-heading button{font-size:10px;padding:3px 7px}
body.cabina #pose-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;margin-top:6px}
body.cabina #pose-controls .slider label{font-size:10px;margin-bottom:1px}
body.cabina #pose-controls .slider small{display:none}
body.cabina #pose-controls input[type=number]{width:50px;font-size:10px;padding:1px 3px}
body.cabina .machine-console{margin:0;position:relative}
body.cabina .machine-console:not(.full){padding:7px 12px 6px;border-radius:8px;box-shadow:inset 0 2px 0 #f9f7ee,0 3px 0 #5a6364}
body.cabina .machine-console:not(.full) .console-title{display:none}
body.cabina .machine-console:not(.full) .console-knobs{gap:6px;padding:2px 0 6px}
body.cabina .machine-console:not(.full) .knob-unit{gap:3px}
body.cabina .machine-console:not(.full) .knob-unit label{font-size:10px}
body.cabina .machine-console:not(.full) .knob{width:34px;height:34px;border-width:3px}
body.cabina .machine-console:not(.full) .knob i{height:9px;top:2px}
body.cabina .machine-console:not(.full) .knob-value input{width:44px;font-size:10px;padding:1px 3px}
body.cabina .machine-console:not(.full) .console-deck{display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:6px;align-items:center}
body.cabina .machine-console:not(.full) .panel-caption,body.cabina .machine-console:not(.full) .panel-small,body.cabina .machine-console:not(.full) .trackball,body.cabina .machine-console:not(.full) #console-set,body.cabina .machine-console:not(.full) #console-help{display:none}
body.cabina .machine-console:not(.full) .mode-bank,body.cabina .machine-console:not(.full) .track-bank,body.cabina .machine-console:not(.full) .capture-bank,body.cabina .machine-console:not(.full) .track-keys{display:flex;gap:5px;align-items:center;flex-wrap:nowrap}
body.cabina .machine-console:not(.full) .mode-keys{display:flex;gap:4px}
body.cabina .machine-console:not(.full) .machine-key{padding:4px 8px;font-size:10.5px;min-height:0;width:auto;line-height:1.2}
body.cabina .machine-console:not(.full) .machine-key small{display:none}
body.cabina .machine-console:not(.full) #console-freeze{min-width:92px;font-weight:700}
body.cabina .machine-console:not(.full) .console-feedback{margin:5px 0 0;padding-top:4px;font-size:10px}
body.cabina .machine-console:not(.full) .tgc-bank{display:none}
body.cabina .machine-console.tgc-open:not(.full) .tgc-bank{display:block;position:absolute;bottom:calc(100% + 8px);right:12px;width:270px;padding:10px 12px;background:linear-gradient(160deg,#dfddd4,#c3c0b5);border:1px solid #8e948e;border-radius:8px;box-shadow:0 10px 24px #000a;z-index:30}
body.cabina .machine-console.tgc-open:not(.full) .tgc-bank .panel-caption{display:block}
.deck-tools{display:none}
body.cabina .deck-tools{display:flex;gap:5px;position:absolute;top:6px;right:10px}
body.cabina .machine-console.full .deck-tools{top:14px;right:170px}
.deck-tools button{font-size:10px!important;padding:3px 7px!important}
.deck-tools button[aria-expanded=true],.deck-tools button[aria-pressed=true]{background:#1d4a44!important;color:#d8fff7!important;border-color:#4fa89a!important}
body.cabina .machine-console:not(.full) .console-knobs{padding-right:240px}
.shortcut-help{position:fixed;right:24px;bottom:24px;z-index:60;width:min(620px,92vw);background:#15212a;border:1px solid #4c6671;border-radius:10px;padding:14px 18px;box-shadow:0 14px 34px #000c;font-size:12px}
.shortcut-help[hidden]{display:none}
.shortcut-head{display:flex;justify-content:space-between;align-items:center}
.shortcut-head button{padding:2px 9px}
.shortcut-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.shortcut-cols h3{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:10px 0 6px}
.shortcut-cols dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0}
.shortcut-cols dd{margin:0;color:#c9d6dd}
kbd{font:11px Consolas,monospace;background:#0c151b;border:1px solid #3a4c57;border-bottom-width:2px;border-radius:4px;padding:1px 5px;white-space:nowrap}
.shortcut-help p{color:var(--muted);font-size:11px;margin:10px 0 0}
@media(max-width:999px){.deck{grid-template-columns:1fr;position:static}body.cabina .machine-console:not(.full) .console-knobs{padding-right:0}body.cabina .deck-tools{position:static;margin-top:6px}}
body.cabina #pose-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
body.cabina .machine-console:not(.full) .capture-bank{flex-direction:row;margin-left:auto}
body.cabina .machine-console:not(.full) .capture-bank .machine-key,body.cabina .machine-console:not(.full) .machine-key.wide{width:auto;margin:0}
body.cabina .machine-console:not(.full) #console-auto{margin:0}
body.cabina .machine-console:not(.full) #console-auto,body.cabina .machine-console:not(.full) #console-cursor{display:none}
body.cabina .machine-console:not(.full) .console-knobs{padding-right:365px}
@media(max-width:999px){#layout-toggle{display:none}.deck>*{min-width:0}body.cabina #pose-controls{grid-template-columns:1fr}body.cabina .machine-console:not(.full) .console-knobs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.header-right .status{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:650px){.header-right #sources-top{font-size:10px;padding:5px 7px}.header-right .status{max-width:80px}.brand{font-size:16px}}
/* image-only practice: the heart is hidden, only the echo image guides the probe */
body.image-only .view.anatomy .viewport>*,body.image-only .view.anatomy .heading-checks,body.image-only .view.anatomy .view-foot>*,body.image-only .learning>div:nth-child(2){visibility:hidden}
body.image-only .view.anatomy .viewport::after{content:'Corazón oculto · guíate solo por la imagen eco';position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:#8aa1ae;font-size:13px;background:repeating-linear-gradient(135deg,#0a1016 0 12px,#0c141b 12px 24px)}
.coach-card.testing .meter-ring,.coach-card.testing .coach-metrics,.coach-card.testing .coach-landmarks,.coach-card.testing .coach-help,.coach-card.testing .hint,.coach-card.testing #coach-ghost-fig{display:none}
.coach-card.testing .coach-meter{grid-template-columns:1fr}
.coach-test,.coach-result{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:12px;line-height:1.5}
.coach-result ul{padding-left:17px;margin:6px 0}
.coach-next-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
/* image-reading drills */
@media(min-width:1101px){.practice-shell.with-tutor.with-drills{grid-template-columns:minmax(0,1fr) 420px}}
.drill-kinds{border:0;padding:0;margin:4px 0 12px;display:flex;flex-wrap:wrap;gap:4px 14px}
.drill-kinds legend{padding:0;margin-bottom:4px}
.drill-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#111b22;margin:14px 0 16px}
.drill-card h2{font-size:14px;line-height:1.4;margin:4px 0 10px}
.drill-figure{margin:0 0 8px}
.drill-figure canvas{display:block;width:100%;background:#05080b;border-radius:6px}
.drill-target canvas{width:62%}
.drill-figure figcaption{font-size:11px;color:var(--muted);margin-top:4px}
.drill-options{display:grid;gap:6px;margin:10px 0}
.drill-options button{text-align:left;font-size:13px;padding:8px 10px;line-height:1.35}
.drill-options kbd{font:11px Consolas,monospace;color:var(--muted);margin-right:6px}
.drill-options button.correct{background:#173b2d;border-color:#3f9b6f;color:#d9ffe9}
.drill-options button.wrong{background:#3b1d1d;border-color:#a35151;color:#ffdede}
.drill-options button:disabled{opacity:1}
.drill-options button:disabled:not(.correct):not(.wrong){opacity:.55}
.drill-feedback p{font-size:12px;line-height:1.55;margin:6px 0}
.drill-feedback .ok b{color:#7ff0b4}.drill-feedback .bad b{color:#ff9c8a}
.drill-after{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.drill-by-kind,.drill-weak{list-style:none;padding:0;margin:6px 0;display:grid;gap:4px;font-size:12px}
.drill-by-kind li{display:grid;grid-template-columns:1fr auto 36px;gap:8px}
.drill-by-kind small{color:var(--muted);text-align:right}
.drill-weak li{color:#ffcf9a}.drill-weak li.empty{color:var(--muted)}
/* phone as probe */
#phone-probe.active{background:#1c3c39;color:#bafcef;border-color:#458e83}
.phone-dialog{max-width:720px}
.phone-grid{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start}
.phone-qr{background:#fff;border-radius:8px;padding:6px;line-height:0}.phone-qr svg{width:100%;height:auto}
.phone-steps{padding-left:18px;font-size:13px;line-height:1.5;margin:0 0 10px}
.phone-code{font-size:13px;margin:6px 0}.phone-code b{font:600 22px Consolas,monospace;letter-spacing:5px;color:var(--accent);margin-left:8px}
.phone-actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.phone-bar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:20;display:flex;gap:8px;align-items:center;background:#0f1a21;border:1px solid #458e83;border-radius:24px;padding:6px 8px 6px 16px;font-size:12px;color:#bafcef;box-shadow:0 6px 24px #0008}
.phone-bar[hidden]{display:none}
@media(max-width:650px){.phone-grid{grid-template-columns:1fr}.phone-qr{max-width:220px}}

/* «Eco grande»: the echo image takes the right side at full height; chest and heart stack on the left */
@media(min-width:1101px){
body.echo-big .workspace:not(.with-reference){grid-template-columns:minmax(240px,.6fr) minmax(0,1.7fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
body.echo-big .workspace:not(.with-reference)>.patient{grid-column:1;grid-row:1}
body.echo-big .workspace:not(.with-reference)>.anatomy{grid-column:1;grid-row:2;border-left:0;border-top:1px solid var(--line)}
body.echo-big .workspace:not(.with-reference)>.scan{grid-column:2;grid-row:1/span 2}
body.echo-big .workspace:not(.with-reference) .patient .view-foot,body.echo-big .workspace:not(.with-reference) .anatomy .view-foot{display:none}
body.echo-big .workspace:not(.with-reference) .patient .view-heading,body.echo-big .workspace:not(.with-reference) .anatomy .view-heading{height:auto;min-height:34px;padding:5px 10px;flex-wrap:wrap}
body.echo-big .workspace:not(.with-reference) .anatomy .heading-checks{gap:6px}
}
.echo-big-toggle{font-size:11px;padding:3px 8px;margin-right:8px;background:none;border-color:#35505a;color:#bfeee5}
@media(max-width:1100px){.echo-big-toggle{display:none}}

/* wide screens, cabina + «Eco grande»: the deck (probe + console) becomes a column to the right of the views (not while
   a side panel — trainer, drills, lesions, course — takes the width: then it stays under the image) */
@media(min-width:1101px){
body.cabina.echo-big .practice-shell:not(.with-tutor) .practice-main{display:grid;grid-template-columns:minmax(0,1fr) clamp(380px,30vw,470px);column-gap:12px;align-items:start}
body.cabina.echo-big .practice-shell:not(.with-tutor) .practice-main>*{grid-column:1/-1}
body.cabina.echo-big .practice-shell:not(.with-tutor) .practice-main>.workspace{grid-column:1}
body.cabina.echo-big .practice-shell:not(.with-tutor) .practice-main>.deck{grid-column:2;display:flex;flex-direction:column;gap:8px;margin:0;max-height:var(--ws-h);overflow:auto}
body.cabina.echo-big .practice-shell:not(.with-tutor) .deck #pose-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
body.cabina.echo-big .practice-shell:not(.with-tutor) .deck .machine-console:not(.full){display:flex;flex-direction:column}
body.cabina.echo-big .practice-shell:not(.with-tutor) .deck .deck-tools{position:static;order:-1;flex-wrap:wrap;margin:0 0 4px}
body.cabina.echo-big .practice-shell:not(.with-tutor) .deck .machine-console:not(.full) .console-knobs{grid-template-columns:repeat(4,minmax(0,1fr));padding-right:0;row-gap:8px}
body.cabina.echo-big .practice-shell:not(.with-tutor) .deck #pose-controls input[type=number]{width:62px}
body.cabina.echo-big .practice-shell:not(.with-tutor) .deck .machine-console:not(.full) .mode-keys,body.cabina.echo-big .practice-shell:not(.with-tutor) .deck .machine-console:not(.full) .mode-bank{flex-wrap:wrap}
}

/* probe maneuver sliders: value + unit, a larger hit area */
.slider .value{display:inline-flex;align-items:center;gap:3px}.slider .unit{font:10px Consolas,monospace;color:#7f95a1;min-width:14px}
.slider input[type=range]{height:22px;cursor:ew-resize}.slider label>span:first-child{cursor:help}
.knob{touch-action:none}.knob.turning{box-shadow:0 0 0 3px #63ddc855}

/* phones: image docked on top (sticky), then probe, console, 3D views */
@media(max-width:650px){
body.phone-dock .practice-main{display:flex;flex-direction:column}
body.phone-dock .practice-main>*{order:5}
body.phone-dock .practice-main>.display-setting{order:0}
body.phone-dock .practice-main>.scan{order:1;position:sticky;top:0;z-index:40;height:min(46vh,430px);background:#05080b;border:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:0 6px 14px #000a}
body.phone-dock .practice-main>.scan .view-foot{display:none}
body.phone-dock .practice-main>.scan .view-heading{height:34px;padding:6px 10px}
body.phone-dock .practice-main>.scan .scan-modes{height:auto;min-height:32px;padding-bottom:4px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
body.phone-dock .practice-main>.scan .scan-modes>*{flex:0 0 auto}
body.phone-dock .practice-main>.inspector{order:2}
body.phone-dock .practice-main>.machine-console,body.phone-dock .practice-main>#instrument{order:3}
body.phone-dock .practice-main>.workspace{order:4;margin-top:12px}
}
/* cockpit: the window buttons and the learning modes share one row when they fit (more height for the image) */
@media(min-width:1101px){
body.cabina main{display:flex;flex-wrap:wrap;column-gap:22px;align-items:center}
body.cabina main>*{flex:1 1 100%;min-width:0}
body.cabina main>.windows{flex:0 0 auto;width:auto}
body.cabina main>.course-bar{flex:1 1 360px;width:auto;border-top:0}
body.cabina main>.course-bar .course-progress progress{display:none}
body.cabina .windows .guide{display:none}
}
/* bottom deck: the value boxes are narrow, the unit is in the tooltip */
body.cabina .practice-shell.with-tutor #pose-controls .unit,body.cabina:not(.echo-big) #pose-controls .unit{display:none}

/* plane map labels (view 02) */
.plane-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.plane-labels[hidden]{display:none}
.plane-label{position:absolute;left:0;top:0;pointer-events:auto;font:700 9.5px 'Segoe UI',system-ui,sans-serif;letter-spacing:.3px;padding:1px 5px;border-radius:3px;border:1px solid var(--c);background:rgba(8,14,19,.72);color:var(--c);white-space:nowrap;cursor:pointer;line-height:1.3;opacity:.85}
.plane-label:hover,.plane-label.current{opacity:1;background:var(--c);color:#071016}
/* view card (panel 03): nearest standard view, where the probe goes, what it shows */
.view-card{margin:0 10px 4px;padding:6px 10px 6px 12px;border-left:3px solid var(--c);background:#0d171e;border-radius:0 6px 6px 0;font-size:11px;line-height:1.45}
.view-card[hidden]{display:none}
.view-card-head{display:flex;align-items:center;gap:7px}.view-card-head strong{font-size:12.5px;font-weight:650;color:#eef6f8}
.view-card-dot{width:7px;height:7px;border-radius:50%;background:var(--c)}
.view-card-score{margin-left:auto;font:10px Consolas,monospace;color:#8fa4b0}
.view-card dl{display:grid;grid-template-columns:auto 1fr;gap:1px 9px;margin:3px 0 0}
.view-card dt{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#7f95a1;padding-top:2px}
.view-card dd{margin:0;color:#c9d6dd}
body.phone-dock .practice-main>.scan .view-card{display:none}
.planes-on .beam-labels{display:none}
/* Tutor (lesson-panel.mjs) */
.lessons h2{font-size:13px;margin:16px 0 6px}.lessons h3{font-size:11px;color:var(--muted);margin:12px 0 4px;text-transform:uppercase;letter-spacing:.06em}
.lessons details{border-top:1px solid var(--line);padding:8px 0}.lessons summary{cursor:pointer;font-size:12px;font-weight:600}
.lesson-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;margin:5px 0;padding:8px 10px;background:#121c23}.lesson-item b{font-size:12px;font-weight:600}.lesson-item span{font-size:10px;color:var(--muted)}
.lesson-item.primary-item{border-color:#4fa89a}
.lessons .link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font-size:11px;text-decoration:underline}
.lessons .question{font-size:13px;line-height:1.5;color:#e8f2ef;border-left:3px solid var(--accent);padding-left:10px}
.lessons .prov{color:#7f939f}
.lessons .chip{display:inline-block;font-size:10px;padding:1px 7px;border-radius:9px;background:#1d2a33;color:#b9c7cf;margin-right:4px}
.lessons .st-orientar{background:#1b3340}.lessons .st-mover{background:#3a3218}.lessons .st-confirmar{background:#1d3a32}.lessons .st-optimizar{background:#33223b}.lessons .st-rescatar{background:#3b2420}.lessons .st-evidencia{background:#203045}
.lessons .dots{display:flex;gap:4px;list-style:none;padding:0;margin:10px 0}.lessons .dots li{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:9px;background:#18242c;color:var(--muted);margin:0}.lessons .dots li.done{background:#1d4a44;color:#d8fff7}.lessons .dots li.now{outline:2px solid var(--accent)}
.lessons .step h2{font-size:15px;margin:6px 0}.lessons .maneuver{background:#141f26;padding:8px 10px;border-radius:5px}
.lessons .q{border-top:1px solid var(--line);padding:8px 0}.lessons .opts{display:flex;flex-direction:column;gap:5px}.lessons .opts button{text-align:left;padding:8px 10px;line-height:1.4}
.lessons .opts button.right{border-color:var(--accent);color:#d8fff7}.lessons .opts button.wrong{border-color:#c06a4f;color:#f1c3b4}.lessons .fb{font-size:11px;color:#dfbc96}
.lessons .checks{list-style:none;padding:0}.lessons .checks li{font-size:12px;color:var(--muted)}.lessons .checks li.ok,.lessons .ok{color:var(--accent)}
.lessons .task{border-top:1px solid var(--line);padding:8px 0}.lessons .task.ok p::after{content:' ✓';color:var(--accent)}
.lessons .aids{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 0}.lessons .aids p{width:100%;margin:2px 0}
.lessons .nav{display:flex;justify-content:space-between;gap:8px;margin-top:12px}
.lessons .demo-bar{display:flex;gap:8px;align-items:center}.lessons .demo-bar input{flex:1;accent-color:var(--accent)}.lessons .demo-bar output{font:11px Consolas,monospace}
.lessons .scenes{padding-left:0;list-style:none;margin:10px 0}.lessons .scenes li{font-size:11px;padding:4px 6px;border-radius:4px;cursor:pointer;margin:0}.lessons .scenes li.active{background:#172a2f;color:#d8fff7}
.lessons .now{font-size:12px;line-height:1.5;min-height:4em;margin:8px 0}.lessons .now p{margin:0}.lessons .now .ask{background:#2a2414;padding:8px 10px;border-radius:5px}.lessons .now .answer{background:#143029;padding:8px 10px;border-radius:5px}.lessons .now .ask p,.lessons .now .answer p{margin:4px 0}
.lessons .coverage{padding-left:0;list-style:none}.lessons .coverage li{font-size:11px;margin:5px 0}.lessons .st-representado{background:#1d4a44}.lessons .st-parcial{background:#4a3d1d}.lessons .st-pendiente{background:#4a2a24}
.lessons .st{display:inline-block;font-size:9px;padding:0 6px;border-radius:8px;color:#eee}
.lessons .domains dt{font-size:11px;color:var(--muted);margin-top:8px}.lessons .domains dd{margin:2px 0 0;font-size:12px}.lessons .bar{display:inline-block;width:110px;height:6px;background:#1d2a33;border-radius:3px;vertical-align:middle}.lessons .bar i{display:block;height:100%;background:var(--accent);border-radius:3px}
.lessons #ls-home{display:block;margin-bottom:6px}
/* Estudio por gravedad (study.mjs) */
.study-figure{background:#0a1015;border:1px solid var(--line);border-radius:10px;padding:10px 12px 6px;margin-bottom:12px}
.study-figure[hidden]{display:none}body.study-open .workspace{display:none}
.st-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.st-head b{font-size:14px;color:#e8f2ef}.st-head button{margin-left:auto;padding:2px 9px}
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.st-grid figure{margin:0;background:#05080b;border:1px solid #1b2730;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.st-grid figcaption{font:11px Consolas,monospace;color:#9fb2bd;padding:5px 8px;border-bottom:1px solid #141e25;letter-spacing:.02em}
.st-grid canvas{width:100%;height:clamp(170px,calc((100vh - 470px) / 2),300px);display:block}.st-foot{margin:6px 2px 0;color:#6d8290}
@media(max-width:850px){.st-grid{grid-template-columns:1fr}.st-grid canvas{height:240px}}
#chd-study .st-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
#chd-study input[type=range]{width:100%;accent-color:var(--accent)}
.st-bands{position:relative;height:5px;border-radius:3px;overflow:hidden;background:#1d2a33;margin-top:3px}.st-bands i{position:absolute;top:0;height:100%}
.k-none{background:#3a4a55}.k-small{background:#2f8a78}.k-moderate{background:#c8a24a}.k-large{background:#c0614f}.k-reverse{background:#7a5bd0}
.st-chip{display:inline-block;font-size:11px;padding:3px 8px;border-radius:10px;color:#fff;line-height:1.4}
.st-strip dl{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:10px 0;font-size:12px}.st-strip dt{color:var(--muted)}.st-strip dd{margin:0}
.st-strip dd div{font-size:11px;color:#b9c7cf;margin-top:2px}.st-strip small{display:block;font-size:9px;color:#6d8290}
.st-bar{position:relative;display:block;height:6px;border-radius:3px;background:#1d2a33;margin:5px 0 2px}.st-bar i{position:absolute;top:0;height:100%}
.st-bar .b-ok{background:#2f8a78}.st-bar .b-mid{background:#c8a24a}.st-bar .b-hi{background:#c0614f}.st-bar .b-rev{background:#7a5bd0}
.st-bar b{position:absolute;top:-3px;width:3px;height:12px;margin-left:-1px;background:#fff;border-radius:2px}.st-bar em{position:absolute;top:-3px;width:1px;height:12px;background:#ffe398}
.st-how p{font-size:11px;line-height:1.5;color:#b9c7cf}
/* while the study figure is open on a phone, the live image gives way to it */
body.phone-dock.study-open .practice-main>.scan{display:none}
body.phone-dock .practice-main>.study-figure{order:1}
/* Física y fisiología (physics.mjs) */
body.physics-open .workspace{display:none}body.phone-dock.physics-open .practice-main>.scan{display:none}body.phone-dock .practice-main>.physics-figure{order:1}
.ph-grid{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:8px}.ph-grid figure{margin:0;background:#05080b;border:1px solid #1b2730;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.ph-grid figure{position:relative}.ph-grid .ph-cursor{position:absolute;left:0;width:1.5px;background:#ffe398;pointer-events:none;will-change:transform}.ph-grid figure.span-2{grid-column:span 2}.ph-grid figure.span-3{grid-column:span 3}
.ph-grid figcaption{font:11px Consolas,monospace;color:#9fb2bd;padding:5px 8px;border-bottom:1px solid #141e25;letter-spacing:.02em}
.ph-grid canvas{width:100%;height:clamp(140px,calc((100vh - 560px) / 2),250px);display:block}.ph-grid figure.tall canvas{height:clamp(240px,calc(100vh - 500px),460px)}
.st-head #st-link,.st-head #ph-link{margin-left:auto;font-size:11px}.st-head #st-close,.st-head #ph-close{margin-left:0}.physics-figure .st-head button#ph-prev,.physics-figure .st-head button#ph-next{margin:0;padding:2px 9px}.physics-figure:focus{outline:none}
@media(max-width:850px){.ph-grid{grid-template-columns:1fr}.ph-grid figure.span-2,.ph-grid figure.span-3{grid-column:auto}.ph-grid canvas{height:220px}.ph-grid figure.tall canvas{height:300px}}
.physics .ph-chapters ol{margin:4px 0 10px;padding-left:0;list-style:none;counter-reset:ch}.physics .ph-chapters li{margin:3px 0}
.physics .ph-chapters button{width:100%;text-align:left;font-size:12px;padding:6px 9px}.physics .ph-chapters button.active{background:#1c3c39;color:#bafcef;border-color:#458e83}
.physics .ph-key{font-size:12px;line-height:1.5;background:#143029;padding:8px 10px;border-radius:5px}
.physics .ph-controls .seg{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.physics .ph-controls .seg button{font-size:11px;padding:4px 8px}.physics .ph-controls .seg button.active{background:#1c3c39;color:#bafcef}
.physics .ph-controls input[type=range]{width:100%;accent-color:var(--accent)}.physics .ph-controls .field{display:block;margin:8px 0}.physics .ph-controls .field>span{display:block;font-size:11px;color:var(--muted)}
.physics #ph-how p{font-size:11px;line-height:1.5;color:#b9c7cf}
.ph-bar{display:flex;gap:4px;flex-wrap:wrap;margin-left:8px}.ph-bar button{font-size:11px;padding:3px 8px;margin:0!important;background:#111b22}.ph-bar button i{font-style:normal;color:var(--muted);margin-right:3px}.ph-bar button.active{background:#1c3c39;color:#bafcef;border-color:#458e83}.ph-bar button.active i{color:#bafcef}
.physics-figure #ph-play{margin-left:auto;font-size:11px;padding:3px 9px}.physics-figure #ph-link{margin-left:0}.physics .ph-controls #ph-sweep{margin-top:4px;font-size:11px}
@media(max-width:850px){.ph-bar{margin-left:0;width:100%}}
/* provenance of each value (provenance.mjs) */
.prov{display:inline-block;font:600 9px/1.5 'Segoe UI',sans-serif;letter-spacing:.02em;padding:0 5px;border-radius:7px;margin-left:3px;vertical-align:1px;text-decoration:none;white-space:nowrap}
.prov-medido{background:#16403a;color:#9ff0de}.prov-ecuacion{background:#1d3550;color:#a9d2ff}.prov-modelo{background:#4a3d1d;color:#f3d79a}a.prov-fuente,.prov-fuente{background:#3a2b4f;color:#dcc8ff}a.prov-fuente:hover{background:#4d3a69}
/* ¿Por qué este píxel? (pixel-trace.mjs) */
#ask-pixel{font-size:11px;padding:3px 8px}
.pixel-card{margin:8px 12px;padding:10px 12px;background:#0d171e;border:1px solid #2c3f4a;border-radius:8px;font-size:12px;line-height:1.5}.pixel-card[hidden]{display:none}
.pixel-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.pixel-head button{margin-left:auto;padding:1px 8px;font-size:11px}
.pixel-verdict{margin:4px 0 8px;color:#e8f2ef;font-weight:600}.pixel-verdict.k-sombra{color:#ff9c8a}.pixel-verdict.k-cavidad,.pixel-verdict.k-neblina{color:#9fe0ff}.pixel-verdict.k-especular{color:#ffe398}
#pixel-profile{width:100%;height:84px;display:block;border-radius:4px;margin:4px 0 8px}
.pixel-shares{list-style:none;margin:0 0 6px;padding:0}.pixel-shares li{display:grid;grid-template-columns:1fr 70px 34px;align-items:center;gap:8px;font-size:11px;color:#b9c7cf;margin:2px 0}.pixel-shares i{display:block;height:5px;background:#63ddc8;border-radius:3px}.pixel-shares b{font:10px Consolas,monospace;text-align:right;color:#d8fff7}
body.phone-dock .pixel-card{margin:6px 8px}
/* Cabecera del paciente (bedside-panel.mjs) */
body.study-open .workspace{display:none}.bedside-figure[hidden]{display:none}body.phone-dock.study-open .practice-main>.scan{display:none}body.phone-dock .practice-main>.bedside-figure{order:1}
.bd-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bd-grid figure{margin:0;background:#05080b;border:1px solid #1b2730;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.bd-grid .bd-wide{grid-column:1/-1}
.bd-grid figcaption{font:11px Consolas,monospace;color:#9fb2bd;padding:5px 8px;border-bottom:1px solid #141e25}
.bd-grid canvas{width:100%;display:block}#bd-pcg{height:clamp(120px,calc((100vh - 760px) / 1.4),220px)}#bd-cxr{height:clamp(150px,calc((100vh - 740px) / 1.2),260px)}
.bd-tools{display:flex;align-items:center;gap:10px;padding:6px 8px;border-top:1px solid #141e25}.bd-tools button{font-size:11px;padding:3px 10px}
.bd-sat{padding:10px 12px;color:#b9c7cf}.bd-sats{display:flex;gap:16px}.bd-sats>div{display:flex;flex-direction:column}.bd-sats b{font:700 34px Consolas,monospace;line-height:1.1}
.bd-diff{margin:6px 0 2px;font-size:12px}.bd-screen{margin:2px 0 6px;font-weight:600;font-size:13px}
.bd-findings{list-style:none;margin:0;padding:8px 12px}.bd-findings li{font-size:12px;line-height:1.55;color:#c9d6dd;margin:4px 0}.bd-findings li b{color:#e6edf2;margin-right:4px}
@media(max-width:850px){.bd-grid{grid-template-columns:1fr}#bd-pcg{height:230px}#bd-cxr{height:260px}}
/* structured study (exam.mjs) */
#chd-exam h3{font-size:13px;margin:14px 0 6px}#chd-exam h4{font-size:12px;margin:10px 0 2px}
.ex-case{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.ex-case input{width:84px}
.ex-patient{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.5;background:#111b22}
.ex-list{list-style:none;margin:6px 0;padding:0;font-size:12px}.ex-list li{padding:3px 0;border-bottom:1px solid var(--line)}.ex-list .link{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:11px;padding:0 4px}
.ex-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}#chd-exam input[type=text],#chd-exam input[type=number]{width:100%;box-sizing:border-box}
.ex-score{display:flex;align-items:baseline;gap:10px;margin:6px 0}.ex-score b{font-size:28px}.ex-score span{font-size:12px;color:var(--muted)}.ex-score.ok b{color:#63ddc8}.ex-score.mid b{color:#ffe398}.ex-score.bad b{color:#ff9b8a}
.ex-table{width:100%;border-collapse:collapse;font-size:11.5px}.ex-table th{text-align:left;color:var(--muted);font-weight:500;padding:3px 4px}.ex-table td{padding:4px;border-top:1px solid var(--line);vertical-align:top}
.ex-table tr.ok b{color:#63ddc8}.ex-table tr.mid b{color:#ffe398}.ex-table tr.bad b{color:#ff9b8a}
.ex-cov{margin:8px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ex-chip{font-size:11px;padding:2px 8px;border-radius:10px;color:#05080b}.ex-chip.ok{background:#63ddc8}.ex-chip.mid{background:#ffe398}.ex-chip.bad{background:#ff9b8a}
.ex-cause{border:1px solid var(--line);border-radius:8px;padding:6px 10px 8px;margin:8px 0}.ex-hint{font-size:12px;margin:6px 0 0}
.ex-bars{display:grid;gap:3px;margin-top:6px}.ex-bar{display:grid;grid-template-columns:minmax(90px,38%) 1fr 74px;gap:6px;align-items:center;font-size:11px}.ex-bar .lab{color:var(--muted)}.ex-bar.main .lab{color:inherit;font-weight:600}.ex-bar b{text-align:right;font-weight:500;font-family:Consolas,monospace}
.ex-bar .track{position:relative;height:9px;background:#0b1319;border-radius:4px;overflow:hidden}.ex-bar .track:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#4a5d69}.ex-bar .track i{position:absolute;top:1px;bottom:1px;border-radius:3px}.ex-bar .track i.pos{background:#ff9b8a}.ex-bar .track i.neg{background:#7fb6ff}
.ex-two>*{min-width:0}#chd-exam select{width:100%;min-width:0;box-sizing:border-box}.ex-two{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ex-table{table-layout:fixed}.ex-table td,.ex-table th{overflow-wrap:anywhere}
