*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{-webkit-user-select:none;user-select:none;background:#020617;padding-bottom:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}@supports (padding-bottom:env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}.app{flex-direction:column;width:100%;height:100%;display:flex}.scene-title{color:#0f172a;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:5px;display:flex}.scene-title-project{text-align:left;color:#e2e8f0;word-break:break-all;flex:auto;min-width:0;margin:0;font-size:13px;font-weight:600;line-height:1.35}.scene-title-brand{text-align:right;color:#0f172a;flex:none;margin:0;font-size:13px;font-weight:600;line-height:1.35;display:none}.scene-title-tools{flex-flow:row;align-items:center;gap:6px;max-width:min(100%,720px);margin-left:auto;display:flex}.scene-title-debug{text-align:center;flex:100%;width:100%}.scene-title-debug p{color:inherit;opacity:.75;margin:8px 0 0;font-size:14px}.scene-title-debug p:first-child{margin-top:4px}.viewport{flex:1;width:100%;height:100%;min-height:0}.scene-body{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.scene-model-list-bar{z-index:6;touch-action:pan-x;overscroll-behavior:none;-webkit-overflow-scrolling:touch;flex-direction:column;flex:none;min-width:0;padding:6px;display:flex;position:relative}.scene-mesh-tags-scroll.tag-scroll-view{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;cursor:grab;flex-flow:row;flex:none;align-items:stretch;gap:6px;min-height:38px;max-height:44px;display:flex;overflow:auto hidden}.scene-mesh-tags-scroll.tag-scroll-view::-webkit-scrollbar{width:0;height:0;display:none}.scene-mesh-tags-scroll.tag-scroll-view.is-pointer-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.scene-mesh-tag-btn{color:#000;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:none;max-width:min(260px,70vw);height:34px;padding:0 12px;font-size:12px;overflow:hidden}.scene-mesh-tag-btn.selected{background:#84e184!important;border-color:#0ae70a!important}.scene-mesh-tag-btn:hover{border-color:#475569}.scene-sidebar-list.data-scroll-view{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;cursor:grab;flex-flow:row;flex:none;align-items:stretch;gap:6px;min-height:38px;max-height:44px;display:flex;overflow:auto hidden}.scene-sidebar-list.data-scroll-view.is-pointer-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.scene-sidebar-list.data-scroll-view::-webkit-scrollbar{width:0;height:0;display:none}.scene-sidebar-list .empty-tip{text-align:center;flex:auto;align-self:center;width:100%;min-width:0;margin:0}.sidebar-bottom-btn{color:#e2e8f0;cursor:pointer;background:#111827;border:1px solid #a5acb7;border-radius:8px;height:34px;font-size:12px}.sidebar-bottom-btn.active{background:#38bdf81f;border-color:#38bdf8}.scene-viewport-dcmtype-area{z-index:11;pointer-events:auto;flex-direction:row;align-items:flex-end;gap:4px;max-height:calc(100% - 40px);display:flex;position:absolute;bottom:4px;right:12px}.scene-viewport-dcmtype-reset-column{flex:none;align-items:flex-end;display:flex}.scene-viewport-dcmtype-stack{max-height:inherit;scrollbar-width:thin;flex-direction:column-reverse;align-items:flex-end;gap:4px;display:flex;overflow:hidden auto}.scene-viewport-dcmtype-btn{white-space:nowrap;text-overflow:ellipsis;min-width:72px;max-width:min(200px,40vw);box-shadow:none;color:#000;background:#e5e7eb;justify-content:center;align-items:center;padding:0 10px;display:inline-flex;overflow:hidden}.scene-viewport-dcmtype-btn.active{background:#adebad!important;border-color:#0ae70a!important}.model-toggle{box-sizing:border-box;color:#000;cursor:pointer;text-align:left;border:1px solid #d1d5db;border-radius:8px;flex:none;justify-content:space-between;align-items:center;gap:6px;width:auto;min-width:70px;max-width:none;height:34px;min-height:34px;max-height:34px;padding:0 8px;display:flex}.model-toggle:hover{filter:brightness(.95)}.model-name{color:#000;white-space:nowrap;flex:none;font-size:11px;line-height:1.2;display:block}.model-text-row{flex-direction:row;justify-content:center;align-items:center;gap:6px;display:flex}.model-volume{color:#000;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:10px;line-height:1.2}.state-icon{border:1px solid #64748b;border-radius:3px;flex-shrink:0;width:14px;height:14px;display:inline-block;position:relative}.state-icon.opaque{background:0 0}.state-icon.half{background:linear-gradient(90deg,#e2e8f0 50%,#0000 50%)}.state-icon.hidden{background:0 0}.state-icon.hidden:after{content:"";background:#f87171;height:1.5px;position:absolute;top:6px;left:-2px;right:-2px;transform:rotate(-35deg)}.model-toggle-wrapper{flex-direction:column;display:flex;position:relative}.model-opacity-slider-popup{z-index:1000;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;gap:6px;width:min(50vw,280px);padding:12px 14px;display:flex;box-shadow:0 4px 16px #0000002e}.opacity-label{color:#334155;justify-content:space-between;align-items:center;font-size:10px;display:flex}.opacity-value{color:#0f172a;font-variant-numeric:tabular-nums;font-weight:600}.opacity-range{appearance:none;cursor:pointer;background:#e2e8f0;border-radius:5px;outline:none;width:100%;height:10px}.opacity-range::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000040}.opacity-range::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000040}.scene-canvas{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #00000061,0 0 0 1px #ffffff0a}.scene-workspace{flex:auto;width:100%;min-width:0;min-height:0;display:flex}.scene-workspace.split{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.scene-viewport-pane{flex:auto;min-width:0;min-height:0;position:relative}.scene-boundary-strmeta-text{z-index:12;box-sizing:border-box;color:#0f172a;white-space:pre-wrap;word-break:break-word;pointer-events:none;background:0 0;border-radius:0;width:100%;max-width:none;min-height:20px;padding:6px 10px;font-size:13px;line-height:1.35;position:absolute;top:50px;left:0;right:0}.scene-orientation-overlay{z-index:11;aspect-ratio:1;pointer-events:none;background:0 0;width:clamp(80px,18vw,180px);position:absolute;top:35px;right:0;overflow:hidden}.scene-orientation-viewport{background:0 0;width:100%;height:100%}.scene-orientation-viewport canvas{background:0 0!important}.scene-pdf-preview-window{z-index:30;width:100%;height:100%;box-shadow:none;pointer-events:auto;background:#f8fafcfa;border:none;border-radius:0;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.scene-pdf-preview-header{background:#f8fafc;border-bottom:1px solid #94a3b88c;flex:none;justify-content:flex-end;align-items:center;gap:10px;height:40px;padding:0 10px;display:flex}.scene-pdf-preview-title{color:#0f172a;font-size:13px;font-weight:700}.scene-pdf-preview-controls{align-items:center;gap:6px;display:flex}.scene-pdf-preview-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:6px;min-width:28px;height:26px;padding:0 8px;font-size:12px}.scene-pdf-preview-btn:hover{background:#f1f5f9}.scene-pdf-preview-zoom{text-align:center;color:#334155;font-variant-numeric:tabular-nums;min-width:48px;font-size:12px}.scene-pdf-preview-body{-webkit-overflow-scrolling:touch;background:#e2e8f0;flex:auto;min-height:0;position:relative;overflow:auto}.scene-pdf-preview-status{color:#334155;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.scene-pdf-preview-iframe{background:#fff;border:none;width:100%;height:100%;display:block}.scene-pdf-preview-error{color:#7f1d1d;background:#f8717129;border-radius:6px;padding:6px 8px;font-size:12px;position:absolute;bottom:10px;left:10px;right:10px}.scene-volume-window-panel{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#e5e7ebe6;border:1px solid #33415559;border-radius:10px;gap:4px;width:min(340px,100% - 20px);padding:10px 12px;display:grid;position:absolute;top:60px;left:10px;right:calc(clamp(110px,18vw,180px) + 18px);box-shadow:0 6px 16px #0f172a24}.scene-volume-window-row{grid-template-columns:32px minmax(0,1fr) 56px;align-items:center;gap:6px;display:grid}.scene-volume-window-label{color:#1e293b;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700;line-height:1}.scene-volume-window-value{color:#0f172a;font-variant-numeric:tabular-nums;text-align:left;-webkit-user-select:none;user-select:none;font-size:12px}.scene-volume-window-slider{width:100%}.scene-viewport-bottom-left-stack{z-index:10;pointer-events:none;background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;width:min(70vw,240px);display:flex;position:absolute;bottom:10px;left:10px}.scene-viewport-bottom-left-tools{pointer-events:none;flex-flow:wrap;align-items:center;gap:6px;display:none}.scene-viewport-bottom-left-tools>.scene-viewport-icon-tool-btn{pointer-events:auto}.scene-3d-slice-panel{width:100%;box-shadow:none;pointer-events:auto;background:0 0;border:none;border-radius:0;padding:8px}.scene-3d-slice-panel-title{color:#0f172a;letter-spacing:.2px;margin:0 0 8px;font-size:13px;font-weight:700}.scene-3d-slice-panel-row{grid-template-columns:20px 1fr 20px;align-items:center;gap:8px;display:grid}.scene-3d-slice-panel-row+.scene-3d-slice-panel-row{margin-top:8px}.scene-3d-slice-panel-side{color:#334155;text-align:center;-webkit-user-select:none;user-select:none;cursor:pointer;background:#f8fafceb;border:1px solid #94a3b8;border-radius:5px;width:20px;height:22px;padding:0;font-size:12px}.scene-3d-slice-panel-side:hover{background:#f1f5f9;border-color:#38bdf8}.scene-3d-slice-panel-side:active{background:#e2e8f0}.scene-3d-slice-panel-side:focus-visible{outline-offset:1px;outline:2px solid #38bdf8}.scene-3d-slice-panel-slider{width:100%}.scene-viewport-icon-tool-btn{color:#0f172a;cursor:pointer;background:#e5e7eb;border:1px solid #a5acb7;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex;box-shadow:0 4px 14px #0f172a29}.scene-viewport-icon-tool-btn:hover:not(:disabled){color:#0f172a;background:#e5e7eb;border-color:#a5acb7}.scene-viewport-icon-tool-btn:focus-visible{outline-offset:2px;outline:2px solid #38bdf8}.scene-viewport-icon-tool-btn:disabled{opacity:.45;cursor:not-allowed}.scene-viewport-icon-tool-btn.is-active{color:#0f172a!important;background:#82b9dd!important;border-color:#38bdf8!important}.scene-viewport-icon-tool-btn.is-active:hover:not(:disabled){background:#c8e2f5}.scene-title .scene-viewport-icon-tool-btn{box-shadow:none;color:var(--scene-title-icon-color,#000);background:0 0;border:none}.scene-title .scene-viewport-icon-tool-btn:hover:not(:disabled){color:var(--scene-title-icon-color,#000);background:0 0;border:none}.scene-title .scene-viewport-icon-tool-btn:focus-visible{outline:2px solid var(--scene-title-icon-color,#000);outline-offset:2px}.scene-title .scene-viewport-icon-tool-btn.is-active,.scene-title .scene-viewport-icon-tool-btn.is-active:hover:not(:disabled){border:1px solid var(--scene-title-icon-color,#000)!important;color:var(--scene-title-icon-color,#000)!important;background:0 0!important}.scene-title[data-toolbar-tone=dark] .scene-viewport-icon-tool-btn img{filter:brightness(0)}.scene-title[data-toolbar-tone=light] .scene-viewport-icon-tool-btn img{filter:brightness(0)invert()}.scene-title .scene-viewport-icon-tool-btn .scene-viewport-icon-tool-svg{color:var(--scene-title-icon-color,#000)}.scene-viewport-icon-tool-svg{flex-shrink:0;display:block}.scene-viewport-icon-tool-reset-text{text-transform:lowercase;font-size:11px;font-weight:700;line-height:1}.scene-workspace.split .scene-viewport-pane,.scene-workspace.split .dicom-pane{width:100%;min-width:0;min-height:0}.dicom-pane{--dicom-mpr-view-bg:#000;background:0 0;border-left:1px solid #edf2fa;flex-direction:column;min-width:0;min-height:0;display:flex}.dicom-panel{background:#e5e7eb;flex-direction:column;gap:12px;width:100%;min-width:0;height:100%;min-height:0;padding:12px;display:flex}.vtk-mpr-panel{box-sizing:border-box;background:0 0;flex:auto;grid-template-rows:minmax(0,1fr);width:100%;min-height:0;padding:0;display:grid}.vtk-mpr-tile{background:var(--dicom-mpr-view-bg,#000);min-width:0;min-height:0;box-shadow:none;border:none;border-radius:0;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.vtk-mpr-tile-header{background:var(--dicom-mpr-view-bg,#000);z-index:40;align-items:center;padding:5px;display:flex;position:relative;overflow:visible}.vtk-mpr-tile-head-main{justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.vtk-mpr-tile-title-group{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.vtk-mpr-tile-meta-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.vtk-mpr-axis-btn{appearance:none;color:#0f172a;letter-spacing:.03em;cursor:pointer;background:#fff;border:1px solid #a5acb7;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:600;display:inline-flex}.vtk-mpr-axis-btn .is-disabled-path{fill:#999}.vtk-mpr-axis-btn .is-enable-path{fill:#2c2c2c}.vtk-mpr-axis-btn.is-active:hover:not(:disabled){background:#c8e2f5}.vtk-mpr-axis-btn:active,.vtk-mpr-axis-btn:focus{box-shadow:none;border-color:#94a3b8;background-color:#0000!important}.vtk-mpr-axis-btn:hover{color:#0f172a;background:#e0f2fe;border-color:#94a3b8}.vtk-mpr-axis-btn.is-active{color:#0f172a!important;background:#d6eaf7!important;border-color:#38bdf8!important}.vtk-mpr-axis-btn:focus-visible{outline-offset:2px;outline:2px solid #38bdf8}.vtk-mpr-tile-header .vtk-mpr-axis-btn{box-shadow:none;color:#fff;border:none;background:0 0!important}.vtk-mpr-tile-header .vtk-mpr-axis-btn img{filter:brightness(0)invert()}.vtk-mpr-tile-header .vtk-mpr-axis-btn:hover:not(:disabled){color:#fff;background:0 0!important;border:none!important}.vtk-mpr-tile-header .vtk-mpr-axis-btn:active,.vtk-mpr-tile-header .vtk-mpr-axis-btn:focus{box-shadow:none;border:none;background:0 0!important}.vtk-mpr-tile-header .vtk-mpr-axis-btn.is-active,.vtk-mpr-tile-header .vtk-mpr-axis-btn.is-active:hover:not(:disabled){color:#fff!important;background:0 0!important;border:1px solid #fff!important}.vtk-mpr-tile-header .vtk-mpr-axis-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.vtk-mpr-tile-header .vtk-mpr-axis-btn:disabled{opacity:.45;cursor:not-allowed}.vtk-mpr-tile-header .vtk-mpr-axis-btn .is-enable-path{fill:#fff}.vtk-mpr-tile-header .vtk-mpr-axis-btn .is-disabled-path{fill:#999}.vtk-mpr-tile-meta{color:#475569;font-size:11px}.vtk-mpr-tile-header .vtk-mpr-tile-meta-soft{color:#ffffffbf;font-size:11px}.vtk-mpr-tile-meta-soft{color:#0369a1}.vtk-mpr-wl-dropdown-wrap{z-index:60;align-items:center;display:inline-flex;position:relative}.vtk-mpr-wl-dropdown-trigger{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-width:180px;max-width:min(42vw,320px);height:34px;padding:0 10px;font-size:12px;display:inline-flex}.vtk-mpr-wl-dropdown-text{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;overflow:visible}.vtk-mpr-wl-dropdown-caret{border-top:6px solid #475569;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;transition:transform .12s}.vtk-mpr-wl-dropdown-caret.is-open{transform:rotate(180deg)}.vtk-mpr-wl-dropdown-menu{z-index:100;width:max-content;min-width:100%;max-width:min(72vw,420px);max-height:min(var(--vtk-mpr-wl-menu-max-height,52vh), 360px);background:#fff;border:1px solid #94a3b8;border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 10px 28px #0f172a33}.vtk-mpr-wl-dropdown-item{color:#0f172a;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:7px 8px;font-size:12px;line-height:1.3}.vtk-mpr-wl-dropdown-item:hover{background:#e2e8f0}.vtk-mpr-wl-dropdown-item.is-active{color:#1e40af;background:#dbeafe}.vtk-mpr-tile-controls{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.vtk-mpr-toggle{color:#334155;-webkit-user-select:none;user-select:none;cursor:pointer;align-items:center;gap:5px;font-size:11px;display:inline-flex}.vtk-mpr-toggle input[type=checkbox]{accent-color:#38bdf8;cursor:pointer;width:13px;height:13px;margin:0}.vtk-mpr-toggle.is-disabled{opacity:.45;cursor:not-allowed}.vtk-mpr-toggle.is-disabled input[type=checkbox]{cursor:not-allowed}.vtk-mpr-tile-body{z-index:1;min-width:0;min-height:0;position:relative}.vtk-mpr-corner-meta{z-index:9;color:#fff;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;background:0 0;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;width:calc(100% - 20px);padding:2px 6px;font-size:11px;line-height:1.2;display:flex;position:absolute;top:8px;left:10px;overflow:hidden;pointer-events:none!important}.vtk-mpr-slice-slider-overlay{z-index:8;pointer-events:none;background:0 0;padding:0;position:absolute;bottom:6px;left:8px;right:8px}.vtk-mpr-slice-range{pointer-events:auto;cursor:pointer;accent-color:#38bdf8;touch-action:none;width:100%;height:28px;margin:0;display:block}.vtk-mpr-slice-range:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #38bdf8}.vtk-crosshair-overlay{pointer-events:none;z-index:2;position:absolute;inset:0}.vtk-measure-label-overlay{pointer-events:none;z-index:4;position:absolute;inset:0}.vtk-measure-label{color:#d1fae5;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px #00000059;background:#064e3beb;border:1px solid #0f172aa6;border-radius:999px;padding:2px 6px;font-size:11px;line-height:1.2;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 8px #00000047}.vtk-label-overlay{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0}.vtk-label-text{paint-order:stroke;stroke:#020617e6;stroke-width:3px;stroke-linejoin:round;font-size:13px;font-weight:700}.vtk-crosshair-line{background:#f87171eb;position:absolute;box-shadow:0 0 0 .5px #0f172a8c}.vtk-crosshair-line-h{height:.5px;left:0;right:0;transform:translateY(-.25px)}.vtk-crosshair-line-v{width:.5px;top:0;bottom:0;transform:translate(-.25px)}.vtk-crosshair-center{background:#ef4444e6;border:1px solid #f8fafcf2;border-radius:999px;width:8px;height:8px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0f172a80,0 0 12px #ef444466}.dicom-panel-top{flex-wrap:nowrap;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.dicom-axis-group{flex-direction:row;flex-shrink:0;align-items:center;width:auto;display:flex}.dicom-axis-cycle-btn{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #334155;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.dicom-axis-cycle-btn:hover{color:#0f172a;background:#e0f2fe;border-color:#38bdf8}.dicom-axis-cycle-btn:focus-visible{outline-offset:2px;outline:2px solid #38bdf8}.dicom-axis-cycle-icon{flex-shrink:0;display:block}.dicom-image-region{background:#f8fafc;border:1px solid #94a3b8;border-radius:10px;flex:auto;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.dicom-image-region.adjust-enabled{cursor:crosshair;touch-action:none;box-shadow:inset 0 0 0 1px #38bdf859}.dicom-image-canvas{object-fit:contain;image-rendering:auto;width:100%;height:100%}.dicom-panel-bottom{flex-direction:column;flex:none;gap:8px;display:flex}.dicom-panel-bottom input[type=range]{width:100%}.dicom-layer-text{color:#334155;justify-content:space-between;gap:12px;font-size:13px;display:flex}.dicom-layer-label{color:#64748b}.dicom-layer-count{color:#0f172a;font-variant-numeric:tabular-nums}.dicom-window-toggle{color:#0f172a;background:#f8fafc;border:1px solid #334155;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:132px;height:34px;padding:0 10px;font-size:13px;display:flex}.dicom-window-toggle input{width:16px;height:16px}.dicom-wl-selector{width:132px;position:relative}.dicom-wl-selector-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #334155;border-radius:8px;align-items:center;gap:10px;width:100%;height:34px;padding:0 12px;font-size:13px;display:inline-flex}.dicom-wl-selector-btn:hover{border-color:#38bdf8}.dicom-wl-selector-caret{border-top:6px solid #334155;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;transition:transform .18s}.dicom-wl-selector-caret.open{transform:rotate(180deg)}.dicom-wl-dropdown-list{z-index:10;background:#f8fafc;border:1px solid #334155;border-radius:10px;flex-direction:column;gap:4px;width:100%;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.dicom-wl-option{color:#0f172a;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;width:100%;padding:6px 8px;font-size:12px;display:flex}.dicom-wl-option:hover,.dicom-wl-option.active{background:#38bdf814;border-color:#38bdf8}@media (aspect-ratio<=1){.scene-workspace.split{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.scene-workspace.split .dicom-pane{border-top:none;border-bottom:1px solid #94a3b8;border-left:none;order:2}.scene-workspace.split .scene-viewport-pane{order:1}}.login-page{justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.login-card{background:#0b1220;border:1px solid #1e293b;border-radius:14px;flex-direction:column;gap:10px;width:min(100%,360px);padding:28px;display:flex;box-shadow:0 20px 40px #02061773}.login-card h1{text-align:center;color:#e2e8f0;margin:0 0 8px;font-size:28px}.login-card label{color:#cbd5e1;font-size:14px}.login-card input{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;width:100%;height:40px;padding:0 12px}.login-card input:focus{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf833}.login-card button{color:#f8fafc;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#2563eb);border:none;border-radius:8px;height:42px;margin-top:8px;font-size:15px;font-weight:600}.login-card button:hover{filter:brightness(1.05)}.login-card button:disabled{cursor:not-allowed;opacity:.7;filter:none}.hint-message{color:#f8fafc;min-height:20px;margin:6px 0 0;font-size:13px}.list-page,.loading-page{justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.list-card{background:#0b1220;border:1px solid #1e293b;border-radius:14px;flex-direction:column;gap:12px;width:min(100%,520px);padding:24px;display:flex;box-shadow:0 20px 40px #02061773}.loading-card{background:#0b1220;border:1px solid #1e293b;border-radius:14px;flex-direction:column;gap:12px;width:min(100%,420px);padding:24px;display:flex;box-shadow:0 20px 40px #02061773}.list-card h1,.loading-card h1{text-align:center;color:#e2e8f0;margin:0;font-size:28px}.loading-card p,.list-summary{text-align:center;color:#94a3b8;margin:0;font-size:14px}.project-list{flex-direction:column;gap:8px;max-height:280px;padding:4px;display:flex;overflow:auto}.project-item{text-align:left;color:#e2e8f0;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;width:100%;padding:10px 12px}.project-item:hover{border-color:#38bdf8}.project-item.selected{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf833}.empty-tip{color:#94a3b8;text-align:center;margin:16px 0}.open-button{color:#f8fafc;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#2563eb);border:none;border-radius:8px;height:42px;font-size:15px;font-weight:600}.open-button:disabled{cursor:not-allowed;opacity:.7}.progress-track{background:#1e293b;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#22d3ee,#2563eb);height:100%;transition:width .2s}.download-item{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:8px;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;font-size:14px;display:flex}.bg-selector{z-index:10;position:absolute;bottom:12px;right:12px}.bg-selector-btn{color:#e2e8f0;cursor:pointer;background:#0f172aeb;border:1px solid #334155;border-radius:8px;height:34px;padding:0 12px;font-size:13px}.bg-selector-btn:hover{border-color:#38bdf8}.bg-dropdown-list{background:#0b1220f5;border:1px solid #334155;border-radius:10px;flex-direction:column;gap:4px;width:150px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.bg-option{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12px;display:flex}.bg-option:hover,.bg-option.active{background:#38bdf814;border-color:#38bdf8}.bg-option-swatch{border:1px solid #ffffff40;border-radius:4px;width:14px;height:14px}.custom-alert-mask{z-index:9999;background:#00000080;justify-content:center;align-items:center;animation:.2s maskFadeIn;display:flex;position:fixed;inset:0}.custom-alert-box{background:#fff;border-radius:12px;width:80%;max-width:320px;animation:.25s boxScaleIn;overflow:hidden}.custom-alert-title{text-align:center;color:#333;padding:16px 16px 0;font-size:16px;font-weight:600}.custom-alert-content{color:#666;text-align:center;white-space:pre-wrap;padding:16px 20px;font-size:14px;line-height:1.5}.custom-alert-buttons{border-top:1px solid #eee;display:flex}.custom-alert-confirm{color:#007aff;cursor:pointer;background:0 0;border:none;flex:1;padding:12px 0;font-size:16px;font-weight:500}.custom-alert-confirm:active{background:#f5f5f5}@keyframes maskFadeIn{0%{opacity:0}to{opacity:1}}@keyframes boxScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
