iflow-engine 3.9.212 → 3.9.213

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.bim-engine-wrapper{position:relative;width:100%;height:100%;font-family:sans-serif;box-sizing:border-box;overflow:hidden;background:linear-gradient(to bottom,#d6e0eb,#f6faff)}.bim-engine-opt-btn-container{z-index:100}.bim-construct-tree-btn{position:absolute;top:20px;left:20px!important;z-index:100}.bim-engine-footer-info{position:absolute;bottom:6px;left:10px;display:flex;align-items:center;gap:12px;z-index:1;font-family:system-ui,-apple-system,sans-serif;font-size:11px;letter-spacing:.3px;pointer-events:none;-webkit-user-select:none;user-select:none}.bim-engine-version{color:#00000040;white-space:nowrap}.bim-engine-stats{color:#00000059;white-space:nowrap}.bim-engine-size{position:absolute;bottom:6px;right:10px;font-size:11px;color:#00000059;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;font-family:system-ui,-apple-system,sans-serif;letter-spacing:.3px}.versionText{position:absolute;right:10px;color:#86d9ff;z-index:1000;bottom:0;font-size:10px;background:transparent;pointer-events:none}.homeViewWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-image:url(/assets/viewcube/home.png);background-size:100% 100%;background-repeat:no-repeat;background-color:#fff0;color:#fff;top:10px;right:100;width:20px;height:20px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.bim-dialog{position:absolute;background:var(--bim-dialog-bg, var(--bim-bg-elevated));border:1px solid var(--bim-dialog-border-color, var(--bim-border-default));border-radius:var(--bim-dialog-radius, 4px);box-shadow:var(--bim-shadow-lg);display:flex;flex-direction:column;z-index:10001;color:var(--bim-dialog-text-color, var(--bim-text-secondary));overflow:hidden;min-width:200px;min-height:100px;pointer-events:auto}.bim-dialog-header{position:relative;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px 0 18px;cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0;border-bottom:1px solid var(--bim-border-subtle, var(--bim-dialog-border-color, var(--bim-border-default)));box-shadow:var(--bim-shadow-sm);z-index:1}.bim-dialog-header.draggable{cursor:move}.bim-dialog-title{flex:1;min-width:0;font-size:18px;font-weight:300;line-height:1.2;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bim-dialog-title-color, var(--bim-text-primary))}.bim-dialog-close{display:flex;align-items:center;justify-content:center;width:38px;height:38px;cursor:pointer;color:var(--bim-text-secondary);border-radius:4px;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;flex-shrink:0;margin-left:8px}.bim-dialog-close:hover{color:var(--bim-text-primary);background-color:var(--bim-component-bg-hover, rgba(15, 23, 42, .06));box-shadow:inset 0 0 0 1px var(--bim-border-subtle, var(--bim-dialog-border-color, var(--bim-border-default)))}.bim-dialog-close svg{display:block;width:20px;height:20px}.bim-dialog-content{flex:1;overflow:auto;font-size:14px;color:var(--bim-dialog-text-color, var(--bim-text-secondary));background:var(--bim-dialog-bg, var(--bim-bg-elevated))}.bim-dialog-resize-handle{position:absolute;width:28px;height:28px;right:2px;bottom:2px;cursor:se-resize;z-index:10;border-radius:4px 0;transition:background-color .2s ease}.bim-dialog-resize-handle:hover{background:var(--bim-component-bg-hover, rgba(15, 23, 42, .04))}.bim-dialog-resize-handle:after{content:"";position:absolute;right:7px;bottom:7px;width:11px;height:11px;border-right:2px solid var(--bim-text-tertiary);border-bottom:2px solid var(--bim-text-tertiary)}.bim-dialog-resize-handle:before{content:"";position:absolute;right:11px;bottom:11px;width:6px;height:6px;border-right:2px solid var(--bim-text-tertiary);border-bottom:2px solid var(--bim-text-tertiary);opacity:.85}.bim-dialog-resize-handle:hover:after,.bim-dialog-resize-handle:hover:before{border-color:var(--bim-text-primary)}.bim-model-color-picker{position:fixed;z-index:10020;width:196px;padding:10px 12px 12px;box-sizing:border-box;border:1px solid var(--bim-model-color-picker-border, rgba(255, 255, 255, .14));border-radius:12px;background:var(--bim-model-color-picker-bg, rgba(24, 28, 34, .96));box-shadow:var(--bim-model-color-picker-shadow, 0 18px 48px rgba(0, 0, 0, .36));color:var(--bim-model-color-picker-text, #f4f7fb);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.bim-model-color-picker__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.bim-model-color-picker__title{font-size:13px;font-weight:600;letter-spacing:.02em;line-height:20px}.bim-model-color-picker__close{all:unset;display:flex;align-items:center;justify-content:center;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;box-sizing:border-box;padding:0!important;border:0!important;border-radius:4px;background:transparent!important;color:var(--bim-model-color-picker-muted, rgba(255, 255, 255, .82));cursor:pointer;font:600 16px/1 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;text-align:center;appearance:none!important}.bim-model-color-picker__close:hover{background:var(--bim-model-color-picker-btn-hover, rgba(255, 255, 255, .16));color:var(--bim-model-color-picker-text, #fff)}.bim-model-color-picker__presets{display:grid;grid-template-columns:repeat(4,24px);justify-content:space-between;gap:8px 10px;margin-bottom:12px}.bim-model-color-picker__swatch{display:block;width:24px;height:24px;min-width:24px;min-height:24px;box-sizing:border-box;padding:0;border:0;border-radius:999px;box-shadow:none;cursor:pointer;appearance:none;transition:transform .16s ease}.bim-model-color-picker__swatch:hover{transform:translateY(-1px) scale(1.08)}.bim-model-color-picker__opacity{display:block;margin-bottom:10px;color:var(--bim-model-color-picker-muted, rgba(255, 255, 255, .78));font-size:12px}.bim-model-color-picker__opacity-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.bim-model-color-picker__opacity-value{color:var(--bim-model-color-picker-text, #f4f7fb);font-variant-numeric:tabular-nums}.bim-model-color-picker__opacity input{width:100%;height:16px;margin:0;padding:0;cursor:pointer;accent-color:var(--bim-model-color-picker-text, #2563eb)}.bim-model-color-picker__custom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--bim-model-color-picker-muted, rgba(255, 255, 255, .78));font-size:12px}.bim-model-color-picker__custom input{width:40px;height:24px;box-sizing:border-box;padding:2px;border:1px solid var(--bim-model-color-picker-border, rgba(255, 255, 255, .14));border-radius:8px;background:var(--bim-model-color-picker-input-bg, transparent);cursor:pointer}.bim-right-key{position:fixed;z-index:10000;display:none;background:transparent}.bim-right-key.visible{display:block}.bim-menu{display:flex;flex-direction:column;background:var(--bim-bg-elevated);border:1px solid var(--bim-border-default);border-radius:8px;padding:6px;margin:0;list-style:none;box-shadow:var(--bim-shadow-lg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-user-select:none;user-select:none;color:var(--bim-text-primary)}.bim-menu-group{display:flex;flex-direction:column}.bim-menu-divider{height:1px;background-color:var(--bim-divider);margin:4px 0}.bim-menu-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;transition:all .2s ease;font-size:13px;position:relative;color:var(--bim-text-primary);border-radius:6px}.bim-menu-item:hover{background-color:var(--bim-component-bg-hover)}.bim-menu-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.bim-menu-item-icon{display:none}.bim-menu.has-icons .bim-menu-item-icon{width:16px;height:16px;margin-right:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bim-menu-item-icon svg{width:100%;height:100%;fill:currentColor}.bim-menu-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bim-menu-item-arrow{width:12px;height:12px;margin-left:8px;display:flex;align-items:center;justify-content:center;opacity:.7}.bim-menu-item-arrow svg{width:100%;height:100%;fill:currentColor}.radial-toolbar-wrapper{position:absolute;right:20px;bottom:20px;z-index:1000;pointer-events:none}.radial-main-btn,.radial-sub-btn{border:1px solid transparent;border-radius:9999px;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;outline:none;transition:transform .22s ease,opacity .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease}.radial-main-btn{position:absolute;right:0;bottom:0;width:var(--rt-main-size, 70px);height:var(--rt-main-size, 70px);background:var(--rt-main-bg, rgba(255, 255, 255, .92));border-color:var(--rt-main-border, rgba(203, 213, 225, .65));box-shadow:var(--rt-main-shadow, 0 4px 12px rgba(0, 0, 0, .12));color:var(--rt-main-icon, #334155)}.radial-main-btn:hover{transform:translateZ(0) scale(1.04);background:var(--rt-main-bg-hover, #ffffff);box-shadow:var(--rt-main-shadow-hover, 0 6px 20px rgba(0, 0, 0, .14));color:var(--rt-main-icon-hover, #1e293b)}.radial-main-btn:active{transform:translateZ(0) scale(.97)}.radial-main-btn svg{width:34px;height:34px}.radial-sub-btn{position:absolute;right:var(--rt-main-offset, 10px);bottom:var(--rt-main-offset, 10px);width:var(--rt-sub-size, 50px);height:var(--rt-sub-size, 50px);background:var(--rt-sub-bg, rgba(255, 255, 255, .9));border-color:var(--rt-sub-border, rgba(203, 213, 225, .65));box-shadow:var(--rt-sub-shadow, 0 2px 8px rgba(0, 0, 0, .1));color:var(--rt-sub-icon, #334155);opacity:0;transform:translate(0) scale(.76);transform-origin:center;--rt-delay-current: var(--rt-close-delay, 0s);transition-delay:var(--rt-delay-current)}.radial-toolbar-wrapper.is-active .radial-sub-btn{--rt-delay-current: var(--rt-open-delay, 0s);opacity:1;transform:translate(var(--rt-x),var(--rt-y)) scale(1)}.radial-sub-btn:hover{background:var(--rt-sub-bg-hover, var(--bim-primary, #2563eb));box-shadow:var(--rt-sub-shadow-hover, 0 4px 14px rgba(0, 0, 0, .16));color:var(--rt-sub-icon-hover, var(--bim-text-inverse, #ffffff))}.radial-sub-btn.is-active,.radial-sub-btn[data-active=true]{background:var(--bim-primary, #2563eb);border:1px solid var(--bim-primary-active, #1d4ed8);box-shadow:var(--bim-shadow-glow, 0 0 0 2px rgba(37, 99, 235, .28));color:var(--bim-text-inverse, #ffffff)}.radial-sub-btn.is-active:hover,.radial-sub-btn[data-active=true]:hover{background:var(--bim-primary-hover, #3b82f6)}.radial-sub-btn.is-active .radial-sub-btn-icon,.radial-sub-btn[data-active=true] .radial-sub-btn-icon{color:var(--bim-icon-inverse, #ffffff)}.radial-sub-btn:active{transform:translate(var(--rt-x),var(--rt-y)) scale(.94)}.radial-sub-btn-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}.radial-sub-btn-icon svg{width:100%;height:100%}.bottom-dock-stack{position:absolute;left:50%;bottom:20px;transform:translate(-50%);width:0;height:0;z-index:1000;pointer-events:none}.bottom-dock-panel{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:fit-content;max-width:calc(100vw - 40px);pointer-events:auto;border-radius:12px;border:1px solid var(--bd-border, rgba(148, 163, 184, .35));background:var(--bd-bg, rgba(255, 255, 255, .94));box-shadow:var(--bd-shadow, 0 2px 8px rgba(15, 23, 42, .1));transition:transform .22s ease,opacity .2s ease;overflow:visible;z-index:1}.bottom-dock-panel:hover,.bottom-dock-panel:focus-within{z-index:10}.bottom-dock-panel.is-entering{opacity:0}.bottom-dock-panel.is-leaving{opacity:0;pointer-events:none}.bottom-dock-panel-close{position:absolute;top:5px;right:5px;transform:translate(35%,-35%);z-index:2;width:16px;height:16px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--bd-close-color, #475569);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.bottom-dock-panel-close:hover{background:var(--bd-close-bg-hover, rgba(15, 23, 42, .08));color:var(--bd-close-color-hover, #0f172a);border-color:var(--bd-close-border-hover, rgba(148, 163, 184, .3))}.bottom-dock-panel-close:active{transform:translate(35%,-35%) scale(.96)}.bottom-dock-panel-body{min-height:50px;padding:10px;background:var(--bd-body-bg, transparent);width:fit-content;max-width:calc(100vw - 40px);box-sizing:border-box;border-radius:inherit}.bottom-dock-placeholder{border-radius:8px;border:1px dashed var(--bd-placeholder-border, rgba(148, 163, 184, .55));padding:10px;color:var(--bd-placeholder-text, #64748b);font-size:12px;line-height:1.5;text-align:center}.measure-dock-panel{width:fit-content;max-width:100%;padding:0;border-radius:8px;border:none;box-sizing:border-box;color:var(--bim-text-secondary, #475569);font-size:13px;line-height:1.5}.measure-dock-panel-main{display:block}.measure-dock-panel-settings{display:none;flex-direction:column;gap:6px;min-height:74px;box-sizing:border-box}.measure-dock-settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.measure-dock-settings-label{color:var(--bim-text-secondary, #64748b);font-size:12px}.measure-dock-settings-select{width:88px;height:24px;border-radius:6px;border:1px solid rgba(148,163,184,.36);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 90%,#ffffff 10%);color:var(--bim-text-primary, #0f172a);font-size:12px;padding:0 6px;box-sizing:border-box}.measure-dock-settings-actions{display:flex;justify-content:flex-end;gap:8px}.measure-dock-settings-btn{height:24px;min-width:52px;border-radius:6px;border:1px solid rgba(148,163,184,.36);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 90%,#ffffff 10%);color:var(--bim-text-secondary, #64748b);font-size:12px;line-height:1;cursor:pointer}.measure-dock-settings-btn.is-save{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 46%,transparent 54%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.measure-dock-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.measure-dock-clearheight-options{display:none;flex-direction:column;gap:8px;margin-bottom:10px;padding:8px;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 90%,#ffffff 10%)}.measure-dock-clearheight-options.is-visible{display:flex}.measure-dock-clearheight-group{display:flex;align-items:center;gap:8px}.measure-dock-clearheight-label{min-width:60px;color:var(--bim-text-secondary, #64748b);font-size:12px}.measure-dock-clearheight-buttons{display:flex;gap:8px}.measure-dock-clearheight-btn{height:28px;padding:0 10px;border-radius:6px;border:1px solid rgba(148,163,184,.36);background:color-mix(in srgb,var(--bim-bg-elevated, #f8fafc) 88%,#ffffff 12%);color:var(--bim-text-secondary, #64748b);font-size:12px;line-height:1;cursor:pointer;transition:all .15s ease}.measure-dock-clearheight-btn:hover{border-color:#94a3b88f}.measure-dock-clearheight-btn.is-active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);background:color-mix(in srgb,var(--bim-primary-subtle, rgba(96, 140, 255, .18)) 72%,#ffffff 28%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.measure-dock-panel-mode-zone{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.measure-dock-panel-mode-row{display:grid;grid-template-columns:repeat(5,32px);gap:10px}.measure-dock-panel-mode-row-secondary{display:none}.measure-dock-panel-mode-btn{width:32px;height:32px;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:color-mix(in srgb,var(--bim-text-secondary, #64748b) 94%,#475569 6%);display:inline-flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;cursor:pointer;transition:all .15s ease}.measure-dock-panel-mode-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.measure-dock-panel-mode-icon svg{width:100%;height:100%;fill:currentColor}.measure-dock-panel-mode-btn:hover{border-color:#94a3b880;background:color-mix(in srgb,var(--bim-component-bg-hover, #dce5f2) 64%,#ffffff 36%)}.measure-dock-panel-mode-btn.is-active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bim-primary, #4f88ff) 35%,transparent 65%)}.measure-dock-panel-actions{flex:0 0 auto;display:flex;flex-direction:row;gap:10px;align-items:center}.measure-dock-panel-action-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(148,163,184,.22);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:var(--bim-text-secondary, #475569);padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.measure-dock-panel-action-btn:hover{border-color:#94a3b880;color:var(--bim-text-primary, #0f172a)}.measure-dock-panel-action-btn svg{width:18px;height:18px;fill:currentColor}.measure-dock-panel-action-expand{width:16px;height:32px}.measure-dock-panel-action-expand.is-expanded{height:74px}.measure-dock-panel-action-expand.is-collapsed{height:32px}.measure-dock-panel-action-clear{background:color-mix(in srgb,var(--bim-danger, #ef4444) 16%,#ffffff 84%);border-color:color-mix(in srgb,var(--bim-danger, #ef4444) 26%,transparent 74%);color:var(--bim-danger, #ef4444)}.measure-dock-panel-action-clear:hover{border-color:color-mix(in srgb,var(--bim-danger, #ef4444) 40%,transparent 60%);color:var(--bim-danger, #ef4444)}.measure-dock-panel-action-settings{color:color-mix(in srgb,var(--bim-text-primary, #0f172a) 86%,#000 14%)}.measure-dock-panel-mode-row .measure-dock-panel-action-btn{border-radius:8px}.measure-dock-panel-action-expand svg{transition:transform .15s ease}.measure-dock-panel-action-expand.is-expanded svg{transform:rotate(180deg)}.measure-dock-panel [data-tooltip]{position:relative}.measure-dock-panel [data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:4px 8px;border-radius:6px;background:#0f172aeb;color:#f8fafc;font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:8;transition:opacity 60ms ease}.measure-dock-panel [data-tooltip]:hover:after,.measure-dock-panel [data-tooltip]:focus-visible:after{opacity:1;visibility:visible}@media(max-width:720px){.measure-dock-panel-top{flex-direction:column}.measure-dock-clearheight-group{flex-direction:column;align-items:flex-start;gap:6px}.measure-dock-panel-actions{width:100%;flex-direction:row;justify-content:flex-end}.measure-dock-panel-action-btn,.measure-dock-panel-mode-btn{width:32px;height:32px}.measure-dock-panel-action-expand{width:16px;height:32px}.measure-dock-panel-action-expand.is-expanded{height:74px}}.section-dock-panel{position:relative;width:fit-content;max-width:100%;display:flex;flex-direction:column;gap:10px;color:var(--bim-text-secondary, #475569)}.section-dock-axis-panel{display:none;width:fit-content;border-radius:8px;padding:0;gap:10px}.section-dock-axis-panel.is-visible{display:flex}.section-dock-axis-btn{width:32px;height:32px;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:color-mix(in srgb,var(--bim-text-secondary, #64748b) 94%,#475569 6%);font-size:16px;line-height:1;box-sizing:border-box;padding:0;cursor:pointer;transition:all .15s ease}.section-dock-axis-btn:hover{border-color:#94a3b880;background:color-mix(in srgb,var(--bim-component-bg-hover, #dce5f2) 64%,#ffffff 36%)}.section-dock-axis-btn.is-active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);background:color-mix(in srgb,var(--bim-primary-subtle, rgba(96, 140, 255, .18)) 72%,#ffffff 28%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.section-dock-main{display:flex;align-items:center;gap:10px;padding:0;border-radius:8px}.section-dock-types,.section-dock-tools{display:flex;align-items:center;gap:10px}.section-dock-divider{width:1px;height:32px;background:color-mix(in srgb,var(--bim-border-default, #cbd5e1) 84%,transparent 16%)}.section-dock-divider.is-hidden{display:none}.section-dock-type-btn,.section-dock-tool-btn{width:32px;height:32px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:color-mix(in srgb,var(--bim-text-secondary, #64748b) 94%,#475569 6%);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;padding:0;transition:all .15s ease}.section-dock-type-btn:hover,.section-dock-tool-btn:hover{border-color:var(--bim-border-strong, rgba(100, 116, 139, .6));background:color-mix(in srgb,var(--bim-component-bg-hover, #dce5f2) 64%,#ffffff 36%)}.section-dock-type-btn.is-active,.section-dock-tool-btn.is-active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.section-dock-type-icon,.section-dock-tool-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.section-dock-type-icon svg,.section-dock-tool-icon svg{width:100%;height:100%;fill:currentColor}.section-dock-panel [data-tooltip]{position:relative}.section-dock-panel [data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:4px 8px;border-radius:6px;background:#0f172aeb;color:#f8fafc;font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:8;transition:opacity 60ms ease}.section-dock-panel [data-tooltip]:hover:after,.section-dock-panel [data-tooltip]:focus-visible:after{opacity:1;visibility:visible}.section-dock-toast{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px);padding:6px 10px;border-radius:8px;background:#0f172aeb;color:#f8fafc;font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease;z-index:9}.section-dock-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.walk-dock-panel{display:flex;align-items:center;gap:10px;padding:0;background:transparent;border:none;border-radius:8px;box-shadow:none;color:var(--bim-text-secondary, #64748b);-webkit-user-select:none;user-select:none}.walk-dock-panel .walk-divider{height:32px;width:1px;background:var(--bim-divider);flex-shrink:0}.walk-dock-left{display:flex;gap:10px}.walk-dock-settings{display:flex;align-items:center;gap:10px;flex:1}.walk-icon-btn{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:color-mix(in srgb,var(--bim-text-secondary, #64748b) 94%,#475569 6%);cursor:pointer;transition:all .2s ease}.walk-icon-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:10;transform:translate(-50%) translateY(4px);padding:4px 8px;border-radius:6px;background:color-mix(in srgb,var(--bim-bg-elevated, #1f2937) 94%,#000000 6%);color:var(--bim-text-primary, #ffffff);box-shadow:var(--bim-shadow-lg, 0 10px 24px rgba(0, 0, 0, .22));font-size:12px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .16s ease,transform .16s ease}.walk-icon-btn[data-tooltip]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);z-index:10;transform:translate(-50%) translateY(4px);border:5px solid transparent;border-top-color:color-mix(in srgb,var(--bim-bg-elevated, #1f2937) 94%,#000000 6%);pointer-events:none;opacity:0;transition:opacity .16s ease,transform .16s ease}.walk-icon-btn[data-tooltip]:hover:after,.walk-icon-btn[data-tooltip]:hover:before,.walk-icon-btn[data-tooltip]:focus-visible:after,.walk-icon-btn[data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%) translateY(0)}.walk-icon-btn:hover{border-color:#94a3b880;background:color-mix(in srgb,var(--bim-component-bg-hover, #dce5f2) 64%,#ffffff 36%)}.walk-icon-btn.active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);background:color-mix(in srgb,var(--bim-primary-subtle, rgba(96, 140, 255, .18)) 72%,#ffffff 28%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.walk-icon-btn svg{width:20px;height:20px}.walk-icon-btn.active svg{fill:currentColor}.walk-speed-control{display:flex;align-items:center;gap:8px}.walk-speed-label,.walk-checkbox-label,.walk-select-label{font-size:12px;color:var(--bim-text-primary);white-space:nowrap}.walk-speed-group{display:flex;align-items:center;gap:8px;padding:2px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);border-radius:6px}.walk-speed-btn{width:24px;height:24px;font-size:14px;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-elevated, #f8fafc) 88%,#ffffff 12%);color:var(--bim-text-primary, #0f172a);border-radius:4px;cursor:pointer;transition:all .2s ease}.walk-speed-btn:hover{border-color:#94a3b880}.walk-speed-btn:disabled{opacity:.5;cursor:not-allowed}.walk-speed-display{min-width:30px;font-size:12px;color:var(--bim-text-primary, #0f172a);text-align:center;font-weight:700}.walk-checkbox-wrapper{display:flex;align-items:center;gap:8px;cursor:pointer}.walk-checkbox{width:14px;height:14px;accent-color:var(--bim-primary, #3b82f6);cursor:pointer}.walk-checkbox:disabled,.walk-checkbox-wrapper input:disabled+.walk-checkbox-label{opacity:.5;cursor:not-allowed}.walk-select-wrapper{display:flex;align-items:center;gap:8px}.walk-select{min-width:90px;height:24px;padding:2px 8px;font-size:12px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:var(--bim-text-primary, #0f172a);border-radius:6px;cursor:pointer}.walk-select option{background:var(--bim-bg-elevated);color:var(--bim-text-primary)}.walk-exit-btn{height:32px;padding:0 12px;border-radius:8px;font-size:12px;background:var(--bim-primary);border:none;color:var(--bim-text-inverse);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.walk-exit-btn:hover{background:var(--bim-primary-hover);transform:scale(1.02)}.walk-path-panel{padding:16px;box-sizing:border-box}.walk-path-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s;box-sizing:border-box}.walk-path-btn-group{display:flex;gap:8px;margin-top:16px}.walk-path-btn-play{flex:1;height:32px;padding:0 16px;background:var(--bim-primary, #3b82f6);color:#fff}.walk-path-btn-play:hover:not(:disabled){opacity:.9}.walk-path-btn-play:disabled{opacity:.5;cursor:not-allowed}.walk-path-btn-stop{flex:1;height:32px;padding:0 16px;background:#ef4444;color:#fff}.walk-path-btn-stop:hover:not(:disabled){opacity:.9}.walk-path-btn-stop:disabled{opacity:.5;cursor:not-allowed}.walk-path-btn-small{height:28px;padding:0 12px;font-size:12px;background:var(--bim-bg-elevated, #1f2d3e);color:var(--bim-text-primary, #fff);border:1px solid var(--bim-border-default, #334155)}.walk-path-btn-small:hover{background:var(--bim-border-default, #334155)}.walk-path-btn-danger{color:#ef4444}.walk-path-settings{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.walk-path-form-group{display:flex;flex-direction:column;gap:6px}.walk-path-form-group label{font-size:12px;color:var(--bim-text-secondary, #94a3b8)}.walk-path-form-group-inline{flex-direction:row;align-items:center}.walk-path-input{padding:8px 12px;border:1px solid var(--bim-border-default, #334155);border-radius:4px;background:var(--bim-bg-elevated, #1f2d3e);color:var(--bim-text-primary, #fff);font-size:14px;width:100%;box-sizing:border-box}.walk-path-input:focus{outline:none;border-color:var(--bim-primary, #3b82f6)}.walk-path-input-wrapper{display:flex;align-items:center;gap:8px}.walk-path-input-wrapper .walk-path-input{flex:1}.walk-path-unit{color:var(--bim-text-secondary, #94a3b8);font-size:14px}.walk-path-checkbox{width:16px;height:16px;margin-right:8px}.walk-path-points-section{margin-bottom:16px}.walk-path-points-toolbar{display:flex;gap:8px;margin-bottom:12px}.walk-path-points-list{height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.walk-path-empty{text-align:center;padding:32px 16px;color:var(--bim-text-secondary, #94a3b8);font-size:14px}.walk-path-point-item{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:var(--bim-bg-elevated, #1f2d3e);border-radius:4px;transition:all .2s}.walk-path-point-item:hover{background:var(--bim-border-default, #334155)}.walk-path-point-item:hover .walk-path-point-actions{opacity:1}.walk-path-point-item-active{background:var(--bim-primary, #3b82f6)}.walk-path-point-item-active .walk-path-point-name{color:#fff}.walk-path-point-item-active .walk-path-point-actions{opacity:1}.walk-path-point-name{font-size:14px;color:var(--bim-text-primary, #fff)}.walk-path-point-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s}.walk-path-btn-icon{width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--bim-text-primary, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}.walk-path-btn-icon:hover{background:#ffffff1a}.walk-path-btn-icon-danger:hover{background:#ef444433;color:#ef4444}.model-calibration-dock-panel{width:min(760px,calc(100vw - 72px));color:var(--mcal-text-primary, #0f172a);font-size:12px;line-height:1.35}.model-calibration-btn{height:24px;border-radius:6px;border:1px solid color-mix(in srgb,var(--mcal-border, rgba(148, 163, 184, .35)) 88%,transparent 12%);background:color-mix(in srgb,var(--mcal-bg-elevated, #f8fafc) 90%,transparent 10%);color:var(--mcal-text-secondary, #64748b);font-size:12px;line-height:1;padding:0 8px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.model-calibration-btn:hover{border-color:color-mix(in srgb,var(--mcal-primary, #4f88ff) 38%,var(--mcal-border, rgba(148, 163, 184, .35)) 62%);color:var(--mcal-text-primary, #0f172a)}.model-calibration-btn:active{transform:translateY(1px)}.model-calibration-btn.is-primary{border-color:color-mix(in srgb,var(--mcal-primary, #4f88ff) 58%,transparent 42%);background:color-mix(in srgb,var(--mcal-primary-subtle, rgba(96, 140, 255, .18)) 82%,var(--mcal-bg-elevated, #f8fafc) 18%);color:color-mix(in srgb,var(--mcal-primary, #4f88ff) 80%,var(--mcal-text-primary, #0f172a) 20%)}.model-calibration-btn.is-error{border-color:#ef4444b8;color:#dc2626}.model-calibration-table-wrap{position:relative;max-height:176px;overflow:auto;border-radius:9px;border:1px solid color-mix(in srgb,var(--mcal-border, rgba(148, 163, 184, .35)) 80%,transparent 20%);background:color-mix(in srgb,var(--mcal-bg-inset, #edf1f6) 72%,transparent 28%)}.model-calibration-table{width:100%;min-width:620px;border-collapse:collapse}.model-calibration-table th,.model-calibration-table td{padding:5px 6px;border-bottom:1px solid color-mix(in srgb,var(--mcal-border, rgba(148, 163, 184, .35)) 56%,transparent 44%);text-align:left;vertical-align:middle}.model-calibration-table th{position:sticky;top:0;z-index:1;color:var(--mcal-text-secondary, #64748b);background:color-mix(in srgb,var(--mcal-bg-elevated, #f8fafc) 88%,transparent 12%);font-size:11px;font-weight:600;white-space:nowrap}.model-calibration-table tbody tr:last-child td{border-bottom:none}.model-calibration-model-cell{width:128px;max-width:128px}.model-calibration-model-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:116px}.model-calibration-model-name{color:var(--mcal-text-primary, #0f172a);font-weight:600}.model-calibration-input-cell{width:64px}.model-calibration-input{width:58px;height:24px;border-radius:6px;border:1px solid color-mix(in srgb,var(--mcal-border, rgba(148, 163, 184, .35)) 86%,transparent 14%);background:color-mix(in srgb,var(--mcal-bg-elevated, #f8fafc) 90%,transparent 10%);color:var(--mcal-text-primary, #0f172a);font-size:12px;padding:0 6px;box-sizing:border-box}.model-calibration-input:focus{outline:none;border-color:color-mix(in srgb,var(--mcal-primary, #4f88ff) 68%,transparent 32%);box-shadow:0 0 0 2px color-mix(in srgb,var(--mcal-primary-subtle, rgba(96, 140, 255, .18)) 80%,transparent 20%)}.model-calibration-action-cell{width:66px;white-space:nowrap}.model-calibration-action-cell .model-calibration-btn+.model-calibration-btn{margin-left:4px}.model-calibration-icon-btn{position:relative;width:26px;min-width:26px;padding:0;font-size:14px;font-weight:700}.model-calibration-icon-btn:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%,3px);opacity:0;pointer-events:none;padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--mcal-text-primary, #0f172a) 92%,transparent 8%);color:color-mix(in srgb,var(--mcal-bg-elevated, #f8fafc) 96%,transparent 4%);font-size:11px;font-weight:500;line-height:1;white-space:nowrap;box-shadow:0 4px 12px #0f172a29;transition:opacity .12s ease,transform .12s ease;z-index:20}.model-calibration-icon-btn:hover:after,.model-calibration-icon-btn:focus-visible:after{opacity:1;transform:translate(-50%)}.model-calibration-empty{display:none;padding:18px 24px;color:var(--mcal-text-secondary, #64748b);text-align:center}.model-calibration-empty.is-visible{display:block}@media(max-width:760px){.model-calibration-dock-panel{width:calc(100vw - 44px)}.model-calibration-table-wrap{max-height:220px}}.component-tree-drawer{--bim-component-tree-bg: #ffffff;--bim-component-tree-blur: 0px;--bim-component-tree-border: rgba(148, 163, 184, .28);--bim-component-tree-shadow: 0 14px 36px rgba(15, 23, 42, .08);--bim-component-tree-text: #0f172a;--bim-component-tree-muted: #475569;--bim-component-tree-tab-bg: #f8fafc;--bim-component-tree-tab-hover: #f1f5f9;--bim-component-tree-tab-active: #eff6ff;--bim-component-tree-tab-active-border: #3b82f6;--bim-component-tree-tab-active-text: #1d4ed8;--bim-component-tree-close-bg: #f8fafc;--bim-component-tree-close-hover: #eef2f7;--bim-component-tree-page-title: var(--bim-component-tree-text);--bim-component-tree-page-description: var(--bim-component-tree-muted);--bim-component-tree-surface: #ffffff;--bim-component-tree-surface-border: rgba(148, 163, 184, .14);--bim-component-tree-subtab-nav-bg: #e2e8f0;--bim-component-tree-subtab-nav-border: rgba(148, 163, 184, .26);--bim-component-tree-subtab-text: #334155;--bim-component-tree-subtab-hover-bg: rgba(255, 255, 255, .72);--bim-component-tree-subtab-hover-text: #0f172a;--bim-component-tree-subtab-active-bg: #ffffff;--bim-component-tree-subtab-active-text: #0f172a;--bim-component-tree-subtab-active-border: rgba(59, 130, 246, .22);--bim-component-tree-subtab-active-shadow: 0 1px 2px rgba(15, 23, 42, .08);--bim-component-tree-tree-bg: #ffffff;--bim-component-tree-tree-border: rgba(148, 163, 184, .18);position:absolute;top:0;left:0;bottom:0;width:min(320px,100%);display:flex;flex-direction:column;border:1px solid var(--bim-component-tree-border);border-radius:0;background:var(--bim-component-tree-bg);backdrop-filter:blur(var(--bim-component-tree-blur));-webkit-backdrop-filter:blur(var(--bim-component-tree-blur));box-shadow:var(--bim-component-tree-shadow);color:var(--bim-component-tree-text);overflow:hidden;transform:translate(calc(-100% - 24px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease;z-index:1200}.component-tree-drawer.is-open{transform:translate(0);opacity:1;pointer-events:auto}.component-tree-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 12px;border-bottom:1px solid var(--bim-component-tree-border)}.component-tree-drawer-tabs{min-width:0;display:flex;align-items:center;flex-wrap:nowrap}.component-tree-drawer-tab{appearance:none;border:none;background:transparent;color:var(--bim-component-tree-muted);border-radius:0;padding:8px 14px;min-height:34px;font-size:14px;font-weight:500;line-height:1;cursor:pointer;transition:color .18s ease;position:relative}.component-tree-drawer-tab:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:16px;background-color:var(--bim-component-tree-border)}.component-tree-drawer-tab:hover{color:var(--bim-component-tree-text)}.component-tree-drawer-tab.is-active{color:var(--bim-component-tree-tab-active-text);font-weight:600}.component-tree-drawer-close{flex:0 0 auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:var(--bim-component-tree-close-bg);color:var(--bim-component-tree-text);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease;margin-left:8px}.component-tree-drawer-close:hover{background:var(--bim-component-tree-close-hover);border-color:var(--bim-component-tree-border);box-shadow:inset 0 0 0 1px var(--bim-component-tree-border)}.component-tree-drawer-close svg{width:24px;height:24px}.component-tree-drawer-body{flex:1;display:flex;flex-direction:column;min-height:0;padding:10px 12px 12px;overflow:hidden}.component-tree-drawer-panel{display:none;flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.component-tree-drawer-panel.is-active{display:flex;flex-direction:column}.component-tree-drawer-page{min-height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;padding:12px;border:1px solid var(--bim-component-tree-surface-border);border-radius:8px;background:var(--bim-component-tree-surface)}.component-tree-drawer-page-title{margin:0;font-size:15px;line-height:1.3;color:var(--bim-component-tree-page-title)}.component-tree-drawer-page-description{margin:0;font-size:12px;line-height:1.6;color:var(--bim-component-tree-page-description)}.component-tree-drawer-pin-page{gap:0;padding:0;border:none;background:transparent}.component-tree-drawer-add-pin-btn{appearance:none;border:none;background:var(--bim-pin-primary, #3b82f6);color:#fff;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-shadow:0 1px 3px #3b82f64d}.component-tree-drawer-add-pin-btn:hover{background:var(--bim-pin-primary-hover, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.component-tree-drawer-add-pin-btn:active{transform:translateY(0)}.component-tree-drawer-add-pin-btn svg{width:18px;height:18px;flex-shrink:0}.component-tree-drawer-pin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;text-align:center}.component-tree-drawer-pin-empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--bim-pin-muted, #94a3b8);opacity:.5}.component-tree-drawer-pin-empty-icon svg{width:100%;height:100%}.component-tree-drawer-pin-empty-title{font-size:15px;font-weight:600;color:var(--bim-pin-text, #1e293b)}.component-tree-drawer-pin-empty-desc{font-size:13px;color:var(--bim-pin-muted, #64748b);line-height:1.5}.component-tree-drawer-pin-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden;max-height:100%;padding:0 4px}.component-tree-drawer-pin-item{background:var(--bim-pin-card-bg, #ffffff);border:1px solid var(--bim-pin-border, #e2e8f0);border-radius:12px;padding:2px;cursor:pointer;transition:all .2s ease;box-shadow:var(--bim-pin-shadow, 0 1px 3px rgba(0, 0, 0, .05));overflow:hidden}.component-tree-drawer-pin-item:hover{border-color:var(--bim-component-tree-tab-active-border, #3b82f6);box-shadow:var(--bim-pin-shadow-hover, 0 4px 12px rgba(0, 0, 0, .1));transform:translateY(-1px)}.component-tree-drawer-pin-content{display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:48px}.component-tree-drawer-pin-icon{flex:0 0 auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bim-component-tree-tab-active, #eff6ff);color:var(--bim-component-tree-tab-active-text, #1d4ed8);border-radius:10px}.component-tree-drawer-pin-icon svg{width:20px;height:20px}.component-tree-drawer-pin-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.component-tree-drawer-pin-name{font-size:14px;font-weight:600;color:var(--bim-pin-text, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.component-tree-drawer-pin-index{font-size:11px;font-weight:500;color:var(--bim-pin-muted, #94a3b8);line-height:1.3}.component-tree-drawer-pin-actions{flex:0 0 auto;display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .18s ease}.component-tree-drawer-pin-item:hover .component-tree-drawer-pin-actions{opacity:1}.component-tree-drawer-pin-action-btn{appearance:none;border:none;background:transparent;color:var(--bim-pin-muted, #94a3b8);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .18s ease;padding:0}.component-tree-drawer-pin-action-btn:hover{background:var(--bim-component-tree-tab-hover, #f1f5f9);color:var(--bim-pin-text, #1e293b)}.component-tree-drawer-pin-action-btn svg{width:16px;height:16px}.component-tree-drawer-pin-edit-wrapper{display:flex;align-items:center;gap:8px;padding:10px 14px}.component-tree-drawer-pin-input{flex:1 1 auto;min-width:0;appearance:none;border:2px solid var(--bim-component-tree-tab-active-border, #3b82f6);background:var(--bim-pin-bg, #ffffff);color:var(--bim-pin-text, #1e293b);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600;outline:none;transition:box-shadow .2s ease}.component-tree-drawer-pin-input:focus{box-shadow:0 0 0 3px #3b82f626}.component-tree-drawer-pin-edit-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.component-tree-drawer-pin-edit-btn{appearance:none;border:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .18s ease;padding:0}.component-tree-drawer-pin-edit-save{background:#10b981;color:#fff}.component-tree-drawer-pin-edit-save:hover{background:#059669}.component-tree-drawer-pin-edit-cancel{background:#f1f5f9;color:#64748b}.component-tree-drawer-pin-edit-cancel:hover{background:#e2e8f0;color:#475569}.component-tree-drawer-pin-edit-btn svg{width:16px;height:16px}.component-tree-drawer-construct-tree,.component-tree-drawer-construct-tree-mount{flex:1;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.component-tree-drawer-construct-tree-tab-container,.component-tree-drawer-construct-tree-tab-container .bim-tab,.component-tree-drawer-construct-tree-tab-container .bim-tab__content,.component-tree-drawer-construct-tree-tab-container .bim-tab__panel,.component-tree-drawer-construct-tree-panel,.component-tree-drawer-construct-tree-tab-container .construct-tab__panel-content,.component-tree-drawer-construct-tree-tab-container .bim-tree{height:100%;min-height:0;overflow:hidden}.component-tree-drawer-construct-tree-tab-container .bim-tab{display:flex;flex-direction:column;background:transparent}.component-tree-drawer-construct-tree-tab-container .bim-tab__nav{flex:0 0 auto;gap:6px;padding:4px;margin:0 0 8px;background:var(--bim-component-tree-subtab-nav-bg);border-color:var(--bim-component-tree-subtab-nav-border);border-radius:10px}.component-tree-drawer-construct-tree-tab-container .bim-tab__item{min-height:32px;padding:7px 10px;font-size:12px;font-weight:600;color:var(--bim-component-tree-subtab-text);border:1px solid transparent}.component-tree-drawer-construct-tree-tab-container .bim-tab__item:hover{color:var(--bim-component-tree-subtab-hover-text);background:var(--bim-component-tree-subtab-hover-bg)}.component-tree-drawer-construct-tree-tab-container .bim-tab__item.is-active{color:var(--bim-component-tree-subtab-active-text);background:var(--bim-component-tree-subtab-active-bg);border-color:var(--bim-component-tree-subtab-active-border);box-shadow:var(--bim-component-tree-subtab-active-shadow)}.component-tree-drawer-construct-tree-tab-container .bim-tab__content{flex:1;min-height:0;overflow:hidden}.component-tree-drawer-construct-tree-panel,.component-tree-drawer-construct-tree-tab-container .construct-tab__panel-content{overflow:hidden}.component-tree-drawer-construct-tree-tab-container .bim-tree{border:1px solid var(--bim-component-tree-tree-border);border-radius:10px;background:var(--bim-component-tree-tree-bg)}.component-tree-drawer-construct-tree-tab-container .bim-tree-search{padding:8px 8px 6px}.component-tree-drawer-construct-tree-tab-container .bim-tree-search-input{height:28px;font-size:12px}.component-tree-drawer-construct-tree-tab-container .bim-tree-content{flex:1 1 auto;min-height:0;padding:4px 6px 8px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}@media(max-width:768px){.component-tree-drawer{right:0}.component-tree-drawer-header{align-items:flex-start}.component-tree-drawer-tabs{gap:6px}.component-tree-drawer-tab{padding:8px 12px;min-height:34px}}.component-tree-drawer-view,.component-tree-drawer-view-mount{flex:1;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.component-tree-drawer-view-mount .bim-tree{height:100%;min-height:0;border:1px solid var(--bim-component-tree-tree-border);border-radius:10px;background:var(--bim-component-tree-tree-bg);overflow:hidden}.component-tree-drawer-view-mount .bim-tree-search{padding:8px 8px 6px}.component-tree-drawer-view-mount .bim-tree-search-input{height:28px;font-size:12px}.component-tree-drawer-view-mount .bim-tree-content{flex:1 1 auto;min-height:0;padding:4px 6px 8px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.component-tree-drawer-view-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:0;padding:24px;font-size:13px;color:var(--bim-component-tree-muted);text-align:center}.component-tree-drawer-pin-toolbar{position:relative;z-index:3;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:visible}.component-tree-drawer-pin-btn-group{display:flex;gap:6px;flex:1 1 auto;min-width:0;flex-wrap:nowrap}.component-tree-drawer-add-pin-btn,.component-tree-drawer-add-folder-btn,.component-tree-drawer-toggle-pins-btn{appearance:none;border:1px solid var(--bim-component-tree-tree-border);color:var(--bim-pin-text, #1e293b);border-radius:8px;padding:0 10px;height:30px;font-size:12px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--bim-pin-card-bg, #ffffff);box-shadow:none;white-space:nowrap;flex:0 0 auto;min-width:0}.component-tree-drawer-add-pin-btn svg,.component-tree-drawer-add-folder-btn svg,.component-tree-drawer-toggle-pins-btn svg{width:14px;height:14px;flex-shrink:0}.component-tree-drawer-add-pin-btn{background:var(--bim-pin-soft, rgba(59, 130, 246, .12));border-color:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 26%,var(--bim-component-tree-tree-border));color:var(--bim-component-tree-tab-active-text, #1d4ed8);flex:1 1 0}.component-tree-drawer-add-pin-btn:hover{background:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 14%,var(--bim-pin-card-bg, #ffffff));border-color:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 38%,var(--bim-component-tree-tree-border));box-shadow:none;transform:none}.component-tree-drawer-add-folder-btn{background:transparent;padding-inline:9px;flex:1 1 0}.component-tree-drawer-add-folder-btn:hover,.component-tree-drawer-toggle-pins-btn:hover{background:var(--bim-component-tree-tab-hover, #f1f5f9);border-color:var(--bim-component-tree-tree-border);color:var(--bim-pin-text, #1e293b);box-shadow:none;transform:none}.component-tree-drawer-toggle-pins-btn{position:relative;width:30px;flex:0 0 30px;padding:0;background:var(--bim-pin-card-bg, #ffffff)}.component-tree-drawer-toggle-pins-btn.is-active{background:var(--bim-pin-soft, rgba(59, 130, 246, .12));border-color:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 34%,var(--bim-component-tree-tree-border));color:var(--bim-component-tree-tab-active-text, #1d4ed8)}.component-tree-drawer-toggle-pins-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 6px);z-index:20;transform:translateY(-3px);padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--bim-pin-text, #0f172a) 92%,transparent 8%);color:var(--bim-pin-bg, #ffffff);box-shadow:0 4px 12px #0f172a29;font-size:11px;font-weight:500;line-height:1;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}.component-tree-drawer-toggle-pins-btn[data-tooltip]:hover:after,.component-tree-drawer-toggle-pins-btn[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.component-tree-drawer-add-pin-btn:focus-visible,.component-tree-drawer-add-folder-btn:focus-visible,.component-tree-drawer-toggle-pins-btn:focus-visible,.pin-node-action-btn:focus-visible,.pin-node-edit-btn:focus-visible,.pin-node-edit-input:focus-visible{outline:2px solid color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 60%,white);outline-offset:2px}.component-tree-drawer-add-pin-btn:active,.component-tree-drawer-add-folder-btn:active,.component-tree-drawer-toggle-pins-btn:active{transform:translateY(-1px)}.component-tree-drawer-pin-tree-container{position:relative;z-index:1;flex:1;min-height:0;overflow:hidden}.component-tree-drawer-pin-tree-container .bim-tree{height:100%;border:1px solid var(--bim-component-tree-tree-border);border-radius:10px;background:var(--bim-component-tree-tree-bg);overflow:hidden}.component-tree-drawer-pin-tree-container .bim-tree-content{flex:1 1 auto;min-height:0;padding:6px 8px 10px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.component-tree-drawer-pin-tree-container .bim-tree-node-content{min-height:34px;border-radius:8px;padding-right:6px}.component-tree-drawer-pin-tree-container .bim-tree-node-content.is-selected{background:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 12%,var(--bim-component-tree-tree-bg))}.component-tree-drawer-pin-tree-container .bim-tree-title{font-size:13px;font-weight:500}.component-tree-drawer-pin-tree-container .bim-tree-node-actions{display:flex}.pin-node-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .18s ease}.bim-tree-node-content:hover .pin-node-actions,.bim-tree-node-content.is-selected .pin-node-actions,.bim-tree-node-content:focus-within .pin-node-actions{opacity:1}.pin-node-action-btn{appearance:none;border:none;background:transparent;color:var(--bim-pin-muted, #94a3b8);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .18s ease;padding:0}.pin-node-action-btn:hover{background:var(--bim-component-tree-tab-hover, #f1f5f9);color:var(--bim-pin-text, #1e293b)}.pin-node-action-btn svg{width:13px;height:13px}.pin-node-edit-wrapper{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.pin-node-edit-input{flex:1;min-width:0;appearance:none;border:1px solid color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 35%,var(--bim-component-tree-tree-border));background:var(--bim-pin-bg, #ffffff);color:var(--bim-pin-text, #1e293b);border-radius:6px;padding:5px 8px;font-size:13px;font-weight:500;outline:none;transition:box-shadow .2s ease}.pin-node-edit-input:focus{box-shadow:0 0 0 3px #3b82f626}.pin-node-edit-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.pin-node-edit-btn{appearance:none;border:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .18s ease;padding:0}.pin-node-edit-btn svg{width:12px;height:12px}.pin-node-edit-save{background:#10b981;color:#fff}.pin-node-edit-save:hover{background:#059669}.pin-node-edit-cancel{background:#f1f5f9;color:#64748b}.pin-node-edit-cancel:hover{background:#e2e8f0;color:#475569}.pin-delete-dialog{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0;padding:20px 22px 18px}.pin-delete-dialog-symbol{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,#f59e0b 12%,var(--bim-pin-card-bg, #ffffff));color:#d97706;font-size:30px;font-weight:700;line-height:1}.pin-delete-dialog-text{font-size:14px;line-height:1.7;color:var(--bim-pin-text, #1e293b);word-break:break-word;text-align:center}.pin-delete-dialog-actions{display:flex;justify-content:flex-end;gap:8px;width:100%;margin-top:2px}.pin-delete-dialog-btn{min-width:88px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--bim-component-tree-tree-border);background:var(--bim-pin-card-bg, #ffffff);color:var(--bim-pin-text, #1e293b);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.pin-delete-dialog-btn.is-secondary:hover{background:var(--bim-component-tree-tab-hover, #f1f5f9)}.pin-delete-dialog-btn.is-danger{border-color:color-mix(in srgb,#ef4444 30%,var(--bim-component-tree-tree-border));background:color-mix(in srgb,#ef4444 10%,var(--bim-pin-card-bg, #ffffff));color:#b91c1c}.pin-delete-dialog-btn.is-danger:hover{background:color-mix(in srgb,#ef4444 16%,var(--bim-pin-card-bg, #ffffff))}.pin-delete-dialog-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 60%,white);outline-offset:2px}@media(max-width:560px){.component-tree-drawer-pin-btn-group{width:100%}.component-tree-drawer-add-pin-btn,.component-tree-drawer-add-folder-btn{flex:1 1 0}}@media(prefers-reduced-motion:reduce){.component-tree-drawer,.component-tree-drawer-tab,.component-tree-drawer-close{transition:none}}.bim-tab{display:flex;flex-direction:column;width:100%;height:100%;background:transparent;color:var(--bim-text-secondary)}.bim-tab__nav{display:flex;align-items:center;gap:4px;padding:4px;margin:8px 12px;background:var(--bim-bg-inset);border-radius:8px;border:1px solid var(--bim-border-subtle)}.bim-tab__item{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--bim-text-secondary);cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500}.bim-tab__item:hover{color:var(--bim-text-primary);background-color:var(--bim-component-bg-hover)}.bim-tab__item.is-active{color:var(--bim-primary);background-color:var(--bim-bg-elevated);box-shadow:0 1px 3px #0000001a}.bim-tab__item.is-disabled{opacity:.5;cursor:not-allowed}.bim-tab__icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--bim-tab-icon, currentColor)}.bim-tab__icon svg{width:100%;height:100%;fill:currentColor}.bim-tab__title{white-space:nowrap}.bim-tab__content{flex:1;display:flex;position:relative;min-height:0;overflow:hidden}.bim-tab__panel{display:none;width:100%;height:100%;flex:1}.bim-tab__panel.is-active{display:flex;flex-direction:column;height:100%}.construct-tab__container{height:100%;display:flex;flex-direction:column}.construct-tab__panel-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.construct-tab__panel-content .bim-tree{flex:1}.bim-tree{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;font-size:14px;color:var(--bim-text-primary);-webkit-user-select:none;user-select:none;position:relative;background:transparent}.bim-tree-search{padding:6px;background-color:transparent;flex-shrink:0;position:relative}.bim-tree-search-wrapper{position:relative;width:100%;display:flex;align-items:center}.bim-tree-search-icon{position:absolute;left:8px;width:16px;height:16px;color:var(--bim-text-secondary);pointer-events:none;display:flex;align-items:center;justify-content:center}.bim-tree-search-icon svg{width:100%;height:100%}.bim-tree-search-input{width:100%;height:30px;padding:4px 8px 4px 30px;border:1px solid var(--bim-border-default);border-radius:4px;outline:none;font-size:13px;color:inherit;background-color:var(--bim-bg-elevated);transition:all .2s;box-sizing:border-box}.bim-tree-search-input:focus{border-color:var(--bim-primary);box-shadow:var(--bim-focus-ring)}.bim-tree-search-results{position:absolute;top:100%;left:8px;right:8px;background-color:var(--bim-bg-elevated);border:1px solid var(--bim-border-default);box-shadow:var(--bim-shadow-md);border-radius:4px;max-height:200px;overflow-y:auto;z-index:10;display:none}.bim-tree-search-results.is-visible{display:block}.bim-tree-search-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.03)}.bim-tree-search-item:last-child{border-bottom:none}.bim-tree-search-item:hover{background-color:var(--bim-component-bg-hover)}.bim-tree-search-item-title{font-weight:500;display:block}.bim-tree-search-item-path{font-size:12px;color:var(--bim-text-secondary);margin-top:2px;display:block}.bim-tree-node-content:hover{background-color:var(--bim-component-bg-hover)}.bim-tree-switcher{width:24px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--bim-text-secondary);transition:transform .2s;flex-shrink:0}.bim-tree-switcher svg{width:12px;height:12px;fill:currentColor;transition:transform .2s}.bim-tree-switcher.is-expanded svg{transform:rotate(90deg)}.bim-tree-switcher.is-hidden{visibility:hidden}.bim-tree-checkbox{width:16px;height:16px;border:1px solid var(--bim-border-default);border-radius:2px;margin-right:8px;background-color:var(--bim-bg-elevated);position:relative;cursor:pointer;flex-shrink:0;transition:all .2s}.bim-tree-checkbox:hover{border-color:var(--bim-primary)}.bim-tree-checkbox.is-checked{background-color:var(--bim-primary);border-color:var(--bim-primary)}.bim-tree-checkbox.is-checked:after{content:"";position:absolute;top:1px;left:4px;width:5px;height:9px;border:2px solid var(--bim-text-inverse);border-top:0;border-left:0;transform:rotate(45deg)}.bim-tree-checkbox.is-indeterminate{background-color:var(--bim-bg-elevated);border-color:var(--bim-primary)}.bim-tree-checkbox.is-indeterminate:after{content:"";position:absolute;top:6px;left:3px;width:8px;height:2px;background-color:var(--bim-primary)}.bim-tree-node.is-disabled .bim-tree-checkbox{background-color:var(--bim-component-bg-disabled);border-color:var(--bim-border-disabled);cursor:not-allowed}.bim-tree-node.is-disabled .bim-tree-checkbox.is-checked{background-color:var(--bim-text-disabled)}.bim-tree-node.is-disabled .bim-tree-node-content{color:var(--bim-text-disabled);cursor:not-allowed}.bim-tree-icon{width:16px;height:16px;margin-right:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bim-tree-icon img,.bim-tree-icon svg{width:100%;height:100%}.bim-tree-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bim-tree-children{display:none;overflow:visible}.bim-tree-children.is-visible{display:block}.bim-tree-node-content.is-selected{background-color:var(--bim-component-bg-selected);color:var(--bim-primary)}.bim-tree-node-actions{display:none;align-items:center;margin-left:8px;flex-shrink:0}.bim-tree-node-content.is-selected .bim-tree-node-actions{display:flex}.bim-tree-content{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;padding:2px 0;min-height:0}.bim-tree-node{display:flex;flex-direction:column;width:100%}.bim-tree-node-content{display:flex;align-items:center;height:32px;cursor:pointer;transition:background-color .2s;border-radius:4px;padding-right:8px;width:100%;box-sizing:border-box}.bim-measure-panel{width:100%;display:flex;flex-direction:column;box-sizing:border-box;color:var(--bim-text-secondary)}.bim-measure-settings{display:none;box-sizing:border-box;color:var(--bim-text-secondary)}.bim-measure-settings-title{font-size:14px;font-weight:600;margin-bottom:10px}.bim-measure-settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.bim-measure-settings-row .label{color:var(--bim-text-secondary);font-size:13px;flex:0 0 auto}.bim-measure-settings-select{flex:0 0 auto;width:120px;height:28px;border-radius:6px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);color:var(--bim-text-primary);padding:0 8px;box-sizing:border-box;outline:none}.bim-measure-settings-hint{font-size:12px;line-height:1.4;color:var(--bim-text-tertiary);margin-top:-4px;margin-bottom:8px}.bim-measure-settings-actions{margin-top:14px;display:flex;justify-content:flex-start;gap:10px}.bim-measure-settings-save,.bim-measure-settings-cancel{flex:0 0 auto!important;width:auto;min-width:0;height:30px;padding:0 12px;border-radius:4px;cursor:pointer;box-sizing:border-box}.bim-measure-settings-save{border:none;background:var(--bim-primary);color:var(--bim-text-inverse)}.bim-measure-settings-cancel{border:1px solid var(--bim-border-default);background:transparent;color:var(--bim-text-secondary)}.bim-measure-settings-save:hover,.bim-measure-settings-save:active,.bim-measure-settings-save:focus,.bim-measure-settings-cancel:hover,.bim-measure-settings-cancel:active,.bim-measure-settings-cancel:focus{background:inherit;outline:none}.bim-measure-settings-save:hover{background:var(--bim-primary-hover)}.bim-measure-tools{display:flex;flex-direction:column;gap:8px}.bim-measure-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bim-measure-tool-btn{width:100%;height:42px;border-radius:6px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;box-sizing:border-box}.bim-measure-tool-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.bim-measure-tool-btn.is-active{border-color:var(--bim-primary);background:var(--bim-primary-subtle)}.bim-measure-tool-btn.is-active .bim-measure-tool-icon{color:var(--bim-primary)}.bim-measure-tool-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--bim-icon-default)}.bim-measure-tool-icon svg{width:100%;height:100%;fill:currentColor}.bim-measure-toggle{display:flex;justify-content:flex-end}.bim-measure-toggle-btn{height:22px;border-radius:4px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0 6px;gap:4px;font-size:12px;line-height:1}.bim-measure-toggle-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.bim-measure-toggle-text{color:var(--bim-text-secondary)}.bim-measure-toggle-icon svg{width:14px;height:14px;fill:currentColor;color:var(--bim-icon-default);transition:transform .15s ease}.bim-measure-toggle-btn.is-expanded .bim-measure-toggle-icon svg{transform:rotate(180deg)}.bim-measure-mode-options{display:none;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--bim-divider)}.bim-measure-mode-options.is-visible{display:flex}.bim-measure-radio-group{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4}.bim-measure-radio-group .bim-measure-radio-label{color:var(--bim-text-secondary);min-width:58px;flex:0 0 auto}.bim-measure-radio-group .bim-measure-radio-items{display:flex;gap:4px}.bim-measure-radio-item{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;border-radius:4px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);color:var(--bim-text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.bim-measure-radio-item:hover{border-color:var(--bim-border-strong);color:var(--bim-text-primary)}.bim-measure-radio-item.is-active{background:var(--bim-primary-subtle);border-color:var(--bim-primary);color:var(--bim-primary)}.bim-measure-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--bim-divider);display:flex;flex-direction:column;gap:10px}.bim-measure-row{display:flex;align-items:baseline;gap:8px;font-size:13px;line-height:1.4}.bim-measure-row .label{color:var(--bim-text-secondary);min-width:84px}.bim-measure-row .value{color:var(--bim-text-primary);flex:1;word-break:break-word}.bim-measure-main-number{color:#ffd24a}.bim-measure-main-number.is-laser-text,.bim-measure-main-unit{color:var(--bim-text-primary)}.bim-measure-xyz{display:flex;flex-direction:column;gap:6px}.bim-measure-xyz .value{font-variant-numeric:tabular-nums}.bim-measure-xyz-x{color:#ff4d4f!important}.bim-measure-xyz-y{color:#52c41a!important}.bim-measure-xyz-z{color:#1677ff!important}.bim-measure-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--bim-divider);display:flex;align-items:center;justify-content:flex-start;gap:10px}.bim-measure-clear-btn{background:transparent;border:none;color:var(--bim-danger);cursor:pointer;padding:0;font-size:13px;flex:0 0 auto!important;width:auto;min-width:0}.bim-measure-clear-btn:hover,.bim-measure-clear-btn:active,.bim-measure-clear-btn:focus{background:transparent;border:none;outline:none;text-decoration:none}.bim-measure-settings-btn{width:24px;height:24px;border-radius:4px;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:auto;flex:0 0 auto!important}.bim-measure-settings-btn:hover,.bim-measure-settings-btn:active,.bim-measure-settings-btn:focus{background:transparent;border:none;outline:none}.bim-measure-settings-btn svg{width:18px;height:18px;fill:currentColor;color:var(--bim-icon-default)}.section-plane-panel{display:flex;gap:8px;padding:12px 12px 16px;box-sizing:border-box}.section-plane-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:60px;outline:none;color:var(--bim-text-primary)}.section-plane-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.section-plane-btn:active{background:var(--bim-primary-subtle);border-color:var(--bim-primary)}.section-plane-btn.is-active{background:var(--bim-primary-subtle);border-color:var(--bim-primary);color:var(--bim-primary)}.section-plane-btn.is-active .section-plane-btn-icon{color:var(--bim-primary)}.section-plane-btn-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--bim-icon-default)}.section-plane-btn-icon svg{width:100%;height:100%;fill:currentColor}.section-plane-btn-label{font-size:12px;color:inherit;text-align:center;line-height:1.2}.section-axis-panel{display:flex;flex-direction:column;gap:8px;padding:12px 12px 16px;box-sizing:border-box}.section-axis-row-1{display:flex;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--bim-divider)}.section-axis-row-2{display:flex;gap:8px;padding-top:8px}.section-axis-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;background:var(--bim-bg-inset);border:1px solid var(--bim-border-default);border-radius:8px;cursor:pointer;transition:all .2s ease;outline:none;color:var(--bim-text-primary);min-height:48px}.section-axis-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.section-axis-btn.active{background:var(--bim-primary-subtle);border-color:var(--bim-primary);color:var(--bim-primary)}.section-axis-btn.active .section-axis-btn-icon{color:var(--bim-primary)}.section-axis-btn-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--bim-icon-default)}.section-axis-btn-icon svg{width:100%;height:100%}.section-axis-btn-label{font-size:12px;color:inherit;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.section-axis-btn-text{min-height:40px}.section-axis-btn-text .section-axis-btn-label{font-size:18px;font-weight:600}.section-box-panel{display:flex;flex-direction:column;padding:12px;box-sizing:border-box;-webkit-user-select:none;user-select:none}.section-box-row-buttons{display:flex;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--bim-divider)}.section-box-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;background:var(--bim-bg-inset);border:1px solid var(--bim-border-default);border-radius:8px;cursor:pointer;color:var(--bim-text-primary);min-height:44px;transition:all .2s ease}.section-box-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.section-box-btn.active{background:var(--bim-primary-subtle);border-color:var(--bim-primary);color:var(--bim-primary)}.section-box-btn.active .section-box-btn-icon{color:var(--bim-primary)}.section-box-btn-icon{width:24px;height:24px;color:var(--bim-icon-default)}.section-box-btn-icon svg{width:100%;height:100%}.section-box-btn-label{font-size:11px;white-space:nowrap}.section-box-sliders{display:flex;flex-direction:column;gap:16px;padding-top:16px}.section-box-slider{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.section-box-slider:hover{z-index:10}.section-box-slider-label{font-size:13px;font-weight:700;color:var(--bim-text-primary);min-width:14px}.section-box-slider-track{position:relative;flex:1;height:4px;background:var(--bim-border-default);border-radius:2px}.section-box-slider-range{position:absolute;top:0;height:100%;background:var(--bim-primary);border-radius:2px;pointer-events:none}.section-box-slider-handle{position:absolute;top:50%;width:14px;height:14px;background:var(--bim-bg-elevated);border:2px solid var(--bim-primary);border-radius:50%;transform:translate(-50%,-50%);cursor:grab;z-index:5;touch-action:none;transition:transform .2s,box-shadow .2s}.section-box-slider-handle:hover{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 0 0 4px var(--bim-primary-subtle)}.section-box-slider-handle.dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.2);background:var(--bim-primary)}.bim-collapse{background-color:var(--bim-bg-elevated);border:1px solid var(--bim-border-default);border-radius:8px;font-size:14px;color:var(--bim-text-primary)}.bim-collapse.is-ghost{background-color:transparent;border:none}.bim-collapse.is-ghost .bim-collapse-item{border-bottom:none}.bim-collapse.is-ghost .bim-collapse-header{background-color:var(--bim-component-bg);padding-left:12px;padding-right:0;border-bottom:1px solid var(--bim-border-default)}.bim-collapse.is-ghost .bim-collapse-header:hover{background-color:var(--bim-component-bg-hover)}.bim-collapse.is-ghost .bim-collapse-content{background-color:transparent;border-top:none}.bim-collapse-item{border-bottom:1px solid var(--bim-border-subtle)}.bim-collapse-item:last-child{border-bottom:none}.bim-collapse-item.is-disabled .bim-collapse-header{color:var(--bim-text-disabled);cursor:not-allowed}.bim-collapse-header{display:flex;align-items:center;padding:12px 16px;background-color:var(--bim-component-bg);cursor:pointer;transition:all .2s ease;position:relative}.bim-collapse-header:hover{background-color:var(--bim-component-bg-hover)}.bim-collapse-arrow{margin-right:12px;font-size:12px;width:12px;height:12px;transition:transform .24s;display:inline-flex;align-items:center;justify-content:center}.bim-collapse-arrow svg{width:100%;height:100%;fill:currentColor}.bim-collapse-item.is-active .bim-collapse-arrow{transform:rotate(90deg)}.bim-collapse-icon{margin-right:8px;display:inline-flex;align-items:center}.bim-collapse-icon svg{width:16px;height:16px;fill:currentColor}.bim-collapse-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bim-collapse-extra{margin-left:auto}.bim-collapse-content{overflow:hidden;background-color:var(--bim-bg-elevated);border-top:1px solid var(--bim-border-subtle);transition:height .2s ease-in-out,opacity .2s ease-in-out}.bim-collapse-content.is-hidden{display:none}.bim-ai-chat{position:absolute;width:440px;height:600px;display:flex;flex-direction:column;background:var(--bim-ai-panel, rgba(11, 18, 32, .95));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));border-radius:16px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 32px var(--bim-ai-shadow, rgba(0, 0, 0, .4));z-index:1000;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;resize:both;min-width:360px;min-height:400px;max-width:90vw;max-height:90vh}.bim-ai-chat-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:12px 16px;border-bottom:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));flex-shrink:0;cursor:move;-webkit-user-select:none;user-select:none;border-radius:16px 16px 0 0}.bim-ai-chat-title{font-size:18px;font-weight:600;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-chat-actions{display:flex;gap:8px}.bim-ai-chat-action-btn{width:32px;height:32px;border-radius:999px;border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));background:transparent;color:var(--bim-ai-text, #E5E7EB);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.bim-ai-chat-action-btn:hover{background:var(--bim-ai-subtle-fill, rgba(255, 255, 255, .05))}.bim-ai-chat-action-btn svg{width:18px;height:18px}.bim-ai-chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.bim-ai-msg-ai{max-width:320px}.bim-ai-msg-ai .bim-ai-bubble{background:var(--bim-ai-panel2, rgba(15, 23, 42, .95));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));border-radius:16px;padding:10px}.bim-ai-msg-ai .bim-ai-bubble-content{font-size:13px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-msg-user{display:flex;justify-content:flex-end}.bim-ai-msg-user .bim-ai-bubble{max-width:300px;background:var(--bim-ai-user-bubble, rgba(29, 78, 216, .8));border-radius:16px;padding:10px;box-shadow:0 10px 26px #0003}.bim-ai-msg-user .bim-ai-bubble-content{font-size:13px;line-height:1.4;color:var(--bim-ai-user-text, #EEF2FF)}.bim-ai-step{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;max-width:380px}.bim-ai-step-running{background:var(--bim-ai-info-soft, rgba(56, 189, 248, .1));border:1px solid rgba(56,189,248,.33)}.bim-ai-step-done{background:var(--bim-ai-success-soft, rgba(52, 211, 153, .1));border:1px solid rgba(52,211,153,.33)}.bim-ai-step-error{background:var(--bim-ai-danger-soft, rgba(239, 68, 68, .1));border:1px solid var(--bim-ai-danger-stroke, rgba(239, 68, 68, .33))}.bim-ai-step-icon{width:16px;height:16px;flex-shrink:0}.bim-ai-step-running .bim-ai-step-icon{color:var(--bim-ai-info, #38BDF8)}.bim-ai-step-done .bim-ai-step-icon{color:var(--bim-ai-success, #34D399)}.bim-ai-step-error .bim-ai-step-icon{color:var(--bim-ai-danger, #EF4444)}.bim-ai-step-text{font-size:12px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-thinking{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:var(--bim-ai-panel2, rgba(15, 23, 42, .95));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));max-width:380px}.bim-ai-thinking-icon{width:16px;height:16px;color:var(--bim-ai-muted, #94A3B8);animation:bim-ai-spin 1s linear infinite}.bim-ai-thinking-text{font-size:12px;font-weight:600;color:var(--bim-ai-muted, #94A3B8)}@keyframes bim-ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bim-ai-question-active{width:360px;border-radius:14px;background:var(--bim-ai-panel2, rgba(15, 23, 42, .95));border:1px solid var(--bim-ai-accent-stroke, rgba(59, 130, 246, .33));box-shadow:0 4px 16px var(--bim-ai-shadow, rgba(0, 0, 0, .4));overflow:hidden}.bim-ai-question-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1))}.bim-ai-question-icon{width:24px;height:24px;border-radius:6px;background:var(--bim-ai-accent-soft, rgba(59, 130, 246, .1));display:flex;align-items:center;justify-content:center;color:var(--bim-ai-accent, #3B82F6)}.bim-ai-question-icon svg{width:14px;height:14px}.bim-ai-question-title{font-size:13px;font-weight:600;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-question-content{padding:12px;display:flex;flex-direction:column;gap:10px}.bim-ai-question-text{font-size:13px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-question-options{display:flex;flex-direction:column;gap:6px}.bim-ai-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bim-ai-subtle-fill, rgba(255, 255, 255, .05));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));cursor:pointer;transition:all .2s ease}.bim-ai-option:hover{background:var(--bim-ai-subtle-fill-hover, rgba(255, 255, 255, .08))}.bim-ai-option.selected{background:var(--bim-ai-accent-soft, rgba(59, 130, 246, .1));border-color:var(--bim-ai-accent-stroke, rgba(59, 130, 246, .33))}.bim-ai-option-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--bim-ai-muted, #94A3B8);flex-shrink:0;display:flex;align-items:center;justify-content:center}.bim-ai-option.selected .bim-ai-option-radio{background:var(--bim-ai-accent, #3B82F6);border-color:var(--bim-ai-accent, #3B82F6)}.bim-ai-option-radio-dot{width:6px;height:6px;border-radius:50%;background:var(--bim-ai-accent-ink, #FFFFFF);display:none}.bim-ai-option.selected .bim-ai-option-radio-dot{display:block}.bim-ai-option-text{font-size:12px;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-option-input{flex:1;background:var(--bim-ai-textbox-fill, rgba(15, 23, 42, .6));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));border-radius:6px;padding:6px 8px;font-size:12px;color:var(--bim-ai-text, #E5E7EB);outline:none;margin-top:8px;width:100%}.bim-ai-option-input:focus{border-color:var(--bim-ai-accent-stroke, rgba(59, 130, 246, .33))}.bim-ai-question-footer{display:flex;justify-content:flex-end;padding:12px;border-top:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1))}.bim-ai-question-submit{display:flex;align-items:center;gap:4px;padding:8px 12px;border-radius:8px;background:var(--bim-ai-accent, #3B82F6);color:var(--bim-ai-accent-ink, #FFFFFF);border:none;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.bim-ai-question-submit:hover{filter:brightness(1.1)}.bim-ai-question-submit svg{width:12px;height:12px}.bim-ai-question-answered{max-width:340px;padding:10px;border-radius:12px;background:var(--bim-ai-panel2, rgba(15, 23, 42, .95));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));display:flex;flex-direction:column;gap:8px}.bim-ai-qa-row{display:flex;gap:8px;align-items:flex-start}.bim-ai-qa-badge{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.bim-ai-qa-badge-q{background:var(--bim-ai-accent-soft, rgba(59, 130, 246, .1));color:var(--bim-ai-accent, #3B82F6)}.bim-ai-qa-badge-a{background:var(--bim-ai-success-soft, rgba(52, 211, 153, .1));color:var(--bim-ai-success, #34D399)}.bim-ai-qa-question{font-size:12px;line-height:1.4;color:var(--bim-ai-muted, #94A3B8)}.bim-ai-qa-answer{font-size:12px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-chat-composer{padding:12px;border-top:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));display:flex;flex-direction:column;gap:8px;flex-shrink:0}.bim-ai-quick-prompts{display:flex;gap:8px;flex-wrap:wrap}.bim-ai-quick-prompt{padding:5px 8px;border-radius:999px;background:var(--bim-ai-subtle-fill, rgba(255, 255, 255, .05));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));color:var(--bim-ai-text, #E5E7EB);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.bim-ai-quick-prompt:hover{background:var(--bim-ai-subtle-fill-hover, rgba(255, 255, 255, .08))}.bim-ai-input-row{display:flex;gap:8px;align-items:flex-end}.bim-ai-textbox{flex:1;display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:16px;background:var(--bim-ai-textbox-fill, rgba(15, 23, 42, .6));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1))}.bim-ai-textbox:focus-within{border-color:var(--bim-ai-accent-stroke, rgba(59, 130, 246, .33))}.bim-ai-textarea{background:transparent;border:none;outline:none;resize:none;font-size:13px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB);min-height:20px;max-height:100px}.bim-ai-textarea::placeholder{color:var(--bim-ai-muted, #94A3B8)}.bim-ai-helper{display:flex;justify-content:space-between;font-size:11px;color:var(--bim-ai-muted, #94A3B8)}.bim-ai-send-btn{width:40px;height:40px;border-radius:14px;background:var(--bim-ai-accent, #3B82F6);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--bim-ai-accent-ink, #FFFFFF);transition:background .2s ease;flex-shrink:0}.bim-ai-send-btn:hover{background:var(--bim-ai-accent-hover, #2563EB)}.bim-ai-send-btn svg{width:18px;height:18px}.bim-ai-chat.light{--bim-ai-panel: rgba(255, 255, 255, .95);--bim-ai-panel2: #FFFFFF;--bim-ai-border: rgba(15, 23, 42, .1);--bim-ai-text: #0F172A;--bim-ai-muted: #475569;--bim-ai-shadow: rgba(11, 18, 32, .1);--bim-ai-subtle-fill: rgba(15, 23, 42, .05);--bim-ai-subtle-fill-hover: rgba(15, 23, 42, .08);--bim-ai-textbox-fill: #F1F5F9;--bim-ai-user-bubble: #2563EB;--bim-ai-user-text: #FFFFFF;--bim-ai-accent: #2563EB;--bim-ai-accent-soft: rgba(37, 99, 235, .08);--bim-ai-accent-stroke: rgba(37, 99, 235, .2);--bim-ai-success: #059669;--bim-ai-success-soft: rgba(5, 150, 105, .08);--bim-ai-danger: #DC2626;--bim-ai-danger-soft: rgba(220, 38, 38, .08);--bim-ai-danger-stroke: rgba(220, 38, 38, .2);--bim-ai-info: #0284C7;--bim-ai-info-soft: rgba(2, 132, 199, .08)}.bim-btn-group-root{display:flex;gap:8px;z-index:1000;position:absolute;pointer-events:auto;background:transparent}.bim-btn-group-root.static{position:relative;inset:auto;transform:none}.bim-btn-group-root.dir-row{flex-direction:row;align-items:center}.bim-btn-group-root.dir-column{flex-direction:column;align-items:stretch}.bim-btn-group-section{display:flex;gap:4px;background-color:var(--bim-btn-group-section-bg, rgba(17, 17, 17, .88));border-radius:6px;padding:4px;box-shadow:0 2px 8px #0000004d,0 1px 3px #0003}.bim-btn-group-root.dir-row .bim-btn-group-section{flex-direction:row;align-items:center}.bim-btn-group-root.dir-column .bim-btn-group-section{flex-direction:column}.opt-btn-wrapper{position:relative}.opt-btn{display:flex;cursor:pointer;border-radius:4px;transition:background-color .2s,color .2s,border-color .2s;color:var(--bim-btn-text-color, #ccc);background-color:var(--bim-btn-bg, transparent);padding:6px;align-items:center;position:relative;justify-content:center;border:1px solid transparent;outline:none}.opt-btn:hover{background-color:var(--bim-btn-hover-bg, #444)}.opt-btn.active{background-color:var(--bim-btn-active-bg, rgba(255, 255, 255, .15));color:var(--bim-btn-text-active-color, #fff)}.opt-btn.disabled{opacity:.5;cursor:not-allowed}.opt-btn-icon{width:var(--bim-icon-size, 24px);height:var(--bim-icon-size, 24px);display:flex;align-items:center;justify-content:center;color:var(--bim-icon-color, #ccc);flex-shrink:0}.opt-btn-icon svg{width:100%;height:100%;fill:currentColor}.opt-btn-arrow{font-size:10px;opacity:.6;transition:transform .2s;display:inline-block;margin-left:4px}.opt-btn-arrow.rotated{transform:rotate(180deg)}.opt-btn-text-wrapper{display:flex;align-items:center;justify-content:center;pointer-events:none}.opt-btn-label{display:inline}.opt-btn.no-label .opt-btn-label{display:none}.opt-btn.align-vertical:not(.no-label){flex-direction:column;text-align:center}.opt-btn.align-vertical:not(.no-label) .opt-btn-text-wrapper{margin-top:4px}.opt-btn.align-vertical:not(.no-label) .opt-btn-label{font-size:12px;line-height:1.2}.opt-btn.align-horizontal:not(.no-label){flex-direction:row}.opt-btn.align-horizontal:not(.no-label) .opt-btn-text-wrapper{margin-left:8px}.opt-btn.align-horizontal:not(.no-label) .opt-btn-label{font-size:14px}.opt-btn.no-label .opt-btn-text-wrapper{width:0;height:0;margin:0;padding:0;overflow:visible;position:absolute;top:0;right:0}.opt-btn.no-label .opt-btn-arrow{position:absolute;top:2px;right:2px;margin:0;font-size:8px}.opt-btn-dropdown{position:absolute;background-color:var(--bim-toolbar-bg, rgba(17, 17, 17, .95));border-radius:4px;padding:4px;box-shadow:0 4px 12px #0003;z-index:1001;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,transform .2s cubic-bezier(.2,0,.2,1),visibility .2s}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.opt-btn-dropdown{animation:dropdown-fade-in .2s cubic-bezier(.2,0,.2,1) forwards;opacity:1;visibility:visible;transform:none}.opt-btn-dropdown-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;border-radius:4px;color:var(--bim-btn-text-color, #ccc);transition:background .2s,border-color .2s,color .2s;box-sizing:border-box;border:1px solid transparent;outline:none}.opt-btn-dropdown-item .opt-btn-icon{color:var(--bim-icon-color, #ccc)}.opt-btn-dropdown-item:hover{background-color:var(--bim-btn-hover-bg, #444)}.opt-btn-dropdown-item.active{background-color:var(--bim-btn-active-bg, rgba(255, 255, 255, .15));color:var(--bim-btn-text-active-color, #fff)}.opt-btn-dropdown-item.align-horizontal{flex-direction:row}.opt-btn-dropdown-item.align-horizontal .opt-btn-icon{width:18px;height:18px;margin-right:8px}.opt-btn-dropdown-item.align-vertical{flex-direction:column;text-align:center}.opt-btn-dropdown-item.align-vertical .opt-btn-icon{width:24px;height:24px;margin-bottom:4px}.opt-btn-dropdown-item.align-vertical .opt-btn-dropdown-label{font-size:12px}.bim-btn-group-root.is-bottom-toolbar .opt-btn-icon{width:32px;height:32px}.bim-btn-group-root.is-bottom-toolbar .opt-btn{padding:8px}.bim-btn-group-root.is-bottom-toolbar.dir-row{max-width:calc(100% - 40px);overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.bim-btn-group-root.is-bottom-toolbar.dir-row .bim-btn-group-section{flex-shrink:0}.bim-btn-group-root.is-bottom-toolbar.dir-row::-webkit-scrollbar{height:4px}.bim-btn-group-root.is-bottom-toolbar.dir-row::-webkit-scrollbar-track{background:transparent}.bim-btn-group-root.is-bottom-toolbar.dir-row::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.bim-btn-group-root.is-bottom-toolbar.dir-row::-webkit-scrollbar-thumb:hover{background:#fff6}.bim-btn-group-root.type-glass-pill .bim-btn-group-section{background:var(--bim-floating-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--bim-floating-border);border-radius:9999px;box-shadow:none;padding:8px;gap:10px}.bim-btn-group-root.type-glass-pill .opt-btn{width:48px;height:48px;min-width:48px;border-radius:9999px;background:var(--bim-floating-btn-bg);border:1px solid var(--bim-floating-btn-border);box-shadow:var(--bim-floating-btn-shadow);color:var(--bim-text-primary);padding:0;transition:all .2s ease-out}.bim-btn-group-root.type-glass-pill .opt-btn:hover{background:var(--bim-floating-btn-bg-hover);transform:scale(1.05);box-shadow:var(--bim-floating-btn-shadow-hover)}.bim-btn-group-root.type-glass-pill .opt-btn:active{transform:scale(.98)}.bim-btn-group-root.type-glass-pill .opt-btn.active{background:var(--bim-primary);border:1px solid var(--bim-primary-active);color:var(--bim-text-inverse);box-shadow:var(--bim-shadow-glow)}.bim-btn-group-root.type-glass-pill .opt-btn.active:hover{background:var(--bim-primary-hover);transform:scale(1.05)}.bim-btn-group-root.type-glass-pill .opt-btn.active:active{transform:scale(.98)}.bim-btn-group-root.type-glass-pill .opt-btn.active .opt-btn-icon{color:var(--bim-icon-inverse)}.bim-btn-group-root.type-glass-pill .opt-btn.disabled{opacity:.3;cursor:not-allowed;transform:none;box-shadow:none}.bim-btn-group-root.type-glass-pill .opt-btn-icon{width:18px;height:18px;color:var(--bim-floating-icon-color);transition:color .2s ease-out}.bim-btn-group-root.type-glass-pill .opt-btn-icon svg{width:18px;height:18px}.bim-btn-group-root.type-glass-pill .opt-btn:hover .opt-btn-icon{color:var(--bim-floating-icon-color-hover)}.bim-btn-group-root.type-glass-pill .opt-btn-label{display:none!important}.bim-btn-group-root.type-glass-pill .opt-btn-text-wrapper{position:absolute;top:2px;right:2px;width:0;height:0;margin:0;padding:0}.bim-btn-group-root.type-glass-pill .opt-btn-arrow{font-size:8px;position:absolute;top:0;right:0;color:var(--bim-text-tertiary)}.opt-btn-dropdown.type-glass-pill{background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.6);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:6px}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item{display:flex;flex-direction:row;align-items:center;gap:10px;border-radius:8px;color:#334155;padding:8px 12px;font-size:13px;font-weight:400;transition:all .1s ease-out}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item:hover{background:#f1f5f9}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item:active{background:#e2e8f0}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item.active{background:#3b82f6;color:#fff}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item.active .opt-btn-icon,.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item.active .opt-btn-dropdown-label{color:#fff}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item .opt-btn-icon{width:18px;height:18px;color:#334155;flex-shrink:0}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item .opt-btn-icon svg{width:18px;height:18px}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item .opt-btn-dropdown-label{white-space:nowrap;color:#334155}.opt-btn-dropdown.type-glass-pill.theme-dark{background:var(--bim-bg-overlay);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--bim-border-default);box-shadow:var(--bim-shadow-lg)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item{color:var(--bim-text-primary)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item:hover{background:var(--bim-floating-btn-bg)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item:active{background:var(--bim-floating-btn-bg-hover)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item.active{background:var(--bim-primary);color:var(--bim-text-inverse)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item .opt-btn-icon{color:var(--bim-floating-icon-color)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item .opt-btn-dropdown-label{color:var(--bim-text-primary)}.engine-view-dropdown-host{position:relative}.engine-view-dropdown-trigger{position:absolute;top:50px;right:95px;z-index:999;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:filter .2s ease;background:none;border:none;padding:0}.engine-view-dropdown-trigger:hover{filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.engine-view-dropdown-trigger svg{width:24px;height:24px}.engine-view-dropdown-trigger--top-right{top:12px;right:12px}.engine-view-dropdown-menu{background:var(--bim-panel-bg, rgba(255, 255, 255, .95));border:1px solid var(--bim-panel-border, rgba(226, 232, 240, .6));border-radius:8px;box-shadow:var(--bim-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15));min-width:160px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:dropdownIn .15s ease-out}.engine-view-dropdown-item{padding:4px 8px;cursor:pointer;font-size:12px;color:var(--bim-text-primary, #0f172a);transition:all .15s ease;line-height:1.5;white-space:nowrap}.engine-view-dropdown-item:hover{background:var(--bim-component-bg-hover, rgba(15, 23, 42, .04));color:var(--bim-primary, #2563eb)}.engine-view-dropdown-item:active{background:var(--bim-component-bg-active, rgba(15, 23, 42, .08))}.engine-view-dropdown-item:not(:last-child){border-bottom:1px solid var(--bim-panel-border, rgba(226, 232, 240, .6))}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.bim-help-panel-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;visibility:hidden;opacity:0;transition:opacity .2s ease}.bim-help-panel-overlay.active{visibility:visible;opacity:1}.bim-help-panel-container{background:var(--bim-panel-bg);width:720px;max-width:92%;max-height:85vh;border-radius:10px;box-shadow:var(--bim-shadow-lg);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--bim-panel-border)}.bim-help-panel-close{position:absolute;right:16px;top:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;color:var(--bim-text-tertiary);background:transparent;border:none;line-height:1;z-index:10;transition:color .15s ease}.bim-help-panel-close:hover{color:var(--bim-text-primary)}.bim-help-panel-header{display:flex;justify-content:center;padding:16px 20px;gap:8px;border-bottom:1px solid var(--bim-divider);background:var(--bim-panel-header-bg);flex-shrink:0}.bim-help-panel-tab-btn{background:var(--bim-component-bg);border:1px solid var(--bim-border-default);padding:8px 28px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;border-radius:5px;color:var(--bim-text-secondary)}.bim-help-panel-tab-btn:hover{border-color:var(--bim-border-strong);color:var(--bim-text-primary)}.bim-help-panel-tab-btn.active{border:2px solid var(--bim-text-primary);color:var(--bim-text-primary);background:var(--bim-component-bg)}.bim-help-panel-body{padding:20px 24px;overflow-y:auto;flex:1}.bim-help-panel-body::-webkit-scrollbar{width:5px}.bim-help-panel-body::-webkit-scrollbar-track{background:transparent}.bim-help-panel-body::-webkit-scrollbar-thumb{background:var(--bim-scrollbar-thumb);border-radius:3px}.bim-help-panel-tab-content{display:none;grid-template-columns:repeat(3,1fr);gap:12px}.bim-help-panel-tab-content.active{display:grid}.bim-help-panel-card{background:var(--bim-component-bg);border:1px solid var(--bim-border-subtle);border-radius:8px;padding:16px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;gap:10px}.bim-help-panel-card-span-2{grid-column:span 2}.bim-help-panel-card-title{font-size:13px;color:var(--bim-text-primary);font-weight:700;width:100%;text-align:left;border-left:3px solid var(--bim-primary);padding-left:8px}.bim-help-panel-control-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--bim-text-primary);font-size:13px}.bim-help-panel-kbd{background:var(--bim-bg-base);border:1px solid var(--bim-border-default);border-radius:4px;box-shadow:0 2px 0 var(--bim-border-subtle);color:var(--bim-text-primary);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;padding:4px 10px;min-width:24px;height:26px;font-family:ui-monospace,SFMono-Regular,monospace}.bim-help-panel-wasd-group{display:flex;flex-direction:column;align-items:center;gap:4px}.bim-help-panel-kbd-row{display:flex;gap:4px}.bim-help-panel-rule-desc{font-size:12px;color:var(--bim-text-secondary);line-height:1.5;text-align:center}.bim-help-panel-bold{color:var(--bim-text-primary);font-weight:700}.bim-help-panel-mouse-box{width:22px;height:32px;border:2px solid var(--bim-text-primary);border-radius:8px;position:relative;background:var(--bim-bg-base);flex-shrink:0}.bim-help-panel-mouse-box:after{content:"";position:absolute;top:4px;left:50%;height:10px;border-right:2px solid var(--bim-text-primary);transform:translate(-50%)}.bim-help-panel-mouse-left{position:absolute;top:0;left:0;width:50%;height:55%;border-radius:6px 0 0;background:var(--bim-text-primary)}.bim-help-panel-mouse-right{position:absolute;top:0;right:0;width:50%;height:55%;border-radius:0 6px 0 0;background:var(--bim-text-primary)}.bim-help-panel-mouse-wheel{position:absolute;top:6px;left:50%;width:4px;height:8px;background:var(--bim-text-primary);border-radius:2px;transform:translate(-50%);z-index:2}.bim-help-panel-teleport-icon{width:28px;height:28px;border:2px solid var(--bim-text-primary);border-radius:50%;position:relative;display:flex;justify-content:center;align-items:center;flex-shrink:0}.bim-help-panel-teleport-icon:before,.bim-help-panel-teleport-icon:after{content:"";position:absolute;background:var(--bim-text-primary)}.bim-help-panel-teleport-icon:before{width:36px;height:2px}.bim-help-panel-teleport-icon:after{width:2px;height:36px}.bim-help-panel-teleport-inner{width:6px;height:6px;background:var(--bim-text-primary);border-radius:50%;z-index:2}.bim-help-panel-footer{display:flex;justify-content:center;gap:16px;padding:16px 24px 24px;border-top:1px solid var(--bim-divider);flex-shrink:0}.bim-help-panel-btn{padding:10px 48px;border-radius:6px;border:none;font-size:14px;cursor:pointer;font-weight:600;transition:all .15s ease}.bim-help-panel-btn-primary{background:var(--bim-primary);color:var(--bim-text-inverse)}.bim-help-panel-btn-primary:hover{background:var(--bim-primary-hover)}.bim-help-panel-btn-secondary{background:var(--bim-component-bg-hover);color:var(--bim-text-secondary);border:1px solid var(--bim-border-default)}.bim-help-panel-btn-secondary:hover{background:var(--bim-component-bg-active);color:var(--bim-text-primary)}@media(max-width:640px){.bim-help-panel-container{width:96%;max-height:90vh}.bim-help-panel-tab-content{grid-template-columns:1fr}.bim-help-panel-card-span-2{grid-column:span 1}.bim-help-panel-tab-btn{padding:8px 20px;font-size:13px}.bim-help-panel-btn{padding:10px 24px}}.engine-info-button{position:absolute;bottom:20px;left:10px;z-index:999;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:filter .2s ease;background:none;border:none;padding:0}.engine-info-button:hover{filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.engine-info-button svg{width:24px;height:24px}.originRotate{width:10px;height:10px;background-color:red}.versionText{position:absolute;right:10px;color:#86d9ff;z-index:1000;bottom:10px;font-size:10px;background:transparent;pointer-events:none}.originDiv{position:absolute;top:100px;left:100px;width:30px;height:30px;border-radius:50%;z-index:1000;pointer-events:none}.tagDiv{color:gray;background:#fffc;padding:5px;font-size:12px}.catchPoint{pointer-events:none;stroke:#08dfd7;fill:transparent;stroke-width:2}.catchLine{position:absolute;width:10px;height:10px;pointer-events:none;background-color:green}.catchPlane{position:absolute;width:10px;height:10px;pointer-events:none;background-color:#ff0}.bim-mobile-roam-controls{position:absolute;left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom));z-index:1200;display:flex;align-items:flex-end;justify-content:space-between;padding:0 22px;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none}.bim-mobile-roam-pad,.bim-mobile-roam-look-group{pointer-events:auto}.bim-mobile-roam-move-pad{width:116px;height:116px;border:1px solid rgba(255,255,255,.34);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#14182073;box-shadow:0 4px 16px #0000003d inset,0 4px 14px #0003;touch-action:none}.bim-mobile-roam-button{width:44px;height:44px;border:1px solid rgba(255,255,255,.46);border-radius:8px;color:#fff;background:#14182094;box-shadow:0 4px 14px #00000038;font-size:15px;font-weight:600;line-height:1;touch-action:none}.bim-mobile-roam-button.is-active{background:#267effc7;border-color:#ffffffb8}.bim-mobile-roam-move-pad.is-active{border-color:#267effd6;background:#142c4a8a}.bim-mobile-roam-look-group{display:flex;align-items:center;gap:12px}.bim-mobile-roam-vertical-pad{display:flex;flex-direction:column;gap:10px}.bim-mobile-roam-look-pad{width:116px;height:116px;border:1px solid rgba(255,255,255,.34);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#14182073;box-shadow:0 4px 16px #0000003d inset,0 4px 14px #0003;touch-action:none}.bim-mobile-roam-look-pad.is-active{border-color:#267effd6;background:#142c4a8a}.bim-mobile-roam-look-knob,.bim-mobile-roam-move-knob{width:46px;height:46px;border-radius:50%;background:#ffffffb8;box-shadow:0 2px 10px #00000042}@media(max-width:520px){.bim-mobile-roam-controls{padding:0 14px;bottom:max(14px,env(safe-area-inset-bottom))}.bim-mobile-roam-move-pad{width:96px;height:96px}.bim-mobile-roam-button{width:38px;height:38px;font-size:13px}.bim-mobile-roam-look-pad{width:96px;height:96px}.bim-mobile-roam-look-knob,.bim-mobile-roam-move-knob{width:38px;height:38px}}.ViewCube{position:absolute;width:120px;height:120px;top:0;right:0;z-index:999}.homeViewWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-size:100% 100%;background-repeat:no-repeat;background-color:#fff0;color:#fff;top:10px;right:100;width:20px;height:20px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.viewSettingWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-size:100% 100%;background-repeat:no-repeat;font-weight:800;background-color:#fff0;color:#fff;top:30px;right:100;width:20px;height:20px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.cameraToggleWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-color:#ffffffe6;color:#333;font-size:26px;font-weight:700;display:none;align-items:center;justify-content:center;border-radius:4px;box-shadow:0 2px 4px #0003;transition:all .3s ease;top:70px;right:90px;width:44px;height:44px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.cameraToggleWrapper.show{display:flex}.cameraToggleWrapper:hover{background-color:#fff;box-shadow:0 3px 6px #0000004d;transform:scale(1.1)}.screenshotWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-color:#ffffffe6;color:#333;font-size:20px;display:none;align-items:center;justify-content:center;border-radius:4px;box-shadow:0 2px 4px #0003;transition:all .3s ease;top:120px;right:90px;width:44px;height:44px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.screenshotWrapper.show{display:flex}.screenshotWrapper:hover{background-color:#fff;box-shadow:0 3px 6px #0000004d;transform:scale(1.1)}.fullscreenWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-color:#ffffffe6;color:#333;font-size:26px;font-weight:700;display:none;align-items:center;justify-content:center;border-radius:4px;box-shadow:0 2px 4px #0003;transition:all .3s ease;top:170px;right:90px;width:44px;height:44px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.fullscreenWrapper.show{display:flex}.fullscreenWrapper:hover{background-color:#fff;box-shadow:0 3px 6px #0000004d;transform:scale(1.1)}.measure-elevation{position:absolute;pointer-events:none}.measureSvg{position:absolute;width:1920px;height:1080px}.catch-point{position:absolute;width:10px;height:10px;background-color:red;border-radius:50%;pointer-events:none}.annotation-container{position:absolute;pointer-events:none;top:0;left:0}.measureLine{position:absolute;pointer-events:none;stroke:#009bea;fill:#009bea;filter:drop-shadow(0px 0px 2px rgba(0,0,0,.3))}.measureBack{cursor:pointer;pointer-events:auto;fill:#fff;rx:5;ry:5;filter:drop-shadow(0px 0px 3px rgba(0,0,0,.3));text-align:center}.measureLabel{position:absolute;fill:#fff;font-family:tahoma;font-size:14px;stroke:#009bea;font-weight:200;pointer-events:none;text-anchor:middle}.measurePointer{fill:#009bea}.Hight{stroke:#fff;font-weight:500;filter:drop-shadow(0px 0px 2px rgb(0,195,255))}.allow-select{pointer-events:auto}.disallow-select{pointer-events:none}.angle-annotation{position:absolute;pointer-events:auto}.measure-2d-selected.measureLine{stroke:#fff;fill:#fff;filter:drop-shadow(0 0 3px rgb(0,195,255))}.measure-2d-selected.measurePointer{fill:#fff;stroke:#00c3ff;stroke-width:2px;filter:drop-shadow(0 0 3px rgb(0,195,255))}.measure-2d-selected.measureBack{fill:#009bea;stroke:#fff;stroke-width:1px;filter:drop-shadow(0 0 4px rgb(0,195,255))}.measure-2d-selected.measureLabel{fill:#fff;stroke:none;font-weight:600}polygon.measure-2d-selected{fill:#00c3ff38}.markup-2d-layer{position:absolute;inset:0;pointer-events:none;z-index:30}.markup-2d-svg{position:absolute;inset:0;overflow:visible;pointer-events:none}.markup-2d-toolbar{position:absolute;top:8px;left:50%;transform:translate(-50%);display:none;align-items:center;gap:6px;padding:6px;background:#fff;border:1px solid #d9d9d9;border-radius:8px;box-shadow:0 4px 14px #00000024;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:1300}.markup-2d-toolbar button,.markup-2d-toolbar input{height:28px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#1f2937;font-size:12px}.markup-2d-toolbar button{width:28px;min-width:28px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.markup-2d-toolbar button:hover,.markup-2d-toolbar button.active{color:#1677ff;border-color:#1677ff;background:#eef6ff}.markup-2d-toolbar input[type=color]{width:34px;padding:2px}.markup-2d-toolbar input[type=number]{width:54px;padding:0 4px}.markup-2d-icon-button img{width:16px;height:16px;display:block;pointer-events:none}.markup-2d-divider{width:1px;height:22px;background:#e5e7eb}.markup-2d-shape{pointer-events:auto;cursor:pointer}.markup-2d-shape.selected{filter:drop-shadow(0 0 4px rgba(22,119,255,.9))}.MapController{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.engine-2d-container{position:relative;width:100%;height:100%;overflow:hidden}.engine-2d-canvas{display:block;width:100%;height:100%;outline:none}.engine-2d-version-text{position:absolute;right:10px;bottom:0;z-index:1000;color:#86d9ff;font-size:10px;background:transparent;pointer-events:none}.engine-2d-cad-cursor{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.engine-2d-cad-cursor__h{position:absolute;left:0;width:100%;height:1px;background:var(--e2d-cursor, rgba(255, 255, 255, .85));transform:translateY(-50%)}.engine-2d-cad-cursor__v{position:absolute;top:0;width:1px;height:100%;background:var(--e2d-cursor, rgba(255, 255, 255, .85));transform:translate(-50%)}.engine-2d-cad-cursor__box{position:absolute;width:8px;height:8px;border:1px solid var(--e2d-cursor, rgba(255, 255, 255, .85));transform:translate(-50%,-50%)}.engine-2d-cad-cursor--short-crosshair .engine-2d-cad-cursor__h{width:72px;left:0;transform:translate(-50%,-50%)}.engine-2d-cad-cursor--short-crosshair .engine-2d-cad-cursor__v{height:72px;top:0;transform:translate(-50%,-50%)}.engine-2d-context-menu{position:absolute;z-index:9999;min-width:140px;background:var(--e2d-bg2, #252526);border:1px solid var(--e2d-border, rgba(255, 255, 255, .12));border-radius:4px;box-shadow:0 4px 16px var(--e2d-shadow, rgba(0, 0, 0, .5));padding:4px 0;display:none;-webkit-user-select:none;user-select:none}.engine-2d-context-menu--visible{display:block}.engine-2d-context-menu__item{padding:7px 16px;font-size:13px;color:var(--e2d-text2, #cccccc);cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.engine-2d-context-menu__item:hover{background:var(--e2d-bg-accent, #094771);color:var(--e2d-text-accent, #ffffff)}.engine-2d-context-menu__divider{height:1px;background:var(--e2d-border, rgba(255, 255, 255, .1));margin:4px 0}.engine-2d-stats{position:absolute;top:10px;left:10px;background:var(--e2d-float-bg, rgba(0, 0, 0, .7));color:var(--e2d-text, #e0e0e0);padding:8px 12px;border-radius:4px;font-family:monospace;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none}.engine-2d-stats div{margin:2px 0}.engine-2d-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--e2d-float-bg, rgba(0, 0, 0, .8));color:var(--e2d-text, #e0e0e0);padding:20px 40px;border-radius:8px;font-size:16px;text-align:center}.engine-2d-loading-spinner{border:3px solid var(--e2d-border, rgba(255, 255, 255, .3));border-top:3px solid var(--e2d-accent, #4fc3f7);border-radius:50%;width:40px;height:40px;animation:engine-2d-spin 1s linear infinite;margin:0 auto 10px}@keyframes engine-2d-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.engine-2d-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#d32f2feb;color:#fff;padding:20px 40px;border-radius:8px;font-size:14px;max-width:80%;text-align:center}.engine-2d-controls-hint{position:absolute;bottom:10px;left:10px;background:var(--e2d-float-bg, rgba(0, 0, 0, .6));color:var(--e2d-text, #e0e0e0);border:1px solid var(--e2d-float-border, rgba(255, 255, 255, .08));padding:8px 12px;border-radius:4px;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none}.engine-2d-controls-hint kbd{background:var(--e2d-icon-bg, rgba(255, 255, 255, .2));color:var(--e2d-text, #e0e0e0);padding:2px 6px;border-radius:3px;font-family:monospace}.engine-2d-workspace-tabs{position:absolute;left:12px;bottom:10px;z-index:40;display:flex;align-items:center;max-width:calc(100% - 24px);overflow-x:auto;background:var(--e2d-bg2, rgba(28, 33, 40, .92));border:1px solid var(--e2d-border, rgba(255, 255, 255, .14));border-radius:4px;box-shadow:0 4px 14px var(--e2d-shadow, rgba(0, 0, 0, .28))}.engine-2d-workspace-tabs__item{flex:0 0 auto;max-width:180px;height:28px;padding:0 12px;border:0;border-right:1px solid var(--e2d-border2, rgba(255, 255, 255, .1));background:transparent;color:var(--e2d-text2, #d7dde4);font-size:12px;line-height:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.engine-2d-workspace-tabs__item:last-child{border-right:0}.engine-2d-workspace-tabs__item:hover:not(:disabled){background:var(--e2d-bg-hover, rgba(79, 195, 247, .12));color:var(--e2d-text-accent, #ffffff)}.engine-2d-workspace-tabs__item--active{background:var(--e2d-accent, #2f80ed);color:#fff;cursor:default}.engine-2d-workspace-tabs__item:disabled{opacity:.9}.engine-2d-search{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;display:none}.engine-2d-search--visible{display:block}.engine-2d-search__box{position:absolute;top:14%;left:50%;transform:translate(-50%);width:480px;max-width:calc(100% - 40px);background:var(--e2d-bg, #1e1f22);border:1px solid var(--e2d-border, rgba(255, 255, 255, .14));border-radius:10px;box-shadow:0 8px 40px var(--e2d-shadow-lg, rgba(0, 0, 0, .65)),0 2px 8px var(--e2d-shadow, rgba(0, 0, 0, .4));overflow:hidden;pointer-events:auto;animation:engine-2d-search-in .18s cubic-bezier(.34,1.2,.64,1)}@keyframes engine-2d-search-in{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.engine-2d-search__input-row{display:flex;align-items:center;padding:0 12px;gap:8px;height:48px}.engine-2d-search__icon{flex-shrink:0;color:var(--e2d-icon, rgba(255, 255, 255, .4));display:flex;align-items:center}.engine-2d-search__input{flex:1;background:transparent;border:none;outline:none;color:var(--e2d-text, #e0e0e0);font-size:14px;line-height:1.4;caret-color:var(--e2d-accent, #4fc3f7)}.engine-2d-search__input::placeholder{color:var(--e2d-text3, rgba(255, 255, 255, .25))}.engine-2d-search__clear{flex-shrink:0;background:var(--e2d-icon-bg, rgba(255, 255, 255, .08));border:none;border-radius:4px;color:var(--e2d-icon, rgba(255, 255, 255, .5));cursor:pointer;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;opacity:0;pointer-events:none;transition:opacity .15s,background .15s,color .15s}.engine-2d-search__clear:hover{background:var(--e2d-icon-bg-hover, rgba(255, 255, 255, .16));color:var(--e2d-close-hover, #ffffff)}.engine-2d-search__divider{height:1px;background:var(--e2d-border2, rgba(255, 255, 255, .08));display:none}.engine-2d-search__status{padding:6px 16px;font-size:11px;color:var(--e2d-text3, rgba(255, 255, 255, .35));display:none;-webkit-user-select:none;user-select:none}.engine-2d-search__list{list-style:none;margin:0;padding:4px 0;max-height:320px;overflow-y:auto;display:none;scrollbar-width:thin;scrollbar-color:var(--e2d-scrollbar, rgba(255, 255, 255, .15)) transparent}.engine-2d-search__list::-webkit-scrollbar{width:4px}.engine-2d-search__list::-webkit-scrollbar-track{background:transparent}.engine-2d-search__list::-webkit-scrollbar-thumb{background:var(--e2d-scrollbar, rgba(255, 255, 255, .15));border-radius:2px}.engine-2d-search__item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:background .1s;min-height:38px;flex-wrap:nowrap}.engine-2d-search__item:hover,.engine-2d-search__item--active{background:var(--e2d-bg-hover, rgba(79, 195, 247, .08))}.engine-2d-search__item-badge{flex-shrink:0;font-size:10px;font-weight:500;padding:2px 6px;border-radius:3px;letter-spacing:.03em;white-space:nowrap;color:var(--e2d-accent, #4fc3f7);background:#4fc3f71f}.engine-2d-search__item-name{flex:1;font-size:13px;color:var(--e2d-text, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.engine-2d-search__item-layer{flex-shrink:0;font-size:11px;color:var(--e2d-text3, rgba(255, 255, 255, .3));white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.engine-2d-search__item-desc{flex-shrink:0;font-size:11px;color:var(--e2d-text4, rgba(255, 255, 255, .25));white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.engine-2d-search__mark{background:transparent;color:var(--e2d-accent, #4fc3f7);font-weight:600}.engine-2d-mouse-coord{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:var(--e2d-float-bg, rgba(0, 0, 0, .65));color:var(--e2d-text, #e0e0e0);padding:5px 14px;border-radius:4px;font-family:monospace;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none;border:1px solid var(--e2d-float-border, rgba(255, 255, 255, .08))}.engine-2d-mouse-coord__label{color:var(--e2d-coord-label, rgba(255, 255, 255, .45));font-size:11px;letter-spacing:.05em}.engine-2d-mouse-coord__value{min-width:90px;color:var(--e2d-coord-value, #76c8ff)}.panorama-annotation-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.panorama-annotation{position:absolute;pointer-events:auto;cursor:pointer;transform:translate(-50%,-50%);transition:opacity .2s ease,transform .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.panorama-annotation:hover{z-index:1001;transform:translate(-50%,-50%) scale(1.1)}.panorama-annotation-icon{width:40px;height:40px}.panorama-annotation-icon img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.panorama-annotation-text{max-width:200px;text-align:center;line-height:1.4}.panorama-annotation-link{transition:background-color .2s ease,transform .2s ease}.panorama-annotation-link:hover{z-index:1002}.panorama-annotation-link img{display:block;flex-shrink:0}.panorama-annotation.hidden{display:none!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.panorama-annotation.loading{animation:pulse 1.5s ease-in-out infinite}@media(max-width:768px){.panorama-annotation-icon{width:32px;height:32px}.panorama-annotation-text,.panorama-annotation-link{font-size:12px!important;padding:6px 10px!important}}.cesium-svgPath-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-button{display:inline-block;position:relative;background:#303336;border:1px solid #444;color:#edffff;fill:#edffff;border-radius:4px;padding:5px 12px;margin:2px 3px;cursor:pointer;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-button:focus{color:#fff;fill:#fff;border-color:#ea4;outline:none}.cesium-button:hover{color:#fff;fill:#fff;background:#48b;border-color:#aef;box-shadow:0 0 8px #fff}.cesium-button:active{color:#000;fill:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-button:disabled,.cesium-button-disabled,.cesium-button-disabled:focus,.cesium-button-disabled:hover,.cesium-button-disabled:active{background:#303336;border-color:#444;color:#646464;fill:#646464;box-shadow:none;cursor:default}.cesium-button option{background-color:#000;color:#eee}.cesium-button option:disabled{color:#777}.cesium-button input,.cesium-button label{cursor:pointer}.cesium-button input{vertical-align:sub}.cesium-toolbar-button{box-sizing:border-box;width:32px;height:32px;border-radius:14%;padding:0;vertical-align:middle;z-index:0}.cesium-performanceDisplay-defaultContainer{position:absolute;top:50px;right:10px;text-align:right}.cesium-performanceDisplay{background-color:#282828b3;padding:7px;border-radius:5px;border:1px solid #444;font:700 12px sans-serif}.cesium-performanceDisplay-fps{color:#e52}.cesium-performanceDisplay-throttled{color:#a42}.cesium-performanceDisplay-ms{color:#de3}.cesium-animation-theme{visibility:hidden;display:block;position:absolute;z-index:-100}.cesium-animation-themeNormal{color:#222}.cesium-animation-themeHover{color:#4488b0}.cesium-animation-themeSelect{color:#242}.cesium-animation-themeDisabled{color:#333}.cesium-animation-themeKnob{color:#222}.cesium-animation-themePointer{color:#2e2}.cesium-animation-themeSwoosh{color:#8ac}.cesium-animation-themeSwooshHover{color:#aef}.cesium-animation-svgText{fill:#edffff;font-family:Sans-Serif;font-size:15px;text-anchor:middle}.cesium-animation-blank{fill:#000;fill-opacity:.01;stroke:none}.cesium-animation-rectButton{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-rectButton .cesium-animation-buttonGlow{fill:#fff;stroke:none;display:none}.cesium-animation-rectButton:hover .cesium-animation-buttonGlow{display:block}.cesium-animation-rectButton .cesium-animation-buttonPath{fill:#edffff}.cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#444;stroke-width:1.2}.cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#aef}.cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-animation-buttonDisabled{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#555}.cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-animation-buttonDisabled .cesium-animation-buttonGlow{display:none}.cesium-animation-buttonToggled .cesium-animation-buttonGlow{display:block;fill:#2e2}.cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-shuttleRingG,.cesium-animation-shuttleRingPointer,.cesium-animation-shuttleRingPausePointer{cursor:pointer}.cesium-animation-shuttleRingBack{fill:#181818;fill-opacity:.8;stroke:#333;stroke-width:1.2}.cesium-animation-shuttleRingSwoosh line{stroke:#8ac;stroke-width:3;stroke-opacity:.2;stroke-linecap:round}.cesium-animation-knobOuter{cursor:pointer;stroke:#444;stroke-width:1.2}.cesium-animation-knobInner{cursor:pointer}.cesium-baseLayerPicker-selected{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.cesium-baseLayerPicker-dropDown{display:block;position:absolute;box-sizing:content-box;top:auto;right:0;width:320px;max-height:500px;margin-top:5px;background-color:#262626bf;border:1px solid #444;padding:6px;overflow:auto;border-radius:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;transform:translateY(-20%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-baseLayerPicker-dropDown-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-baseLayerPicker-sectionTitle{display:block;font-family:sans-serif;font-size:16pt;text-align:left;color:#edffff;margin-bottom:4px}.cesium-baseLayerPicker-choices{margin-bottom:5px}.cesium-baseLayerPicker-categoryTitle{color:#edffff;font-size:11pt}.cesium-baseLayerPicker-choices{display:block;border:1px solid #888;border-radius:5px;padding:5px 0}.cesium-baseLayerPicker-item{display:inline-block;vertical-align:top;margin:2px 5px;width:64px;text-align:center;cursor:pointer}.cesium-baseLayerPicker-itemLabel{display:block;font-family:sans-serif;font-size:8pt;text-align:center;vertical-align:middle;color:#edffff;cursor:pointer;word-wrap:break-word}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel,.cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel{text-decoration:underline}.cesium-baseLayerPicker-itemIcon{display:inline-block;position:relative;width:inherit;height:auto;background-size:100% 100%;border:solid 1px #444;border-radius:9px;color:#edffff;margin:0;padding:0;cursor:pointer;box-sizing:border-box}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#fff;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#bdecf8}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px rgb(189,236,248)}.cesium-widget{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-widget,.cesium-widget canvas{width:100%;height:100%;touch-action:none}.cesium-widget-credits{display:block;position:absolute;bottom:0;left:0;color:#fff;font-size:10px;text-shadow:0px 0px 2px #000000;padding-right:5px}.cesium-widget-errorPanel{position:absolute;inset:0;text-align:center;background:#000000b3;z-index:99999}.cesium-widget-errorPanel:before{display:inline-block;vertical-align:middle;height:100%;content:""}.cesium-widget-errorPanel-content{width:75%;max-width:500px;display:inline-block;text-align:left;vertical-align:middle;border:1px solid #510c00;border-radius:7px;background-color:#f0d9d5;font-size:14px;color:#510c00}.cesium-widget-errorPanel-content.expanded{max-width:75%}.cesium-widget-errorPanel-header{font-size:18px;font-family:Open Sans,Verdana,Geneva,sans-serif;background:#d69d93;border-bottom:2px solid #510c00;border-radius:3px 3px 0 0;padding:15px}.cesium-widget-errorPanel-scroll{overflow:auto;font-family:Open Sans,Verdana,Geneva,sans-serif;white-space:pre-wrap;padding:0 15px;margin:10px 0 20px}.cesium-widget-errorPanel-buttonPanel{padding:0 15px;margin:10px 0 20px;text-align:right}.cesium-widget-errorPanel-buttonPanel button{border-color:#510c00;background:#d69d93;color:#202020;margin:0}.cesium-widget-errorPanel-buttonPanel button:focus{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:hover{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:active{border-color:#510c00;background:#b17b72;color:#510c00}.cesium-widget-errorPanel-more-details{text-decoration:underline;cursor:pointer}.cesium-widget-errorPanel-more-details:hover{color:#2b0700}.cesium-cesiumInspector{border-radius:5px;transition:width ease-in-out .25s;background:#303336cc;border:1px solid #444;color:#edffff;display:inline-block;position:relative;padding:4px 12px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.cesium-cesiumInspector-button{text-align:center;font-size:11pt}.cesium-cesiumInspector-visible .cesium-cesiumInspector-button{border-bottom:1px solid #aaa;padding-bottom:3px}.cesium-cesiumInspector input:enabled,.cesium-cesiumInspector-button{cursor:pointer}.cesium-cesiumInspector-visible{width:185px;height:auto}.cesium-cesiumInspector-hidden{width:122px;height:17px}.cesium-cesiumInspector-sectionContent{max-height:600px}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent{max-height:0;padding:0!important;overflow:hidden}.cesium-cesiumInspector-dropDown{margin:5px 0;font-family:sans-serif;font-size:10pt;width:185px}.cesium-cesiumInspector-frustumStatistics{padding:5px;background-color:#505050bf}.cesium-cesiumInspector-pickButton{background-color:#0000004d;border:1px solid #444;color:#edffff;border-radius:5px;padding:3px 7px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;margin:0 auto}.cesium-cesiumInspector-pickButton:focus{outline:none}.cesium-cesiumInspector-pickButton:active,.cesium-cesiumInspector-pickButtonHighlight{color:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-cesiumInspector-center{text-align:center}.cesium-cesiumInspector-sectionHeader{font-weight:700;font-size:10pt;margin:0;cursor:pointer}.cesium-cesiumInspector-pickSection{border:1px solid #aaa;border-radius:5px;padding:3px;margin-bottom:5px}.cesium-cesiumInspector-sectionContent{margin-bottom:10px;transition:max-height .25s}.cesium-cesiumInspector-tileText{padding-bottom:10px;border-bottom:1px solid #aaa}.cesium-cesiumInspector-relativeText{padding-top:10px}.cesium-cesiumInspector-sectionHeader:before{margin-right:5px;content:"-";width:1ch;display:inline-block}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader:before{content:"+"}ul.cesium-cesiumInspector-statistics{margin:0;padding-top:3px;padding-bottom:3px}ul.cesium-cesiumInspector-statistics+ul.cesium-cesiumInspector-statistics{border-top:1px solid #aaa}.cesium-cesiumInspector-slider{margin-top:5px}.cesium-cesiumInspector-slider input[type=number]{text-align:left;background-color:#222;outline:none;border:1px solid #444;color:#edffff;width:100px;border-radius:3px;padding:1px;margin-left:10px;cursor:auto}.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button,.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=range]{margin-left:5px;vertical-align:middle}.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor{display:none}.cesium-cesiumInspector-styleEditor{padding:10px;border-radius:5px;background:#303336cc;border:1px solid #444}.cesium-cesiumInspector-styleEditor textarea{width:100%;height:300px;background:transparent;color:#edffff;border:none;padding:0;white-space:pre;overflow-wrap:normal;overflow-x:auto}.cesium-3DTilesInspector{width:300px;pointer-events:all}.cesium-3DTilesInspector-statistics{font-size:11px}.cesium-3DTilesInspector-disabledElementsInfo{margin:5px 0 0;padding:0 0 0 20px;color:#eed202}.cesium-3DTilesInspector div,.cesium-3DTilesInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-cesiumInspector-error{color:#ff9e9e;overflow:auto}.cesium-3DTilesInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-3DTilesInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}input.cesium-cesiumInspector-url{overflow:hidden;white-space:nowrap;overflow-x:scroll;background-color:transparent;color:#fff;outline:none;border:none;height:1em;width:100%}.cesium-cesiumInspector .field-group{display:table}.cesium-cesiumInspector .field-group>label{display:table-cell;font-weight:700}.cesium-cesiumInspector .field-group>.field{display:table-cell;width:100%}.cesium-VoxelInspector{width:300px;pointer-events:all}.cesium-VoxelInspector div,.cesium-VoxelInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-VoxelInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-VoxelInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}.cesium-button.cesium-fullscreenButton,.cesium-button.cesium-vrButton{display:block;width:100%;height:100%;margin:0;border-radius:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input{border:solid 1px #444;background-color:#282828b3;color:#fff;display:inline-block;vertical-align:middle;width:0;height:32px;margin:0;padding:0 32px 0 0;border-radius:0;box-sizing:border-box;transition:width ease-in-out .25s,background-color .2s ease-in-out;-webkit-appearance:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{border-color:#ea4;background-color:#0f0f0fe6;box-shadow:none;outline:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide{padding-left:4px;width:250px}.cesium-viewer-geocoderContainer .search-results{position:absolute;background-color:#000;color:#eee;overflow-y:auto;opacity:.8;width:100%}.cesium-viewer-geocoderContainer .search-results ul{list-style-type:none;margin:0;padding:0}.cesium-viewer-geocoderContainer .search-results ul li{font-size:14px;padding:3px 10px}.cesium-viewer-geocoderContainer .search-results ul li:hover{cursor:pointer}.cesium-viewer-geocoderContainer .search-results ul li.active{background:#48b}.cesium-geocoder-searchButton{background-color:#303336;display:inline-block;position:absolute;cursor:pointer;width:32px;top:1px;right:1px;height:30px;vertical-align:middle;fill:#edffff}.cesium-geocoder-searchButton:hover{background-color:#48b}.cesium-infoBox{display:block;position:absolute;top:50px;right:0;width:40%;max-width:480px;background:#262626f2;color:#edffff;border:1px solid #444;border-right:none;border-top-left-radius:7px;border-bottom-left-radius:7px;box-shadow:0 0 10px 1px #000;transform:translate(100%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-infoBox-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-infoBox-title{display:block;height:20px;padding:5px 30px 5px 25px;background:#545454;border-top-left-radius:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:content-box}.cesium-infoBox-bodyless .cesium-infoBox-title{border-bottom-left-radius:7px}button.cesium-infoBox-camera{display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;background:transparent;border-color:transparent;border-radius:3px;padding:0 5px;margin:0}button.cesium-infoBox-close{display:block;position:absolute;top:5px;right:5px;height:20px;background:transparent;border:none;border-radius:2px;font-weight:700;font-size:16px;padding:0 5px;margin:0;color:#edffff}button.cesium-infoBox-close:focus{background:#ee880070;outline:none}button.cesium-infoBox-close:hover{background:#888;color:#000}button.cesium-infoBox-close:active{background:#a00;color:#000}.cesium-infoBox-bodyless .cesium-infoBox-iframe{display:none}.cesium-infoBox-iframe{border:none;width:100%;width:calc(100% - 2px)}span.cesium-sceneModePicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-sceneModePicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-sceneModePicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none{display:none}.cesium-sceneModePicker-slide-svg{transition:left 2s;top:0;left:0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D{margin:0 0 3px}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView{left:200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D{left:-200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}span.cesium-projectionPicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-projectionPicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-projectionPicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-projectionPicker-wrapper .cesium-projectionPicker-none{display:none}.cesium-projectionPicker-wrapper .cesium-projectionPicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective,.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic{margin:0 0 3px}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective .cesium-projectionPicker-iconOrthographic{left:100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic .cesium-projectionPicker-iconPerspective{left:-100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-performance-watchdog-message-area{position:relative;background-color:#ff0;color:#000;padding:10px}.cesium-performance-watchdog-message{margin-right:30px}.cesium-performance-watchdog-message-dismiss{position:absolute;right:0;margin:0 10px 0 0}.cesium-navigationHelpButton-wrapper{position:relative;display:inline-block}.cesium-navigation-help{visibility:hidden;position:absolute;top:38px;right:2px;width:250px;border-radius:10px;transform:scale(.01);transform-origin:234px -10px;transition:visibility 0s .25s,transform .25s ease-in}.cesium-navigation-help-visible{visibility:visible;transform:scale(1);transition:transform .25s ease-out}.cesium-navigation-help-instructions{border:1px solid #444;background-color:#262626bf;padding-bottom:5px;border-radius:0 0 10px 10px}.cesium-click-navigation-help{display:none}.cesium-touch-navigation-help{display:none;padding-top:5px}.cesium-click-navigation-help-visible,.cesium-touch-navigation-help-visible{display:block}.cesium-navigation-help-pan{color:#6cf;font-weight:700}.cesium-navigation-help-zoom{color:#65fd00;font-weight:700}.cesium-navigation-help-rotate{color:#ffd800;font-weight:700}.cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-navigation-help-details{color:#fff}.cesium-navigation-button{color:#fff;background-color:transparent;border-bottom:none;border-top:1px solid #444;border-right:1px solid #444;margin:0;width:50%;cursor:pointer}.cesium-navigation-button-icon{vertical-align:middle;padding:5px 1px}.cesium-navigation-button:focus{outline:none}.cesium-navigation-button-left{border-radius:10px 0 0;border-left:1px solid #444}.cesium-navigation-button-right{border-radius:0 10px 0 0;border-left:none}.cesium-navigation-button-selected{background-color:#262626bf}.cesium-navigation-button-unselected{background-color:#000000bf}.cesium-navigation-button-unselected:hover{background-color:#4c4c4cbf}.cesium-selection-wrapper{position:absolute;width:160px;height:160px;pointer-events:none;visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in}.cesium-selection-wrapper-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out}.cesium-selection-wrapper svg{fill:#2e2;stroke:#000;stroke-width:1.1px}.cesium-timeline-main{position:relative;left:0;bottom:0;overflow:hidden;border:solid 1px #888;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-timeline-trackContainer{width:100%;overflow:auto;border-top:solid 1px #888;position:relative;top:0;left:0}.cesium-timeline-tracks{position:absolute;top:0;left:0;width:100%}.cesium-timeline-needle{position:absolute;left:0;top:1.7em;bottom:0;width:1px;background:red}.cesium-timeline-bar{position:relative;left:0;top:0;overflow:hidden;cursor:pointer;width:100%;height:1.7em;background:linear-gradient(to bottom,#747577cc,#3a4452cc 11%,#2e3238cc 46%,#353535cc 81% 100%)}.cesium-timeline-ruler{visibility:hidden;white-space:nowrap;font-size:80%;z-index:-200}.cesium-timeline-highlight{position:absolute;bottom:0;left:0;background:#08f}.cesium-timeline-ticLabel{position:absolute;top:0;left:0;white-space:nowrap;font-size:80%;color:#eee}.cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#eee}.cesium-timeline-ticSub{position:absolute;bottom:0;left:0;width:1px;height:33%;background:#aaa}.cesium-timeline-ticTiny{position:absolute;bottom:0;left:0;width:1px;height:25%;background:#888}.cesium-timeline-icon16{display:block;position:absolute;width:16px;height:16px;background-image:url(data:text/plain;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sIDBITKIVzLEMAAAKNSURBVEjHxdXNSxRhHAfw7zzrqhuoWJnSkrippUVSEKsHI9BTUYdAJA/RoYMREV26rAdn6tAfUARi16hQqkOBQRgUEYFWEC3OwczMjdZd92VmdWfmeelgTjO7q7gb0VzmmZnn85vvPPPMM8B/3qTcE2PPpuTZKB1eWuUQACgXYACYwVFbCTTVeZXB/i55o4LFelcAZfStYD4vpAoPGAGo4GBcQEgSOAUMQyAezwK6iQfDPXnhS/FkHZ+/8VLMWxxqWkfH3gbMRNOYi2roavbja0zHQmoFPYf8ED4Ko4aivm9MOG/u9I8mwrafeK7a/tVrNc/bARYN5noadeq7q0342vXw9CIMU6BmW8rVP9cPBPe52uu+v3O/y9sB4gkTWs6Qsk0mj5ExXMelejvA8WafYmkmGPHanTijdtvif8rx5RiCjdWKs2Cp3jWRDl96KhrbqlBeJqBOLyLQXg0IgbkZDS0dO8EZxZfPSTA9jvDDK3mT0OmP1FXh3XwEEAKdTX5MRWLgjCK4pwH3xt/YnjgLHAv4lHTCAKMMu/wV+KZGob6PoKyMQ0+sgBpZVJZn0NterxQaVqef/DRn+/EXYds/mZx2eVeAW9d65dhCEsaKCb7K8HH0gqTevyh9GDkn0VULRiaLzJKGBu9swfdaiie5RVo9ESURN8E8BE0n7ggACJy8KzghSCzp6DmwWxkaCm24EBXr8wI8Hrkq06QBiRC0t24HALS11IBTCyJl4vb1AXmzpbVYTwoVOXN0h7L8Mwtm8bXPybIQ/5FCX3dA2cr6XowvGCA02CvztAnz9+JiZk1AMxG6fEreSoBiPNmoyNnuWiWVzAIAtISO08E6pZi/3N96AIDn4E3h3P8L/wshP+txtEs4JAAAAABJRU5ErkJggg==);background-repeat:no-repeat}.cesium-viewer{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-viewer-cesiumWidgetContainer{width:100%;height:100%}.cesium-viewer-bottom{display:block;position:absolute;bottom:0;left:0;padding-right:5px}.cesium-viewer .cesium-widget-credits{display:inline;position:static;bottom:auto;left:auto;padding-right:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000000}.cesium-viewer-timelineContainer{position:absolute;bottom:0;left:169px;right:29px;height:27px;padding:0;margin:0;overflow:hidden;font-size:14px}.cesium-viewer-animationContainer{position:absolute;bottom:0;left:0;padding:0;width:169px;height:112px}.cesium-viewer-fullscreenContainer,.cesium-viewer-vrContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-toolbar{display:block;position:absolute;top:5px;right:5px}.cesium-viewer-cesiumInspectorContainer{display:block;position:absolute;top:50px;right:10px}.cesium-viewer-geocoderContainer{position:relative;display:inline-block;margin:0 3px}.cesium-viewer-cesium3DTilesInspectorContainer,.cesium-viewer-voxelInspectorContainer{display:block;position:absolute;top:50px;right:10px;max-height:calc(100% - 120px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.cesium-viewer-i3s-explorer ul{list-style-type:none}.cesium-viewer-i3s-explorer .layersList{padding:0}.cesium-viewer-i3s-explorer input{margin:0 3px 0 0}.cesium-viewer-i3s-explorer .expandItem{cursor:pointer;-webkit-user-select:none;user-select:none;width:20px}.cesium-viewer-i3s-explorer .nested,.cesium-viewer-i3s-explorer #bsl-wrapper{display:none}.cesium-viewer-i3s-explorer .active{display:block}.cesium-viewer-i3s-explorer .li-wrapper{display:flex;flex-direction:row;align-content:center}.bim-engine-gis-container,.bim-engine-gis-container .cesium-viewer,.bim-engine-gis-container .cesium-viewer-cesiumWidgetContainer,.bim-engine-gis-container .cesium-widget,.bim-engine-gis-container canvas{width:100%;height:100%}.bim-engine-gis-container{position:relative;overflow:hidden;background:#111827}.bim-engine-gis-container .cesium-widget canvas{display:block}.bim-engine-gis-performance-monitor{position:absolute;top:8px;right:8px;z-index:1200;width:96px;padding:6px 8px;border:1px solid rgba(148,163,184,.32);border-radius:4px;background:#0f172ac7;color:#e5edf7;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:15px;pointer-events:none;box-sizing:border-box}.bim-engine-gis-performance-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.bim-engine-gis-performance-value{color:#7dd3fc;font-weight:700;text-align:right}.gis-model-calibration-dock-panel{width:min(860px,calc(100vw - 72px));color:var(--gmcal-text-primary, #0f172a);font-size:12px;line-height:1.35}.gis-model-calibration-table-wrap{position:relative;max-height:206px;overflow:auto;border-radius:9px;border:1px solid color-mix(in srgb,var(--gmcal-border, rgba(148, 163, 184, .35)) 80%,transparent 20%);background:color-mix(in srgb,var(--gmcal-bg-inset, #edf1f6) 72%,transparent 28%)}.gis-model-calibration-table{width:100%;min-width:760px;border-collapse:collapse}.gis-model-calibration-table th,.gis-model-calibration-table td{padding:5px 6px;border-bottom:1px solid color-mix(in srgb,var(--gmcal-border, rgba(148, 163, 184, .35)) 56%,transparent 44%);text-align:left;vertical-align:middle}.gis-model-calibration-table th{position:sticky;top:0;z-index:1;color:var(--gmcal-text-secondary, #64748b);background:color-mix(in srgb,var(--gmcal-bg-elevated, #f8fafc) 88%,transparent 12%);font-size:11px;font-weight:600;white-space:nowrap}.gis-model-calibration-table tbody tr:last-child td{border-bottom:none}.gis-model-calibration-model-cell{width:150px;max-width:150px}.gis-model-calibration-model-name,.gis-model-calibration-model-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:138px}.gis-model-calibration-model-name{color:var(--gmcal-text-primary, #0f172a);font-weight:600}.gis-model-calibration-model-url{margin-top:2px;color:var(--gmcal-text-secondary, #64748b);font-size:11px}.gis-model-calibration-input-cell{width:66px}.gis-model-calibration-input{width:60px;height:24px;border-radius:6px;border:1px solid color-mix(in srgb,var(--gmcal-border, rgba(148, 163, 184, .35)) 86%,transparent 14%);background:color-mix(in srgb,var(--gmcal-bg-elevated, #f8fafc) 90%,transparent 10%);color:var(--gmcal-text-primary, #0f172a);font-size:12px;padding:0 6px;box-sizing:border-box}.gis-model-calibration-input:focus{outline:none;border-color:color-mix(in srgb,var(--gmcal-primary, #4f88ff) 68%,transparent 32%);box-shadow:0 0 0 2px color-mix(in srgb,var(--gmcal-primary-subtle, rgba(96, 140, 255, .18)) 80%,transparent 20%)}.gis-model-calibration-action-cell{width:68px;white-space:nowrap}.gis-model-calibration-btn{position:relative;width:26px;min-width:26px;height:24px;padding:0;border-radius:6px;border:1px solid color-mix(in srgb,var(--gmcal-border, rgba(148, 163, 184, .35)) 88%,transparent 12%);background:color-mix(in srgb,var(--gmcal-bg-elevated, #f8fafc) 90%,transparent 10%);color:var(--gmcal-text-secondary, #64748b);font-size:14px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.gis-model-calibration-btn+.gis-model-calibration-btn{margin-left:4px}.gis-model-calibration-btn:hover{border-color:color-mix(in srgb,var(--gmcal-primary, #4f88ff) 38%,var(--gmcal-border, rgba(148, 163, 184, .35)) 62%);color:var(--gmcal-text-primary, #0f172a)}.gis-model-calibration-btn:active{transform:translateY(1px)}.gis-model-calibration-btn.is-primary{border-color:color-mix(in srgb,var(--gmcal-primary, #4f88ff) 58%,transparent 42%);background:color-mix(in srgb,var(--gmcal-primary-subtle, rgba(96, 140, 255, .18)) 82%,var(--gmcal-bg-elevated, #f8fafc) 18%);color:color-mix(in srgb,var(--gmcal-primary, #4f88ff) 80%,var(--gmcal-text-primary, #0f172a) 20%)}.gis-model-calibration-btn.is-error{border-color:#ef4444b8;color:#dc2626}.gis-model-calibration-empty{display:none;padding:18px 24px;color:var(--gmcal-text-secondary, #64748b);text-align:center}.gis-model-calibration-empty.is-visible{display:block}@media(max-width:760px){.gis-model-calibration-dock-panel{width:calc(100vw - 44px)}.gis-model-calibration-table-wrap{max-height:240px}}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.bim-engine-wrapper{position:relative;width:100%;height:100%;font-family:sans-serif;box-sizing:border-box;overflow:hidden;background:linear-gradient(to bottom,#d6e0eb,#f6faff)}.bim-engine-opt-btn-container{z-index:100}.bim-construct-tree-btn{position:absolute;top:20px;left:20px!important;z-index:100}.bim-engine-footer-info{position:absolute;bottom:6px;left:10px;display:flex;align-items:center;gap:12px;z-index:1;font-family:system-ui,-apple-system,sans-serif;font-size:11px;letter-spacing:.3px;pointer-events:none;-webkit-user-select:none;user-select:none}.bim-engine-version{color:#00000040;white-space:nowrap}.bim-engine-stats{color:#00000059;white-space:nowrap}.bim-engine-size{position:absolute;bottom:6px;right:10px;font-size:11px;color:#00000059;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;font-family:system-ui,-apple-system,sans-serif;letter-spacing:.3px}.versionText{position:absolute;right:10px;color:#86d9ff;z-index:1000;bottom:0;font-size:10px;background:transparent;pointer-events:none}.homeViewWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-image:url(/assets/viewcube/home.png);background-size:100% 100%;background-repeat:no-repeat;background-color:#fff0;color:#fff;top:10px;right:100;width:20px;height:20px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.bim-dialog{position:absolute;background:var(--bim-dialog-bg, var(--bim-bg-elevated));border:1px solid var(--bim-dialog-border-color, var(--bim-border-default));border-radius:var(--bim-dialog-radius, 4px);box-shadow:var(--bim-shadow-lg);display:flex;flex-direction:column;z-index:10001;color:var(--bim-dialog-text-color, var(--bim-text-secondary));overflow:hidden;min-width:200px;min-height:100px;pointer-events:auto}.bim-dialog-header{position:relative;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px 0 18px;cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0;border-bottom:1px solid var(--bim-border-subtle, var(--bim-dialog-border-color, var(--bim-border-default)));box-shadow:var(--bim-shadow-sm);z-index:1}.bim-dialog-header.draggable{cursor:move}.bim-dialog-title{flex:1;min-width:0;font-size:18px;font-weight:300;line-height:1.2;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bim-dialog-title-color, var(--bim-text-primary))}.bim-dialog-close{display:flex;align-items:center;justify-content:center;width:38px;height:38px;cursor:pointer;color:var(--bim-text-secondary);border-radius:4px;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;flex-shrink:0;margin-left:8px}.bim-dialog-close:hover{color:var(--bim-text-primary);background-color:var(--bim-component-bg-hover, rgba(15, 23, 42, .06));box-shadow:inset 0 0 0 1px var(--bim-border-subtle, var(--bim-dialog-border-color, var(--bim-border-default)))}.bim-dialog-close svg{display:block;width:20px;height:20px}.bim-dialog-content{flex:1;overflow:auto;font-size:14px;color:var(--bim-dialog-text-color, var(--bim-text-secondary));background:var(--bim-dialog-bg, var(--bim-bg-elevated))}.bim-dialog-resize-handle{position:absolute;width:28px;height:28px;right:2px;bottom:2px;cursor:se-resize;z-index:10;border-radius:4px 0;transition:background-color .2s ease}.bim-dialog-resize-handle:hover{background:var(--bim-component-bg-hover, rgba(15, 23, 42, .04))}.bim-dialog-resize-handle:after{content:"";position:absolute;right:7px;bottom:7px;width:11px;height:11px;border-right:2px solid var(--bim-text-tertiary);border-bottom:2px solid var(--bim-text-tertiary)}.bim-dialog-resize-handle:before{content:"";position:absolute;right:11px;bottom:11px;width:6px;height:6px;border-right:2px solid var(--bim-text-tertiary);border-bottom:2px solid var(--bim-text-tertiary);opacity:.85}.bim-dialog-resize-handle:hover:after,.bim-dialog-resize-handle:hover:before{border-color:var(--bim-text-primary)}.bim-model-color-picker{position:fixed;z-index:10020;width:196px;padding:10px 12px 12px;box-sizing:border-box;border:1px solid var(--bim-model-color-picker-border, rgba(255, 255, 255, .14));border-radius:12px;background:var(--bim-model-color-picker-bg, rgba(24, 28, 34, .96));box-shadow:var(--bim-model-color-picker-shadow, 0 18px 48px rgba(0, 0, 0, .36));color:var(--bim-model-color-picker-text, #f4f7fb);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.bim-model-color-picker__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.bim-model-color-picker__title{font-size:13px;font-weight:600;letter-spacing:.02em;line-height:20px}.bim-model-color-picker__close{all:unset;display:flex;align-items:center;justify-content:center;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;box-sizing:border-box;padding:0!important;border:0!important;border-radius:4px;background:transparent!important;color:var(--bim-model-color-picker-muted, rgba(255, 255, 255, .82));cursor:pointer;font:600 16px/1 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;text-align:center;appearance:none!important}.bim-model-color-picker__close:hover{background:var(--bim-model-color-picker-btn-hover, rgba(255, 255, 255, .16));color:var(--bim-model-color-picker-text, #fff)}.bim-model-color-picker__presets{display:grid;grid-template-columns:repeat(4,24px);justify-content:space-between;gap:8px 10px;margin-bottom:12px}.bim-model-color-picker__swatch{display:block;width:24px;height:24px;min-width:24px;min-height:24px;box-sizing:border-box;padding:0;border:0;border-radius:999px;box-shadow:none;cursor:pointer;appearance:none;transition:transform .16s ease}.bim-model-color-picker__swatch:hover{transform:translateY(-1px) scale(1.08)}.bim-model-color-picker__opacity{display:block;margin-bottom:10px;color:var(--bim-model-color-picker-muted, rgba(255, 255, 255, .78));font-size:12px}.bim-model-color-picker__opacity-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.bim-model-color-picker__opacity-value{color:var(--bim-model-color-picker-text, #f4f7fb);font-variant-numeric:tabular-nums}.bim-model-color-picker__opacity input{width:100%;height:16px;margin:0;padding:0;cursor:pointer;accent-color:var(--bim-model-color-picker-text, #2563eb)}.bim-model-color-picker__custom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--bim-model-color-picker-muted, rgba(255, 255, 255, .78));font-size:12px}.bim-model-color-picker__custom input{width:40px;height:24px;box-sizing:border-box;padding:2px;border:1px solid var(--bim-model-color-picker-border, rgba(255, 255, 255, .14));border-radius:8px;background:var(--bim-model-color-picker-input-bg, transparent);cursor:pointer}.bim-right-key{position:fixed;z-index:10000;display:none;background:transparent}.bim-right-key.visible{display:block}.bim-menu{display:flex;flex-direction:column;background:var(--bim-bg-elevated);border:1px solid var(--bim-border-default);border-radius:8px;padding:6px;margin:0;list-style:none;box-shadow:var(--bim-shadow-lg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-user-select:none;user-select:none;color:var(--bim-text-primary)}.bim-menu-group{display:flex;flex-direction:column}.bim-menu-divider{height:1px;background-color:var(--bim-divider);margin:4px 0}.bim-menu-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;transition:all .2s ease;font-size:13px;position:relative;color:var(--bim-text-primary);border-radius:6px}.bim-menu-item:hover{background-color:var(--bim-component-bg-hover)}.bim-menu-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.bim-menu-item-icon{display:none}.bim-menu.has-icons .bim-menu-item-icon{width:16px;height:16px;margin-right:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bim-menu-item-icon svg{width:100%;height:100%;fill:currentColor}.bim-menu-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bim-menu-item-arrow{width:12px;height:12px;margin-left:8px;display:flex;align-items:center;justify-content:center;opacity:.7}.bim-menu-item-arrow svg{width:100%;height:100%;fill:currentColor}.radial-toolbar-wrapper{position:absolute;right:20px;bottom:20px;z-index:1000;pointer-events:none}.radial-main-btn,.radial-sub-btn{border:1px solid transparent;border-radius:9999px;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;outline:none;transition:transform .22s ease,opacity .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease}.radial-main-btn{position:absolute;right:0;bottom:0;width:var(--rt-main-size, 70px);height:var(--rt-main-size, 70px);background:var(--rt-main-bg, rgba(255, 255, 255, .92));border-color:var(--rt-main-border, rgba(203, 213, 225, .65));box-shadow:var(--rt-main-shadow, 0 4px 12px rgba(0, 0, 0, .12));color:var(--rt-main-icon, #334155)}.radial-main-btn:hover{transform:translateZ(0) scale(1.04);background:var(--rt-main-bg-hover, #ffffff);box-shadow:var(--rt-main-shadow-hover, 0 6px 20px rgba(0, 0, 0, .14));color:var(--rt-main-icon-hover, #1e293b)}.radial-main-btn:active{transform:translateZ(0) scale(.97)}.radial-main-btn svg{width:34px;height:34px}.radial-sub-btn{position:absolute;right:var(--rt-main-offset, 10px);bottom:var(--rt-main-offset, 10px);width:var(--rt-sub-size, 50px);height:var(--rt-sub-size, 50px);background:var(--rt-sub-bg, rgba(255, 255, 255, .9));border-color:var(--rt-sub-border, rgba(203, 213, 225, .65));box-shadow:var(--rt-sub-shadow, 0 2px 8px rgba(0, 0, 0, .1));color:var(--rt-sub-icon, #334155);opacity:0;transform:translate(0) scale(.76);transform-origin:center;--rt-delay-current: var(--rt-close-delay, 0s);transition-delay:var(--rt-delay-current)}.radial-toolbar-wrapper.is-active .radial-sub-btn{--rt-delay-current: var(--rt-open-delay, 0s);opacity:1;transform:translate(var(--rt-x),var(--rt-y)) scale(1)}.radial-sub-btn:hover{background:var(--rt-sub-bg-hover, var(--bim-primary, #2563eb));box-shadow:var(--rt-sub-shadow-hover, 0 4px 14px rgba(0, 0, 0, .16));color:var(--rt-sub-icon-hover, var(--bim-text-inverse, #ffffff))}.radial-sub-btn.is-active,.radial-sub-btn[data-active=true]{background:var(--bim-primary, #2563eb);border:1px solid var(--bim-primary-active, #1d4ed8);box-shadow:var(--bim-shadow-glow, 0 0 0 2px rgba(37, 99, 235, .28));color:var(--bim-text-inverse, #ffffff)}.radial-sub-btn.is-active:hover,.radial-sub-btn[data-active=true]:hover{background:var(--bim-primary-hover, #3b82f6)}.radial-sub-btn.is-active .radial-sub-btn-icon,.radial-sub-btn[data-active=true] .radial-sub-btn-icon{color:var(--bim-icon-inverse, #ffffff)}.radial-sub-btn:active{transform:translate(var(--rt-x),var(--rt-y)) scale(.94)}.radial-sub-btn-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}.radial-sub-btn-icon svg{width:100%;height:100%}.bottom-dock-stack{position:absolute;left:50%;bottom:20px;transform:translate(-50%);width:0;height:0;z-index:1000;pointer-events:none}.bottom-dock-panel{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:fit-content;max-width:calc(100vw - 40px);pointer-events:auto;border-radius:12px;border:1px solid var(--bd-border, rgba(148, 163, 184, .35));background:var(--bd-bg, rgba(255, 255, 255, .94));box-shadow:var(--bd-shadow, 0 2px 8px rgba(15, 23, 42, .1));transition:transform .22s ease,opacity .2s ease;overflow:visible;z-index:1}.bottom-dock-panel:hover,.bottom-dock-panel:focus-within{z-index:10}.bottom-dock-panel.is-entering{opacity:0}.bottom-dock-panel.is-leaving{opacity:0;pointer-events:none}.bottom-dock-panel-close{position:absolute;top:5px;right:5px;transform:translate(35%,-35%);z-index:2;width:16px;height:16px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--bd-close-color, #475569);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.bottom-dock-panel-close:hover{background:var(--bd-close-bg-hover, rgba(15, 23, 42, .08));color:var(--bd-close-color-hover, #0f172a);border-color:var(--bd-close-border-hover, rgba(148, 163, 184, .3))}.bottom-dock-panel-close:active{transform:translate(35%,-35%) scale(.96)}.bottom-dock-panel-body{min-height:50px;padding:10px;background:var(--bd-body-bg, transparent);width:fit-content;max-width:calc(100vw - 40px);box-sizing:border-box;border-radius:inherit}.bottom-dock-placeholder{border-radius:8px;border:1px dashed var(--bd-placeholder-border, rgba(148, 163, 184, .55));padding:10px;color:var(--bd-placeholder-text, #64748b);font-size:12px;line-height:1.5;text-align:center}.measure-dock-panel{width:fit-content;max-width:100%;padding:0;border-radius:8px;border:none;box-sizing:border-box;color:var(--bim-text-secondary, #475569);font-size:13px;line-height:1.5}.measure-dock-panel-main{display:block}.measure-dock-panel-settings{display:none;flex-direction:column;gap:6px;min-height:74px;box-sizing:border-box}.measure-dock-settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.measure-dock-settings-label{color:var(--bim-text-secondary, #64748b);font-size:12px}.measure-dock-settings-select{width:88px;height:24px;border-radius:6px;border:1px solid rgba(148,163,184,.36);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 90%,#ffffff 10%);color:var(--bim-text-primary, #0f172a);font-size:12px;padding:0 6px;box-sizing:border-box}.measure-dock-settings-actions{display:flex;justify-content:flex-end;gap:8px}.measure-dock-settings-btn{height:24px;min-width:52px;border-radius:6px;border:1px solid rgba(148,163,184,.36);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 90%,#ffffff 10%);color:var(--bim-text-secondary, #64748b);font-size:12px;line-height:1;cursor:pointer}.measure-dock-settings-btn.is-save{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 46%,transparent 54%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.measure-dock-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.measure-dock-clearheight-options{display:none;flex-direction:column;gap:8px;margin-bottom:10px;padding:8px;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 90%,#ffffff 10%)}.measure-dock-clearheight-options.is-visible{display:flex}.measure-dock-clearheight-group{display:flex;align-items:center;gap:8px}.measure-dock-clearheight-label{min-width:60px;color:var(--bim-text-secondary, #64748b);font-size:12px}.measure-dock-clearheight-buttons{display:flex;gap:8px}.measure-dock-clearheight-btn{height:28px;padding:0 10px;border-radius:6px;border:1px solid rgba(148,163,184,.36);background:color-mix(in srgb,var(--bim-bg-elevated, #f8fafc) 88%,#ffffff 12%);color:var(--bim-text-secondary, #64748b);font-size:12px;line-height:1;cursor:pointer;transition:all .15s ease}.measure-dock-clearheight-btn:hover{border-color:#94a3b88f}.measure-dock-clearheight-btn.is-active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);background:color-mix(in srgb,var(--bim-primary-subtle, rgba(96, 140, 255, .18)) 72%,#ffffff 28%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.measure-dock-panel-mode-zone{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.measure-dock-panel-mode-row{display:grid;grid-template-columns:repeat(5,32px);gap:10px}.measure-dock-panel-mode-row-secondary{display:none}.measure-dock-panel-mode-btn{width:32px;height:32px;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:color-mix(in srgb,var(--bim-text-secondary, #64748b) 94%,#475569 6%);display:inline-flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;cursor:pointer;transition:all .15s ease}.measure-dock-panel-mode-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.measure-dock-panel-mode-icon svg{width:100%;height:100%;fill:currentColor}.measure-dock-panel-mode-btn:hover{border-color:#94a3b880;background:color-mix(in srgb,var(--bim-component-bg-hover, #dce5f2) 64%,#ffffff 36%)}.measure-dock-panel-mode-btn.is-active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bim-primary, #4f88ff) 35%,transparent 65%)}.measure-dock-panel-actions{flex:0 0 auto;display:flex;flex-direction:row;gap:10px;align-items:center}.measure-dock-panel-action-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(148,163,184,.22);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:var(--bim-text-secondary, #475569);padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.measure-dock-panel-action-btn:hover{border-color:#94a3b880;color:var(--bim-text-primary, #0f172a)}.measure-dock-panel-action-btn svg{width:18px;height:18px;fill:currentColor}.measure-dock-panel-action-expand{width:16px;height:32px}.measure-dock-panel-action-expand.is-expanded{height:74px}.measure-dock-panel-action-expand.is-collapsed{height:32px}.measure-dock-panel-action-clear{background:color-mix(in srgb,var(--bim-danger, #ef4444) 16%,#ffffff 84%);border-color:color-mix(in srgb,var(--bim-danger, #ef4444) 26%,transparent 74%);color:var(--bim-danger, #ef4444)}.measure-dock-panel-action-clear:hover{border-color:color-mix(in srgb,var(--bim-danger, #ef4444) 40%,transparent 60%);color:var(--bim-danger, #ef4444)}.measure-dock-panel-action-settings{color:color-mix(in srgb,var(--bim-text-primary, #0f172a) 86%,#000 14%)}.measure-dock-panel-mode-row .measure-dock-panel-action-btn{border-radius:8px}.measure-dock-panel-action-expand svg{transition:transform .15s ease}.measure-dock-panel-action-expand.is-expanded svg{transform:rotate(180deg)}.measure-dock-panel [data-tooltip]{position:relative}.measure-dock-panel [data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:4px 8px;border-radius:6px;background:#0f172aeb;color:#f8fafc;font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:8;transition:opacity 60ms ease}.measure-dock-panel [data-tooltip]:hover:after,.measure-dock-panel [data-tooltip]:focus-visible:after{opacity:1;visibility:visible}@media(max-width:720px){.measure-dock-panel-top{flex-direction:column}.measure-dock-clearheight-group{flex-direction:column;align-items:flex-start;gap:6px}.measure-dock-panel-actions{width:100%;flex-direction:row;justify-content:flex-end}.measure-dock-panel-action-btn,.measure-dock-panel-mode-btn{width:32px;height:32px}.measure-dock-panel-action-expand{width:16px;height:32px}.measure-dock-panel-action-expand.is-expanded{height:74px}}.section-dock-panel{position:relative;width:fit-content;max-width:100%;display:flex;flex-direction:column;gap:10px;color:var(--bim-text-secondary, #475569)}.section-dock-axis-panel{display:none;width:fit-content;border-radius:8px;padding:0;gap:10px}.section-dock-axis-panel.is-visible{display:flex}.section-dock-axis-btn{width:32px;height:32px;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:color-mix(in srgb,var(--bim-text-secondary, #64748b) 94%,#475569 6%);font-size:16px;line-height:1;box-sizing:border-box;padding:0;cursor:pointer;transition:all .15s ease}.section-dock-axis-btn:hover{border-color:#94a3b880;background:color-mix(in srgb,var(--bim-component-bg-hover, #dce5f2) 64%,#ffffff 36%)}.section-dock-axis-btn.is-active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);background:color-mix(in srgb,var(--bim-primary-subtle, rgba(96, 140, 255, .18)) 72%,#ffffff 28%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.section-dock-main{display:flex;align-items:center;gap:10px;padding:0;border-radius:8px}.section-dock-types,.section-dock-tools{display:flex;align-items:center;gap:10px}.section-dock-divider{width:1px;height:32px;background:color-mix(in srgb,var(--bim-border-default, #cbd5e1) 84%,transparent 16%)}.section-dock-divider.is-hidden{display:none}.section-dock-type-btn,.section-dock-tool-btn{width:32px;height:32px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:color-mix(in srgb,var(--bim-text-secondary, #64748b) 94%,#475569 6%);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;padding:0;transition:all .15s ease}.section-dock-type-btn:hover,.section-dock-tool-btn:hover{border-color:var(--bim-border-strong, rgba(100, 116, 139, .6));background:color-mix(in srgb,var(--bim-component-bg-hover, #dce5f2) 64%,#ffffff 36%)}.section-dock-type-btn.is-active,.section-dock-tool-btn.is-active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.section-dock-type-icon,.section-dock-tool-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.section-dock-type-icon svg,.section-dock-tool-icon svg{width:100%;height:100%;fill:currentColor}.section-dock-panel [data-tooltip]{position:relative}.section-dock-panel [data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:4px 8px;border-radius:6px;background:#0f172aeb;color:#f8fafc;font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:8;transition:opacity 60ms ease}.section-dock-panel [data-tooltip]:hover:after,.section-dock-panel [data-tooltip]:focus-visible:after{opacity:1;visibility:visible}.section-dock-toast{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px);padding:6px 10px;border-radius:8px;background:#0f172aeb;color:#f8fafc;font-size:12px;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease;z-index:9}.section-dock-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.walk-dock-panel{display:flex;align-items:center;gap:10px;padding:0;background:transparent;border:none;border-radius:8px;box-shadow:none;color:var(--bim-text-secondary, #64748b);-webkit-user-select:none;user-select:none}.walk-dock-panel .walk-divider{height:32px;width:1px;background:var(--bim-divider);flex-shrink:0}.walk-dock-left{display:flex;gap:10px}.walk-dock-settings{display:flex;align-items:center;gap:10px;flex:1}.walk-icon-btn{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:color-mix(in srgb,var(--bim-text-secondary, #64748b) 94%,#475569 6%);cursor:pointer;transition:all .2s ease}.walk-icon-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:10;transform:translate(-50%) translateY(4px);padding:4px 8px;border-radius:6px;background:color-mix(in srgb,var(--bim-bg-elevated, #1f2937) 94%,#000000 6%);color:var(--bim-text-primary, #ffffff);box-shadow:var(--bim-shadow-lg, 0 10px 24px rgba(0, 0, 0, .22));font-size:12px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .16s ease,transform .16s ease}.walk-icon-btn[data-tooltip]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);z-index:10;transform:translate(-50%) translateY(4px);border:5px solid transparent;border-top-color:color-mix(in srgb,var(--bim-bg-elevated, #1f2937) 94%,#000000 6%);pointer-events:none;opacity:0;transition:opacity .16s ease,transform .16s ease}.walk-icon-btn[data-tooltip]:hover:after,.walk-icon-btn[data-tooltip]:hover:before,.walk-icon-btn[data-tooltip]:focus-visible:after,.walk-icon-btn[data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%) translateY(0)}.walk-icon-btn:hover{border-color:#94a3b880;background:color-mix(in srgb,var(--bim-component-bg-hover, #dce5f2) 64%,#ffffff 36%)}.walk-icon-btn.active{border-color:color-mix(in srgb,var(--bim-primary, #4f88ff) 70%,#9db9ff 30%);background:color-mix(in srgb,var(--bim-primary-subtle, rgba(96, 140, 255, .18)) 72%,#ffffff 28%);color:color-mix(in srgb,var(--bim-primary, #4f88ff) 78%,#6f9dff 22%)}.walk-icon-btn svg{width:20px;height:20px}.walk-icon-btn.active svg{fill:currentColor}.walk-speed-control{display:flex;align-items:center;gap:8px}.walk-speed-label,.walk-checkbox-label,.walk-select-label{font-size:12px;color:var(--bim-text-primary);white-space:nowrap}.walk-speed-group{display:flex;align-items:center;gap:8px;padding:2px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);border-radius:6px}.walk-speed-btn{width:24px;height:24px;font-size:14px;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-elevated, #f8fafc) 88%,#ffffff 12%);color:var(--bim-text-primary, #0f172a);border-radius:4px;cursor:pointer;transition:all .2s ease}.walk-speed-btn:hover{border-color:#94a3b880}.walk-speed-btn:disabled{opacity:.5;cursor:not-allowed}.walk-speed-display{min-width:30px;font-size:12px;color:var(--bim-text-primary, #0f172a);text-align:center;font-weight:700}.walk-checkbox-wrapper{display:flex;align-items:center;gap:8px;cursor:pointer}.walk-checkbox{width:14px;height:14px;accent-color:var(--bim-primary, #3b82f6);cursor:pointer}.walk-checkbox:disabled,.walk-checkbox-wrapper input:disabled+.walk-checkbox-label{opacity:.5;cursor:not-allowed}.walk-select-wrapper{display:flex;align-items:center;gap:8px}.walk-select{min-width:90px;height:24px;padding:2px 8px;font-size:12px;border:1px solid rgba(148,163,184,.28);background:color-mix(in srgb,var(--bim-bg-inset, #edf1f6) 92%,#ffffff 8%);color:var(--bim-text-primary, #0f172a);border-radius:6px;cursor:pointer}.walk-select option{background:var(--bim-bg-elevated);color:var(--bim-text-primary)}.walk-exit-btn{height:32px;padding:0 12px;border-radius:8px;font-size:12px;background:var(--bim-primary);border:none;color:var(--bim-text-inverse);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.walk-exit-btn:hover{background:var(--bim-primary-hover);transform:scale(1.02)}.walk-path-panel{padding:16px;box-sizing:border-box}.walk-path-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s;box-sizing:border-box}.walk-path-btn-group{display:flex;gap:8px;margin-top:16px}.walk-path-btn-play{flex:1;height:32px;padding:0 16px;background:var(--bim-primary, #3b82f6);color:#fff}.walk-path-btn-play:hover:not(:disabled){opacity:.9}.walk-path-btn-play:disabled{opacity:.5;cursor:not-allowed}.walk-path-btn-stop{flex:1;height:32px;padding:0 16px;background:#ef4444;color:#fff}.walk-path-btn-stop:hover:not(:disabled){opacity:.9}.walk-path-btn-stop:disabled{opacity:.5;cursor:not-allowed}.walk-path-btn-small{height:28px;padding:0 12px;font-size:12px;background:var(--bim-bg-elevated, #1f2d3e);color:var(--bim-text-primary, #fff);border:1px solid var(--bim-border-default, #334155)}.walk-path-btn-small:hover{background:var(--bim-border-default, #334155)}.walk-path-btn-danger{color:#ef4444}.walk-path-settings{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.walk-path-form-group{display:flex;flex-direction:column;gap:6px}.walk-path-form-group label{font-size:12px;color:var(--bim-text-secondary, #94a3b8)}.walk-path-form-group-inline{flex-direction:row;align-items:center}.walk-path-input{padding:8px 12px;border:1px solid var(--bim-border-default, #334155);border-radius:4px;background:var(--bim-bg-elevated, #1f2d3e);color:var(--bim-text-primary, #fff);font-size:14px;width:100%;box-sizing:border-box}.walk-path-input:focus{outline:none;border-color:var(--bim-primary, #3b82f6)}.walk-path-input-wrapper{display:flex;align-items:center;gap:8px}.walk-path-input-wrapper .walk-path-input{flex:1}.walk-path-unit{color:var(--bim-text-secondary, #94a3b8);font-size:14px}.walk-path-checkbox{width:16px;height:16px;margin-right:8px}.walk-path-points-section{margin-bottom:16px}.walk-path-points-toolbar{display:flex;gap:8px;margin-bottom:12px}.walk-path-points-list{height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.walk-path-empty{text-align:center;padding:32px 16px;color:var(--bim-text-secondary, #94a3b8);font-size:14px}.walk-path-point-item{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:var(--bim-bg-elevated, #1f2d3e);border-radius:4px;transition:all .2s}.walk-path-point-item:hover{background:var(--bim-border-default, #334155)}.walk-path-point-item:hover .walk-path-point-actions{opacity:1}.walk-path-point-item-active{background:var(--bim-primary, #3b82f6)}.walk-path-point-item-active .walk-path-point-name{color:#fff}.walk-path-point-item-active .walk-path-point-actions{opacity:1}.walk-path-point-name{font-size:14px;color:var(--bim-text-primary, #fff)}.walk-path-point-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s}.walk-path-btn-icon{width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--bim-text-primary, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}.walk-path-btn-icon:hover{background:#ffffff1a}.walk-path-btn-icon-danger:hover{background:#ef444433;color:#ef4444}.model-calibration-dock-panel{width:min(760px,calc(100vw - 72px));color:var(--mcal-text-primary, #0f172a);font-size:12px;line-height:1.35}.model-calibration-btn{height:24px;border-radius:6px;border:1px solid color-mix(in srgb,var(--mcal-border, rgba(148, 163, 184, .35)) 88%,transparent 12%);background:color-mix(in srgb,var(--mcal-bg-elevated, #f8fafc) 90%,transparent 10%);color:var(--mcal-text-secondary, #64748b);font-size:12px;line-height:1;padding:0 8px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.model-calibration-btn:hover{border-color:color-mix(in srgb,var(--mcal-primary, #4f88ff) 38%,var(--mcal-border, rgba(148, 163, 184, .35)) 62%);color:var(--mcal-text-primary, #0f172a)}.model-calibration-btn:active{transform:translateY(1px)}.model-calibration-btn.is-primary{border-color:color-mix(in srgb,var(--mcal-primary, #4f88ff) 58%,transparent 42%);background:color-mix(in srgb,var(--mcal-primary-subtle, rgba(96, 140, 255, .18)) 82%,var(--mcal-bg-elevated, #f8fafc) 18%);color:color-mix(in srgb,var(--mcal-primary, #4f88ff) 80%,var(--mcal-text-primary, #0f172a) 20%)}.model-calibration-btn.is-error{border-color:#ef4444b8;color:#dc2626}.model-calibration-table-wrap{position:relative;max-height:176px;overflow:auto;border-radius:9px;border:1px solid color-mix(in srgb,var(--mcal-border, rgba(148, 163, 184, .35)) 80%,transparent 20%);background:color-mix(in srgb,var(--mcal-bg-inset, #edf1f6) 72%,transparent 28%)}.model-calibration-table{width:100%;min-width:620px;border-collapse:collapse}.model-calibration-table th,.model-calibration-table td{padding:5px 6px;border-bottom:1px solid color-mix(in srgb,var(--mcal-border, rgba(148, 163, 184, .35)) 56%,transparent 44%);text-align:left;vertical-align:middle}.model-calibration-table th{position:sticky;top:0;z-index:1;color:var(--mcal-text-secondary, #64748b);background:color-mix(in srgb,var(--mcal-bg-elevated, #f8fafc) 88%,transparent 12%);font-size:11px;font-weight:600;white-space:nowrap}.model-calibration-table tbody tr:last-child td{border-bottom:none}.model-calibration-model-cell{width:128px;max-width:128px}.model-calibration-model-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:116px}.model-calibration-model-name{color:var(--mcal-text-primary, #0f172a);font-weight:600}.model-calibration-input-cell{width:64px}.model-calibration-input{width:58px;height:24px;border-radius:6px;border:1px solid color-mix(in srgb,var(--mcal-border, rgba(148, 163, 184, .35)) 86%,transparent 14%);background:color-mix(in srgb,var(--mcal-bg-elevated, #f8fafc) 90%,transparent 10%);color:var(--mcal-text-primary, #0f172a);font-size:12px;padding:0 6px;box-sizing:border-box}.model-calibration-input:focus{outline:none;border-color:color-mix(in srgb,var(--mcal-primary, #4f88ff) 68%,transparent 32%);box-shadow:0 0 0 2px color-mix(in srgb,var(--mcal-primary-subtle, rgba(96, 140, 255, .18)) 80%,transparent 20%)}.model-calibration-action-cell{width:66px;white-space:nowrap}.model-calibration-action-cell .model-calibration-btn+.model-calibration-btn{margin-left:4px}.model-calibration-icon-btn{position:relative;width:26px;min-width:26px;padding:0;font-size:14px;font-weight:700}.model-calibration-icon-btn:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%,3px);opacity:0;pointer-events:none;padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--mcal-text-primary, #0f172a) 92%,transparent 8%);color:color-mix(in srgb,var(--mcal-bg-elevated, #f8fafc) 96%,transparent 4%);font-size:11px;font-weight:500;line-height:1;white-space:nowrap;box-shadow:0 4px 12px #0f172a29;transition:opacity .12s ease,transform .12s ease;z-index:20}.model-calibration-icon-btn:hover:after,.model-calibration-icon-btn:focus-visible:after{opacity:1;transform:translate(-50%)}.model-calibration-empty{display:none;padding:18px 24px;color:var(--mcal-text-secondary, #64748b);text-align:center}.model-calibration-empty.is-visible{display:block}@media(max-width:760px){.model-calibration-dock-panel{width:calc(100vw - 44px)}.model-calibration-table-wrap{max-height:220px}}.component-tree-drawer{--bim-component-tree-bg: #ffffff;--bim-component-tree-blur: 0px;--bim-component-tree-border: rgba(148, 163, 184, .28);--bim-component-tree-shadow: 0 14px 36px rgba(15, 23, 42, .08);--bim-component-tree-text: #0f172a;--bim-component-tree-muted: #475569;--bim-component-tree-tab-bg: #f8fafc;--bim-component-tree-tab-hover: #f1f5f9;--bim-component-tree-tab-active: #eff6ff;--bim-component-tree-tab-active-border: #3b82f6;--bim-component-tree-tab-active-text: #1d4ed8;--bim-component-tree-close-bg: #f8fafc;--bim-component-tree-close-hover: #eef2f7;--bim-component-tree-page-title: var(--bim-component-tree-text);--bim-component-tree-page-description: var(--bim-component-tree-muted);--bim-component-tree-surface: #ffffff;--bim-component-tree-surface-border: rgba(148, 163, 184, .14);--bim-component-tree-subtab-nav-bg: #e2e8f0;--bim-component-tree-subtab-nav-border: rgba(148, 163, 184, .26);--bim-component-tree-subtab-text: #334155;--bim-component-tree-subtab-hover-bg: rgba(255, 255, 255, .72);--bim-component-tree-subtab-hover-text: #0f172a;--bim-component-tree-subtab-active-bg: #ffffff;--bim-component-tree-subtab-active-text: #0f172a;--bim-component-tree-subtab-active-border: rgba(59, 130, 246, .22);--bim-component-tree-subtab-active-shadow: 0 1px 2px rgba(15, 23, 42, .08);--bim-component-tree-tree-bg: #ffffff;--bim-component-tree-tree-border: rgba(148, 163, 184, .18);position:absolute;top:0;left:0;bottom:0;width:min(320px,100%);display:flex;flex-direction:column;border:1px solid var(--bim-component-tree-border);border-radius:0;background:var(--bim-component-tree-bg);backdrop-filter:blur(var(--bim-component-tree-blur));-webkit-backdrop-filter:blur(var(--bim-component-tree-blur));box-shadow:var(--bim-component-tree-shadow);color:var(--bim-component-tree-text);overflow:hidden;transform:translate(calc(-100% - 24px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease;z-index:1200}.component-tree-drawer.is-open{transform:translate(0);opacity:1;pointer-events:auto}.component-tree-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 12px;border-bottom:1px solid var(--bim-component-tree-border)}.component-tree-drawer-tabs{min-width:0;display:flex;align-items:center;flex-wrap:nowrap}.component-tree-drawer-tab{appearance:none;border:none;background:transparent;color:var(--bim-component-tree-muted);border-radius:0;padding:8px 14px;min-height:34px;font-size:14px;font-weight:500;line-height:1;cursor:pointer;transition:color .18s ease;position:relative}.component-tree-drawer-tab:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:16px;background-color:var(--bim-component-tree-border)}.component-tree-drawer-tab:hover{color:var(--bim-component-tree-text)}.component-tree-drawer-tab.is-active{color:var(--bim-component-tree-tab-active-text);font-weight:600}.component-tree-drawer-close{flex:0 0 auto;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:var(--bim-component-tree-close-bg);color:var(--bim-component-tree-text);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease;margin-left:8px}.component-tree-drawer-close:hover{background:var(--bim-component-tree-close-hover);border-color:var(--bim-component-tree-border);box-shadow:inset 0 0 0 1px var(--bim-component-tree-border)}.component-tree-drawer-close svg{width:24px;height:24px}.component-tree-drawer-body{flex:1;display:flex;flex-direction:column;min-height:0;padding:10px 12px 12px;overflow:hidden}.component-tree-drawer-panel{display:none;flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.component-tree-drawer-panel.is-active{display:flex;flex-direction:column}.component-tree-drawer-page{min-height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;padding:12px;border:1px solid var(--bim-component-tree-surface-border);border-radius:8px;background:var(--bim-component-tree-surface)}.component-tree-drawer-page-title{margin:0;font-size:15px;line-height:1.3;color:var(--bim-component-tree-page-title)}.component-tree-drawer-page-description{margin:0;font-size:12px;line-height:1.6;color:var(--bim-component-tree-page-description)}.component-tree-drawer-pin-page{gap:0;padding:0;border:none;background:transparent}.component-tree-drawer-add-pin-btn{appearance:none;border:none;background:var(--bim-pin-primary, #3b82f6);color:#fff;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-shadow:0 1px 3px #3b82f64d}.component-tree-drawer-add-pin-btn:hover{background:var(--bim-pin-primary-hover, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.component-tree-drawer-add-pin-btn:active{transform:translateY(0)}.component-tree-drawer-add-pin-btn svg{width:18px;height:18px;flex-shrink:0}.component-tree-drawer-pin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;text-align:center}.component-tree-drawer-pin-empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--bim-pin-muted, #94a3b8);opacity:.5}.component-tree-drawer-pin-empty-icon svg{width:100%;height:100%}.component-tree-drawer-pin-empty-title{font-size:15px;font-weight:600;color:var(--bim-pin-text, #1e293b)}.component-tree-drawer-pin-empty-desc{font-size:13px;color:var(--bim-pin-muted, #64748b);line-height:1.5}.component-tree-drawer-pin-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden;max-height:100%;padding:0 4px}.component-tree-drawer-pin-item{background:var(--bim-pin-card-bg, #ffffff);border:1px solid var(--bim-pin-border, #e2e8f0);border-radius:12px;padding:2px;cursor:pointer;transition:all .2s ease;box-shadow:var(--bim-pin-shadow, 0 1px 3px rgba(0, 0, 0, .05));overflow:hidden}.component-tree-drawer-pin-item:hover{border-color:var(--bim-component-tree-tab-active-border, #3b82f6);box-shadow:var(--bim-pin-shadow-hover, 0 4px 12px rgba(0, 0, 0, .1));transform:translateY(-1px)}.component-tree-drawer-pin-content{display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:48px}.component-tree-drawer-pin-icon{flex:0 0 auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bim-component-tree-tab-active, #eff6ff);color:var(--bim-component-tree-tab-active-text, #1d4ed8);border-radius:10px}.component-tree-drawer-pin-icon svg{width:20px;height:20px}.component-tree-drawer-pin-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.component-tree-drawer-pin-name{font-size:14px;font-weight:600;color:var(--bim-pin-text, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.component-tree-drawer-pin-index{font-size:11px;font-weight:500;color:var(--bim-pin-muted, #94a3b8);line-height:1.3}.component-tree-drawer-pin-actions{flex:0 0 auto;display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .18s ease}.component-tree-drawer-pin-item:hover .component-tree-drawer-pin-actions{opacity:1}.component-tree-drawer-pin-action-btn{appearance:none;border:none;background:transparent;color:var(--bim-pin-muted, #94a3b8);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .18s ease;padding:0}.component-tree-drawer-pin-action-btn:hover{background:var(--bim-component-tree-tab-hover, #f1f5f9);color:var(--bim-pin-text, #1e293b)}.component-tree-drawer-pin-action-btn svg{width:16px;height:16px}.component-tree-drawer-pin-edit-wrapper{display:flex;align-items:center;gap:8px;padding:10px 14px}.component-tree-drawer-pin-input{flex:1 1 auto;min-width:0;appearance:none;border:2px solid var(--bim-component-tree-tab-active-border, #3b82f6);background:var(--bim-pin-bg, #ffffff);color:var(--bim-pin-text, #1e293b);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600;outline:none;transition:box-shadow .2s ease}.component-tree-drawer-pin-input:focus{box-shadow:0 0 0 3px #3b82f626}.component-tree-drawer-pin-edit-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.component-tree-drawer-pin-edit-btn{appearance:none;border:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .18s ease;padding:0}.component-tree-drawer-pin-edit-save{background:#10b981;color:#fff}.component-tree-drawer-pin-edit-save:hover{background:#059669}.component-tree-drawer-pin-edit-cancel{background:#f1f5f9;color:#64748b}.component-tree-drawer-pin-edit-cancel:hover{background:#e2e8f0;color:#475569}.component-tree-drawer-pin-edit-btn svg{width:16px;height:16px}.component-tree-drawer-construct-tree,.component-tree-drawer-construct-tree-mount{flex:1;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.component-tree-drawer-construct-tree-tab-container,.component-tree-drawer-construct-tree-tab-container .bim-tab,.component-tree-drawer-construct-tree-tab-container .bim-tab__content,.component-tree-drawer-construct-tree-tab-container .bim-tab__panel,.component-tree-drawer-construct-tree-panel,.component-tree-drawer-construct-tree-tab-container .construct-tab__panel-content,.component-tree-drawer-construct-tree-tab-container .bim-tree{height:100%;min-height:0;overflow:hidden}.component-tree-drawer-construct-tree-tab-container .bim-tab{display:flex;flex-direction:column;background:transparent}.component-tree-drawer-construct-tree-tab-container .bim-tab__nav{flex:0 0 auto;gap:6px;padding:4px;margin:0 0 8px;background:var(--bim-component-tree-subtab-nav-bg);border-color:var(--bim-component-tree-subtab-nav-border);border-radius:10px}.component-tree-drawer-construct-tree-tab-container .bim-tab__item{min-height:32px;padding:7px 10px;font-size:12px;font-weight:600;color:var(--bim-component-tree-subtab-text);border:1px solid transparent}.component-tree-drawer-construct-tree-tab-container .bim-tab__item:hover{color:var(--bim-component-tree-subtab-hover-text);background:var(--bim-component-tree-subtab-hover-bg)}.component-tree-drawer-construct-tree-tab-container .bim-tab__item.is-active{color:var(--bim-component-tree-subtab-active-text);background:var(--bim-component-tree-subtab-active-bg);border-color:var(--bim-component-tree-subtab-active-border);box-shadow:var(--bim-component-tree-subtab-active-shadow)}.component-tree-drawer-construct-tree-tab-container .bim-tab__content{flex:1;min-height:0;overflow:hidden}.component-tree-drawer-construct-tree-panel,.component-tree-drawer-construct-tree-tab-container .construct-tab__panel-content{overflow:hidden}.component-tree-drawer-construct-tree-tab-container .bim-tree{border:1px solid var(--bim-component-tree-tree-border);border-radius:10px;background:var(--bim-component-tree-tree-bg)}.component-tree-drawer-construct-tree-tab-container .bim-tree-search{padding:8px 8px 6px}.component-tree-drawer-construct-tree-tab-container .bim-tree-search-input{height:28px;font-size:12px}.component-tree-drawer-construct-tree-tab-container .bim-tree-content{flex:1 1 auto;min-height:0;padding:4px 6px 8px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}@media(max-width:768px){.component-tree-drawer{right:0}.component-tree-drawer-header{align-items:flex-start}.component-tree-drawer-tabs{gap:6px}.component-tree-drawer-tab{padding:8px 12px;min-height:34px}}.component-tree-drawer-view,.component-tree-drawer-view-mount{flex:1;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.component-tree-drawer-view-mount .bim-tree{height:100%;min-height:0;border:1px solid var(--bim-component-tree-tree-border);border-radius:10px;background:var(--bim-component-tree-tree-bg);overflow:hidden}.component-tree-drawer-view-mount .bim-tree-search{padding:8px 8px 6px}.component-tree-drawer-view-mount .bim-tree-search-input{height:28px;font-size:12px}.component-tree-drawer-view-mount .bim-tree-content{flex:1 1 auto;min-height:0;padding:4px 6px 8px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.component-tree-drawer-view-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:0;padding:24px;font-size:13px;color:var(--bim-component-tree-muted);text-align:center}.component-tree-drawer-pin-toolbar{position:relative;z-index:3;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:visible}.component-tree-drawer-pin-btn-group{display:flex;gap:6px;flex:1 1 auto;min-width:0;flex-wrap:nowrap}.component-tree-drawer-add-pin-btn,.component-tree-drawer-add-folder-btn,.component-tree-drawer-toggle-pins-btn{appearance:none;border:1px solid var(--bim-component-tree-tree-border);color:var(--bim-pin-text, #1e293b);border-radius:8px;padding:0 10px;height:30px;font-size:12px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--bim-pin-card-bg, #ffffff);box-shadow:none;white-space:nowrap;flex:0 0 auto;min-width:0}.component-tree-drawer-add-pin-btn svg,.component-tree-drawer-add-folder-btn svg,.component-tree-drawer-toggle-pins-btn svg{width:14px;height:14px;flex-shrink:0}.component-tree-drawer-add-pin-btn{background:var(--bim-pin-soft, rgba(59, 130, 246, .12));border-color:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 26%,var(--bim-component-tree-tree-border));color:var(--bim-component-tree-tab-active-text, #1d4ed8);flex:1 1 0}.component-tree-drawer-add-pin-btn:hover{background:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 14%,var(--bim-pin-card-bg, #ffffff));border-color:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 38%,var(--bim-component-tree-tree-border));box-shadow:none;transform:none}.component-tree-drawer-add-folder-btn{background:transparent;padding-inline:9px;flex:1 1 0}.component-tree-drawer-add-folder-btn:hover,.component-tree-drawer-toggle-pins-btn:hover{background:var(--bim-component-tree-tab-hover, #f1f5f9);border-color:var(--bim-component-tree-tree-border);color:var(--bim-pin-text, #1e293b);box-shadow:none;transform:none}.component-tree-drawer-toggle-pins-btn{position:relative;width:30px;flex:0 0 30px;padding:0;background:var(--bim-pin-card-bg, #ffffff)}.component-tree-drawer-toggle-pins-btn.is-active{background:var(--bim-pin-soft, rgba(59, 130, 246, .12));border-color:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 34%,var(--bim-component-tree-tree-border));color:var(--bim-component-tree-tab-active-text, #1d4ed8)}.component-tree-drawer-toggle-pins-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 6px);z-index:20;transform:translateY(-3px);padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--bim-pin-text, #0f172a) 92%,transparent 8%);color:var(--bim-pin-bg, #ffffff);box-shadow:0 4px 12px #0f172a29;font-size:11px;font-weight:500;line-height:1;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}.component-tree-drawer-toggle-pins-btn[data-tooltip]:hover:after,.component-tree-drawer-toggle-pins-btn[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.component-tree-drawer-add-pin-btn:focus-visible,.component-tree-drawer-add-folder-btn:focus-visible,.component-tree-drawer-toggle-pins-btn:focus-visible,.pin-node-action-btn:focus-visible,.pin-node-edit-btn:focus-visible,.pin-node-edit-input:focus-visible{outline:2px solid color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 60%,white);outline-offset:2px}.component-tree-drawer-add-pin-btn:active,.component-tree-drawer-add-folder-btn:active,.component-tree-drawer-toggle-pins-btn:active{transform:translateY(-1px)}.component-tree-drawer-pin-tree-container{position:relative;z-index:1;flex:1;min-height:0;overflow:hidden}.component-tree-drawer-pin-tree-container .bim-tree{height:100%;border:1px solid var(--bim-component-tree-tree-border);border-radius:10px;background:var(--bim-component-tree-tree-bg);overflow:hidden}.component-tree-drawer-pin-tree-container .bim-tree-content{flex:1 1 auto;min-height:0;padding:6px 8px 10px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.component-tree-drawer-pin-tree-container .bim-tree-node-content{min-height:34px;border-radius:8px;padding-right:6px}.component-tree-drawer-pin-tree-container .bim-tree-node-content.is-selected{background:color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 12%,var(--bim-component-tree-tree-bg))}.component-tree-drawer-pin-tree-container .bim-tree-title{font-size:13px;font-weight:500}.component-tree-drawer-pin-tree-container .bim-tree-node-actions{display:flex}.pin-node-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .18s ease}.bim-tree-node-content:hover .pin-node-actions,.bim-tree-node-content.is-selected .pin-node-actions,.bim-tree-node-content:focus-within .pin-node-actions{opacity:1}.pin-node-action-btn{appearance:none;border:none;background:transparent;color:var(--bim-pin-muted, #94a3b8);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .18s ease;padding:0}.pin-node-action-btn:hover{background:var(--bim-component-tree-tab-hover, #f1f5f9);color:var(--bim-pin-text, #1e293b)}.pin-node-action-btn svg{width:13px;height:13px}.pin-node-edit-wrapper{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.pin-node-edit-input{flex:1;min-width:0;appearance:none;border:1px solid color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 35%,var(--bim-component-tree-tree-border));background:var(--bim-pin-bg, #ffffff);color:var(--bim-pin-text, #1e293b);border-radius:6px;padding:5px 8px;font-size:13px;font-weight:500;outline:none;transition:box-shadow .2s ease}.pin-node-edit-input:focus{box-shadow:0 0 0 3px #3b82f626}.pin-node-edit-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.pin-node-edit-btn{appearance:none;border:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .18s ease;padding:0}.pin-node-edit-btn svg{width:12px;height:12px}.pin-node-edit-save{background:#10b981;color:#fff}.pin-node-edit-save:hover{background:#059669}.pin-node-edit-cancel{background:#f1f5f9;color:#64748b}.pin-node-edit-cancel:hover{background:#e2e8f0;color:#475569}.pin-delete-dialog{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0;padding:20px 22px 18px}.pin-delete-dialog-symbol{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,#f59e0b 12%,var(--bim-pin-card-bg, #ffffff));color:#d97706;font-size:30px;font-weight:700;line-height:1}.pin-delete-dialog-text{font-size:14px;line-height:1.7;color:var(--bim-pin-text, #1e293b);word-break:break-word;text-align:center}.pin-delete-dialog-actions{display:flex;justify-content:flex-end;gap:8px;width:100%;margin-top:2px}.pin-delete-dialog-btn{min-width:88px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--bim-component-tree-tree-border);background:var(--bim-pin-card-bg, #ffffff);color:var(--bim-pin-text, #1e293b);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.pin-delete-dialog-btn.is-secondary:hover{background:var(--bim-component-tree-tab-hover, #f1f5f9)}.pin-delete-dialog-btn.is-danger{border-color:color-mix(in srgb,#ef4444 30%,var(--bim-component-tree-tree-border));background:color-mix(in srgb,#ef4444 10%,var(--bim-pin-card-bg, #ffffff));color:#b91c1c}.pin-delete-dialog-btn.is-danger:hover{background:color-mix(in srgb,#ef4444 16%,var(--bim-pin-card-bg, #ffffff))}.pin-delete-dialog-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--bim-pin-primary, #3b82f6) 60%,white);outline-offset:2px}@media(max-width:560px){.component-tree-drawer-pin-btn-group{width:100%}.component-tree-drawer-add-pin-btn,.component-tree-drawer-add-folder-btn{flex:1 1 0}}@media(prefers-reduced-motion:reduce){.component-tree-drawer,.component-tree-drawer-tab,.component-tree-drawer-close{transition:none}}.bim-tab{display:flex;flex-direction:column;width:100%;height:100%;background:transparent;color:var(--bim-text-secondary)}.bim-tab__nav{display:flex;align-items:center;gap:4px;padding:4px;margin:8px 12px;background:var(--bim-bg-inset);border-radius:8px;border:1px solid var(--bim-border-subtle)}.bim-tab__item{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--bim-text-secondary);cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500}.bim-tab__item:hover{color:var(--bim-text-primary);background-color:var(--bim-component-bg-hover)}.bim-tab__item.is-active{color:var(--bim-primary);background-color:var(--bim-bg-elevated);box-shadow:0 1px 3px #0000001a}.bim-tab__item.is-disabled{opacity:.5;cursor:not-allowed}.bim-tab__icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--bim-tab-icon, currentColor)}.bim-tab__icon svg{width:100%;height:100%;fill:currentColor}.bim-tab__title{white-space:nowrap}.bim-tab__content{flex:1;display:flex;position:relative;min-height:0;overflow:hidden}.bim-tab__panel{display:none;width:100%;height:100%;flex:1}.bim-tab__panel.is-active{display:flex;flex-direction:column;height:100%}.construct-tab__container{height:100%;display:flex;flex-direction:column}.construct-tab__panel-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.construct-tab__panel-content .bim-tree{flex:1}.bim-tree{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;font-size:14px;color:var(--bim-text-primary);-webkit-user-select:none;user-select:none;position:relative;background:transparent}.bim-tree-search{padding:6px;background-color:transparent;flex-shrink:0;position:relative}.bim-tree-search-wrapper{position:relative;width:100%;display:flex;align-items:center}.bim-tree-search-icon{position:absolute;left:8px;width:16px;height:16px;color:var(--bim-text-secondary);pointer-events:none;display:flex;align-items:center;justify-content:center}.bim-tree-search-icon svg{width:100%;height:100%}.bim-tree-search-input{width:100%;height:30px;padding:4px 8px 4px 30px;border:1px solid var(--bim-border-default);border-radius:4px;outline:none;font-size:13px;color:inherit;background-color:var(--bim-bg-elevated);transition:all .2s;box-sizing:border-box}.bim-tree-search-input:focus{border-color:var(--bim-primary);box-shadow:var(--bim-focus-ring)}.bim-tree-search-results{position:absolute;top:100%;left:8px;right:8px;background-color:var(--bim-bg-elevated);border:1px solid var(--bim-border-default);box-shadow:var(--bim-shadow-md);border-radius:4px;max-height:200px;overflow-y:auto;z-index:10;display:none}.bim-tree-search-results.is-visible{display:block}.bim-tree-search-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.03)}.bim-tree-search-item:last-child{border-bottom:none}.bim-tree-search-item:hover{background-color:var(--bim-component-bg-hover)}.bim-tree-search-item-title{font-weight:500;display:block}.bim-tree-search-item-path{font-size:12px;color:var(--bim-text-secondary);margin-top:2px;display:block}.bim-tree-node-content:hover{background-color:var(--bim-component-bg-hover)}.bim-tree-switcher{width:24px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--bim-text-secondary);transition:transform .2s;flex-shrink:0}.bim-tree-switcher svg{width:12px;height:12px;fill:currentColor;transition:transform .2s}.bim-tree-switcher.is-expanded svg{transform:rotate(90deg)}.bim-tree-switcher.is-hidden{visibility:hidden}.bim-tree-checkbox{width:16px;height:16px;border:1px solid var(--bim-border-default);border-radius:2px;margin-right:8px;background-color:var(--bim-bg-elevated);position:relative;cursor:pointer;flex-shrink:0;transition:all .2s}.bim-tree-checkbox:hover{border-color:var(--bim-primary)}.bim-tree-checkbox.is-checked{background-color:var(--bim-primary);border-color:var(--bim-primary)}.bim-tree-checkbox.is-checked:after{content:"";position:absolute;top:1px;left:4px;width:5px;height:9px;border:2px solid var(--bim-text-inverse);border-top:0;border-left:0;transform:rotate(45deg)}.bim-tree-checkbox.is-indeterminate{background-color:var(--bim-bg-elevated);border-color:var(--bim-primary)}.bim-tree-checkbox.is-indeterminate:after{content:"";position:absolute;top:6px;left:3px;width:8px;height:2px;background-color:var(--bim-primary)}.bim-tree-node.is-disabled .bim-tree-checkbox{background-color:var(--bim-component-bg-disabled);border-color:var(--bim-border-disabled);cursor:not-allowed}.bim-tree-node.is-disabled .bim-tree-checkbox.is-checked{background-color:var(--bim-text-disabled)}.bim-tree-node.is-disabled .bim-tree-node-content{color:var(--bim-text-disabled);cursor:not-allowed}.bim-tree-icon{width:16px;height:16px;margin-right:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bim-tree-icon img,.bim-tree-icon svg{width:100%;height:100%}.bim-tree-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bim-tree-children{display:none;overflow:visible}.bim-tree-children.is-visible{display:block}.bim-tree-node-content.is-selected{background-color:var(--bim-component-bg-selected);color:var(--bim-primary)}.bim-tree-node-actions{display:none;align-items:center;margin-left:8px;flex-shrink:0}.bim-tree-node-content.is-selected .bim-tree-node-actions{display:flex}.bim-tree-content{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;padding:2px 0;min-height:0}.bim-tree-node{display:flex;flex-direction:column;width:100%}.bim-tree-node-content{display:flex;align-items:center;height:32px;cursor:pointer;transition:background-color .2s;border-radius:4px;padding-right:8px;width:100%;box-sizing:border-box}.bim-measure-panel{width:100%;display:flex;flex-direction:column;box-sizing:border-box;color:var(--bim-text-secondary)}.bim-measure-settings{display:none;box-sizing:border-box;color:var(--bim-text-secondary)}.bim-measure-settings-title{font-size:14px;font-weight:600;margin-bottom:10px}.bim-measure-settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.bim-measure-settings-row .label{color:var(--bim-text-secondary);font-size:13px;flex:0 0 auto}.bim-measure-settings-select{flex:0 0 auto;width:120px;height:28px;border-radius:6px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);color:var(--bim-text-primary);padding:0 8px;box-sizing:border-box;outline:none}.bim-measure-settings-hint{font-size:12px;line-height:1.4;color:var(--bim-text-tertiary);margin-top:-4px;margin-bottom:8px}.bim-measure-settings-actions{margin-top:14px;display:flex;justify-content:flex-start;gap:10px}.bim-measure-settings-save,.bim-measure-settings-cancel{flex:0 0 auto!important;width:auto;min-width:0;height:30px;padding:0 12px;border-radius:4px;cursor:pointer;box-sizing:border-box}.bim-measure-settings-save{border:none;background:var(--bim-primary);color:var(--bim-text-inverse)}.bim-measure-settings-cancel{border:1px solid var(--bim-border-default);background:transparent;color:var(--bim-text-secondary)}.bim-measure-settings-save:hover,.bim-measure-settings-save:active,.bim-measure-settings-save:focus,.bim-measure-settings-cancel:hover,.bim-measure-settings-cancel:active,.bim-measure-settings-cancel:focus{background:inherit;outline:none}.bim-measure-settings-save:hover{background:var(--bim-primary-hover)}.bim-measure-tools{display:flex;flex-direction:column;gap:8px}.bim-measure-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bim-measure-tool-btn{width:100%;height:42px;border-radius:6px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;box-sizing:border-box}.bim-measure-tool-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.bim-measure-tool-btn.is-active{border-color:var(--bim-primary);background:var(--bim-primary-subtle)}.bim-measure-tool-btn.is-active .bim-measure-tool-icon{color:var(--bim-primary)}.bim-measure-tool-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--bim-icon-default)}.bim-measure-tool-icon svg{width:100%;height:100%;fill:currentColor}.bim-measure-toggle{display:flex;justify-content:flex-end}.bim-measure-toggle-btn{height:22px;border-radius:4px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0 6px;gap:4px;font-size:12px;line-height:1}.bim-measure-toggle-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.bim-measure-toggle-text{color:var(--bim-text-secondary)}.bim-measure-toggle-icon svg{width:14px;height:14px;fill:currentColor;color:var(--bim-icon-default);transition:transform .15s ease}.bim-measure-toggle-btn.is-expanded .bim-measure-toggle-icon svg{transform:rotate(180deg)}.bim-measure-mode-options{display:none;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--bim-divider)}.bim-measure-mode-options.is-visible{display:flex}.bim-measure-radio-group{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4}.bim-measure-radio-group .bim-measure-radio-label{color:var(--bim-text-secondary);min-width:58px;flex:0 0 auto}.bim-measure-radio-group .bim-measure-radio-items{display:flex;gap:4px}.bim-measure-radio-item{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;border-radius:4px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);color:var(--bim-text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.bim-measure-radio-item:hover{border-color:var(--bim-border-strong);color:var(--bim-text-primary)}.bim-measure-radio-item.is-active{background:var(--bim-primary-subtle);border-color:var(--bim-primary);color:var(--bim-primary)}.bim-measure-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--bim-divider);display:flex;flex-direction:column;gap:10px}.bim-measure-row{display:flex;align-items:baseline;gap:8px;font-size:13px;line-height:1.4}.bim-measure-row .label{color:var(--bim-text-secondary);min-width:84px}.bim-measure-row .value{color:var(--bim-text-primary);flex:1;word-break:break-word}.bim-measure-main-number{color:#ffd24a}.bim-measure-main-number.is-laser-text,.bim-measure-main-unit{color:var(--bim-text-primary)}.bim-measure-xyz{display:flex;flex-direction:column;gap:6px}.bim-measure-xyz .value{font-variant-numeric:tabular-nums}.bim-measure-xyz-x{color:#ff4d4f!important}.bim-measure-xyz-y{color:#52c41a!important}.bim-measure-xyz-z{color:#1677ff!important}.bim-measure-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--bim-divider);display:flex;align-items:center;justify-content:flex-start;gap:10px}.bim-measure-clear-btn{background:transparent;border:none;color:var(--bim-danger);cursor:pointer;padding:0;font-size:13px;flex:0 0 auto!important;width:auto;min-width:0}.bim-measure-clear-btn:hover,.bim-measure-clear-btn:active,.bim-measure-clear-btn:focus{background:transparent;border:none;outline:none;text-decoration:none}.bim-measure-settings-btn{width:24px;height:24px;border-radius:4px;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:auto;flex:0 0 auto!important}.bim-measure-settings-btn:hover,.bim-measure-settings-btn:active,.bim-measure-settings-btn:focus{background:transparent;border:none;outline:none}.bim-measure-settings-btn svg{width:18px;height:18px;fill:currentColor;color:var(--bim-icon-default)}.section-plane-panel{display:flex;gap:8px;padding:12px 12px 16px;box-sizing:border-box}.section-plane-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;border:1px solid var(--bim-border-default);background:var(--bim-bg-inset);border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:60px;outline:none;color:var(--bim-text-primary)}.section-plane-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.section-plane-btn:active{background:var(--bim-primary-subtle);border-color:var(--bim-primary)}.section-plane-btn.is-active{background:var(--bim-primary-subtle);border-color:var(--bim-primary);color:var(--bim-primary)}.section-plane-btn.is-active .section-plane-btn-icon{color:var(--bim-primary)}.section-plane-btn-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--bim-icon-default)}.section-plane-btn-icon svg{width:100%;height:100%;fill:currentColor}.section-plane-btn-label{font-size:12px;color:inherit;text-align:center;line-height:1.2}.section-axis-panel{display:flex;flex-direction:column;gap:8px;padding:12px 12px 16px;box-sizing:border-box}.section-axis-row-1{display:flex;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--bim-divider)}.section-axis-row-2{display:flex;gap:8px;padding-top:8px}.section-axis-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;background:var(--bim-bg-inset);border:1px solid var(--bim-border-default);border-radius:8px;cursor:pointer;transition:all .2s ease;outline:none;color:var(--bim-text-primary);min-height:48px}.section-axis-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.section-axis-btn.active{background:var(--bim-primary-subtle);border-color:var(--bim-primary);color:var(--bim-primary)}.section-axis-btn.active .section-axis-btn-icon{color:var(--bim-primary)}.section-axis-btn-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--bim-icon-default)}.section-axis-btn-icon svg{width:100%;height:100%}.section-axis-btn-label{font-size:12px;color:inherit;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.section-axis-btn-text{min-height:40px}.section-axis-btn-text .section-axis-btn-label{font-size:18px;font-weight:600}.section-box-panel{display:flex;flex-direction:column;padding:12px;box-sizing:border-box;-webkit-user-select:none;user-select:none}.section-box-row-buttons{display:flex;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--bim-divider)}.section-box-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;background:var(--bim-bg-inset);border:1px solid var(--bim-border-default);border-radius:8px;cursor:pointer;color:var(--bim-text-primary);min-height:44px;transition:all .2s ease}.section-box-btn:hover{background:var(--bim-component-bg-hover);border-color:var(--bim-border-strong)}.section-box-btn.active{background:var(--bim-primary-subtle);border-color:var(--bim-primary);color:var(--bim-primary)}.section-box-btn.active .section-box-btn-icon{color:var(--bim-primary)}.section-box-btn-icon{width:24px;height:24px;color:var(--bim-icon-default)}.section-box-btn-icon svg{width:100%;height:100%}.section-box-btn-label{font-size:11px;white-space:nowrap}.section-box-sliders{display:flex;flex-direction:column;gap:16px;padding-top:16px}.section-box-slider{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.section-box-slider:hover{z-index:10}.section-box-slider-label{font-size:13px;font-weight:700;color:var(--bim-text-primary);min-width:14px}.section-box-slider-track{position:relative;flex:1;height:4px;background:var(--bim-border-default);border-radius:2px}.section-box-slider-range{position:absolute;top:0;height:100%;background:var(--bim-primary);border-radius:2px;pointer-events:none}.section-box-slider-handle{position:absolute;top:50%;width:14px;height:14px;background:var(--bim-bg-elevated);border:2px solid var(--bim-primary);border-radius:50%;transform:translate(-50%,-50%);cursor:grab;z-index:5;touch-action:none;transition:transform .2s,box-shadow .2s}.section-box-slider-handle:hover{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 0 0 4px var(--bim-primary-subtle)}.section-box-slider-handle.dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.2);background:var(--bim-primary)}.bim-collapse{background-color:var(--bim-bg-elevated);border:1px solid var(--bim-border-default);border-radius:8px;font-size:14px;color:var(--bim-text-primary)}.bim-collapse.is-ghost{background-color:transparent;border:none}.bim-collapse.is-ghost .bim-collapse-item{border-bottom:none}.bim-collapse.is-ghost .bim-collapse-header{background-color:var(--bim-component-bg);padding-left:12px;padding-right:0;border-bottom:1px solid var(--bim-border-default)}.bim-collapse.is-ghost .bim-collapse-header:hover{background-color:var(--bim-component-bg-hover)}.bim-collapse.is-ghost .bim-collapse-content{background-color:transparent;border-top:none}.bim-collapse-item{border-bottom:1px solid var(--bim-border-subtle)}.bim-collapse-item:last-child{border-bottom:none}.bim-collapse-item.is-disabled .bim-collapse-header{color:var(--bim-text-disabled);cursor:not-allowed}.bim-collapse-header{display:flex;align-items:center;padding:12px 16px;background-color:var(--bim-component-bg);cursor:pointer;transition:all .2s ease;position:relative}.bim-collapse-header:hover{background-color:var(--bim-component-bg-hover)}.bim-collapse-arrow{margin-right:12px;font-size:12px;width:12px;height:12px;transition:transform .24s;display:inline-flex;align-items:center;justify-content:center}.bim-collapse-arrow svg{width:100%;height:100%;fill:currentColor}.bim-collapse-item.is-active .bim-collapse-arrow{transform:rotate(90deg)}.bim-collapse-icon{margin-right:8px;display:inline-flex;align-items:center}.bim-collapse-icon svg{width:16px;height:16px;fill:currentColor}.bim-collapse-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bim-collapse-extra{margin-left:auto}.bim-collapse-content{overflow:hidden;background-color:var(--bim-bg-elevated);border-top:1px solid var(--bim-border-subtle);transition:height .2s ease-in-out,opacity .2s ease-in-out}.bim-collapse-content.is-hidden{display:none}.bim-ai-chat{position:absolute;width:440px;height:600px;display:flex;flex-direction:column;background:var(--bim-ai-panel, rgba(11, 18, 32, .95));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));border-radius:16px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 32px var(--bim-ai-shadow, rgba(0, 0, 0, .4));z-index:1000;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;resize:both;min-width:360px;min-height:400px;max-width:90vw;max-height:90vh}.bim-ai-chat-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:12px 16px;border-bottom:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));flex-shrink:0;cursor:move;-webkit-user-select:none;user-select:none;border-radius:16px 16px 0 0}.bim-ai-chat-title{font-size:18px;font-weight:600;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-chat-actions{display:flex;gap:8px}.bim-ai-chat-action-btn{width:32px;height:32px;border-radius:999px;border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));background:transparent;color:var(--bim-ai-text, #E5E7EB);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.bim-ai-chat-action-btn:hover{background:var(--bim-ai-subtle-fill, rgba(255, 255, 255, .05))}.bim-ai-chat-action-btn svg{width:18px;height:18px}.bim-ai-chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.bim-ai-msg-ai{max-width:320px}.bim-ai-msg-ai .bim-ai-bubble{background:var(--bim-ai-panel2, rgba(15, 23, 42, .95));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));border-radius:16px;padding:10px}.bim-ai-msg-ai .bim-ai-bubble-content{font-size:13px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-msg-user{display:flex;justify-content:flex-end}.bim-ai-msg-user .bim-ai-bubble{max-width:300px;background:var(--bim-ai-user-bubble, rgba(29, 78, 216, .8));border-radius:16px;padding:10px;box-shadow:0 10px 26px #0003}.bim-ai-msg-user .bim-ai-bubble-content{font-size:13px;line-height:1.4;color:var(--bim-ai-user-text, #EEF2FF)}.bim-ai-step{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;max-width:380px}.bim-ai-step-running{background:var(--bim-ai-info-soft, rgba(56, 189, 248, .1));border:1px solid rgba(56,189,248,.33)}.bim-ai-step-done{background:var(--bim-ai-success-soft, rgba(52, 211, 153, .1));border:1px solid rgba(52,211,153,.33)}.bim-ai-step-error{background:var(--bim-ai-danger-soft, rgba(239, 68, 68, .1));border:1px solid var(--bim-ai-danger-stroke, rgba(239, 68, 68, .33))}.bim-ai-step-icon{width:16px;height:16px;flex-shrink:0}.bim-ai-step-running .bim-ai-step-icon{color:var(--bim-ai-info, #38BDF8)}.bim-ai-step-done .bim-ai-step-icon{color:var(--bim-ai-success, #34D399)}.bim-ai-step-error .bim-ai-step-icon{color:var(--bim-ai-danger, #EF4444)}.bim-ai-step-text{font-size:12px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-thinking{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:var(--bim-ai-panel2, rgba(15, 23, 42, .95));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));max-width:380px}.bim-ai-thinking-icon{width:16px;height:16px;color:var(--bim-ai-muted, #94A3B8);animation:bim-ai-spin 1s linear infinite}.bim-ai-thinking-text{font-size:12px;font-weight:600;color:var(--bim-ai-muted, #94A3B8)}@keyframes bim-ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bim-ai-question-active{width:360px;border-radius:14px;background:var(--bim-ai-panel2, rgba(15, 23, 42, .95));border:1px solid var(--bim-ai-accent-stroke, rgba(59, 130, 246, .33));box-shadow:0 4px 16px var(--bim-ai-shadow, rgba(0, 0, 0, .4));overflow:hidden}.bim-ai-question-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1))}.bim-ai-question-icon{width:24px;height:24px;border-radius:6px;background:var(--bim-ai-accent-soft, rgba(59, 130, 246, .1));display:flex;align-items:center;justify-content:center;color:var(--bim-ai-accent, #3B82F6)}.bim-ai-question-icon svg{width:14px;height:14px}.bim-ai-question-title{font-size:13px;font-weight:600;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-question-content{padding:12px;display:flex;flex-direction:column;gap:10px}.bim-ai-question-text{font-size:13px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-question-options{display:flex;flex-direction:column;gap:6px}.bim-ai-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bim-ai-subtle-fill, rgba(255, 255, 255, .05));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));cursor:pointer;transition:all .2s ease}.bim-ai-option:hover{background:var(--bim-ai-subtle-fill-hover, rgba(255, 255, 255, .08))}.bim-ai-option.selected{background:var(--bim-ai-accent-soft, rgba(59, 130, 246, .1));border-color:var(--bim-ai-accent-stroke, rgba(59, 130, 246, .33))}.bim-ai-option-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--bim-ai-muted, #94A3B8);flex-shrink:0;display:flex;align-items:center;justify-content:center}.bim-ai-option.selected .bim-ai-option-radio{background:var(--bim-ai-accent, #3B82F6);border-color:var(--bim-ai-accent, #3B82F6)}.bim-ai-option-radio-dot{width:6px;height:6px;border-radius:50%;background:var(--bim-ai-accent-ink, #FFFFFF);display:none}.bim-ai-option.selected .bim-ai-option-radio-dot{display:block}.bim-ai-option-text{font-size:12px;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-option-input{flex:1;background:var(--bim-ai-textbox-fill, rgba(15, 23, 42, .6));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));border-radius:6px;padding:6px 8px;font-size:12px;color:var(--bim-ai-text, #E5E7EB);outline:none;margin-top:8px;width:100%}.bim-ai-option-input:focus{border-color:var(--bim-ai-accent-stroke, rgba(59, 130, 246, .33))}.bim-ai-question-footer{display:flex;justify-content:flex-end;padding:12px;border-top:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1))}.bim-ai-question-submit{display:flex;align-items:center;gap:4px;padding:8px 12px;border-radius:8px;background:var(--bim-ai-accent, #3B82F6);color:var(--bim-ai-accent-ink, #FFFFFF);border:none;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.bim-ai-question-submit:hover{filter:brightness(1.1)}.bim-ai-question-submit svg{width:12px;height:12px}.bim-ai-question-answered{max-width:340px;padding:10px;border-radius:12px;background:var(--bim-ai-panel2, rgba(15, 23, 42, .95));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));display:flex;flex-direction:column;gap:8px}.bim-ai-qa-row{display:flex;gap:8px;align-items:flex-start}.bim-ai-qa-badge{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.bim-ai-qa-badge-q{background:var(--bim-ai-accent-soft, rgba(59, 130, 246, .1));color:var(--bim-ai-accent, #3B82F6)}.bim-ai-qa-badge-a{background:var(--bim-ai-success-soft, rgba(52, 211, 153, .1));color:var(--bim-ai-success, #34D399)}.bim-ai-qa-question{font-size:12px;line-height:1.4;color:var(--bim-ai-muted, #94A3B8)}.bim-ai-qa-answer{font-size:12px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB)}.bim-ai-chat-composer{padding:12px;border-top:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));display:flex;flex-direction:column;gap:8px;flex-shrink:0}.bim-ai-quick-prompts{display:flex;gap:8px;flex-wrap:wrap}.bim-ai-quick-prompt{padding:5px 8px;border-radius:999px;background:var(--bim-ai-subtle-fill, rgba(255, 255, 255, .05));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1));color:var(--bim-ai-text, #E5E7EB);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.bim-ai-quick-prompt:hover{background:var(--bim-ai-subtle-fill-hover, rgba(255, 255, 255, .08))}.bim-ai-input-row{display:flex;gap:8px;align-items:flex-end}.bim-ai-textbox{flex:1;display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:16px;background:var(--bim-ai-textbox-fill, rgba(15, 23, 42, .6));border:1px solid var(--bim-ai-border, rgba(255, 255, 255, .1))}.bim-ai-textbox:focus-within{border-color:var(--bim-ai-accent-stroke, rgba(59, 130, 246, .33))}.bim-ai-textarea{background:transparent;border:none;outline:none;resize:none;font-size:13px;line-height:1.4;color:var(--bim-ai-text, #E5E7EB);min-height:20px;max-height:100px}.bim-ai-textarea::placeholder{color:var(--bim-ai-muted, #94A3B8)}.bim-ai-helper{display:flex;justify-content:space-between;font-size:11px;color:var(--bim-ai-muted, #94A3B8)}.bim-ai-send-btn{width:40px;height:40px;border-radius:14px;background:var(--bim-ai-accent, #3B82F6);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--bim-ai-accent-ink, #FFFFFF);transition:background .2s ease;flex-shrink:0}.bim-ai-send-btn:hover{background:var(--bim-ai-accent-hover, #2563EB)}.bim-ai-send-btn svg{width:18px;height:18px}.bim-ai-chat.light{--bim-ai-panel: rgba(255, 255, 255, .95);--bim-ai-panel2: #FFFFFF;--bim-ai-border: rgba(15, 23, 42, .1);--bim-ai-text: #0F172A;--bim-ai-muted: #475569;--bim-ai-shadow: rgba(11, 18, 32, .1);--bim-ai-subtle-fill: rgba(15, 23, 42, .05);--bim-ai-subtle-fill-hover: rgba(15, 23, 42, .08);--bim-ai-textbox-fill: #F1F5F9;--bim-ai-user-bubble: #2563EB;--bim-ai-user-text: #FFFFFF;--bim-ai-accent: #2563EB;--bim-ai-accent-soft: rgba(37, 99, 235, .08);--bim-ai-accent-stroke: rgba(37, 99, 235, .2);--bim-ai-success: #059669;--bim-ai-success-soft: rgba(5, 150, 105, .08);--bim-ai-danger: #DC2626;--bim-ai-danger-soft: rgba(220, 38, 38, .08);--bim-ai-danger-stroke: rgba(220, 38, 38, .2);--bim-ai-info: #0284C7;--bim-ai-info-soft: rgba(2, 132, 199, .08)}.bim-btn-group-root{display:flex;gap:8px;z-index:1000;position:absolute;pointer-events:auto;background:transparent}.bim-btn-group-root.static{position:relative;inset:auto;transform:none}.bim-btn-group-root.dir-row{flex-direction:row;align-items:center}.bim-btn-group-root.dir-column{flex-direction:column;align-items:stretch}.bim-btn-group-section{display:flex;gap:4px;background-color:var(--bim-btn-group-section-bg, rgba(17, 17, 17, .88));border-radius:6px;padding:4px;box-shadow:0 2px 8px #0000004d,0 1px 3px #0003}.bim-btn-group-root.dir-row .bim-btn-group-section{flex-direction:row;align-items:center}.bim-btn-group-root.dir-column .bim-btn-group-section{flex-direction:column}.opt-btn-wrapper{position:relative}.opt-btn{display:flex;cursor:pointer;border-radius:4px;transition:background-color .2s,color .2s,border-color .2s;color:var(--bim-btn-text-color, #ccc);background-color:var(--bim-btn-bg, transparent);padding:6px;align-items:center;position:relative;justify-content:center;border:1px solid transparent;outline:none}.opt-btn:hover{background-color:var(--bim-btn-hover-bg, #444)}.opt-btn.active{background-color:var(--bim-btn-active-bg, rgba(255, 255, 255, .15));color:var(--bim-btn-text-active-color, #fff)}.opt-btn.disabled{opacity:.5;cursor:not-allowed}.opt-btn-icon{width:var(--bim-icon-size, 24px);height:var(--bim-icon-size, 24px);display:flex;align-items:center;justify-content:center;color:var(--bim-icon-color, #ccc);flex-shrink:0}.opt-btn-icon svg{width:100%;height:100%;fill:currentColor}.opt-btn-arrow{font-size:10px;opacity:.6;transition:transform .2s;display:inline-block;margin-left:4px}.opt-btn-arrow.rotated{transform:rotate(180deg)}.opt-btn-text-wrapper{display:flex;align-items:center;justify-content:center;pointer-events:none}.opt-btn-label{display:inline}.opt-btn.no-label .opt-btn-label{display:none}.opt-btn.align-vertical:not(.no-label){flex-direction:column;text-align:center}.opt-btn.align-vertical:not(.no-label) .opt-btn-text-wrapper{margin-top:4px}.opt-btn.align-vertical:not(.no-label) .opt-btn-label{font-size:12px;line-height:1.2}.opt-btn.align-horizontal:not(.no-label){flex-direction:row}.opt-btn.align-horizontal:not(.no-label) .opt-btn-text-wrapper{margin-left:8px}.opt-btn.align-horizontal:not(.no-label) .opt-btn-label{font-size:14px}.opt-btn.no-label .opt-btn-text-wrapper{width:0;height:0;margin:0;padding:0;overflow:visible;position:absolute;top:0;right:0}.opt-btn.no-label .opt-btn-arrow{position:absolute;top:2px;right:2px;margin:0;font-size:8px}.opt-btn-dropdown{position:absolute;background-color:var(--bim-toolbar-bg, rgba(17, 17, 17, .95));border-radius:4px;padding:4px;box-shadow:0 4px 12px #0003;z-index:1001;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,transform .2s cubic-bezier(.2,0,.2,1),visibility .2s}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.opt-btn-dropdown{animation:dropdown-fade-in .2s cubic-bezier(.2,0,.2,1) forwards;opacity:1;visibility:visible;transform:none}.opt-btn-dropdown-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;border-radius:4px;color:var(--bim-btn-text-color, #ccc);transition:background .2s,border-color .2s,color .2s;box-sizing:border-box;border:1px solid transparent;outline:none}.opt-btn-dropdown-item .opt-btn-icon{color:var(--bim-icon-color, #ccc)}.opt-btn-dropdown-item:hover{background-color:var(--bim-btn-hover-bg, #444)}.opt-btn-dropdown-item.active{background-color:var(--bim-btn-active-bg, rgba(255, 255, 255, .15));color:var(--bim-btn-text-active-color, #fff)}.opt-btn-dropdown-item.align-horizontal{flex-direction:row}.opt-btn-dropdown-item.align-horizontal .opt-btn-icon{width:18px;height:18px;margin-right:8px}.opt-btn-dropdown-item.align-vertical{flex-direction:column;text-align:center}.opt-btn-dropdown-item.align-vertical .opt-btn-icon{width:24px;height:24px;margin-bottom:4px}.opt-btn-dropdown-item.align-vertical .opt-btn-dropdown-label{font-size:12px}.bim-btn-group-root.is-bottom-toolbar .opt-btn-icon{width:32px;height:32px}.bim-btn-group-root.is-bottom-toolbar .opt-btn{padding:8px}.bim-btn-group-root.is-bottom-toolbar.dir-row{max-width:calc(100% - 40px);overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.bim-btn-group-root.is-bottom-toolbar.dir-row .bim-btn-group-section{flex-shrink:0}.bim-btn-group-root.is-bottom-toolbar.dir-row::-webkit-scrollbar{height:4px}.bim-btn-group-root.is-bottom-toolbar.dir-row::-webkit-scrollbar-track{background:transparent}.bim-btn-group-root.is-bottom-toolbar.dir-row::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.bim-btn-group-root.is-bottom-toolbar.dir-row::-webkit-scrollbar-thumb:hover{background:#fff6}.bim-btn-group-root.type-glass-pill .bim-btn-group-section{background:var(--bim-floating-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--bim-floating-border);border-radius:9999px;box-shadow:none;padding:8px;gap:10px}.bim-btn-group-root.type-glass-pill .opt-btn{width:48px;height:48px;min-width:48px;border-radius:9999px;background:var(--bim-floating-btn-bg);border:1px solid var(--bim-floating-btn-border);box-shadow:var(--bim-floating-btn-shadow);color:var(--bim-text-primary);padding:0;transition:all .2s ease-out}.bim-btn-group-root.type-glass-pill .opt-btn:hover{background:var(--bim-floating-btn-bg-hover);transform:scale(1.05);box-shadow:var(--bim-floating-btn-shadow-hover)}.bim-btn-group-root.type-glass-pill .opt-btn:active{transform:scale(.98)}.bim-btn-group-root.type-glass-pill .opt-btn.active{background:var(--bim-primary);border:1px solid var(--bim-primary-active);color:var(--bim-text-inverse);box-shadow:var(--bim-shadow-glow)}.bim-btn-group-root.type-glass-pill .opt-btn.active:hover{background:var(--bim-primary-hover);transform:scale(1.05)}.bim-btn-group-root.type-glass-pill .opt-btn.active:active{transform:scale(.98)}.bim-btn-group-root.type-glass-pill .opt-btn.active .opt-btn-icon{color:var(--bim-icon-inverse)}.bim-btn-group-root.type-glass-pill .opt-btn.disabled{opacity:.3;cursor:not-allowed;transform:none;box-shadow:none}.bim-btn-group-root.type-glass-pill .opt-btn-icon{width:18px;height:18px;color:var(--bim-floating-icon-color);transition:color .2s ease-out}.bim-btn-group-root.type-glass-pill .opt-btn-icon svg{width:18px;height:18px}.bim-btn-group-root.type-glass-pill .opt-btn:hover .opt-btn-icon{color:var(--bim-floating-icon-color-hover)}.bim-btn-group-root.type-glass-pill .opt-btn-label{display:none!important}.bim-btn-group-root.type-glass-pill .opt-btn-text-wrapper{position:absolute;top:2px;right:2px;width:0;height:0;margin:0;padding:0}.bim-btn-group-root.type-glass-pill .opt-btn-arrow{font-size:8px;position:absolute;top:0;right:0;color:var(--bim-text-tertiary)}.opt-btn-dropdown.type-glass-pill{background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.6);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:6px}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item{display:flex;flex-direction:row;align-items:center;gap:10px;border-radius:8px;color:#334155;padding:8px 12px;font-size:13px;font-weight:400;transition:all .1s ease-out}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item:hover{background:#f1f5f9}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item:active{background:#e2e8f0}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item.active{background:#3b82f6;color:#fff}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item.active .opt-btn-icon,.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item.active .opt-btn-dropdown-label{color:#fff}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item .opt-btn-icon{width:18px;height:18px;color:#334155;flex-shrink:0}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item .opt-btn-icon svg{width:18px;height:18px}.opt-btn-dropdown.type-glass-pill .opt-btn-dropdown-item .opt-btn-dropdown-label{white-space:nowrap;color:#334155}.opt-btn-dropdown.type-glass-pill.theme-dark{background:var(--bim-bg-overlay);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--bim-border-default);box-shadow:var(--bim-shadow-lg)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item{color:var(--bim-text-primary)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item:hover{background:var(--bim-floating-btn-bg)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item:active{background:var(--bim-floating-btn-bg-hover)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item.active{background:var(--bim-primary);color:var(--bim-text-inverse)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item .opt-btn-icon{color:var(--bim-floating-icon-color)}.opt-btn-dropdown.type-glass-pill.theme-dark .opt-btn-dropdown-item .opt-btn-dropdown-label{color:var(--bim-text-primary)}.engine-view-dropdown-host{position:relative}.engine-view-dropdown-trigger{position:absolute;top:50px;right:95px;z-index:1201;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:filter .2s ease;background:none;border:none;padding:0}.engine-view-dropdown-trigger:hover{filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.engine-view-dropdown-trigger svg{width:24px;height:24px}.engine-view-dropdown-trigger--top-right{top:12px;right:12px}.engine-view-dropdown-menu{background:var(--bim-panel-bg, rgba(255, 255, 255, .95));border:1px solid var(--bim-panel-border, rgba(226, 232, 240, .6));border-radius:8px;box-shadow:var(--bim-shadow-lg, 0 10px 25px rgba(0, 0, 0, .15));min-width:160px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:dropdownIn .15s ease-out}.engine-view-dropdown-item{padding:4px 8px;cursor:pointer;font-size:12px;color:var(--bim-text-primary, #0f172a);transition:all .15s ease;line-height:1.5;white-space:nowrap}.engine-view-dropdown-item:hover{background:var(--bim-component-bg-hover, rgba(15, 23, 42, .04));color:var(--bim-primary, #2563eb)}.engine-view-dropdown-item:active{background:var(--bim-component-bg-active, rgba(15, 23, 42, .08))}.engine-view-dropdown-item:not(:last-child){border-bottom:1px solid var(--bim-panel-border, rgba(226, 232, 240, .6))}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.bim-help-panel-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;visibility:hidden;opacity:0;transition:opacity .2s ease}.bim-help-panel-overlay.active{visibility:visible;opacity:1}.bim-help-panel-container{background:var(--bim-panel-bg);width:720px;max-width:92%;max-height:85vh;border-radius:10px;box-shadow:var(--bim-shadow-lg);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--bim-panel-border)}.bim-help-panel-close{position:absolute;right:16px;top:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;color:var(--bim-text-tertiary);background:transparent;border:none;line-height:1;z-index:10;transition:color .15s ease}.bim-help-panel-close:hover{color:var(--bim-text-primary)}.bim-help-panel-header{display:flex;justify-content:center;padding:16px 20px;gap:8px;border-bottom:1px solid var(--bim-divider);background:var(--bim-panel-header-bg);flex-shrink:0}.bim-help-panel-tab-btn{background:var(--bim-component-bg);border:1px solid var(--bim-border-default);padding:8px 28px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;border-radius:5px;color:var(--bim-text-secondary)}.bim-help-panel-tab-btn:hover{border-color:var(--bim-border-strong);color:var(--bim-text-primary)}.bim-help-panel-tab-btn.active{border:2px solid var(--bim-text-primary);color:var(--bim-text-primary);background:var(--bim-component-bg)}.bim-help-panel-body{padding:20px 24px;overflow-y:auto;flex:1}.bim-help-panel-body::-webkit-scrollbar{width:5px}.bim-help-panel-body::-webkit-scrollbar-track{background:transparent}.bim-help-panel-body::-webkit-scrollbar-thumb{background:var(--bim-scrollbar-thumb);border-radius:3px}.bim-help-panel-tab-content{display:none;grid-template-columns:repeat(3,1fr);gap:12px}.bim-help-panel-tab-content.active{display:grid}.bim-help-panel-card{background:var(--bim-component-bg);border:1px solid var(--bim-border-subtle);border-radius:8px;padding:16px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;gap:10px}.bim-help-panel-card-span-2{grid-column:span 2}.bim-help-panel-card-title{font-size:13px;color:var(--bim-text-primary);font-weight:700;width:100%;text-align:left;border-left:3px solid var(--bim-primary);padding-left:8px}.bim-help-panel-control-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--bim-text-primary);font-size:13px}.bim-help-panel-kbd{background:var(--bim-bg-base);border:1px solid var(--bim-border-default);border-radius:4px;box-shadow:0 2px 0 var(--bim-border-subtle);color:var(--bim-text-primary);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;padding:4px 10px;min-width:24px;height:26px;font-family:ui-monospace,SFMono-Regular,monospace}.bim-help-panel-wasd-group{display:flex;flex-direction:column;align-items:center;gap:4px}.bim-help-panel-kbd-row{display:flex;gap:4px}.bim-help-panel-rule-desc{font-size:12px;color:var(--bim-text-secondary);line-height:1.5;text-align:center}.bim-help-panel-bold{color:var(--bim-text-primary);font-weight:700}.bim-help-panel-mouse-box{width:22px;height:32px;border:2px solid var(--bim-text-primary);border-radius:8px;position:relative;background:var(--bim-bg-base);flex-shrink:0}.bim-help-panel-mouse-box:after{content:"";position:absolute;top:4px;left:50%;height:10px;border-right:2px solid var(--bim-text-primary);transform:translate(-50%)}.bim-help-panel-mouse-left{position:absolute;top:0;left:0;width:50%;height:55%;border-radius:6px 0 0;background:var(--bim-text-primary)}.bim-help-panel-mouse-right{position:absolute;top:0;right:0;width:50%;height:55%;border-radius:0 6px 0 0;background:var(--bim-text-primary)}.bim-help-panel-mouse-wheel{position:absolute;top:6px;left:50%;width:4px;height:8px;background:var(--bim-text-primary);border-radius:2px;transform:translate(-50%);z-index:2}.bim-help-panel-teleport-icon{width:28px;height:28px;border:2px solid var(--bim-text-primary);border-radius:50%;position:relative;display:flex;justify-content:center;align-items:center;flex-shrink:0}.bim-help-panel-teleport-icon:before,.bim-help-panel-teleport-icon:after{content:"";position:absolute;background:var(--bim-text-primary)}.bim-help-panel-teleport-icon:before{width:36px;height:2px}.bim-help-panel-teleport-icon:after{width:2px;height:36px}.bim-help-panel-teleport-inner{width:6px;height:6px;background:var(--bim-text-primary);border-radius:50%;z-index:2}.bim-help-panel-footer{display:flex;justify-content:center;gap:16px;padding:16px 24px 24px;border-top:1px solid var(--bim-divider);flex-shrink:0}.bim-help-panel-btn{padding:10px 48px;border-radius:6px;border:none;font-size:14px;cursor:pointer;font-weight:600;transition:all .15s ease}.bim-help-panel-btn-primary{background:var(--bim-primary);color:var(--bim-text-inverse)}.bim-help-panel-btn-primary:hover{background:var(--bim-primary-hover)}.bim-help-panel-btn-secondary{background:var(--bim-component-bg-hover);color:var(--bim-text-secondary);border:1px solid var(--bim-border-default)}.bim-help-panel-btn-secondary:hover{background:var(--bim-component-bg-active);color:var(--bim-text-primary)}@media(max-width:640px){.bim-help-panel-container{width:96%;max-height:90vh}.bim-help-panel-tab-content{grid-template-columns:1fr}.bim-help-panel-card-span-2{grid-column:span 1}.bim-help-panel-tab-btn{padding:8px 20px;font-size:13px}.bim-help-panel-btn{padding:10px 24px}}.engine-info-button{position:absolute;bottom:20px;left:10px;z-index:999;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:filter .2s ease;background:none;border:none;padding:0}.engine-info-button:hover{filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.engine-info-button svg{width:24px;height:24px}.originRotate{width:10px;height:10px;background-color:red}.versionText{position:absolute;right:10px;color:#86d9ff;z-index:1000;bottom:10px;font-size:10px;background:transparent;pointer-events:none}.originDiv{position:absolute;top:100px;left:100px;width:30px;height:30px;border-radius:50%;z-index:1000;pointer-events:none}.tagDiv{color:gray;background:#fffc;padding:5px;font-size:12px}.catchPoint{pointer-events:none;stroke:#08dfd7;fill:transparent;stroke-width:2}.catchLine{position:absolute;width:10px;height:10px;pointer-events:none;background-color:green}.catchPlane{position:absolute;width:10px;height:10px;pointer-events:none;background-color:#ff0}.bim-mobile-roam-controls{position:absolute;left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom));z-index:1200;display:flex;align-items:flex-end;justify-content:space-between;padding:0 22px;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none}.bim-mobile-roam-pad,.bim-mobile-roam-look-group{pointer-events:auto}.bim-mobile-roam-move-pad{width:116px;height:116px;border:1px solid rgba(255,255,255,.34);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#14182073;box-shadow:0 4px 16px #0000003d inset,0 4px 14px #0003;touch-action:none}.bim-mobile-roam-button{width:44px;height:44px;border:1px solid rgba(255,255,255,.46);border-radius:8px;color:#fff;background:#14182094;box-shadow:0 4px 14px #00000038;font-size:15px;font-weight:600;line-height:1;touch-action:none}.bim-mobile-roam-button.is-active{background:#267effc7;border-color:#ffffffb8}.bim-mobile-roam-move-pad.is-active{border-color:#267effd6;background:#142c4a8a}.bim-mobile-roam-look-group{display:flex;align-items:center;gap:12px}.bim-mobile-roam-vertical-pad{display:flex;flex-direction:column;gap:10px}.bim-mobile-roam-look-pad{width:116px;height:116px;border:1px solid rgba(255,255,255,.34);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#14182073;box-shadow:0 4px 16px #0000003d inset,0 4px 14px #0003;touch-action:none}.bim-mobile-roam-look-pad.is-active{border-color:#267effd6;background:#142c4a8a}.bim-mobile-roam-look-knob,.bim-mobile-roam-move-knob{width:46px;height:46px;border-radius:50%;background:#ffffffb8;box-shadow:0 2px 10px #00000042}@media(max-width:520px){.bim-mobile-roam-controls{padding:0 14px;bottom:max(14px,env(safe-area-inset-bottom))}.bim-mobile-roam-move-pad{width:96px;height:96px}.bim-mobile-roam-button{width:38px;height:38px;font-size:13px}.bim-mobile-roam-look-pad{width:96px;height:96px}.bim-mobile-roam-look-knob,.bim-mobile-roam-move-knob{width:38px;height:38px}}.ViewCube{position:absolute;width:120px;height:120px;top:0;right:0;z-index:999}.homeViewWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-size:100% 100%;background-repeat:no-repeat;background-color:#fff0;color:#fff;top:10px;right:100;width:20px;height:20px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.viewSettingWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-size:100% 100%;background-repeat:no-repeat;font-weight:800;background-color:#fff0;color:#fff;top:30px;right:100;width:20px;height:20px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.cameraToggleWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-color:#ffffffe6;color:#333;font-size:26px;font-weight:700;display:none;align-items:center;justify-content:center;border-radius:4px;box-shadow:0 2px 4px #0003;transition:all .3s ease;top:70px;right:90px;width:44px;height:44px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.cameraToggleWrapper.show{display:flex}.cameraToggleWrapper:hover{background-color:#fff;box-shadow:0 3px 6px #0000004d;transform:scale(1.1)}.screenshotWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-color:#ffffffe6;color:#333;font-size:20px;display:none;align-items:center;justify-content:center;border-radius:4px;box-shadow:0 2px 4px #0003;transition:all .3s ease;top:120px;right:90px;width:44px;height:44px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.screenshotWrapper.show{display:flex}.screenshotWrapper:hover{background-color:#fff;box-shadow:0 3px 6px #0000004d;transform:scale(1.1)}.fullscreenWrapper{position:absolute;cursor:pointer;pointer-events:auto;background-color:#ffffffe6;color:#333;font-size:26px;font-weight:700;display:none;align-items:center;justify-content:center;border-radius:4px;box-shadow:0 2px 4px #0003;transition:all .3s ease;top:170px;right:90px;width:44px;height:44px;z-index:999;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.fullscreenWrapper.show{display:flex}.fullscreenWrapper:hover{background-color:#fff;box-shadow:0 3px 6px #0000004d;transform:scale(1.1)}.measure-elevation{position:absolute;pointer-events:none}.measureSvg{position:absolute;width:1920px;height:1080px}.catch-point{position:absolute;width:10px;height:10px;background-color:red;border-radius:50%;pointer-events:none}.annotation-container{position:absolute;pointer-events:none;top:0;left:0}.measureLine{position:absolute;pointer-events:none;stroke:#009bea;fill:#009bea;filter:drop-shadow(0px 0px 2px rgba(0,0,0,.3))}.measureBack{cursor:pointer;pointer-events:auto;fill:#fff;rx:5;ry:5;filter:drop-shadow(0px 0px 3px rgba(0,0,0,.3));text-align:center}.measureLabel{position:absolute;fill:#fff;font-family:tahoma;font-size:14px;stroke:#009bea;font-weight:200;pointer-events:none;text-anchor:middle}.measurePointer{fill:#009bea}.Hight{stroke:#fff;font-weight:500;filter:drop-shadow(0px 0px 2px rgb(0,195,255))}.allow-select{pointer-events:auto}.disallow-select{pointer-events:none}.angle-annotation{position:absolute;pointer-events:auto}.measure-2d-selected.measureLine{stroke:#fff;fill:#fff;filter:drop-shadow(0 0 3px rgb(0,195,255))}.measure-2d-selected.measurePointer{fill:#fff;stroke:#00c3ff;stroke-width:2px;filter:drop-shadow(0 0 3px rgb(0,195,255))}.measure-2d-selected.measureBack{fill:#009bea;stroke:#fff;stroke-width:1px;filter:drop-shadow(0 0 4px rgb(0,195,255))}.measure-2d-selected.measureLabel{fill:#fff;stroke:none;font-weight:600}polygon.measure-2d-selected{fill:#00c3ff38}.markup-2d-layer{position:absolute;inset:0;pointer-events:none;z-index:30}.markup-2d-svg{position:absolute;inset:0;overflow:visible;pointer-events:none}.markup-2d-toolbar{position:absolute;top:8px;left:50%;transform:translate(-50%);display:none;align-items:center;gap:6px;padding:6px;background:#fff;border:1px solid #d9d9d9;border-radius:8px;box-shadow:0 4px 14px #00000024;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:1300}.markup-2d-toolbar button,.markup-2d-toolbar input{height:28px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#1f2937;font-size:12px}.markup-2d-toolbar button{width:28px;min-width:28px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.markup-2d-toolbar button:hover,.markup-2d-toolbar button.active{color:#1677ff;border-color:#1677ff;background:#eef6ff}.markup-2d-toolbar input[type=color]{width:34px;padding:2px}.markup-2d-toolbar input[type=number]{width:54px;padding:0 4px}.markup-2d-icon-button img{width:16px;height:16px;display:block;pointer-events:none}.markup-2d-divider{width:1px;height:22px;background:#e5e7eb}.markup-2d-shape{pointer-events:auto;cursor:pointer}.markup-2d-shape.selected{filter:drop-shadow(0 0 4px rgba(22,119,255,.9))}.MapController{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.engine-2d-container{position:relative;width:100%;height:100%;overflow:hidden}.engine-2d-canvas{display:block;width:100%;height:100%;outline:none}.engine-2d-version-text{position:absolute;right:10px;bottom:0;z-index:1000;color:#86d9ff;font-size:10px;background:transparent;pointer-events:none}.engine-2d-cad-cursor{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.engine-2d-cad-cursor__h{position:absolute;left:0;width:100%;height:1px;background:var(--e2d-cursor, rgba(255, 255, 255, .85));transform:translateY(-50%)}.engine-2d-cad-cursor__v{position:absolute;top:0;width:1px;height:100%;background:var(--e2d-cursor, rgba(255, 255, 255, .85));transform:translate(-50%)}.engine-2d-cad-cursor__box{position:absolute;width:8px;height:8px;border:1px solid var(--e2d-cursor, rgba(255, 255, 255, .85));transform:translate(-50%,-50%)}.engine-2d-cad-cursor--short-crosshair .engine-2d-cad-cursor__h{width:72px;left:0;transform:translate(-50%,-50%)}.engine-2d-cad-cursor--short-crosshair .engine-2d-cad-cursor__v{height:72px;top:0;transform:translate(-50%,-50%)}.engine-2d-context-menu{position:absolute;z-index:9999;min-width:140px;background:var(--e2d-bg2, #252526);border:1px solid var(--e2d-border, rgba(255, 255, 255, .12));border-radius:4px;box-shadow:0 4px 16px var(--e2d-shadow, rgba(0, 0, 0, .5));padding:4px 0;display:none;-webkit-user-select:none;user-select:none}.engine-2d-context-menu--visible{display:block}.engine-2d-context-menu__item{padding:7px 16px;font-size:13px;color:var(--e2d-text2, #cccccc);cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.engine-2d-context-menu__item:hover{background:var(--e2d-bg-accent, #094771);color:var(--e2d-text-accent, #ffffff)}.engine-2d-context-menu__divider{height:1px;background:var(--e2d-border, rgba(255, 255, 255, .1));margin:4px 0}.engine-2d-stats{position:absolute;top:10px;left:10px;background:var(--e2d-float-bg, rgba(0, 0, 0, .7));color:var(--e2d-text, #e0e0e0);padding:8px 12px;border-radius:4px;font-family:monospace;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none}.engine-2d-stats div{margin:2px 0}.engine-2d-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--e2d-float-bg, rgba(0, 0, 0, .8));color:var(--e2d-text, #e0e0e0);padding:20px 40px;border-radius:8px;font-size:16px;text-align:center}.engine-2d-loading-spinner{border:3px solid var(--e2d-border, rgba(255, 255, 255, .3));border-top:3px solid var(--e2d-accent, #4fc3f7);border-radius:50%;width:40px;height:40px;animation:engine-2d-spin 1s linear infinite;margin:0 auto 10px}@keyframes engine-2d-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.engine-2d-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#d32f2feb;color:#fff;padding:20px 40px;border-radius:8px;font-size:14px;max-width:80%;text-align:center}.engine-2d-controls-hint{position:absolute;bottom:10px;left:10px;background:var(--e2d-float-bg, rgba(0, 0, 0, .6));color:var(--e2d-text, #e0e0e0);border:1px solid var(--e2d-float-border, rgba(255, 255, 255, .08));padding:8px 12px;border-radius:4px;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none}.engine-2d-controls-hint kbd{background:var(--e2d-icon-bg, rgba(255, 255, 255, .2));color:var(--e2d-text, #e0e0e0);padding:2px 6px;border-radius:3px;font-family:monospace}.engine-2d-workspace-tabs{position:absolute;left:12px;bottom:10px;z-index:40;display:flex;align-items:center;max-width:calc(100% - 24px);overflow-x:auto;background:var(--e2d-bg2, rgba(28, 33, 40, .92));border:1px solid var(--e2d-border, rgba(255, 255, 255, .14));border-radius:4px;box-shadow:0 4px 14px var(--e2d-shadow, rgba(0, 0, 0, .28))}.engine-2d-workspace-tabs__item{flex:0 0 auto;max-width:180px;height:28px;padding:0 12px;border:0;border-right:1px solid var(--e2d-border2, rgba(255, 255, 255, .1));background:transparent;color:var(--e2d-text2, #d7dde4);font-size:12px;line-height:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.engine-2d-workspace-tabs__item:last-child{border-right:0}.engine-2d-workspace-tabs__item:hover:not(:disabled){background:var(--e2d-bg-hover, rgba(79, 195, 247, .12));color:var(--e2d-text-accent, #ffffff)}.engine-2d-workspace-tabs__item--active{background:var(--e2d-accent, #2f80ed);color:#fff;cursor:default}.engine-2d-workspace-tabs__item:disabled{opacity:.9}.engine-2d-search{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;display:none}.engine-2d-search--visible{display:block}.engine-2d-search__box{position:absolute;top:14%;left:50%;transform:translate(-50%);width:480px;max-width:calc(100% - 40px);background:var(--e2d-bg, #1e1f22);border:1px solid var(--e2d-border, rgba(255, 255, 255, .14));border-radius:10px;box-shadow:0 8px 40px var(--e2d-shadow-lg, rgba(0, 0, 0, .65)),0 2px 8px var(--e2d-shadow, rgba(0, 0, 0, .4));overflow:hidden;pointer-events:auto;animation:engine-2d-search-in .18s cubic-bezier(.34,1.2,.64,1)}@keyframes engine-2d-search-in{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.engine-2d-search__input-row{display:flex;align-items:center;padding:0 12px;gap:8px;height:48px}.engine-2d-search__icon{flex-shrink:0;color:var(--e2d-icon, rgba(255, 255, 255, .4));display:flex;align-items:center}.engine-2d-search__input{flex:1;background:transparent;border:none;outline:none;color:var(--e2d-text, #e0e0e0);font-size:14px;line-height:1.4;caret-color:var(--e2d-accent, #4fc3f7)}.engine-2d-search__input::placeholder{color:var(--e2d-text3, rgba(255, 255, 255, .25))}.engine-2d-search__clear{flex-shrink:0;background:var(--e2d-icon-bg, rgba(255, 255, 255, .08));border:none;border-radius:4px;color:var(--e2d-icon, rgba(255, 255, 255, .5));cursor:pointer;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;opacity:0;pointer-events:none;transition:opacity .15s,background .15s,color .15s}.engine-2d-search__clear:hover{background:var(--e2d-icon-bg-hover, rgba(255, 255, 255, .16));color:var(--e2d-close-hover, #ffffff)}.engine-2d-search__divider{height:1px;background:var(--e2d-border2, rgba(255, 255, 255, .08));display:none}.engine-2d-search__status{padding:6px 16px;font-size:11px;color:var(--e2d-text3, rgba(255, 255, 255, .35));display:none;-webkit-user-select:none;user-select:none}.engine-2d-search__list{list-style:none;margin:0;padding:4px 0;max-height:320px;overflow-y:auto;display:none;scrollbar-width:thin;scrollbar-color:var(--e2d-scrollbar, rgba(255, 255, 255, .15)) transparent}.engine-2d-search__list::-webkit-scrollbar{width:4px}.engine-2d-search__list::-webkit-scrollbar-track{background:transparent}.engine-2d-search__list::-webkit-scrollbar-thumb{background:var(--e2d-scrollbar, rgba(255, 255, 255, .15));border-radius:2px}.engine-2d-search__item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:background .1s;min-height:38px;flex-wrap:nowrap}.engine-2d-search__item:hover,.engine-2d-search__item--active{background:var(--e2d-bg-hover, rgba(79, 195, 247, .08))}.engine-2d-search__item-badge{flex-shrink:0;font-size:10px;font-weight:500;padding:2px 6px;border-radius:3px;letter-spacing:.03em;white-space:nowrap;color:var(--e2d-accent, #4fc3f7);background:#4fc3f71f}.engine-2d-search__item-name{flex:1;font-size:13px;color:var(--e2d-text, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.engine-2d-search__item-layer{flex-shrink:0;font-size:11px;color:var(--e2d-text3, rgba(255, 255, 255, .3));white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.engine-2d-search__item-desc{flex-shrink:0;font-size:11px;color:var(--e2d-text4, rgba(255, 255, 255, .25));white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.engine-2d-search__mark{background:transparent;color:var(--e2d-accent, #4fc3f7);font-weight:600}.engine-2d-mouse-coord{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:var(--e2d-float-bg, rgba(0, 0, 0, .65));color:var(--e2d-text, #e0e0e0);padding:5px 14px;border-radius:4px;font-family:monospace;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none;border:1px solid var(--e2d-float-border, rgba(255, 255, 255, .08))}.engine-2d-mouse-coord__label{color:var(--e2d-coord-label, rgba(255, 255, 255, .45));font-size:11px;letter-spacing:.05em}.engine-2d-mouse-coord__value{min-width:90px;color:var(--e2d-coord-value, #76c8ff)}.panorama-annotation-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.panorama-annotation{position:absolute;pointer-events:auto;cursor:pointer;transform:translate(-50%,-50%);transition:opacity .2s ease,transform .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.panorama-annotation:hover{z-index:1001;transform:translate(-50%,-50%) scale(1.1)}.panorama-annotation-icon{width:40px;height:40px}.panorama-annotation-icon img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.panorama-annotation-text{max-width:200px;text-align:center;line-height:1.4}.panorama-annotation-link{transition:background-color .2s ease,transform .2s ease}.panorama-annotation-link:hover{z-index:1002}.panorama-annotation-link img{display:block;flex-shrink:0}.panorama-annotation.hidden{display:none!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.panorama-annotation.loading{animation:pulse 1.5s ease-in-out infinite}@media(max-width:768px){.panorama-annotation-icon{width:32px;height:32px}.panorama-annotation-text,.panorama-annotation-link{font-size:12px!important;padding:6px 10px!important}}.cesium-svgPath-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-button{display:inline-block;position:relative;background:#303336;border:1px solid #444;color:#edffff;fill:#edffff;border-radius:4px;padding:5px 12px;margin:2px 3px;cursor:pointer;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-button:focus{color:#fff;fill:#fff;border-color:#ea4;outline:none}.cesium-button:hover{color:#fff;fill:#fff;background:#48b;border-color:#aef;box-shadow:0 0 8px #fff}.cesium-button:active{color:#000;fill:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-button:disabled,.cesium-button-disabled,.cesium-button-disabled:focus,.cesium-button-disabled:hover,.cesium-button-disabled:active{background:#303336;border-color:#444;color:#646464;fill:#646464;box-shadow:none;cursor:default}.cesium-button option{background-color:#000;color:#eee}.cesium-button option:disabled{color:#777}.cesium-button input,.cesium-button label{cursor:pointer}.cesium-button input{vertical-align:sub}.cesium-toolbar-button{box-sizing:border-box;width:32px;height:32px;border-radius:14%;padding:0;vertical-align:middle;z-index:0}.cesium-performanceDisplay-defaultContainer{position:absolute;top:50px;right:10px;text-align:right}.cesium-performanceDisplay{background-color:#282828b3;padding:7px;border-radius:5px;border:1px solid #444;font:700 12px sans-serif}.cesium-performanceDisplay-fps{color:#e52}.cesium-performanceDisplay-throttled{color:#a42}.cesium-performanceDisplay-ms{color:#de3}.cesium-animation-theme{visibility:hidden;display:block;position:absolute;z-index:-100}.cesium-animation-themeNormal{color:#222}.cesium-animation-themeHover{color:#4488b0}.cesium-animation-themeSelect{color:#242}.cesium-animation-themeDisabled{color:#333}.cesium-animation-themeKnob{color:#222}.cesium-animation-themePointer{color:#2e2}.cesium-animation-themeSwoosh{color:#8ac}.cesium-animation-themeSwooshHover{color:#aef}.cesium-animation-svgText{fill:#edffff;font-family:Sans-Serif;font-size:15px;text-anchor:middle}.cesium-animation-blank{fill:#000;fill-opacity:.01;stroke:none}.cesium-animation-rectButton{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-rectButton .cesium-animation-buttonGlow{fill:#fff;stroke:none;display:none}.cesium-animation-rectButton:hover .cesium-animation-buttonGlow{display:block}.cesium-animation-rectButton .cesium-animation-buttonPath{fill:#edffff}.cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#444;stroke-width:1.2}.cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#aef}.cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-animation-buttonDisabled{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#555}.cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-animation-buttonDisabled .cesium-animation-buttonGlow{display:none}.cesium-animation-buttonToggled .cesium-animation-buttonGlow{display:block;fill:#2e2}.cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-shuttleRingG,.cesium-animation-shuttleRingPointer,.cesium-animation-shuttleRingPausePointer{cursor:pointer}.cesium-animation-shuttleRingBack{fill:#181818;fill-opacity:.8;stroke:#333;stroke-width:1.2}.cesium-animation-shuttleRingSwoosh line{stroke:#8ac;stroke-width:3;stroke-opacity:.2;stroke-linecap:round}.cesium-animation-knobOuter{cursor:pointer;stroke:#444;stroke-width:1.2}.cesium-animation-knobInner{cursor:pointer}.cesium-baseLayerPicker-selected{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.cesium-baseLayerPicker-dropDown{display:block;position:absolute;box-sizing:content-box;top:auto;right:0;width:320px;max-height:500px;margin-top:5px;background-color:#262626bf;border:1px solid #444;padding:6px;overflow:auto;border-radius:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;transform:translateY(-20%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-baseLayerPicker-dropDown-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-baseLayerPicker-sectionTitle{display:block;font-family:sans-serif;font-size:16pt;text-align:left;color:#edffff;margin-bottom:4px}.cesium-baseLayerPicker-choices{margin-bottom:5px}.cesium-baseLayerPicker-categoryTitle{color:#edffff;font-size:11pt}.cesium-baseLayerPicker-choices{display:block;border:1px solid #888;border-radius:5px;padding:5px 0}.cesium-baseLayerPicker-item{display:inline-block;vertical-align:top;margin:2px 5px;width:64px;text-align:center;cursor:pointer}.cesium-baseLayerPicker-itemLabel{display:block;font-family:sans-serif;font-size:8pt;text-align:center;vertical-align:middle;color:#edffff;cursor:pointer;word-wrap:break-word}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel,.cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel{text-decoration:underline}.cesium-baseLayerPicker-itemIcon{display:inline-block;position:relative;width:inherit;height:auto;background-size:100% 100%;border:solid 1px #444;border-radius:9px;color:#edffff;margin:0;padding:0;cursor:pointer;box-sizing:border-box}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#fff;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#bdecf8}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px rgb(189,236,248)}.cesium-widget{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-widget,.cesium-widget canvas{width:100%;height:100%;touch-action:none}.cesium-widget-credits{display:block;position:absolute;bottom:0;left:0;color:#fff;font-size:10px;text-shadow:0px 0px 2px #000000;padding-right:5px}.cesium-widget-errorPanel{position:absolute;inset:0;text-align:center;background:#000000b3;z-index:99999}.cesium-widget-errorPanel:before{display:inline-block;vertical-align:middle;height:100%;content:""}.cesium-widget-errorPanel-content{width:75%;max-width:500px;display:inline-block;text-align:left;vertical-align:middle;border:1px solid #510c00;border-radius:7px;background-color:#f0d9d5;font-size:14px;color:#510c00}.cesium-widget-errorPanel-content.expanded{max-width:75%}.cesium-widget-errorPanel-header{font-size:18px;font-family:Open Sans,Verdana,Geneva,sans-serif;background:#d69d93;border-bottom:2px solid #510c00;border-radius:3px 3px 0 0;padding:15px}.cesium-widget-errorPanel-scroll{overflow:auto;font-family:Open Sans,Verdana,Geneva,sans-serif;white-space:pre-wrap;padding:0 15px;margin:10px 0 20px}.cesium-widget-errorPanel-buttonPanel{padding:0 15px;margin:10px 0 20px;text-align:right}.cesium-widget-errorPanel-buttonPanel button{border-color:#510c00;background:#d69d93;color:#202020;margin:0}.cesium-widget-errorPanel-buttonPanel button:focus{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:hover{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:active{border-color:#510c00;background:#b17b72;color:#510c00}.cesium-widget-errorPanel-more-details{text-decoration:underline;cursor:pointer}.cesium-widget-errorPanel-more-details:hover{color:#2b0700}.cesium-cesiumInspector{border-radius:5px;transition:width ease-in-out .25s;background:#303336cc;border:1px solid #444;color:#edffff;display:inline-block;position:relative;padding:4px 12px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.cesium-cesiumInspector-button{text-align:center;font-size:11pt}.cesium-cesiumInspector-visible .cesium-cesiumInspector-button{border-bottom:1px solid #aaa;padding-bottom:3px}.cesium-cesiumInspector input:enabled,.cesium-cesiumInspector-button{cursor:pointer}.cesium-cesiumInspector-visible{width:185px;height:auto}.cesium-cesiumInspector-hidden{width:122px;height:17px}.cesium-cesiumInspector-sectionContent{max-height:600px}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent{max-height:0;padding:0!important;overflow:hidden}.cesium-cesiumInspector-dropDown{margin:5px 0;font-family:sans-serif;font-size:10pt;width:185px}.cesium-cesiumInspector-frustumStatistics{padding:5px;background-color:#505050bf}.cesium-cesiumInspector-pickButton{background-color:#0000004d;border:1px solid #444;color:#edffff;border-radius:5px;padding:3px 7px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;margin:0 auto}.cesium-cesiumInspector-pickButton:focus{outline:none}.cesium-cesiumInspector-pickButton:active,.cesium-cesiumInspector-pickButtonHighlight{color:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-cesiumInspector-center{text-align:center}.cesium-cesiumInspector-sectionHeader{font-weight:700;font-size:10pt;margin:0;cursor:pointer}.cesium-cesiumInspector-pickSection{border:1px solid #aaa;border-radius:5px;padding:3px;margin-bottom:5px}.cesium-cesiumInspector-sectionContent{margin-bottom:10px;transition:max-height .25s}.cesium-cesiumInspector-tileText{padding-bottom:10px;border-bottom:1px solid #aaa}.cesium-cesiumInspector-relativeText{padding-top:10px}.cesium-cesiumInspector-sectionHeader:before{margin-right:5px;content:"-";width:1ch;display:inline-block}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader:before{content:"+"}ul.cesium-cesiumInspector-statistics{margin:0;padding-top:3px;padding-bottom:3px}ul.cesium-cesiumInspector-statistics+ul.cesium-cesiumInspector-statistics{border-top:1px solid #aaa}.cesium-cesiumInspector-slider{margin-top:5px}.cesium-cesiumInspector-slider input[type=number]{text-align:left;background-color:#222;outline:none;border:1px solid #444;color:#edffff;width:100px;border-radius:3px;padding:1px;margin-left:10px;cursor:auto}.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button,.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=range]{margin-left:5px;vertical-align:middle}.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor{display:none}.cesium-cesiumInspector-styleEditor{padding:10px;border-radius:5px;background:#303336cc;border:1px solid #444}.cesium-cesiumInspector-styleEditor textarea{width:100%;height:300px;background:transparent;color:#edffff;border:none;padding:0;white-space:pre;overflow-wrap:normal;overflow-x:auto}.cesium-3DTilesInspector{width:300px;pointer-events:all}.cesium-3DTilesInspector-statistics{font-size:11px}.cesium-3DTilesInspector-disabledElementsInfo{margin:5px 0 0;padding:0 0 0 20px;color:#eed202}.cesium-3DTilesInspector div,.cesium-3DTilesInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-cesiumInspector-error{color:#ff9e9e;overflow:auto}.cesium-3DTilesInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-3DTilesInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}input.cesium-cesiumInspector-url{overflow:hidden;white-space:nowrap;overflow-x:scroll;background-color:transparent;color:#fff;outline:none;border:none;height:1em;width:100%}.cesium-cesiumInspector .field-group{display:table}.cesium-cesiumInspector .field-group>label{display:table-cell;font-weight:700}.cesium-cesiumInspector .field-group>.field{display:table-cell;width:100%}.cesium-VoxelInspector{width:300px;pointer-events:all}.cesium-VoxelInspector div,.cesium-VoxelInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-VoxelInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-VoxelInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}.cesium-button.cesium-fullscreenButton,.cesium-button.cesium-vrButton{display:block;width:100%;height:100%;margin:0;border-radius:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input{border:solid 1px #444;background-color:#282828b3;color:#fff;display:inline-block;vertical-align:middle;width:0;height:32px;margin:0;padding:0 32px 0 0;border-radius:0;box-sizing:border-box;transition:width ease-in-out .25s,background-color .2s ease-in-out;-webkit-appearance:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{border-color:#ea4;background-color:#0f0f0fe6;box-shadow:none;outline:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide{padding-left:4px;width:250px}.cesium-viewer-geocoderContainer .search-results{position:absolute;background-color:#000;color:#eee;overflow-y:auto;opacity:.8;width:100%}.cesium-viewer-geocoderContainer .search-results ul{list-style-type:none;margin:0;padding:0}.cesium-viewer-geocoderContainer .search-results ul li{font-size:14px;padding:3px 10px}.cesium-viewer-geocoderContainer .search-results ul li:hover{cursor:pointer}.cesium-viewer-geocoderContainer .search-results ul li.active{background:#48b}.cesium-geocoder-searchButton{background-color:#303336;display:inline-block;position:absolute;cursor:pointer;width:32px;top:1px;right:1px;height:30px;vertical-align:middle;fill:#edffff}.cesium-geocoder-searchButton:hover{background-color:#48b}.cesium-infoBox{display:block;position:absolute;top:50px;right:0;width:40%;max-width:480px;background:#262626f2;color:#edffff;border:1px solid #444;border-right:none;border-top-left-radius:7px;border-bottom-left-radius:7px;box-shadow:0 0 10px 1px #000;transform:translate(100%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-infoBox-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-infoBox-title{display:block;height:20px;padding:5px 30px 5px 25px;background:#545454;border-top-left-radius:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:content-box}.cesium-infoBox-bodyless .cesium-infoBox-title{border-bottom-left-radius:7px}button.cesium-infoBox-camera{display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;background:transparent;border-color:transparent;border-radius:3px;padding:0 5px;margin:0}button.cesium-infoBox-close{display:block;position:absolute;top:5px;right:5px;height:20px;background:transparent;border:none;border-radius:2px;font-weight:700;font-size:16px;padding:0 5px;margin:0;color:#edffff}button.cesium-infoBox-close:focus{background:#ee880070;outline:none}button.cesium-infoBox-close:hover{background:#888;color:#000}button.cesium-infoBox-close:active{background:#a00;color:#000}.cesium-infoBox-bodyless .cesium-infoBox-iframe{display:none}.cesium-infoBox-iframe{border:none;width:100%;width:calc(100% - 2px)}span.cesium-sceneModePicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-sceneModePicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-sceneModePicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none{display:none}.cesium-sceneModePicker-slide-svg{transition:left 2s;top:0;left:0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D{margin:0 0 3px}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView{left:200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D{left:-200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}span.cesium-projectionPicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-projectionPicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-projectionPicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-projectionPicker-wrapper .cesium-projectionPicker-none{display:none}.cesium-projectionPicker-wrapper .cesium-projectionPicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective,.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic{margin:0 0 3px}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective .cesium-projectionPicker-iconOrthographic{left:100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic .cesium-projectionPicker-iconPerspective{left:-100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-performance-watchdog-message-area{position:relative;background-color:#ff0;color:#000;padding:10px}.cesium-performance-watchdog-message{margin-right:30px}.cesium-performance-watchdog-message-dismiss{position:absolute;right:0;margin:0 10px 0 0}.cesium-navigationHelpButton-wrapper{position:relative;display:inline-block}.cesium-navigation-help{visibility:hidden;position:absolute;top:38px;right:2px;width:250px;border-radius:10px;transform:scale(.01);transform-origin:234px -10px;transition:visibility 0s .25s,transform .25s ease-in}.cesium-navigation-help-visible{visibility:visible;transform:scale(1);transition:transform .25s ease-out}.cesium-navigation-help-instructions{border:1px solid #444;background-color:#262626bf;padding-bottom:5px;border-radius:0 0 10px 10px}.cesium-click-navigation-help{display:none}.cesium-touch-navigation-help{display:none;padding-top:5px}.cesium-click-navigation-help-visible,.cesium-touch-navigation-help-visible{display:block}.cesium-navigation-help-pan{color:#6cf;font-weight:700}.cesium-navigation-help-zoom{color:#65fd00;font-weight:700}.cesium-navigation-help-rotate{color:#ffd800;font-weight:700}.cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-navigation-help-details{color:#fff}.cesium-navigation-button{color:#fff;background-color:transparent;border-bottom:none;border-top:1px solid #444;border-right:1px solid #444;margin:0;width:50%;cursor:pointer}.cesium-navigation-button-icon{vertical-align:middle;padding:5px 1px}.cesium-navigation-button:focus{outline:none}.cesium-navigation-button-left{border-radius:10px 0 0;border-left:1px solid #444}.cesium-navigation-button-right{border-radius:0 10px 0 0;border-left:none}.cesium-navigation-button-selected{background-color:#262626bf}.cesium-navigation-button-unselected{background-color:#000000bf}.cesium-navigation-button-unselected:hover{background-color:#4c4c4cbf}.cesium-selection-wrapper{position:absolute;width:160px;height:160px;pointer-events:none;visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in}.cesium-selection-wrapper-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out}.cesium-selection-wrapper svg{fill:#2e2;stroke:#000;stroke-width:1.1px}.cesium-timeline-main{position:relative;left:0;bottom:0;overflow:hidden;border:solid 1px #888;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-timeline-trackContainer{width:100%;overflow:auto;border-top:solid 1px #888;position:relative;top:0;left:0}.cesium-timeline-tracks{position:absolute;top:0;left:0;width:100%}.cesium-timeline-needle{position:absolute;left:0;top:1.7em;bottom:0;width:1px;background:red}.cesium-timeline-bar{position:relative;left:0;top:0;overflow:hidden;cursor:pointer;width:100%;height:1.7em;background:linear-gradient(to bottom,#747577cc,#3a4452cc 11%,#2e3238cc 46%,#353535cc 81% 100%)}.cesium-timeline-ruler{visibility:hidden;white-space:nowrap;font-size:80%;z-index:-200}.cesium-timeline-highlight{position:absolute;bottom:0;left:0;background:#08f}.cesium-timeline-ticLabel{position:absolute;top:0;left:0;white-space:nowrap;font-size:80%;color:#eee}.cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#eee}.cesium-timeline-ticSub{position:absolute;bottom:0;left:0;width:1px;height:33%;background:#aaa}.cesium-timeline-ticTiny{position:absolute;bottom:0;left:0;width:1px;height:25%;background:#888}.cesium-timeline-icon16{display:block;position:absolute;width:16px;height:16px;background-image:url(data:text/plain;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sIDBITKIVzLEMAAAKNSURBVEjHxdXNSxRhHAfw7zzrqhuoWJnSkrippUVSEKsHI9BTUYdAJA/RoYMREV26rAdn6tAfUARi16hQqkOBQRgUEYFWEC3OwczMjdZd92VmdWfmeelgTjO7q7gb0VzmmZnn85vvPPPMM8B/3qTcE2PPpuTZKB1eWuUQACgXYACYwVFbCTTVeZXB/i55o4LFelcAZfStYD4vpAoPGAGo4GBcQEgSOAUMQyAezwK6iQfDPXnhS/FkHZ+/8VLMWxxqWkfH3gbMRNOYi2roavbja0zHQmoFPYf8ED4Ko4aivm9MOG/u9I8mwrafeK7a/tVrNc/bARYN5noadeq7q0342vXw9CIMU6BmW8rVP9cPBPe52uu+v3O/y9sB4gkTWs6Qsk0mj5ExXMelejvA8WafYmkmGPHanTijdtvif8rx5RiCjdWKs2Cp3jWRDl96KhrbqlBeJqBOLyLQXg0IgbkZDS0dO8EZxZfPSTA9jvDDK3mT0OmP1FXh3XwEEAKdTX5MRWLgjCK4pwH3xt/YnjgLHAv4lHTCAKMMu/wV+KZGob6PoKyMQ0+sgBpZVJZn0NterxQaVqef/DRn+/EXYds/mZx2eVeAW9d65dhCEsaKCb7K8HH0gqTevyh9GDkn0VULRiaLzJKGBu9swfdaiie5RVo9ESURN8E8BE0n7ggACJy8KzghSCzp6DmwWxkaCm24EBXr8wI8Hrkq06QBiRC0t24HALS11IBTCyJl4vb1AXmzpbVYTwoVOXN0h7L8Mwtm8bXPybIQ/5FCX3dA2cr6XowvGCA02CvztAnz9+JiZk1AMxG6fEreSoBiPNmoyNnuWiWVzAIAtISO08E6pZi/3N96AIDn4E3h3P8L/wshP+txtEs4JAAAAABJRU5ErkJggg==);background-repeat:no-repeat}.cesium-viewer{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-viewer-cesiumWidgetContainer{width:100%;height:100%}.cesium-viewer-bottom{display:block;position:absolute;bottom:0;left:0;padding-right:5px}.cesium-viewer .cesium-widget-credits{display:inline;position:static;bottom:auto;left:auto;padding-right:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000000}.cesium-viewer-timelineContainer{position:absolute;bottom:0;left:169px;right:29px;height:27px;padding:0;margin:0;overflow:hidden;font-size:14px}.cesium-viewer-animationContainer{position:absolute;bottom:0;left:0;padding:0;width:169px;height:112px}.cesium-viewer-fullscreenContainer,.cesium-viewer-vrContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-toolbar{display:block;position:absolute;top:5px;right:5px}.cesium-viewer-cesiumInspectorContainer{display:block;position:absolute;top:50px;right:10px}.cesium-viewer-geocoderContainer{position:relative;display:inline-block;margin:0 3px}.cesium-viewer-cesium3DTilesInspectorContainer,.cesium-viewer-voxelInspectorContainer{display:block;position:absolute;top:50px;right:10px;max-height:calc(100% - 120px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.cesium-viewer-i3s-explorer ul{list-style-type:none}.cesium-viewer-i3s-explorer .layersList{padding:0}.cesium-viewer-i3s-explorer input{margin:0 3px 0 0}.cesium-viewer-i3s-explorer .expandItem{cursor:pointer;-webkit-user-select:none;user-select:none;width:20px}.cesium-viewer-i3s-explorer .nested,.cesium-viewer-i3s-explorer #bsl-wrapper{display:none}.cesium-viewer-i3s-explorer .active{display:block}.cesium-viewer-i3s-explorer .li-wrapper{display:flex;flex-direction:row;align-content:center}.bim-engine-gis-container,.bim-engine-gis-container .cesium-viewer,.bim-engine-gis-container .cesium-viewer-cesiumWidgetContainer,.bim-engine-gis-container .cesium-widget,.bim-engine-gis-container canvas{width:100%;height:100%}.bim-engine-gis-container{position:relative;overflow:hidden;background:#111827}.bim-engine-gis-container .cesium-widget canvas{display:block}.bim-engine-gis-performance-monitor{position:absolute;top:8px;right:8px;z-index:1200;width:96px;padding:6px 8px;border:1px solid rgba(148,163,184,.32);border-radius:4px;background:#0f172ac7;color:#e5edf7;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:15px;pointer-events:none;box-sizing:border-box}.bim-engine-gis-performance-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.bim-engine-gis-performance-value{color:#7dd3fc;font-weight:700;text-align:right}.gis-model-calibration-dock-panel{width:min(860px,calc(100vw - 72px));color:var(--gmcal-text-primary, #0f172a);font-size:12px;line-height:1.35}.gis-model-calibration-table-wrap{position:relative;max-height:206px;overflow:auto;border-radius:9px;border:1px solid color-mix(in srgb,var(--gmcal-border, rgba(148, 163, 184, .35)) 80%,transparent 20%);background:color-mix(in srgb,var(--gmcal-bg-inset, #edf1f6) 72%,transparent 28%)}.gis-model-calibration-table{width:100%;min-width:760px;border-collapse:collapse}.gis-model-calibration-table th,.gis-model-calibration-table td{padding:5px 6px;border-bottom:1px solid color-mix(in srgb,var(--gmcal-border, rgba(148, 163, 184, .35)) 56%,transparent 44%);text-align:left;vertical-align:middle}.gis-model-calibration-table th{position:sticky;top:0;z-index:1;color:var(--gmcal-text-secondary, #64748b);background:color-mix(in srgb,var(--gmcal-bg-elevated, #f8fafc) 88%,transparent 12%);font-size:11px;font-weight:600;white-space:nowrap}.gis-model-calibration-table tbody tr:last-child td{border-bottom:none}.gis-model-calibration-model-cell{width:150px;max-width:150px}.gis-model-calibration-model-name,.gis-model-calibration-model-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:138px}.gis-model-calibration-model-name{color:var(--gmcal-text-primary, #0f172a);font-weight:600}.gis-model-calibration-model-url{margin-top:2px;color:var(--gmcal-text-secondary, #64748b);font-size:11px}.gis-model-calibration-input-cell{width:66px}.gis-model-calibration-input{width:60px;height:24px;border-radius:6px;border:1px solid color-mix(in srgb,var(--gmcal-border, rgba(148, 163, 184, .35)) 86%,transparent 14%);background:color-mix(in srgb,var(--gmcal-bg-elevated, #f8fafc) 90%,transparent 10%);color:var(--gmcal-text-primary, #0f172a);font-size:12px;padding:0 6px;box-sizing:border-box}.gis-model-calibration-input:focus{outline:none;border-color:color-mix(in srgb,var(--gmcal-primary, #4f88ff) 68%,transparent 32%);box-shadow:0 0 0 2px color-mix(in srgb,var(--gmcal-primary-subtle, rgba(96, 140, 255, .18)) 80%,transparent 20%)}.gis-model-calibration-action-cell{width:68px;white-space:nowrap}.gis-model-calibration-btn{position:relative;width:26px;min-width:26px;height:24px;padding:0;border-radius:6px;border:1px solid color-mix(in srgb,var(--gmcal-border, rgba(148, 163, 184, .35)) 88%,transparent 12%);background:color-mix(in srgb,var(--gmcal-bg-elevated, #f8fafc) 90%,transparent 10%);color:var(--gmcal-text-secondary, #64748b);font-size:14px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.gis-model-calibration-btn+.gis-model-calibration-btn{margin-left:4px}.gis-model-calibration-btn:hover{border-color:color-mix(in srgb,var(--gmcal-primary, #4f88ff) 38%,var(--gmcal-border, rgba(148, 163, 184, .35)) 62%);color:var(--gmcal-text-primary, #0f172a)}.gis-model-calibration-btn:active{transform:translateY(1px)}.gis-model-calibration-btn.is-primary{border-color:color-mix(in srgb,var(--gmcal-primary, #4f88ff) 58%,transparent 42%);background:color-mix(in srgb,var(--gmcal-primary-subtle, rgba(96, 140, 255, .18)) 82%,var(--gmcal-bg-elevated, #f8fafc) 18%);color:color-mix(in srgb,var(--gmcal-primary, #4f88ff) 80%,var(--gmcal-text-primary, #0f172a) 20%)}.gis-model-calibration-btn.is-error{border-color:#ef4444b8;color:#dc2626}.gis-model-calibration-empty{display:none;padding:18px 24px;color:var(--gmcal-text-secondary, #64748b);text-align:center}.gis-model-calibration-empty.is-visible{display:block}@media(max-width:760px){.gis-model-calibration-dock-panel{width:calc(100vw - 44px)}.gis-model-calibration-table-wrap{max-height:240px}}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
2
  const Eye = {
3
3
  name: "light",
4
4
  primary: "#2563eb",
@@ -24814,11 +24814,14 @@ class NBe extends Zc {
24814
24814
  container: this.container,
24815
24815
  ...e
24816
24816
  }, this.registry);
24817
- return this.engineInstance = t, await t.init(), this.rightKey && this.rightKey !== this.registry.rightKey && this.rightKey.destroy(), this.rightKey = null, this.options.enableRightKeyMenu ? (this.rightKey = this.registry.rightKey ?? new Bde(this.container, this.registry), this.rightKey.unregisterHandler(this.defaultRightKeyHandler), this.rightKey.registerHandler(this.defaultRightKeyHandler), this.engineInstance === t && t.isInitialized()) : this.engineInstance === t && t.isInitialized();
24817
+ return this.engineInstance = t, await t.init(), this.registry.viewDropdown?.init(), this.registry.helpPanel?.init(), this.rightKey && this.rightKey !== this.registry.rightKey && this.rightKey.destroy(), this.rightKey = null, this.options.enableRightKeyMenu ? (this.rightKey = this.registry.rightKey ?? new Bde(this.container, this.registry), this.rightKey.unregisterHandler(this.defaultRightKeyHandler), this.rightKey.registerHandler(this.defaultRightKeyHandler), this.isCurrentInitializedEngine(t)) : this.isCurrentInitializedEngine(t);
24818
24818
  } catch (t) {
24819
24819
  return console.error("[EngineManager] Failed to initialize 3D engine:", t), this.engineInstance = null, !1;
24820
24820
  }
24821
24821
  }
24822
+ isCurrentInitializedEngine(e) {
24823
+ return this.engineInstance === e && e.isInitialized();
24824
+ }
24822
24825
  /**
24823
24826
  * 检查引擎是否已初始化
24824
24827
  * @returns 是否已初始化
@@ -32205,8 +32208,11 @@ class kde {
32205
32208
  this.options = e;
32206
32209
  }
32207
32210
  init() {
32208
- if (this.trigger) return;
32209
- this.options.container.classList.add("engine-view-dropdown-host");
32211
+ if (this.trigger?.isConnected) {
32212
+ this.options.container.appendChild(this.trigger);
32213
+ return;
32214
+ }
32215
+ this.trigger && this.destroy(), this.options.container.classList.add("engine-view-dropdown-host");
32210
32216
  const e = document.createElement("div");
32211
32217
  e.className = "engine-view-dropdown-trigger", this.options.triggerClassName && e.classList.add(this.options.triggerClassName), e.innerHTML = yn("doubleArrowDown"), e.addEventListener("click", (t) => {
32212
32218
  t.stopPropagation(), this.toggleMenu();
@@ -32257,7 +32263,10 @@ class jht extends Zc {
32257
32263
  super(t), this.dropdown = new kde({
32258
32264
  container: e,
32259
32265
  items: this.getItems()
32260
- }), this.dropdown.init();
32266
+ }), this.init();
32267
+ }
32268
+ init() {
32269
+ this.dropdown?.init();
32261
32270
  }
32262
32271
  addButton(e) {
32263
32272
  return !e?.key || !e.label || typeof e.onClick != "function" ? (console.warn("[ViewDropdownManager] Invalid view dropdown button config."), () => {
@@ -32507,8 +32516,8 @@ class Wht extends Zc {
32507
32516
  super(t), this.container = e, this.init();
32508
32517
  }
32509
32518
  init() {
32510
- if (this.helpPanel || this.infoButton) return;
32511
- this.helpPanel = new Bj({
32519
+ if (this.helpPanel && this.infoButton?.isConnected) return;
32520
+ (this.helpPanel || this.infoButton) && (this.infoButton?.remove(), this.infoButton = null, this.helpPanel?.destroy(), this.helpPanel = null), this.helpPanel = new Bj({
32512
32521
  onDontRemind: () => {
32513
32522
  this.registry.emit("help:dont-remind", {});
32514
32523
  }
@@ -32801,7 +32810,7 @@ class HZi {
32801
32810
  const e = document.createElement("div");
32802
32811
  e.className = "bim-engine-footer-info", this.wrapper.appendChild(e);
32803
32812
  const t = document.createElement("span");
32804
- t.className = "bim-engine-version", t.textContent = "v3.9.212", e.appendChild(t), this.uiOptions.showModelInfoStats && (this.statsEl = document.createElement("span"), this.statsEl.className = "bim-engine-stats", e.appendChild(this.statsEl)), this.sizeEl = document.createElement("div"), this.sizeEl.className = "bim-engine-size", this.wrapper.appendChild(this.sizeEl);
32813
+ t.className = "bim-engine-version", t.textContent = "v3.9.213", e.appendChild(t), this.uiOptions.showModelInfoStats && (this.statsEl = document.createElement("span"), this.statsEl.className = "bim-engine-stats", e.appendChild(this.statsEl)), this.sizeEl = document.createElement("div"), this.sizeEl.className = "bim-engine-size", this.wrapper.appendChild(this.sizeEl);
32805
32814
  }
32806
32815
  /**
32807
32816
  * 初始化桌面端和移动端都需要的通用能力,目前只包含 3D 引擎管理器。
@@ -32957,7 +32966,7 @@ class VZi {
32957
32966
  init() {
32958
32967
  this.container.innerHTML = "", this.wrapper = document.createElement("div"), this.wrapper.className = "bim-engine-wrapper", this.container.appendChild(this.wrapper);
32959
32968
  const e = document.createElement("div");
32960
- e.className = "bim-engine-version", e.textContent = "v3.9.212", this.wrapper.appendChild(e), this.sizeEl = document.createElement("div"), this.sizeEl.className = "bim-engine-size", this.wrapper.appendChild(this.sizeEl), this.updateClientSizeDisplay(), this.bindSizeObserver(), this.registry.container = this.container, this.registry.wrapper = this.wrapper, this.engine = new NBe(this.wrapper, this.registry), this.dialog = new ONe(this.wrapper, this.registry), this.rightKey = new Bde(this.wrapper, this.registry), this.bottomDock = new Fde(this.wrapper, this.registry), this.registry.bottomDock = this.bottomDock, this.registry.engine3d = this.engine, this.registry.dialog = this.dialog, this.registry.rightKey = this.rightKey, this.measureDock = new UBe(this.registry), this.registry.measureDock = this.measureDock, this.measureDock.init(), this.sectionDock = new zBe(this.registry), this.registry.sectionDock = this.sectionDock, this.sectionDock.init(), this.walkDock = new HBe(this.registry), this.registry.walkDock = this.walkDock, this.walkDock.init(), this.modelCalibrationDock = new VBe(this.registry), this.registry.modelCalibrationDock = this.modelCalibrationDock, this.modelCalibrationDock.init(), this.radialToolbar = new BBe(this.wrapper, this.registry), this.measure = new jBe(this.registry), this.sectionPlane = new WBe(this.registry), this.sectionAxis = new $Be(this.registry), this.sectionBox = new qBe(this.registry), this.engineInfo = new XBe(this.registry), this.engineInfo.init(), this.registry.radialToolbar = this.radialToolbar, this.registry.measure = this.measure, this.registry.sectionPlane = this.sectionPlane, this.registry.sectionAxis = this.sectionAxis, this.registry.sectionBox = this.sectionBox, this.registry.engineInfo = this.engineInfo, this.componentDetail = new YBe(this.registry), this.registry.componentDetail = this.componentDetail, this.componentDetail.init(), this.aiChat = new QBe(this.registry), this.registry.aiChat = this.aiChat, this.aiChat.init(), this.setting = new cb(this.registry), this.registry.setting = this.setting, this.setting.init(), this.updateTheme($i.getTheme()), this.unsubscribeTheme = $i.subscribe((t) => {
32969
+ e.className = "bim-engine-version", e.textContent = "v3.9.213", this.wrapper.appendChild(e), this.sizeEl = document.createElement("div"), this.sizeEl.className = "bim-engine-size", this.wrapper.appendChild(this.sizeEl), this.updateClientSizeDisplay(), this.bindSizeObserver(), this.registry.container = this.container, this.registry.wrapper = this.wrapper, this.engine = new NBe(this.wrapper, this.registry), this.dialog = new ONe(this.wrapper, this.registry), this.rightKey = new Bde(this.wrapper, this.registry), this.bottomDock = new Fde(this.wrapper, this.registry), this.registry.bottomDock = this.bottomDock, this.registry.engine3d = this.engine, this.registry.dialog = this.dialog, this.registry.rightKey = this.rightKey, this.measureDock = new UBe(this.registry), this.registry.measureDock = this.measureDock, this.measureDock.init(), this.sectionDock = new zBe(this.registry), this.registry.sectionDock = this.sectionDock, this.sectionDock.init(), this.walkDock = new HBe(this.registry), this.registry.walkDock = this.walkDock, this.walkDock.init(), this.modelCalibrationDock = new VBe(this.registry), this.registry.modelCalibrationDock = this.modelCalibrationDock, this.modelCalibrationDock.init(), this.radialToolbar = new BBe(this.wrapper, this.registry), this.measure = new jBe(this.registry), this.sectionPlane = new WBe(this.registry), this.sectionAxis = new $Be(this.registry), this.sectionBox = new qBe(this.registry), this.engineInfo = new XBe(this.registry), this.engineInfo.init(), this.registry.radialToolbar = this.radialToolbar, this.registry.measure = this.measure, this.registry.sectionPlane = this.sectionPlane, this.registry.sectionAxis = this.sectionAxis, this.registry.sectionBox = this.sectionBox, this.registry.engineInfo = this.engineInfo, this.componentDetail = new YBe(this.registry), this.registry.componentDetail = this.componentDetail, this.componentDetail.init(), this.aiChat = new QBe(this.registry), this.registry.aiChat = this.aiChat, this.aiChat.init(), this.setting = new cb(this.registry), this.registry.setting = this.setting, this.setting.init(), this.updateTheme($i.getTheme()), this.unsubscribeTheme = $i.subscribe((t) => {
32961
32970
  this.updateTheme(t);
32962
32971
  });
32963
32972
  }