.cad-elevation-marker,.cad-leader-arrow{stroke-width:1;vector-effect:non-scaling-stroke}.cad-structure-detail,.cad-structure-arrow{fill:none;stroke:#52696d;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.cad-furniture.is-selected .cad-structure-detail,.cad-furniture.is-selected .cad-structure-arrow{stroke:#e66c1e}:root{color-scheme:light;--ink:#1d3035;--muted:#66777a;--line:#cdd7d7;--rail:#17292d;--rail2:#20383d;--paper:#f4f7f5;--cyan:#21a6b2;--orange:#ed8b43;--panel:#f8faf9;--minor-grid:6px;--major-grid:58px}*{box-sizing:border-box}body{margin:0;background:#e7eceb;color:var(--ink);font-family:Segoe UI,Microsoft YaHei,sans-serif;overflow:hidden}button,select,input{font:inherit}button{cursor:pointer}.app-nav{height:54px;background:var(--rail);color:#dce8e8;display:flex;align-items:center;gap:20px;padding:0 18px;position:relative;z-index:40;border-bottom:1px solid #0d1e22}.brand{display:flex;align-items:center;gap:10px;font:var(--font-ui-title) Bahnschrift,"Microsoft YaHei";letter-spacing:.08em}.brand-mark{width:26px;height:26px;display:block;flex:none;color:#83d7da}.workspace-tabs{display:flex;align-self:stretch}.workspace-tabs button{color:#9eb1b4;background:transparent;border:0;border-bottom:2px solid transparent;padding:0 18px;font-size:var(--font-ui-md)}.workspace-tabs button.active{color:#fff;border-color:var(--cyan);background:#ffffff08}.project-meta{margin-left:auto;font-size:var(--font-ui-xs);color:#819a9e;letter-spacing:.12em}.cad-shell{height:calc(100vh - 54px);display:grid;grid-template-columns:222px minmax(300px,1fr) 284px;grid-template-rows:44px minmax(0,1fr) 25px;background:#dfe6e4}.cad-toolbar{grid-column:1/4;display:flex;align-items:center;gap:5px;padding:5px 10px;background:#edf2f1;border-bottom:1px solid #bdcbcb}.cad-toolbar .group{display:flex;gap:4px;padding-right:9px;margin-right:4px;border-right:1px solid #c5d0d0}.tool-button{height:32px;min-width:34px;border:1px solid transparent;background:transparent;color:#43565a;border-radius:3px;font-size:var(--font-ui-sm);padding:0 9px}.tool-button:hover{background:#fff;border-color:#c7d1d1}.tool-button.active{background:var(--rail2);color:#fff}.tool-button.primary{background:var(--cyan);color:#fff;margin-left:auto}.file-button{position:relative}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.cad-left,.cad-right{min-height:0;background:var(--panel);overflow:auto}.cad-left{border-right:1px solid #c2cdcd}.cad-right{border-left:1px solid #c2cdcd}.rail-heading{font-size:var(--font-ui-xs);color:#7a898b;letter-spacing:.16em;margin:0;padding:15px 14px 9px;border-bottom:1px solid #e0e6e5}.tool-stack{padding:9px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.side-tool{height:48px;border:1px solid #d7dfde;background:#fff;color:#35494d;display:flex;align-items:center;gap:7px;padding:8px;border-radius:3px;font-size:var(--font-ui-sm)}.side-tool b{width:25px;color:var(--cyan);font:600 var(--font-ui-title-lg) Bahnschrift}.side-tool.active{background:#dfeff0;border-color:#62b7bd}.furniture-list{padding:9px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.furniture-card{height:79px;background:#fff;border:1px solid #d8e0df;border-radius:3px;display:grid;grid-template-columns:30px 1fr;text-align:left;padding:9px;color:#34484c}.furniture-card:hover{border-color:var(--cyan);transform:translateY(-1px)}.furniture-card strong{grid-row:1/3;font-size:var(--font-ui-display-sm);color:#58767b;font-weight:400}.furniture-card span{font-size:var(--font-ui-sm)}.furniture-card small{font:var(--font-ui-2xs) Bahnschrift;color:#89989a}.cad-center{position:relative;min-width:0;min-height:0;overflow:hidden;background:#dfe5e3}.cad-canvas-wrap{position:absolute;inset:0;background-color:var(--paper);background-image:linear-gradient(#dce5e3 1px,transparent 1px),linear-gradient(90deg,#dce5e3 1px,transparent 1px),linear-gradient(#c5d3d1 1px,transparent 1px),linear-gradient(90deg,#c5d3d1 1px,transparent 1px);background-size:100% var(--minor-grid-y, var(--minor-grid)),var(--minor-grid-x, var(--minor-grid)) 100%,100% var(--major-grid-y, var(--major-grid)),var(--major-grid-x, var(--major-grid)) 100%}#cad-svg{width:100%;height:100%;display:block;touch-action:none}#cad-svg[data-tool=wall]{cursor:crosshair}#cad-svg[data-tool=pan]{cursor:grab}.cad-floor{fill:#fffa;stroke:#bfcecc;stroke-width:.015;vector-effect:non-scaling-stroke}.cad-slab{pointer-events:visiblePainted}.cad-slab.is-selected{stroke:var(--orange);stroke-width:.045}.cad-wall{stroke:#25383d;stroke-linecap:square;vector-effect:non-scaling-stroke;pointer-events:stroke}.cad-wall.is-selected{stroke:var(--orange)}.cad-opening{stroke:#f4f7f5;stroke-linecap:butt;vector-effect:non-scaling-stroke;pointer-events:stroke}.cad-opening.window{stroke:#3fb3c1}.cad-opening.door{stroke:#d7955a}.cad-opening.is-selected{filter:drop-shadow(0 0 2px #e66c1e)}.cad-door-swing{fill:none;stroke:#9a6c48;stroke-width:.018;vector-effect:non-scaling-stroke}.cad-dimension{font-size:var(--font-drawing-dim);fill:#708285;paint-order:stroke;stroke:#f4f7f5;stroke-width:.05px;pointer-events:none;font-family:Bahnschrift}.cad-furniture rect{fill:#d9e2df;stroke:#52696d;stroke-width:.018;vector-effect:non-scaling-stroke}.cad-furniture text{font-size:var(--font-drawing-label);fill:#41565a;pointer-events:none}.cad-furniture.is-selected rect{stroke:var(--orange);stroke-width:.045}.cad-draft-line{stroke:var(--cyan);stroke-width:2;stroke-dasharray:7 4}.cad-draft-text{fill:#176d74;font:var(--font-ui-sm) Bahnschrift;paint-order:stroke;stroke:#fff;stroke-width:4px}.plan-compass{--project-north:0deg;position:absolute;right:20px;bottom:18px;width:64px;height:64px;border:1px solid #aebdbc;border-radius:50%;background:#f8fafad9;box-shadow:0 2px 8px #263f4930;color:#587074;pointer-events:none;font:600 var(--font-ui-2xs) "Microsoft YaHei",sans-serif}.plan-compass-directions{position:absolute;inset:0;transform:rotate(var(--project-north));transition:transform .16s ease}.plan-compass [data-direction]{position:absolute;display:grid;width:18px;height:18px;place-items:center;transform:rotate(calc(-1 * var(--project-north)));transition:transform .16s ease}.plan-compass [data-direction=north]{top:1px;left:22px;color:#168894}.plan-compass [data-direction=east]{top:22px;right:1px}.plan-compass [data-direction=south]{bottom:1px;left:22px}.plan-compass [data-direction=west]{top:22px;left:1px}.plan-compass-directions i{position:absolute;top:18px;left:28px;width:0;height:0;border-right:4px solid transparent;border-bottom:14px solid #168894;border-left:4px solid transparent;filter:drop-shadow(0 1px 0 #fff)}.plan-compass:after{content:"";position:absolute;inset:29px;border:3px solid #526d73;border-radius:50%}.cad-toast{position:absolute;left:50%;bottom:28px;transform:translate(-50%,15px);background:#183238;color:#fff;padding:9px 14px;font-size:var(--font-ui-sm);opacity:0;transition:.2s}.cad-toast.show{opacity:1;transform:translate(-50%)}.inspector-title{font-size:var(--font-ui-lg);font-weight:650;padding:16px 14px 11px;border-bottom:1px solid #dce4e3}.inspector-subtitle{font-size:var(--font-ui-xs);color:#738487;letter-spacing:.14em;margin:18px 14px 8px;padding-top:12px;border-top:1px solid #dfe6e5}.property-field{display:grid;grid-template-columns:1fr 112px;align-items:center;gap:8px;padding:5px 14px;font-size:var(--font-ui-sm);color:#526367}.property-field input,.property-field select{width:100%;height:30px;border:1px solid #cad5d4;background:#fff;color:#293d41;padding:4px 7px;border-radius:2px;font-size:var(--font-ui-sm)}.property-info{margin:10px 14px;color:#829093;font:var(--font-ui-xs) Bahnschrift}.danger-button{margin:12px 14px 0;width:calc(100% - 28px);height:31px;border:1px solid #d8b8a8;background:#fff8f4;color:#9b5334;font-size:var(--font-ui-sm)}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0 14px}.material-chip{border:1px solid #d8e0df;background:#fff;display:flex;align-items:center;gap:6px;padding:5px;text-align:left;min-width:0}.material-chip i{display:block;width:18px;height:18px;background:var(--swatch);border:1px solid #0002;flex:none}.material-chip span{font-size:var(--font-ui-2xs);color:#526468;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-status{grid-column:1/4;background:var(--rail);color:#87a0a4;display:flex;align-items:center;padding:0 12px;font:var(--font-ui-2xs) Bahnschrift;letter-spacing:.06em}.cad-status span:last-child{margin-left:auto;color:#5f858a}#stage{position:absolute;inset:98px 284px 25px 222px;z-index:2;display:none}.app-mode-preview #stage{display:block}.app-mode-preview .cad-canvas-wrap,.app-mode-env .cad-shell{display:none}.app-mode-env #stage{display:block;inset:54px 0 0}.app-mode-env .env-overlay{display:block}.env-overlay{display:none}.env-header{position:absolute;z-index:5;left:32px;top:79px;pointer-events:none}.env-header small{font-size:var(--font-ui-xs);letter-spacing:3px;color:#72848a}.env-header h1{font-size:var(--font-ui-display);font-weight:500;margin:10px 0}.env-header p{font-size:var(--font-ui-md);color:#64767b}.env-panel{position:absolute;top:74px;right:20px;z-index:10;width:354px;max-height:calc(100vh - 94px);overflow:auto;padding:18px;background:#fafbfbf2;border:1px solid #cfd8d9;border-radius:10px}.env-panel h2{font-size:var(--font-ui-xl);margin:0 0 13px}.section{border-top:1px solid #d7dede;padding-top:12px;margin-top:12px}.section>summary{cursor:pointer;font-size:var(--font-ui-md);font-weight:650;list-style:none;display:flex;justify-content:space-between}.section>summary:after{content:"\ff0b"}.section[open]>summary:after{content:"\ff0d"}.section-body{padding-top:12px}.views{display:grid;grid-template-columns:1fr 1fr;gap:6px}.views button,.env-panel button,.env-panel select,.env-panel input{font-size:var(--font-ui-md);border:1px solid #c7d1d2;background:#fff;color:#334c54;border-radius:5px;padding:8px}.views button.active,.env-panel button.active{background:#365c65;color:#fff}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;font-size:var(--font-ui-md)}.row input[type=checkbox]{width:auto}.env-panel input,.env-panel select{width:100%;min-width:0}.search{display:grid;grid-template-columns:1fr auto auto;gap:6px}.orientation{display:grid;grid-template-columns:1fr 110px;gap:8px}.orientation input{padding:0}.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.three label{font-size:var(--font-ui-xs);color:var(--muted)}.three input{display:block;margin-top:4px}.wide{width:100%;margin-top:7px}.hint,#status,#environment-status,#sun-direction,#wind-reading,#airflow-impact,#seismic-status,#seismic-result,#runtime-metrics{font-size:var(--font-ui-sm);line-height:1.55;color:var(--muted)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.metric{padding:9px;background:#f3f6f6;border:1px solid #e0e6e6;border-radius:5px}.metric span{display:block;font-size:var(--font-ui-2xs)}.metric strong{font-size:var(--font-ui-sm)}.inline{display:grid;grid-template-columns:1fr 1fr;gap:6px}.notes{font-size:var(--font-ui-xs);line-height:1.65;color:#708084}.link{font-size:var(--font-ui-sm);color:#315e69}.env-compass{position:absolute;left:32px;bottom:28px;z-index:4;width:72px;height:72px;border:1px solid #bfcaca;border-radius:50%;background:#f8fafad9;display:grid;place-items:center}.env-compass b{position:absolute;top:5px;font-size:var(--font-ui-xs)}.env-compass .e{position:absolute;right:6px}.env-compass .s{position:absolute;bottom:5px}.env-compass .w{position:absolute;left:6px}#labels{position:absolute;inset:54px 0 0;pointer-events:none;z-index:3}.label{position:absolute;font-size:var(--font-ui-sm);white-space:nowrap;background:#ffffffd9;border:1px solid #d0dada;padding:4px 8px;transform:translate(-50%,-50%)}@media (max-width:850px){.cad-shell{grid-template-columns:170px 1fr}.cad-right{display:none}.cad-toolbar{grid-column:1/3;overflow:auto}.cad-status{grid-column:1/3}.furniture-list{grid-template-columns:1fr}.project-meta{display:none}#stage{right:0;left:170px}.env-panel{inset:auto 10px 10px;width:auto;max-height:50vh}.workspace-tabs button{padding:0 10px}.brand{font-size:var(--font-ui-md)}}.side-tool b svg{display:block;width:23px;height:23px}.furniture-card strong{display:grid;place-items:center;width:27px;height:27px}.furniture-card strong svg{width:25px;height:25px;display:block}.side-tool b,.furniture-card strong{background:transparent}.side-tool[draggable=true],.furniture-card[draggable=true]{cursor:grab}.side-tool[draggable=true]:active,.furniture-card[draggable=true]:active{cursor:grabbing}.cad-wall,.cad-opening{vector-effect:none}#cad-svg[data-tool=select] [data-type]{cursor:move}#cad-svg.is-object-dragging{cursor:grabbing}.is-library-dragging .cad-canvas-wrap{outline:2px solid var(--cyan);outline-offset:-3px}.cad-grip{fill:#fff;stroke:#e66c1e;stroke-width:.045;vector-effect:non-scaling-stroke;cursor:crosshair}.cad-annotation-line,.cad-extension-line{fill:none;stroke:#238794;stroke-width:.018;vector-effect:non-scaling-stroke;pointer-events:stroke}.cad-extension-line{stroke:#6f9da2}.cad-annotation-label,.cad-annotation-text,.cad-symbol-label{fill:#176d74;font-family:Bahnschrift,Microsoft YaHei;font-size:var(--font-drawing-label);paint-order:stroke;stroke:#fff;stroke-width:.055px;pointer-events:all}.cad-axis-bubble{fill:#fff;stroke:#238794;vector-effect:non-scaling-stroke;pointer-events:all}.cad-elevation-marker,.cad-leader-arrow{fill:#238794;stroke:#238794;pointer-events:all}.cad-annotation-text{font-size:var(--font-drawing-text)}.cad-annotation.is-selected .cad-annotation-line,.cad-annotation.is-selected .cad-extension-line,.cad-annotation.is-selected .cad-axis-bubble{stroke:#e66c1e;stroke-width:.035}.cad-annotation.is-selected .cad-annotation-label,.cad-annotation.is-selected .cad-symbol-label,.cad-annotation-text.is-selected{fill:#e66c1e}.cad-annotation.is-selected .cad-elevation-marker,.cad-annotation.is-selected .cad-leader-arrow{fill:#e66c1e;stroke:#e66c1e}.side-tool svg{pointer-events:none}#cad-svg[data-tool^=dim],#cad-svg[data-tool=text],#cad-svg[data-tool=trim],#cad-svg[data-tool=arc],#cad-svg[data-tool=gridAxis],#cad-svg[data-tool=room],#cad-svg[data-tool=elevation],#cad-svg[data-tool=leader]{cursor:crosshair}.cad-edit-params{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 9px 9px}.cad-edit-params label{font-size:var(--font-ui-2xs);color:#718184}.cad-edit-params input{box-sizing:border-box;width:100%;height:25px;margin-top:3px;border:1px solid #cbd6d5;background:#fff;padding:0 5px;font:var(--font-ui-xs) Bahnschrift;color:#33484c}.cad-shell{grid-template-columns:var(--left-width) minmax(300px,1fr) var(--right-width)}.app-mode-preview #stage{left:72px}.cad-left .rail-heading{display:none}.cad-left .tool-stack,.cad-left .furniture-list{grid-template-columns:28px 28px;gap:2px;padding:6px;border-bottom:1px solid #c8d2d1}.cad-left .side-tool,.cad-left .furniture-card{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:28px;min-width:0;height:28px;padding:4px;gap:0;border:1px solid transparent;border-radius:2px;background:transparent}.cad-left .side-tool b,.cad-left .furniture-card strong{display:grid;place-items:center;width:18px;height:18px;color:#425b60}.cad-left .side-tool b svg,.cad-left .furniture-card strong svg{width:16px;height:16px}.cad-left .side-tool:hover,.cad-left .furniture-card:hover{transform:none;background:#e2ebeb;border-color:#a7bdbe}.cad-left .side-tool.active,.cad-left .furniture-card.active{background:#d3e7e9;border-color:#67a5ad}.cad-left button:focus-visible{outline:2px solid var(--cyan);outline-offset:0}.cad-right .cad-edit-params{padding-top:10px}@media (max-width:850px){.cad-shell{grid-template-columns:var(--left-width) minmax(0,1fr)}}:root{--nav-height:36px;--toolbar-height:36px;--left-width:72px;--right-width:284px}.app-nav{height:var(--nav-height);display:grid;grid-template-columns:var(--left-width) minmax(0,1fr) var(--right-width);gap:0;padding:0}.brand{height:100%;justify-content:center;border-right:1px solid #ffffff12;font-size:var(--font-ui-md);gap:7px;letter-spacing:.12em}.brand-mark{width:22px;height:22px;font-size:var(--font-ui-sm)}.workspace-tabs{align-items:stretch;height:100%;padding-left:6px}.workspace-tabs button{font-size:var(--font-ui-sm);padding:0 14px}.project-meta{margin:0;height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 12px;border-left:1px solid #ffffff12;letter-spacing:0;font-size:var(--font-ui-2xs)}.cad-shell{height:calc(100vh - var(--nav-height));grid-template-rows:var(--toolbar-height) minmax(0,1fr) 25px}.cad-toolbar{display:grid;grid-template-columns:var(--left-width) minmax(0,1fr) var(--right-width);gap:0;padding:0;overflow:hidden}.cad-toolbar .toolbar-selection,.cad-toolbar .toolbar-actions,.cad-toolbar .toolbar-preview{display:flex;align-items:center;height:100%;min-width:0;padding:0 6px;gap:2px}.toolbar-selection{border-right:1px solid #c2cdcd}.toolbar-actions{overflow-x:auto;scrollbar-width:thin}.toolbar-preview{border-left:1px solid #c2cdcd}.cad-toolbar .group{height:24px;align-items:center;gap:2px;margin-right:4px;padding-right:6px;flex:none}.cad-toolbar .tool-button{height:28px;min-width:28px;width:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:2px;line-height:1}.cad-toolbar .tool-button svg{width:16px;height:16px;display:block;pointer-events:none}.cad-toolbar .tool-button.primary{width:auto;padding:0 10px;gap:6px;font-size:var(--font-ui-sm);margin:0}.cad-toolbar .ortho-toggle{height:28px;display:flex;align-items:center;gap:4px;padding:0 6px;white-space:nowrap;font-size:var(--font-ui-xs);flex:none}.ortho-toggle input{margin:0;width:13px;height:13px}.app-mode-preview #stage{top:calc(var(--nav-height) + var(--toolbar-height));left:var(--left-width);right:var(--right-width)}.app-mode-env #stage,#labels{top:var(--nav-height)}.env-header{top:61px}.env-panel{top:56px;max-height:calc(100vh - 76px)}@media (max-width:850px){:root{--right-width:0px}.app-nav{grid-template-columns:var(--left-width) minmax(0,1fr)}.project-meta{display:none}.cad-toolbar{grid-template-columns:var(--left-width) minmax(0,1fr)}.toolbar-preview{display:none!important}.env-panel{top:auto}}.cad-toolbar .ortho-toggle{position:relative;width:28px;height:28px;padding:4px;justify-content:center;border:1px solid transparent;border-radius:2px;color:#43565a;cursor:pointer}.ortho-toggle svg{width:16px;height:16px;display:block;pointer-events:none}.cad-toolbar .ortho-toggle input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.ortho-toggle:hover{background:#fff;border-color:#c7d1d1}.ortho-toggle:has(input:checked){background:var(--rail2);color:#fff}.ortho-toggle:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:1px}.cad-wall{fill:none;stroke-width:1;stroke-linejoin:miter;vector-effect:non-scaling-stroke;pointer-events:stroke}.cad-wall.is-room-boundary{stroke:#08a0b4;stroke-width:2;filter:drop-shadow(0 0 2px #30bfd0)}.cad-wall-hit{fill:none;stroke:transparent;stroke-width:10;vector-effect:non-scaling-stroke;pointer-events:stroke}.cad-opening{stroke-width:1.2;vector-effect:non-scaling-stroke}.cad-door-swing{stroke-width:1;pointer-events:none}.cad-furniture rect{fill:#f4f7f544;stroke-width:1}.cad-furniture.is-selected rect{stroke-width:1.5}.cad-grip,.cad-annotation-line,.cad-extension-line{stroke-width:1}.cad-annotation.is-selected .cad-annotation-line,.cad-annotation.is-selected .cad-extension-line{stroke-width:1.5}.cad-draft-line{stroke-width:1;stroke-dasharray:5 4}#cad-draft{pointer-events:none}.cad-crosshair{stroke:#52676a;stroke-width:1;fill:none}.cad-snap-marker{stroke:#149b55;fill:none;stroke-width:1.5}.cad-snap-label{font:var(--font-ui-sm) "Microsoft YaHei";fill:#14894b;paint-order:stroke;stroke:#fff;stroke-width:3px}.cad-constraint-label{fill:#166b9a;paint-order:stroke;stroke:#fff;pointer-events:none;font-family:Bahnschrift}.cad-constraint-tools{margin:8px 14px;padding:7px;border:1px solid #d2dcdb;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:4px}.cad-constraint-tools>span{grid-column:1/3;font-size:var(--font-ui-2xs);color:#667a7d}.cad-constraint-tools .tool-button{height:25px;padding:0 5px;font-size:var(--font-ui-2xs);border-color:#d5dedd}.cad-constraint-tools .tool-button:last-child{grid-column:1/3}.cad-drafting-bar{position:absolute;bottom:0;left:0;right:0;height:30px;border-top:1px solid #bfcac9;background:#f5f8f7;display:flex;align-items:center;z-index:4}.cad-command-prompt{flex:0 1 38%;min-width:120px;max-width:460px;overflow:hidden;padding:0 10px;border-right:1px solid #d6dfde;color:#3f5960;font:var(--font-ui-sm) "Microsoft YaHei";text-overflow:ellipsis;white-space:nowrap}.cad-drafting-bar>input{min-width:0;flex:1;height:28px;border:0;background:transparent;outline:none;padding:0 8px;font:var(--font-ui-sm) Consolas,"Microsoft YaHei";color:#29434a}.cad-snap-settings{font-size:var(--font-ui-xs);background:#f5f8f7;position:relative;margin-right:8px}.cad-snap-settings summary{cursor:pointer;padding:5px}.cad-snap-settings[open]{position:absolute;right:0;bottom:0;border:1px solid #bfcdcb;padding:5px}.cad-snap-settings label{display:flex;align-items:center;gap:5px;padding:4px}.cad-canvas-wrap{bottom:30px}.app-mode-preview .cad-drafting-bar{display:none}.cad-status{white-space:nowrap;overflow:hidden}.cad-dimension-input{position:absolute;z-index:12;width:160px;height:30px;padding:4px 7px;border:1px solid var(--cyan);border-radius:2px;background:#fff;color:#176d74;font:var(--font-ui-md) Consolas,"Microsoft YaHei";outline:2px solid #21a6b226;box-shadow:0 2px 6px #17292d20}.cad-dynamic-input{position:absolute;z-index:13;display:flex;gap:3px;padding:3px;border:1px solid #188b96;background:#f9ffffdd;box-shadow:0 2px 7px #17383d24;pointer-events:auto}.cad-dynamic-input[hidden]{display:none}.cad-dynamic-input input{box-sizing:border-box;width:88px;height:25px;padding:2px 5px;border:1px solid #9dc5c9;background:#fff;color:#163f45;font:var(--font-ui-xs) Consolas,"Microsoft YaHei";outline:none}.cad-dynamic-input input:focus{border-color:#087f8b;box-shadow:0 0 0 1px #36aebb55}.cad-edit-params select{box-sizing:border-box;width:100%;height:25px;margin-top:3px;border:1px solid #cbd6d5;background:#fff;padding:0 5px;font:var(--font-ui-xs) Bahnschrift;color:#33484c}body:not(.app-mode-env) .env-overlay{display:none!important}.workspace-tabs{overflow-x:auto;scrollbar-width:none}.workspace-tabs::-webkit-scrollbar{display:none}.workspace-tabs button{white-space:nowrap}.cad-toolbar>.workflow-toolbar{display:none;grid-column:1/4;height:100%;align-items:center;padding:0 7px;gap:3px;overflow-x:auto}.workflow-toolbar .tool-button{width:auto;min-width:28px;padding:0 8px;gap:5px}.workflow-toolbar svg,.workflow-icon svg{width:16px;height:16px;display:block;pointer-events:none}.workflow-toolbar .toolbar-spacer{flex:1}.workflow-toolbar .toolbar-caption{font-size:var(--font-ui-2xs);color:#77898c;margin:0 7px;white-space:nowrap}body:not(.app-mode-cad) .cad-toolbar>.toolbar-selection,body:not(.app-mode-cad) .cad-toolbar>.toolbar-actions,body:not(.app-mode-cad) .cad-toolbar>.toolbar-preview{display:none}.app-mode-preview [data-toolbar=preview],.app-mode-render [data-toolbar=render],.app-mode-review [data-toolbar=review],.app-mode-plot [data-toolbar=plot]{display:flex}.side-pane{display:none}.app-mode-cad [data-side=cad],.app-mode-preview [data-side=preview],.app-mode-render [data-side=render],.app-mode-review [data-side=review],.app-mode-plot [data-side=plot]{display:block}.cad-left .side-pane{padding:5px 0}.cad-left .workflow-icons{display:grid;grid-template-columns:28px 28px;gap:2px;padding:1px 6px 6px}.workflow-icon{width:28px;height:28px;border:1px solid transparent;border-radius:2px;background:transparent;color:#425b60;display:grid;place-items:center;padding:5px}.workflow-icon:hover,.workflow-icon.active{background:#dbe9e9;border-color:#83adb2}.workflow-icon:focus-visible{outline:2px solid var(--cyan)}.workflow-panel h2{font-size:var(--font-ui-xs);color:#748689;letter-spacing:.14em;margin:0;padding:13px 14px 8px;border-bottom:1px solid #dce4e3}.workflow-section{padding:11px 14px;border-bottom:1px solid #e0e6e5}.workflow-section h3{font-size:var(--font-ui-xs);margin:0 0 8px;color:#40575b}.workflow-field{display:grid;grid-template-columns:1fr 116px;align-items:center;gap:8px;margin:7px 0;font-size:var(--font-ui-xs);color:#55676a}.workflow-field input,.workflow-field select{width:100%;height:27px;border:1px solid #c9d4d3;background:#fff;color:#2d4448;padding:3px 6px;font-size:var(--font-ui-xs)}.plot-rect-grid .workflow-field{display:block;min-width:0;margin:4px 0}.plot-rect-grid .workflow-field span{display:block;white-space:nowrap;margin-bottom:3px}.workflow-wide{width:100%;height:29px;margin-top:6px;border:1px solid #bdcaca;background:#fff;color:#334b50;font-size:var(--font-ui-xs)}.workflow-wide.primary{background:#315b63;color:#fff;border-color:#315b63}.workflow-note{font-size:var(--font-ui-xs);line-height:1.55;color:#738487;margin:7px 0}.review-result{font:var(--font-ui-xs)/1.65 Consolas,"Microsoft YaHei";white-space:pre-line;color:#40575b;background:#f1f5f4;border:1px solid #d8e1df;padding:8px;min-height:80px}.material-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.material-swatch{height:25px;border:1px solid #cbd6d5;background:var(--swatch);position:relative}.material-swatch.active:after{content:"\2713";position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-shadow:0 1px 2px #000;font-size:var(--font-ui-md)}.app-mode-preview #stage,.app-mode-render #stage,.app-mode-review #stage{display:block;top:calc(var(--nav-height) + var(--toolbar-height));left:var(--left-width);right:var(--right-width);bottom:25px}.app-mode-preview .cad-canvas-wrap,.app-mode-render .cad-canvas-wrap,.app-mode-review .cad-canvas-wrap{display:none}.app-mode-render #stage{background:#d8dede}.app-mode-review #stage{background:#eef1f0}.app-mode-plot .cad-canvas-wrap{display:none}#plot-stage{position:absolute;inset:0;display:none;overflow:hidden;background:#c8cecd;padding:28px}.app-mode-plot #plot-stage{display:grid;place-items:center}#plot-stage svg{display:block;max-width:none;background:#fff;box-shadow:0 5px 18px #1b2d3130;touch-action:none}.plot-viewport-hit{fill:transparent;stroke:#21a6b2;stroke-width:.7;stroke-dasharray:2 1;pointer-events:all;cursor:move;vector-effect:non-scaling-stroke;opacity:.45}.plot-viewport-hit.active{opacity:1}.plot-viewport-handle{fill:#fff;stroke:#168793;stroke-width:.7;pointer-events:all;cursor:nwse-resize;vector-effect:non-scaling-stroke;opacity:.6}.plot-viewport-handle.active{fill:#21a6b2;opacity:1}.plot-empty{font-size:var(--font-ui-md);color:#617477;background:#fff;border:1px solid #c5d0cf;padding:18px 22px}.env-workflow-left{position:absolute;display:none;z-index:12;left:0;top:var(--nav-height);bottom:0;width:var(--left-width);background:#f6f8f7;border-right:1px solid #c3cecd;padding:6px}.app-mode-env .env-workflow-left{display:grid;align-content:start;grid-template-columns:28px 28px;gap:2px}.app-mode-env #stage{left:var(--left-width);right:var(--right-width)}.app-mode-env .env-panel{right:0;top:var(--nav-height);bottom:0;width:var(--right-width);max-height:none;border-radius:0;border-width:0 0 0 1px}.app-mode-env .env-header,.app-mode-env .env-compass{left:calc(var(--left-width) + 24px)}@media (max-width:1100px){.workspace-tabs button{padding:0 9px}.project-meta{font-size:var(--font-ui-zero)}.project-meta:after{content:"\672c\5730";font-size:var(--font-ui-2xs)}}@media (max-width:850px){.cad-toolbar>.workflow-toolbar{grid-column:1/3}.app-mode-preview #stage,.app-mode-render #stage,.app-mode-review #stage,.app-mode-env #stage{right:0}.app-mode-env .env-panel{left:var(--left-width);right:8px;bottom:8px;top:auto;width:auto;max-height:52vh;border:1px solid #cfd8d9}.app-mode-env .env-header{display:none!important}}.app-mode-render .cad-drafting-bar,.app-mode-review .cad-drafting-bar,.app-mode-plot .cad-drafting-bar{display:none}.plot-viewport-hit.locked{stroke:#7d898b;cursor:not-allowed}.workflow-field input:disabled,.workflow-field select:disabled{background:#edf1f0;color:#839093;cursor:not-allowed}.plot-viewport-clip-handle{fill:#fff;stroke:#8d4fc2;stroke-width:.7;vector-effect:non-scaling-stroke;cursor:crosshair;pointer-events:all}.plot-viewport-clip-handle.active{fill:#b477dc}.plot-clip-draft{fill:#9b59c322;stroke:#8d4fc2;stroke-width:.8;stroke-dasharray:2 1;vector-effect:non-scaling-stroke;pointer-events:none}.plot-clip-draft-point{fill:#fff;stroke:#8d4fc2;stroke-width:.7;vector-effect:non-scaling-stroke;pointer-events:none}.furniture-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.furniture-edit-grid .workflow-field{display:block;margin:2px 0}.furniture-edit-grid .workflow-field span{display:block;margin-bottom:3px}.furniture-selection{min-height:30px;padding:7px;border:1px solid #d6dfde;background:#f2f6f5;color:#607477;font-size:var(--font-ui-xs);line-height:1.5}.furniture-selection.active{border-color:#78adb2;background:#edf7f7;color:#294c52}:root{--font-ui-zero:0;--font-ui-2xs:9px;--font-ui-xs:10px;--font-ui-sm:11px;--font-ui-md:12px;--font-ui-lg:13px;--font-ui-xl:14px;--font-ui-title:15px;--font-ui-title-lg:16px;--font-ui-page:19px;--font-ui-display-sm:21px;--font-ui-display:23px;--font-drawing-dim:.18px;--font-drawing-label:.2px;--font-drawing-text:.24px}.workflow-check input{width:14px;height:14px;justify-self:end;margin:0;accent-color:var(--cyan)}.cad-roof-line{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:square}.cad-roof-eave{stroke:#63777a;stroke-width:1}.cad-roof-ridge{stroke:#167784;stroke-width:1.6}.cad-roof-hip{stroke:#526e73;stroke-width:1.1}.cad-roof-valley{stroke:#a26438;stroke-width:1.2;stroke-dasharray:5 3}.inspector-disclosure{margin:0;border:0;border-bottom:1px solid #dce4e3}.inspector-disclosure>summary{list-style:none;display:flex;align-items:center;gap:7px;height:30px;padding:0 14px;color:#405458;background:#f8faf9;font-size:var(--font-ui-sm);font-weight:600;cursor:pointer;user-select:none}.inspector-disclosure>summary::-webkit-details-marker{display:none}.inspector-disclosure>summary:before{content:"";width:6px;height:6px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .12s ease}.inspector-disclosure[open]>summary:before{transform:rotate(45deg)}.inspector-disclosure>summary:hover{background:#eef4f3}.inspector-disclosure>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.cad-layer-row{grid-template-columns:minmax(0,1fr) auto auto auto;gap:5px;min-height:31px;padding:3px 10px 3px 14px}.cad-layer-row>input{min-width:0;height:25px;font-size:var(--font-ui-xs);padding:2px 5px}.cad-layer-row>input:disabled{border-color:transparent;background:transparent;color:#405458;opacity:1;padding-left:0}.cad-layer-toggle{display:flex;align-items:center;gap:3px;color:#647679;font-size:var(--font-ui-2xs);white-space:nowrap}.cad-layer-toggle input{width:12px;height:12px;margin:0}.cad-layer-row .tool-button,.cad-layer-create .tool-button,.cad-block-row .tool-button{height:25px;min-width:25px;padding:0 5px;font-size:var(--font-ui-xs)}.cad-layer-create{grid-template-columns:minmax(0,1fr) 25px;gap:5px;padding:5px 10px 7px 14px}.cad-layer-create input{height:25px;font-size:var(--font-ui-xs)}.cad-block-row{grid-template-columns:minmax(0,1fr) auto 25px;gap:5px;padding:4px 10px 4px 14px}.cad-block-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-ui-xs)}.cad-right .property-info{font-size:var(--font-ui-2xs);line-height:1.55}.cad-shell{position:relative}.right-panel-toggle{position:absolute;z-index:18;top:calc(var(--toolbar-height) + 8px);right:var(--right-width);width:36px;height:36px;padding:0;border:0;border-radius:0;background:transparent;color:#40585c;display:grid;place-items:center;box-shadow:none;cursor:pointer}.right-panel-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .14s ease}.right-panel-toggle:hover{background:transparent}.right-panel-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}.right-panel-collapsed{--right-width:0px}.right-panel-collapsed .cad-shell{grid-template-columns:var(--left-width) minmax(300px,1fr) 0}.right-panel-collapsed .cad-right,.right-panel-collapsed .env-panel,.right-panel-collapsed .project-meta{display:none}.right-panel-collapsed .right-panel-toggle svg{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.inspector-disclosure>summary:before,.right-panel-toggle svg{transition:none}}.cad-tree-hierarchy{padding:5px 0 8px}.cad-tree-node{height:24px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#405458;font-size:var(--font-ui-xs)}.cad-tree-project{padding-left:14px;font-weight:650}.cad-tree-site{padding-left:27px}.cad-tree-building{padding-left:40px}.cad-tree-level{margin:0}.cad-tree-level>summary,.cad-tree-group>summary{list-style:none;display:flex;align-items:center;cursor:pointer;color:#405458;font-size:var(--font-ui-xs)}.cad-tree-level>summary::-webkit-details-marker,.cad-tree-group>summary::-webkit-details-marker{display:none}.cad-tree-level>summary:before,.cad-tree-group>summary:before{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg);margin-right:7px}.cad-tree-level[open]>summary:before,.cad-tree-group[open]>summary:before{transform:rotate(45deg)}.cad-tree-level-summary{height:26px;padding:0 10px 0 52px;font-weight:650}.cad-tree-level-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-tree-level-summary small{margin-left:auto;color:#849295;font-size:var(--font-ui-2xs);font-weight:400}.cad-tree-level-actions{display:flex;gap:4px;padding:3px 10px 4px 66px}.cad-tree-level-actions .tool-button,.cad-tree-create .tool-button{height:25px;padding:0 7px;font-size:var(--font-ui-xs)}.cad-tree-level-actions .active{background:#d9e9e9;color:#315b63}.cad-tree-level-edit{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px 10px 5px 66px}.cad-tree-level-edit label:first-child{grid-column:1/3}.cad-tree-level-edit span{display:block;margin-bottom:2px;color:#758689;font-size:var(--font-ui-2xs)}.cad-tree-level-edit input{box-sizing:border-box;width:100%;height:24px;border:1px solid #cad5d4;padding:2px 5px;color:#33484c;font-size:var(--font-ui-xs)}.cad-tree-group>summary{height:23px;padding-left:66px}.cad-tree-object{display:block;width:100%;height:23px;padding:0 12px 0 88px;border:0;background:transparent;color:#5d7073;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-ui-xs)}.cad-tree-object:hover{background:#e9f1f0;color:#263f44}.cad-tree-object:disabled{color:#76878a;opacity:1}.cad-tree-create{padding:6px 10px 0 52px}.cad-tree-reference{display:grid;grid-template-columns:1fr 112px;align-items:center;gap:8px;padding:4px 10px 5px 52px;color:#65777a;font-size:var(--font-ui-xs)}.cad-tree-reference select{width:100%;height:25px;border:1px solid #cad5d4;background:#fff;color:#33484c;padding:2px 5px;font-size:var(--font-ui-xs)}.cad-level-reference{fill:none;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:6 4}.cad-level-reference-below{stroke:#6f9bb0;opacity:.52}.cad-level-reference-above{stroke:#b48b72;opacity:.48}.cad-geometry-panel .cad-edit-params{padding-top:7px}.cad-auto-grid-axis .cad-grid-axis-line{transition:opacity .12s,stroke-width .12s}.cad-auto-grid-axis:hover .cad-grid-axis-exterior,.cad-auto-grid-axis:hover .cad-grid-axis-link{opacity:1!important;stroke-width:1.25!important}.cad-auto-grid-axis.is-selected .cad-grid-axis-exterior,.cad-auto-grid-axis.is-selected .cad-grid-axis-link{opacity:1!important;stroke-width:1.5!important}.cad-auto-grid-axis:hover .cad-grid-axis-interior{opacity:.58!important;stroke-width:1!important}.cad-auto-grid-axis.is-selected .cad-grid-axis-interior{opacity:.72!important;stroke-width:1!important}.cad-symbol-hit{fill:transparent!important;stroke:transparent!important;pointer-events:all}.cad-furniture .symbol-line,.cad-furniture .symbol-detail,.cad-furniture .symbol-pattern,.cad-furniture .symbol-grass{fill:none;stroke:#53686a;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.cad-furniture .symbol-fill{fill:#f4f6f3;stroke:#6a7c7d}.cad-furniture .symbol-wood{fill:#e6d4b7;stroke:#9d7a53}.cad-furniture .symbol-deck,.cad-furniture .symbol-timber{fill:#bd9061;stroke:#765738}.cad-furniture .symbol-tile,.cad-furniture .symbol-stone{fill:#ece9e1;stroke:#9aa09d}.cad-furniture .symbol-lawn{fill:#a9c98e;stroke:#618457}.cad-furniture .symbol-gravel{fill:#d9d5c8;stroke:#999486}.cad-furniture .symbol-rug,.cad-furniture .symbol-soft,.cad-furniture .symbol-seat,.cad-furniture .symbol-pillow{fill:#ded8ca;stroke:#8c877d}.cad-furniture .symbol-dark,.cad-furniture .symbol-appliance{fill:#aeb7b8;stroke:#526164}.cad-furniture .symbol-glass{fill:#cbe6e7aa;stroke:#5b9ba2}.cad-furniture .symbol-burner{fill:#344146;stroke:#182326}.cad-furniture .symbol-tree{fill:#77a25e;stroke:#416c3d}.cad-furniture .symbol-shrub,.cad-furniture .symbol-foliage{fill:#8fb772;stroke:#527a46}.cad-furniture .symbol-trunk{fill:#76563d;stroke:#503824}.cad-furniture .symbol-flower{fill:#d88a9e;stroke:#8f5363}.cad-furniture .symbol-pebble{fill:#aaa697;stroke:none}.cad-furniture .symbol-umbrella{fill:#f2ead9;stroke:#817767}.cad-furniture .symbol-north{fill:#26383c;stroke:none}.cad-furniture .symbol-north-label{font-size:var(--font-drawing-text);font-weight:700;fill:#26383c;stroke:none;pointer-events:none}.cad-symbol-surface{opacity:.88}.cad-furniture.is-selected .symbol-line,.cad-furniture.is-selected .symbol-detail,.cad-furniture.is-selected .symbol-pattern,.cad-furniture.is-selected .symbol-fill,.cad-furniture.is-selected .symbol-wood,.cad-furniture.is-selected .symbol-deck,.cad-furniture.is-selected .symbol-tile,.cad-furniture.is-selected .symbol-lawn,.cad-furniture.is-selected .symbol-gravel,.cad-furniture.is-selected .symbol-rug,.cad-furniture.is-selected .symbol-tree,.cad-furniture.is-selected .symbol-shrub{stroke:#e66c1e}.cad-command-icon{--cad-icon-accent:#008aff;--cad-icon-ink:#20292e;aspect-ratio:1;flex-shrink:0;overflow:visible;pointer-events:none}.cad-command-icon path{stroke:none!important}.tool-button.active .cad-command-icon,.side-tool.active .cad-command-icon,.cad-category-button.active .cad-command-icon,.workflow-icon.active .cad-command-icon,.ortho-toggle:has(input:checked) .cad-command-icon{--cad-icon-accent:#168fff;--cad-icon-ink:#20292e}.toolbar-selection .tool-button.active .cad-command-icon{--cad-icon-ink:#fff;--cad-icon-accent:#269aff}.cad-wall-draw-preview{fill:#1aa8b528;stroke:#168e9a;stroke-width:1}.cad-wall-baseline-preview{stroke:#e06a2d;stroke-width:1;stroke-dasharray:6 3}.cad-arc-draw-preview{fill:none;stroke:#168e9a;stroke-width:1.5}.cad-draft-line.invalid{stroke:#c94d3d}.material-swatch.active{outline:2px solid #168b9a;outline-offset:1px}.export-summary{border:1px solid #d4dfde;background:#f2f6f5;padding:7px;color:#536b6f}.roof-section-editor{margin-top:8px}.roof-plan-editor{display:block;width:100%;height:180px;border:1px solid var(--plan-shell-border,#cbd7d6);background:var(--plan-canvas-bg,#f7faf9);touch-action:none}.roof-plan-boundary{fill:#b6d5d733;stroke:#65a9b1;stroke-width:.045;vector-effect:non-scaling-stroke}.roof-plan-context{opacity:.34}.roof-plan-selected{opacity:1}.roof-plan-line{fill:none;stroke-width:.035;vector-effect:non-scaling-stroke}.roof-plan-line.eave{stroke:#8aa2aa}.roof-plan-line.ridge{stroke:#35bdd0;stroke-width:.065}.roof-plan-line.hip{stroke:#6faab2}.roof-plan-line.valley{stroke:#dc8b52;stroke-dasharray:.12 .08}.roof-plan-slope{stroke:#35bdd0;stroke-width:.04;vector-effect:non-scaling-stroke}.roof-plan-grip{fill:var(--plan-shell-raised,#fff);stroke:#35bdd0;stroke-width:.045;vector-effect:non-scaling-stroke;cursor:move}.roof-plan-grip:hover,.roof-plan-grip:focus{fill:#77cbd2;outline:none}.cad-canvas-wrap.is-grid-hidden{background-image:none}.cad-left{position:relative;overflow:visible;z-index:31}.cad-level-switcher-wrap{display:none;align-items:center;flex:none;gap:5px;height:100%;min-width:0;padding:0 10px;border-right:1px solid var(--ui-line);white-space:nowrap;color:var(--ui-muted);letter-spacing:0}.app-mode-cad .cad-level-switcher-wrap{display:flex}.cad-level-switcher-wrap>span{font-size:11px;color:var(--ui-muted)}.cad-level-switcher-wrap select{height:26px;min-width:112px;max-width:152px;border:1px solid var(--ui-line);border-radius:3px;background:var(--ui-control);color:var(--ui-ink);padding:1px 5px;font-size:11px;line-height:24px}.cad-level-switcher-wrap select:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}body.app-mode-cad .cad-status{display:none!important}body.app-mode-cad .cad-shell{grid-template-rows:var(--toolbar-height) minmax(0,1fr)}@media (max-width:850px){.right-panel-collapsed .cad-shell{grid-template-columns:var(--left-width) minmax(0,1fr)}}.cad-document-row{display:none;min-width:0;height:100%;align-items:center;background:#e7eeed}.app-mode-cad .cad-toolbar>.toolbar-selection,.app-mode-cad .cad-toolbar>.toolbar-actions,.app-mode-cad .cad-toolbar>.toolbar-preview{display:none}.app-mode-cad .cad-document-row{display:flex;grid-column:1/-1}.cad-document-tabs{display:flex;align-items:stretch;min-width:0;max-width:calc(100% - 38px);height:100%;overflow-x:auto;scrollbar-width:thin}.cad-document-tab{display:flex;align-items:stretch;flex:none;max-width:230px;min-width:120px;border-right:1px solid #c0cecc;border-top:2px solid transparent}.cad-document-tab.active{background:#fff;border-top-color:#1598a8}.cad-document-tab button{border:0;background:transparent;color:#52676a;cursor:pointer}.cad-document-tab [role=tab]{min-width:0;flex:1;padding:0 12px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-document-tab.active [role=tab]{color:#176f78;font-weight:600}.cad-document-tab .cad-document-close{width:24px;padding:0;font-size:16px;flex:none}.cad-document-tab button:hover,.cad-document-add:hover{background:#dbe7e5}.cad-document-add{display:grid;place-items:center;flex:none;width:34px;height:30px;border:0;background:transparent;color:#52676a;cursor:pointer}.cad-document-add svg{width:24px;height:24px}.cad-document-row button:focus-visible{outline:2px solid #1598a8;outline-offset:-2px}.cad-logo-menu{position:relative;height:100%;min-width:0;z-index:100}.cad-logo-menu>.brand{width:100%;padding:0;border-top:0;border-bottom:0;border-left:0;background:transparent;color:inherit;cursor:pointer}.cad-logo-menu>.brand:hover,.cad-logo-menu>.brand[aria-expanded=true]{background:#ffffff12}.cad-logo-menu>.brand:focus-visible{outline:2px solid #83d7da;outline-offset:-3px}.cad-logo-panel{position:absolute;top:100%;left:0;width:216px;max-height:calc(100vh - 48px);overflow:auto;padding:5px;background:#fff;border:1px solid #b9c8c7;box-shadow:0 9px 22px #1b32362b;color:#344b4f;letter-spacing:normal}.cad-logo-panel[hidden]{display:none}.cad-logo-panel .cad-toolbar-menu-list{position:static;width:auto;padding:2px;border:0;box-shadow:none;background:transparent}.cad-logo-panel .cad-logo-section-title{padding:5px 10px;color:#7a8b8e;font-size:10px}.cad-logo-panel section+section,.cad-logo-panel .cad-logo-edit-actions{border-top:1px solid #e0e7e6;margin-top:3px;padding-top:3px}.cad-logo-panel .tool-button{display:flex;align-items:center;position:relative}.cad-left [data-side=cad]{height:100%;padding:0!important}.cad-category-rail{height:100%;display:flex;flex-direction:column;align-items:stretch;padding:5px 6px;background:#f8faf9}.cad-category-button{position:relative;width:60px;height:58px;border:0;background:transparent;color:#51676a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:3px;font-size:10px;line-height:1;border-radius:3px}.cad-category-button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cad-category-button:hover{background:#e5eded;color:#263f43}.cad-category-button.active{background:#dcebed;color:#176f78}.cad-category-button.active:before{content:"";position:absolute;left:-6px;top:8px;bottom:8px;width:2px;background:#21a6b2}.cad-category-button:focus-visible,.cad-tool-close:focus-visible,.cad-toolbar-menu summary:focus-visible{outline:2px solid #21a6b2;outline-offset:1px}.cad-tool-drawer{position:absolute;z-index:4;left:var(--left-width);top:0;width:274px;max-height:calc(100vh - var(--nav-height) - var(--toolbar-height) - 25px);overflow:auto;background:#f8faf9;border-right:1px solid #afbfbd;box-shadow:8px 0 18px #20363822;transform:translate(-8px);opacity:0;visibility:hidden;transition:transform .13s ease,opacity .11s ease}.cad-tool-drawer.open{transform:translate(0);opacity:1;visibility:visible}.cad-tool-drawer-head{position:sticky;top:0;z-index:2;height:40px;padding:0 8px 0 12px;background:#edf3f2;border-bottom:1px solid #ccd7d5;display:flex;align-items:center;gap:7px}.cad-tool-drawer-head strong{font-size:13px;font-weight:650;color:#2c4548}.cad-tool-count{font:10px Bahnschrift,Segoe UI;color:#81918f}.cad-tool-close{margin-left:auto;width:26px;height:26px;border:0;background:transparent;color:#718482;font-size:18px;line-height:1;border-radius:2px}.cad-tool-close:hover{background:#dce7e5;color:#243d40}.cad-tool-panel{display:none;padding:9px}.cad-tool-panel.active{display:block}.cad-tool-grid{display:grid;grid-template-columns:repeat(4,60px);gap:5px;align-content:start}.cad-left .cad-tool-drawer .cad-tool-item{box-sizing:border-box;width:60px;height:64px;min-width:0;margin:0;padding:5px 2px 4px;border:1px solid transparent;border-radius:3px;background:transparent;color:#41585b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;overflow:hidden}.cad-left .cad-tool-drawer .cad-tool-item b,.cad-left .cad-tool-drawer .cad-tool-item strong{display:grid;place-items:center;width:32px;height:32px;min-height:32px;color:#3e5a5e;background:transparent}.cad-left .cad-tool-drawer .cad-tool-item svg{width:32px;height:32px;display:block}.cad-tool-item-label{display:block;width:100%;height:14px;flex:0 0 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:10px;line-height:14px;color:#53696b;font-weight:400}.cad-left .cad-tool-drawer .cad-tool-item b,.cad-left .cad-tool-drawer .cad-tool-item strong{flex:0 0 32px;padding:0;margin:0}.cad-left .cad-tool-drawer .cad-tool-item:hover{background:#e4eded;border-color:#b5c9c8;transform:none}.cad-left .cad-tool-drawer .cad-tool-item.active{background:#d6e9eb;border-color:#65aab0}.cad-left .cad-tool-drawer .cad-tool-item.active .cad-tool-item-label{color:#176c74}.cad-toolbar-menu{position:relative;height:28px;flex:none}.app-mode-cad .cad-toolbar{position:relative;z-index:40;overflow:visible}.app-mode-cad .toolbar-actions{overflow:visible;min-width:0}.cad-toolbar-menu summary{list-style:none;height:28px;min-width:55px;padding:0 7px;border:1px solid transparent;border-radius:2px;display:flex;align-items:center;gap:5px;color:#43565a;font-size:11px;cursor:pointer;user-select:none}.cad-toolbar-menu summary::-webkit-details-marker{display:none}.cad-toolbar-menu summary:hover,.cad-toolbar-menu[open] summary{background:#fff;border-color:#c7d1d1}.cad-toolbar-menu summary svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cad-toolbar-menu-list{position:absolute;z-index:80;top:31px;left:0;width:184px;padding:5px;background:#fff;border:1px solid #b9c8c7;box-shadow:0 9px 22px #1b32362b}.cad-toolbar-menu-list .tool-button{width:100%!important;height:30px!important;justify-content:flex-start!important;padding:0 8px!important;gap:8px!important;font-size:11px!important;color:#344b4f;background:transparent;border:0;text-align:left}.cad-toolbar-menu-list .tool-button:hover{background:#e8f0ef}.cad-toolbar-menu-list .tool-button svg{width:16px;height:16px;flex:none}.cad-toolbar-menu-list .file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.cad-toolbar-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-toolbar .group:empty{display:none}.cad-toolbar .toolbar-preview{justify-content:flex-end;padding:0 7px;gap:3px;background:#e7eeed}.app-mode-cad .cad-toolbar{grid-template-columns:var(--left-width) minmax(0,1fr) max-content}.cad-mode-status{box-sizing:border-box!important;width:auto!important;min-width:58px!important;height:26px!important;padding:0 6px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;border:1px solid transparent!important;border-radius:2px!important;background:transparent!important;color:#52676a!important;font-size:10px!important;line-height:1!important}.cad-mode-status input{display:none!important}.cad-mode-status .cad-command-icon{display:block!important;width:24px!important;height:24px!important;flex:0 0 24px}.cad-mode-status:hover{background:#fff!important;border-color:#c6d2d0!important}.cad-mode-status.active{background:#d9eaeb!important;border-color:#9dc2c5!important;color:#185f67!important}.cad-mode-name{white-space:nowrap}.cad-mode-value{min-width:14px;text-align:center;font:9px Bahnschrift,Segoe UI;color:#879593}.cad-mode-status.active .cad-mode-value{color:#14808a;font-weight:700}.cad-drafting-bar{height:38px;gap:0;overflow:hidden}.cad-canvas-wrap{bottom:38px}.cad-command-context{display:flex;align-items:center;gap:10px;flex:0 1 370px;min-width:210px;height:100%;padding:0 12px;border-right:1px solid var(--ui-line);overflow:hidden;font:12px/1.2 Microsoft YaHei,sans-serif;white-space:nowrap}.cad-command-current,.cad-command-next{display:flex;align-items:center;min-width:0;gap:3px;overflow:hidden;text-overflow:ellipsis}.cad-command-current{flex:none}.cad-command-current>b,.cad-command-next>b{font-weight:600;color:var(--ui-muted)}.cad-command-current>span{max-width:72px;overflow:hidden;color:var(--ui-accent);font-weight:650;text-overflow:ellipsis}.cad-command-next{flex:1;color:var(--ui-muted)}.cad-command-prompt{min-width:0;max-width:none;padding:0;border:0;overflow:hidden;color:inherit;font:inherit;text-overflow:ellipsis;white-space:nowrap}.cad-drafting-bar>input{flex:1 1 250px;min-width:140px;max-width:360px;height:30px;margin:3px 8px;padding:0 10px;border:1px solid var(--ui-line);border-radius:3px;background:var(--ui-control);font:12px Consolas,Microsoft YaHei,monospace}.cad-drafting-bar>input:focus{border-color:var(--ui-accent);box-shadow:0 0 0 1px var(--ui-accent)}body.product-workspace .cad-shell #cad-command:focus,body.product-workspace .cad-shell #cad-command:focus-visible{outline:none;outline-width:0;border-color:var(--ui-line);box-shadow:none}.cad-drafting-metrics{display:flex;align-items:center;flex:none;height:100%;border-left:1px solid var(--ui-line);font:11px Bahnschrift,Consolas,monospace;color:var(--ui-muted);white-space:nowrap}.cad-drafting-metrics>span{display:flex;align-items:center;height:100%;padding:0 10px;border-right:1px solid var(--ui-line)}.cad-coordinate-readout{min-width:112px}.cad-zoom-readout{min-width:54px;justify-content:center;color:var(--ui-ink)}.cad-drafting-modes{display:flex;align-items:center;flex:none;gap:0;height:100%;padding:0 1px;border-left:1px solid var(--ui-line);background:var(--ui-panel)}.cad-drafting-modes .cad-mode-status{width:auto!important;min-width:62px!important;height:32px!important;padding:0 4px!important;justify-content:center!important;gap:2px!important;border:1px solid transparent!important;border-radius:3px}.cad-drafting-modes .cad-mode-status .cad-command-icon{display:none!important}.cad-drafting-modes .cad-mode-name,.cad-drafting-modes .cad-mode-value{display:inline}.cad-mode-shortcut{border:0;background:transparent;color:var(--ui-muted);font:9px Bahnschrift,Consolas,monospace}.cad-drafting-modes .cad-mode-status.active{background:var(--ui-selected)!important;border-color:transparent!important;color:var(--ui-accent)!important;box-shadow:inset 0 -2px var(--ui-accent)}.cad-drafting-modes .cad-view-fit{display:flex;align-items:center;justify-content:center;width:38px;min-width:38px;height:32px;padding:0 4px;margin-right:3px;border-right:1px solid var(--ui-line)}.cad-drafting-modes .cad-view-fit:after{display:none}.cad-drafting-modes .cad-view-fit .cad-command-icon{width:20px;height:20px}.cad-snap-settings-trigger{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;background:transparent;color:var(--ui-muted)}.cad-snap-settings-trigger .cad-command-icon{width:22px!important;height:22px!important}.cad-drafting-modes .cad-mode-status:focus-visible,.cad-drafting-modes .cad-snap-settings-trigger:focus-visible{outline:2px solid #21a6b2;outline-offset:-2px}@media (max-width:1180px){.cad-level-switcher-wrap>span{display:none}.cad-level-switcher-wrap select{min-width:96px;max-width:112px}.cad-command-next{display:none}.cad-command-context{flex-basis:150px;min-width:130px}.cad-drafting-bar>input{max-width:none}.cad-drafting-metrics .cad-coordinate-readout{display:none}}@media (max-width:850px){.cad-command-context{display:none}.cad-drafting-modes .cad-mode-status{min-width:48px!important}.cad-drafting-modes .cad-mode-status .cad-command-icon{display:none!important}.cad-mode-shortcut{display:none}.cad-drafting-modes .cad-view-fit{min-width:42px}.cad-drafting-modes .cad-view-fit:after{display:none}}@media (max-width:600px){.cad-drafting-metrics,.cad-drafting-modes .cad-mode-name{display:none}.cad-drafting-modes .cad-mode-status{min-width:30px!important}.cad-drafting-modes .cad-mode-value{font-size:10px}}.cad-inspector-tabs{position:sticky;top:0;z-index:5;height:35px;display:grid;grid-template-columns:repeat(4,1fr);background:#eef3f2;border-bottom:1px solid #c6d1d0}.cad-inspector-tabs button{position:relative;border:0;background:transparent;color:#687a7c;font-size:11px}.cad-inspector-tabs button:hover{background:#e3eceb;color:#344d50}.cad-inspector-tabs button.active{background:#f8faf9;color:#176f78;font-weight:650}.cad-inspector-tabs button.active:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:#21a6b2}.cad-inspector-tabs button:focus-visible{outline:2px solid #21a6b2;outline-offset:-2px}.cad-roof-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px 16px}.cad-roof-actions :is(button,select){min-width:0;height:32px;border:1px solid var(--plan-shell-border);border-radius:4px;background:var(--plan-shell-control);color:inherit}.cad-roof-canvas{padding:8px 16px}.cad-roof-panel .roof-plan-editor{height:210px}.cad-roof-panel .property-info{line-height:1.6}.cad-right [data-side=cad]{height:100%;padding:0;overflow:hidden}.cad-right-tab-view{display:none;height:calc(100% - 35px);overflow:auto;background:#f8faf9}.cad-right-tab-view.active{display:block}.cad-property-empty{margin:14px;padding:14px 12px;border:1px dashed #becdcb;background:#f2f6f5;color:#6d7f7f;display:flex;flex-direction:column;gap:6px}.cad-property-empty strong{font-size:12px;color:#3e5558}.cad-property-empty span{font-size:10px;line-height:1.55}.cad-right-tab-view .inspector-title{padding:13px 14px 9px;font-size:13px}.cad-right-tab-view .cad-geometry-panel{margin-top:8px;border-top:1px solid #dce4e3}.cad-right-tab-view[data-right-view=layers] .cad-layer-panel,.cad-right-tab-view[data-right-view=project] .cad-block-panel{border-bottom:0}.workspace-mode-switch{height:28px;display:inline-grid;grid-template-columns:repeat(2,44px);align-items:stretch;margin-right:7px;padding:2px;background:#d7e0df;border:1px solid #becbca;border-radius:3px;flex:none}.cad-toolbar .workspace-mode-switch button{min-width:0;width:auto;height:22px;padding:0;border:0;border-radius:2px;background:transparent;color:#607376;font-size:10px;line-height:1}.cad-toolbar .workspace-mode-switch button:hover{color:#29494e;background:#ffffff80}.cad-toolbar .workspace-mode-switch button.active{background:#fff;color:#176f78;box-shadow:0 1px 2px #23383c24;font-weight:650}.cad-toolbar .workspace-mode-switch button:focus-visible{outline:2px solid #21a6b2;outline-offset:0}.workflow-nav,.review-filter-nav{height:100%;display:flex;flex-direction:column;gap:2px;padding:7px 6px;background:#f8faf9}.workflow-nav button,.review-filter-nav button{position:relative;min-height:38px;border:0;border-radius:2px;background:transparent;color:#587074;font-size:10px;text-align:left;padding:0 8px}.workflow-nav button:hover,.review-filter-nav button:hover{background:#e5eded;color:#28464a}.workflow-nav button.active,.review-filter-nav button.active{background:#dcebed;color:#176f78;font-weight:650}.workflow-nav button.active:before,.review-filter-nav button.active:before{content:"";position:absolute;left:-6px;top:7px;bottom:7px;width:2px;background:#21a6b2}.review-filter-nav button{display:flex;align-items:center;justify-content:space-between;gap:4px}.review-filter-nav b{min-width:20px;height:18px;display:grid;place-items:center;border-radius:9px;background:#e1e8e7;color:#6c7e80;font:9px Bahnschrift,Segoe UI}.review-filter-nav button.active b{background:#fff;color:#176f78}.app-mode-review .review-workbench{display:flex;flex-direction:column;min-height:0;overflow:hidden}.review-panel-head{flex:none;border-bottom:1px solid #d9e2e1;background:#f8faf9}.review-panel-head h2{border:0!important;padding-bottom:4px!important}.review-panel-head p{margin:0;padding:0 14px 10px;color:#718285;font-size:10px;line-height:1.45}.review-issues{flex:0 1 38%;min-height:112px;overflow:auto;padding:7px;border-bottom:1px solid #d9e2e1;background:#eef3f2}.review-issue{position:relative;width:100%;min-height:62px;margin:0 0 5px;padding:7px 8px 7px 11px;border:1px solid #cbd6d5;border-radius:2px;background:#fff;color:#314a4e;text-align:left;display:flex;flex-direction:column;gap:3px}.review-issue:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#718287}.review-issue[data-severity=P0]:before{background:#b53f37}.review-issue[data-severity=P1]:before{background:#d47728}.review-issue[data-severity=P2]:before{background:#d1a122}.review-issue[data-severity=P3]:before{background:#5d8990}.review-issue:hover,.review-issue.active{border-color:#6fa8ad;background:#f7fbfa}.review-issue.handled{opacity:.5}.review-issue.handled strong{text-decoration:line-through}.review-issue-code{font:9px Bahnschrift,Segoe UI;color:#748487}.review-issue strong{font-size:11px}.review-issue small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f8082;font-size:9px}.review-empty{padding:20px 8px;text-align:center;color:#7b8c8e;font-size:10px;line-height:1.6}.review-detail{flex:1;min-height:0;overflow:auto;padding:11px 12px;background:#fff}.review-detail[hidden]{display:none}.review-detail-title{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px}.review-detail-title>span{min-width:28px;padding:3px 5px;border-radius:2px;background:#dfe8e7;color:#425c60;text-align:center;font:10px Bahnschrift}.review-detail-title>span[data-severity=P0]{background:#f6dedc;color:#94342f}.review-detail-title>span[data-severity=P1]{background:#fae5d3;color:#a2551b}.review-detail-title strong{font-size:12px;line-height:1.45}.review-detail dl{margin:10px 0}.review-detail dl>div{padding:7px 0;border-top:1px solid #e3e8e7}.review-detail dt{margin-bottom:3px;color:#7b8b8d;font-size:9px}.review-detail dd{margin:0;color:#405659;font-size:10px;line-height:1.55}.review-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.review-detail-actions .workflow-wide{margin:0}.review-detail-actions .workflow-wide.active{background:#dcebea;border-color:#9bbdbc;color:#176f78}.review-boundary{flex:none;margin:0;padding:8px 12px;border-top:1px solid #dce4e3;background:#f5f8f7;color:#7a898b;font-size:9px;line-height:1.45}#render-shot,#plot-refresh,#plot-export,#plot-print{display:none}@media (max-width:850px){.cad-tool-drawer{left:var(--left-width);width:226px}.cad-tool-grid{grid-template-columns:repeat(4,47px)}.cad-left .cad-tool-drawer .cad-tool-item{width:47px}.cad-toolbar-menu summary{min-width:28px;padding:0 5px}.cad-toolbar-menu summary span{display:none}}@media (prefers-reduced-motion:reduce){.cad-tool-drawer{transition:none}}.cad-toolbar .tool-button .cad-command-icon{width:24px;height:24px}.env-workflow-left .workflow-icon{width:100%;min-width:0;height:60px;padding:5px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;line-height:14px}.env-nav-icon{display:flex;width:28px;height:28px;flex:none}.env-nav-label{white-space:nowrap}.env-workflow-left .workflow-icon .cad-command-icon{width:28px;height:28px}.right-panel-toggle .cad-command-icon{width:32px;height:32px}[data-action-icon]{display:inline-flex;align-items:center;justify-content:center;gap:6px}[data-action-icon]>.cad-command-icon{width:24px;height:24px;flex-shrink:0}.workflow-nav button[data-action-icon]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:64px;padding:6px 2px}.workflow-nav [data-action-icon]>.cad-command-icon{width:28px;height:28px}[data-action-icon]:disabled>.cad-command-icon{opacity:.45}.workflow-toolbar .tool-button.active .cad-command-icon{--cad-icon-ink:#fff;--cad-icon-accent:#269aff}.three-view-state{min-width:88px;color:var(--ui-muted);font-size:10px;text-align:center;white-space:nowrap}.env-panel .views button.active .cad-command-icon,.schedule-tools .primary .cad-command-icon,.workflow-toolbar .primary .cad-command-icon,.workflow-wide.primary .cad-command-icon{--cad-icon-ink:#fff}.schedule-body{grid-template-columns:144px minmax(0,1fr)}.schedule-index{min-width:0;padding:7px 6px}.schedule-index h2{margin:0 0 8px;text-align:center;letter-spacing:0;font-size:10px}.schedule-index button[data-action-icon]{display:flex;align-items:center;justify-content:flex-start;gap:6px;height:40px;padding:6px;font-size:11px;line-height:14px;text-align:left;white-space:nowrap}.schedule-index button[data-action-icon]>.cad-command-icon{width:28px;height:28px}.schedule-foot .schedule-note{margin:4px 0 0;padding:0;border:0}.app-mode-env .env-workflow-left{grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px}.review-filter-nav button{padding:0 2px}.env-panel button[data-action-icon]{gap:4px}.auth-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:auto;padding:32px;background:#f3f6f4 var(--auth-blueprint-image) center/cover no-repeat;color:#1d3035;opacity:1;transition:opacity .16s ease}.auth-gate.is-checking{opacity:0;pointer-events:auto}.auth-gate.is-leaving{opacity:0;pointer-events:none}.auth-gate.is-checking .auth-card{opacity:.72;pointer-events:none}.auth-card{width:min(556px,calc(100vw - 32px));padding:48px 54px 36px;border:1px solid #e0e9e7;border-radius:14px;background:#fffffff2;box-shadow:0 18px 48px #29444b18;backdrop-filter:blur(2px)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px;color:#1d3035;font-size:22px;font-weight:650;letter-spacing:.14em}.auth-brand img{width:42px;height:42px;display:block;object-fit:contain}.auth-card h1{margin:0;color:#1d3035;font-size:32px;line-height:1.2;font-weight:650;letter-spacing:.02em}.auth-card>p:not(.auth-switch):not(.auth-message){margin:10px 0 30px;color:#718184;font-size:15px;letter-spacing:.04em}.auth-field{margin:0 0 15px}.auth-field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-field input{width:100%;height:56px;padding:0 16px;border:1px solid #cedbd9;border-radius:8px;background:#fff;color:#1d3035;font-size:15px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.auth-field input::placeholder{color:#849396}.auth-field input:hover{border-color:#9eb9b8}.auth-field input:focus{border-color:#21a6b2;box-shadow:0 0 0 3px #21a6b21f}.auth-password-control{position:relative}.auth-password-control input{padding-right:68px}.auth-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);height:32px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:#5e7d80;font-size:12px}.auth-password-toggle:hover{background:#edf5f4;color:#176f78}.auth-submit{width:100%;height:56px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:7px;border:0;border-radius:8px;background:#21a6b2;color:#fff;font-size:16px;font-weight:650;letter-spacing:.08em;transition:background .12s ease,transform .12s ease}.auth-submit:hover{background:#168e9a;transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.7;transform:none}.auth-submit>.cad-command-icon{width:18px;height:18px;--cad-icon-ink:#fff;--cad-icon-accent:#fff}.auth-forgot{display:block;margin:16px 0 23px;text-align:center;color:#21a6b2;font-size:13px;text-decoration:none}.auth-forgot:hover{text-decoration:underline}.auth-message{min-height:20px;margin:0 0 12px;color:#718184;font-size:13px;line-height:1.5;text-align:center}.auth-message[data-state=error]{color:#a64f38}.auth-message[data-state=success]{color:#157875}.auth-message[data-state=loading]{color:#6f8587}.auth-message[data-state=info]{color:#647b7d}.auth-switch{display:flex;justify-content:center;gap:5px;margin:0;padding-top:22px;border-top:1px solid #e3eae9;color:#7b8a8c;font-size:14px}.auth-switch button{padding:0;border:0;background:transparent;color:#168e9a;font:inherit;cursor:pointer}.auth-switch button:hover{text-decoration:underline}.auth-blueprint-copy{position:fixed;left:clamp(24px,7vw,110px);top:clamp(36px,10vh,104px);display:flex;flex-direction:column;gap:5px;color:#8fa3a4;font-size:12px;letter-spacing:.24em;line-height:1.45;pointer-events:none}.auth-blueprint-copy span:nth-child(3){margin-top:4px}.auth-blueprint-copy i{display:block;width:28px;height:1px;margin-top:10px;background:#21a6b2}.auth-account-menu{position:relative;display:flex;align-items:center;height:100%;margin-right:4px;letter-spacing:0}.auth-account-trigger{height:28px;display:flex;align-items:center;gap:6px;max-width:142px;padding:0 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:#c5d7d8;font-size:11px}.auth-account-trigger:hover,.auth-account-trigger[aria-expanded=true]{background:#ffffff12;border-color:#ffffff18}.auth-account-trigger:focus-visible{outline:2px solid #83d7da;outline-offset:1px}.auth-account-avatar{width:20px;height:20px;display:grid;place-items:center;flex:none;border-radius:50%;background:#21a6b2;color:#fff;font-size:10px;font-weight:700;letter-spacing:0}.auth-account-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-account-panel{position:absolute;z-index:90;top:calc(100% + 6px);right:0;width:190px;padding:12px;background:#fff;border:1px solid #b9c8c7;border-radius:4px;box-shadow:0 9px 22px #1b32362b;color:#344b4f}.auth-account-panel[hidden]{display:none}.auth-account-panel strong,.auth-account-panel small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-account-panel strong{font-size:12px}.auth-account-panel small{margin-top:4px;color:#819193;font-size:10px}.auth-account-panel button{width:100%;height:32px;display:flex;align-items:center;gap:7px;margin-top:11px;border:1px solid #d5e0df;border-radius:3px;background:#f7faf9;color:#476164;font-size:11px;text-align:left;padding:0 9px}.auth-account-panel button:hover{border-color:#9cb8b8;background:#eaf3f2;color:#176f78}.auth-account-panel button:disabled{cursor:wait;opacity:.65}.auth-account-panel button>.cad-command-icon{width:18px;height:18px;flex:0 0 18px;--cad-icon-ink:currentColor;--cad-icon-accent:#21a6b2}.auth-account-message{min-height:0;margin:7px 0 0;color:#a64f38;font-size:10px;line-height:1.45}.auth-account-message:empty{display:none}@media (max-width:700px){.auth-gate{align-items:start;padding:24px 16px}.auth-card{margin-top:8vh;padding:36px 24px 28px}.auth-blueprint-copy{display:none}.auth-card h1{font-size:28px}.auth-brand{margin-bottom:26px}}@media (prefers-reduced-motion:reduce){.auth-gate,.auth-submit,.auth-field input{transition:none}}.cad-property-dialog{width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid #b9c9ca;border-radius:8px;color:#24434b;background:#f6f9f8;box-shadow:0 16px 50px #102d3440}.cad-property-dialog::backdrop{background:#142a3038}.cad-property-dialog-heading{padding:15px 18px;font-weight:600;border-bottom:1px solid #d6e0df}.cad-property-dialog-body{max-height:calc(100vh - 190px);overflow:auto;scrollbar-width:none;padding:8px 16px}.cad-property-dialog-body::-webkit-scrollbar{display:none}.cad-property-dialog-body #cad-inspector{padding:0;overflow:visible}.cad-property-section{border-bottom:1px solid #d6e0df;padding:4px 0}.cad-property-section>summary{cursor:pointer;padding:10px 0;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between}.cad-property-section>summary:after{content:"\203a";font-size:20px;transform:rotate(0)}.cad-property-section[open]>summary:after{transform:rotate(90deg)}.cad-property-dialog .property-field{margin:7px 0;grid-template-columns:minmax(0,1fr) minmax(120px,1fr)}.cad-property-dialog .property-field input,.cad-property-dialog .property-field select{width:100%;min-width:0;box-sizing:border-box}.cad-property-dialog .cad-constraint-tools{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cad-property-dialog .cad-constraint-tools>span{grid-column:1/-1;font-size:11px;color:#587077}.cad-property-dialog .cad-constraint-tools>.property-field{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.cad-property-dialog .cad-constraint-tools>button:last-child{grid-column:1/-1}.cad-property-dialog .cad-constraint-tools>.property-field>button{grid-column:auto;width:100%}.cad-property-dialog .cad-constraint-list{grid-column:1/-1;display:grid;gap:5px;padding-top:4px;border-top:1px solid #d6e0df}.cad-property-dialog .cad-constraint-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;font-size:var(--font-ui-sm);color:#52676c}.cad-property-dialog .cad-constraint-row .tool-button{height:26px;white-space:nowrap}.cad-slab-opening-create,.cad-slab-opening-row{margin:9px 14px;padding:8px;border:1px solid #d4dfde;background:#fff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cad-slab-opening-field{display:grid;gap:3px;min-width:0;color:#65777a;font-size:var(--font-ui-sm)}.cad-slab-opening-field>span{font-size:var(--font-ui-sm)}.cad-slab-opening-field>input{box-sizing:border-box;width:100%;min-width:0;height:30px;border:1px solid #cad5d4;padding:4px 7px;color:#293d41;background:#fff}.cad-slab-opening-create>.tool-button,.cad-slab-opening-row>.tool-button{grid-column:1/-1;min-height:30px}.cad-slab-opening-row .cad-slab-opening-field:nth-child(2){grid-column:1/-1}.cad-property-dialog .cad-slab-opening-create,.cad-property-dialog .cad-slab-opening-row{margin:9px 0}.cad-tree-reference-note{margin:0;padding:0 12px 7px 52px;color:#7a898c;font-size:var(--font-ui-2xs);line-height:1.5}#cad-inspector button:has(.cad-command-icon){display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px}#cad-inspector button .cad-command-icon{width:24px;height:24px;flex:0 0 24px}.cad-property-dialog .danger-button{width:100%;margin:12px 0 4px}.cad-property-dialog-footer{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid #d6e0df}.cad-property-dialog-footer span{flex:1;font-size:12px;color:#587077}.cad-property-dialog-footer button{min-width:64px}.cad-property-dialog{font-size:var(--font-ui-md);line-height:1.5}.cad-property-dialog-heading{font-size:var(--font-ui-xl)}.cad-property-section>summary{font-size:var(--font-ui-lg)}.cad-property-section>summary:after{font-size:var(--font-ui-title-lg)}.cad-property-dialog .property-field,.cad-property-dialog .property-field>span,.cad-property-dialog input,.cad-property-dialog select,.cad-property-dialog #cad-inspector button,.cad-property-dialog button,.cad-property-dialog button span{font-size:var(--font-ui-md);line-height:1.5}.cad-property-dialog .property-info,.cad-property-dialog .cad-constraint-tools>span,.cad-property-dialog-footer>span{font-size:var(--font-ui-sm);line-height:1.6;color:#587077}.cad-snap-settings-trigger{border:0;background:transparent;color:#315c66;cursor:pointer;width:22px;height:28px;font-size:var(--font-ui-md)}.cad-snap-settings:not([open]){display:none}.cad-snap-settings[open]{position:fixed;bottom:auto;z-index:100;width:240px;margin:0;padding:10px 12px;border:1px solid #bfcdcb;border-radius:4px;box-shadow:0 6px 20px #17303926;background:#f6f9f8;font-size:var(--font-ui-md);display:grid;grid-template-columns:1fr 1fr;gap:4px}.cad-snap-settings[open]>summary{grid-column:1/-1;font-size:var(--font-ui-lg);font-weight:600;border-bottom:1px solid #d4dfde;margin-bottom:4px;padding:6px 0}.cad-snap-settings[open] label{padding:5px 0;gap:7px;cursor:pointer}.cad-context-menu{position:fixed;z-index:150;min-width:210px;padding:5px;border:1px solid #bdcdce;border-radius:4px;background:#f6f9f8;box-shadow:0 5px 18px #17303930;font-size:var(--font-ui-md);color:#294b55}.cad-context-menu button{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:4px 8px;border:0;border-radius:2px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.cad-context-menu button svg{width:22px;height:22px;flex-shrink:0}.cad-context-menu button kbd{margin-left:auto;padding-left:12px;font:inherit;color:#6b8187}.cad-context-menu button:hover,.cad-context-menu button:focus-visible{background:#dfedef;outline:1px solid #9fc9d0}.cad-context-menu button:disabled{opacity:.4;cursor:default;background:transparent;outline:0}#cad-svg .cad-furniture{--cad-plan-symbol-stroke:#52696d}#cad-svg .cad-furniture.is-selected{--cad-plan-symbol-stroke:#008aff}#cad-svg .cad-furniture :is(.symbol-fill,.symbol-wood,.symbol-deck,.symbol-timber,.symbol-tile,.symbol-stone,.symbol-lawn,.symbol-gravel,.symbol-rug,.symbol-soft,.symbol-seat,.symbol-pillow,.symbol-dark,.symbol-appliance,.symbol-glass,.symbol-burner,.symbol-tree,.symbol-shrub,.symbol-foliage,.symbol-trunk,.symbol-flower,.symbol-pebble,.symbol-umbrella,.symbol-canopy){fill:none;stroke:var(--cad-plan-symbol-stroke);stroke-width:1;vector-effect:non-scaling-stroke}#cad-svg .cad-wall.is-selected,#cad-svg .cad-slab.is-selected,#cad-svg .cad-opening.is-selected{stroke:#008aff;filter:none;stroke-width:1.5}#cad-svg .cad-furniture.is-selected :is(rect,.symbol-line,.symbol-detail,.symbol-pattern,.symbol-fill,.symbol-wood,.symbol-deck,.symbol-tile,.symbol-lawn,.symbol-gravel,.symbol-rug,.symbol-tree,.symbol-shrub,.cad-structure-detail,.cad-structure-arrow){stroke:#008aff}#cad-svg .cad-annotation.is-selected :is(.cad-annotation-line,.cad-extension-line,.cad-axis-bubble){stroke:#008aff}#cad-svg .cad-annotation.is-selected :is(.cad-annotation-label,.cad-symbol-label),#cad-svg .cad-annotation-text.is-selected{fill:#008aff}#cad-svg .cad-annotation.is-selected :is(.cad-elevation-marker,.cad-leader-arrow){fill:#008aff;stroke:#008aff}#cad-svg .cad-object-grip{fill:#008aff;stroke:#8dccff;stroke-width:1;vector-effect:non-scaling-stroke;cursor:move;pointer-events:all}#cad-svg .cad-rotation-handle{cursor:grab}#cad-svg .cad-rotation-handle:active{cursor:grabbing}#cad-svg .cad-rotation-glyph{fill:#087cff;opacity:.42;transition:opacity .1s ease}#cad-svg .cad-rotation-handle:hover .cad-rotation-glyph{opacity:1}#cad-svg .cad-rotation-hit{fill:none;stroke:transparent;stroke-width:16;vector-effect:non-scaling-stroke}#cad-svg .cad-selection-outline{fill:none;stroke:#008aff;stroke-width:1.5;vector-effect:non-scaling-stroke}#cad-svg .cad-vegetation-selection{display:none}#cad-svg .cad-door-swing.is-selected{stroke:#008aff;stroke-width:1.5}.cad-preselected:not(.cad-wall-hit):not(.cad-slab){filter:drop-shadow(0 0 2px #168ac5)}.cad-slab.cad-preselected{filter:none}.cad-delete-preview :is(path,line,rect,polygon,polyline,circle,ellipse){stroke:#d44735!important}.cad-snap-settings[open]{width:min(400px,calc(100vw - 24px));max-height:calc(100vh - 16px);overflow:auto;box-sizing:border-box;gap:8px 12px}.cad-snap-status,.cad-snap-scope{grid-column:1/-1;margin:0;line-height:1.5;font-size:var(--font-ui-sm)}.cad-snap-status{color:#176f78;padding:6px 8px;background:#e5f0ef;border-radius:3px}.cad-snap-scope{color:#5b7176;border-top:1px solid #d4dfde;padding-top:8px}.cad-snap-settings[open] .cad-snap-option{align-items:flex-start;margin:0}.cad-snap-option>input{flex:none;margin-top:4px}.cad-snap-option>span{display:flex;flex-direction:column;gap:3px}.cad-snap-option small{font-size:var(--font-ui-sm);color:#647a7e;line-height:1.45}.cad-snap-settings[open]{display:block}.cad-snap-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px}.cad-snap-section{grid-column:1/-1;margin:3px 0 0;font-weight:600;color:#31545d;font-size:var(--font-ui-sm)}.cad-snap-dialog{inset:0;margin:auto;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;padding:0;border:1px solid #b9c9cd;border-radius:6px;background:#f6f8f8;color:#294b55;box-shadow:0 12px 48px #122a3940;font:13px/1.5 Microsoft YaHei,sans-serif;overflow:auto}.cad-snap-dialog::backdrop{background:#172f3940}.cad-snap-dialog header,.cad-snap-dialog footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #cdd9dc}.cad-snap-dialog button{font:inherit;color:inherit;background:#fff;border:1px solid #becdd1;border-radius:3px;padding:4px 14px;cursor:pointer}.cad-snap-dialog header button{border:0;background:transparent;font-size:22px;padding:0 5px}.snap-tabs{display:flex;gap:2px;padding:12px 16px 0;border-bottom:1px solid #cad7da}.snap-tabs button{display:inline-block;padding:5px 12px;background:transparent;border:1px solid transparent;border-bottom:0;border-radius:3px 3px 0 0}.snap-tabs button[aria-selected=true]{background:#fff;border-color:#cad7da;color:#075f98}.cad-snap-dialog section{padding:12px 16px;display:grid;gap:12px}.cad-snap-dialog section[hidden]{display:none}.snap-switches{display:flex;flex-wrap:wrap;gap:10px 18px}.cad-snap-dialog label{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:13px;white-space:nowrap}.cad-snap-dialog input{margin:0;accent-color:#0078c8}.cad-snap-dialog fieldset{min-width:0;margin:0;padding:8px 10px;border:1px solid #cbd7db}.snap-mode-layout{display:flex;gap:14px;align-items:flex-start}.snap-modes{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}.snap-bulk{display:grid;gap:8px;padding-top:4px}.snap-marker{width:18px;text-align:center;font:18px/1 monospace}.cad-snap-dialog label:has(input:disabled){color:#839296;cursor:default}.snap-targets{display:flex;gap:24px}.cad-snap-dialog footer{justify-content:flex-end;gap:8px;border-top:1px solid #cdd9dc;border-bottom:0}.cad-snap-dialog [data-ok]{border-color:#0078c8;color:#0069a8}.cad-snap-dialog button:focus-visible{outline:2px solid #0078c8;outline-offset:2px}@media (max-width:480px){.snap-mode-layout{flex-direction:column}.snap-modes{width:100%}.snap-bulk{display:flex}.snap-switches{display:grid}}.cad-snap-dialog .snap-marker{display:inline-flex;width:24px;height:24px;flex:0 0 24px;align-items:center;justify-content:center;line-height:1}.cad-snap-dialog .snap-marker svg{display:block;width:24px;height:24px}.cad-snap-dialog label:has(input:disabled) .snap-marker{filter:grayscale(1);opacity:.45}.cad-snap-dialog label{gap:7px}.draft-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;align-items:center}.draft-setting-grid label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.draft-setting-grid label:has(input[type=checkbox]){display:flex}.draft-setting-grid label.wide{grid-column:1/-1}.draft-setting-grid input[type=number],.draft-setting-grid input:not([type]){min-width:0;width:100%;height:29px;padding:3px 7px;border:1px solid #bdcccf;background:#fff;color:#294b55}.draft-setting-grid em{font-style:normal;color:#6a7f84}.cad-import-report{width:min(480px,calc(100vw - 32px));padding:0;border:1px solid #c8d6dc;border-radius:8px;color:#18343d;background:#f9fcfc;box-shadow:0 18px 54px #102b3540}.cad-import-report::backdrop{background:#102b3548}.cad-import-report header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #d8e2e5;font-size:14px}.cad-import-report header button{border:0;background:transparent;font-size:18px}.cad-import-report-summary,.cad-import-report ul,.cad-import-report .workflow-note{margin:14px 18px}.cad-import-report ul{padding-left:22px;max-height:150px;overflow:auto;font-size:12px;line-height:1.8}.cad-import-report>.tool-button{display:block;margin:14px 18px 16px auto;min-width:72px}.cad-tracking-anchor{fill:none;stroke:#d48b00;stroke-width:1;pointer-events:none}.cad-tracking-guide{stroke:#d48b00;stroke-width:1;stroke-dasharray:6 4;pointer-events:none}.cad-directional-reference{stroke:#008aff;stroke-width:2;stroke-dasharray:5 4;pointer-events:none}body :is(.cad-category-rail,.workflow-nav,.review-filter-nav,.env-workflow-left,.schedule-index){padding:5px 6px;background:#f8faf9;gap:0}.cad-left .side-pane{padding:0}.app-mode-env .env-workflow-left{gap:0}body :is(.cad-category-button,.workflow-nav button,.review-filter-nav button,.env-workflow-left .workflow-icon,.schedule-index .schedule-filter){position:relative;box-sizing:border-box;flex-shrink:0;width:60px;height:58px;min-height:58px;margin:0;padding:3px;border:0;border-radius:3px;background:transparent;color:#51676a;font-size:10px;font-weight:400;line-height:1;gap:4px;cursor:pointer}body :is(.cad-category-button,.workflow-nav button,.review-filter-nav button,.env-workflow-left .workflow-icon,.schedule-index .schedule-filter):hover{background:#e5eded;color:#263f43}body :is(.cad-category-button,.workflow-nav button,.review-filter-nav button,.env-workflow-left .workflow-icon,.schedule-index .schedule-filter).active{background:#dcebed;color:#176f78;font-weight:400;border:0}body :is(.cad-category-button,.workflow-nav button,.review-filter-nav button,.env-workflow-left .workflow-icon,.schedule-index .schedule-filter).active:before{content:"";position:absolute;left:-6px;top:8px;bottom:8px;width:2px;background:#21a6b2}body :is(.cad-category-button,.workflow-nav button,.review-filter-nav button,.env-workflow-left .workflow-icon,.schedule-index .schedule-filter):focus-visible{outline:2px solid #21a6b2;outline-offset:1px}body .schedule-index .schedule-filter{width:100%;height:40px;min-height:40px;padding:6px;gap:6px;font-size:11px;line-height:14px}.cad-tree-isolation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:7px 0;padding:7px 8px;border:1px solid #75c7d0;background:#e9f8f9;color:#145765;font-size:12px}.cad-tree-isolation .tool-button{min-height:26px;padding:3px 8px}.cad-tree-object.is-isolated{background:#e5f7f9;color:#075b69;box-shadow:inset 2px 0 #17a3b5}.cad-left .three-workbench{height:100%;padding:0!important}.three-tool-body{padding:9px;overflow:auto}.three-tool-body h3{margin:4px 0 8px;font-size:11px;color:#40585c;font-weight:600}.three-tool-body section+section{margin-top:14px;padding-top:10px;border-top:1px solid #dce4e3}.three-tool-drawer .cad-tool-item:disabled{opacity:.45;cursor:default}#stage>canvas.is-placing-landscape{cursor:crosshair}.three-scenes>h3{margin:0 0 10px}.three-scenes .workflow-wide,.three-scene-action{display:flex;align-items:center;justify-content:center;gap:5px}.three-scenes button svg{width:24px;height:24px;flex:none}.three-scene-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;margin-top:10px;padding-top:8px;border-top:1px solid #dce4e3}.three-scene-row>[data-scene-load]{grid-column:1/-1;justify-content:flex-start;text-align:left;min-width:0}.three-scene-row>[data-scene-load]>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.three-scene-row input{min-width:0;width:100%;font-size:11px}.three-scene-action{padding:2px 4px;border:1px solid #c4d2d0;background:#f8faf9;color:#40585c;font-size:10px;cursor:pointer}.three-scene-action:focus-visible{outline:2px solid #21a6b2;outline-offset:1px}.three-objects input[type=search]{width:100%;box-sizing:border-box;margin-bottom:8px}.three-inspector-heading{margin:0;padding:13px 14px 9px;border-bottom:1px solid var(--ui-line);color:var(--ui-muted);font-size:11px;font-weight:600;letter-spacing:.04em}.three-selection-context{display:grid;gap:5px;min-height:88px;padding:12px 14px;border:0;border-bottom:1px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-ink)}.three-selection-context-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.three-selection-type{color:var(--ui-muted);font-size:10px}.three-selection-status{padding:2px 6px;border:1px solid var(--ui-line);border-radius:9px;background:var(--ui-panel);color:var(--ui-muted);font-size:10px;white-space:nowrap}.three-objects[data-selection-state=editable] .three-selection-status{border-color:var(--ui-accent);background:var(--ui-selected);color:var(--ui-accent-hover)}.three-selection-title{overflow:hidden;color:var(--ui-ink);font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.three-selection-level,.three-selection-summary{color:var(--ui-muted);font-size:11px}.three-selection-summary{margin:0;line-height:1.5}.three-object-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;padding:10px 14px;border-bottom:1px solid var(--ui-line)}.three-object-actions[hidden],.three-object-actions button[hidden]{display:none}.three-object-actions button,.three-object-row button{display:flex;align-items:center;gap:4px;font:inherit;font-size:11px;padding:5px;border:1px solid var(--border,#d9dfdf);border-radius:5px;background:transparent;color:inherit;cursor:pointer}.three-object-actions button{justify-content:center;min-width:0;height:31px;padding:3px 5px;border-color:var(--ui-line);border-radius:4px;background:var(--ui-control);color:var(--ui-ink);white-space:nowrap}.three-object-actions button:hover:not(:disabled){border-color:var(--ui-accent);background:var(--ui-hover)}.three-object-actions button.danger{border-color:color-mix(in srgb,var(--ui-error) 38%,var(--ui-line));background:var(--ui-danger-surface);color:var(--ui-error)}.three-object-actions button:active:not(:disabled){transform:translateY(1px)}.three-object-actions svg,.three-object-row svg{width:20px;height:20px;flex-shrink:0}.three-objects>:is(.three-wall-properties,.three-opening-properties,.three-slab-properties,.three-structure-properties,.three-object-material){padding:11px 14px;border-bottom:1px solid var(--ui-line)}.three-object-tree{margin:0;padding:4px 14px 10px;border-top:0}.three-object-tree>summary{display:flex;align-items:center;gap:8px;padding:9px 0;cursor:pointer;list-style:none;color:#40575b}.three-object-tree>summary::-webkit-details-marker{display:none}.three-object-tree>summary:before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}.three-object-tree[open]>summary:before{transform:rotate(45deg)}.three-object-count{margin-left:auto;color:#7a898c;font-weight:400}.three-object-tree-body{padding-bottom:3px}.three-object-list{max-height:280px;overflow:auto}.three-object-list summary{padding:8px 0;cursor:pointer;font-weight:600}.three-object-row{display:flex;gap:4px;padding:3px;border-radius:5px}.three-object-row.selected{background:#1e8c9129}.three-object-row .three-object-name{flex:1;min-width:0;border-color:transparent;text-align:left}.three-object-label{display:flex;min-width:0;flex-direction:column;align-items:flex-start;overflow:hidden}.three-object-label strong,.three-object-label small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.three-object-label strong{font-weight:600}.three-object-label small{color:#748689;font-size:9px}.cad-furniture .symbol-stair-outline{fill:none}.cad-furniture :is(.symbol-stair-tread-overhead,.symbol-stair-outline-overhead){stroke-dasharray:4 3!important;opacity:.48}.cad-furniture .symbol-stair-cut{stroke-width:1.35!important;stroke-dasharray:none!important}.cad-furniture .symbol-stair-label{font-size:.28px;font-weight:700;fill:#176d74;stroke:none;pointer-events:none}.cad-furniture .symbol-stair-start{fill:#fff;stroke:#176d74;stroke-width:1.2}.three-object-filters{display:flex;gap:6px;margin-bottom:8px}.three-object-filters select{flex:1;min-width:0;width:0}.three-display-controls{margin-top:12px;padding-top:10px;border-top:1px solid #dce4e3}.cad-quickbar{display:none}body.app-mode-cad.right-panel-collapsed{--right-width:0px}.app-mode-cad .cad-quickbar{display:flex;position:absolute;left:8px;bottom:38px;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:max-content;max-width:calc(100% - 24px);min-width:0;padding:5px;background:#f7fafcf2;border:1px solid #b7c7d4;border-radius:7px;box-shadow:0 5px 18px #2b465a2e;transform:none;z-index:12;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.app-mode-cad .cad-center:has(.cad-quickbar) .plan-compass{bottom:76px}.app-mode-cad .cad-center:has(.cad-quickbar) .cad-toast{bottom:102px}.cad-quickbar-slots{display:flex;flex:0 0 auto;align-items:center;gap:3px}.cad-quickbar-slot{position:relative;display:grid;flex:0 0 57px;grid-template-columns:24px minmax(0,1fr);grid-template-rows:24px 13px;align-items:center;width:57px;height:44px;padding:3px 4px;border:1px solid #c3d0da;border-radius:3px;background:#fff;color:#344e62}.cad-quickbar-slot:hover{border-color:#69afe4;background:#edf6ff}.cad-quickbar-slot.active{border-color:#008aff;background:#e1efff;box-shadow:inset 0 0 0 1px #78bdff}.cad-quickbar-slot:focus-visible,.cad-quickbar-settings:focus-visible{outline:2px solid #008aff;outline-offset:1px}.cad-quickbar-slot:disabled{opacity:.42;cursor:default}.cad-quickbar-slot>kbd{grid-column:1;grid-row:1/3;align-self:start;justify-self:start;min-width:15px;padding:1px 3px;border:1px solid #3f657a;border-radius:2px;background:#315d72;color:#fff;font:600 10px/13px Bahnschrift,monospace;text-align:center}.cad-quickbar-artwork{grid-column:1/3;grid-row:1;display:grid;place-items:center;height:24px;padding-left:10px;pointer-events:none}.cad-quickbar-artwork>.cad-command-icon{width:23px;height:23px}.cad-quickbar-artwork>span{font-size:18px;color:#8798a5}.cad-quickbar-label{grid-column:1/3;grid-row:2;overflow:hidden;color:#3f586b;font-size:10px;line-height:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.cad-quickbar-slot.active .cad-quickbar-label{color:#006bd1}.cad-quickbar-settings{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;height:38px;min-width:62px;padding:0 8px;border:1px solid #c3d0da;border-radius:3px;background:#fff;color:#344e62;font-size:11px}.cad-quickbar-settings:hover{border-color:#69afe4;background:#edf6ff}.cad-quickbar-settings .cad-command-icon{width:19px;height:19px}.cad-quickbar-dialog{width:min(650px,calc(100vw - 28px));padding:0;border:1px solid #b7c7d4;border-radius:6px;background:#f8fafc;color:#263d50;box-shadow:0 18px 55px #13283855}.cad-quickbar-dialog::backdrop{background:#162b3a55}.cad-quickbar-dialog>header{display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 14px;border-bottom:1px solid #d3dde5;background:#edf3f8}.cad-quickbar-dialog>header strong{font-size:14px}.cad-quickbar-dialog>header button{border:0;background:transparent;color:#43596a;font-size:18px}.cad-quickbar-dialog>p{margin:12px 16px;color:#607485;font-size:12px;line-height:1.6}.cad-quickbar-settings-list{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;padding:0 16px 16px}.cad-quickbar-setting-row{display:grid;grid-template-columns:26px 30px minmax(0,1fr);align-items:center;gap:6px}.cad-quickbar-setting-row>kbd{display:grid;place-items:center;width:24px;height:24px;border:1px solid #9fb0be;border-radius:3px;background:#253a49;color:#fff;font:600 11px Bahnschrift,monospace}.cad-quickbar-setting-preview{display:grid;place-items:center;width:28px;height:28px;color:#38546a}.cad-quickbar-setting-preview .cad-command-icon{width:24px;height:24px}.cad-quickbar-setting-preview>span{font-size:19px;color:#8798a5}.cad-quickbar-setting-row select{min-width:0;height:31px;border:1px solid #bccbd7;border-radius:3px;background:#fff;color:#2e4659;padding:0 7px;font-size:12px}.cad-quickbar-dialog>footer{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:7px;padding:10px 14px;border-top:1px solid #d3dde5;background:#f1f5f8}.cad-quickbar-dialog>footer button{height:31px;padding:0 12px;border:1px solid #b9c8d4;border-radius:3px;background:#fff;color:#344e62}.cad-quickbar-dialog>footer [data-save]{border-color:#008aff;background:#008aff;color:#fff}@media (max-width:850px){.app-mode-cad .cad-quickbar{left:12px;right:12px;justify-content:flex-start;width:auto;max-width:none;transform:none}}@media (max-width:600px){.cad-quickbar-settings-list{grid-template-columns:1fr}}#cad-svg.has-cad-pointer{cursor:none!important}#cad-draft .cad-crosshair{stroke:#52676a;stroke-width:1;fill:none;opacity:.72;shape-rendering:crispEdges}#cad-draft .cad-pickbox{stroke:#263f45;fill:none;stroke-width:1;shape-rendering:crispEdges}#cad-draft .cad-aperture{stroke:#60777b;fill:none;stroke-width:1;stroke-dasharray:2 3;opacity:.58}#cad-draft .cad-snap-marker{stroke:#079447;fill:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}.cad-preselected:not(.cad-wall-hit):not(.cad-slab):not(.cad-annotation):not(.cad-annotation-text){filter:none;stroke:#168ac5!important;stroke-width:1.5!important;stroke-dasharray:4 2}.cad-preselected:not(.cad-wall-hit):not(.cad-annotation):is(g) :is(path,line,rect,polygon,polyline,circle,ellipse){stroke:#168ac5!important;stroke-width:1.5!important;stroke-dasharray:4 2}.cad-annotation.cad-preselected{filter:none}.cad-annotation.cad-preselected :is(.cad-annotation-line,.cad-extension-line,.cad-axis-bubble){stroke:#168ac5!important;stroke-width:1.5!important;stroke-dasharray:4 2;vector-effect:non-scaling-stroke}.cad-annotation.cad-preselected :is(.cad-annotation-label,.cad-symbol-label){fill:#168ac5!important}.cad-annotation.cad-preselected .cad-dimension-arrow{fill:#168ac5!important;stroke:none!important}.cad-annotation.cad-preselected .cad-dimension-hit{stroke:transparent!important}.cad-annotation.cad-preselected :is(.cad-elevation-marker,.cad-leader-arrow){fill:#168ac5!important;stroke:#168ac5!important;stroke-width:1.5!important;vector-effect:non-scaling-stroke}.cad-annotation-text.cad-preselected{filter:none;fill:#168ac5!important;stroke:none!important}.cad-dynamic-input{grid-template-columns:1fr 1fr;padding:0;border-color:#526c72;background:#f8fbfbee;box-shadow:none}.cad-dynamic-prompt{grid-column:1/-1;min-height:20px;padding:3px 6px;background:#304c53;color:#f5fbfc;font:var(--font-ui-xs) Consolas,"Microsoft YaHei";white-space:nowrap}.cad-dynamic-input label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px;padding:2px 3px}.cad-dynamic-input b{font:var(--font-ui-2xs) "Microsoft YaHei";color:#60777b}.cad-dynamic-input input{width:88px;height:23px;border-color:#9badb0}.cad-dynamic-input input:focus{border-color:#0087b8;box-shadow:inset 0 0 0 1px #0087b8}.cad-placement-input{position:absolute;z-index:14;display:grid;grid-template-columns:auto 92px;align-items:center;gap:6px;padding:4px 5px;border:1px solid #4d7f8c;border-radius:3px;background:#f8fbfbf2;box-shadow:0 4px 12px #24464d2b;color:#31545c;font-size:11px}.cad-placement-input[hidden]{display:none}.cad-placement-input b{font-weight:600;white-space:nowrap}.cad-placement-input input{width:92px;height:24px;box-sizing:border-box;border:1px solid #0087b8;background:#fff;color:#183b43;text-align:right}.cad-placement-input input:focus{outline:1px solid #56b7d0;outline-offset:0}#cad-draft .cad-placement-extension{stroke:color-mix(in srgb,var(--ui-muted) 58%,var(--ui-canvas));stroke-width:1;stroke-dasharray:3 3;opacity:.7}#cad-draft .cad-placement-line{stroke:color-mix(in srgb,var(--ui-muted) 72%,var(--ui-canvas));stroke-width:1.25;stroke-dasharray:5 4;opacity:.9}#cad-draft .cad-placement-line.is-active{stroke:var(--ui-accent);stroke-width:2;stroke-dasharray:none;opacity:1}#cad-draft .cad-placement-line.is-muted{opacity:.42}#cad-draft .cad-placement-label-bg{fill:var(--ui-canvas);fill-opacity:.94;stroke:color-mix(in srgb,var(--ui-muted) 62%,var(--ui-canvas));stroke-width:1}#cad-draft .cad-placement-label-bg.is-active{stroke:var(--ui-accent)}#cad-draft .cad-placement-label-bg.is-muted{opacity:.72}#cad-draft .cad-placement-label{fill:var(--ui-ink);font:600 11px Microsoft YaHei,sans-serif}#cad-draft .cad-placement-label.is-active{fill:var(--ui-accent)}#cad-draft .cad-placement-label.is-muted{opacity:.58}#cad-draft .cad-placement-hint-bg{fill:color-mix(in srgb,var(--ui-canvas) 94%,transparent);stroke:color-mix(in srgb,var(--ui-muted) 46%,var(--ui-canvas));stroke-width:1}#cad-draft .cad-placement-hint{fill:var(--ui-muted);font:500 10px Microsoft YaHei,sans-serif;letter-spacing:.02em}body:not(.app-ready)>:not(#auth-gate){visibility:hidden!important}body:not(.app-ready):before{content:"\6b63\5728\6062\590d\5de5\4f5c\533a\2026";position:fixed;inset:0;z-index:900;display:grid;place-items:center;background:#e7eceb;color:#52676a;font:13px Microsoft YaHei,sans-serif;letter-spacing:.08em}.single-tab-inactive{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--ui-canvas) 80%,transparent);color:var(--ui-ink);text-align:center}.single-tab-inactive section{width:min(420px,calc(100vw - 48px));box-sizing:border-box;padding:34px 32px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}.single-tab-inactive-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:var(--ui-selected);color:var(--ui-accent)}.single-tab-inactive-icon svg{width:26px;height:26px}.single-tab-inactive h1{margin:0 0 10px;font-size:21px}.single-tab-inactive p{margin:0;color:var(--ui-muted);font-size:13px;line-height:1.7}.single-tab-inactive button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;margin-top:22px;padding:0 16px;border:1px solid var(--ui-accent);border-radius:5px;background:var(--ui-accent);color:var(--ui-surface);font:13px Microsoft YaHei,sans-serif;cursor:pointer}.single-tab-inactive button svg{width:18px;height:18px}.editor-tab-inactive>:not(#single-tab-inactive){pointer-events:none!important}body.app-mode-review{--left-width:184px;--right-width:380px}body.app-mode-review.right-panel-collapsed{--right-width:0px}.app-mode-review .cad-shell{grid-template-columns:var(--left-width) minmax(0,1fr) var(--right-width)}.app-mode-review #stage{left:var(--left-width);right:var(--right-width);background:#eef2f3}.app-mode-review .cad-left,.app-mode-review .cad-right{background:#fff;border-color:#d8e2e6}.app-mode-review .cad-right{overflow:hidden}.app-mode-review .review-library{height:100%;padding:0!important;overflow:auto;color:#304b56}.review-library-head{padding:20px 16px 12px;border-bottom:1px solid #e3e9ed}.review-library-head h2{margin:0;font-size:var(--workspace-type-section);letter-spacing:0}.review-library-head p{margin:8px 0 0;line-height:1.6;overflow-wrap:anywhere;color:#6d818a}.review-scope-label{display:block;margin:18px 14px 7px}.review-library #review-scope{width:calc(100% - 28px);height:34px;margin:0 14px;border:1px solid #d1dde2;background:#fff;border-radius:4px;color:#304b56}.review-library .review-scope-note{margin:8px 14px 20px;font-size:var(--workspace-type-note)!important;line-height:1.6;color:#778b93}.review-library h3{margin:0 14px 8px;color:#71838b}.app-mode-review .review-filter-nav{height:auto;padding:0 8px;background:#fff;gap:5px}.app-mode-review .review-filter-nav button{width:100%;height:40px;min-height:40px;padding:0 9px;border-radius:4px;line-height:1.4}.app-mode-review .review-filter-nav button span{white-space:nowrap}body.app-mode-review .review-filter-nav button:before{display:none}.app-mode-review .review-filter-nav b{font:inherit;background:transparent;font-size:var(--workspace-type-note);color:inherit}.app-mode-review .review-workbench{height:100%;padding:0;color:#2e4753;background:#fff}.app-mode-review .review-panel-head{padding:18px 16px 0;background:#fff;border-bottom:1px solid #dfe7eb}.app-mode-review .review-panel-head h2{padding:0!important;margin:0 0 8px;letter-spacing:0;color:#263e4b}.app-mode-review .review-panel-head p{padding:0;margin:6px 0 12px;line-height:1.6}#review-search{width:100%;height:34px;box-sizing:border-box;border:1px solid #cfdae0;border-radius:4px;background:#fff;color:#304b56;padding:0 10px}.review-state-tabs{display:flex;gap:6px;margin-top:12px}.review-state-tabs button{flex:1;min-height:31px;border:1px solid #d5e0e5;background:#fff;border-radius:4px;color:#526b76}.review-state-tabs button.active{background:#e4f0f2;border-color:#83adb5;color:#196575}.app-mode-review .review-issues{flex:1 1 42%;min-height:90px;padding:0 9px;background:#fff;border-bottom:1px solid #dfe7eb;scrollbar-width:thin}.app-mode-review .review-issue{box-sizing:border-box;min-height:82px;padding:12px 10px 12px 46px;margin:0;border:1px solid transparent;border-bottom-color:#e4ebee;border-radius:0;gap:5px;background:#fff}.app-mode-review .review-issue:before{display:none}.app-mode-review .review-issue.active{border:1px solid #77a9b5;border-radius:4px;background:#eaf4f6}.app-mode-review .review-issue:hover{background:#f3f8fa}.app-mode-review .review-issue.handled{opacity:1;color:#70838a}.review-issue-number{position:absolute;left:9px;top:15px;width:27px;height:27px;display:grid;place-items:center;background:#edf2f5;border-radius:50%;font-size:var(--workspace-type-body);font-variant-numeric:tabular-nums;font-weight:600;color:#45606b}.review-issue.active .review-issue-number{background:#d3e9ed;color:#1d6574}.app-mode-review .review-issue-code{font-family:inherit;font-size:var(--workspace-type-note);color:#7d6670}.app-mode-review .review-issue strong{font-weight:600;line-height:1.6}.app-mode-review .review-issue small{max-width:100%;line-height:1.5}.app-mode-review .review-detail{flex:1 1 40%;min-height:0;padding:16px;scrollbar-width:thin}.app-mode-review .review-detail-title{gap:9px;align-items:center}.app-mode-review .review-detail-title>span{font:inherit;font-size:var(--workspace-type-note);padding:4px 6px}.app-mode-review .review-detail dl{margin:12px 0 0}.app-mode-review .review-detail dl>div{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;padding:8px 0;border:0}.app-mode-review .review-detail dt{padding-top:2px;line-height:1.6}.app-mode-review .review-detail dd{line-height:1.65;overflow-wrap:anywhere}.app-mode-review .review-detail-actions{flex:none;padding:12px 16px;gap:10px;border-top:1px solid #e1e8ec;background:#fff}.app-mode-review .review-detail-actions button{min-height:36px;border-radius:4px}.app-mode-review .review-boundary{padding:8px 16px;background:#f7f9fa;line-height:1.5;max-height:54px;overflow:auto}.review-check-time{color:#71868e;white-space:nowrap;font-size:var(--workspace-type-note)}.review-viewport-ui{display:none;position:absolute;inset:0;z-index:5;pointer-events:none;font-family:inherit;color:#37525e}.app-mode-review .review-viewport-ui{display:block}.review-viewport-ui button{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:5px 9px;border:0;background:#fff;color:#365c69;border-radius:3px;font:inherit;font-size:var(--workspace-type-control)}.review-viewport-ui button:hover{background:#e5f0f3}.review-viewport-ui button:disabled{opacity:.45;cursor:default}.review-viewport-ui .cad-command-icon{width:22px;height:22px;flex:none}.review-view-switch{position:absolute;top:16px;left:16px;display:flex;gap:2px;padding:3px;border:1px solid #cfdae0;background:#fff;border-radius:5px;pointer-events:auto}.review-current-label{position:absolute;top:72px;left:16px;max-width:calc(100% - 68px);display:flex;align-items:center;gap:8px;padding:7px 10px;background:#ffffffed;border:1px solid #dce4e8;border-radius:4px;font-size:var(--workspace-type-body)}.review-current-label[hidden]{display:none}.review-current-label b{background:#d94747;color:#fff;border-radius:50%;min-width:24px;height:24px;display:grid;place-items:center;font-size:var(--workspace-type-note)}.review-current-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-viewport-footer{position:absolute;bottom:16px;left:16px;right:16px;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.review-legend{font-size:var(--workspace-type-note);color:#6e8189}.review-legend:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#d94747;margin-right:6px}.review-pager{display:flex;align-items:center;gap:6px;padding:3px;border:1px solid #cedce2;background:#fff;border-radius:5px;pointer-events:auto}#review-position{min-width:52px;text-align:center;font-size:var(--workspace-type-body);font-variant-numeric:tabular-nums}.review-library :focus-visible,.review-workbench :focus-visible,.review-viewport-ui :focus-visible{outline:2px solid #237d94;outline-offset:-2px}@media (max-width:1150px){body.app-mode-review{--left-width:152px;--right-width:330px}.review-check-time,.review-legend{display:none}}@media (max-width:850px){body.app-mode-review{--left-width:0px;--right-width:300px}.app-mode-review .cad-left{display:none}.app-mode-review .cad-right{display:block}.app-mode-review.right-panel-collapsed .cad-right{display:none}.review-view-switch{top:10px;left:10px}.review-viewport-footer{left:4px;right:4px;bottom:8px}.review-pager{gap:0}.review-pager button{padding:4px}.review-pager .cad-command-icon{width:18px;height:18px}}@media (max-width:540px){body.app-mode-review{--right-width:260px}.review-viewport-footer{justify-content:flex-start}.review-pager{flex-wrap:wrap;justify-content:center}.review-view-switch{flex-direction:column}.review-current-label{display:none}.review-detail-actions{gap:4px!important;padding:8px!important}}.app-mode-plot .cad-shell{--left-width:236px;--right-width:310px}.app-mode-plot.right-panel-collapsed .cad-shell{--right-width:0px}.app-mode-plot .cad-shell{grid-template-columns:var(--left-width) minmax(300px,1fr) var(--right-width)}.app-mode-plot .cad-left,.app-mode-plot .cad-right{background:#fff;border-color:#d9e1e9}.app-mode-plot .plot-library{height:100%;display:flex!important;flex-direction:column;padding:0;overflow:hidden;color:#253448}.plot-library-head{display:flex;align-items:center;justify-content:space-between;padding:16px 12px 12px;gap:8px;border-bottom:1px solid #e8edf2}.plot-library-head strong{font-size:15px;white-space:nowrap}.plot-library-head strong span{font:12px Consolas,monospace;color:#778699;margin-left:6px}.plot-library .workflow-wide{width:auto;min-height:34px;height:auto;margin:0;border-radius:4px;font-size:12px;background:#fff;border-color:#cfdae6;color:#354b65}.plot-library-head .workflow-wide{padding:4px 6px;gap:3px}.plot-sheet-list{flex:1;min-height:0;overflow:auto;padding:12px;scrollbar-width:thin}.plot-sheet{display:block;width:100%;padding:12px;text-align:left;margin:0 0 12px;background:#fff;border:1px solid #dce4ed;border-radius:5px;color:#253448}.plot-sheet:hover{border-color:#8db8eb;background:#f7faff}.plot-sheet.active{border-color:#2678dc;background:#eef5ff;box-shadow:0 0 0 1px #2678dc12}.plot-sheet strong{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.plot-sheet strong span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plot-sheet strong svg{width:24px;height:24px;flex:none}.plot-sheet small{display:block;font-size:11px;color:#778699;margin:6px 0 10px}.plot-sheet img{display:block;width:100%;height:116px;object-fit:contain;background:#fff;border:1px solid #e0e5eb;padding:5px}.plot-presets{display:flex;gap:6px;padding:12px;border-top:1px solid #e5ebf1}.plot-presets .workflow-wide{flex:1;padding:5px;font-size:11px}.plot-library .plot-delete-layout{margin:0 12px 12px;color:#6c7786}.app-mode-plot .plot-inspector{height:100%;overflow:auto;scrollbar-width:thin;background:#fff;color:#253448}.plot-inspector>h2{position:sticky;top:0;z-index:2;background:#fff;padding:16px;font-size:15px;letter-spacing:0;color:#253448;border-bottom:1px solid #d9e1e9}.plot-inspector .workflow-section{padding:14px 16px;border-bottom:1px solid #e5ebf1}.plot-inspector .workflow-section h3{font-size:13px;color:#253448;margin:0 0 12px}.plot-inspector .workflow-field{grid-template-columns:90px minmax(0,1fr);font-size:12px;gap:10px;margin:10px 0;color:#64748b}.plot-inspector .workflow-field input,.plot-inspector .workflow-field select{height:32px;border:1px solid #d4deea;border-radius:4px;font-size:12px;color:#253448;background:#fff;padding:4px 8px;min-width:0}.plot-inspector .workflow-field input[type=checkbox]{width:17px;height:17px;accent-color:#2678dc;justify-self:start}.plot-inspector .workflow-wide{border-radius:4px;min-height:34px;height:auto;font-size:12px;border-color:#d4deea;color:#354b65;padding:5px 7px}.plot-inspector .workflow-wide.primary{background:#2678dc;border-color:#2678dc;color:#fff}.plot-inspector .workflow-note{font-size:11px;color:#778699;line-height:1.7}.plot-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;margin-top:10px;font-size:12px;color:#52657b}.plot-check-grid label{display:flex;align-items:center;gap:6px}.plot-check-grid input{accent-color:#2678dc}.plot-title-settings .inline .workflow-field{display:block;flex:1}.plot-title-settings .inline .workflow-field span{display:block;margin-bottom:4px}.plot-title-settings .inline input{width:100%}.plot-logo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.plot-logo-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:5px 8px;border:1px solid var(--ui-line);border-radius:4px;background:var(--ui-surface);color:var(--ui-ink);font-size:12px}.plot-logo-actions button svg{width:24px;height:24px}.plot-logo-actions button:disabled{opacity:.45;cursor:not-allowed}.plot-project-settings .inline .workflow-field{display:block;flex:1}.plot-project-settings .inline .workflow-field span{display:block;margin-bottom:4px}.plot-project-settings .inline input{width:100%}.plot-advanced{margin-top:14px;border-top:1px solid #e5ebf1;padding-top:12px}.plot-advanced summary{font-size:12px;font-weight:600;color:#52657b;cursor:pointer;padding:3px 0}.plot-inspector .plot-rect-grid .workflow-field{display:block;min-width:0}.plot-inspector .inline{gap:8px}.plot-inspector .inline>*{min-width:0}.plot-layers .views{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:12px;color:#64748b}.plot-layers input{accent-color:#2678dc}.app-mode-plot #plot-stage{inset:42px 0 82px;padding:24px 32px;place-items:unsafe center;background:#e5ebf1;overflow:hidden}.app-mode-plot #plot-stage>svg{flex:none;max-width:none;box-shadow:0 3px 16px #25344822;border:1px solid #cbd5e1}.app-mode-plot .cad-center{background:#e5ebf1}.plot-canvas-caption,.plot-view-dock,.plot-canvas-hint{display:none}.app-mode-plot .plot-canvas-caption{display:block;position:absolute;top:0;left:0;right:0;height:42px;padding:14px 24px;font-size:12px;color:#778699;border-bottom:1px solid #d9e1e9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-mode-plot .plot-view-dock{display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%);align-items:center;gap:14px;padding:7px 14px;background:#fff;border:1px solid #d9e1e9;border-radius:6px;box-shadow:0 3px 12px #25344812;white-space:nowrap}.plot-view-dock button{display:flex;align-items:center;gap:6px;padding:0;border:0;background:#fff;font-size:12px;color:#354b65}.plot-view-dock svg{height:24px;width:24px}.plot-view-dock label{display:flex;align-items:center;gap:8px;color:#64748b;font-size:11px}.plot-view-dock input{width:90px;accent-color:#2678dc}.plot-view-dock output{font:12px Consolas,monospace;width:34px;color:#253448}.plot-view-dock #plot-space-mode{font-size:11px;font-weight:600;color:#2678dc;border-right:1px solid #d9e1e9;padding-right:12px}.plot-mm-grid .workflow-field{display:block}.plot-mm-grid .workflow-field span{display:block;margin-bottom:4px;white-space:nowrap}.plot-viewport-handle[data-plot-direction=n],.plot-viewport-handle[data-plot-direction=s]{cursor:ns-resize}.plot-viewport-handle[data-plot-direction=e],.plot-viewport-handle[data-plot-direction=w]{cursor:ew-resize}.plot-viewport-handle[data-plot-direction=ne],.plot-viewport-handle[data-plot-direction=sw]{cursor:nesw-resize}.plot-viewport-handle[data-plot-direction=nw],.plot-viewport-handle[data-plot-direction=se]{cursor:nwse-resize}.app-mode-plot .plot-canvas-hint{display:block;position:absolute;bottom:10px;left:12px;right:12px;text-align:center;color:#778699;font-size:11px}.plot-library button:focus-visible,.plot-inspector :is(input,select,button,summary):focus-visible,.plot-view-dock :is(button,input):focus-visible{outline:2px solid #2678dc;outline-offset:2px}@media (max-width:1100px){.app-mode-plot .cad-shell{--left-width:190px;--right-width:280px}.plot-library-head{flex-wrap:wrap}.plot-presets{flex-direction:column}.plot-view-dock label{font-size:0}.plot-view-dock input{width:70px}}@media (max-width:760px){.app-mode-plot .cad-shell{--left-width:150px;--right-width:240px}.app-mode-plot .cad-shell{grid-template-columns:150px minmax(240px,1fr) var(--right-width);overflow-x:auto}.plot-sheet{padding:7px}.plot-sheet img{height:85px}.plot-inspector .workflow-field{grid-template-columns:72px minmax(0,1fr)}.plot-canvas-hint{font-size:10px!important}}.app-mode-env{--env-ink:#142c3d;--env-muted:#607383;--env-line:#dce4e9;--env-teal:#00738a;--env-left:160px;--env-right:310px;--env-bottom:200px;background:#f8fbfd;color:var(--env-ink)}.app-mode-env .env-header,.app-mode-env .env-compass,.app-mode-env #labels{display:none!important}.env-workbench{color:var(--env-ink);font-family:Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif}.env-workbench button,.app-mode-env .env-panel button,.app-mode-env .env-workflow-left button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-family:inherit;font-size:13px;border:1px solid #c4d2dc;background:#fbfdff;color:#244455;border-radius:5px;min-height:32px;padding:5px 10px;white-space:nowrap}.env-workbench button:hover,.app-mode-env .env-panel button:hover{background:#eaf3f6}.env-workbench button:focus-visible,.app-mode-env .env-panel :is(button,input,select):focus-visible,.app-mode-env .env-workflow-left button:focus-visible{outline:2px solid #008aa4;outline-offset:2px}.env-workbench .cad-command-icon,.app-mode-env .env-panel .cad-command-icon,.app-mode-env .env-workflow-left .cad-command-icon{width:20px;height:20px;--cad-icon-accent:#007e9d;--cad-icon-ink:#254153}.env-workbench button.primary,.env-workbench button.active{background:#00738a;color:#fff;border-color:#00738a}.env-workbench :is(.primary,.active) .cad-command-icon{--cad-icon-ink:white;--cad-icon-accent:white}.env-project-strip{position:absolute;top:var(--nav-height);left:0;right:0;height:42px;display:flex;align-items:center;gap:16px;padding:0 280px 0 16px;border-bottom:1px solid var(--env-line);background:#fbfdff;z-index:14}.env-project-strip h1{font-size:13px;margin:0;display:flex;align-items:center;gap:12px}.env-project-strip h1 b{font-weight:400;max-width:440px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.env-project-strip h1 span{color:#647985;font-weight:400}.env-site-tag{display:flex;align-items:center;gap:6px;font-size:13px;color:#526779;white-space:nowrap}#env-data-badge{font-size:12px;border:1px solid #e8a638;color:#c98a18;border-radius:3px;padding:3px 10px;white-space:nowrap}.env-top-actions{position:absolute;right:16px;top:calc(var(--nav-height) + 5px);display:flex;gap:12px;z-index:45}.env-top-actions button{height:32px}body.app-mode-env .env-workflow-left{top:calc(var(--nav-height) + 42px);bottom:30px;width:var(--env-left);padding:16px 7px 12px 0;display:flex;align-items:stretch;flex-direction:column;gap:0;background:#fbfdff;border-right:1px solid var(--env-line);z-index:12}.app-mode-env .env-workflow-left h2{font-size:13px;font-weight:400;margin:0 16px 12px}.app-mode-env .env-workflow-left nav{display:flex;flex-direction:column;gap:4px}body.app-mode-env .env-workflow-left nav button{width:100%;height:38px;min-height:38px;flex-direction:row;justify-content:flex-start;gap:10px;padding:0 16px;margin:0;border:0;border-radius:0 6px 6px 0;font-size:13px;font-weight:400;background:transparent;color:#526477}body.app-mode-env .env-workflow-left nav button.active{background:#e4f1f5;color:#006d84;font-weight:400;box-shadow:inset 4px 0 #007d94}body.app-mode-env .env-workflow-left nav button:before{display:none}body.app-mode-env .env-workflow-left nav button:hover{background:#edf4f7}.env-layer-list{margin:22px 12px 0 16px;padding-top:16px;border-top:1px solid var(--env-line)}.app-mode-env .env-layer-list h2{margin:0 0 16px}.env-layer-list label{display:flex;align-items:center;gap:9px;margin:15px 0;font-size:12px;color:#596c7d;cursor:pointer;white-space:nowrap}.env-layer-list label .cad-command-icon{width:18px;height:18px}.env-layer-list input{appearance:none;position:relative;flex:none;margin:0 0 0 auto;width:31px;height:17px;border:0;border-radius:12px;background:#b7c5cf;cursor:pointer}.env-layer-list input:before{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #2343}.env-layer-list input:checked{background:#007c94}.env-layer-list input:checked:before{left:16px}.env-layer-list input:focus-visible{outline:2px solid #008aa4;outline-offset:3px}.env-side-caption{margin:auto 24px 0;font-size:10px;line-height:1.8;letter-spacing:1px;color:#9ba8b1;padding-top:18px}body.app-mode-env #stage{inset:calc(var(--nav-height) + 42px) var(--env-right) calc(var(--env-bottom) + 30px) var(--env-left);overflow:hidden;background:#e9eef1}body.app-mode-env #stage>canvas{display:block;width:100%;height:100%}.app-mode-env #stage .view-compass{top:72px!important}.env-view-heading{position:absolute;left:var(--env-left);right:var(--env-right);top:calc(var(--nav-height) + 42px);height:50px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;z-index:6;pointer-events:none;background:linear-gradient(#f8fafbe8,#f8fafb00)}.env-view-heading h2{font-size:13px;font-weight:400;margin:0}.env-view-buttons{display:flex;pointer-events:auto;border-radius:6px;overflow:hidden;background:#ffffffda}.env-view-buttons button{border:0;border-radius:4px;min-height:30px;padding:5px 10px;font-size:12px}.env-view-buttons .cad-command-icon{width:21px;height:21px}.env-sun-stamp{position:absolute;top:calc(var(--nav-height) + 71px);left:calc(var(--env-left) + (100vw - var(--env-left) - var(--env-right)) * .52);z-index:6;font-size:13px;pointer-events:none}.env-heat-legend{position:absolute;left:calc(var(--env-left) + 20px);bottom:calc(var(--env-bottom) + 46px);width:215px;padding:12px 16px;background:#fcfdffe8;border:1px solid #e3e9ed;border-radius:5px;z-index:6;font-size:12px;pointer-events:none}.env-heat-legend i{display:block;height:13px;margin:7px 0;background:linear-gradient(90deg,#fffdec,#fff079,#ffc327,#ff9800,#f8760a)}.env-heat-legend>div{display:flex;justify-content:space-between;font-size:11px}body.app-mode-env .env-panel{left:auto;right:0;top:calc(var(--nav-height) + 42px);bottom:30px;width:var(--env-right);max-height:none;padding:16px;background:#fbfdff;border:0;border-left:1px solid var(--env-line);border-radius:0;display:block;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd7de transparent}.app-mode-env .env-panel h2{font-size:13px;font-weight:400;margin:0 0 12px;color:var(--env-ink)}.app-mode-env .env-panel :is(input,select){height:31px;border:1px solid #d3dde5;border-radius:5px;color:#294354;background:#fbfdff;font-size:13px;padding:5px 10px;width:100%;min-width:0}.app-mode-env .env-panel input[type=checkbox]{width:15px;height:15px;accent-color:#00738a}.env-setting{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;margin:9px 0;font-size:12px;color:#637586}.env-setting>div{min-width:0}.app-mode-env .env-panel .env-update{margin-top:10px;width:100%;height:32px;background:transparent;border:1px solid #00738a;color:#006c83;font-size:13px}.env-settings #env-analysis-state{font-size:11px;line-height:1.5;color:#8796a1;margin:8px 0 0}.env-key-section,.env-observations{border-top:1px solid var(--env-line);margin-top:16px;padding-top:14px}.env-key-values{display:grid;grid-template-columns:1fr 1fr;margin:14px 0 16px}.env-key-values>div{display:flex;flex-direction:column;align-items:center;gap:6px}.env-key-values>div+div{border-left:1px solid var(--env-line)}.env-key-values strong{font-size:18px;line-height:1.2;font-weight:400;letter-spacing:-1px;white-space:nowrap;font-variant-numeric:tabular-nums}.env-key-values strong small{font-size:13px;letter-spacing:0;font-weight:400;margin-left:3px}.env-key-values span{font-size:13px;color:#647585}.env-observations article{display:flex;gap:14px;margin:12px 0}.env-observations article>span{display:grid;place-items:center;border-radius:50%;background:#e5f1f5;color:#00768d;flex:none;width:28px;height:28px;font-size:13px}.env-observations h3{font-size:13px;line-height:1.5;font-weight:400;margin:0 0 4px}.env-observations p{font-size:12px;line-height:1.75;color:#617181;margin:0}.app-mode-env .env-panel .env-text-button{border:0;background:transparent;color:#00738a;padding:0;justify-content:flex-start;font-size:13px;min-height:25px}.env-more{margin-top:17px;border-top:1px solid var(--env-line);padding-top:16px}.env-more>summary{font-size:12px;color:#6d7d89;cursor:pointer}.app-mode-env #env-legacy>h2{display:none}.app-mode-env #env-legacy>.views{margin:10px 0!important}.app-mode-env .env-panel .section{margin:15px 0}.app-mode-env .env-panel .section>summary{font-size:13px}.app-mode-env .env-panel .search{grid-template-columns:1fr 1fr}.env-bottom{position:absolute;left:var(--env-left);right:var(--env-right);bottom:30px;height:var(--env-bottom);padding:0 20px 10px;background:#fbfdff;border-top:1px solid var(--env-line);z-index:8}.env-timeline{height:54px;display:flex;align-items:center;gap:14px}.env-date-label input{height:35px;padding:0 9px;max-width:145px;font-size:13px;border:1px solid #ccd9e1;color:#294457;border-radius:5px;background:#fbfdff}.env-seasons{display:flex}.env-seasons button{padding:6px 13px;border-radius:0;min-height:34px;font-size:13px}.env-seasons button+button{border-left:0}.env-seasons button:first-child{border-radius:4px 0 0 4px}.env-seasons button:last-child{border-radius:0 4px 4px 0}.env-timeline #env-play{min-height:36px;width:65px;padding:5px;border-radius:18px;font-size:11px;gap:3px}.env-timeline #env-play .cad-command-icon{width:17px;height:17px}.env-hour-track{flex:1;position:relative;min-width:180px;margin:12px 12px 0}.env-hour-track input{width:100%;margin:0;height:14px;accent-color:#00768b;cursor:pointer}.env-hour-track>div{display:flex;justify-content:space-between;font-size:10px;color:#637785}.env-hour-track output{position:absolute;top:-20px;transform:translate(-50%);font-size:11px;background:#00758b;color:#fff;border-radius:3px;padding:2px 7px}.env-chart-row{display:grid;grid-template-columns:2fr 1fr;gap:14px;height:calc(100% - 54px)}.env-chart-panel,.env-room-panel{min-width:0;border:1px solid #dce5eb;border-radius:6px;padding:10px 12px;background:#fbfdff;overflow:hidden}.env-chart-row h3{font-size:13px;margin:0 0 4px;font-weight:400}.env-chart-row h3 small{font-size:10px;color:#8797a2;font-weight:400;margin-left:8px}#env-solar-chart{height:calc(100% - 23px)}#env-solar-chart svg{width:100%;height:100%;overflow:visible}#env-solar-chart text{font:10px Microsoft YaHei,sans-serif;fill:#637585}#env-solar-chart text.env-chart-value{fill:#b67700;font-weight:400}.env-room-scroll{overflow:auto;height:calc(100% - 26px);scrollbar-width:thin}.env-room-panel table{width:100%;border-collapse:collapse;font-size:12px;color:#516879}.env-room-panel th{font-weight:400;background:#f0f4f7;position:sticky;top:0}.env-room-panel td,.env-room-panel th{padding:5px 8px;border:1px solid #e0e7ec;text-align:center}.env-room-panel tbody tr:first-child{color:#00748b;background:#e7f2f5;font-weight:400}.env-status-strip{position:absolute;left:0;right:0;bottom:0;height:30px;display:flex;align-items:center;gap:18px;padding:0 24px;border-top:1px solid var(--env-line);background:#fbfdff;color:#74838f;font-size:11px;z-index:15}.env-status-strip>span{display:flex;align-items:center;gap:7px}.env-status-strip>span+span{border-left:1px solid #d5dfe5;padding-left:15px}.env-status-strip i{width:9px;height:9px;background:#259c75;border-radius:50%}.env-status-strip .env-footer-note{margin-left:auto;border:0}#env-compare-dialog{width:min(680px,90vw);padding:24px;border:1px solid #cfdae2;border-radius:10px;color:#213a49;background:#fbfdff}#env-compare-dialog::backdrop{background:#102d4560}#env-compare-dialog header{display:flex;align-items:center;justify-content:space-between}#env-compare-dialog h2{font-size:13px;margin:0}#env-compare-dialog p{font-size:13px;color:#687d89}#env-compare-dialog table{border-collapse:collapse;width:100%;font-size:13px}#env-compare-dialog th,#env-compare-dialog td{border:1px solid #dae3e9;padding:10px;text-align:left}#env-compare-dialog th{background:#edf5f7}.env-workbench [hidden]{display:none!important}@media (max-width:1400px){.app-mode-env{--env-left:150px;--env-right:300px;--env-bottom:190px}body.app-mode-env .env-panel{padding:14px}.app-mode-env .env-workflow-left h2{margin-left:18px}body.app-mode-env .env-workflow-left nav button{padding-left:14px;font-size:13px}.env-layer-list{margin-left:18px;margin-right:5px}.env-layer-list label{gap:5px;font-size:12px}.env-setting{grid-template-columns:68px 1fr;gap:6px}.env-top-actions{right:14px;gap:7px}.env-top-actions button{padding:6px 10px;font-size:13px}.env-timeline{gap:8px}.env-seasons button{padding:5px 9px}.env-date-label input{max-width:125px}.env-sun-stamp{top:calc(var(--nav-height) + 123px)}.env-project-strip{gap:12px}.env-key-values strong{font-size:13px}.env-side-caption{display:none}}@media (max-width:1150px){.app-mode-env{--env-left:140px;--env-right:278px;--env-bottom:220px}.env-site-tag{display:none}.env-project-strip h1 b{max-width:300px}.env-bottom{padding:0 10px 10px}.env-timeline{flex-wrap:wrap;height:89px;gap:4px;padding:8px 0}.env-hour-track{flex-basis:100%;margin:10px 12px 0 15px}.env-hour-track output{top:-14px;font-size:9px}.env-chart-row{height:calc(100% - 89px)}.env-view-heading{padding:0 14px}.env-view-heading h2{font-size:13px}.env-view-buttons button{padding:5px 8px;font-size:12px}.env-key-values strong{font-size:13px}.env-layer-list{margin-top:22px}.app-mode-env .env-workflow-left nav button{gap:10px;padding-left:18px}.env-chart-row h3{font-size:13px}.env-chart-row h3 small{display:none}}@media (max-width:850px){.app-mode-env{--env-left:120px;--env-right:0px;--env-bottom:220px;overflow:auto;min-width:620px}.env-top-actions{top:calc(var(--nav-height) + 4px);right:10px}.env-top-actions button{height:33px;min-height:33px}.env-project-strip h1{font-size:13px}.env-project-strip h1 b{max-width:180px}.env-project-strip #env-data-badge{display:none}body.app-mode-env .env-panel{top:100vh;left:120px;right:0;bottom:auto;width:auto;max-height:none;border-top:1px solid var(--env-line);display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:30px}.env-panel .env-more{grid-column:1/-1}.env-observations{margin-top:0}.env-layer-list{margin-left:10px}.env-layer-list label{gap:3px;font-size:10px}.env-layer-list .cad-command-icon{display:none}body.app-mode-env .env-workflow-left nav button{font-size:13px;padding-left:13px;gap:8px}.env-status-strip{font-size:10px;gap:8px;padding:0 10px}.env-status-strip .env-footer-note{display:none}.env-sun-stamp{top:calc(var(--nav-height) + 116px)}}.env-method-note{font-size:11px;line-height:1.7;color:#8b98a2;margin:16px 0 0}.app-mode-env #stage .cad-view-compass{top:62px!important;width:82px!important;height:82px!important}@media (prefers-reduced-motion:reduce){.env-workbench *{scroll-behavior:auto!important}}.env-weather{margin-top:18px;padding:15px 0;border-top:1px solid var(--env-line)}.env-weather header{display:flex;align-items:center;justify-content:space-between}.env-weather header h2{margin-bottom:10px!important}.env-weather header a{font-size:11px;color:#59808c}.env-weather-actions{display:flex;gap:7px}.app-mode-env .env-panel .env-weather-actions button{flex:1;font-size:12px;min-height:32px;padding:5px 8px}#env-weather-summary{display:flex;align-items:center;gap:15px;margin:13px 0 7px;font-size:13px}#env-weather-summary strong{font-size:18px;font-weight:400;white-space:nowrap}#env-weather-summary small{font-size:13px}#env-weather-summary span{font-size:11px;color:#6d808c}#env-weather-status{font-size:10px;line-height:1.6;color:#758a96;margin:5px 0}#env-weather-status[data-state=error]{color:#ab602f}.env-weather-light{display:flex;align-items:center;gap:7px;font-size:11px;color:#667d89;margin-top:8px}.env-weather-light input{width:14px!important;height:14px!important}.env-sun-info{position:absolute;left:calc(var(--env-left) + 24px);top:calc(var(--nav-height) + 87px);font-size:11px;color:#6b7c85;z-index:5;pointer-events:none}.env-timeline #env-now{font-size:11px;padding:5px 8px;gap:4px;min-height:34px}.env-timeline #env-now .cad-command-icon{width:17px;height:17px}.app-mode-env #env-location-slot:has(select:not([hidden])){display:flex;flex-direction:column-reverse;gap:5px}.env-sun-stamp{left:calc(var(--env-left) + 24px);top:calc(var(--nav-height) + 104px);font-size:11px;color:#72838d}body.app-mode-env :is(.env-workbench,.env-panel,.env-workflow-left){font-size:12px;font-weight:400}body.app-mode-env :is(.env-workbench,.env-panel,.env-workflow-left) :is(h1,h2,h3,h4,b,strong,th,button,summary,input,select){font-weight:400}body.app-mode-env .env-panel .section>summary{font-size:13px;font-weight:400}#env-compare-dialog :is(h2,th,b,strong,button){font-weight:400}#schedule-workspace{--quote-ink:#203447;--quote-muted:#6a7e91;--quote-line:#dce4ec;background:#f5f8fa;color:var(--quote-ink);font:13px/1.5 Segoe UI,Microsoft YaHei,sans-serif;grid-template-columns:160px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}#schedule-workspace{display:none;height:calc(100vh - var(--nav-height));overflow:hidden}body.app-mode-schedule #schedule-workspace{display:grid}body.app-mode-schedule .cad-shell,body.app-mode-schedule #stage{display:none}#schedule-workspace *{box-sizing:border-box}#schedule-workspace .schedule-index{grid-column:1;grid-row:1/3;padding:16px 8px;background:#fbfcfd;border-right:1px solid var(--quote-line)}#schedule-workspace .schedule-index h2{margin:0 8px 12px;font-size:14px;color:var(--quote-ink);text-align:left;letter-spacing:0}#schedule-workspace .schedule-index .schedule-filter{height:38px;min-height:38px;width:100%;margin:0 0 4px;padding:7px 8px;font-size:13px;line-height:20px;gap:8px;border-radius:5px;justify-content:flex-start;color:#385269}#schedule-workspace .schedule-index .schedule-filter.active{background:#e1f0fc;color:#0873c6;font-weight:600}#schedule-workspace .schedule-filter.active:before{display:none}#schedule-workspace .schedule-filter .cad-command-icon{width:20px;height:20px}#schedule-workspace .schedule-head{grid-column:2;padding:16px 16px 12px;background:transparent;border:0;overflow:visible}#schedule-workspace .schedule-head:after{display:none}#schedule-workspace .schedule-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px}#schedule-workspace .schedule-title{font:600 18px/1.4 Segoe UI,Microsoft YaHei,sans-serif;letter-spacing:0;margin:0 0 7px}#schedule-workspace .schedule-kicker{font-size:12px;color:var(--quote-muted);margin:0}#schedule-workspace .schedule-tools{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}#schedule-workspace button{cursor:pointer}#schedule-workspace .schedule-tools button{height:32px;padding:0 10px;border:1px solid #c8d5df;border-radius:4px;background:#fff;color:var(--quote-ink);font-size:13px;white-space:nowrap}#schedule-workspace .schedule-tools button.primary{background:#147f8b;border-color:#147f8b;color:#fff}#schedule-workspace .schedule-price-help{margin:12px 0 0;color:#71818c;font-size:11px;line-height:1.6}#schedule-workspace #schedule-currency-select{width:126px;height:30px}#schedule-workspace .schedule-summary{display:grid;grid-template-columns:.85fr 1.25fr .8fr 1.2fr;gap:0;margin-top:12px;border:1px solid var(--quote-line);border-radius:5px;background:#fff;padding:12px 0}#schedule-workspace .schedule-stat{border:0;border-right:1px solid var(--quote-line);padding:0 16px;min-height:48px;background:transparent}#schedule-workspace .schedule-stat:last-child{border:0}#schedule-workspace .schedule-stat>span{display:block}#schedule-workspace .schedule-stat span{font-size:13px;color:var(--quote-muted)}#schedule-workspace .schedule-stat strong{display:block;font:600 22px/1.3 Segoe UI,Microsoft YaHei,sans-serif;margin-top:5px;font-variant-numeric:tabular-nums}#schedule-workspace .schedule-stat.review strong{color:#bc601d}#schedule-workspace .schedule-stat .schedule-progress-line{display:flex;align-items:center;gap:12px}#schedule-workspace progress{width:80px;height:6px;border:0;border-radius:9px;appearance:none;background:#e4eaf0;accent-color:#147f8b}#schedule-workspace progress::-webkit-progress-bar{background:#e4eaf0;border-radius:9px}#schedule-workspace progress::-webkit-progress-value{background:#147f8b;border-radius:9px}#schedule-workspace .schedule-stat .schedule-total-value{display:flex;align-items:baseline;gap:0}#schedule-workspace #schedule-currency{font-size:22px;font-weight:650;color:var(--quote-ink)}#schedule-workspace #schedule-total-note{font-size:11px;margin-left:9px}#schedule-workspace .schedule-body{grid-column:2;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;padding:0 16px 12px}#schedule-workspace .schedule-content{display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;background:#fff;border:1px solid var(--quote-line);border-radius:5px;overflow:hidden}#schedule-workspace .schedule-content-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 4px;margin:0}#schedule-workspace .schedule-content-head h2{font-size:14px;margin:0}#schedule-workspace .schedule-content-head p{font-size:11px;color:var(--quote-muted);margin:0}#schedule-workspace .schedule-table-tools{display:flex;align-items:center;gap:9px;padding:7px 12px 9px}#schedule-workspace .schedule-table-tools input,#schedule-workspace select,#schedule-workspace #schedule-tax{height:30px;min-width:0;border:1px solid #cbd6e0;background:#fff;border-radius:4px;color:var(--quote-ink);padding:0 10px;font:13px Segoe UI,Microsoft YaHei,sans-serif}#schedule-workspace .schedule-table-tools input{width:230px;flex:1}#schedule-workspace select{max-width:125px}#schedule-workspace #schedule-visible-count{margin-left:auto;white-space:nowrap;color:var(--quote-muted);font-size:12px}#schedule-workspace .schedule-table-wrap{flex:1;min-height:0;overflow:auto;border:0;border-top:1px solid var(--quote-line);background:#fff}#schedule-workspace .schedule-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:13px}#schedule-workspace .schedule-table th{height:34px;background:#edf2f6;color:#3c5065;font-weight:600;border-bottom:1px solid var(--quote-line);padding:0 10px;text-align:left}#schedule-workspace .schedule-table td{height:38px;padding:4px 10px;border-bottom:1px solid #e7edf2}#schedule-workspace .schedule-table .num{font-family:Segoe UI,sans-serif;font-variant-numeric:tabular-nums;text-align:right}#schedule-workspace .schedule-table .spec{font-size:12px;color:#62768a}#schedule-workspace .schedule-row-number{font-size:12px;color:#8190a0;text-align:center}#schedule-workspace .schedule-row-select{border:0;background:transparent;color:inherit;padding:3px 0;font:600 13px/1.5 Microsoft YaHei,sans-serif;text-align:left;display:flex;align-items:center;gap:5px}#schedule-workspace .schedule-row-select .cad-command-icon{width:16px;height:16px;flex-shrink:0}#schedule-workspace .schedule-table tr:hover td{background:#f5f9fc}#schedule-workspace .schedule-table tr.is-selected td{background:#eaf4fc}#schedule-workspace .schedule-table tr.is-selected.needs-review td{background:#fff5e7}#schedule-workspace .schedule-table input{width:100%;height:28px;border:1px solid #c7d4df;border-radius:4px;padding:0 8px;background:#fff;color:var(--quote-ink);font:13px Segoe UI,sans-serif;text-align:right;appearance:textfield}#schedule-workspace .schedule-table input::-webkit-inner-spin-button{appearance:none}#schedule-workspace :is(button,input,select):focus-visible{outline:2px solid #168be0;outline-offset:2px}#schedule-workspace .schedule-review,#schedule-workspace .schedule-ok{display:inline-block;border-radius:3px;font-size:11px;padding:3px 7px;white-space:nowrap}#schedule-workspace .schedule-review{color:#b35b17;background:#ffead2}#schedule-workspace .schedule-ok{color:#407278;background:#edf5f4}#schedule-workspace .schedule-inspector{min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}#schedule-workspace .schedule-inspector>.schedule-panel:first-child{min-height:0;overflow:auto}#schedule-workspace .schedule-panel{border:1px solid var(--quote-line);border-radius:5px;background:#fff;padding:14px}#schedule-workspace .schedule-panel h2{font-size:14px;line-height:1.4;margin:0 0 12px}#schedule-workspace .schedule-detail-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}#schedule-workspace .schedule-detail-title h3{font-size:14px;margin:0}#schedule-workspace .schedule-detail-label{display:block;color:var(--quote-muted);font-size:12px;margin:14px 0 3px}#schedule-workspace #schedule-detail-quantity{font-size:22px;line-height:1.3;font-variant-numeric:tabular-nums}#schedule-workspace .schedule-panel p{font-size:12px;line-height:1.6;margin:4px 0;color:#526980;overflow-wrap:anywhere}#schedule-workspace .schedule-detail-review{border-top:1px solid var(--quote-line);margin-top:12px;padding-top:10px}#schedule-workspace .schedule-detail-review h3{font-size:13px;margin:0 0 7px}#schedule-workspace #schedule-locate{height:34px;border:0;background:transparent;color:#0873c6;padding:0;margin-top:10px;font-size:13px;gap:8px;justify-content:flex-start}#schedule-workspace button:disabled{cursor:default;opacity:.5}#schedule-workspace #schedule-location-note{font-size:11px;color:var(--quote-muted)}#schedule-workspace .schedule-quote-panel{margin:0}#schedule-workspace .schedule-quote-panel h2{margin-bottom:14px}#schedule-workspace .schedule-quote-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0;font-size:13px;color:#60758a}#schedule-workspace .schedule-quote-line strong{font-weight:500;color:var(--quote-ink);font-variant-numeric:tabular-nums}#schedule-workspace #schedule-tax{width:74px;height:30px;text-align:right;margin-right:5px}#schedule-workspace .schedule-quote-total{border-top:1px solid var(--quote-line);padding-top:12px;margin-top:12px;color:var(--quote-ink);font-size:14px}#schedule-workspace .schedule-quote-total strong{font-size:22px;font-weight:650}#schedule-workspace .schedule-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;background:#fff;border-top:1px solid var(--quote-line);padding:5px 16px;min-height:30px;color:var(--quote-muted);font-size:12px}#schedule-workspace #schedule-unpriced{font-size:12px;color:#b35b17;margin:0;font-family:inherit}#schedule-workspace #schedule-unpriced.is-complete{color:#407278}#schedule-workspace .schedule-empty{height:160px;text-align:center;color:var(--quote-muted)}@media (max-width:1250px){#schedule-workspace{grid-template-columns:150px minmax(0,1fr)}#schedule-workspace .schedule-head{padding:18px 16px 14px}#schedule-workspace .schedule-body{padding:0 16px 12px;grid-template-columns:minmax(0,1fr) 246px;gap:12px}#schedule-workspace .schedule-stat{padding:0 16px}#schedule-workspace .schedule-progress-line{flex-wrap:wrap}#schedule-workspace #schedule-total-note{display:block;margin:0}#schedule-workspace .schedule-stat .schedule-total-value{flex-wrap:wrap}#schedule-workspace .schedule-title{font-size:18px}#schedule-workspace .schedule-tools button{font-size:12px;padding:0 7px}#schedule-workspace .schedule-content-head p{display:none}#schedule-workspace .schedule-panel{padding:14px}}@media (max-width:1000px){#schedule-workspace{height:calc(100dvh - var(--nav-height));grid-template-columns:150px minmax(0,1fr);overflow:auto;grid-template-rows:auto 1fr auto}#schedule-workspace .schedule-index .schedule-filter{font-size:12px;padding:8px;gap:7px}#schedule-workspace .schedule-title-row{flex-wrap:wrap}#schedule-workspace .schedule-tools{width:auto;margin:0;overflow:visible}#schedule-workspace .schedule-summary{grid-template-columns:1fr 1fr;row-gap:16px}#schedule-workspace .schedule-stat:nth-child(2){border:0}#schedule-workspace .schedule-body{display:flex;flex-direction:column;overflow:visible}#schedule-workspace .schedule-content{min-height:390px;flex-shrink:0}#schedule-workspace .schedule-table-wrap{max-height:550px}#schedule-workspace .schedule-inspector{overflow:visible;display:grid;grid-template-columns:1fr 1fr;align-items:start;flex-shrink:0}#schedule-workspace .schedule-quote-panel{margin:0}#schedule-workspace .schedule-table-tools,#schedule-workspace .schedule-foot{flex-wrap:wrap}}@media (max-width:600px){#schedule-workspace{grid-template-columns:minmax(0,1fr)}#schedule-workspace .schedule-index{grid-column:1;grid-row:auto;display:flex;overflow:auto;padding:8px;gap:6px;border-right:0;border-bottom:1px solid var(--quote-line)}#schedule-workspace .schedule-index h2{display:none}#schedule-workspace .schedule-index .schedule-filter{width:auto;flex-shrink:0;margin:0}#schedule-workspace .schedule-head,#schedule-workspace .schedule-body{grid-column:1}#schedule-workspace .schedule-title{font-size:18px}#schedule-workspace .schedule-tools{flex-wrap:wrap}#schedule-workspace .schedule-stat strong{font-size:22px}#schedule-workspace .schedule-inspector{grid-template-columns:1fr}#schedule-workspace .schedule-content{min-height:360px}#schedule-workspace .schedule-foot{padding:10px 16px}}body{--nav-height:36px}#app-navigation{width:100vw;max-width:100vw;box-sizing:border-box}#app-navigation{position:relative;z-index:300;isolation:isolate;display:grid;grid-template-columns:150px minmax(0,1fr) auto;height:var(--nav-height);padding:0 20px 0 0;gap:0;background:#283b47;border-bottom:1px solid #344c5a;color:#d6e0e8;font-family:Segoe UI,Microsoft YaHei,sans-serif}#app-navigation .cad-logo-menu{width:150px;height:100%;z-index:2}#app-navigation .brand{display:flex;align-items:center;justify-content:flex-start;height:100%;gap:11px;padding:0 22px;border:0;color:#eff5fa;font-size:20px;font-weight:600;letter-spacing:.06em;background:transparent}#app-navigation .brand-mark{width:28px;height:28px;flex:none;stroke:#008aff}#app-navigation .workspace-tabs{display:flex;align-items:stretch;height:100%;min-width:0;padding:0 0 0 6px;gap:0;overflow-x:auto;scrollbar-width:none}#app-navigation .workspace-tabs button{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:9px;min-width:98px;height:100%;padding:0 18px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#d0dbe4;font:500 15px Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;cursor:pointer}#app-navigation .workspace-tabs .cad-command-icon{width:22px;height:22px;flex:none;--cad-icon-ink:#cbd7df;--cad-icon-accent:#cbd7df}#app-navigation .workspace-tabs button:hover{background:#ffffff09;color:#fff}#app-navigation .workspace-tabs button.active{border-bottom-color:#008aff;color:#fff;background:#ffffff04}#app-navigation .workspace-tabs button.active .cad-command-icon{--cad-icon-ink:#008aff;--cad-icon-accent:#008aff}#app-navigation .project-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;width:auto;height:100%;padding:0;margin:0;border:0;color:inherit;font:14px Segoe UI,Microsoft YaHei,sans-serif;letter-spacing:0}#app-navigation .project-meta:after{display:none}#app-navigation .nav-icon-button{position:relative;display:grid;place-items:center;flex:none;width:38px;height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:#cbd7df;cursor:pointer}#app-navigation .nav-icon-button .cad-command-icon{width:23px;height:23px;--cad-icon-ink:#cbd7df;--cad-icon-accent:#cbd7df}#app-navigation .nav-icon-button:hover,#app-navigation .nav-icon-button[aria-expanded=true]{background:#ffffff10}#app-navigation .nav-team-button{display:flex;align-items:center;gap:6px;height:32px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:#d5e0e7;font:13px Microsoft YaHei,sans-serif;cursor:pointer}#app-navigation .nav-team-button:hover,#app-navigation .nav-team-button[aria-expanded=true]{background:#ffffff10}#app-navigation .nav-team-button .cad-command-icon{width:21px;height:21px;--cad-icon-ink:#cbd7df;--cad-icon-accent:#008aff}#app-navigation .nav-icon-button[data-attention=true]:after{content:"";position:absolute;right:8px;top:6px;width:5px;height:5px;border-radius:50%;background:#38a9ff;border:2px solid #283b47}#app-navigation button:focus-visible{outline:2px solid #41afff;outline-offset:-3px}#app-navigation .cad-logo-panel{z-index:10;top:100%;max-height:calc(100dvh - var(--nav-height) - 8px);font-size:13px}#app-navigation .nav-panel{position:absolute;z-index:10;top:calc(100% + 8px);right:20px;width:320px;max-width:calc(100vw - 24px);max-height:calc(100dvh - var(--nav-height) - 24px);overflow:auto;padding:20px;border:1px solid #d7e2eb;border-radius:6px;background:#fff;box-shadow:0 10px 28px #172c4326;color:#24384d;font-size:13px;letter-spacing:0}#app-navigation .nav-panel[hidden]{display:none}#app-navigation .nav-panel h2{margin:0 0 17px;font-size:17px}#app-navigation .nav-panel p{margin:8px 0;color:#6c7e90;line-height:1.6;font-size:12px}#app-navigation .nav-panel button{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:8px 10px;margin:8px 0;border:1px solid #d8e3ed;border-radius:4px;background:#f8fbfd;color:#28465e;font:13px Microsoft YaHei,sans-serif;text-align:left;cursor:pointer}#app-navigation .nav-panel .cad-command-icon{width:22px;height:22px;flex:none}#app-navigation .nav-panel label{display:block;font-size:13px;margin:14px 0 7px}#app-navigation .nav-panel input,#app-navigation .nav-panel select{width:100%;height:36px;padding:0 10px;border:1px solid #c9d6e1;border-radius:4px;color:#263e52;background:#fff;font:14px Microsoft YaHei,sans-serif;box-sizing:border-box}#app-navigation .nav-panel select:disabled{color:#7a8b98;background:#f3f6f8}#app-navigation .nav-cloud-projects{margin-top:20px;padding-top:15px;border-top:1px solid #e1e8ee}#app-navigation .nav-cloud-projects h3{margin:0 0 7px;color:#29465c;font-size:14px}#app-navigation .nav-cloud-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}#app-navigation .nav-cloud-actions button{margin:8px 0}#app-navigation .nav-cloud-projects>button{justify-content:center}#app-navigation .nav-settings-panel{width:360px;padding:0;background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink);scrollbar-width:thin;scrollbar-color:var(--ui-line) transparent}#app-navigation .nav-settings-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 14px;border-bottom:1px solid var(--ui-line);background:color-mix(in srgb,var(--ui-surface) 94%,transparent);backdrop-filter:blur(10px)}#app-navigation .nav-settings-head h2{margin:2px 0 0;color:var(--ui-ink);font-size:17px;line-height:1.25}#app-navigation .nav-settings-kicker{display:block;color:var(--ui-muted);font-size:10px;font-weight:600;letter-spacing:.12em}#app-navigation .nav-settings-scope{flex:none;padding:4px 8px;border:1px solid var(--ui-line);border-radius:999px;background:var(--ui-panel);color:var(--ui-muted);font-size:10px;white-space:nowrap}#app-navigation .nav-settings-form{display:grid;gap:13px;padding:16px 18px 18px}#app-navigation .nav-settings-field{display:grid;gap:6px}#app-navigation .nav-settings-field>label{margin:0;color:var(--ui-ink);font-size:12px;font-weight:600}#app-navigation .nav-settings-panel :is(input,select){height:38px;background:var(--ui-control);border:1px solid var(--ui-line);border-radius:5px;color:var(--ui-ink);font-size:13px;transition:border-color .1s ease,box-shadow .1s ease,background-color .1s ease}#app-navigation .nav-settings-panel :is(input,select):hover:not(:disabled){border-color:color-mix(in srgb,var(--ui-accent) 55%,var(--ui-line))}#app-navigation .nav-settings-panel :is(input,select):focus-visible{outline:0;border-color:var(--ui-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-accent) 22%,transparent)}#app-navigation .nav-settings-panel select:disabled{background:var(--ui-control);color:var(--ui-muted);opacity:.62}#app-navigation .nav-settings-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:1px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:6px;overflow:hidden}#app-navigation .nav-settings-meta span{display:grid;gap:3px;padding:9px 10px;color:var(--ui-muted);font-size:10px}#app-navigation .nav-settings-meta span+span{border-left:1px solid var(--ui-line)}#app-navigation .nav-settings-meta strong{color:var(--ui-ink);font-size:11px;font-weight:600}#app-navigation .nav-settings-form>button.primary{min-height:40px;margin:0}#app-navigation .nav-field-status,#app-navigation .nav-form-status{min-height:0;margin:0;color:var(--ui-muted);font-size:11px;line-height:1.45}#app-navigation .nav-field-status:empty,#app-navigation .nav-form-status:empty{display:none}#app-navigation .nav-cloud-projects{display:grid;gap:12px;margin:0;padding:16px 18px 18px;border-top:1px solid var(--ui-line);background:color-mix(in srgb,var(--ui-panel) 45%,var(--ui-surface))}#app-navigation .nav-settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}#app-navigation .nav-settings-section-head h3{margin:0;color:var(--ui-ink);font-size:14px}#app-navigation .nav-settings-section-head #nav-cloud-status{display:flex;align-items:center;gap:6px;margin:4px 0 0;color:var(--ui-muted);font-size:11px;line-height:1.4}#app-navigation .nav-settings-section-head #nav-cloud-status:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--ui-accent)}#app-navigation .nav-cloud-actions{gap:8px}#app-navigation .nav-cloud-actions button{justify-content:center;min-height:36px;margin:0;background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}#app-navigation .nav-cloud-history{display:grid;gap:10px;margin-top:2px;padding:12px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-surface)}#app-navigation .nav-cloud-history>button{justify-content:center;min-height:36px;margin:0;background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}#app-navigation .nav-panel button:disabled{cursor:not-allowed;opacity:.55}#app-navigation .nav-panel input:focus-visible{outline:2px solid #008aff;outline-offset:1px}#app-navigation .nav-panel button.primary{justify-content:center;background:#147f8b;color:#fff;border-color:#147f8b}#app-navigation .nav-panel button.primary .cad-command-icon{--cad-icon-ink:#fff}#app-navigation .project-center{width:520px;padding:0;overflow:hidden}#app-navigation .project-center-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 12px;border-bottom:1px solid #e1e8ee}#app-navigation .project-center-head h2{margin:0 0 2px}#app-navigation .project-center-head p{margin:0}#app-navigation .project-center-head button{width:auto;min-width:124px;margin:0}#app-navigation .project-center-filters{display:grid;grid-template-columns:1fr 150px;gap:5px 10px;padding:14px 20px 8px}#app-navigation .project-center-filters label{margin:0;color:#5f7284;font-size:11px}#app-navigation .project-center-toolbar{display:flex;align-items:center;justify-content:space-between;padding:3px 20px 8px;color:#607486}#app-navigation .project-center-toolbar button{width:auto;min-height:32px;margin:0;padding:5px 9px}#app-navigation #project-center-message{min-height:19px;margin:0;padding:0 20px 7px;color:#526b7f}#app-navigation #project-center-message[data-state=error]{color:#b42318}#app-navigation .project-center-list{max-height:min(540px,calc(100dvh - 260px));overflow:auto;padding:0 12px 14px}#app-navigation .project-card{padding:12px 9px;border-top:1px solid #e6edf2}#app-navigation .project-card:first-child{border-top:0}#app-navigation .project-card-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}#app-navigation .project-card-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#213d52}#app-navigation .project-card-title time{flex:none;color:#788997;font-size:11px}#app-navigation .project-card-status{margin:3px 0 8px;color:#657a8c;font-size:11px}#app-navigation .project-card-status[data-state=conflict]{color:#b42318}#app-navigation .project-card-actions{display:flex;flex-wrap:wrap;gap:5px}#app-navigation .project-card-actions button,#app-navigation .project-revision button{width:auto;min-height:30px;margin:0;padding:4px 8px;font-size:12px}#app-navigation .project-card-actions button[data-action=delete]{color:#b42318;border-color:#efc0bb}#app-navigation .project-revisions{margin-top:9px;padding:8px;background:#f4f7f9;border-radius:4px}#app-navigation .project-revision{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}#app-navigation .project-empty{padding:32px 16px;text-align:center;color:#718392}#app-navigation .team-center{width:420px}#app-navigation .team-center form{padding:4px 0 13px;border-bottom:1px solid #e1e8ee}#app-navigation .team-center h3{margin:14px 0 4px;font-size:13px;color:#40586b}#app-navigation .team-member-list{margin-top:10px}#app-navigation .team-member{display:grid;grid-template-columns:minmax(0,1fr) 105px 72px;align-items:center;gap:8px;padding:10px 0;border-top:1px solid #e7edf2}#app-navigation .team-member:first-child{border-top:0}#app-navigation .team-member strong,#app-navigation .team-member small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .team-member small{margin-top:3px;color:#718391}#app-navigation .team-member select{height:32px}#app-navigation .team-member button{min-height:32px;margin:0;padding:4px 7px;color:#b42318}#app-navigation .team-role{justify-self:end;padding:4px 8px;border-radius:12px;background:#eaf2f6;color:#4f687b;font-size:11px}#app-navigation #team-message[data-state=error]{color:#b42318}#app-navigation #team-message[data-state=success]{color:#14755e}.project-center-dialog{width:min(420px,calc(100vw - 30px));padding:22px;border:1px solid #ccd9e3;border-radius:7px;box-shadow:0 18px 55px #10283a40;color:#233d50}.project-center-dialog::backdrop{background:#10253580}.project-center-dialog h2{margin:0 0 10px;font-size:19px}.project-center-dialog p{color:#65798a;line-height:1.5}.project-center-dialog label{display:block;margin:12px 0 6px;font-size:13px}.project-center-dialog input{box-sizing:border-box;width:100%;height:38px;padding:0 10px;border:1px solid #bdcbd6;border-radius:4px}.project-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.project-dialog-actions button{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 13px;border:1px solid #ccd8e1;border-radius:4px;background:#f7fafc;color:#29465b}.project-dialog-actions button.primary{background:#147f8b;border-color:#147f8b;color:#fff}.project-dialog-actions .cad-command-icon{width:20px;height:20px}@media (max-width:1100px){#app-navigation{grid-template-columns:130px minmax(0,1fr) auto;padding-right:12px}#app-navigation .cad-logo-menu{width:130px}#app-navigation .brand{padding:0 16px;font-size:18px}#app-navigation .workspace-tabs button{min-width:87px;padding:0 12px;font-size:14px}#app-navigation .project-meta{gap:2px}}@media (max-width:760px){#app-navigation{grid-template-columns:112px minmax(0,1fr) auto;padding-right:8px}#app-navigation .cad-logo-menu{width:112px}#app-navigation .brand{padding:0 12px;font-size:17px;gap:7px}#app-navigation .brand-mark{width:25px;height:25px}#app-navigation .workspace-tabs button{min-width:78px;padding:0 10px;gap:6px;font-size:13px}#app-navigation .workspace-tabs .cad-command-icon{width:20px;height:20px}#app-navigation .nav-icon-button{width:32px}#app-navigation .nav-panel{right:8px}}@media (max-width:480px){#app-navigation{grid-template-columns:94px minmax(0,1fr) auto}#app-navigation .cad-logo-menu{width:94px}#app-navigation .brand{padding:0 8px;font-size:16px;gap:5px}#app-navigation .brand-mark{width:23px;height:23px}#app-navigation .project-meta{gap:0}#app-navigation .nav-icon-button{width:28px}#app-navigation .nav-icon-button .cad-command-icon{width:20px;height:20px}#app-navigation .nav-settings-panel{width:calc(100vw - 16px)}#app-navigation .nav-settings-meta{grid-template-columns:1fr}#app-navigation .nav-settings-meta span+span{border-top:1px solid var(--ui-line);border-left:0}}.cad-right #cad-inspector{padding-bottom:14px;color:#334b60}.cad-right #cad-inspector>.inspector-title{position:sticky;top:0;z-index:3;margin:0;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #dbe4ec;font-size:15px;line-height:1.5}.cad-right #cad-inspector .cad-property-section{padding:0 0 6px;margin:0;border-bottom:1px solid #e0e7ed}.cad-right #cad-inspector .cad-property-section>summary{min-height:39px;padding:9px 16px;font-size:12px;font-weight:600;color:#405a70;background:#f1f5f8;gap:12px}.cad-right #cad-inspector .cad-property-section>summary:focus-visible{outline:2px solid #008aff;outline-offset:-2px}.cad-right #cad-inspector .cad-property-section>summary:after{font-size:18px;color:#8293a2}.cad-right #cad-inspector .property-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr);align-items:center;gap:10px;padding:6px 16px;margin:0;min-width:0;color:#51687b;font-size:12px}.cad-right #cad-inspector .property-field>span{min-width:0;line-height:1.5}#cad-inspector .property-field input,#cad-inspector .property-field select{min-width:0;width:100%;box-sizing:border-box}body.app-mode-cad .cad-right .property-field.cad-layer-row{grid-template-columns:18px minmax(60px,1fr) repeat(4,22px) 22px;gap:3px;align-items:center;padding:8px 10px;border-bottom:1px solid #e1e8ee}body.app-mode-cad .cad-layer-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;font-size:12px}body.app-mode-cad .cad-layer-toolbar select{min-width:0;width:100%;height:28px}body.app-mode-cad .cad-layer-row>.cad-layer-toggle{display:grid;justify-items:center;gap:1px;font-size:10px;line-height:1;white-space:nowrap}body.app-mode-cad .cad-layer-row>input[type=color]{grid-column:1/2;grid-row:2;width:18px;height:24px;padding:1px}body.app-mode-cad .cad-layer-row>select:nth-of-type(1){grid-column:2/5;grid-row:2;width:100%}body.app-mode-cad .cad-layer-row>select:nth-of-type(2){grid-column:5/8;grid-row:2;width:100%}body.app-mode-cad .cad-layer-remove{grid-column:7;grid-row:1;min-width:22px;padding:0}.cad-right #cad-inspector .property-field input,.cad-right #cad-inspector .property-field select{height:31px;padding:4px 8px;border:1px solid #cbd8e2;border-radius:4px;background:#fff;color:#233e54;font-size:12px}#cad-inspector input:focus-visible,#cad-inspector select:focus-visible,#cad-inspector button:focus-visible{outline:2px solid #168de0;outline-offset:1px}.cad-right #cad-inspector .property-info{margin:8px 16px 12px;font-size:11px;line-height:1.7;color:#8091a0;overflow-wrap:anywhere}#cad-inspector .cad-constraint-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;padding:12px;margin:0;border:0;background:transparent}#cad-inspector .cad-constraint-tools>span{grid-column:1/-1;font-size:11px;line-height:1.6;color:#798b9b;margin-bottom:3px;overflow-wrap:anywhere}#cad-inspector .cad-constraint-tools .tool-button{display:flex;align-items:center;justify-content:center;gap:5px;height:34px;min-width:0;padding:0 5px;border:1px solid #cfdae4;border-radius:4px;background:#fff;color:#36566d;font-size:11px;line-height:1.2;white-space:nowrap}#cad-inspector .cad-constraint-tools .tool-button>span{white-space:nowrap;min-width:0}#cad-inspector .cad-constraint-tools .cad-command-icon{width:20px;height:20px;flex-shrink:0}#cad-inspector .cad-constraint-tools .tool-button:hover:not(:disabled){background:#eff7fd;border-color:#8bbce0}#cad-inspector .cad-constraint-tools .tool-button:disabled{opacity:.45;cursor:default}#cad-inspector .cad-constraint-tools>.tool-button{grid-column:auto}#cad-inspector .cad-constraint-tools>.tool-button:last-child{grid-column:1/-1;margin-top:3px}#cad-inspector .cad-constraint-tools>.cad-constraint-parameters{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;margin:5px 0;padding:12px 0;border-top:1px solid #e2e9ef;border-bottom:1px solid #e2e9ef}#cad-inspector .cad-constraint-parameters>.tool-button{grid-column:auto;width:100%}#cad-inspector .cad-constraint-value{position:relative;min-width:0}#cad-inspector .cad-constraint-value input{width:100%;height:34px;padding:4px 30px 4px 8px;border:1px solid #cbd8e2;border-radius:4px;font-size:12px;appearance:textfield}#cad-inspector .cad-constraint-value input::-webkit-inner-spin-button{appearance:none}#cad-inspector .cad-constraint-value>span{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#8293a2;font-size:11px;pointer-events:none}#cad-inspector .cad-constraint-list{grid-column:1/-1;display:grid;gap:8px;min-width:0}#cad-inspector .cad-constraint-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:8px;background:#f2f6f9;border-radius:4px;min-width:0;font-size:11px;color:#61798b}#cad-inspector .cad-constraint-row>span{overflow-wrap:anywhere;line-height:1.6}#cad-inspector .cad-constraint-row>.tool-button{justify-self:end;grid-column:auto;min-width:124px;height:30px}.cad-right #cad-inspector>.danger-button{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 32px);height:34px;margin:14px 16px 0;border:1px solid #e5c8bc;border-radius:4px;background:#fff9f6;color:#b36748;font-size:12px;white-space:nowrap}.cad-right #cad-inspector>.danger-button .cad-command-icon{width:20px;height:20px;flex-shrink:0}.cad-property-dialog #cad-inspector .cad-constraint-tools{padding:0}.cad-property-dialog #cad-inspector .cad-constraint-parameters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:root{--workspace-type-note:11px;--workspace-type-body:12px;--workspace-type-control:13px;--workspace-type-section:14px;--workspace-type-page:16px;--workspace-type-metric:18px}body :is(.cad-shell,.env-workbench,.env-panel,.env-workflow-left,#schedule-workspace) :is(button,input,select,summary):not(svg *){font-size:var(--workspace-type-control)!important}body :is(.cad-shell,.env-workbench,.env-panel,.env-workflow-left,#schedule-workspace) :is(p,label,table,td,th):not(svg *){font-size:var(--workspace-type-body)!important}body :is(.cad-shell,.env-workbench,.env-panel,.env-workflow-left,#schedule-workspace) :is(h2,.inspector-title):not(svg *){font-size:var(--workspace-type-section)!important;font-weight:600!important}body :is(.cad-shell,.env-workbench,.env-panel,.env-workflow-left,#schedule-workspace) h3:not(svg *){font-size:var(--workspace-type-control)!important;font-weight:600!important}body :is(.env-project-strip h1,#schedule-workspace .schedule-title){font-size:var(--workspace-type-page)!important;font-weight:600!important}body :is(.env-project-strip h1 b,.env-project-strip h1 span){font-size:inherit;font-weight:inherit}body :is(.workflow-note,.property-info,.env-method-note,.env-settings #env-analysis-state,.env-observations p,.env-weather-light,#env-weather-status,.review-panel-head p,.review-boundary,.review-issue small,.review-detail dt,.schedule-kicker,#schedule-workspace .schedule-content-head p,#schedule-workspace #schedule-location-note){font-size:var(--workspace-type-note)!important}body :is(.review-issue strong,.review-detail-title strong,.review-detail dd,.plot-sheet strong,.schedule-row-select){font-size:var(--workspace-type-body)!important}body .cad-shell .three-objects summary{line-height:1.5;padding:6px 0}body .cad-shell .plot-library-head strong{font-size:var(--workspace-type-section)}body .cad-shell .cad-document-close{font-size:var(--workspace-type-control)}body :is(.env-key-values strong,#env-weather-summary strong,#schedule-workspace .schedule-stat strong,#schedule-currency,#schedule-detail-quantity,#schedule-workspace .schedule-quote-total strong){font-size:var(--workspace-type-metric)!important;font-weight:600!important}body :is(.env-key-values strong small,#env-weather-summary small){font-size:var(--workspace-type-body)!important;font-weight:400!important}#schedule-workspace .schedule-quote-total{font-size:var(--workspace-type-control)}#schedule-workspace .schedule-row-select{font-weight:400}body .roof-section-editor .inline:has(>.workflow-field){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body .roof-section-editor .inline>.workflow-field{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0}body .roof-section-editor .inline>.workflow-field>span{white-space:nowrap}body .roof-section-editor .inline>.workflow-field>input{width:100%;min-width:0}:root{--ui-ink: #233348;--ui-muted: #596b80;--ui-line: #d8e0e9;--ui-surface: #ffffff;--ui-panel: #f7f9fc;--ui-canvas: #f1f4f8;--ui-accent: #1463c7;--ui-accent-hover: #0d50a7;--ui-selected: #eaf2ff;--ui-error: #a52c36;--ui-shadow: 0 8px 28px #20344d1a}body.product-workspace{--nav-height: 92px;--toolbar-height: 40px;--ink: var(--ui-ink);--muted: var(--ui-muted);--line: var(--ui-line);--panel: var(--ui-surface);--paper: #fafbfd;--cyan: var(--ui-accent);--rail: #1d2b3e;--rail2: #243a55;background:var(--ui-canvas);color:var(--ui-ink);font-family:Segoe UI,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}body.product-workspace #app-navigation{height:var(--nav-height);grid-template-rows:48px;background:#1d2b3e;border-bottom:1px solid var(--ui-line);box-shadow:0 1px #1523360a}body.product-workspace #app-navigation .brand{font-size:19px;letter-spacing:.04em}body.product-workspace #app-navigation .workspace-tabs{gap:4px;padding:4px 0}body.product-workspace #app-navigation .workspace-tabs button{min-width:86px;padding:0 16px;border-radius:5px;border-bottom:0;font-size:14px}body.product-workspace #app-navigation .workspace-tabs button.active{background:#344963;color:#fff}body.product-workspace #app-navigation .workspace-tabs button.active .cad-command-icon{--cad-icon-ink: #8fcbff;--cad-icon-accent: #8fcbff}body.product-workspace .auth-account-trigger{height:34px;font-size:12px}body.product-workspace .auth-account-avatar{width:24px;height:24px;background:#346ca8}#workspace-context{position:absolute;inset:48px 0 0;display:flex;align-items:center;gap:20px;padding:0 18px;background:var(--ui-surface);color:var(--ui-ink);font-size:12px;border-top:1px solid #ffffff0d;letter-spacing:0}.workspace-identity{display:flex;align-items:center;gap:12px;min-width:0}.workspace-mode{color:var(--ui-muted);white-space:nowrap}.workspace-separator{color:#a9b6c6}.workspace-project{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-weight:600}.workspace-hint{color:var(--ui-muted);font-size:11px}.workspace-actions{display:flex;align-items:center;gap:14px;margin-left:auto;white-space:nowrap}.workspace-save-state{display:flex;align-items:center;gap:6px;color:var(--ui-muted);font-size:11px}.workspace-save-state .cad-command-icon{width:17px;height:17px}.workspace-save-state[data-state=error]{color:var(--ui-error)}.workspace-save-state[data-state=pending]{color:var(--ui-accent)}.workspace-save-state[data-state=saved]{color:#27704e}.workspace-network{color:#925112;font-size:11px}#workspace-context .workspace-save{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--ui-line);border-radius:5px;background:var(--ui-surface);color:var(--ui-ink);font-size:12px;cursor:pointer}#workspace-context .workspace-save:hover{background:var(--ui-selected);border-color:#8fb4e2}.workspace-save .cad-command-icon{width:20px;height:20px}body.product-workspace :is(.cad-left,.cad-right,.workflow-nav,.review-filter-nav,.env-sidebar,.env-settings,.schedule-index){background:var(--ui-surface);border-color:var(--ui-line)}body.product-workspace :is(.cad-toolbar,.cad-document-row,.workflow-toolbar,.cad-inspector-tabs){background:var(--ui-panel);border-color:var(--ui-line)}body.product-workspace :is(.cad-right-tab-view,.side-pane,.workflow-panel){color:var(--ui-ink)}body.product-workspace .cad-right{scrollbar-width:thin;scrollbar-color:#b8c5d3 transparent}body.product-workspace .cad-property-empty{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:6px;color:var(--ui-muted)}body.product-workspace .cad-property-empty strong{color:var(--ui-ink);font-size:13px}body.product-workspace .cad-property-empty span{font-size:12px;line-height:1.65}body.product-workspace :is(.cad-shell,.env-workbench,#schedule-workspace,dialog) :is(input,select,textarea){accent-color:var(--ui-accent)}body.product-workspace :is(.property-field,.workflow-field) :is(input,select){border-color:#cbd6e2;border-radius:5px;color:var(--ui-ink);background:#fff}body.product-workspace :is(.cad-shell,.env-workbench,#schedule-workspace,#workspace-context,dialog) :is(button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}body.product-workspace :is(.cad-shell,.env-workbench,#schedule-workspace,#workspace-context,dialog) button{transition:background-color .1s ease,border-color .1s ease,color .1s ease}body.product-workspace :is(.cad-shell,.env-workbench,#schedule-workspace,dialog) button:disabled{cursor:not-allowed;opacity:.5}body.product-workspace :is(.workflow-wide,.tool-button,.schedule-tools button,.env-toolbar button).primary,body.product-workspace #app-navigation .nav-panel button.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}body.product-workspace :is(.workflow-wide,.tool-button,.schedule-tools button,.env-toolbar button).primary:hover:not(:disabled){background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}body.product-workspace .primary .cad-command-icon{--cad-icon-ink: #fff;--cad-icon-accent: #fff}body.product-workspace :is(.workflow-nav button,.cad-category-button,.review-filter-nav button).active{background:var(--ui-selected);color:#124f9e;border-radius:5px}body.product-workspace :is(.workflow-nav button,.cad-category-button,.review-filter-nav button).active:before{background:var(--ui-accent)}body.product-workspace :is(.workflow-nav button,.cad-category-button):hover:not(.active){background:var(--ui-panel)}body.product-workspace :is(.workflow-section,.review-detail,.cad-property-section){border-color:var(--ui-line)}body.product-workspace :is(.workflow-note,.property-info,.review-boundary){color:var(--ui-muted);line-height:1.65}body.product-workspace .cad-inspector-tabs button.active{color:var(--ui-accent);background:#fff}body.product-workspace .cad-inspector-tabs button.active:after{background:var(--ui-accent)}body.product-workspace .workspace-mode-switch{background:#e7edf5;border-color:var(--ui-line);padding:3px;height:32px;border-radius:5px}body.product-workspace .workspace-mode-switch button{height:24px}body.product-workspace .workspace-mode-switch button.active{color:var(--ui-accent)}body.product-workspace .cad-document-tab{border-color:var(--ui-line);min-width:160px}body.product-workspace .cad-document-tab.active{border-top-color:var(--ui-accent)}body.product-workspace .cad-document-tab.active [role=tab]{color:var(--ui-ink)}body.product-workspace .cad-document-add{height:36px}body.product-workspace .cad-canvas-wrap{background-color:var(--paper);background-image:linear-gradient(#e8edf3 1px,transparent 1px),linear-gradient(90deg,#e8edf3 1px,transparent 1px),linear-gradient(#d4dde7 1px,transparent 1px),linear-gradient(90deg,#d4dde7 1px,transparent 1px)}body.product-workspace #cad-svg:focus{outline:none;outline-width:0}body.product-workspace.app-mode-cad{--plan-shell-top: #172431;--plan-shell-surface: #14232e;--plan-shell-raised: #1a2b36;--plan-shell-control: #0f1c25;--plan-shell-hover: #223845;--plan-shell-active: #274759;--plan-shell-border: #2b414e;--plan-shell-text: #d7e3e9;--plan-shell-muted: #8fa5b0;--plan-shell-accent: #55a9d6;--plan-canvas-bg: #0b151d;--plan-drawing-text: #c7d2d9;--plan-wall: #edf4f7;--plan-grid-minor: #12212a;--plan-grid-major: #1a2c36;--plan-door: #b8c7cf;--plan-door-arc: #728892;--plan-window-frame: #a9c8d6;--plan-window-glass: #5f8495;--plan-opening-hover: #4fb3e8;--plan-selection: #ff6b00;--orange: var(--plan-selection);--paper: var(--plan-canvas-bg)}body.product-workspace.app-mode-cad #workspace-context{background:var(--plan-shell-top);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad #workspace-context :is(.workspace-mode,.workspace-hint,.workspace-save-state){color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad #workspace-context .workspace-separator{color:var(--plan-shell-border)}body.product-workspace.app-mode-cad #workspace-context .workspace-save{background:var(--plan-shell-control);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad #workspace-context .workspace-save:hover{background:var(--plan-shell-hover);border-color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad :is(.cad-toolbar,.cad-document-row){background:var(--plan-shell-surface);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad :is(.cad-toolbar,.cad-document-row) button{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad :is(.cad-toolbar,.cad-document-row) button:hover{background:var(--plan-shell-hover);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-document-tab{background:var(--plan-shell-control);border-color:var(--plan-shell-border)}body.product-workspace.app-mode-cad .cad-document-tab.active{background:var(--plan-shell-raised);border-top-color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-document-tab.active [role=tab]{color:var(--plan-shell-text)}body.product-workspace.app-mode-cad :is(.cad-logo-panel,.cad-toolbar-menu-list){background:var(--plan-shell-raised);border-color:var(--plan-shell-border);color:var(--plan-shell-text);box-shadow:0 12px 30px #02080c80}body.product-workspace.app-mode-cad .cad-logo-panel :is(.cad-logo-section-title,.cad-toolbar-menu-list .tool-button),body.product-workspace.app-mode-cad .cad-toolbar-menu-list .tool-button{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-logo-panel section+section,body.product-workspace.app-mode-cad .cad-logo-panel .cad-logo-edit-actions{border-color:var(--plan-shell-border)}body.product-workspace.app-mode-cad :is(.cad-logo-panel,.cad-toolbar-menu-list) .tool-button:hover{background:var(--plan-shell-hover);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad :is(.cad-left,.cad-category-rail){background:var(--plan-shell-surface);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-category-button{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-category-button:hover:not(.active){background:var(--plan-shell-hover);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-category-button.active{background:var(--plan-shell-active);color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-category-button.active:before{background:var(--plan-shell-accent)}body.product-workspace.app-mode-cad :is(.cad-left,.cad-tool-drawer,.cad-logo-panel,.cad-toolbar-menu-list) .cad-command-icon{--cad-icon-ink: var(--plan-shell-muted);--cad-icon-accent: var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-tool-drawer{background:var(--plan-shell-raised);border-color:var(--plan-shell-border);color:var(--plan-shell-text);box-shadow:10px 0 28px #02080c80;scrollbar-color:var(--plan-shell-border) transparent}body.product-workspace.app-mode-cad .cad-tool-drawer-head{background:var(--plan-shell-top);border-color:var(--plan-shell-border)}body.product-workspace.app-mode-cad .cad-tool-drawer-head strong{color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-tool-close,body.product-workspace.app-mode-cad .cad-left .cad-tool-drawer .cad-tool-item{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-left .cad-tool-drawer .cad-tool-item :is(b,strong){color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-left .cad-tool-drawer .cad-tool-item:hover{background:var(--plan-shell-hover);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-left .cad-tool-drawer .cad-tool-item.active{background:var(--plan-shell-active);border-color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-left .cad-tool-drawer .cad-tool-item.active .cad-tool-item-label{color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad :is(.cad-right,.cad-right-tab-view){background:var(--plan-shell-surface);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-right{scrollbar-color:var(--plan-shell-border) transparent}body.product-workspace.app-mode-cad .cad-inspector-tabs{background:var(--plan-shell-raised);border-color:var(--plan-shell-border)}body.product-workspace.app-mode-cad .cad-inspector-tabs button{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-inspector-tabs button:hover{background:var(--plan-shell-hover);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-inspector-tabs button.active{background:var(--plan-shell-surface);color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-inspector-tabs button.active:after{background:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-property-empty{background:var(--plan-shell-raised);border-color:var(--plan-shell-border);color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-property-empty strong,body.product-workspace.app-mode-cad .cad-right-tab-view .inspector-title,body.product-workspace.app-mode-cad .cad-right #cad-inspector{color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-right [id=cad-inspector]>.inspector-title{background:var(--plan-shell-raised);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-property-section{border-color:var(--plan-shell-border)}body.product-workspace.app-mode-cad .cad-property-section>summary{color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-right #cad-inspector .cad-property-section>summary{background:var(--plan-shell-top);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-right #cad-inspector .cad-property-section>summary:after{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-right .property-field,body.product-workspace.app-mode-cad .cad-right .property-field>span,body.product-workspace.app-mode-cad .cad-right :is(.property-info,.property-subtitle,.cad-layer-note){color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-right :is(input,select,textarea){background:var(--plan-shell-control)!important;border-color:var(--plan-shell-border)!important;color:var(--plan-shell-text)!important;color-scheme:dark;accent-color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-right :is(input,textarea)::placeholder{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-right :is(input,select,textarea):focus{border-color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-right :is(.tool-button,button:not(.cad-inspector-tabs button)){border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-right #cad-inspector :is(.tool-button,button){background:var(--plan-shell-control);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-right :is(.tool-button,button:not(.cad-inspector-tabs button)):hover{background:var(--plan-shell-hover)}body.product-workspace.app-mode-cad .cad-right #cad-inspector :is(.cad-constraint-parameters,.cad-constraint-list,.cad-layer-row){border-color:var(--plan-shell-border)}body.product-workspace.app-mode-cad .cad-right #cad-inspector .cad-constraint-row{background:var(--plan-shell-raised);color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-right #cad-inspector>.danger-button{background:#2b2020;border-color:#70423c;color:#e6a18e}.app-mode-cad{--right-width:320px}.cad-plan-inspector .cad-inspector-tabs{height:42px}.cad-plan-inspector .cad-inspector-tabs button{padding:0 12px;font-size:12px;font-weight:550}.cad-plan-inspector .cad-inspector-tabs button.active{font-weight:650}.cad-plan-inspector .cad-inspector-tabs button.active:after{left:18px;right:18px}.cad-plan-inspector .cad-right-tab-view{height:calc(100% - 42px)}.cad-plan-inspector [id=cad-inspector]>.inspector-title{position:sticky;top:0;z-index:3;min-height:48px;padding:14px 16px;font-size:14px}.cad-plan-inspector :is(.cad-property-section>summary,.inspector-disclosure>summary){min-height:38px;height:auto;padding:9px 16px;font-size:12px}.cad-plan-inspector .property-field{grid-template-columns:minmax(0,1fr) 124px;gap:12px;min-height:42px;padding:5px 16px;font-size:12px}.cad-plan-inspector .property-field :is(input,select){height:32px;border-radius:4px}.cad-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:12px 16px;border-bottom:1px solid var(--plan-shell-border)}.cad-panel-heading-copy{display:grid;gap:3px}.cad-panel-heading-copy strong{color:var(--plan-shell-text);font-size:14px}.cad-panel-heading-copy span{color:var(--plan-shell-muted);font-size:11px}.cad-layer-count{padding:4px 7px;border:1px solid var(--plan-shell-border);border-radius:11px;color:var(--plan-shell-muted);font-size:10px}.cad-layer-toolbar{padding:10px 12px 6px}.cad-layer-filter{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px;color:var(--plan-shell-muted);font-size:11px}.cad-layer-filter select,.cad-layer-create :is(input,button){height:32px;border-radius:4px}.cad-layer-create{display:grid;grid-template-columns:1fr 58px;gap:7px;padding:4px 12px 10px}.cad-layer-list{display:grid;gap:8px;padding:0 10px}.cad-layer-row{display:grid;grid-template-areas:"main" "states" "style";gap:8px;padding:10px;border:1px solid var(--plan-shell-border);border-radius:6px;background:var(--plan-shell-raised)}.cad-layer-row.is-current{border-color:var(--plan-shell-accent);box-shadow:inset 3px 0 var(--plan-shell-accent)}.cad-layer-main{grid-area:main;display:grid;grid-template-columns:18px 1fr 32px auto;align-items:center;gap:7px}.cad-layer-main>input[type=radio]{width:16px;height:16px;margin:0}.cad-layer-main>input[type=text]{min-width:0;height:30px;font-weight:600}.cad-layer-main>input[type=text]:disabled{border-color:transparent!important;background:transparent!important;opacity:1}.cad-layer-main>input[type=color]{width:32px;height:28px;padding:3px}.cad-layer-main .cad-layer-remove{height:28px;padding:0 7px;color:var(--ui-error);font-size:10px}.cad-layer-states{grid-area:states;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.cad-layer-toggle{justify-content:center;min-width:0;height:28px;border:1px solid var(--plan-shell-border);border-radius:4px;color:var(--plan-shell-muted);font-size:10px}.cad-layer-toggle:has(input:checked){background:var(--plan-shell-active);color:var(--plan-shell-text)}.cad-layer-style{grid-area:style;display:grid;grid-template-columns:1fr 1fr;gap:7px}.cad-layer-style label{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:5px;color:var(--plan-shell-muted);font-size:10px}.cad-layer-style select{min-width:0;height:28px;padding:2px 5px;font-size:11px}.cad-settings-body{padding:5px 0 10px}.cad-plan-inspector :is(.cad-project-tree,.cad-block-panel,.cad-project-settings,.cad-dimension-settings)>summary{background:var(--plan-shell-top);color:var(--plan-shell-text)}.cad-plan-inspector :is(.cad-tree-node,.cad-tree-level>summary,.cad-tree-group>summary,.cad-tree-object,.cad-tree-reference,.cad-tree-reference-note){color:var(--plan-shell-muted)}.cad-plan-inspector :is(.cad-tree-project,.cad-tree-level-summary){color:var(--plan-shell-text)}.cad-plan-inspector .cad-tree-object:hover{background:var(--plan-shell-hover);color:var(--plan-shell-text)}@media (max-width:1150px){.app-mode-cad{--right-width:300px}.cad-plan-inspector .property-field{grid-template-columns:1fr 112px;padding-inline:12px}}body.product-workspace.app-mode-cad .cad-center{background:var(--plan-canvas-bg)}body.product-workspace.app-mode-cad .cad-canvas-wrap{background-color:var(--plan-canvas-bg);background-image:linear-gradient(var(--plan-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--plan-grid-minor) 1px,transparent 1px),linear-gradient(var(--plan-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--plan-grid-major) 1px,transparent 1px)}body.product-workspace.app-mode-cad #cad-svg .cad-floor{fill:#101b2380;stroke:#536570}body.product-workspace.app-mode-cad #cad-svg .cad-wall{stroke:var(--plan-wall)!important}body.product-workspace.app-mode-cad #cad-svg .cad-opening-cut{fill:var(--plan-canvas-bg)!important}body.product-workspace.app-mode-cad #cad-svg .cad-opening-jamb.window{stroke:var(--plan-window-frame)!important}body.product-workspace.app-mode-cad #cad-svg .cad-opening-jamb.door,body.product-workspace.app-mode-cad #cad-svg :is(.cad-opening.door,.cad-opening.doubleDoor,.cad-opening.slidingDoor,.cad-door-leaf){stroke:var(--plan-door)!important}body.product-workspace.app-mode-cad #cad-svg .cad-opening.window{stroke:var(--plan-window-glass)!important}body.product-workspace.app-mode-cad #cad-svg .cad-door-arc{stroke:var(--plan-door-arc)!important}body.product-workspace.app-mode-cad #cad-svg :is(.cad-opening,.cad-opening-jamb,.cad-door-swing).cad-preselected{stroke:var(--plan-opening-hover)!important}body.product-workspace.app-mode-cad #cad-svg :is(.cad-opening-hit,.cad-opening-hit-swing).cad-preselected{stroke:transparent!important}body.product-workspace.app-mode-cad #cad-svg .cad-furniture rect{fill:none;stroke:#728590}body.product-workspace.app-mode-cad #cad-svg .cad-furniture text{fill:#becbd3}body.product-workspace.app-mode-cad #cad-svg :is(.cad-annotation-line,.cad-extension-line){stroke:#b6c6cf!important}body.product-workspace.app-mode-cad #cad-svg :is(.cad-annotation-label,.cad-annotation-text,.cad-symbol-label){fill:var(--plan-drawing-text)!important;stroke:var(--plan-canvas-bg)!important}body.product-workspace.app-mode-cad #cad-svg .cad-axis-bubble{fill:var(--plan-axis-bubble-fill)!important;stroke:var(--plan-axis-bubble-border)!important}body.product-workspace.app-mode-cad #cad-svg .cad-auto-grid-axis .cad-symbol-label{fill:var(--plan-axis-bubble-text)!important;stroke:none!important}body.product-workspace.app-mode-cad #cad-svg .cad-dimension-arrow{fill:var(--plan-drawing-text)!important}body.product-workspace.app-mode-cad #cad-svg :is(.cad-wall,.cad-slab,.cad-opening,.cad-opening-jamb,.cad-door-swing).is-selected{stroke:var(--plan-selection)!important}body.product-workspace.app-mode-cad #cad-svg .cad-furniture.is-selected :is(rect,.symbol-line,.symbol-detail,.symbol-pattern,.symbol-fill,.symbol-wood,.symbol-deck,.symbol-tile,.symbol-lawn,.symbol-gravel,.symbol-rug,.symbol-tree,.symbol-shrub,.cad-structure-detail,.cad-structure-arrow){stroke:var(--plan-selection)!important}body.product-workspace.app-mode-cad #cad-svg .cad-furniture.is-selected .symbol-north{fill:var(--plan-drawing-text)!important;stroke:none!important}body.product-workspace.app-mode-cad #cad-svg .cad-furniture.cad-preselected .symbol-north{fill:var(--plan-drawing-text)!important;stroke:var(--plan-opening-hover)!important;stroke-width:1.5px!important;stroke-dasharray:none!important;vector-effect:non-scaling-stroke}body.product-workspace.app-mode-cad #cad-svg .cad-annotation.is-selected :is(.cad-annotation-line,.cad-extension-line,.cad-axis-bubble){stroke:var(--plan-selection)!important}body.product-workspace.app-mode-cad #cad-svg .cad-annotation.is-selected :is(.cad-annotation-label,.cad-symbol-label),body.product-workspace.app-mode-cad #cad-svg .cad-annotation-text.is-selected{fill:var(--plan-selection)!important}body.product-workspace.app-mode-cad #cad-svg .cad-annotation.is-selected .cad-dimension-arrow{fill:var(--plan-selection)!important;stroke:none!important}body.product-workspace.app-mode-cad #cad-svg .cad-annotation.is-selected :is(.cad-elevation-marker,.cad-leader-arrow){fill:var(--plan-selection)!important;stroke:var(--plan-selection)!important}body.product-workspace.app-mode-cad #cad-svg :is(.cad-object-grip,.cad-dimension-grip){fill:var(--plan-selection)!important;stroke:#fff!important}body.product-workspace.app-mode-cad #cad-svg .cad-selection-outline{stroke:var(--plan-selection)!important}body.product-workspace .cad-status{background:#e9eef5;color:#4d6278;border-top:1px solid #d2dce7;letter-spacing:0}body.product-workspace .cad-status span:last-child{color:#4d6278}body.product-workspace .cad-drafting-bar{background:#fff;border-color:var(--ui-line)}body.product-workspace .cad-drafting-bar input::placeholder{color:#62758a}body.product-workspace .cad-quickbar{border-color:#cdd8e5;background:#ffffffed;box-shadow:var(--ui-shadow);padding:6px;border-radius:8px}body.product-workspace .cad-quickbar-slot{border-color:transparent;background:transparent;border-radius:4px}body.product-workspace .cad-quickbar-slot.active{background:var(--ui-selected);border-color:#9dbfe8}body.product-workspace .cad-quickbar-key{background:#edf2f7;border-color:#d4dee8;color:#50647c}body.product-workspace :is(.cad-tool-drawer,.cad-context-menu,.cad-logo-panel){border-color:var(--ui-line);border-radius:7px;box-shadow:var(--ui-shadow)}body.product-workspace .cad-toast{visibility:hidden}body.product-workspace dialog{border:1px solid var(--ui-line);border-radius:10px;box-shadow:0 20px 64px #14233a33;color:var(--ui-ink)}body.product-workspace dialog::backdrop{background:#16283c66}body.product-workspace #schedule-workspace{--quote-ink: var(--ui-ink);--quote-line: var(--ui-line);--quote-accent: var(--ui-accent)}body.product-workspace #schedule-workspace .schedule-filter.active{background:var(--ui-selected);color:var(--ui-accent)}body.product-workspace #schedule-workspace .schedule-tools button.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}body.product-workspace #schedule-workspace .schedule-tools button.primary:hover:not(:disabled){background:var(--ui-accent-hover)}body.product-workspace .review-issue.active{background:var(--ui-selected);border-color:#8badd9}body.product-workspace.app-mode-env{--env-ink: var(--ui-ink);--env-muted: var(--ui-muted);--env-line: var(--ui-line);--env-teal: var(--ui-accent)}body.product-workspace :is(.env-panel,.env-workflow-left,.env-bottom,.env-project-strip){background:var(--ui-surface)}body.product-workspace .env-workbench button:is(.primary,.active),body.product-workspace .env-layer-list input:checked,body.product-workspace .env-hour-track output{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}body.product-workspace .env-workflow-left nav button.active{background:var(--ui-selected);color:var(--ui-accent);box-shadow:inset 4px 0 var(--ui-accent)}body.product-workspace .env-panel :is(.env-update,.env-text-button){color:var(--ui-accent);border-color:var(--ui-accent)}body.product-workspace :is(.env-panel,.env-workbench,.env-workflow-left) :is(input,select){accent-color:var(--ui-accent)}body.product-workspace :is(.env-panel,.env-workbench,.env-workflow-left) :is(button,input,select):focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}body.product-workspace :is(.env-panel,.env-workbench,.env-workflow-left) .cad-command-icon{--cad-icon-accent: #008aff;--cad-icon-ink: var(--ui-ink)}body.product-workspace .env-workbench :is(.primary,.active) .cad-command-icon{--cad-icon-accent: #fff;--cad-icon-ink: #fff}.workspace-loading{position:fixed;z-index:380;top:calc(var(--nav-height) + 12px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;overflow:hidden;min-width:240px;padding:14px 20px 17px;border:1px solid var(--ui-line);border-radius:7px;background:#fff;color:var(--ui-ink);box-shadow:var(--ui-shadow);font-size:13px;pointer-events:none}.workspace-loading[hidden],.workspace-feedback[hidden]{display:none}.workspace-loading>.cad-command-icon{width:24px;height:24px}.workspace-progress{position:absolute;left:0;bottom:0;height:3px;width:40%;background:var(--ui-accent);animation:workspace-progress 1.2s ease-in-out infinite}@keyframes workspace-progress{0%{transform:translate(-100%)}to{transform:translate(350%)}}.workspace-feedback{position:fixed;z-index:420;right:20px;bottom:42px;display:flex;align-items:flex-start;gap:12px;width:min(440px,calc(100vw - 32px));padding:16px;border:1px solid var(--ui-line);border-left:3px solid var(--ui-accent);border-radius:7px;background:#fff;color:var(--ui-ink);box-shadow:var(--ui-shadow)}.workspace-feedback>.cad-command-icon{width:24px;height:24px;flex:none}.workspace-feedback>div{flex:1;min-width:0}.workspace-feedback strong{font-size:13px;font-weight:600}.workspace-feedback p{margin:6px 0 0;font-size:12px;line-height:1.65;overflow-wrap:anywhere;max-height:180px;overflow:auto}.workspace-feedback>button{display:flex;align-items:center;gap:3px;border:0;border-radius:4px;padding:3px;background:transparent;color:var(--ui-muted);font-size:11px}.workspace-feedback>button .cad-command-icon{width:18px;height:18px}.workspace-feedback[data-kind=error]{border-left-color:var(--ui-error)}.workspace-feedback[data-kind=error] strong{color:var(--ui-error)}.workspace-feedback button:focus-visible{outline:2px solid var(--ui-accent)}.auth-gate.is-checking{opacity:1}.auth-gate.is-booting .auth-card{width:min(500px,calc(100vw - 32px))}.auth-gate.is-booting :is(.auth-field,.auth-forgot,.auth-switch){display:none}.auth-gate.is-booting .auth-submit{position:relative;overflow:hidden;margin-bottom:18px}.auth-gate.is-booting:not(.boot-failed) .auth-submit:after{content:"";position:absolute;bottom:0;left:0;width:40%;height:3px;background:#a7ceff;animation:workspace-progress 1.2s ease-in-out infinite}.auth-gate .auth-submit{background:var(--ui-accent)}.auth-gate .auth-submit:hover{background:var(--ui-accent-hover)}.auth-gate .auth-submit>.action-icon{width:20px;height:20px;--cad-icon-ink: #fff;--cad-icon-accent: #fff}.auth-gate :is(.auth-forgot,.auth-switch button){color:var(--ui-accent)}.auth-gate .auth-field input:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px #1463c71a}.cad-canvas-wrap.is-grid-hidden{background-image:none!important}@media (max-width:1150px){.workspace-hint{display:none}}@media (max-width:850px){#workspace-context{gap:8px;padding:0 10px}.workspace-project{max-width:140px}.workspace-actions{gap:8px}.workspace-save-state{max-width:112px}.workspace-network{max-width:100px;white-space:normal}}@media (max-width:600px){.workspace-mode,.workspace-separator,.workspace-save-state>.cad-command-icon{display:none}.workspace-project{max-width:110px}.workspace-feedback{right:12px;bottom:36px}body.product-workspace #app-navigation .workspace-tabs button{min-width:72px;padding:0 10px}}@media (prefers-reduced-motion:reduce){.workspace-progress,.auth-gate.is-booting .auth-submit:after{animation:none;width:100%;opacity:.65}body.product-workspace button,.auth-gate{transition:none!important}}:root[data-theme=light]{color-scheme:light;--ui-ink: #233348;--ui-muted: #596b80;--ui-line: #d8e0e9;--ui-surface: #ffffff;--ui-panel: #f7f9fc;--ui-canvas: #f1f4f8;--ui-control: #ffffff;--ui-hover: #eef4f9;--ui-accent: #1463c7;--ui-accent-hover: #0d50a7;--ui-selected: #eaf2ff;--ui-error: #a52c36;--ui-danger-surface: #fff8f4;--ui-success: #27704e;--ui-warning: #925112;--ui-shadow: 0 8px 28px #20344d1a}:root[data-theme=dark]{color-scheme:dark;--ui-ink: #d7e3e9;--ui-muted: #a7bac4;--ui-line: #2b414e;--ui-surface: #14232e;--ui-panel: #1a2b36;--ui-canvas: #0b151d;--ui-control: #0f1c25;--ui-hover: #223845;--ui-accent: #55a9d6;--ui-accent-hover: #72b9de;--ui-selected: #274759;--ui-error: #f09a8c;--ui-danger-surface: #2b2020;--ui-success: #75c69a;--ui-warning: #e5b476;--ui-shadow: 0 12px 30px #02080c80}body.product-workspace{background:var(--ui-canvas);color:var(--ui-ink)}body.product-workspace :is(input,select,textarea){color-scheme:inherit;accent-color:var(--ui-accent)}body.product-workspace :is(.property-field,.workflow-field,.env-field,.schedule-field) :is(input,select,textarea),body.product-workspace :is(.nav-panel,.project-center-dialog) :is(input,select,textarea){background:var(--ui-control);border-color:var(--ui-line);color:var(--ui-ink)}body.product-workspace :is(input,textarea)::placeholder{color:var(--ui-muted)}#app-navigation .nav-panel,.project-center-dialog,.auth-account-panel,.cad-logo-panel,.cad-toolbar-menu-list{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink);box-shadow:var(--ui-shadow)}#app-navigation .nav-panel :is(p,small,time),#app-navigation .project-center-filters label,#app-navigation .project-center-toolbar,#app-navigation .project-card-status,#app-navigation .project-empty,.project-center-dialog p,.auth-account-panel small{color:var(--ui-muted)}#app-navigation .nav-panel :is(h2,h3,strong),#app-navigation .project-card-title strong,.project-center-dialog :is(h2,label){color:var(--ui-ink)}#app-navigation .nav-panel :is(button,.project-revisions),.project-dialog-actions button,.auth-account-panel button{background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}#app-navigation .nav-panel button:hover,.project-dialog-actions button:hover,.auth-account-panel button:hover{background:var(--ui-hover)}#app-navigation :is(.nav-cloud-projects,.project-center-head,.project-card,.team-center form,.team-member),.project-center-dialog :is(form,.project-dialog-actions){border-color:var(--ui-line)}#app-navigation .team-role{background:var(--ui-selected);color:var(--ui-muted)}#app-navigation :is(#project-center-message,#team-message)[data-state=error]{color:var(--ui-error)}#app-navigation #team-message[data-state=success]{color:var(--ui-success)}.auth-gate{background:var(--ui-canvas);color:var(--ui-ink)}.auth-card{background:color-mix(in srgb,var(--ui-surface) 98%,transparent);border-color:var(--ui-line);color:var(--ui-ink);box-shadow:var(--ui-shadow)}.auth-card :is(.auth-brand,h1){color:var(--ui-ink)}.auth-card>p:not(.auth-switch):not(.auth-message),.auth-card :is(p,.auth-field span,.auth-switch){color:var(--ui-muted)}.auth-card .auth-message[data-state=loading]{color:var(--ui-muted)}.auth-field input{background:var(--ui-control);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] .auth-gate.is-booting .auth-submit:disabled{opacity:1;background:var(--ui-selected);border:1px solid var(--ui-accent);color:var(--ui-ink)}:root[data-theme=dark] .auth-gate.is-booting .auth-submit>.action-icon{--cad-icon-ink: var(--ui-ink);--cad-icon-accent: var(--ui-ink)}:root[data-theme=dark] .auth-gate.is-booting:not(.boot-failed) .auth-submit>.action-icon{display:none}:root[data-theme=dark] .auth-gate.is-booting:not(.boot-failed) .auth-submit:before{content:"";width:14px;aspect-ratio:1;border:2px solid color-mix(in srgb,var(--ui-ink) 28%,transparent);border-top-color:var(--ui-ink);border-radius:50%;animation:auth-theme-spin .8s linear infinite}:root[data-theme=dark] .auth-gate.is-booting:not(.boot-failed) .auth-submit:after{background:var(--ui-accent-hover)}@keyframes auth-theme-spin{to{transform:rotate(1turn)}}:root[data-theme=dark] .cad-property-dialog{color-scheme:dark;background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink);box-shadow:var(--ui-shadow)}:root[data-theme=dark] .cad-property-dialog::backdrop{background:color-mix(in srgb,var(--ui-canvas) 78%,transparent)}:root[data-theme=dark] .cad-property-dialog-heading,:root[data-theme=dark] .cad-property-dialog-footer{background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] .cad-property-dialog-body{background:var(--ui-surface)}:root[data-theme=dark] .cad-property-dialog :is(.cad-property-section,.cad-constraint-list){border-color:var(--ui-line)}:root[data-theme=dark] .cad-property-dialog .cad-property-section>summary{color:var(--ui-ink)}:root[data-theme=dark] .cad-property-dialog .cad-property-section>summary:hover{background:var(--ui-hover)}:root[data-theme=dark] .cad-property-dialog .cad-property-section>summary:after,:root[data-theme=dark] .cad-property-dialog :is(.property-info,.cad-constraint-tools>span,.cad-constraint-row),:root[data-theme=dark] .cad-property-dialog-footer>span{color:var(--ui-muted)}:root[data-theme=dark] .cad-property-dialog .property-field,:root[data-theme=dark] .cad-property-dialog .property-field>span{color:var(--ui-ink)}:root[data-theme=dark] .cad-property-dialog :is(input,select,textarea){background:var(--ui-control);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] .cad-property-dialog :is(input,select,textarea):focus-visible,:root[data-theme=dark] .cad-property-dialog button:focus-visible{outline-color:var(--ui-accent)}:root[data-theme=dark] .cad-property-dialog :is(.tool-button,.cad-constraint-row){background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] .cad-property-dialog .tool-button:hover:not(:disabled){background:var(--ui-hover)}:root[data-theme=dark] .cad-property-dialog .tool-button:disabled{color:var(--ui-muted);opacity:.65}:root[data-theme=dark] .cad-property-dialog :is(.cad-slab-opening-create,.cad-slab-opening-row){background:var(--ui-panel);border-color:var(--ui-line)}:root[data-theme=dark] .cad-property-dialog .danger-button{background:var(--ui-danger-surface);border-color:color-mix(in srgb,var(--ui-error) 45%,var(--ui-line));color:var(--ui-error)}:root[data-theme=dark] .cad-property-dialog .danger-button:hover{background:color-mix(in srgb,var(--ui-error) 12%,var(--ui-danger-surface))}:root[data-theme=dark] .cad-property-dialog .danger-button .cad-command-icon{--cad-icon-ink: var(--ui-error);--cad-icon-accent: var(--ui-error)}:root[data-theme=dark] .cad-snap-dialog{color-scheme:dark;background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink);box-shadow:var(--ui-shadow)}:root[data-theme=dark] .cad-snap-dialog::backdrop{background:color-mix(in srgb,var(--ui-canvas) 78%,transparent)}:root[data-theme=dark] .cad-snap-dialog :is(header,footer){background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] .cad-snap-dialog :is(.snap-tabs,fieldset,.cad-snap-scope){border-color:var(--ui-line)}:root[data-theme=dark] .cad-snap-dialog :is(legend,.cad-snap-scope,.draft-setting-grid em){color:var(--ui-muted)}:root[data-theme=dark] .cad-snap-dialog button{background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] .cad-snap-dialog button:hover:not(:disabled){background:var(--ui-hover)}:root[data-theme=dark] .cad-snap-dialog .snap-tabs button[aria-selected=true]{background:var(--ui-selected);border-color:var(--ui-line);color:var(--ui-accent-hover)}:root[data-theme=dark] .cad-snap-dialog :is(input[type=number],input:not([type])){background:var(--ui-control);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] .cad-snap-dialog input{accent-color:var(--ui-accent)}:root[data-theme=dark] .cad-snap-dialog .cad-snap-status{background:var(--ui-selected);color:var(--ui-ink)}:root[data-theme=dark] .cad-snap-dialog label:has(input:disabled){color:var(--ui-muted);opacity:.72}:root[data-theme=dark] .cad-snap-dialog label:has(input:disabled) .snap-marker{opacity:.68}:root[data-theme=dark] .cad-snap-dialog [data-ok]{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-control)}:root[data-theme=dark] .cad-snap-dialog [data-ok]:hover{background:var(--ui-accent-hover)}:root[data-theme=dark] .cad-snap-dialog :is(button,input):focus-visible{outline-color:var(--ui-accent)}body.product-workspace #workspace-context,body.product-workspace :is(.cad-toolbar,.cad-document-row,.workflow-toolbar,.cad-inspector-tabs),body.product-workspace :is(.cad-left,.cad-right,.workflow-nav,.workflow-panel,.review-filter-nav,.review-detail,.env-sidebar,.env-settings,.schedule-index){background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}body.product-workspace :is(.cad-toolbar,.cad-document-row,.workflow-toolbar,.cad-inspector-tabs){background:var(--ui-panel)}body.product-workspace :is(.tool-button,.workflow-wide,.env-toolbar button,.schedule-tools button):not(.primary){border-color:var(--ui-line);color:var(--ui-ink)}body.product-workspace :is(.tool-button,.workflow-wide,.env-toolbar button,.schedule-tools button):not(.primary):hover{background:var(--ui-hover)}body.product-workspace :is(.workflow-section,.review-detail,.cad-property-section,.env-section,.schedule-section){border-color:var(--ui-line)}body.product-workspace :is(.workflow-note,.property-info,.review-boundary,.toolbar-caption,.env-note,.schedule-note){color:var(--ui-muted)}body.product-workspace .workspace-mode-switch{background:var(--ui-canvas);border-color:var(--ui-line)}body.product-workspace .workspace-mode-switch button.active{background:var(--ui-surface);color:var(--ui-accent)}:root[data-theme=light] body.product-workspace.app-mode-cad{--plan-shell-top: #eef3f7;--plan-shell-surface: #f7f9fc;--plan-shell-raised: #ffffff;--plan-shell-control: #ffffff;--plan-shell-hover: #e8f0f6;--plan-shell-active: #dcecf6;--plan-shell-border: #cbd8e2;--plan-shell-text: #263d50;--plan-shell-muted: #607789;--plan-shell-accent: #1477b8;--plan-canvas-bg: #f4f7f5;--plan-drawing-text: #41565a;--plan-wall: #25383d;--plan-grid-minor: #dce5e3;--plan-grid-major: #c5d3d1;--plan-door: #8c603f;--plan-door-arc: #9a6c48;--plan-window-frame: #268a98;--plan-window-glass: #3fb3c1;--plan-opening-hover: #137bb5;--plan-axis-bubble-fill: color-mix(in srgb,var(--plan-canvas-bg) 55%,var(--plan-shell-raised));--plan-axis-bubble-border: var(--plan-drawing-text);--plan-axis-bubble-text: var(--plan-shell-text);--paper: var(--plan-canvas-bg)}:root[data-theme=dark] body.product-workspace.app-mode-cad{--plan-shell-top: #172431;--plan-shell-surface: #14232e;--plan-shell-raised: #1a2b36;--plan-shell-control: #0f1c25;--plan-shell-hover: #223845;--plan-shell-active: #274759;--plan-shell-border: #2b414e;--plan-shell-text: #d7e3e9;--plan-shell-muted: #a7bac4;--plan-shell-accent: #55a9d6;--plan-canvas-bg: #0b151d;--plan-drawing-text: #c7d2d9;--plan-wall: #edf4f7;--plan-grid-minor: #12212a;--plan-grid-major: #1a2c36;--plan-door: #b8c7cf;--plan-door-arc: #728892;--plan-window-frame: #a9c8d6;--plan-window-glass: #5f8495;--plan-opening-hover: #4fb3e8;--plan-axis-bubble-fill: color-mix(in srgb,var(--plan-canvas-bg) 80%,var(--plan-shell-raised));--plan-axis-bubble-border: var(--plan-drawing-text);--plan-axis-bubble-text: var(--plan-shell-text);--paper: var(--plan-canvas-bg)}:root[data-theme=dark] body.product-workspace.app-mode-cad .cad-tool-item-label{color:var(--plan-shell-muted)}:root[data-theme=dark] body.product-workspace.app-mode-cad .cad-tool-count{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-plan-inspector .cad-layer-main>input[type=text]:disabled{background:transparent!important;border-color:transparent!important;color:var(--plan-shell-text)!important;opacity:1}body.product-workspace.app-mode-cad :is(.cad-status,.cad-drafting-bar,.cad-quickbar){background:var(--plan-shell-raised);border-color:var(--plan-shell-border);color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad :is(.cad-quickbar-slot,.cad-quickbar-settings){background:var(--plan-shell-control);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-quickbar-label{color:var(--plan-shell-muted)}body.product-workspace.app-mode-cad .cad-quickbar-slot:hover{background:var(--plan-shell-hover);border-color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-quickbar-slot.active{background:var(--plan-shell-active);border-color:var(--plan-shell-accent)}body.product-workspace.app-mode-cad .cad-right #cad-inspector>.danger-button{background:var(--ui-danger-surface);color:var(--ui-error)}body.product-workspace.app-mode-cad .cad-right .inspector-disclosure>summary{background:var(--plan-shell-top);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .cad-right .inspector-disclosure>summary:hover{background:var(--plan-shell-hover)}body.product-workspace.app-mode-cad .cad-level-switcher-wrap select{background:var(--plan-shell-control);border-color:var(--plan-shell-border);color:var(--plan-shell-text)}body.product-workspace.app-mode-cad .plan-compass{background:color-mix(in srgb,var(--plan-shell-raised) 90%,transparent);border-color:var(--plan-shell-border);color:var(--plan-shell-muted)}body.app-mode-preview #stage{background:var(--ui-canvas)}body.app-mode-preview :is(.cad-category-rail,.three-tool-drawer){background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}body.app-mode-preview :is(.cad-tool-drawer-head,.cad-status){background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}body.app-mode-preview .cad-category-button{color:var(--ui-muted)}body.app-mode-preview .cad-category-button:hover:not(.active){background:var(--ui-hover);color:var(--ui-ink)}body.app-mode-preview .cad-category-button.active{background:var(--ui-selected);color:var(--ui-accent-hover)}body.app-mode-preview :is(.three-tool-body h3,.cad-tool-drawer-head strong,.three-object-tree>summary,.three-object-list summary){color:var(--ui-ink)}body.app-mode-preview :is(.three-tool-body section+section,.three-object-tree,.three-display-controls,.three-scene-row){border-color:var(--ui-line)}body.app-mode-preview .three-tool-drawer .cad-tool-item{color:var(--ui-muted)}body.app-mode-preview .three-tool-drawer .cad-tool-item:hover{background:var(--ui-hover);border-color:var(--ui-line);color:var(--ui-ink)}body.app-mode-preview .three-tool-drawer .cad-tool-item.active{background:var(--ui-selected);border-color:var(--ui-accent);color:var(--ui-accent-hover)}body.app-mode-preview .three-tool-drawer .cad-tool-item-label{color:inherit;font-size:11px}body.app-mode-preview .cad-right [data-side=preview] :is(.workflow-note,.workflow-field,.three-object-count){color:var(--ui-muted)}body.app-mode-preview .three-selection-context{background:var(--ui-selected);border-color:var(--ui-accent);color:var(--ui-ink)}body.app-mode-preview .three-object-row.selected{background:var(--ui-selected)}body.app-mode-preview .three-object-label strong{color:var(--ui-ink)}body.app-mode-preview .three-object-label small{font-size:11px;color:var(--ui-muted)}body.app-mode-preview .cad-status,body.app-mode-preview .cad-status span:last-child{color:var(--ui-muted);font-size:11px}body.app-mode-preview .right-panel-toggle{color:var(--ui-muted)}body.app-mode-preview .right-panel-toggle:hover{color:var(--ui-accent-hover)}body.app-mode-preview .cad-view-compass svg{filter:drop-shadow(0 2px 5px color-mix(in srgb,var(--ui-canvas) 65%,transparent))!important}body.app-mode-preview .cad-view-compass circle:first-of-type{fill:color-mix(in srgb,var(--ui-panel) 92%,transparent);stroke:var(--ui-line)}body.app-mode-preview .cad-view-compass :is(text,path:first-of-type,circle:last-of-type){fill:var(--ui-ink)}:root[data-theme=dark] body.product-workspace :is(.workflow-panel,.workflow-section,.side-pane,.review-detail,.review-issue,.env-panel,.env-workflow-left,.env-bottom,.env-project-strip,.env-section,.schedule-main,.schedule-panel,.schedule-card,.schedule-table-wrap){background-color:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] body.product-workspace #schedule-workspace{background:var(--ui-canvas);color:var(--ui-ink)}:root[data-theme=dark] body.product-workspace :is(.workflow-section>header,.workflow-section>summary,.review-detail-title,.env-panel header,.env-section>summary,.schedule-panel>header,.schedule-card>header){background-color:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] body.product-workspace :is(.workflow-panel,.review-detail,.env-panel,.env-workbench,#schedule-workspace) :is(input,select,textarea){background:var(--ui-control);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] body.product-workspace :is(.workflow-panel,.review-detail,.env-panel,.env-workbench,#schedule-workspace) :is(button:not(.primary),.workflow-wide:not(.primary)){background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}:root[data-theme=dark] body.product-workspace :is(.workflow-panel,.review-detail,.env-panel,.env-workbench,#schedule-workspace) :is(button:not(.primary),.workflow-wide:not(.primary)):hover{background:var(--ui-hover)}.workspace-loading,.workspace-feedback{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}@media (prefers-reduced-motion: reduce){:root{scroll-behavior:auto}:root[data-theme=dark] .auth-gate.is-booting:not(.boot-failed) .auth-submit:before{animation:none}}@media (max-width:1179px){body:is(.app-mode-preview,.app-mode-render){--right-width:0px}body:is(.app-mode-preview,.app-mode-render) .cad-shell{grid-template-columns:var(--left-width) minmax(0,1fr)}body:is(.app-mode-preview,.app-mode-render) #stage{right:0}body:is(.app-mode-preview,.app-mode-render):not(.right-panel-collapsed) .cad-right{display:block;position:absolute;z-index:30;top:var(--toolbar-height);right:0;bottom:25px;width:300px;overflow:auto;box-shadow:var(--ui-shadow)}body:is(.app-mode-preview,.app-mode-render):not(.right-panel-collapsed) .right-panel-toggle{right:300px}body:is(.app-mode-preview,.app-mode-render).right-panel-collapsed .right-panel-toggle{right:0}}@media (max-width:850px){body:is(.app-mode-preview,.app-mode-render):not(.right-panel-collapsed) .cad-right{width:min(300px,calc(100vw - var(--left-width)))}body:is(.app-mode-preview,.app-mode-render):not(.right-panel-collapsed) .right-panel-toggle{right:min(300px,calc(100vw - var(--left-width)))}}
