:root{--bg:#16171d;--panel-bg:#1c1e24;--border:#2e303a;--text:#d7d9de;--text-dim:#9ca3af;--accent:#4fb3a9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:14px/1.4 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{height:100vh;margin:0;overflow:hidden}#root{height:100vh}button{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;background:#2a2d35;border-radius:4px;padding:6px 14px}button:hover{background:#33363f}button:disabled{opacity:.4;cursor:default}button:disabled:hover{background:#2a2d35}input,select{font:inherit;color:var(--text);border:1px solid var(--border);background:#14151a;border-radius:4px;padding:5px 8px}.app-shell{flex-direction:column;height:100vh;display:flex}.app-topbar{border-bottom:1px solid var(--border);background:var(--panel-bg);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;display:flex}.app-title{letter-spacing:.5px;color:var(--accent);font-size:15px;font-weight:700}.project-name-input{width:140px;font-weight:500}.units-select{width:54px}.topbar-actions-left{align-items:center;gap:6px;display:flex}.topbar-actions-right{align-items:center;gap:10px;margin-left:auto;display:flex}.btn-export-primary{color:#fff;cursor:pointer;background:#2b6cb0;border:1px solid #3182ce;border-radius:6px;padding:6px 16px;font-weight:600;transition:all .15s}.btn-export-primary:hover{background:#3182ce;box-shadow:0 0 12px #3182ce66}.topbar-vtoolbar{align-items:center;gap:8px;display:flex}.vtoolbar-chips{align-items:center;gap:4px;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.load-error{color:#ffd7db;background:#4a1f24;border-bottom:1px solid #7a2e35;justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;font-size:12px;display:flex}.preset-modal{box-sizing:border-box;flex-direction:column;width:90vw;max-width:960px;max-height:85vh;display:flex}.preset-modal-header{flex:none}.preset-modal-hint{color:var(--text-dim);margin:-4px 0 14px;font-size:12px}.preset-tabs{border-bottom:1px solid var(--border);flex:none;gap:4px;margin:0 0 14px;display:flex}.preset-tab{color:var(--text-dim,#9aa5b1);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s}.preset-tab:hover{color:var(--text,#e1e4e8)}.preset-tab.active{color:var(--accent,#6fd3ff);border-bottom-color:var(--accent,#6fd3ff);font-weight:600}.preset-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;max-height:60vh;margin:0 0 16px;padding:2px;list-style:none;display:grid;overflow-y:auto}.preset-list li{display:flex}.preset-list button{text-align:left;flex-direction:column;gap:4px;width:100%;padding:10px 12px;display:flex}.preset-label{font-weight:600}.preset-notes{color:var(--text-dim);font-size:12px;line-height:1.35}.preset-modal-footer{flex:none;justify-content:flex-end;display:flex}.app-main{flex:1;min-height:0;display:flex}.viewport-area{flex:1;min-width:0;position:relative}.feature-palette{border-right:1px solid var(--border);background:var(--panel-bg);flex-direction:column;flex:none;gap:10px;width:270px;padding:12px 0 12px 12px;display:flex;overflow:hidden}.palette-header{justify-content:space-between;align-items:center;margin-bottom:2px;padding-right:12px;display:flex}.palette-header h3{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin:0;font-size:12px}.palette-count{color:var(--text-dim);background:var(--input-bg,#2a2e35);border-radius:10px;padding:2px 6px;font-size:11px}.palette-search{align-items:center;margin-right:12px;display:flex;position:relative}.search-icon{width:14px;height:14px;color:var(--text-dim);pointer-events:none;position:absolute;left:8px}.palette-search input{border:1px solid var(--border,#3a3f47);background:var(--input-bg,#1a1e24);width:100%;color:var(--text,#e1e4e8);box-sizing:border-box;border-radius:6px;padding:6px 26px 6px 28px;font-size:12px}.palette-search input:focus{border-color:var(--accent,#6fd3ff);outline:none}.clear-search{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;position:absolute;right:6px}.category-tabs{scrollbar-width:thin;gap:4px;margin-bottom:2px;margin-right:12px;padding-bottom:4px;display:flex;overflow-x:auto}.tab-chip{border:1px solid var(--border,#3a3f47);background:var(--input-bg,#22262d);color:var(--text-dim,#9aa5b1);cursor:pointer;border-radius:12px;flex:none;padding:4px 8px;font-size:11px;transition:all .15s}.tab-chip:hover{color:var(--text,#e1e4e8);border-color:var(--accent,#6fd3ff)}.tab-chip.active{background:var(--accent,#6fd3ff);color:#12161a;border-color:var(--accent,#6fd3ff);font-weight:600}.palette-armed-hint{border:1px solid var(--accent,#6fd3ff);background:#17272c;border-radius:6px;margin-right:12px;padding:8px 10px;font-size:11px}.armed-title{color:var(--accent,#6fd3ff);align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.armed-dot{background:var(--accent,#6fd3ff);width:6px;height:6px;box-shadow:0 0 6px var(--accent,#6fd3ff);border-radius:50%}.armed-desc{color:var(--text-dim,#9aa5b1);margin:0 0 8px;line-height:1.3}.disarm-button{background:var(--accent,#6fd3ff);color:#12161a;cursor:pointer;border:none;border-radius:4px;width:100%;padding:4px 8px;font-size:11px;font-weight:600}.palette-content{scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex-direction:column;flex:1;gap:12px;padding-right:12px;display:flex;overflow-y:auto}.palette-content::-webkit-scrollbar{width:6px}.palette-content::-webkit-scrollbar-track{background:0 0}.palette-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.palette-content::-webkit-scrollbar-thumb:hover{background:#ffffff59}.palette-group{flex-direction:column;gap:6px;display:flex}.group-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim,#9aa5b1);align-items:center;gap:6px;margin-top:4px;font-size:11px;font-weight:600;display:flex}.cat-icon{width:14px;height:14px;color:var(--accent,#6fd3ff)}.card-grid{flex-direction:column;gap:6px;display:flex}.palette-card{text-align:left;cursor:pointer;box-sizing:border-box;background:#252a31;border:1px solid #343b44;border-radius:6px;flex-direction:column;gap:4px;width:100%;padding:8px 10px;transition:all .15s;display:flex}.palette-card:hover{border-color:var(--accent,#6fd3ff);background:#2d333d;transform:translateY(-1px)}.palette-card.armed{border-color:var(--accent,#6fd3ff);background:#1e2c35;box-shadow:0 0 8px #6fd3ff40}.card-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.card-name{color:var(--text,#e1e4e8);font-size:12px;font-weight:600}.dim-badge{color:var(--accent,#6fd3ff);white-space:nowrap;background:#181d23;border:1px solid #6fd3ff33;border-radius:4px;padding:1px 5px;font-size:10px}.card-note{color:var(--text-dim,#9aa5b1);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.palette-empty{text-align:center;color:var(--text-dim);padding:20px 10px;font-size:12px}.palette-empty button{margin-top:8px;font-size:11px}.feature-list{margin:0;padding:0;font-size:12px;list-style:none}.feature-list li{border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:2px 4px;display:flex}.feature-list li.selected{outline:1px solid var(--accent);background:#1f2a2c}.feature-list em{color:var(--text-dim);font-style:normal}.feature-list-select{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;flex:1;padding:4px 0}.feature-list li button:not(.feature-list-select){flex:none;padding:0 8px;line-height:1.6}.feature-list-empty{color:var(--text-dim);margin:0;font-size:12px}.check-list{flex-direction:column;gap:6px;display:flex}.check-item{text-align:left;color:var(--text);cursor:pointer;background:#ff2d7814;border:1px solid #ff2d7859;border-left:3px solid #ff2d78;border-radius:5px;flex-direction:column;gap:3px;padding:7px 9px;display:flex}.check-item:hover{background:#ff2d7829}.check-title{font-size:12px;font-weight:600}.check-detail{color:var(--text-dim);font-size:11px;line-height:1.35}.viewport-toolbar{background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-size:12px;display:flex;position:absolute;top:12px;left:12px}.viewport-toolbar span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin-right:4px;font-size:10px}.viewport-toolbar button{padding:3px 8px;font-size:12px}.viewport-toolbar button.active{border-color:var(--accent);color:var(--accent)}.viewport-error{color:#ffd7db;background:#4a1f24;border:1px solid #7a2e35;border-radius:4px;align-items:center;gap:12px;max-height:120px;padding:8px 12px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px;right:12px;overflow:auto}.viewport-error-text{flex:auto}.viewport-error-undo{color:#ffe4e7;cursor:pointer;white-space:nowrap;background:#7a2e35;border:1px solid #a5434c;border-radius:4px;flex:none;padding:4px 10px}.viewport-error-undo:hover{background:#a5434c}.inspector-panel{border-left:1px solid var(--border);background:var(--panel-bg);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex-direction:column;flex:none;gap:10px;width:290px;height:100%;padding:10px 0 30px 10px;display:flex;overflow-y:auto}.inspector-panel::-webkit-scrollbar{width:6px}.inspector-panel::-webkit-scrollbar-track{background:0 0}.inspector-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.inspector-panel::-webkit-scrollbar-thumb:hover{background:#ffffff59}.lid-view-buttons{grid-template-columns:1fr 1fr;gap:4px;margin-top:4px;display:grid}.btn-lid-mode{color:var(--text-dim,#9aa5b1);cursor:pointer;text-align:center;background:#181c22;border:1px solid #343b44;border-radius:4px;padding:5px 6px;font-size:11px;transition:all .15s}.btn-lid-mode:hover{color:var(--text,#e1e4e8);border-color:var(--accent,#6fd3ff)}.btn-lid-mode.active{background:var(--accent,#6fd3ff);color:#12161a;border-color:var(--accent,#6fd3ff);font-weight:600}.inspector-card{background:#21252b;border:1px solid #2d323b;border-radius:6px;margin-right:10px;transition:border-color .15s;overflow:visible}.inspector-card:hover{border-color:#3f4754}.inspector-card .card-header{cursor:pointer;width:100%;color:var(--text,#e1e4e8);text-align:left;background:#282d35;border:none;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.card-header-title{align-items:center;gap:6px;display:flex}.card-section-icon{width:14px;height:14px;color:var(--accent,#6fd3ff);flex:none}.card-badge{color:var(--accent,#6fd3ff);background:#181d23;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:500}.card-arrow{color:var(--text-dim,#9aa5b1);font-size:11px}.inspector-card .card-body{flex-direction:column;gap:8px;height:auto;padding:10px;display:flex;overflow:visible}.fields-grid-2col{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field{flex-direction:column;gap:3px;margin-bottom:2px;display:flex}.field span{color:var(--text-dim,#9aa5b1);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.field input,.field select{border:1px solid var(--border,#3a3f47);background:var(--input-bg,#181c22);width:100%;color:var(--text,#e1e4e8);box-sizing:border-box;border-radius:4px;padding:5px 6px;font-size:12px}.field input:focus,.field select:focus{border-color:var(--accent,#6fd3ff);outline:none}.field-checkbox{flex-direction:row;align-items:center;gap:8px;margin-top:4px}.field-checkbox input{cursor:pointer;width:auto}.field-checkbox span{color:var(--text,#e1e4e8);font-size:12px}.field-hint{color:var(--text-dim);margin:2px 0 4px;font-size:11px;line-height:1.4}.inspector-subgroup{border-top:1px solid #2d323b;flex-direction:column;gap:8px;margin-top:6px;padding-top:8px;display:flex}.subgroup-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim,#9aa5b1);margin-bottom:2px;font-size:11px;font-weight:600}.placed-features-list{flex-direction:column;gap:4px;display:flex}.placed-feature-card{cursor:pointer;background:#282d35;border:1px solid #343b44;border-radius:5px;justify-content:space-between;align-items:center;padding:6px 8px;transition:all .15s;display:flex}.placed-feature-card:hover{border-color:var(--accent,#6fd3ff);background:#2e343e}.placed-feature-card.selected{border-color:var(--accent,#6fd3ff);background:#1e2d36;box-shadow:0 0 6px #6fd3ff33}.feat-card-main{flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.feat-icon{width:14px;height:14px;color:var(--accent,#6fd3ff);flex:none}.feat-card-name{color:var(--text,#e1e4e8);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.face-badge{color:var(--text-dim,#9aa5b1);text-transform:uppercase;background:#181d23;border-radius:3px;flex:none;padding:1px 5px;font-size:10px}.viewport-orientation-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-dim,#9aa5b1);pointer-events:none;z-index:10;background:#1a1e24d9;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:10px;padding:4px 10px;font-size:11px;line-height:16px;display:flex;position:absolute;bottom:12px;right:12px}.axis-dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.axis-dot.red{background:#f55;box-shadow:0 0 4px #ff555580}.axis-dot.green{background:#50fa7b;box-shadow:0 0 4px #50fa7b80}.axis-dot.blue{background:#8be9fd;box-shadow:0 0 4px #8be9fd80}.layer-bulk-actions{gap:6px;display:flex}.layer-bulk-actions .btn-secondary{flex:1;justify-content:center;align-items:center;gap:5px;display:inline-flex}.placed-feature-card.hidden-layer{opacity:.5;filter:grayscale(.6)}.placed-feature-card.locked-layer{border-style:dashed}.layer-actions{flex:none;align-items:center;gap:2px;display:flex}.layer-btn{color:var(--text-dim,#9aa5b1);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;line-height:1;transition:all .15s}.layer-btn:hover{color:var(--text,#e1e4e8);background:#ffffff1a}.layer-btn.active-toggle{color:var(--accent,#6fd3ff);background:#6fd3ff26}.layer-del-btn{margin-left:2px;font-size:14px}.layer-del-btn:hover{color:#ff5a5a;background:#ff5a5a26}.align-mirror{border-top:1px solid #2d323b;flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;display:flex}.align-row{align-items:center;gap:6px;display:flex}.align-row-label{color:var(--text-dim,#9aa5b1);flex:none;width:42px;font-size:11px;font-weight:600}.align-row-buttons{flex:1;gap:3px;display:flex}.btn-align,.btn-mirror{color:var(--text,#e1e4e8);cursor:pointer;background:#282d35;border:1px solid #343b44;border-radius:4px;flex:1;padding:4px 2px;font-size:10px;transition:all .15s}.btn-align:hover,.btn-mirror:hover:not(:disabled){border-color:var(--accent,#6fd3ff);background:#323843}.btn-mirror{color:#d8c2ff;background:#252330;border-color:#433956}.btn-mirror:disabled{opacity:.4;cursor:not-allowed}.hole-table{flex-direction:column;gap:4px;display:flex}.hole-table-row{background:#1a1e24;border:1px solid #282d35;border-radius:4px;align-items:flex-end;gap:6px;padding:4px 6px;display:flex}.hole-num{color:var(--accent,#6fd3ff);width:20px;margin-bottom:6px;font-size:10px;font-weight:600}.hole-del-btn{color:var(--text-dim,#9aa5b1);cursor:pointer;background:0 0;border:none;margin-bottom:4px;padding:0 2px;font-size:14px}.hole-del-btn:hover{color:#ff5a5a}.btn-secondary{width:100%;color:var(--text,#e1e4e8);cursor:pointer;background:#282d35;border:1px solid #343b44;border-radius:4px;padding:5px 8px;font-size:11px;transition:all .15s}.btn-secondary:hover{border-color:var(--accent,#6fd3ff);background:#323843}.modal-overlay{z-index:10;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;min-width:280px;padding:20px 24px}.modal h3{margin-top:0}.modal-error{color:#ff9aa2}.modal button{margin-top:12px}.split-slider-row{flex-direction:column;gap:6px;padding:4px 0 2px;display:flex}.split-slider-labels{color:var(--text-muted,#8b949e);justify-content:space-between;font-size:11px;display:flex}.split-label-body strong{color:#94c8e0}.split-label-lid strong{color:#5ec4a0}.split-slider-track-wrap{align-items:center;height:18px;display:flex;position:relative}.split-slider{appearance:none;cursor:ew-resize;border-radius:3px;outline:none;width:100%;height:6px}.split-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:ew-resize;background:#ffa040;border:2px solid #282d35;border-radius:50%;width:14px;height:14px;transition:transform .1s,box-shadow .1s;box-shadow:0 0 0 1px #ffa040}.split-slider::-moz-range-thumb{cursor:ew-resize;background:#ffa040;border:2px solid #282d35;border-radius:50%;width:14px;height:14px;transition:transform .1s,box-shadow .1s;box-shadow:0 0 0 1px #ffa040}.split-slider:hover::-webkit-slider-thumb{transform:scale(1.25);box-shadow:0 0 0 3px #ffa04059}.split-slider:focus::-webkit-slider-thumb{transform:scale(1.25);box-shadow:0 0 0 3px #ffa04059}.split-slider:hover::-moz-range-thumb{transform:scale(1.25);box-shadow:0 0 0 3px #ffa04059}.split-slider:focus::-moz-range-thumb{transform:scale(1.25);box-shadow:0 0 0 3px #ffa04059}.viewport-floating-toolbar{-webkit-backdrop-filter:blur(12px);z-index:20;pointer-events:auto;background:#12161cd9;border:1px solid #ffffff1f;border-radius:24px;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000073}.vtoolbar-group{align-items:center;gap:6px;display:flex}.vtoolbar-label{color:var(--text-dim,#7a8699);text-transform:uppercase;letter-spacing:.5px;margin-right:4px;font-size:11px;font-weight:600}.vtoolbar-segmented{background:#00000059;border:1px solid #ffffff0f;border-radius:14px;padding:2px;display:flex}.vtoolbar-btn{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .15s}.vtoolbar-btn:hover{color:#fff}.vtoolbar-btn.active{color:#fff;background:#2b6cb0;font-weight:600;box-shadow:0 2px 8px #2b6cb066}.vtoolbar-divider{background:#ffffff1f;width:1px;height:18px}.vtoolbar-chip{color:#a0aec0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.vtoolbar-chip:hover{color:#fff;background:#ffffff1a}.vtoolbar-chip.active{color:#4fb3a9;background:#4fb3a933;border-color:#4fb3a980}.vtoolbar-chip .chip-icon{font-size:12px}.panel-face-buttons{gap:8px;margin-top:8px;margin-bottom:14px;display:flex}.caliper-tool-wrapper,.inspector-tab-bar{border-bottom:1px solid var(--border,#ffffff1a);z-index:10;background:#0f1218f2;gap:4px;margin-bottom:10px;padding:4px;display:flex;position:sticky;top:0}.inspector-tab-bar .tab-btn{color:var(--text-dim,#7a8699);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.inspector-tab-bar .tab-btn:hover{color:var(--text,#e2e8f0);background:#ffffff0a}.inspector-tab-bar .tab-btn.active{color:#6fd3ff;background:#6fd3ff1f;border-bottom:2px solid #6fd3ff}.inspector-tab-bar .tab-badge{color:var(--text);background:#ffffff1a;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700}.focused-feature-drawer{background:#6fd3ff0f;border:1px solid #6fd3ff66;border-radius:8px;margin-bottom:14px;overflow:hidden;box-shadow:0 4px 16px #0000004d}.focused-drawer-header{background:#6fd3ff26;border-bottom:1px solid #6fd3ff40;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.focused-drawer-title{align-items:center;gap:8px;display:flex}.focused-drawer-title .focused-name{color:#e2f4ff;font-size:13px;font-weight:700}.btn-done-edit{color:#fff;cursor:pointer;background:#2b6cb0;border:none;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.btn-done-edit:hover{background:#3182ce}.focused-drawer-content{padding:12px}.btn-danger-outline{color:#ff6b6b;cursor:pointer;background:#ff6b6b1a;border:1px solid #ff6b6b66;border-radius:6px;padding:8px;font-size:12px;font-weight:600;transition:all .15s}.btn-danger-outline:hover{color:#fff;background:#ff6b6b40}.tab-content-layers{flex-direction:column;gap:10px;display:flex}.layer-search-bar{align-items:center;margin-bottom:4px;display:flex;position:relative}.layer-search-bar .search-icon{opacity:.6;font-size:12px;position:absolute;left:10px}.layer-search-input{width:100%;color:var(--text,#e2e8f0);border:1px solid var(--border,#ffffff1f);background:#0000004d;border-radius:6px;outline:none;padding:8px 30px;font-size:12px}.layer-search-input:focus{border-color:#6fd3ff;box-shadow:0 0 0 2px #6fd3ff33}.btn-clear-search{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:11px;position:absolute;right:8px}.grouped-face-tree{flex-direction:column;gap:8px;display:flex}.face-accordion-card{background:#0003;border:1px solid #ffffff14;border-radius:6px;overflow:hidden}.face-accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.face-accordion-header:hover{background:#ffffff0f}.face-title-group{align-items:center;gap:8px;display:flex}.face-chevron{color:var(--text-dim);font-size:12px}.face-name-badge{color:#6fd3ff;letter-spacing:.5px;font-size:11px;font-weight:700}.face-count{color:var(--text-dim);font-size:11px}.btn-icon-subtle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px}.btn-icon-subtle:hover{color:#fff;background:#ffffff1a}.face-accordion-body{border-top:1px solid #ffffff0d;flex-direction:column;gap:4px;padding:6px;display:flex}.face-empty-text{color:var(--text-dim);text-align:center;padding:6px;font-size:11px}.blueprint-modal{background:var(--panel-bg,#14181f);border:1px solid var(--border,#ffffff1f);border-radius:12px;flex-direction:column;width:740px;max-width:95vw;display:flex;overflow:hidden;box-shadow:0 16px 48px #0009}.blueprint-header{background:#0000004d;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.blueprint-title{align-items:center;gap:10px;display:flex}.blueprint-title h3{color:#e2e8f0;margin:0;font-size:14px;font-weight:700}.face-dim-chip{color:#6fd3ff;background:#6fd3ff26;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.blueprint-face-tabs{background:#0000004d;border-radius:8px;gap:4px;padding:3px;display:flex}.btn-face-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s}.btn-face-tab.active{color:#fff;background:#2b6cb0}.blueprint-canvas-area{background:#0b0e14;justify-content:center;align-items:center;width:100%;height:440px;display:flex}.blueprint-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%}.blueprint-footer{background:#00000040;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.blueprint-hint{color:var(--text-dim);font-size:11px}.command-palette-modal{background:var(--panel-bg,#14181f);border:1px solid #6fd3ff4d;border-radius:12px;flex-direction:column;width:580px;max-width:90vw;display:flex;overflow:hidden;box-shadow:0 20px 60px #000000b3}.palette-input-wrapper{border-bottom:1px solid #ffffff14;align-items:center;display:flex;position:relative}.palette-input-wrapper .search-icon{color:#6fd3ff;position:absolute;left:16px}.command-palette-input{color:#fff;background:#0003;border:none;outline:none;width:100%;padding:14px 16px 14px 44px;font-size:14px;font-weight:500}.palette-results-list{max-height:360px;padding:6px;overflow-y:auto}.palette-item{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .1s;display:flex}.palette-item:hover,.palette-item.selected{background:#6fd3ff26}.palette-item .item-label{color:#e2e8f0;font-size:13px;font-weight:500}.palette-item .item-category-badge{color:var(--text-dim);background:#ffffff14;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.btn-cmd-palette-chip{color:#6fd3ff;cursor:pointer;background:#6fd3ff1f;border:1px solid #6fd3ff4d;border-radius:14px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.btn-cmd-palette-chip:hover{background:#6fd3ff40}.viewport-floating-tools{z-index:15;pointer-events:auto;align-items:flex-start;gap:8px;display:flex;position:absolute;top:14px;right:14px}.caliper-tool-wrapper{position:relative}.caliper-readout-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12161ceb;border:1px solid gold;border-radius:8px;min-width:180px;margin-top:8px;padding:10px 14px;box-shadow:0 8px 24px #00000080}.caliper-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.caliper-title{color:gold;text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.caliper-main-val{color:#fff;margin-bottom:4px;font-size:18px;font-weight:800}.caliper-deltas{color:var(--text-dim);gap:10px;font-size:11px;display:flex}.printability-card{flex-direction:column;gap:12px;display:flex}.printability-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-box{text-align:center;background:#0000004d;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;gap:4px;padding:8px;display:flex}.stat-label{color:var(--text-dim);text-transform:uppercase;font-size:10px}.stat-value{color:#6fd3ff;font-size:13px;font-weight:700}.bom-section{background:#0003;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.bom-title{color:#a0aec0;font-size:11px;font-weight:700}.bom-list{flex-direction:column;gap:4px;display:flex}.bom-item{color:#e2e8f0;justify-content:space-between;align-items:center;font-size:11px;display:flex}.bom-qty{color:#6fd3ff;font-weight:700}.warning-chip{color:#fc0;background:#ffaa001a;border:1px solid #ffaa004d;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}
