@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Cormorant+Garamond:wght@500;600&display=swap";:root{color-scheme:dark;--bg: #07070a;--glass: rgba(16, 14, 18, .72);--glass-strong: rgba(18, 16, 21, .9);--line: rgba(255, 240, 235, .1);--text: #efe9e6;--muted: #a39996;--accent: #e8b48a;--accent-2: #d4574a;--cool: #9cc6ff;--warn: #f0c27a;--good: #8fdcac;--radius: 14px;--font: Inter, "Segoe UI", system-ui, sans-serif;--serif: "Cormorant Garamond", Georgia, serif;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--top-h: 60px;--bottom-h: 64px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}button,select,input{font-family:inherit;font-size:12px;color:var(--text)}button{touch-action:manipulation}#app{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100vh;height:100dvh}.hidden{display:none!important}#stage{position:relative;overflow:hidden;min-height:0;min-width:0}#viewport{position:absolute;top:0;right:0;bottom:0;left:0}#viewport canvas{display:block;outline:none;cursor:grab;touch-action:none}#viewport canvas.hovering{cursor:pointer}#viewport canvas:active{cursor:grabbing}#labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:16px;padding:calc(10px + var(--sat)) calc(16px + var(--sar)) 10px calc(16px + var(--sal));z-index:9;pointer-events:none;background:linear-gradient(180deg,#050507cc,#05050700)}.topbar>*{pointer-events:auto}.brand{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.4px;display:flex;align-items:center;gap:9px;white-space:nowrap;min-width:0}.logo{color:var(--accent-2);font-size:17px}.pill{font-family:var(--font);font-size:11px;padding:3px 10px;border-radius:12px;background:#d4574a24;color:#f1b2a8;border:1px solid rgba(212,87,74,.25);overflow:hidden;text-overflow:ellipsis;max-width:220px}.navrow{display:flex;align-items:center;gap:8px;margin:0 auto;min-width:0}.modes{display:flex;gap:2px;padding:3px;border-radius:22px;background:#ffffff0a;border:1px solid var(--line)}.mode{background:none;border:none;color:var(--muted);padding:7px 14px;min-height:34px;border-radius:18px;cursor:pointer;letter-spacing:.3px;font-size:12.5px}.mode:hover{color:var(--text)}.mode.active{color:var(--text);background:#fff0eb1f}.nav-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:18px;border:1px solid var(--line);background:var(--glass);color:var(--text);cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:12.5px;white-space:nowrap}.nav-btn:hover{background:var(--glass-strong)}.nav-btn[aria-expanded=true]{background:#e8b48a33;border-color:#e8b48a8c}.nav-btn .ico-fixed{color:var(--muted);font-size:13px}#hud{display:flex;align-items:center;gap:12px;padding:5px 8px 5px 12px;border-radius:22px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex:none}#hud-ecg{width:150px;height:30px}.hud-v{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.hud-v b{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.hud-v span{font-size:9.5px;color:var(--muted);letter-spacing:.3px}.ghost-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:8px;min-width:32px;min-height:32px}.ghost-btn:hover{color:var(--text);background:#ffffff0f}.panel{position:absolute;top:calc(var(--top-h) + 4px);bottom:calc(var(--bottom-h) + 8px);width:300px;background:var(--glass-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:7;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}#left-panel{left:calc(12px + var(--sal))}#right-panel{right:calc(12px + var(--sar));width:320px}.drawer.closed{opacity:0;pointer-events:none;visibility:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s,visibility 0s .35s}#left-panel.closed{transform:translate(-340px)}#right-panel.closed{transform:translate(360px)}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel h3{margin:2px 0 8px;font-family:var(--serif);font-size:19px;font-weight:600}.panel h4.sub{margin:14px 0 6px;font-size:12px;font-weight:600}.hint{font-weight:400;color:var(--muted);font-size:10.5px}.panel input[type=search],.panel select{width:100%;background:#ffffff0d;border:1px solid var(--line);border-radius:9px;padding:7px 9px}select option{background:#18151a}.tree-actions{display:flex;gap:6px;margin:8px 0;align-items:center}.tree-actions .hint{margin-left:auto}.chip{background:#ffffff0d;border:1px solid var(--line);border-radius:16px;padding:5px 11px;min-height:30px;cursor:pointer;white-space:nowrap}.chip:hover{background:#ffffff1a}.chip.on,.chip[aria-pressed=true]{background:#e8b48a33;border-color:#e8b48a8c}.chip.accent{background:#e8b48a29;border-color:#e8b48a73}.group{margin-top:6px}.group-head{display:flex;align-items:center;gap:6px;cursor:pointer;padding:5px 2px;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.9px}.group-head .caret{width:10px}.item{display:flex;align-items:center;gap:5px;padding:3px 4px 3px 12px;border-radius:7px;cursor:pointer}.item:hover{background:#ffffff0d}.item.sel{background:#9cc6ff24}.item.linked{background:#f0c27a1a}.item .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item.off .nm{color:#6d6567;text-decoration:line-through}.item button{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px 4px;font-size:12px;opacity:0;min-width:24px}.item:hover button,.item.sel button,.item:focus-within button{opacity:.9}.item .struct-select{opacity:1;color:inherit;text-align:left;min-width:0;min-height:30px;font-size:inherit}.group-toggle{display:flex;align-items:center;gap:6px;border:0;background:none;color:inherit;text-transform:inherit;letter-spacing:inherit;font-size:inherit;cursor:pointer;padding:4px 0;text-align:left}.swatch{width:8px;height:8px;border-radius:50%;flex:none}#bottombar{position:absolute;left:calc(12px + var(--sal));right:calc(12px + var(--sar));bottom:calc(12px + var(--sab));display:flex;align-items:center;justify-content:center;gap:10px;z-index:8;pointer-events:none}#bottombar>*{pointer-events:auto}#toolpill{display:flex;align-items:center;gap:2px;padding:5px 7px;background:var(--glass);border:1px solid var(--line);border-radius:30px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 40px #00000073;min-width:0}.tgroup{display:flex;align-items:center;gap:2px}.tool{background:none;border:none;color:var(--text);min-width:40px;height:40px;padding:0 9px;border-radius:20px;cursor:pointer;opacity:.85;transition:background .2s,opacity .2s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.tool:hover{opacity:1;background:#ffffff14}.tool.on,.tool[aria-pressed=true],.tool[aria-expanded=true]{opacity:1;background:#e8b48a33;color:#ffe3cf}.ico-fixed{display:inline;font-size:14px;line-height:1}.lbl-m{font-size:12px}.speed-val{font-variant-numeric:tabular-nums;font-weight:600;font-size:12.5px;min-width:2.4em;text-align:center}#play .ico-fixed{min-width:1em;text-align:center}.sep{width:1px;height:22px;background:var(--line);margin:0 4px;flex:none}.seg{display:inline-flex;border-radius:18px;overflow:hidden;background:#ffffff0a}.seg button{background:none;border:none;padding:5px 10px;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.seg button.active,.seg button[aria-pressed=true]{background:#fff0eb1f;color:var(--text)}#view-mode button{height:40px}.seg.small button{padding:4px 10px;font-size:11.5px;min-height:28px}.seg.tiny button{padding:2px 8px;font-size:10.5px;min-height:24px}.compact-only{display:none!important}html.L-grouped .compact-only{display:inline-flex!important}html.L-grouped #grp-inspect,html.L-grouped #grp-display,html.L-grouped .sep.wide-only{display:none}input[type=range]{accent-color:var(--accent)}#phase-ribbon{display:flex;align-items:center;gap:9px;padding:6px 14px 6px 8px;background:var(--glass);border:1px solid var(--line);border-radius:24px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex:none;min-width:170px}#beat-ring{width:28px;height:28px;flex:none}.ring-bg{fill:none;stroke:#ffffff1a;stroke-width:4}.ring-arc{fill:none;stroke:var(--accent-2);stroke-width:4;stroke-linecap:round}#phase-name{font-weight:600;font-size:12px;white-space:nowrap}.muted{color:var(--muted);font-size:10.5px}#rhythm-name{white-space:nowrap}.popover{position:absolute;bottom:calc(var(--bottom-h) + 10px);left:50%;transform:translate(-50%);background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;padding:10px 12px;z-index:11;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:8px;min-width:250px;max-width:min(460px,calc(100vw - 24px));max-height:calc(100% - var(--top-h) - var(--bottom-h) - 20px);overflow-y:auto;box-shadow:0 12px 40px #00000080}.popover label{color:var(--muted);font-size:11px}.popover .chk{color:var(--text);display:flex;gap:8px;align-items:center;min-height:30px}.popover .row{display:flex;gap:8px;align-items:center}.popover .row input[type=range],.popover .row select{flex:1}.popover select{background:#ffffff0d;border:1px solid var(--line);border-radius:8px;padding:5px 7px}.pop-title{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.popover.menu{min-width:240px;gap:4px}.popover.menu .tool{width:100%;justify-content:flex-start;height:42px;border-radius:10px}.popover.menu .tool .ico-fixed{width:20px;text-align:center}.popover.menu .seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:none;overflow:visible}.popover.menu .seg button{height:40px;border-radius:10px;background:#ffffff0a;justify-content:flex-start;padding:0 10px}.popover.menu .seg button.active{background:#e8b48a33}.popover.menu .menu-sub{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin:6px 2px 2px}.field-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin:8px 0 4px}.grade{color:var(--warn)}#severity{width:100%}.desc{color:#c4bab6;font-size:11.5px;line-height:1.5;margin:6px 0 8px}.slider-row{margin:6px 0}.slider-row label{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted)}.slider-row label b{color:var(--text);font-weight:600;margin-left:auto;margin-right:3px}.slider-row input{width:100%}.row-actions{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}.chip-toggle{display:flex;gap:4px;align-items:center;font-size:11.5px}.lesson-changes{margin-top:10px;border:1px solid rgba(156,198,255,.3);background:#9cc6ff0f;border-radius:10px;padding:7px 10px;font-size:11.5px;line-height:1.45}#metrics-status{margin-top:10px;min-height:14px}#metrics-status.settling{color:var(--warn)}#metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.metric{background:#ffffff08;border:1px solid var(--line);border-radius:10px;padding:6px 8px}.metric .k{color:var(--muted);font-size:10.5px}.metric .v{font-size:15px;font-weight:600;margin-top:1px;font-variant-numeric:tabular-nums}.metric .u{color:var(--muted);font-size:10px;font-weight:400;margin-left:2px}.metric .ref{color:#7d7476;font-size:9.5px}.metric .cmp{font-size:10px;color:#b6aca9}.metric.warn .v{color:var(--warn)}.metric.wide{grid-column:span 2}.causal{margin-top:10px;border:1px solid rgba(240,194,122,.3);background:#f0c27a0f;border-radius:10px;padding:8px 10px;font-size:11.5px;line-height:1.5}.causal .chain{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:4px}.causal .node{background:#00000040;border-radius:6px;padding:1px 6px}.causal .arrow{color:var(--muted)}.causal .up{color:#ffb48a}.causal .down{color:#8ad0ff}#valve-logic .vrow{display:grid;grid-template-columns:62px 64px 1fr;gap:6px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:11px;line-height:1.35;align-items:center;cursor:pointer}#valve-logic .state{font-weight:600;text-align:center;border-radius:5px;padding:1px 2px;font-size:10px;letter-spacing:.3px}#valve-logic .open{background:#8fdcac29;color:var(--good)}#valve-logic .coasting{background:#8fdcac14;color:#b9e8cb}#valve-logic .closing{background:#9cc6ff1f;color:var(--cool)}#valve-logic .closed{background:#ffffff0d;color:var(--muted)}#valve-logic .leak{background:#ff8f8f33;color:#ff9d9d}.label3d{position:absolute;transform:translate(-50%,-100%);font-size:11px;padding:3px 9px;border-radius:12px;background:#0a090cc7;border:1px solid rgba(255,240,235,.16);white-space:nowrap;color:#f2ece9;transition:opacity .25s}.label3d.sel{border-color:#9cc6ffb3;color:#fff}.label3d.far{opacity:.5;font-style:italic}.label3d:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:var(--lead, 14px);background:linear-gradient(#ffffff8c,#fff3)}.label3d:before{content:"";position:absolute;left:calc(50% - 2.5px);top:calc(100% + var(--lead, 14px) - 2.5px);width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px #0009}.label3d.far:before{background:transparent;border:1px solid #fff}.tooltip{position:absolute;pointer-events:none;padding:4px 10px;border-radius:12px;background:#08070adb;border:1px solid var(--line);font-size:11.5px;z-index:12}#orient{position:absolute;width:74px;height:74px;left:14px;top:70px;z-index:5;pointer-events:none;overflow:visible}#orient text{font-size:10px;font-weight:600;fill:#e9e2df;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#000c;stroke-width:3px}#orient text.back{fill:#8f8784;font-weight:400}#orient line{stroke-width:2;stroke-linecap:round}#cut-caption{position:absolute;top:70px;left:50%;transform:translate(-50%);z-index:6;padding:5px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--line);font-size:11.5px;max-width:min(620px,calc(100% - 200px));text-align:center;line-height:1.4;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none}#cut-caption b{font-weight:600}#gesture-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:12.5px;line-height:1.6;max-width:min(320px,calc(100% - 32px));box-shadow:0 16px 50px #00000080}#gesture-hint button{margin-top:6px}.card{position:absolute;left:calc(14px + var(--sal));bottom:calc(var(--bottom-h) + 10px);width:340px;max-height:calc(100% - var(--top-h) - var(--bottom-h) - 24px);overflow-y:auto;overscroll-behavior:contain;background:var(--glass-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;z-index:7;line-height:1.5;box-shadow:0 16px 50px #00000080}.card h2{font-family:var(--serif);font-size:21px;font-weight:600;margin:0 0 2px;line-height:1.15;padding-right:26px}.card .grp{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.card p{margin:6px 0;color:#d6ccc8;font-size:12.5px}.card .clin{border-left:2px solid var(--accent-2);padding-left:9px}.card .note{border-left:2px solid var(--cool);padding-left:9px;color:#c3cad6;font-size:11.5px}.card .refs{font-size:10.5px;color:var(--muted);margin-top:8px;padding-left:16px}.card .refs li{margin:2px 0}.card .actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.card .close{position:absolute;top:8px;right:8px;z-index:1}.card .min-btn{position:absolute;top:8px;right:40px;z-index:1}#info-toggle,#info-body[hidden]{display:none}.card.guide{left:auto;right:calc(14px + var(--sar));top:calc(var(--top-h) + 4px);bottom:auto;width:370px;max-height:calc(100% - var(--top-h) - var(--bottom-h) - 20px)}.card.guide .grp:first-of-type{padding-right:70px}.card.guide .progress{display:flex;gap:3px;margin:8px 0}.card.guide .progress button{flex:1;height:14px;border:none;padding:5px 0;background:none;cursor:pointer}.card.guide .progress button:before{content:"";display:block;height:4px;border-radius:2px;background:#ffffff24}.card.guide .progress button.done:before{background:var(--accent)}.card.guide .progress button.cur:before{background:#fff}.card.guide .lesson-nav{position:sticky;bottom:-14px;margin:10px -16px -14px;padding:8px 16px 12px;background:linear-gradient(rgba(18,16,21,0),var(--glass-strong) 30%)}.card.min>p,.card.min .progress,.card.min .result,.card.min .note,.card.min .opt:not(.right):not(.wrong),.card.min .lesson-list,.card.min .grp+.grp{display:none}.card.min h2{font-size:16px}.card.follow{left:calc(14px + var(--sal));top:calc(var(--top-h) + 84px);bottom:auto;width:400px}.circuit{width:100%;height:108px;margin-top:6px}.circuit .seg-path{fill:none;stroke:#ffffff29;stroke-width:5;stroke-linecap:round}.circuit .seg-path.on{stroke:#ffd98a}.circuit text{font-size:8px;fill:var(--muted)}.lesson-list{display:grid;gap:8px}.lesson-item{display:block;width:100%;text-align:left;color:inherit;font:inherit;line-height:1.45;border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer;background:#ffffff08}.lesson-item:hover{border-color:#e8b48a80}.opt{display:block;width:100%;text-align:left;margin:6px 0;padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:#ffffff0a;cursor:pointer;min-height:40px}.opt:hover{border-color:#e8b48a80}.opt.right{border-color:var(--good);background:#8fdcac1f}.opt.wrong{border-color:#ff8f8f;background:#ff8f8f1a}.result{margin-top:8px;font-size:12px}.result table{width:100%;border-collapse:collapse;margin-top:6px;font-size:11px}.result td,.result th{padding:2px 4px;border-bottom:1px solid var(--line);text-align:right}.result td:first-child,.result th:first-child{text-align:left}.trace-chip[aria-pressed=true]{background:#9cc6ff33;border-color:#9cc6ff99}.trace-why{font-size:11.5px;color:#c3cad6;margin:4px 0 0}#disclaimer{position:absolute;left:calc(98px + var(--sal));top:calc(var(--top-h) + 4px);font-size:10px;color:#f0c27a99;z-index:2;pointer-events:none;max-width:300px}#loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#1c1518,#050507 70%);z-index:20;color:var(--muted);font-family:var(--serif);font-size:18px;letter-spacing:.5px;text-align:center;padding:20px}#loading.error{font-family:var(--font);font-size:14px;color:var(--text)}.spinner{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.08);border-top-color:var(--accent-2);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#dock{border-top:1px solid var(--line);background:#0a090c;padding:6px calc(14px + var(--sar)) calc(8px + var(--sab)) calc(14px + var(--sal));display:flex;flex-direction:column;min-height:0;min-width:0}#dock.collapsed{display:none}.transport{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#scrub{flex:1 1 200px;min-width:120px;height:28px}#dock-pane,#dock-expand{display:none}.mono{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--muted);min-width:86px;white-space:nowrap}.charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:12px;height:clamp(190px,30vh,280px);margin-top:6px;min-height:0}.strip-wrap,.side-wrap{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;min-height:0}.tabrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:28px}.side-note{font-size:10.5px;color:var(--muted);line-height:1.35}#strip-note{margin-left:auto}#strip{flex:1 1 0;height:0;width:100%;min-height:0;background:#ffffff04;border-radius:8px;cursor:crosshair;touch-action:none}.side-body{flex:1 1 0;position:relative;min-height:0}#pv,#doppler{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;border-radius:8px;background:#ffffff04}#doppler{cursor:crosshair;touch-action:none}#echo{height:100%;max-width:100%;aspect-ratio:240 / 200;display:block;margin:0 auto;border-radius:6px;object-fit:contain}#dock[data-expanded=true] .charts{height:clamp(240px,52vh,560px)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:30}.modal-body{position:relative;width:min(860px,92vw);max-width:100%;max-height:86vh;max-height:86dvh;overflow-y:auto;overscroll-behavior:contain;background:#141216;border:1px solid var(--line);border-radius:16px;padding:22px 26px;line-height:1.6}.modal-body h2{margin-top:0;font-family:var(--serif);font-size:26px}.modal-body h3{margin-bottom:4px;font-family:var(--serif);font-size:19px}.modal-body li{margin:3px 0;color:#d6ccc8}.modal-close{position:absolute;right:12px;top:12px}.modal-body table.simp{display:block;overflow-x:auto}table.simp{border-collapse:collapse;width:100%;font-size:12px}table.simp td,table.simp th{border-bottom:1px solid var(--line);padding:4px 6px;vertical-align:top;text-align:left}:focus-visible{outline:2px solid rgba(232,180,138,.9);outline-offset:2px}#viewport canvas:focus-visible{outline:none}.item:focus-visible,.lesson-item:focus-visible{outline-offset:-2px}.chip[disabled],.opt[disabled]{opacity:.55;cursor:default}@media(hover:none){.item{padding-top:7px;padding-bottom:7px}.item button{opacity:.85;padding:6px 8px;font-size:14px;min-width:36px;min-height:36px}.tooltip{display:none!important}.group-head{padding:9px 2px}.tool{min-width:44px;height:44px}.seg button,.chip{min-height:36px}#strip-note:after{content:""}}html.L-grouped #phase-ribbon{min-width:0}html.L-phone body{font-size:13px}html.L-phone .topbar{flex-wrap:wrap;padding:calc(6px + var(--sat)) calc(8px + var(--sar)) 6px calc(8px + var(--sal));gap:6px 8px}html.L-phone .brand{order:1;flex:1;font-size:19px}html.L-phone .brand .pill{font-size:10px;padding:2px 7px;max-width:120px}html.L-phone #hud{order:2;gap:10px;padding:2px 4px 2px 10px}html.L-phone #hud-ecg{display:none}html.L-phone #hud .hud-v:nth-of-type(3){display:none}html.L-phone .hud-v b{font-size:14px}html.L-phone .navrow{order:3;flex-basis:100%;justify-content:space-between;margin:0;gap:6px}html.L-phone .modes{flex:0 1 auto;min-width:0}html.L-phone .mode{padding:6px 10px;min-height:40px;font-size:12.5px}html.L-phone .nav-btn{min-height:44px;padding:6px 10px}html.L-phone .nav-btn .ico-fixed,html.L-phone #disclaimer{display:none}html.L-phone #orient{width:58px;height:58px;left:calc(6px + var(--sal))}html.L-phone .panel,html.L-phone #right-panel{top:auto;left:0;right:0;bottom:0;width:auto;height:58%;border-radius:18px 18px 0 0;border-bottom:none;padding:6px calc(14px + var(--sar)) calc(14px + var(--sab)) calc(14px + var(--sal));z-index:12}html.L-phone .panel:before{content:"";display:block;width:38px;height:4px;border-radius:2px;background:#fff3;margin:0 auto 6px}html.L-phone #left-panel.closed,html.L-phone #right-panel.closed{transform:translateY(105%)}html.L-phone .panel input[type=search],html.L-phone .panel select,html.L-short .panel input[type=search],html.L-short .panel select{font-size:16px;padding:8px 10px}html.L-phone .slider-row input,html.L-phone #severity{height:28px}html.L-phone #bottombar{left:calc(6px + var(--sal));right:calc(6px + var(--sar));bottom:calc(6px + var(--sab));flex-direction:column;align-items:stretch;gap:4px}html.L-phone #phase-ribbon{align-self:flex-start;padding:3px 10px 3px 5px;min-width:0}html.L-phone #beat-ring{width:22px;height:22px}html.L-phone #toolpill{justify-content:space-between;padding:3px;border-radius:20px;gap:0}html.L-phone #toolpill .tool{flex:1 1 0;min-width:0;height:50px;padding:0 2px;flex-direction:column;justify-content:center;gap:3px;border-radius:14px}html.L-phone #toolpill .tgroup{display:contents}html.L-phone #toolpill .ico-fixed{font-size:16px}html.L-phone #toolpill .lbl-m{font-size:10px;color:var(--muted)}html.L-phone #toolpill .speed-val{font-size:13px}html.L-phone .popover{left:calc(8px + var(--sal))!important;right:calc(8px + var(--sar));transform:none;min-width:0;max-width:none;padding:12px 14px}html.L-phone .popover .chips .chip{padding:8px 12px}html.L-phone .card,html.L-phone .card.guide{left:calc(8px + var(--sal));right:calc(8px + var(--sar));width:auto;top:auto;bottom:calc(var(--bottom-h) + 8px);max-height:46%;padding:12px 14px}html.L-phone .card.follow{top:calc(var(--top-h) + 4px);bottom:auto;max-height:36%}html.L-phone .card h2{font-size:18px}html.L-phone #info-toggle{display:inline-flex;right:48px}html.L-phone #info-card h2{padding-right:76px}html.L-phone #info-card.info-min{overflow:hidden;min-height:60px}html.L-phone #info-card.info-min h2{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}html.L-phone .card .refs{display:none}html.L-phone .label3d{font-size:10.5px;padding:2px 7px}html.L-phone #cut-caption{max-width:calc(100% - 80px);font-size:10.5px;transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.L-phone #dock{padding:4px calc(8px + var(--sar)) calc(6px + var(--sab)) calc(8px + var(--sal))}html.L-phone .transport{gap:4px 8px}html.L-phone #dock-pane,html.L-short #dock-pane{display:inline-flex}html.L-phone #dock-expand,html.L-short #dock-expand{display:inline-block}html.L-phone #scrub{order:5;flex-basis:100%}html.L-phone #time-readout{min-width:0;margin-left:auto}html.L-phone .charts{grid-template-columns:minmax(0,1fr);height:max(210px,30vh);margin-top:4px}html.L-phone #dock[data-expanded=true] .charts{height:max(300px,52vh)}html.L-phone .seg.small button{padding:6px 9px;font-size:11.5px;min-height:34px}html.L-phone .modal{align-items:flex-end}html.L-phone .modal-body{width:100%;max-height:90vh;max-height:90dvh;border-radius:18px 18px 0 0;padding:18px 16px calc(18px + var(--sab))}html.L-phone #dock:not([data-pane=strip]) .strip-wrap,html.L-phone #dock[data-pane=strip] .side-wrap,html.L-short #dock:not([data-pane=strip]) .strip-wrap,html.L-short #dock[data-pane=strip] .side-wrap{display:none}html.L-phone #side-tab,html.L-short #side-tab{display:none}@media(max-width:370px){html.L-phone .navrow{gap:2px;flex-wrap:wrap}html.L-phone .modes{flex:0 0 auto;gap:0;padding:1px}html.L-phone .mode{padding:6px 4px;min-width:44px;min-height:44px;font-size:12px}html.L-phone .nav-btn{flex:0 0 auto;padding:6px;min-width:44px;font-size:12px}html.L-phone .brand .pill{display:none}}html.L-short .topbar{padding:calc(4px + var(--sat)) calc(10px + var(--sar)) 4px calc(10px + var(--sal));gap:10px}html.L-short .brand{font-size:17px}html.L-short .brand .pill{max-width:110px}html.L-short #hud-ecg,html.L-short #disclaimer{display:none}html.L-short #hud{gap:8px;padding:2px 4px 2px 8px}html.L-short .mode{padding:5px 10px;min-height:36px}html.L-short .nav-btn{min-height:38px;padding:4px 10px}html.L-short .nav-btn .ico-fixed{display:none}html.L-short #orient{width:54px;height:54px;top:calc(var(--top-h) + 2px)}html.L-short #bottombar{bottom:calc(6px + var(--sab));left:calc(8px + var(--sal));right:calc(8px + var(--sar))}html.L-short #phase-ribbon{padding:3px 10px 3px 5px;min-width:0}html.L-short #beat-ring{width:22px;height:22px}html.L-short .tool{height:40px}html.L-short .panel{width:min(320px,44vw);top:calc(var(--top-h) + 2px);bottom:calc(var(--bottom-h) + 6px)}html.L-short .card.guide{width:min(400px,46%);top:calc(var(--top-h) + 2px);max-height:calc(100% - var(--top-h) - var(--bottom-h) - 10px)}html.L-short .card{width:min(340px,46%);max-height:calc(100% - var(--top-h) - var(--bottom-h) - 14px)}html.L-short .card.follow{top:calc(var(--top-h) + 60px);max-height:50%}html.L-short .card .refs{display:none}html.L-short #app.dock-open{grid-template-columns:minmax(0,1fr) minmax(300px,46%);grid-template-rows:minmax(0,1fr)}html.L-short #app.dock-open #dock{grid-column:2;grid-row:1;border-top:none;border-left:1px solid var(--line);padding:calc(6px + var(--sat)) calc(8px + var(--sar)) calc(6px + var(--sab)) 8px}html.L-short .charts{grid-template-columns:minmax(0,1fr);flex:1 1 auto;height:auto}html.L-short #scrub{order:5;flex-basis:100%}html.L-short #time-readout{margin-left:auto;min-width:0}html.L-short .popover{max-height:calc(100% - var(--top-h) - var(--bottom-h) - 12px)}html:not(.L-phone) #left-panel:not(.closed)~#info-card{left:calc(326px + var(--sal))}html:not(.L-phone) .card,html:not(.L-phone) .panel{transition:left .3s,right .3s,opacity .35s,transform .35s cubic-bezier(.2,.8,.2,1)}html:not(.L-phone) #right-panel:not(.closed)~#guide-card{right:calc(346px + var(--sar))}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.topbar.hdr-1 #hud-ecg,.topbar.hdr-1 .nav-btn .ico-fixed{display:none}.topbar.hdr-1 .pill{max-width:110px}.topbar.hdr-2 .pill,.topbar.hdr-2 #hud .hud-v:nth-of-type(3){display:none}.topbar.hdr-2 .mode{padding:6px 10px}.topbar.hdr-3{flex-wrap:wrap;row-gap:6px}.topbar.hdr-3 .brand{flex:1}.topbar.hdr-3 .pill{display:inline-block}.topbar.hdr-3 .navrow{order:3;flex-basis:100%;justify-content:space-between;margin:0}.topbar.hdr-4 .brand-name,.topbar.hdr-4 .hud-v{display:none}#orient,#disclaimer,#cut-caption{transition:opacity .2s}.overlay-hidden{visibility:hidden!important;opacity:0!important}#disclaimer{max-width:240px;line-height:1.35}html.L-phone .panel,html.L-phone #right-panel{bottom:calc(var(--bottom-h) + 4px);height:min(56%,calc(100% - var(--top-h) - var(--bottom-h) - 60px));border-radius:18px;border-bottom:1px solid var(--line);padding-bottom:12px;left:calc(6px + var(--sal));right:calc(6px + var(--sar))}html.L-phone #left-panel.closed,html.L-phone #right-panel.closed{transform:translateY(calc(100% + var(--bottom-h) + 20px))}html.L-short #app.dock-open #phase-ribbon{display:none}html.L-short #dock-pane button,html.L-short .seg.small button{min-height:36px}html.L-short #dock .seg.tiny button{min-height:32px}html.L-short #app.dock-open #bottombar{left:6px;right:6px}html.L-short #app.dock-open #toolpill{flex:1 1 auto;justify-content:space-between;padding:3px;gap:0;min-width:0}html.L-short #app.dock-open #toolpill .tgroup{display:contents}html.L-short #app.dock-open #toolpill .tool{flex:1 1 0;min-width:0;height:46px;padding:0 2px;flex-direction:column;justify-content:center;gap:2px}html.L-short #app.dock-open #toolpill .lbl-m{font-size:9.5px;color:var(--muted)}.topbar.hdr-5 .nav-btn .nav-txt{display:none}.topbar.hdr-5 .nav-btn .ico-fixed{display:inline!important;font-size:16px}.topbar.hdr-5 .nav-btn{min-width:44px;justify-content:center}.topbar.hdr-5 .mode{padding:6px 8px;font-size:12px}html.L-phone #app.dock-open #phase-ribbon{display:none}html.L-phone #time-readout,html.L-short #time-readout{order:6}html.L-phone #dock-pane button{padding:6px 8px}html.L-phone #strip-note{display:none}html.L-phone #cut-caption,html.L-short #cut-caption{font-size:10.5px;padding:3px 9px}.card.min .grp{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card.min #l-list{display:none}html.L-short .card.guide .chip,html.L-phone .card.guide.min .chip{padding:4px 10px}html.lowfx *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.lowfx{--glass: rgba(16, 14, 18, .9);--glass-strong: rgba(18, 16, 21, .97)}.app-status{position:fixed;z-index:40;top:calc(70px + var(--sat));left:50%;transform:translate(-50%);max-width:min(520px,calc(100vw - 32px));padding:10px 14px;background:var(--glass-strong);border:1px solid var(--line);border-radius:10px;pointer-events:none;font-size:12px}.app-status:empty{display:none}#loading p{max-width:460px;line-height:1.6}.result caption{text-align:left;color:var(--muted);font-size:11px;padding:8px 0}.opt.right[disabled],.opt.wrong[disabled]{opacity:1}.card.guide .progress button{min-height:28px}@media(hover:none),(pointer:coarse){.item button{opacity:.9;min-width:32px;min-height:36px}.ghost-btn{min-width:40px;min-height:40px}.card.guide .progress button,.popover input[type=range]{min-height:36px}}
