/*! POCUS Cardiac Simulator © 2026 Yuriy Bronshteyn, MD, FASE. All rights reserved. */

/*! POCUS Cardiac Simulator © 2026 Yuriy Bronshteyn, MD, FASE. All rights reserved. */:root{--bg:#efeee9;--panel:#fff;--panel2:#f7f6f2;--ink:#1c2026;--muted:#5f6771;--line:#dcdad2;--accent:#0e7a83;--accent-ink:#fff;--amber:#e39a12;--good:#1d8a4e;--bad:#c0392b;--skin:#f1ddcc;--skin-line:#d4b59d;--bone:#f7f3ea;--bone-line:#bfb3a0;--pill:#eef0f2;--pill-line:#cfd4da;--screen:#050607;--shadow:0 1px 2px #0000000f,0 4px 16px #0000000d;--r:12px;--buncss-light:initial;--buncss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1115;--panel:#161a20;--panel2:#1c2129;--ink:#e6e8eb;--muted:#9aa3ad;--line:#2a3039;--accent:#2bb3bd;--accent-ink:#061216;--amber:#f2ae2e;--good:#3fbf78;--bad:#ef6b5b;--skin:#3a3230;--skin-line:#5a4c46;--bone:#565a62;--bone-line:#6f7580;--pill:#222831;--pill-line:#3a424d;--shadow:none;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1115;--panel:#161a20;--panel2:#1c2129;--ink:#e6e8eb;--muted:#9aa3ad;--line:#2a3039;--accent:#2bb3bd;--accent-ink:#061216;--amber:#f2ae2e;--good:#3fbf78;--bad:#ef6b5b;--skin:#3a3230;--skin-line:#5a4c46;--bone:#565a62;--bone-line:#6f7580;--pill:#222831;--pill-line:#3a424d;--shadow:none;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.2}.sr-only{position:absolute;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px}[hidden]{display:none!important}.muted{color:var(--muted)}.small{font-size:12.5px}.topbar{display:flex;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items: center;gap:16px;padding:10px 16px}.brand{display:flex;align-items: center;gap:10px;min-width:0}.logo{flex:none;width:30px;height:30px}.logo-a{fill:var(--ink)}.logo-b{fill:var(--accent)}.brand h1{letter-spacing:-.01em;font-size:17px}.brand .sub{color:var(--muted);margin:0;font-size:12px}.modes{display:flex;background:var(--panel2);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:3px}.modes button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 16px;font-weight:600}.modes button[aria-selected=true]{background:var(--ink);color:var(--panel)}.top-right{display:flex;align-items: center;gap:6px}.chip-btn{display:inline-flex;border:1px solid var(--line);background:var(--panel2);cursor:pointer;border-radius:999px;align-items: center;gap:6px;max-width:220px;padding:5px 11px}.chip-btn span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-btn .dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.chip-btn.signed .dot{background:var(--good)}.icon-btn{border:1px solid var(--line);background:var(--panel2);cursor:pointer;border-radius:50%;width:32px;height:32px;font-weight:700}.stage{display:grid;grid-template-columns:300px minmax(0,1fr)360px;grid-template-areas:"probe echo side";align-items: start;gap:12px;max-width:1600px;margin:0 auto;padding:12px 16px}.probe-panel{grid-area:probe;position:relative;display:grid;gap:8px}.echo-panel{grid-area:echo}.side{grid-area:side;display:grid;gap:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0;padding:10px}.panel-head{display:flex;justify-content:space-between;align-items: center;gap:8px;margin-bottom:0}.panel-head h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-weight:600}.seg{display:inline-flex;border:1px solid var(--line);overflow:hidden;border-radius:8px}.seg button{background:var(--panel2);cursor:pointer;color:var(--muted);border:0;padding:4px 8px;font-size:12px;font-weight:600}.seg button+button{border-left:1px solid var(--line)}.seg button:hover{background:var(--pill)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--panel)}.seg.full{display:flex}.seg.full button{flex:1;padding:7px 4px}.torso-host{touch-action:none;user-select:none;-webkit-user-select:none}.torso-svg{display:block;width:100%;height:auto;max-height:420px;font:600 8px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.torso-svg .skin{fill:var(--skin);stroke:var(--skin-line);stroke-width:1.5;stroke-linejoin:round}.torso-svg .bone{fill:var(--bone);stroke:var(--bone-line);stroke-width:1}.torso-svg .rib-edge{fill:none;stroke:var(--bone-line);stroke-width:10;stroke-linecap:round}.torso-svg .rib{fill:none;stroke:var(--bone);stroke-width:7.5;stroke-linecap:round}.torso-svg .bone.thin{fill:none;stroke:var(--bone);stroke-width:5;stroke-linecap:round}.torso-svg .costal{fill:none;stroke:var(--bone-line);stroke-width:1.2;stroke-dasharray:4 3}.torso-svg .navel{fill:var(--skin-line)}.torso-svg .tag{fill:var(--muted);font-size:9px;font-weight:600}.torso-svg .heart{fill:#d6545421;stroke:#d654548c;stroke-width:1.2;stroke-dasharray:3 3;pointer-events:none}.torso-svg .win{fill:#0e7a830f;stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;cursor:pointer;opacity:.55}.torso-svg .win.active{fill:#0e7a8329;stroke-dasharray:none;stroke-width:1.5;opacity:1}.torso-svg .win:hover{opacity:1;outline:none}.torso-svg .win:focus-visible{opacity:1;outline:none}.torso-svg .win-lbl{fill:var(--accent);pointer-events:none;font-size:8.5px}.torso-svg .aim{stroke:var(--amber);stroke-width:1.6;stroke-dasharray:3 2.5;fill:none;pointer-events:none}.torso-svg .aim-head{fill:var(--amber)}.torso-svg .ring{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:2 3;cursor:grab;opacity:.8}.torso-svg .foot{fill:#2f343c;stroke:#14171c;stroke-width:1;cursor:move}.torso-svg .foot-line{stroke:#8a929c;stroke-width:1;pointer-events:none}.torso-svg .indicator{fill:var(--amber);pointer-events:none}.torso-svg .knob{fill:var(--panel);stroke:var(--ink);stroke-width:1.5;cursor:grab}.torso-svg .knob:hover{fill:var(--amber)}.torso-svg .pressed .foot{fill:#1b1f25}.torso-svg g:focus{outline:none}.torso-svg g:focus-visible .foot{stroke:var(--accent);stroke-width:2.5}.probe-row{display:grid;grid-template-columns:118px auto minmax(0,1fr);align-items: start;gap:8px}.ctl-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap;margin-bottom:3px;font-size:10px;font-weight:700}.ctl-lbl .muted{text-transform:none;letter-spacing:0;font-weight:500}.pad-host{touch-action:none}.pad-svg{display:block;cursor:crosshair;width:118px;height:118px}.pad-svg:focus{outline:none}.pad-svg:focus-visible .pad-bg{stroke:var(--accent);stroke-width:2}.pad-bg{fill:var(--panel2);stroke:var(--line)}.pad-axis{stroke:var(--line);stroke-width:1.5}.pad-tick{stroke:var(--line);stroke-width:1}.pad-lbl{fill:var(--muted);font:600 7.5px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.pad-dot{fill:var(--amber);stroke:#111;stroke-width:1;cursor:grab}.gauge-wrap{touch-action:none}.gauge-svg{display:block;cursor:ns-resize;width:36px;height:118px}.gauge-svg:focus{outline:none}.gauge-svg:focus-visible .gauge-bg{stroke:var(--accent);stroke-width:2}.gauge-bg{fill:var(--panel2);stroke:var(--line)}.gauge-fill{fill:var(--accent);opacity:.5}.gauge-handle{fill:var(--panel);stroke:var(--ink);stroke-width:1.5}.readouts{display:grid;grid-template-columns:1fr;align-content: start;gap:4px;margin:0}.readouts div{background:var(--panel2);display:flex;border-radius:8px;justify-content:space-between;align-items:baseline;gap:6px;padding:3px 7px}.readouts dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px}.readouts dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:12.5px;font-weight:700}.field.compact{gap:4px}.screen{position:relative;background:var(--screen);overflow:hidden;aspect-ratio:1.36;touch-action:none;border-radius:10px;max-height:calc(100vh - 170px)}.screen canvas{position:absolute;display:block;width:100%;height:100%;inset:0}.screen>div{position:absolute;color:#d8dde3;pointer-events:none;font:600 12px/1.3 ui-monospace,SF Mono,Menlo,Consolas,monospace}.scr-tl{display:grid;top:10px;left:12px}.scr-tl span:first-child{color:#ffd27a;font-size:15px}.scr-tl span:last-child{color:#8a929c}.scr-tr{color:#f2ae2e;top:10px;right:12px}.scr-bl{max-width:70%;bottom:10px;left:12px}.scr-bl .nv{color:#7ee2a8}.scr-bl .nv.none{color:#8a929c}.scr-br{bottom:10px;right:12px;color:#8a929c!important}.freeze{letter-spacing:.1em;background:#e39a12e6;border-radius:6px;padding:4px 10px;top:50%;left:50%;transform:translate(-50%,-50%);color:#111!important}.offtorso{background:#c0392be6;border-radius:6px;padding:6px 12px;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff!important}.bezel{display:flex;flex-wrap:wrap;align-items: center;gap:8px;padding:8px 2px 0}.bz-group{display:flex;align-items: center;gap:4px}.bz-lbl{color:var(--muted);margin-right:2px;font-size:12px}.bz{border:1px solid var(--line);background:var(--panel2);cursor:pointer;border-radius:8px;min-width:36px;padding:6px 12px;font-weight:600}.bz.toggle[aria-pressed=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}.bz.store{background:var(--amber);border-color:var(--amber);color:#111;margin-left:auto;padding:8px 18px}.stage:not([data-mode=acquire]) .bz.store{display:none}.view3d-panel .panel-head{flex-wrap:wrap}.view3d-wrap{position:relative}#view3d{aspect-ratio:1/.86;display:block;background:var(--panel2);cursor:grab;touch-action:none;border-radius:8px;width:100%}#view3d.grabbing{cursor:grabbing}.legend{color:var(--muted);margin:6px 0 0;font-size:11px}.sw{display:inline-block;vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin:0 3px 0 6px}.sw.lh{background:#d65454}.sw.rh{background:#547cce}.sw.ao{background:#c43440}.sw.pa{background:#7868c8}.sw.sc{background:var(--amber)}.task-panel,.mode-body{display:grid;gap:10px}.row{display:flex;align-items: center;gap:6px}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.field{display:grid;gap:5px}.field>span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;font-weight:600}select,input[type=email],textarea{border:1px solid var(--line);background:var(--panel2);border-radius:8px;width:100%;min-width:0;padding:7px 9px}.btn{border:1px solid var(--line);background:var(--panel2);cursor:pointer;white-space:nowrap;border-radius:8px;padding:7px 12px;font-weight:600}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{background:0 0}.btn.danger,.danger-text{color:var(--bad)}.btn.wide{width:100%;padding:10px}.btn[disabled]{opacity:.45;cursor:not-allowed}.sweeps{display:grid;gap:6px}.sweeps .btn{text-align:left;white-space:normal}.caption{color:var(--muted);min-height:1.4em;margin:0;font-size:12.5px}.nearest-card,.task-card{background:var(--panel2);display:grid;border-radius:10px;gap:4px;padding:10px 12px}.nc-k,.tc-k{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;font-weight:600}.nc-v,.tc-v{letter-spacing:-.01em;font-size:19px;font-weight:700}.nc-s{color:var(--amber);letter-spacing:2px;min-height:1em}.nc-t{color:var(--muted);margin:2px 0 0;font-size:12.5px}.tc-meta{color:var(--muted);font-size:12px}.hints{display:grid;gap:3px;margin:4px 0 0;padding-left:18px;font-size:13px}.hints:empty{display:none}.result{border:1px solid var(--line);display:grid;border-radius:10px;gap:6px;padding:10px 12px;font-size:13px}.result.pass{border-color:var(--good);background:color-mix(in srgb,var(--good)9%,var(--panel))}.result.fail{border-color:var(--bad);background:color-mix(in srgb,var(--bad)7%,var(--panel))}.result h3{font-size:16px}.result .stars{color:var(--amber);letter-spacing:3px;font-size:18px}.result ul{margin:0;padding-left:18px}.result .metrics{display:flex;font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:12px}.result .metrics b{font-size:15px}.result p{margin:0}.picker summary{cursor:pointer;padding:4px 0;font-size:13px;font-weight:600}.view-list{display:grid;overflow:auto;gap:2px;max-height:300px;margin-top:6px}.view-list .grp{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:6px 0 2px;font-size:11px}.view-list button{display:flex;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;gap:8px;padding:5px 6px}.view-list button:hover,.view-list button.on{background:var(--pill)}.view-list .st{color:var(--amber);letter-spacing:1px;white-space:nowrap}.view-list .st.none{color:var(--line)}.feedback{border-top:1px dashed var(--line);padding-top:8px}.fb-toggle{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:2px 0;font-weight:600}#fbForm{display:grid;gap:6px;margin-top:6px}.fb-help{color:var(--muted);margin:0;font-size:12px}.fb-status{margin:0;font-size:12.5px}.modal{position:fixed;display:grid;z-index:50;background:#00000073;place-items: center;padding:16px;inset:0}.modal-card{background:var(--panel);color:var(--ink);overflow:auto;display:grid;border-radius:14px;gap:10px;width:min(760px,100%);max-height:calc(100vh - 32px);padding:16px}.modal-head{display:flex;justify-content:space-between;align-items: center}.profile-list{display:flex;flex-wrap:wrap;gap:6px}.profile-list button{border:1px solid var(--line);background:var(--panel2);cursor:pointer;border-radius:999px;padding:4px 10px}.profile-list button.on{border-color:var(--good)}.progress-table{overflow-x:auto}.progress-table table{border-collapse:collapse;width:100%;font-size:12.5px}.progress-table th,.progress-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:4px 6px}.progress-table td.st{color:var(--amber)}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.help-grid h3{margin-bottom:4px;font-size:14px}.help-grid ul{display:grid;gap:4px;margin:0;padding-left:18px}.keys td{padding:2px 8px 2px 0}kbd{border:1px solid var(--line);background:var(--panel2);border-bottom-width:2px;border-radius:5px;padding:0 5px;font:600 11.5px ui-monospace,Menlo,monospace}#helpViews{display:grid;gap:3px}#helpViews p{margin:4px 0 0}.foot{color:var(--muted);max-width:1600px;margin:0 auto;padding:4px 16px 24px;font-size:12px}.foot p{margin:4px 0}.copyright{font-weight:600}@media (max-width:1180px){.stage{grid-template-columns:300px minmax(0,1fr);grid-template-areas:"echo echo" "probe side"}.screen{max-height:none}}@media (max-width:720px){.topbar{gap:8px;padding:8px 12px}.brand .sub{display:none}.modes{order:3;justify-content:space-between;width:100%;margin-left:0}.modes button{flex:1}.top-right{margin-left:auto}.chip-btn{max-width:130px}.stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"echo" "probe" "v3d" "task";gap:8px;padding:10px 12px}.side{display:contents}.view3d-panel{grid-area:v3d;align-self: start}.task-panel{grid-area:task}.panel{padding:8px}.torso-svg{max-height:360px}.probe-row{grid-template-columns:118px auto minmax(0,1fr)}.readouts{grid-template-columns:1fr}.legend{display:none}.bz.store{flex:100%;margin-left:0}}.phone-pair{display:flex;flex-wrap:wrap;align-items: center;gap:16px;margin:10px 0 4px}#phoneQR{image-rendering:pixelated;background:#fff;border-radius:8px;flex:none;width:168px;height:168px;padding:0}.phone-code-wrap{flex:1;min-width:200px}.phone-code{letter-spacing:.28em;color:var(--accent);user-select:all;margin:6px 0;font:700 34px/1.15 ui-monospace,Menlo,monospace}#phoneStatus{color:var(--muted)}.big-ok{margin:4px 0 8px;font-size:19px;font-weight:650}#btnPhone.phone-on{color:var(--good);font-weight:650}
