@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(./barlow-latin-400-normal-fsAxiSwU.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(./barlow-latin-500-normal-C1h8hMer.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-latin-700-normal-A9pxMQ4z.woff2)format("woff2"),url(./barlow-latin-700-normal-__SGTsZ1.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(./ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}:root{--bg:#0b1117;--panel:#121a22;--panel2:#17212b;--line:#243240;--text:#d8e2ea;--muted:#8ba0b2;--accent:#3fc1c9;--accent2:#9fe7ff;--ok:#3ddc97;--warn:#f2c14e;--bad:#ef5b5b;--art:#e5534b;--ven:#5b8def;--avf:#a57bea;--radius:8px;--font:"Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:13.5px/1.4 var(--font);margin:0;overflow:hidden}#gl{z-index:0;width:100vw;height:100vh;display:block;position:fixed;inset:0}#app{z-index:1;pointer-events:none;grid-template-rows:50px minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100%;display:grid;position:relative}#app>*{pointer-events:auto}button,select,input{font:inherit;color:inherit}button{background:var(--panel2);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:6px;padding:4px 10px;transition:background .15s,border-color .15s,color .15s}button:hover{border-color:var(--accent)}button:focus-visible,select:focus-visible,input:focus-visible,.gl-view:focus-visible{outline:2px solid var(--accent2);outline-offset:1px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}button.active,button.on{border-color:var(--accent);color:#e8fdff;background:#164b55}button.primary{background:#1c6f76;border-color:#2fb0b8}button.danger{background:#5a2124;border-color:#b8484c}select{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 6px}.hidden{display:none!important}#topbar{border-bottom:1px solid var(--line);background:linear-gradient(#111b24,#0d151c);align-items:center;gap:14px;min-width:0;padding:0 16px;display:flex;overflow:hidden}#topbar>*{flex-shrink:0;min-width:0}#topbar>.case-sel{flex:auto}.brand{white-space:nowrap;align-items:center;gap:10px;display:flex;flex-shrink:0!important}.brand .title{letter-spacing:.2px;font-size:16px;font-weight:700}.brand .title span{color:var(--accent2)}.brand .subtitle{color:var(--muted);font-size:11px}.case-sel{align-items:center;gap:8px;display:flex}.case-sel label{color:var(--muted)}.case-sel select{width:100%;min-width:120px;max-width:320px}.diff{color:var(--muted);background:#1d2a36;border-radius:10px;padding:2px 7px;font-size:11px}.diff.d1{color:#8be0b4}.diff.d2{color:#f2c14e}.diff.d3{color:#ff8a80}#modeTabs{gap:4px;display:flex}#modeTabs button{border-radius:7px;padding:6px 14px}.top-actions{align-items:center;gap:6px;display:flex}#grid{pointer-events:none;grid-template-rows:minmax(0,1.65fr) minmax(0,1fr);grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);gap:6px;min-height:0;padding:6px 16px;display:grid}#grid>.pane{pointer-events:auto}.pane{border:1px solid var(--line);border-radius:var(--radius);min-width:0;min-height:0;position:relative;overflow:hidden}.gl-view{outline:none;position:absolute;inset:0}#pane3d{background:0 0;grid-area:1/1}#paneMonitor{grid-area:1/2}#paneInfo{background:var(--panel);flex-direction:column;grid-area:2/1;display:flex}#paneAnat{background:0 0;flex-direction:column;grid-area:2/2;display:flex}#paneAnat .pane-title{z-index:2;border-bottom:1px solid var(--line);color:var(--muted);background:#0e151ceb;justify-content:space-between;align-items:center;padding:5px 10px;font-size:12px;display:flex;position:relative}#anatView{top:30px;bottom:26px}#anatSvg,#usSvg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.legend{border-top:1px solid var(--line);height:26px;color:var(--muted);white-space:nowrap;background:#0e151cf0;align-items:center;gap:10px;padding:0 10px;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.toolbar3d{pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:8px;left:8px;right:8px}.btn-row{pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1016a8;border:1px solid #506e8259;border-radius:8px;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:4px;padding:4px;display:flex}.btn-row button{background:#18222ccc;padding:3px 9px;font-size:12px}.chk{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:3px;padding:2px 5px;font-size:12px;display:inline-flex}.chk.small{font-size:11px}.sl{align-items:center;gap:5px;padding:0 4px;font-size:12px;display:inline-flex}.sl input[type=range]{width:80px}input[type=range]{accent-color:var(--accent)}.hud{font:11px/1.45 var(--mono);color:#bcd3e3;pointer-events:none;white-space:pre;background:#080c10b8;border:1px solid #506e8259;border-radius:6px;padding:6px 9px;position:absolute;bottom:30px;left:8px}.hud-right{left:auto;right:8px}.hud b{color:var(--accent2);font-weight:600}.pane-hint{text-align:center;color:#283741e6;text-shadow:0 0 4px #ffffff80;pointer-events:none;font-size:11px;position:absolute;bottom:6px;left:0;right:0}#toasts{pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;max-width:60%;display:flex;position:absolute;top:80px;right:10px}.toast{border-left:4px solid var(--accent);background:#0e161eeb;border-radius:7px;padding:7px 11px;font-size:12.5px;animation:.25s ease-out toastIn;box-shadow:0 4px 18px #00000059}.toast.ok{border-color:var(--ok)}.toast.warn{border-color:var(--warn)}.toast.error{border-color:var(--bad);background:#3c1012f2}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}}.monitor{background:0 0;border-color:#2b3440;flex-direction:column;display:flex;box-shadow:inset 0 0 0 1px #000}.mon-top{font:11px var(--mono);color:#88a9c0;background:#05080b;border-bottom:1px solid #141c24;align-items:center;gap:12px;padding:4px 10px;display:flex}.mon-brand{color:#9fd3ff;letter-spacing:.5px}.mon-brand b{color:var(--accent)}.grow{flex:1}.mon-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.us-view{cursor:crosshair;touch-action:none;flex:1;min-height:0;overflow:hidden;position:relative!important}#usParams{width:98px;font:11px/1.42 var(--mono);color:#a9c4d6;pointer-events:none;text-align:left;position:absolute;top:10px;right:6px}#usParams .pt{color:var(--accent);font-weight:700}#usParams .pgrp{color:#e2eef6}#usParams .sep{height:6px}.spec{border-top:1px solid #1b2530;height:34%;min-height:90px;position:relative}.spec canvas{width:100%;height:100%;display:block}.spec-meas{font:11px var(--mono);color:#c8e6f5;min-height:0;padding:0 10px}.spec-meas:not(:empty){border-top:1px solid #141c24;padding:4px 10px}.spec-meas span{margin-right:14px}.spec-meas b{color:var(--accent2)}.us-readout{font:11px var(--mono);color:#7fa3bb;white-space:nowrap;text-overflow:ellipsis;background:#05080b;border-top:1px solid #141c24;min-height:21px;padding:3px 10px;overflow:hidden}#usSvg .scale{stroke:#9db4c4;stroke-width:1px}#usSvg .scaletxt{fill:#9db4c4;font:11px var(--mono)}#usSvg .focus{fill:#e8d36a}#usSvg .marker circle{fill:#e8f3ff;stroke:#3fc1c9;stroke-width:1.5px}#usSvg .cbox{fill:none;stroke:#dfe8ef;stroke-width:1px;stroke-dasharray:3 2}#usSvg .small{fill:#b9cfdd;font:10px var(--mono)}#usSvg .pwline{stroke:#d8e3ea;stroke-width:1px;stroke-dasharray:4 3}#usSvg .gate{stroke:#fff;stroke-width:2px;fill:none}#usSvg .angle{stroke:#6ef0ff;stroke-width:1.6px}#usSvg .lbl text{font:11px var(--font);fill:#fff;paint-order:stroke;stroke:#000c;stroke-width:3px}#usSvg .lbl circle,#anatSvg .lbl circle{fill:#fff}#usSvg .lbl.artery text,#anatSvg .lbl.artery text{fill:#ff9a93}#usSvg .lbl.vein text,#anatSvg .lbl.vein text{fill:#9fbcff}#usSvg .lbl.avf text,#usSvg .lbl.graft text,#anatSvg .lbl.avf text,#anatSvg .lbl.graft text{fill:#d7b8ff}#usSvg .lbl.nerve text,#anatSvg .lbl.nerve text{fill:#ffe27a}#anatSvg .lbl text{font:11px var(--font);fill:#0b1117;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;font-weight:600}#usSvg .cal path,#usSvg .cal line{stroke:#ffe45c;stroke-width:1.4px;fill:none}#usSvg .cal .dash{stroke-dasharray:3 3}#usSvg .cal text{fill:#ffe45c;font:12px var(--mono)}#usSvg .tipaid circle{fill:none;stroke:#00ff9c;stroke-width:1.6px;stroke-dasharray:4 3}#usSvg .tipaid.hid circle{stroke:#ff6b6b}#usSvg .tipaid text{fill:#b8ffe0;font:10.5px var(--font);paint-order:stroke;stroke:#000;stroke-width:3px}#usSvg .tipaid.hid text{fill:#ffb1b1}#usSvg .frozen{fill:#9fe7ff;font:13px var(--mono)}.tab-buttons{border-bottom:1px solid var(--line);background:#0f171e;gap:2px;padding:5px 6px 0;display:flex}.tab-buttons button{color:var(--muted);background:0 0;border-color:#0000;border-bottom-style:none;border-bottom-width:medium;border-radius:6px 6px 0 0;padding:5px 12px}.tab-buttons button.active{background:var(--panel);border-color:var(--line);color:var(--text)}.tab-content{flex:1;min-height:0;padding:10px 14px 14px;overflow:auto}.tab-content h3{margin:2px 0 6px;font-size:14px}.tab-content h4{color:var(--accent);text-transform:uppercase;letter-spacing:.6px;margin:12px 0 4px;font-size:12px}.tab-content p{color:#c2d1dc;margin:4px 0}.tab-content ul{margin:4px 0;padding-left:18px}.tab-content li{margin:2px 0}.cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}.kv{grid-template-columns:auto 1fr;gap:2px 12px;font-size:12.5px;display:grid}.kv span:nth-child(odd){color:var(--muted)}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.metric{background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:6px 9px}.metric .v{font:600 17px var(--mono)}.metric .l{color:var(--muted);font-size:11px}.metric.bad .v{color:var(--bad)}.metric.warn .v{color:var(--warn)}.metric.good .v{color:var(--ok)}.score{align-items:center;gap:12px;margin:4px 0 8px;display:flex}.score .big{font:700 34px var(--mono)}.checklist{list-style:none;padding:0!important}.checklist li{border-bottom:1px dashed #1f2b36;grid-template-columns:22px 1fr;gap:4px;padding:3px 0;display:grid}.checklist .ic{font-weight:700}.lv-good .ic,.ic.good{color:var(--ok)}.lv-fair .ic,.ic.fair{color:var(--warn)}.lv-bad .ic,.ic.bad{color:var(--bad)}.lv-info .ic{color:var(--accent2)}.muted{color:var(--muted)}.eventlog{font:11.5px/1.5 var(--mono);border:1px solid var(--line);background:#0d141a;border-radius:6px;max-height:180px;padding:6px 8px;overflow:auto}.eventlog .error{color:#ff8f8f}.eventlog .warn{color:#ffd780}.eventlog .ok{color:#86f0bf}.lesson-list button{text-align:left;white-space:normal;width:100%;margin:3px 0;display:block}.lesson-step{background:#10202a;border:1px solid #22495a;border-radius:8px;margin:8px 0;padding:10px 12px;font-size:13.5px}.lesson-step.done{border-color:var(--ok)}body.basic .adv{display:none!important}.indication{border-left:3px solid var(--accent);background:#10202a;border-radius:0 6px 6px 0;margin:8px 0;padding:6px 10px}.steps{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 14px;margin:2px 0 8px;list-style:none;display:grid;padding:0!important}.level-toggle{z-index:2;justify-content:center;align-items:stretch;min-width:118px;position:sticky;right:0}.steps li{grid-template-columns:20px 1fr;gap:4px;font-size:12.5px;line-height:1.35;display:grid}.steps .ic{color:var(--muted);font-weight:700}.steps li.done .ic{color:var(--ok)}.steps li.done .lbl{color:var(--muted)}.steps li.next .lbl{color:var(--text);font-weight:600}.steps .how{color:var(--muted);font-size:11px}.progress{background:#1c2833;border-radius:3px;height:5px;margin:6px 0;overflow:hidden}.progress>div{background:var(--accent);height:100%}table.tbl{border-collapse:collapse;width:100%;font-size:12.5px}table.tbl td,table.tbl th{text-align:left;border-bottom:1px solid #1f2b36;padding:3px 6px}table.tbl th{color:var(--muted);font-weight:500}#console{border-top:1px solid var(--line);background:linear-gradient(#0f171e,#0a1015);gap:6px;height:196px;padding:6px 16px;display:flex;overflow:auto hidden}.cgroup{border:1px solid var(--line);background:var(--panel);border-radius:9px;flex-direction:column;flex:none;gap:4px;min-width:0;padding:4px 8px 6px;display:flex}.cgroup h5{text-transform:uppercase;letter-spacing:.8px;color:var(--accent);justify-content:space-between;gap:8px;margin:0;font-size:10.5px;display:flex}.crow{flex-wrap:nowrap;align-items:center;gap:5px;display:flex}.crow.wrap{flex-wrap:wrap}.crow button{padding:3px 8px;font-size:12px}.knob{-webkit-user-select:none;user-select:none;cursor:ns-resize;flex-direction:column;align-items:center;width:58px;display:flex}.knob svg{width:44px;height:44px}.knob .kl{color:var(--muted);text-align:center;font-size:10.5px;line-height:1.1}.knob .kv{font:11px var(--mono);color:var(--text)}.tgc{align-items:flex-end;gap:3px;height:100%;display:flex}.tgc input[type=range]{writing-mode:vertical-lr;direction:rtl;width:16px;height:92px}.pad{grid-template-rows:repeat(3,24px);grid-template-columns:repeat(3,28px);gap:2px;display:grid}.pad button{padding:0;font-size:12px}.mini{color:var(--muted);font-size:10.5px}.vslider{color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:10.5px;display:flex}.vslider input{writing-mode:vertical-lr;direction:rtl;width:18px;height:84px}.field{align-items:center;gap:6px;font-size:12px;display:flex}.field input[type=range]{width:110px}.field .val{font:11px var(--mono);min-width:42px}.modal{z-index:50;background:#03070ab8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(980px,96vw);max-height:90vh;padding:20px 26px;position:relative;overflow:auto;box-shadow:0 20px 60px #00000080}.modal-card h2{margin-top:0}.modal-card a,.tab-content a{color:var(--accent2);text-underline-offset:2px;text-decoration-color:#9fe7ff66}.modal-card a:hover,.tab-content a:hover{text-decoration-color:currentColor}.accent{color:var(--accent2)}.report-brand{font-size:.7em;font-weight:500}.about{color:#b9c8d4;border-top:1px solid var(--line);gap:2px;padding-top:4px;font-size:12.5px;display:grid}.about p{margin:4px 0}.site-foot{border-top:1px solid var(--line);color:var(--muted);margin:14px 0 0;padding-top:10px;font-size:12px}.modal-card a.kofi-link{color:#ffb4a9;text-decoration-color:#ffb4a973}a.kofi{color:#ffc4bb;white-space:nowrap;background:#241a1f;border:1px solid #5c3b3e;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}a.kofi:hover{color:#ffe1dc;background:#33212a;border-color:#ff7a70}a.kofi:focus-visible{outline:2px solid var(--accent2);outline-offset:1px}.noscript{z-index:100;border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:0;padding:12px 16px;position:fixed;inset:auto 16px 16px}.modal-close{position:absolute;top:10px;right:10px}kbd{font:11px var(--mono);background:#1a2530;border:1px solid #3a4b5a;border-bottom-width:2px;border-radius:4px;margin:0 1px;padding:1px 5px;display:inline-block}#loading{z-index:100;background:var(--bg);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .4s;display:flex;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}.spinner{border:3px solid #1e2c38;border-top-color:var(--accent);border-radius:50%;width:38px;height:38px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1560px){.brand .subtitle{display:none}#modeTabs button{padding:6px 10px}.top-actions select{max-width:132px}}@media (max-width:1180px){#grid{grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}.brand .subtitle,.case-sel label,a.kofi span{display:none}}@media (max-width:860px){#app{grid-template-rows:auto minmax(0,1fr) auto}#topbar{flex-wrap:nowrap;height:auto;padding-block:6px;overflow-x:auto}#topbar>*{flex-shrink:0}.case-sel select{width:220px}#grid{grid-template-rows:minmax(0,1fr) minmax(0,1.1fr);grid-template-columns:minmax(0,1fr);padding-inline:16px}#pane3d,#paneMonitor{grid-area:auto/1}#paneInfo,#paneAnat{display:none}#grid.show-info #paneInfo{z-index:5;grid-area:1/1/span 2;display:flex}#grid.show-info #pane3d,#grid.show-info #paneMonitor,.toolbar3d #layerRow{display:none}#console{height:168px}.hud{font-size:10px;bottom:8px}.pane-hint{display:none}#mobileInfo{display:inline-block!important}#usParams{width:84px;font-size:10px}}@media print{#gl,#app,#loading{display:none!important}.modal{background:#fff;padding:0;position:static}.modal-card{color:#000;width:auto;max-height:none;box-shadow:none;background:#fff;border:none;overflow:visible}.modal-close,.no-print{display:none}.modal-card a,.site-foot{color:#333;border-color:#ccc}body{color:#000;background:#fff;overflow:visible}}#grid.max-3d,#grid.max-us,#grid.max-anat{grid-template-rows:1fr;grid-template-columns:1fr}#grid.max-3d>.pane:not(#pane3d),#grid.max-us>.pane:not(#paneMonitor),#grid.max-anat>.pane:not(#paneAnat){display:none}#grid.max-3d>#pane3d,#grid.max-us>#paneMonitor,#grid.max-anat>#paneAnat{grid-area:1/1}.maxbtn{z-index:3;background:#141e28bf;padding:1px 7px;font-size:13px;position:absolute;top:6px;right:6px}#paneMonitor .maxbtn{top:28px}#paneAnat .maxbtn{top:3px;right:110px}.cine{font:11px var(--mono);color:#9fd3ff;background:#05080b;border-top:1px solid #141c24;align-items:center;gap:6px;padding:3px 10px;display:flex}.cine input[type=range]{flex:1}.cine button{padding:0 7px;font-size:11px}.mono{font-family:var(--mono)}#usSvg .guide{stroke:#7dffb2;stroke-width:1.3px;stroke-dasharray:5 4;fill:none;opacity:.85}#usSvg .guidept{stroke:#7dffb2;stroke-width:1.4px;fill:none}#usSvg .guidetxt{fill:#b8ffd6;font:10.5px var(--font);paint-order:stroke;stroke:#000;stroke-width:3px}
