html[data-theme] :is(.sidebar,.auth-aside){background:var(--sidebar-surface);border-color:var(--border)}html[data-theme] :is(.public-header,.public-footer,.app-topbar,.app-footer,.panel,.tool-card,.viewer-top,.model-tree,.property-panel,.viewer-tool-drawer,.camera-selector,.canvas-controls,.modal,.pricing-card,.product-preview,.marketing-chart){background:var(--panel);border-color:var(--border);color:var(--foreground)}html[data-theme] :is(.tinted,.public-cta,.workspace-picker,.sidebar-search,.demo-note,.viewer-disclaimer,.hero .pill,.nav-item.active,.tree-element.active,.filter-rule,.auth-proof){background:var(--soft);border-color:var(--border);color:var(--foreground)}html[data-theme] :is(.hero h1 span,.feature-icon,.text-link,.workspace-avatar,.avatar,.nav-item.active,.chart-caption strong){color:var(--foreground)}html[data-theme] :is(.workspace-avatar,.avatar){background:var(--soft)}html[data-theme] :is(.hero-copy>p,.property-groups dt,.public-links,.nav-item,.breadcrumbs,.hero-note,.canvas-help,.tool-intro,.tool-hint){color:var(--muted)}html[data-theme] :is(.button.primary,.cta-section){background:var(--accent);color:var(--primary-foreground);border-color:var(--accent)}html[data-theme] .button.primary:hover{background:color-mix(in oklch, var(--accent) 90%, var(--background))}html[data-theme] :is(.button.secondary,input,textarea,select){background:var(--panel);color:var(--foreground);border-color:var(--border)}html[data-theme] :is(.button.secondary:hover,.nav-item:hover,.icon-button:hover){background:var(--soft);color:var(--foreground)}html[data-theme] :is(input,textarea)::placeholder{color:var(--muted)}html[data-theme] .badge{background:var(--soft);color:var(--foreground);border-color:var(--border)}html[data-theme] .scene-progress{background:color-mix(in oklch, var(--panel) 94%, transparent)}html[data-theme] .orbit-loader>span{border-color:var(--border);border-top-color:var(--foreground)}html[data-theme] .orbit-loader>i{border-color:var(--border);border-bottom-color:var(--muted)}html[data-theme] .orbit-loader>b{background:var(--soft);border-color:var(--foreground)}.private-workspace .app-main{transition:margin-left .18s}.private-workspace .sidebar{transition:transform .18s,visibility .18s}@media (min-width:761px){.private-workspace.sidebar-collapsed .sidebar{visibility:hidden;transform:translate(-100%)}.private-workspace.sidebar-collapsed .app-main{margin-left:0}}@media (max-width:760px){.desktop-sidebar-toggle{display:none}}@media (max-width:360px){.public-nav-actions{gap:8px}}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;top:0;left:0;overflow:hidden}.tools-page{padding-top:76px;padding-bottom:80px}.tools-page>h1{letter-spacing:-.045em;max-width:720px;margin:18px 0;font-size:clamp(32px,4vw,54px);line-height:1.12}.tools-intro{max-width:650px;margin-bottom:40px;font-size:17px}.tools-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.tool-card{border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:flex-start;gap:18px;padding:30px;display:flex}.tool-card>svg{margin-bottom:12px}.tool-card h2{letter-spacing:-.025em;margin:0;font-size:23px}.tool-card p{color:var(--muted);margin:0}.tool-card .button,.tool-card>.small{margin-top:auto}.tools-workspace{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:30px;margin-top:55px;padding-top:30px;display:flex}.public-viewer-page{max-width:1800px;margin-inline:auto;padding:42px clamp(18px,3vw,48px)}.public-viewer-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.public-viewer-heading h1{letter-spacing:-.035em;margin:6px 0;font-size:36px}.public-viewer-heading p{margin-bottom:0}.ifc-dropzone{border:1px dashed var(--border);text-align:center;background:var(--sidebar-surface);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:380px;padding:42px 20px;display:flex}.ifc-dropzone.is-dragging{border-color:var(--foreground);background:var(--soft)}.ifc-dropzone h2{letter-spacing:-.035em;margin:0;font-size:27px}.ifc-dropzone p,.ifc-dropzone small{color:var(--muted);margin:0}.public-viewer-page .viewer-layout{height:max(550px,100dvh - 300px)}.viewer-shell:fullscreen{padding:0;display:block;position:relative}.viewer-shell:fullscreen>.viewer-layout{border:0;border-radius:0;width:100%;height:100%;display:block;position:absolute;inset:0}.viewer-shell:fullscreen .viewer-canvas{position:absolute;inset:0}.viewer-shell:fullscreen>.viewer-top{z-index:20;border:1px solid var(--border);border-radius:12px;padding:10px 14px;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 5px 24px #0000000d}.viewer-shell:fullscreen :is(.model-tree,.property-panel){z-index:12;border:1px solid var(--border);border-radius:12px;width:248px;position:absolute;top:118px;bottom:68px;box-shadow:0 8px 32px #00000012}.viewer-shell:fullscreen .model-tree{left:16px}.viewer-shell:fullscreen .property-panel{right:16px}.viewer-shell:fullscreen .camera-selector{top:78px;right:16px}.viewer-shell:fullscreen .viewer-tool-drawer{top:118px;bottom:68px;right:278px}.viewer-shell:fullscreen .no-properties .viewer-tool-drawer{right:16px}.viewer-shell:fullscreen>.viewer-disclaimer{z-index:15;border-radius:8px;max-width:min(60%,700px);padding:7px 12px;font-size:10px;position:absolute;bottom:12px;left:16px}.viewer-shell:fullscreen>.viewer-status{z-index:15;background:var(--panel);border:0;border-radius:8px;padding:7px 12px;font-size:10px;position:absolute;bottom:12px;right:16px}@media (max-width:760px){.viewer-shell:fullscreen>.viewer-top{padding:8px;inset:8px 8px auto}.viewer-shell:fullscreen :is(.model-tree,.property-panel){width:min(248px,100% - 32px);top:154px;bottom:68px}.viewer-shell:fullscreen .property-panel{z-index:13}.viewer-shell:fullscreen .camera-selector{top:116px;right:16px}.viewer-shell:fullscreen .viewer-tool-drawer{z-index:14;top:154px;right:16px}.viewer-shell:fullscreen>.viewer-disclaimer{display:none}}@media (max-width:900px){.tools-grid{grid-template-columns:1fr}.tools-page{padding-top:40px}.tools-workspace,.public-viewer-heading{flex-direction:column;align-items:flex-start}.public-viewer-page{padding:24px 14px}}@media (prefers-reduced-motion:reduce){.private-workspace :is(.app-main,.sidebar){transition:none}}.viewer-shell .viewer-layout.panel-surface{background:var(--background);height:max(550px,100dvh - 300px);min-height:480px;display:block;position:relative}.viewer-shell .panel-surface>.viewer-canvas{width:100%;height:100%;min-height:0;position:absolute;inset:0}.viewer-shell:fullscreen>.viewer-layout.panel-surface{height:100%;min-height:0;position:absolute}.viewer-shell .panel-surface .dockable-panel{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:11px;flex-direction:column;min-width:0;max-width:none;min-height:0;max-height:none;margin:0;padding:0;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 28px #00000012}.dock-panel-header{border-bottom:1px solid var(--border);background:var(--panel);flex:0 0 40px;align-items:center;gap:1px;padding:3px 5px;display:flex}.dock-panel-header .icon-button{flex:0 0 25px;width:25px;height:28px;padding:4px}.panel-drag-handle{min-width:0;color:var(--foreground);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:4px;padding:7px 0;display:flex}.panel-drag-handle:active{cursor:grabbing}.panel-drag-handle>svg{color:var(--muted);flex-shrink:0}.panel-drag-handle span{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.dock-panel-body{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.model-tree .dock-panel-body{flex-direction:column;display:flex}.model-tree .dock-panel-body>:not(.tree-elements){flex-shrink:0}.viewer-dock-target{z-index:25;pointer-events:none;border:1px dashed var(--foreground);background:color-mix(in oklch, var(--panel) 92%, transparent);width:65px;color:var(--foreground);border-radius:10px;place-items:center;font-size:11px;font-weight:600;display:grid;position:absolute;box-shadow:0 0 20px #00000010}.viewer-dock-target.dock-left{left:8px}.viewer-dock-target.dock-right{right:8px}.compact-panel-switcher{z-index:19;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);gap:4px;width:fit-content;max-width:calc(100% - 24px);padding:3px;display:flex;position:absolute;left:12px;right:12px}.compact-panel-switcher button{min-height:36px;color:var(--muted);border-radius:6px;padding:7px 10px;font-size:11px}.compact-panel-switcher button[aria-pressed=true]{background:var(--soft);color:var(--foreground)}html[data-theme] .viewer-shell .panel-surface .tree-search,html[data-theme] .viewer-shell .panel-surface .tree-root{background:var(--soft);color:var(--muted)}html[data-theme] .viewer-shell :is(.canvas-button,.canvas-controls button){background:var(--panel);color:var(--foreground);border-color:var(--border)}html[data-theme] .viewer-shell .canvas-controls button:is(.active,:hover){background:var(--soft)}html[data-theme] .viewer-shell :is(.viewer-model-select,.viewer-status,.tree-footer,.property-groups dt,.viewer-toggle small){color:var(--muted)}html[data-theme] .viewer-shell :is(.badge,.badge.green,.badge.amber,.viewer-tool-tabs button>span){background:var(--soft);color:var(--foreground);border-color:var(--border)}html[data-theme] .viewer-shell .dot{background:var(--muted)}html[data-theme] .viewer-shell .tool-section :is(select,input:not([type=checkbox]):not([type=color]):not([type=range])){background:var(--panel);color:var(--foreground)}html[data-theme] .viewer-shell :is(.viewer-tool-tabs,.viewer-layout){border-color:var(--border)}html[data-theme] .viewer-shell .viewer-tool-tabs button:is(.active,:hover){background:var(--panel);color:var(--foreground)}.viewer-shell input:is([type=checkbox],[type=range]){accent-color:var(--accent)}.viewer-shell .tree-element.is-hidden{opacity:.55}.viewer-shell .viewer-status{flex-wrap:wrap;gap:12px}.viewer-shell:fullscreen .canvas-top-left{top:78px}.viewer-shell:fullscreen .viewer-tool-drawer{z-index:12}.viewer-shell .viewer-layout.panel-surface :is(.camera-selector,.canvas-top-left){top:var(--viewer-control-top,16px)}.hierarchy-tree{padding:6px;overflow:auto}.tree-branch-toggle{width:100%;color:var(--foreground);text-align:left;border-radius:5px;align-items:center;gap:4px;padding:8px 3px;font-size:11px;display:flex}.tree-branch-toggle:hover{background:var(--soft)}.tree-branch-toggle>svg{color:var(--muted);flex-shrink:0}.tree-branch-toggle .is-open{transform:rotate(90deg)}.tree-branch-toggle>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-branch-toggle>small{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.tree-branch-children{border-left:1px solid var(--border);margin-left:7px;padding-left:3px}.hierarchy-tree .tree-element{padding-inline:5px}@media (max-width:760px){.viewer-shell .viewer-layout.panel-surface{height:620px}.viewer-shell:fullscreen .viewer-layout.panel-surface{height:100%}.viewer-shell:fullscreen .canvas-top-left{top:116px}.panel-surface .canvas-label{display:none}.panel-surface .tree-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.panel-surface .hierarchy-tree{display:block}.viewer-shell:fullscreen .canvas-help{display:none}.viewer-shell:fullscreen>.viewer-status{bottom:10px;left:12px;right:12px}}.filter-set-controls{border-top:1px solid var(--border);gap:.75rem;margin-top:1rem;padding-top:1rem;display:grid}.filter-set-controls h4{font-size:.8rem;font-weight:600}.filter-set-actions{flex-wrap:wrap;gap:.5rem;display:flex}.filter-set-actions button{padding:.5rem .65rem;font-size:.72rem}.tool-section.filter-set-area{padding-top:0}.property-unit{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.5;display:block}.ifc-analysis{gap:20px;display:grid}.ifc-source-picker,.ifc-axis-settings{padding:20px}.ifc-source-picker summary{cursor:pointer;font-weight:600}.ifc-source-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.ifc-source-row>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.ifc-source-row small,.ifc-pcp-label small,.ifc-result dd small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.ifc-source-row>span:last-child{max-width:40%}.ifc-metric-list{gap:9px;max-height:220px;margin:16px 0;display:grid;overflow:auto}.ifc-range-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.ifc-range-grid strong{overflow-wrap:anywhere;margin-bottom:8px;font-size:12px;display:block}.ifc-range-inputs{gap:8px;display:flex}.ifc-range-inputs label{min-width:0;color:var(--muted);flex:1;font-size:11px}.ifc-range-inputs input{width:100%;margin-top:4px}.ifc-pcp-scroll{overflow-x:auto}.ifc-pcp{min-width:680px;height:360px;position:relative}.ifc-pcp-axes{pointer-events:none;position:absolute;inset:60px 65px 40px}.ifc-pcp-axis{height:100%;position:absolute;top:0;transform:translate(-50%)}.ifc-pcp-label{text-align:center;width:130px;color:var(--foreground);font-size:11px;line-height:1.3;position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%)}.ifc-axis-slider{touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;justify-content:center;align-items:center;width:18px;height:100%;display:flex;position:relative}.ifc-axis-track{background:var(--border);width:2px;height:100%;position:relative}.ifc-axis-range{background:var(--muted);width:100%;position:absolute}.ifc-axis-thumb{border:2px solid var(--muted);background:var(--panel);cursor:ns-resize;border-radius:50%;width:10px;height:10px;display:block}.ifc-axis-thumb:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ifc-chart-panel>.tool-hint{padding:0 20px 16px}.ifc-result-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.ifc-result{border:1px solid var(--border);overflow:hidden}.ifc-result.is-selected,.ifc-result.is-hovered{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ifc-result>img{object-fit:cover;width:100%;height:150px}.ifc-result-body{padding:20px}.ifc-result-body strong,.ifc-result-body p{overflow-wrap:anywhere}.ifc-result dl{gap:12px;margin:18px 0;display:grid}.ifc-result dl>div{justify-content:space-between;gap:12px;display:flex}.ifc-result dt{color:var(--muted);font-size:12px}.ifc-result dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:13px}.ifc-result details{margin-bottom:18px}.ifc-result summary{cursor:pointer;font-size:12px}@media (max-width:640px){.ifc-source-row{flex-wrap:wrap}.ifc-source-row>span:last-child{flex-basis:100%;max-width:100%;padding-left:25px}}.viewer-shell .canvas-top-left{top:var(--viewer-control-top,12px);pointer-events:none;flex-wrap:wrap;align-items:center;gap:6px;display:flex;left:12px;right:12px}.viewer-shell .canvas-top-left>*{pointer-events:auto}.viewer-shell .canvas-top-left .camera-selector{width:205px;max-width:calc(100vw - 90px);margin:0;position:static;inset:auto;transform:none}.viewer-shell .canvas-top-left .camera-selector button{min-width:0}.viewer-shell .canvas-top-left .canvas-label{margin-left:auto}.panel-resize-handle{background:var(--panel);width:26px;height:26px;color:var(--muted);cursor:nwse-resize;touch-action:none;z-index:2;border:0;border-radius:5px 0 0;place-items:center;display:grid;position:absolute;bottom:0;right:0}.panel-resize-handle:hover,.panel-resize-handle:focus-visible{color:var(--foreground);background:var(--soft);outline:2px solid var(--foreground);outline-offset:-2px}.dock-panel-body{padding-bottom:18px}.viewer-controls-panel .dock-panel-body{padding:0 8px 14px}.viewer-shell .viewer-controls-panel .canvas-controls{width:auto;box-shadow:none;border:0;flex-wrap:wrap;justify-content:center;gap:4px;margin:0;padding:4px 0;display:flex;position:static;inset:auto;transform:none}.controls-status{color:var(--muted);text-align:center;font-size:10px}.viewer-controls-panel .canvas-controls>span{background:var(--border);width:1px}.saved-views-panel .dock-panel-body{padding:10px 10px 24px}.view-cycle{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.view-cycle button,.saved-view-actions button{border-radius:6px;place-items:center;min-width:30px;min-height:32px;display:grid}.view-cycle button:hover,.saved-view-actions button:hover{background:var(--soft)}.saved-view-row{border-bottom:1px solid var(--border);padding-block:7px}.saved-view-open{text-align:left;overflow-wrap:anywhere;border-radius:6px;width:100%;padding:9px;font-size:12px}.saved-view-open[aria-pressed=true]{background:var(--soft);font-weight:600}.saved-view-actions{color:var(--muted);justify-content:flex-end;gap:3px;display:flex}.saved-view-list{margin:8px 0 16px}.navigation-help{max-width:min(320px,100vw - 24px);font-size:12px}.navigation-help p{color:var(--muted);margin:8px 0 0}.color-key-shortcuts{gap:6px;margin-block:10px;display:flex}.color-key-shortcuts button{border:1px solid var(--border);border-radius:7px;padding:7px 10px}.color-key-shortcuts button[aria-pressed=true]{background:var(--soft)}.compact-panel-switcher{overflow-x:auto}.compact-panel-switcher button{flex-shrink:0}@media (max-width:640px){.viewer-shell .canvas-top-left .canvas-label{display:none}.viewer-shell .canvas-top-left .camera-selector{width:180px}.viewer-shell .canvas-top-left{gap:4px}.viewer-shell .canvas-top-left .canvas-button{width:28px;height:30px}}.property-key-picker{gap:6px;display:grid}.actual-product-capture{align-self:center;min-width:0;margin:0}.actual-product-capture img{width:100%;height:auto;display:block}.actual-product-capture figcaption{color:var(--muted);padding:14px 18px;font-size:12px;line-height:1.6}.actual-product-capture figcaption a{text-decoration:underline}.viewer-shell .property-groups{display:block}.viewer-shell .property-groups dl{grid-template-columns:minmax(0,1fr)}.viewer-shell .property-groups details{min-width:0}.viewer-shell>.viewer-top{flex-wrap:wrap}.project-tabs{border:1px solid var(--border);background:var(--muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;padding:5px;display:flex}.project-tabs a{border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none}.project-tabs a[aria-current=page]{background:var(--card);color:var(--foreground);box-shadow:0 1px 4px #0002}.project-tabs a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ifc-result-grid.is-compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.ifc-result-grid.is-compact .ifc-result img{aspect-ratio:1;object-fit:cover;height:auto}.ifc-result-grid.is-compact .ifc-result dl,.ifc-result-grid.is-compact .ifc-result details{display:none}.ifc-result-grid.is-compact .ifc-result-body{padding:12px}.dashboard-widget[draggable=true]{cursor:grab}.dashboard-widget[draggable=true] input,.dashboard-widget[draggable=true] button{cursor:auto}.dashboard-widget-form fieldset{border:1px solid var(--border);border-radius:8px;gap:6px;padding:10px;display:grid}.dashboard-bar-track.is-dot>span{border-radius:50%;height:10px;position:absolute;left:0;width:10px!important}.api-activity{padding:24px}.api-calendar{grid-template-rows:repeat(7,14px);grid-auto-columns:14px;grid-auto-flow:column;gap:4px;padding:10px 2px;display:grid;overflow:auto}.heat-cell{border:1px solid var(--border);cursor:pointer;border-radius:3px;width:14px;height:14px;padding:0}.heat-0{background:var(--muted)}.heat-1{background:#b5dfc7}.heat-2{background:#7ccaa2}.heat-3{background:#40956d}.heat-4{background:#205b41}.heat-cell:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.overview-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.overview-totals>.panel{gap:8px;padding:24px;display:grid}.overview-totals strong{font-size:32px}.overview-columns{grid-template-columns:2fr 1fr;gap:20px;display:grid}.overview-columns>.panel{padding:24px}.project-card-wrap{min-width:0;position:relative}.project-card-edit{z-index:1;position:absolute;top:12px;right:12px}@media (max-width:700px){.overview-columns,.overview-totals,.dashboard-widget-grid{grid-template-columns:1fr}.api-activity{padding:16px}.project-tabs a{padding:8px}}.identity-image-control{flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0;display:flex}.identity-image-preview{border:1px solid var(--border);object-fit:cover;border-radius:16px;width:88px;height:88px}.workspace-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.shadcn-tabs-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--soft);width:fit-content;max-width:100%;color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:inline-flex}.shadcn-tabs-trigger{border-radius:calc(var(--radius) - 4px);min-height:34px;color:var(--muted);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:500;transition:color .12s,background-color .12s,box-shadow .12s;display:inline-flex}.shadcn-tabs-trigger[data-state=active]{color:var(--foreground);background:var(--panel);border-color:var(--border);box-shadow:0 1px 2px #00000014}.shadcn-tabs-trigger:focus-visible,.project-tabs a:focus-visible,.viewer-tool-tabs button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.shadcn-tabs-content{outline:none}.developer-tabs{justify-items:start;gap:12px;display:grid}.developer-tabs [data-slot=tabs-content]{width:100%}.project-tabs{border:1px solid var(--border);border-radius:var(--radius);background:var(--soft);flex-wrap:nowrap;align-items:center;gap:4px;width:fit-content;max-width:100%;margin:16px 0 12px;padding:4px;display:flex;overflow-x:auto}.project-tabs a{border-radius:calc(var(--radius) - 4px);color:var(--muted);border:1px solid #0000;flex:none;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:color .12s,background-color .12s,box-shadow .12s}.project-tabs a.active,.project-tabs a[aria-current=page]{color:var(--foreground);background:var(--panel);border-color:var(--border);box-shadow:0 1px 2px #00000014}.project-tabs a:hover:not(.active):not([aria-current=page]){color:var(--foreground)}.project-tabs span{border:1px solid var(--border);background:var(--soft);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:11px}.viewer-tool-tabs{border-radius:var(--radius);background:var(--soft);gap:2px;padding:4px}.viewer-tool-tabs button{border-radius:calc(var(--radius) - 4px);min-height:34px;color:var(--muted);border:1px solid #0000;padding:7px 10px;font-size:12px;font-weight:500}.viewer-tool-tabs button:hover,.viewer-tool-tabs button.active{border-color:var(--border);background:var(--panel);color:var(--foreground);box-shadow:0 1px 2px #00000014}.viewer-loading-overlay{z-index:20;background:var(--background,#f4f4f5);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex;position:absolute;inset:0}.viewer-loading-overlay p{max-width:460px}.section-edit-widget{z-index:19;border:1px solid var(--border);background:var(--panel,var(--background));border-radius:12px;width:min(330px,100% - 28px);padding:16px;position:absolute;top:58px;right:14px;box-shadow:0 8px 36px #0002}.section-edit-widget label{gap:5px;font-size:12px;display:grid}.section-edit-widget input{width:100%}.section-faces{grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0;display:grid}.section-faces button{border:1px solid var(--border);border-radius:5px;padding:6px}.section-faces button[aria-pressed=true]{background:var(--soft);border-color:var(--accent)}.section-edit-widget .actions{flex-wrap:wrap;margin-top:10px}.dimension-label{background:var(--background,#fff);color:var(--foreground,#111);border:1px solid var(--border,#888);font:600 12px var(--font-sans),sans-serif;white-space:nowrap;pointer-events:none;z-index:2;border-radius:4px;padding:3px 7px;position:absolute;transform:translate(-50%,-130%);box-shadow:0 1px 5px #0003}.dimension-editor{padding:16px}.dimension-editor fieldset{border:0;gap:6px;padding:8px 0;display:flex}.dimension-editor label{gap:4px;font-size:12px;display:grid}.dimension-editor input{width:100%;min-width:0}.dimension-list{padding:0;list-style:none}.dimension-list li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:9px 0;display:flex}.dimension-list span{flex:1}.scene-model-card{border:1px solid var(--border);border-radius:8px;gap:8px;margin-bottom:10px;padding:10px;display:grid}.scene-model-card small{overflow-wrap:anywhere}.alignment-inputs{gap:6px;display:flex}.alignment-inputs label{gap:4px;min-width:0;font-size:11px;display:grid}.alignment-inputs input{width:100%;min-width:0}.tree-assembly-select{opacity:.75;margin-left:20px;padding:3px 7px;font-size:11px}.property-panel .actions{flex-wrap:wrap}.property-panel select{max-width:100%}@media (max-width:700px){.viewer-tool-tabs{flex-wrap:nowrap;flex:0 0 100%;justify-content:flex-start;max-width:100%;overflow-x:auto}.viewer-tool-tabs button{flex-shrink:0}.section-edit-widget{max-height:65%;top:58px;overflow:auto}.viewer-top{flex-wrap:wrap}.dimension-label{font-size:11px}}.saved-view-preview{aspect-ratio:4/3;border-radius:var(--radius);background:var(--soft);border:1px solid var(--border);width:100%;display:block;overflow:hidden}.saved-view-preview img{object-fit:contain;width:100%;height:100%;display:block}.preview-unavailable{text-align:center;height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:12px;display:flex}.preview-unavailable strong{color:var(--foreground);font-size:13px;font-weight:500}.saved-view-open{border:1px solid #0000;gap:8px;display:grid}.saved-view-open>small{color:var(--muted);font-size:11px}.saved-view-open[aria-pressed=true]{border-color:var(--accent);background:var(--soft)}.saved-view-actions button{min-width:36px;min-height:36px}.dashboard-widget-grid.is-canvas{background:var(--soft);border:1px solid var(--border);border-radius:var(--radius);min-height:420px;display:block;position:relative}.is-canvas>.dashboard-widget{min-width:0;margin:0;position:absolute;overflow:auto}.canvas-handle{touch-action:none}.canvas-arrangement{gap:8px;margin-bottom:12px;display:grid}.canvas-arrangement fieldset{border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.canvas-arrangement label{gap:4px;font-size:12px;display:grid}.canvas-arrangement input{width:100%;min-width:0}.route-viewer-placeholder{grid-template-columns:220px 1fr 260px;gap:12px;min-height:65vh;display:grid}.route-viewer-placeholder .skeleton{height:100%;min-height:65vh}.route-tab-placeholder{height:44px;margin-block:20px}.route-skeleton .panel{padding:24px}.route-skeleton .skeleton{margin-block:10px}@media (max-width:900px){.dashboard-widget-grid.is-canvas{grid-template-columns:1fr;display:grid;height:auto!important}.is-canvas>.dashboard-widget{max-height:none;position:static;width:auto!important;height:auto!important}.canvas-handle{display:none}.route-viewer-placeholder{grid-template-columns:1fr}.route-viewer-placeholder aside{display:none}}@media (prefers-reduced-motion:reduce){.skeleton,.orbit-loader,.orbit-loader *{transition:none!important;animation:none!important}html{scroll-behavior:auto}}html[data-theme] .cloud-main :is(.cloud-model-cell small,.data-table small,.cloud-project footer,.dashboard-source){color:var(--muted);font-size:12px;line-height:1.5}html[data-theme] .cloud-main :is(.badge,.badge.green,.badge.amber,.badge.blue){color:var(--foreground);background:var(--soft);border-color:var(--border);font-size:11px;font-weight:500}.activity-attribution{color:var(--muted);font-size:12px;display:inline-block}.activity-attribution summary{cursor:pointer;align-items:center;gap:6px;display:flex}.activity-attribution .avatar{object-fit:cover;border-radius:50%;width:22px;height:22px}.activity-attribution p{background:var(--soft);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);margin:8px 0;padding:10px}.saved-view-card{padding:16px}.saved-view-card h3{margin:12px 0 4px;font-size:16px;font-weight:500}.saved-view-card .saved-view-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:12px}.saved-views-panel .saved-view-preview{aspect-ratio:16/9;max-height:140px}.saved-views-panel .dock-panel-body{container:saved-view-scrollport/size}@container saved-view-scrollport not (min-height:230px){.saved-view-open{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:4px 8px;min-height:44px;padding:6px}.saved-views-panel .saved-view-preview{aspect-ratio:auto;grid-row:1/span 2;width:64px;height:40px}.saved-view-open>strong,.saved-view-open>small{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:18px;overflow:hidden}}@container saved-view-scrollport not (min-height:60px){.saved-view-open{grid-template-columns:32px minmax(0,1fr);padding:3px}.saved-views-panel .saved-view-preview{grid-row:auto;width:32px;height:20px}.saved-view-open>small{display:none}}.view-art>.saved-view-preview{aspect-ratio:auto;border:0;border-radius:0;height:100%}.view-art{background:var(--soft);overflow:hidden}.view-camera{background:var(--background);color:var(--foreground)}
:root{--status-danger:#ad3e36;--status-danger-surface:#fcecea;--status-success:#256548;--status-success-surface:#e7f3eb;--status-warning:#805815;--status-warning-surface:#faf0db;--shadow-panel:0 8px 28px #00000014;--card:var(--panel)}html[data-theme=dark]{--status-danger:#f2a19b;--status-danger-surface:#36211f;--status-success:#a7d7b8;--status-success-surface:#203328;--status-warning:#ead098;--status-warning-surface:#342d20;--shadow-panel:0 8px 28px #00000047}html[data-theme] :is(.badge.green,.badge.amber,.badge.blue,.project-dot,.project-dot.green){background:var(--soft);color:var(--foreground);border-color:var(--border)}html[data-theme] :is(.project-image,.image-empty,.data-table thead,.preview-bar,.preview-properties,.preview-toolbar,.tree-search){background:var(--soft);color:var(--muted);border-color:var(--border)}html[data-theme] :is(.data-table tr:hover,.image-project-card:hover){background:var(--soft);border-color:var(--accent)}html[data-theme] :is(.data-table th,.sidebar-search kbd,.nav-count){background:var(--soft);color:var(--muted);border-color:var(--border)}html[data-theme] .data-table td{border-color:var(--border)}html[data-theme] .nav-label{color:var(--muted)}html[data-theme] .cloud-message[role=status]{background:var(--soft);color:var(--foreground);border-color:var(--border)}html[data-theme] .cloud-message[role=alert]{background:var(--status-danger-surface);color:var(--status-danger);border-color:var(--status-danger)}html[data-theme] :is(.data-table small,.model-row small,.project-card-body p,.project-card-body footer,.image-project-body footer,.image-project-body p){color:var(--muted)}html[data-theme] :is(.form-error,.error-text,[role=alert]){color:var(--status-danger)}html[data-theme] .button.danger{color:var(--status-danger);background:var(--status-danger-surface);border:1px solid}html[data-theme] .skeleton{background:linear-gradient(90deg,var(--soft) 25%,var(--border) 50%,var(--soft) 75%);background-size:200% 100%}html[data-theme] :is(.image-source,.image-retry,.scene-progress){background:color-mix(in srgb,var(--panel) 96%,transparent);color:var(--foreground);border-color:var(--border)}html[data-theme] .heat-0{background:var(--soft)}html[data-theme] .heat-1{background:color-mix(in srgb,var(--accent) 25%,var(--soft))}html[data-theme] .heat-2{background:color-mix(in srgb,var(--accent) 45%,var(--soft))}html[data-theme] .heat-3{background:color-mix(in srgb,var(--accent) 70%,var(--soft))}html[data-theme] .heat-4{background:var(--accent)}.sidebar-user .avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.route-row-placeholder{border-bottom:1px solid var(--border);grid-template-columns:1fr 2fr 1fr;gap:20px;padding:14px 0;display:grid}.route-form-placeholder{gap:20px;max-width:760px;display:grid}.route-skeleton .route-avatar-placeholder{border-radius:50%;width:64px;height:64px}.route-skeleton .route-input-placeholder{height:42px}.route-skeleton .route-chart-placeholder{height:280px}.route-error{gap:16px;padding:24px;display:grid}.cloud-setup{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);justify-items:start;gap:22px;width:min(640px,100% - 36px);margin:clamp(32px,12vh,120px) auto;padding:clamp(24px,5vw,48px);display:grid}.cloud-setup h1{letter-spacing:-.035em;margin:6px 0 0;font-size:clamp(25px,4vw,36px);line-height:1.15}.cloud-setup p{color:var(--muted);margin:0;line-height:1.65}@media (max-width:640px){.route-row-placeholder{grid-template-columns:1fr 1fr;gap:12px}.route-row-placeholder>:last-child{display:none}.route-skeleton .route-chart-placeholder{height:200px}}@media (prefers-reduced-motion:reduce){.private-workspace :is(.sidebar,.app-main),.skeleton,.orbit-loader,.orbit-loader *{transition:none!important;animation:none!important}}
@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.111odzyf_79w_.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.nyxY9G_className{font-family:GeistSans,GeistSans Fallback}.nyxY9G_variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
