.cad-app{height:100dvh;min-height:540px;display:flex;flex-direction:column;overflow:hidden}.app-header{height:60px;flex-shrink:0;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--border);background:var(--ui-panel,#fff)}.app-header,.brand{display:flex;align-items:center}.brand{gap:9px;color:var(--ui-positive,#087e70);width:230px}.brand b{font-size:25px;letter-spacing:-1.2px;font-weight:650;color:var(--ui-positive,#213f3d)}.brand>span{font-size:10px;letter-spacing:1.4px;color:var(--ui-secondary,#8a999c);border-left:1px solid var(--ui-border,#dce3e4);padding-left:12px;margin-left:4px}.document-name{gap:12px;font-size:14px;font-weight:550}.document-name,.saved{display:flex;align-items:center}.saved{gap:4px;color:var(--ui-secondary,#7d8a91);font-size:12px;font-weight:400;margin-left:8px}.header-actions{display:flex;align-items:center;gap:18px}.header-actions>.header-home{color:var(--ui-secondary,#7a888f)}.export-button{display:flex;align-items:center;gap:9px;background:var(--action,#087f73);color:white;padding:8px 13px;border:1px solid var(--ui-positive,#087f73);border-radius:5px;font-weight:550;font-size:13px}.avatar{display:grid;place-items:center;height:29px;width:29px;background:var(--ui-raised,#f0eade);color:var(--ui-secondary,#82755b);border:3px solid var(--ui-border,#fff);box-shadow:0 0 0 1px #e5e6e3;border-radius:50%;font-size:12px;font-weight:600}.workspace-bar{height:43px;display:flex;align-items:center;background:var(--ui-panel,#fff);border-bottom:1px solid var(--border);flex-shrink:0;padding:0 18px}.workspace-choice{width:217px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:550}.workspace-choice>svg:last-child{margin-left:20px}.workspace-tabs{display:flex;align-items:stretch;gap:26px;height:100%}.workspace-tabs button{font-size:13px;color:var(--ui-secondary,#859096);padding:0 5px;position:relative}.workspace-tabs button.active{color:var(--ui-positive,#087f73);font-weight:600}.workspace-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--action,#078877)}.quick-actions{margin-left:auto;display:flex;align-items:center;gap:20px;color:var(--ui-secondary,#66777e)}.quick-actions span{height:16px;width:1px;background:var(--ui-soft,#e5e9eb)}.command-ribbon{height:88px;display:flex;align-items:center;padding:9px 20px;gap:7px;border-bottom:1px solid var(--ui-border,#dce3e6);background:var(--ui-panel,#fff);flex-shrink:0}.command-group>button,.command-ribbon>button{min-width:66px;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:5px;color:var(--ui-ink,#52656e);transition:background .15s}.command-ribbon button:hover{background:var(--ui-soft,#edf5f4)}.command-ribbon button>span{font-size:12px}.command-ribbon .sketch-command{background:var(--ui-soft,#edf7f3);color:var(--ui-positive,#0c8272);border:1px solid var(--ui-border,#d5e9e2);margin-right:10px;min-width:92px}.work-area{flex:1;min-height:0;display:grid;grid-template-columns:246px minmax(0,1fr) 282px}.model-browser{background:var(--ui-panel,#fff);border-right:1px solid var(--ui-border,#dce3e6);display:flex;flex-direction:column;min-height:0;z-index:2}.panel-heading{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.panel-heading svg{color:var(--ui-secondary,#819097)}.tree-search{height:34px;display:flex;align-items:center;gap:8px;margin:13px 13px 17px;padding:0 9px;color:var(--ui-muted,#9ba5aa);font-size:12px;border:1px solid var(--ui-border,#e8eced);border-radius:5px}.tree-search kbd{margin-left:auto;font-size:10px;color:var(--ui-muted,#a2acb0)}.tree-root,.tree-row{display:flex;align-items:center;gap:9px;padding:0 16px;height:35px;font-size:13px}.tree-root{margin-bottom:5px}.tree-root>svg:nth-child(2){color:var(--ui-positive,#087f73)}.tree-row{color:var(--ui-secondary,#5e707a);padding-left:24px}.tree-row>svg:last-child{margin-left:auto;color:var(--ui-muted,#9aaba5)}.tree-row:hover{background:var(--ui-soft,#f5f8f8)}.tree-indent{width:10px}.browser-bottom{margin-top:auto;padding:15px 16px;font-size:11px;border-top:1px solid var(--border);display:flex;align-items:center;gap:7px;color:var(--ui-secondary,#879391)}.green-dot{width:6px;height:6px;border-radius:50%;background:var(--action,#32a086);display:inline-block;flex-shrink:0}.viewport{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,var(--ui-soft,#f7f9fa) 0,var(--ui-soft,#eaf0f3) 100%);min-width:0}.viewport-label{position:absolute;left:24px;top:22px;display:flex;flex-direction:column;gap:5px;z-index:2;pointer-events:none}.viewport-label>span{font-size:13px;font-weight:550;color:var(--ui-secondary,#637680)}.viewport-label small{font-size:9px;letter-spacing:1.2px;color:var(--ui-muted,#95a3ac)}.kernel-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--ui-secondary,#7a8e98);font-size:13px;pointer-events:none}.loading-ring{width:17px;height:17px;border:2px solid var(--ui-border,#c4d8d3);border-top-color:var(--ui-positive,#087f73);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.navigation-dock{position:absolute;bottom:89px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;padding:5px;background:var(--ui-panel,#ffffffed);border:1px solid var(--ui-border,#dbe2e5);box-shadow:0 3px 10px #344f5c0a;border-radius:7px;z-index:3}.navigation-dock>button{width:35px;height:31px;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--ui-secondary,#6a7e89);border-radius:4px}.navigation-dock>button.active,.navigation-dock>button:hover{color:var(--ui-positive,#087f73);background:var(--ui-soft,#e8f5ef)}.navigation-dock>span{height:18px;width:1px;background:var(--ui-soft,#e1e6e8);margin:0 4px}.navigation-dock>button:last-child{width:44px}.timeline{position:absolute;bottom:0;left:0;right:0;height:65px;background:var(--ui-panel,#f8fafbec);backdrop-filter:blur(8px);border-top:1px solid var(--ui-border,#dae3e7);display:flex;align-items:center;padding:0 20px;z-index:3}.timeline>span{font-size:9px;letter-spacing:1px;color:var(--ui-secondary,#8c9aa2);max-width:62px;line-height:1.6}.timeline>button{display:grid;place-items:center;min-width:29px;width:29px;height:29px;background:var(--ui-panel,white);border:1px solid var(--ui-border,#d9e3e5);border-radius:4px;color:var(--ui-secondary,#72848d)}.timeline>button:hover{border-color:var(--ui-positive,#4ba993);color:var(--ui-positive,#0b8b74)}.history-end{height:35px;width:3px;background:var(--action,#27937f);margin-left:7px;border-radius:1px;position:relative}.history-end:before{content:"";position:absolute;top:-3px;left:-3px;width:9px;height:5px;background:var(--action,#27937f)}.properties-panel{background:var(--ui-panel,#fff);border-left:1px solid var(--ui-border,#dce3e6);overflow-y:auto;z-index:2}.properties-panel,.property-intro{display:flex;flex-direction:column}.property-intro{align-items:center;padding:26px 0 24px;gap:7px}.part-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:var(--ui-soft,#eff5f4);color:var(--ui-positive,#54847b);margin-bottom:5px}.property-intro>b{font-weight:600;font-size:15px}.property-intro>span:last-child{font-size:12px;color:var(--ui-muted,#9aa6ab)}.property-section{padding:19px 19px 15px;border-top:1px solid var(--border)}.property-section h3{font-size:10px;font-weight:600;letter-spacing:1.1px;color:var(--ui-secondary,#8b969e);margin:0 0 15px}.property-row,.property-section h3{display:flex;align-items:center;justify-content:space-between}.property-row{font-size:12px;margin:11px 0;gap:10px}.property-row>span:first-child{color:var(--ui-secondary,#7e8c95)}.property-row>b{font-size:12px;font-weight:450}.dimension-input{display:flex;justify-content:space-between;align-items:center;width:109px;border:1px solid var(--ui-border,#e0e7e9);border-radius:4px;padding:0 9px;font-family:var(--font-mono);font-size:12px}.dimension-input small{color:var(--ui-muted,#98a4aa);font-family:var(--font-sans);font-size:11px}.getting-started{margin:20px 17px;border-radius:7px;padding:17px;background:var(--ui-soft,#f4f8f7);border:1px solid var(--ui-border,#e6edeb);display:flex;flex-direction:column;gap:10px;color:var(--ui-secondary,#5b8077)}.getting-started b{font-size:12px;font-weight:550;color:var(--ui-ink,#4c635e)}.getting-started p{font-size:11px;color:var(--ui-secondary,#8b9a95);margin:0}.primary-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ui-positive,#087f73);padding:9px 15px;font-size:12px;font-weight:550}.getting-started .primary-button{background:var(--ui-panel,white);border:1px solid var(--ui-border,#cfe1d9);color:var(--ui-positive,#287d69);margin-top:4px}.status-bar{height:29px;padding:0 16px;gap:20px;border-top:1px solid var(--ui-border,#dce3e6);background:var(--ui-panel,white);flex-shrink:0;color:var(--ui-secondary,#8b98a0)}.status-bar,.status-bar>span{display:flex;align-items:center}.status-bar>span{gap:7px}.status-bar>span:first-child{color:var(--ui-secondary,#608276)}.status-bar>div{flex:1}.status-bar b{font-family:var(--font-mono);font-weight:400;margin-right:8px;color:var(--ui-secondary,#768993)}.three-mount{position:absolute;inset:0 0 65px}.three-mount canvas{display:block;width:100%;height:100%;touch-action:none}.three-mount canvas:focus-visible{outline:3px solid var(--ui-positive,#087e74);outline-offset:-4px}.view-cube{position:absolute;right:19px;top:16px;width:128px;z-index:3;flex-direction:column}.cube-controls,.view-cube{display:flex;align-items:center}.cube-controls{width:100%;padding:0 10px;gap:10px;color:var(--ui-secondary,#899ba5);height:20px}.cube-controls span{flex:1}.cube-controls button:hover{color:var(--ui-positive,#158b79)}.cube-canvas{height:128px;cursor:pointer}.cube-caption{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.1px;color:var(--ui-muted,#8b9da8);margin-top:-12px}.axis-triad{position:absolute;left:20px;bottom:90px;pointer-events:none}.projection-tag{position:absolute;bottom:88px;right:23px;display:flex;align-items:center;gap:6px;font-size:10px;color:var(--ui-muted,#8c9da7)}.ribbon-tabs{height:100%;gap:0!important}.ribbon-tabs [data-slot=tabs-list]{height:100%;border-radius:0;gap:25px;padding:0}.ribbon-tabs [data-slot=tabs-trigger]{padding:0 6px;height:100%;font-size:13px;font-weight:400;color:var(--ui-secondary,#7d8b94);border:0;border-radius:0}.ribbon-tabs [data-slot=tabs-trigger][data-state=active]{color:var(--ui-positive,#0a8171);font-weight:600}.ribbon-tabs [data-slot=tabs-trigger]:after{bottom:-1px!important;background:var(--action,#0b8b79)}.command-ribbon{height:91px;gap:3px}.command-group{display:flex;gap:3px;height:100%;align-items:center}.command-ribbon .sketch-command{position:relative;min-width:104px;gap:6px}.sketch-command kbd{position:absolute;right:6px;top:4px;font-size:8px;color:var(--ui-positive,#7aab9f)}.ribbon-divider{width:1px;height:40px;background:var(--ui-soft,#e7ebed);margin:0 13px}.ribbon-menu-button>span{display:flex;align-items:center;gap:4px}.tool-active{background:var(--ui-soft,#eaf5f0)!important;color:var(--ui-positive,#087f73)!important}.ribbon-end{margin-left:auto;border-left:1px solid var(--ui-border,#e8edef);padding-left:17px}.ribbon-end button{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ui-secondary,#7d8e96);padding:0 14px}.ribbon-end button>span:last-child{font-size:11px}.fx-icon{font-size:27px;line-height:28px;font-weight:500;letter-spacing:1px}.fx-icon,.fx-small{font-family:Georgia,serif;font-style:italic}.fx-small{font-size:17px;margin-right:2px}.finish-sketch{color:var(--ui-positive,#0a826d)!important;background:var(--ui-soft,#ecf7f1)!important;margin-left:auto;min-width:100px!important}.tree-search input{min-width:0;flex:1;outline:none;width:100%;font-size:12px}.tree-search input::placeholder{color:var(--ui-muted,#9ba7af)}.tree-search:focus-within{border-color:var(--ui-positive,#7eb6aa);box-shadow:0 0 0 2px #e5f4ed}.tree-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding-bottom:20px}.tree-root{width:100%;text-align:left;font-size:12px;font-weight:600;padding-left:15px;white-space:nowrap}.tree-root span{overflow:hidden;text-overflow:ellipsis}.tree-section-row{display:flex;align-items:center;min-height:33px;padding-right:17px}.tree-section-row>.tree-row{flex:1;min-width:0;height:33px;padding-left:23px;padding-right:4px;text-align:left;gap:9px;font-size:12px}.tree-section-row>.tree-row>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-section-row>.tree-row>small{font-size:10px;border-radius:4px;background:var(--ui-soft,#f2f5f5);color:var(--ui-muted,#9aa6ac);padding:0 5px;margin-right:9px}.tree-section-row>.tree-row>svg:last-child{margin-left:0;color:var(--ui-secondary,#7c929f)}.tree-section-row>button:last-child:not(:first-child){color:var(--ui-muted,#9cacb4);opacity:.7}.tree-section-row:hover{background:var(--ui-soft,#f6f8f8)}.origin-children .tree-row{padding-left:47px;font-size:11px}.origin-children .tree-row svg{color:var(--ui-muted,#94a9b1)}.origin-children .tree-row.selected{color:var(--ui-positive,#078674);background:var(--ui-soft,#eaf6f1)}.body-row>.tree-row{padding-left:46px;font-size:12px}.body-row>.tree-row>svg{color:var(--ui-secondary,#668895)}.tree-subheading{font-size:9px;letter-spacing:1.2px;color:var(--ui-muted,#94a1a8);margin:23px 19px 10px;display:flex;align-items:center;gap:9px}.tree-subheading>span{color:var(--ui-muted,#adb6ba);letter-spacing:0}.feature-row{display:flex;align-items:center;padding:0 12px 0 44px;height:34px;gap:8px;position:relative}.feature-row:before{top:0;bottom:0;width:1px}.feature-row:after,.feature-row:before{content:"";position:absolute;left:30px;background:var(--ui-soft,#e5ebed)}.feature-row:after{top:17px;width:7px;height:1px}.feature-row .feature-select{flex:1;display:flex;align-items:center;gap:10px;font-size:12px;min-width:0;height:100%;text-align:left;white-space:nowrap}.feature-select>span{overflow:hidden;text-overflow:ellipsis}.feature-select svg{color:var(--ui-secondary,#7b95a0)}.feature-select small{font-size:8px;color:var(--ui-secondary,#8b9da6);letter-spacing:.6px}.feature-check{color:var(--ui-muted,#9bb2a9)}.feature-row:hover{background:var(--ui-soft,#f4f8f7)}.feature-row.selected{background:var(--ui-soft,#e7f3ee);color:var(--ui-positive,#267e6a)}.feature-row.selected svg{color:var(--ui-positive,#3f9280)}.feature-more{display:none;color:var(--ui-muted,#9babae)}.feature-row:hover .feature-more{display:block}.feature-row:hover .feature-check{display:none}.feature-row.suppressed{opacity:.4}.add-feature{display:flex;align-items:center;gap:8px;font-size:11px;margin:19px 0 0 45px;color:var(--ui-muted,#8d9ea5)}.add-feature:hover{color:var(--ui-positive,#14846f)}.tree-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 20px;color:var(--ui-muted,#96a6aa);line-height:1.5}.empty-search,.tree-empty{font-size:12px;text-align:center}.empty-search{color:var(--ui-secondary,#8a999f);padding:10px}.browser-bottom{font-size:10px;padding:14px 16px;min-height:43px;background:var(--ui-panel,#fcfdfd);color:var(--ui-secondary,#83978f)}.browser-bottom .loading-ring{height:11px;width:11px}.history-features{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none;min-width:0;padding:7px 0}.history-features button{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:var(--ui-panel,#fff);border:1px solid var(--ui-border,#d6e0e4);border-radius:4px;color:var(--ui-secondary,#698492)}.history-features .sketch-history{color:var(--ui-secondary,#82a191);background:var(--ui-panel,#f9fcfb)}.history-features button.selected{border-color:var(--ui-positive,#279782);background:var(--ui-soft,#e8f5f0);color:var(--ui-positive,#168573)}.history-features button:hover{border-color:var(--ui-border,#93b9b0);transform:translateY(-2px)}.history-features button.suppressed{opacity:.35}.history-end{min-width:3px;margin-right:7px}.timeline{gap:7px;padding:0 16px}.timeline .history-start{background:transparent;border:0;width:16px;min-width:16px;color:var(--ui-muted,#95a6ae);transform:rotate(90deg)}.timeline .history-add{margin-left:auto;background:transparent;border-style:dashed;color:var(--ui-muted,#90a39f);min-width:26px;width:26px;height:26px}.timeline>span{font-size:8px;max-width:none;margin-right:10px}.viewport-label em{font-style:normal;font-size:8px;letter-spacing:.8px;border:1px solid var(--ui-border,#bbd7d1);background:var(--ui-soft,#f0faf6);border-radius:3px;color:var(--ui-positive,#4a8d7b);margin-left:9px;padding:2px 4px;vertical-align:middle}.navigation-dock button{display:flex;align-items:center;justify-content:center;gap:5px;height:30px;min-width:30px;border-radius:4px;color:var(--ui-secondary,#778a95)}.navigation-dock button:hover{background:var(--ui-soft,#ecf6f2);color:var(--ui-positive,#188773)}.status-bar .loading-ring{height:10px;width:10px;border-width:1.5px}.tiny-chip{font-size:8px;background:var(--ui-soft,#f3f6f5);border:1px solid var(--ui-border,#e5ece9);color:var(--ui-secondary,#82968d);border-radius:3px;padding:0 4px}.footer-units{display:flex;align-items:center;gap:6px;border-left:1px solid var(--ui-border,#e9eef0);padding-left:14px}.status-bar{font-size:10px}.part-title{font-size:15px;font-weight:550;color:var(--ui-blue,#394e59)}.property-intro{padding:25px 0 23px}.part-icon{background:linear-gradient(140deg,var(--ui-soft,#f1f6f5),var(--ui-soft,#e8f1ee));border:1px solid var(--ui-border,#e5edeb)}.property-section{padding:17px 18px 12px}.property-row{margin:10px 0;font-size:11px}.property-row>b{font-size:11px;color:var(--ui-ink,#526771)}.parameter-row>label,.property-row>span:first-child{color:var(--ui-secondary,#87959d);font-size:11px}.property-row>span:first-child{min-width:0}.property-section h3{font-size:9px;font-weight:550;letter-spacing:1px;margin-bottom:14px}.property-section .units-choice{border:0;box-shadow:none;padding:0;height:auto;font-size:11px;gap:6px;font-weight:400;min-height:0;color:var(--ui-ink,#516773)}.units-choice svg{width:10px;height:10px;color:var(--ui-muted,#a0adb4)}.cad-select{font-size:12px;width:100%;border-color:var(--ui-border,#dfe7e8);border-radius:4px;box-shadow:none;height:35px;background:var(--ui-panel,#fff)}.parameter-row{gap:5px}.parameter-row>label{min-width:0;overflow:hidden;text-overflow:ellipsis}.dimension-input{width:108px;height:31px;padding:0 8px;font-size:11px;background:var(--ui-panel,#fff)}.dimension-input input{outline:none;width:100%;min-width:0;color:var(--ui-ink,#526771);font-size:11px}.dimension-input:focus-within{border-color:var(--ui-positive,#62a795);box-shadow:0 0 0 2px #dff1e8}.dimension-input:focus-within{width:145px}.dimension-input small{font-size:10px;color:var(--ui-muted,#9caeb6)}.text-button{display:flex;align-items:center;gap:5px;color:var(--ui-positive,#3d9180);font-size:10px;margin:13px 0 1px}.text-button>svg:last-child{margin-left:auto}.text-button:hover{color:var(--ui-positive,#126a59)}.physical-properties{padding-bottom:12px}.physical-properties .property-row small{color:var(--ui-muted,#9aabb2);font-size:9px;margin-left:3px}.getting-started{margin:auto 15px 19px;padding:14px;gap:7px;background:var(--ui-soft,#f5f9f7);border-color:var(--ui-border,#e5efe9);border-radius:5px}.getting-started>div{display:flex;gap:7px;align-items:center}.getting-started b{font-size:10px;font-weight:500;color:var(--ui-positive,#538875)}.getting-started p{font-size:10px;color:var(--ui-secondary,#89a095);line-height:1.8}.getting-started>button{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:10px;color:var(--ui-positive,#4b927a)}.getting-started>button svg{margin-left:auto}.command-title{display:flex;align-items:center;gap:11px;padding:19px 18px;border-bottom:1px solid var(--border);min-height:79px;flex-shrink:0;color:var(--ui-positive,#548275)}.command-title h2{font-size:15px;font-weight:600;color:var(--ui-blue,#344e58);margin:0;line-height:1.3}.command-title small{font-size:10px;color:var(--ui-muted,#99a8ad);margin-top:4px;display:block}.command-title>button:last-child{margin-left:auto;color:var(--ui-muted,#91a0a6)}.command-symbol{height:36px;width:36px;display:grid;place-items:center;background:var(--ui-soft,#edf6f2);border:1px solid var(--ui-border,#e1eee7);border-radius:7px}.command-body{padding:19px 18px;overflow-y:auto;flex:1;scrollbar-width:thin}.command-description{font-size:12px;line-height:1.7;color:var(--ui-muted,#8d9ca5);margin:0 0 19px}.command-field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;font-size:11px;color:var(--ui-secondary,#7b8e98)}.field-input{height:36px;border:1px solid var(--ui-border,#dce5e8);border-radius:4px;display:flex;align-items:center;padding:0 10px;gap:6px;box-shadow:0 1px 2px #283f4f03;background:var(--ui-panel,#fff)}.field-input:focus-within{border-color:var(--ui-positive,#68a794);box-shadow:0 0 0 2px #e9f5ee}.field-input input{min-width:0;width:100%;outline:none;font-family:var(--font-mono);font-size:12px;color:var(--ui-blue,#4b6774)}.field-input small{font-size:10px;color:var(--ui-muted,#a0acb3)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--ui-secondary,#7c8d97);margin:19px 0}.command-body>.cad-select{margin-bottom:17px}.command-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid var(--ui-border,#e5eaec);background:var(--ui-panel,#fbfdfc);padding:15px;flex-shrink:0;margin-top:auto}.primary-button{background:var(--action,#087f73);color:white;border-radius:4px;font-size:11px;min-height:34px;padding:8px 14px}.primary-button:hover{background:var(--action,#066e63)}.primary-button:disabled{opacity:.4}.secondary-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:8px 13px;border:1px solid var(--ui-border,#dfe7e8);border-radius:4px;background:var(--ui-panel,#fff);font-size:11px;color:var(--ui-secondary,#70838e)}.secondary-button:hover{background:var(--ui-soft,#f6f9f8);border-color:var(--ui-border,#b3cfc4)}.secondary-button kbd{font-size:8px;color:var(--ui-muted,#a2b0b5)}.full-width{width:100%;margin:13px 0}.inline-note{display:flex;gap:9px;font-size:11px;line-height:1.8;background:var(--ui-soft,#f3f8f6);border:1px solid var(--ui-border,#e2ede8);padding:12px;border-radius:5px;margin-top:22px;color:var(--ui-secondary,#7d998e)}.inline-note>svg{margin-top:3px}.inline-note code{font-size:10px;color:var(--ui-positive,#4c8170);background:var(--ui-soft,#e8f2ed);padding:1px 3px}.plane-picker{display:flex;flex-direction:column;gap:10px}.plane-picker>button{display:flex;align-items:center;gap:10px;border:1px solid var(--ui-border,#e0e8e9);padding:12px;border-radius:5px;text-align:left;font-size:12px;color:var(--ui-secondary,#6e828e)}.plane-picker>button.selected{border-color:var(--ui-positive,#80b7a5);background:var(--ui-soft,#f0f8f4);color:var(--ui-positive,#217d65)}.plane-picker>button>small{font-size:10px;color:var(--ui-muted,#94a69e)}.plane-picker>button>svg:last-child{margin-left:auto}.plane-icon{display:grid;place-items:center;transform:rotate(-20deg) scaleY(.7);color:var(--ui-blue,#8bb0c2);margin-right:5px}.plane-XZ{color:var(--ui-warning,#bda484);transform:rotate(-25deg) scaleX(.7)}.plane-YZ{color:var(--ui-muted,#94b799);transform:rotate(25deg) scaleX(.7)}.selection-box{display:flex;align-items:center;gap:8px;border:1px solid var(--ui-border,#d0e5dc);background:var(--ui-soft,#f1f9f5);color:var(--ui-positive,#578a76);font-size:11px;padding:11px;border-radius:5px;margin-bottom:18px}.selection-box button{margin-left:auto}.preview-state{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ui-secondary,#699180);margin:25px 0 5px}.preview-state .loading-ring{height:12px;width:12px}.command-error{font-size:11px;line-height:1.7;padding:12px;background:var(--ui-danger-bg,#fcf1ee);border:1px solid var(--ui-border,#f0d4ca);color:var(--ui-danger,#b66d56);border-radius:5px;margin:15px 0}.panel-divider{border-top:1px solid var(--ui-border,#e5ecee);margin:24px 0 18px}.section-label{font-size:9px;font-weight:500;letter-spacing:1px;color:var(--ui-muted,#8d9fa8);margin:17px 0 14px}.measurement-result{padding:15px 0;border-bottom:1px solid var(--ui-border,#ebf0f1);display:flex;flex-direction:column;gap:8px}.measurement-result small{font-size:11px;color:var(--ui-muted,#8f9fa7)}.measurement-result b{font-weight:450;font-size:23px;color:var(--ui-blue,#446371);letter-spacing:-.5px}.measurement-result b>span{font-size:12px;color:var(--ui-muted,#9cabb2);letter-spacing:0}.measurement-result p{font-size:11px;color:var(--ui-secondary,#79929b)}.selection-summary{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--ui-positive,#518d78);background:var(--ui-soft,#eff7f3);padding:11px 15px;border-top:1px solid var(--ui-border,#e4eee8)}.selection-summary button{margin-left:auto;text-decoration:underline;text-underline-offset:3px}.capitalize{text-transform:capitalize}.teal-text{color:var(--ui-positive,#3a9b7c)!important}.feature-actions{display:flex;justify-content:space-between;gap:10px;margin:25px 0}.feature-actions>button{gap:6px;color:var(--ui-muted,#9caaaf)}.constraint-status,.feature-actions>button{display:flex;align-items:center;font-size:10px}.constraint-status{gap:7px;padding:10px;border:1px solid var(--ui-border,#e9e2c7);background:var(--ui-warning-bg,#fcf9ed);border-radius:4px;color:var(--ui-warning,#a1935b);margin-bottom:19px}.constraint-status .green-dot{background:var(--ui-warning,#a1935b)}.constraint-status small{margin-left:auto;font-size:9px}.constraint-status.constrained{border-color:var(--ui-border,#d7e9df);background:var(--ui-soft,#f1f9f5);color:var(--ui-positive,#5e927d)}.constraint-status.constrained .green-dot{background:var(--action,#6aaa8b)}.constraint-status.conflict{color:var(--ui-danger,#b77562);background:var(--ui-danger-bg,#fff3ef);border-color:var(--ui-border,#f0d4ca)}.entity-list{display:flex;flex-direction:column;gap:3px;margin-bottom:20px;max-height:175px;overflow:auto}.entity-list>button{display:flex;align-items:center;gap:8px;border-radius:4px;padding:7px 8px;font-size:11px;color:var(--ui-secondary,#7d929c);text-align:left}.entity-list>button.selected{background:var(--ui-soft,#eaf6f0);color:var(--ui-positive,#308b70)}.entity-list small{margin-left:auto;font-size:8px;color:var(--ui-muted,#9caeab)}.sketch-locks{display:flex;gap:10px;margin:15px 0}.sketch-locks>button{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--ui-secondary,#8aa298)}.constraint-add{display:flex;gap:7px;align-items:center}.square-button{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid var(--ui-border,#dce7e2);background:var(--ui-soft,#f4f9f6);border-radius:4px;color:var(--ui-secondary,#6a9686)}.constraint-item{display:flex;align-items:center;gap:7px;margin:9px 0;font-size:10px;color:var(--ui-secondary,#80a090)}.constraint-item>span{flex:1}.field-hint{font-size:10px;line-height:1.6;color:var(--ui-muted,#99aab1);margin-top:12px}.sketch-transform{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.sketch-transform>button{display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--ui-border,#e3e9eb);padding:7px 4px;font-size:9px;border-radius:4px;color:var(--ui-secondary,#8196a0)}.sketch-transform>button:hover{color:var(--ui-positive,#1e8d70);border-color:var(--ui-border,#96c3b1)}.sketch-guide{display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center;color:var(--ui-secondary,#81a193);padding:17px 0}.sketch-guide b{font-size:13px;font-weight:500;color:var(--ui-secondary,#527b6e)}.sketch-guide p{font-size:11px;line-height:1.9;color:var(--ui-muted,#9aaca4)}.sketch-instruction{position:absolute;top:20px;left:50%;transform:translateX(-50%);max-width:60%;display:flex;align-items:center;gap:9px;font-size:10px;color:var(--ui-secondary,#6f9889);background:var(--ui-panel,#f9fcfacf);border:1px solid var(--ui-border,#d8e9df);border-radius:4px;padding:8px 11px;z-index:3;pointer-events:none}.sketch-instruction kbd{font-size:8px;background:var(--ui-soft,#edf3ef);border-radius:2px;padding:1px 3px;margin-left:5px}.viewport-dimension{position:absolute;z-index:3;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:11px;color:var(--ui-positive,#238b76);background:var(--ui-panel,#f8fdfbdc);padding:3px 5px;border:1px solid var(--ui-border,#b6daca);border-radius:3px;white-space:nowrap}.viewport-dimension:hover{background:var(--ui-soft,#e4f6ed);border-color:var(--ui-positive,#58aa88)}.viewport-error{position:absolute;top:80px;left:25px;right:158px;z-index:5;display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border-radius:6px;background:var(--ui-warning-bg,#fff7f2ed);color:var(--ui-warning,#a6725a);box-shadow:0 3px 12px #8e653d0d;border:1px solid var(--ui-border,#ead6c6);font-size:11px;line-height:1.8}.viewport-error>svg{margin-top:3px}.viewport-error>span{flex:1}.empty-viewport{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:13px;width:90%;pointer-events:none}.empty-cross{display:grid;place-items:center;background:var(--ui-soft,#f4faf7a6);border:1px solid var(--ui-border,#cadad4);border-radius:14px;width:67px;height:67px;color:var(--ui-positive,#6eaa98);margin-bottom:8px}.empty-viewport h2{font-size:21px;letter-spacing:-.5px;font-weight:450;color:var(--ui-secondary,#5f7a84);margin:0}.empty-viewport p{font-size:12px;color:var(--ui-muted,#98aab1);margin:0 0 6px}.empty-viewport>span:last-child{font-size:10px;color:var(--ui-muted,#9dadaf)}.empty-viewport .primary-button{pointer-events:auto;min-width:147px}.reopen-left,.reopen-right{position:absolute;top:23px;z-index:4;display:grid;place-items:center;width:28px;height:28px;color:var(--ui-secondary,#799d92);background:var(--ui-panel,#fcfefdcf);border:1px solid var(--ui-border,#d9e7e0);border-radius:4px}.reopen-left{left:12px}.reopen-right{right:12px}.left-closed .model-browser,.right-closed .properties-panel{display:none}.left-closed .work-area{grid-template-columns:minmax(0,1fr) 282px}.right-closed .work-area{grid-template-columns:246px minmax(0,1fr)}.left-closed.right-closed .work-area{grid-template-columns:minmax(0,1fr)}.left-closed .viewport-label{left:52px}.right-closed .view-cube{right:50px}.cad-dialog{padding:28px;border-radius:11px;border-color:var(--ui-border,#dce8e2);box-shadow:0 30px 100px #173e3833;gap:22px;max-height:90dvh;overflow-y:auto}.cad-dialog [data-slot=dialog-title]{font-size:23px;font-weight:550;letter-spacing:-.5px;line-height:1.25;color:var(--ui-blue,#334f55)}.cad-dialog [data-slot=dialog-description]{font-size:13px;line-height:1.7;color:var(--ui-muted,#91a4aa)}.dialog-eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--ui-positive,#559883);margin-bottom:7px;display:block}.cad-dialog .command-field{font-size:12px;margin-bottom:0}.cad-dialog .field-input{height:39px}.cad-dialog .primary-button,.cad-dialog .secondary-button{font-size:12px;padding:10px 16px}.cad-dialog [data-slot=dialog-footer]{margin-top:3px}.new-part-option{display:flex;align-items:center;gap:16px;text-align:left;padding:18px;border:1px solid var(--ui-border,#c4e0d0);background:var(--ui-soft,#f2faf5);border-radius:7px;color:var(--ui-positive,#559079)}.new-part-option>span{display:grid;place-items:center;height:40px;width:40px;background:var(--ui-soft,#e6f4ec);border-radius:8px}.new-part-option>div{flex:1}.new-part-option b{font-size:14px;font-weight:550;color:var(--ui-positive,#447962)}.new-part-option p{font-size:11px;margin:5px 0 0;color:var(--ui-secondary,#86a391)}.example-divider{font-size:8px;letter-spacing:1.3px;color:var(--ui-muted,#9cabaf);display:flex;align-items:center;gap:14px}.example-divider:after,.example-divider:before{content:"";height:1px;background:var(--ui-soft,#e9eeeb);flex:1}.example-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.example-options>button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:18px;border:1px solid var(--ui-border,#e2e9e7);border-radius:7px;color:var(--ui-secondary,#819ba4);background:var(--ui-panel,#fcfefd)}.example-options>button:hover{border-color:var(--ui-border,#93c3ac);background:var(--ui-soft,#f3faf6)}.example-options b{font-size:12px;color:var(--ui-secondary,#648371);font-weight:500;margin-top:8px}.example-options small{font-size:10px;color:var(--ui-muted,#9aaba4)}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-options>button{display:flex;align-items:center;text-align:left;gap:10px;padding:13px 10px;border:1px solid var(--ui-border,#e0e8e6);border-radius:6px;color:var(--ui-muted,#92a7a0)}.export-options>button>div{flex:1;display:flex;flex-direction:column;gap:5px}.export-options b{font-size:12px;font-weight:500;color:var(--ui-secondary,#5e7e70)}.export-options small{font-size:9px;color:var(--ui-muted,#9caba5)}.export-options .selected{background:var(--ui-soft,#f0faf4);border-color:var(--ui-border,#93c6ac);color:var(--ui-positive,#408e70)}.radio-indicator{border:1px solid var(--ui-border,#becfc5);border-radius:50%;width:13px;height:13px;display:grid;place-items:center}.radio-indicator>span{width:7px;height:7px;background:var(--action,#41916e);border-radius:50%}.export-info{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ui-secondary,#80a08e);background:var(--ui-soft,#f4f9f6);padding:11px;border-radius:4px}.parameters-dialog{max-width:650px!important}.parameters-dialog table{font-size:12px}.parameters-dialog th{font-size:10px;color:var(--ui-secondary,#8d9e9b);font-weight:500}.parameters-dialog td{padding:8px}.parameters-dialog td input{width:100%;min-width:0;font-size:12px;border:1px solid var(--ui-border,#e0e9e4);padding:7px;border-radius:4px;outline:none;background:var(--ui-panel,white);font-family:var(--font-mono);color:var(--ui-secondary,#5b7c6b)}.parameters-dialog td input:focus-visible{border-color:var(--ui-positive,#66a485);outline:2px solid var(--ui-positive,#087e74);outline-offset:2px}.parameters-dialog td:first-child{width:28%}.parameters-dialog td:nth-child(2){width:43%}.parameter-value{font-size:12px;font-family:var(--font-mono);color:var(--ui-secondary,#8ba592)}.parameters-dialog td button{color:var(--ui-muted,#9cb0a6)}.help-workflow{display:flex;justify-content:center;align-items:center;gap:22px;padding:20px;background:var(--ui-soft,#f3f9f5);border:1px solid var(--ui-border,#e4eee7);border-radius:6px;color:var(--ui-muted,#b2c6b9)}.help-workflow>span{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:10px;color:var(--ui-secondary,#729c83)}.help-dialog>p{font-size:12px;line-height:1.9;color:var(--ui-muted,#8fa49a);margin:0}.help-dialog>p>b{font-weight:500;color:var(--ui-secondary,#608e72)}.shortcut-groups{display:grid;gap:18px}.shortcut-groups>section>h4{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ui-secondary,#8c9f97);margin-bottom:7px}.shortcut-groups .shortcut-list{gap:8px 22px}.shortcut-list{display:grid;grid-template-columns:1fr 1fr;gap:11px 22px}.shortcut-list>div{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--ui-secondary,#8c9f97)}.shortcut-list kbd{font-family:inherit;font-size:9px;color:var(--ui-secondary,#628d76);background:var(--ui-soft,#f2f7f3);border:1px solid var(--ui-border,#e1ebe3);padding:3px 5px;border-radius:3px}.scope-details{border-top:1px solid var(--ui-border,#e7ede9);padding-top:17px;font-size:11px;color:var(--ui-secondary,#7c9988);line-height:1.8}.scope-details summary{cursor:pointer;color:var(--ui-positive,#609173)}.scope-details p{margin:12px 0}.scope-details a{color:var(--ui-positive,#42755a);text-decoration:underline}.recovery-card{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--ui-border,#dcece2);background:var(--ui-soft,#f5fbf7);border-radius:7px;color:var(--ui-secondary,#76a38a)}.recovery-card>div{display:flex;flex-direction:column;gap:8px}.recovery-card b{font-size:15px;font-weight:500;color:var(--ui-positive,#518263)}.recovery-card span{font-size:11px;color:var(--ui-muted,#94ab9c)}.cad-menu{padding:5px}.cad-menu [data-slot=dropdown-menu-item]{font-size:12px;min-height:33px;color:var(--ui-secondary,#6c8378);padding:8px 10px;cursor:pointer;gap:10px}.cad-menu [data-slot=dropdown-menu-item] svg{color:var(--ui-muted,#94a89d);width:14px;height:14px}.cad-menu [data-slot=dropdown-menu-item]:focus{background:var(--ui-soft,#edf7f0);color:var(--ui-positive,#317b52)}.cad-dialog~button{color:var(--ui-muted,#91a799)}.cad-app [data-slot=select-content],.cad-app [data-slot=select-item]{font-size:12px}@media(min-width:1600px){.work-area{grid-template-columns:265px minmax(0,1fr) 298px}.feature-row .feature-select,.tree-row{font-size:13px}.command-description,.command-field,.parameter-row>label,.property-row,.property-row>b,.toggle-row{font-size:12px}.properties-panel .getting-started p{font-size:11px}.brand{width:249px}}@media(max-width:1200px){.work-area{grid-template-columns:219px minmax(0,1fr) 250px}.brand{width:200px}.workspace-choice{width:192px}.command-ribbon{padding:8px 12px;gap:1px}.command-group>button,.command-ribbon>button{min-width:55px}.command-group>button>span,.command-ribbon>button>span{font-size:10px}.command-ribbon .sketch-command{min-width:85px;margin-right:6px}.ribbon-divider{margin:0 7px}.ribbon-end{padding-left:5px}.ribbon-end button{padding:0 5px}.ribbon-end button>span:last-child{font-size:10px}.properties-panel .dimension-input{width:94px}.property-section{padding-left:15px;padding-right:15px}.command-body{padding:17px 15px}.viewport-label{left:20px}.history-features{gap:5px}.history-features button{width:26px;height:28px}.timeline>span{display:none}.view-cube{right:10px}.projection-tag{display:none}.timeline{padding:0 12px}.left-closed .work-area{grid-template-columns:minmax(0,1fr) 250px}.right-closed .work-area{grid-template-columns:219px minmax(0,1fr)}}@media(max-width:960px){.work-area{grid-template-columns:190px minmax(0,1fr) 225px}.brand{width:172px}.workspace-choice{width:162px;font-size:11px}.workspace-choice>svg:last-child{margin-left:7px}.app-header{padding:0 16px}.document-name{font-size:12px}.saved{display:none}.ribbon-tabs [data-slot=tabs-list]{gap:13px}.ribbon-tabs [data-slot=tabs-trigger]{font-size:12px}.command-ribbon{overflow-x:auto;scrollbar-width:none;justify-content:flex-start}.command-group>button,.command-ribbon>button{min-width:53px}.command-ribbon .sketch-command{min-width:82px}.ribbon-end{display:none}.tree-section-row>.tree-row{padding-left:17px;font-size:11px}.tree-root{font-size:11px}.feature-row{padding-left:35px}.feature-row:before{left:24px}.feature-row:after{left:24px;width:6px}.feature-row .feature-select{font-size:11px}.panel-heading{font-size:12px;padding:0 14px}.tree-search{margin-left:9px;margin-right:9px}.tree-search kbd{display:none}.property-section{padding-left:13px;padding-right:13px}.parameter-row>label,.property-row,.property-row>b{font-size:10px}.getting-started{margin:15px 12px}.getting-started>div{align-items:flex-start}.getting-started b{font-size:10px;line-height:1.6}.property-intro .part-title{font-size:14px}.view-cube{transform:scale(.82);transform-origin:top right}.axis-triad{left:7px;bottom:113px;transform:scale(.8);transform-origin:bottom left}.navigation-dock{bottom:83px}.viewport-label>span{font-size:11px}.viewport-label small{font-size:8px}.command-title{padding:16px 13px}.command-title h2{font-size:14px}.command-title small{font-size:10px}.command-description{font-size:11px}.command-body{padding:17px 13px}.command-footer{padding:12px 10px;gap:5px}.primary-button,.secondary-button{padding:8px 11px}.left-closed .work-area{grid-template-columns:minmax(0,1fr) 225px}.right-closed .work-area{grid-template-columns:190px minmax(0,1fr)}.coordinates{display:none!important}}@media(max-width:760px){.left-closed .work-area,.work-area{grid-template-columns:minmax(0,1fr) 225px}.model-browser{display:none}.right-closed .work-area{grid-template-columns:minmax(0,1fr)}.brand{width:auto}.brand b{font-size:22px}.brand>span{display:none}.header-actions{gap:12px}.avatar{display:none}.document-name{gap:7px;max-width:180px}.workspace-choice{width:auto;margin-right:28px}.quick-actions{gap:14px}.quick-actions>button:nth-child(2){display:none}.ribbon-tabs [data-slot=tabs-list]{gap:12px}.command-ribbon{height:81px}.command-group>button,.command-ribbon>button{min-width:58px}.viewport-label{top:20px;left:16px}.view-cube{top:49px;right:8px;transform:scale(.75)}.status-bar{gap:12px;font-size:9px}.kernel-status{display:none!important}.footer-constraint{font-size:8px}.navigation-dock{gap:0;padding:4px;bottom:82px}.navigation-dock button{min-width:26px;width:28px!important}.navigation-dock>span{margin:0 2px}.history-add,.history-start{display:none!important}.sketch-instruction{top:63px;left:15px;transform:none;max-width:65%;font-size:9px;padding:6px}.empty-viewport h2{font-size:18px}.empty-viewport p{font-size:11px}.viewport-error{right:15px;top:65px}.saved{display:none}.history-features button{min-width:26px}.command-ribbon .finish-sketch{min-width:87px!important}.left-closed.right-closed .work-area{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.cad-app{min-height:500px}.properties-panel{position:absolute;top:183px;bottom:29px;right:0;width:245px;box-shadow:-5px 0 22px #3a64671a;border-left:1px solid var(--ui-border,#d7e4df)}.left-closed .work-area,.work-area{display:block;position:relative}.viewport{height:100%;width:100%}.cad-app:not(.right-closed) .properties-panel{top:0;bottom:0}.right-closed .properties-panel{display:none}.brand b{font-size:21px}.brand svg{width:23px}.app-header{height:auto;min-height:55px;padding:7px 12px;flex-wrap:wrap;row-gap:7px;align-items:center}.app-header .document-name{order:3;flex:1 0 100%;max-width:none;justify-content:flex-start;font-size:11px}.app-header .header-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0;gap:8px}.app-header .brand b,.app-header .brand>span,.app-header .report-bug-button{display:none}.app-header .theme-control{width:104px;min-width:104px}.header-actions>.header-home{display:none}.export-button{padding:7px 10px;font-size:11px;gap:6px}.export-button>svg:last-child{display:none}.workspace-bar{height:39px;padding:0 12px}.workspace-choice{display:none}.ribbon-tabs [data-slot=tabs-list]{gap:15px}.quick-actions{gap:13px}.quick-actions>button:first-child,.quick-actions>span{display:none}.command-ribbon{height:78px}.viewport-label{font-size:11px}.view-cube{top:18px;right:10px}.cad-app:not(.right-closed) .view-cube{display:none}.axis-triad{bottom:111px}.getting-started{margin-top:20px}.cad-dialog{padding:22px;gap:20px}.cad-dialog [data-slot=dialog-title]{font-size:20px}.shortcut-list{gap:9px 16px}.shortcut-list>div{font-size:9px}.shortcut-list kbd{font-size:8px}.export-options{grid-template-columns:1fr}.parameters-dialog{padding:19px 13px}.parameters-dialog td{padding:5px}.parameters-dialog td input{font-size:10px}.parameters-dialog th{font-size:9px}.parameters-dialog td:first-child{width:30%}}.local-projects{max-height:48vh;overflow:auto}.local-projects>div{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--ui-border,#dce6e9)}.local-projects>div>div{flex:1;min-width:0;display:grid;gap:5px}.local-projects b{overflow-wrap:anywhere}.local-projects small{color:var(--ui-secondary,#6a8290)}.local-projects>div>button{padding:7px}.copyright{font-size:11px;color:var(--ui-secondary,#66818e)}.saved{flex-wrap:wrap;max-width:260px;justify-content:center;line-height:1.3}.drive-save-status{white-space:nowrap}.viewport-label .compact-save-status{display:none}.drive-autosave-controls{display:grid;gap:10px;margin-top:12px}.drive-autosave-controls p{margin:0}@media(max-width:960px){.viewport-label .compact-save-status{display:block;font-size:10px;max-width:270px;line-height:1.5}}@media(prefers-reduced-motion:reduce){.loading-ring{animation:none}}:root{--solid-surface:#fbfdfc;--solid-active-surface:#f6fbf8;--solid-chip-surface:#eaf5f0;--solid-hint-surface:#fbfdfce8;--solid-border:#dce7e8;--solid-accent:#278f7f;--solid-highlight:#278f7f12;--solid-heading:#497877}:root.dark{--solid-surface:var(--ui-soft);--solid-active-surface:var(--ui-soft);--solid-chip-surface:var(--ui-positive-bg);--solid-hint-surface:var(--ui-raised);--solid-border:var(--ui-border);--solid-accent:var(--ui-positive);--solid-highlight:var(--ui-positive-bg);--solid-heading:var(--ui-positive)}.reference-field{margin:14px 0;padding:10px;border:1px solid var(--solid-border);border-radius:5px;background:var(--solid-surface);color:var(--ui-ink);font-size:12px;min-width:0}.reference-field.active{border-color:var(--solid-accent);box-shadow:0 0 0 2px var(--solid-highlight);background:var(--solid-active-surface)}.reference-heading{display:flex;align-items:center;gap:7px;width:100%;color:var(--solid-heading);text-align:left;min-height:26px}.reference-heading b{flex:1;font-size:12px;font-weight:550}.reference-heading>span{font-size:10px;color:var(--ui-muted)}.reference-field p{font-size:11px;line-height:1.6;color:var(--ui-muted);margin:8px 0}.reference-chips{display:flex;flex-direction:column;gap:5px;margin:8px 0;max-height:160px;overflow:auto}.reference-chips>div{display:flex;align-items:center;gap:7px;background:var(--solid-chip-surface);color:var(--ui-positive);border-radius:3px;padding:5px 7px;min-width:0}.reference-chips span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-chips button{display:grid;place-items:center;width:20px;height:20px}.reference-field>[data-slot=select-trigger]{margin-top:5px;width:100%;font-size:11px}.feature-failure{color:var(--ui-danger);display:flex;align-items:center}.solid-selection-hint{position:absolute;top:18px;left:50%;transform:translateX(-50%);max-width:calc(100% - 300px);padding:8px 12px;border:1px solid var(--solid-border);border-radius:5px;background:var(--solid-hint-surface);color:var(--solid-heading);font-size:11px;line-height:1.5;text-align:center;overflow-wrap:anywhere;pointer-events:none;z-index:4}.body-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.body-actions button{font-size:11px;color:var(--solid-heading);padding:7px;border:1px solid var(--solid-border);border-radius:4px}.loft-section{display:flex;align-items:center;gap:5px;margin:8px 0}.loft-section>b{color:var(--ui-positive);font-size:12px;width:18px;flex-shrink:0}.loft-section [role=combobox]{min-width:0;flex:1;width:100px}.loft-section>button:not([role=combobox]){border:1px solid var(--solid-border);border-radius:4px;padding:4px 7px}.loft-section>button:disabled{opacity:.3}.command-ribbon{overflow-x:auto;scrollbar-width:thin}.command-group,.ribbon-divider,.ribbon-menu-button{flex-shrink:0}.profile-region-list{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto}.profile-region-list label{display:flex;align-items:center;gap:9px;padding:7px 4px;cursor:pointer;border-radius:4px}.profile-region-list label:hover{background:var(--solid-highlight)}.profile-region-list input{accent-color:var(--solid-accent);width:15px;height:15px;flex-shrink:0}.profile-region-list small{display:block;font-size:10px;color:var(--ui-muted);margin-top:2px}.profile-region-actions{display:flex;justify-content:space-between;gap:10px;margin-top:7px}.profile-region-list,.reference-chips{scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent}@media(max-width:1100px){.solid-selection-hint{top:64px;max-width:calc(100% - 32px)}}.sketch-editor{position:absolute;inset:0 0 65px;z-index:6;outline:none;overflow:hidden;isolation:isolate;font-family:var(--font-sans),sans-serif}.sketch-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;user-select:none}.sketch-editor.pan-active .sketch-canvas{cursor:grab}.sketching>.axis-triad,.sketching>.navigation-dock,.sketching>.projection-tag,.sketching>.three-mount,.sketching>.view-cube,.sketching>.viewport-dimension,.sketching>.viewport-label{visibility:hidden}.sketching>.reopen-left,.sketching>.reopen-right{z-index:12}.sketching>.timeline{z-index:8;background:var(--ui-panel,#f9fbfc)}.sketch-axis{stroke-width:1;pointer-events:none}.sketch-axis.x-axis{stroke:var(--ui-border,#d3a7a1);stroke-opacity:.64}.sketch-axis.y-axis{stroke:var(--ui-border,#95b6a7);stroke-opacity:.7}.sketch-world line,.sketch-world path{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.sketch-curve{fill:none;stroke:var(--sketch-normal);stroke-width:1.8;pointer-events:none}.sketch-curve.fully-constrained{stroke:var(--sketch-fixed)}.sketch-curve.construction{stroke:var(--sketch-construction);stroke-dasharray:7 5}.sketch-curve.projected{stroke:var(--sketch-projected);stroke-dasharray:5 3}.sketch-curve.hovered,.sketch-curve.related{stroke:var(--sketch-hover);stroke-width:2.8}.sketch-curve.selected{stroke:var(--sketch-selected);stroke-width:2.8}.sketch-region{stroke:none;fill:var(--ui-blue-bg,#86bdcc);fill-opacity:.1;pointer-events:none}.sketch-region.hovered{fill:var(--action,#49a9a3);fill-opacity:.17}.sketch-region.selected{fill:var(--action,#46b3a0);fill-opacity:.24}.sketch-preview{fill:#5cbea310;stroke:var(--sketch-preview);stroke-width:1.7;stroke-dasharray:6 4;pointer-events:none}.sketch-preview.construction{fill:none;stroke:var(--sketch-construction)}.sketch-trim-preview{stroke:var(--sketch-trim);stroke-width:5;fill:none;pointer-events:none}.sketch-inference{stroke:var(--sketch-preview);stroke-width:1;stroke-dasharray:5 5;pointer-events:none}.sketch-model-context{stroke:var(--ui-border,#99aeb9);stroke-width:1;opacity:.32;fill:none;pointer-events:none}.sketch-model-context.project-mode{pointer-events:stroke;opacity:.6}.sketch-model-context.project-mode path{pointer-events:stroke;stroke-width:4;cursor:pointer}.sketch-model-context.project-mode path:hover{stroke:var(--sketch-projected);stroke-width:5}.sketch-points{stroke:var(--sketch-normal);stroke-width:1;fill:var(--ui-soft,#f7fbfc);pointer-events:none}.sketch-points .selected{stroke:var(--sketch-selected);fill:var(--ui-soft,#e4f7f1)}.sketch-points .hovered{stroke:var(--sketch-hover);fill:var(--ui-warning-bg,#fff3e2)}.sketch-open-ends{stroke:var(--ui-warning,#bf9159);stroke-width:1;stroke-dasharray:2 2;fill:none;opacity:.75;pointer-events:none}.sketch-origin{fill:var(--ui-soft,#f6f9fa);stroke:var(--ui-border,#7f969e);stroke-width:1;pointer-events:none}.sketch-origin text{fill:var(--ui-raised,#8199a2);stroke:none;font:10px var(--font-mono),monospace}.sketch-anchor{fill:var(--action,#31a88e);stroke:var(--ui-border,white);stroke-width:1;pointer-events:none}.sketch-snap-glyph{fill:var(--ui-soft,#e5f8ed);stroke-width:1.4;pointer-events:none}.sketch-snap-glyph text{stroke:none;font:11px var(--font-sans),sans-serif;paint-order:stroke;stroke:var(--ui-border,#f6f9fa);stroke-linejoin:round}.sketch-selection-box{fill:#81bdd92b;stroke:var(--ui-blue,#5296bc);stroke-width:1;pointer-events:none}.sketch-selection-box.crossing{fill:#74c6a52b;stroke:var(--ui-positive,#3da586);stroke-dasharray:5 3}.sketch-dimension{stroke:var(--ui-blue,#73a9ab);stroke-width:.8;color:var(--ui-blue,#73a9ab);fill:none;pointer-events:none}.sketch-dimension>g{pointer-events:auto;cursor:grab;outline:none}.sketch-dimension rect{fill:var(--ui-panel,#f8fcfd);stroke:var(--ui-border,#c3dbdd)}.sketch-dimension text{fill:var(--ui-blue-bg,#478d94);stroke:none;font:11px var(--font-mono),monospace}.sketch-dimension .parameter-name{font:9px var(--font-sans),sans-serif;fill:var(--ui-raised,#779c9b)}.sketch-dimension.reference text{fill:var(--ui-raised,#899aa6)}.sketch-dimension.reference rect{fill:var(--ui-panel,#f8fafb);stroke:var(--ui-border,#d5dfe5);stroke-dasharray:2 2}.sketch-dimension.selected rect,.sketch-dimension>g:focus rect,.sketch-dimension>g:hover rect{stroke:var(--ui-positive,#419f92);fill:var(--ui-soft,#eaf7f2)}.sketch-constraint-glyph{outline:none}.sketch-constraint-glyph rect{fill:var(--ui-soft,#f3f8f7);stroke:var(--ui-border,#dbe8e6);stroke-width:.6}.sketch-constraint-glyph text{font:12px var(--font-sans),sans-serif;fill:var(--ui-raised,#759b93)}.sketch-constraint-glyph.selected rect,.sketch-constraint-glyph:hover rect{fill:var(--ui-soft,#e2f3ec);stroke:var(--ui-positive,#459b80)}.sketch-constraint-glyph.selected text,.sketch-constraint-glyph:hover text{fill:var(--action,#238265)}.sketch-canvas-heading{position:absolute;top:22px;left:24px;display:flex;align-items:center;gap:11px;pointer-events:none}.sketch-plane-badge{display:grid;place-items:center;width:32px;height:32px;background:var(--ui-soft,#eaf4f4);border:1px solid var(--ui-border,#c7dfe0);color:var(--ui-blue,#548992);font:10px var(--font-mono),monospace;border-radius:6px}.sketch-canvas-heading>div{display:flex;flex-direction:column;gap:5px}.sketch-canvas-heading b{font-size:13px;font-weight:550;color:var(--ui-blue,#50727f)}.sketch-canvas-heading>div>span{font-size:8px;letter-spacing:1.3px;color:var(--ui-muted,#93a8b1)}.sketch-command-hint{position:absolute;top:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 330px);display:flex;gap:8px;align-items:center;background:var(--ui-panel,#fbfdfdea);box-shadow:0 3px 12px #3d687809;border:1px solid var(--ui-border,#deeaeb);color:var(--ui-secondary,#7f969d);font-size:10px;padding:9px 12px;border-radius:5px;pointer-events:none;line-height:1.5}.sketch-command-hint>span{height:5px;width:5px;flex-shrink:0;border-radius:50%;background:var(--action,#45ac94)}.sketch-canvas-footer{position:absolute;bottom:19px;left:22px;right:22px;display:flex;align-items:center;gap:18px;pointer-events:none}.sketch-navigation{pointer-events:auto;display:flex;align-items:center;gap:3px;background:var(--ui-panel,#fffdfdec);border:1px solid var(--ui-border,#dce6e9);border-radius:6px;padding:5px;box-shadow:0 4px 15px #304f6210}.sketch-navigation button{height:28px;width:29px;display:grid;place-items:center;color:var(--ui-muted,#8ca2aa);border-radius:3px}.sketch-navigation .active,.sketch-navigation button:hover{color:var(--ui-positive,#358d7b);background:var(--ui-soft,#edf6f2)}.sketch-navigation button:disabled{opacity:.35}.sketch-navigation>span{height:17px;width:1px;background:var(--ui-soft,#e1e9e9);margin:0 3px}.sketch-scale{display:flex;flex-direction:column;align-items:center;gap:5px;margin-left:auto;color:var(--ui-muted,#97a9af)}.sketch-scale>span{height:5px;border:1px solid var(--ui-border,#99adb5);border-top:none;max-width:100px;min-width:25px}.sketch-scale b{font:9px var(--font-mono),monospace;font-weight:400}.sketch-live-status{display:flex;flex-direction:column;gap:5px;text-align:right;font-size:9px;color:var(--ui-muted,#99a9b0)}.sketch-live-status b{font-size:10px;color:var(--ui-secondary,#72918c);font-weight:500}.sketch-dynamic-inputs{position:absolute;width:234px;z-index:8;background:var(--ui-panel,#fbfdfef5);border:1px solid var(--ui-border,#c7dddd);box-shadow:0 6px 20px #42686f12;border-radius:6px;padding:9px 11px;color:var(--ui-secondary,#6e9298)}.dynamic-title{font-size:10px;font-weight:550;display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.dynamic-title small{font-weight:400;font-size:8px;color:var(--ui-muted,#9daeb2)}.sketch-dynamic-inputs>div:last-child{display:flex;gap:8px}.sketch-dynamic-inputs label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.sketch-dynamic-inputs label>span{text-transform:capitalize;font-size:9px;color:var(--ui-muted,#8da3aa)}.sketch-dynamic-inputs label>div{height:29px;display:flex;align-items:center;gap:3px;border:1px solid var(--ui-border,#d7e4e5);border-radius:3px;background:var(--ui-panel,white);padding:0 6px}.sketch-dynamic-inputs label>div:focus-within{border-color:var(--ui-positive,#57a998);box-shadow:0 0 0 2px #62ae961a}.sketch-dynamic-inputs input{width:100%;min-width:0;outline:none;font:11px var(--font-mono),monospace;color:var(--ui-blue,#416c73)}.sketch-dynamic-inputs input::placeholder{color:var(--ui-muted,#91a8b0)}.sketch-dynamic-inputs small{font:9px var(--font-mono),monospace;color:var(--ui-muted,#a2b3b9)}.sketch-dynamic-inputs svg{color:var(--ui-positive,#4b9f88);flex-shrink:0}.sketch-dimension-editor{position:absolute;width:265px;z-index:10;background:var(--ui-panel,#fff);border:1px solid var(--ui-border,#c6dcda);border-radius:7px;padding:13px 14px;box-shadow:0 12px 32px #34545920}.sketch-dimension-editor>label{text-transform:capitalize;font-size:11px;font-weight:550;color:var(--ui-blue,#517c7d);display:flex;justify-content:space-between}.sketch-dimension-editor>label small{font:10px var(--font-mono),monospace;color:var(--ui-muted,#99b0b1)}.dimension-edit-row{display:flex;gap:5px;margin-top:9px}.dimension-edit-row input{min-width:0;width:100%;border:1px solid var(--ui-border,#bdd7d2);border-radius:3px;padding:7px 8px;font:12px var(--font-mono),monospace;outline:none;color:var(--ui-positive,#406f6d)}.dimension-edit-row input:focus{border-color:var(--ui-positive,#4c9e8c);box-shadow:0 0 0 2px #62ae961a}.dimension-edit-row button{width:27px;flex-shrink:0;display:grid;place-items:center;color:var(--ui-secondary,#6c9a8d)}.dimension-edit-row button:first-of-type{background:var(--ui-soft,#eaf7f0);border-radius:3px;color:var(--ui-positive,#38846d)}.sketch-dimension-editor>p{font-size:9px;line-height:1.6;color:var(--ui-muted,#9caeaf);margin:9px 0 13px}.sketch-dimension-editor .toggle-row{margin:0;font-size:10px}.inline-dimension-error{font-size:10px;color:var(--ui-danger,#b77764);line-height:1.6;background:var(--ui-danger-bg,#fff5f0);border-radius:3px;padding:9px;margin-top:10px}.inline-dimension-error>button{display:block;font-size:10px;color:var(--ui-secondary,#547d70);text-decoration:underline;margin-top:7px}.sketch-message{position:absolute;left:24px;right:24px;bottom:78px;max-width:520px;display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border-radius:5px;border:1px solid var(--ui-border,#d2e5de);background:var(--ui-soft,#f4fbf8f5);color:var(--ui-secondary,#6d9384);font-size:11px;line-height:1.6;z-index:11}.sketch-message.error{color:var(--ui-danger,#b67662);background:var(--ui-danger-bg,#fff6f2f5);border-color:var(--ui-border,#e9d2c7)}.sketch-message>svg{margin-top:2px;flex-shrink:0}.sketch-message>span{flex:1}.sketch-message>button{margin-top:2px}#sketch-toolbar{display:contents}.sketch-ribbon-group{display:flex;height:100%;align-items:center;gap:3px}.sketch-ribbon-group>button{height:100%;min-width:59px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ui-secondary,#83a0aa);border-radius:4px;padding:7px 8px}.sketch-ribbon-group>button>span{display:flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap}.sketch-ribbon-group>button:hover{color:var(--ui-positive,#36927d);background:var(--ui-soft,#f0f7f4)}.sketch-ribbon-group>button.tool-active{color:var(--ui-positive,#23896f);background:var(--ui-soft,#e9f4ef)}#sketch-inspector{display:contents}.sketch-panel-title{display:flex;align-items:center;gap:12px;padding:21px 20px;border-bottom:1px solid var(--ui-border,#e6edef)}.sketch-plane-icon{height:39px;width:39px;border:1px solid var(--ui-border,#d6e7e3);background:var(--ui-soft,#f0f8f4);border-radius:7px;display:grid;place-items:center;color:var(--ui-positive,#74a496)}.sketch-panel-title h2{margin:0;font-size:16px;font-weight:500;color:var(--ui-blue,#486974);letter-spacing:-.25px}.sketch-panel-title p{font-size:10px;color:var(--ui-muted,#9cb0b6);margin:6px 0 0}.sketch-panel-body{padding:19px 19px 24px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ui-border,#dbe6e7) transparent}.sketch-solver{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--ui-border,#e3e7d9);background:var(--ui-soft,#f8faf2);border-radius:5px;color:var(--ui-secondary,#91a579);margin-bottom:20px}.solver-dot{width:6px;height:6px;border-radius:50%;background:var(--action,#a5b382)}.sketch-solver>div{display:flex;flex-direction:column;gap:5px;flex:1}.sketch-solver b{font-size:11px;font-weight:500;color:var(--ui-secondary,#82956b)}.sketch-solver span:not(.solver-dot){font-size:9px;color:var(--ui-muted,#a4b095)}.sketch-solver.complete{border-color:var(--ui-border,#cfe5d9);background:var(--ui-soft,#f1f9f4);color:var(--ui-positive,#65a184)}.sketch-solver.complete b{color:var(--ui-positive,#578d74)}.sketch-solver.complete .solver-dot{background:var(--action,#6eae8d)}.sketch-tool-card{border-left:2px solid var(--ui-border,#9dc7bb);padding:0 0 0 12px;margin-bottom:24px}.sketch-tool-card>small{display:block;font-size:8px;color:var(--ui-muted,#a0b5b7);letter-spacing:1.2px;margin-bottom:8px}.sketch-tool-card>b{font-size:13px;font-weight:500;color:var(--ui-secondary,#547c7b)}.sketch-tool-card>p{font-size:10px;line-height:1.8;color:var(--ui-muted,#96aaae);margin:8px 0 11px}.sketch-tool-card>div{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--ui-muted,#a1b1b4)}.sketch-tool-card kbd{font:9px var(--font-sans),sans-serif;border:1px solid var(--ui-border,#dfe9e8);border-radius:3px;background:var(--ui-soft,#f5f9f8);color:var(--ui-muted,#8fa49f);padding:2px 4px}.sketch-section-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px;color:var(--ui-muted,#99acb1)}.sketch-section-heading h3{margin:0;font-size:8px;letter-spacing:1.3px;font-weight:500}.sketch-section-heading>span{font:9px var(--font-mono),monospace;background:var(--ui-soft,#f2f7f6);padding:2px 5px;border-radius:3px}.sketch-selected-info{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--ui-muted,#9aadaf);margin:0 0 13px}.sketch-selected-info b{font-size:11px;font-weight:500;color:var(--ui-secondary,#6b8c92)}.sketch-help{font-size:10px;line-height:1.8;color:var(--ui-muted,#99acb0);margin:10px 0}.sketch-panel-body .secondary-button{font-size:10px;margin-top:9px;padding:8px 10px}.sketch-panel-body .toggle-row{font-size:10px;margin-bottom:15px;color:var(--ui-secondary,#8ba0a6)}.sketch-dimension-list,.sketch-entity-list{display:flex;flex-direction:column;gap:2px;max-height:190px;overflow:auto;scrollbar-width:thin}.sketch-dimension-list button,.sketch-entity-list button{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;text-align:left;color:var(--ui-muted,#8ea4aa);font-size:10px}.sketch-entity-list button>span{text-transform:capitalize;flex:1}.sketch-entity-list small{font-size:8px;letter-spacing:.3px;color:var(--ui-muted,#9eb0b0)}.sketch-entity-list .free-dot{width:4px;height:4px;background:var(--ui-blue-bg,#72a5c2);border-radius:50%}.sketch-dimension-list button:hover,.sketch-entity-list button:hover{background:var(--ui-soft,#f4f9f7)}.sketch-dimension-list .selected,.sketch-entity-list .selected{background:var(--ui-soft,#ebf6f0);color:var(--ui-positive,#3c947c)}.sketch-dimension-list button>span{flex:1;text-transform:capitalize}.sketch-dimension-list b{font:11px var(--font-mono),monospace;color:var(--ui-secondary,#659795)}.sketch-constraint-detail{display:flex;align-items:center;gap:8px;border:1px solid var(--ui-border,#d7e7df);background:var(--ui-soft,#f5faf7);padding:10px;border-radius:4px;font-size:10px;color:var(--ui-secondary,#7c9f8e);margin-top:15px}.sketch-constraint-detail>span{flex:1;text-transform:capitalize}.sketch-region-info{display:flex;align-items:center;gap:10px;padding:12px;background:var(--ui-soft,#edf7f4);border:1px solid var(--ui-border,#d2e6de);border-radius:5px;color:var(--ui-secondary,#6c9c8a)}.sketch-region-info>div{display:flex;flex-direction:column;gap:6px}.sketch-region-info b{font-size:11px;font-weight:500}.sketch-region-info span{font-size:9px;color:var(--ui-muted,#95ada1)}.sketch-open-note{display:flex;gap:8px;padding:11px;margin-top:19px;background:var(--ui-warning-bg,#fcfaf4);border:1px solid var(--ui-border,#ece7d9);border-radius:4px;color:var(--ui-secondary,#ada083);font-size:10px;line-height:1.8}.sketch-open-note svg{flex-shrink:0;margin-top:3px}.sketch-modify-panel{padding:13px;border:1px solid var(--ui-border,#d4e6e1);border-radius:5px;background:var(--ui-soft,#f7fbf9);margin:18px 0}.sketch-modify-panel>div:first-child{display:flex;justify-content:space-between;color:var(--ui-secondary,#71948b);font-size:12px}.sketch-modify-panel p{font-size:10px;color:var(--ui-muted,#96ada5);line-height:1.7;margin:10px 0}.sketch-modify-panel .command-field{font-size:10px;margin:12px 0}.sketch-modify-panel input{font-size:11px}.sketch-modify-panel .primary-button{font-size:10px}.sketch-editor~.viewport-error{z-index:14}.sketch-editor:focus-visible{outline:1px solid var(--ui-border,#99cbbb);outline-offset:-2px}@media(max-width:1200px){.sketch-ribbon-group>button{min-width:51px;padding:6px}.sketch-ribbon-group>button>span{font-size:9px}.sketch-command-hint{top:72px;left:24px;transform:none;max-width:calc(100% - 48px)}.sketch-panel-body{padding:16px 14px}.sketch-scale{display:none}.sketch-live-status{margin-left:auto}.sketch-canvas-footer{gap:10px;left:14px;right:14px}.sketch-canvas-heading{left:19px}}@media(max-width:760px){.sketch-command-hint{max-width:calc(100% - 32px);left:16px;font-size:9px}.sketch-navigation{gap:0;padding:3px}.sketch-navigation button{width:25px}.sketch-navigation>span{margin:0 2px}.sketch-live-status{display:none}.sketch-dynamic-inputs{width:212px}.sketch-message{left:12px;right:12px;font-size:10px}.sketch-canvas-heading{top:18px;left:16px}}.sketch-axis-letter{fill:var(--ui-raised,#91a4aa);font:10px var(--font-mono),monospace;pointer-events:none}.sketch-live-status small{font:8px var(--font-mono),monospace;color:var(--ui-muted,#a1b3b9)}.cad-app:has(.sketch-editor) .status-bar .coordinates{display:none}.sketch-editor{animation:sketch-appear .22s ease-out}@keyframes sketch-appear{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.sketch-editor{animation:none}}.sketch-snap-settings{margin:18px 0;font-size:13px}.sketch-snap-settings summary{cursor:pointer;font-size:14px;margin-bottom:10px}.sketch-gap-repairs{font-size:13px;margin:14px 0}.sketch-gap-repairs button{margin-top:7px}.cad-app,.sketch-editor{--sketch-normal:#397faa;--sketch-fixed:#315e56;--sketch-construction:#78869b;--sketch-projected:#8b6dad;--sketch-hover:#d99a39;--sketch-selected:#086f63;--sketch-preview:#239987;--sketch-trim:#d86b48;--sketch-snap:#ed4358;--sketch-error:#be4d42;--sketch-paper:#f6f9fa;--sketch-border:var(--ui-border,#dce7e8);--sketch-ink:#34515e;--sketch-soft:#f1f7f5;--sketch-active:#e6f5ef;--sketch-muted:#526c78}.sketch-curve.construction{stroke-width:1.4;stroke-dasharray:8 5}.sketch-curve.construction.hovered,.sketch-curve.construction.selected{stroke-width:2.4}.sketch-curve.projected{stroke-dasharray:4 4}.sketch-preview.construction{stroke-dasharray:8 5;stroke-width:1.4}.sketch-snap-glyph{stroke:var(--sketch-snap);fill:var(--sketch-paper)}.sketch-snap-glyph text{fill:var(--sketch-snap);stroke:var(--sketch-paper);stroke-width:3px;font-size:12px;font-weight:600}.sketch-snap-glyph .snap-halo{fill:none;stroke:var(--sketch-snap);stroke-width:2.2}.sketch-snap-glyph .snap-halo-core{fill:none;stroke:var(--sketch-snap);stroke-width:1;stroke-dasharray:2 3}.sketch-snap-target{stroke:var(--sketch-snap)!important;stroke-width:2.8!important;opacity:1!important}.sketch-curve.related{stroke:var(--sketch-selected);stroke-width:2.4}.sketch-dimension.selected{stroke:var(--sketch-selected);stroke-width:1.3}.sketch-dimension.selected rect{stroke:var(--sketch-selected);fill:var(--sketch-active)}.sketch-external{stroke:var(--sketch-projected);opacity:.45;fill:none;stroke-width:1;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.sketch-external.projectable{pointer-events:stroke;cursor:crosshair}.sketch-external.projectable:hover{stroke:var(--sketch-hover);opacity:1;stroke-width:2.8}.construction-toggle b{font:600 9px var(--font-sans),sans-serif;border:1px solid;border-radius:3px;padding:1px 4px;opacity:.8}.construction-toggle[aria-pressed=true]{box-shadow:inset 0 -2px var(--sketch-selected)}.construction-toggle:disabled{opacity:.45;cursor:not-allowed}.sketch-command-hint .construction-mode{color:var(--sketch-construction);font-weight:600;border-left:1px solid var(--sketch-border);padding-left:8px;white-space:nowrap}.cad-tooltip{max-width:320px;line-height:1.6;text-align:left}.sketch-parameters{margin:22px 0;font-size:13px;min-width:0;color:var(--sketch-ink)}.sketch-parameters summary{cursor:pointer;font-size:14px;font-weight:500;margin-bottom:12px}.sketch-parameters summary>span{font-size:11px;font-weight:400;color:var(--sketch-muted);margin-left:6px}.sketch-parameter-scroll{max-height:340px;overflow:auto;border:1px solid var(--sketch-border);border-radius:5px;scrollbar-width:thin;scrollbar-color:var(--sketch-border) transparent;outline-offset:2px}.sketch-parameters table{width:100%;min-width:420px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:13px}.parameter-name-col{width:30%}.parameter-expression-col{width:38.6%}.parameter-value-col{width:19%}.parameter-unit-col{width:12.4%}.sketch-parameters td,.sketch-parameters th{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:9px 10px;border-bottom:1px solid var(--sketch-border);height:38px}.sketch-parameters thead th{position:sticky;top:0;z-index:1;background:var(--sketch-paper);font-weight:600;font-size:12px}.sketch-parameters thead th:nth-child(3){text-align:right}.sketch-parameters .parameter-group th{height:32px;background:var(--sketch-soft);color:var(--sketch-muted);font-size:11px;font-weight:600;letter-spacing:.3px}.sketch-parameters tr[data-parameter-name]{cursor:pointer;transition:background .1s}.sketch-parameters tr[data-parameter-name]:hover{background:var(--sketch-soft)}.sketch-parameters tr.selected{background:var(--sketch-active)}.sketch-parameters tr.selected td:first-child{box-shadow:inset 3px 0 var(--sketch-selected)}.sketch-parameters td button{width:100%;display:flex;align-items:center;gap:6px;text-align:left;white-space:nowrap;min-width:0;color:var(--sketch-ink);font:inherit;line-height:20px}.sketch-parameters .parameter-name{color:var(--sketch-selected);font-weight:550}.sketch-parameters .parameter-name>span:last-child{overflow:hidden;text-overflow:ellipsis}.sketch-parameters .parameter-expression{display:block;overflow:hidden;text-overflow:ellipsis}.sketch-parameters [data-parameter-kind=generated] .parameter-name{font-family:var(--font-mono),monospace;color:var(--sketch-construction);font-weight:400}.generated-mark{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0;border:1px dashed var(--sketch-construction);border-radius:3px;font-size:10px;font-style:italic}.sketch-parameters .parameter-value{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.15px}.sketch-parameters .parameter-unit{color:var(--sketch-muted);font-size:12px}.sketch-parameters td:has(input){padding:4px}.sketch-parameters td input{width:100%;min-width:0;height:30px;border:1px solid var(--sketch-selected);border-radius:3px;padding:4px 6px;background:var(--ui-panel,white);color:var(--sketch-ink);font:13px var(--font-mono),monospace;outline:none}.sketch-parameters td input:focus-visible{outline:2px solid var(--sketch-selected);outline-offset:1px}.sketch-parameters tr.invalid input{border-color:var(--sketch-error)}.sketch-parameter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:9px;font-size:11px}.sketch-parameter-actions>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sketch-parameter-actions button{display:flex;align-items:center;justify-content:center;min-height:28px;padding:5px 7px;border:1px solid var(--sketch-border);border-radius:4px;color:var(--sketch-selected)}.sketch-parameter-actions button:hover{background:var(--sketch-active)}.sketch-parameter-actions p{flex-basis:100%;margin:3px 0;color:var(--sketch-error);line-height:1.6}.parameter-uses{display:flex;align-items:flex-start;gap:5px;color:var(--sketch-muted);font-size:11px;line-height:1.6;margin:10px 0 0;overflow-wrap:break-word}.parameter-uses svg{flex-shrink:0;margin-top:2px}@media(min-width:1280px){.cad-app:not(.right-closed) .work-area:has(.sketch-parameters[open]){grid-template-columns:246px minmax(0,1fr) 460px}.cad-app.left-closed:not(.right-closed) .work-area:has(.sketch-parameters[open]){grid-template-columns:minmax(0,1fr) 460px}}.sketch-project-faces path{fill:#087e7410;stroke:none;pointer-events:fill;cursor:copy}.sketch-project-faces path:hover{fill:#087e7440}.projection-controls{padding:12px;border:1px solid var(--ui-border,#c7dfdc);border-radius:6px;margin-top:16px}.projection-controls .cad-select{max-width:100%}.sketching.sketch-orbiting>.axis-triad,.sketching.sketch-orbiting>.three-mount,.sketching.sketch-orbiting>.view-cube{visibility:visible}.sketch-editor.orbit-active{pointer-events:none;isolation:auto}.sketch-editor.orbit-active .sketch-canvas,.sketch-editor.orbit-active .sketch-dimension-editor,.sketch-editor.orbit-active .sketch-dynamic-inputs,.sketch-editor.orbit-active .sketch-scale{visibility:hidden;pointer-events:none}.sketch-editor.orbit-active .sketch-message,.sketch-editor.orbit-active .sketch-navigation{pointer-events:auto}.sketch-navigation .look-at-sketch{display:flex;width:auto;gap:6px;padding:0 9px;font-size:12px;color:var(--ui-positive,#087e74)}.sketch-editor.orbit-active .sketch-command-hint{font-size:12px;max-width:calc(100% - 340px)}.sketch-dimension{stroke:var(--sketch-normal);color:var(--sketch-normal);stroke-width:1.1}.sketch-dimension rect{fill:var(--sketch-paper);stroke:var(--sketch-normal);stroke-width:1}.sketch-dimension text{fill:var(--sketch-ink);font-size:12px;font-weight:500}.sketch-dimension .parameter-name{fill:var(--sketch-muted);font-size:11px;paint-order:stroke;stroke:var(--sketch-paper);stroke-width:3px;stroke-linejoin:round}.sketch-constraint-glyph rect{fill:var(--sketch-soft);stroke:var(--sketch-muted);stroke-width:1}.sketch-constraint-glyph text{fill:var(--sketch-ink);font-size:13px;font-weight:600}.sketch-constraint-glyph.selected rect,.sketch-constraint-glyph:focus-visible rect,.sketch-constraint-glyph:hover rect{fill:var(--sketch-active);stroke:var(--sketch-selected);stroke-width:1.5}.sketch-constraint-glyph.selected text,.sketch-constraint-glyph:hover text,.sketch-dimension.selected text{fill:var(--sketch-selected)}.sketch-axis-letter{fill:var(--sketch-muted)}.sketch-curve.polygon-side{stroke-width:2.8;pointer-events:none}.sketch-constraint-glyph.conflicting rect{stroke:var(--sketch-error);fill:var(--ui-danger-bg,#fff0e9)}.sketch-constraint-glyph.conflicting text{fill:var(--sketch-error)}.sketch-direction-actions{display:flex;gap:8px;margin:10px 0}.sketch-direction-actions button{flex:1;min-height:32px;border:1px solid var(--sketch-border);border-radius:4px;color:var(--sketch-ink);font-size:12px;background:var(--sketch-soft)}.sketch-direction-actions button:hover{border-color:var(--sketch-selected)}.sketch-direction-actions button:disabled{color:var(--sketch-muted);cursor:default}.dimension-dialog-handle{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:move;touch-action:none;user-select:none;margin:-4px -4px 12px;padding:4px;border-radius:4px;color:var(--ui-ink,#26383f);font-size:12px}.dimension-dialog-handle:focus-visible{outline:2px solid var(--ring,#1677ef)}.dimension-dialog-handle small{color:var(--ui-muted,#99b0b1)}.sketch-points .point-selection-ring{fill:var(--sketch-paper);fill-opacity:.85;stroke-width:2}.sketch-points .selected:not(.hovered){stroke:var(--sketch-selected);stroke-width:2}.sketch-points .hovered{stroke-width:2}.sketch-pick-label text{font:12px var(--font-sans),sans-serif;font-weight:600;fill:var(--sketch-hover);stroke:var(--sketch-paper);stroke-width:4;paint-order:stroke;stroke-linejoin:round}.sketch-constraint-glyph{color:var(--sketch-ink);cursor:pointer}.sketch-constraint-glyph .constraint-badge{fill:var(--sketch-paper);stroke:var(--sketch-muted);stroke-width:1;transition:fill .12s,stroke .12s}.sketch-constraint-glyph .constraint-symbol{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.sketch-constraint-glyph:focus-visible,.sketch-constraint-glyph:hover{color:var(--sketch-hover)}.sketch-constraint-glyph:focus-visible .constraint-badge,.sketch-constraint-glyph:hover .constraint-badge{fill:var(--sketch-soft);stroke:var(--sketch-hover);stroke-width:2}.sketch-constraint-glyph.selected{color:var(--sketch-selected)}.sketch-constraint-glyph.selected .constraint-badge{fill:var(--sketch-active);stroke:var(--sketch-selected);stroke-width:2}.sketch-constraint-glyph.conflicting{color:var(--sketch-error)}.sketch-constraint-glyph.conflicting .constraint-badge{stroke:var(--sketch-error);stroke-width:2;stroke-dasharray:3 2;fill:var(--sketch-paper)}.constraint-tooltip rect{fill:var(--sketch-paper);stroke:var(--sketch-border);stroke-width:1}.constraint-tooltip text{fill:var(--sketch-ink);font:12px var(--font-sans),sans-serif;font-weight:600}.sketch-constraint-detail{align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--sketch-border);border-radius:7px;background:var(--sketch-soft)}.sketch-constraint-detail>svg{margin-top:2px;flex-shrink:0}.sketch-constraint-detail>div{flex:1;min-width:0}.sketch-constraint-detail b{font-size:12px;color:var(--sketch-ink);font-weight:600}.sketch-constraint-detail p{font-size:12px;line-height:1.5;color:var(--sketch-muted);margin:5px 0 0}@media(prefers-reduced-motion:reduce){.sketch-constraint-glyph .constraint-badge{transition:none}}.sketch-dynamic-inputs .dimension-dialog-handle{font-size:12px;gap:8px;margin:0 0 10px;padding:2px 0}.sketch-dynamic-inputs .dimension-dialog-handle small{font:10px var(--font-sans),sans-serif;color:var(--sketch-muted);white-space:nowrap}.sketch-dynamic-inputs .dynamic-fields{display:flex;gap:8px}.sketch-dynamic-inputs .dynamic-input-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:10px;color:var(--sketch-muted)}.dynamic-input-footer button{padding:4px 5px;border-radius:4px;color:var(--sketch-selected);font-size:10px;white-space:nowrap}.dynamic-input-footer button:focus-visible,.dynamic-input-footer button:hover{background:var(--sketch-active);outline:1px solid var(--sketch-selected)}.sketch-alignment-source{fill:var(--sketch-paper);stroke:var(--sketch-snap);stroke-width:1.8}.sketch-curve.construction.fully-constrained:not(.selected):not(.hovered):not(.related){stroke:var(--sketch-fixed)}.sketch-constraint-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0;color:var(--ui-secondary);font-size:11px}.sketch-constraint-legend>span{display:flex;align-items:center;gap:7px}.sketch-constraint-legend i{display:inline-block;width:16px;height:3px;border-radius:2px;background:var(--sketch-normal)}.sketch-constraint-legend i.fixed{background:var(--sketch-fixed)}.sketch-constraint-legend small{flex-basis:100%;font-size:10px;line-height:1.5;color:var(--ui-muted)}.cad-app.python-active .work-area{grid-template-columns:220px minmax(0,1fr) 470px}.cad-app.python-active.left-closed .work-area{grid-template-columns:minmax(0,1fr) 470px}.python-fields{display:flex;flex-direction:column;gap:14px}.python-summary{color:var(--foreground);font-size:14px;margin:0}.python-examples,.python-file-tools,.python-run-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.python-run-tools small{margin-left:auto;color:var(--muted-foreground);font-size:12px}.python-guide{border:1px solid var(--border);border-radius:7px;font-size:13px;line-height:1.6}.python-guide summary{cursor:pointer;padding:10px;font-weight:600}.python-guide>div{padding:0 12px 12px}.python-guide p{margin:0 0 12px}.python-guide ol{padding-left:20px}.python-guide li{margin-bottom:8px}.python-guide code{font-size:12px;background:var(--muted);padding:1px 3px;border-radius:3px}.python-guide a{color:var(--primary);text-decoration:underline}.python-editor-label{font-size:14px;font-weight:600}.python-fields textarea{width:100%;height:320px;min-height:180px;resize:vertical;padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--background);color:var(--foreground);font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4;white-space:pre;overflow:auto}.python-fields textarea:focus{outline:2px solid var(--ring);outline-offset:2px}.python-draft-status{font-size:12px;line-height:1.5;color:var(--muted-foreground);margin:0}.python-inputs{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:12px}.python-downloads h3,.python-inputs h3{font-size:14px;margin:0;color:var(--foreground)}.python-inputs p{font-size:12px;line-height:1.5;color:var(--muted-foreground);margin:0}.python-console{max-height:140px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--muted);color:var(--foreground);font:12px/1.6 ui-monospace,monospace;padding:12px;border-radius:7px}.python-downloads{display:flex;flex-direction:column;gap:8px}.python-downloads button{justify-content:flex-start;overflow:hidden;text-overflow:ellipsis}.python-feature-inputs{margin-top:20px}.home-python{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px;border:1px solid var(--border);background:var(--card);border-radius:12px;margin:0 0 32px}.home-python h2{font-size:21px;margin:0 0 8px}.home-python p{font-size:14px;line-height:1.6;max-width:680px;margin:0;color:var(--muted-foreground)}.home-python small{display:block;font-size:12px;line-height:1.5;margin-top:8px;color:var(--muted-foreground)}.home-python button{flex-shrink:0}@media(max-width:1100px){.cad-app.python-active .work-area{grid-template-columns:minmax(0,1fr) 430px}.python-active .model-browser{display:none}}@media(max-width:700px){.cad-app.python-active .work-area,.cad-app.python-active.left-closed .work-area{display:block}.python-active .properties-panel{width:min(100%,470px)}.home-python{align-items:flex-start;flex-direction:column}.python-fields textarea{height:260px}}.python-ai-help{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px;font-size:14px;line-height:1.6}.python-ai-help p{margin:0}.python-ai-help small{font-size:12px;color:var(--muted-foreground);line-height:1.5}.python-ai-status:empty{display:none}.python-ai-status{font-size:13px;color:var(--muted-foreground)}.python-ai-help>div{width:100%;min-width:0}.python-ai-help label{display:block;margin-bottom:6px}.python-ai-help textarea{display:block;width:100%;height:150px;overflow:auto;resize:vertical;border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--background);color:var(--foreground);font:13px/1.5 ui-monospace,monospace}.python-ai-help textarea:focus{outline:2px solid var(--ring)}