@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-400-normal.CW0RaeGs.woff2)format("woff2"),url(/_astro/dm-sans-latin-400-normal.BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-500-normal.B9HHJjqV.woff2)format("woff2"),url(/_astro/dm-sans-latin-500-normal.Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-600-normal.Aqo67rzb.woff2)format("woff2"),url(/_astro/dm-sans-latin-600-normal.BmdmIIQ2.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-700-normal.DvUfVpUG.woff2)format("woff2"),url(/_astro/dm-sans-latin-700-normal.CUSSCpQX.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/manrope-latin-600-normal.4f0koTD-.woff2)format("woff2"),url(/_astro/manrope-latin-600-normal.BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/manrope-latin-700-normal.BZp_XxE4.woff2)format("woff2"),url(/_astro/manrope-latin-700-normal.DGRFkw-m.woff)format("woff")}:root{color:#303953;font-synthesis:none;--violet:#6259d4;--muted:#8790a5;--line:#e9ecf3;--ink:#303953;--soft:#f4f4fc;background:#f7f8fc;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #9c8cf0}input:focus,textarea:focus,select:focus{outline-offset:1px;outline:2px solid #aaa0f0}button{background:0 0;border:0}svg{display:block}kbd{color:#8b92a4;background:#f3f4f8;border:1px solid #e9ebf2;border-radius:4px;padding:2px 5px;font-family:inherit;font-size:10px}input[type=range]{accent-color:var(--violet)}.app-shell{height:100dvh;min-height:560px;overflow:hidden}.app-header{border-bottom:1px solid var(--line);z-index:10;background:#fff;align-items:center;gap:22px;height:76px;padding:0 25px;display:flex;position:relative}.logo{letter-spacing:-1.4px;align-items:center;gap:11px;padding:0;font-family:Manrope,Trebuchet MS,sans-serif;font-size:26px;font-weight:800;display:flex}.logo-dot{color:var(--violet)}.logo-mark{background:var(--violet);color:#fff;border-radius:11px;width:34px;height:34px;display:block;box-shadow:0 3px 7px #6259d421}.logo-mark svg{fill:none;stroke:#fff;stroke-width:2.2px;stroke-linejoin:round;width:32px;height:32px}.header-divider{background:var(--line);width:1px;height:28px;margin-left:9px}.board-heading{min-width:100px}.board-heading input{width:240px;color:var(--ink);text-overflow:ellipsis;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;display:block}.save-label{color:#979eaf;align-items:center;gap:4px;margin-top:6px;font-size:10px;display:flex}.save-label.saved svg{color:#55a591}.save-label.offline{color:#c87f51}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:10px 14px;font-size:12px;font-weight:600;transition:background .14s,box-shadow .14s;display:inline-flex}.button.primary{background:var(--violet);color:#fff;box-shadow:0 3px 6px #6259d41a}.button.primary:hover{background:#534ac3}.button.subtle{background:#f6f7fb}.button.subtle:hover{background:#ededf7}.connect-button{color:#6259d4;background:#fff;border:1px solid #e1dcf9}.connect-button:hover{background:#f7f5ff}.avatar{background:#ece9fa;border:3px solid #fff;border-radius:50%;place-items:center;width:32px;height:32px;margin-left:6px;font-size:9px;font-weight:700;display:grid;box-shadow:0 0 0 1px #eeeafa}.icon-button{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-button:hover:not(:disabled){background:#ececf7}.icon-button.danger:hover{color:#c4566a;background:#fcecef}.sidebar-toggle{margin-left:-13px;margin-right:-10px}.export-wrap{position:relative}.dropdown{background:#fff;border:1px solid #e6e9f0;border-radius:12px;overflow:hidden;box-shadow:0 12px 35px #343c5818}.export-dropdown{width:218px;padding:6px;position:absolute;top:47px;right:0}.export-dropdown button{text-align:left;border-radius:7px;width:100%;padding:11px;font-size:12px;font-weight:600;display:block}.export-dropdown button:hover{background:#f4f2fc}.export-dropdown button span{color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;display:block}.workspace{height:calc(100dvh - 76px);min-height:484px;display:flex}.left-sidebar{border-right:1px solid var(--line);z-index:2;background:#fff;flex-direction:column;flex-shrink:0;width:225px;display:flex;overflow-y:auto}.workspace-label{align-items:center;gap:10px;margin:23px 19px 22px;display:flex}.workspace-avatar{color:#8b83cc;background:#f8f8fe;border:1px solid #e4e6f2;border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.workspace-label strong{font-size:12px;font-weight:600;display:block}.workspace-label div>span{color:#959dac;margin-top:3px;font-size:10px;display:block}.sidebar-section{padding:0 14px 20px}.section-label{color:#9a9fb1;letter-spacing:1.6px;justify-content:space-between;align-items:center;height:28px;margin:0 7px 9px;font-size:9px;font-weight:600;display:flex}.section-label .icon-button{color:#9a9fb1;margin-right:-5px}.board-list{gap:5px;max-height:166px;display:grid;overflow:auto}.board-list-item{text-align:left;color:#848ba0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:11px;font-size:12px;display:flex}.board-list-item>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-list-item.active{color:var(--violet);background:#eeebfc;font-weight:500}.board-list-item:hover{background:#f4f2fb}.small-dot{background:#9186e7;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto}.outline-section{border-top:1px solid #f0f1f6;padding-top:13px}.outline-list{gap:3px;max-height:220px;display:grid;overflow:auto}.outline-item{text-align:left;color:#9299aa;border-radius:6px;align-items:center;gap:9px;width:100%;padding:9px 11px;font-size:10px;display:flex}.outline-item span{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.6px;overflow:hidden}.outline-item:hover{background:#f5f4fc}.outline-item.active{color:#6a5ed0;background:#f5f2ff}.outline-item svg{flex-shrink:0}.hidden-object{opacity:.5}.sidebar-empty{color:var(--muted);margin:0 8px;font-size:11px;line-height:1.7}.reference-card{text-align:left;border:1px solid #e9ecf2;border-radius:9px;width:100%;margin-top:3px;padding:0;transition:border .15s;overflow:hidden}.reference-card:hover{border-color:#b3a9ec}.reference-card img{object-fit:contain;background:#fff;border-bottom:1px solid #eef0f5;width:100%;height:96px;padding:7px}.reference-card>span{padding:10px 11px 11px;font-size:11px;display:block}.reference-action{color:#9a92c9;float:right;align-items:center;gap:3px;padding-top:2px;font-size:9px;display:flex}.image-list-item{text-align:left;color:#8d93a6;align-items:center;gap:8px;padding:9px 7px;font-size:10px;display:flex}.image-list-item span{white-space:nowrap;text-overflow:ellipsis;max-width:155px;overflow:hidden}.sidebar-bottom{margin-top:auto;padding:10px 14px 17px}.library-button{text-align:left;background:#fbfaff;border:1px solid #e5e3f5;border-radius:10px;align-items:center;gap:10px;width:100%;padding:12px 9px;display:flex}.library-button:hover{background:#f5f2fd}.library-button>svg{color:#aaa0d5;margin-left:auto}.library-icon{color:#9a88d7;place-items:center;width:27px;height:30px;display:grid}.library-button strong{font-size:11px;font-weight:600;display:block}.library-button small{color:#9e99ae;margin-top:4px;font-size:9px;display:block}.help-button{color:#9b9fb0;align-items:center;gap:8px;width:100%;padding:17px 6px 0;font-size:10px;display:flex}.help-button kbd{margin-left:auto}.canvas-area{background:#f7f8fc;flex:1;min-width:0;position:relative;overflow:hidden}.drawing-surface{touch-action:none;user-select:none;width:100%;height:100%}.tool-select .drawing-surface [data-element-id]{cursor:move}.tool-hand .drawing-surface{cursor:grab}.tool-rect .drawing-surface,.tool-ellipse .drawing-surface,.tool-path .drawing-surface,.tool-line .drawing-surface,.tool-arrow .drawing-surface{cursor:crosshair}.tool-text .drawing-surface,.tool-equation .drawing-surface{cursor:text}.canvas-topline{color:#9299ab;pointer-events:none;justify-content:space-between;align-items:center;font-size:10px;display:flex;position:absolute;top:20px;left:28px;right:27px}.canvas-topline>span{align-items:center;gap:7px;display:flex}.canvas-breadcrumb{color:#afb5c4}.canvas-mode{color:#9a9eb1!important;font-size:9px!important}.mode-dot{background:#c6bce9;border-radius:50%;width:4px;height:4px}.drawing-toolbar{z-index:3;background:#fff;border:1px solid #e6e8f0;border-radius:12px;align-items:center;padding:7px;display:flex;position:absolute;top:48px;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #343c5808,0 1px 2px #343c5805}.tool-slot{align-items:center;display:flex}.toolbar-divider{background:#edf0f5;width:1px;height:27px;margin:0 5px}.tool-button{color:#9198ae;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:40px;height:44px;display:flex}.tool-button:hover{color:#7568c9;background:#f6f4fe}.tool-button.active{color:var(--violet);background:#eeebfc}.tool-shortcut{color:#b6bbcc;opacity:.7;font-size:7px;line-height:9px}.tool-button.active .tool-shortcut{color:#8b80d7}.selection-overlay{pointer-events:none}.selection-overlay .resize-handle{pointer-events:all;cursor:nwse-resize}.canvas-bottom{pointer-events:none;justify-content:space-between;align-items:center;gap:14px;display:flex;position:absolute;bottom:22px;left:25px;right:25px}.bottom-group{pointer-events:all;color:#959bae;background:#fff;border:1px solid #e7eaf2;border-radius:9px;align-items:center;padding:4px;display:flex;box-shadow:0 2px 6px #343c5804}.bottom-group .icon-button{width:29px;height:29px}.bottom-divider{background:#ecedf4;width:1px;height:17px;margin:0 5px}.canvas-hint{color:#aab0c0;text-align:center;font-size:9px}.zoom-level{color:#8d95a9;min-width:44px;font-size:10px}.active-soft{color:#887fc6;background:#f7f5fc}.selection-actions{z-index:4;background:#fff;border:1px solid #e5e6f2;border-radius:9px;align-items:center;gap:4px;padding:6px 7px 6px 13px;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #343c5810}.selection-actions>span{color:#8d91a8;white-space:nowrap;text-overflow:ellipsis;max-width:170px;margin-right:6px;font-size:10px;overflow:hidden}.inline-editor{z-index:8;color:var(--ink);resize:both;background:#fffefa;border:1.5px solid #8578dd;border-radius:5px;padding:9px;position:absolute;box-shadow:0 6px 20px #343c5814}.empty-canvas{text-align:center;pointer-events:none;width:420px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-canvas button{pointer-events:all}.empty-icon{color:#9181d8;background:#ece8fb;border-radius:20px;place-items:center;width:61px;height:61px;margin:0 auto 24px;display:grid}.empty-canvas h1{letter-spacing:-1px;margin:0 0 15px;font-family:Manrope,sans-serif;font-size:27px;font-weight:600}.empty-canvas p{color:#939aaf;margin:0 0 26px;font-size:12px;line-height:1.9}.empty-canvas .text-button{margin:15px auto;display:flex}.right-sidebar{border-left:1px solid var(--line);z-index:2;background:#fff;flex-direction:column;flex-shrink:0;width:263px;display:flex}.inspector-tabs{border-bottom:1px solid var(--line);color:#b2b6c4;justify-content:space-between;height:61px;padding:22px 20px 0;font-size:10px;display:flex}.inspector-tabs .active{color:#6f668e;border-bottom:2px solid #9d8be0;padding-bottom:15px;font-size:11px;position:relative;top:1px}.inspector-scroll{flex:1;overflow:auto}.study-controls{padding:27px 22px 22px}.eyebrow{color:#8e84b0;letter-spacing:1.1px;align-items:center;gap:8px;font-size:9px;font-weight:600;display:flex}.study-symbol{color:#9984c5;background:#faf8fe;border:1px solid #e6e0f4;border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.study-controls h2{letter-spacing:-.65px;margin:18px 0 8px;font-family:Manrope,sans-serif;font-size:21px;font-weight:600}.section-description{color:#9da2b4;margin:0 0 25px;font-size:11px;line-height:1.8}.parameter{margin-bottom:24px}.parameter-label{color:#8e94a7;justify-content:space-between;align-items:center;font-size:10px;display:flex}.parameter-symbol{color:#b2abc4;font-family:Georgia,serif;font-size:13px;font-style:italic}.parameter-value{align-items:baseline;gap:6px;margin-top:8px;display:flex}.parameter-value strong{letter-spacing:-.5px;color:#696280;font-size:20px;font-weight:500}.parameter-value span{color:#a5a6b7;font-size:9px}.parameter input[type=range]{appearance:none;background:linear-gradient(to right,#a399da 0%,#a399da var(--progress),#eeeaf6 var(--progress),#eeeaf6 100%);cursor:pointer;border-radius:3px;width:100%;height:3px;margin:14px 0 0;display:block}.parameter input[type=range]::-webkit-slider-thumb{appearance:none;background:#9b8fd2;border:2px solid #fff;border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 1px #ccc3eb}.parameter input[type=range]::-moz-range-thumb{background:#9b8fd2;border:2px solid #fff;border-radius:50%;width:8px;height:8px}.stress-results{grid-template-columns:1fr 1fr;gap:8px;margin-top:30px;display:grid}.stress-results>div{background:#f7faf9;border:1px solid #eaf1ee;border-radius:9px;padding:13px 11px}.stress-results span{color:#91a59f;margin-bottom:9px;font-size:9px;display:block}.stress-results strong{letter-spacing:-.5px;color:#619889;font-size:19px;font-weight:500;display:block}.stress-results small{letter-spacing:0;color:#92aaa2;margin-left:4px;font-size:8px;font-weight:400}.stress-results em{color:#a3b9b2;margin-top:5px;font-size:8px;font-style:normal;display:block}.model-link{color:#a19bb1;justify-content:space-between;align-items:center;width:100%;margin-top:17px;padding:0 2px;font-size:9px;display:flex}.model-link:hover{color:var(--violet)}.managed-note{color:#b1b5c2;margin:12px 2px 0;font-size:8px;line-height:1.7;display:block}.build-section{border-top:1px solid #eff0f5;padding:21px 19px 15px}.property-label{color:#9ca1b3;letter-spacing:.6px;margin-bottom:12px;font-size:9px}.build-section>.property-label{letter-spacing:1.1px;margin-bottom:10px;font-size:8px}.build-section>button{text-align:left;color:#8a8fa2;align-items:center;gap:10px;width:100%;padding:10px 0;font-size:10px;display:flex}.build-section>button>svg{color:#b1b7c7;margin-left:auto}.build-section small{color:#b1b4c2;margin-top:4px;font-size:8px;display:block}.build-icon{border-radius:8px;place-items:center;width:29px;height:30px;display:grid}.build-icon.peach{color:#c69c7f;background:#fff5ed}.build-icon.violet{color:#a58bcd;background:#f3effc}.build-icon.mint{color:#8bb7a5;background:#eff8f4}.bridge-status{text-align:left;border-top:1px solid #edf0f5;align-items:center;gap:9px;width:100%;margin-top:auto;padding:19px 17px;display:flex}.bridge-status:hover{background:#fbfaff}.status-dot{background:#d6b07f;border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.ready{background:#81b9a6;box-shadow:0 0 0 3px #eaf5f0}.bridge-status strong{color:#8f93a6;font-size:10px;font-weight:500;display:block}.bridge-status small{color:#b1b5c3;margin-top:5px;font-size:8px;display:block}.bridge-status>svg{color:#bbb4cd;margin-left:auto}.properties-section{padding:22px 18px 17px}.property-heading{color:#8b80b5;align-items:center;gap:7px;margin-bottom:21px;display:flex}.property-heading strong{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:500;overflow:hidden}.field-label{color:#959ab0;margin-bottom:18px;font-size:10px;line-height:1.6;display:block}.field-label input,.field-label textarea{color:#626c88;background:#fcfcff;border:1px solid #e8e9f2;border-radius:7px;width:100%;margin-top:7px;padding:10px;font-size:12px}.field-label textarea{resize:vertical;line-height:1.6}.geometry-fields{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.geometry-fields label{color:#a8a6bb;border:1px solid #ececf5;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:10px;display:flex}.geometry-fields input{color:#80869e;background:0 0;border:0;width:100%;min-width:0;padding:0;font-size:11px}.swatches{flex-wrap:wrap;gap:9px;margin-bottom:20px;display:flex}.swatches button{border:1px solid #dadce7;border-radius:6px;width:21px;height:21px;position:relative}.swatches button.chosen:after{content:"";border:1.5px solid #aea3e3;border-radius:9px;position:absolute;inset:-4px}.no-fill{background:linear-gradient(135deg,#0000 46%,#e39aa8 47% 53%,#0000 54%)}.property-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.property-row label{color:#9fa2b7;font-size:9px}.property-row select,.property-row input{color:#8e91a8;background:#fcfcff;border:1px solid #e9eaf2;border-radius:6px;width:100%;margin-top:6px;padding:7px;font-size:11px;display:block}.toggle-row{color:#9c9fb2;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:10px;display:flex}.toggle-row label{align-items:center;gap:5px;display:flex}.toggle-row input{accent-color:var(--violet)}.object-id{color:#b1b5c1;gap:7px;font-size:8px;display:flex}.object-id code{white-space:nowrap;text-overflow:ellipsis;max-width:165px;font-size:8px;overflow:hidden}.with-selection{border-top:1px solid var(--line)}.with-selection h2{font-size:18px}.multi-selection{color:#aaa3c2;padding:28px 22px}.multi-selection h3{color:#7a709b;font-size:14px;font-weight:500}.multi-selection p{color:#9fa3b5;font-size:11px;line-height:1.8}.multi-selection .swatches{margin-top:22px}.toast,.error-toast{z-index:15;white-space:nowrap;color:#71968b;background:#fff;border:1px solid #e6ebe8;border-radius:9px;align-items:center;gap:9px;max-width:80%;padding:12px 17px;font-size:11px;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 7px 24px #343c5814}.error-toast{color:#af7c5b;white-space:normal;background:#fff8f2;border-color:#f2d5bf;width:max-content;top:116px;bottom:auto}.modal-backdrop{backdrop-filter:blur(4px);z-index:30;background:#30395342;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #ece8f8;border-radius:20px;width:min(650px,100%);max-height:90dvh;padding:37px;position:relative;overflow:auto;box-shadow:0 20px 90px #30395320}.modal-close{color:#a6a1b9;position:absolute;top:18px;right:18px}.modal h2{letter-spacing:-.8px;margin:16px 0 12px;font-family:Manrope,sans-serif;font-size:25px;font-weight:600}.modal-intro{color:#979bb0;max-width:470px;margin:0 0 26px;font-size:12px;line-height:1.8}.modal-symbol{color:#9b86d0;background:#f0eafb;border-radius:15px;place-items:center;width:49px;height:49px;display:grid}.modal-tabs{border-bottom:1px solid var(--line);gap:20px;margin:0 -4px 23px;display:flex}.modal-tabs button{color:#aaa5bd;border-bottom:2px solid #0000;padding:11px 5px;font-size:11px}.modal-tabs button.active{color:#7c65be;border-color:#9f83db}.connection-state{color:#90a999;background:#f8fbf9;border:1px solid #e7f1ec;border-radius:9px;align-items:center;gap:10px;margin-bottom:24px;padding:13px;font-size:11px;display:flex}.connection-state code{color:#8dac98;background:#eaf4ee;border-radius:4px;margin-left:auto;padding:3px 6px;font-size:9px}.copy-field{background:#fcfbff;border:1px solid #e9e7f2;border-radius:7px;align-items:center;gap:10px;margin-top:7px;padding:8px 10px;display:flex}.copy-field code{color:#8d7caf;font-size:12px;overflow:auto}.copy-field button{margin-left:auto}.connection-explanation{color:#a0a2b5;margin:0 0 20px;font-size:11px;line-height:1.8}.modal details{color:#9d94af;font-size:10px}.modal summary{cursor:pointer;padding:3px 0}.modal pre{white-space:pre-wrap;color:#8d81a9;background:#faf9fe;border:1px solid #e9e7f2;border-radius:9px;padding:17px;font-size:11px;line-height:1.6}.tool-chips{flex-wrap:wrap;gap:7px;margin:23px 0;display:flex}.tool-chips span{color:#9b8bbd;background:#f6f2fc;border-radius:5px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;display:flex}.connection-prompt{background:#fbfafc;border:1px solid #efedf4;border-radius:9px;padding:17px}.connection-prompt strong{color:#a99cb9;font-size:10px;font-weight:500}.connection-prompt p{color:#9285a8;margin:9px 0 0;font-size:12px;line-height:1.8}.fine-print{color:#b6b3c1;margin:20px 2px 0;font-size:9px;line-height:1.7}.command-editor{color:#8678a3;resize:vertical;background:#fbfaff;border:1px solid #e9e6f1;border-radius:9px;width:100%;height:285px;margin-bottom:18px;padding:15px;font:11px/1.7 Consolas,monospace}.shortcuts-grid{grid-template-columns:1fr 1fr;gap:16px 32px;display:grid}.shortcuts-grid>div{color:#a29bb3;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.shortcuts-grid kbd{color:#a69bbd;background:#faf8fd;border-color:#ece7f6;font-size:9px}.preset-grid{grid-template-columns:1fr 1fr;gap:18px;margin:20px 0;display:grid}.preset-card{text-align:left;border:1px solid #e9e6f3;border-radius:12px;padding:0;overflow:hidden}.preset-card:hover{border-color:#b4a3da;box-shadow:0 4px 14px #9e87d517}.preset-preview{background:#f9f8fe;border-bottom:1px solid #ebe9f3;height:154px;padding:18px}.preset-preview svg{width:100%;height:100%}.flow-preview{background:#f7fbf9}.preset-card strong{color:#8b7f9f;padding:18px 16px 0;font-size:12px;font-weight:500;display:block}.preset-card>span{color:#b0a6bb;padding:8px 16px 15px;font-size:10px;display:block}.preset-card small{color:#a895c3;align-items:center;gap:4px;padding:0 16px 17px;font-size:9px;display:flex}.text-button{color:#a38cbe;align-items:center;gap:8px;padding:5px 0;font-size:11px;display:inline-flex}.text-button:hover{color:#7c60a9}.model-formula{color:#9c86b3;background:#faf8fe;border:1px solid #ece6f6;border-radius:10px;padding:20px;font-family:Georgia,serif;font-size:18px;line-height:2}.model-notes{color:#a79db4;margin:22px 0;padding-left:18px;font-size:11px;line-height:1.9}.model-notes li{padding-bottom:5px}.model-dimensions{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.model-source{color:#a38cbe;align-items:center;gap:7px;margin:12px 0 0;font-size:10px;text-decoration:none;display:flex}@media (width>=1600px){.left-sidebar{width:245px}.right-sidebar{width:284px}.study-controls{padding:33px 26px}.app-header{height:80px}.workspace{height:calc(100dvh - 80px)}}@media (width<=1180px){.left-sidebar{width:193px}.right-sidebar{width:235px}.app-header{gap:16px;padding:0 18px}.logo{font-size:23px}.board-heading input{width:195px}.header-divider{margin-left:3px}.import-button,.avatar,.canvas-hint{display:none}.drawing-toolbar{gap:0;padding:5px}.tool-button{width:33px}.reference-action{float:none;margin-top:4px}.sidebar-section{padding-left:11px;padding-right:11px}.workspace-label{margin-left:16px}.study-controls{padding:23px 17px}.stress-results strong{font-size:17px}.canvas-topline{left:22px;right:22px}.canvas-mode{display:none!important}}@media (width<=940px){.left-sidebar{width:175px}.right-sidebar{width:218px}.app-header{gap:13px}.header-divider{display:none}.board-heading input{width:160px;font-size:12px}.connect-button{padding:9px}.connect-button span{display:none}.button{padding:9px 11px}.canvas-topline{font-size:9px}.tool-button{width:29px}.toolbar-divider{margin:0 2px}.tool-button svg{width:17px}.drawing-toolbar{top:44px}.study-controls h2{font-size:19px}.reference-card img{height:77px}.workspace-label strong{font-size:11px}.sidebar-bottom{padding:10px}.library-button{gap:6px;padding:10px 6px}.library-button small{font-size:8px}.canvas-bottom{left:13px;right:13px}.study-controls{padding:21px 15px}.stress-results{gap:5px}.stress-results>div{padding:12px 8px}}@media (width<=760px){.app-header{gap:10px;height:64px;padding:0 13px}.workspace{height:calc(100dvh - 64px)}.logo{font-size:21px}.logo-mark{border-radius:8px;width:28px;height:28px}.logo-mark svg{width:27px;height:27px}.logo{gap:7px}.board-heading input{width:135px;font-size:11px}.save-label{font-size:8px}.sidebar-toggle{margin:0}.header-actions{gap:6px}.header-actions .button{gap:5px;min-height:34px;padding:8px;font-size:10px}.connect-button,.right-sidebar{display:none}.left-sidebar{z-index:9;width:205px;position:absolute;top:64px;bottom:0;left:0;box-shadow:8px 0 30px #343c5810}.canvas-area{width:100%}.canvas-topline{top:17px;left:17px;right:17px}.canvas-topline>span:first-child{white-space:nowrap;max-width:90%;overflow:hidden}.drawing-toolbar{top:42px}.tool-button{width:31px}.canvas-bottom{bottom:15px}.empty-canvas{width:90%}.empty-canvas h1{font-size:23px}.empty-canvas p{font-size:11px}.modal{border-radius:16px;padding:27px}.modal h2{font-size:22px}.modal-intro{font-size:11px}.shortcuts-grid{gap:14px 20px}.preset-grid{gap:10px}.preset-preview{height:125px;padding:10px}.preset-card strong{padding:15px 12px 0;font-size:11px}.preset-card>span{padding:7px 12px 13px;font-size:9px}.preset-card small{padding:0 12px 15px}.toast{white-space:normal;max-width:90%;font-size:10px}.error-toast{max-width:95%}.model-dimensions{gap:8px}}@media (width<=440px){.logo>span:last-child{display:none}.board-heading input{width:137px}.sidebar-toggle{padding:3px}.drawing-toolbar{padding:4px}.tool-button{width:27px;height:40px}.tool-button svg{width:17px;height:17px}.toolbar-divider{margin:0 2px}.tool-shortcut{font-size:6px}.canvas-breadcrumb{display:none}.selection-actions>span{max-width:90px}.modal-backdrop{padding:15px}.modal{padding:25px 20px}.shortcuts-grid{grid-template-columns:1fr;gap:12px}.preset-grid{grid-template-columns:1fr}.preset-preview{height:100px}.copy-field code{font-size:10px}.modal-tabs{gap:13px}.canvas-bottom{gap:8px}.bottom-group .icon-button{width:25px}.zoom-level{min-width:36px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.draft-render,.draft-render *{pointer-events:none!important}.selection-actions.visual-selection{font-size:10px;bottom:20px;left:45%}.visual-fields .field-label>select{color:#75658d;width:100%;font:inherit;background:#fcfbff;border:1px solid #e3e1ef;border-radius:7px;margin-top:10px;padding:12px 10px;display:block}.visual-fields .field-label>small{display:block}.visual-modal{max-width:96vw;width:1080px!important}.visual-editor-layout{grid-template-columns:1fr 1.1fr;gap:28px;margin-bottom:24px;display:grid}.visual-fields{max-height:58vh;padding:3px 8px 6px 3px;overflow:auto}.visual-field-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.visual-data{resize:vertical;font-family:Consolas,monospace!important;font-size:12px!important;line-height:1.7!important}.visual-fields .field-label small{color:#9590a4;margin:6px 0;font-size:10px;font-weight:400;line-height:1.7}.visual-check{accent-color:#6259d4;align-items:center;gap:8px;margin:15px 0;font-size:12px;display:flex}.visual-hint{color:#9590a4;font-size:11px;line-height:1.8}.visual-preview{background:#faf9fe;border:1px solid #e7e3f0;border-radius:12px;min-height:180px;overflow:hidden}.visual-preview svg{width:100%;height:auto}.visual-preview p{color:#ae684e;overflow-wrap:anywhere;padding:25px;font-size:12px;line-height:1.8}.visual-results{color:#77679b;background:#f4f1fc;border-radius:8px;padding:13px;font-size:12px;line-height:1.8}.visual-library{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:22px;display:grid}.visual-library button{color:#8675aa;text-align:left;border:1px solid #e7e2f4;border-radius:8px;align-items:center;gap:10px;padding:13px;font-size:12px;display:flex}.visual-library button:hover{background:#f7f3fc}.visual-library button span{flex:1}.tool-select [data-visual-point]{cursor:grab!important}.tool-select [data-visual-cut]{cursor:ew-resize!important}.tool-select [data-visual-orbit]{cursor:move}.visual-fields input[type=range]{border:0!important;padding:0!important}@media (width<=760px){.visual-editor-layout{grid-template-columns:1fr}.visual-fields{max-height:none}.visual-modal{max-height:92vh}.visual-preview-column{margin-bottom:10px}.visual-library{grid-template-columns:1fr}.visual-modal .equation-actions{background:#fff;border-top:1px solid #eee9f5;padding:12px;position:sticky;bottom:-28px}}.tool-sticky .drawing-surface{cursor:copy}.build-icon.yellow{color:#b29946;background:#fff8d8}.equation-input{font-family:Consolas,monospace!important;line-height:1.7!important}.equation-examples{flex-wrap:wrap;gap:7px;margin:-5px 0 23px;display:flex}.equation-examples button{color:#8271ad;background:#faf8ff;border:1px solid #e6e1f4;border-radius:6px;padding:7px 10px;font-size:10px}.equation-examples button:hover{background:#f0ebfc}.equation-preview{background:#fafbfe;border:1px solid #e7e8f2;border-radius:10px;justify-content:center;align-items:center;min-height:164px;margin-bottom:22px;display:flex}.equation-preview svg{width:100%;display:block}.equation-preview p{color:#a36b54;overflow-wrap:anywhere;padding:20px;font-size:12px;line-height:1.7}.equation-actions{justify-content:flex-end;gap:9px;display:flex}.equation-property{margin-bottom:20px}.equation-property code{overflow-wrap:anywhere;white-space:pre-wrap;color:#827494;background:#faf9fe;border:1px solid #ebe7f5;border-radius:7px;margin-bottom:10px;padding:12px;font-size:11px;line-height:1.8;display:block}.equation-property button{justify-content:center;width:100%}@media (width<=760px){.drawing-toolbar{justify-content:flex-start;max-width:calc(100% - 20px);overflow-x:auto}.tool-slot,.drawing-toolbar>.tool-button,.drawing-toolbar>.toolbar-divider{flex-shrink:0}}.cad-inspector select{width:100%;font:inherit;color:#75658d;background:#fcfbff;border:1px solid #e3e1ef;border-radius:7px;margin:10px 0;padding:10px;display:block}.cad-layer-list{gap:8px;margin:12px 0;display:grid}.cad-layer-list label{align-items:center;gap:7px;font-size:11px;line-height:1.6;display:flex}.cad-layer-list input{accent-color:#6259d4}.cad-sheet-info{color:#8b809f;font-size:11px;line-height:1.7}.cad-inspector .button{margin-top:7px}.app-shell{--panel-ink:#293449;--panel-muted:#697386;--panel-border:#e4e8ef;--panel-faint:#f8fafc;--panel-accent:#6259d4;--panel-radius:8px}.app-shell .app-header{border-color:var(--panel-border);height:56px;min-height:56px;color:var(--panel-ink);gap:14px;padding:0 16px}.app-shell .logo{letter-spacing:-.8px;gap:8px;font-size:20px}.app-shell .logo-mark{width:26px;height:26px;box-shadow:none;border-radius:8px}.app-shell .logo-mark svg{width:24px;height:24px}.app-shell .header-divider{height:24px;margin-left:2px}.app-shell .workspace{height:calc(100dvh - 56px);min-height:0;color:var(--panel-ink)}.app-shell .board-heading{flex:auto;min-width:80px;max-width:280px}.app-shell .board-heading input{width:100%;min-width:0;color:var(--panel-ink);font-family:Manrope,Segoe UI,sans-serif;font-size:13px;font-weight:700}.app-shell .save-label{margin-top:2px;font-size:10px}.app-shell .header-actions .button{min-height:34px;padding:7px 10px}.app-shell .panel-controls{flex:none;align-items:center;gap:3px;display:flex}.app-shell .panel-toggle,.app-shell .focus-toggle{border:1px solid var(--panel-border);min-height:36px;color:var(--panel-muted);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.app-shell .panel-toggle:hover,.app-shell .focus-toggle:hover{background:var(--panel-faint);color:var(--panel-ink)}.app-shell .panel-toggle[aria-pressed=true],.app-shell .panel-toggle[aria-expanded=true]{color:var(--panel-accent);background:#f6f5fd;border-color:#d8d5f0}.app-shell .panel-button-label{white-space:nowrap}.app-shell .left-sidebar,.app-shell .right-sidebar{z-index:2;background:#fff;flex-direction:column;flex:none;min-height:0;display:flex;overflow:hidden}.app-shell .left-sidebar[hidden],.app-shell .right-sidebar[hidden]{display:none!important}.app-shell .left-sidebar{border-right:1px solid var(--panel-border);width:240px}.app-shell .right-sidebar{border-left:1px solid var(--panel-border);width:288px}.app-shell .panel-header{border-bottom:1px solid var(--panel-border);background:#fff;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:0 14px;display:flex}.app-shell .panel-heading,.app-shell .panel-header h2{min-width:0;color:var(--panel-ink);letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Manrope,Segoe UI,sans-serif;font-size:14px;font-weight:700;overflow:hidden}.app-shell .panel-header-actions{flex:none;align-items:center;gap:2px;display:flex}.app-shell .panel-header-actions .icon-button,.app-shell .panel-header .icon-button{width:34px;height:34px;color:var(--panel-muted);border-radius:7px}.app-shell .panel-header-actions .icon-button:hover,.app-shell .panel-header .icon-button:hover{background:var(--panel-faint);color:var(--panel-ink)}.app-shell .panel-caption{color:var(--panel-muted);border-bottom:1px solid var(--panel-border);background:#fff;margin:0;padding:10px 14px 11px;font-size:11px;line-height:1.5}.app-shell .browser-tabs{border:1px solid var(--panel-border);background:var(--panel-faint);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:11px 12px 10px;padding:3px;display:grid}.app-shell .browser-tabs [role=tab],.app-shell .browser-tabs button{min-width:0;min-height:32px;color:var(--panel-muted);white-space:nowrap;border-radius:6px;padding:5px 4px;font-size:11px;font-weight:600}.app-shell .browser-tabs [aria-selected=true],.app-shell .browser-tabs .active{color:var(--panel-ink);background:#fff;box-shadow:0 1px 2px #29344912}.app-shell .tab-count{color:#8791a2;margin-left:4px;font-size:10px;font-weight:500}.app-shell .browser-search{color:#8b94a5;border:1px solid var(--panel-border);background:#fff;border-radius:7px;align-items:center;gap:7px;min-height:36px;margin:0 12px 9px;padding:0 9px;display:flex}.app-shell .browser-search input{width:0;min-width:0;height:32px;color:var(--panel-ink);background:0 0;border:0;outline:0;flex:auto;padding:0;font-size:12px}.app-shell .browser-search input::placeholder{color:#98a1b0}.app-shell .browser-search input:focus{outline:0}.app-shell .browser-search button{width:28px;height:28px;color:var(--panel-muted);border-radius:5px;place-items:center;display:grid}.app-shell .browser-search button:hover{background:var(--panel-faint)}.app-shell .browser-filter{align-items:center;gap:5px;min-height:34px;padding:0 12px 7px;display:flex}.app-shell .browser-filter button{min-height:27px;color:var(--panel-muted);border:1px solid #0000;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:600}.app-shell .browser-filter button[aria-pressed=true],.app-shell .browser-filter button.active{color:var(--panel-accent);background:#f5f4fc;border-color:#e8e6f7}.app-shell .browser-content{overscroll-behavior:contain;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.app-shell .board-list,.app-shell .outline-list{flex-direction:column;flex:1 0 auto;gap:2px;min-height:0;max-height:none;padding:3px 8px 10px;display:flex;overflow:visible}.app-shell .board-list-item,.app-shell .outline-item{color:#4e5a6e;text-align:left;letter-spacing:0;border-radius:6px;align-items:center;gap:8px;min-height:37px;padding:6px 8px;font-size:12px;font-weight:500;display:flex}.app-shell .board-list-item:hover,.app-shell .outline-item:hover{color:var(--panel-ink);background:var(--panel-faint)}.app-shell .board-list-item>span:first-of-type,.app-shell .outline-item>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.app-shell .board-list-item small,.app-shell .board-list-item .object-count{color:#8a94a5;flex:none;font-size:11px;font-weight:500}.app-shell .outline-item{min-height:34px;font-size:12px}.app-shell .outline-item svg{color:#8590a2;width:15px;height:15px}.app-shell .browser-empty,.app-shell .sidebar-empty{color:var(--panel-muted);padding:12px;font-size:12px;line-height:1.6}.app-shell .browser-empty button{color:var(--panel-accent);text-underline-offset:2px;margin-top:6px;font-size:12px;font-weight:600;text-decoration:underline}.app-shell .reference-card{border-color:var(--panel-border);border-radius:7px;width:calc(100% - 20px);margin:4px 10px 10px}.app-shell .reference-card img{height:88px;padding:6px}.app-shell .reference-card>span{color:#465267;padding:8px 9px;font-size:11px}.app-shell .reference-action{color:var(--panel-muted);font-size:10px}.app-shell .sidebar-footer{border-top:1px solid var(--panel-border);background:#fff;flex:none;margin-top:auto;padding:9px 10px}.app-shell .sidebar-footer-action{color:#596579;text-align:left;border-radius:6px;align-items:center;gap:8px;width:100%;min-height:36px;padding:5px 8px;font-size:12px;font-weight:500;display:flex}.app-shell .sidebar-footer-action:hover{color:var(--panel-ink);background:var(--panel-faint)}.app-shell .sidebar-footer-action svg{color:#758196;width:16px;height:16px}.app-shell .inspector-tabs{display:none}.app-shell .inspector-scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.app-shell .panel-empty{min-height:210px;color:var(--panel-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px 22px;display:flex}.app-shell .panel-empty>svg,.app-shell .panel-empty .empty-symbol{color:#8993a4;width:34px;height:34px;margin-bottom:11px}.app-shell .panel-empty h3{color:#3b475b;margin:0 0 5px;font-family:Manrope,sans-serif;font-size:13px;font-weight:700}.app-shell .panel-empty p{max-width:224px;color:var(--panel-muted);margin:0;font-size:12px;line-height:1.55}.app-shell .panel-empty button{color:var(--panel-accent);margin-top:12px;font-size:12px;font-weight:600}.app-shell .panel-section{border-bottom:1px solid var(--panel-border)}.app-shell .panel-section>summary,.app-shell .quick-tools>summary{color:#465267;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:12px;font-weight:700;list-style:none;display:flex}.app-shell .panel-section>summary::-webkit-details-marker,.app-shell .quick-tools>summary::-webkit-details-marker{display:none}.app-shell .panel-section>summary:after,.app-shell .quick-tools>summary:after{content:"⌄";color:#8590a2;font-size:14px}.app-shell .panel-section[open]>summary:after,.app-shell .quick-tools[open]>summary:after{content:"⌃"}.app-shell .panel-section>summary:hover,.app-shell .quick-tools>summary:hover{background:var(--panel-faint)}.app-shell .properties-section{color:var(--panel-ink);padding:14px}.app-shell .property-heading{color:var(--panel-ink);gap:8px;margin-bottom:14px}.app-shell .property-heading strong{color:#3e4a5f;font-family:Manrope,sans-serif;font-size:12px;font-weight:700}.app-shell .field-label{color:#536075;margin-bottom:12px;font-size:12px;line-height:1.5}.app-shell .field-label input,.app-shell .field-label textarea{border-color:var(--panel-border);min-height:36px;color:var(--panel-ink);background:#fff;border-radius:6px;margin-top:5px;padding:8px 9px;font-size:12px}.app-shell .field-label textarea{min-height:76px;line-height:1.5}.app-shell .geometry-fields{gap:6px;margin-bottom:14px}.app-shell .geometry-fields label{border-color:var(--panel-border);min-height:36px;color:var(--panel-muted);padding:6px 7px;font-size:11px}.app-shell .geometry-fields input{color:#3d495d;font-size:12px}.app-shell .swatches{gap:8px;margin-bottom:14px}.app-shell .swatches button{width:23px;height:23px}.app-shell .property-row{gap:8px;margin-bottom:13px}.app-shell .property-row label{color:#536075;font-size:11px}.app-shell .property-row select,.app-shell .property-row input{border-color:var(--panel-border);color:#3e4a5f;min-height:34px;padding:7px;font-size:12px}.app-shell .toggle-row{color:#536075;min-height:34px;margin-bottom:7px;font-size:12px}.app-shell .object-id{color:#7b879a;font-size:10px}.app-shell .object-id code{color:#667286;max-width:180px;font-size:10px}.app-shell .properties-section .cad-inspector{color:#465267;padding:12px 0}.app-shell .cad-inspector select{border-color:var(--panel-border);min-height:36px;color:var(--panel-ink);margin:7px 0 10px;padding:7px 9px;font-size:12px}.app-shell .cad-layer-list{gap:5px;margin:8px 0}.app-shell .cad-layer-list label{color:#4b576b;gap:8px;min-height:31px;font-size:12px}.app-shell .cad-layer-list input{width:15px;height:15px}.app-shell .cad-sheet-info{color:var(--panel-muted);font-size:12px;line-height:1.55}.app-shell .cad-inspector .button{min-height:36px;margin-top:7px}.app-shell .right-sidebar .visual-results{background:var(--panel-faint);color:#596579;border:1px solid var(--panel-border)}.app-shell .right-sidebar .equation-property code{background:var(--panel-faint);border-color:var(--panel-border);color:#596579}.app-shell .browser-images>.button{justify-content:center;width:calc(100% - 24px);margin:0 12px 10px}.app-shell .quick-tools{border-bottom:1px solid var(--panel-border)}.app-shell .quick-tools>summary{min-height:38px;padding:0 14px;font-size:11px}.app-shell .build-section{border:0;padding:5px 12px 10px}.app-shell .build-section>.property-label{color:#8490a2;letter-spacing:.65px;margin:3px 2px 5px;font-size:10px}.app-shell .build-section>button{color:#536075;gap:8px;min-height:38px;padding:4px 3px;font-size:12px}.app-shell .build-section>button:hover{color:var(--panel-ink)}.app-shell .build-section>button>svg{color:#8994a6;width:15px;height:15px}.app-shell .build-section small{color:#7d889a;margin-top:2px;font-size:10px}.app-shell .build-icon{border-radius:6px;width:27px;height:27px}.app-shell .bridge-status{border-top:1px solid var(--panel-border);flex:none;gap:8px;min-height:43px;margin:0;padding:7px 13px}.app-shell .bridge-status strong{color:#4d5a6e;font-size:11px;font-weight:600;display:inline}.app-shell .bridge-status small{display:none}.app-shell .bridge-status .status-dot{width:8px;height:8px}.app-shell .bridge-status>svg{color:#8792a4;width:15px;height:15px}.app-shell .selection-actions .selection-inspect{color:#4e5a6e;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.app-shell .selection-actions .selection-inspect:hover{color:var(--panel-accent);background:#f5f4fc}.app-shell :is(button,a,input,textarea,select,summary):focus-visible{outline-offset:2px;outline:2px solid #8178d2}@media (width>=1600px){.app-shell .app-header{height:56px}.app-shell .workspace{height:calc(100dvh - 56px)}.app-shell .left-sidebar{width:240px}.app-shell .right-sidebar{width:288px}}@media (width<=1180px) and (width>=761px){.app-shell .app-header{gap:8px;padding:0 12px}.app-shell .left-sidebar{width:240px}.app-shell .right-sidebar{width:288px}.app-shell .header-actions{gap:4px}.app-shell .header-actions .button{padding:6px 8px}}@media (width<=1050px) and (width>=761px){.app-shell .panel-button-label{display:none}}@media (width<=760px){.app-shell .export-wrap .button>svg:last-child{display:none}.app-shell .app-header{gap:5px;height:56px;min-height:56px;padding:0 9px}.app-shell .workspace{height:calc(100dvh - 56px)}.app-shell .logo{gap:6px;font-size:18px}.app-shell .logo-mark{width:24px;height:24px}.app-shell .logo-mark svg{width:22px;height:22px}.app-shell .panel-controls{gap:2px}.app-shell .panel-toggle,.app-shell .focus-toggle{border-color:#0000;width:36px;min-width:36px;min-height:36px;padding:0}.app-shell .panel-button-label{display:none}.app-shell .board-heading{flex:auto;min-width:52px;max-width:none}.app-shell .board-heading input{font-size:12px}.app-shell .save-label{font-size:9px}.app-shell .header-divider{display:none}.app-shell .header-actions{flex:none;gap:2px}.app-shell .header-actions .button{border-radius:7px;min-width:34px;min-height:34px;padding:4px}.app-shell .header-actions .button>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell .header-actions .button svg{width:17px;height:17px}.app-shell .header-actions .avatar{display:none}.app-shell .connect-button{display:inline-flex}.app-shell .panel-scrim{z-index:8;background:#17203338;position:fixed;inset:56px 0 0}.app-shell .left-sidebar,.app-shell .right-sidebar{z-index:9;width:min(240px,100vw - 32px);max-width:calc(100vw - 32px);display:flex;position:fixed;top:56px;bottom:0;box-shadow:0 10px 32px #17203320}.app-shell .left-sidebar{border-right:1px solid var(--panel-border);left:0}.app-shell .right-sidebar{border-left:1px solid var(--panel-border);width:min(288px,100vw - 32px);right:0}.app-shell .panel-header{min-height:52px;padding:0 12px}.app-shell .panel-caption{padding:9px 12px}.app-shell .inspector-scroll{padding-bottom:env(safe-area-inset-bottom)}.app-shell .selection-actions{max-width:calc(100vw - 20px)}.app-shell .selection-actions .selection-inspect{min-width:36px;min-height:36px}}@media (width<=390px){.app-shell .app-header{gap:3px;padding:0 6px}.app-shell .logo>span:last-child{display:none}.app-shell .panel-controls{gap:0}.app-shell .panel-toggle,.app-shell .focus-toggle{width:32px;min-width:32px;min-height:34px}.app-shell .header-actions{gap:0}.app-shell .header-actions .button{width:32px;min-width:32px;min-height:34px}.app-shell .board-heading{min-width:44px}.app-shell .board-heading input{font-size:11px}.app-shell .save-label{gap:2px;font-size:8px}}@media (width<=440px){.app-shell .selection-actions>span{display:none}}@media (width<=340px){.app-shell .app-header{gap:1px}.app-shell .panel-toggle,.app-shell .focus-toggle,.app-shell .header-actions .button{width:30px;min-width:30px}.app-shell .board-heading{min-width:36px}.app-shell .save-label{display:none}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--ui-surface:#fff;--ui-subtle:#f4f4f5;--ui-text:#18181b;--ui-muted:#71717a;--ui-border:#e4e4e7;--ui-accent:#18181b;--ui-accent-soft:#f4f4f5;--ui-shadow:0 1px 2px #00000006;--ui-danger:#a13838;--ui-danger-surface:#fff5f5;--canvas-paper:#fafafa;--canvas-dot:#e4e4e7;--muted:var(--ui-muted);--ink:var(--ui-text);--line:var(--ui-border);--soft:var(--ui-subtle);--violet:var(--ui-accent);color:var(--ui-text);background:var(--ui-surface)}@media (prefers-color-scheme:dark){:root{--ui-surface:#18181b;--ui-subtle:#27272a;--ui-text:#fafafa;--ui-muted:#a1a1aa;--ui-border:#3f3f46;--ui-accent:#fafafa;--ui-accent-soft:#3f3f46;--ui-shadow:0 1px 2px #00000024;--ui-danger:#ffb8b8;--ui-danger-surface:#3e2b2e}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{--panel-ink:var(--ui-text);--panel-muted:var(--ui-muted);--panel-border:var(--ui-border);--panel-faint:var(--ui-subtle);--panel-accent:var(--ui-accent);color:var(--ui-text)}.app-shell :is(button,a,input,textarea,select,summary):focus-visible,.workspace-menu:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.app-shell button{transition:background-color .12s,color .12s}.app-shell button:active:not(:disabled){filter:brightness(.96)}.app-shell .app-header{background:var(--ui-surface);gap:18px;padding:0 20px}.app-shell .logo{color:var(--ui-text);font-size:19px}.app-shell .board-heading{max-width:330px}.app-shell .board-heading input{color:var(--ui-text);font-size:13px}.app-shell .save-label{color:var(--ui-muted);font-size:10px}.app-shell .save-label.saved svg{color:var(--ui-muted)}.app-shell .panel-controls{gap:4px}.app-shell .panel-toggle{min-height:34px;color:var(--ui-muted);background:0 0;border-color:#0000;border-radius:6px;font-size:12px;font-weight:500}.app-shell .panel-toggle:hover,.app-shell .panel-toggle[aria-expanded=true],.app-shell .focus-toggle[aria-pressed=true]{color:var(--ui-text);background:var(--ui-subtle);border-color:#0000}.app-shell .focus-toggle{width:34px;padding:0}.app-shell .focus-toggle .panel-button-label{display:none}.app-shell .header-actions{gap:8px}.app-shell .header-actions .import-button{display:none}.app-shell .button{box-shadow:none;border-radius:6px;min-height:36px;font-size:12px}.app-shell .button.primary{background:var(--ui-text);color:var(--ui-surface);border:1px solid var(--ui-text)}.app-shell .button.primary:hover{opacity:.9}.app-shell .button.subtle{background:var(--ui-subtle);color:var(--ui-text);border:1px solid var(--ui-border)}.app-shell .button.subtle:hover{background:var(--ui-border)}.app-shell .connect-button,.app-shell .app-header .export-trigger{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);font-weight:500}.app-shell .connect-button:hover,.app-shell .app-header .export-trigger:hover{background:var(--ui-subtle);border-color:var(--ui-border)}.app-shell .icon-button{color:var(--ui-muted);border-radius:6px}.app-shell .icon-button:hover:not(:disabled){background:var(--ui-subtle);color:var(--ui-text)}.app-shell .icon-button.danger:hover{color:var(--ui-danger);background:var(--ui-danger-surface)}.app-shell .canvas-area,.app-shell .drawing-surface{background:var(--canvas-paper)}.app-shell #canvas-dots circle{fill:var(--canvas-dot)}.app-shell .drawing-toolbar{border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-shadow);z-index:3;border-radius:10px;gap:2px;max-width:calc(100% - 24px);padding:5px;top:20px;overflow:visible}.app-shell .tool-slot{align-items:center;display:inline-flex}.app-shell .tool-button{width:32px;min-width:32px;height:32px;color:var(--ui-muted);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:grid;position:relative}.app-shell .tool-button svg{width:17px;height:17px}.app-shell .tool-button:hover{color:var(--ui-text);background:var(--ui-subtle)}.app-shell .tool-button.active,.app-shell .tool-button[data-state=open]{color:var(--ui-accent);background:var(--ui-accent-soft)}.app-shell .toolbar-divider{background:var(--ui-border);width:1px;height:18px;margin:0 4px}.app-shell .tool-tooltip{border:1px solid var(--ui-border);background:var(--ui-surface);width:max-content;box-shadow:var(--ui-shadow);color:var(--ui-text);pointer-events:none;opacity:0;visibility:hidden;border-radius:6px;align-items:center;gap:14px;padding:7px 9px;font-size:12px;font-weight:500;display:flex;position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%)}.app-shell .tool-button:hover .tool-tooltip,.app-shell .tool-button:focus-visible .tool-tooltip{opacity:1;visibility:visible}.app-shell kbd{color:var(--ui-muted);background:var(--ui-subtle);border-color:var(--ui-border)}.app-shell .tool-tooltip kbd{padding:2px 4px;font-size:10px}.app-shell .canvas-bottom{bottom:12px;left:12px;right:12px}.app-shell .bottom-group,.app-shell .selection-actions{color:var(--ui-muted);background:var(--ui-surface);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow);border-radius:8px}.app-shell .bottom-group{padding:3px}.app-shell .bottom-group .icon-button{width:28px;height:28px}.app-shell .bottom-divider{background:var(--ui-border)}.app-shell .zoom-level{color:var(--ui-text);font-variant-numeric:tabular-nums;font-size:11px}.app-shell .canvas-hint{display:none}.app-shell .active-soft{color:var(--ui-accent);background:var(--ui-accent-soft)}.app-shell .selection-actions{max-width:calc(100% - 32px);padding:4px 6px;bottom:72px}.app-shell .selection-actions.visual-selection{bottom:72px;left:50%}.app-shell .selection-actions .selection-inspect{color:var(--ui-text);font-weight:500}.app-shell .selection-actions .selection-inspect:hover{background:var(--ui-subtle)}.app-shell .selection-actions>span{color:var(--ui-muted);max-width:190px;font-size:12px}.app-shell .empty-canvas{width:min(420px,100% - 40px)}.app-shell .empty-canvas .empty-icon{color:#616b7a;box-shadow:none;background:#f0f1f4;border:1px solid #e1e4e9;border-radius:12px}.app-shell .empty-canvas h1{color:#303640;letter-spacing:-.6px;font-size:24px;font-weight:600}.app-shell .empty-canvas p{color:#616b7a;margin-bottom:22px;font-size:13px;line-height:1.7}.app-shell .empty-canvas .text-button{color:#574fc0;font-size:12px}.app-shell .canvas-loading{color:#616b7a;text-align:center;pointer-events:none;place-content:center;gap:12px;font-size:13px;display:grid;position:absolute;inset:0}.app-shell .loading-placeholder{background:linear-gradient(#f0f1f4 0 0) 16px 20px/140px 10px no-repeat,linear-gradient(#f0f1f4 0 0) 16px 44px/180px 10px no-repeat,linear-gradient(#f0f1f4 0 0) 16px 68px/90px 10px no-repeat,#fff;border:1px solid #e1e4e9;border-radius:8px;width:220px;height:100px}.app-shell .workspace-menu{z-index:20;min-width:224px;max-width:calc(100vw - 24px);max-height:var(--radix-dropdown-menu-content-available-height);color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:10px;padding:5px;overflow:auto;box-shadow:0 8px 28px #24293218,0 2px 6px #2429320a}.app-shell .workspace-menu.export-dropdown{width:248px;position:relative;top:auto;right:auto}.app-shell .workspace-menu-item{min-height:38px;color:var(--ui-text);cursor:pointer;border-radius:6px;outline:none;align-items:center;gap:10px;padding:8px 10px;font-size:13px;line-height:1.4;display:flex}.app-shell .workspace-menu-item>svg{color:var(--ui-muted);flex:none}.app-shell .workspace-menu-item>span{flex:auto}.app-shell .workspace-menu-item small{color:var(--ui-muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.app-shell .workspace-menu-item kbd{background:0 0;border:0;font-size:11px}.app-shell .workspace-menu-item[data-highlighted]{background:var(--ui-subtle)}.app-shell .workspace-menu-item:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}.app-shell .workspace-menu-item[data-disabled]{opacity:.5;cursor:default}.app-shell .workspace-menu-separator{background:var(--ui-border);height:1px;margin:5px 4px}.app-shell :is(.left-sidebar,.right-sidebar,.panel-header,.panel-caption,.sidebar-footer){background:var(--ui-surface)}.app-shell .panel-header{min-height:50px;padding:0 14px}.app-shell .panel-heading,.app-shell .panel-header h2{font-size:13px;font-weight:600}.app-shell .browser-tabs{border:0;border-bottom:1px solid var(--ui-border);background:0 0;border-radius:0;gap:8px;margin:0 0 12px;padding:0 12px;display:flex}.app-shell .browser-tabs [role=tab]{min-height:40px;color:var(--ui-muted);border-bottom:2px solid #0000;border-radius:0;flex:1 1 0;padding:0;font-size:12px;font-weight:500}.app-shell .browser-tabs [aria-selected=true]{color:var(--ui-text);border-bottom-color:var(--ui-accent);box-shadow:none;background:0 0}.app-shell .tab-count{color:var(--ui-muted);font-size:10px}.app-shell .browser-search{background:var(--ui-surface);color:var(--ui-muted);margin-bottom:10px}.app-shell .browser-search input{font-size:12px}.app-shell .browser-search input::placeholder{color:var(--ui-muted);opacity:1}.app-shell .browser-search:focus-within{border-color:var(--ui-accent);box-shadow:0 0 0 1px var(--ui-accent)}.app-shell .browser-search input:focus-visible{outline:0}.app-shell .current-board{z-index:1;border-bottom:1px solid var(--ui-border);background:var(--ui-surface);padding:0 8px 10px;position:sticky;top:0}.app-shell .current-board .board-list-item{width:100%}.app-shell .board-row{align-items:center;gap:3px;min-width:0;display:flex}.app-shell .board-row .board-list-item,.app-shell .board-row .outline-item{flex:1;width:0;min-width:0}.app-shell .board-options{width:30px;height:34px;color:var(--ui-muted);flex:0 0 30px}.app-shell .trash-list{gap:8px;max-height:50dvh;display:grid;overflow-y:auto}.app-shell .trash-row{border-bottom:1px solid var(--ui-border);align-items:center;gap:12px;padding:12px 0;display:flex}.app-shell .trash-row>div{flex:1;min-width:0}.app-shell .trash-row strong{overflow-wrap:anywhere;font-size:13px;display:block}.app-shell .trash-row span{color:var(--ui-muted);margin-top:4px;font-size:11px;display:block}.app-shell .trash-empty{color:var(--ui-muted);padding:24px 0;font-size:13px}.app-shell .browser-group-label{color:var(--ui-muted);margin:0;padding:7px 8px;font-size:11px;font-weight:500}.app-shell .board-list{padding-top:3px}.app-shell .board-list-item,.app-shell .outline-item{min-height:38px;color:var(--ui-muted);font-size:12px;font-weight:400}.app-shell .board-list-item.active,.app-shell .outline-item.active{color:var(--ui-text);background:var(--ui-subtle);font-weight:500}.app-shell .current-board .board-list-item.active>svg{color:var(--ui-accent)}.app-shell :is(.board-list-item small,.outline-item svg,.sidebar-footer-action svg,.reference-action,.browser-search){color:var(--ui-muted)}.app-shell .browser-filter button[aria-pressed=true]{color:var(--ui-text);background:var(--ui-subtle);border-color:var(--ui-border)}.app-shell .sidebar-footer{padding:8px 10px}.app-shell .sidebar-footer-action{color:var(--ui-muted);font-size:12px;font-weight:400}.app-shell .reference-card{background:var(--ui-surface)}.app-shell .reference-card img{background:#fff}.app-shell .reference-card>span{color:var(--ui-text)}.app-shell .panel-caption{border-bottom:0;padding-bottom:6px;font-size:12px}.app-shell .panel-empty h3{color:var(--ui-text);font-weight:600}.app-shell .property-heading strong{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.app-shell .property-label{letter-spacing:0;color:var(--ui-muted);text-transform:none;margin:12px 0 9px;font-size:12px}.app-shell .panel-section{margin:0 -4px}.app-shell .panel-section>summary{color:var(--ui-text);padding:0 4px;font-weight:500}.app-shell .panel-section-body{padding:4px 4px 14px}.app-shell :is(.field-label,.property-row label,.toggle-row,.object-id,.object-id code,.cad-layer-list label,.cad-sheet-info,.quick-tools>summary,.build-section>button,.build-section small){color:var(--ui-muted)}.app-shell :is(.field-label input,.field-label textarea,.field-label select,.property-row input,.property-row select,.geometry-fields label,.cad-inspector select){color:var(--ui-text);background:var(--ui-surface);border-color:var(--ui-border);border-radius:6px}.app-shell :is(input,textarea)::placeholder{color:var(--ui-muted);opacity:1}.app-shell .geometry-fields input{color:var(--ui-text);font-variant-numeric:tabular-nums;background:0 0}.app-shell .geometry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell .geometry-fields label{align-items:center;gap:8px;font-size:12px;display:flex}.app-shell .geometry-fields input{width:100%;min-width:0}.app-shell .right-sidebar :is(.visual-results,.equation-property code,.cad-stats){color:var(--ui-muted);background:var(--ui-subtle);border-color:var(--ui-border)}.app-shell .cad-stats small{color:var(--ui-muted)}.app-shell .layer-color{border:1px solid #24293222;border-radius:2px;flex:none;width:10px;height:10px}.app-shell .bridge-status{background:var(--ui-surface)}.app-shell .bridge-status strong{color:var(--ui-muted);font-weight:400}.app-shell .build-icon{color:var(--ui-muted);background:var(--ui-subtle)}.app-shell .study-controls{padding:22px 16px}.app-shell .study-controls h2{color:var(--ui-text);letter-spacing:-.3px;margin-bottom:6px;font-size:16px}.app-shell :is(.study-controls .section-description,.parameter-label,.parameter-value>span,.stress-results span,.stress-results small,.stress-results em,.managed-note,.model-link){color:var(--ui-muted)}.app-shell .study-controls .section-description,.app-shell .parameter-label{font-size:12px}.app-shell .parameter-value strong{color:var(--ui-text);font-variant-numeric:tabular-nums;font-size:21px}.app-shell .stress-results>div{background:var(--ui-subtle);border:1px solid var(--ui-border)}.app-shell .stress-results strong{color:var(--ui-text);font-variant-numeric:tabular-nums;font-size:18px}.app-shell .modal-backdrop{backdrop-filter:blur(2px);background:#20242d66}.app-shell .modal{background:var(--ui-surface);border-color:var(--ui-border);border-radius:12px;width:min(600px,100%);max-height:calc(100dvh - 48px);padding:28px}.app-shell .modal:focus{outline:none}.app-shell .modal-close{width:32px;height:32px;color:var(--ui-muted);top:16px;right:16px}.app-shell .modal h2{color:var(--ui-text);letter-spacing:-.5px;margin:0 32px 8px 0;font-size:21px;font-weight:600;line-height:1.3}.app-shell .modal-intro{color:var(--ui-muted);margin-bottom:24px;font-size:13px;line-height:1.65}.app-shell .modal .eyebrow{display:none}.app-shell .modal :is(.field-label,.connection-explanation,.fine-print,.visual-hint,.model-notes,.model-source,.text-button,details,.shortcuts-grid>div,.visual-fields .field-label small,.preset-card>span,.preset-card small){color:var(--ui-muted);font-size:12px}.app-shell .modal .field-label{color:var(--ui-text);font-size:13px;font-weight:500}.app-shell .modal :is(input,select,textarea,pre,.copy-field){color:var(--ui-text);background:var(--ui-surface);border-color:var(--ui-border)}.app-shell .modal .field-label :is(input,select,textarea){padding:9px 11px;font-size:13px}.app-shell .modal .field-label textarea{min-height:90px}.app-shell .modal-tabs{gap:20px;margin:0 0 20px}.app-shell .modal-tabs button{color:var(--ui-muted);padding:10px 0;font-size:13px}.app-shell .modal-tabs button.active{color:var(--ui-text);border-color:var(--ui-accent)}.app-shell :is(.connection-state,.connection-prompt,.modal pre,.tool-chips span,.visual-results){color:var(--ui-muted);background:var(--ui-subtle);border:1px solid var(--ui-border);border-radius:6px}.app-shell .connection-state{margin-bottom:20px;padding:12px;font-size:12px}.app-shell .connection-state code{color:var(--ui-muted);background:var(--ui-surface);font-size:11px}.app-shell .copy-field code{color:var(--ui-text);white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:12px}.app-shell .connection-explanation{line-height:1.7}.app-shell .tool-chips{gap:6px;margin:18px 0}.app-shell .tool-chips span{font-size:11px}.app-shell .connection-prompt{margin-top:20px;padding:14px}.app-shell .connection-prompt :is(strong,p){color:var(--ui-muted);font-size:12px}.app-shell .connection-prompt strong{color:var(--ui-text);font-weight:500}.app-shell .fine-print{margin-top:16px;line-height:1.7}.app-shell .modal .command-editor{height:250px;margin-bottom:0;font-size:12px}.app-shell .dialog-error{color:var(--ui-danger);background:var(--ui-danger-surface);overflow-wrap:anywhere;border:1px solid;border-radius:6px;align-items:center;gap:8px;margin:12px 0;padding:10px 12px;font-size:12px;line-height:1.6;display:flex}.app-shell .dialog-error>span{flex:1;min-width:0}.app-shell [aria-invalid=true]{border-color:var(--ui-danger)!important}.app-shell .shortcuts-grid{gap:14px 28px}.app-shell .shortcuts-grid kbd{color:var(--ui-muted);background:var(--ui-subtle);border-color:var(--ui-border);font-size:11px}.app-shell .visual-library{gap:8px}.app-shell .visual-library button{color:var(--ui-text);border-color:var(--ui-border);border-radius:6px;font-size:13px}.app-shell .visual-library button:hover{background:var(--ui-subtle)}.app-shell .preset-card{border-color:var(--ui-border);background:var(--ui-surface);border-radius:8px}.app-shell .preset-card:hover{border-color:var(--ui-accent);box-shadow:none}.app-shell .preset-card strong{color:var(--ui-text);font-size:13px;font-weight:500}.app-shell .preset-preview{border-color:var(--ui-border);background:#f9fafb}.app-shell :is(.visual-preview,.equation-preview){border-color:var(--ui-border);background:#fff;border-radius:8px}.app-shell .visual-editor-layout{gap:24px}.app-shell .visual-fields{max-height:58dvh}.app-shell .visual-fields .field-label small{line-height:1.5}.app-shell .visual-field-grid{gap:0 14px}.app-shell .equation-examples{margin:4px 0 20px}.app-shell .equation-examples button{color:var(--ui-muted);background:var(--ui-surface);border-color:var(--ui-border);font-size:12px}.app-shell .equation-examples button:hover{background:var(--ui-subtle)}.app-shell .equation-actions{margin-top:20px}.app-shell .model-formula{color:var(--ui-text);background:var(--ui-subtle);border-color:var(--ui-border)}.app-shell .toast{color:var(--ui-text);background:var(--ui-surface);border-color:var(--ui-border);font-size:12px}.app-shell .error-toast{color:var(--ui-danger);background:var(--ui-danger-surface);border-color:var(--ui-danger);font-size:12px}@media (width<=1180px){.app-shell .app-header{gap:10px;padding:0 12px}.app-shell .header-actions{gap:6px}}@media (width<=940px){.app-shell .drawing-toolbar{top:20px}}@media (width<=760px){.app-shell .app-header{gap:5px;padding:0 9px}.app-shell .header-actions{gap:3px}.app-shell .header-actions .button{width:34px;min-width:34px;height:34px}.app-shell .export-trigger>svg:last-child{display:none}.app-shell .drawing-toolbar{gap:1px;max-width:calc(100% - 20px);padding:4px;top:16px;overflow:visible}.app-shell .tool-button{width:38px;min-width:38px;height:40px}.app-shell .tool-tooltip{display:none}.app-shell .toolbar-divider{margin:0 4px}.app-shell .canvas-bottom{left:10px;right:10px;bottom:max(12px, env(safe-area-inset-bottom))}.app-shell .bottom-group .icon-button{width:28px;height:34px}.app-shell .selection-actions,.app-shell .selection-actions.visual-selection{bottom:66px}.app-shell .empty-canvas h1{font-size:22px}.app-shell .modal-backdrop{padding:12px}.app-shell .modal{border-radius:12px;max-height:calc(100dvh - 24px);padding:24px 20px}.app-shell .modal h2{font-size:20px}.app-shell .modal-intro{font-size:12px}.app-shell .visual-modal{max-width:calc(100vw - 24px)}.app-shell .visual-editor-layout{grid-template-columns:1fr}.app-shell .visual-fields{max-height:none}.app-shell .visual-modal .equation-actions{background:var(--ui-surface);border-color:var(--ui-border);bottom:-24px}.app-shell .workspace-menu-item{min-height:42px}.app-shell .shortcuts-grid{grid-template-columns:1fr}}@media (width<=390px){.app-shell .app-header{gap:3px;padding:0 6px}.app-shell .header-actions{gap:0}.app-shell .header-actions .button{width:32px;min-width:32px}.app-shell .tool-button{width:36px;min-width:36px}.app-shell .tool-button svg{width:19px;height:19px}.app-shell .canvas-bottom .bottom-group{padding:3px}}.app-shell{--dock-top:12px;--dock-height:40px;--dock-gap:8px;--panel-top:calc(var(--dock-top) + var(--dock-height) + var(--dock-gap));min-height:0}.app-shell .workspace{height:100dvh;min-height:0;position:relative}.app-shell .canvas-area{flex:100%;width:100%;min-width:0;height:100dvh}.app-shell .app-header{top:var(--dock-top);z-index:10;height:var(--dock-height);pointer-events:none;background:0 0;border:0;gap:16px;min-height:0;padding:0;position:fixed;left:12px;right:12px}.app-shell .workspace-identity,.app-shell .header-actions{height:var(--dock-height);min-height:var(--dock-height);border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-shadow);pointer-events:auto;border-radius:10px;align-items:center;gap:5px;padding:3px;display:flex}.app-shell .workspace-identity{width:min(280px,100vw - 200px)}.app-shell .workspace-identity .logo>span:last-child{display:none}.app-shell .workspace-identity .logo{letter-spacing:-.6px;flex:none;gap:6px;font-size:17px}.app-shell .workspace-identity .board-heading{flex:auto;width:0;min-width:0;padding:0 6px 0 2px}.app-shell .workspace-identity .board-heading input{font-size:12px}.app-shell .workspace-identity .logo-mark{border-radius:6px;width:24px;height:24px}.app-shell .logo-mark{box-shadow:none;background:#18181b}.app-shell .workspace-identity .browser-opener{width:30px;min-width:30px;height:30px;padding:0}.app-shell .header-actions{gap:3px;margin-left:auto}.app-shell .header-actions :is(.panel-toggle,.button){background:0 0;border-color:#0000;width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.app-shell .header-actions :is(.button,.panel-toggle):hover{background:var(--ui-subtle);border-color:#0000}.app-shell .header-actions .button>span,.app-shell .header-actions .panel-button-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell .export-trigger>svg:last-child{display:none}.app-shell .panel-controls{border-right:1px solid var(--ui-border);gap:1px;margin-right:2px;padding-right:5px}.app-shell .drawing-toolbar{top:var(--dock-top);height:var(--dock-height);gap:1px;padding:3px}.app-shell .left-sidebar,.app-shell .right-sidebar{top:var(--panel-top);height:min(500px, calc(100dvh - var(--panel-top) - 80px));max-height:calc(100dvh - var(--panel-top) - 80px);border:1px solid var(--ui-border);z-index:9;border-radius:12px;position:absolute;bottom:auto;box-shadow:0 8px 32px #24293212,0 2px 8px #24293208}.app-shell .left-sidebar{width:220px;left:12px}.app-shell .right-sidebar{width:288px;right:16px}.app-shell .panel-header{min-height:40px}.app-shell .panel-empty{min-height:180px}@media (width<=820px){.app-shell{--panel-top:calc(var(--dock-top) + var(--dock-height) * 2 + var(--dock-gap) * 2)}.app-shell .drawing-toolbar{top:calc(var(--dock-top) + var(--dock-height) + var(--dock-gap))}.app-shell .workspace-identity{width:min(280px,100vw - 200px)}.app-shell .workspace-identity .logo>span:last-child{display:none}}@media (width<=760px){.app-shell{--dock-top:10px;--dock-height:44px;--dock-gap:8px}.app-shell .tool-button{height:36px}.app-shell .app-header{gap:8px;left:12px;right:12px}.app-shell .workspace-identity{flex:auto;gap:4px;width:0;min-width:0;padding:4px}.app-shell .workspace-identity .logo{gap:0}.app-shell .workspace-identity .logo-mark{width:24px;height:24px}.app-shell .workspace-identity .browser-opener{width:32px;min-width:32px}.app-shell .header-actions{flex:none;gap:2px;padding:4px}.app-shell .header-actions .focus-toggle{display:none}.app-shell .header-actions :is(.panel-toggle,.button){width:32px;min-width:32px;height:34px}.app-shell .panel-controls{margin-right:0;padding-right:3px}.app-shell .left-sidebar,.app-shell .right-sidebar{height:min(660px, calc(100dvh - var(--panel-top) - 12px));max-height:calc(100dvh - var(--panel-top) - 12px);max-width:calc(100vw - 24px)}.app-shell .left-sidebar{width:min(260px,100vw - 24px);left:12px}.app-shell .right-sidebar{width:min(288px,100vw - 24px);right:12px}.app-shell .panel-scrim{background:#20242d24;border:0;inset:0}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app-shell .skills-modal{width:480px;max-width:calc(100vw - 32px);padding:28px}.app-shell .header-actions .share-button{justify-content:center;gap:6px;width:auto;min-width:68px;padding:0 8px}.app-shell .header-actions .share-button>span{clip-path:none;white-space:nowrap;width:auto;height:auto;position:static;overflow:visible}.app-shell .header-actions .share-button>svg{flex:none}.app-shell .connector-bend{cursor:grab;pointer-events:all}.app-shell .connector-bend:active{cursor:grabbing}.app-shell .connector-bend:focus{stroke-width:2.5px;outline:none}.app-shell .selection-overlay :is(rect,circle){stroke:#18181b}.app-shell .selection-overlay rect:not(.resize-handle){stroke-width:1px}.app-shell .inline-editor{color:#27272a;filter:grayscale()}.app-shell .canvas-area{color:#27272a}.app-shell .connector-controls{padding:12px 16px}.app-shell .connector-controls label{color:var(--ui-text);align-items:center;gap:8px;font-size:12px;display:flex}.app-shell .connector-controls input{accent-color:var(--ui-text)}.app-shell .connector-controls p{color:var(--ui-muted);margin:8px 0 0;font-size:11px;line-height:1.5}.app-shell .panel-controls{margin-right:0;padding-right:3px}.app-shell .header-actions .share-button{gap:4px;min-width:62px}.app-shell .zoom-level{min-width:36px;height:28px}.app-shell .workspace-identity .save-label{margin-top:0;font-size:9px}.app-shell .left-sidebar,.app-shell .right-sidebar,.app-shell .workspace-menu{box-shadow:0 2px 8px #00000008}.app-shell .skills-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.app-shell .skills-mark{border:1px solid var(--ui-border);width:42px;height:42px;color:var(--ui-accent);background:var(--ui-subtle);border-radius:10px;place-items:center;display:grid}.app-shell .skills-badge{color:var(--ui-muted);font-size:11px}.app-shell .skills-modal h2{margin-bottom:8px}.app-shell .skills-modal .modal-intro{margin-bottom:24px;line-height:1.6}.app-shell .skills-list{border-top:1px solid var(--ui-border)}.app-shell .skill-row{border-bottom:1px solid var(--ui-border);align-items:flex-start;gap:14px;padding:20px 0;display:flex}.app-shell .skill-row>div{flex:1;min-width:0}.app-shell .skill-icon{width:32px;height:32px;color:var(--ui-muted);flex:0 0 32px;place-items:center;display:grid}.app-shell .skill-row h3{color:var(--ui-text);margin:0 0 6px;font-size:13px;font-weight:600}.app-shell .skill-row p{color:var(--ui-muted);margin:0 0 9px;font-size:12px;line-height:1.6}.app-shell .skill-status{color:var(--ui-muted);font-size:10px}.app-shell .skill-download{border:1px solid var(--ui-border);width:34px;height:34px;color:var(--ui-muted);background:var(--ui-surface);opacity:.55;cursor:not-allowed;border-radius:7px;flex:0 0 34px;place-items:center;display:grid}.app-shell .skills-footer{color:var(--ui-muted);margin:18px 0 0;font-size:11px;line-height:1.6}.app-shell .cad-inspector>a.button{justify-content:center;width:100%;text-decoration:none}@media (width<=760px){.app-shell .skills-modal{padding:24px 20px}.app-shell .skill-row{gap:8px}}.cli-steps{gap:18px;margin:16px 0;padding-left:22px;display:grid}.cli-steps li>p{margin:6px 0;font-size:13px;line-height:1.5}.cli-steps pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f7fb;border-radius:8px;padding:10px;font-size:12px;line-height:1.6}.cli-steps .copy-field code{white-space:normal;overflow-wrap:anywhere;word-break:break-all}.skill-download{color:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.skills-footer code{overflow-wrap:anywhere}.local-setup{color:#302d45;background:#faf9f6;min-height:100dvh;padding:32px clamp(24px,6vw,100px);font-family:DM Sans,sans-serif;overflow:auto}.local-setup header{justify-content:space-between;align-items:center;gap:20px;max-width:1100px;margin:0 auto;display:flex}.local-wordmark{letter-spacing:-1.5px;font-family:Manrope,sans-serif;font-size:30px;font-weight:700}.local-wordmark span{color:#6259d4}.local-tag{color:#777383;font-size:13px}.local-setup-body{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,7vw,100px);max-width:1100px;margin:76px auto 64px;display:grid}.local-setup h1{letter-spacing:-2px;margin:18px 0 24px;font-size:clamp(34px,4vw,54px);font-weight:500;line-height:1.13}.local-lead{color:#706a7d;margin-bottom:28px;font-size:18px;line-height:1.65}.local-setup .button{text-decoration:none;display:inline-flex}.local-note{color:#706a7d;max-width:340px;margin-top:26px;font-size:14px;line-height:1.6}.local-install{background:#fff;border:1px solid #e8e4ed;border-radius:18px;padding:28px}.local-install h2{margin:0 0 24px;font-size:20px}.local-install ol{margin:0;padding-left:22px}.local-install li{margin-bottom:28px;padding-left:8px}.local-install p,.local-install a{color:#706a7d;font-size:13px;line-height:1.6}.local-install pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f3f9;border-radius:8px;padding:14px;font-size:12px}.local-setup footer{color:#777383;border-top:1px solid #e8e4ed;max-width:1100px;margin:auto;padding-top:22px;font-size:13px;line-height:1.6}@media (width<=750px){.local-setup-body{grid-template-columns:1fr;gap:32px;margin-top:44px}.local-tag{display:none}}.live-panel{z-index:42;top:var(--panel-top,96px);color:#343c58;background:#fff;border:1px solid #e1e4ec;border-radius:12px;flex-direction:column;width:320px;max-height:calc(100dvh - 180px);font-size:13px;display:flex;position:absolute;right:16px;overflow:auto;box-shadow:0 8px 28px #202c4812}.live-panel-heading{border-bottom:1px solid #eef0f5;align-items:center;gap:9px;padding:14px 16px;display:flex}.live-panel-heading h2{flex:1;margin:0;font-size:14px;font-weight:600}.live-panel-heading .icon-button{width:28px;height:28px}.live-panel-body{gap:12px;padding:16px;display:grid}.live-panel-body>p{color:#727b90;margin:0;font-size:12px;line-height:1.7}.live-label{color:#6a748b;gap:7px;font-size:11px;display:grid}.live-label input,.live-label textarea,.room-compose input{width:100%;font:inherit;color:#343c58;background:#fafbfe;border:1px solid #e0e4ed;border-radius:7px;outline:none;padding:10px 11px}.live-label textarea{resize:vertical;min-height:90px}.live-label input:focus,.live-label textarea:focus,.room-compose input:focus{border-color:#6259d4;box-shadow:0 0 0 2px #6259d415}.live-panel .button{justify-content:center;min-height:36px;font-size:12px}.live-preview{color:#8077a6;background:#f1eef9;border-radius:4px;margin-left:9px;padding:3px 6px;font-size:10px;font-weight:400}.room-status{align-items:center;gap:7px;font-size:11px;display:flex}.room-status>span:nth-child(2){flex:1}.room-status small,.room-footer small{color:#8b93a4}.room-messages{border-top:1px solid #eef0f5;flex-shrink:1;min-height:100px;max-height:220px;padding:12px 16px;overflow:auto}.room-empty{color:#9199ab;font-size:12px}.room-message{padding:7px 0}.room-message strong{font-size:11px;font-weight:600}.room-message strong small{color:#786aca;margin-left:6px;font-size:10px;font-weight:400}.room-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0;font-size:12px;line-height:1.6}.room-compose{border-top:1px solid #eef0f5;align-items:center;gap:6px;padding:10px 12px;display:flex}.room-compose input{min-width:0;font-size:12px}.room-compose button{flex-shrink:0;width:32px;height:32px}.room-footer{justify-content:space-between;align-items:center;gap:8px;padding:0 16px 12px;display:flex}.room-footer small{font-size:10px}.room-footer button{color:#a25d69;padding:5px;font-size:11px}.room-viewer-note{align-items:center;gap:6px;display:flex}.mic-live{color:#b4435a!important;background:#fff2f5!important}.live-notice{background:#faf5e8;border:1px solid #f0e4c4;border-radius:7px;padding:10px;font-size:11px!important}.room-view-badge{color:#707a90;z-index:30;background:#fff;border:1px solid #e1e4ec;border-radius:8px;padding:10px 14px;font-size:11px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.app-shell[data-viewer=true] .left-sidebar,.app-shell[data-viewer=true] .right-sidebar,.app-shell[data-viewer=true] .browser-opener,.app-shell[data-viewer=true] .panel-controls,.app-shell[data-viewer=true] .import-button,.app-shell[data-viewer=true] .connect-button,.app-shell[data-viewer=true] .skills-button,.app-shell[data-viewer=true] .app-shell[data-viewer=true] .canvas-bottom>.bottom-group:first-child button:not(:last-child),.app-shell[data-viewer=true] .canvas-bottom>.bottom-group:first-child .bottom-divider{display:none}.room-tool-bar{gap:4px}.live-toggle{justify-content:center;width:36px!important;padding:0!important}.live-toggle.active{color:#6259d4;background:#f0edfc}@media (width<=760px){.live-panel{width:min(320px,100vw - 24px);max-height:calc(100dvh - 160px);right:12px}.room-view-badge{text-align:center;max-width:70vw;bottom:78px}.header-actions .live-toggle{width:32px!important}}.live-panel[hidden]{display:none}.app-shell .header-actions .live-toggle{flex-shrink:0}.app-shell[data-viewer=true] .canvas-area{cursor:grab}@media (width<=500px){.app-shell .header-actions .import-button,.app-shell .header-actions .skills-button{display:none}}
