.sidebar{background-color:var(--surface-container-lowest);border:1px solid var(--border-color);z-index:10;flex-direction:column;width:340px;min-width:340px;max-width:340px;height:100%;display:flex;overflow:hidden}.sidebar-left{border-right:1px solid var(--border-color);border-left:none}.sidebar-right{border-left:1px solid var(--border-color);border-right:none}.sidebar-header{border-bottom:1px solid var(--divider-color);background-color:#0000;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.sidebar-header-actions{align-items:center;gap:8px;display:flex}.sidebar-title{letter-spacing:.12em;text-transform:uppercase;color:var(--outline);font-size:10px;font-weight:700}.tree-mode-select{background-color:var(--surface-container-lowest);height:24px;color:var(--on-surface-variant);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:1px solid #d6d9e1;border-radius:7px;padding:0 8px;font-size:9.5px;font-weight:600}.tree-mode-select:focus{outline:1px solid var(--primary);outline-offset:1px}.sidebar-content{padding:var(--spacing-base) 0;background-color:var(--surface-container-lowest);flex:1;overflow-y:auto}.resize-handle{cursor:col-resize;z-index:100;width:6px;transition:background-color .2s;position:absolute;top:0;bottom:0}.resize-handle:hover{background-color:#f26b1f26}.sidebar-left .resize-handle{right:0}.sidebar-right .resize-handle{left:0}.sidebar-tabs{border-top:1px solid var(--divider-color);background-color:var(--surface-container-low);height:36px;min-height:36px;display:flex}.sidebar-tab{cursor:pointer;color:var(--outline);background-color:#0000;border:none;flex:1;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.sidebar-tab:hover{color:var(--primary);background-color:#f26b1f0a}.sidebar-tab.active{color:var(--primary);background-color:var(--surface-container-lowest)}.config-dropdown-ref{align-items:center;display:flex;position:relative}.config-dropdown-container{background-color:var(--surface-container-lowest);border:1px solid var(--border-color);border-radius:var(--rounded-default);box-shadow:var(--shadow-dropdown);z-index:110;flex-direction:column;gap:6px;width:140px;padding:8px 12px;display:flex;position:absolute;top:36px;right:12px}.config-dropdown-title{color:var(--outline);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--divider-color);margin-bottom:2px;padding-bottom:4px;font-size:10px;font-weight:700}.config-dropdown-item{color:var(--on-surface);cursor:pointer;align-items:center;gap:8px;font-size:11px;display:flex}.config-dropdown-checkbox{cursor:pointer}.multi-select-summary{padding:var(--spacing-md);flex-direction:column;gap:6px;display:flex}.multi-select-count{color:#f59e0b;font-size:13px;font-weight:600}.multi-select-header{justify-content:space-between;align-items:center;display:flex}.multi-select-clear-btn{border:1px solid var(--border-color);color:var(--outline);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.6;transition:background .15s,color .15s}.multi-select-clear-btn:hover{background:var(--surface-container);color:var(--on-surface)}.multi-select-mode-row{align-items:baseline;gap:6px;display:flex}.multi-select-mode-badge{color:#f59e0b;background:#f59e0b22;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:600}.multi-select-hint{color:var(--outline);margin:0;font-size:11px;line-height:1.4}.multi-select-shape-row{border-top:1px solid var(--border-color);flex-direction:column;gap:6px;margin-top:4px;padding-top:10px;display:flex}.multi-select-shape-row .rebar-shape-bar-label{white-space:normal}.multi-select-shape-row .rebar-shape-select,.multi-select-shape-row .rebar-edit-btn{width:100%}.mark-picker{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.mark-picker-row{border:1px solid var(--border-color);width:100%;color:var(--on-surface);text-align:left;cursor:pointer;background:0 0;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;font-size:12px;transition:background .15s,border-color .15s;display:flex}button.mark-picker-row:hover{background:var(--surface-container);border-color:#f59e0b}.mark-picker-row.is-current{cursor:default;color:#f59e0b;background:#f59e0b22;border-color:#0000;font-weight:600}.mark-picker-label{font-weight:500}.mark-picker-count{color:var(--outline);font-variant-numeric:tabular-nums;flex-shrink:0}.mark-picker-row.is-current .mark-picker-count{color:inherit}.mark-restore-row{padding:var(--spacing-md) var(--spacing-md) 0}.mark-restore{border:1px solid var(--border-color);color:var(--outline);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.6;transition:background .15s,color .15s}.mark-restore:hover{background:var(--surface-container);color:var(--on-surface)}.empty-sidebar-container{padding:var(--spacing-md);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-sidebar-title{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em;margin-top:8px;font-size:12px;font-weight:700}.empty-sidebar-desc{color:var(--outline);max-width:220px;margin-top:4px;font-size:11px;line-height:1.4}.edit-history-dock{flex-shrink:0;max-height:180px;overflow-y:auto}.edit-history-dock .pending-edits-section{margin-top:0}.edit-history-dock--grown{flex:auto;min-height:0;max-height:none;display:flex;overflow:hidden}.edit-history-dock--grown .pending-edits-section{flex:1;min-width:0;min-height:0}.edit-history-dock--grown .pending-edits-list{flex:1;min-height:0;max-height:none;overflow-y:auto}.transform-section-host{flex-shrink:0}.sidebar-pane--hidden{display:none}.sidebar-collapse-toggle{cursor:pointer;color:var(--outline);background:0 0;border:none;align-items:center;gap:6px;padding:0;display:flex}.sidebar-right--detailer>.sidebar-header{display:none}.sidebar-right--detailer .sidebar-tabs{border-top:0;border-bottom:1px solid var(--divider-color);flex-shrink:0}.sidebar-right--detailer .sidebar-tab{gap:6px;padding:8px;font-size:12px;font-weight:600}.detailer-selection{border-bottom:1px solid var(--divider-color);flex-direction:column;flex:none;gap:5px;padding:14px 16px;display:flex}.detailer-selection-eyebrow{color:#0053fa;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.detailer-selection strong{color:#14252f;font-size:17px}.detailer-selection>span:not(:first-child){color:#607783;font-size:12px}.detailer-selection-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detailer-selection-actions{border-bottom:1px solid var(--divider-color);flex:none;gap:8px;padding:8px 12px;display:flex}.detailer-selection-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dce2ea;border-radius:7px;flex:1;min-width:0;padding:8px 4px;font-size:11px}.detailer-selection-actions button:hover{color:#0053fa;border-color:#0053fa}.detailer-selection-actions button:focus-visible{outline-offset:2px;outline:2px solid #0053fa}.sidebar-right--detailer .transform-section-host{flex:0 auto;max-height:42%;overflow-y:auto}.sidebar-right--detailer .edit-history-dock{max-height:25%}.sidebar-right--detailer .property-grid-container{min-height:120px}.sidebar-right--detailer select,.sidebar-right--detailer input{min-width:0;max-width:100%}.sidebar-right--detailer .rebar-edit-actions{z-index:2;background:#fff;position:sticky;bottom:0}.property-grid-container{background-color:var(--surface-container-lowest);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.property-grid-body{flex:1;width:100%;overflow-y:auto}.property-grid-header-row{border-bottom:1px solid var(--border-color);height:30px;font-family:var(--font-mono);text-transform:uppercase;color:var(--outline);letter-spacing:.08em;background-color:#f4f5f8e6;border-left:3px solid #0000;align-items:center;width:100%;font-size:9px;font-weight:700;display:flex}.property-grid-header-cell{align-items:center;height:100%;padding-left:12px;display:flex}.property-grid-header-cell.bordered{border-right:1px solid var(--border-color)}.property-grid-row{border-bottom:1px solid var(--divider-color);cursor:pointer;border-left:3px solid #0000;align-items:center;width:100%;height:26px;transition:all .15s;display:flex}.property-grid-row.selected{border-left:3px solid var(--primary);background-color:#f26b1f1f}.property-grid-row:hover:not(.selected){background-color:var(--surface-container-low)}.category-header-row{border-bottom:1px solid var(--border-color);height:28px;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.09em;cursor:pointer;background-color:#f4f5f8e6;border-left:3px solid #0000;border-radius:6px;align-items:center;width:100%;padding-left:8px;font-size:9.5px;font-weight:700;display:flex}.category-header-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:8px;overflow:hidden}.property-grid-chevron{width:14px;height:14px;color:var(--primary);justify-content:center;align-items:center;margin-right:6px;transition:transform .15s,color .15s;display:inline-flex}.chevron-placeholder{width:14px;margin-right:4px}.property-grid-key-cell{width:var(--prop-key-col,100px);min-width:var(--prop-key-col,100px);max-width:var(--prop-key-col,100px);border-right:1px solid var(--border-color);height:100%;color:var(--outline);white-space:nowrap;text-overflow:ellipsis;padding-left:24px;padding-right:4px;font-size:10.5px;font-weight:500;line-height:26px;display:block;overflow:hidden}.property-grid-value-cell{min-width:0;height:100%;font-family:var(--font-mono);color:var(--on-surface);white-space:nowrap;flex:1;align-items:center;padding-left:12px;font-size:10.5px;font-weight:600;display:flex;overflow:hidden}.property-grid-value-cell.code-font{font-family:var(--font-mono)}.tree-type-cell{white-space:nowrap;align-items:center;height:100%;display:flex;position:relative}.tree-node-wrapper{white-space:nowrap;align-items:center;height:100%;font-size:11px;display:flex}.tree-node-text{white-space:nowrap;transition:color .15s}.tree-dotted-guideline{border-left:1px dotted var(--outline-variant);border-bottom:1px dotted var(--outline-variant);pointer-events:none;opacity:.7;width:6px;position:absolute;top:0;bottom:50%}.active-checkbox-cell{border-right:1px solid var(--border-color);justify-content:center;align-items:center;width:46px;min-width:46px;max-width:46px;height:100%;display:flex}.vector-checkbox{border:1px solid var(--outline-variant);cursor:pointer;background-color:var(--surface-container-lowest);border-radius:3px;justify-content:center;align-items:center;width:12px;height:12px;transition:all .15s;display:inline-flex}.vector-checkbox.checked-square{border-color:var(--accent);background-color:#1f4fff14}.vector-checkbox.checked-checkmark{border-color:var(--accent);background-color:var(--accent)}.vector-checkbox.selected{border-color:var(--accent)}.vector-checkbox-square-dot{background-color:var(--accent);border-radius:1px;width:6px;height:6px}.seamless-input-container{align-items:center;gap:4px;width:100%;height:100%;display:flex}.seamless-input-field{width:45px;height:100%;font-family:var(--font-sans);color:var(--on-surface);background:0 0;border:none;outline:none;font-size:11px;font-weight:500}.seamless-unit-badge{color:var(--primary-hover);background-color:var(--primary-container);pointer-events:none;text-transform:uppercase;border-radius:2px;padding:1px 4px;font-size:9px;font-weight:700}.prop-col-resizer{cursor:col-resize;z-index:10;background:0 0;width:7px;transition:background .1s;position:absolute;top:0;bottom:0;transform:translate(-50%)}.prop-col-resizer:hover{background:var(--primary);opacity:.25}.text-truncate-span{text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.tree-transparency-cell{align-items:center;gap:8px;padding-left:10px;padding-right:10px;display:flex}.tree-transparency-slider{cursor:pointer;min-width:60px;height:4px;accent-color:var(--primary);flex:1}.tree-transparency-value{text-align:right;font-variant-numeric:tabular-nums;min-width:34px;color:var(--on-surface-variant);flex:none;font-size:11px}.property-grid-value-cell--derived{color:var(--on-surface-variant);font-weight:500}.property-grid-row--editable .property-grid-value-cell{gap:4px;padding-right:6px}.property-edit-pencil{width:18px;height:18px;color:var(--outline,#8a8f98);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.property-grid-row--editable:hover .property-edit-pencil{opacity:.85}.property-edit-pencil:hover{opacity:1;background:var(--primary-container,#f26b1f1f);color:var(--primary,#f26b1f)}.property-pending-dot{background:var(--primary,#f26b1f);width:6px;height:6px;box-shadow:0 0 0 2px var(--surface-container-lowest,#fff);border-radius:50%;flex:none}.property-grid-row--editing{background:var(--surface-container-low,#00000005)}.property-inline-input{border:1px solid var(--primary,#f26b1f);background:var(--surface-container-lowest,#fff);width:100%;min-width:0;height:20px;font-family:var(--font-mono);color:var(--on-surface,#1a1a1a);border-radius:3px;outline:none;flex:1;padding:0 6px;font-size:10.5px;font-weight:600}.property-inline-input--invalid{border-color:var(--error,#d92d20);background:var(--error-container,#d92d200f)}.category-header-accessory{align-items:center;margin-left:auto;padding-right:6px;display:inline-flex}.rebar-leg-tag-btn{width:22px;height:22px;color:var(--on-surface-variant);border-radius:var(--rounded-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.rebar-leg-tag-btn:hover{color:var(--on-surface);background-color:var(--surface-container-low)}.rebar-leg-tag-btn:focus-visible{border-color:var(--primary);outline:none}.rebar-leg-tag-btn[aria-pressed=true]{color:var(--primary);background-color:var(--primary-container,#f26b1f1f);border-color:var(--primary)}.rebar-leg-tag-figure{border-radius:var(--rounded-sm);background-color:#fff;width:100%;margin:8px 0;display:block}.viewport-container{background-color:var(--surface);background-image:var(--blueprint-grid);background-size:28px 28px;flex-direction:column;flex:1;display:flex;position:relative}.wireframe-viewport{flex:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.dotted-coordinates-grid{opacity:.25;background-image:radial-gradient(#c2c6d8 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.wireframe-bounding-box{border-radius:var(--rounded-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);perspective:1000px;background-color:#fff9;border:1px solid #0066ff1a;flex-direction:column;justify-content:center;align-items:center;width:480px;height:360px;display:flex;position:relative;box-shadow:0 4px 30px #00213105}.outline-box-corners{pointer-events:none;border:1px solid #0066ff26;position:absolute;inset:40px 60px}.animated-spinning-cube{width:200px;height:200px;transform-style:preserve-3d;opacity:.15;animation:20s linear infinite wireframe-spin;position:absolute}.animated-spinning-face{border:1.5px solid var(--primary);box-sizing:border-box;width:200px;height:200px;position:absolute}.viewport-loading-overlay{z-index:5;flex-direction:column;justify-content:center;align-items:center;display:flex}.viewport-loading-label{font-family:var(--font-mono);letter-spacing:.15em;color:var(--primary);font-size:13px;font-weight:700}.viewport-no-model-placeholder{padding:var(--spacing-md);flex-direction:column;justify-content:center;align-items:center;display:flex}.viewport-no-model-title{font-family:var(--font-mono);color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}.viewport-no-model-desc{color:var(--outline);text-align:center;max-width:240px;margin-top:6px;font-size:11.5px;line-height:1.55}.canvas-sheet-label{z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:14px;left:18px}.canvas-sheet-label-kicker{font-family:var(--font-mono);letter-spacing:.18em;color:#7c8290;font-size:9px;font-weight:600}.canvas-sheet-label-name{font-family:var(--font-mono);color:#eceef4;text-shadow:0 1px 3px #0000008c;white-space:nowrap;text-overflow:ellipsis;max-width:340px;margin-top:1px;font-size:13px;font-weight:600;overflow:hidden}.canvas-sheet-actions{pointer-events:auto;gap:6px;margin-top:7px;display:flex}.canvas-sheet-btn{border:1px solid var(--border-color);color:var(--on-surface-variant);font:600 10px var(--font-sans);letter-spacing:.02em;cursor:pointer;background:#ffffffe6;border-radius:8px;align-items:center;gap:5px;padding:4px 9px;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.canvas-sheet-btn:hover{border-color:var(--primary);color:var(--primary-hover);background:#fff}.canvas-sheet-btn--danger:hover{border-color:var(--error);color:var(--error)}.viewport-empty-loader{padding:var(--spacing-md);text-align:center;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewport-empty-title{font-family:var(--font-mono);color:#d3d8e3;letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}.viewport-empty-desc{color:#98a0b2;max-width:280px;margin-top:6px;font-size:11.5px;line-height:1.55}.viewport-empty-load-btn{background:var(--primary);color:#fff;font:700 12.5px var(--font-sans);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;margin-top:18px;padding:9px 18px;transition:background-color .15s;display:inline-flex;box-shadow:0 4px 14px #f26b1f59}.viewport-empty-load-btn:hover:not(:disabled){background:var(--primary-hover)}.viewport-empty-load-btn:disabled{opacity:.5;cursor:not-allowed}.viewport-container.drag-active:after{content:"";z-index:25;border:2px dashed var(--primary);pointer-events:none;background:#f26b1f0f;border-radius:14px;position:absolute;inset:10px}.viewport-drop-overlay{z-index:26;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viewport-drop-overlay-card{border:1px solid var(--primary-soft-border);box-shadow:var(--shadow-dropdown);font:600 12.5px var(--font-sans);color:var(--primary-hover);background:#fff;border-radius:10px;padding:10px 18px}.wireframe-viewport.crosshair-cursor,.wireframe-viewport.crosshair-cursor canvas{cursor:crosshair}.viewport-crosshair{z-index:18;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;background-color:#e2e8f08c;position:absolute;top:0;left:0;box-shadow:0 0 1px #0f172a8c}.viewport-crosshair--h{width:100%;height:1px}.viewport-crosshair--v{width:1px;height:100%}.viewport-measure-hint{z-index:20;border:1px solid var(--border-color);box-shadow:var(--shadow-card);font-family:var(--font-sans);color:var(--on-surface-variant);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background-color:#fffffff0;border-radius:9px;padding:6px 14px;font-size:12px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.viewport-measure-hint-action{font:inherit;color:var(--primary);cursor:pointer;pointer-events:auto;background:0 0;border:none;padding:0;text-decoration:underline}.duplicate-notice{z-index:21;background:color-mix(in srgb, var(--warning,#b26a00) 14%, white);border-left:3px solid var(--warning,#b26a00);max-width:420px;box-shadow:var(--shadow-card);font-family:var(--font-sans);border-radius:9px;align-items:center;gap:10px;padding:8px 10px 8px 12px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.duplicate-notice-text{color:var(--on-surface);font-size:12px;line-height:1.4}.duplicate-notice-close{cursor:pointer;width:18px;height:18px;color:var(--on-surface-variant);background:0 0;border:none;flex:none;font-size:15px;line-height:1}.duplicate-notice-close:hover{color:var(--on-surface)}.hover-id-tooltip{box-shadow:var(--shadow-card);font-family:var(--font-mono,var(--font-sans));letter-spacing:.02em;color:#f8fafc;white-space:nowrap;-webkit-user-select:none;user-select:none;background-color:#1f2937eb;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.viewport-tooltip{background:var(--surface,#fff);border:1px solid var(--border-color,#0000001f);text-align:center;max-width:240px;color:var(--on-surface,#0e0f12);-webkit-user-select:none;user-select:none;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:500;line-height:1.35;box-shadow:0 4px 16px #0000002e}.viewport-tooltip--side{text-align:left;max-height:72px;overflow:hidden}.viewport-tooltip.viewport-tooltip--card{text-align:left;color:#002e3b;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #002e3b1f;border-radius:8px;width:280px;max-width:280px;max-height:none;padding:10px 12px 11px;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:12px;font-weight:400;line-height:1.45;animation:90ms ease-out viewport-tip-in;box-shadow:0 6px 20px #002e3b29,0 1px 2px #002e3b1a}.viewport-tooltip-head{align-items:center;gap:8px;display:flex}.viewport-tooltip-glyph{width:16px;height:16px;color:var(--primary);flex:none;justify-content:center;align-items:center;display:flex}.viewport-tooltip-glyph svg{width:16px;height:16px;display:block}.viewport-tooltip-name{color:#002e3b;flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.25}.viewport-tooltip-key{color:#56646b;white-space:nowrap;border:1px solid #002e3b1f;border-radius:4px;flex:none;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;font-weight:500;line-height:1.5}.viewport-tooltip-text{color:#56646b;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:5px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.viewport-tooltip-state{color:#94a3b8;margin:4px 0 0;font-size:11.5px;line-height:1.35}@keyframes viewport-tip-in{0%{opacity:0;transform:var(--tip-slide-from,translateY(4px))}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.viewport-tooltip.viewport-tooltip--card{animation:none}}.viewport-bottom-dock{z-index:30;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.viewport-context-bar{pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#181a20e6;border:1px solid #ffffff1a;border-radius:11px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;max-width:100%;margin-bottom:8px;padding:5px 10px;display:flex;box-shadow:0 8px 24px #0e0f1252}.viewport-context-section{align-items:center;gap:3px;display:flex}.viewport-context-section+.viewport-context-section{border-left:1px solid #ffffff24;padding-left:14px}.viewport-context-label{font:600 10px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:#ffffff9e;white-space:nowrap;cursor:default;flex:none;align-items:center;gap:5px;padding-right:5px;display:inline-flex}.viewport-context-count{background:var(--primary);color:#fff;font:700 10px var(--font-mono);letter-spacing:0;border-radius:7px;padding:1px 5px}.viewport-context-bar .viewport-toolbar-btn:hover{color:#fff;background-color:#ffffff24}.viewport-context-bar .viewport-toolbar-btn.active{background-color:var(--primary);color:#fff}.viewport-context-bar .viewport-segmented{background:#ffffff1a}.viewport-context-bar .viewport-segmented-btn.active{background-color:var(--primary);color:#fff}.viewport-toolbar-floating{pointer-events:auto;background-color:var(--primary);border:none;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:100%;padding:6px;display:flex;box-shadow:0 10px 30px #f26b1f57}.viewport-toolbar-floating.sheet-open{border-radius:0 0 14px 14px}.viewport-toolbar-group{background:#ffffff30;border-radius:11px;flex:none;align-items:center;gap:2px;min-width:0;padding:2px;display:flex}.viewport-toolbar-group--assistant{flex:0 auto;gap:3px}.viewport-kpi-band{color:#fff;cursor:pointer;background-color:#0000;border:none;border-radius:8px;flex-direction:column;flex:none;align-items:center;gap:2px;width:36px;max-width:100%;padding:3px 2px 2px;transition:background-color .15s,transform .12s;display:flex;position:relative}.viewport-kpi-band:hover{background-color:#ffffff29}.viewport-kpi-band:active{background-color:#ffffff47;transform:scale(.96)}.viewport-kpi-band:focus-visible{outline-offset:1px;outline:2px solid #fff}.viewport-kpi-rings{width:100%;height:auto;display:block}.viewport-kpi-track{fill:none;stroke:currentColor;stroke-opacity:.28;stroke-width:2.5px}.viewport-kpi-arc{fill:none;stroke-width:2.5px;transition:stroke-dashoffset .3s}.viewport-kpi-arc--pass{stroke:currentColor}.viewport-kpi-arc--time{stroke:#ffb020}.viewport-kpi-label{text-overflow:ellipsis;max-width:100%;font:600 10px var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#fff;white-space:nowrap;line-height:1.2;overflow:hidden}.viewport-kpi-rec{background-color:#ff3b30;border-radius:50%;width:6px;height:6px;position:absolute;top:1px;right:1px}.viewport-rec{color:#fff;cursor:pointer;background-color:#0000;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:3px;max-width:100%;padding:3px 6px;transition:background-color .15s,transform .12s;display:flex}.viewport-rec:hover{background-color:#ffffff29}.viewport-rec:active{background-color:#ffffff47;transform:scale(.96)}.viewport-rec:focus-visible{outline-offset:1px;outline:2px solid #fff}.viewport-rec-dot{background-color:#ffffff73;border-radius:50%;flex:none;width:6px;height:6px;transition:background-color .15s}.viewport-rec.recording .viewport-rec-dot{background-color:#ff3b30;animation:1s ease-in-out infinite viewport-rec-pulse}@keyframes viewport-rec-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.viewport-rec.recording .viewport-rec-dot{animation:none}}.viewport-rec-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:700 9.5px var(--font-mono);letter-spacing:.08em;color:#fff;line-height:1.2;overflow:hidden}.viewport-rec.recording .viewport-rec-label{font-variant-numeric:tabular-nums;letter-spacing:0;font-size:9px}.viewport-toolbar-btn{cursor:pointer;color:#fff;background-color:#0000;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .15s,color .15s;display:flex}.viewport-toolbar-btn:hover{color:var(--primary);background-color:#ffffffeb}.viewport-toolbar-btn.active{color:var(--primary);background-color:#fff}.viewport-toolbar-btn:focus-visible,.viewport-assistant-toggle:focus-visible{outline-offset:1px;outline:2px solid #fff}.viewport-context-bar .viewport-toolbar-btn:focus-visible{outline-color:var(--primary)}.viewport-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.viewport-toolbar-btn--danger:hover{color:#ef4444;background-color:#ef444426}.viewport-segmented{background:#0003;border-radius:9px;flex:none;gap:0;padding:2px;display:flex}.viewport-segmented-btn{border-radius:7px;width:28px;height:28px}.viewport-segmented-btn--text{letter-spacing:.04em;width:auto;min-width:44px;padding:0 9px;font-size:10px;font-weight:700}.viewport-toolbar-action-wrap{flex:none;display:inline-flex;position:relative}.viewport-toolbar-badge{min-width:15px;height:15px;color:var(--primary);font:700 9px var(--font-mono);pointer-events:none;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 3px;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 1px 3px #0e0f1233}.viewport-toolbar-badge--ucs{background:var(--primary);color:#fff;border:1px solid #ffffffbf}.ucs-list-popover{color:#1f2430;z-index:20;pointer-events:auto;background:#fff;border-radius:10px;min-width:200px;max-width:260px;padding:6px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0e0f1247}.ucs-list-popover-header{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:#6b7280;padding:4px 8px 6px}.ucs-list-popover-row{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:0;display:flex}.ucs-list-popover-row.active{background:#f26b1f1a}.ucs-list-popover-row:hover{background:#0f172a0f}.ucs-list-popover-row.active:hover{background:#f26b1f29}.ucs-list-popover-name-btn{cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:flex}.ucs-list-popover-row>.ucs-list-popover-name{flex:1;padding:7px 8px}.ucs-list-popover-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ucs-list-popover-kind{font:600 10px var(--font-mono);text-transform:uppercase;color:#9ca3af;flex:none}.ucs-list-popover-empty{color:#6b7280;max-width:220px;padding:8px;font-size:12px}.ucs-list-popover-icon-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex}.ucs-list-popover-icon-btn:hover{color:#1f2430;background:#0f172a14}.ucs-list-popover-icon-btn--danger:hover{color:#ef4444;background:#ef44441f}.ucs-list-popover-rename-input{border:1px solid #f26b1f80;border-radius:6px;flex:1;min-width:0;padding:6px 8px;font-family:inherit;font-size:13px}.ucs-list-popover-rename-input.invalid{border-color:#ef4444}.ucs-list-popover-rename-error{color:#ef4444;padding:0 8px 6px;font-size:11.5px;line-height:1.3}.toolbar-flyout{color:#1f2430;z-index:20;pointer-events:auto;background:#fff;border-radius:10px;min-width:216px;max-width:min(280px,100vw - 16px);padding:6px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0e0f1247}.toolbar-flyout-header{font:700 11px var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:#6b7280;padding:4px 8px 6px}.toolbar-flyout-section-label{font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:#9ca3af;padding:4px 8px}.toolbar-flyout-divider{background:#eff0f3;height:1px;margin:5px 4px}.toolbar-flyout-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;padding:7px 8px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.toolbar-flyout-row:hover:not(:disabled){background:#0f172a0f}.toolbar-flyout-row.active{color:var(--primary);background:#f26b1f1a}.toolbar-flyout-row:disabled{opacity:.45;cursor:not-allowed}.toolbar-flyout-row-icon{color:#6b7280;flex:none;justify-content:center;align-items:center;width:16px;display:flex}.toolbar-flyout-row.active .toolbar-flyout-row-icon{color:var(--primary)}.toolbar-flyout-row-label{flex:1;min-width:0}.toolbar-flyout-row-hint{font:600 10px var(--font-mono);text-transform:uppercase;color:#9ca3af;flex:none}.toolbar-flyout-row.active .toolbar-flyout-row-hint{color:var(--primary);opacity:.75}.toolbar-flyout-trigger:after{content:"";opacity:.75;border-bottom:3px solid;border-left:3px solid #0000;position:absolute;bottom:3px;right:3px}.toolbar-flyout-trigger{position:relative}.toolbar-flyout-trigger.open{color:var(--primary);background-color:#fff}.toolbar-flyout-trigger.active:not(.open){color:#fff;background-color:#ffffff57}.toolbar-flyout-trigger.active:not(.open):hover{color:var(--primary);background-color:#ffffffeb}.ucs-list-embedded{display:block}@media (width<=1280px){.viewport-prompt-input{flex:150px;width:auto;min-width:0}}@media (width<=1080px){.viewport-group-refine-hint{display:none}}@media (width<=940px){.viewport-prompt-input,.viewport-prompt-send{display:none}}@media (width<=860px){.viewport-bottom-dock{bottom:8px;left:8px;right:8px}.viewport-toolbar-floating{gap:4px;padding:5px}.viewport-toolbar-btn{width:30px;height:30px}.viewport-segmented-btn{width:26px;height:26px}}.viewport-bottom-dock.viewport-bottom-dock--left{align-items:stretch;width:56px;inset:0 auto 0 0;transform:none}html:not(.bt-no-tools) .viewport-container:has(.viewport-bottom-dock--left) .canvas-sheet-label{left:calc(68px + var(--stage-pad-left,0px))}.viewport-bottom-dock.viewport-bottom-dock--left .viewport-toolbar-floating{scrollbar-width:none;border-radius:0;flex-flow:column;justify-content:flex-start;gap:4px;width:100%;height:100%;padding:10px;overflow-y:auto;box-shadow:2px 0 14px #0e0f1229}.viewport-bottom-dock--left .viewport-toolbar-floating::-webkit-scrollbar{display:none}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-group{background:0 0;border-radius:0;flex-direction:column;align-items:center;gap:2px;width:100%;padding:0}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-group+.viewport-toolbar-group{border-top:1px solid #fff3;margin-top:6px;padding-top:6px}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn{border-radius:9px;width:36px;height:36px}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-rec{width:100%;padding:3px 0}.viewport-bottom-dock--left .viewport-toolbar-floating .toolbar-flyout-trigger.active:not(.open){color:#fff;background-color:#0000}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn:not(:disabled):hover{color:#fff;background-color:#ffffff29}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn:not(:disabled):active{color:#fff;background-color:#ffffff47;transform:scale(.96)}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn.active:not(.toolbar-flyout-trigger),.viewport-bottom-dock--left .viewport-toolbar-floating .toolbar-flyout-trigger.open{color:var(--primary);background-color:#fff}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn.active:not(.toolbar-flyout-trigger):not(:disabled):hover,.viewport-bottom-dock--left .viewport-toolbar-floating .toolbar-flyout-trigger.open:not(:disabled):hover{color:var(--primary);background-color:#ffffffe0}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn.active:not(.toolbar-flyout-trigger):not(:disabled):active,.viewport-bottom-dock--left .viewport-toolbar-floating .toolbar-flyout-trigger.open:not(:disabled):active{color:var(--primary);background-color:#fffc}.viewport-bottom-dock--left .viewport-toolbar-floating .toolbar-flyout-trigger.active:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.viewport-bottom-dock--left .viewport-toolbar-floating .toolbar-flyout-trigger.active.open:before{background:var(--primary)}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn:disabled{opacity:.35;background-color:#0000}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-toolbar-btn.active:not(.toolbar-flyout-trigger):focus-visible,.viewport-bottom-dock--left .viewport-toolbar-floating .toolbar-flyout-trigger.open:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-segmented{border-radius:11px;flex-direction:column}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-segmented-btn{border-radius:8px;width:32px;height:32px}.viewport-bottom-dock--left .viewport-context-bar{width:max-content;max-width:min(560px,100vw - 100px);margin-bottom:0;position:absolute;top:88px;left:calc(100% + 12px)}.viewport-container--rail-docks,html.bt-no-tools .viewport-container--rail-docks{--stage-pad-left:0px}.viewport-container--rail-docks .wireframe-viewport{margin-left:var(--stage-pad-left);width:auto}.viewport-container--rail-docks .viewport-measure-hint{left:calc(50% + var(--stage-pad-left) / 2)}.viewport-container--rail-docks .viewport-bottom-dock--left .viewport-context-bar{left:calc(100% + 12px + var(--stage-pad-left))}.stage-dock{z-index:28;min-height:0;color:var(--on-surface);background:#fff;flex-direction:column;display:flex;position:absolute;top:0;bottom:0}.stage-dock--left{border-right:1px solid var(--border-color);width:min(360px,100% - 112px);transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .24s,visibility;left:56px}.stage-dock[hidden]{display:none}.stage-dock-header{border-bottom:1px solid var(--border-color);flex:none;justify-content:space-between;align-items:center;gap:8px;height:34px;padding:0 6px 0 12px;display:flex}.stage-dock-title{font:700 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#6b7280;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stage-dock-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex}.stage-dock-close:hover{color:var(--on-surface);background:#0f172a12}.stage-dock-close:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.stage-dock-body{flex:1;min-height:0;display:flex;position:relative}.stage-dock-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.stage-dock-pane--hidden{display:none}html.bt-no-tools .stage-dock{display:none!important}.toolbar-flyout--right{z-index:40;position:fixed;bottom:auto}.viewcube-container{z-index:20;perspective:420px;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:104px;height:104px;display:flex;position:absolute;top:16px;right:16px}.viewcube{width:62px;height:62px;transform-style:preserve-3d;transition:transform 80ms linear;position:relative}.viewcube-face{border:1px solid var(--outline-variant);backface-visibility:hidden;background-color:#ffffffeb;grid-template-rows:22% 56% 22%;grid-template-columns:22% 56% 22%;width:62px;height:62px;display:grid;position:absolute;top:0;left:0}.viewcube-cell{cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--outline);white-space:nowrap;background-color:#0000;border:none;justify-content:center;align-items:center;margin:0;padding:0;font-weight:600;transition:background-color .12s,color .12s;display:flex}.viewcube-cell:hover,.viewcube-cell.hovered{background-color:var(--primary);color:#fff}.viewcube-cell-center{font-size:9px}.viewcube-cell-edge,.viewcube-cell-corner{font-size:0}.context-menu{z-index:50;background-color:#fff;border:1px solid #eff0f3;border-radius:12px;flex-direction:column;gap:1px;min-width:190px;padding:6px;display:flex;position:fixed;box-shadow:0 16px 48px #0e0f122e}.context-menu-item{text-align:left;width:100%;font-size:12.5px;font-weight:500;font-family:var(--font-sans);color:var(--on-surface);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:7px 10px;transition:background-color .15s}.context-menu-item:hover{background-color:var(--surface-container-low)}.context-menu-item:active{background-color:var(--surface-container)}.context-menu-item:disabled{color:var(--outline-variant);cursor:default}.context-menu-item:disabled:hover{background:0 0}.context-menu-divider{background-color:#eff0f3;height:1px;margin:5px 4px}.viewport-group-scope-count{font:600 10px var(--font-mono);color:var(--text-secondary,#ffffffb3);white-space:nowrap;cursor:default;flex:none;padding:0 6px}.viewport-group-scope-count-sep{opacity:.55;padding:0 1px}.viewport-group-refine-hint{color:var(--text-secondary,#ffffffb3);white-space:nowrap;cursor:default;flex:none;align-items:center;gap:3px;padding:0 6px;font-size:10px;font-weight:500;display:flex}.viewport-group-refine-hint kbd{font:600 9px var(--font-mono);background:#ffffff1a;border:1px solid #ffffff47;border-radius:3px;padding:1px 4px;line-height:1.3}@keyframes detailer-reveal{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.stage-dock--left{animation:none}}.stage-dock-pane>.sidebar{width:100%!important;min-width:0!important;max-width:100%!important}.stage-dock-pane>.sidebar>.resize-handle{display:none}.stage-dock--reinforcement{border-left:3px solid #ed8a23}.stage-dock--reinforcement .stage-dock-header{background:#ffedd9;border-bottom-color:#f4bd80}.stage-dock--reinforcement .stage-dock-title,.stage-dock--reinforcement .stage-dock-close{color:#85400b}.stage-dock--reinforcement .stage-dock-close:hover{color:#632d05;background:#ffd6aa}.stage-dock--reinforcement .stage-dock-close:focus-visible{outline-color:#a34a08}.stage-dock--reinforcement .detailer-selection{background:#fff8ef;border-bottom-color:#f4d9bb}.stage-dock--reinforcement .detailer-selection-eyebrow{color:#934609}.stage-dock--reinforcement .sidebar-right--detailer .sidebar-tab.active{color:#934609;background:#fff3e5;border-color:#ed8a23}.stage-dock--reinforcement .detailer-selection-actions button:hover{color:#85400b;background:#fff8ef;border-color:#d97816}.stage-dock--reinforcement .detailer-selection-actions button:focus-visible{outline-color:#a34a08}.stage-dock--closed{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s,0s,.34s;transform:translate(-24px)}.viewport-container--rail-docks .wireframe-viewport{transition:margin-left .34s cubic-bezier(.22,1,.36,1)}.stage-dock-title{flex:1}.stage-dock-done{color:#85400b;cursor:pointer;background:#fff8ef;border:1px solid #dca773;border-radius:6px;flex:none;width:27px;height:25px;font-size:16px}.stage-dock-done:hover:not(:disabled){background:#ffd6aa}.stage-dock-done:disabled{opacity:.4;cursor:not-allowed}.stage-dock-done:focus-visible{outline-offset:2px;outline:2px solid #a34a08}.viewport-bottom-dock--left .viewport-rebar-tools{width:auto;box-shadow:none;background:#ffcb91;border-radius:0;flex-direction:column;flex:none;align-self:stretch;align-items:center;gap:4px;margin:-10px -10px 6px;padding:10px 10px 12px;display:flex}.viewport-rebar-label{color:#733704;letter-spacing:.06em;font-size:8px;font-weight:800}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-rebar-tools .viewport-toolbar-btn{color:#733704}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-rebar-tools .viewport-toolbar-btn:not(:disabled):hover{color:#632d05;background:#ffe3c4}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-rebar-tools .viewport-toolbar-btn.active{color:#733704;background:#fff8ef}.viewport-bottom-dock--left .viewport-toolbar-floating .viewport-rebar-tools .viewport-toolbar-btn:focus-visible{outline-offset:-2px;outline:2px solid #733704}.viewport-bottom-dock--rebar [hidden]{display:none!important}@media (prefers-reduced-motion:reduce){.stage-dock--left,.viewport-container--rail-docks .wireframe-viewport{transition:none;animation:none}}.stage-dock--reinforcement .transform-mode-buttons [data-transform-mode]{display:none}.stage-dock--reinforcement .transform-mode-buttons:not(:has(button:not([data-transform-mode]))){display:none}.viewport-rebar-tools{animation:.24s ease-out detailer-reveal}@media (prefers-reduced-motion:reduce){.viewport-rebar-tools{animation:none}}html.bt-no-tools .viewport-container--rail-docks .wireframe-viewport{margin-left:0}.embed-load-error{z-index:100;color:#243b48;text-align:center;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.embed-load-error p{max-width:420px}.embed-load-error small{color:#64748b;margin-top:12px}.embed-load-error button{color:#fff;cursor:pointer;background:#0053fa;border:0;border-radius:8px;padding:10px 15px}.global-status-bar{background-color:var(--surface-bright);border-top:1px solid var(--border-color);height:26px;min-height:26px;padding:0 var(--spacing-sm);font-size:10.5px;font-weight:500;font-family:var(--font-mono);color:var(--outline);z-index:100;justify-content:space-between;align-items:center;display:flex}.status-bar-left{align-items:center;gap:var(--spacing-xs);display:flex}.status-bar-dot{border-radius:50%;flex:none;width:7px;height:7px;margin-right:2px}.status-bar-text-bold{letter-spacing:.04em;color:var(--on-surface);font-weight:700}.status-bar-divider{color:var(--outline-variant);margin:0 4px}.status-bar-text-normal{color:var(--outline);letter-spacing:.02em}.status-bar-right{font-family:var(--font-mono);color:var(--outline);align-items:center;display:flex}.status-bar-coord-num{color:var(--on-surface);font-weight:600}.move-section{border-top:1px solid var(--outline-variant,#2a2a3a);flex-shrink:0;padding:10px 12px 12px}.move-section-header{text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant,#aaa);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.move-mode-btn{text-transform:none;letter-spacing:0;border:1px solid var(--outline-variant,#444);color:var(--on-surface-variant,#aaa);cursor:pointer;background:0 0;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.move-mode-btn--active{background:var(--primary,#06f);color:#fff;border-color:var(--primary,#06f)}.move-mode-btn--active:hover{opacity:.85}.move-inputs{flex-wrap:wrap;align-items:flex-end;gap:6px;margin-bottom:8px;display:flex}.move-unit-row{align-items:center;gap:4px;margin-bottom:6px;display:flex}.move-unit-row .move-input-label{margin-right:auto}.move-unit-btn{border:1px solid var(--border-color,#333);background:var(--surface-container,#1e1e2e);color:var(--on-surface-variant,#aaa);cursor:pointer;border-radius:4px;padding:2px 9px;font-family:monospace;font-size:10.5px;font-weight:600}.move-unit-btn--active{background:var(--primary,#06f);border-color:var(--primary,#06f);color:#fff}.move-input-group{flex-direction:column;flex:1;gap:3px;min-width:55px;display:flex}.move-input-label{text-transform:uppercase;letter-spacing:.05em;color:var(--outline,#666);font-size:10px;font-weight:600}.move-input{border:1px solid var(--border-color,#333);background:var(--surface-container,#1e1e2e);width:100%;color:var(--on-surface,#eee);text-align:right;box-sizing:border-box;border-radius:4px;padding:4px 6px;font-family:monospace;font-size:12px}.move-input:focus{outline:1px solid var(--primary,#06f);outline-offset:1px}.move-clamp-hint{color:var(--warning,#d99000);margin:0 0 6px;font-size:10.5px;line-height:1.35}.move-apply-btn{background:var(--primary,#06f);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .15s}.move-apply-btn:hover:not(:disabled){opacity:.85}.move-apply-btn:disabled{opacity:.35;cursor:not-allowed}.transform-deactivate-btn{border:1px solid var(--outline-variant,#444);width:100%;color:var(--on-surface-variant,#aaa);cursor:pointer;background:0 0;border-radius:6px;margin-top:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.transform-deactivate-btn:hover{border-color:var(--error,#e24b4a);color:var(--error,#e24b4a);background:#e24b4a14}.pending-edits-section{border-top:1px solid var(--outline-variant,#2a2a3a);flex-direction:column;gap:6px;margin-top:auto;padding:10px 12px;display:flex}.pending-edits-header{justify-content:space-between;align-items:center;display:flex}.pending-edits-header-right{align-items:center;gap:6px;display:flex}.pending-edits-collapse-btn{color:var(--on-surface-variant,#aaa);cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1;transition:opacity .1s}.pending-edits-collapse-btn:hover{opacity:1}.pending-edits-title-group{align-items:baseline;gap:6px;display:flex}.pending-edits-title{text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant,#aaa);font-size:11px;font-weight:600}.pending-edits-session-note{color:var(--outline,#666);font-size:10px;font-style:italic}.pending-edits-badge{background:var(--surface-container,#2a2a3a);color:var(--on-surface-variant,#aaa);text-align:center;border-radius:10px;min-width:20px;padding:1px 7px;font-size:11px;font-weight:600}.pending-edits-list{flex-direction:column;gap:3px;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pending-edit-item{background:var(--surface-container,#1e1e2e);border-radius:4px;align-items:center;gap:8px;min-width:0;padding:4px 6px;font-size:12px;transition:background .12s;display:flex}.pending-edit-item--locatable{cursor:pointer}.pending-edit-item--gone{opacity:.45;cursor:default}.pending-edit-action{text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:11px;font-weight:600}.pending-edit-action--replace_rebar{color:#06f}.pending-edit-id{color:var(--on-surface-variant,#aaa);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-family:monospace;font-size:11px;overflow:hidden}.pending-edit-time{flex-shrink:0;margin-left:auto;font-family:monospace;font-size:.7em}.pending-edit-item--undone{opacity:.5;cursor:default}.pending-edit-item--undone .pending-edit-id,.pending-edit-item--undone .pending-edit-action{text-decoration:line-through}.pending-edit-time--undone{color:var(--on-surface-variant,#aaa);opacity:.9}.pending-edit-undo{color:var(--on-surface-variant,#aaa);cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:13px;line-height:1;transition:opacity .1s,color .1s}.pending-edit-undo:hover:not(:disabled){opacity:1;color:var(--primary,#7aa2f7)}.pending-edit-undo:disabled{opacity:.25;cursor:not-allowed}.pending-edit-item--undone .pending-edit-undo{opacity:1;text-decoration:none}.edit-type-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.edit-type-badge--bar{color:#4aba7a;background:#4aba7a26}.edit-type-badge--mesh{color:#6496e6;background:#6496e626}.rebar-modal-backdrop{z-index:1000;pointer-events:none;background-color:#0000;justify-content:center;align-items:flex-start;padding-top:64px;display:flex;position:fixed;inset:0}.rebar-modal{background-color:var(--surface-container-low);border:1px solid var(--border-color);border-radius:var(--rounded-md);width:380px;max-width:calc(100vw - 32px);max-height:calc(100vh - 128px);box-shadow:var(--shadow-dropdown);pointer-events:auto;flex-direction:column;display:flex;overflow:hidden}.rebar-modal-header{background-color:var(--surface-container);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:10px 14px;display:flex}.rebar-modal-header--draggable{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.rebar-modal-title{color:var(--on-surface);font-size:13px;font-weight:600}.rebar-modal-close{color:var(--on-surface-variant);cursor:pointer;border-radius:var(--rounded-sm);background:0 0;border:none;margin-left:auto;padding:2px 6px;font-size:13px;line-height:1}.rebar-modal-close:hover{color:var(--on-surface);background-color:var(--surface-container-high)}.rebar-modal-body{flex:1;padding:8px 0;overflow-y:auto}.rebar-modal:has(.shape-preview){width:700px}.rebar-modal-columns{flex:1;min-height:0;display:flex}.rebar-modal-columns>.rebar-modal-body{flex:auto;min-width:0}.shape-preview{border-left:1px solid var(--border-color);flex-direction:column;flex:0 0 320px;gap:8px;padding:12px;display:flex;overflow-y:auto}.shape-preview-pane{flex-direction:column;gap:4px;display:flex}.shape-preview-label{color:var(--on-surface-variant);font-size:11px;font-weight:600}.shape-preview-figure{border-radius:var(--rounded-sm);background-color:#fff;width:100%}.shape-preview-stage{border-radius:var(--rounded-sm);background-color:var(--surface-container);height:190px}.shape-preview .bbs-shape-sketch text{font-size:11px}.shape-preview-note{color:var(--outline);margin:0;font-size:11px}.shape-preview-toggle{color:var(--on-surface-variant);border:1px solid var(--border-color);border-radius:var(--rounded-sm);cursor:pointer;background:0 0;flex:none;padding:4px 7px;font-size:12px;line-height:1}.shape-preview-toggle:hover:not(:disabled){color:var(--on-surface);background-color:var(--surface-container-high)}.shape-preview-toggle[aria-pressed=true]{color:var(--primary);border-color:var(--primary)}.shape-preview-toggle:disabled{opacity:.5;cursor:default}.rebar-modal-status{color:var(--primary);margin:0;padding:6px 14px;font-size:11px}.rebar-edit-field{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 14px;display:flex}.rebar-edit-field .mesh-field-error,.rebar-edit-field .mesh-field-hint{flex:1 0 100%}.rebar-edit-label{color:var(--on-surface-variant);flex:0 0 96px;font-size:12px}.rebar-edit-input,.rebar-edit-select{min-width:0;font-size:12px;font-family:var(--font-sans);color:var(--on-surface);background-color:var(--surface-container);border:1px solid var(--border-color);border-radius:var(--rounded-sm);flex:1;padding:5px 8px}.rebar-edit-input:focus,.rebar-edit-select:focus{border-color:var(--primary);outline:none}.rebar-edit-note{color:var(--outline);margin:0;padding:4px 14px 8px;font-size:11px;line-height:1.4}.rebar-edit-check{cursor:pointer;align-items:flex-start;gap:8px;margin:0;padding:4px 14px 8px;font-size:12px;line-height:1.4;display:flex}.rebar-edit-check input{cursor:pointer;flex:none;margin:2px 0 0}.rebar-edit-check span{flex-direction:column;gap:2px;display:flex}.rebar-edit-check small{color:var(--outline);font-size:11px;line-height:1.35}.rebar-edit-direction-row{flex-wrap:wrap;align-items:center;gap:8px;padding-right:8px;display:flex}.rebar-edit-direction-row .rebar-edit-note{flex:1;padding-right:0}.rebar-edit-direction-swap{white-space:nowrap;flex:none;width:auto;padding:4px 10px;font-size:11px}.rebar-edit-readout{color:var(--on-surface-variant);border-top:1px solid var(--border-color);padding:8px 14px;font-size:12px}.rebar-edit-readout strong{color:var(--on-surface)}.rebar-edit-pinned{border-top:1px solid var(--border-color);flex:none;max-height:30vh;padding:4px 0;overflow-y:auto}.rebar-edit-pinned .rebar-edit-note,.rebar-edit-pinned .rebar-modal-status{padding-top:4px;padding-bottom:4px}.rebar-edit-actions{border-top:1px solid var(--border-color);gap:8px;padding:12px 14px;display:flex}.rebar-edit-btn{border-radius:var(--rounded-sm);cursor:pointer;border:1px solid #0000;flex:1;padding:8px 12px;font-size:12px;font-weight:600}.rebar-edit-btn:disabled{opacity:.6;cursor:default}.rebar-edit-btn.primary{color:var(--on-primary);background-color:var(--primary)}.rebar-edit-btn.primary:hover:not(:disabled){background-color:var(--primary-hover)}.rebar-edit-btn.secondary{color:var(--on-surface);background-color:var(--surface-container-high);border-color:var(--border-color)}.rebar-edit-btn.secondary:hover:not(:disabled){background-color:var(--surface-container-highest)}.rebar-edit-btn.danger{color:#fff;background-color:var(--error,#d32f2f)}.rebar-edit-btn.danger:hover:not(:disabled){opacity:.85}.rebar-edit-input.invalid,.rebar-edit-input.invalid:focus{border-color:var(--error,#d32f2f)}.rebar-edit-input-cell{width:110px;height:20px;font-family:var(--font-sans);color:var(--on-surface);background-color:var(--surface-container);border:1px solid var(--border-color);border-radius:var(--rounded-sm);padding:0 6px;font-size:11px}.rebar-edit-input-cell:focus{border-color:var(--primary);outline:none}.rebar-edit-input-cell.invalid{border-color:var(--error,#d32f2f)}.rebar-edit-msglist{flex-direction:column;gap:4px;min-width:0;margin:0;padding:8px 14px;list-style:none;display:flex}.rebar-edit-msg{overflow-wrap:anywhere;word-break:break-word;font-size:11px;line-height:1.4}.rebar-edit-msg--error{color:var(--error,#d32f2f)}.rebar-edit-msg--warning{color:var(--warning,#b26a00)}.rebar-edit-msg--info{color:var(--on-surface-variant,#5f6368)}.rebar-shape-bar{background-color:var(--surface-container-low);border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:10px 14px;display:flex}.rebar-shape-bar-label{text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);white-space:nowrap;flex:none;font-size:10px;font-weight:700}.rebar-shape-select{min-width:0;height:28px;font-family:var(--font-sans);color:var(--on-surface);background-color:var(--surface-container-lowest);border:1px solid var(--border-color);border-radius:var(--rounded-sm);cursor:pointer;appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;flex:1;padding:0 30px 0 8px;font-size:12px}.rebar-shape-select:hover:not(:disabled){border-color:var(--outline-variant)}.rebar-shape-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #0066ff1f}.rebar-shape-select:disabled{opacity:.6;cursor:default}.rebar-shape-confirm{background-color:var(--primary-container);border-bottom:1px solid var(--border-color);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.rebar-shape-confirm-msg{color:var(--on-primary-container);margin:0;font-size:11px;line-height:1.45}.rebar-shape-confirm-msg strong{font-weight:700}.rebar-shape-confirm-actions{gap:8px;display:flex}.rebar-orientation-slider{flex:auto;min-width:0}.rebar-orientation-stepper{flex:none;align-items:center;gap:2px;display:flex}.rebar-orientation-step{width:22px;height:22px;color:var(--on-surface);background-color:var(--surface-container);border:1px solid var(--border-color);border-radius:var(--rounded-sm);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.rebar-orientation-step:hover{background-color:var(--surface-container-high)}.rebar-orientation-degrees-input{text-align:right;width:46px;color:var(--on-surface);background-color:var(--surface-container);border:1px solid var(--border-color);border-radius:var(--rounded-sm);padding:3px 4px;font-size:12px;font-weight:600}.rebar-orientation-degrees-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rebar-orientation-degrees-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rebar-orientation-degrees-input{appearance:textfield}.rebar-orientation-degrees-unit{color:var(--on-primary-container);font-size:12px;font-weight:600}.rebar-orientation-modal{width:620px}.rebar-orientation-desc{padding:10px 14px 0}.rebar-orientation-panes{gap:10px;padding:10px 14px;display:flex}.rebar-orientation-pane{flex-direction:column;flex:50%;align-items:center;gap:6px;display:flex}.rebar-orientation-svg{background-color:var(--surface-container);border:1px solid var(--border-color);border-radius:var(--rounded-sm);cursor:zoom-in;touch-action:none;width:100%;height:260px}.rebar-orientation-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.rebar-orientation-line--old{stroke:var(--on-surface-variant)}.rebar-orientation-line--new{stroke:var(--primary)}.rebar-orientation-line--ghost{stroke:var(--on-surface-variant);stroke-width:2px;opacity:.35;stroke-dasharray:5 4}.rebar-orientation-marker{vector-effect:non-scaling-stroke;stroke-width:2.5px}.rebar-orientation-marker.start{fill:var(--surface-container)}.rebar-orientation-marker.end{stroke:none}.rebar-orientation-marker--old.start{stroke:var(--on-surface-variant)}.rebar-orientation-marker--old.end{fill:var(--on-surface-variant)}.rebar-orientation-marker--new.start{stroke:var(--primary)}.rebar-orientation-marker--new.end{fill:var(--primary)}.rebar-orientation-marker--ghost{opacity:.35}.rebar-orientation-marker--ghost.start{stroke:var(--on-surface-variant)}.rebar-orientation-marker--ghost.end{fill:var(--on-surface-variant)}.rebar-orientation-box{fill:none;stroke-width:1px;vector-effect:non-scaling-stroke}.rebar-orientation-box--available{stroke:var(--primary);stroke-dasharray:4 3;opacity:.55}.rebar-orientation-box--used{stroke:var(--primary);opacity:.4}.rebar-orientation-box--used.is-overhanging{stroke:var(--error,#b3261e);opacity:.9}.rebar-orientation-svg.is-solving{opacity:.55}.rebar-orientation-svg{cursor:grab;touch-action:none}.rebar-orientation-svg.is-panning{cursor:grabbing}.rebar-orientation-svg.is-moving{cursor:move}.rebar-orientation-move{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;display:flex}.rebar-orientation-modes{gap:4px;display:flex}.rebar-orientation-modes .rebar-edit-btn.is-active{border-color:var(--primary);color:var(--primary);font-weight:600}.rebar-orientation-nudge{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.rebar-orientation-nudge label{color:var(--on-surface-variant);font-size:11px}.rebar-orientation-nudge input{width:62px}.rebar-orientation-marker,.rebar-orientation-arrow{stroke:var(--surface-container);stroke-width:2px;stroke-linejoin:round;paint-order:stroke;vector-effect:non-scaling-stroke}.rebar-orientation-arrow--old{fill:var(--on-surface-variant)}.rebar-orientation-arrow--new{fill:var(--primary)}.rebar-orientation-pane-label{color:var(--on-surface-variant);font-size:11px}.rebar-orientation-dims{color:var(--on-surface-variant);flex-wrap:wrap;gap:4px 12px;margin:8px 0 0;font-size:11px;display:flex}.rebar-orientation-dim b{color:var(--on-surface);font-weight:600}.rebar-orientation-warning{color:var(--on-surface);background:color-mix(in srgb, var(--warning,#b26a00) 14%, transparent);border-left:3px solid var(--warning,#b26a00);border-radius:4px;margin:8px 0 0;padding:6px 8px;font-size:11px;line-height:1.4}.rebar-orientation-warning--blocked{background:color-mix(in srgb, var(--error,#b3261e) 12%, transparent);border-left-color:var(--error,#b3261e)}.mesh-edit-rows .property-grid-row{align-items:flex-start;height:auto;min-height:26px;padding-top:4px;padding-bottom:4px}.mesh-edit-rows .property-grid-key-cell{height:auto;padding-top:2px;line-height:18px}.mesh-edit-rows .property-grid-value-cell{white-space:normal;flex-direction:column;align-items:flex-start;gap:2px;height:auto;padding-top:2px;overflow:visible}.mesh-field-error{color:var(--error,#d32f2f);white-space:normal;overflow-wrap:break-word;width:100%;font-size:10px;line-height:1.3}.mesh-field-hint{color:var(--text-secondary,#888);white-space:normal;overflow-wrap:break-word;width:100%;font-size:10px;line-height:1.3}.mesh-cut-intro{padding:0 0 6px}.mesh-cut-readout{font-variant-numeric:tabular-nums;color:var(--text-primary,#222);font-size:12px}.mesh-cut-hole-row{align-items:center;gap:6px;display:flex}.mesh-cut-hole-remove{width:16px;height:16px;color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:flex}.mesh-cut-hole-remove:hover{background:var(--error-container,#fdecea);color:var(--error,#d32f2f)}.left-dock{z-index:10;border-right:1px solid var(--border-color);background-color:var(--surface);background-image:var(--blueprint-grid);background-size:var(--blueprint-grid-size);flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.left-dock-resize-handle{right:0}.dock-collapse-btn{z-index:20;border:1px solid var(--border-color);background:var(--surface);width:14px;height:44px;color:var(--outline);cursor:pointer;border-radius:6px;padding:0;font-size:12px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.dock-collapse-btn:hover{color:var(--on-surface)}.dock-collapse-btn--left{right:1px}.dock-collapse-btn--right{left:1px}.left-dock:not(.dock-collapsed){padding-right:16px}.insights-sidebar:not(.dock-collapsed){padding-left:16px}.dock-collapsed>:not(.dock-collapse-btn){display:none}.dock-collapsed .dock-collapse-btn{left:50%;right:auto;transform:translate(-50%,-50%)}.left-dock-tabs{border:1px solid var(--border-color);background:#f4f5f8eb;border-radius:10px;flex:none;gap:2px;margin:10px 10px 8px;padding:3px;display:flex}.left-dock-tab{cursor:pointer;font-family:var(--font-sans);letter-spacing:.08em;color:var(--outline);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 2px;font-size:10px;font-weight:700;transition:background-color .15s,color .15s}.left-dock-tab:hover{color:var(--on-surface)}.left-dock-tab.active{color:var(--on-surface);background:#fff;box-shadow:0 1px 3px #0e0f121a}.left-dock-tab--issues.active{color:var(--primary)}.left-dock-collapse-btn{cursor:pointer;font-family:var(--font-sans);color:var(--outline);background:0 0;border:none;border-radius:8px;flex:none;padding:7px 8px;font-size:12px;font-weight:700;line-height:1;transition:background-color .15s,color .15s}.left-dock-collapse-btn:hover{color:var(--on-surface);background:#fff9}.left-dock--collapsed{width:44px;min-width:44px;max-width:44px}.left-dock-rail{flex-direction:column;flex:1;gap:6px;min-height:0;padding:10px 5px;display:flex;overflow-y:auto}.left-dock-rail-tab{writing-mode:vertical-rl;border:1px solid var(--border-color);cursor:pointer;font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--outline);background:#f4f5f8eb;border-radius:8px;padding:12px 4px;font-size:10px;font-weight:700;transition:background-color .15s,color .15s;transform:rotate(180deg)}.left-dock-rail-tab:hover{color:var(--on-surface)}.left-dock-rail-tab.active{color:var(--on-surface);background:#fff;box-shadow:0 1px 3px #0e0f121a}.left-dock-rail-tab--issues.active{color:var(--primary)}.left-dock-pane{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.left-dock-pane--hidden{display:none}.left-dock .sidebar{background-color:#0000;border:none;height:100%;width:100%!important;min-width:0!important;max-width:none!important}.left-dock .sidebar .resize-handle{display:none}.left-dock .property-grid-container{background-color:#0000}.left-dock .sidebar-tabs{background-color:#f4f5f8eb}.issues-panel{flex-direction:column;flex:1;min-height:0;padding:2px 14px 14px;display:flex;overflow-y:auto}.issues-panel-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--outline);font-size:10px;font-weight:700}.issues-panel-headline{font-family:var(--font-mono);color:var(--primary);margin-top:3px;font-size:14px;font-weight:700}.issues-panel-headline--idle{color:var(--outline-variant)}.issues-panel-body{border-top:1px solid var(--border-color);text-align:center;margin-top:10px;padding-top:30px}.issues-ok-badge{background:var(--success-container);border:1px solid var(--success-border);font-family:var(--font-mono);color:var(--success);border-radius:8px;padding:5px 18px;font-size:11px;font-weight:700;display:inline-block}.issues-panel-desc{color:var(--outline);max-width:210px;margin:14px auto 0;font-size:11.5px;line-height:1.55}.issues-panel-footnote{font-family:var(--font-mono);color:var(--outline-variant);text-align:center;margin-top:auto;padding-top:18px;font-size:9.5px;font-weight:500}.insights-sidebar{z-index:10;border-left:1px solid var(--border-color);background-color:#fcfcfb;flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.insights-resize-handle{left:0}.insights-tabs{flex:none;gap:8px;padding:12px 14px 10px;display:flex}.insights-tab{border:1.5px solid var(--border-color);color:var(--outline);font-family:var(--font-sans);cursor:pointer;background:#fff;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:12px;font-weight:700;transition:border-color .15s,color .15s;display:flex}.insights-tab.active{border-color:var(--accent);color:var(--accent-strong)}.insights-tab-dot{border-radius:50%;flex:none;width:7px;height:7px}.insights-tab-dot--schedule{background:var(--accent)}.insights-tab-dot--intent{background:#0f9f8f}.insights-panel-scroll{flex:1;min-height:0;padding:4px 16px 16px;overflow-y:auto}.insights-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--outline);font-size:10px;font-weight:700}.insights-headline{font-family:var(--font-display);color:var(--on-surface);margin-top:3px;font-size:16px;font-weight:800}.insights-subline{font-family:var(--font-mono);color:#7c8290;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10px;font-weight:500;overflow:hidden}.insights-footnote{font-family:var(--font-mono);color:var(--outline-variant);margin-top:10px;font-size:9.5px;font-weight:500}.insights-empty{border-top:1px solid var(--border-color);text-align:center;margin-top:12px;padding-top:28px}.insights-empty-desc{color:var(--outline);max-width:220px;margin:0 auto;font-size:11.5px;line-height:1.55}.insights-empty .insights-footnote{text-align:center;margin-top:16px}.bbs-cell--left{text-align:left}.bbs-cell--right{text-align:right;font-variant-numeric:tabular-nums}.bbs-cell--center{text-align:center;font-variant-numeric:tabular-nums}.bbs-shape-sketch{margin:0 auto;display:block;overflow:visible}.bbs-shape-figure{object-fit:contain;max-width:100%;height:auto;margin:0 auto;display:block}.bbs-shape-sketch .bbs-shape-bar{fill:none;stroke:var(--secondary)}.bbs-shape-sketch .bbs-shape-bar-hollow{fill:none;stroke:var(--surface)}.bbs-shape-sketch .bbs-shape-rule{fill:none;stroke:var(--secondary)}.bbs-shape-sketch .bbs-shape-arrow{fill:var(--secondary);stroke:none}.bbs-shape-sketch text{fill:var(--outline);font-family:var(--font-mono);text-anchor:middle;dominant-baseline:middle;font-size:9px;font-weight:600}.bbs-freshness{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);border-radius:var(--rounded-sm);border:1px solid #0000;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.bbs-freshness--stale{color:var(--warn-ink);background:var(--warn-container);border-color:var(--warn-border)}.bbs-freshness--error{color:var(--error);background:var(--error-container);border-color:var(--error)}.bbs-freshness--preview{color:var(--outline);background:var(--surface-container-low);border-color:var(--outline-variant);cursor:help;font-weight:500}.bbs-freshness-action{border-radius:var(--rounded-sm);color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;padding:1px 6px;font-size:10px}.bbs-freshness-action:hover:not(:disabled){background:color-mix(in srgb, currentColor 12%, transparent)}.bbs-freshness-action:disabled{opacity:.6;cursor:default}.bbs-toolbar{justify-content:space-between;align-items:center;gap:var(--spacing-base);margin-top:var(--spacing-sm);display:flex}.bbs-toolbar-meta{font-family:var(--font-mono);color:var(--outline);white-space:nowrap;font-size:10px;font-weight:500}.bbs-undock-button{border:1.5px solid var(--border-color);border-radius:var(--rounded-default);background:var(--surface-container-lowest);color:var(--outline);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;flex:none;align-items:center;gap:5px;padding:6px 10px;font-size:11px;font-weight:700;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.bbs-undock-button:hover{border-color:var(--accent);background:var(--accent-container);color:var(--accent-strong)}.bbs-kind-toggle{gap:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--rounded-default);background:var(--surface-container-low);padding:3px;display:inline-flex}.bbs-kind-toggle--compact{margin-top:var(--spacing-sm);display:flex}.bbs-kind-tab{border-radius:var(--rounded-sm);color:var(--outline);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:5px;padding:4px 12px;font-size:11px;font-weight:700;transition:background-color .15s,color .15s;display:inline-flex}.bbs-kind-tab:hover{color:var(--accent-strong)}.bbs-kind-tab.active{background:var(--surface-container-lowest);color:var(--accent-strong);box-shadow:var(--shadow-card)}.bbs-kind-count{font-family:var(--font-mono);color:var(--outline-variant);font-size:9.5px;font-weight:500}.bbs-kind-tab.active .bbs-kind-count{color:var(--accent)}.bbs-status{align-items:center;gap:var(--spacing-base);margin-top:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--rounded-default);background:var(--surface-container-low);color:var(--outline);padding:10px 12px;font-size:11.5px;display:flex}.bbs-status--error{border-color:var(--error);background:var(--error-container);color:var(--on-error-container);flex-wrap:wrap}.bbs-spinner{border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite bbs-spin}@keyframes bbs-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.bbs-spinner{animation-duration:2.4s}}.bbs-table-wrapper{margin-top:var(--spacing-base);border:1px solid var(--border-color);border-radius:var(--rounded-default);background:var(--surface-container-lowest);overflow-x:auto}.bbs-table{border-collapse:collapse;width:100%;font-family:var(--font-sans)}.bbs-table th{z-index:1;background:var(--surface-container-low);letter-spacing:.04em;text-transform:uppercase;color:var(--outline);white-space:nowrap;border-bottom:1px solid var(--border-color);padding:7px 8px;font-size:9.5px;font-weight:700;position:sticky;top:0}.bbs-table td{color:var(--on-surface-variant);white-space:nowrap;border-bottom:1px solid var(--divider-color);padding:7px 8px;font-size:11px}.bbs-table tbody tr:last-child td{border-bottom:none}.bbs-table tbody tr:hover td{background:var(--surface-container-low)}.bbs-table td.bbs-mark{font-family:var(--font-mono);color:var(--on-surface);font-weight:600}.bbs-table tbody tr.bbs-row--selectable{cursor:pointer}.bbs-table tbody tr.bbs-row--selectable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.bbs-table tbody tr.bbs-row--selected td,.bbs-table tbody tr.bbs-row--selected:hover td{background:var(--primary-container)}.bbs-floating-window{z-index:10000}.bbs-window{--bbs-group-row-h:26px;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--rounded-lg);width:100%;height:100%;box-shadow:var(--shadow-dropdown);flex-direction:column;display:flex;overflow:hidden}.bbs-window-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);background:var(--surface-container-lowest);border-bottom:1px solid var(--border-color);cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:14px 18px;display:flex}.bbs-window-title{min-width:0}.bbs-close-button{border-radius:var(--rounded-default);width:32px;height:32px;color:var(--outline);cursor:pointer;background:0 0;border:none;flex:none;font-size:15px;line-height:1}.bbs-close-button:hover{background:var(--surface-container);color:var(--on-surface)}.bbs-window-toolbar{z-index:5;justify-content:space-between;align-items:center;gap:var(--spacing-sm);background:var(--surface-container-low);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:8px 18px;display:flex;position:relative}.bbs-toolbar-group{align-items:center;gap:var(--spacing-base);display:flex}.bbs-toolbar-hint{font-family:var(--font-mono);color:var(--outline-variant);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.bbs-toolbar-error{color:var(--error);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.bbs-toolbar-button{border:1.5px solid var(--border-color);border-radius:var(--rounded-default);background:var(--surface-container-lowest);color:var(--outline);font-family:var(--font-sans);cursor:pointer;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;transition:border-color .15s,color .15s;display:inline-flex}.bbs-toolbar-button:hover:not(:disabled),.bbs-toolbar-button.active{border-color:var(--accent);color:var(--accent-strong)}.bbs-toolbar-button:disabled{opacity:.55;cursor:default}.bbs-toolbar-count{font-family:var(--font-mono);color:var(--outline-variant);font-size:9.5px;font-weight:500}.bbs-column-menu{position:relative}.bbs-column-menu-popover{z-index:2;width:216px;max-height:340px;padding:var(--spacing-base);background:var(--surface-container-lowest);border:1px solid var(--border-color);border-radius:var(--rounded-md);box-shadow:var(--shadow-dropdown);position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.bbs-column-menu-presets{gap:var(--spacing-xs);padding-bottom:var(--spacing-base);margin-bottom:var(--spacing-xs);border-bottom:1px solid var(--divider-color);display:flex}.bbs-preset-button{border:1px solid var(--border-color);border-radius:var(--rounded-sm);background:var(--surface-container-low);color:var(--outline);font-family:var(--font-sans);cursor:pointer;flex:1;padding:4px 6px;font-size:10px;font-weight:700}.bbs-preset-button:hover{border-color:var(--accent);color:var(--accent-strong)}.bbs-column-menu-list{list-style:none}.bbs-column-menu-item{align-items:center;gap:var(--spacing-base);border-radius:var(--rounded-sm);color:var(--on-surface-variant);cursor:pointer;padding:5px 4px;font-size:11.5px;display:flex}.bbs-column-menu-item:hover{background:var(--surface-container-low)}.bbs-column-menu-item input{accent-color:var(--accent);cursor:pointer;flex:none}.bbs-column-menu-item:has(input:disabled){color:var(--outline-variant);cursor:default}.bbs-window-content{background:var(--surface-container-lowest);flex:1;min-height:0;overflow:auto}.bbs-full-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-family:var(--font-sans)}.bbs-full-table th,.bbs-full-table td{border-bottom:1px solid var(--divider-color);border-right:1px solid var(--divider-color);text-overflow:ellipsis;padding:8px 10px;overflow:hidden}.bbs-full-table th{z-index:3;background:var(--surface-container-low);white-space:pre-line;letter-spacing:.03em;color:var(--outline);border-bottom:1px solid var(--border-color);font-size:10px;font-weight:700;line-height:1.25;position:sticky}.bbs-header-row--group th{top:0}.bbs-header-row--group .bbs-group-cell{height:var(--bbs-group-row-h);background:var(--surface-container);letter-spacing:.08em;text-transform:uppercase;color:var(--outline);padding-top:4px;padding-bottom:4px;font-size:9.5px}.bbs-header-row--column th{top:var(--bbs-group-row-h);height:40px}.bbs-full-table td{color:var(--on-surface-variant);white-space:nowrap;font-size:11.5px}.bbs-full-table tbody tr:nth-child(2n) td{background:var(--surface-container-low)}.bbs-full-table tbody tr:hover td{background:var(--accent-container)}.bbs-full-table td.bbs-cell--sticky{z-index:2;background:var(--surface-container-lowest);position:sticky}.bbs-full-table th.bbs-cell--sticky{z-index:4}.bbs-full-table .bbs-cell--sticky-edge{border-right:1px solid var(--outline-variant)}.bbs-full-table tbody tr:nth-child(2n) td.bbs-cell--sticky{background:var(--surface-container-low)}.bbs-full-table tbody tr:hover td.bbs-cell--sticky{background:var(--accent-container)}.bbs-full-table tbody tr.bbs-row--selectable{cursor:pointer}.bbs-full-table tbody tr.bbs-row--selectable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.bbs-full-table tbody tr.bbs-row--selected td,.bbs-full-table tbody tr.bbs-row--selected:hover td,.bbs-full-table tbody tr.bbs-row--selected:nth-child(2n) td,.bbs-full-table tbody tr.bbs-row--selected td.bbs-cell--sticky,.bbs-full-table tbody tr.bbs-row--selected:hover td.bbs-cell--sticky,.bbs-full-table tbody tr.bbs-row--selected:nth-child(2n) td.bbs-cell--sticky{background:var(--primary-container)}.bbs-full-table th:last-child,.bbs-full-table td:last-child{border-right:none}.bbs-full-table td.bbs-mark{font-family:var(--font-mono);color:var(--on-surface);font-weight:600}.bbs-window-footer{justify-content:space-between;align-items:center;gap:var(--spacing-sm);background:var(--surface-container-low);border-top:1px solid var(--border-color);font-family:var(--font-mono);color:var(--outline);flex-shrink:0;padding:8px 18px;font-size:10px;display:flex}.bbs-window-footer>span:first-child{margin-right:auto}.bbs-window-warning{color:var(--warn-ink);background:var(--warn-container);border:1px solid var(--warn-border);border-radius:var(--rounded-sm);cursor:help;padding:1px 6px}.bbs-window-total{color:var(--on-surface);font-weight:700}.bbs-floating-window .react-resizable-handle{opacity:1}.bbs-floating-window .react-resizable-handle-se{width:16px;height:16px}.intent-header-row{justify-content:space-between;align-items:center;display:flex}.intent-scope-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--outline-variant);font-size:8.5px;font-weight:600}.intent-title-row{align-items:center;gap:8px;margin-top:7px;display:flex}.intent-title-row .insights-headline{margin-top:0}.intent-title-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.intent-chip-row{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.intent-chip{font-family:var(--font-mono);border-radius:7px;align-items:center;gap:5px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-flex}.intent-chip--shared{background:var(--success-container);border:1px solid var(--success-border);color:var(--success);font-size:10.5px}.intent-chip--select{color:var(--on-surface-variant);cursor:pointer;background:#fff;border:1px solid #d6d9e1}.intent-chip-key{color:#7c8290;letter-spacing:.08em;text-transform:uppercase}.intent-chip-caret{color:var(--primary);font-size:8px}.intent-subtabs{border-bottom:1px solid var(--border-color);gap:18px;margin-top:14px;display:flex}.intent-subtab{cursor:pointer;font-family:var(--font-sans);color:var(--outline);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 2px;font-size:12.5px;font-weight:600;display:flex}.intent-subtab.active{color:var(--primary-hover);border-bottom-color:var(--primary)}.intent-subtab-badge{background:var(--primary);color:#fff;border-radius:9999px;padding:1px 6px;font-size:9.5px;font-weight:700}.intent-readiness-card{box-shadow:var(--shadow-card);background:#fff;border:1px solid #eff0f3;border-radius:14px;align-items:center;gap:14px;margin-top:14px;padding:14px;display:flex}.intent-donut{background:conic-gradient(var(--primary) 0 144deg, #f3ebe2 144deg 360deg);border-radius:50%;flex:none;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.intent-donut-center{width:40px;height:40px;color:var(--on-surface);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.intent-readiness-kicker{letter-spacing:.13em;text-transform:uppercase;color:#7c8290;font-size:8.5px;font-weight:600}.intent-readiness-title{font-family:var(--font-display);text-transform:uppercase;color:var(--on-surface);font-size:14px;font-weight:800}.intent-readiness-note{color:var(--outline);align-items:center;gap:6px;margin-top:4px;font-size:10.5px;font-weight:500;display:flex}.intent-warn-dot{border:1px solid var(--warn);color:#a07900;background:#fff3cd;border-radius:50%;flex:none;justify-content:center;align-items:center;width:13px;height:13px;font-size:8px;font-weight:700;display:inline-flex}.intent-section{border-bottom:1px solid #eff0f3;padding:12px 0}.intent-section--last{border-bottom:none;padding-bottom:4px}.intent-section-head{align-items:center;gap:8px;display:flex}.intent-status-dot{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px}.intent-section-title{color:var(--on-surface);flex:1;font-size:13px;font-weight:700}.intent-sub{font-size:9px}.intent-badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 8px;font-size:8.5px;font-weight:700}.intent-badge--source{background:var(--success-container);border:1px solid var(--success-border);color:var(--success)}.intent-badge--default{border:1px solid var(--primary-soft-border);color:var(--primary-hover);background:#fff1e5}.intent-section-ref{text-align:right;font-family:var(--font-mono);color:#7c8290;margin-top:4px;font-size:10px;font-weight:500}.intent-section-value{margin-top:6px}.intent-value-chip{font-family:var(--font-mono);color:var(--on-surface);cursor:pointer;background:#fff;border:1px solid #d6d9e1;border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.intent-value-chip .intent-chip-caret{font-size:9px}.intent-section-strong{font-family:var(--font-mono);color:var(--on-surface);margin-top:5px;font-size:13px;font-weight:700}.intent-section-strong--sm{font-size:12px}.intent-section-note{color:#7c8290;margin-top:5px;font-size:10.5px;font-style:italic}.intent-cover-grid{align-items:flex-end;gap:8px;margin-top:8px;display:flex}.intent-cover-cell{flex:1}.intent-cover-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#7c8290;text-align:center;margin-bottom:3px;font-size:8px;font-weight:600}.intent-cover-value{font-family:var(--font-mono);color:var(--on-surface);text-align:center;background:#fff;border:1px solid #d6d9e1;border-radius:8px;padding:6px;font-size:12px;font-weight:700}.intent-cover-unit{font-family:var(--font-mono);color:#7c8290;padding-bottom:8px;font-size:9.5px;font-weight:600}.intent-mesh-ratio{text-align:right;font-family:var(--font-mono);color:var(--primary-hover);margin-top:6px;font-size:10px;font-weight:600}.intent-mesh-bar{background:#fbe3d2;border-radius:2px;height:4px;margin-top:3px;overflow:hidden}.intent-mesh-bar-fill{background:var(--primary);border-radius:2px;width:26%;height:100%}.intent-mesh-row{align-items:center;gap:8px;margin-top:10px;display:flex}.intent-mesh-spacer{flex:1}.intent-face-toggle{border:1px solid var(--primary-soft-border);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--primary-hover);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff8f3;border-radius:7px;align-items:center;gap:5px;padding:4px 9px;font-size:9.5px;font-weight:700;display:inline-flex}.intent-face-toggle input{accent-color:var(--primary);cursor:pointer;width:12px;height:12px;margin:0}.intent-placeholder{text-align:center;padding:48px 20px}.intent-placeholder-mark{font-family:var(--font-mono);color:var(--primary);font-size:12px;font-weight:700}.intent-placeholder-desc{color:var(--outline);max-width:240px;margin:10px auto 0;font-size:11.5px;line-height:1.55}.viewport-assistant-toggle{cursor:pointer;width:32px;height:32px;color:var(--primary);background:#fffffff2;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:transform .15s;display:flex}.viewport-assistant-toggle:hover,.viewport-assistant-toggle.open{background:#fff;transform:scale(1.05)}.viewport-prompt-input{color:#fff;width:280px;min-width:90px;max-width:100%;height:32px;font-family:var(--font-sans);background:#0003;border:none;border-radius:9px;outline:none;flex:0 280px;padding:0 12px;font-size:12px;font-weight:500;transition:background-color .15s,box-shadow .15s}.viewport-prompt-input::placeholder{color:#ffffffc7}.viewport-prompt-input:focus{background:#0000003d;box-shadow:inset 0 0 0 1px #fff9}.assistant-sheet{pointer-events:auto;border:1px solid var(--border-color);background:#fff;border-bottom:none;border-radius:14px 14px 0 0;width:840px;max-width:100%;overflow:hidden;box-shadow:0 -10px 44px #0e0f1224}.assistant-sheet-header{border-bottom:1px solid var(--divider-color);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.assistant-sheet-title{letter-spacing:.14em;text-transform:uppercase;color:var(--outline);font-size:10px;font-weight:700}.assistant-sheet-header-right{align-items:center;gap:12px;display:flex}.assistant-sheet-model{font-family:var(--font-mono);color:#7c8290;font-size:11px;font-weight:500}.assistant-sheet-close{color:#7c8290;cursor:pointer;background:0 0;border:none;border-radius:6px;width:22px;height:22px;font-size:13px}.assistant-sheet-close:hover{background:var(--surface-container-low)}.assistant-sheet-body{text-align:center;padding:26px 24px 18px}.assistant-sheet-headline{font-family:var(--font-display);color:var(--on-surface);font-size:17px;font-weight:800}.assistant-sheet-desc{color:var(--outline);max-width:440px;margin:6px auto 0;font-size:12px;line-height:1.55}.assistant-chip-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.assistant-chip{border:1px solid var(--border-color);background:var(--surface);font-family:var(--font-sans);color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;border-radius:9999px;padding:6px 13px;font-size:11.5px;font-weight:500;transition:border-color .15s,color .15s,background-color .15s}.assistant-chip:hover{border-color:var(--primary);color:var(--primary-hover);background:var(--primary-container)}.assistant-queued-badge{background:var(--warn-container);border:1px solid var(--warn-border);border-radius:9px;align-items:center;gap:8px;margin-top:18px;padding:7px 14px;display:inline-flex}@keyframes assistant-blink{0%,to{opacity:1}50%{opacity:.2}}.assistant-queued-dot{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px;animation:1.2s infinite assistant-blink}.assistant-queued-text{font-family:var(--font-mono);color:var(--warn-ink);font-size:11px;font-weight:600}.assistant-sheet-footnote{font-family:var(--font-mono);color:var(--outline-variant);margin-top:14px;font-size:9.5px;font-weight:500}.context-menu-item--danger{color:var(--error)!important}.context-menu-item--danger:hover{background:#d9444f14!important}.move-section{border-top:1px solid var(--border-color);background:#ffffffbf;padding:10px 14px 12px}.move-section-header{letter-spacing:.12em;color:var(--on-surface-variant);margin-bottom:0;font-size:10px;font-weight:700}.move-section-header+.move-inputs{margin-top:9px}.move-mode-btn{color:var(--on-surface-variant);background:#fff;border:1px solid #d6d9e1;border-radius:9999px;padding:4px 13px;font-size:10.5px;font-weight:600}.move-mode-btn:hover{border-color:var(--outline-variant);color:var(--on-surface)}.move-mode-btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.transform-mode-buttons{flex-wrap:wrap;gap:6px;margin-bottom:2px;display:flex}.transform-mode-btn{color:#5b6071;cursor:pointer;background:#f5f6f8;border:1px solid #d6d9e1;border-radius:8px;flex:1;padding:5px 0;font-size:10.5px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.transform-mode-btn:hover{border-color:var(--outline-variant);color:var(--on-surface);background:#eceef2}.transform-mode-btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.move-inputs{margin-top:9px}.move-clamp-hint{color:#9a6400}.move-unit-btn{color:#5b6071;background:#f5f6f8;border-color:#d6d9e1}.move-unit-btn:hover{border-color:var(--outline-variant);color:var(--on-surface);background:#eceef2}.move-unit-btn--active,.move-unit-btn--active:hover{background:var(--primary);border-color:var(--primary);color:#fff}.move-input-label{font-family:var(--font-mono);letter-spacing:.1em;color:#7c8290;font-size:8.5px}.move-input{color:var(--on-surface);font-family:var(--font-mono);background:#fff;border:1px solid #d6d9e1;border-radius:6px;padding:5px 7px;font-size:10.5px;font-weight:600}.move-input:focus{outline:1px solid var(--primary)}.move-apply-btn{background:var(--primary);border-radius:8px;font-size:11.5px;font-weight:700}.move-apply-btn:hover:not(:disabled){background:var(--primary-hover);opacity:1}.pending-edits-section{border-top:1px solid var(--border-color);background:#ffffffbf}.pending-edits-title{letter-spacing:.12em;font-size:10px;font-weight:700}.pending-edits-badge{background:var(--surface-container-low);color:var(--on-surface-variant);font-family:var(--font-mono)}.pending-edit-item{background:var(--surface-container-low);border-radius:6px}.pending-edit-item--locatable:hover{background:var(--surface-container-high)}.pending-edit-action--delete{color:var(--error)}.pending-edit-action--move{color:var(--success)}.pending-edit-id{color:var(--on-surface-variant);font-family:var(--font-mono)}.pending-edit-time{font-family:var(--font-mono)}.pending-edit-time--queued{color:#a07900;opacity:1}.pending-edit-time--exported{color:var(--success);opacity:1}.edit-type-badge--bar{background:var(--success-container);color:var(--success)}.edit-type-badge--mesh{background:var(--accent-container);color:var(--accent-strong)}:root{--surface:#fbfaf7;--surface-dim:#efede7;--surface-bright:#fcfbf9;--surface-container-lowest:#fff;--surface-container-low:#f4f5f8;--surface-container:#eff0f3;--surface-container-high:#e9ebef;--surface-container-highest:#e0e3e8;--on-surface:#0e0f12;--on-surface-variant:#2a2d34;--inverse-surface:#2d3133;--inverse-on-surface:#eff1f3;--outline:#5b6170;--outline-variant:#adb2bd;--border-color:#e9ebef;--divider-color:#f4f5f8;--surface-tint:#f26b1f;--primary:#f26b1f;--primary-hover:#d85513;--on-primary:#fff;--primary-container:#fff4ec;--on-primary-container:#d85513;--inverse-primary:#ffd9bc;--primary-soft-border:#ffd9bc;--accent:#1f4fff;--accent-strong:#1432b5;--accent-container:#eef2ff;--accent-border:#b7c7ff;--secondary:#002131;--secondary-hover:#001722;--on-secondary:#fff;--secondary-container:#c6e4f9;--on-secondary-container:#4a6678;--tertiary:#4b5a70;--on-tertiary:#fff;--tertiary-container:#63738a;--on-tertiary-container:#f6f8ff;--error:#d9444f;--on-error:#fff;--error-container:#fde7e9;--on-error-container:#93000a;--success:#1f9d55;--success-container:#e6f4ea;--success-border:#cbe7d4;--warn:#e0a100;--warn-container:#fff7e0;--warn-border:#f3e2a8;--warn-ink:#5b4a00;--background:#fbfaf7;--on-background:#0e0f12;--blueprint-grid:linear-gradient(#1f4fff0b 1px, transparent 1px), linear-gradient(90deg, #1f4fff0b 1px, transparent 1px);--blueprint-grid-size:26px 26px;--rounded-sm:.25rem;--rounded-default:.5rem;--rounded-md:.75rem;--rounded-lg:1rem;--rounded-xl:1.5rem;--rounded-full:9999px;--spacing-xs:4px;--spacing-base:8px;--spacing-sm:12px;--spacing-md:24px;--spacing-lg:48px;--spacing-xl:80px;--shadow-none:none;--shadow-dropdown:0px 16px 48px #0e0f122e;--shadow-card:0 1px 2px #0e0f120a;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Inter Tight", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", Consolas, Monaco, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--background);color:var(--on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100vw;height:100vh;font-size:16px;line-height:1.5;overflow:hidden}#root{flex-direction:column;width:100%;height:100%;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--rounded-full);background:#d6d9e1}::-webkit-scrollbar-thumb:hover{background:var(--outline-variant)}::selection{background:var(--accent);color:#fff}.display-lg{letter-spacing:-.02em;font-size:64px;font-weight:700;line-height:1.1}.headline-xl{font-size:48px;font-weight:600;line-height:1.2}.headline-lg{font-size:32px;font-weight:600;line-height:1.3}.headline-md{color:var(--secondary);font-size:24px;font-weight:600;line-height:1.4}.body-lg{font-size:18px;font-weight:400;line-height:1.6}.body-md{font-size:16px;font-weight:400;line-height:1.5}.label-md{letter-spacing:.05em;font-size:14px;font-weight:500;line-height:1.2}.label-sm{letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:1}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-main{flex:1;width:100%;display:flex;position:relative;overflow:hidden}.viewport-container{background-color:var(--surface);flex-direction:column;flex:1;height:100%;display:flex;position:relative;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);height:36px;font-family:var(--font-sans);border-radius:var(--rounded-default);cursor:pointer;white-space:nowrap;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--on-primary);border:none}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary);color:var(--on-secondary);border:none}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-outline{color:var(--secondary);border:1px solid var(--secondary);background-color:#0000}.btn-outline:hover{background-color:#0021310d}.btn-outline-primary{color:var(--primary);border:1px solid var(--primary);background-color:#0000}.btn-outline-primary:hover{background-color:#0066ff0d}.btn-icon-only{width:36px;height:36px;color:var(--on-surface-variant);border-radius:var(--rounded-default);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.btn-icon-only:hover{background-color:var(--surface-container-high);color:var(--on-surface)}.form-group{margin-bottom:var(--spacing-sm);gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{text-transform:uppercase;color:var(--outline);letter-spacing:.05em;font-size:11px;font-weight:600}.form-input{width:100%;height:36px;padding:0 var(--spacing-sm);font-family:var(--font-sans);color:var(--on-surface);background-color:var(--surface-container-lowest);border:1px solid var(--border-color);border-radius:var(--rounded-default);outline:none;font-size:13px;transition:all .2s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #0066ff1a}.form-input[readonly]{background-color:var(--surface-container-low);color:var(--on-surface-variant);cursor:default;border-color:var(--border-color)}.form-input[readonly]:focus{border-color:var(--border-color);box-shadow:none}.form-input-group{align-items:center;display:flex;position:relative}.form-input-group .form-input{padding-right:var(--spacing-xl)}.form-input-unit{right:var(--spacing-sm);color:var(--primary);pointer-events:none;border-radius:var(--rounded-sm);background-color:#0066ff14;padding:2px 6px;font-size:12px;font-weight:600;position:absolute}.collapsible-card{border-bottom:1px solid var(--divider-color);background-color:var(--surface-container-lowest)}.collapsible-header{width:100%;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.collapsible-title{letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);font-size:12px;font-weight:700}.collapsible-arrow{color:var(--outline);transition:transform .2s}.collapsible-card.open .collapsible-arrow{transform:rotate(90deg)}.collapsible-content{padding:0 var(--spacing-md) var(--spacing-md) var(--spacing-md);display:none}.collapsible-card.open .collapsible-content{display:block}.material-layer-card{background-color:var(--surface-container-lowest);border:1px solid var(--border-color);border-radius:var(--rounded-default);padding:var(--spacing-sm) var(--spacing-md);align-items:center;gap:var(--spacing-sm);transition:border-color .2s;display:flex}.material-layer-card:hover{border-color:var(--primary)}.material-icon-box{background-color:var(--secondary-container);border-radius:var(--rounded-default);width:36px;height:36px;color:var(--on-secondary-container);justify-content:center;align-items:center;display:flex}.material-info{flex-direction:column;display:flex}.material-name{color:var(--on-surface);font-size:13px;font-weight:600}.material-sub{text-transform:uppercase;color:var(--outline);letter-spacing:.05em;font-size:11px;font-weight:600}.tree-row-header{padding:var(--spacing-xs) var(--spacing-md);text-transform:uppercase;color:var(--outline);letter-spacing:.05em;border-bottom:1px solid var(--divider-color);font-size:11px;font-weight:600;display:flex}.tree-col-active{width:100px}.tree-col-name{flex:1}.tree-list{list-style:none}.tree-item-wrapper{height:32px;padding-left:var(--spacing-md);padding-right:var(--spacing-sm);cursor:pointer;align-items:center;transition:all .15s;display:flex;position:relative}.tree-item-wrapper:hover{background-color:var(--surface-container-low)}.tree-item-wrapper.selected{color:var(--primary-hover);background-color:#f26b1f1f}.tree-item-wrapper.selected .tree-arrow,.tree-item-wrapper.selected .tree-icon,.tree-item-wrapper.selected .tree-text-secondary{color:var(--primary)}.tree-item-wrapper.selected .tree-text-primary{color:var(--primary-hover)}.tree-indent-0{padding-left:calc(var(--spacing-md) + 0px)}.tree-indent-1{padding-left:calc(var(--spacing-md) + 16px)}.tree-indent-2{padding-left:calc(var(--spacing-md) + 32px)}.tree-indent-3{padding-left:calc(var(--spacing-md) + 48px)}.tree-indent-4{padding-left:calc(var(--spacing-md) + 64px)}.tree-item-checkbox{align-items:center;width:100px;display:flex}.tree-checkbox-input{appearance:none;border:1.5px solid var(--outline);border-radius:var(--rounded-sm);cursor:pointer;background-color:#0000;outline:none;justify-content:center;align-items:center;width:14px;height:14px;transition:all .15s;display:flex;position:relative}.tree-checkbox-input:checked,.tree-item-wrapper.selected .tree-checkbox-input:checked{background-color:var(--accent);border-color:var(--accent)}.tree-checkbox-input:checked:after{content:"";border-left:1.5px solid var(--on-primary);border-bottom:1.5px solid var(--on-primary);width:8px;height:4px;position:absolute;transform:rotate(-45deg)translate(1px,-1px)}.tree-item-wrapper.selected .tree-checkbox-input:checked:after{border-color:var(--on-primary)}.tree-checkbox-label{margin-left:var(--spacing-sm);color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.tree-item-wrapper.selected .tree-checkbox-label{color:var(--on-primary)}.tree-item-details{flex:1;align-items:center;min-width:0;display:flex}.tree-arrow{width:16px;height:16px;color:var(--outline);cursor:pointer;justify-content:center;align-items:center;margin-right:4px;transition:transform .2s;display:flex}.tree-arrow.collapsed{transform:rotate(-90deg)}.tree-arrow.hidden{visibility:hidden}.tree-icon{color:var(--on-surface-variant);align-items:center;margin-right:8px;display:flex}.tree-text-primary{color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.tree-text-secondary{color:var(--outline);white-space:nowrap;text-overflow:ellipsis;max-width:100px;margin-left:auto;font-size:12px;overflow:hidden}@keyframes wireframe-spin{0%{transform:rotateX(25deg)rotateY(45deg)}50%{transform:rotateX(25deg)rotateY(225deg)}to{transform:rotateX(25deg)rotateY(405deg)}}@keyframes pulse-soft{0%,to{opacity:.8}50%{opacity:.4}}.pulse-animation{animation:2s ease-in-out infinite pulse-soft}.resize-handle:hover{box-shadow:0 0 8px #f26b1f66;background-color:var(--primary)!important}.resize-handle:active{background-color:var(--primary-hover)!important;width:6px!important}html.bt-embed{--surface-tint:#0053fa;--primary:#0053fa;--primary-hover:#0043cc;--on-primary:#fff;--primary-container:#e8f0ff;--on-primary-container:#0043cc;--inverse-primary:#b9cdff;--primary-soft-border:#b9cdff;--accent:#0053fa;--accent-strong:#0038ad;--accent-container:#e8f0ff;--accent-border:#b9cdff}html.bt-embed .tree-item-wrapper.selected{background-color:#0053fa1a}html.bt-embed .resize-handle:hover{box-shadow:0 0 8px #0053fa59}html.bt-embed .property-grid-row.selected{background-color:#0053fa1a}html.bt-embed .sidebar-tab:hover{background-color:#0053fa0d}html.bt-embed .viewport-empty-load-btn{box-shadow:0 4px 14px #0053fa4d}html.bt-embed .viewport-container.drag-active:after{background:#0053fa0f}html.bt-embed .viewport-toolbar-floating{box-shadow:0 12px 32px #0053fa4d}html.bt-embed .toolbar-flyout-row:hover:not(:disabled){background:#002e3b0a}html.bt-embed .toolbar-flyout-row.active{color:var(--primary);background:#0053fa1a}html.bt-embed .toolbar-flyout-row.active:hover:not(:disabled){background:#0053fa24}html.bt-embed .rd-row--bend-header td,html.bt-embed .rd-row--bend-sub td{border-left-color:var(--primary)}html.bt-embed path[stroke=\#ff9800]{stroke:var(--primary)}html.bt-embed .intent-mesh-bar{background:var(--primary-container)}html.bt-embed .intent-donut{background:conic-gradient(var(--primary) 0 144deg, #edf1f7 144deg 360deg)}html.bt-no-tools .viewport-bottom-dock,html.bt-no-tools .global-status-bar{display:none!important}.resume-banner{background:var(--surface-container,#1e1e2e);border-bottom:1px solid var(--outline-variant,#2a2a3a);z-index:100;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.resume-banner__icon{color:var(--primary,#7b8cde);flex-shrink:0;align-items:center;display:flex}.resume-banner__content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.resume-banner__title{color:var(--on-surface,#e0e0e0);font-weight:500}.resume-banner__desc{color:var(--on-surface-variant,#aaa);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.resume-banner__actions{flex-shrink:0;gap:8px;display:flex}.resume-banner__btn{cursor:pointer;border:none;border-radius:5px;padding:5px 12px;font-size:12px;font-weight:500;transition:background .15s}.resume-banner__btn--resume{background:var(--primary,#7b8cde);color:#fff}.resume-banner__btn--resume:hover{background:var(--primary-dark,#5c6fcc)}.resume-banner__btn--dismiss{border:1px solid var(--outline-variant,#2a2a3a);color:var(--on-surface-variant,#aaa);background:0 0}.resume-banner__btn--dismiss:hover{background:var(--surface-container-high,#2a2a3a)}.rebar-design-link{width:100%;margin:4px 0 8px}.rd-backdrop{z-index:2000;background:#080a0e8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.rd-modal{background:var(--surface,#fff);border:1px solid var(--border-color,#0000001f);border-radius:12px;flex-direction:column;width:min(1200px,96vw);height:min(820px,92vh);display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000059}.rd-header{border-bottom:1px solid var(--border-color,#0000001f);align-items:center;gap:12px;padding:10px 12px;display:flex}.rd-name-field{align-items:center;gap:8px;margin-left:auto;display:flex}.rd-name-label{letter-spacing:.02em;color:var(--primary,#f26722);white-space:nowrap;font-size:11px;font-weight:600}.rd-title-input{border:1px solid var(--border-color,#00000047);background:var(--surface,#fff);width:200px;color:var(--on-surface,#0e0f12);border-radius:6px;flex:none;padding:6px 10px;font-size:13px;font-weight:600;transition:border-color .12s,box-shadow .12s}.rd-title-input:hover{border-color:var(--primary,#f26722)}.rd-title-input:focus{border-color:var(--primary,#f26722);outline:none;box-shadow:0 0 0 2px #f2672240}.rd-save-hint{color:var(--on-surface-variant,#90a4ae);margin-right:auto;font-size:12px}.rd-toolbar{gap:6px;margin-left:auto;display:flex}.rd-tool{border:1px solid var(--border-color,#00000029);background:var(--surface,#fff);color:var(--on-surface,#0e0f12);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.rd-tool:hover:not(:disabled){border-color:var(--primary,#6395ff)}.rd-tool:disabled{opacity:.4;cursor:not-allowed}.rd-tool.active{background:var(--primary,#6395ff);border-color:var(--primary,#6395ff);color:#fff}.rd-tool--accent{border-color:var(--primary,#6395ff);color:var(--primary,#6395ff)}.rebar-modal-close{flex:none}.rd-body{flex:1;min-height:0;display:flex}.rd-dock{border-right:1px solid var(--border-color,#0000001f);flex-direction:column;flex:0 0 320px;padding:10px;display:flex;overflow:hidden}.rd-dia-field{margin-bottom:8px}.rd-tabs{border:1px solid var(--border-color,#0000001f);background:#f4f5f8eb;border-radius:10px;gap:2px;margin-bottom:8px;padding:3px;display:flex}.rd-tab{cursor:pointer;letter-spacing:.04em;color:var(--outline,#5b6472);background:0 0;border:none;border-radius:8px;flex:1;padding:7px 2px;font-size:11px;font-weight:700}.rd-tab.active{color:var(--on-surface,#0e0f12);background:#fff;box-shadow:0 1px 3px #0e0f121a}.rd-panel{flex:1;min-height:0;overflow-y:auto}.rd-table{border-collapse:collapse;width:100%;font-size:12px}.rd-table th{text-align:left;letter-spacing:.04em;color:var(--outline,#5b6472);border-bottom:1px solid var(--border-color,#0000001f);padding:4px 6px;font-size:10px;font-weight:700}.rd-table td{border-bottom:1px solid var(--divider-color,#0000000f);color:var(--on-surface,#0e0f12);padding:5px 6px}.rd-empty{color:var(--outline,#5b6472);font-style:italic}.rd-kind{color:var(--outline,#5b6472);font-size:10px}.rd-icon-btn{cursor:pointer;opacity:.7;background:0 0;border:none;font-size:13px}.rd-icon-btn:hover{opacity:1}.rd-bind{text-overflow:ellipsis;width:100%;min-width:88px;padding:5px 6px;font-size:12px}.rd-add-row{border:1px dashed var(--border-color,#00000040);width:100%;color:var(--primary,#6395ff);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:7px;font-size:12px;font-weight:600}.rd-add-row:hover{background:#6395ff14}.rd-define{border:1px solid var(--border-color,#0000001f);background:#f4f5f899;border-radius:8px;margin-top:8px;padding:10px}.rd-define-title{margin-bottom:6px;font-size:12px;font-weight:700}.rd-define-actions{gap:8px;margin-top:8px;display:flex}.rd-stage-wrap{flex:1;min-width:0;display:flex;position:relative}.rd-stage{background:#0e0f12;position:absolute;inset:0}.rd-stage--hidden{visibility:hidden;pointer-events:none}.rd-stage-label{z-index:2;color:#ffffffd9;pointer-events:none;background:#0006;border:1px solid #ffffff26;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;position:absolute;top:10px;right:12px}.rd-footer{border-top:1px solid var(--border-color,#0000001f);justify-content:flex-end;align-items:center;gap:10px;padding:10px 12px;display:flex}.rd-status{color:var(--error,#e24b4a);margin-right:auto;font-size:12px}.rd-toolbar-label{color:#90a4ae;white-space:nowrap;align-self:center;margin-right:2px;font-size:12px}.rd-toolbar-divider{border-left:1px solid #37474f;align-self:center;height:16px;margin:0 8px}.rd-tool--icon{padding:6px 8px;font-size:14px}.rd-values-table tbody tr.rd-row{transition:background .12s}.rd-values-table tbody tr.rd-row:hover{background:#6395ff0a}.rd-seg-icon{vertical-align:middle;align-items:center;margin-right:6px;display:inline-flex}.rd-row--line td:first-child{font-size:12px;font-weight:600}.rd-row--bend-header td{color:var(--on-surface,#0e0f12);border-bottom:none;border-left:3px solid #ff9800;padding:6px 6px 2px;font-size:12px;font-weight:700}.rd-bend-group-label{font-weight:700}.rd-row--bend-sub td{border-left:3px solid #ff9800;padding-left:22px;font-size:12px}.rd-row--bend-sub td:first-child{color:var(--outline,#5b6472);font-size:11px;font-weight:500}.rd-bend-sub-name{padding-left:28px!important}.rd-planebar{background:#7986cb12;border-bottom:1px solid #7986cb40;align-items:center;gap:6px;padding:6px 16px;display:flex}.rd-planebar-hint{color:var(--text-muted,#8a94a6);font-size:12px}.rd-planebar-target{color:#4fc3f7;background:#4fc3f71f;border-radius:3px;padding:2px 8px;font-size:12px;font-weight:600}.rd-planebar-state{color:#7986cb;margin-left:4px;font-size:11px}.rd-collision{color:#ffb74d;background:#ff980014;border-top:1px solid #ff98004d;align-items:center;gap:10px;padding:8px 16px;font-size:12px;display:flex}.rd-collision-icon{font-size:14px}.rd-collision-msg{flex:1}.rd-collision-fix{flex:none}.rd-plane-readonly{color:#7986cb;font-size:12px}.rd-oop-badge{letter-spacing:.03em;text-transform:uppercase;color:#ff9800;background:#ff98001f;border:1px solid #ff980066;border-radius:3px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:600}.rd-row--derived td{background:#6395ff08}.rd-derived-badge{width:16px;height:16px;color:var(--primary,#6395ff);vertical-align:middle;background:#6395ff26;border-radius:4px;justify-content:center;align-items:center;margin-left:4px;font-size:10px;font-style:italic;font-weight:700;display:inline-flex}.rd-derived-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rd-expr-code{color:var(--on-surface,#0e0f12);background:#0000000f;border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px}.rd-computed-badge{color:#4caf50;white-space:nowrap;font-size:10px;font-weight:600}.rd-computed-badge--error{color:var(--error,#e24b4a)}.rd-derived-toggle{margin-top:4px}.rd-derived-label{cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.rd-derived-label input[type=checkbox]{accent-color:var(--primary,#6395ff)}.rd-expr-input{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px}.rd-expr-preview{color:#4caf50;margin-top:2px;font-size:11px;font-weight:600;display:block}.rd-expr-preview--error{color:var(--error,#e24b4a)}.rd-length-input{box-sizing:border-box;resize:vertical;width:100%;color:inherit;background:var(--surface,#fff);border:1px solid var(--border-color,#0000002e);border-radius:6px;margin-top:4px;padding:6px 8px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;line-height:1.45;display:block}.rd-length-input:focus{border-color:var(--primary,#6395ff);outline:none}.rd-length-input.invalid{border-color:var(--error,#e24b4a)}.rd-length-reset{color:var(--primary,#6395ff);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:11px;text-decoration:underline}.rd-shortcuts-wrap{display:inline-flex;position:relative}.rd-shortcuts-tooltip{z-index:100;background:var(--surface,#fff);border:1px solid var(--border-color,#0000001f);min-width:220px;color:var(--on-surface,#0e0f12);border-radius:8px;padding:10px 12px;font-size:11px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 16px #0000002e}.rd-shortcut-row{align-items:center;gap:8px;padding:3px 0;display:flex}.rd-shortcut-row kbd{text-align:center;min-width:44px;color:var(--on-surface,#0e0f12);background:#0000000f;border:1px solid #0000001a;border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,monospace;font-size:10px;font-weight:600;display:inline-block}.rd-empty-state{pointer-events:none;z-index:1;color:#fff6;letter-spacing:.02em;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex;position:absolute;inset:0}.rd-empty-state-icon{opacity:.6;font-size:28px}.rd-saved{border-top:1px solid var(--border-color,#0000001f);margin-top:auto;padding-top:8px;font-size:12px}.rd-saved-summary{cursor:pointer;color:var(--on-surface-variant,#90a4ae);-webkit-user-select:none;user-select:none;font-weight:700}.rd-saved-list{max-height:140px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.rd-saved-item{align-items:center;gap:6px;padding:3px 2px;display:flex}.rd-saved-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rd-saved-edit,.rd-saved-delete{cursor:pointer;opacity:.55;background:0 0;border:none;padding:0 2px}.rd-saved-edit:hover,.rd-saved-delete:hover{opacity:1}.rd-confirm-error{color:var(--error,#e57373)}.rd-confirm-backdrop{border-radius:inherit;z-index:10;background:#00000073;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rd-confirm{background:var(--surface-container-high,#22222e);border:1px solid var(--border-color,#0003);border-radius:10px;max-width:320px;padding:16px 18px;box-shadow:0 8px 30px #00000059}.rd-confirm-text{color:var(--on-surface,#eee);margin:0 0 14px;font-size:13px;line-height:1.5}.rd-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.rd-confirm-actions .rebar-edit-btn{flex:none}.error-boundary{z-index:9999;background:var(--surface,#fbfaf7);justify-content:center;align-items:center;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:fixed;inset:0;overflow:auto}.error-boundary__card{border:1px solid var(--border-color,#e9ebef);background:var(--surface-container-lowest,#fff);border-radius:10px;width:100%;max-width:560px;padding:28px 32px 24px;box-shadow:0 6px 24px #00000014}.error-boundary__icon{width:48px;height:48px;color:var(--error,#d9444f);background:var(--error-container,#fde7e9);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.error-boundary__title{color:var(--on-surface,#0e0f12);margin:0 0 8px;font-size:19px;font-weight:600}.error-boundary__desc{color:var(--on-surface-variant,#2a2d34);margin:0 0 16px;font-size:14px;line-height:1.5}.error-boundary__session{color:var(--on-surface-variant,#2a2d34);background:var(--surface-container-low,#f4f5f8);border-left:3px solid var(--primary,#f26b1f);border-radius:0 6px 6px 0;margin-bottom:20px;padding:12px 14px;font-size:13px;line-height:1.5}.error-boundary__session strong{color:var(--on-surface,#0e0f12);font-weight:600}.error-boundary__actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.error-boundary__btn{cursor:pointer;border-radius:6px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .12s,border-color .12s}.error-boundary__btn--primary{color:var(--on-primary,#fff);background:var(--primary,#f26b1f);border:1px solid var(--primary,#f26b1f)}.error-boundary__btn--primary:hover{background:var(--primary-hover,#d85513);border-color:var(--primary-hover,#d85513)}.error-boundary__btn--secondary{color:var(--on-surface-variant,#2a2d34);border:1px solid var(--outline-variant,#adb2bd);background:0 0}.error-boundary__btn--secondary:hover{background:var(--surface-container,#eff0f3)}.error-boundary__btn:focus-visible{outline:2px solid var(--accent,#1f4fff);outline-offset:2px}.error-boundary__details{border-top:1px solid var(--divider-color,#f4f5f8);padding-top:14px}.error-boundary__details summary{color:var(--on-surface-variant,#2a2d34);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px}.error-boundary__details summary:focus-visible{outline:2px solid var(--accent,#1f4fff);outline-offset:2px}.error-boundary__pre{white-space:pre-wrap;overflow-wrap:break-word;max-height:260px;color:var(--on-surface-variant,#2a2d34);background:var(--surface-container,#eff0f3);border-radius:6px;margin:12px 0 0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}.bt-embed .error-boundary{padding:16px}.bt-embed .error-boundary__card{box-shadow:none;background:0 0;border:none;padding:20px}
