:root{--n-950: #100e0b;--n-900: #16130f;--n-850: #1c1814;--n-800: #221e19;--n-750: #2b2620;--n-700: #35302a;--n-600: #4a443c;--n-500: #6b6359;--n-400: #8c8377;--n-300: #ada396;--n-200: #cfc6ba;--n-100: #e8e1d8;--n-050: #f5f1ea;--viewport-bg: #141210;--ui-accent: #c97b3f;--ui-accent-hover: #de9459;--ui-accent-press: #a6612e;--ui-accent-tint: rgba(201, 123, 63, .14);--ui-accent-edge: rgba(201, 123, 63, .34);--ui-accent-on: #1a120a;--ui-danger: #c05a4a;--ui-danger-tint: rgba(192, 90, 74, .14);--ui-success: #7a9a6b;--ui-info: #6e8ca8;--ui-warning: #d2a044;--mat-oak: #c79a5e;--mat-walnut: #6b4530;--mat-maple: #e3cfa6;--mat-cherry: #a85235;--mat-pine: #dec08a;--mat-cedar: #c2895c;--mat-plywood: #c8a97a;--mat-mdf: #8c8073;--axis-x: #e05a4e;--axis-y: #6fbf73;--axis-z: #5a93d6;--axis-x-label: #e8897e;--axis-z-label: #8fb4dd;--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--ui-scale: 1;--fs-2xs: calc(10px * var(--ui-scale));--fs-xs: calc(11px * var(--ui-scale));--fs-sm: calc(12px * var(--ui-scale));--fs-md: calc(13px * var(--ui-scale));--fs-lg: calc(15px * var(--ui-scale));--fs-xl: calc(18px * var(--ui-scale));--fs-2xl: calc(24px * var(--ui-scale));--lh-tight: 1.2;--lh-base: 1.45;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: calc(2px * var(--ui-scale));--sp-2: calc(4px * var(--ui-scale));--sp-3: calc(6px * var(--ui-scale));--sp-4: calc(8px * var(--ui-scale));--sp-5: calc(12px * var(--ui-scale));--sp-6: calc(16px * var(--ui-scale));--sp-7: calc(20px * var(--ui-scale));--sp-8: calc(24px * var(--ui-scale));--sp-9: calc(32px * var(--ui-scale));--r-sm: 3px;--r-md: 5px;--r-lg: 8px;--r-xl: 12px;--r-full: 999px;--el-1: 0 1px 2px rgba(0, 0, 0, .32);--el-2: 0 2px 6px rgba(0, 0, 0, .36), 0 1px 2px rgba(0, 0, 0, .28);--el-3: 0 8px 20px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .3);--el-4: 0 24px 60px rgba(0, 0, 0, .55), 0 6px 16px rgba(0, 0, 0, .35);--el-inset: inset 0 1px 0 rgba(255, 255, 255, .045);--dur-instant: 80ms;--dur-fast: .13s;--dur-base: .2s;--dur-slow: .32s;--ease-out: cubic-bezier(.2, .8, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--toolbar-w: calc(56px * var(--ui-scale));--browser-w: 232px;--props-w: calc(256px * var(--ui-scale));--menu-h: calc(38px * var(--ui-scale));--status-h: calc(26px * var(--ui-scale));--bottom-h: calc(168px * var(--ui-scale));--bg: var(--n-900);--surface: var(--n-850);--surface2: var(--n-800);--border: var(--n-750);--text: var(--n-100);--text-dim: var(--n-400);--text-muted: var(--n-500);--accent: var(--ui-accent);--accent2: var(--ui-info);--accent3: var(--ui-success);--red: var(--ui-danger);--chrome-deep: var(--n-950);--surface-raised: var(--n-800);--accent-on: var(--ui-accent-on);--sketch-defined: #38bdf8;--sketch-profile: #a78bfa;--sketch-paper: rgba(12, 20, 25, .94);--sketch-grid: rgba(56, 189, 248, .18);--sketch-edge: rgba(56, 189, 248, .42)}[data-theme=light]{--n-950: #ffffff;--n-900: #fbf8f3;--n-850: #ffffff;--n-800: #f1ebe1;--n-750: #e4dcce;--n-700: #d5cabA;--n-600: #b9ac99;--n-500: #8a8071;--n-400: #6e6558;--n-300: #524a3f;--n-200: #3a342b;--n-100: #2a241d;--n-050: #17130e;--viewport-bg: #e8e2d7;--ui-accent: #a85f27;--ui-accent-hover: #8e4f1e;--ui-accent-press: #74401a;--ui-accent-tint: rgba(168, 95, 39, .12);--ui-accent-edge: rgba(168, 95, 39, .3);--ui-accent-on: #ffffff;--ui-danger: #a8402f;--ui-danger-tint: rgba(168, 64, 47, .12);--ui-success: #4f7040;--ui-info: #4c6b87;--ui-warning: #8a6212;--mat-walnut: #5a3826;--mat-maple: #c9ad78;--mat-mdf: #7d7164;--axis-x-label: #a8362c;--axis-z-label: #2d5c8f;--sketch-defined: #087ca7;--sketch-profile: #7553a6;--sketch-paper: rgba(250, 253, 254, .96);--sketch-grid: rgba(8, 124, 167, .14);--sketch-edge: rgba(8, 124, 167, .34);--el-1: 0 1px 2px rgba(74, 56, 36, .1);--el-2: 0 2px 6px rgba(74, 56, 36, .1), 0 1px 2px rgba(74, 56, 36, .07);--el-3: 0 8px 20px rgba(74, 56, 36, .14), 0 2px 6px rgba(74, 56, 36, .09);--el-4: 0 24px 60px rgba(74, 56, 36, .18), 0 6px 16px rgba(74, 56, 36, .11);--el-inset: inset 0 1px 0 rgba(255, 255, 255, .85);--chrome-deep: #f3ede3;--surface-raised: #ffffff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit}pre,code,kbd,samp{font-family:var(--font-mono)}svg{display:block}html,body,#root{height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px;border-radius:inherit}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--n-700);border-radius:var(--r-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-clip:content-box;background-color:var(--n-600)}*{scrollbar-width:thin;scrollbar-color:var(--n-700) transparent}.prop-input,.input-field{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-4);color:var(--text);font-size:var(--fs-md);outline:none;min-width:0;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.prop-input{width:108px}.prop-material-cost{display:flex;width:108px;align-items:baseline;justify-content:space-between;gap:6px;padding:3px 7px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text);cursor:pointer;font:var(--fs-sm) var(--font-mono)}.prop-material-cost:hover{border-color:var(--ui-accent-edge);background:var(--ui-accent-tint)}.prop-material-cost b{color:var(--text-muted);font:500 var(--fs-2xs) var(--font-mono)}.prop-input:hover,.input-field:hover{border-color:var(--n-700)}.prop-input:focus,.input-field:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-accent-tint)}.prop-select{width:108px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-4);color:var(--text);font-size:var(--fs-md);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c8377' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center;background-size:13px;padding-right:var(--sp-7);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.prop-select:hover{border-color:var(--n-700)}.prop-select:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-accent-tint)}input[type=range]{accent-color:var(--ui-accent)}.gd-slider-track:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px;border-radius:3px}input[type=checkbox]{accent-color:var(--ui-accent);cursor:pointer}.wood-appearance-preview{height:70px;display:grid;grid-template-columns:minmax(0,1fr) 34px 42px;gap:4px;margin:0 0 10px;padding:5px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--n-900);box-shadow:var(--el-inset)}.wood-preview-face,.wood-preview-edge,.wood-preview-end{position:relative;min-width:0;overflow:hidden;border-radius:var(--r-sm);background-color:var(--n-750)}.wood-preview-face>span{position:absolute;inset:-42%;background-repeat:repeat}.wood-preview-edge{background-repeat:repeat;background-size:cover}.wood-preview-end{background-color:var(--wood-color, #ad7a45);background-image:repeating-radial-gradient(ellipse at 45% 115%,transparent 0 5px,rgba(55,31,14,.42) 6px 7px,rgba(232,194,136,.18) 8px 10px),linear-gradient(90deg,rgba(255,255,255,.08),transparent 55%)}.wood-appearance-preview label{position:absolute;left:4px;bottom:3px;z-index:1;padding:2px 3px;border-radius:2px;background:#100e0cb8;color:#ffffffdb;font:650 8px/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;pointer-events:none}.wood-appearance-control{margin:7px 0 9px}.wood-appearance-control-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;color:var(--text-dim);font-size:var(--fs-xs)}.wood-appearance-control-label strong{color:var(--ui-accent);font:600 var(--fs-2xs)/1 var(--font-mono)}.wood-appearance-control input[type=range]{width:100%;height:12px;margin:0;cursor:ew-resize}.wood-grain-direction{min-width:48px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:3px 6px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);color:var(--text);cursor:pointer}.wood-grain-direction:hover{border-color:var(--ui-accent-edge);color:var(--ui-accent)}.wood-appearance-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.wood-appearance-actions .gd-btn{min-width:0;justify-content:center;padding-inline:5px}.wood-appearance-note{margin:8px 0 3px;padding:7px 8px;border-left:2px solid var(--ui-accent-edge);background:var(--ui-accent-tint);color:var(--text-muted);font-size:var(--fs-2xs);line-height:1.45}.btn{border-radius:var(--r-md);padding:var(--sp-3) var(--sp-6);font-size:var(--fs-md);font-weight:var(--fw-semibold);border:1px solid var(--border);background:var(--surface2);color:var(--text);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.btn:hover{background:var(--n-700);border-color:var(--n-600)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-on);box-shadow:var(--el-1)}.btn.primary:hover{background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.btn.primary:active{background:var(--ui-accent-press)}.btn.secondary{background:var(--surface2);color:var(--text)}.btn.danger{color:var(--ui-danger)}.btn.danger:hover{background:var(--ui-danger-tint);border-color:var(--ui-danger)}.modal-overlay{position:fixed;inset:0;background:#0806049e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:200}.shop-packet-modal{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--el-4),var(--el-inset)}.shop-packet-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.shop-packet-title{display:flex;align-items:center;gap:10px}.shop-packet-title>span{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-md);color:var(--ui-accent);background:var(--ui-accent-tint);border:1px solid var(--ui-accent-edge)}.shop-packet-title p{margin:0 0 2px;color:var(--text-muted);font-size:var(--fs-xs)}.shop-packet-title h2{margin:0;font-size:var(--fs-xl)}.shop-packet-intro{margin:0;padding:14px 18px;color:var(--text-dim);line-height:1.55}.shop-packet-presets{margin:0 18px;padding:0;border:0;display:grid;gap:8px}.shop-packet-presets legend{margin-bottom:8px;color:var(--text);font-size:var(--fs-sm);font-weight:600}.shop-packet-presets label{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.shop-packet-presets label[data-selected]{border-color:var(--ui-accent);background:var(--ui-accent-tint)}.shop-packet-presets input{margin-top:2px;accent-color:var(--ui-accent)}.shop-packet-presets label span{display:grid;gap:3px}.shop-packet-presets strong{font-size:var(--fs-md);color:var(--text)}.shop-packet-presets small{font-size:var(--fs-xs);line-height:1.4;color:var(--text-muted)}.shop-packet-options{margin:16px 18px 0;padding:12px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;border:1px solid var(--border);border-radius:var(--r-md)}.shop-packet-options>div{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:var(--fs-sm)}.shop-packet-segment{display:flex;gap:3px}.shop-packet-check{display:flex;align-items:center;gap:7px;color:var(--text-dim);font-size:var(--fs-sm);cursor:pointer}.shop-packet-check input{accent-color:var(--ui-accent)}.shop-packet-note{margin:12px 18px 0;padding:10px 12px;color:var(--text-muted);background:var(--surface2);border-left:2px solid var(--ui-info);font-size:var(--fs-xs);line-height:1.45}.shop-packet-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 18px 18px}.shaper-job-group{margin-bottom:14px}.shaper-job-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 2px 5px;border-bottom:1px solid var(--border)}.shaper-job-group-head strong{font-size:var(--fs-md);color:var(--text)}.shaper-job-group-head small{color:var(--text-muted);font-size:var(--fs-xs)}.shaper-setup-block{margin:8px 0 0;padding:8px 9px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2)}.shaper-setup-head{display:flex;align-items:center;gap:9px}.shaper-setup-head .shaper-job-copy strong{text-transform:capitalize}.shaper-first-article{margin-left:auto;padding:2px 7px;border-radius:999px;font-size:var(--fs-2xs);font-weight:600;color:var(--ui-accent);background:var(--ui-accent-tint);border:1px solid var(--ui-accent-edge)}.shaper-setup-datum{margin:6px 0 7px;padding:6px 8px;color:var(--text-dim);font-size:var(--fs-xs);line-height:1.45;background:var(--n-900);border-left:2px solid var(--ui-accent-edge);border-radius:var(--r-sm)}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-7);max-height:90vh;overflow-y:auto;color:var(--text);box-shadow:var(--el-inset),var(--el-4)}.modal-actions{display:flex;gap:var(--sp-4);justify-content:flex-end;padding-top:var(--sp-5);border-top:1px solid var(--border)}.sketch-delete-dialog{width:min(430px,calc(100vw - 32px));padding:0;overflow:hidden}.sketch-delete-dialog>header{display:flex;align-items:center;gap:10px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.sketch-delete-dialog>header>div{flex:1}.sketch-delete-dialog h2{margin:2px 0 0;font-size:var(--fs-xl)}.sketch-delete-dialog>p{margin:0;padding:18px 20px 10px;color:var(--text-dim);font-size:var(--fs-md);line-height:var(--lh-base)}.sketch-delete-mark{width:32px;height:32px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--ui-danger);background:var(--ui-danger-tint)}.sketch-delete-recovery{margin:0 20px 18px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);background:var(--surface2);font-size:var(--fs-xs)}.sketch-delete-dialog .modal-actions{padding:12px 20px;background:var(--surface2)}.sketch-delete-dialog .gd-btn[data-variant=danger]{color:var(--ui-danger);border-color:color-mix(in srgb,var(--ui-danger) 55%,var(--border))}.tree-delete-button{opacity:.34}.gd-row:hover .tree-delete-button,.tree-delete-button:focus-visible{opacity:1}.component-tree{--tree-indent:14px;--tree-rail: 18px ;min-height:0;height:100%;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);position:relative;overflow:hidden}.component-tree-header{flex:0 0 auto;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 8px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:600}.component-tree-add{padding:3px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text-dim);cursor:pointer;font:500 var(--fs-xs) var(--font-sans);white-space:nowrap}.component-tree-add:hover{border-color:var(--ui-accent-edge);color:var(--text)}.component-tree-scroll{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:3px 0 12px}.component-tree-scroll:before,.component-tree-scroll:after{content:"";position:sticky;display:block;z-index:1;height:7px;pointer-events:none}.component-tree-scroll:before{top:-3px;margin-bottom:-7px;box-shadow:0 5px 8px -8px #000000e6}.component-tree-scroll:after{bottom:-12px;margin-top:-7px;box-shadow:0 -5px 8px -8px #000000e6}.component-tree-empty,.component-tree-drop-hint{padding:10px 12px;color:var(--text-muted);font-size:var(--fs-sm)}.component-tree-drop-hint{margin:2px 10px 5px;padding:7px 10px;border:1px dashed var(--border);border-radius:var(--r-sm);font-size:var(--fs-xs)}.component-tree-drop-target[data-drop-active=true]{background:linear-gradient(90deg,var(--ui-accent-tint),transparent);box-shadow:inset 2px 0 var(--ui-accent)}.component-tree-row{display:flex;align-items:center;min-width:0;gap:6px;padding-top:5px;padding-bottom:5px}.component-tree-caret{display:inline-grid;width:13px;min-width:13px;height:16px;place-items:center;color:var(--text-muted);cursor:pointer}.component-tree-caret>span{width:13px}.component-tree-grip{display:inline-grid;width:14px;height:18px;place-items:center;padding:0;border:0;border-radius:3px;color:var(--text-muted);background:transparent;cursor:grab;touch-action:none;opacity:.45}.component-tree-row:hover .component-tree-grip,.component-tree-grip:focus-visible{opacity:1;background:var(--surface2)}.component-tree-grip:active{cursor:grabbing}.component-tree-icon{display:inline-flex;flex:0 0 auto;color:var(--text-dim)}.component-tree-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%}.component-tree-label{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.component-tree-label input{width:100%;min-width:0;box-sizing:border-box;padding:2px 5px;border:1px solid var(--ui-accent);border-radius:var(--r-sm);outline:none;color:var(--text);background:var(--n-800);font:inherit}.component-tree-value{flex:0 0 auto;padding-left:8px;color:var(--text-dim);font:var(--fs-2xs) var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.component-tree-caption{flex:0 1 auto;min-width:0;overflow:hidden;max-width:88px;padding-left:8px;color:var(--text-muted);font:var(--fs-2xs) var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.component-tree-visibility{width:20px!important;height:20px!important;flex:0 0 auto;margin-left:auto}.component-tree-children,.component-tree-features{border-left:1px solid color-mix(in srgb,var(--border) 75%,transparent)}.component-tree-children{margin-left:var(--tree-rail)}.component-tree-features{margin-left:calc(var(--tree-rail) + var(--tree-indent))}.component-tree-drag-label{position:absolute;z-index:4;right:10px;bottom:9px;max-width:calc(100% - 20px);padding:5px 8px;overflow:hidden;border:1px solid var(--ui-accent-edge);border-radius:var(--r-sm);color:var(--text);background:var(--surface-raised);box-shadow:var(--el-2);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.component-tree-menu{position:fixed;z-index:300;width:204px;padding:5px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--el-4)}.component-tree-menu button{display:flex;width:100%;align-items:center;gap:7px;padding:7px 8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-dim);cursor:pointer;font:var(--fs-sm) var(--font-sans);text-align:left}.component-tree-menu button:hover:not(:disabled){color:var(--text);background:var(--surface2)}.component-tree-menu button:disabled{cursor:default;opacity:.42}.component-tree-menu-label{padding:7px 8px 3px;color:var(--text-muted);font:600 var(--fs-2xs) var(--font-sans)}.component-tree-menu-danger{color:var(--ui-danger)!important}.component-tree-menu-dismiss{margin-top:3px;border-top:1px solid var(--border)!important;border-radius:0!important;color:var(--text-muted)!important}.project-shelf{position:relative;width:min(760px,calc(100vw - 28px));max-height:min(780px,calc(100vh - 28px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--el-inset),var(--el-4);color:var(--text)}.project-shelf-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 15px;border-bottom:1px solid var(--border);background:linear-gradient(105deg,color-mix(in srgb,var(--surface2) 84%,var(--ui-accent-tint)),var(--surface))}.project-shelf-title{display:flex;align-items:center;gap:11px;min-width:0}.project-shelf-mark{display:grid;width:34px;height:34px;place-items:center;flex:0 0 auto;border:1px solid var(--ui-accent-edge);border-radius:var(--r-md);background:var(--ui-accent-tint);color:var(--ui-accent)}.project-shelf-title p,.project-shelf-kicker{margin:0 0 3px;color:var(--ui-accent);font:700 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.project-shelf-title h2{margin:0;font-size:var(--fs-xl);line-height:1.15}.project-shelf-ledger{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.project-shelf-ledger>div{display:flex;min-width:0;flex-direction:column;gap:3px;padding:10px 14px;background:var(--surface2)}.project-shelf-ledger strong{display:flex;align-items:center;gap:5px;color:var(--text);font:700 var(--fs-sm)/1.2 var(--font-mono)}.project-shelf-ledger span{overflow:hidden;color:var(--text-muted);font-size:var(--fs-2xs);text-overflow:ellipsis;white-space:nowrap}.project-shelf-ledger [data-warning] strong{color:var(--ui-warning)}.project-shelf-current{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 16px 0;padding:12px 13px;border:1px solid var(--ui-accent-edge);border-radius:var(--r-lg);background:var(--ui-accent-tint)}.project-shelf-current>div:first-child{display:flex;min-width:0;flex-direction:column;gap:3px}.project-shelf-current strong{color:var(--text);font-size:var(--fs-md)}.project-shelf-current>div:first-child>span:last-child{color:var(--text-muted);font-size:var(--fs-xs)}.project-shelf-current-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.project-shelf-save-form{display:grid;grid-template-columns:auto minmax(160px,1fr) auto auto;align-items:center;gap:8px;margin:10px 16px 0;padding:9px 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2)}.project-shelf-save-form label{color:var(--text-muted);font-size:var(--fs-xs)}.project-shelf-save-form input,.project-shelf-row-main input{width:100%;min-width:0;border:1px solid var(--ui-accent-edge);border-radius:var(--r-sm);background:var(--n-800);color:var(--text);outline:none;padding:6px 8px;font:var(--fs-sm) var(--font-sans)}.project-shelf-save-form input:focus,.project-shelf-row-main input:focus{border-color:var(--ui-accent)}.project-shelf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:17px 16px 8px}.project-shelf-toolbar>div{display:flex;min-width:0;flex-direction:column;gap:3px}.project-shelf-subtitle{color:var(--text-muted);font-size:var(--fs-xs)}.project-shelf-file-input{display:none}.project-shelf-list{min-height:96px;max-height:272px;margin:0 16px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised)}.project-shelf-row{display:flex;align-items:center;gap:12px;min-height:58px;padding:9px 10px 9px 12px;border-bottom:1px solid var(--border)}.project-shelf-row:last-child{border-bottom:none}.project-shelf-row:hover{background:var(--surface2)}.project-shelf-row-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.project-shelf-row-main strong{overflow:hidden;color:var(--text);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap}.project-shelf-row-main span{display:flex;align-items:center;gap:4px;overflow:hidden;color:var(--text-muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.project-shelf-row-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}.project-shelf-row-actions .gd-btn{margin-left:3px}.project-shelf-confirm{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto;color:var(--ui-warning);font-size:var(--fs-xs)}.project-shelf-empty{display:flex;min-height:96px;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:16px;color:var(--text-muted);text-align:center;font-size:var(--fs-sm)}.project-shelf-empty svg{color:var(--ui-accent)}.project-shelf-empty strong{color:var(--text)}.project-shelf-recovery{margin:12px 16px 0;border-top:1px solid var(--border)}.project-shelf-recovery summary{display:flex;align-items:center;gap:7px;padding:10px 1px;color:var(--text-dim);cursor:pointer;font-size:var(--fs-sm)}.project-shelf-recovery summary span{margin-left:auto;color:var(--text-muted);font-size:var(--fs-xs)}.project-shelf-recovery p{margin:0 0 7px;color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.project-shelf-recovery-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);color:var(--text-muted);font-size:var(--fs-xs)}.project-shelf-note{margin-top:12px;padding:11px 16px;border-top:1px solid var(--border);background:var(--surface2);color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.project-shelf-note b{color:var(--text-dim)}.project-shelf-import-dialog{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:28px;background:#100e0beb;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-align:center}.project-shelf-import-dialog h3{margin:5px 0 7px;color:var(--text);font-size:var(--fs-xl)}.project-shelf-import-dialog p{max-width:370px;margin:0;color:var(--text-muted);font-size:var(--fs-md);line-height:var(--lh-base)}.project-shelf-import-dialog>div:last-child{display:flex;gap:8px}.autobuilt-sheet{position:relative;width:min(760px,calc(100vw - 28px));max-height:min(780px,calc(100vh - 28px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--el-inset),var(--el-4);color:var(--text)}.autobuilt-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 15px;border-bottom:1px solid var(--border);background:linear-gradient(105deg,color-mix(in srgb,var(--surface2) 84%,var(--ui-accent-tint)),var(--surface))}.autobuilt-title{display:flex;align-items:center;gap:11px;min-width:0}.autobuilt-mark{display:grid;width:34px;height:34px;place-items:center;flex:0 0 auto;border:1px solid var(--ui-accent-edge);border-radius:var(--r-md);background:var(--ui-accent-tint);color:var(--ui-accent)}.autobuilt-title p{margin:0 0 3px;color:var(--ui-accent);font:700 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.1em}.autobuilt-title h2{margin:0;font-size:var(--fs-xl);line-height:1.15}.autobuilt-intro{margin:0;padding:13px 20px;color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-base);border-bottom:1px solid var(--border)}.autobuilt-intro b{color:var(--text)}.autobuilt-list{min-height:0;flex:1 1 auto;overflow:auto;padding:6px 12px 10px}.autobuilt-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) 128px;align-items:center;gap:12px;padding:9px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.autobuilt-row:last-child{border-bottom:none}.autobuilt-row-head{position:sticky;top:0;z-index:1;padding-top:9px;padding-bottom:7px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em}.autobuilt-name{display:flex;flex-direction:column;gap:2px;min-width:0;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text)}.autobuilt-name em{font-family:inherit;font-style:normal;font-size:var(--fs-2xs);color:var(--text-muted)}.autobuilt-source{display:flex;flex-direction:column;gap:2px;min-width:0}.autobuilt-source b{font-size:var(--fs-xs);font-weight:600;color:var(--text-dim)}.autobuilt-source b[data-confidence=low]{color:var(--ui-warning)}.autobuilt-source b[data-confidence=medium]{color:var(--ui-info)}.autobuilt-source em{font-style:normal;font-size:var(--fs-2xs);line-height:1.4;color:var(--text-muted)}.autobuilt-row[data-confidence=low]{border-left:2px solid var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 7%,transparent)}.autobuilt-row[data-confidence=medium]{border-left:2px solid color-mix(in srgb,var(--ui-info) 70%,transparent)}.autobuilt-row[data-confidence=high]{border-left:2px solid transparent}.autobuilt-warn{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 20px;border-top:1px solid var(--border);color:var(--ui-warning);font-size:var(--fs-xs);line-height:var(--lh-base)}.autobuilt-warn svg{flex:0 0 auto;margin-top:2px}.autobuilt-error{margin:0;padding:10px 20px;border-top:1px solid var(--border);background:var(--ui-danger-tint);color:var(--ui-danger);font-size:var(--fs-xs);line-height:var(--lh-base)}.autobuilt-report{margin:0;padding:14px 20px;overflow:auto;max-height:340px;font:var(--fs-2xs)/1.55 var(--font-mono);color:var(--text-dim);white-space:pre-wrap}.autobuilt-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface2)}.autobuilt-count{margin-right:auto;color:var(--text-muted);font-size:var(--fs-xs);font-family:var(--font-mono)}.autobuilt-sheet-review{width:min(1120px,calc(100vw - 28px));max-height:min(900px,calc(100vh - 28px))}.autobuilt-review-scroll{min-height:0;flex:1 1 auto;overflow:auto;padding:14px 16px 20px;background:color-mix(in srgb,var(--surface2) 74%,var(--surface))}.autobuilt-review-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:12px}.autobuilt-review-preview,.autobuilt-review-photo{min-height:300px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.autobuilt-review-preview{display:flex;min-width:0;flex-direction:column}.autobuilt-review-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border)}.autobuilt-review-section-head div{display:flex;min-width:0;flex-direction:column}.autobuilt-review-section-head b{font-size:var(--fs-sm)}.autobuilt-review-section-head span{color:var(--text-muted);font-size:var(--fs-2xs)}.autobuilt-review-assembly-svg{width:100%;min-height:250px;flex:1 1 auto;padding:14px;background:var(--viewport-bg)}.autobuilt-review-assembly-stock{fill:color-mix(in srgb,var(--ui-warning) 48%,var(--surface));stroke:color-mix(in srgb,var(--ui-warning) 70%,var(--text));stroke-width:.8;vector-effect:non-scaling-stroke}.autobuilt-review-photo{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;cursor:pointer;padding:20px;color:var(--text-muted);text-align:center}.autobuilt-review-photo:hover{border-color:var(--ui-accent-edge);color:var(--text)}.autobuilt-review-photo b{color:var(--text);font-size:var(--fs-sm)}.autobuilt-review-photo span{max-width:220px;font-size:var(--fs-xs)}.autobuilt-review-photo input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.autobuilt-review-photo img{width:100%;height:100%;max-height:360px;object-fit:contain}.autobuilt-review-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.autobuilt-review-summary b{font-size:var(--fs-sm)}.autobuilt-review-summary span{flex:0 0 auto;color:var(--text-muted);font-size:var(--fs-2xs)}.autobuilt-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.autobuilt-review-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--el-1)}.autobuilt-review-card[data-confidence=low]{border-left:2px solid var(--ui-warning)}.autobuilt-review-card[data-confidence=medium]{border-left:2px solid var(--ui-info)}.autobuilt-review-card[data-confidence=high]{border-left:2px solid var(--ui-success)}.autobuilt-review-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid var(--border)}.autobuilt-review-card>header div{min-width:0}.autobuilt-review-card>header span{color:var(--text-muted);font:var(--fs-2xs)/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.autobuilt-review-card>header h3{margin:4px 0 0;font-size:var(--fs-md);line-height:1.2}.autobuilt-review-card>header>b{flex:0 0 auto;padding:3px 7px;border-radius:var(--r-pill);background:var(--surface2);font-size:var(--fs-2xs)}.autobuilt-review-card-drawing{display:grid;height:190px;place-items:center;padding:10px;border-bottom:1px solid var(--border);background:repeating-linear-gradient(0deg,transparent 0 15px,color-mix(in srgb,var(--border) 35%,transparent) 16px),repeating-linear-gradient(90deg,transparent 0 15px,color-mix(in srgb,var(--border) 35%,transparent) 16px),var(--surface2)}.autobuilt-review-drawing{width:100%;height:100%}.autobuilt-review-stock{fill:color-mix(in srgb,var(--ui-warning) 42%,var(--surface));stroke:color-mix(in srgb,var(--ui-warning) 72%,var(--text));stroke-width:1.2;vector-effect:non-scaling-stroke}.autobuilt-review-dimension{stroke:var(--text-muted);stroke-width:.8;vector-effect:non-scaling-stroke}.autobuilt-review-size{fill:var(--text-dim);font-family:var(--font-mono)}.autobuilt-review-card-body{padding:11px 12px 12px}.autobuilt-review-chips{display:flex;flex-wrap:wrap;gap:5px}.autobuilt-review-chips span{padding:3px 6px;border-left:2px solid var(--border);background:var(--surface2);color:var(--text-dim);font-size:var(--fs-2xs)}.autobuilt-review-chips span[data-confidence=high]{border-color:var(--ui-success)}.autobuilt-review-chips span[data-confidence=medium]{border-color:var(--ui-info)}.autobuilt-review-chips span[data-confidence=low]{border-color:var(--ui-warning)}.autobuilt-review-card-body>p{min-height:34px;margin:9px 0;color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.autobuilt-review-choice{display:grid;grid-template-columns:1fr 1fr;gap:6px}.autobuilt-review-choice button{display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;min-height:32px;border:1px solid var(--border);border-radius:var(--r-md);background:transparent;color:var(--text-muted);font-size:var(--fs-xs);font-weight:600}.autobuilt-review-choice button:hover{border-color:var(--ui-accent-edge);color:var(--text)}.autobuilt-review-choice button[aria-pressed=true]:first-child{border-color:var(--ui-success);background:color-mix(in srgb,var(--ui-success) 10%,transparent);color:var(--ui-success)}.autobuilt-review-choice button[aria-pressed=true]:last-child{border-color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 10%,transparent);color:var(--ui-warning)}.autobuilt-review-card textarea{width:100%;min-height:68px;resize:vertical;margin-top:7px;padding:8px 9px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);color:var(--text);font-size:var(--fs-xs)}.autobuilt-review-card textarea:focus{outline:1px solid var(--ui-accent);border-color:var(--ui-accent-edge)}.autobuilt-review-question{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:9px;border:1px solid color-mix(in srgb,var(--ui-warning) 45%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--ui-warning) 7%,transparent);color:var(--text-dim);font-size:var(--fs-xs)}.autobuilt-review-question>b{display:flex;align-items:center;gap:5px;color:var(--ui-warning)}.autobuilt-review-question textarea{margin-top:0}.autobuilt-review-question-wide{margin:12px 0 0}.autobuilt-review-question-wide textarea{min-height:74px;padding:8px 9px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text)}.autobuilt-review-uncertain{margin-top:12px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--ui-warning) 45%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--ui-warning) 8%,transparent);color:var(--text-dim)}.autobuilt-review-uncertain>b{display:flex;align-items:center;gap:6px;color:var(--ui-warning);font-size:var(--fs-xs)}.autobuilt-review-uncertain ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px;margin:7px 0 0;padding-left:18px;font-size:var(--fs-xs)}@media(max-width:760px){.autobuilt-review-hero,.autobuilt-review-grid{grid-template-columns:1fr}.autobuilt-review-summary{align-items:flex-start;flex-direction:column;gap:4px}.autobuilt-review-uncertain ul{grid-template-columns:1fr}.autobuilt-review-photo{min-height:180px}}.material-cost-sheet{position:relative;width:min(720px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--el-inset),var(--el-4);color:var(--text)}.material-cost-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 15px;border-bottom:1px solid var(--border);background:linear-gradient(105deg,color-mix(in srgb,var(--surface2) 84%,var(--ui-accent-tint)),var(--surface))}.material-cost-title{display:flex;align-items:center;gap:11px;min-width:0}.material-cost-mark{display:grid;width:34px;height:34px;place-items:center;flex:0 0 auto;border:1px solid var(--ui-accent-edge);border-radius:var(--r-md);background:var(--ui-accent-tint);color:var(--ui-accent)}.material-cost-title p{margin:0 0 3px;color:var(--ui-accent);font:700 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.1em}.material-cost-title h2{margin:0;font-size:var(--fs-xl);line-height:1.15}.material-cost-intro{margin:0;padding:13px 20px;color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-base);border-bottom:1px solid var(--border)}.material-cost-intro b{color:var(--text-dim)}.material-cost-list{min-height:0;flex:1 1 auto;overflow:auto;padding:6px 12px 10px}.material-cost-row{display:grid;grid-template-columns:minmax(0,1.15fr) 118px 132px minmax(0,1fr);align-items:center;gap:10px;padding:7px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.material-cost-row:last-child{border-bottom:none}.material-cost-row-head{position:sticky;top:0;z-index:1;padding-top:9px;padding-bottom:7px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em}.material-cost-row[data-used=false]{color:var(--text-muted)}.material-cost-species{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;color:var(--text);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap}.material-cost-row[data-used=false] .material-cost-species{color:var(--text-dim)}.material-cost-species i{width:11px;height:11px;flex:0 0 auto;border:1px solid rgba(0,0,0,.28);border-radius:3px}.material-cost-mode{display:inline-flex;gap:0}.material-cost-mode .gd-btn{padding:3px 10px;border-radius:0;font-size:var(--fs-xs)}.material-cost-mode .gd-btn:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.material-cost-mode .gd-btn:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0;margin-left:-1px}.material-cost-rate{display:flex;align-items:center;gap:5px}.material-cost-rate b{color:var(--text-muted);font:500 var(--fs-xs) var(--font-mono)}.material-cost-money{display:inline-flex;align-items:center;gap:2px;min-width:0;padding:4px 7px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--n-800)}.material-cost-money:focus-within{border-color:var(--ui-accent)}.material-cost-money>span{color:var(--text-muted);font:var(--fs-xs) var(--font-mono)}.material-cost-money input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);outline:none;font:var(--fs-sm) var(--font-mono)}.material-cost-usage{display:flex;min-width:0;flex-direction:column;gap:1px;align-items:flex-end;text-align:right}.material-cost-usage strong{color:var(--text);font:700 var(--fs-sm) var(--font-mono)}.material-cost-usage span{color:var(--text-muted);font-size:var(--fs-2xs)}.material-cost-unused{font-style:italic}.material-cost-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px;border-top:1px solid var(--border);background:var(--surface2)}.material-cost-total{display:flex;flex-direction:column;gap:2px}.material-cost-total strong{color:var(--ui-accent);font:700 var(--fs-lg) var(--font-mono)}.material-cost-total span{color:var(--text-muted);font-size:var(--fs-xs)}.material-cost-actions{display:flex;align-items:center;gap:8px}.material-cost-note{margin:0;padding:10px 16px;border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}@media(max-width:620px){.material-cost-sheet{max-height:calc(100vh - 16px);width:calc(100vw - 16px)}.material-cost-row{grid-template-columns:minmax(0,1fr) 104px 118px}.material-cost-row>span:last-child{grid-column:1 / -1;align-items:flex-start;text-align:left}}@media(max-width:620px){.project-shelf{max-height:calc(100vh - 16px);width:calc(100vw - 16px)}.project-shelf-header{padding:15px}.project-shelf-ledger{grid-template-columns:1fr 1fr}.project-shelf-ledger>div:first-child{grid-column:1 / -1}.project-shelf-current,.project-shelf-toolbar{align-items:stretch;flex-direction:column;margin-left:12px;margin-right:12px}.project-shelf-current-actions{justify-content:stretch}.project-shelf-current-actions .gd-btn{flex:1}.project-shelf-save-form{grid-template-columns:1fr auto auto;margin-left:12px;margin-right:12px}.project-shelf-save-form label{grid-column:1 / -1}.project-shelf-list,.project-shelf-recovery{margin-left:12px;margin-right:12px}.project-shelf-row{align-items:flex-start;flex-direction:column;gap:7px}.project-shelf-row-actions,.project-shelf-confirm{width:100%;justify-content:flex-end}}.gd-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--el-inset)}.workbench-empty-state{display:flex;flex-direction:column;gap:11px;padding:18px 13px;color:var(--text-dim)}.workbench-empty-kicker{color:var(--ui-accent);font:700 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.workbench-empty-state h2{color:var(--text);font-size:var(--fs-xl);line-height:1.15}.workbench-empty-state p{font-size:var(--fs-sm);line-height:var(--lh-base)}.workbench-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.workbench-summary-metric{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2)}.workbench-summary-metric strong{color:var(--text);font:700 var(--fs-lg)/1 var(--font-mono)}.workbench-summary-metric span{color:var(--text-muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.07em}.workbench-empty-actions{display:flex;gap:6px}.workbench-empty-actions .gd-btn{flex:1}.workbench-empty-tip{padding:9px 10px;border-left:2px solid var(--ui-accent);background:var(--ui-accent-tint);color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.workbench-empty-tip span{display:block;margin-bottom:3px;color:var(--ui-accent);font:700 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.1em}.gd-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--text-dim);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.gd-btn:hover{background:var(--n-800);color:var(--text)}.gd-btn:active{background:var(--n-700)}.gd-btn:disabled{opacity:.4;pointer-events:none}.gd-btn[data-variant=outline]{border-color:var(--border);background:var(--surface2);color:var(--text)}.gd-btn[data-variant=outline]:hover{background:var(--n-700);border-color:var(--n-600)}.gd-btn[data-variant=primary]{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-on);font-weight:var(--fw-semibold);box-shadow:var(--el-1)}.gd-btn[data-variant=primary]:hover{background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.gd-btn[data-variant=primary]:active{background:var(--ui-accent-press)}.gd-btn[data-variant=danger]{color:var(--ui-danger)}.gd-btn[data-variant=danger]:hover{background:var(--ui-danger-tint);border-color:var(--ui-danger);color:var(--ui-danger)}.gd-btn[data-active=true]{background:var(--ui-accent-tint);border-color:var(--ui-accent-edge);color:var(--ui-accent)}.gd-btn[data-active=true]:hover{background:var(--ui-accent-tint);border-color:var(--ui-accent)}.gd-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--text-dim);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.gd-icon-btn:hover{background:var(--n-800);color:var(--text)}.gd-icon-btn:active{background:var(--n-700)}.gd-icon-btn[data-variant=danger]:hover{background:var(--ui-danger-tint);color:var(--ui-danger)}.gd-tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;width:42px;height:42px;border-radius:var(--r-lg);border:1px solid transparent;background:transparent;color:var(--text-dim);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.gd-tool-btn:hover{background:var(--n-800);color:var(--text)}.gd-tool-btn[data-active=true]{background:var(--ui-accent-tint);border-color:var(--ui-accent-edge);color:var(--ui-accent)}.viewport-workbench-context{display:inline-flex;align-items:baseline;gap:6px;padding:3px 8px;border-left:1px solid var(--border);color:var(--text-muted);font:500 var(--fs-xs)/1 var(--font-mono);white-space:nowrap}.viewport-navigation-bar{position:absolute;z-index:14;left:50%;bottom:12px;transform:translate(-50%);display:flex;align-items:center;gap:5px;min-height:34px;max-width:calc(100% - 24px);padding:4px 6px;border:1px solid color-mix(in srgb,var(--ui-accent) 34%,var(--border));border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--el-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-dim);white-space:nowrap}.viewport-nav-button,.viewport-nav-field,.viewport-nav-number{display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:0 7px;border:1px solid transparent;border-radius:var(--r-md);color:var(--text-dim);font-size:var(--fs-xs)}.viewport-nav-button{cursor:pointer}.viewport-nav-button:hover,.viewport-nav-field:hover,.viewport-nav-number:hover{background:var(--surface2);color:var(--text)}.viewport-nav-fit{color:var(--ui-accent)}.viewport-nav-field select{max-width:92px;border:0;outline:0;background:transparent;color:var(--text);font:600 var(--fs-xs)/1 var(--font-mono);cursor:pointer}.viewport-nav-number input{width:38px;border:0;outline:0;background:transparent;color:var(--text);font:600 var(--fs-xs)/1 var(--font-mono);text-align:right}.viewport-nav-number span{color:var(--text-muted);font-family:var(--font-mono)}.viewport-nav-divider{width:1px;height:18px;background:var(--border)}.viewport-nav-hint{padding:0 6px;color:var(--text-muted);font-size:var(--fs-2xs)}@media(max-width:980px){.viewport-nav-hint,.viewport-workbench-context{display:none}}.workspace-tabs{min-height:44px;display:flex;align-items:stretch;gap:18px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--border);color:var(--text-dim);flex-shrink:0}.workspace-tabs-list{display:flex;align-items:stretch;gap:3px}.workspace-tab{display:inline-flex;align-items:center;gap:7px;min-width:92px;justify-content:center;padding:0 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-dim);font:600 var(--fs-sm)/1 var(--font-sans);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.workspace-tab:hover{background:var(--surface2);color:var(--text)}.workspace-tab[data-active=true]{color:var(--accent);background:var(--ui-accent-tint);border-bottom-color:var(--accent)}.model-browser-panel{width:var(--browser-w);min-width:var(--browser-w);position:relative;flex:0 0 auto;display:flex;flex-direction:column;min-height:0;overflow:visible;box-sizing:border-box;background:var(--surface);border-right:1px solid var(--border)}.model-browser-header{height:44px;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 12px;border-bottom:1px solid var(--border);color:var(--text)}.model-browser-header>div{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:650}.model-browser-header svg{color:var(--accent)}.model-browser-panel>div:last-child{min-height:0}.project-panel-tablist{display:flex;flex-direction:column;gap:3px;padding:7px;border-bottom:1px solid var(--border);flex-shrink:0}.project-panel-tab{min-height:30px;display:flex;align-items:center;gap:8px;padding:0 9px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-muted);font:600 var(--fs-xs)/1 var(--font-sans);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.project-panel-tab:hover{color:var(--text);background:var(--surface2)}.project-panel-tab[data-active=true]{color:var(--accent);background:var(--ui-accent-tint);border-color:var(--ui-accent-edge)}.project-panel-tab svg{flex:0 0 auto}.project-panel-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variables-launcher{display:flex;align-items:center;gap:10px;margin:10px;padding:13px 12px;border:1px solid var(--ui-accent-edge);border-radius:var(--r-lg);background:var(--ui-accent-tint);color:var(--accent)}.variables-launcher>div{min-width:0;flex:1}.variables-launcher strong,.variables-launcher span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variables-launcher strong{color:var(--text);font-size:var(--fs-sm)}.variables-launcher span{margin-top:3px;color:var(--text-muted);font-size:var(--fs-2xs)}.variables-launcher .gd-btn{flex:0 0 auto;min-height:32px;white-space:nowrap}.variables-dock{position:relative;flex:0 0 auto;min-height:34px;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--surface);color:var(--text);overflow:hidden;z-index:10}.variables-dock[data-open=false]{height:34px}.variables-dock-header{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 9px 0 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,var(--ui-accent-tint));flex:0 0 auto}.variables-dock-title,.variables-dock-actions,.variables-dock-tabs{display:flex;align-items:center;gap:7px}.variables-dock-title{min-width:0;color:var(--accent)}.variables-dock-title strong{color:var(--text);font-size:var(--fs-xs)}.variables-dock-title span{color:var(--text-muted);font-size:var(--fs-2xs);white-space:nowrap}.variables-dock-actions .gd-icon-btn{width:28px;height:28px}.variables-dock-content{flex:1;min-height:0;overflow:hidden}.variables-dock-content>.variables-panel{height:100%;box-sizing:border-box}.variables-dock-tabs{min-width:0;gap:2px}.dock-tab{display:flex;align-items:center;gap:6px;padding:4px 9px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font:var(--fs-xs) var(--font-sans)}.dock-tab:hover{color:var(--text-dim);background:var(--surface2)}.dock-tab strong{font-weight:600;font-size:var(--fs-xs)}.dock-tab[data-active=true]{color:var(--text);background:var(--ui-accent-tint);box-shadow:inset 0 0 0 1px var(--ui-accent-edge)}.dock-tab[data-active=true] svg{color:var(--accent)}.dock-tab-meta{color:var(--text-muted);font-size:var(--fs-2xs);white-space:nowrap}.dock-tab-badge{min-width:16px;padding:0 4px;border-radius:var(--r-full);background:var(--ui-danger);color:var(--n-950);font:600 var(--fs-2xs) var(--font-mono);text-align:center}.console-panel{height:100%;display:flex;flex-direction:column;min-height:0}.console-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:6px 9px;border-bottom:1px solid var(--border)}.console-filter-group{display:flex;gap:2px}.console-chip{display:flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text-muted);cursor:pointer;font:var(--fs-2xs) var(--font-sans)}.console-chip span{color:var(--text-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.console-chip[data-active=true]{border-color:var(--ui-accent-edge);background:var(--ui-accent-tint);color:var(--text)}.console-select,.console-search{padding:3px 7px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--n-800);color:var(--text-dim);font:var(--fs-2xs) var(--font-sans);outline:none}.console-search{flex:1 1 auto;min-width:0}.console-search:focus-visible,.console-select:focus-visible{border-color:var(--ui-accent)}.console-toolbar-actions{display:flex;gap:3px;margin-left:auto}.console-toolbar-actions .gd-icon-btn{width:26px;height:26px}.console-toolbar-actions .gd-icon-btn:disabled{opacity:.35;cursor:default}.console-log{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:3px 0 8px}.console-empty{display:flex;align-items:center;gap:8px;padding:14px 12px;color:var(--text-muted);font-size:var(--fs-xs)}.console-entry{border-left:2px solid transparent}.console-entry[data-level=error]{border-left-color:var(--ui-danger)}.console-entry[data-level=warn]{border-left-color:var(--ui-warning)}.console-entry[data-level=success]{border-left-color:var(--ui-accent)}.console-entry-main{display:flex;align-items:baseline;gap:8px;width:100%;padding:4px 10px;border:0;background:transparent;color:var(--text-dim);cursor:pointer;font:var(--fs-xs) var(--font-sans);text-align:left}.console-entry-main:hover{background:var(--n-800)}.console-time{flex:0 0 auto;color:var(--text-muted);font:var(--fs-2xs) var(--font-mono);font-variant-numeric:tabular-nums}.console-level{flex:0 0 12px;text-align:center;font:600 var(--fs-xs) var(--font-mono)}.console-entry[data-level=error] .console-level{color:var(--ui-danger)}.console-entry[data-level=warn] .console-level{color:var(--ui-warning)}.console-entry[data-level=success] .console-level{color:var(--accent)}.console-entry[data-level=info] .console-level{color:var(--text-muted)}.console-category{flex:0 0 74px;overflow:hidden;color:var(--text-muted);font:var(--fs-2xs) var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.console-message{flex:1 1 auto;min-width:0;color:var(--text);overflow-wrap:anywhere}.console-count{flex:0 0 auto;padding:0 5px;border-radius:var(--r-full);background:var(--surface2);color:var(--text-muted);font:var(--fs-2xs) var(--font-mono)}.console-disclosure{flex:0 0 auto;display:inline-flex;color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-out)}.console-disclosure[data-open=true]{transform:rotate(90deg)}.console-detail{margin:0 10px 7px 92px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--n-900);color:var(--text-dim);font:var(--fs-2xs) var(--font-mono);white-space:pre-wrap;overflow-x:auto}.variables-dock-resizer{height:12px;flex:0 0 12px;display:grid;place-items:center;margin-bottom:-1px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface);cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none}.variables-dock-resizer:hover,.variables-dock[data-resizing=true] .variables-dock-resizer{color:var(--accent);background:var(--ui-accent-tint)}.variables-dock-resizer svg{pointer-events:none}.shaper-deck{flex:1;min-height:0;overflow:auto;background:var(--surface);color:var(--text)}.shaper-deck-header{display:flex;align-items:center;gap:9px;padding:12px 12px 8px;border-bottom:1px solid var(--border)}.shaper-deck-mark{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--ui-accent-edge);color:var(--accent);background:var(--ui-accent-tint);border-radius:var(--r-md)}.shaper-deck-header>div:nth-child(2){min-width:0;flex:1}.shaper-deck-header span,.shaper-kicker{display:block;color:var(--accent3);font:700 var(--fs-2xs)/1.1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.shaper-deck-header h2{margin:2px 0 0;font-size:var(--fs-md);line-height:1.05}.shaper-deck-intro{margin:0;padding:8px 12px 10px;color:var(--text-muted);font-size:var(--fs-xs);line-height:1.45}.shaper-deck-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 8px 8px;gap:4px;border-bottom:1px solid var(--border)}.shaper-deck-tabs button{min-height:30px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);display:flex;justify-content:center;align-items:center;gap:5px;font-size:var(--fs-2xs);cursor:pointer}.shaper-deck-tabs button[data-active=true]{color:var(--accent);background:var(--ui-accent-tint);border-color:var(--ui-accent-edge)}.shaper-job-list{padding:7px}.shaper-job-row{width:100%;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid transparent;background:transparent;color:var(--text);text-align:left;cursor:pointer;border-radius:var(--r-md)}.shaper-job-row:hover,.shaper-job-row[data-active=true]{background:var(--surface2);border-color:var(--ui-accent-edge)}.shaper-job-ref{flex:0 0 auto;min-width:27px;color:var(--accent);font:700 var(--fs-xs) var(--font-mono)}.shaper-job-copy{min-width:0;flex:1}.shaper-job-copy strong,.shaper-job-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shaper-job-copy strong{font-size:var(--fs-xs)}.shaper-job-copy small{color:var(--text-muted);font-size:var(--fs-2xs);margin-top:2px}.shaper-job-checked{color:var(--ui-success)}.shaper-setup-card,.shaper-studio-card,.shaper-guide-card{margin:9px;padding:11px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface2)}.shaper-setup-card{display:grid;gap:10px}.shaper-face-diagram{position:relative;min-height:142px;padding:24px 13px 23px;border:1px solid color-mix(in srgb,var(--text-muted) 55%,transparent);background:repeating-linear-gradient(0deg,transparent 0 17px,color-mix(in srgb,var(--border) 62%,transparent) 18px),var(--surface);overflow:hidden}.shaper-face-diagram:before{content:"";position:absolute;left:13px;bottom:23px;width:13px;height:13px;background:var(--accent);clip-path:polygon(0 0,100% 0,0 100%)}.shaper-datum-corner{position:absolute;left:29px;bottom:24px;color:var(--accent);font:700 var(--fs-2xs) var(--font-mono)}.shaper-axis-x,.shaper-axis-y{position:absolute;color:var(--accent3);font:700 var(--fs-2xs) var(--font-mono)}.shaper-axis-x{bottom:7px;left:13px}.shaper-axis-y{left:4px;bottom:42px;writing-mode:vertical-rl;transform:rotate(180deg)}.shaper-cut-window{position:absolute;inset:34px 27% 37px 30%;display:grid;place-items:center;border:2px solid var(--ui-info);background:color-mix(in srgb,var(--ui-info) 20%,transparent);color:var(--ui-info);font:700 var(--fs-xs) var(--font-mono)}.shaper-face-diagram small{position:absolute;right:10px;bottom:7px;color:var(--text-muted);font-size:var(--fs-2xs)}.shaper-setup-copy h3,.shaper-studio-card h3,.shaper-guide-card h3{margin:4px 0;font-size:var(--fs-sm)}.shaper-setup-copy p,.shaper-studio-card p,.shaper-studio-card li,.shaper-guide-card p{margin:4px 0;color:var(--text-muted);font-size:var(--fs-xs);line-height:1.45}.shaper-setup-copy dl{margin:9px 0 0;display:grid;grid-template-columns:58px 1fr;gap:4px 8px;font-size:var(--fs-2xs)}.shaper-setup-copy dt{color:var(--text-muted)}.shaper-setup-copy dd{margin:0;color:var(--text)}.shaper-checks{display:grid;gap:4px}.shaper-checks div{display:flex;align-items:flex-start;gap:5px;padding:5px 6px;color:var(--text-muted);border-left:2px solid var(--ui-success);background:color-mix(in srgb,var(--ui-success) 7%,transparent);font-size:var(--fs-2xs)}.shaper-checks div[data-tone=attention]{border-color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 7%,transparent)}.shaper-setup-actions,.shaper-studio-actions{display:flex;flex-wrap:wrap;gap:6px}.shaper-setup-actions .gd-btn,.shaper-studio-actions .gd-btn{min-height:30px;font-size:var(--fs-2xs)}.shaper-studio-card ol{margin:9px 0;padding-left:18px}.shaper-revision-import{margin-top:10px;display:grid;grid-template-columns:minmax(0,1fr) 1.2fr;gap:8px;align-items:end}.shaper-revision-import label{display:grid;gap:3px;color:var(--text-muted);font-size:var(--fs-2xs)}.shaper-revision-import select,.shaper-revision-import input{min-height:30px;max-width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-2xs)}.shaper-revision-list{margin-top:11px;border-top:1px solid var(--border);padding-top:8px}.shaper-revision-list>strong{display:block;margin-bottom:5px;font-size:var(--fs-2xs)}.shaper-revision-list>div{display:grid;grid-template-columns:14px minmax(0,1fr);gap:5px;align-items:center;color:var(--text-muted);font-size:var(--fs-2xs)}.shaper-revision-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shaper-revision-list small{grid-column:2;color:var(--text-muted)}.shaper-guide-card{display:flex;gap:9px;color:var(--accent)}.shaper-guide-card>div{color:var(--text)}.shaper-guide-card .gd-btn{margin-top:7px}.shaper-deck-empty{min-height:156px;display:grid;place-items:center;padding:18px;text-align:center;color:var(--text-muted);font-size:var(--fs-xs)}.shaper-attribution{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-xs);line-height:1.5}.shaper-launch-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;margin:12px;padding:13px;border:1px solid var(--ui-accent-edge);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--ui-accent-tint),transparent 62%),var(--surface2)}.shaper-launch-card h2{margin:3px 0;font-size:var(--fs-md)}.shaper-launch-card p{margin:0;color:var(--text-muted);font-size:var(--fs-xs);line-height:1.4}.shaper-launch-card .gd-btn{min-height:34px;white-space:nowrap}.shaper-launch-summary{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto minmax(0,1.6fr);gap:5px 8px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-2xs)}.shaper-launch-summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);text-align:right}.fabrication-modal-backdrop{position:fixed;inset:0;z-index:280;display:grid;place-items:center;padding:24px;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fabrication-modal{width:min(1080px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ui-accent-edge);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--el-4)}.fabrication-modal-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,var(--ui-accent-tint),transparent 46%),var(--chrome-deep)}.fabrication-modal-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--ui-accent-edge);border-radius:var(--r-lg);color:var(--accent);background:var(--surface2)}.fabrication-modal-header span{display:block;color:var(--accent3);font:700 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.fabrication-modal-header h2{margin:3px 0 2px;font-size:var(--fs-xl)}.fabrication-modal-header p{margin:0;color:var(--text-muted);font-size:var(--fs-xs)}.fabrication-modal-body{min-height:0;flex:1;overflow:hidden}.fabrication-modal-body .shaper-deck{height:100%;display:flex;flex-direction:column}.fabrication-modal-body .shaper-deck-intro{max-width:780px;padding-inline:18px;font-size:var(--fs-sm)}.fabrication-modal-body .shaper-deck-header{padding:13px 18px 10px}.fabrication-modal-body .shaper-deck-header h2{font-size:var(--fs-lg)}.fabrication-modal-body .shaper-deck-tabs{grid-template-columns:repeat(4,minmax(100px,1fr));padding:0 18px 10px}.fabrication-modal-body .shaper-deck-tabs button{min-height:38px;font-size:var(--fs-xs)}.fabrication-modal-body .shaper-job-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:14px 18px}.fabrication-modal-body .shaper-job-row{min-height:58px;border-color:var(--border);background:var(--surface2)}.fabrication-modal-body .shaper-setup-card,.fabrication-modal-body .shaper-studio-card,.fabrication-modal-body .shaper-guide-card{max-width:960px;margin:14px 18px;padding:16px}.fabrication-modal-body .shaper-setup-card{grid-template-columns:minmax(240px,.85fr) minmax(260px,1fr);align-items:start}.fabrication-modal-body .shaper-checks,.fabrication-modal-body .shaper-setup-actions{grid-column:1 / -1}.fabrication-modal-body .shaper-face-diagram{min-height:220px}.fabrication-modal-body .shaper-setup-actions .gd-btn,.fabrication-modal-body .shaper-studio-actions .gd-btn{min-height:36px;font-size:var(--fs-xs)}.project-parts-stack{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.project-parts-tree{min-height:160px;flex:1;overflow:hidden}.project-parts-cutlist{min-height:184px;flex:0 0 42%;overflow:hidden;border-top:1px solid var(--border);container:cut-list-panel / inline-size}.project-parts-cutlist>div{width:100%!important;height:100%}.project-parts-cutlist table{min-width:0}.project-parts-cutlist>div>div:first-child{padding-inline:9px!important}.project-parts-cutlist .cut-list-header{align-items:flex-start;flex-wrap:wrap;gap:5px}.project-parts-cutlist .cut-list-header>span:first-child{flex:1 1 100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-parts-cutlist .cut-list-header-actions{width:100%;flex-wrap:wrap;justify-content:flex-end}.project-parts-cutlist .cut-list-table-scroll{overflow:auto!important}.cut-list-panel,.cut-list-header-actions{min-width:0}.cut-list-table{min-width:0;table-layout:fixed}.cut-list-table th,.cut-list-table td:not([colspan]){min-width:0;overflow:hidden;text-overflow:ellipsis}.cut-list-table th:first-child,.cut-list-table td:first-child{width:35%}.cut-list-table th:nth-child(2),.cut-list-table td:nth-child(2),.cut-list-table th:nth-child(3),.cut-list-table td:nth-child(3),.cut-list-table th:nth-child(4),.cut-list-table td:nth-child(4){width:10%}.cut-list-table th:nth-child(5),.cut-list-table td:nth-child(5){width:17%}.cut-list-table th:nth-child(6),.cut-list-table td:nth-child(6){width:18%}.cut-list-footer{flex-wrap:wrap;row-gap:5px;min-width:0}.cut-list-export-actions{display:flex;gap:6px;flex:0 0 auto;min-width:0;flex-wrap:wrap}.cut-list-footer-meta{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0;flex:0 0 auto}.cut-list-kerf{display:inline-flex;align-items:center;gap:3px;color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap}.cut-list-kerf input{width:40px;box-sizing:border-box;background:var(--surface2);border:1px solid var(--border);border-radius:3px;color:var(--text-dim);font:inherit;padding:2px 4px;text-align:right}.cut-list-total-cost{padding:2px 5px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--accent3);cursor:pointer;font:600 var(--fs-xs) var(--font-sans);white-space:nowrap}.cut-list-total-cost:hover{border-color:var(--ui-accent-edge);background:var(--ui-accent-tint)}.cut-list-compact{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.cut-list-compact-header{flex:0 0 auto;padding:8px 9px 7px;border-bottom:1px solid var(--border)}.cut-list-compact-heading{min-width:0;display:flex;align-items:center;gap:7px;color:var(--text);font-size:var(--fs-sm);font-weight:650}.cut-list-compact-heading>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cut-list-expand-btn{flex:0 0 auto;color:var(--text-muted)}.cut-list-expand-btn:hover{color:var(--accent)}.cut-list-compact-toolbar{min-width:0;display:flex;align-items:center;gap:6px;margin-top:5px}.cut-list-compact-summary{min-width:0;flex:1;color:var(--accent3);font:600 var(--fs-xs)/1.2 var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cut-list-view-menu{position:relative;flex:0 0 auto}.cut-list-view-menu summary{height:24px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text-muted);font:600 var(--fs-2xs)/1 var(--font-sans);cursor:pointer;list-style:none}.cut-list-view-menu summary::-webkit-details-marker{display:none}.cut-list-view-menu summary:hover,.cut-list-view-menu[open] summary{color:var(--accent);border-color:var(--ui-accent-edge);background:var(--ui-accent-tint)}.cut-list-view-menu summary:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.cut-list-view-popover{position:absolute;z-index:18;top:calc(100% + 5px);right:0;width:178px;padding:5px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);box-shadow:var(--el-3)}.cut-list-view-option{width:100%;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 7px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-dim);font:500 var(--fs-xs)/1.2 var(--font-sans);text-align:left;cursor:pointer}.cut-list-view-option:hover{color:var(--text);background:var(--surface)}.cut-list-view-option>span:last-child{color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-2xs)}.cut-list-compact-scroll{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.cut-list-compact-row{width:100%;display:flex;flex-direction:column;gap:4px;padding:7px 9px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.cut-list-compact-row:hover{background:var(--surface2)}.cut-list-compact-row[data-selected=true]{background:var(--ui-accent-tint);box-shadow:inset 2px 0 0 var(--accent)}.cut-list-compact-row:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.cut-list-compact-primary,.cut-list-compact-secondary{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.cut-list-compact-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);font-weight:650}.cut-list-machining-badge{display:inline-block;margin-left:5px;padding:1px 3px;border:1px solid color-mix(in srgb,var(--ui-info) 55%,var(--border));border-radius:3px;color:var(--ui-info);background:color-mix(in srgb,var(--ui-info) 14%,transparent);font:700 var(--fs-2xs)/1 var(--font-mono);vertical-align:middle}.cut-list-compact-material{min-width:0;max-width:42%;display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:var(--fs-2xs);white-space:nowrap}.cut-list-compact-material>span:last-child{overflow:hidden;text-overflow:ellipsis}.cut-list-material-swatch{width:7px;height:7px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 18%,transparent)}.cut-list-stock-size{flex:0 0 auto;color:var(--text-dim);font:600 var(--fs-xs)/1.2 var(--font-mono);white-space:nowrap}.cut-list-stock-totals{min-width:0;color:var(--text-muted);font:500 var(--fs-2xs)/1.2 var(--font-mono);text-align:right;white-space:nowrap}.cut-list-compact-group-heading{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 9px;color:var(--accent);background:var(--ui-accent-tint);border-bottom:1px solid var(--border);font:650 var(--fs-2xs)/1 var(--font-sans);text-transform:uppercase;letter-spacing:.05em}.cut-list-compact-group-heading>span:last-child{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:0;text-transform:none}.cut-list-compact-empty{padding:14px 9px;color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.cut-list-compact-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 9px;border-top:1px solid var(--border);background:var(--surface)}.cut-list-compact-footer .cut-list-export-actions{gap:4px}.cut-list-compact-footer .gd-btn{min-height:24px;padding-inline:7px}@container cut-list-panel (max-width: 285px){.cut-list-compact-secondary{align-items:flex-start;flex-direction:column;gap:2px}.cut-list-stock-totals{text-align:left}}.make-cut-list-workspace{min-height:0;flex:1;padding:14px;overflow:hidden;background:var(--viewport-bg)}.make-cut-list-workspace .cut-list-panel{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--el-2)}.make-cut-list-workspace .cut-list-header{min-height:48px;padding:9px 12px!important}.make-cut-list-workspace .cut-list-header-actions{flex-wrap:wrap;justify-content:flex-end}.make-cut-list-workspace .cut-list-table-scroll{min-height:0;overflow:auto!important}.make-cut-list-workspace .cut-list-table{min-width:760px;table-layout:auto}.make-cut-list-workspace .cut-list-table th,.make-cut-list-workspace .cut-list-table td:not([colspan]){width:auto;overflow:visible;text-overflow:clip;white-space:nowrap}.make-cut-list-workspace .cut-list-footer{padding:9px 12px!important;background:var(--surface)}.model-browser-resize-handle{position:absolute;z-index:12;top:0;right:-5px;width:10px;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:col-resize;touch-action:none}.model-browser-resize-handle:before{content:"";position:absolute;inset:0 4px;border-left:1px solid transparent;border-right:1px solid transparent;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.model-browser-resize-handle:hover:before,.model-browser-resize-handle:focus-visible:before,body.gd-resizing-panel .model-browser-resize-handle:before{border-color:var(--accent);background:var(--ui-accent-tint)}.model-browser-resize-handle svg{opacity:.4;transition:opacity var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.model-browser-resize-handle:hover svg,.model-browser-resize-handle:focus-visible svg,body.gd-resizing-panel .model-browser-resize-handle svg{opacity:1;color:var(--accent)}.model-browser-resize-handle:focus-visible{outline:none}body.gd-resizing-panel{cursor:col-resize;-webkit-user-select:none;user-select:none}body.gd-resizing-panel iframe,body.gd-resizing-panel canvas{pointer-events:none}@media(max-width:520px){.cut-list-header-actions{justify-content:flex-start}.cut-list-footer-meta{width:100%;margin-left:0;justify-content:space-between}}.model-browser-expand{width:34px;min-width:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px 0;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer}.model-browser-expand:hover{color:var(--accent);background:var(--surface2)}.model-browser-expand span{font-size:9px;line-height:1.1;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.08em;text-transform:uppercase}.workspace-command-shelf{min-height:48px;display:flex;align-items:center;gap:12px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.workspace-command-group{display:inline-flex;align-items:center;gap:11px}.workspace-command-divider{width:1px;height:22px;background:var(--border)}.workspace-command-list{display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none}.workspace-command-list::-webkit-scrollbar{display:none}.workspace-command{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-dim);font:600 var(--fs-xs)/1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.workspace-command:hover{background:var(--surface2);border-color:var(--border);color:var(--text)}.workspace-command[data-active=true]{background:var(--ui-accent-tint);border-color:var(--ui-accent-edge);color:var(--accent)}.workspace-command:disabled{opacity:.38;cursor:not-allowed;background:transparent;border-color:transparent}.workspace-command.pass-through-command[data-active=true]{background:color-mix(in srgb,#ef4444 11%,var(--surface));border-color:color-mix(in srgb,#ef4444 58%,var(--border));color:#ef7d67}.workspace-command kbd{margin-left:2px;color:var(--text-muted);font:600 9px/1 var(--font-mono)}.resize-snap-menu{position:relative;flex:0 0 auto}.resize-snap-menu>summary{list-style:none}.resize-snap-menu>summary::-webkit-details-marker{display:none}.resize-snap-menu>summary:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.resize-snap-popover{position:absolute;z-index:35;top:calc(100% + 7px);right:0;width:242px;padding:8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);box-shadow:var(--el-3)}.resize-snap-popover-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:2px 3px 7px;border-bottom:1px solid var(--border);color:var(--text);font-size:var(--fs-sm);font-weight:650}.resize-snap-popover-title small{color:var(--accent3);font:650 var(--fs-2xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.resize-snap-toggle,.resize-snap-select{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px;color:var(--text-dim);font-size:var(--fs-xs)}.resize-snap-select select{min-width:76px;height:24px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:600 var(--fs-xs)/1 var(--font-mono)}.resize-snap-popover p{margin:6px 3px 1px;padding-top:7px;border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-2xs);line-height:1.45}.resize-handle-tab{min-width:25px;height:19px;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:0 5px;border:1px solid currentColor;border-radius:10px;background:#12110fe6;box-shadow:0 2px 7px #00000073;color:var(--text-muted);font:750 10px/1 var(--font-mono);opacity:.82;transform:translate(18px,-14px);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);white-space:nowrap}.resize-handle-tab[data-axis=x]{color:#f87171}.resize-handle-tab[data-axis=y]{color:#34d399}.resize-handle-tab[data-axis=z]{color:#60a5fa}.resize-handle-tab[data-active=true]{opacity:1;transform:translate(18px,-14px) scale(1.08)}.resize-handle-tab i{font-style:normal;font-weight:500;opacity:.72}.resize-handle-tab em{margin-left:1px;padding:2px 3px;border-radius:4px;background:color-mix(in srgb,currentColor 16%,transparent);color:currentColor;font:700 7px/1 var(--font-mono);letter-spacing:.04em}.resize-handle-tab[data-source=sketch]{border-style:dashed}.resize-handle-tab[data-source=extrude]{box-shadow:0 0 0 2px color-mix(in srgb,#34d399 12%,transparent),0 2px 7px #00000073}.resize-dimension-hud{width:218px;padding:9px 10px 8px;border:1px solid var(--ui-accent-edge);border-left:3px solid var(--accent);border-radius:var(--r-md);background:#151311f5;box-shadow:var(--el-3);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateY(-58px)}.resize-dimension-hud[data-axis=x]{border-left-color:#ef4444}.resize-dimension-hud[data-axis=y]{border-left-color:#10b981}.resize-dimension-hud[data-axis=z]{border-left-color:#3b82f6}.resize-dimension-hud-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.resize-dimension-hud-heading>span{color:var(--text-muted);font:750 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.resize-dimension-hud-heading b{color:var(--text-dim);font-size:var(--fs-2xs);font-weight:500}.resize-dimension-hud>strong{display:inline-block;color:var(--text);font:750 var(--fs-xl)/1.1 var(--font-mono)}.resize-dimension-delta{margin-left:8px;color:var(--accent3);font:600 var(--fs-xs)/1 var(--font-mono)}.resize-dimension-formula{display:block;margin-top:5px;color:var(--sketch-defined, var(--accent));font:500 var(--fs-xs)/1.3 var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resize-dimension-snap{display:block;margin-top:6px;color:var(--accent);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resize-dimension-hud small{display:block;margin-top:6px;padding-top:5px;border-top:1px solid var(--border);color:var(--text-muted);font-size:9px;white-space:nowrap}.compact-resize-controller{width:178px;padding:8px;border:1px solid var(--ui-accent-edge);border-left:3px solid var(--accent);border-radius:var(--r-md);background:#151311f5;box-shadow:var(--el-3);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left}.compact-resize-controller[data-dragging=true]{cursor:grabbing;box-shadow:var(--el-4)}.compact-resize-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.compact-resize-grab{display:inline-flex;min-height:22px;align-items:center;gap:6px;color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;font:750 var(--fs-xs)/1 var(--font-sans)}.compact-resize-grab:active,.compact-resize-controller[data-dragging=true] .compact-resize-grab{cursor:grabbing}.compact-resize-grab:focus-visible{outline:1px solid var(--ui-accent);outline-offset:2px;border-radius:var(--r-sm)}.compact-resize-grab i{width:15px;height:11px;border-radius:2px;opacity:.8;background:radial-gradient(circle,var(--ui-accent) 1px,transparent 1.5px) 0 0 / 5px 5px}.compact-resize-heading>small{color:var(--text-muted);font-size:9px}.compact-resize-rows{display:grid;gap:4px}.compact-resize-row{display:grid;grid-template-columns:16px 22px minmax(0,1fr) 22px;align-items:center;gap:3px}.compact-resize-row>b{font:800 10px/1 var(--font-mono);text-align:center}.compact-resize-row>button{min-width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text-dim);cursor:pointer;font:700 13px/1 var(--font-mono)}.compact-resize-row>button:hover{border-color:var(--ui-accent-edge);color:var(--text);background:var(--surface3)}.compact-resize-value,.compact-resize-row>input{min-width:0;width:100%;height:22px;box-sizing:border-box;padding:2px 4px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:700 10px/1 var(--font-mono);text-align:center}.compact-resize-value{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}.compact-resize-value:hover,.compact-resize-row>input:focus{border-color:var(--ui-accent);outline:none}.compact-resize-hint{display:block;margin-top:6px;color:var(--text-muted);font-size:9px;line-height:1.2}.assembly-snap-suggestion{width:max-content;max-width:min(280px,calc(100vw - 28px));padding:7px 9px;border:1px solid var(--ui-accent-edge);border-left:3px solid var(--accent);border-radius:var(--r-md);background:#151311f0;box-shadow:var(--el-3);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;transform:translateY(-22px)}.assembly-snap-suggestion[data-relationship=edge]{border-left-color:#10b981}.assembly-snap-suggestion[data-relationship=corner]{border-left-color:#a78bfa}.assembly-snap-suggestion[data-relationship=center]{border-left-color:#3b82f6}.assembly-snap-suggestion>span{display:block;color:var(--accent);font:700 9px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.assembly-snap-suggestion>strong{display:block;margin-top:3px;color:var(--text);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assembly-snap-suggestion>small{display:block;margin-top:4px;color:var(--text-muted);font-size:9px}.work-shelf{display:flex;flex-direction:column;min-height:36px;background:var(--surface);border-top:1px solid var(--border)}.work-shelf-header{height:35px;min-height:35px;display:flex;align-items:center;gap:12px;padding:0 10px;border-bottom:1px solid var(--border)}.work-shelf-tabs{display:flex;align-items:stretch;height:100%;gap:2px}.work-shelf-tab{display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font:600 var(--fs-xs)/1 var(--font-sans);cursor:pointer}.work-shelf-tab:hover{color:var(--text);background:var(--surface2)}.work-shelf-tab[data-active=true]{color:var(--accent);border-bottom-color:var(--accent)}.work-shelf-dot{width:6px;height:6px;border-radius:50%;background:var(--ui-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-success) 16%,transparent)}.work-shelf-status{margin-left:auto;color:var(--text-muted);font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase}.work-shelf-toggle{width:28px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-dim);cursor:pointer}.work-shelf-toggle:hover{background:var(--surface2);color:var(--accent)}.work-shelf-content{min-height:0;display:flex;overflow:hidden}.work-shelf-content .bottom-panel{min-height:0}@media(max-width:1200px){:root{--browser-w: 248px}.workspace-tab{min-width:76px;padding-inline:9px}}.gd-row{transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.gd-row:hover{background:var(--n-800)}.gd-row[data-selected=true],.gd-row[data-selected=true]:hover{background:var(--ui-accent-tint)}.gd-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);width:100%;padding:var(--sp-3) var(--sp-5);font-size:var(--fs-md);color:var(--text-dim);text-align:left;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.gd-menu-item:hover{background:var(--ui-accent-tint);color:var(--text)}.gd-menu{position:relative}.gd-menu-dropdown{display:none}@media(hover:hover)and (pointer:fine){.gd-menu:hover>.gd-menu-dropdown{display:block}}.gd-menu:focus-within>.gd-menu-dropdown,.gd-menu[data-open=true]>.gd-menu-dropdown{display:block}.gd-dropzone{border:2px dashed var(--border);border-radius:var(--r-lg);background:var(--surface2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.gd-dropzone:hover{border-color:var(--ui-accent);background:var(--ui-accent-tint)}.gd-kbd{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-muted);letter-spacing:.02em}.gd-chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:1px var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:0;text-transform:none}.props-collapse-btn{display:flex;position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:14px;height:44px;background:var(--surface2);border:1px solid var(--border);border-right:none;border-radius:var(--r-md) 0 0 var(--r-md);align-items:center;justify-content:center;color:var(--text-dim);font-size:var(--fs-2xs);z-index:10;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.props-collapse-btn:hover{background:var(--n-700);color:var(--text)}.inspector-expand-btn{width:30px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:12px 0;border:0;border-left:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer}.inspector-expand-btn:hover{color:var(--accent);background:var(--surface2)}.inspector-expand-btn span{font-size:9px;line-height:1.1;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.08em;text-transform:uppercase}.bottom-pane-resizer{height:12px;flex:0 0 12px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;z-index:20}.bottom-pane-resizer:before{content:"";position:absolute;inset:-5px 0}.bottom-pane-resizer-grip{width:36px;height:8px;display:flex;align-items:center;justify-content:center;border-radius:999px;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.bottom-pane-resizer:hover .bottom-pane-resizer-grip,.bottom-pane-resizer:focus-visible .bottom-pane-resizer-grip,.bottom-pane-resizer[data-active=true] .bottom-pane-resizer-grip{color:var(--accent);background:var(--ui-accent-tint);border-color:var(--ui-accent-edge)}.bottom-pane-resizer:focus-visible{outline:none}@media(max-width:1000px){:root{--bottom-h: 200px;--props-w: 224px}.project-panel-tab{min-height:28px}}.gd-tab{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid transparent;border-bottom:none;border-radius:var(--r-sm) var(--r-sm) 0 0;background:none;color:var(--text-dim);font-size:var(--fs-sm);font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.gd-tab:hover{background:var(--surface2);color:var(--text)}.gd-tab[data-active=true]{background:var(--ui-accent-tint);border-color:var(--ui-accent-edge);color:var(--accent)}:root[data-ui-mode=tablet]{--toolbar-w: calc(72px * var(--ui-scale));--menu-h: calc(48px * var(--ui-scale));--status-h: calc(34px * var(--ui-scale));--bottom-h: calc(216px * var(--ui-scale));--tap: calc(44px * var(--ui-scale));--fs-2xs: calc(11px * var(--ui-scale));--fs-xs: calc(12px * var(--ui-scale));--fs-sm: calc(13px * var(--ui-scale));--fs-md: calc(15px * var(--ui-scale));--fs-lg: calc(17px * var(--ui-scale));--fs-xl: calc(20px * var(--ui-scale));--fs-2xl: calc(26px * var(--ui-scale))}:root[data-ui-mode=tablet] .gd-btn,:root[data-ui-mode=tablet] .gd-menu-item{min-height:var(--tap);padding-inline:var(--sp-5)}:root[data-ui-mode=tablet] .gd-icon-btn,:root[data-ui-mode=tablet] .gd-tool-btn{width:var(--tap);height:var(--tap)}:root[data-ui-mode=tablet] .gd-row>td,:root[data-ui-mode=tablet] .gd-row{min-height:38px}:root[data-ui-mode=tablet] .gd-tab{min-height:var(--tap);padding-inline:var(--sp-5)}:root[data-ui-mode=tablet] .prop-input,:root[data-ui-mode=tablet] .prop-select,:root[data-ui-mode=tablet] .input-field{min-height:var(--tap)}.app-menu-strip{display:flex;align-self:stretch}.tablet-workbench-rail{display:none}.app-shell[data-tablet-layout=true]{--tablet-rail-w: 62px;--tablet-chrome-h: 92px}.app-shell[data-tablet-layout=true] .app-menu-strip{display:flex;flex:1 1 auto;min-width:0;align-self:stretch;overflow:visible;position:relative;z-index:1}.app-shell[data-tablet-layout=true] .main-menu-bar{gap:7px!important;padding-inline:10px!important}.app-shell[data-tablet-layout=true] .app-brand{margin-right:4px!important;flex:0 0 auto}.app-shell[data-tablet-layout=true] .app-menu-actions{flex:0 0 auto}.app-shell[data-tablet-layout=true] .app-menu-actions>span{display:none!important}.app-shell[data-tablet-layout=true] .app-menu-actions .gd-btn{min-height:var(--tap)}.app-shell[data-tablet-layout=true] .app-history-action{display:inline-grid}.app-shell[data-tablet-layout=true] .tablet-workbench-rail{width:var(--tablet-rail-w);min-width:var(--tablet-rail-w);display:flex;z-index:42;flex-direction:column;align-items:stretch;gap:5px;padding:8px 6px;border-right:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--ui-accent) 8%,transparent),transparent 24%),var(--chrome-deep)}.tablet-rail-button{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 2px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-muted);font:650 9px/1 var(--font-sans);letter-spacing:.03em;cursor:pointer}.tablet-rail-button:hover,.tablet-rail-button:focus-visible{border-color:var(--ui-accent-edge);background:var(--ui-accent-tint);color:var(--ui-accent);outline:none}.tablet-rail-help{margin-top:auto}.tablet-surface-backdrop{position:fixed;z-index:60;inset:var(--tablet-chrome-h) 0 0;border:0;background:#0a080652;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);cursor:default}.app-shell[data-tablet-layout=true] .model-browser-expand,.app-shell[data-tablet-layout=true] .inspector-expand-btn{display:none}.app-shell[data-tablet-layout=true] .model-browser-panel{position:fixed;z-index:70;top:var(--tablet-chrome-h);bottom:0;left:var(--tablet-rail-w);width:min(340px,calc(100vw - var(--tablet-rail-w) - 44px))!important;min-width:0!important;box-shadow:var(--el-4);animation:tablet-surface-in-left var(--dur-slow) var(--ease-out)}.app-shell[data-tablet-layout=true] .model-browser-resize-handle,.app-shell[data-tablet-layout=true] .project-parts-cutlist{display:none}.app-shell[data-tablet-layout=true] .project-parts-tree{flex:1 1 auto}.tablet-inspector-shell{position:fixed!important;z-index:70;top:var(--tablet-chrome-h);right:0;bottom:0;width:min(344px,calc(100vw - var(--tablet-rail-w) - 44px))!important;min-height:0;box-shadow:var(--el-4);transform:translate(0);opacity:1;transition:transform .26s var(--ease-out),opacity .2s ease;will-change:transform,opacity}.tablet-inspector-shell[data-collapsed=true]{transform:translate(100%);opacity:0;pointer-events:none}.tablet-inspector-shell>div{width:100%!important;min-width:0!important}.tablet-inspector-shell .props-collapse-btn{width:28px;height:52px;left:-28px;border-right:1px solid var(--border);border-radius:var(--r-md) 0 0 var(--r-md)}.app-shell[data-tablet-layout=true] .tablet-inspector-shell .props-collapse-btn{display:none}.tablet-inspector-pull-tab{position:fixed;z-index:72;top:calc(var(--tablet-chrome-h) + 42%);right:0;display:flex;align-items:center;gap:4px;min-height:52px;padding:8px 7px 8px 6px;border:1px solid var(--border);border-right:0;border-radius:var(--r-md) 0 0 var(--r-md);background:color-mix(in srgb,var(--surface) 94%,var(--ui-accent-tint));color:var(--text-dim);box-shadow:var(--el-2);font:700 var(--fs-2xs)/1 var(--font-ui);letter-spacing:.04em;cursor:pointer;touch-action:manipulation;transition:right .26s var(--ease-out),background-color .16s ease,color .16s ease}.tablet-inspector-pull-tab span{writing-mode:vertical-rl;transform:rotate(180deg)}.tablet-inspector-pull-tab:hover,.tablet-inspector-pull-tab:focus-visible{background:var(--ui-accent-tint);color:var(--ui-accent);outline:0}.tablet-inspector-pull-tab[data-open=true]{right:min(344px,calc(100vw - var(--tablet-rail-w) - 44px))}.app-shell[data-tablet-layout=true] .workspace-tabs{min-height:44px;gap:4px;padding-inline:8px}.app-shell[data-tablet-layout=true] .variables-dock{max-height:min(52svh,420px)}.app-shell[data-tablet-layout=true] .variables-dock-header{min-height:var(--tap)}.app-shell[data-tablet-layout=true] .variables-dock[data-open=false]{height:var(--tap)}.app-shell[data-tablet-layout=true] .variables-dock-title strong{font-size:var(--fs-sm)}.app-shell[data-tablet-layout=true] .app-shell[data-tablet-layout=true] .workspace-tabs-list{flex:1;justify-content:space-around}.app-shell[data-tablet-layout=true] .workspace-tab{flex:1;min-width:0;min-height:var(--tap);padding-inline:8px}.app-shell[data-tablet-layout=true] .workspace-command-shelf{min-height:56px;gap:6px;padding-inline:8px}.app-shell[data-tablet-layout=true] .workspace-command-group,.app-shell[data-tablet-layout=true] .app-shell[data-tablet-layout=true] .workspace-command-list{flex:1;gap:6px;padding-inline:1px}.app-shell[data-tablet-layout=true] .workspace-command{height:var(--tap);min-width:var(--tap);justify-content:center;padding-inline:11px;font-size:var(--fs-sm)}.app-shell[data-tablet-layout=true] .workspace-command kbd{display:none}.app-shell[data-tablet-layout=true] .assembly-snap-suggestion{padding:9px 11px}.app-shell[data-tablet-layout=true] .viewport-toolbar{min-height:48px!important;padding:4px 7px!important;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}.app-shell[data-tablet-layout=true] .viewport-toolbar::-webkit-scrollbar{display:none}.app-shell[data-tablet-layout=true] .viewport-toolbar button{min-height:40px;white-space:nowrap}.app-shell[data-tablet-layout=true] .viewport-navigation-bar{min-height:42px;max-width:calc(100% - 20px);overflow-x:auto}.app-shell[data-tablet-layout=true][data-sketching=true] .workspace-tabs,.app-shell[data-tablet-layout=true][data-sketching=true] .tablet-workbench-rail,.app-shell[data-tablet-layout=true][data-sketching=true] .workspace-command-shelf,.app-shell[data-tablet-layout=true][data-sketching=true] .viewport-toolbar,.app-shell[data-tablet-layout=true][data-sketching=true] .model-browser-panel,.app-shell[data-tablet-layout=true][data-sketching=true] .tablet-inspector-shell,.app-shell[data-tablet-layout=true][data-sketching=true] .tablet-surface-backdrop{display:none}.app-shell[data-tablet-layout=true][data-sketching=true] .viewport-toolbar{display:none!important}.app-shell[data-tablet-layout=true][data-sketching=true] .sketch-context-bar{top:8px;left:8px;right:8px;min-height:58px}.app-shell[data-tablet-layout=true][data-sketching=true] .sketch-tool-button{min-width:var(--tap);min-height:var(--tap)}@keyframes tablet-surface-in-left{0%{transform:translate(-18px);opacity:.4}to{transform:translate(0);opacity:1}}@keyframes tablet-surface-in-right{0%{transform:translate(18px);opacity:.4}to{transform:translate(0);opacity:1}}@media(orientation:portrait){.app-shell[data-tablet-layout=true]{--tablet-chrome-h: 92px}.app-shell[data-tablet-layout=true] .app-brand>span{display:none}.app-shell[data-tablet-layout=true] .main-menu-bar{gap:4px!important}.app-shell[data-tablet-layout=true] .app-menu-actions .gd-btn{padding-inline:9px}.app-shell[data-tablet-layout=true] .app-menu-actions .gd-kbd,.app-shell[data-tablet-layout=true] .app-history-action{display:none}.app-shell[data-tablet-layout=true] .model-browser-panel,.tablet-inspector-shell{inset:auto 0 0;width:100%!important;height:min(66svh,620px);border-top:1px solid var(--ui-accent-edge);border-right:0;border-radius:var(--r-xl) var(--r-xl) 0 0;animation:tablet-surface-in-up var(--dur-slow) var(--ease-out)}.app-shell[data-tablet-layout=true] .model-browser-panel{left:0}.tablet-inspector-shell .props-collapse-btn{top:-27px;left:50%;transform:translate(-50%);width:62px;height:28px;border-right:1px solid var(--border);border-bottom:0;border-radius:var(--r-md) var(--r-md) 0 0}.tablet-inspector-shell[data-collapsed=true]{transform:translateY(100%)}.tablet-inspector-pull-tab{top:auto;right:14px;bottom:0;min-height:32px;padding:6px 12px;border-right:1px solid var(--border);border-bottom:0;border-radius:var(--r-md) var(--r-md) 0 0}.tablet-inspector-pull-tab span{writing-mode:initial;transform:none}.tablet-inspector-pull-tab[data-open=true]{right:14px;bottom:min(66svh,620px)}.app-shell[data-tablet-layout=true] .project-panel-tablist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.app-shell[data-tablet-layout=true] .project-panel-tab{min-height:var(--tap);justify-content:center;padding:0 5px}.app-shell[data-tablet-layout=true] .project-panel-tab span:not(:last-child){display:none}.app-shell[data-tablet-layout=true] .shaper-deck-header{padding:14px}.app-shell[data-tablet-layout=true] .shaper-deck-header .gd-btn{min-height:var(--tap)}.app-shell[data-tablet-layout=true] .shaper-deck-intro{padding-inline:14px;font-size:var(--fs-sm)}.app-shell[data-tablet-layout=true] .shaper-deck-tabs{padding:0 10px 10px;gap:6px}.app-shell[data-tablet-layout=true] .shaper-deck-tabs button{min-height:var(--tap);font-size:var(--fs-xs);flex-direction:column;gap:2px}.app-shell[data-tablet-layout=true] .shaper-job-list{padding:10px}.app-shell[data-tablet-layout=true] .shaper-job-row{min-height:56px;padding:10px}.app-shell[data-tablet-layout=true] .shaper-job-copy strong{font-size:var(--fs-sm)}.app-shell[data-tablet-layout=true] .shaper-setup-card,.app-shell[data-tablet-layout=true] .shaper-studio-card,.app-shell[data-tablet-layout=true] .shaper-guide-card{margin:12px;padding:14px}.app-shell[data-tablet-layout=true] .shaper-face-diagram{min-height:190px}.app-shell[data-tablet-layout=true] .shaper-setup-actions .gd-btn,.app-shell[data-tablet-layout=true] .shaper-studio-actions .gd-btn{min-height:var(--tap);flex:1 1 120px}.app-shell[data-tablet-layout=true] .shaper-revision-import{grid-template-columns:1fr}.app-shell[data-tablet-layout=true] .shaper-revision-import select,.app-shell[data-tablet-layout=true] .shaper-revision-import input{min-height:var(--tap);font-size:var(--fs-sm)}.fabrication-modal-backdrop{padding:0;align-items:end}.fabrication-modal{width:100%;height:min(88svh,760px);border-radius:var(--r-xl) var(--r-xl) 0 0}.fabrication-modal-header{padding:14px}.fabrication-modal-header p{display:none}.fabrication-modal-body .shaper-deck-header{padding:14px}.fabrication-modal-body .shaper-deck-intro{padding-inline:14px}.fabrication-modal-body .shaper-deck-tabs{padding-inline:10px}.fabrication-modal-body .shaper-job-list{grid-template-columns:1fr;padding:10px}.fabrication-modal-body .shaper-setup-card{grid-template-columns:1fr}.fabrication-modal-body .shaper-checks,.fabrication-modal-body .shaper-setup-actions{grid-column:auto}.fabrication-modal-body .shaper-setup-card,.fabrication-modal-body .shaper-studio-card,.fabrication-modal-body .shaper-guide-card{margin:12px;padding:14px}.fabrication-modal-body .shaper-face-diagram{min-height:190px}}@media(orientation:landscape)and (min-width:700px){.app-shell[data-tablet-layout=true] .fabrication-modal{width:calc(100vw - 92px);height:calc(100vh - 36px);border-radius:var(--r-xl)}.app-shell[data-tablet-layout=true] .fabrication-modal-backdrop{align-items:center;padding:18px}.app-shell[data-tablet-layout=true] .fabrication-modal-body .shaper-job-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-tablet-layout=true] .fabrication-modal-body .shaper-setup-card{grid-template-columns:minmax(220px,.85fr) minmax(240px,1fr)}}@keyframes tablet-surface-in-up{0%{transform:translateY(22px);opacity:.4}to{transform:translateY(0);opacity:1}}:root[data-ui-mode=tablet]{touch-action:manipulation}.gd-viewport,.gd-viewport>div,.gd-viewport canvas{touch-action:none!important}.tablet-rotate-dial{width:150px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px;border:1px solid color-mix(in srgb,var(--ui-accent) 68%,var(--border));border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--el-4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);font-family:var(--font-ui);touch-action:none;-webkit-user-select:none;user-select:none}.tablet-rotate-axis{display:flex;gap:4px}.tablet-rotate-axis button{min-width:36px;min-height:30px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text-dim);font:800 var(--fs-xs)/1 var(--font-mono);cursor:pointer;touch-action:manipulation}.tablet-rotate-axis button[data-active=true]{border-color:var(--ui-accent);background:var(--ui-accent-tint);color:var(--ui-accent)}.tablet-rotate-dial-surface{position:relative;display:grid;place-items:center;width:118px;height:118px;border:10px solid color-mix(in srgb,var(--ui-accent) 72%,var(--border));border-radius:50%;box-sizing:border-box;background:radial-gradient(circle,color-mix(in srgb,var(--surface2) 88%,transparent) 0 56%,transparent 57%);cursor:grab;touch-action:none}.tablet-rotate-dial-surface:before{content:"";position:absolute;inset:9px;border:1px dashed color-mix(in srgb,var(--ui-accent) 55%,transparent);border-radius:50%}.tablet-rotate-dial-surface[data-active=true]{cursor:grabbing;border-color:#f4a259;box-shadow:0 0 0 4px color-mix(in srgb,#f4a259 18%,transparent)}.tablet-rotate-dial-axis{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ui-accent-edge);border-radius:50%;background:var(--surface);color:var(--ui-accent);font:800 var(--fs-md)/1 var(--font-mono)}.tablet-rotate-dial-copy{position:absolute;z-index:1;bottom:19px;color:var(--text-muted);font:700 9px/1 var(--font-ui);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.tablet-rotate-dial-angle{position:absolute;z-index:2;top:21px;padding:3px 5px;border-radius:3px;background:var(--surface);color:#ffd08a;font:800 var(--fs-2xs)/1 var(--font-mono);white-space:nowrap}.tablet-rotate-dial-footer{display:flex;align-items:center;justify-content:space-between;width:100%;gap:6px;color:var(--text-muted);font:600 9px/1 var(--font-mono)}.tablet-rotate-dial-footer button{min-height:26px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text-dim);font:700 var(--fs-2xs)/1 var(--font-ui);cursor:pointer}.tablet-rotate-dial-footer button:disabled{opacity:.42;cursor:default}.sketch-capture{position:absolute;inset:0;z-index:8;cursor:crosshair;touch-action:none}.sketch-capture[data-face-hover=true]{cursor:cell}.sketch-selection-grip{display:block;width:9px;height:9px;box-sizing:border-box;border:2px solid #7dd3fc;background:var(--surface);box-shadow:0 0 0 2px color-mix(in srgb,#0c1822 72%,transparent),0 1px 4px #0009}.sketch-selection-grip[data-kind=center],.sketch-selection-grip[data-kind=move]{width:11px;height:11px;border-color:#f6b65f;background:#3a2a18;transform:rotate(45deg)}.sketch-selection-grip[data-kind=radius]{border-radius:50%}.sketch-live-dimension{padding:3px 7px;border:1px solid color-mix(in srgb,var(--sketch-defined) 65%,var(--border));border-radius:var(--r-sm);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--sketch-defined);box-shadow:var(--el-2);font:600 var(--fs-xs)/1 var(--font-mono);white-space:nowrap;transform:translate(12px,-12px)}.sketch-inference-controls{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:8px;border-left:1px solid var(--border)}.sketch-inference-button{height:30px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer}.sketch-inference-button:hover{color:var(--text);background:var(--surface2)}.sketch-inference-button[data-active=true]{color:var(--sketch-defined);border-color:var(--sketch-edge);background:var(--sketch-grid)}.sketch-grid-select{height:30px;display:flex;align-items:center;gap:5px;padding:0 7px;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);background:var(--surface2);font-size:var(--fs-2xs);white-space:nowrap}.sketch-grid-select select{max-width:62px;border:0;outline:0;background:transparent;color:var(--text);font:600 var(--fs-xs)/1 var(--font-mono);cursor:pointer}.sketch-snap-hud{position:relative;width:0;height:0}.sketch-snap-marker{position:absolute;left:-7px;top:-7px;width:12px;height:12px;border:2px solid var(--ui-warning);border-radius:50%;background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-warning) 14%,transparent)}.sketch-snap-marker[data-kind=close]{left:-9px;top:-9px;width:16px;height:16px;border-color:#34d399;box-shadow:0 0 0 4px color-mix(in srgb,#34d399 18%,transparent)}.sketch-snap-marker[data-kind=grid]{width:10px;height:10px;border-radius:1px;border-color:var(--sketch-defined);transform:rotate(45deg)}.sketch-snap-label{position:absolute;left:12px;bottom:12px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--ui-warning) 70%,var(--border));border-radius:var(--r-sm);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ui-warning);box-shadow:var(--el-2);font:650 var(--fs-xs)/1 var(--font-mono);white-space:nowrap}.sketch-snap-label[data-kind=close]{color:#34d399;border-color:#34d399}.sketch-snap-label[data-kind=grid]{color:var(--sketch-defined);border-color:var(--sketch-defined)}.sketch-origin-mark,.sketch-axis-label{display:grid;place-items:center;min-width:18px;height:18px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-muted);box-shadow:var(--el-1);font:700 var(--fs-2xs)/1 var(--font-mono)}.sketch-axis-label[data-axis=u]{color:#d28a52;border-color:#d28a52}.sketch-axis-label[data-axis=v]{color:#5ca8c9;border-color:#5ca8c9}.sketch-face-hint{position:absolute;left:50%;bottom:24px;transform:translate(-50%);padding:7px 12px;border:1px solid var(--sketch-edge);border-radius:var(--r-full);background:var(--sketch-paper);box-shadow:var(--el-2);color:var(--sketch-defined);font-size:var(--fs-sm);font-weight:600;pointer-events:none}.sketch-kicker{color:var(--sketch-defined);font:700 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.sketch-plane-panel{position:absolute;z-index:20;top:30px;left:50%;transform:translate(-50%);width:min(660px,calc(100% - 40px));padding:18px;border:1px solid var(--sketch-edge);border-radius:var(--r-xl);background:linear-gradient(145deg,var(--sketch-paper),var(--surface));box-shadow:var(--el-4)}.sketch-plane-copy{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 16px;margin-bottom:14px}.sketch-plane-copy strong{font-size:var(--fs-xl);color:var(--text)}.sketch-plane-copy>span:last-child{grid-column:2;grid-row:1 / span 2;max-width:260px;color:var(--text-dim);font-size:var(--fs-sm);line-height:var(--lh-base)}.sketch-plane-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sketch-plane-card[data-hint=true]{border-style:dashed;cursor:default;background:transparent}.sketch-plane-card[data-hint=true]:hover{transform:none;border-color:var(--border);background:transparent}@media(max-width:760px){.sketch-plane-cards{grid-template-columns:repeat(2,1fr)}}.sketch-plane-card{display:flex;align-items:center;gap:11px;padding:10px;min-width:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface2);color:var(--text);cursor:pointer;text-align:left;transition:border-color var(--dur-fast),transform var(--dur-fast),background var(--dur-fast)}.sketch-plane-card:hover{transform:translateY(-1px);border-color:var(--sketch-defined);background:var(--sketch-grid)}.sketch-plane-card strong,.sketch-plane-card small{display:block}.sketch-plane-card small{margin-top:2px;color:var(--text-dim)}.sketch-plane-glyph{display:grid;place-items:center;width:44px;height:34px;flex:none;border:1px solid var(--sketch-defined);color:var(--sketch-defined);background:repeating-linear-gradient(0deg,transparent 0 7px,var(--sketch-grid) 7px 8px),repeating-linear-gradient(90deg,transparent 0 7px,var(--sketch-grid) 7px 8px);font:700 var(--fs-xs)/1 var(--font-mono);transform:skewY(-5deg)}.plane-xy{transform:skew(-7deg)}.plane-yz{transform:skewY(8deg) scaleX(.78)}.sketch-plane-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;color:var(--text-muted);font-size:var(--fs-xs)}.sketch-context-bar{position:absolute;z-index:20;top:8px;left:12px;right:12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;row-gap:4px;min-height:54px;padding:6px 8px 6px 12px;border:1px solid var(--sketch-edge);border-radius:var(--r-lg);background:var(--sketch-paper);box-shadow:var(--el-3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sketch-context-title{display:flex;flex:0 1 auto;flex-direction:column;min-width:0;padding-right:10px;border-right:1px solid var(--border)}.sketch-context-title strong{color:var(--text);font-size:var(--fs-md)}.sketch-context-title>span:last-child{color:var(--text-muted);font-size:var(--fs-2xs)}.sketch-tool-strip{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:stretch;gap:2px}.sketch-tool-button{min-width:54px;padding:5px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-dim);font-size:var(--fs-2xs);cursor:pointer}.sketch-tool-button:hover{color:var(--text);background:var(--surface2)}.sketch-tool-button[data-active=true]{color:var(--sketch-defined);border-color:var(--sketch-edge);background:var(--sketch-grid)}.sketch-selection-status{display:flex;align-items:center;gap:5px;min-width:max-content;padding:5px 8px;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);background:var(--surface2);font:600 var(--fs-2xs)/1 var(--font-mono)}.sketch-selection-status[data-selected=true]{color:#f6b65f;border-color:color-mix(in srgb,#f6b65f 55%,var(--border));background:color-mix(in srgb,#f6b65f 8%,var(--surface2))}.sketch-erase-status{color:var(--ui-danger);border-color:color-mix(in srgb,var(--ui-danger) 45%,var(--border));background:var(--ui-danger-tint)}.sketch-view-controls{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);white-space:nowrap}.sketch-view-button{min-height:27px;padding:4px 6px;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font:600 var(--fs-2xs)/1 var(--font-ui);cursor:pointer}.sketch-view-button:hover,.sketch-view-button:focus-visible{background:var(--sketch-grid);color:var(--sketch-defined);outline:0}.sketch-context-actions{display:flex;gap:5px;margin-left:auto;white-space:nowrap}.sketch-context-actions .gd-btn{display:flex;align-items:center;gap:5px}.sketch-inspector{width:var(--props-w);height:100%;display:flex;flex-direction:column;overflow:auto;background:var(--surface);border-left:1px solid var(--border)}.sketch-inspector-header{display:flex;justify-content:space-between;gap:8px;padding:14px 12px 12px;border-bottom:1px solid var(--border);background:linear-gradient(150deg,var(--sketch-grid),transparent 55%)}.sketch-inspector-header>div{display:flex;flex-direction:column;gap:2px}.sketch-inspector-header strong{color:var(--text);font-size:var(--fs-lg)}.sketch-inspector-header small{color:var(--text-muted)}.sketch-inspector-section{padding:12px;border-bottom:1px solid var(--border)}.sketch-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--text);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.07em}.sketch-section-heading em{color:var(--text-muted);font:500 var(--fs-2xs)/1 var(--font-mono);text-transform:none;letter-spacing:0}.sketch-inspector-empty{padding:12px;border:1px dashed var(--border);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-base)}.sketch-entity-list{display:flex;flex-direction:column;gap:3px}.sketch-entity-list button{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;width:100%;padding:7px;border:1px solid transparent;border-radius:var(--r-md);background:var(--surface2);color:var(--text-dim);text-align:left;cursor:pointer}.sketch-entity-list button:hover,.sketch-entity-list button[data-active=true]{border-color:var(--sketch-edge);color:var(--text)}.sketch-entity-list button[data-active=true]{background:var(--sketch-grid)}.sketch-entity-list small{color:var(--text-muted);font-size:var(--fs-2xs)}.sketch-entity-index{color:var(--sketch-defined);font-family:var(--font-mono)}.sketch-dimension-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sketch-dimension-field,.sketch-select-field{display:flex;flex-direction:column;gap:4px;color:var(--text-dim);font-size:var(--fs-xs)}.sketch-dimension-field>div{position:relative}.sketch-dimension-field input,.sketch-select-field select{width:100%;min-height:30px;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);color:var(--text);padding:5px 30px 5px 7px;font:500 var(--fs-sm)/1 var(--font-mono)}.sketch-dimension-field input:focus,.sketch-select-field select:focus{outline:1px solid var(--sketch-defined);border-color:var(--sketch-defined)}.sketch-dimension-field b{position:absolute;right:7px;top:8px;color:var(--text-muted);font:500 var(--fs-2xs)/1 var(--font-mono)}.sketch-formula-field{display:grid;gap:4px;margin-top:6px;color:var(--text-dim);font-size:var(--fs-xs)}.sketch-formula-field>span{display:flex;align-items:center;gap:5px;min-width:0}.sketch-formula-field>span b{display:inline-grid;place-items:center;min-width:19px;height:17px;border:1px solid color-mix(in srgb,var(--sketch-defined) 55%,var(--border));border-radius:3px;color:var(--sketch-defined);font:700 10px/1 var(--font-mono)}.sketch-formula-field>span small{min-width:0;margin-left:auto;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font:500 var(--fs-2xs)/1 var(--font-mono)}.sketch-formula-field input{width:100%;min-height:29px;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);color:var(--text);padding:5px 7px;font:500 var(--fs-sm)/1 var(--font-mono)}.sketch-formula-field input:focus{outline:1px solid var(--sketch-defined);border-color:var(--sketch-defined)}.sketch-formula-field[data-invalid=true] input{border-color:var(--ui-danger)}.sketch-formula-field em{color:var(--ui-danger);font-size:var(--fs-2xs);line-height:var(--lh-base)}.sketch-profile-ready{padding:8px;border-left:2px solid var(--ui-success);background:color-mix(in srgb,var(--ui-success) 10%,transparent);color:var(--ui-success);font-size:var(--fs-sm)}.sketch-profile-warning{display:flex;gap:7px;align-items:flex-start;color:var(--ui-warning);font-size:var(--fs-xs);line-height:var(--lh-base)}.sketch-profile-warning svg{flex:none}.prop-note{padding:6px 8px;border-left:2px solid var(--border);border-radius:0 var(--r-sm) var(--r-sm) 0;background:color-mix(in srgb,var(--surface2) 70%,transparent);color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.prop-note b{color:var(--text-dim);font-weight:600}.sketch-feature-editor{display:flex;flex-direction:column;gap:9px;background:var(--sketch-grid)}.sketch-feature-editor p{margin:0;color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.sketch-inspector-actions,.sketch-inspector-footer{display:flex;gap:6px}.sketch-inspector-actions .gd-btn,.sketch-inspector-footer .gd-btn{flex:1;justify-content:center}.sketch-inspector-footer{margin-top:auto;padding:12px;flex-wrap:wrap}.sketch-danger-link{display:flex;align-items:center;gap:5px;margin-top:8px;padding:3px 0;border:0;background:transparent;color:var(--ui-danger);font-size:var(--fs-xs);cursor:pointer}.sketch-inspector-footer .sketch-danger-link{flex-basis:100%;justify-content:center}.sketch-feature-tablet-note{background:color-mix(in srgb,var(--sketch-grid) 62%,var(--surface))}.sketch-feature-tablet-note p{margin:0;color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.extrude-preview-state{display:inline-flex;align-items:center;gap:5px;color:var(--ui-success)!important}.extrude-preview-state i{width:6px;height:6px;border-radius:50%;background:var(--ui-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-success) 16%,transparent)}.extrude-profile-source{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface2) 76%,transparent);font-size:var(--fs-xs)}.extrude-profile-source span{color:var(--text-muted)}.extrude-profile-source strong{min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.extrude-direction-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px}.extrude-direction-toggle button{min-height:28px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);color:var(--text-dim);font-size:var(--fs-xs);cursor:pointer}.extrude-direction-toggle button[data-active=true]{border-color:var(--ui-accent-edge);background:var(--ui-accent-tint);color:var(--ui-accent)}.extrude-key-hints{display:flex;justify-content:space-between;padding-top:2px;color:var(--text-muted);font-size:var(--fs-2xs)}.extrude-key-hints span{display:flex;align-items:center;gap:4px}.extrude-key-hints kbd{min-width:24px;padding:2px 4px;border:1px solid var(--border);border-bottom-color:var(--n-500);border-radius:3px;background:var(--surface2);color:var(--text-dim);font:600 var(--fs-2xs)/1 var(--font-mono);text-align:center}.extrude-depth-control{position:relative;pointer-events:auto}.extrude-depth-flag{display:flex;align-items:stretch;min-height:34px;margin:0 0 0 54px;overflow:hidden;border:1px solid #f4a259;border-radius:6px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--el-2);white-space:nowrap;touch-action:manipulation}.extrude-depth-actions{display:flex;align-items:stretch;border-right:1px solid color-mix(in srgb,#f4a259 42%,var(--border))}.extrude-depth-actions button{min-width:50px;border:0;padding:4px 7px;color:var(--text-dim);background:color-mix(in srgb,var(--surface2) 88%,transparent);font:700 var(--fs-2xs)/1 var(--font-ui);cursor:pointer;touch-action:manipulation}.extrude-depth-actions .extrude-depth-cancel{color:var(--text-muted)}.extrude-depth-actions .extrude-depth-commit{color:#2e1a09;background:#f4a259}.extrude-depth-actions button:hover,.extrude-depth-actions button:focus-visible{filter:brightness(1.13);outline:0}.extrude-depth-value{display:flex;align-items:center;gap:4px;padding:3px 5px 3px 7px;color:#f4a259;background:color-mix(in srgb,var(--surface) 94%,transparent)}.extrude-depth-value input{width:52px;min-width:0;border:0;outline:0;background:transparent;color:#f4a259;font:700 var(--fs-sm)/1 var(--font-mono);text-align:right}.extrude-depth-value input:focus{color:#ffd08a;text-decoration:underline;text-underline-offset:3px}.extrude-depth-value span{color:var(--text-muted);font:600 var(--fs-2xs)/1 var(--font-mono)}.extrude-depth-nudge{display:flex;flex-direction:column;width:23px;border-inline:1px solid color-mix(in srgb,#f4a259 42%,var(--border))}.extrude-depth-nudge button{flex:1;min-height:16px;padding:0;border:0;background:color-mix(in srgb,#f4a259 11%,transparent);color:#f4a259;font-size:8px;line-height:1;cursor:pointer}.extrude-depth-nudge button+button{border-top:1px solid color-mix(in srgb,#f4a259 36%,var(--border))}.extrude-depth-nudge button:hover,.extrude-depth-nudge button:focus-visible{background:color-mix(in srgb,#f4a259 26%,transparent);color:#ffe0a7;outline:0}.extrude-depth-direction{display:flex;align-items:center;padding:4px 7px;background:color-mix(in srgb,#f4a259 14%,transparent);color:var(--text-dim);font:600 var(--fs-2xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.extrude-keypad{position:absolute;right:0;bottom:calc(100% + 9px);width:250px;padding:9px;border:1px solid color-mix(in srgb,#f4a259 62%,var(--border));border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 97%,#1d1208);box-shadow:var(--el-4);color:var(--text);touch-action:manipulation}.extrude-keypad-title{display:flex;align-items:center;justify-content:space-between;padding:1px 2px 8px;color:#ffd08a;font:700 var(--fs-xs)/1 var(--font-mono)}.extrude-keypad-title button{min-height:28px;padding:3px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text-dim);font:700 var(--fs-2xs)/1 var(--font-ui);cursor:pointer}.extrude-keypad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.extrude-keypad-grid button,.extrude-keypad-fractions button{min-height:38px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text);font:700 var(--fs-sm)/1 var(--font-mono);cursor:pointer}.extrude-keypad-grid button[data-key=clear],.extrude-keypad-grid button[data-key=backspace]{color:#ffd08a;font:700 var(--fs-2xs)/1 var(--font-ui)}.extrude-keypad-grid button:hover,.extrude-keypad-grid button:focus-visible,.extrude-keypad-fractions button:hover,.extrude-keypad-fractions button:focus-visible,.extrude-keypad-title button:hover,.extrude-keypad-title button:focus-visible{border-color:#f4a259;background:color-mix(in srgb,#f4a259 16%,var(--surface2));outline:0}.extrude-keypad-fractions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}.extrude-keypad-fractions button{min-height:31px;color:#ffd08a;font-size:var(--fs-xs)}@media(pointer:coarse){.extrude-depth-flag{min-height:42px}.extrude-depth-actions button{min-width:61px}.extrude-depth-value input{width:60px;font-size:var(--fs-md)}.extrude-depth-nudge{width:29px}.extrude-keypad{width:272px;padding:10px}.extrude-keypad-grid button{min-height:46px}.extrude-keypad-fractions button{min-height:38px}}.tablet-extrude-overlay{position:absolute;inset:0;pointer-events:none;z-index:24}.tablet-extrude-palette{position:absolute;width:min(390px,calc(100% - 104px));padding:7px;border:1px solid color-mix(in srgb,#f4a259 66%,var(--border));border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 97%,#26150a);box-shadow:0 15px 38px #0000008f;color:var(--text);pointer-events:auto;touch-action:manipulation;transition:left .18s var(--ease-out),top .18s var(--ease-out),right .18s var(--ease-out),bottom .18s var(--ease-out),transform .18s var(--ease-out)}.tablet-extrude-palette[data-dock=bottom]{left:50%;bottom:160px;transform:translate(-50%)}.tablet-extrude-palette[data-dock=top]{top:74px;left:50%;transform:translate(-50%)}.tablet-extrude-palette[data-dock=left]{left:74px;top:50%;transform:translateY(-50%)}.tablet-extrude-palette[data-dock=right]{right:30px;top:50%;transform:translateY(-50%)}.tablet-extrude-palette[data-dragging=true]{transition:none;box-shadow:0 21px 48px #000000b8;cursor:grabbing}.tablet-extrude-grab{min-height:36px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 7px;border-bottom:1px solid color-mix(in srgb,#f4a259 30%,var(--border));color:#ffd08a;font:700 var(--fs-xs)/1 var(--font-ui);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.tablet-extrude-grab:focus-visible{outline:1px solid #f4a259;outline-offset:-2px}.tablet-extrude-grab i{width:22px;height:4px;border-radius:999px;background:repeating-linear-gradient(90deg,#f4a259 0 4px,transparent 4px 7px);opacity:.88}.tablet-extrude-grab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tablet-extrude-grab small{color:var(--text-muted);font:600 var(--fs-2xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.tablet-extrude-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 112px auto auto;gap:5px;align-items:center;padding:7px 1px 5px}.tablet-extrude-profile{min-width:0;overflow:hidden;color:var(--text-dim);font-size:var(--fs-2xs);text-overflow:ellipsis;white-space:nowrap}.tablet-extrude-toolbar select,.tablet-extrude-toolbar button{min-height:31px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text-dim);font:700 var(--fs-2xs)/1 var(--font-ui);cursor:pointer}.tablet-extrude-toolbar select{padding-inline:6px}.tablet-extrude-toolbar button{padding-inline:7px}.tablet-extrude-toolbar button:hover,.tablet-extrude-toolbar button:focus-visible{border-color:#f4a259;color:#ffd08a;outline:0}.tablet-extrude-formula{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:6px;margin:0 1px 5px;color:var(--text-muted);font-size:var(--fs-2xs)}.tablet-extrude-formula span{white-space:nowrap}.tablet-extrude-formula b{display:inline-grid;place-items:center;width:18px;height:17px;margin-right:4px;border:1px solid #f4a259;border-radius:3px;color:#ffd08a;font:700 10px/1 var(--font-mono)}.tablet-extrude-formula input{width:100%;min-height:31px;box-sizing:border-box;padding:5px 7px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text);font:600 var(--fs-xs)/1 var(--font-mono);outline:0}.tablet-extrude-formula input:focus{border-color:#f4a259}.tablet-extrude-depth-row{display:grid;grid-template-columns:38px minmax(75px,1fr) 38px 1fr 1fr;gap:4px}.tablet-extrude-depth-row>button{min-height:43px;border:1px solid color-mix(in srgb,#f4a259 45%,var(--border));border-radius:var(--r-sm);background:var(--surface2);color:var(--text);font:700 var(--fs-sm)/1 var(--font-ui);cursor:pointer}.tablet-extrude-depth-row>button:first-child,.tablet-extrude-depth-row>button:nth-child(3){color:#ffd08a;font-size:20px}.tablet-extrude-depth-value{display:flex;align-items:center;justify-content:center;gap:4px;color:#f4a259!important;background:color-mix(in srgb,#f4a259 9%,var(--surface2))!important;font-family:var(--font-mono)!important}.tablet-extrude-depth-value span{color:var(--text-muted);font-size:var(--fs-2xs)}.tablet-extrude-direction{color:var(--text-muted)!important;font-size:var(--fs-2xs)!important}.tablet-extrude-direction[data-active=true]{border-color:#f4a259!important;background:color-mix(in srgb,#f4a259 18%,var(--surface2))!important;color:#ffd08a!important}.tablet-extrude-status{min-height:18px;margin:5px 3px 4px;color:var(--text-muted);font-size:var(--fs-2xs);line-height:1.35}.tablet-extrude-status[data-valid=false]{color:#ff8a7a}.tablet-extrude-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:5px}.tablet-extrude-actions button{min-height:42px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);color:var(--text-dim);font:700 var(--fs-sm)/1 var(--font-ui);cursor:pointer}.tablet-extrude-actions button[data-variant=primary]{border-color:#f4a259;background:#f4a259;color:#2e1a09}.tablet-extrude-actions button:disabled{opacity:.45;cursor:not-allowed}.tablet-extrude-keypad{position:absolute;z-index:3;right:0;bottom:calc(100% + 9px);width:272px;padding:10px;border:1px solid color-mix(in srgb,#f4a259 66%,var(--border));border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 98%,#241306);box-shadow:var(--el-4)}.tablet-extrude-keypad header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;color:#ffd08a;font:700 var(--fs-xs)/1 var(--font-mono)}.tablet-extrude-keypad header button{min-height:32px;padding-inline:9px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text);font:700 var(--fs-xs)/1 var(--font-ui);cursor:pointer}.tablet-extrude-keypad input{box-sizing:border-box;width:100%;min-height:40px;margin-bottom:6px;padding-inline:10px;border:1px solid #f4a259;border-radius:var(--r-sm);background:var(--surface2);color:#ffd08a;font:700 var(--fs-md)/1 var(--font-mono)}.tablet-extrude-keypad-grid,.tablet-extrude-fractions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.tablet-extrude-keypad-grid button,.tablet-extrude-fractions button{min-height:42px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text);font:700 var(--fs-sm)/1 var(--font-mono);cursor:pointer}.tablet-extrude-keypad-grid button[data-key=clear],.tablet-extrude-keypad-grid button[data-key=backspace],.tablet-extrude-fractions button{color:#ffd08a;font-size:var(--fs-xs)}.tablet-extrude-fractions{margin-top:6px}.tablet-extrude-keypad button:hover,.tablet-extrude-keypad button:focus-visible{border-color:#f4a259;background:color-mix(in srgb,#f4a259 16%,var(--surface2));outline:0}@media(orientation:portrait){.tablet-extrude-palette{width:calc(100% - 88px)}.tablet-extrude-palette[data-dock=left],.tablet-extrude-palette[data-dock=right]{left:50%;right:auto;transform:translate(-50%)}.tablet-extrude-palette[data-dock=left]{top:118px}.tablet-extrude-palette[data-dock=right]{top:auto;bottom:160px}.tablet-extrude-toolbar{grid-template-columns:minmax(0,1fr) 108px auto}.tablet-extrude-toolbar button:last-child{display:none}.tablet-extrude-keypad{right:0;bottom:calc(100% + 7px)}}@media(prefers-reduced-motion:reduce){.tablet-extrude-palette{transition:none}}.help-modal-backdrop{position:fixed;inset:0;z-index:250;display:grid;place-items:center;padding:24px;background:#000000b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sketch-help-modal{width:min(900px,100%);height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--el-4)}.sketch-help-modal>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:16px 18px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,var(--sketch-grid),transparent 48%)}.help-title-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--sketch-edge);border-radius:var(--r-lg);color:var(--sketch-defined);background:var(--sketch-grid)}.sketch-help-modal h2{margin:2px 0 0;color:var(--text);font-size:var(--fs-xl)}.sketch-help-modal header p{margin:2px 0 0;color:var(--text-muted);font-size:var(--fs-xs)}.sketch-help-layout{display:grid;grid-template-columns:220px 1fr;flex:1;min-height:0}.sketch-help-layout nav{padding:10px;overflow:auto;border-right:1px solid var(--border);background:var(--n-900)}.sketch-help-layout nav button{display:grid;grid-template-columns:24px 1fr;gap:6px;width:100%;padding:9px 8px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-dim);text-align:left;cursor:pointer}.sketch-help-layout nav button span{color:var(--text-muted);font-family:var(--font-mono)}.sketch-help-layout nav button:hover,.sketch-help-layout nav button[data-active=true]{color:var(--text);background:var(--surface2)}.sketch-help-layout nav button[data-active=true]{border-color:var(--sketch-edge)}.sketch-help-layout nav button[data-active=true] span{color:var(--sketch-defined)}.sketch-help-layout article{padding:26px 34px 40px;overflow:auto;color:var(--text-dim);font-size:var(--fs-md);line-height:1.65}.sketch-help-layout article h3{margin:5px 0 14px;color:var(--text);font-size:var(--fs-2xl);line-height:1.2}.sketch-help-layout article p{margin:0 0 14px}.sketch-help-layout article ul,.sketch-help-layout article ol{padding-left:20px}.sketch-help-layout article li{margin:6px 0}.sketch-help-layout article b{color:var(--text)}.sketch-help-layout table{width:100%;border-collapse:collapse;margin:12px 0}.sketch-help-layout th,.sketch-help-layout td{padding:8px 9px;border-bottom:1px solid var(--border);text-align:left}.sketch-help-layout th{color:var(--sketch-defined);font-family:var(--font-mono);font-size:var(--fs-sm)}.help-callout{margin:18px 0;padding:12px 14px;border-left:2px solid var(--sketch-defined);background:var(--sketch-grid);color:var(--text)}@media(max-width:1320px){.sketch-tool-button span{display:none}.sketch-tool-button{min-width:34px}}@media(max-width:900px){.sketch-context-title,.sketch-context-actions .gd-btn:first-child{display:none}.sketch-context-actions .gd-btn:last-child{padding-left:7px;padding-right:7px}.sketch-help-layout{grid-template-columns:170px 1fr}.sketch-plane-copy{grid-template-columns:1fr}.sketch-plane-copy>span:last-child{grid-column:1;grid-row:auto}}.help-center-backdrop{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:22px;background:#050504c2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.help-center{width:min(1180px,100%);height:min(790px,calc(100vh - 44px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--n-700);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--el-4),inset 0 1px color-mix(in srgb,var(--n-050) 4%,transparent)}.help-center-header{min-height:70px;display:grid;grid-template-columns:auto minmax(180px,.55fr) minmax(300px,1fr) auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,color-mix(in srgb,var(--ui-accent) 8%,transparent),transparent 32%),var(--chrome-deep)}.help-center-title-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--ui-accent-edge);border-radius:var(--r-lg);color:var(--ui-accent);background:var(--ui-accent-tint)}.help-center-heading span,.help-center-kicker,.help-center-nav-label{color:var(--text-muted);font:650 var(--fs-2xs)/1.2 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.help-center-heading h2{margin:3px 0 0;color:var(--text);font-size:var(--fs-xl);line-height:1.05}.help-center-search{height:38px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:0 9px 0 11px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface2);color:var(--text-muted)}.help-center-search:focus-within{border-color:var(--ui-accent-edge);box-shadow:0 0 0 2px var(--ui-accent-tint)}.help-center-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:500 var(--fs-md)/1 var(--font-sans)}.help-center-search input::placeholder{color:var(--text-muted)}.help-center-search kbd,.help-command-card kbd,.help-command-row kbd{border:1px solid var(--border);border-bottom-color:var(--n-650);border-radius:var(--r-sm);background:var(--n-850);color:var(--text-dim);font:600 var(--fs-xs)/1 var(--font-mono)}.help-center-search kbd{min-width:23px;padding:4px 5px;text-align:center}.help-center-layout{min-height:0;display:grid;grid-template-columns:246px minmax(0,1fr);flex:1}.help-center-nav{min-height:0;display:flex;flex-direction:column;gap:2px;padding:13px 10px;overflow-y:auto;border-right:1px solid var(--border);background:var(--n-900)}.help-center-nav>*{flex-shrink:0}.help-center-nav-label{padding:9px 9px 5px;color:var(--text-muted)}.help-center-nav button{width:100%;min-height:34px;display:grid;grid-template-columns:19px 1fr;align-items:center;gap:7px;padding:7px 9px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-dim);font-size:var(--fs-sm);text-align:left;cursor:pointer}.help-center-nav button:hover{background:var(--surface2);color:var(--text)}.help-center-nav button[data-active=true]{border-color:var(--ui-accent-edge);background:var(--ui-accent-tint);color:var(--ui-accent)}.help-center-nav-foot{display:flex;gap:8px;margin-top:auto;padding:12px 9px 4px;color:var(--text-muted);font-size:var(--fs-2xs);line-height:1.45}.help-center-nav-foot svg{flex:0 0 auto;color:var(--ui-accent)}.help-center-content{min-width:0;overflow-y:auto;padding:28px 34px 44px;color:var(--text-dim);font-size:var(--fs-md);line-height:1.58}.help-center-content>h3,.help-guide-page>h3{margin:5px 0 9px;color:var(--text);font-size:clamp(22px,2.4vw,30px);line-height:1.15}.help-center-lede{max-width:760px;margin:0 0 20px;color:var(--text-muted)}.help-context-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:19px 0 16px;overflow:hidden;border:1px solid var(--ui-accent-edge);border-radius:var(--r-lg);background:linear-gradient(115deg,var(--ui-accent-tint),transparent 65%),repeating-linear-gradient(90deg,transparent 0,transparent 31px,color-mix(in srgb,var(--ui-accent) 5%,transparent) 32px),var(--surface2);box-shadow:var(--el-inset),var(--el-2)}.help-context-card>div{min-width:0;padding:14px 15px;border-right:1px solid var(--border)}.help-context-card>div:last-child{border-right:0}.help-context-card span{display:block;margin-bottom:5px;color:var(--text-muted);font:600 var(--fs-2xs)/1 var(--font-mono);text-transform:uppercase}.help-context-card strong{display:block;overflow:hidden;color:var(--text);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap}.help-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.help-command-card{min-width:0;padding:12px 13px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface2);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.help-command-card:hover{border-color:var(--ui-accent-edge);background:var(--ui-accent-tint);transform:translateY(-1px)}.help-command-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.help-command-card>div>span{color:var(--text-muted);font:600 var(--fs-2xs)/1 var(--font-mono);text-transform:uppercase}.help-command-card kbd{max-width:60%;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-command-card strong{display:block;margin-top:8px;color:var(--text);font-size:var(--fs-md)}.help-command-card p{margin:4px 0 0;color:var(--text-dim);font-size:var(--fs-sm);line-height:1.45}.help-command-card em{display:inline-flex;align-items:center;gap:4px;margin-top:9px;color:var(--ui-accent);font-size:var(--fs-2xs);font-style:normal}.help-command-card small,.help-command-row small{display:block;margin-top:5px;color:var(--ui-accent);font-size:var(--fs-2xs)}.help-command-section{margin-top:25px}.help-command-section h4{margin:0 0 8px;color:var(--text);font-size:var(--fs-md)}.help-command-table{overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface2)}.help-command-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.help-command-row:last-child{border-bottom:0}.help-command-row-reference{min-width:0;flex:1;display:grid;grid-template-columns:minmax(140px,.55fr) minmax(240px,1.5fr) minmax(110px,.5fr) 14px;align-items:start;gap:13px;padding:11px 12px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.help-command-row-reference:hover{background:var(--ui-accent-tint)}.help-command-row-reference>strong{color:var(--text);font-size:var(--fs-sm)}.help-command-row-reference>span{color:var(--text-dim);font-size:var(--fs-sm);line-height:1.4}.help-command-row-reference>kbd{justify-self:end;max-width:100%;padding:5px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-command-row-arrow{margin-top:4px;color:var(--text-muted)}.help-command-row-reference:hover .help-command-row-arrow{color:var(--ui-accent)}.help-command-action{flex:0 0 auto;margin:8px 8px 8px 0;padding:0 10px;border:1px solid var(--ui-accent-edge);border-radius:var(--r-md);background:var(--ui-accent-tint);color:var(--ui-accent);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap}.help-command-action:hover{background:color-mix(in srgb,var(--ui-accent) 18%,var(--surface2))}.help-guide-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.help-guide-results button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:44px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface2);color:var(--text);cursor:pointer;text-align:left}.help-guide-results button:hover{border-color:var(--ui-accent-edge);background:var(--ui-accent-tint)}.help-guide-results small{color:var(--text-muted)}.help-search-empty{min-height:240px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--text-muted);text-align:center}.help-search-empty p{max-width:450px;margin:0}.help-guide-page{max-width:790px}.help-search-return{display:inline-flex;align-items:center;gap:6px;margin:0 0 18px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);color:var(--text-dim);font-size:var(--fs-xs);cursor:pointer}.help-search-return:hover{border-color:var(--ui-accent-edge);color:var(--ui-accent)}.help-command-focus{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin:16px 0 20px;padding:13px 14px;border:1px solid var(--ui-accent-edge);border-left:3px solid var(--ui-accent);border-radius:var(--r-lg);background:linear-gradient(105deg,var(--ui-accent-tint),transparent 72%),var(--surface2)}.help-command-focus>div>span{color:var(--text-muted);font:650 var(--fs-2xs)/1 var(--font-mono);text-transform:uppercase}.help-command-focus strong{display:block;margin-top:4px;color:var(--text);font-size:var(--fs-md)}.help-command-focus p{margin:3px 0 0;color:var(--text-dim);font-size:var(--fs-sm)}.help-command-focus small{display:block;margin-top:5px;color:var(--ui-accent);font-size:var(--fs-2xs)}.help-command-focus>kbd{padding:5px 7px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--n-850);color:var(--text-dim);font:600 var(--fs-xs)/1 var(--font-mono)}.help-command-focus>.gd-btn{grid-column:1 / -1;justify-self:start}.help-guide-page p{margin:0 0 14px}.help-guide-page ul,.help-guide-page ol{padding-left:21px}.help-guide-page li{margin:6px 0}.help-guide-page b{color:var(--text)}.help-guide-page code{padding:1px 4px;border-radius:var(--r-sm);background:var(--n-850);color:var(--sketch-defined);font-family:var(--font-mono)}.help-guide-page table{width:100%;margin:13px 0 18px;border-collapse:collapse}.help-guide-page th,.help-guide-page td{padding:8px 9px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.help-guide-page th{color:var(--sketch-defined);font-family:var(--font-mono);font-size:var(--fs-sm)}@media(max-width:860px){.help-center-backdrop{padding:10px}.help-center{height:calc(100vh - 20px)}.help-center-header{grid-template-columns:auto 1fr auto}.help-center-search{grid-column:1 / -1;grid-row:2}.help-center-layout{grid-template-columns:190px minmax(0,1fr)}.help-center-content{padding:22px 20px 38px}.help-context-card{grid-template-columns:repeat(2,minmax(0,1fr))}.help-context-card>div:nth-child(2){border-right:0}.help-context-card>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.help-command-grid{grid-template-columns:1fr}.help-command-row{align-items:stretch}.help-command-row-reference{grid-template-columns:minmax(0,1fr) auto 14px}.help-command-row-reference>span{grid-column:1 / -1;grid-row:2}.help-command-row-reference>kbd{grid-column:2;grid-row:1}.help-command-row-arrow{grid-column:3;grid-row:1}}@media(max-width:620px){.help-center-layout{grid-template-columns:1fr}.help-center-nav{max-height:150px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--border)}.help-center-nav-label,.help-center-nav-foot{display:none}.help-guide-results{grid-template-columns:1fr}}@media(max-width:1150px){.sketch-inference-button span,.sketch-grid-select>span,.sketch-selection-status span{display:none}.sketch-inference-button{padding-inline:7px}.sketch-grid-select{padding-inline:4px}.sketch-selection-status{min-width:30px;justify-content:center;padding-inline:6px}}.gd-dimension-input{position:relative;display:flex;align-items:center;gap:4px;min-width:0}.gd-dimension-input input{flex:1;min-width:0;height:26px;padding:0 7px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text);font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.gd-dimension-input input:hover{border-color:var(--n-700)}.gd-dimension-input input:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-accent-tint)}.prop-input-wrap{width:88px}.prop-input-wrap input{width:100%;height:24px;padding:0 6px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface2);color:var(--text);font:inherit;font-size:var(--fs-md)}.gd-dimension-input[data-disabled]{opacity:.55}.gd-dimension-step{display:flex;flex-direction:column;flex:none}.gd-dimension-step button{display:block;width:15px;height:9px;padding:0;border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;font-size:6px;line-height:1;border-radius:2px}.gd-dimension-step button:first-child{border-bottom:none;border-radius:2px 2px 0 0}.gd-dimension-step button:last-child{border-radius:0 0 2px 2px}.gd-dimension-step button:hover{color:var(--text);border-color:var(--accent)}:root[data-ui-mode=tablet] .gd-dimension-step button{width:24px;height:16px;font-size:8px}.tablet-rail-scale{position:relative}.tablet-scale-backdrop{position:fixed;inset:0;z-index:40;border:none;background:transparent;cursor:default}.tablet-scale-popover{position:absolute;left:calc(100% + 8px);bottom:0;z-index:41;width:min(280px,calc(100vw - var(--toolbar-w) - 24px));display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--el-4)}.tablet-scale-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-md);color:var(--text-dim)}.tablet-scale-heading strong{color:var(--text);font-variant-numeric:tabular-nums}.tablet-scale-popover input[type=range]{width:100%;accent-color:var(--accent)}.tablet-scale-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-2xs);color:var(--text-muted)}.sketch-dimension-field .gd-dimension-input input{padding-right:var(--sp-3)}.sketch-dimension-field .gd-dimension-input b{position:static;top:auto;right:auto;flex:none}.sketch-dimension-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sketch-formula-field>span{flex-wrap:wrap}.sketch-formula-field>span small{margin-left:auto}.sketch-formula-field>span>label,.sketch-formula-field>span>span{min-width:0}.gd-formula-input{position:relative}.gd-formula-input input{width:100%}.gd-formula-suggestions{position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:60;max-height:210px;overflow-y:auto;margin:0;padding:3px;list-style:none;border:1px solid var(--sketch-defined, var(--accent));border-radius:var(--r-md);background:var(--surface);box-shadow:var(--el-3)}.gd-formula-suggestions button{width:100%;display:flex;align-items:baseline;gap:var(--sp-3);padding:5px 7px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text);cursor:pointer;text-align:left;font:500 var(--fs-xs)/1.3 var(--font-mono)}.gd-formula-suggestions button[data-active=true]{background:var(--ui-accent-tint)}.gd-formula-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-formula-kind{margin-left:auto;flex:none;color:var(--text-muted);font:500 var(--fs-2xs)/1 var(--font-sans)}.gd-formula-detail{flex:none;color:var(--accent3, var(--text-dim));font-size:var(--fs-2xs)}:root[data-ui-mode=tablet] .gd-formula-suggestions button{padding:9px 10px}.viewport-toolbar-select{height:26px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer}.viewport-toolbar-select:hover{border-color:var(--accent)}:root[data-ui-mode=tablet] .viewport-toolbar-select{height:var(--tap)}.workspace-bar{display:flex;align-items:stretch;flex-wrap:wrap;border-bottom:1px solid var(--border);background:var(--chrome-deep, var(--surface));flex-shrink:0}.workspace-bar>.workspace-tabs{border-bottom:none;flex:0 0 auto}.workspace-bar>.workspace-command-shelf{flex:1 1 auto;border-bottom:none!important;background:transparent!important;border-left:3px double var(--border);margin-left:var(--sp-4);padding-left:var(--sp-5)}@media(max-width:1000px){.workspace-bar>.workspace-command-shelf{border-left:none;margin-left:0;padding-left:var(--sp-4);border-top:1px solid var(--border)}}.gd-joint-inspection{margin:var(--sp-4) 0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md)}.gd-joint-inspection-controls,.gd-joint-steps{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.gd-joint-inspection-canvas{height:280px;border-radius:var(--r-md);overflow:hidden;margin-top:var(--sp-3)}.gd-joint-inspection p{font-size:var(--fs-sm);line-height:1.5;margin:var(--sp-2) 0}.gd-joint-steps{padding-left:var(--sp-5);font-size:var(--fs-sm);color:var(--text-dim);gap:var(--sp-5)}.gd-joint-face-confirm{display:flex;gap:var(--sp-2);align-items:center;font-size:var(--fs-md)}.gd-joint-advanced{flex-basis:100%}.gd-joint-advanced>div{display:flex;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-3) 0}.gd-joint-steps{list-style:none;padding:0;counter-reset:joint-step;gap:var(--sp-4) var(--sp-6);margin:var(--sp-5) 0}.gd-joint-steps li{counter-increment:joint-step}.gd-joint-steps li:before{content:counter(joint-step) ". ";color:var(--text)}.gd-joint-inspection-controls button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.workflow-panel{display:flex;flex-direction:column;gap:10px;padding:14px;overflow:auto;min-height:0;color:var(--text);font-size:var(--fs-sm);line-height:1.5}.workflow-panel h3,.workflow-dialog h2{margin:0}.workflow-panel p{margin:2px 0;color:var(--text-dim)}.workflow-panel label,.workflow-dialog label{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.workflow-panel label>select,.workflow-dialog label>input,.workflow-dialog label>select{flex:1;min-width:0}.workflow-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.workflow-card,.workflow-dimension{padding:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface2);display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere}.workflow-dimension{margin-block:7px}.workflow-result{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:10px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;font:inherit}.workflow-result span{color:var(--text-dim);font-size:var(--fs-xs)}.workflow-result:hover,.workflow-result[aria-current=true]{background:var(--ui-accent-tint);border-color:var(--accent)}.workflow-link{color:var(--accent);background:none;border:0;cursor:pointer;text-align:left;padding:4px 0;font:inherit}.workflow-inspector{display:flex;flex-direction:column;width:100%;min-width:0;overflow:auto;background:var(--surface);border-left:1px solid var(--border)}.workflow-dialog{padding:24px;width:min(540px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);display:flex;flex-direction:column;gap:14px;box-shadow:var(--el-4)}.workflow-dialog .prop-input{width:100%;box-sizing:border-box}.workflow-search{width:min(680px,calc(100vw - 32px))}.workflow-search-results{overflow:auto;display:flex;flex-direction:column;gap:5px;min-height:0}.workflow-search-launch{margin:8px;white-space:normal;text-align:left}.workflow-display{position:relative}.workflow-display summary{cursor:pointer;padding:5px 9px;color:var(--text)}.workflow-display-menu{position:absolute;z-index:100;top:100%;right:0;width:min(360px,80vw);display:flex;flex-wrap:wrap;gap:8px;padding:14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--el-4)}.gd-joint-dock .modal-actions{position:sticky;bottom:0;padding-block:14px;background:var(--surface);border-top:1px solid var(--border);z-index:2}.gd-joint-dock .gd-joint-inspection-canvas{height:400px}.workflow-panel details>summary{cursor:pointer;color:var(--text);padding:5px 0}.workflow-panel button:focus-visible,.workflow-result:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:700px){.gd-joint-dock .gd-joint-inspection-canvas{height:300px}.workflow-dialog{padding:16px}}.workflow-display-menu .viewport-navigation-bar{position:static;transform:none;display:flex;flex-wrap:wrap;width:100%;max-width:none;padding:8px 0;border:0;box-shadow:none}.workflow-display-menu .viewport-navigation-hint{white-space:normal}.address-notice{flex:0 0 auto;border-bottom:1px solid var(--ui-accent-edge);background:var(--ui-accent-tint);color:var(--text);font-size:var(--fs-sm)}.address-notice summary{cursor:pointer;padding:var(--sp-2) var(--sp-4)}.address-notice-content{padding:0 var(--sp-4) var(--sp-3);max-height:30vh;overflow:auto}.address-notice-content p{margin:0 0 var(--sp-2)}.address-notice-content ol{padding-left:var(--sp-5);margin:0 0 var(--sp-3)}.address-notice-content a{color:var(--accent);text-decoration:underline}@media print{.address-notice{display:none}}.gd-ad-layout{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;background:var(--bg)}.gd-ad-workspace{flex:1 1 auto;min-width:0;min-height:0;position:relative;contain:layout}.gd-ad-workspace>.app-shell{height:100%!important;min-width:0}.gd-ad-rail{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:20px;padding:16px;border-top:1px solid var(--border);background:var(--surface);color:var(--text-dim)}.gd-ad-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:var(--fs-xs)}.gd-ad-info{border:0;background:transparent;color:var(--text-dim);font:inherit;text-decoration:underline;cursor:pointer;padding:8px 0}.gd-ad-creative{width:728px;height:90px;flex:none;display:grid;place-items:center;border:1px dashed var(--border);background:var(--surface2);color:var(--text-dim);font-size:13px;text-align:center;pointer-events:none}.gd-ad-preview-note{display:block;margin-top:6px;font-size:11px}.gd-ad-layout[data-placement=rail]{flex-direction:row}.gd-ad-layout[data-placement=rail] .gd-ad-rail{width:192px;padding:16px;flex-direction:column;justify-content:flex-start;gap:20px;border-top:0;border-left:1px solid var(--border)}.gd-ad-layout[data-placement=rail] .gd-ad-heading{align-self:stretch}.gd-ad-layout[data-placement=rail] .gd-ad-creative{width:160px;height:600px}.gd-ad-layout[data-placement=compact] .gd-ad-rail{gap:6px;flex-direction:column;padding:6px 16px 10px}.gd-ad-layout[data-placement=compact] .gd-ad-heading{width:320px;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.gd-ad-layout[data-placement=compact] .gd-ad-info{min-height:32px;padding:4px 0}.gd-ad-layout[data-placement=compact] .gd-ad-creative{width:320px;height:50px}.gd-ad-layout[data-placement=compact] .gd-ad-preview-note{display:inline;margin-left:8px}.gd-ad-layout[data-placement=hidden] .gd-ad-rail{display:none}.gd-ad-layout:has([role=dialog],.tablet-surface-backdrop) .gd-ad-rail{visibility:hidden}@media print{.gd-ad-rail{display:none!important}.gd-ad-layout{display:block;height:auto}}
