:root{font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:12px;color:#32414e;background:#eef1f4;font-synthesis:none;--bg:#fff;--panel:#fafbfc;--canvas:#eff3f6;--line:#dce2e8;--line-strong:#ccd5dd;--text:#32414e;--muted:#84919d;--accent:#267aaf;--accent-soft:#e8f2f9;--orange:#d58b35;--orange-soft:#fff1d7;--input:#fff;--hover:#edf2f6;--shadow:0 12px 40px #1b35471c;--sidebar:246px;--inspector:248px}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:transparent;user-select:none}button:hover{background:var(--hover)}button:disabled{opacity:.38;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #429bd0;outline-offset:2px}input,select{color:var(--text);background:var(--input);border:1px solid var(--line-strong);border-radius:4px;min-width:0}input{padding:7px 9px}input[type=number]{font-variant-numeric:tabular-nums}input[type=checkbox]{accent-color:#237eac}input[type=range]{accent-color:#2b7fab;width:100%;padding:0;border:0}select{padding:6px 8px}svg{flex:none;vertical-align:middle}.icon{pointer-events:none}kbd{font-family:inherit;font-size:10px;border:1px solid var(--line);border-radius:3px;padding:1px 4px;color:var(--muted);background:var(--panel)}[hidden]{display:none!important}
#app{height:100dvh;display:grid;grid-template-rows:38px 33px 101px 33px minmax(0,1fr) 49px 28px}.titlebar{background:#17364c;color:#dde8ef;display:flex;align-items:center;padding:0 13px;gap:14px;white-space:nowrap}.brand{display:flex;align-items:center;gap:7px;padding:0;color:#fff;font-size:16px;font-weight:650;letter-spacing:2.1px;height:34px}.brand:hover{background:none}.brand em{font-size:8px;letter-spacing:1.8px;font-style:normal;color:#8ea8b9;margin-left:-1px;margin-top:3px}.quick-access{display:flex;gap:1px;border-left:1px solid #ffffff20;padding-left:11px}.quick-access button,.titlebar .icon-button{color:#b9cdd9;display:grid;place-items:center;width:28px;height:27px}.quick-access button:hover,.titlebar button:hover{background:#ffffff15}.title-document{display:flex;gap:8px;justify-content:center;flex:1;font-size:11px;color:#a9bfcd;overflow:hidden;min-width:60px}.title-document #document-title{color:#e9f0f4;font-weight:500;overflow:hidden;text-overflow:ellipsis}.document-dot{width:5px;height:5px;border-radius:50%;background:#79b5aa;align-self:center}.title-divider{opacity:.35}.command-search{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid #ffffff15;color:#bdd0dd;height:27px;border-radius:4px;padding:0 7px;min-width:207px;font-size:11px}.command-search kbd{margin-left:17px;border-color:#ffffff20;color:#86a2b5;background:none}#title-actions{display:flex;gap:2px}.local-avatar{width:24px;height:24px;border-radius:50%;background:#315367;color:#d2e4ee;display:grid;place-items:center;font-size:10px;border:1px solid #ffffff18}.tabs{display:flex;align-items:stretch;background:var(--panel);border-bottom:1px solid var(--line);padding-right:16px}.tabs #file-button{width:65px;color:#fff;background:#226087;font-weight:500}.tabs #file-button:hover{background:#2b759e}#ribbon-tabs{display:flex;align-items:stretch;gap:2px}.ribbon-tab{padding:0 17px;position:relative;font-size:11.5px}.ribbon-tab.active{background:var(--bg);font-weight:600;color:#254b64}.ribbon-tab.active:after{position:absolute;content:'';bottom:0;left:15px;right:15px;height:2px;background:#dd9b46}.workspace-label{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:1.2px;color:var(--muted)}.version-badge{border:1px solid var(--line);border-radius:3px;letter-spacing:0;padding:1px 4px;font-size:8px}.ribbon{display:flex;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--line-strong);padding:6px 7px 0;overflow-x:auto;scrollbar-width:thin}.ribbon-group{display:flex;flex-direction:column;flex:none;border-right:1px solid var(--line);padding:0 8px;min-width:74px}.ribbon-group:last-child{border:0}.ribbon-tools{display:flex;flex-flow:column wrap;align-content:flex-start;align-items:stretch;height:74px;gap:0 3px}.ribbon-button{position:relative;border-radius:3px;display:flex;align-items:center;gap:7px;color:#4c6679;font-size:10.5px;border:1px solid transparent}.ribbon-button span{color:var(--text)}.ribbon-button.large{flex-direction:column;justify-content:center;min-width:54px;height:72px;padding:3px 8px;gap:8px}.ribbon-button.large span{max-width:72px;white-space:normal;text-align:center;line-height:13px}.ribbon-button.small{height:24px;padding:1px 7px 1px 4px;min-width:86px;white-space:nowrap}.ribbon-button.active{background:var(--orange-soft);border-color:#e3bb76;color:#ba7c2b}.ribbon-button[data-cmd=combine]>.icon,.ribbon-button[data-cmd=mirror]>.icon{color:#62958b}.ribbon-button[data-cmd=box]>.icon,.ribbon-button[data-cmd=cylinder]>.icon{color:#487e9d}.ribbon-button[data-cmd=pull]>.icon{color:#ce9444}.ribbon-button small{font-size:9px;position:absolute;bottom:5px;right:3px;color:var(--muted)}.ribbon-group-name{text-align:center;color:var(--muted);font-size:9px;height:19px;line-height:19px;letter-spacing:.1px}.document-tabs{display:flex;align-items:stretch;background:#e9eef2;border-bottom:1px solid var(--line-strong);gap:1px;padding-left:5px}.document-tab{display:flex;align-items:center;gap:7px;min-width:142px;padding:0 12px;color:#8b96a1;font-size:10.5px;border-right:1px solid #d4dee5}.document-tab .icon{width:14px;height:14px}.document-tab.active{color:#3c6079;background:var(--bg);box-shadow:inset 0 2px #4b8bae}.tab-add{font-size:17px;color:#899ba9;width:35px}.document-tabs-right{display:flex;align-items:center;margin-left:auto;font-size:10px;color:#83919d;padding-right:15px;gap:8px}.saved-icon{color:#639c8f}#sidebar-toggle{align-self:center;width:25px;height:24px;color:#7a8b98}.workspace{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr) var(--inspector);min-height:0;background:var(--bg)}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line-strong);min-height:0;background:var(--panel)}.panel-heading{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#4c616f;border-bottom:1px solid var(--line);flex:none}.panel-heading strong{font-size:11px;font-weight:600}.panel-heading>div{display:flex;gap:3px}.panel-heading .icon-button{color:#8a99a5}.icon-button{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:4px;padding:0}.icon-button .icon{width:16px;height:16px}.tree-search{display:flex;align-items:center;margin:10px 11px 6px;border:1px solid var(--line);border-radius:4px;padding:0 7px;background:var(--input);color:#93a0ab;height:29px;gap:5px}.tree-search input{border:0;font-size:10.5px;background:none;width:100%;padding:3px 0;outline:none}.tree-search .icon{width:13px}.tree-search kbd{border:0;background:none;color:#bdc6ce}.tree-root{height:30px;padding:0 12px;display:flex;align-items:center;font-size:11px;font-weight:600;gap:7px}.tree-root>.icon{color:#517a93}.tree{min-height:60px;flex:1;overflow:auto;padding-bottom:6px;scrollbar-width:thin}.tree-row{height:28px;display:flex;align-items:center;gap:6px;padding-right:9px;white-space:nowrap;cursor:pointer;border-left:2px solid transparent;font-size:10.5px}.tree-row:hover{background:var(--hover)}.tree-row.selected{background:var(--accent-soft);border-left-color:#df9b49;color:#265e7f}.tree-row.muted{opacity:.45}.tree-row .icon{width:14px;height:14px}.tree-row.component{padding-left:15px;font-weight:500;color:#4f6271;font-size:10.5px}.tree-row.body{padding-left:42px}.tree-row.sketch{padding-left:28px}.tree-row .row-label{overflow:hidden;text-overflow:ellipsis;flex:1}.tree-row .tree-eye{opacity:0;border:0;padding:0 1px;color:#8c9ba7}.tree-row:hover .tree-eye,.tree-row.selected .tree-eye,.tree-row.muted .tree-eye{opacity:1}.tree-row .count{font-size:9px;color:#9cabb6}.disclosure{width:12px;height:20px;display:grid;place-items:center;padding:0;color:#8594a0}.disclosure .icon{width:11px;height:11px;transition:transform .15s}.disclosure.open .icon{transform:rotate(90deg)}.panel-tabs{height:31px;display:flex;align-items:stretch;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);flex:none}.panel-tabs button{flex:1;font-size:9.5px;color:#8997a2;position:relative}.panel-tabs button.active{color:#2b668a}.panel-tabs button.active:after{position:absolute;content:'';left:10px;right:10px;bottom:0;height:2px;background:#4686ae}.properties{flex:none;max-height:45%;overflow:auto;scrollbar-width:thin}.properties .panel-heading{border:0;height:33px}#properties-settings .icon{width:13px;color:#8f9eaa}.property-section{padding:4px 13px 12px}.property-type{display:flex;gap:5px;align-items:center;text-transform:uppercase;letter-spacing:1px;font-size:8px;color:#8d9da9;padding:3px 0 11px}.property-type i{width:5px;height:5px;background:#70a18d;border-radius:50%}.property-row{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:29px;font-size:10px}.property-row>span:first-child{color:#85939f;flex:0 0 69px}.property-row input,.property-row select{height:25px;font-size:10px;padding:3px 5px;max-width:133px;flex:1}.property-row input[type=color]{padding:1px;width:29px;flex:none;border:1px solid var(--line);height:20px}.property-value{text-align:right;font-variant-numeric:tabular-nums;color:#455a6a;font-size:10px}.property-subtitle{font-size:8px;color:#8998a4;letter-spacing:.8px;text-transform:uppercase;border-top:1px solid var(--line);padding-top:12px;margin-top:10px;margin-bottom:5px}.property-dimensions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:5px}.dimension-card{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:6px 6px 5px}.dimension-card small{font-size:8px;display:block;color:#a3afb8;margin-bottom:4px}.dimension-card strong{font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}.sidebar-footer{height:24px;border-top:1px solid var(--line);font-size:8px;color:#9ba8b1;display:flex;align-items:center;justify-content:center;gap:5px;flex:none}.tiny-dot{display:inline-block;width:4px;height:4px;background:#8ca29b;border-radius:50%}.viewport-shell{position:relative;min-width:0;min-height:0}.stage{position:relative;width:100%;height:100%;overflow:hidden;outline:none;background:var(--canvas);touch-action:none}#viewport,#overlay{position:absolute;width:100%;height:100%;display:block;inset:0}#overlay{pointer-events:none}.viewport-top{position:absolute;left:20px;right:17px;top:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.breadcrumb{display:flex;gap:9px;font-size:10px;color:#8d9aa6;white-space:nowrap}.breadcrumb strong{color:#657d8c;font-weight:500}.viewstyle-dropdown{pointer-events:auto;font-size:10px;color:#80929f}.viewstyle-dropdown button{display:flex;gap:12px;align-items:center;border:1px solid #d8e1e8;background:#f8fbfdcc;border-radius:4px;padding:5px 8px}.tool-guides{position:absolute;left:15px;top:59px;display:flex;flex-direction:column;gap:6px}.guide-button{display:grid;place-items:center;width:34px;height:34px;background:#ffffffd4;border:1px solid #d1dce4;border-radius:6px;color:#7590a2;box-shadow:0 2px 4px #24425d05}.guide-button.active{background:#fff4db;color:#ae7b33;border-color:#ddbd85}.guide-separator{height:4px}.viewcube-wrap{position:absolute;top:57px;right:22px;width:109px;height:120px}.cube-home{position:absolute;left:0;top:-2px;color:#95a5b0;padding:0}.cube-home .icon{width:15px}.viewcube{width:78px;height:78px;position:relative;margin:4px auto 0;filter:drop-shadow(0 5px 4px #203f5312)}.viewcube button{position:absolute;font-size:8px;letter-spacing:.5px;font-weight:500;color:#7d8f9c;display:flex;align-items:center;justify-content:center;border:1px solid #bbcbd6}.cube-front{top:30px;left:1px;width:44px;height:44px;transform:skewY(27deg);background:#f7fafc}.cube-right{top:30px;left:45px;width:31px;height:44px;transform:skewY(-36deg);background:#d6e2ea}.cube-top{top:0;left:11px;width:54px;height:39px;transform:rotate(-34deg) skewX(23deg) scaleY(.8);background:#ecf3f7}.viewcube button:hover{background:#d8edf8;color:#3b7296}.cube-projection{margin-top:11px;width:100%;font-size:7px;letter-spacing:.8px;color:#93a3ae}.viewport-bottom{position:absolute;bottom:26px;left:18px;right:18px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.axis-label{font-size:8px;color:#8ba0ae;width:70px;opacity:0}.axis-label span{margin-left:5px}.navigation-bar{display:flex;align-items:center;gap:1px;border:1px solid #d4dfe7;border-radius:6px;padding:3px;background:#ffffffd9;box-shadow:0 3px 10px #243b4d08;pointer-events:auto}.navigation-bar button{width:28px;height:27px;display:grid;place-items:center;border-radius:3px;color:#7791a3}.navigation-bar button.active{background:#e1edf4;color:#31759f}.navigation-bar .icon{width:16px;height:16px}.nav-divider{height:17px;width:1px;background:#d7e1e8;margin:0 3px}.scale-readout{font-size:8px;display:flex;flex-direction:column;gap:5px;color:#93a4b0;align-items:center}#scale-rule{display:block;width:70px;height:5px;border:1px solid #aabac6;border-top:0}.viewport-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:9px;color:#93a4b1;pointer-events:none;letter-spacing:.05px}.selection-tag{position:absolute;background:#fff;border:1px solid #d9e0e5;padding:5px 8px;border-radius:4px;color:#647c8d;box-shadow:0 3px 12px #102f4415;font-size:10px;pointer-events:none;max-width:230px}.sketch-banner{position:absolute;top:48px;left:50%;transform:translateX(-50%);background:#fffaf0f0;border:1px solid #e3cd9f;color:#9e762f;display:flex;align-items:center;gap:15px;padding:7px 12px;border-radius:6px;font-size:10px;box-shadow:var(--shadow);white-space:nowrap}.sketch-banner button{background:#e8ab4f;color:#fff;font-size:10px;padding:5px 10px;border-radius:4px}.inspector{border-left:1px solid var(--line-strong);background:var(--panel);display:flex;flex-direction:column;min-height:0}#tool-panel{padding:17px 16px;overflow:auto;flex:1;scrollbar-width:thin}.tool-title{display:flex;align-items:center;gap:10px}.tool-icon{display:grid;place-items:center;width:37px;height:37px;background:var(--orange-soft);color:#b88945;border:1px solid #ebd5ac;border-radius:7px;flex:none}.tool-icon .icon{width:24px;height:24px}.tool-title h2{font-size:14px;margin:0;font-weight:600;color:#405967}.tool-title p{font-size:9px;margin:5px 0 0;color:#91a0ab}.tool-description{font-size:10.5px;line-height:1.65;color:#8999a5;margin:15px 0 18px}.section-label{font-size:8px;letter-spacing:.9px;color:#9aa8b2;font-weight:500;margin:20px 0 9px;display:flex;justify-content:space-between;align-items:center}.section-label:first-child{margin-top:0}.selection-filter{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--bg)}.selection-filter button{height:48px;display:flex;gap:5px;flex-direction:column;align-items:center;justify-content:center;font-size:8px;color:#9aabb7;border-right:1px solid var(--line)}.selection-filter button:last-child{border:0}.selection-filter button.active{color:#467d9c;background:var(--accent-soft)}.selection-filter .icon{width:17px;height:17px}.selection-card{margin-top:13px;padding:10px 11px;background:var(--bg);border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:9px}.selection-card .icon{color:#6f96ae;width:21px}.selection-card strong{display:block;font-size:10px;font-weight:500;max-width:158px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-card small{display:block;font-size:8px;color:#9aabb7;margin-top:5px}.selection-card>.icon-button{margin-left:auto}.tool-divider{height:1px;background:var(--line);margin:20px 0}.shortcut-row{display:flex;align-items:center;justify-content:space-between;color:#8b9ca8;font-size:9px;margin:12px 0}.shortcut-row kbd{font-size:9px;color:#8599a8;border-color:#d9e3ea;padding:2px 5px;background:var(--bg)}.tool-tip{padding:11px;border:1px solid #dce6ec;background:#f1f6f9;border-radius:5px;color:#7d95a5;font-size:9px;line-height:1.65;margin-top:18px}.tool-tip strong{display:block;color:#5d8097;font-size:9px;font-weight:500;margin-bottom:4px}.tool-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.tool-action{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:11px 5px;font-size:9px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#8197a5}.tool-action .icon{color:#7198b0}.tool-action span{color:#677d8c}.inspector-foot{margin:0 13px;padding:13px 0 14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;color:#8fa4ad;flex:none}.privacy-icon{font-size:22px;color:#9db1b9}.inspector-foot strong{font-size:8.5px;font-weight:500;display:block;color:#8198a3}.inspector-foot span:last-child{font-size:8px;display:block;margin-top:4px;color:#a8b5bd}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.field label,.field>span:first-child{font-size:10px;color:#7a8e9d}.field input,.field select{width:100%;height:32px;font-size:11px}.field.inline{flex-direction:row;justify-content:space-between;align-items:center}.field.inline>input,.field.inline>select{width:108px}.field.inline>input[type=checkbox]{width:14px;height:14px}.field small{color:#98a8b3;font-size:9px;line-height:1.55}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.field-grid.two{grid-template-columns:repeat(2,1fr)}.field-grid .field label{font-size:9px}.axis-field-label{display:flex;gap:4px;align-items:center}.axis-field-label i{width:5px;height:5px;border-radius:50%;background:#d28474}.axis-field-label.y i{background:#80a492}.axis-field-label.z i{background:#7b9fc6}.button{height:33px;border:1px solid var(--line);border-radius:5px;padding:0 15px;display:inline-flex;gap:7px;align-items:center;justify-content:center;font-weight:500;font-size:11px;white-space:nowrap}.button.primary{background:#327b9e;border-color:#327b9e;color:white}.button.primary:hover{background:#246b8c}.button.secondary{background:var(--bg);color:#688090}.button.danger{background:#a94747;color:#fff;border-color:#a94747}.button.full{width:100%}.button+.button.full{margin-top:8px}.button .icon{width:15px;height:15px}.note{padding:11px 13px;background:var(--accent-soft);border:1px solid #d4e6f1;border-radius:5px;color:#648398;font-size:10.5px;line-height:1.65;margin:0 0 17px}.note.warning{background:#fff7e9;border-color:#ebd8b5;color:#ab8850}.result-card{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:12px;margin:10px 0}.result-card .big-number{font-size:24px;color:#40708e;font-weight:300;letter-spacing:-.7px;line-height:1.2}.result-card .unit{font-size:11px;color:#8aa0b0;margin-left:5px}.result-card .result-label{font-size:8px;color:#97a8b5;text-transform:uppercase;letter-spacing:.7px;margin-top:7px}.small-note{font-size:9px;line-height:1.7;color:#9aabb8}.history-strip{display:flex;align-items:center;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);background:var(--panel);padding:0 12px;gap:14px;min-width:0}.history-title{font-size:8px;letter-spacing:.8px;color:#8196a5;display:flex;align-items:center;gap:7px;flex:none;padding:0 7px 0 2px;border-right:1px solid var(--line);height:24px}.history-title .icon{width:15px;height:15px;color:#86a0b1}.history-items{display:flex;gap:7px;align-items:center;overflow-x:auto;flex:1;scrollbar-width:thin}.history-step{display:flex;align-items:center;gap:7px;padding:0 9px 0 0;font-size:9px;color:#8b9eac;white-space:nowrap}.history-step .step-icon{width:27px;height:27px;border:1px solid var(--line);background:var(--bg);border-radius:5px;display:grid;place-items:center;color:#819cae;flex:none}.history-step .icon{width:14px;height:14px}.history-step.current .step-icon{border-color:#8cb0c5;background:var(--accent-soft);color:#4684a8}.history-step.current{color:#526f82}.history-step.future{opacity:.35}.history-step:after{content:'';width:17px;height:1px;background:var(--line);margin-left:1px}.history-step:last-child:after{display:none}.history-strip>.icon-button{color:#a0afbb;width:20px}.statusbar{display:flex;align-items:center;gap:14px;background:var(--bg);padding:0 13px;font-size:9px;color:#889aa8;white-space:nowrap}.status-message{display:flex;align-items:center;gap:7px;max-width:40vw;overflow:hidden;text-overflow:ellipsis;color:#8195a4}.ready-dot{width:5px;height:5px;border-radius:50%;background:#76a08a;flex:none}.ready-dot.busy{background:#d79e47;animation:pulse 1s infinite}.status-separator{height:10px;background:var(--line);width:1px}.status-spacer{flex:1}#renderer-status{color:#4e8a79;font-size:9px;display:flex;gap:5px;align-items:center;padding:2px 5px;border-radius:3px;background:#edf5f0}#renderer-status.fallback{color:#a7874e;background:#faf4e8}.units-label select{border:0;outline:none;font-size:9px;background:transparent;color:#6b8393;padding:0 14px 0 0;height:20px}.statusbar .icon-button{width:18px;height:20px;color:#8a9eac}.drawings{position:absolute;inset:0;z-index:4;overflow:auto;padding:30px;background:#dfe6eb;display:flex;align-items:center;justify-content:center}.drawings>svg{width:100%;height:auto;max-height:100%;box-shadow:0 6px 22px #193e5e25}.loading{position:absolute;inset:0;z-index:8;background:#f1f5f8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#7992a3}.loading-mark{font-size:32px;font-weight:600;background:#1b4058;color:#f3c071;border-radius:14px;width:64px;height:64px;display:grid;place-items:center;margin-bottom:8px}.loading strong{font-size:14px;font-weight:500;color:#446579}.loading span{font-size:10px;color:#91a4b2}.loader-track{height:3px;border-radius:4px;background:#dae4ec;width:170px;margin-top:9px;overflow:hidden}.loader-track i{display:block;width:40%;height:3px;background:#70a1bd;animation:loading 1.2s ease-in-out infinite}.toast-stack{position:fixed;bottom:95px;right:267px;z-index:30;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{min-width:230px;max-width:400px;border:1px solid #cdded5;border-radius:7px;background:#fbfdfc;box-shadow:0 7px 30px #29465522;padding:12px 15px;display:flex;align-items:flex-start;gap:10px;color:#627e72;font-size:11px;line-height:1.55;animation:appear .18s ease-out;pointer-events:auto}.toast.error{border-color:#e3c2b9;background:#fff8f5;color:#b27967}.toast .icon{width:18px;height:18px;flex:none}.toast button{margin-left:auto;color:#9aabaf;font-size:16px}.popup{position:fixed;z-index:40;min-width:214px;max-height:80vh;overflow:auto;background:var(--bg);border:1px solid var(--line-strong);border-radius:7px;box-shadow:var(--shadow);padding:5px}.popup button{display:flex;width:100%;align-items:center;gap:10px;padding:9px 12px;border-radius:4px;font-size:11px}.popup .icon{width:17px;height:17px;color:#7b99ac}.popup kbd{margin-left:auto;font-size:9px}.popup hr{border:0;border-top:1px solid var(--line);margin:5px 7px}.popup .menu-label{font-size:8px;color:var(--muted);letter-spacing:1px;padding:9px 12px 4px}dialog{border:1px solid var(--line-strong);border-radius:11px;background:var(--bg);color:var(--text);box-shadow:0 20px 90px #132e4660;padding:0;max-height:88vh;max-width:calc(100vw - 30px);width:510px;overflow:auto}dialog::backdrop{background:#1734484d;backdrop-filter:blur(2px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 26px 18px}.eyebrow{font-size:8px;letter-spacing:1.5px;color:#a3b0ba}.modal-heading h2{font-size:20px;font-weight:500;margin:7px 0 0;color:#37576d;letter-spacing:-.4px}.modal-close{font-size:25px;font-weight:300;color:#9caeb9}.modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding:16px 25px}.modal-actions .button{min-width:85px}#modal-body{padding:23px 26px 14px}#modal-body h3{font-size:12px;font-weight:600;color:#60849b;margin-top:21px}#modal-body p{font-size:11px;line-height:1.8;color:#7b8f9e}#modal-body .field{margin-bottom:15px}#modal-body .field label{font-size:11px}#modal-body .field input,#modal-body .field select{height:35px;font-size:12px}#modal-body table{width:100%;border-collapse:collapse;font-size:10px}#modal-body td,#modal-body th{text-align:left;border-bottom:1px solid var(--line);padding:8px 7px;line-height:1.5}#modal-body th{color:#8298a8;font-size:9px;font-weight:500}.form-error{padding:10px 14px;margin:0 25px 18px;background:#fff0eb;color:#b5705a;border:1px solid #edcabe;border-radius:5px;font-size:11px;line-height:1.6}.example-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.example-card{padding:22px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:7px;text-align:left}.example-card .icon{width:32px;height:32px;color:#7e9eb3;margin-bottom:6px}.example-card strong{font-size:12px;font-weight:500;color:#4b718b}.example-card span{font-size:10px;color:#9eacb7;line-height:1.7}#palette{width:610px;align-self:flex-start;margin-top:14vh}.palette-input{display:flex;align-items:center;gap:13px;padding:18px;border-bottom:1px solid var(--line);color:#7f9bac}.palette-input input{border:0;outline:none!important;padding:0;flex:1;font-size:14px}.palette-input kbd{padding:2px 5px;font-size:9px}#palette-results{max-height:360px;overflow:auto;padding:7px}.palette-result{padding:11px 13px;display:flex;align-items:center;width:100%;gap:13px;text-align:left;border-radius:5px}.palette-result .icon{color:#7e9bad}.palette-result strong{font-size:11px;font-weight:500;display:block}.palette-result small{font-size:10px;color:var(--muted);margin-top:4px;display:block}.palette-result kbd{margin-left:auto;white-space:nowrap;font-size:9px}.palette-result.focused{background:var(--accent-soft)}.palette-footer{border-top:1px solid var(--line);padding:10px 18px;color:#9dafbc;font-size:10px;display:flex;justify-content:space-between}.fatal-error{position:fixed;inset:0;background:#fff;color:#944;padding:60px;font-size:18px;z-index:100}.empty-state{padding:14px;color:#8ea0ae;font-size:10px;line-height:1.7}.cancel-job{color:#dca95a!important}.save-error{color:#b0785f!important}.wide-modal{width:760px}.scope-status{display:inline-block;font-size:8px;padding:2px 5px;border-radius:3px;background:#eaf3ee;color:#6d9985;white-space:nowrap}.scope-status.partial{background:#faf1df;color:#b4965d}.scope-status.no{background:#f1f2f4;color:#a3a9b1}
[data-theme=dark]{--bg:#202b36;--panel:#1c2630;--canvas:#18202a;--line:#303f4c;--line-strong:#3a4b58;--text:#bdcbd6;--muted:#728999;--accent:#6ca5c8;--accent-soft:#294759;--orange:#daa657;--orange-soft:#4b4230;--input:#24333f;--hover:#2e3f4e;--shadow:0 14px 40px #030d1560;background:#19212b;color:#bdcbd6}[data-theme=dark] .titlebar{background:#102537}[data-theme=dark] .tabs .ribbon-tab.active{color:#b6d5e8}[data-theme=dark] .document-tabs{background:#17242e}[data-theme=dark] .document-tab{border-color:#31434f}[data-theme=dark] .document-tab.active{color:#91b9d1}[data-theme=dark] .panel-heading,[data-theme=dark] .tool-title h2{color:#a1b8c7}[data-theme=dark] .property-value,[data-theme=dark] .tree-row.component{color:#9fb6c6}[data-theme=dark] .tool-tip{background:#233847;border-color:#334e60;color:#96afbf}[data-theme=dark] .tool-tip strong{color:#aecbde}[data-theme=dark] .guide-button,[data-theme=dark] .navigation-bar{background:#20313eea;border-color:#3b5263}[data-theme=dark] .guide-button.active{background:#4b4230;border-color:#85724d;color:#c5a36e}[data-theme=dark] .viewstyle-dropdown button{background:#243541cc;border-color:#405361;color:#8aa7bb}[data-theme=dark] .cube-front{background:#345061;border-color:#527084;color:#c1d2dc}[data-theme=dark] .cube-right{background:#273f4e;border-color:#527084;color:#99b3c4}[data-theme=dark] .cube-top{background:#426174;border-color:#527084;color:#b8cedc}[data-theme=dark] .note{background:#253d4b;border-color:#3b586a;color:#9dbacb}[data-theme=dark] .note.warning{background:#3d3529;border-color:#6c5837;color:#c8ad7c}[data-theme=dark] .loading{background:#192631}[data-theme=dark] .loading strong{color:#accadd}[data-theme=dark] .tree-row.selected{color:#b0d1e7}[data-theme=dark] .modal-heading h2{color:#b6d4e7}[data-theme=dark] .selection-tag{background:#253947;color:#b4ccdb;border-color:#4c6577}[data-theme=dark] .drawings{background:#14212b}[data-theme=dark] #renderer-status{background:#283e35;color:#8eaa9d}[data-theme=dark] .toast{background:#263d33;color:#b5cebf;border-color:#466753}[data-theme=dark] .toast.error{background:#4c302a;color:#ddb5a5;border-color:#805746}[data-theme=dark] .form-error{background:#4c302a;color:#ddb5a5;border-color:#805746}
@keyframes loading{0%{transform:translateX(-100%)}100%{transform:translateX(360%)}}@keyframes pulse{50%{opacity:.35}}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1700px){:root{--sidebar:265px;--inspector:268px}.ribbon-button.large{min-width:61px}.ribbon-group{padding:0 12px}.ribbon-tab{padding:0 19px}.titlebar{gap:18px}}
@media(max-width:1250px){:root{--sidebar:220px;--inspector:224px}.workspace-label{display:none}.ribbon-tab{padding:0 12px}.command-search{min-width:160px}.command-search kbd{display:none}.title-document{font-size:10px}.brand{letter-spacing:1px}.brand em{display:none}.titlebar{gap:9px}.quick-access{padding-left:7px}.toast-stack{right:240px}.viewstyle-dropdown{display:none}.ribbon-group{padding:0 6px}.ribbon-button.large{min-width:50px;padding:3px 5px}.ribbon-button.small{padding-right:4px}}
@media(max-width:1000px){:root{--sidebar:205px;--inspector:215px}.title-document>span:last-child,.title-divider{display:none}.command-search{min-width:130px}.ribbon-tab{padding:0 9px;font-size:10px}.titlebar{padding:0 9px}.properties{max-height:40%}.statusbar{gap:8px}#render-timing{display:none}.viewport-hint{font-size:8px}.breadcrumb{font-size:9px}.tree-row.body{padding-left:31px}.viewcube-wrap{right:10px;transform:scale(.85);transform-origin:top right}.tool-description{font-size:10px}#tool-panel{padding:15px 12px}.inspector-foot{margin:0 9px}.scale-readout{display:none}.toast-stack{right:230px}}
@media(max-width:780px){#app{grid-template-rows:39px 34px 91px 31px minmax(0,1fr) 40px 28px}.workspace{grid-template-columns:1fr}.sidebar,.inspector{display:none}.sidebar.mobile-open{display:flex;position:absolute;left:0;top:195px;bottom:68px;width:245px;z-index:9;box-shadow:var(--shadow)}.inspector.mobile-open{display:flex;position:absolute;right:0;top:195px;bottom:68px;width:246px;z-index:9;box-shadow:var(--shadow)}.title-document{display:none}.brand{font-size:14px}.quick-access button:nth-child(n+3){display:none}.titlebar{gap:7px}.command-search{margin-left:auto;min-width:0;width:29px;padding:0;justify-content:center}.command-search>span:nth-child(2){display:none}.local-avatar{display:none}.tabs{overflow:auto;scrollbar-width:none;padding:0}.tabs #file-button{min-width:47px}.ribbon-tab{padding:0 12px;white-space:nowrap}.ribbon-group-name{height:15px;line-height:15px;font-size:8px}.ribbon-tools{height:68px}.ribbon-button.large{height:67px;font-size:9.5px}.ribbon-button.small{height:22px;font-size:9px}.ribbon-button.large>.icon{width:25px;height:25px}.ribbon{padding-top:4px}.document-tab{min-width:130px;font-size:10px}.document-tabs-right{font-size:8px;padding-right:8px;max-width:100px}.history-title{font-size:7px}.history-step{font-size:8px}.history-step .step-icon{width:23px;height:23px}.history-strip{gap:6px;padding:0 7px}.statusbar{font-size:8px;padding:0 8px;gap:7px}#selection-status,.status-separator,#geometry-status{display:none}.status-message{max-width:34vw}.units-label select{font-size:8px;max-width:75px}.toast-stack{left:15px;right:15px;bottom:80px}.toast{max-width:100%;min-width:0}.viewport-top{left:15px;top:13px}.viewcube-wrap{top:43px;right:14px}.tool-guides{left:10px;top:45px;gap:5px}.guide-button{width:33px;height:33px}.viewport-bottom{bottom:26px;justify-content:center}.axis-label{position:absolute;left:0}.navigation-bar button{width:33px;height:30px}.viewport-hint{font-size:8px;bottom:8px}.sketch-banner{top:140px;max-width:90%;font-size:9px}.drawings{padding:10px}.modal-heading{padding:21px 20px 17px}#modal-body{padding:20px}.modal-actions{padding:14px 20px}.properties{max-height:45%}#palette{margin-top:10vh}.palette-input{padding:15px}.palette-input input{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
textarea{font:11px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text);background:var(--input);border:1px solid var(--line-strong);border-radius:5px;padding:10px;resize:vertical;line-height:1.7;width:100%;min-height:90px}.stage.drag-over{box-shadow:inset 0 0 0 3px #569ac3}
@media(min-width:781px){.workspace.hide-sidebar{grid-template-columns:minmax(0,1fr) var(--inspector)}.workspace.hide-sidebar>.sidebar{display:none}.workspace.hide-inspector{grid-template-columns:var(--sidebar) minmax(0,1fr)}.workspace.hide-inspector>.inspector{display:none}.workspace.hide-sidebar.hide-inspector{grid-template-columns:minmax(0,1fr)}}
