.load-overlay[data-v-8bab073c]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#00000040}.load-overlay .load-pct[data-v-8bab073c]{font-size:42px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.9);font-variant-numeric:tabular-nums}.load-overlay .load-note[data-v-8bab073c]{font-size:16px;font-weight:500;max-width:80%;text-align:center;line-height:1.6}.prog-bar[data-v-8bab073c]{position:absolute;top:6px;left:8px;right:8px;z-index:7;display:flex;align-items:center;gap:8px;padding:4px 8px;background:#0a0d12b8;border:1px solid var(--border);border-radius:5px;font-size:11px;white-space:nowrap;overflow:hidden}.prog-bar .prog-text[data-v-8bab073c]{flex:0 0 auto;color:#cfe4ff}.prog-bar .bar[data-v-8bab073c]{flex:1 1 auto;min-width:40px;height:5px;background:#ffffff24;border-radius:3px;overflow:hidden}.prog-bar .bar i[data-v-8bab073c]{display:block;height:100%;background:var(--accent, #4da3ff);border-radius:3px;transition:width .2s ease}.prog-bar .prog-note[data-v-8bab073c]{flex:0 0 auto;color:var(--text-dim, #8aa)}.prog-bar.is-mobile[data-v-8bab073c]{right:8px;left:8px;top:6px;flex-wrap:wrap;white-space:normal;overflow:visible}.prog-bar.is-mobile .prog-note[data-v-8bab073c]{flex:0 0 auto}.pending-note[data-v-8bab073c]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:7;padding:10px 18px;font-size:15px;color:#ffe4b0;text-align:center;background:#1e1408d1;border:1px solid #6a5426;border-radius:6px;max-width:80%;line-height:1.6;box-shadow:0 4px 14px #0006;pointer-events:none}.retry-btn[data-v-8bab073c]{margin-top:14px;padding:5px 14px;font-size:13px;cursor:pointer;background:#1c2b45;color:#cfe4ff;border:1px solid var(--accent, #4da3ff);border-radius:5px}.retry-btn[data-v-8bab073c]:hover{background:#24385a}.dicom-marker[data-v-8bab073c]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transform:none}.dicom-marker .cross-line[data-v-8bab073c]{position:absolute;background:#35ff7a;box-shadow:0 0 0 1px #00000080}.dicom-marker .cross-line.h[data-v-8bab073c]{left:0;right:0;height:1.5px;top:0}.dicom-marker .cross-line.v[data-v-8bab073c]{top:0;bottom:0;width:1.5px;left:0}.dicom-marker .cross-dot[data-v-8bab073c]{position:absolute;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:#ffd400;box-shadow:0 0 0 1px #00000080,0 0 8px 2px #ffd400b3}.ruler-overlay[data-v-8bab073c]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6;overflow:hidden}.ruler-overlay .rl-dot[data-v-8bab073c]{position:absolute;width:13px;height:13px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0009,0 0 8px 2px #ffffff59}.ruler-overlay .rl-dot-a[data-v-8bab073c]{background:#3cf}.ruler-overlay .rl-dot-b[data-v-8bab073c]{background:#ff8c2e}.ruler-overlay .rl-line[data-v-8bab073c]{position:absolute;height:2px;transform-origin:0 0;background:#ffe13c;box-shadow:0 0 0 1px #00000080}.ruler-overlay .rl-label[data-v-8bab073c]{position:absolute;transform:translate(-50%,-50%);padding:2px 7px;font-size:13px;font-weight:700;line-height:1.2;color:#fff;background:#0a0d12d1;border:1px solid rgba(255,225,60,.9);border-radius:5px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.8);font-variant-numeric:tabular-nums}.ruler-overlay.is-mobile .rl-label[data-v-8bab073c]{font-size:14px;padding:3px 9px}.slice-bar[data-v-8bab073c]{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;gap:8px;padding:4px 10px;background:#0a0d12d1;border-top:1px solid var(--border)}.slice-bar.is-mobile[data-v-8bab073c]{padding-right:96px}.slice-bar .slice-label[data-v-8bab073c]{flex:0 0 auto;color:var(--text-dim, #8aa);font-size:11px}.slice-bar input[type=range][data-v-8bab073c]{flex:1 1 auto;min-width:0}.slice-bar .hint[data-v-8bab073c]{flex:0 0 auto;font-size:11px;min-width:64px;text-align:right}.tabler-icon[data-v-c76bcb69]{display:inline-flex;align-items:center;gap:4px;line-height:0}.tabler-icon svg[data-v-c76bcb69]{display:block;flex:0 0 auto}.tabler-icon .ti-text[data-v-c76bcb69]{line-height:1}.model-pane[data-v-b3e66b92]{display:flex;flex-direction:column;height:100%}.model-controls[data-v-b3e66b92]{position:absolute;top:6px;right:8px;z-index:5;display:flex;align-items:center;gap:4px;padding:4px 6px;background:#0a0d12bf;border:1px solid var(--border);border-radius:5px;font-size:11px}.model-controls button[data-v-b3e66b92]{padding:2px 7px;font-size:11px;display:inline-flex;align-items:center;gap:4px}.model-controls button.active[data-v-b3e66b92]{background:#23395c;border-color:var(--accent, #4da3ff);color:#e0eeff}@media(max-width:500px){.model-controls[data-v-b3e66b92]{max-width:calc(100% - 16px);flex-wrap:wrap}}.load-overlay[data-v-b3e66b92]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#00000040}.load-overlay .load-pct[data-v-b3e66b92]{font-size:42px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.9);font-variant-numeric:tabular-nums}.load-overlay .load-note[data-v-b3e66b92]{font-size:16px;font-weight:500;max-width:80%;text-align:center;line-height:1.6}.vtk-container[data-v-b3e66b92]{position:relative;width:100%;height:100%}.fps-badge[data-v-b3e66b92]{position:absolute;top:8px;left:8px;z-index:8;padding:3px 9px;border-radius:6px;font-size:12px;font-weight:700;color:#eafff0;background:#0000006b;border:1px solid rgba(255,255,255,.18);font-variant-numeric:tabular-nums;pointer-events:none;line-height:1.1}.fps-badge .fps-num[data-v-b3e66b92]{font-size:15px;color:#9ef7b8}.fps-badge.is-mobile[data-v-b3e66b92]{font-size:14px;padding:5px 12px}.fps-badge.is-mobile .fps-num[data-v-b3e66b92]{font-size:18px}.ruler-label[data-v-b3e66b92]{position:absolute;z-index:6;transform:translate(-50%,-50%);padding:2px 7px;font-size:13px;font-weight:700;line-height:1.2;color:#fff;background:#0a0d12d1;border:1px solid rgba(255,212,0,.85);border-radius:5px;white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.8);font-variant-numeric:tabular-nums}.vtk-container .ruler-label[data-v-b3e66b92]{font-size:14px;padding:3px 9px}.model-list-bar[data-v-b3e66b92]{position:absolute;left:8px;right:8px;bottom:6px;z-index:5;display:flex;flex-direction:column;gap:6px;padding:4px 6px;max-height:46%;overflow:hidden;background:#0a0d12c7;border:1px solid var(--border);border-radius:5px}.mc-row[data-v-b3e66b92]{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;flex:0 0 auto}.mc[data-v-b3e66b92]{flex:0 0 auto;width:112px;overflow:hidden;cursor:pointer;border-radius:6px;background:#00000061;border:1px solid rgba(255,255,255,.06);-webkit-user-select:none;user-select:none}.mc[data-v-b3e66b92]:active{border-color:var(--accent, #4da3ff)}.mc-head[data-v-b3e66b92]{height:36px;padding:4px 6px;font-size:11px;color:#fff;text-align:center;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-swatch[data-v-b3e66b92]{height:42px;display:flex;align-items:center;justify-content:center}.mc-eye[data-v-b3e66b92]{font-size:14px;line-height:1;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7)}.mc.group .mc-head[data-v-b3e66b92]{cursor:pointer}.mc.group .g-title[data-v-b3e66b92]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.mc.group .g-count[data-v-b3e66b92]{flex:0 0 auto;margin-left:4px;font-size:10px;opacity:.7;background:#ffffff1f;border-radius:8px;padding:0 5px}.mc.group .g-chev[data-v-b3e66b92]{flex:0 0 auto;margin-left:2px;font-size:11px;opacity:.85}.mc-vol[data-v-b3e66b92]{display:block;font-size:10px;opacity:.65}.model-list-bar.is-mobile[data-v-b3e66b92]{bottom:6px;padding-right:108px}.model-list-bar.is-mobile .mc[data-v-b3e66b92]{width:88px}.model-list-bar.is-mobile .mc-head[data-v-b3e66b92]{height:32px;font-size:10px}.model-list-bar.is-mobile .mc-swatch[data-v-b3e66b92]{height:36px}.block-note[data-v-59e499b1]{position:fixed;left:50%;bottom:64px;transform:translate(-50%);z-index:60;padding:8px 16px;font-size:13px;color:#ffe4b0;background:#1e1408e6;border:1px solid #6a5426;border-radius:6px;box-shadow:0 3px 12px #0006}.fade-enter-active[data-v-59e499b1],.fade-leave-active[data-v-59e499b1]{transition:opacity .25s ease}.fade-enter-from[data-v-59e499b1],.fade-leave-to[data-v-59e499b1]{opacity:0}.ruler-bar[data-v-59e499b1]{position:fixed;top:52px;left:50%;z-index:55;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:6px 14px;background:#0e121aeb;border:1px solid rgba(255,225,60,.55);border-radius:8px;box-shadow:0 3px 14px #00000073;font-size:13px;color:#eaf1f8;white-space:nowrap}.ruler-bar .rb-prompt[data-v-59e499b1]{color:#ffe4b0;font-size:13px}.ruler-bar .rb-dist[data-v-59e499b1]{min-width:68px;text-align:center;font-weight:700;color:#ffe13c;font-size:15px;font-variant-numeric:tabular-nums;padding:1px 8px;background:#ffe13c1f;border-radius:5px}.ruler-bar .rb-dist.rb-empty[data-v-59e499b1]{color:#8898a8;font-weight:500}.ruler-bar .rb-actions[data-v-59e499b1]{display:flex;gap:6px}.ruler-bar .rb-actions button[data-v-59e499b1]{padding:3px 10px;font-size:12px;cursor:pointer;background:#1c2b45;color:#cfe4ff;border:1px solid var(--border,#3a4351);border-radius:5px}.ruler-bar .rb-actions button[data-v-59e499b1]:hover:not(:disabled){background:#24385a}.ruler-bar .rb-actions button[data-v-59e499b1]:disabled{opacity:.4;cursor:default}@media(max-width:768px){.ruler-bar[data-v-59e499b1]{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 74px);left:12px;right:12px;transform:none;flex-wrap:wrap;white-space:normal;gap:6px 10px;padding:6px 10px;justify-content:center}}@media(max-width:768px){.block-note[data-v-59e499b1]{bottom:96px}}.pane-error[data-v-59e499b1]{padding:20px;color:#ff8f8f;background:#2a1215;margin:20px;border:1px solid #5a2a2a;border-radius:6px}.pane-loading[data-v-59e499b1]{flex:1 1 auto;display:flex;align-items:center;justify-content:center;color:var(--text-dim, #8aa);font-size:14px}.pane-placeholder[data-v-59e499b1]{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--text-dim, #8aa);font-size:14px;line-height:1.7}.series-info[data-v-59e499b1]{display:flex;align-items:center;justify-content:space-between;gap:8px;height:30px;padding:0 12px;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--panel-2)}.series-info .series-name[data-v-59e499b1]{flex:0 0 auto;white-space:nowrap}.series-info .series-help[data-v-59e499b1]{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.model-toolbar[data-v-59e499b1]{display:flex;align-items:center;height:30px;padding:0 10px;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--panel-2)}.orientation-btn[data-v-59e499b1]{font-weight:600;border-color:var(--accent);color:#cfe4ff;background:#16243a}.orientation-btn[data-v-59e499b1]:hover{background:#1c2b45}.wl-select[data-v-59e499b1]{max-width:140px;font-size:11px;background:var(--panel, #0d1117);color:var(--text, #cfd8dc);cursor:pointer}.toolbar-actions[data-v-59e499b1]{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:nowrap}.toolbar-actions>button[data-v-59e499b1],.rb-actions button[data-v-59e499b1]{display:inline-flex;align-items:center;gap:5px}.toolbar-actions>button[data-v-59e499b1]{padding:4px 9px;font-size:12px}.rb-actions button[data-v-59e499b1]{padding:3px 9px;font-size:12px}.orientation-btn .ti-axial-short[data-v-59e499b1]{font-weight:700;font-size:12px;padding:1px 5px;background:#ffffff1f;border-radius:3px}.wl-wrap[data-v-59e499b1]{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;font-size:11px;background:var(--panel, #0d1117);color:var(--text, #cfd8dc);border:1px solid var(--border);border-radius:5px;cursor:pointer}.wl-wrap .tabler-icon[data-v-59e499b1]{color:var(--text-dim, #9bb)}.wl-wrap .wl-select[data-v-59e499b1]{max-width:140px;padding:0;font-size:11px;background:transparent;color:var(--text, #cfd8dc);border:none;border-radius:0;cursor:pointer}.model-toolbar .model-list[data-v-59e499b1]{display:flex;flex-wrap:nowrap;gap:6px;white-space:nowrap;overflow-x:auto}.model-holder[data-v-59e499b1]{flex:1 1 auto;min-height:0}.main.is-mobile[data-v-59e499b1]{flex-direction:column}.main.is-mobile .pane-right[data-v-59e499b1]{order:1;flex:1 1 auto;width:100%;min-height:150px}.main.is-mobile .pane-left[data-v-59e499b1]{order:3;flex:0 1 0;width:100%;min-height:130px}.main.is-mobile .pane-left .pane-label[data-v-59e499b1],.main.is-mobile .pane-left .series-info[data-v-59e499b1],.main.is-mobile .pane-right .series-info[data-v-59e499b1],.main.is-mobile .pane-left.mobile-collapsed[data-v-59e499b1]{display:none}.main.is-mobile .pane-left[data-v-59e499b1]:not(.mobile-collapsed){animation:mobileImgIn-59e499b1 .28s ease}@keyframes mobileImgIn-59e499b1{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-split[data-v-59e499b1]{order:2;flex:0 0 auto;width:100%;height:22px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none;position:relative;background:transparent;border-top:1px solid var(--border)}.mobile-split .split-line[data-v-59e499b1]{display:block;width:56%;max-width:360px;height:3px;border-radius:2px;background:#3a4351;box-shadow:0 1px 2px #0006}.mobile-split:active .split-line[data-v-59e499b1]{background:var(--accent)}@media(max-width:768px){.toolbar[data-v-59e499b1]{flex-wrap:wrap;gap:6px}.toolbar-actions[data-v-59e499b1]{flex:1 1 100%;flex-wrap:wrap;gap:6px}.toolbar>label.sub[data-v-59e499b1],.toolbar>select[data-v-59e499b1]{flex:0 1 auto;min-width:0}.toolbar>select[data-v-59e499b1]{max-width:46vw}.toolbar>label.sub[data-v-59e499b1]{flex-shrink:0}}:root{--bg: #0f1115;--panel: #161a21;--panel-2: #1c212b;--border: #2a313d;--fg: #e6e9ef;--muted: #9aa4b2;--accent: #4da3ff;--accent-2: #ff4d5e;--ok: #3ddc84;--mono: "Cascadia Code", "Consolas", "JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:Segoe UI,system-ui,sans-serif;font-size:13px}.app-shell{display:flex;height:100vh;flex-direction:column}.toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--border);flex:0 0 auto}.toolbar .title{font-weight:700;font-size:14px}.toolbar .sub{color:var(--muted)}.toolbar .sep{width:1px;height:20px;background:var(--border)}.main{display:flex;flex:1 1 auto;min-height:0}.pane{display:flex;flex-direction:column;min-width:0;min-height:0}.pane-left{flex:1 1 50%;border-right:1px solid var(--border)}.pane-right{flex:1 1 50%}.pane-label{padding:6px 12px;font-weight:600;background:var(--panel-2);border-bottom:1px solid var(--border);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.viewport-holder{position:relative;flex:1 1 auto;min-height:0}canvas.vtk-canvas{display:block;width:100%;height:100%}.box{border:1px solid var(--border);border-radius:6px;background:var(--panel)}button{background:var(--panel-2);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:5px 10px;cursor:pointer;font-size:12px}button:hover{background:#242b37}button.active{background:var(--accent);color:#04101f;border-color:var(--accent)}select{background:var(--panel-2);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 6px;font-size:12px}.model-list,.series-list{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border);border-radius:4px;padding:3px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--panel-2);font-size:12px}.chip.on{border-color:var(--accent);color:#cfe4ff;background:#16243a}.chip.off{opacity:.45}.scroll-x{overflow-x:auto;white-space:nowrap}.hint{color:var(--muted);font-size:11px}
