.cad-tool-palette{display:flex;gap:3px;border:1px solid var(--line, #e1e4e8);border-radius:10px;background:color-mix(in srgb,var(--bg-panel, #fff) 96%,transparent);padding:5px;box-shadow:0 8px 24px #0f172a1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cad-tool-palette.is-vertical{width:max-content;flex-direction:column}.cad-tool-palette.is-horizontal{max-width:100%;flex-direction:row;overflow-x:auto}.cad-tool-button{position:relative;display:grid;min-width:176px;min-height:34px;grid-template-columns:22px minmax(72px,1fr) auto auto;align-items:center;gap:7px;border:0;border-radius:7px;background:transparent;padding:5px 7px;color:var(--text, #20242a);cursor:pointer;text-align:left}.cad-tool-button.starts-group{margin-top:5px}.cad-tool-button.starts-group:before{position:absolute;top:-3px;right:4px;left:4px;height:1px;background:var(--line-soft, #edf0f2);content:""}.cad-tool-button:hover:not(:disabled){background:var(--bg-hover, #f1f3f5)}.cad-tool-button[aria-pressed=true]{background:color-mix(in srgb,var(--accent, #0f766e) 13%,transparent);color:var(--accent, #0f766e);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent, #0f766e) 20%,transparent)}.cad-tool-button:disabled{color:var(--subtle, #929aa5);cursor:not-allowed;opacity:.62}.cad-tool-label{overflow:hidden;font-size:12px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cad-tool-status{border-radius:999px;background:var(--bg-raised, #f7f8fa);padding:2px 6px;color:var(--subtle, #929aa5);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cad-tool-button kbd{min-width:20px;color:var(--subtle, #929aa5);font:9px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right}.cad-tool-palette.is-compact .cad-tool-button{min-width:34px;width:34px;grid-template-columns:1fr;justify-items:center;padding:5px}.cad-tool-palette.is-horizontal .cad-tool-button.starts-group{margin-top:0;margin-left:5px}.cad-tool-palette.is-horizontal .cad-tool-button.starts-group:before{top:4px;bottom:4px;left:-3px;width:1px;height:auto}@media(max-width:720px){.cad-tool-palette:not(.is-compact) .cad-tool-button{min-width:38px;width:38px;grid-template-columns:1fr;justify-items:center}.cad-tool-palette:not(.is-compact) .cad-tool-label,.cad-tool-palette:not(.is-compact) .cad-tool-status,.cad-tool-palette:not(.is-compact) kbd{display:none}}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg-deep: #f4f5f7;--bg-shell: #ffffff;--bg-panel: #ffffff;--bg-raised: #f7f8fa;--bg-hover: #f1f3f5;--line: #e1e4e8;--line-soft: #edf0f2;--text: #20242a;--muted: #68717d;--subtle: #929aa5;--accent: #0f766e;--accent-strong: #0d9488;--blue: #2563eb;--amber: #b7791f;--red: #dc3652;--green: #0f8a72;--shadow: 0 16px 42px rgb(15 23 42 / 12%)}:root[data-theme=dark]{color-scheme:dark;--bg-deep: #0b0b0d;--bg-shell: #141416;--bg-panel: #171719;--bg-raised: #1d1d20;--bg-hover: #26262a;--line: #2c2c31;--line-soft: #202023;--text: #e7e7ea;--muted: #9a9aa2;--subtle: #6a6a73;--accent: #2dd4bf;--accent-strong: #34e2cd;--blue: #6aa5ff;--amber: #f4b740;--red: #ff6b81;--green: #35d6a4;--shadow: 0 18px 50px rgb(0 0 0 / 42%);--viewport: #0a0a0b;--grid-minor: #16161a;--grid-major: #22222a}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--bg-deep);color:var(--text);overflow:hidden;overscroll-behavior:none}button,input,textarea,output{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#293845;border:2px solid transparent;border-radius:999px;background-clip:padding-box}.app-shell{display:flex;height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;flex-direction:column;background:radial-gradient(circle at 74% -20%,rgb(45 212 191 / 8%),transparent 32rem),var(--bg-shell)}.menu-bar{position:relative;z-index:30;display:flex;flex:0 0 auto;align-items:stretch;gap:1px;min-height:30px;border-bottom:1px solid var(--line);background:var(--bg-panel);padding:0 6px;font-size:12px;-webkit-user-select:none;user-select:none}.menu-bar-item{position:relative;display:flex}.menu-bar-trigger{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0 11px;font-size:12px;font-weight:620}.menu-bar-item:hover .menu-bar-trigger,.menu-bar-item.is-open .menu-bar-trigger{background:var(--bg-hover);color:var(--text)}.menu-dropdown{position:absolute;z-index:40;top:100%;left:0;display:flex;min-width:258px;max-width:320px;max-height:min(72vh,560px);flex-direction:column;overflow-y:auto;border:1px solid var(--line);border-radius:0 8px 8px;background:var(--bg-panel);padding:5px;box-shadow:var(--shadow);animation:menu-open .11s ease-out}.menu-item{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:8px;min-height:28px;border:0;border-radius:5px;background:transparent;color:var(--text);cursor:pointer;padding:3px 8px;text-align:left;font-size:12px;white-space:nowrap}.menu-item:hover:not(:disabled){background:var(--bg-hover)}.menu-item:disabled{color:var(--subtle);cursor:not-allowed}.menu-item-check{color:var(--accent);font-size:11px}.menu-item-label{overflow:hidden;display:flex;align-items:center;gap:6px;text-overflow:ellipsis}.menu-item-soon{border-radius:999px;background:var(--bg-raised);color:var(--subtle);padding:1px 6px;font-size:8px;font-style:normal;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.menu-item kbd{color:var(--subtle);font:10px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace}.menu-divider{height:1px;margin:5px 4px;background:var(--line-soft)}.menu-label{display:flex;align-items:center;gap:4px;margin:4px 8px 2px;color:var(--subtle);font-size:9px;font-weight:780;letter-spacing:.09em;text-transform:uppercase}.menu-status-row{display:flex;align-items:center;gap:6px;margin:2px 8px 4px;color:var(--text);font-size:11px;font-weight:650}.menu-note{margin:2px 8px 4px;color:var(--subtle);font-size:10px;line-height:1.5}.menu-shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px;margin:2px 8px 4px}.menu-shortcut-grid span{display:flex;align-items:center;gap:6px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.menu-shortcut-grid b{min-width:20px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700}@keyframes menu-open{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.menu-bar{overflow-x:auto;scrollbar-width:none}.menu-bar::-webkit-scrollbar{display:none}}.app-header{position:relative;z-index:20;display:grid;min-height:64px;grid-template-columns:minmax(220px,1fr) auto minmax(480px,1fr);align-items:center;gap:20px;border-bottom:1px solid var(--line);background:#0b1117ed;padding:8px 14px 8px 18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 7px 28px #00000029}.brand-lockup,.header-actions,.project-crumbs,.toolbar-group,.canvas-metrics,.canvas-statusbar,.viewport-controls,.viewport-mode,.viewport-watermark,.eyebrow,.panel-section>header>span,.text-button,.stage-line,.trace-buttons,.toggle-row,.layer-row,.connection-badge,.primary-action,.icon-button,.review-actions button,.validation-summary,.artifact-row,.issue-row,.event-row,.revision-row{display:flex;align-items:center}.brand-lockup{gap:10px}.brand-mark,.load-mark{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgb(94 234 212 / 24%);border-radius:10px;background:linear-gradient(145deg,#5eead429,#60a5fa12);color:var(--accent);box-shadow:inset 0 1px #ffffff12}.brand-lockup strong{display:block;font-size:14px;letter-spacing:.015em}.brand-lockup span{display:block;margin-top:1px;color:var(--muted);font-size:11px}.project-crumbs{justify-content:center;gap:7px;color:var(--muted);font-size:12px}.project-crumbs b{color:var(--text);font-weight:650}.revision-pill{margin-left:4px;border:1px solid var(--line);border-radius:999px;background:var(--bg-raised);color:#b9c5cf;padding:4px 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px}.header-actions{justify-content:flex-end;gap:8px}.connection-badge{gap:6px;border:1px solid var(--line);border-radius:999px;background:#101a22;color:#aab7c2;padding:6px 9px;font-size:11px;white-space:nowrap}.connection-badge.api{border-color:#5eead440;color:#9cefe2}.primary-action,.icon-button,.trace-buttons button,.review-actions button,.viewport-controls button,.text-button,.artifact-row{border:0;cursor:pointer}.primary-action{min-height:36px;justify-content:center;gap:7px;border:1px solid #3ad7c0;border-radius:8px;background:linear-gradient(180deg,#5eead4,#35cbb5);color:#05231f;padding:7px 12px;font-size:12px;font-weight:750;box-shadow:0 5px 18px #2dd4bf26,inset 0 1px #ffffff47}.primary-action:hover:not(:disabled){filter:brightness(1.05)}.primary-action:disabled{border-color:var(--line);background:#17222b;color:#667683;cursor:not-allowed;box-shadow:none}.icon-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#111a22;color:#9ba9b6}.icon-button:hover{border-color:#354654;background:var(--bg-hover);color:var(--text)}.icon-button:disabled{border-color:var(--line-soft);color:#42515c;cursor:not-allowed}.new-project-action,.import-source-action,.secondary-action,.source-dropzone button{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.new-project-action{min-height:36px;border:1px solid #30414e;border-radius:8px;background:#14202a;color:#b8c5ce;padding:7px 10px;font-size:11px;font-weight:650}.new-project-action:hover{border-color:#5eead459;color:#c8f8f0}.icon-button.compact{width:28px;height:28px}.workspace-grid{position:relative;display:grid;min-height:0;flex:1;grid-template-columns:var(--left-rail-width, 282px) minmax(420px,1fr) var(--right-rail-width, 346px);overflow:hidden}.workspace-grid.left-collapsed{grid-template-columns:0 minmax(420px,1fr) var(--right-rail-width, 346px)}.workspace-grid.right-collapsed{grid-template-columns:var(--left-rail-width, 282px) minmax(420px,1fr) 0}.workspace-grid.left-collapsed.right-collapsed{grid-template-columns:0 minmax(420px,1fr) 0}.workspace-grid.left-collapsed .left-rail{visibility:hidden;border-right:0}.workspace-grid.right-collapsed .right-rail{visibility:hidden;border-left:0}.panel-resizer{position:absolute;z-index:30;top:0;bottom:0;width:7px;border:0;background:transparent;cursor:col-resize;padding:0;touch-action:none}.panel-resizer:after{position:absolute;top:0;bottom:0;left:3px;width:1px;background:transparent;content:"";transition:background .14s ease,box-shadow .14s ease}.panel-resizer:hover:after,.panel-resizer:focus-visible:after{background:var(--accent);box-shadow:0 0 0 2px #14b8a624}.panel-resizer-left{left:calc(var(--left-rail-width, 282px) - 3px)}.panel-resizer-right{right:calc(var(--right-rail-width, 346px) - 3px)}.left-rail,.right-rail{min-width:0;overflow-x:hidden;overflow-y:auto;background:var(--bg-panel)}.mobile-panel-heading,.mobile-panel-backdrop{display:none}.left-rail{border-right:1px solid var(--line)}.right-rail{border-left:1px solid var(--line)}.project-card{border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgb(94 234 212 / 7%),transparent 70%),#101820;padding:17px 16px 15px}.eyebrow{gap:6px;color:#70cfc1;font-size:9px;font-weight:800;letter-spacing:.13em}.project-card h1{margin:8px 0 2px;font-size:15px;font-weight:680;line-height:1.3}.project-card>p{overflow:hidden;margin:0;color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.benchmark-notice{display:flex;align-items:flex-start;gap:8px;margin:10px 0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 7%,var(--bg-raised));color:var(--muted);font-size:11px;line-height:1.35}.benchmark-notice svg{flex:0 0 auto;margin-top:1px;color:var(--accent)}.project-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:14px;overflow:hidden;border:1px solid var(--line-soft);border-radius:7px;background:var(--line-soft)}.project-metrics span{background:#0b1117bd;color:var(--subtle);padding:7px 5px;font-size:9px;text-align:center}.project-metrics b{color:#cdd6de;font-size:10px;font-weight:700}.import-source-action{width:100%;min-height:31px;margin-top:10px;border:1px dashed #30434f;border-radius:6px;background:#5eead40a;color:#78bdb3;font-size:9px;font-weight:680}.import-source-action:hover{border-color:#5eead46b;background:#5eead414;color:#b8f3ea}.demo-scene-switcher{display:flex;flex-direction:column;gap:4px;margin-top:12px}.demo-scene-switcher>span{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.demo-scene-switcher>select{width:100%;min-height:31px;border:1px solid var(--line);border-radius:6px;background:var(--bg-raised);color:var(--text);padding:5px 8px;font-size:11px;font-weight:600}.demo-scene-switcher>select:hover{border-color:#5eead459}.panel-section{border-bottom:1px solid var(--line)}.panel-section>header{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line-soft);background:#0c1319b8;padding:9px 13px}.panel-section>header>span{gap:7px;color:#b8c4cd;font-size:10px;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.panel-section>header svg{color:#718494}.panel-body{padding:12px 13px 14px}.panel-section.prominent .panel-body{min-height:232px}.text-button{gap:4px;background:transparent;color:#78909e;padding:2px;font-size:9px;font-weight:680}.text-button:hover:not(:disabled){color:var(--accent)}.text-button:disabled{opacity:.35;cursor:default}.stage-line{gap:8px}.stage-line>div{min-width:0;flex:1}.stage-line b,.stage-line small{display:block}.stage-line b{overflow:hidden;color:#dbe3e9;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.stage-line small{margin-top:2px;color:var(--subtle);font-size:9px}.stage-line strong{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.live-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#465662}.live-dot.active{background:var(--accent);box-shadow:0 0 0 4px #5eead417,0 0 10px #5eead473;animation:pulse-dot 1.5s ease-in-out infinite}.trace-progress{height:4px;margin:10px 0;overflow:hidden;border-radius:99px;background:#202d37}.trace-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#67e8f9);box-shadow:0 0 8px #5eead473;transition:width .1s linear}.trace-buttons{gap:6px}.trace-buttons button{min-height:30px;flex:1;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:#131e27;color:#aebac4;font-size:10px}.trace-buttons button:hover{border-color:#354856;background:#17232c}.segmented-control{margin:11px 0 0;border:0;padding:0}.segmented-control legend{margin-bottom:6px;color:var(--subtle);font-size:9px}.segmented-control>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--line)}.segmented-control button{min-height:26px;border:0;background:#101920;color:#72818e;cursor:pointer;font-size:9px}.segmented-control button.active{background:#20313b;color:#c8f7ef;box-shadow:inset 0 -2px 0 var(--accent)}.range-control{display:block;margin:0 0 11px}.range-control>span{display:flex;align-items:baseline;justify-content:space-between;color:#9ba9b5;font-size:10px}.range-control output{color:#d7e0e6;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}input[type=range]{width:100%;height:3px;margin:9px 0 0;appearance:none;border-radius:99px;background:#2a3945;accent-color:var(--accent)}input[type=range]::-webkit-slider-thumb{width:12px;height:12px;appearance:none;border:2px solid #0c1319;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px #5eead45c;cursor:pointer}.toggle-row{position:relative;min-height:32px;justify-content:space-between;gap:10px;cursor:pointer}.toggle-row>span{min-width:0}.toggle-row b,.toggle-row small{display:block}.toggle-row b{color:#9daab5;font-size:10px;font-weight:560}.toggle-row small{margin-top:2px;color:var(--subtle);font-size:8px}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-row>i{position:relative;width:28px;height:16px;flex:0 0 auto;border-radius:99px;background:#2a3742;transition:background .16s ease}.toggle-row>i:after{position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#8c99a4;content:"";transition:transform .16s ease,background .16s ease}.toggle-row input:checked+i{background:#2dd4bf47}.toggle-row input:checked+i:after{background:var(--accent);transform:translate(12px)}.layer-list{display:grid;gap:1px}.layer-row{min-height:28px;gap:7px;border-radius:5px;color:#8f9da9;cursor:pointer;padding:3px 5px;font-size:9px}.layer-row:hover{background:var(--bg-hover);color:#c9d3da}.layer-row input{position:absolute;opacity:0}.layer-row>span{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.layer-row small{color:#596975;font-family:SFMono-Regular,Consolas,monospace;font-size:8px}.layer-row>svg{color:#536571}.layer-swatch{width:8px;height:8px;flex:0 0 auto;border-radius:2px;box-shadow:0 0 0 1px #ffffff14}.canvas-column{position:relative;display:grid;min-width:0;min-height:0;grid-template-rows:42px minmax(0,1fr) 28px auto;background:var(--viewport, #0a0a0b)}.floating-tool-palette{position:absolute;z-index:18;display:flex;align-items:flex-start;border-radius:10px;box-shadow:0 12px 30px #0f172a24}.tool-palette-drag-handle{display:grid;width:21px;min-height:40px;place-items:center;border:1px solid var(--line);border-right:0;border-radius:8px 0 0 8px;background:var(--bg-panel);color:var(--subtle);cursor:grab;padding:0;touch-action:none}.tool-palette-drag-handle:active{cursor:grabbing}.floating-tool-palette .cad-tool-palette{border-radius:0 10px 10px 0;box-shadow:none}.pipeline-banner{position:absolute;z-index:8;top:54px;left:50%;display:flex;width:min(590px,calc(100% - 32px));align-items:center;gap:9px;border:1px solid rgb(251 191 36 / 27%);border-radius:9px;background:#141919ed;padding:9px 10px;box-shadow:0 13px 35px #00000059;transform:translate(-50%);-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}.pipeline-banner.proposals-ready{border-color:#22d3ee3d;background:#0c191ded}.pipeline-banner-icon{display:grid;width:31px;height:31px;flex:0 0 auto;place-items:center;border-radius:7px;background:#fbbf2417;color:var(--amber)}.pipeline-banner.proposals-ready .pipeline-banner-icon{background:#22d3ee17;color:#67e8f9}.pipeline-banner>div{min-width:0;flex:1}.pipeline-banner b,.pipeline-banner p{display:block;margin:0}.pipeline-banner b{color:#ced8de;font-size:10px}.pipeline-banner p{margin-top:2px;color:#738590;font-size:8px;line-height:1.4}.pipeline-banner button{display:inline-flex;min-height:30px;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;border:1px solid rgb(94 234 212 / 25%);border-radius:6px;background:#5eead414;color:#9cece0;padding:5px 8px;cursor:pointer;font-size:9px;font-weight:700}.pipeline-banner button:disabled{cursor:wait;opacity:.6}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#0e151b;padding:0 12px}.toolbar-group,.canvas-metrics{gap:5px}.toolbar-group span{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:6px;color:#687a87;padding:5px 7px;font-size:9px}.toolbar-group .tool-active{border-color:#5eead42b;background:#5eead412;color:#a7eee3}.toolbar-group .snap-active{color:#85d8cc}.canvas-metrics span{display:inline-flex;align-items:center;gap:5px;color:#677986;font-size:8px}.metric-dot{width:5px;height:5px;border-radius:50%}.metric-dot.accepted{background:var(--green)}.metric-dot.review{background:var(--amber)}.metric-dot.rejected{background:var(--red)}.cad-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 44%,rgb(40 56 68 / 24%),transparent 54%),#0a0f14;cursor:grab;-webkit-touch-callout:none;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}.cad-viewport.tool-select{cursor:default}.cad-viewport.tool-pan{cursor:grab}.cad-viewport.tool-draw{cursor:crosshair}.cad-viewport.tool-pan .entity-shape,.cad-viewport.tool-pan .control-point-layer,.cad-viewport.tool-draw .entity-shape,.cad-viewport.tool-draw .control-point-layer{pointer-events:none}.cad-viewport.is-panning{cursor:grabbing}.viewport-grid{position:absolute;inset:0;background-image:linear-gradient(rgb(103 128 145 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(103 128 145 / 5%) 1px,transparent 1px),linear-gradient(rgb(103 128 145 / 2.5%) 1px,transparent 1px),linear-gradient(90deg,rgb(103 128 145 / 2.5%) 1px,transparent 1px);background-position:center;background-size:100px 100px,100px 100px,20px 20px,20px 20px;pointer-events:none}.drawing-stage{position:absolute;top:0;left:0;overflow:hidden;border:1px solid rgb(148 163 184 / 22%);background:#f5f4f1;box-shadow:0 30px 70px #0000007a,0 0 0 1px #00000059;transform-origin:0 0}.drawing-stage.trace-stage{background:linear-gradient(rgb(14 116 144 / 3%) 1px,transparent 1px),linear-gradient(90deg,rgb(14 116 144 / 3%) 1px,transparent 1px),#fbfaf7;background-size:50px 50px}.split-viewport{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}.split-pane{position:relative;min-width:0;overflow:hidden}.split-pane+.split-pane{border-left:1px solid #344550}.split-label{position:absolute;z-index:4;top:13px;right:13px;border:1px solid rgb(56 74 86 / 80%);border-radius:5px;background:#0a1015c7;color:#81939f;padding:4px 7px;font-size:8px;font-weight:700;letter-spacing:.07em;pointer-events:none;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.source-underlay,.cad-overlay{position:absolute;inset:0;display:block;width:100%;height:100%}.source-underlay{pointer-events:none}.source-preview-unavailable{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;background:linear-gradient(135deg,rgb(14 116 144 / 4%) 25%,transparent 25%) 0 0 / 48px 48px,#f2f0eb;color:#475569;text-align:center}.source-preview-unavailable strong,.source-preview-unavailable span,.source-preview-unavailable small{display:block}.source-preview-unavailable strong{font-size:28px}.source-preview-unavailable span{margin-top:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:18px}.source-preview-unavailable small{max-width:520px;margin-top:16px;color:#64748b;font-size:15px;line-height:1.5}.cad-overlay{overflow:visible}.entity-shape{cursor:crosshair;pointer-events:visiblePainted;animation:entity-reveal .18s ease-out both}.entity-shape:hover{filter:drop-shadow(0 0 2px rgb(255 255 255 / 90%)) drop-shadow(0 0 5px rgb(34 211 238 / 72%))}.entity-shape.is-selected{filter:url(#selected-glow)}.entity-shape.entity-rejected{opacity:.52}.entity-shape.entity-role-evidence{mix-blend-mode:multiply}.entity-shape.is-selected>*{opacity:1}.cad-overlay.replay-paused .entity-shape{animation-play-state:paused}.control-point-layer{filter:drop-shadow(0 1px 2px rgb(0 0 0 / 75%))}.control-point-handle{fill:#67e8f9;stroke:#072832;cursor:grab;pointer-events:all}.control-point-handle:hover,.control-point-handle:focus-visible{fill:#f8fafc;stroke:#0891b2}.control-point-handle:active{cursor:grabbing}.viewport-controls{position:absolute;right:13px;bottom:13px;gap:1px;overflow:hidden;border:1px solid #2d3b46;border-radius:8px;background:#0d151be8;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.viewport-controls button{display:grid;width:30px;height:30px;place-items:center;background:transparent;color:#96a5b1}.viewport-controls button:hover{background:#1c2933;color:var(--text)}.viewport-zoom{min-width:42px;border-right:1px solid #273640;border-left:1px solid #273640;color:#b7c2ca;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;text-align:center}.viewport-mode,.viewport-watermark{position:absolute;gap:6px;color:#657985;pointer-events:none;font-size:8px}.viewport-mode{bottom:17px;left:15px;border:1px solid rgb(44 59 70 / 72%);border-radius:6px;background:#0b1117bf;padding:6px 8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewport-watermark{top:14px;left:15px;letter-spacing:.1em}.canvas-statusbar{justify-content:space-between;gap:10px;overflow:hidden;border-top:1px solid var(--line);background:#0d141a;color:#687986;padding:0 11px;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;white-space:nowrap}.canvas-statusbar span{display:inline-flex;align-items:center;gap:5px}.canvas-statusbar b{color:#a6b4be}.canvas-statusbar .status-pass{color:#75d9ca}.canvas-statusbar .status-warn{color:#e5b94b}.selection-inspector{display:grid;gap:11px}.entity-heading{display:flex;align-items:flex-start;gap:9px}.entity-heading>i{width:4px;height:35px;flex:0 0 auto;border-radius:99px;background:var(--accent)}.entity-heading>div{min-width:0;flex:1}.entity-heading h2,.entity-heading p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.entity-heading h2{color:#e4ebf0;font-size:13px;font-weight:680}.entity-heading p{margin-top:3px;color:#71828f;font-size:9px}.entity-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid var(--line-soft);border-radius:7px;background:var(--line-soft)}.entity-facts span{min-width:0;background:#101920;padding:7px 8px}.entity-facts small,.entity-facts b{display:block}.entity-facts small{color:#596b78;font-size:8px;text-transform:uppercase}.entity-facts b{overflow:hidden;margin-top:3px;color:#a9b6c0;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.raster-support-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line-soft);border-left:3px solid #64748b;border-radius:7px;background:var(--line-soft)}.raster-support-row.support-supported{border-left-color:var(--green)}.raster-support-row.support-ambiguous{border-left-color:var(--amber)}.raster-support-row.support-unsupported{border-left-color:var(--red)}.raster-support-row span{min-width:0;background:#101920;padding:6px}.raster-support-row small,.raster-support-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raster-support-row small{color:#596b78;font-size:7px;text-transform:uppercase}.raster-support-row b{margin-top:3px;color:#a9b6c0;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;font-weight:560}.review-state{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;background:#111b23;padding:8px}.review-state>span{display:grid;width:25px;height:25px;place-items:center;border-radius:6px;background:#25343f}.review-state small,.review-state b{display:block}.review-state small{color:#657581;font-size:8px}.review-state b{margin-top:1px;font-size:10px}.review-state.state-confirmed{border-color:#5eead440}.review-state.state-confirmed>span{background:#5eead41f;color:var(--green)}.review-state.state-review{border-color:#fbbf2440}.review-state.state-review>span{background:#fbbf241c;color:var(--amber)}.review-state.state-rejected{border-color:#fb718540}.review-state.state-rejected>span{background:#fb71851c;color:var(--red)}.editability-note{display:flex;align-items:flex-start;gap:8px;border:1px solid rgb(34 211 238 / 14%);border-radius:7px;background:#22d3ee0a;color:#6ac7d6;padding:8px}.editability-note>svg{flex:0 0 auto;margin-top:1px}.editability-note b,.editability-note span{display:block}.editability-note b{color:#a8dce3;font-size:9px}.editability-note span{margin-top:2px;color:#5f8490;font-size:8px;line-height:1.4}.note-field{display:block}.note-field>span{display:block;margin-bottom:5px;color:#697b88;font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.note-field textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:6px;background:#0d151b;color:#cbd5dc;padding:7px 8px;font-size:9px;line-height:1.45}.note-field textarea::placeholder{color:#43545f}.text-edit-field{display:grid;gap:6px;margin-top:10px}.text-edit-field>span{color:var(--subtle);font-size:9px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.text-edit-field>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.text-edit-field input{min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--bg-raised);color:var(--text);padding:7px 8px;font:11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace}.text-edit-field button{border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:6px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);padding:6px 9px;cursor:pointer;font-size:10px;font-weight:700}.text-edit-field small{color:var(--subtle);font-size:8px;line-height:1.4}.review-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.review-actions button{min-height:31px;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:6px;background:#152029;font-size:9px;font-weight:680}.review-actions .confirm:hover{border-color:#5eead473;color:var(--green)}.review-actions .needs-review:hover{border-color:#fbbf2473;color:var(--amber)}.review-actions .reject:hover{border-color:#fb718573;color:var(--red)}.empty-selection{display:grid;min-height:198px;place-content:center;justify-items:center;text-align:center}.empty-selection>div{display:grid;width:48px;height:48px;margin-bottom:10px;place-items:center;border:1px dashed #31434f;border-radius:12px;color:#5f7582}.empty-selection b{color:#a7b4be;font-size:11px}.empty-selection p,.panel-empty,.artifact-note{color:#5f707c;font-size:8px;line-height:1.55}.empty-selection p{max-width:235px;margin:6px 0 0}.panel-empty{margin:3px 0}.event-list,.revision-list,.issue-list{display:grid;gap:5px}.event-row,.revision-row{align-items:flex-start;gap:8px;border:1px solid var(--line-soft);border-radius:6px;background:#101920;padding:7px}.event-row>div,.revision-row>div{min-width:0;flex:1}.event-row b,.event-row small,.event-row p,.revision-row b,.revision-row small{display:block;margin:0}.event-row b,.revision-row b{overflow:hidden;color:#b3bfc8;font-size:9px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.event-row small,.revision-row small{margin-top:2px;color:#566773;font-family:SFMono-Regular,Consolas,monospace;font-size:7px}.event-row p{margin-top:4px;color:#71828f;font-size:8px;line-height:1.4}.event-icon{display:grid;width:23px;height:23px;flex:0 0 auto;place-items:center;border-radius:5px;background:#24333d}.event-icon.confirmed{color:var(--green);background:#5eead417}.event-icon.review{color:var(--amber);background:#fbbf2417}.event-icon.rejected{color:var(--red);background:#fb718517}.event-icon.move{color:#67e8f9;background:#22d3ee17}.sync-state{border:1px solid rgb(251 191 36 / 16%);border-radius:99px;color:#bd9639;padding:2px 5px;font-size:7px}.sync-state.synced{border-color:#5eead429;color:#63b9ad}.validation-summary{gap:9px;border:1px solid var(--line);border-radius:7px;background:#101a21;padding:9px}.validation-summary.warning{border-color:#fbbf2433;color:var(--amber)}.validation-summary.failed{border-color:#fb718533;color:var(--red)}.validation-summary.passed{border-color:#5eead433;color:var(--green)}.validation-summary b,.validation-summary span{display:block}.validation-summary b{color:#c9d4db;font-size:10px}.validation-summary span{margin-top:2px;color:#657682;font-size:8px}.issue-list{margin-top:8px}.issue-row{align-items:flex-start;gap:7px;padding:4px 2px}.issue-row>svg{flex:0 0 auto;margin-top:1px}.issue-row.warning>svg{color:var(--amber)}.issue-row.error>svg{color:var(--red)}.issue-row.info>svg{color:var(--green)}.issue-row b,.issue-row p{display:block;margin:0}.issue-row b{color:#9eabb5;font-size:8px;font-weight:630}.issue-row p{margin-top:2px;color:#5e707c;font-size:8px;line-height:1.35}.revision-row{align-items:center;width:100%;color:inherit;cursor:pointer;text-align:left}.revision-row:disabled{cursor:default}.revision-row:not(:disabled):hover{border-color:#5eead447;background:#142129}.revision-row>span{color:#607480}.revision-row:first-child>span{color:var(--accent)}.revision-row em{border-radius:99px;background:#5eead417;color:#67bdb1;padding:2px 5px;font-size:7px;font-style:normal}.artifact-row{width:100%;min-height:43px;gap:8px;border-bottom:1px solid var(--line-soft);background:transparent;color:inherit;padding:6px 2px;text-align:left;text-decoration:none}.artifact-row:hover{color:var(--accent)}.artifact-row>span{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:6px;background:#18242d;color:#7f929f}.artifact-row>div{min-width:0;flex:1}.artifact-row b,.artifact-row small{display:block}.artifact-row b{color:#aebbc4;font-size:9px;font-weight:620}.artifact-row small{margin-top:2px;color:#596a76;font-size:8px}.artifact-row>svg{color:#526470}.artifact-note{margin:8px 0 0}.toast{position:fixed;z-index:100;right:16px;bottom:16px;display:flex;max-width:min(390px,calc(100vw - 32px));min-height:44px;align-items:center;gap:8px;border:1px solid #344651;border-radius:9px;background:#111b23f5;color:#c9d4dc;padding:9px 10px;box-shadow:0 18px 55px #00000075;font-size:10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toast-in .18s ease-out}.toast.success>svg{color:var(--green)}.toast.error>svg{color:var(--red)}.toast.info>svg{color:var(--amber)}.toast span{flex:1;line-height:1.4}.toast button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:5px;background:transparent;color:#71838f;cursor:pointer}.dialog-backdrop{position:fixed;z-index:200;inset:0;display:grid;place-items:center;background:#03070abd;padding:20px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);isolation:isolate;transform:translateZ(0);animation:dialog-fade .16s ease-out}.project-dialog{position:relative;z-index:1;display:flex;width:min(570px,100%);max-height:calc(100dvh - 40px);flex-direction:column;overflow:hidden;border:1px solid #2d404d;border-radius:13px;background:radial-gradient(circle at 88% -20%,rgb(45 212 191 / 12%),transparent 20rem),#0f181f;box-shadow:0 30px 100px #0000009e;isolation:isolate;animation:dialog-enter .18s ease-out}.project-dialog>header{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:15px 16px}.project-dialog>header>div:nth-child(2){min-width:0;flex:1}.project-dialog>header span,.project-dialog>header h2{display:block;margin:0}.project-dialog>header span{color:#64b8ad;font-size:8px;font-weight:800;letter-spacing:.12em}.project-dialog>header h2{margin-top:3px;font-size:15px}.dialog-icon,.dropzone-icon,.file-preview-icon{display:grid;place-items:center;border:1px solid rgb(94 234 212 / 18%);border-radius:9px;background:#5eead414;color:var(--accent)}.dialog-icon{width:38px;height:38px}.project-dialog form{min-height:0;overflow-y:auto;padding:16px;overscroll-behavior:contain}.project-name-field{display:block}.project-name-field>span{display:block;margin-bottom:6px;color:#8796a2;font-size:9px;font-weight:700}.project-name-field input{width:100%;height:38px;border:1px solid #2b3b47;border-radius:7px;background:#0b1319;color:#dce4e9;padding:0 10px;font-size:11px}.source-dropzone{display:grid;min-height:190px;margin-top:13px;place-content:center;justify-items:center;border:1px dashed #354a57;border-radius:10px;background:linear-gradient(145deg,rgb(94 234 212 / 4%),transparent),#0c141a;padding:22px;text-align:center;transition:border-color .15s ease,background .15s ease}.source-dropzone.is-dragging{border-color:var(--accent);background:#5eead414}.source-dropzone>input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.dropzone-icon,.file-preview-icon{width:48px;height:48px;margin-bottom:10px;border-radius:12px}.file-preview-icon{border-color:#60a5fa33;background:#60a5fa14;color:var(--blue)}.source-dropzone>b{color:#c9d4dc;font-size:12px}.source-dropzone>span{margin-top:5px;color:#657682;font-size:9px}.source-dropzone button{min-height:31px;margin-top:13px;border:1px solid #304551;border-radius:6px;background:#17242d;color:#a8bac5;padding:6px 10px;font-size:9px}.import-policy{display:flex;align-items:flex-start;gap:8px;margin-top:12px;border:1px solid rgb(251 191 36 / 13%);border-radius:7px;background:#fbbf240a;color:#c69c38;padding:8px}.import-policy>svg{flex:0 0 auto;margin-top:1px}.import-policy p{margin:0;color:#857858;font-size:8px;line-height:1.45}.import-policy b{color:#baa269}.dialog-error{margin-top:10px;border:1px solid rgb(251 113 133 / 24%);border-radius:6px;background:#fb718512;color:#e99aaa;padding:8px;font-size:9px;line-height:1.4}.project-dialog footer{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.secondary-action{min-height:36px;border:1px solid #2b3b46;border-radius:7px;background:#121c24;color:#8f9da8;padding:7px 11px;font-size:10px}.load-screen{display:grid;min-height:100dvh;place-content:center;justify-items:center;background:radial-gradient(circle at center,rgb(45 212 191 / 8%),transparent 28rem),#080d12;padding:30px;text-align:center}.load-screen .load-mark{width:56px;height:56px;margin-bottom:22px;border-radius:14px}.load-screen>.spin{color:var(--accent)}.load-screen h1{margin:14px 0 6px;font-size:17px}.load-screen p{max-width:430px;margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.5}.load-screen.error .load-mark{border-color:#fb718542;background:#fb718514;color:var(--red)}.spin{animation:spin .9s linear infinite}.sr-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{50%{opacity:.5;transform:scale(.8)}}@keyframes entity-reveal{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1240px){.workspace-grid{grid-template-columns:min(var(--left-rail-width, 252px),28vw) minmax(400px,1fr) min(var(--right-rail-width, 314px),31vw)}.canvas-metrics span:first-child{display:none}}@media(max-width:1040px){body{overflow:auto}.app-header{position:sticky;top:0;grid-template-columns:1fr auto}.project-crumbs{display:none}.workspace-grid{min-height:calc(100dvh - 64px);grid-template-columns:min(var(--left-rail-width, 246px),34vw) minmax(0,1fr);grid-template-rows:minmax(620px,calc(100dvh - 64px)) auto;overflow:visible}.panel-resizer{display:none}.left-rail{max-height:calc(100dvh - 64px)}.right-rail{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:0}.workspace-grid.right-collapsed .right-rail{display:none}.right-rail .panel-section{border-right:1px solid var(--line)}.right-rail .panel-section:first-child,.right-rail .panel-section:nth-child(2){grid-row:span 2}}@media(max-width:720px),(max-width:1040px)and (max-height:520px){body{overflow:hidden}.app-header{min-height:58px;padding:7px 10px}.brand-lockup span,.connection-badge,.new-project-action,.header-actions>.icon-button{display:none}.header-actions>.icon-button:nth-of-type(1),.header-actions>.icon-button:nth-of-type(2),.header-actions>.icon-button:nth-of-type(3){display:grid}.header-actions>.new-project-action:nth-last-child(2){display:inline-flex;width:36px;min-width:36px;height:36px;padding:0;font-size:0}.primary-action{min-height:34px;padding:6px 9px;font-size:10px}.workspace-grid{position:relative;display:block;height:calc(100dvh - 58px);min-height:0;overflow:hidden}.left-rail,.right-rail{position:absolute;z-index:52;top:0;bottom:0;display:block;width:min(88vw,380px);max-height:none;overflow-x:hidden;overflow-y:auto;visibility:hidden;border:0;background:var(--bg-panel);box-shadow:0 22px 60px #0f172a42;overscroll-behavior:contain;pointer-events:none;transition:transform .18s ease,visibility 0s linear .18s}.left-rail{left:0;border-right:1px solid var(--line);transform:translate(-102%)}.right-rail{right:0;border-left:1px solid var(--line);transform:translate(102%)}.workspace-grid.mobile-panel-left-open .left-rail,.workspace-grid.mobile-panel-right-open .right-rail{visibility:visible;pointer-events:auto;transform:translate(0);transition-delay:0s}.mobile-panel-heading{position:sticky;z-index:4;top:0;display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-panel) 96%,transparent);padding:8px 12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-panel-heading strong{font-size:12px;font-weight:720}.mobile-panel-backdrop{position:absolute;z-index:50;inset:0;display:block;border:0;background:#0f172a5c;cursor:pointer;padding:0;touch-action:manipulation;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.canvas-column{position:absolute;inset:0;height:auto;min-height:0}.canvas-metrics,.toolbar-group span:not(.tool-active),.canvas-statusbar span:nth-child(2),.canvas-statusbar span:nth-child(3){display:none}.viewport-watermark{display:none}.viewport-controls{top:10px;right:8px;bottom:auto}.viewport-controls button{width:42px;height:42px}.viewport-zoom{min-width:48px;font-size:10px}.floating-tool-palette{right:8px;bottom:62px;left:8px!important;top:auto!important;max-width:calc(100% - 16px)}.floating-tool-palette .tool-palette-drag-handle{display:none}.floating-tool-palette .cad-tool-palette.is-vertical{width:100%;max-width:100%;flex-direction:row;overflow-x:auto;border-radius:10px;padding:6px;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x}.floating-tool-palette .cad-tool-palette.is-vertical::-webkit-scrollbar{display:none}.floating-tool-palette .cad-tool-palette.is-vertical .cad-tool-button{width:42px;min-width:42px;min-height:42px}.floating-tool-palette .cad-tool-palette.is-vertical .cad-tool-button.starts-group{margin-top:0;margin-left:5px}.floating-tool-palette .cad-tool-palette.is-vertical .cad-tool-button.starts-group:before{top:4px;bottom:4px;left:-3px;width:1px;height:auto}.pipeline-banner{top:50px;align-items:flex-start}.pipeline-banner p{display:none}}@media(max-width:480px){.canvas-column{height:auto;min-height:0}.header-actions{gap:5px}.app-header .primary-action{width:36px;min-width:36px;padding:0;font-size:0}.canvas-statusbar{justify-content:space-between}.viewport-mode{display:none}}@media(max-width:360px){.brand-lockup>div:last-child{display:none}}@media(max-width:720px),(max-height:640px){.dialog-backdrop{align-items:center;overflow-y:auto;padding:8px}.project-dialog{max-height:calc(100dvh - 16px)}.project-dialog>header{flex:0 0 auto;padding:10px 12px}.project-dialog form{padding:12px}.source-dropzone{min-height:132px;padding:14px}.project-dialog footer{position:sticky;z-index:2;bottom:-12px;margin:12px -12px -12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg-panel) 96%,transparent);padding:10px 12px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root:not([data-theme=dark]) .app-shell{background:#fff}:root:not([data-theme=dark]) .app-header{background:#fffffff0;box-shadow:0 1px #0f172a08}:root:not([data-theme=dark]) .brand-mark,:root:not([data-theme=dark]) .load-mark{background:#f0fdfa;box-shadow:none}:root:not([data-theme=dark]) .revision-pill,:root:not([data-theme=dark]) .connection-badge,:root:not([data-theme=dark]) .icon-button,:root:not([data-theme=dark]) .new-project-action,:root:not([data-theme=dark]) .secondary-action{border-color:var(--line);background:#fff;color:#59636f;box-shadow:0 1px 2px #0f172a0a}:root:not([data-theme=dark]) .connection-badge.api{border-color:#a7f3d0;background:#f0fdf4;color:#047857}:root:not([data-theme=dark]) .icon-button:hover,:root:not([data-theme=dark]) .new-project-action:hover{border-color:#c7ccd2;background:var(--bg-hover);color:var(--text)}:root:not([data-theme=dark]) .primary-action{border-color:#0d9488;background:#0f766e;color:#fff;box-shadow:0 3px 10px #0f766e24}:root:not([data-theme=dark]) .primary-action:disabled{border-color:var(--line);background:#f1f3f5;color:#a0a7b0}:root:not([data-theme=dark]) .left-rail,:root:not([data-theme=dark]) .right-rail,:root:not([data-theme=dark]) .project-card,:root:not([data-theme=dark]) .panel-section>header,:root:not([data-theme=dark]) .canvas-toolbar,:root:not([data-theme=dark]) .canvas-statusbar{background:#fff}:root:not([data-theme=dark]) .project-card{background:linear-gradient(145deg,#f0fdfa,#fff 64%)}:root:not([data-theme=dark]) .eyebrow,:root:not([data-theme=dark]) .text-button{color:#0f766e}:root:not([data-theme=dark]) .project-metrics,:root:not([data-theme=dark]) .entity-facts,:root:not([data-theme=dark]) .raster-support-row{background:var(--line-soft)}:root:not([data-theme=dark]) .project-metrics span,:root:not([data-theme=dark]) .entity-facts span,:root:not([data-theme=dark]) .raster-support-row span{background:#fff}:root:not([data-theme=dark]) .project-metrics b,:root:not([data-theme=dark]) .stage-line b,:root:not([data-theme=dark]) .panel-section>header>span,:root:not([data-theme=dark]) .entity-heading h2,:root:not([data-theme=dark]) .entity-facts b,:root:not([data-theme=dark]) .raster-support-row b,:root:not([data-theme=dark]) .event-row b,:root:not([data-theme=dark]) .revision-row b,:root:not([data-theme=dark]) .validation-summary b,:root:not([data-theme=dark]) .artifact-row b,:root:not([data-theme=dark]) .empty-selection b,:root:not([data-theme=dark]) .source-dropzone>b{color:var(--text)}:root:not([data-theme=dark]) .import-source-action{border-color:#b8d9d4;background:#f7fffd;color:#0f766e}:root:not([data-theme=dark]) .trace-progress,:root:not([data-theme=dark]) input[type=range]{background:#e7eaee}:root:not([data-theme=dark]) .trace-buttons button,:root:not([data-theme=dark]) .segmented-control button,:root:not([data-theme=dark]) .review-actions button,:root:not([data-theme=dark]) .source-dropzone button{border-color:var(--line);background:#fff;color:#57616d}:root:not([data-theme=dark]) .trace-buttons button:hover,:root:not([data-theme=dark]) .segmented-control button.active,:root:not([data-theme=dark]) .review-actions button:hover,:root:not([data-theme=dark]) .source-dropzone button:hover{border-color:#c8cdd3;background:#f2f4f6;color:var(--text)}:root:not([data-theme=dark]) .segmented-control>div{background:var(--line)}:root:not([data-theme=dark]) .segmented-control button.active{color:#0f766e;box-shadow:inset 0 -2px #0f766e}:root:not([data-theme=dark]) .range-control>span,:root:not([data-theme=dark]) .toggle-row b,:root:not([data-theme=dark]) .layer-row,:root:not([data-theme=dark]) .canvas-toolbar,:root:not([data-theme=dark]) .canvas-statusbar,:root:not([data-theme=dark]) .entity-heading p,:root:not([data-theme=dark]) .entity-facts small,:root:not([data-theme=dark]) .review-state small,:root:not([data-theme=dark]) .event-row small,:root:not([data-theme=dark]) .revision-row small,:root:not([data-theme=dark]) .artifact-row small{color:#6b7280}:root:not([data-theme=dark]) .range-control output,:root:not([data-theme=dark]) .canvas-statusbar b{color:#374151}:root:not([data-theme=dark]) .toggle-row>i{background:#d7dbe0}:root:not([data-theme=dark]) .toggle-row>i:after{background:#fff;box-shadow:0 1px 2px #0f172a2e}:root:not([data-theme=dark]) .layer-row:hover{background:#f4f5f7;color:var(--text)}:root:not([data-theme=dark]) .canvas-column{background:#f3f4f6}:root:not([data-theme=dark]) .pipeline-banner{border-color:#e5d39b;background:#fffffff5;box-shadow:0 10px 30px #0f172a1f}:root:not([data-theme=dark]) .pipeline-banner.proposals-ready{border-color:#99e7db;background:#fafffef7}:root:not([data-theme=dark]) .pipeline-banner b{color:var(--text)}:root:not([data-theme=dark]) .cad-viewport{background:#eef0f3}:root:not([data-theme=dark]) .viewport-grid{background-image:linear-gradient(rgb(100 116 139 / 7%) 1px,transparent 1px),linear-gradient(90deg,rgb(100 116 139 / 7%) 1px,transparent 1px),linear-gradient(rgb(100 116 139 / 3%) 1px,transparent 1px),linear-gradient(90deg,rgb(100 116 139 / 3%) 1px,transparent 1px)}:root:not([data-theme=dark]) .drawing-stage{border-color:#d6d9de;background:#fff;box-shadow:0 18px 48px #0f172a26,0 0 0 1px #0f172a0a}:root:not([data-theme=dark]) .drawing-stage.trace-stage{background:linear-gradient(rgb(15 118 110 / 3%) 1px,transparent 1px),linear-gradient(90deg,rgb(15 118 110 / 3%) 1px,transparent 1px),#fff}:root:not([data-theme=dark]) .viewport-controls,:root:not([data-theme=dark]) .viewport-mode,:root:not([data-theme=dark]) .viewport-watermark,:root:not([data-theme=dark]) .split-label{border-color:#d7dce1;background:#ffffffe8;color:#68717d;box-shadow:0 3px 14px #0f172a17}:root:not([data-theme=dark]) .viewport-controls button{color:#66717c}:root:not([data-theme=dark]) .viewport-controls button:hover{background:#f1f3f5;color:var(--text)}:root:not([data-theme=dark]) .viewport-zoom{border-color:#e0e3e7;color:#4b5563}:root:not([data-theme=dark]) .review-state,:root:not([data-theme=dark]) .event-row,:root:not([data-theme=dark]) .revision-row,:root:not([data-theme=dark]) .validation-summary{background:#fff}:root:not([data-theme=dark]) .review-state>span,:root:not([data-theme=dark]) .event-icon,:root:not([data-theme=dark]) .artifact-row>span{background:#f1f3f5}:root:not([data-theme=dark]) .editability-note{border-color:#bae6fd;background:#f0f9ff;color:#0369a1}:root:not([data-theme=dark]) .editability-note b,:root:not([data-theme=dark]) .editability-note span{color:#075985}:root:not([data-theme=dark]) .note-field textarea,:root:not([data-theme=dark]) .project-name-field input{border-color:var(--line);background:#fff;color:var(--text)}:root:not([data-theme=dark]) .toast,:root:not([data-theme=dark]) .project-dialog{border-color:var(--line);background:#fff;color:var(--text);box-shadow:0 24px 70px #0f172a33}:root:not([data-theme=dark]) .dialog-backdrop{background:#3741515c}:root:not([data-theme=dark]) .source-dropzone{border-color:#cbd2d9;background:#f8fafb}:root:not([data-theme=dark]) .load-screen{background:#fff}@media(max-width:1040px)and (min-width:721px){.workspace-grid.left-collapsed{grid-template-columns:0 minmax(0,1fr)}.workspace-grid.right-collapsed{grid-template-columns:min(var(--left-rail-width, 246px),34vw) minmax(0,1fr)}.workspace-grid.left-collapsed.right-collapsed{grid-template-columns:0 minmax(0,1fr)}}@media(max-width:1240px)and (min-width:1041px){.workspace-grid.left-collapsed{grid-template-columns:0 minmax(400px,1fr) min(var(--right-rail-width, 314px),31vw)}.workspace-grid.right-collapsed{grid-template-columns:min(var(--left-rail-width, 252px),28vw) minmax(400px,1fr) 0}}@media(max-width:720px),(max-width:1040px)and (max-height:520px){.workspace-grid.left-collapsed .left-rail,.workspace-grid.right-collapsed .right-rail{display:none}}.command-bar{display:flex;align-items:center;gap:12px;min-height:34px;padding:0 12px;background:var(--bg-shell);border-top:1px solid var(--line);font-size:12px;color:var(--muted);flex-wrap:nowrap;overflow:hidden}.command-tool{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;white-space:nowrap;flex:0 0 auto}.command-entry{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.command-prompt{font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;color:var(--subtle);white-space:nowrap;flex:0 0 auto}.command-input{flex:1 1 auto;min-width:0;height:24px;padding:0 8px;background:var(--bg-deep);border:1px solid var(--line);border-radius:4px;color:var(--text);font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;font-size:12px}.command-input:focus-visible{outline:none;border-color:var(--accent)}.command-echo{color:var(--accent);font-family:ui-monospace,monospace;white-space:nowrap;flex:0 0 auto}.command-status{display:flex;align-items:center;gap:8px;flex:0 0 auto}.command-coord{display:inline-flex;align-items:center;gap:6px;font-family:ui-monospace,monospace;color:var(--text);white-space:nowrap}.command-coord-space{color:var(--subtle);font-style:normal;font-size:11px}.osnap-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border:1px solid var(--line);border-radius:4px;background:var(--bg-raised);color:var(--muted);cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.02em}.osnap-chip:hover{border-color:var(--accent);color:var(--text)}.osnap-chip.on{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--accent)}.backend-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:4px;border:1px solid var(--line);background:var(--bg-raised);font-size:11px;font-weight:600;white-space:nowrap}.backend-chip.online{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.backend-chip.offline{color:var(--subtle)}.backend-settings-anchor{position:relative;flex:0 0 auto}.backend-settings-popover{position:fixed;right:12px;bottom:46px;z-index:60;display:flex;width:min(320px,84vw);flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised);padding:12px;box-shadow:0 12px 34px #00000052;font-size:11px;color:var(--muted)}.backend-settings-popover>header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text);font-size:12px}.backend-settings-popover>header button{font-size:15px;line-height:1}.backend-settings-popover>p{margin:0;line-height:1.45}.backend-settings-popover code{color:var(--accent);font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;font-size:10px}.backend-settings-popover label{display:flex;flex-direction:column;gap:4px;color:var(--subtle);font-weight:650}.backend-settings-popover input{height:30px;border:1px solid var(--line);border-radius:6px;background:var(--bg-deep);padding:0 8px;color:var(--text);font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;font-size:11px}.backend-settings-popover input:focus-visible{outline:none;border-color:var(--accent)}.backend-settings-actions{display:flex;align-items:center;gap:10px;margin-top:2px}.backend-settings-actions .primary-action{min-height:30px;padding:6px 14px}.backend-settings-note{margin:0;color:var(--accent)}@media(max-width:720px){.command-bar{flex-wrap:wrap;min-height:auto;padding:6px 10px;gap:8px}.command-entry{order:3;flex-basis:100%}.command-status{flex-wrap:wrap}.backend-chip span,.command-coord-space{display:inline}.backend-settings-popover{right:8px;left:8px;bottom:108px;width:auto}}.layer-row{display:grid;grid-template-columns:18px 22px 22px 14px 1fr auto;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;font-size:12px;color:var(--text)}.layer-row:hover{background:var(--bg-hover)}.layer-row.current{background:color-mix(in srgb,var(--accent) 12%,transparent)}.layer-row.locked .layer-name{color:var(--subtle)}.layer-current,.layer-visibility,.layer-lock{display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer}.layer-visibility:hover,.layer-lock:hover,.layer-current:hover{color:var(--text)}.layer-current-dot{width:9px;height:9px;border-radius:999px;border:1.5px solid var(--subtle);box-sizing:border-box}.layer-row.current .layer-current-dot{border-color:var(--accent);background:var(--accent)}.layer-row.locked .layer-lock{color:var(--amber)}.layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row .layer-swatch{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid rgb(255 255 255 / 12%)}.layer-row small{color:var(--subtle);font-variant-numeric:tabular-nums}
