.vtk-volume-viewer{--vv-bg:#0e1117;--vv-surface:#161b22;--vv-border:#30363d;--vv-text:#e6edf3;--vv-text-dim:#8b949e;--vv-accent:#58a6ff;--vv-accent-dim:#1c2d4a;--vv-sidebar-w:232px;display:flex;flex-direction:column;height:480px;font-family:"Inter","Segoe UI",system-ui,sans-serif;background:var(--vv-bg);color:var(--vv-text);border:1px solid var(--vv-border);border-radius:8px;overflow:hidden}.vtk-volume-viewer,.vtk-volume-viewer *{box-sizing:border-box;margin:0}.vtk-volume-viewer [hidden]{display:none!important}.vtk-volume-viewer .vv-header{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--vv-surface);border-bottom:1px solid var(--vv-border);flex-shrink:0}.vtk-volume-viewer .vv-title{font-size:13px;font-weight:600;letter-spacing:.3px;color:var(--vv-text-dim)}.vtk-volume-viewer .vv-status{margin-left:auto;font-size:11px;color:var(--vv-text-dim);white-space:nowrap}.vtk-volume-viewer .vv-status.error{color:#f85149}.vtk-volume-viewer .vv-status a{color:var(--vv-accent);text-decoration:none;white-space:nowrap}.vtk-volume-viewer .vv-status a:hover{text-decoration:underline}.vtk-volume-viewer .vv-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;flex-shrink:0;border:1px solid var(--vv-border);border-radius:6px;background:transparent;color:var(--vv-text);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.vtk-volume-viewer .vv-menu-btn:hover,.vtk-volume-viewer .vv-menu-btn[aria-expanded="true"]{background:var(--vv-accent-dim);border-color:var(--vv-accent);color:var(--vv-accent)}.vtk-volume-viewer .vv-menu-btn svg{width:16px;height:16px;display:block}.vtk-volume-viewer .vv-main{display:flex;flex:1;min-height:0;overflow:hidden}.vtk-volume-viewer .vv-viewport{flex:1;position:relative;min-width:0}.vtk-volume-viewer .vv-viewport canvas{display:block}.vtk-volume-viewer .vv-hint{position:absolute;bottom:12px;left:12px;font-size:11px;color:var(--vv-text-dim);background:rgba(14,17,23,.75);padding:4px 10px;border-radius:4px;pointer-events:none}.vtk-volume-viewer .vv-aside{width:var(--vv-sidebar-w);flex-shrink:0;background:var(--vv-surface);border-left:1px solid var(--vv-border);padding:14px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;transition:margin-right .22s ease}.vtk-volume-viewer .vv-main:not(.controls-open) .vv-aside{margin-right:calc(var(--vv-sidebar-w) * -1 - 1px)}.vtk-volume-viewer .vv-group label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--vv-text-dim);margin-bottom:6px}.vtk-volume-viewer .vv-group .vv-val{float:right;color:var(--vv-text);font-variant-numeric:tabular-nums;text-transform:none}.vtk-volume-viewer input[type="range"]{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:var(--vv-border);outline:0}.vtk-volume-viewer input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--vv-accent);cursor:pointer}.vtk-volume-viewer .vv-btn-row{display:flex;gap:6px;flex-wrap:wrap}.vtk-volume-viewer .vv-btn-row button{flex:1;padding:6px 8px;font-size:12px;border:1px solid var(--vv-border);border-radius:6px;background:var(--vv-bg);color:var(--vv-text);cursor:pointer;transition:background .15s,border-color .15s}.vtk-volume-viewer .vv-btn-row button:hover{background:var(--vv-accent-dim);border-color:var(--vv-accent)}.vtk-volume-viewer .vv-btn-row button.active{background:var(--vv-accent-dim);border-color:var(--vv-accent);color:var(--vv-accent)}.vtk-volume-viewer .vv-cmaps button{flex:1 1 45%}.vtk-volume-viewer .vv-opacities button{flex:1 1 45%}.vtk-volume-viewer .vv-info{font-size:12px;line-height:1.7;color:var(--vv-text-dim)}.vtk-volume-viewer .vv-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--vv-bg);z-index:10;transition:opacity .4s}.vtk-volume-viewer .vv-overlay.hidden{opacity:0;pointer-events:none}.vtk-volume-viewer .vv-bar-track{width:220px;height:6px;border-radius:3px;background:var(--vv-border);overflow:hidden}.vtk-volume-viewer .vv-bar{height:100%;width:0;background:var(--vv-accent);border-radius:3px;transition:width .15s}.vtk-volume-viewer .vv-progress-label{font-size:13px;color:var(--vv-text-dim)}