@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap";:root{--bim-ui_bg-base: transparent;--font-color: #FFFFFF;--font-color-muted: #A2A8AC;--background-primary: #2C2C2C;--surface-1: #2C2C2C;--surface-2: #1F1F1F;--border: #494B4D;--border-strong: #3D4245;--accent: #4F8CFF;--accent-strong: #2F6FE0;--accent-text: #7AA7FF;--on-accent: #FFFFFF;--warning-bg: rgba(255, 159, 28, .15);--warning-text: #FFCF8A;--danger-text: #FF8A80;--hover-overlay: rgba(255, 255, 255, .08);--row-hover: rgba(255, 255, 255, .05);--row-stripe: rgba(255, 255, 255, .03);--row-divider: rgba(255, 255, 255, .06);--tooltip-bg: #111111;--backdrop: rgba(0, 0, 0, .45);--boq-folder-row: #313131;--swatch-outline: rgba(255, 255, 255, .35);--swatch-chip-outline: rgba(255, 255, 255, .25);--icon-muted: #6C7276;--viewport-bg: #202932;--shadow-chrome: 0px 4px 4px 0px #00000040;--shadow-popover: 0 4px 12px rgba(0, 0, 0, .35);--shadow-popover-strong: 0 4px 12px rgba(0, 0, 0, .5);--shadow-side-panel: -2px 0 5px rgba(0, 0, 0, .5);--text-scale: 1;--font-size-caption: calc(12px * var(--text-scale));--font-size-body: calc(13px * var(--text-scale));--font-size-heading: calc(14px * var(--text-scale));--font-size-title: calc(16px * var(--text-scale));--radius-control: 6px;--radius-panel: 10px;--menu-item-hover: #002E73;--menu-item-padding-hz: 21px;--menu-item-padding-vt: 14px;--menu-outline-color: var(--border);--margin-lg: 25px;--padding-lg: 25px}:root[data-theme=light]{color-scheme:light;--font-color: #1C2024;--font-color-muted: #5B646C;--background-primary: #FFFFFF;--surface-1: #FFFFFF;--surface-2: #F1F3F5;--border: #8D959C;--border-strong: #B3BAC1;--accent: #2F6FE0;--accent-strong: #2459C2;--accent-text: #1D5BD0;--warning-bg: rgba(255, 159, 28, .18);--warning-text: #8A4A00;--danger-text: #C0271F;--menu-item-hover: #D6E4FF;--hover-overlay: rgba(16, 24, 32, .06);--row-hover: rgba(16, 24, 32, .04);--row-stripe: rgba(16, 24, 32, .03);--row-divider: rgba(16, 24, 32, .08);--backdrop: rgba(16, 24, 32, .3);--boq-folder-row: #EEF0F2;--swatch-outline: rgba(16, 24, 32, .3);--swatch-chip-outline: rgba(16, 24, 32, .2);--icon-muted: #7A838B;--viewport-bg: #D3D9DF;--shadow-chrome: 0px 2px 8px 0px rgba(16, 24, 32, .12);--shadow-popover: 0 4px 12px rgba(16, 24, 32, .16);--shadow-popover-strong: 0 4px 12px rgba(16, 24, 32, .22);--shadow-side-panel: -2px 0 8px rgba(16, 24, 32, .15)}:root[data-theme=dark]{color-scheme:dark}html{font-size:calc(100% * var(--text-scale))}body{font-size:calc(16px * var(--text-scale))}html,body,#app{width:100%;height:100%;margin:0;padding:0;overflow:hidden;font-family:Noto Sans,Arial,sans-serif}input{font-size:inherit}.pointer{cursor:pointer}.chrome{background-color:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-chrome)}.ui-icon{display:inline-block;flex-shrink:0;background-color:currentColor;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.ui-icon.muted{color:var(--icon-muted)}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:36px;padding:3px 8px;border:none;border-radius:var(--radius-control);background:transparent;color:var(--font-color);cursor:pointer}.icon-button:hover{background-color:var(--hover-overlay)}.icon-button.active{background-color:var(--menu-item-hover)}.icon-button:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.plan-room-tag{pointer-events:auto;font-family:Noto Sans,Arial,sans-serif;line-height:1.25;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.plan-room-tag__body{padding:.25em .6em;border:1px solid #111;border-radius:.3em;background:#ffffffeb;color:#111;text-align:center;white-space:nowrap}.plan-room-tag__name{font-weight:700}.plan-room-tag__area{font-size:.85em}.plan-room-tag.dragging .plan-room-tag__body,.plan-dimension.dragging{cursor:grabbing;box-shadow:0 0 0 2px var(--accent)}.plan-dimension{pointer-events:auto;color:#111;font-family:Noto Sans,Arial,sans-serif;font-weight:600;line-height:1.2;white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.plan-dimension__leader{display:none;position:absolute;top:50%;left:50%;height:1px;transform-origin:0 50%;pointer-events:none}.plan-dimension__body{display:flex;align-items:center;gap:.3em;padding:0 .3em;border-radius:.2em;background:#ffffffd9}.plan-dimension__delete{display:none;padding:0 .15em;border:none;background:transparent;color:#c62828;font-size:max(.9em,11px);cursor:pointer}.plan-dimension:hover .plan-dimension__delete,.plan-dimension.selected .plan-dimension__delete{display:inline}.plan-dimension.selected .plan-dimension__body{box-shadow:0 0 0 2px var(--accent)}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:var(--radius-control);background:var(--tooltip-bg);color:#fff;font-size:var(--font-size-caption);white-space:nowrap;pointer-events:none;z-index:20}[data-tip][data-tip-side=left]:hover:after,[data-tip][data-tip-side=left]:focus-visible:after{top:50%;left:auto;right:calc(100% + 8px);transform:translateY(-50%)}[data-tip][data-tip-side=right]:hover:after,[data-tip][data-tip-side=right]:focus-visible:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.plan-tag-menu{position:fixed;z-index:20;display:flex;flex-direction:column;min-width:170px;padding:4px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-1);box-shadow:var(--shadow-popover);font:var(--font-size-body) "Noto Sans",Arial,sans-serif}.plan-tag-menu button{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;border:0;border-radius:4px;background:transparent;color:var(--font-color);font:inherit;text-align:left;cursor:pointer}.plan-tag-menu button:hover,.plan-tag-menu button:focus-visible{background:var(--menu-item-hover)}.plan-tag-menu button[aria-checked=true]:after{content:"✓"}.icon-wrapper[data-v-a986de8d]{display:flex;flex-direction:row;align-items:center;justify-content:center;border:none;background-color:transparent;color:inherit}.menu-item[data-v-59a3cc82]{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--menu-item-padding-vt) var(--menu-item-padding-hz);font-size:var(--font-size-heading);font-weight:400;cursor:pointer;box-sizing:border-box;position:relative}.menu-item[data-v-59a3cc82]:hover:not(:has(.divider)):not(.header){background-color:var(--menu-item-hover)}.menu-item.header[data-v-59a3cc82]{cursor:default}.header-label[data-v-59a3cc82]{color:var(--font-color-muted);font-size:var(--font-size-caption)}.menu-item.disabled[data-v-59a3cc82]{opacity:.5;pointer-events:none}.default[data-v-59a3cc82]{display:flex;justify-content:space-between;align-items:center;width:100%}.divider[data-v-59a3cc82]{position:absolute;left:0;right:0;height:1px;background-color:var(--menu-outline-color)}.radio[data-v-59a3cc82]{display:flex;align-items:center}.radio-icon[data-v-59a3cc82]{margin-right:28px}.shortcut[data-v-59a3cc82]{margin-left:auto;padding-left:10px}.menu[data-v-3dac7158]{position:absolute;background-color:var(--surface-1);border:1px solid var(--menu-outline-color);color:var(--font-color);box-shadow:var(--shadow-chrome);z-index:2;width:100%}.logo-container[data-v-4fe1742b]{position:relative;display:inline-flex;padding:4px}.logo[data-v-4fe1742b]{--icon: url(../logo-bw.svg);width:48px;height:28px}.website-link[data-v-6605ee79]{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px;color:var(--font-color);font-size:14px;text-decoration:none;white-space:nowrap}.website-link[data-v-6605ee79]:hover{background-image:linear-gradient(var(--hover-overlay),var(--hover-overlay))}.measurements-panel[data-v-fa26fd7c]{position:fixed;bottom:calc(var(--boq-height, 0px) + 24px);left:50%;transform:translate(-50%);min-width:340px;max-width:min(560px,calc(100vw - 32px));padding:8px 14px 10px;color:var(--font-color);font-size:var(--font-size-body);z-index:2}.panel-header[data-v-fa26fd7c]{display:flex;align-items:center;gap:10px}.summary[data-v-fa26fd7c]{flex:1;color:var(--font-color-muted);font-size:var(--font-size-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse[data-v-fa26fd7c]{margin-left:auto;min-width:28px;min-height:24px;border:none;border-radius:var(--radius-control);background:transparent;color:var(--font-color);cursor:pointer}.collapse[data-v-fa26fd7c]:hover{background:var(--hover-overlay)}.panel-body[data-v-fa26fd7c]{max-height:40vh;overflow-y:auto;margin-top:4px}button.chip[data-v-fa26fd7c],button.clear[data-v-fa26fd7c],button.save-unsaved[data-v-fa26fd7c]{font:inherit;color:inherit}button.chip[data-v-fa26fd7c]:not(.on),button.clear[data-v-fa26fd7c]{background:transparent}button.clear[data-v-fa26fd7c]{border:none;padding:2px 4px}button.save-unsaved[data-v-fa26fd7c]{border:none;color:var(--on-accent)}.tool[data-v-fa26fd7c]{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.tool-label[data-v-fa26fd7c]{font-weight:600}.recording[data-v-fa26fd7c]{color:var(--accent-text)}.not-saving[data-v-fa26fd7c]{color:var(--warning-text)}.save-unsaved[data-v-fa26fd7c]{align-self:flex-start;margin-top:2px;padding:2px 8px;border-radius:var(--radius-control);background:var(--accent-strong);cursor:pointer}.hint[data-v-fa26fd7c]{opacity:.7}.group[data-v-fa26fd7c]{padding:6px 0;border-top:1px solid var(--menu-outline-color)}.group-header[data-v-fa26fd7c]{display:flex;justify-content:space-between;gap:16px;font-weight:600}.values[data-v-fa26fd7c]{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;opacity:.8}.actions[data-v-fa26fd7c]{display:flex;justify-content:flex-end;padding-top:6px}.selection[data-v-fa26fd7c]{font-style:italic}.snaps[data-v-fa26fd7c]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}.snaps-label[data-v-fa26fd7c]{opacity:.7;margin-right:2px}.chip[data-v-fa26fd7c]{padding:1px 8px;border:1px solid var(--menu-outline-color);border-radius:10px;cursor:pointer;opacity:.6;-webkit-user-select:none;user-select:none}.chip.on[data-v-fa26fd7c]{background-color:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent);opacity:1}.offset[data-v-fa26fd7c]{display:flex;align-items:center;gap:6px;margin-top:6px}.offset input[data-v-fa26fd7c]{width:80px;padding:2px 6px;background:var(--surface-2);border:1px solid var(--menu-outline-color);border-radius:var(--radius-control);color:var(--font-color)}.rows[data-v-fa26fd7c]{margin-top:4px;opacity:.8}.row[data-v-fa26fd7c]{display:flex;justify-content:space-between;gap:16px}.clear[data-v-fa26fd7c]{cursor:pointer;opacity:.7}.clear[data-v-fa26fd7c]:hover{opacity:1}.top-bar[data-v-cb2850e5]{display:flex;justify-content:center;padding:4px}.top-bar[data-v-cb2850e5]{gap:2px;align-items:center}.separator[data-v-cb2850e5]{width:1px;height:24px;margin:0 4px;background:var(--border)}.side-panel-controls-container[data-v-c972bd0c]{height:100%;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.group[data-v-c972bd0c]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px}.color-picker[data-v-a0bef5e5]{display:inline-flex;flex-shrink:0}.swatch-button[data-v-a0bef5e5]{width:22px;height:22px;flex-shrink:0;padding:0;border:1px solid var(--swatch-outline);border-radius:var(--radius-control);cursor:pointer}.color-popover[data-v-a0bef5e5]{z-index:1000;width:176px;padding:8px;background:var(--surface-1);border:1px solid var(--menu-outline-color);border-radius:var(--radius-control);box-shadow:var(--shadow-popover-strong)}.palette[data-v-a0bef5e5]{display:grid;grid-template-columns:repeat(6,22px);gap:6px}.chip[data-v-a0bef5e5]{width:22px;height:22px;border-radius:var(--radius-control);border:1px solid var(--swatch-chip-outline);cursor:pointer}.chip.selected[data-v-a0bef5e5]{outline:2px solid var(--font-color);outline-offset:1px}.custom[data-v-a0bef5e5]{display:flex;align-items:center;gap:6px;margin-top:8px}.hex[data-v-a0bef5e5]{width:80px;padding:3px 6px;background:var(--surface-2);color:var(--font-color);border:1px solid var(--menu-outline-color);border-radius:var(--radius-control);font:var(--font-size-caption) monospace}.more[data-v-a0bef5e5]{color:var(--accent-text);font-size:var(--font-size-caption);cursor:pointer;-webkit-user-select:none;user-select:none}.custom-picker[data-v-a0bef5e5]{margin-top:8px}.sv[data-v-a0bef5e5]{position:relative;height:110px;border-radius:var(--radius-control);background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);cursor:crosshair;touch-action:none}.sv-handle[data-v-a0bef5e5]{position:absolute;width:10px;height:10px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 2px #000c;transform:translate(-50%,-50%);pointer-events:none}.hue[data-v-a0bef5e5]{position:relative;height:12px;margin-top:8px;border-radius:var(--radius-control);background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer;touch-action:none}.hue-handle[data-v-a0bef5e5]{position:absolute;top:50%;width:6px;height:16px;border:2px solid #fff;border-radius:3px;box-shadow:0 0 2px #000c;transform:translate(-50%,-50%);pointer-events:none}.preview-row[data-v-a0bef5e5]{display:flex;align-items:center;gap:6px;margin-top:8px}.preview[data-v-a0bef5e5]{width:22px;height:22px;border-radius:var(--radius-control);border:1px solid var(--swatch-chip-outline)}.preview-hex[data-v-a0bef5e5]{font:var(--font-size-caption) monospace;color:var(--font-color-muted)}.title[data-v-17eeab3d]{margin-bottom:8px;font-size:var(--font-size-heading);font-weight:600}.row[data-v-17eeab3d]{display:flex;align-items:center;gap:6px;min-height:32px}.row>span[data-v-17eeab3d]:first-child{flex:1}select[data-v-17eeab3d]{padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2);color:var(--font-color);font:inherit}input[data-v-17eeab3d]{width:72px;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2);color:var(--font-color);text-align:right}input.checkbox[data-v-17eeab3d]{width:16px;height:16px;margin:0;accent-color:var(--accent)}.abbreviations[data-v-17eeab3d]{width:100%;box-sizing:border-box;margin:4px 0 2px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2);color:var(--font-color);font:var(--font-size-caption) monospace;resize:vertical}code[data-v-17eeab3d]{font-size:inherit}.unit[data-v-17eeab3d]{width:22px;color:var(--font-color-muted)}.hint[data-v-17eeab3d]{margin:2px 0 8px;color:var(--font-color-muted);font-size:var(--font-size-caption)}section+section[data-v-17eeab3d]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}[data-v-17eeab3d] .changed{padding:0 4px;border:0;border-radius:4px;background:transparent;color:var(--warning-text);font:inherit;font-weight:700;cursor:pointer}[data-v-17eeab3d] .changed:hover{background:var(--warning-bg)}.plan-style[data-v-5e6dbfee]{position:absolute;bottom:calc(100% + 6px);left:0;width:300px;max-height:calc(100vh - 160px);overflow-y:auto;box-sizing:border-box;padding:12px;color:var(--font-color);font-size:var(--font-size-body);white-space:normal;z-index:5}.header[data-v-5e6dbfee]{display:flex;align-items:baseline;justify-content:space-between}.heading[data-v-5e6dbfee]{font-size:var(--font-size-title);font-weight:600}.summary[data-v-5e6dbfee]{margin:4px 0 12px;color:var(--font-color-muted);font-size:var(--font-size-caption)}.hint[data-v-5e6dbfee]{margin:2px 0 6px;color:var(--font-color-muted);font-size:var(--font-size-caption)}.link[data-v-5e6dbfee]{padding:0;border:0;background:transparent;color:var(--accent-text);font:inherit;font-size:var(--font-size-caption);font-weight:600;cursor:pointer}.toggle-container[data-v-9de4fdd6]{position:relative;display:flex;flex-direction:column;width:68px;height:136px;border-radius:10px;cursor:pointer;box-shadow:var(--shadow-chrome)}.button.button-2d[data-v-9de4fdd6]{border-left:var(--border-strong) solid 1px;border-top:var(--border-strong) solid 1px;border-right:var(--border-strong) solid 1px;border-radius:10px 10px 0 0}.button.button-3d[data-v-9de4fdd6]{border-left:var(--border-strong) solid 1px;border-bottom:var(--border-strong) solid 1px;border-right:var(--border-strong) solid 1px;border-radius:0 0 10px 10px}.plan-bar[data-v-9de4fdd6]{position:absolute;top:14px;left:calc(100% + 10px);display:flex;align-items:center;gap:2px;padding:3px;white-space:nowrap}.plan-button[data-v-9de4fdd6]{min-height:30px;padding:0 10px;border:none;border-radius:var(--radius-control);background:transparent;color:var(--font-color);font:var(--font-size-body) "Noto Sans",Arial,sans-serif;cursor:pointer}.plan-button[data-v-9de4fdd6]:hover{background:var(--hover-overlay)}.plan-button.storey[data-v-9de4fdd6]{font-weight:600}.plan-button.on[data-v-9de4fdd6]{background:var(--menu-item-hover)}.plan-separator[data-v-9de4fdd6]{width:1px;height:20px;margin:0 2px;background:var(--border)}.button[data-v-9de4fdd6]{position:relative;width:100%;height:100%;padding:0;border:0 solid var(--border-strong);color:inherit;cursor:pointer;background-color:var(--background-primary);display:flex;justify-content:center;align-items:center}.button.selected[data-v-9de4fdd6]{background-color:var(--menu-item-hover)}.container[data-v-82a33936]{display:flex;flex-direction:column;justify-content:space-between;align-items:center}.toggle-2d-3d[data-v-82a33936]{margin-bottom:25px}.bim-view-cube[data-v-82a33936]{position:relative;right:unset;left:unset;top:unset;bottom:unset;z-index:unset}.side-panel[data-v-ac6b3889]{position:fixed;top:0;right:0;width:450px;height:100%;background:var(--surface-1);color:var(--font-color);box-shadow:var(--shadow-side-panel);overflow:hidden;z-index:2}.resize-handle[data-v-ac6b3889]{position:absolute;top:0;bottom:0;left:0;width:6px;cursor:ew-resize;z-index:1}.resize-handle[data-v-ac6b3889]:hover,body.resizing-x{background:var(--accent);opacity:.6}body.resizing-x{cursor:ew-resize;-webkit-user-select:none;user-select:none}.header[data-v-ac6b3889]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:82px;padding:0 var(--padding-lg)}.title[data-v-ac6b3889]{display:flex;align-items:center;gap:12px;margin:0;font-size:var(--font-size-title);font-weight:700}.slide-enter-active[data-v-ac6b3889],.slide-leave-active[data-v-ac6b3889]{transition:transform .3s ease}.slide-enter-from[data-v-ac6b3889]{transform:translate(100%)}.slide-enter-to[data-v-ac6b3889],.slide-leave-from[data-v-ac6b3889]{transform:translate(0)}.slide-leave-to[data-v-ac6b3889]{transform:translate(100%)}.tabs[data-v-47a983ee]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.headers[data-v-47a983ee]{flex:0 0 auto;padding:25px;border-bottom:1px solid var(--menu-outline-color);border-top:1px solid var(--menu-outline-color)}.headers>div[data-v-47a983ee]{display:inline-block;margin-right:25px;cursor:pointer}.headers>.active[data-v-47a983ee]{color:var(--font-color)}.headers[data-v-47a983ee]>:not(.active){color:var(--font-color-muted)}.search[data-v-47a983ee]{flex:0 0 auto;padding:25px;border-bottom:1px solid var(--menu-outline-color);caret-color:var(--font-color);outline:none}.search>input[data-v-47a983ee]:focus{outline:none}.content-wrapper[data-v-47a983ee]{display:flex;flex-direction:column;flex:1;overflow:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--menu-outline-color) var(--background-primary);padding:25px}.content[data-v-47a983ee]{color:var(--font-color);flex:1}.search>input[data-v-47a983ee]{background:transparent;border:none;color:var(--font-color)}.tab[data-v-3f59cf91]{height:100%}.tree-toolbar[data-v-3f59cf91]{display:flex;align-items:center;gap:4px;padding:0 0 6px}.spacer[data-v-3f59cf91]{flex:1}.tree-button[data-v-3f59cf91]{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-control);background:transparent;color:inherit;font:inherit;font-size:var(--font-size-caption);cursor:pointer}.tree-button[data-v-3f59cf91]:hover{background:var(--menu-item-hover)}.tree-button .ui-icon[data-v-3f59cf91]{width:12px;height:12px}.classification-name[data-v-3f59cf91]{padding:8px 12px 4px;font-weight:600}.hidden-bar[data-v-3f59cf91]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:6px 10px;border-radius:var(--radius-control);background:var(--warning-bg);color:var(--warning-text)}.link[data-v-3f59cf91]{padding:0;border:0;background:transparent;color:var(--accent-text);font:inherit;font-weight:600;cursor:pointer}.classification-group[data-v-3f59cf91]{display:flex;align-items:center;gap:4px;padding:4px 12px 4px 20px;cursor:pointer}.classification-group[data-v-3f59cf91]:hover{background-color:var(--menu-item-hover)}.group-name[data-v-3f59cf91]{flex:1;min-width:0}.count[data-v-3f59cf91]{opacity:.6;margin-right:4px}.row-action[data-v-3f59cf91]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer}.row-action[data-v-3f59cf91]:hover{background:var(--menu-item-hover)}.row-action .ui-icon[data-v-3f59cf91]{width:16px;height:16px}.help[data-v-c5cacd90]{padding:0 20px 20px;color:var(--font-color);font-size:var(--font-size-body);line-height:1.45;overflow-y:auto;height:100%;box-sizing:border-box}h2[data-v-c5cacd90]{margin:18px 0 8px;font-size:var(--font-size-heading);font-weight:700}dl[data-v-c5cacd90]{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}dt[data-v-c5cacd90]{color:var(--font-color-muted)}dd[data-v-c5cacd90]{margin:0}.tool[data-v-c5cacd90]{margin-bottom:8px}.tool-header[data-v-c5cacd90]{display:flex;justify-content:space-between;align-items:center}.tool-label[data-v-c5cacd90]{font-weight:600}.tool p[data-v-c5cacd90]{margin:2px 0 0;color:var(--font-color-muted)}.note[data-v-c5cacd90]{margin-top:10px;color:var(--font-color-muted)}kbd[data-v-c5cacd90]{padding:0 6px;border:1px solid var(--menu-outline-color);border-radius:var(--radius-control);font-family:inherit;font-size:var(--font-size-caption)}.row-menu[data-v-0c8fbbbe]{display:inline-flex;flex-shrink:0}.more-button[data-v-0c8fbbbe]{min-width:28px;min-height:28px;border:none;border-radius:var(--radius-control);background:transparent;color:var(--font-color);font-size:var(--font-size-title);line-height:1;cursor:pointer}.more-button[data-v-0c8fbbbe]:hover{background:var(--hover-overlay)}.row[data-v-a435df72]{display:flex;align-items:center;gap:6px;min-height:30px;padding-right:6px;border-radius:var(--radius-control);cursor:pointer}.row[data-v-a435df72]:hover{background-color:var(--row-hover)}.row.drop-before[data-v-a435df72]{box-shadow:inset 0 2px 0 var(--accent)}.row.drop-after[data-v-a435df72]{box-shadow:inset 0 -2px 0 var(--accent)}.row.drop-target[data-v-a435df72]{outline:2px dashed var(--accent);outline-offset:-2px;background-color:var(--row-hover)}.children[data-v-a435df72]{margin-left:13px;padding-left:10px;border-left:1px solid var(--border)}.empty-folder[data-v-a435df72]{margin:2px 0 6px;padding:4px 8px;color:var(--font-color-muted);font-size:var(--font-size-caption)}.measurements[data-v-a435df72]{margin:0 0 4px 22px;padding-left:10px;border-left:1px solid var(--border)}.measurement[data-v-a435df72]{display:flex;align-items:center;gap:6px;min-height:26px;padding-right:6px;color:var(--font-color-muted);font-size:var(--font-size-caption)}.measurement-name[data-v-a435df72]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.measurement.cutout[data-v-a435df72]{padding-left:14px}.measurement.cutout[data-v-a435df72],.measurement.net[data-v-a435df72]{min-height:22px;padding-right:36px}.measurement.net[data-v-a435df72]{border-top:1px solid var(--border);font-weight:600}.measurement-value[data-v-a435df72]{color:var(--font-color);font-variant-numeric:tabular-nums;white-space:nowrap}.measurement .remove[data-v-a435df72]{min-width:24px;min-height:24px;color:var(--font-color-muted)}.measurement .remove[data-v-a435df72]:hover{color:var(--danger-text)}.caret.empty[data-v-a435df72]{visibility:hidden}.row.item[data-v-a435df72]{padding-left:8px}.row.active[data-v-a435df72]{background-color:var(--menu-item-hover)}.row.hidden .name[data-v-a435df72],.row.hidden .total[data-v-a435df72]{opacity:.45}.caret[data-v-a435df72]{width:12px;text-align:center;-webkit-user-select:none;user-select:none}.eye[data-v-a435df72]{width:16px;height:16px;display:block}.small-button[data-v-a435df72]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:0;border:none;border-radius:var(--radius-control);background:transparent;color:var(--font-color);cursor:pointer;flex-shrink:0}.small-button[data-v-a435df72]:hover{background:var(--hover-overlay)}.name[data-v-a435df72]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-name[data-v-a435df72]{font-weight:600}.total[data-v-a435df72]{margin-left:auto;color:var(--font-color);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.folder .total[data-v-a435df72]{font-weight:600}.width[data-v-a435df72],.move[data-v-a435df72]{max-width:64px;background:var(--surface-2);color:var(--font-color);border:1px solid var(--menu-outline-color);border-radius:var(--radius-control);font-size:var(--font-size-caption)}.move[data-v-a435df72]{max-width:22px}.rename[data-v-a435df72]{flex:1;min-width:0;background:var(--surface-2);color:var(--font-color);border:1px solid var(--menu-outline-color);border-radius:var(--radius-control);padding:2px 4px}.chip[data-v-a435df72]{padding:0 5px;border:1px solid var(--menu-outline-color);border-radius:8px;font-size:var(--font-size-caption);opacity:.6;-webkit-user-select:none;user-select:none}.chip.on[data-v-a435df72]{background-color:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent);opacity:1}.action[data-v-a435df72]{opacity:.5;font-size:var(--font-size-caption);-webkit-user-select:none;user-select:none}.action[data-v-a435df72]:hover{opacity:1}.takeoff[data-v-5ae0315d]{padding:0 16px 20px;color:var(--font-color);font-size:var(--font-size-body);height:100%;overflow-y:auto;box-sizing:border-box}section[data-v-5ae0315d]{margin-bottom:18px}h2[data-v-5ae0315d]{margin:0 0 8px;font-size:var(--font-size-heading)}.model[data-v-5ae0315d]{display:flex;justify-content:space-between;align-items:baseline;margin:8px 0 10px}.model-name[data-v-5ae0315d]{font-weight:700;font-size:var(--font-size-heading)}.muted[data-v-5ae0315d]{color:var(--font-color-muted);font-size:var(--font-size-caption)}.add-bar[data-v-5ae0315d]{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.add-button[data-v-5ae0315d]{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:56px;padding:6px 4px;border:1px solid var(--menu-outline-color);border-radius:var(--radius-control);background:transparent;color:var(--font-color);font:inherit;font-size:var(--font-size-caption);cursor:pointer}.add-button[data-v-5ae0315d]:hover{background:var(--hover-overlay)}.add-button.on[data-v-5ae0315d]{background:var(--menu-item-hover);border-color:var(--accent)}.new-item[data-v-5ae0315d]{display:flex;align-items:center;gap:6px;margin-top:8px}.new-item input[data-v-5ae0315d],.new-item button[data-v-5ae0315d]{background:var(--surface-2);color:var(--font-color);border:1px solid var(--menu-outline-color);border-radius:var(--radius-control);padding:4px 6px;font:inherit}.new-item input[data-v-5ae0315d]{flex:1;min-width:0}.new-item button[data-v-5ae0315d]{cursor:pointer}.new-item button.primary[data-v-5ae0315d]{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.new-item button[data-v-5ae0315d]:disabled{opacity:.5;cursor:default}.toolbar[data-v-5ae0315d]{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}.history[data-v-5ae0315d]{display:flex;flex-shrink:0;gap:2px}.history-button[data-v-5ae0315d]{min-height:26px;padding:0 8px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--font-color);font:inherit;font-size:var(--font-size-caption);cursor:pointer;white-space:nowrap}.history-button[data-v-5ae0315d]:hover:not(:disabled){background:var(--hover-overlay)}.history-button[data-v-5ae0315d]:disabled{opacity:.45;cursor:default}.link[data-v-5ae0315d]{color:var(--accent-text);cursor:pointer;white-space:nowrap}.link.danger[data-v-5ae0315d]{color:var(--danger-text)}.notice[data-v-5ae0315d]{margin-top:8px;padding:6px 8px;border-radius:var(--radius-control);background:var(--warning-bg);color:var(--warning-text)}.notice.good[data-v-5ae0315d]{background:#7aa7ff1f;color:var(--accent-text)}.empty[data-v-5ae0315d]{margin-top:10px}.tree[data-v-5ae0315d]{min-height:60px;border-radius:var(--radius-control)}.tree.drop-target[data-v-5ae0315d]{outline:2px dashed var(--accent);outline-offset:2px}.save-unsaved[data-v-5ae0315d]{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:6px 8px;border-radius:var(--radius-control);background:#4f8cff26}.save-unsaved button[data-v-5ae0315d]{background:var(--accent-strong);color:var(--on-accent);border:none;border-radius:var(--radius-control);padding:4px 8px;font:inherit;cursor:pointer;white-space:nowrap}.saved-model[data-v-5ae0315d]{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--menu-outline-color)}.saved-name[data-v-5ae0315d]{flex:1;min-width:0;display:flex;flex-direction:column}.boq[data-v-d6e487ef]{position:fixed;left:110px;right:110px;bottom:12px;display:flex;flex-direction:column;color:var(--font-color);font-size:var(--font-size-body);z-index:3}.resize-handle[data-v-d6e487ef]{position:absolute;top:-4px;left:0;right:0;height:8px;cursor:ns-resize}.boq-header[data-v-d6e487ef]{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border)}h2[data-v-d6e487ef]{margin:0;font-size:var(--font-size-heading)}.muted[data-v-d6e487ef]{color:var(--font-color-muted);font-size:var(--font-size-caption)}.actions[data-v-d6e487ef]{display:flex;align-items:center;gap:6px;margin-left:auto}.action[data-v-d6e487ef],.primary[data-v-d6e487ef],.close[data-v-d6e487ef]{min-height:28px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-control);background:transparent;color:var(--font-color);font:inherit;cursor:pointer}.action[data-v-d6e487ef]:hover,.close[data-v-d6e487ef]:hover{background:var(--hover-overlay)}.action[data-v-d6e487ef]:disabled,.primary[data-v-d6e487ef]:disabled{opacity:.5;cursor:default}.primary[data-v-d6e487ef]{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--on-accent)}.close[data-v-d6e487ef]{border:none}.editor[data-v-d6e487ef]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.editor label[data-v-d6e487ef]{display:flex;align-items:center;gap:6px}.editor input[data-v-d6e487ef]{min-height:28px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-1);color:var(--font-color);font:inherit}.formula-field[data-v-d6e487ef]{flex:1;min-width:260px}.formula[data-v-d6e487ef]{flex:1;font-family:monospace!important}.names[data-v-d6e487ef]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;width:100%}.name-chip[data-v-d6e487ef]{padding:1px 8px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--accent-text);font:inherit;font-size:var(--font-size-caption);cursor:pointer}.error[data-v-d6e487ef]{color:var(--danger-text)}.table-wrap[data-v-d6e487ef]{flex:1;overflow:auto}table[data-v-d6e487ef]{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th[data-v-d6e487ef],td[data-v-d6e487ef]{padding:4px 10px;border-bottom:1px solid var(--row-divider);text-align:left;white-space:nowrap}th[data-v-d6e487ef]{position:sticky;top:0;z-index:1;background:var(--surface-1);color:var(--font-color-muted);font-weight:600;font-size:var(--font-size-caption);vertical-align:bottom}.num[data-v-d6e487ef]{text-align:right}.name-col[data-v-d6e487ef]{position:sticky;left:0;min-width:200px;background:var(--surface-1);z-index:1}th.name-col[data-v-d6e487ef]{z-index:2}tr.folder td.name-col[data-v-d6e487ef]{background:var(--boq-folder-row)}.col-head[data-v-d6e487ef]{display:flex;align-items:center;justify-content:flex-end;gap:2px}.col-name[data-v-d6e487ef]{color:var(--font-color)}.col-formula[data-v-d6e487ef]{max-width:180px;margin-left:auto;overflow:hidden;text-overflow:ellipsis;font-family:monospace;font-weight:400}tr.folder td[data-v-d6e487ef]{font-weight:600;background:var(--row-stripe)}tr.total td[data-v-d6e487ef]{font-weight:700;border-top:2px solid var(--border);border-bottom:none}.item-link[data-v-d6e487ef]{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;color:var(--font-color);font:inherit;cursor:pointer}.item-link[data-v-d6e487ef]:hover{text-decoration:underline}.swatch[data-v-d6e487ef]{width:10px;height:10px;border-radius:2px}.value-input[data-v-d6e487ef]{width:90px;min-height:24px;padding:0 6px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface-2);color:var(--font-color);font:inherit;text-align:right}.value-input[data-v-d6e487ef]:hover{border-color:var(--border)}.empty[data-v-d6e487ef]{padding:16px}.backdrop[data-v-4f037f8c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--backdrop)}.dialog[data-v-4f037f8c]{display:flex;flex-direction:column;width:min(440px,100%);max-height:calc(100vh - 32px);box-sizing:border-box;padding:16px;color:var(--font-color);font-size:var(--font-size-body);outline:none}.header[data-v-4f037f8c]{display:flex;align-items:center;justify-content:space-between}h2[data-v-4f037f8c]{margin:0;font-size:var(--font-size-title)}h3[data-v-4f037f8c]{margin:0 0 8px;font-size:var(--font-size-heading);color:var(--font-color-muted);text-transform:uppercase;letter-spacing:.04em}.intro[data-v-4f037f8c]{margin:6px 0 12px;color:var(--font-color-muted);font-size:var(--font-size-caption)}.body[data-v-4f037f8c]{overflow-y:auto;padding-right:4px}section+section[data-v-4f037f8c]{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.row[data-v-4f037f8c]{display:flex;align-items:center;gap:6px;min-height:32px}.row>span[data-v-4f037f8c]:first-child{flex:1}select[data-v-4f037f8c]{padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2);color:var(--font-color);font:inherit}input.checkbox[data-v-4f037f8c]{width:16px;height:16px;margin:0;accent-color:var(--accent)}.plan-fields[data-v-4f037f8c]{margin-top:12px}.footer[data-v-4f037f8c]{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.close[data-v-4f037f8c]{width:32px;height:32px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--font-color);cursor:pointer}.close[data-v-4f037f8c]:hover{background:var(--hover-overlay)}.link[data-v-4f037f8c]{padding:0;border:0;background:transparent;color:var(--accent-text);font:inherit;font-size:var(--font-size-caption);font-weight:600;cursor:pointer}.primary[data-v-4f037f8c]{min-height:32px;padding:0 16px;border:0;border-radius:var(--radius-control);background:var(--accent-strong);color:var(--on-accent);font:inherit;font-weight:600;cursor:pointer}.undo-toast[data-v-9a9e5fdf]{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:12px;max-width:min(560px,calc(100vw - 32px));padding:6px 6px 6px 14px;color:var(--font-color);font-size:var(--font-size-body)}.message[data-v-9a9e5fdf]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action[data-v-9a9e5fdf]{flex-shrink:0;min-height:28px;padding:0 12px;border:0;border-radius:var(--radius-control);background:var(--accent-strong);color:var(--on-accent);font:inherit;font-weight:600;cursor:pointer}.close[data-v-9a9e5fdf]{flex-shrink:0;width:28px;height:28px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--font-color);cursor:pointer}.close[data-v-9a9e5fdf]:hover{background:var(--hover-overlay)}.layout-wrapper[data-v-842bedc0]{display:grid;grid-template-areas:"sidebar-left   header   sidebar-right" "sidebar-left   worlds   sidebar-right";grid-template-rows:auto 1fr;grid-template-columns:100px auto 100px;height:100vh;width:100vw;padding:var(--padding-lg);box-sizing:border-box}.header[data-v-842bedc0]{grid-area:header;display:flex;justify-content:center;z-index:2}.sidebar-left[data-v-842bedc0]{grid-area:sidebar-left;z-index:2;align-items:flex-start}.sidebar-left-top[data-v-842bedc0]{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sidebar-right[data-v-842bedc0]{grid-area:sidebar-right;z-index:2}.sidebar-left[data-v-842bedc0],.sidebar-right[data-v-842bedc0]{display:flex;flex-direction:column;justify-content:space-between}.content[data-v-842bedc0]{grid-area:worlds;z-index:1}#world-container[data-v-b54b25f2]{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}
