:root{color:#2e4053;background:#f2f5f7;--palette-width: 276px;--inspector-width: 260px;--left-rail-width: 68px;font-family:Segoe UI,Inter,Arial,sans-serif;font-size:14px;line-height:1.25;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:1024px;min-height:640px;overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;width:100vw}.topbar{display:flex;align-items:center;align-content:stretch;flex-wrap:wrap;width:100%;max-width:100vw;min-width:0;min-height:42px;height:auto;overflow:visible;border-bottom:1px solid #d7dde3;background:#f6f8fa;box-shadow:0 1px #ffffffe6 inset}.tool-group{display:flex;align-items:center;flex:0 1 auto;min-width:0;max-width:100%;height:42px;padding:0 6px;border-right:1px solid #dbe1e6;gap:4px}.history-tools .toolbar-menu .text-button{min-width:38px;padding:0 6px}.history-tools .toolbar-menu-label{display:none}.muted-tools{color:#a8b8c5;background:#eef2f5}.file-tools{flex-wrap:wrap;align-content:center;height:auto;min-height:42px;border-left:1px solid #dbe1e6;border-right:0;gap:3px;padding:0 4px}.operation-tools{flex-wrap:wrap;align-content:center;height:auto;min-height:42px;row-gap:2px}.file-tools .text-button{min-width:58px;padding:0 8px}.file-tools .toolbar-menu .text-button{min-width:74px}.project-save-status{display:inline-flex;align-items:center;justify-content:center;min-width:86px;min-height:28px;gap:5px;padding:0 7px;border:1px solid #cbd9e2;border-radius:4px;color:#557083;background:#f6f9fb;font-size:11px;font-weight:700;white-space:nowrap}.project-save-status.pending,.project-save-status.saving,.project-save-status.dirty{border-color:#d4b36c;color:#805e19;background:#fff8e9}.project-save-status.saved{border-color:#9acbb6;color:#286c53;background:#eef9f4}.project-save-status.error{border-color:#df9c97;color:#9c3029;background:#fff1f0}@media(max-width:1600px){.topbar .icon-button,.topbar .text-button{min-width:30px;height:32px;gap:4px}.tool-group,.operation-tools{gap:2px;padding:0 3px}.operation-tools .text-button{min-width:36px;padding:0 7px}.operation-tools .toolbar-menu-label,.operation-tools .operation-button-label{display:none}.file-tools{gap:2px;padding:0 2px}.file-tools .text-button{min-width:34px;padding:0 5px}.file-tools .text-button .file-button-label:not(.always),.file-tools .toolbar-menu-label{display:none}.file-tools .text-button .file-button-label.always{font-size:11px;font-weight:700}.file-tools .toolbar-menu .text-button{min-width:36px}.project-save-status{min-width:30px;width:30px;padding:0}.project-save-status span{display:none}}.topbar-spacer{flex:1 1 24px;min-width:0}.topbar-row-break{display:none;flex:0 0 100%;width:100%;height:0;min-height:0}.theme-tools{border-left:1px solid #dbe1e6}@media(max-width:1600px){.topbar{min-height:76px;height:auto;align-content:flex-start}.topbar .tool-group{min-height:38px;height:auto}.topbar-spacer{display:block;flex:0 0 100%;width:100%;height:0;min-height:0}.topbar .operation-tools,.topbar .file-tools{flex-wrap:wrap;row-gap:2px;max-width:100%}}.theme-slider{position:relative;width:64px;height:30px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 6px;border:1px solid #ccd9e2;border-radius:999px;background:#eef3f6;color:#5c7385;cursor:pointer}.theme-slider:hover{border-color:#9fc7e8;background:#f7fbfd}.theme-slider-icon{position:relative;z-index:1;display:grid;place-items:center;color:#7d91a1}.theme-slider.light .light-icon,.theme-slider.dark .dark-icon{color:#fff}.theme-slider-thumb{position:absolute;top:3px;left:3px;width:24px;height:22px;border-radius:999px;background:#338bb0;box-shadow:0 1px 4px #202f3c38;transition:transform .14s ease,background .14s ease}.theme-slider.dark .theme-slider-thumb{background:#44505b;transform:translate(32px)}.icon-button,.text-button{border:1px solid transparent;background:transparent;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:4px;cursor:pointer}.icon-button:hover:not(:disabled),.text-button:hover:not(:disabled),.icon-button.active,.text-button.active{border-color:#b8c8d4;background:#fff}.icon-button:disabled,.text-button:disabled{color:#b7c2cc;cursor:default}.text-button{min-width:82px;padding:0 12px;border-color:#d9e0e7;background:#f9fbfc}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid #1f95c7;outline-offset:2px;box-shadow:0 0 0 3px #1f95c72e}.shape-search:focus-within,.object-search-field:focus-within,.object-rename-field:focus-within{border-color:#1f95c7;box-shadow:0 0 0 3px #1f95c729}.flip-x{transform:scaleX(-1)}.toolbar-menu{position:relative;display:inline-flex}.toolbar-menu-panel{position:absolute;top:37px;left:0;z-index:90;display:grid;min-width:186px;max-width:calc(100vw - 16px);max-height:calc(100vh - 52px);overflow:auto;overscroll-behavior:contain;gap:6px;padding:8px;border:1px solid #cdd9e3;border-radius:6px;background:#fff;box-shadow:0 12px 24px #17243129}.file-tools .toolbar-menu-panel{right:0;left:auto}.toolbar-menu-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.toolbar-menu-section>span{grid-column:1 / -1;color:#627789;font-size:11px;font-weight:700;text-transform:uppercase}.toolbar-menu-item{min-height:30px;border:1px solid #d9e3eb;border-radius:4px;background:#f9fbfc;color:#314c61;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.toolbar-menu-item:hover{border-color:#9fc7e8;background:#edf7ff}.toolbar-menu-item:disabled{color:#9aa9b6;cursor:default;background:#f2f5f7}.edit-history-menu{display:grid;gap:8px;width:min(250px,calc(100vw - 34px))}.edit-history-section{display:grid;gap:4px}.edit-history-section>span{color:#627789;font-size:11px;font-weight:800;text-transform:uppercase}.edit-history-section>small{min-height:28px;display:grid;place-items:center start;padding:0 8px;border:1px dashed #d7e1e9;border-radius:4px;color:#8495a3}.edit-history-section button{min-height:32px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 7px;border:1px solid #d9e3eb;border-radius:4px;background:#f9fbfc;color:#314c61;cursor:pointer;text-align:left}.edit-history-section button:hover{border-color:#9fc7e8;background:#edf7ff}.edit-history-section strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.edit-history-section em{color:#718596;font-size:11px;font-style:normal;font-weight:700}.recent-project-menu{display:grid;gap:4px;width:min(340px,calc(100vw - 34px))}.recent-project-item{display:grid;gap:2px;min-width:0;min-height:42px;padding:6px 8px;border:1px solid #d9e3eb;border-radius:4px;background:#f9fbfc;color:#314c61;text-align:left;cursor:pointer}.recent-project-item:hover{border-color:#9fc7e8;background:#edf7ff}.recent-project-item:disabled{border-color:#e0e5e9;background:#f4f6f8;color:#7c8e9b;cursor:default}.recent-project-item.missing{border-color:#e2c9c4;background:#fff8f6}.recent-project-item small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-project-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.recent-project-name{min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.recent-project-status{padding:2px 6px;border-radius:999px;background:#e7f6ed;color:#26754c;font-size:10px;font-weight:700;text-transform:uppercase}.recent-project-status.missing{background:#fde6e1;color:#9f3828}.recent-project-status.unknown{background:#edf2f6;color:#667a8d}.recent-project-item small{color:#718594;font-size:11px}.recent-project-meta{color:#526879}.recent-project-clear{height:30px;margin-top:4px;border:1px solid #d9e3eb;border-radius:4px;background:#fff;color:#496174;cursor:pointer}.recent-project-clear:hover{border-color:#9fc7e8;background:#edf7ff}.workspace{position:relative;min-height:0;overflow:hidden;background:#eef3f6}.global-notice{position:fixed;left:84px;bottom:58px;z-index:120;max-width:430px;pointer-events:none}.global-notice .notice{display:flex;align-items:center;gap:10px;min-height:36px;padding:8px 10px;border:1px solid #cfdde7;border-radius:4px;background:#fffffff5;box-shadow:0 8px 24px #20313f29;font-size:12px;pointer-events:auto}.global-notice .notice span{min-width:0;overflow-wrap:anywhere}.global-notice .notice button{flex:0 0 auto;height:24px;border:1px solid #c8d9e3;border-radius:3px;background:#fff;color:inherit;cursor:pointer;font-weight:700}.viewport-frame{position:absolute;inset:0 calc(var(--palette-width) + var(--inspector-width)) 0 var(--left-rail-width);overflow:hidden;background:#edf8fc}.workspace-manual-button{position:absolute;top:12px;left:12px;z-index:10;display:flex;align-items:center;gap:8px;min-width:104px;min-height:44px;padding:6px 11px;border:1px solid #075f88;border-radius:6px;background:#107daf;color:#fff;box-shadow:0 7px 18px #12527047;cursor:pointer}.workspace-manual-button:hover{border-color:#044b6b;background:#0a6f9e;color:#fff}.workspace-manual-button span{display:grid;gap:1px;text-align:left}.workspace-manual-button strong{font-size:13px;line-height:1}.workspace-manual-button small{color:#ffffffd1;font-size:10px;font-weight:700;line-height:1;text-transform:uppercase}.workplane-viewport{position:relative;width:100%;height:100%}.workplane-render-target{width:100%;height:100%}.workplane-render-target canvas{display:block;width:100%;height:100%}.selection-marquee{position:absolute;z-index:4;border:1px solid #1688bd;background:#25a1d124;box-shadow:0 0 0 1px #ffffffb8 inset;pointer-events:none}.selection-marquee.crossing{border-color:#2f9c62;border-style:dashed;background:#2f9c621f}.snap-feedback{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:6px;max-width:150px;min-height:26px;padding:4px 8px;border:1px solid rgba(9,105,154,.72);border-radius:4px;background:#fffffff0;box-shadow:0 4px 14px #1724312e;color:#24465c;pointer-events:none;transform:translateY(-50%)}.snap-feedback strong{color:#008cc7;font-size:11px;letter-spacing:0}.snap-feedback span{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.handle-hover-feedback{--handle-feedback-accent: #008cc7;--handle-feedback-border: rgba(18, 66, 96, .48);--handle-feedback-wash: rgba(18, 200, 255, .1);position:absolute;z-index:7;min-height:24px;max-width:160px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--handle-feedback-border);border-radius:4px;background:linear-gradient(90deg,var(--handle-feedback-wash),rgba(255,255,255,0) 56%),#fffffff5;box-shadow:0 4px 14px #1724312e;color:#1f3f55;font-size:12px;font-weight:700;pointer-events:none;transform:translate(10px,-50%);white-space:nowrap}.handle-hover-feedback:before{content:"";width:5px;height:16px;flex:0 0 auto;border-radius:999px;background:var(--handle-feedback-accent);box-shadow:0 0 0 2px var(--handle-feedback-wash)}.handle-feedback-xy{--handle-feedback-accent: #008cc7;--handle-feedback-border: rgba(18, 141, 190, .58);--handle-feedback-wash: rgba(18, 200, 255, .12)}.handle-feedback-z{--handle-feedback-accent: #a06700;--handle-feedback-border: rgba(160, 103, 0, .56);--handle-feedback-wash: rgba(255, 209, 92, .18)}.handle-feedback-rotation{--handle-feedback-accent: #8f37c7;--handle-feedback-border: rgba(143, 55, 199, .56);--handle-feedback-wash: rgba(201, 131, 255, .16)}.precision-handle-feedback,.size-handle-feedback{gap:5px;max-width:min(280px,calc(100% - 28px));pointer-events:auto}.handle-hover-feedback.pinned{border-color:#4d98c7;box-shadow:0 8px 22px #1724313d;pointer-events:auto}.precision-handle-feedback>span,.size-handle-feedback>span{color:#496174;font-size:11px}.precision-handle-feedback button,.size-handle-feedback button{min-width:54px;height:24px;display:inline-grid;grid-template-columns:auto 1fr;align-items:center;gap:4px;padding:0 7px;border:1px solid #bfd5e5;border-radius:3px;background:#f8fcff;color:#263f54;cursor:pointer;font:inherit}.precision-handle-feedback button:hover,.size-handle-feedback button:hover{border-color:#58a9dc;background:#edf8ff}.precision-handle-feedback .handle-pin-close{min-width:24px;width:24px;grid-template-columns:1fr;padding:0;color:#526b7d}.precision-handle-feedback button strong,.size-handle-feedback button strong{color:var(--handle-feedback-accent);font-size:11px}.precision-edit-popover,.size-edit-popover{position:absolute;z-index:8;width:190px;display:grid;gap:7px;padding:9px;border:1px solid #b9cedd;border-radius:4px;background:#fff;box-shadow:0 10px 24px #17243133;color:#263f54;transform:translate(12px,-50%)}.precision-edit-popover label,.size-edit-popover label{display:grid;gap:4px}.precision-edit-popover span,.size-edit-popover span{color:#526b7d;font-size:11px;font-weight:700}.precision-edit-popover input,.size-edit-popover input{min-width:0;height:30px;border:1px solid #cfdce5;border-radius:3px;padding:0 8px;color:#263f54}.precision-edit-popover small,.size-edit-popover small{color:#b35a2a;font-size:11px}.precision-edit-popover div,.size-edit-popover div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.precision-edit-popover button,.size-edit-popover button{height:28px;border:1px solid #cfdce5;border-radius:3px;background:#f8fbfd;color:#314c61;cursor:pointer}.precision-edit-popover button:last-child,.size-edit-popover button:last-child{border-color:#77b9de;background:#eaf7ff;color:#1c6c98;font-weight:700}.measure-overlay{position:absolute;inset:0;z-index:5;pointer-events:none}.measure-overlay line{stroke:#c3323e;stroke-width:2;stroke-dasharray:6 4}.measure-overlay circle{fill:#fff;stroke:#c3323e;stroke-width:2}.measure-readout,.dimension-overlay,.annotation-overlay{position:absolute;z-index:6;max-width:210px;border:1px solid rgba(41,83,110,.36);border-radius:4px;background:#fffffff5;box-shadow:0 5px 16px #17243129;color:#263f54;pointer-events:none}.measure-readout{padding:4px 8px;border-color:#c3323e9e;color:#9c2430;font-size:12px;font-weight:800;transform:translate(-50%,-130%)}.measure-readout.complete{background:#fff8f7}.dimension-overlay,.annotation-overlay{display:grid;gap:2px;padding:5px 8px;transform:translate(-50%,-120%)}.dimension-overlay strong,.annotation-overlay strong{min-width:0;overflow:hidden;color:#24465c;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dimension-overlay span,.annotation-overlay span{min-width:0;overflow:hidden;color:#617487;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.annotation-overlay{max-width:230px;border-color:#62708566;background:#fffffaf7}.workplane-viewport.drag-over:after{content:"";position:absolute;inset:12px;border:2px dashed rgba(20,146,197,.72);border-radius:6px;background:#26a6d514;pointer-events:none;z-index:2}.workplane-label{position:absolute;top:22px;right:88px;display:none;color:#339fca73;font-size:25px;font-weight:700;pointer-events:none}.left-rail{position:absolute;inset:0 auto 0 0;width:var(--left-rail-width);display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:108px;padding-bottom:18px;background:#f7f9fadb;border-right:1px solid rgba(199,213,224,.7);z-index:3}.left-rail .icon-button{width:52px;height:52px;flex:0 0 auto;border-radius:50%;border-color:#d9e3ea;background:#fff;box-shadow:0 1px 3px #2f455424}.view-orbit-pad{width:52px;flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;border:1px solid #d9e3ea;border-radius:8px;background:#fff;box-shadow:0 1px 3px #2f455424}.view-orbit-button{width:19px;height:19px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;background:transparent;color:#2e4658;cursor:pointer}.view-orbit-button:hover{border-color:#b8c8d4;background:#eef7ff}.view-orbit-button:first-child,.view-orbit-button:last-child{grid-column:1 / 3;justify-self:center}.view-cube{position:absolute;top:26px;width:64px;height:64px;display:grid;place-items:center;overflow:visible;color:#405969;font-size:8px;font-weight:800;line-height:1}.view-cube-stage{--view-cube-size: 34px;--view-cube-half-size: 17px;--view-cube-rotate-x: -32deg;--view-cube-rotate-y: 40deg;--view-cube-rotate-z: 0deg;position:relative;width:58px;height:58px;perspective:260px;perspective-origin:50% 50%}.view-cube-shell{position:absolute;left:50%;top:50%;width:var(--view-cube-size);height:var(--view-cube-size);transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(var(--view-cube-rotate-x)) rotateY(var(--view-cube-rotate-y)) rotate(var(--view-cube-rotate-z));transition:transform 80ms linear}.view-cube-face{position:absolute;inset:0;min-width:0;display:grid;place-items:center;padding:0;border:1px solid rgba(92,129,151,.76);border-radius:3px;background:#f7fcffed;color:inherit;font:inherit;letter-spacing:0;text-transform:uppercase;backface-visibility:hidden;box-shadow:inset 0 0 0 1px #ffffff85;pointer-events:none}.view-cube-face span{pointer-events:none}.view-cube-face-front{transform:translateZ(var(--view-cube-half-size))}.view-cube-face-back{transform:rotateY(180deg) translateZ(var(--view-cube-half-size))}.view-cube-face-left{transform:rotateY(-90deg) translateZ(var(--view-cube-half-size))}.view-cube-face-right{transform:rotateY(90deg) translateZ(var(--view-cube-half-size))}.view-cube-face-top{transform:rotateX(90deg) translateZ(var(--view-cube-half-size))}.view-cube-face-bottom{transform:rotateX(-90deg) translateZ(var(--view-cube-half-size))}.view-cube-commands{position:absolute;inset:0;z-index:3}.view-cube-command{position:absolute;width:26px;height:13px;display:grid;place-items:center;padding:0 4px;border:1px solid rgba(92,129,151,.68);border-radius:999px;background:#fafdffeb;color:#405969;font:inherit;font-size:6px;font-weight:900;line-height:1;letter-spacing:0;text-transform:uppercase;box-shadow:0 1px 4px #2f455429;cursor:pointer}.view-cube-command span{pointer-events:none}.view-cube-command-top{top:0;right:1px}.view-cube-command-bottom{bottom:0;right:1px}.view-cube-command-left{left:1px;top:50%;transform:translateY(-50%)}.view-cube-command-right{right:1px;top:50%;transform:translateY(-50%)}.view-cube-command-front{left:1px;bottom:0}.view-cube-command-back{left:1px;top:0}.view-cube-command:hover{border-color:#258db8;background:#e7f7ff;color:#173f52}.view-cube-face.active,.view-cube-command.active{border-color:#1098c8;background:#cdecf8;color:#0c465f;box-shadow:inset 0 0 0 1px #ffffff94,0 0 0 1px #1098c880,0 3px 12px #12759a40}@media(max-width:1366px){:root{font-size:13px}.topbar{min-height:76px;height:auto;align-content:flex-start}.app-shell{grid-template-rows:auto minmax(0,1fr)}.topbar .tool-group{min-height:38px;height:auto}.topbar .operation-tools,.topbar .file-tools{flex-wrap:wrap;row-gap:2px;max-width:100%}.topbar .operation-tools{order:2;flex:1 1 520px;justify-content:flex-start;border-top:1px solid #dbe1e6;border-right:0}.topbar .operation-row-break{display:block;order:1}.topbar .theme-tools,.topbar .file-tools{order:2}.topbar-spacer{display:none}.topbar .icon-button,.topbar .text-button{min-width:29px;height:30px;padding:0 6px}.theme-slider{width:58px;height:28px}.theme-slider-thumb{width:22px;height:22px}.theme-slider.dark .theme-slider-thumb{transform:translate(28px)}.topbar .toolbar-menu-panel{position:fixed;top:80px;left:8px;right:auto;max-height:calc(100vh - 88px)}.topbar .file-tools .toolbar-menu-panel{right:8px;left:auto}.shape-palette{font-size:13px}.palette-tabs,.palette-tab{height:52px}.left-rail{gap:8px;padding-top:94px;padding-bottom:12px}.left-rail .icon-button{width:46px;height:46px}.view-orbit-pad{width:46px;gap:3px;padding:4px}.view-orbit-button{width:17px;height:17px}}.shape-palette{position:absolute;inset:0 0 0 auto;width:var(--palette-width);background:#f7f8f9;border-left:1px solid #d8e0e6;z-index:4;overflow-y:auto}.palette-tabs{height:58px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;border-bottom:1px solid #dde4ea;background:#fff}.palette-tab{min-width:0;height:58px;display:grid;place-items:center;align-content:center;gap:3px;border:0;background:transparent;color:#667989;font-size:11px;font-weight:700;cursor:pointer}.palette-tab span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-tab:hover{background:#f4f8fb;color:#2f617d}.palette-tab.active{color:#008cc7;box-shadow:inset 0 -3px #0aa7e1}.grid-icon,.ruler-icon,.notes-icon{display:inline-block;width:42px;height:42px;border:2px solid currentColor}.grid-icon{background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:10px 10px}.ruler-icon{border-top:0;transform:skew(-4deg)}.notes-icon{border-radius:8px}.shape-search-row{display:grid;grid-template-columns:1fr;gap:4px;padding:8px 10px}.shape-dropdown,.shape-search{height:36px;border:1px solid #d9e1e7;background:#fff;border-radius:3px}.shape-dropdown{padding:0 14px;color:#496174;cursor:pointer}.shape-search{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:4px;padding:0 8px}.shape-search input{width:100%;min-width:0;height:28px;border:0;outline:0}.operation-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 10px 10px}.operation-chip{flex:1;height:34px;border:1px solid #d7e1e8;background:#fff;border-radius:4px;cursor:pointer}.operation-chip.active.solid{color:#fff;border-color:#4666b7;background:#4666b7}.operation-chip.active.hole{color:#fff;border-color:#8e9aa6;background:#8e9aa6}.operation-mode-state{grid-column:1 / -1;min-height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7e1e8;border-radius:4px;font-size:12px;font-weight:800}.operation-mode-state.solid{border-color:#cbd7f3;background:#f0f4ff;color:#2f4f99}.operation-mode-state.hole{border-color:#d2d9df;background:repeating-linear-gradient(135deg,rgba(137,149,160,.18) 0,rgba(137,149,160,.18) 6px,transparent 6px,transparent 12px),#f2f5f7;color:#596976}.shape-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 10px 16px}.shape-palette-empty{grid-column:1 / -1;min-height:88px;display:grid;place-items:center;gap:8px;padding:14px 10px;border:1px dashed #cfdce5;border-radius:4px;background:#f8fbfd;color:#6c7d8a;text-align:center}.shape-palette-empty button{height:30px;border:1px solid #c7d8e4;border-radius:4px;background:#fff;color:#24465c;cursor:pointer;font-weight:700}.shape-palette-empty button:hover{border-color:#8fbfdc;background:#edf8ff;color:#1c6c98}.case-shell-builder,.printed-helper-builder{margin:0 10px 16px}.construction-kind-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.construction-kind{height:30px;border:1px solid #d7e1e8;border-radius:4px;background:#fff;color:#41596d;cursor:pointer}.construction-kind.active{border-color:#1b7ca2;background:#e7f5fb;color:#155e7b;font-weight:700}.construction-grid{align-items:end}.construction-color-field input[type=color]{padding:3px}.construction-add{width:100%}.construction-helper-note{margin:0;padding:7px 8px;border:1px solid #dce8ef;border-radius:4px;background:#f7fbfd;color:#526b7d;font-size:11px;line-height:1.35}.construction-list{display:grid;gap:8px}.construction-row{display:grid;gap:8px;padding:9px;border:1px solid #dbe6ec;border-radius:4px;background:#f8fbfd}.construction-row.hidden{background:#f1f4f6;opacity:.72}.construction-row-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.construction-row-header>div:first-child{min-width:0;display:grid;gap:2px}.construction-row-header strong{min-width:0;color:#314c61;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.construction-row-header span{color:#6f8291;font-size:11px;font-weight:700}.construction-row-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.construction-summary{margin:-2px 0 0;color:#526b7d;font-size:11px;line-height:1.35}.construction-row-tags span{padding:2px 6px;border-radius:999px;background:#e9f2f7;color:#526b7d;line-height:1}.construction-row-tags span.visible{background:#e6f7ef;color:#267052}.construction-row-tags span.hidden{background:#eef1f4;color:#7a8892}.construction-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) repeat(3,32px);align-items:end;gap:6px}.construction-icon-button{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid #c6d5df;border-radius:4px;background:#fff;color:#41596d;cursor:pointer}.construction-icon-button:hover{border-color:#8bb5c8;background:#edf7fb}.construction-icon-button.danger{color:#a83a32}.construction-icon-button.danger:hover{border-color:#e0aaa4;background:#fff1ef}.printed-helper-kind-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.printed-helper-kind{height:30px;border:1px solid #d7e1e8;border-radius:4px;background:#fff;color:#41596d;cursor:pointer}.printed-helper-kind.active{border-color:#3a8b6f;background:#eaf8f2;color:#22614a;font-weight:700}.case-shell-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.case-shell-field{min-width:0;display:grid;gap:3px}.case-shell-field-wide{grid-column:1 / -1}.case-shell-field span{color:#587083;font-size:10px;font-weight:700;letter-spacing:0}.case-shell-field input{width:100%;min-width:0;height:32px;border:1px solid #d9e1e7;border-radius:3px;padding:0 7px;background:#fff;color:#263947;font:inherit}.case-shell-add{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #288bb5;border-radius:4px;background:#0b96ce;color:#fff;font-weight:700;cursor:pointer}.case-shell-add:disabled{border-color:#c8d4dc;background:#d9e1e7;color:#7b8b98;cursor:not-allowed}.builder-validation-message{margin:0;padding:7px 8px;border:1px solid #e5b1a5;border-radius:4px;background:#fff4f1;color:#9b3b2d;font-size:12px;font-weight:700}.printed-helper-actions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:6px}.printed-helper-seat{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;border:1px solid #c6d5df;border-radius:4px;background:#f8fbfd;color:#41596d;font-weight:700;cursor:pointer}.printed-helper-seat:disabled{color:#8a99a5;background:#edf2f5;cursor:not-allowed}.printed-helper-add span,.printed-helper-seat span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-panel{display:grid;gap:10px;padding:12px 10px 18px}.palette-card{display:grid;gap:10px;padding:10px;border:1px solid #dfe8ee;border-radius:4px;background:#fff}.palette-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.palette-card-title strong{min-width:0;overflow:hidden;color:#314c61;text-overflow:ellipsis;white-space:nowrap}.palette-card-title span,.measurement-grid>span,.notes-card>span,.notes-card small{color:#667989;font-size:12px}.measurement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.measurement-grid>span{grid-column:1 / -1;font-weight:700}.measurement-grid label{display:grid;gap:3px;min-width:0}.measurement-grid small{color:#7a8b98;font-size:10px;font-weight:700}.measurement-grid output,.measurement-total strong,.measurement-total output{min-width:0;height:28px;display:grid;align-items:center;padding:0 7px;border:1px solid #d5e0e8;border-radius:3px;background:#f9fbfc;color:#314c61;font-size:12px;overflow:hidden;text-overflow:ellipsis}.measurement-grid output.copyable,.measurement-total output.copyable{grid-template-columns:minmax(0,1fr) auto;gap:5px;cursor:pointer}.measurement-grid output.copyable:after,.measurement-total output.copyable:after{content:"Copy";align-self:center;padding:2px 4px;border-radius:3px;background:#eaf3f8;color:#557086;font-size:9px;font-weight:800;line-height:1;text-transform:uppercase}.measurement-grid output.copyable:hover,.measurement-grid output.copyable:focus-visible,.measurement-total output.copyable:hover,.measurement-total output.copyable:focus-visible{border-color:#8bb9d8;background:#edf7ff;color:#0d6f9f;outline:0}.measurement-grid output.copyable:hover:after,.measurement-grid output.copyable:focus-visible:after,.measurement-total output.copyable:hover:after,.measurement-total output.copyable:focus-visible:after{background:#d6ecf8;color:#0d6f9f}.compact-measurement{gap:8px}.measurement-total{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:8px}.last-ruler-measurement .text-button{width:100%}.measurement-total span{color:#667989;font-size:12px;font-weight:700}.measurement-actions{display:grid;gap:7px}.measurement-actions>span,.notes-field>span{color:#667989;font-size:12px;font-weight:700}.measurement-button-grid,.notes-actions{display:grid;gap:6px}.measurement-button-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.measurement-button-grid .text-button,.notes-actions .text-button{min-width:0;width:100%;padding:0 6px;font-size:12px}.measurement-button-grid .text-button{height:auto;min-height:42px;flex-direction:column;gap:1px;line-height:1.1}.measurement-lock-label{font-weight:700}.measurement-lock-value{color:#526b7d;font-size:11px}.measurement-hint{color:#667989}.measurement-hint strong{color:#314c61}.notes-actions{grid-template-columns:1fr 64px 64px}.annotation-card .text-button{width:100%;min-width:0}.annotation-input{min-height:56px}.annotation-list{display:grid;gap:8px;max-height:250px;overflow:auto}.annotation-row{display:grid;gap:6px;padding:8px;border:1px solid #dce6ee;border-radius:4px;background:#f9fbfc}.annotation-row.missing{border-style:dashed;color:#8a6670;background:#fff7f7}.annotation-row-header{display:grid;grid-template-columns:minmax(0,1fr) 28px 28px;align-items:center;gap:5px}.annotation-row-header strong{min-width:0;overflow:hidden;color:#314c61;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.annotation-row-header button{width:28px;height:26px;display:inline-grid;place-items:center;border:1px solid #d3dde6;border-radius:3px;background:#fff;color:#5e7181;cursor:pointer}.annotation-row-header button:hover{border-color:#9fc7e8;color:#1c6c98}.annotation-row textarea{min-height:64px;resize:vertical;border:1px solid #d5e0e8;border-radius:4px;padding:7px;color:#314c61;background:#fff;font:inherit;line-height:1.35}.notes-field{display:grid;gap:5px}.notes-card textarea,.annotation-card textarea{min-height:300px;resize:vertical;border:1px solid #d5e0e8;border-radius:4px;padding:8px;color:#314c61;font:inherit;line-height:1.35}.annotation-card textarea{min-height:56px}.shape-tile{aspect-ratio:1;border:1px solid #dfe8ee;background:#fff;color:var(--accent);display:grid;grid-template-rows:minmax(46px,1fr) auto 18px;gap:3px;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;padding:6px 5px 5px;min-width:0}.shape-tile:hover{border-color:#9bd7ef;background:#fbfeff;box-shadow:0 0 0 2px #339fca24 inset}.shape-tile.muted{color:#a8b0b8;background:repeating-linear-gradient(135deg,rgba(140,149,158,.14) 0,rgba(140,149,158,.14) 6px,transparent 6px,transparent 12px),#fff}.shape-tile-text{width:100%;min-width:0;display:grid;gap:1px;justify-items:center}.shape-tile small{max-width:100%;color:#587083;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shape-tile-dimensions{max-width:100%;color:#6c7f8e;font-size:9px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shape-tile-mode{justify-self:center;align-self:center;min-width:42px;border-radius:999px;padding:2px 7px;color:#fff;font-size:9px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:0}.shape-tile-mode.solid{background:var(--accent)}.shape-tile-mode.hole{background:#7c8894}.shape-thumbnail{align-self:stretch;justify-self:stretch;display:block;width:100%;min-width:0;height:100%;min-height:46px;pointer-events:none}.floating-inspector{position:absolute;top:0;right:var(--palette-width);bottom:0;width:260px;display:flex;flex-direction:column;border:0;border-left:1px solid #d8e0e6;background:#f9fbfc;box-shadow:none;z-index:4;overflow:hidden}.floating-inspector.collapsed{overflow:hidden}.inspector-resize-handle{position:absolute;top:0;bottom:0;left:0;z-index:3;width:8px;cursor:ew-resize;touch-action:none}.inspector-resize-handle:before{content:"";position:absolute;top:50%;left:3px;width:2px;height:42px;border-radius:2px;background:#cad7e0;opacity:0;transform:translateY(-50%);transition:opacity .12s ease}.inspector-resize-handle:hover:before,body.inspector-resizing .inspector-resize-handle:before{opacity:1}body.inspector-resizing{cursor:ew-resize;-webkit-user-select:none;user-select:none}.inspector-title-row,.section-title,.engine-row{display:flex;align-items:center;gap:10px}.inspector-title-row{flex:0 0 auto;height:44px;padding:0 12px;border-bottom:1px solid #dde5eb;background:#fff}.inspector-content{min-height:0;overflow:auto}.inspector-title-row strong{flex:1}.collapse-button{border:0;background:transparent;color:#35546a;font-weight:700;cursor:pointer;display:inline-grid;place-items:center;width:24px;height:24px}.collapse-button svg{transform:rotate(180deg);transition:transform .12s ease}.collapse-button.collapsed svg{transform:rotate(0)}.inspector-locks{display:flex;gap:9px}.inspector-locks button{width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid #cad6de;border-radius:4px;background:#fff;color:#456174;cursor:pointer}.inspector-locks button:disabled{color:#a7b4bf;cursor:default}.inspector-card{margin:8px;padding:10px;background:#fff;border:1px solid #dfe8ee;border-radius:4px}.material-card{display:grid;grid-template-columns:1fr 1fr;gap:8px}.material-option{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d6e1e9;border-radius:4px;background:#fff;color:#6d7e8c;cursor:pointer;font-weight:700}.material-option span{display:inline-block;width:18px;height:18px;margin:0;border-radius:50%}.material-option.solid span{background:#4666b7}.material-option.hole span{background:repeating-linear-gradient(135deg,rgba(255,255,255,.55) 0,rgba(255,255,255,.55) 6px,transparent 6px,transparent 12px),#a7afb7}.material-option.active span{box-shadow:0 0 0 2px #fff,0 0 0 4px #6fa4ff}.material-option.active{border-color:#8fc5e8;background:#edf8ff;color:#1c6c98}.reference-card{display:grid;grid-template-columns:72px 1fr;gap:8px 10px;align-items:center}.reference-card img{width:72px;height:54px;object-fit:cover;border:1px solid #cfdce5;border-radius:3px}.reference-card span{color:#496174;font-weight:700}.reference-card button{grid-column:2;width:100%;height:28px;border:1px solid #cfdce5;border-radius:4px;background:#fff;color:#314c61;cursor:pointer}.summary-card{color:#314c61}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.summary-item{min-width:0;padding:8px 6px;border:1px solid #e5edf3;border-radius:4px;background:#f8fbfd;text-align:center}.summary-item strong{display:block;color:#263f54;font-size:18px;line-height:1.1}.summary-item span{display:block;margin-top:3px;color:#6c7f8d;font-size:11px}.selection-summary{display:grid;gap:10px}.pending-cut-card{display:grid;gap:8px;border-color:#f0c2aa;background:#fff8f4}.pending-cut-card .section-title{margin-bottom:0}.pending-cut-card p{margin:0;color:#405a70;font-size:12px;line-height:1.35}.pending-cut-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;padding:7px;border:1px solid #f1d2c2;border-radius:4px;background:#fff}.pending-cut-grid span{color:#7a6c64;font-size:11px;font-weight:700}.pending-cut-grid strong{min-width:0;overflow:hidden;color:#314c61;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.selection-measurements{display:grid;gap:9px;padding:8px;border:1px solid #e5edf3;border-radius:4px;background:#fbfdfe}.section-title{justify-content:space-between;font-weight:700;margin-bottom:10px}.empty-selection{height:46px;color:#7c8a96;display:grid;place-items:center;border:1px dashed #ccd8e1;border-radius:4px}.shape-form{display:grid;gap:10px}.field-group-title{color:#314c61;font-size:12px;font-weight:700;margin-top:2px}.field,.number-field,.range-field{display:grid;gap:4px}.field span,.number-field span,.range-field span{color:#667989;font-size:12px}.field input,.number-field input,.constraint-editor input,.constraint-editor select,.constraint-row input[type=number]{min-width:0;width:100%;height:30px;border:1px solid #d5e0e8;border-radius:3px;padding:0 8px}.field input[type=color]{width:54px;padding:2px;cursor:pointer}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.field-grid>*{min-width:0}.range-field{grid-template-columns:1fr auto;align-items:center;gap:6px 8px}.range-field input{grid-column:1 / -1;width:100%;accent-color:#1f95c7}.range-field strong{color:#314c61;font-size:12px;font-weight:700}.form-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:8px}.form-actions .text-button{width:100%;min-width:0;padding:0 8px}.property-stack{display:grid;gap:9px}.hole-preset-card{display:grid;gap:7px;padding:8px;border:1px solid #dce7ee;border-radius:4px;background:#f8fbfd}.hole-preset-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.hole-preset-title span{color:#667989;font-size:12px;font-weight:700}.hole-preset-title strong{color:#314c61;font-size:12px}.hole-preset-buttons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.pocket-preset-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.screw-preset-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.slot-size-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.slot-preset-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.hole-preset-buttons button,.pocket-preset-buttons button,.screw-preset-buttons button,.slot-preset-buttons button{min-width:0;height:28px;border:1px solid #cfdde7;border-radius:3px;background:#fff;color:#3e596d;cursor:pointer;font-size:12px;font-weight:700}.hole-preset-buttons button.active,.hole-preset-buttons button:hover,.pocket-preset-buttons button.active,.pocket-preset-buttons button:hover,.screw-preset-buttons button.active,.screw-preset-buttons button:hover,.slot-preset-buttons button.active,.slot-preset-buttons button:hover{border-color:#83badb;background:#eaf7ff;color:#176d98}.preset-note{color:#667989;font-size:11px;line-height:1.35}.property-field{display:grid;gap:5px}.property-field>span{color:#667989;font-size:12px}.property-control-row{display:grid;grid-template-columns:minmax(0,1fr) 64px auto;gap:8px;align-items:center}.property-field:not(.slider-field) .property-control-row{grid-template-columns:minmax(0,1fr) auto}.property-control-row input[type=range]{width:100%;accent-color:#0aa7e1}.property-control-row input[type=number]{min-width:0;height:30px;border:1px solid #d5e0e8;border-radius:3px;padding:0 8px;text-align:center}.property-unit{min-width:34px;color:#738696;font-size:11px;font-weight:700}.count-badge{min-width:24px;height:22px;display:inline-grid;place-items:center;border-radius:11px;color:#fff;background:#617487;font-size:12px}.object-list{display:grid;gap:5px;max-height:146px;overflow:auto}.object-list-empty{display:grid;gap:7px;padding:10px;border:1px dashed #cfdde7;border-radius:4px;background:#f8fbfd;color:#6a7f8f;font-size:12px;text-align:center}.object-list-empty button{justify-self:center;min-width:88px;min-height:28px;border:1px solid #cbdce7;border-radius:3px;background:#fff;color:#315b72;cursor:pointer;font-size:11px;font-weight:800}.object-list-empty button:hover{border-color:#8bb9d8;background:#edf7ff;color:#0d6f9f}.object-list-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-bottom:7px}.object-search-field{min-width:0;height:30px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:4px;padding:0 7px;border:1px solid #d5e0e8;border-radius:3px;background:#fff;color:#64788a}.object-search-field input,.object-filter-select,.object-rename-field input{min-width:0;height:28px;border:0;background:transparent;color:#314c61;outline:0}.object-filter-select{width:100%;border:1px solid #d5e0e8;border-radius:3px;background:#fff;padding:0 6px}.object-filter-tools{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:4px}.object-filter-clear{min-width:0;height:30px;border:1px solid #d5e0e8;border-radius:3px;background:#fff;color:#405a70;cursor:pointer;font-size:11px;font-weight:800}.object-filter-clear:hover:not(:disabled){border-color:#8bb9d8;background:#edf7ff;color:#0d6f9f}.object-filter-clear:disabled{color:#9eafbc;background:#f4f7f9;cursor:default}.object-order-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:-1px 0 7px}.object-order-button{height:28px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d5e0e8;border-radius:3px;background:#fff;color:#405a70;font-size:12px;font-weight:700;cursor:pointer}.object-order-button:hover:not(:disabled){border-color:#8bb9d8;background:#edf7ff;color:#0d6f9f}.object-order-button:disabled{color:#96a8b7;background:#f5f7f9;cursor:not-allowed}.object-rename-field{display:grid;gap:4px;margin-bottom:7px}.object-rename-field span{color:#667989;font-size:12px;font-weight:700}.object-rename-field input{width:100%;border:1px solid #d5e0e8;border-radius:3px;background:#fff;padding:0 8px}.group-options-row{display:flex;gap:6px;margin:-1px 0 7px}.group-action-toggle{height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid #d5e0e8;border-radius:3px;background:#fff;color:#405a70;font-size:12px;font-weight:700;cursor:pointer}.group-action-toggle:hover,.group-action-toggle.active{border-color:#8bb9d8;background:#edf7ff;color:#0d6f9f}.group-action-toggle.collapse-action svg{transition:transform .12s ease}.group-action-toggle.collapse-action.collapsed svg{transform:rotate(-90deg)}.object-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:7px;min-height:30px;border:1px solid #e3e9ee;background:#fbfcfd;border-radius:4px;text-align:left;cursor:pointer}.object-row.active{border-color:#68afe6;background:#edf7ff}.object-row.selected{border-color:#9fc7e8;background:#f4faff}.object-row.selected.active{border-color:#2389d7;background:#e7f4ff;box-shadow:inset 3px 0 #2389d7}.object-group-row{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:26px minmax(0,1fr) repeat(3,26px);gap:3px;align-items:stretch;min-height:34px;padding:3px;border:1px solid #d8e5ee;border-radius:4px;background:#f2f7fb}.object-group-row.selected{border-color:#9fc7e8;background:#eef8ff}.object-group-row.active{border-color:#2389d7;box-shadow:inset 3px 0 #2389d7}.object-group-row.pinned{border-color:#9fc7e8;background:#f0f9ff}.object-group-row.locked{border-style:dashed}.object-group-row.hidden{opacity:.78}.object-group-toggle,.object-group-select,.object-group-state,.object-group-pin{border:0;background:transparent;color:#405a70;cursor:pointer}.object-group-toggle,.object-group-state,.object-group-pin{display:grid;place-items:center;border-radius:3px}.object-group-toggle:hover,.object-group-select:hover,.object-group-state:hover,.object-group-pin:hover{background:#5b93bc1f}.object-group-state.active{color:#0d6f9f;background:#3691c21f}.object-group-pin.active{color:#0d6f9f;background:#3691c224}.object-group-toggle svg{transform:rotate(180deg);transition:transform .12s ease}.object-group-row.collapsed .object-group-toggle svg{transform:rotate(0)}.object-group-select{min-width:0;display:grid;gap:1px;align-content:center;border-radius:3px;text-align:left}.object-group-title,.object-group-select small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-group-title{color:#314c61;font-size:12px;font-weight:700}.object-group-select small{color:#7b8d9b;font-size:11px}.object-dot{width:10px;height:10px;border-radius:50%}.object-dot.hole{background:repeating-linear-gradient(135deg,rgba(255,255,255,.65) 0,rgba(255,255,255,.65) 2px,transparent 2px,transparent 4px),#9aa3ad}.object-dot.reference{border-radius:2px;background:#1a9dc4}.object-row small{color:#8795a2;padding-right:6px}.constraints-card{margin-bottom:14px}.constraint-panel{display:grid;gap:10px}.constraint-editor{display:grid;gap:7px}.constraint-editor label{display:grid;gap:4px}.constraint-editor span{color:#667989;font-size:12px}.constraint-editor .text-button{width:100%}.point-gap-editor{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;border:1px solid #e2ebf2;border-radius:4px;background:#f8fbfd}.point-gap-editor .text-button,.point-gap-editor .constraint-current-gap,.point-gap-editor .constraint-edge-shortcuts,.point-gap-editor .constraint-axis-note{grid-column:1 / -1}.constraint-edge-shortcuts{display:grid;gap:5px}.constraint-edge-shortcuts>span{color:#667989;font-size:12px}.constraint-edge-shortcuts>div{display:flex;flex-wrap:wrap;gap:4px}.constraint-edge-shortcuts button{min-height:24px;padding:0 7px;border:1px solid #d8e6ef;border-radius:3px;background:#fff;color:#405a70;font-size:11px;cursor:pointer}.constraint-edge-shortcuts button:hover{border-color:#9dc7db;background:#eef7fb}.constraint-edge-shortcuts button.active{border-color:#4bb7dc;background:#dff2fb;color:#174e66}.constraint-current-gap{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;padding:0 8px;border:1px solid #d8e6ef;border-radius:3px;background:#fff}.constraint-current-gap strong{margin-left:auto;color:#263f54;font-size:12px}.constraint-current-gap button{height:22px;min-width:40px;padding:0 8px;border:1px solid #d9e0e7;border-radius:3px;background:#f9fbfc;color:#263f54;cursor:pointer}.constraint-current-gap button:hover{border-color:#b8c8d4;background:#fff}.constraint-axis-note{margin:0;padding:6px 8px;border:1px solid #d8e6ef;border-radius:3px;background:#eef7fb;color:#496678;font-size:11px;line-height:1.35}.constraint-list{display:grid;gap:6px}.constraint-row{display:grid;grid-template-columns:22px minmax(0,1fr) 66px 28px;align-items:center;gap:6px;padding:6px;border:1px solid #e3e9ee;border-radius:4px;background:#fbfcfd}.constraint-row.active{border-color:#cfe3ef;background:#f1f8fc}.constraint-row.satisfied{border-color:#bcded4;background:#f2fbf8}.constraint-row.off{border-color:#e6c7a4;background:#fff8ef}.constraint-row.unresolved{border-color:#d9dfe5;background:#f4f6f8}.constraint-row-body{min-width:0;display:grid;gap:2px}.constraint-row-summary{min-width:0;color:#405a70;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.constraint-row-meta{min-width:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:#6d8292;font-size:11px}.constraint-row-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.constraint-mode-badge,.constraint-target-badge,.constraint-state-badge,.constraint-current-badge{flex:0 0 auto;padding:1px 5px;border-radius:999px}.constraint-mode-badge{background:#4984a81f;color:#315d78;font-weight:700}.constraint-target-badge{background:#4984a814;color:#4c6878;font-weight:700}.constraint-state-badge{font-weight:800;text-transform:uppercase}.constraint-state-badge.satisfied{background:#27815e1f;color:#267155}.constraint-state-badge.off{background:#b06c1924;color:#8a5b1d}.constraint-state-badge.unresolved,.constraint-state-badge.disabled{background:#70808e1f;color:#6b7883}.constraint-current-badge{flex:1 1 92px;background:#ffffffad;color:#405a70;font-weight:700}.constraint-row.satisfied .constraint-current-badge{color:#267155}.constraint-row.off .constraint-current-badge{color:#8a5b1d}.constraint-row.unresolved .constraint-current-badge{color:#7b8791}.constraint-enable{display:grid;place-items:center}.constraint-row input[type=number]{min-width:0;height:28px;text-align:center}.constraint-row button{width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid #d5e0e8;border-radius:3px;background:#fff;color:#6b7f8e;cursor:pointer}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:#202f3c6b;z-index:20}.project-recovery-dialog,.unsaved-changes-dialog{width:min(460px,calc(100vw - 32px));display:grid;gap:14px;padding-bottom:14px;border:1px solid #cbd8e2;border-radius:6px;background:#f8fbfd;box-shadow:0 18px 48px #192a3847;overflow:hidden}.project-recovery-body,.unsaved-changes-body{display:grid;gap:12px;padding:0 14px;color:#425d70;font-size:13px;line-height:1.45}.project-recovery-body p,.unsaved-changes-body p{margin:0}.project-recovery-body dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.project-recovery-body dl div{min-width:0;padding:8px;border:1px solid #dce6ed;border-radius:4px;background:#fff}.project-recovery-body dt{color:#708391;font-size:11px}.project-recovery-body dd{margin:3px 0 0;color:#304b5f;font-weight:700}.project-recovery-dialog .form-actions,.unsaved-changes-dialog .form-actions{padding:0 14px}.workplane-settings-dialog{width:min(440px,calc(100vw - 72px));display:grid;gap:14px;padding-bottom:14px;border:1px solid #cbd8e2;border-radius:6px;background:#f8fbfd;box-shadow:0 18px 48px #192a3847;overflow:hidden}.dialog-header{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 14px;border-bottom:1px solid #dce6ed;background:#fff}.dialog-header div{flex:1;min-width:0;display:grid;gap:2px}.dialog-header strong{color:#314c61}.dialog-header span{overflow:hidden;color:#6f8290;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dialog-header button{width:30px;height:30px;border:1px solid #cfdce5;border-radius:4px;background:#fff;cursor:pointer}.workplane-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px}.settings-select,.settings-range{display:grid;gap:5px;min-width:0}.settings-select span,.settings-range span{color:#667989;font-size:12px;font-weight:700}.settings-select select{height:32px;border:1px solid #d5e0e8;border-radius:4px;background:#fff;color:#314c61}.settings-range{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;align-items:center}.settings-range input{grid-column:1 / -1;width:100%;height:26px;accent-color:#1f95c7;cursor:pointer}.settings-range strong{color:#314c61;font-size:12px}.settings-toggle{min-width:0;height:34px;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 9px;border:1px solid #d7e2ea;border-radius:4px;background:#fff;color:#52687a;cursor:pointer}.settings-toggle span:not(.settings-toggle-mark){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-toggle-state{min-width:30px;padding:2px 6px;border-radius:999px;background:#e9eef2;color:#607486;font-size:10px;line-height:1;text-align:center;text-transform:uppercase}.settings-toggle.active{border-color:#8fc5e8;background:#edf8ff;color:#1c6c98}.settings-toggle.active .settings-toggle-state{background:#0aa7e1;color:#fff}.settings-toggle-mark{width:14px;height:14px;flex:0 0 auto;border:1px solid #b8c6d1;border-radius:2px;background:#fff}.settings-toggle.active .settings-toggle-mark{border-color:#0a94ca;background:#0aa7e1}.workplane-settings-dialog .form-actions{padding:0 14px}@media(max-width:520px){.workplane-settings-dialog{width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.workplane-settings-grid{grid-template-columns:minmax(0,1fr)}}.axis-cutter-dialog{width:min(460px,calc(100vw - 72px));display:grid;gap:14px;padding-bottom:14px;border:1px solid #cbd8e2;border-radius:6px;background:#f8fbfd;box-shadow:0 18px 48px #192a3847;overflow:hidden}.axis-cutter-body{display:grid;gap:12px;padding:0 14px}.axis-cutter-axis-buttons,.axis-cutter-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.axis-cutter-axis-buttons button,.axis-cutter-presets button{height:32px;border:1px solid #d4e0e8;border-radius:4px;background:#fff;color:#40586d;font-weight:700;cursor:pointer}.axis-cutter-axis-buttons button.active,.axis-cutter-axis-buttons button:hover,.axis-cutter-presets button:hover{border-color:#86c4e4;background:#eef8ff;color:#176d96}.axis-cutter-side-offset{display:grid;gap:8px;padding:9px;border:1px solid #dce8ef;border-radius:4px;background:#f8fbfd}.axis-cutter-side-offset label{display:grid;gap:5px}.axis-cutter-side-offset span{color:#667989;font-size:12px;font-weight:700}.axis-cutter-side-offset input{height:32px;border:1px solid #d5e0e8;border-radius:4px;background:#fff;color:#314c61}.axis-cutter-side-offset div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.axis-cutter-side-offset button{min-height:32px;border:1px solid #d4e0e8;border-radius:4px;background:#fff;color:#37556b;cursor:pointer}.axis-cutter-side-offset button:hover:not(:disabled){border-color:#86c4e4;background:#eef8ff;color:#176d96}.axis-cutter-side-offset button:disabled{color:#94a5b1;cursor:not-allowed}.axis-cutter-coordinate{display:grid;gap:5px}.axis-cutter-coordinate span{color:#667989;font-size:12px;font-weight:700}.axis-cutter-coordinate input{height:34px;border:1px solid #d5e0e8;border-radius:4px;background:#fff;color:#314c61}.axis-cutter-range{width:100%;height:28px;accent-color:#1f95c7;cursor:pointer}.axis-cutter-readout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.axis-cutter-readout div{min-width:0;padding:8px;border:1px solid #dbe7ee;border-radius:4px;background:#fff}.axis-cutter-readout dt{color:#748796;font-size:11px}.axis-cutter-readout dd{margin:2px 0 0;color:#314c61;font-weight:800}.axis-cutter-error{margin:0;padding:8px;border:1px solid #e7c6bc;border-radius:4px;background:#fff5f1;color:#9a4b2f;font-size:12px}.axis-cutter-dialog .form-actions{padding:0 14px}.import-review{width:min(660px,calc(100vw - 72px));max-height:calc(100vh - 72px);display:grid;grid-template-rows:54px minmax(0,1fr);border:1px solid #cbd8e2;border-radius:6px;background:#f8fbfd;box-shadow:0 18px 48px #192a3847;overflow:hidden}.import-review-header{display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid #dce6ed;background:#fff}.import-review-header div{flex:1;min-width:0;display:grid;gap:2px}.import-review-header strong{color:#314c61}.import-review-header span{overflow:hidden;color:#6f8290;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.import-review-header button{width:30px;height:30px;border:1px solid #cfdce5;border-radius:4px;background:#fff;cursor:pointer}.import-review-body{min-height:0;display:grid;gap:10px;padding:12px;overflow:auto}.import-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.import-summary-metric,.import-review-bounds,.import-review-warnings,.import-review-parts{display:grid;gap:7px;padding:10px;border:1px solid #dce6ed;border-radius:4px;background:#fff}.import-summary-metric span,.import-review-parts small,.import-review-warnings span{color:#667989;font-size:12px}.import-summary-metric strong{min-width:0;overflow:hidden;color:#314c61;font-size:17px;text-overflow:ellipsis}.import-review-bounds>strong,.import-review-warnings>strong,.import-review-parts>strong{color:#314c61}.import-review-part-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.import-review-part-header strong{color:#314c61}.import-review-part-header div{display:inline-flex;gap:6px}.import-review-part-header button{min-width:48px;min-height:30px;border:1px solid #d6e1ea;border-radius:4px;background:#f8fbfd;color:#37556b;cursor:pointer}.import-review-part-header button:hover{border-color:#9fc7e8;background:#edf7ff}.import-review-warnings{border-color:#ecd0bd;background:#fff8f2}.import-part-table{display:grid;grid-template-columns:42px minmax(0,1fr) 72px 76px;gap:4px 8px;align-items:center;max-height:250px;overflow-y:auto}.import-part-table>span{min-width:0;overflow:hidden;color:#405a70;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.import-part-table>span:nth-child(-n+4){color:#758696;font-size:11px;font-weight:700;text-transform:uppercase}.import-part-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:32px;border-radius:4px;cursor:pointer}.import-part-toggle:hover{background:#eef8ff}.import-part-toggle input{width:18px;height:18px;margin:0;accent-color:#0f8fc6;cursor:pointer}.photo-calibrator{width:min(980px,calc(100vw - 72px));max-height:calc(100vh - 72px);display:grid;grid-template-rows:46px minmax(0,1fr);border:1px solid #cbd8e2;border-radius:6px;background:#f8fbfd;box-shadow:0 18px 48px #192a3847;overflow:hidden}.calibrator-header{display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid #dce6ed;background:#fff}.calibrator-header strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calibrator-header button{width:30px;height:30px;border:1px solid #cfdce5;border-radius:4px;background:#fff;cursor:pointer}.calibrator-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;padding:12px}.calibration-image-wrap{position:relative;min-height:360px;display:grid;place-items:center;border:1px solid #d6e3eb;border-radius:4px;background:linear-gradient(45deg,#edf4f7 25%,transparent 25%),linear-gradient(-45deg,#edf4f7 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf4f7 75%),linear-gradient(-45deg,transparent 75%,#edf4f7 75%),#fff;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;overflow:hidden}.calibration-image-stage{position:relative;display:inline-block;max-width:100%;max-height:calc(100vh - 168px)}.calibration-image-stage img{display:block;max-width:100%;max-height:calc(100vh - 168px);cursor:crosshair}.calibration-point{position:absolute;width:32px;height:32px;padding:0;display:grid;place-items:center;border:2px solid #ffffff;border-radius:50%;background:#d33f49;color:#fff;font-size:13px;font-weight:700;cursor:grab;transform:translate(-50%,-50%);box-shadow:0 2px 8px #192a3857}.calibration-point:hover,.calibration-point:focus-visible{background:#b82f3d;outline:3px solid #1f95c7;outline-offset:3px}.calibration-point.dragging{cursor:grabbing;background:#172431}.calibration-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.calibration-line line{stroke:#d33f49;stroke-width:.55;stroke-linecap:round}.calibration-side{min-width:0;display:grid;align-content:start;gap:10px}.calibration-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.calibration-step{height:30px;display:grid;place-items:center;border:1px solid #d5e0e8;border-radius:15px;background:#fff;color:#6e8190;font-size:12px;font-weight:700}.calibration-step.active{border-color:#0aa7e1;color:#0a79a4;box-shadow:0 0 0 2px #0aa7e129}.calibration-step.complete{border-color:#62b986;background:#eaf7ef;color:#267a55}.calibration-status{display:grid;gap:4px;padding:8px;border:1px solid #dbe5ec;border-radius:4px;background:#fff}.calibration-status span{color:#667989;font-size:12px}.calibration-status strong{color:#314c61}.calibration-error{margin:0;color:#b35a2a;font-size:12px}.engine-panel{position:absolute;right:calc(var(--palette-width) + var(--inspector-width) + 12px);bottom:58px;width:330px;padding:10px;border:1px solid #d9e4eb;border-radius:4px;background:#ffffffeb;box-shadow:0 2px 12px #2335441a;z-index:5}.engine-panel.collapsed{padding:7px 9px}.drafting-status-bar{position:absolute;bottom:12px;left:calc(var(--left-rail-width) + 16px);right:calc(var(--palette-width) + var(--inspector-width) + 12px);display:flex;flex-wrap:wrap;align-items:center;gap:6px;z-index:7}.object-snap-control{position:relative;display:flex}.drafting-toggle,.drafting-menu-button,.snap-grid-control{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid #d9e4eb;border-radius:4px;background:#ffffffeb;color:#63798b;box-shadow:0 2px 12px #23354414}.drafting-toggle,.drafting-menu-button{cursor:pointer}.drafting-toggle.active{border-color:#6fb8e9;background:#eaf7ff;color:#1c6c98}.drafting-toggle kbd{color:#8394a2;font-size:11px;font-weight:700}.drafting-menu-button{width:34px;justify-content:center;padding:0;border-left:0;border-radius:0 4px 4px 0}.object-snap-control .drafting-toggle{border-radius:4px 0 0 4px}.snap-grid-control{color:#63798b}.snap-grid-control select{height:28px;border:1px solid #d4e0e8;border-radius:3px;background:#fff}.object-snap-menu{position:absolute;left:0;bottom:44px;width:min(352px,calc(100vw - var(--left-rail-width) - 24px));max-height:min(520px,calc(100vh - 200px));overflow-y:auto;display:grid;gap:3px;padding:8px;border:1px solid #cddbe5;border-radius:4px;background:#fffffffa;box-shadow:0 10px 28px #20303e33}.object-snap-menu-header{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 6px}.object-snap-menu-header div{display:flex;gap:5px}.object-snap-menu-header button{height:24px;border:1px solid #cfdce5;border-radius:3px;background:#fff;cursor:pointer}.object-snap-row{display:grid;grid-template-columns:18px 1fr 44px;align-items:center;gap:8px;height:28px;border:1px solid transparent;border-radius:3px;background:transparent;color:#445d72;text-align:left;cursor:pointer}.object-snap-row:hover,.object-snap-row.active{border-color:#d7e5ee;background:#eef7fc}.object-snap-check{position:relative;width:14px;height:14px;border:1px solid #b9c8d3;border-radius:2px;background:#fff}.object-snap-row.active .object-snap-check{border-color:#0a94ca;background:#0aa7e1}.object-snap-row.active .object-snap-check:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}.object-snap-row kbd{justify-self:end;color:#7e8f9e;font-size:11px;font-weight:700}.engine-row strong{flex:0 0 auto}.engine-summary{min-width:0;flex:1;overflow:hidden;color:#5f7485;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.engine-toggle svg{transform:rotate(180deg);transition:transform .12s ease}.engine-panel.collapsed .engine-toggle svg{transform:rotate(0)}.engine-row button,.engine-actions button{height:26px;border:1px solid #cfdce5;border-radius:3px;background:#fff;cursor:pointer}.engine-row button:disabled,.engine-actions button:disabled{color:#aab6c0;cursor:default}.engine-panel p{margin:7px 0 0;color:#667989;font-size:12px}.engine-path-detail{display:grid;gap:4px;margin:8px 0 0;padding:7px;border:1px solid #dbe7ee;border-radius:4px;background:#f8fbfd}.engine-path-detail div{min-width:0;display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;align-items:baseline}.engine-path-detail dt{color:#6f8190;font-size:11px;font-weight:700;text-transform:uppercase}.engine-path-detail dd{min-width:0;margin:0;overflow:hidden;color:#314c61;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.engine-path-detail code{font-family:Consolas,Courier New,monospace}.status-ok{color:#2c9b62}.status-warn,.engine-error,.notice.error{color:#b35a2a}.notice.success{color:#267a55}.notice.info{color:#4666b7}.export-report{display:grid;gap:6px;margin-top:8px;padding:8px;border:1px solid #d7e3ec;border-radius:4px;background:#f9fcfe;font-size:12px}.export-report strong{color:#314c61}.export-report>span{color:#63798b}.export-report.running{border-color:#b9d5f1;background:#f0f8ff}.export-report.success{border-color:#c8e4d2;background:#f3fbf6}.export-report.error{border-color:#ecd0bd;background:#fff8f2}.export-report dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0}.export-report-actions{display:flex;gap:6px}.export-report-actions button{flex:1;height:28px;border:1px solid #cfdce5;border-radius:3px;background:#fff;color:#405a70;cursor:pointer}.export-report-actions button:hover{border-color:#9fc7e8;background:#edf7ff}.export-report div{min-width:0}.export-report dt{color:#7d8c98;font-size:11px}.export-report dd{margin:1px 0 0;overflow:hidden;color:#314c61;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.export-report pre{max-height:98px;margin:0;overflow:auto;padding:6px;border:1px solid #dce6ed;border-radius:3px;background:#fff;color:#455d70;font-family:Consolas,Liberation Mono,monospace;font-size:11px;white-space:pre-wrap}.export-report pre.expanded{max-height:260px}.export-history-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:7px;border:1px solid #dbe7ee;border-radius:4px;background:#f8fbfd;color:#63798b;font-size:12px}.export-history-summary button{height:26px;border:1px solid #cfdce5;border-radius:3px;background:#fff;color:#405a70;cursor:pointer}.export-history-dialog{width:min(880px,calc(100vw - 72px));max-height:calc(100vh - 72px);display:grid;grid-template-rows:54px minmax(0,1fr) auto;border:1px solid #cbd8e2;border-radius:6px;background:#f8fbfd;box-shadow:0 18px 48px #192a3847;overflow:hidden}.export-history-header{display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid #dce6ed;background:#fff}.export-history-header div{flex:1;min-width:0;display:grid;gap:2px}.export-history-header strong{color:#314c61}.export-history-header span{overflow:hidden;color:#6f8290;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.export-history-header button{width:30px;height:30px;border:1px solid #cfdce5;border-radius:4px;background:#fff;cursor:pointer}.export-history-body{min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr);gap:10px;padding:12px;overflow:hidden}.export-history-list{min-height:0;display:grid;align-content:start;gap:6px;overflow:auto}.export-history-row{min-width:0;display:grid;gap:3px;padding:8px;border:1px solid #d9e4eb;border-radius:4px;background:#fff;color:#405a70;text-align:left;cursor:pointer}.export-history-row:hover,.export-history-row.active{border-color:#8ac8ea;background:#eef8ff}.export-history-row strong,.export-history-row span,.export-history-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-history-row strong{color:#314c61}.export-history-row span,.export-history-row small{color:#6f8290;font-size:12px}.export-history-detail{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:10px;border:1px solid #dce6ed;border-radius:4px;background:#fff}.export-history-detail.success{border-color:#c8e4d2}.export-history-detail.error{border-color:#ecd0bd}.export-history-detail-title{min-width:0;display:flex;align-items:start;gap:10px}.export-history-detail-title div{flex:1;min-width:0;display:grid;gap:3px}.export-history-detail-title strong{color:#314c61}.export-history-detail-title span{overflow:hidden;color:#63798b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.export-history-detail-title button{height:28px;border:1px solid #cfdce5;border-radius:3px;background:#fff;color:#405a70;cursor:pointer}.export-history-detail dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.export-history-detail div{min-width:0}.export-history-detail dt{color:#7d8c98;font-size:11px}.export-history-detail dd{margin:1px 0 0;overflow:hidden;color:#314c61;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.export-history-detail pre{min-height:0;margin:0;overflow:auto;padding:8px;border:1px solid #dce6ed;border-radius:3px;background:#f9fcfe;color:#455d70;font-family:Consolas,Liberation Mono,monospace;font-size:11px;white-space:pre-wrap}.export-history-detail p{margin:0;color:#63798b;font-size:12px}.export-history-dialog .form-actions{border-top:1px solid #dce6ed;padding:10px 12px;background:#fff}.engine-actions{display:flex;gap:8px;margin-top:8px}.engine-actions button{flex:1}@media(max-width:1366px){body{min-width:0;min-height:0}.app-shell{grid-template-rows:auto minmax(0,1fr)}.topbar{min-height:76px;height:auto;flex-wrap:wrap;align-content:flex-start;align-items:center}.topbar .tool-group{min-height:38px;height:auto}.topbar-spacer{display:none}.engine-panel{right:calc(var(--palette-width) + var(--inspector-width) + 8px);width:244px}.drafting-status-bar{bottom:12px}.text-button{min-width:64px;padding:0 8px}.topbar .text-button{min-width:29px;padding:0 5px}.topbar .toolbar-menu .text-button,.topbar .file-tools .toolbar-menu .text-button{min-width:34px}.topbar .operation-tools .text-button,.topbar .file-tools .text-button{min-width:32px}.topbar .operation-tools{order:2;flex:1 1 520px;max-width:100%;justify-content:flex-start;border-top:1px solid #dbe1e6;border-right:0}.topbar .operation-row-break{display:block;order:1}.topbar .theme-tools,.topbar .file-tools{order:2}.topbar .toolbar-menu-panel{position:fixed;top:80px;left:8px;right:auto;max-height:calc(100vh - 88px)}.topbar .file-tools .toolbar-menu-panel{right:8px;left:auto}}@media(max-width:900px){.app-shell{grid-template-rows:auto minmax(0,1fr)}.topbar{min-height:76px;height:auto;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;overflow:visible}.topbar .tool-group{min-height:38px;height:auto;flex:0 0 auto}.topbar .operation-tools{order:1;flex:0 0 100%;max-width:100vw;justify-content:flex-start;border-top:1px solid #dbe1e6;border-right:0}.topbar .topbar-spacer{display:none}.topbar .theme-tools{order:2}.topbar .file-tools{order:3}.topbar .toolbar-menu-panel{position:absolute;top:37px;left:0;right:auto;max-height:calc(100vh - 16px)}.topbar .file-tools .toolbar-menu-panel{right:0;left:auto}.floating-inspector{display:none}.shape-palette{display:block;right:max(0px,calc(100% - 100vw));width:min(var(--palette-width),calc(100vw - var(--left-rail-width) - 12px));bottom:58px;box-shadow:-10px 0 24px #20313f2e;z-index:6}.engine-panel{left:calc(var(--left-rail-width) + 12px);right:12px;bottom:72px;width:auto;max-width:none;max-height:calc(100% - 96px);overflow:auto;z-index:8}.viewport-frame{inset:0 0 0 var(--left-rail-width)}.drafting-status-bar{left:calc(var(--left-rail-width) + 12px);right:12px}.drafting-toggle,.drafting-menu-button,.snap-grid-control{height:34px;gap:6px;padding:0 8px}.drafting-menu-button{width:32px;padding:0}.drafting-toggle kbd{display:none}.snap-grid-control select{width:72px}}@media(max-width:520px){.topbar .operation-tools{max-width:100vw;flex-basis:100%;gap:1px;padding:0 1px}.topbar .operation-tools .text-button{min-width:28px;padding:0 3px}.engine-panel{bottom:138px}}:root[data-theme=dark]{color:#d8e2e7;background:#10161a;color-scheme:dark}:root[data-theme=dark] body{background:#10161a}:root[data-theme=dark] .app-shell{color:#d8e2e7;background:#10161a}:root[data-theme=dark] .topbar,:root[data-theme=dark] .palette-tabs,:root[data-theme=dark] .inspector-title-row,:root[data-theme=dark] .dialog-header,:root[data-theme=dark] .import-review-header,:root[data-theme=dark] .calibrator-header,:root[data-theme=dark] .export-history-header,:root[data-theme=dark] .export-history-dialog .form-actions{border-color:#29363d;background:#161d21;box-shadow:none}:root[data-theme=dark] .tool-group,:root[data-theme=dark] .theme-tools,:root[data-theme=dark] .file-tools,:root[data-theme=dark] .shape-palette,:root[data-theme=dark] .floating-inspector,:root[data-theme=dark] .left-rail{border-color:#2a373e}:root[data-theme=dark] .workspace,:root[data-theme=dark] .viewport-frame,:root[data-theme=dark] .muted-tools{background:#10161a}:root[data-theme=dark] .left-rail{background:#151c20e6}:root[data-theme=dark] .shape-palette,:root[data-theme=dark] .floating-inspector,:root[data-theme=dark] .engine-panel,:root[data-theme=dark] .object-snap-menu,:root[data-theme=dark] .workplane-settings-dialog,:root[data-theme=dark] .axis-cutter-dialog,:root[data-theme=dark] .import-review,:root[data-theme=dark] .photo-calibrator,:root[data-theme=dark] .export-history-dialog,:root[data-theme=dark] .project-recovery-dialog,:root[data-theme=dark] .unsaved-changes-dialog{background:#151c20;box-shadow:0 18px 48px #00000057}:root[data-theme=dark] .toolbar-menu-panel,:root[data-theme=dark] .edit-history-section>small,:root[data-theme=dark] .palette-card,:root[data-theme=dark] .notes-card,:root[data-theme=dark] .annotation-card,:root[data-theme=dark] .measurement-grid,:root[data-theme=dark] .shape-tile,:root[data-theme=dark] .construction-row,:root[data-theme=dark] .summary-item,:root[data-theme=dark] .inspector-card,:root[data-theme=dark] .material-card,:root[data-theme=dark] .reference-card,:root[data-theme=dark] .summary-card,:root[data-theme=dark] .pending-cut-card,:root[data-theme=dark] .hole-preset-card,:root[data-theme=dark] .constraints-card,:root[data-theme=dark] .constraint-current-gap,:root[data-theme=dark] .constraint-row,:root[data-theme=dark] .axis-cutter-side-offset,:root[data-theme=dark] .axis-cutter-readout div,:root[data-theme=dark] .engine-path-detail,:root[data-theme=dark] .export-report,:root[data-theme=dark] .export-history-summary,:root[data-theme=dark] .export-history-row,:root[data-theme=dark] .export-history-detail,:root[data-theme=dark] .import-summary-metric,:root[data-theme=dark] .import-review-bounds,:root[data-theme=dark] .import-review-warnings,:root[data-theme=dark] .import-review-parts,:root[data-theme=dark] .calibration-status,:root[data-theme=dark] .calibration-step,:root[data-theme=dark] .project-recovery-body dl div,:root[data-theme=dark] .global-notice .notice{border-color:#2b3a42;background:#1a2328}:root[data-theme=dark] .project-recovery-body,:root[data-theme=dark] .unsaved-changes-body,:root[data-theme=dark] .project-recovery-body dd{color:#d3e0e7}:root[data-theme=dark] .project-save-status{border-color:#34454f;color:#b9cbd5;background:#1b252a}:root[data-theme=dark] .project-save-status.pending,:root[data-theme=dark] .project-save-status.saving,:root[data-theme=dark] .project-save-status.dirty{border-color:#6c5527;color:#f2d38a;background:#2b2416}:root[data-theme=dark] .project-save-status.saved{border-color:#315d51;color:#8bd0b5;background:#182923}:root[data-theme=dark] .project-save-status.error{border-color:#713b3b;color:#f0a29d;background:#2b1b1b}:root[data-theme=dark] .constraint-row.satisfied{border-color:#315d51;background:#162724}:root[data-theme=dark] .constraint-row.off{border-color:#66502d;background:#2a2319}:root[data-theme=dark] .constraint-row.unresolved{border-color:#39464d;background:#1b2429}:root[data-theme=dark] .constraint-row-summary{color:#d7e2e7}:root[data-theme=dark] .constraint-row-meta{color:#92a5ae}:root[data-theme=dark] .constraint-mode-badge{background:#5a99ba29;color:#a7d7ed}:root[data-theme=dark] .constraint-target-badge{background:#5a99ba1a;color:#9bb4c0}:root[data-theme=dark] .constraint-state-badge.satisfied{background:#4bb08d29;color:#98d8c4}:root[data-theme=dark] .constraint-state-badge.off{background:#d0974129;color:#e0bc79}:root[data-theme=dark] .constraint-state-badge.unresolved,:root[data-theme=dark] .constraint-state-badge.disabled{background:#8296a224;color:#a1afb6}:root[data-theme=dark] .constraint-current-badge{background:#121c22a3;color:#c4d2d9}:root[data-theme=dark] .constraint-edge-shortcuts button{border-color:#30424b;background:#121a1f;color:#c4d2d9}:root[data-theme=dark] .constraint-edge-shortcuts button:hover{border-color:#4a7080;background:#182a34;color:#d7eaf2}:root[data-theme=dark] .constraint-edge-shortcuts button.active{border-color:#4c9fc4;background:#183141;color:#bce8fb}:root[data-theme=dark] .measurement-grid output,:root[data-theme=dark] .measurement-total output{border-color:#30424b;background:#121a1f;color:#d7e2e7}:root[data-theme=dark] .measurement-grid output.copyable:after,:root[data-theme=dark] .measurement-total output.copyable:after{background:#22333c;color:#9ec7d9}:root[data-theme=dark] .measurement-grid output.copyable:hover,:root[data-theme=dark] .measurement-grid output.copyable:focus-visible,:root[data-theme=dark] .measurement-total output.copyable:hover,:root[data-theme=dark] .measurement-total output.copyable:focus-visible{border-color:#498db0;background:#182a34;color:#bce8fb}:root[data-theme=dark] .measurement-grid output.copyable:hover:after,:root[data-theme=dark] .measurement-grid output.copyable:focus-visible:after,:root[data-theme=dark] .measurement-total output.copyable:hover:after,:root[data-theme=dark] .measurement-total output.copyable:focus-visible:after{background:#25475a;color:#c4edff}:root[data-theme=dark] .constraint-row.satisfied .constraint-current-badge{color:#98d8c4}:root[data-theme=dark] .constraint-row.off .constraint-current-badge{color:#e0bc79}:root[data-theme=dark] .constraint-row.unresolved .constraint-current-badge{color:#a1afb6}:root[data-theme=dark] .construction-helper-note{border-color:#2b3a42;background:#172127;color:#9db0b9}:root[data-theme=dark] .construction-row-tags span{background:#24333b;color:#a7bac3}:root[data-theme=dark] .construction-row-tags span.visible{background:#17322b;color:#91d3bc}:root[data-theme=dark] .construction-row-tags span.hidden{background:#252e34;color:#8fa1aa}:root[data-theme=dark] .text-button,:root[data-theme=dark] .toolbar-menu-item,:root[data-theme=dark] .edit-history-section button,:root[data-theme=dark] .recent-project-item,:root[data-theme=dark] .recent-project-clear,:root[data-theme=dark] .object-row,:root[data-theme=dark] .object-group-row,:root[data-theme=dark] .object-order-button,:root[data-theme=dark] .object-filter-clear,:root[data-theme=dark] .constraint-row button,:root[data-theme=dark] .construction-kind,:root[data-theme=dark] .construction-icon-button,:root[data-theme=dark] .axis-cutter-axis-buttons button,:root[data-theme=dark] .axis-cutter-presets button,:root[data-theme=dark] .axis-cutter-side-offset button,:root[data-theme=dark] .dialog-header button,:root[data-theme=dark] .import-review-header button,:root[data-theme=dark] .calibrator-header button,:root[data-theme=dark] .export-history-header button,:root[data-theme=dark] .export-history-summary button,:root[data-theme=dark] .export-report-actions button,:root[data-theme=dark] .export-history-detail-title button,:root[data-theme=dark] .engine-row button,:root[data-theme=dark] .engine-actions button,:root[data-theme=dark] .left-rail .icon-button,:root[data-theme=dark] .view-orbit-pad,:root[data-theme=dark] .drafting-toggle,:root[data-theme=dark] .drafting-menu-button,:root[data-theme=dark] .snap-grid-control{border-color:#34464f;background:#202b31;color:#d8e2e7;box-shadow:none}:root[data-theme=dark] .shape-tile:hover{border-color:#49768a;background:#202d34;box-shadow:0 0 0 2px #528aa02e inset}:root[data-theme=dark] .object-order-button:hover:not(:disabled){border-color:#4e7d91;background:#23343d;color:#dfe9ee}:root[data-theme=dark] .object-filter-clear:hover:not(:disabled){border-color:#4e7d91;background:#23343d;color:#dfe9ee}:root[data-theme=dark] .object-order-button:disabled{color:#6f818a;background:#192328}:root[data-theme=dark] .object-filter-clear:disabled{color:#6f818a;background:#192328}:root[data-theme=dark] .object-list-empty{border-color:#34464f;background:#171f24;color:#9db0b9}:root[data-theme=dark] .object-list-empty button{border-color:#34464f;background:#202b31;color:#d8e2e7}:root[data-theme=dark] .object-list-empty button:hover{border-color:#4e7d91;background:#23343d;color:#dfe9ee}:root[data-theme=dark] .axis-cutter-side-offset button:disabled{color:#6f818a;background:#192328}:root[data-theme=dark] .settings-toggle-state{background:#2b3a42;color:#9db0b9}:root[data-theme=dark] .settings-toggle.active .settings-toggle-state{background:#2688b0;color:#f3fbff}:root[data-theme=dark] .edit-history-section>small{color:#7f929c}:root[data-theme=dark] .shape-tile.muted{background:repeating-linear-gradient(135deg,rgba(156,169,176,.12) 0,rgba(156,169,176,.12) 6px,transparent 6px,transparent 12px),#1a2328}:root[data-theme=dark] .shape-palette-empty{border-color:#34464f;background:#171f24;color:#9db0b9}:root[data-theme=dark] .shape-palette-empty button{border-color:#34464f;background:#202b31;color:#d8e2e7}:root[data-theme=dark] .shape-palette-empty button:hover{border-color:#4e7d91;background:#23343d;color:#dfe9ee}:root[data-theme=dark] .icon-button:hover:not(:disabled),:root[data-theme=dark] .text-button:hover:not(:disabled),:root[data-theme=dark] .icon-button.active,:root[data-theme=dark] .text-button.active,:root[data-theme=dark] .toolbar-menu-item:hover,:root[data-theme=dark] .edit-history-section button:hover,:root[data-theme=dark] .recent-project-item:hover,:root[data-theme=dark] .object-row:hover,:root[data-theme=dark] .object-row.active,:root[data-theme=dark] .object-row.selected,:root[data-theme=dark] .object-group-row.selected,:root[data-theme=dark] .object-group-row.active,:root[data-theme=dark] .object-group-row.pinned,:root[data-theme=dark] .drafting-toggle.active,:root[data-theme=dark] .object-snap-row:hover,:root[data-theme=dark] .object-snap-row.active,:root[data-theme=dark] .construction-kind.active,:root[data-theme=dark] .construction-kind:hover,:root[data-theme=dark] .construction-icon-button:hover,:root[data-theme=dark] .export-history-row:hover,:root[data-theme=dark] .export-history-row.active,:root[data-theme=dark] .settings-toggle.active,:root[data-theme=dark] .axis-cutter-axis-buttons button.active,:root[data-theme=dark] .axis-cutter-axis-buttons button:hover,:root[data-theme=dark] .axis-cutter-presets button:hover,:root[data-theme=dark] .axis-cutter-side-offset button:hover:not(:disabled){border-color:#49768a;background:#223643;color:#e6f1f5}:root[data-theme=dark] .workspace-manual-button{border-color:#5cc0e5;background:#155f83;color:#fff;box-shadow:0 8px 20px #0000005c}:root[data-theme=dark] .workspace-manual-button:hover{border-color:#8ed6ef;background:#1a739c;color:#fff}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .shape-dropdown,:root[data-theme=dark] .shape-search,:root[data-theme=dark] .shape-search input,:root[data-theme=dark] .settings-select select,:root[data-theme=dark] .axis-cutter-coordinate input,:root[data-theme=dark] .axis-cutter-side-offset input,:root[data-theme=dark] .calibration-image-wrap,:root[data-theme=dark] .case-shell-field input{border-color:#34464f;background-color:#11181d;color:#d8e2e7}:root[data-theme=dark] .theme-slider{border-color:#34464f;background:#10161a;color:#8fa2ac}:root[data-theme=dark] .theme-slider:hover{border-color:#5c8394;background:#182126}:root[data-theme=dark] .view-cube{color:#bad3dd}:root[data-theme=dark] .view-cube-face{border-color:#678fa0b8;background:#1b282ff2;box-shadow:inset 0 0 0 1px #e8faff14}:root[data-theme=dark] .view-cube-command{border-color:#678fa0b8;background:#151f24f2;color:#bad3dd;box-shadow:0 1px 5px #00000052}:root[data-theme=dark] .view-cube-command:hover{border-color:#56caef;background:#243d4a;color:#f2fbff}:root[data-theme=dark] .view-cube-face.active,:root[data-theme=dark] .view-cube-command.active{border-color:#51d9ff;background:#214052;color:#e5f7ff;box-shadow:inset 0 0 0 1px #e8faff1f,0 0 0 1px #51d9ff6b,0 3px 12px #51d9ff2e}:root[data-theme=dark] .palette-tab,:root[data-theme=dark] .object-row small,:root[data-theme=dark] .shape-tile small,:root[data-theme=dark] .shape-tile-dimensions,:root[data-theme=dark] .property-unit,:root[data-theme=dark] .construction-row-header span,:root[data-theme=dark] .summary-item span,:root[data-theme=dark] .case-shell-field span,:root[data-theme=dark] .constraint-editor span,:root[data-theme=dark] .toolbar-menu-section>span,:root[data-theme=dark] .edit-history-section>span,:root[data-theme=dark] .edit-history-section em,:root[data-theme=dark] .recent-project-item small,:root[data-theme=dark] .engine-summary,:root[data-theme=dark] .engine-panel p,:root[data-theme=dark] .engine-path-detail dt,:root[data-theme=dark] .export-report>span,:root[data-theme=dark] .export-report dt,:root[data-theme=dark] .export-history-row span,:root[data-theme=dark] .export-history-row small,:root[data-theme=dark] .export-history-detail span,:root[data-theme=dark] .export-history-detail dt,:root[data-theme=dark] .dialog-header span,:root[data-theme=dark] .settings-select span,:root[data-theme=dark] .settings-range span,:root[data-theme=dark] .axis-cutter-coordinate span,:root[data-theme=dark] .axis-cutter-side-offset span,:root[data-theme=dark] .axis-cutter-readout dt,:root[data-theme=dark] .measurement-grid small,:root[data-theme=dark] .measurement-grid>span,:root[data-theme=dark] .measurement-lock-value,:root[data-theme=dark] .notes-card>span,:root[data-theme=dark] .notes-card small{color:#94a7b1}:root[data-theme=dark] .palette-card-title strong,:root[data-theme=dark] .inspector-title-row strong,:root[data-theme=dark] .inspector-card strong,:root[data-theme=dark] .summary-item strong,:root[data-theme=dark] .object-row strong,:root[data-theme=dark] .construction-row-header strong,:root[data-theme=dark] .object-group-title,:root[data-theme=dark] .constraint-current-gap strong,:root[data-theme=dark] .engine-row strong,:root[data-theme=dark] .engine-path-detail dd,:root[data-theme=dark] .export-report strong,:root[data-theme=dark] .export-report dd,:root[data-theme=dark] .export-history-header strong,:root[data-theme=dark] .export-history-row strong,:root[data-theme=dark] .export-history-detail-title strong,:root[data-theme=dark] .export-history-detail dd,:root[data-theme=dark] .edit-history-section strong,:root[data-theme=dark] .dialog-header strong,:root[data-theme=dark] .settings-range strong,:root[data-theme=dark] .axis-cutter-readout dd{color:#dfe9ee}:root[data-theme=dark] .axis-cutter-error{border-color:#704436;background:#2a1d19;color:#efb7a0}:root[data-theme=dark] .builder-validation-message{border-color:#704436;background:#2a1d19;color:#efb7a0}:root[data-theme=dark] .constraint-current-gap button{border-color:#34464f;background:#202b31;color:#d8e2e7}:root[data-theme=dark] .constraint-current-gap button:hover{border-color:#49768a;background:#25343b}:root[data-theme=dark] .constraint-axis-note{border-color:#2d4652;background:#17262d;color:#9fc0cd}:root[data-theme=dark] .construction-icon-button.danger{color:#f0a59b}:root[data-theme=dark] .construction-icon-button.danger:hover{border-color:#74463f;background:#2d1f1d}:root[data-theme=dark] .operation-chip,:root[data-theme=dark] .settings-toggle{border-color:#34464f;background:#202b31;color:#c6d3d9}:root[data-theme=dark] .operation-chip.active.solid{border-color:#4666b7;background:#4666b7;color:#fff}:root[data-theme=dark] .operation-chip.active.hole{border-color:#7b8791;background:#7b8791;color:#fff}:root[data-theme=dark] .operation-mode-state.solid{border-color:#30477f;background:#17243d;color:#b9caff}:root[data-theme=dark] .operation-mode-state.hole{border-color:#34464f;background:repeating-linear-gradient(135deg,rgba(175,188,198,.13) 0,rgba(175,188,198,.13) 6px,transparent 6px,transparent 12px),#1c262c;color:#bdc8d1}:root[data-theme=dark] .selection-marquee,:root[data-theme=dark] .workplane-viewport.drag-over:after{border-color:#5f9eb4d1;background:#437e9524;box-shadow:none}:root[data-theme=dark] .snap-feedback,:root[data-theme=dark] .handle-hover-feedback,:root[data-theme=dark] .dimension-overlay,:root[data-theme=dark] .annotation-overlay{border-color:#5b84949e;background:#182227f5;color:#d8e2e7;box-shadow:0 5px 16px #00000047}:root[data-theme=dark] .handle-hover-feedback{background:linear-gradient(90deg,var(--handle-feedback-wash),rgba(24,34,39,0) 56%),#182227f5}:root[data-theme=dark] .handle-feedback-xy{--handle-feedback-accent: #51d9ff;--handle-feedback-border: rgba(81, 217, 255, .56);--handle-feedback-wash: rgba(81, 217, 255, .14)}:root[data-theme=dark] .handle-feedback-z{--handle-feedback-accent: #ffd15c;--handle-feedback-border: rgba(255, 209, 92, .54);--handle-feedback-wash: rgba(255, 209, 92, .14)}:root[data-theme=dark] .handle-feedback-rotation{--handle-feedback-accent: #d69bff;--handle-feedback-border: rgba(214, 155, 255, .56);--handle-feedback-wash: rgba(214, 155, 255, .14)}:root[data-theme=dark] .handle-hover-feedback.pinned{border-color:#6cb3cdd6;box-shadow:0 8px 22px #00000061}:root[data-theme=dark] .dimension-overlay strong,:root[data-theme=dark] .annotation-overlay strong{color:#dfe9ee}:root[data-theme=dark] .dimension-overlay span,:root[data-theme=dark] .annotation-overlay span{color:#9fb0b8}:root[data-theme=dark] .measure-readout{border-color:#db666ab3;color:#f39aa0}:root[data-theme=dark] .import-part-toggle:hover{background:#1b323e}:root[data-theme=dark] .measure-readout.complete,:root[data-theme=dark] .export-report.error,:root[data-theme=dark] .import-review-warnings{border-color:#6c4a38;background:#2b211b}:root[data-theme=dark] .export-report.success{border-color:#2f6848;background:#192820}:root[data-theme=dark] .export-report.running{border-color:#315f80;background:#172330}:root[data-theme=dark] button:focus-visible,:root[data-theme=dark] a:focus-visible,:root[data-theme=dark] input:focus-visible,:root[data-theme=dark] select:focus-visible,:root[data-theme=dark] textarea:focus-visible,:root[data-theme=dark] [role=button]:focus-visible,:root[data-theme=dark] [tabindex]:not([tabindex="-1"]):focus-visible{outline-color:#66d6ff;box-shadow:0 0 0 3px #66d6ff3d}:root[data-theme=dark] .shape-search:focus-within,:root[data-theme=dark] .object-search-field:focus-within,:root[data-theme=dark] .object-rename-field:focus-within{border-color:#66d6ff;box-shadow:0 0 0 3px #66d6ff33}
