:root,:root[data-theme=dark]{color-scheme:dark;--bg: #070b14;--bg-elev-1: #0c1322;--bg-elev-2: #111a2e;--bg-elev-3: #17223a;--border: #1f2b45;--border-strong: #2c3b5c;--text: #e8eef9;--text-muted: #9fb0cc;--text-faint: #7486a6;--brand: #3b6fe0;--brand-strong: #1e3a8a;--brand-contrast: #ffffff;--blood-oxy: #e5383b;--blood-oxy-soft: #e5383b33;--blood-deoxy: #6a5cff;--blood-deoxy-soft: #6a5cff33;--elec: #ffd84d;--elec-glow: #4de3ff;--elec-text: #ffd84d;--ecg: #39ff88;--ecg-grid-minor: #10301f;--ecg-grid-major: #1a5233;--ecg-bg: #03100a;--pleth: #4de3ff;--pressure-ao: #ff6b6b;--pressure-lv: #ffd84d;--pressure-la: #b388ff;--volume-lv: #39ff88;--myo-dark: #5e1a24;--myo: #8c2f39;--myo-light: #c8505a;--myo-highlight: #f08a8f;--endocardium: #2a0d14;--valve: #f3e3c8;--valve-edge: #c9b48f;--chordae: #e9dcc4;--fat: #c9a227;--vessel-wall: #7a2a35;--ok: #39d98a;--warn: #ffb020;--danger: #ff4d5e;--info: #4de3ff;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.25rem;--fs-xl: 1.75rem;--fs-vital: clamp(1.75rem, 3.2vw, 3rem);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow: 0 8px 28px rgb(0 0 0 / .45);--focus: 0 0 0 3px #4de3ff99;--ease-out: cubic-bezier(.2, .8, .2, 1);--dur-fast: .12s;--dur: .2s}:root[data-theme=light]{color-scheme:light;--bg: #f4f6fa;--bg-elev-1: #ffffff;--bg-elev-2: #eef2f8;--bg-elev-3: #e3e9f3;--border: #d3dbe8;--border-strong: #b4c0d4;--text: #0d1526;--text-muted: #45526b;--text-faint: #5d6a82;--brand: #1e3a8a;--brand-strong: #172c69;--brand-contrast: #ffffff;--blood-oxy: #c81d25;--blood-oxy-soft: #c81d2526;--blood-deoxy: #4b3fd6;--blood-deoxy-soft: #4b3fd626;--elec: #d99a00;--elec-glow: #0097b2;--elec-text: #8a5a00;--ecg: #0d1526;--ecg-grid-minor: #f7c9c9;--ecg-grid-major: #e48a8a;--ecg-bg: #fff8f6;--pleth: #0077a8;--pressure-ao: #c81d25;--pressure-lv: #b07800;--pressure-la: #6b3fd6;--volume-lv: #138a52;--myo-dark: #7a2230;--myo: #a63a46;--myo-light: #d4606a;--myo-highlight: #f3a0a5;--endocardium: #4a1520;--valve: #fff4e0;--valve-edge: #a88d5f;--chordae: #8c7a5c;--fat: #c99a1a;--vessel-wall: #8c3a45;--ok: #138a52;--warn: #a86400;--danger: #c81d25;--info: #0077a8;--shadow: 0 6px 22px rgb(13 21 38 / .12);--focus: 0 0 0 3px #1e3a8a66}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{min-height:100%;display:flex;flex-direction:column}.main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:16px}.embed .footer{display:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 16px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-size:var(--fs-lg);letter-spacing:.2px}.brand b{color:var(--brand)}:root[data-theme=dark] .brand b,:root:not([data-theme]) .brand b{color:#7aa0ff}.crumb{color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.footer{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px;color:var(--text-faint);font-size:var(--fs-xs);border-top:1px solid var(--border)}.footer a{color:var(--text-muted)}a{color:var(--info)}h1,h2,h3{line-height:1.2;margin:0 0 8px}h1{font-size:clamp(1.6rem,4.5vw,2.4rem)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0 0 8px}.muted{color:var(--text-muted)}.small{font-size:var(--fs-sm)}.loading{padding:48px;text-align:center;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elev-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background var(--dur-fast),border-color var(--dur-fast)}.btn:hover{border-color:var(--brand)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.btn.primary:hover{background:var(--brand-strong)}.btn.ghost{background:transparent}.btn.small{min-height:36px;padding:4px 12px;font-size:var(--fs-sm)}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{min-width:40px;min-height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elev-1);color:var(--text);font-size:18px;cursor:pointer}.card{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.card.narrow{max-width:460px;margin:24px auto}.hero{display:grid;gap:16px;grid-template-columns:1fr;align-items:stretch;margin-bottom:20px}@media(min-width:900px){.hero{grid-template-columns:1.6fr 1fr}}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);font-size:var(--fs-xs);font-weight:700}.lead{color:var(--text-muted);font-size:var(--fs-md);max-width:60ch}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.review-tile{display:flex;gap:14px;align-items:center;padding:16px;border-radius:var(--radius-lg);background:var(--bg-elev-2);border:1px solid var(--border-strong);color:var(--text);text-decoration:none}.review-tile.has-due{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok) inset}.review-count{font-size:2.4rem;font-weight:800;min-width:2ch;text-align:center;color:var(--ok)}.grid{display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:20px}@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}@media(min-width:1040px){.grid{grid-template-columns:1fr 1fr 1fr}}.sim-card{display:flex;gap:14px;padding:16px;border-radius:var(--radius-lg);background:var(--bg-elev-1);border:1px solid var(--border);color:var(--text);text-decoration:none;transition:border-color var(--dur),transform var(--dur) var(--ease-out)}.sim-card:hover{border-color:var(--brand);transform:translateY(-2px)}.sim-card.heart{background:linear-gradient(135deg,var(--blood-oxy-soft),transparent 60%),var(--bg-elev-1)}.sim-icon{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:24px;background:var(--bg-elev-3);color:var(--ecg)}.sim-card.heart .sim-icon{color:var(--blood-oxy)}.sim-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.sim-title{font-weight:700;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sim-tag{color:var(--text-muted);font-size:var(--fs-sm)}.badge{font-size:var(--fs-xs);font-weight:700;padding:2px 8px;border-radius:999px;background:var(--bg-elev-3);color:var(--text-muted)}.badge.free{background:color-mix(in srgb,var(--ok) 20%,transparent);color:var(--ok)}.meter{display:block;height:6px;border-radius:3px;background:var(--bg-elev-3);overflow:hidden;margin-top:6px}.meter>span{display:block;height:100%;background:var(--ok)}.method ul{margin:0;padding-left:18px;color:var(--text-muted)}.method li{margin:6px 0}.method b{color:var(--text)}.form{display:flex;flex-direction:column;gap:10px;margin:12px 0}.form input{min-height:46px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font:inherit;font-size:1.05rem}.form-msg{color:var(--text-muted)}.module-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.tabs{display:flex;gap:4px;padding:4px;border-radius:var(--radius);background:var(--bg-elev-1);border:1px solid var(--border);overflow-x:auto;max-width:100%}.tab{flex:none;min-height:38px;padding:6px 14px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer}.tab.active{background:var(--brand);color:var(--brand-contrast)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:36px;padding:4px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elev-1);color:var(--text-muted);font:inherit;font-size:var(--fs-sm);cursor:pointer}.chip.on{border-color:var(--info);color:var(--text);background:color-mix(in srgb,var(--info) 18%,transparent)}.locked{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:12px;border-radius:var(--radius);border:1px dashed var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent)}.locked-actions{display:flex;gap:8px;flex-wrap:wrap}.sim-layout{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:980px){.sim-layout{grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr)}}.panel{display:flex;flex-direction:column;gap:12px}.section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-weight:700;margin:0 0 6px}.list{display:flex;flex-direction:column;gap:4px;max-height:420px;overflow:auto}.list-item{display:flex;justify-content:space-between;gap:8px;align-items:center;text-align:left;min-height:42px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text);font:inherit;cursor:pointer}.list-item:hover{background:var(--bg-elev-2)}.list-item.on{border-color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent)}.list-item .lock{color:var(--text-faint);font-size:var(--fs-xs)}.monitor{background:var(--ecg-bg);border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px}.monitor canvas{display:block;width:100%}.monitor-label{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);padding:0 4px 4px}.player-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.play-btn{min-width:120px}.volume{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--fs-sm)}.volume input{width:110px}.toggle{display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer}.facts{display:grid;grid-template-columns:1fr;gap:8px;margin:0}@media(min-width:560px){.facts{grid-template-columns:1fr 1fr}}.facts div{background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:8px 10px}.facts dt{font-size:var(--fs-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.facts dd{margin:2px 0 0;font-size:var(--fs-sm)}.perla{border-left:3px solid var(--elec);padding:8px 12px;background:color-mix(in srgb,var(--elec) 8%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--fs-sm)}.perla b{color:var(--elec-text)}.sources{font-size:var(--fs-xs);color:var(--text-faint)}.sources ul{padding-left:16px}.disclaimer{font-size:var(--fs-xs);color:var(--text-faint);margin-top:12px}.quiz{display:flex;flex-direction:column;gap:12px}.quiz-head{display:flex;justify-content:space-between;font-size:var(--fs-sm)}.quiz-prompt{font-size:var(--fs-lg)}.quiz-options{display:flex;flex-direction:column;gap:8px}.option{display:flex;gap:10px;align-items:center;text-align:left;min-height:48px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elev-2);color:var(--text);font:inherit;cursor:pointer}.option:hover:not(:disabled){border-color:var(--info)}.option-key{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--bg-elev-3);font-weight:700;font-size:var(--fs-sm)}.option.correct{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 16%,transparent)}.option.wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.option.dim{opacity:.55}.feedback{padding:12px;border-radius:var(--radius);font-size:var(--fs-sm)}.feedback.ok{background:color-mix(in srgb,var(--ok) 12%,transparent)}.feedback.bad{background:color-mix(in srgb,var(--danger) 10%,transparent)}.grade-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.quiz-media{display:flex;flex-direction:column;gap:8px}.chest{width:100%;max-height:460px;display:block;margin:0 auto;touch-action:manipulation}.chest .skin{fill:var(--bg-elev-2);stroke:var(--border-strong);stroke-width:2}.chest .rib{fill:none;stroke:var(--border);stroke-width:2}.chest .bone{fill:none;stroke:var(--border-strong);stroke-width:3}.chest .heart-shadow{fill:var(--blood-oxy-soft);stroke:var(--blood-oxy);stroke-opacity:.4}.chest .lung-shadow{fill:color-mix(in srgb,var(--pleth) 10%,transparent);stroke:var(--pleth);stroke-opacity:.35}.chest .focus{cursor:pointer}.chest .focus circle{fill:var(--bg-elev-3);stroke:var(--text-muted);stroke-width:2;transition:r var(--dur-fast)}.chest .focus.on circle{fill:var(--info);stroke:var(--text)}.chest .focus text{font-size:12px;fill:var(--text);font-weight:700;pointer-events:none}.chest .focus:focus-visible circle{stroke:var(--elec);stroke-width:4}.chest .zone{cursor:pointer;fill:transparent;stroke:transparent}.chest .zone:hover{fill:color-mix(in srgb,var(--info) 14%,transparent)}.chest .zone.on{fill:color-mix(in srgb,var(--info) 28%,transparent);stroke:var(--info)}.chest .zone.finding{stroke:var(--warn);stroke-dasharray:4 3}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.split2{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:760px){.split2{grid-template-columns:1fr 1fr}}.stat{font-family:var(--font-mono)}.kbd{font-family:var(--font-mono);font-size:var(--fs-xs);padding:1px 6px;border:1px solid var(--border-strong);border-radius:4px}.steps{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}.steps li{padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-elev-2);border-left:3px solid var(--border-strong)}.steps li.done{border-left-color:var(--ok)}.steps p{margin:4px 0 0}.ecg12 canvas{max-width:100%}.acls-monitor canvas{display:block;width:100%}.vitals{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px 4px 2px}.vitals div{display:flex;flex-direction:column}.v-label{font-size:var(--fs-xs);color:var(--text-faint);font-family:var(--font-mono)}.v-val{font-size:var(--fs-vital);font-weight:800;font-family:var(--font-mono);line-height:1}.log{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm)}.log-row{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-elev-2);border-left:3px solid var(--border-strong)}.log-row.ok{border-left-color:var(--ok)}.log-row.aviso{border-left-color:var(--warn)}.log-row.error{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--bg-elev-2))}.log-row.evento{border-left-color:var(--info)}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.btn.action{justify-content:flex-start;text-align:left;font-weight:500}.cause-picker{margin-top:8px;padding:10px;border:1px solid var(--info);border-radius:var(--radius)}.algo-node ul{padding-left:18px}.tag{display:inline-block;font-size:var(--fs-xs);padding:1px 6px;border-radius:4px;margin-right:4px;color:#fff}.tag.when{background:var(--brand)}.tag.how{background:#138a52}.tag.why{background:#8a5a00}.wave-row{display:grid;grid-template-columns:1fr 64px;gap:8px;align-items:center}.palp-dot{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--myo-highlight),var(--blood-oxy));transition:transform 30ms linear;margin:auto}.palp-dot.jvp{background:radial-gradient(circle at 35% 35%,#b9b0ff,var(--blood-deoxy))}.search{min-height:38px;padding:4px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elev-1);color:var(--text);font:inherit}.sign-card{display:flex;flex-direction:column;gap:6px}.btn.action.on{border-color:var(--info);background:color-mix(in srgb,var(--info) 14%,transparent)}.viewer{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:radial-gradient(ellipse at 50% 40%,var(--bg-elev-3),var(--bg))}.viewer-canvas{position:absolute;inset:0;touch-action:none}.viewer-status{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-muted)}.viewer-hint{position:absolute;left:10px;bottom:6px;margin:0;font-size:var(--fs-xs);color:var(--text-faint);pointer-events:none}.list-item.muted{opacity:.5}@media(min-width:980px){.atlas-layout{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}}.action-grid{grid-template-columns:repeat(auto-fill,minmax(min(130px,100%),1fr))}.v-val{font-size:clamp(1.15rem,5.2vw,3rem)}.monitor-label{flex-wrap:wrap;gap:4px 10px}.vitals div{min-width:0}select.btn{max-width:100%}@media(max-width:420px){.card{padding:12px}.row>.chips{max-width:100%}}
