:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#c9cdd3;background:#111316;font-synthesis:none;font-size:12px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{color:#fff;background:#292e35}button:disabled{opacity:.3;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #9cc9b5;outline-offset:2px}button svg{flex-shrink:0}input,select{background:#171b20;color:#d8dce2;border:1px solid #373e46;border-radius:5px;padding:9px;width:100%;outline:none}input:focus,select:focus{border-color:#70b49c}.app{height:100dvh;min-height:550px;display:flex;flex-direction:column;overflow:hidden}header{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;border-bottom:1px solid #2b3036;background:#15171b;flex-shrink:0}.brand,.quick{display:flex;align-items:center;gap:13px}.brand-icon{display:flex;color:#afd1c3}.brand strong{font-size:15px;letter-spacing:-.3px;color:#e9ecee}.brand strong span{color:#8a939e;font-weight:400}.divider{height:20px;width:1px;background:#343941;margin:0 4px}.document-title{color:#b4bbc3;display:flex;align-items:center;gap:3px}.file-ext{color:#68737e}.document-title i{background:#d5ad65;width:5px;height:5px;border-radius:50%;margin-left:5px}.quick button{padding:7px;border-radius:4px}.local-dot{display:inline-block;background:#89bda3;width:5px;height:5px;border-radius:50%;flex-shrink:0}.local-label{font-size:9px;letter-spacing:1.5px;color:#8b9a93}nav{height:38px;display:flex;align-items:stretch;padding:0 16px;gap:5px;border-bottom:1px solid #30353b;background:#191c20;flex-shrink:0}nav button{padding:0 17px;position:relative;color:#919ba6;font-weight:500}nav button.current{color:#e2ebe6}nav button.current:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;background:#a3c9b7}.phase{margin-left:auto;align-self:center;color:#91b7a5;letter-spacing:1px;font-size:9px}.phase span{margin-left:12px;color:#64707b;letter-spacing:0}.ribbon{height:91px;padding:10px 20px 12px;display:flex;align-items:stretch;gap:7px;background:#1b1e23;border-bottom:1px solid #333840;flex-shrink:0}.tool{min-width:78px;flex-direction:column;gap:9px;padding:8px 13px 6px;border-radius:5px;color:#c5cbd2;font-size:10px}.tool svg{color:#d3dae1;stroke-width:1.5}.tool.active{background:#304038;color:#c1e3d0}.tool.finish{margin-left:auto;background:#2c3d34;color:#c3dfce;flex-direction:row;padding:0 18px;font-size:11px}.tool.finish svg{color:#a4ccb8}.tool.subtle{margin-left:auto;color:#81909b}.ribbon-sep{width:1px;background:#333941;margin:3px 9px}.ribbon-note{align-self:center;line-height:21px;color:#a6aeb7;padding:0 15px;font-size:11px}.ribbon-note span{color:#66717c;font-size:10px}.workspace{display:flex;min-height:0;flex:1}.browser{width:238px;flex-shrink:0;background:#191c20;border-right:1px solid #31363d;position:relative;padding:0 9px 75px;overflow:auto}.panel-title{height:46px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:#b7bfc8;padding:0 10px;border-bottom:1px solid #2a3037;margin-bottom:14px}.panel-title button{padding:5px}.tree-root{display:flex;align-items:center;gap:8px;height:32px;padding:0 7px;color:#e1e5e9}.tree-root strong{font-size:11px;overflow:hidden;text-overflow:ellipsis}.tree-root span{font-size:9px;margin-left:auto;color:#727c87}.tree-row{display:flex;text-align:left;width:100%;justify-content:flex-start;height:32px;padding:0 9px;gap:8px;border-radius:4px;font-size:11px;white-space:nowrap}.tree-row svg{color:#8e9ba6}.tree-row span{overflow:hidden;text-overflow:ellipsis}.tree-row.sub{padding-left:33px}.tree-row.selected{background:#2c3935;color:#c8e0d3}.tree-row.selected svg{color:#a0c8b6}.tree-row.plane-choice{color:#c5dccc}.planes{border-left:1px solid #333c42;margin-left:15px}.planes .sub{padding-left:18px}.tree-empty{padding:35px 17px;font-size:11px;color:#697580;line-height:1.8}.browser-bottom{position:absolute;bottom:0;left:14px;right:14px;border-top:1px solid #2c333b;display:flex;align-items:center;padding:20px 1px;gap:11px}.browser-bottom strong{font-size:10px;font-weight:400;color:#b0b9c0}.browser-bottom small{display:block;font-size:9px;color:#65707b;margin-top:5px}.viewport{flex:1;position:relative;min-width:0;overflow:hidden;background:#16191d}.view-heading{position:absolute;left:25px;top:22px;z-index:2;display:flex;gap:9px;align-items:center;letter-spacing:1px;font-size:10px;color:#929ea8;pointer-events:none}.view-dot{width:4px;height:4px;border-radius:50%;background:#91a4af}.view-badge{border:1px solid #333d45;border-radius:3px;font-size:8px;letter-spacing:.5px;padding:4px 6px;margin-left:8px;color:#778792}.view-controls{position:absolute;bottom:52px;left:50%;transform:translate(-50%);border:1px solid #333b43;background:#1c2026e8;border-radius:6px;display:flex;padding:3px;z-index:2}.view-controls button{padding:7px 13px;border-radius:3px;font-size:10px;color:#81909c}.view-controls button.chosen{color:#d0e1d7;background:#313e38}.navigation-tools{position:absolute;right:20px;bottom:60px;display:flex;flex-direction:column;border:1px solid #343c45;border-radius:7px;padding:4px;background:#1c2026}.navigation-tools button{padding:9px 6px;border-radius:4px;color:#9daab6}.navigation-tools span{height:1px;margin:3px;background:#343b43}.canvas-hint{position:absolute;bottom:19px;left:50%;transform:translate(-50%);color:#65737f;font-size:10px;white-space:nowrap;pointer-events:none}.canvas-hint span{margin:0 8px}.welcome{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:350px;display:flex;flex-direction:column;align-items:center;text-align:center;z-index:2}.welcome-cube{width:88px;height:88px;border:1px solid #34483e;background:linear-gradient(145deg,#23382d,#17221d);border-radius:22px;display:flex;align-items:center;justify-content:center;color:#a4c7b6;margin-bottom:29px;box-shadow:0 14px 50px #0002}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#849e91;font-weight:500}.welcome h1{font-weight:400;font-size:36px;line-height:1.2;letter-spacing:-1.2px;color:#e1e7e3;margin:15px 0}.welcome h1 em{font-style:normal;color:#9cc5af}.welcome p{font-size:12px;line-height:1.9;color:#7d8b94;margin:0 0 24px}.primary{border-radius:5px;background:#a7cfb8;color:#17281f;min-height:37px;padding:10px 18px;font-weight:600;font-size:11px}.primary:hover{background:#bfe1ce;color:#17281f}.text-button{color:#91a29a;padding:13px 6px;font-size:10px}.secondary{background:#29332e;border:1px solid #3d5145;border-radius:5px;padding:10px;color:#c1d5c8;font-size:11px}.full{width:100%;margin-top:12px}.properties{width:246px;flex-shrink:0;background:#1a1d22;border-left:1px solid #323840;padding:0 18px 115px;position:relative;overflow:auto}.properties .panel-title{padding:0;margin-bottom:22px}.property-heading{display:flex;align-items:center;gap:10px;margin-bottom:23px;color:#ced6de;font-size:12px}.property-heading svg{color:#869d91}.field{display:block;margin:16px 0}.field>span{display:block;margin-bottom:7px;color:#8f9ca7;font-size:10px}.field input{font-size:11px}.number-input{display:flex;align-items:center;background:#171b20;border:1px solid #373e46;border-radius:5px}.number-input input{border:0;background:none;width:100%;min-width:0}.number-input>span{padding-right:11px;color:#65727d;font-size:10px}.property-info{display:flex;justify-content:space-between;font-size:10px;padding:12px 0;border-bottom:1px solid #2b3239}.property-info>span{color:#7b8b97}.property-info strong{font-weight:400;color:#b2bfc7}.property-info small{color:#70808d;margin-left:5px}.workflow-card{margin-top:36px;border:1px solid #343e38;background:#202923;padding:17px 14px;border-radius:7px}.workflow-card .eyebrow{font-size:8px;letter-spacing:1px}.workflow-card strong{display:block;font-size:12px;color:#c3d8ca;margin:12px 0 6px;font-weight:500}.workflow-card p{font-size:10px;line-height:1.8;color:#7e9486}.workflow-card>span:last-child{display:flex;align-items:center;font-size:9px;color:#8fb69d;gap:8px;margin-top:20px}.workflow-card i{height:1px;width:28px;background:#4e6455}.property-footer{position:absolute;bottom:24px;left:18px;right:18px;border-top:1px solid #2d353c;padding-top:18px}.property-footer>span{font-size:8px;letter-spacing:1.3px;color:#657681}.property-footer strong{display:block;font-size:11px;color:#9baeb9;font-weight:500;margin:7px 0 5px}.property-footer small{font-size:9px;color:#5f717e}.section-label{font-size:8px;letter-spacing:1px;color:#7b8e9a}.constraint-card{display:flex;gap:9px;align-items:flex-start;background:#23322b;border:1px solid #354e3f;padding:12px 9px;border-radius:5px;margin-top:22px;color:#9ac8ad}.constraint-card strong{display:block;font-size:10px;font-weight:500}.constraint-card small{display:block;font-size:9px;color:#7b9c88;line-height:1.7;margin-top:4px}.compute{position:absolute;bottom:20px;right:20px;display:flex;gap:6px;align-items:center;color:#b5cabc;background:#25332b;border-radius:4px;padding:6px 8px;font-size:9px}.spin{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{height:30px;background:#15181c;border-top:1px solid #30373e;display:flex;align-items:center;gap:10px;padding:0 17px;color:#72828e;font-size:9px;flex-shrink:0}.footer-divider{height:12px;width:1px;background:#303942;margin:0 3px}.save-status{margin-left:auto;margin-right:25px}.coordinates{font-variant-numeric:tabular-nums}.message{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#283d30;color:#bbdac5;border-top:1px solid #47604f;flex-shrink:0;font-size:11px}.message.error{background:#492d2a;color:#ebc3ba;border-color:#704841}.message>button:last-child{margin-left:auto}.message button{border:1px solid #5c7163;padding:4px 7px;border-radius:3px}.sketch-area{position:absolute;top:0;right:0;bottom:0;left:0;outline:0}.sketch-area>svg{width:100%;height:100%;cursor:crosshair}.plane-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:28px;border:1px solid #3b4a42;border-radius:12px;background:#1c2420f5;width:410px;text-align:center}.plane-overlay h2{font-size:23px;font-weight:400;color:#dbe9df}.plane-overlay p{color:#8a9b91;font-size:11px}.plane-overlay>div{display:flex;gap:12px;justify-content:center;margin-top:24px}.plane-overlay>div button{flex-direction:column;border:1px solid #455a4d;background:#27392e;border-radius:6px;width:100px;height:104px;color:#b6d7c0}.plane-overlay small{color:#849b8b}.modal-shade{position:fixed;top:0;right:0;bottom:0;left:0;background:#090c10bb;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;display:flex;align-items:center;justify-content:center}.modal{width:440px;max-width:90vw;max-height:85vh;overflow:auto;padding:32px;background:#1e242a;border:1px solid #3b454e;border-radius:12px;box-shadow:0 24px 80px #0007;position:relative}.modal h2{font-size:25px;font-weight:400;color:#dbe3e8;letter-spacing:-.6px;margin:15px 0}.modal p{font-size:12px;line-height:1.8;color:#94a2ad}.close{position:absolute;right:16px;top:14px;padding:6px;border-radius:5px}.muted{font-size:10px!important;color:#7b8c98!important}.project-list{margin:20px 0;max-height:300px;overflow:auto}.project-list>button,.export-option{width:100%;text-align:left;padding:15px 10px;border:1px solid #3a454d;border-radius:5px;justify-content:flex-start;margin:8px 0;gap:12px}.project-list>button div,.export-option div{flex:1}.project-list strong,.export-option strong{font-size:11px;font-weight:500;display:block;color:#d3dfe6}.project-list small,.export-option small{font-size:10px;display:block;color:#7c919e;margin-top:5px}.context{position:fixed;z-index:20;background:#262e35;border:1px solid #4a5863;padding:5px;border-radius:6px;width:200px;box-shadow:0 9px 30px #0005}.context button{display:flex;width:100%;padding:9px 8px;justify-content:flex-start;text-align:left;border-radius:4px;font-size:10px}.danger{color:#d2a7a0}.limit-note{padding:14px;border:1px solid #66543b;border-radius:5px;color:#c4b396;font-size:11px;line-height:1.8;margin-top:20px}.inspect-summary{display:flex;align-items:center;gap:15px;padding:0 15px}.inspect-summary strong{font-weight:500;font-size:12px}.inspect-summary small{display:block;margin-top:9px;color:#8d9eaa;font-size:11px}@media (min-width: 1700px){.browser{width:270px}.properties{width:280px}.welcome h1{font-size:44px}.welcome{width:440px}}@media (max-width: 1050px){.browser{width:190px}.properties{width:205px;padding-left:13px;padding-right:13px}.ribbon-note{display:none}.tool{min-width:65px;padding-left:8px;padding-right:8px}.phase span{display:none}.canvas-hint{font-size:8px}.view-badge{display:none}}@media (max-width: 800px){.properties{display:none}.browser{width:168px}.phase{display:none}.brand{gap:7px}.document-title{display:none}.welcome{width:290px}.welcome h1{font-size:30px}nav button{padding:0 10px}.save-status{margin-right:0}.coordinates{display:none}}.auth-screen{min-height:100dvh;background:radial-gradient(ellipse at 50% 45%,#26382d,#171e1b 35%,#121619 75%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.auth-brand{display:flex;gap:10px;align-items:center;margin-bottom:35px;color:#b4d4c1}.auth-brand strong{font-size:21px;color:#e4ece7;letter-spacing:-.5px}.auth-brand>span{font-size:10px;color:#7e9589;border-left:1px solid #384c40;padding-left:13px;margin-left:6px}.auth-card{width:400px;max-width:95vw;background:#1c2420e8;border:1px solid #3b4e42;padding:32px;border-radius:12px;box-shadow:0 30px 90px #0004}.auth-symbol{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:1px solid #47614f;background:#2c4132;border-radius:13px;color:#acceba;margin-bottom:25px}.auth-card h1{font-size:25px;font-weight:400;letter-spacing:-.6px;color:#e0eae3;margin:15px 0}.auth-card p{font-size:11px;line-height:1.9;color:#8d9f93}.auth-card>small{display:block;text-align:center;color:#6c8575;font-size:9px;margin-top:24px}.auth-error{color:#e8b5a5!important;background:#4b302b;border:1px solid #764d41;border-radius:5px;padding:10px;font-size:11px}.account-name{color:#91a69a;font-size:10px;margin-left:8px}.admin-modal{width:760px;text-align:left}.user-list{margin:24px 0}.user-row{display:flex;gap:10px;align-items:center;border-bottom:1px solid #35413a;padding:14px 0}.user-row>div{flex:1;min-width:100px}.user-row strong{display:block;font-size:12px;font-weight:500}.user-row small{display:block;margin-top:5px;font-size:10px;color:#869c8e}.user-row select{width:130px;font-size:10px}.user-row .secondary{font-size:10px;padding:8px}.user-row .text-button{font-size:9px}.admin-create{border-top:1px solid #3c4941;padding-top:12px}.admin-create h3{font-size:13px;font-weight:500}.admin-create form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.admin-create .primary{align-self:center;margin-top:15px}.reset-form{display:flex;gap:10px;padding:10px;border:1px solid #526957;border-radius:5px}.reset-form input{flex:1}.drafting{background:#fff}.drafting .canvas-hint{color:#66717d;background:#ffffffd9;padding:6px 12px;border-radius:4px}.viewport:has(.drafting) .view-heading{color:#616773}.viewport:has(.drafting) .view-badge{border-color:#c7cbd2;background:#fff;color:#616773}.dimension-label{cursor:text}.dimension-label:hover text{fill:#383397}.dimension-label:hover rect{stroke:#7774b4;stroke-width:.3}.constraint-symbol{pointer-events:none}.live-dimension,.dimension-edit{height:7px;background:#fff;border:.25px solid #222;color:#121212;display:flex;align-items:center;font-family:Arial,sans-serif;font-size:3.8px;box-sizing:border-box}.live-dimension input,.dimension-edit input{width:100%;min-width:0;padding:0 1px;border:0!important;border-radius:0;font-size:3.8px;line-height:6px;height:6px;color:#101010;background:#fff;outline:none!important;font-family:Arial,sans-serif}.live-dimension input:focus,.dimension-edit input:focus{background:#edf2ff}.live-dimension span{font-size:3px;padding-right:1px;white-space:nowrap}.dimension-edit button{font-size:3.5px;padding:0 1px;height:6px;background:#edf0f4;color:#222}.polygon-sides{display:flex;align-items:center;gap:3px;font-size:4px;color:#222;background:#fff;padding:1px;border:.3px solid #bbb}.polygon-sides input{font-size:4px;width:17px;padding:.5px;color:#222;background:#fff;border:.2px solid #777}.sketch-ribbon-group{display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0}.sketch-command-row{display:flex;align-items:stretch;gap:4px;flex:1}.ribbon-group-caption{color:#78858f;font-size:8px;letter-spacing:1px;align-self:center;margin-top:7px}.ribbon:has(.sketch-ribbon-group){height:105px;padding:8px 16px;gap:4px;overflow-x:auto}.tool.compact{min-width:48px;padding:5px 6px;gap:7px;font-size:9px}.mode-picker{align-self:center;min-width:134px;display:block;margin:0 7px}.mode-picker>span{display:block;font-size:9px;color:#8b9da8;margin-bottom:5px}.mode-picker select{padding:6px 7px;font-size:10px}.relation-shortcuts{display:grid;grid-template-columns:repeat(2,24px);gap:3px;align-self:center}.relation-shortcuts button{border:1px solid #3c4951;border-radius:3px;font-size:10px;height:23px}.relation-shortcuts .active,.snap-switches button.active{background:#304538;color:#c6e4d0;border-color:#50705b}.snap-switches{display:grid;grid-template-columns:repeat(2,95px);gap:4px;align-self:center;margin:5px 7px}.snap-switches button{font-size:9px;justify-content:flex-start;border:1px solid #3b4851;padding:5px;border-radius:3px}.grid-step{font-size:9px;display:flex;gap:5px;align-items:center;color:#8fa19b}.grid-step input{padding:4px 5px;width:55px;font-size:9px}.ribbon:has(.sketch-ribbon-group) .finish{min-width:105px;font-size:10px;flex-shrink:0;padding:0 9px;white-space:normal}.relationship-title{display:block;margin:22px 0 10px}.relation-entry{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #343f46;padding:8px 0;font-size:10px;color:#a7b9c3}.relation-entry button{padding:3px;color:#9fb0b9}.construction-toggle{display:flex;align-items:center;gap:7px;font-size:10px;color:#9aaca3;margin-top:17px}.construction-toggle input{width:auto}.properties:has(.relationship-title) .property-footer{position:static;margin-top:30px}.properties:has(.relationship-title){padding-bottom:20px}.constraint-card.conflict{border-color:#81524a;background:#432e29;color:#e6b8a8}.constraint-card.conflict small{color:#d3a79d}.sketch-dof{color:#9cb9a8;white-space:nowrap}.sketch-navigation{position:absolute;right:18px;bottom:60px;display:flex;flex-direction:column;background:#f6f7f9;border:1px solid #cbd1d7;border-radius:5px;padding:4px;gap:3px}.sketch-navigation button{color:#465564;padding:7px}.sketch-navigation button:hover{background:#e0e7ed;color:#202a32}.quick .space-connected{color:#b3d8c0;background:#293d31;border-radius:4px}.space-status{display:flex;align-items:center;gap:10px;border:1px solid #3d5147;background:#25372c;border-radius:5px;padding:13px;color:#b7d8c3;font-size:12px}.space-axes{display:flex;flex-direction:column;gap:11px;margin:22px 0}.space-axes label{display:flex;align-items:center;gap:8px;font-size:10px;color:#9cb1a3}.space-axes label>span:first-child{width:62px}.space-axes meter{flex:1;min-width:40px}.space-axes input{width:auto}.space-axes label>span:nth-of-type(2){font-variant-numeric:tabular-nums;width:30px}.space-modal .construction-toggle{margin:18px 0}.space-modal input[type=range]{padding:0;accent-color:#a0c3ac}:root{--cad-background: #16191d;--cad-dimensions: #c6cdd5}.drafting{background:var(--cad-background)}.drafting .canvas-hint{background:var(--cad-background);color:var(--cad-dimensions)}.viewport:has(.drafting) .view-heading,.viewport:has(.drafting) .view-badge{color:var(--cad-dimensions)}.viewport:has(.drafting) .view-badge{background:var(--cad-background);border-color:var(--cad-grid)}.live-dimension,.dimension-edit,.live-dimension input,.dimension-edit input{background:var(--cad-background);color:var(--cad-dimensions);border-color:var(--cad-dimensions)}.live-dimension input:focus,.dimension-edit input:focus{background:#283b50;color:#fff}.dimension-label:hover text{fill:var(--cad-selected)}.dimension-drag-handle{cursor:move;pointer-events:stroke;touch-action:none}.native-tool-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}.icon-tool-menu{position:relative}.icon-tool-menu>button{border:1px solid #3c4651;border-radius:4px;background:#171c22;padding:7px;width:160px;font-size:10px;justify-content:flex-start}.icon-tool-menu>button>span{flex:1;text-align:left}.icon-menu-popover{position:fixed;z-index:35;background:#20262e;border:1px solid #4a5661;border-radius:6px;padding:5px;min-width:210px;box-shadow:0 12px 35px #0008;max-height:65vh;overflow:auto}.icon-menu-popover button,.quick-tool-popover button,.sketch-context button{display:flex;width:100%;justify-content:flex-start;padding:7px 10px;text-align:left;font-size:11px;border-radius:4px}.sketch-quick-tools{position:absolute;bottom:58px;right:65px;z-index:8}.quick-category-row{display:flex;gap:2px;background:#222a33;border:1px solid #48535d;padding:5px;border-radius:7px}.quick-category-row button{padding:9px 7px;color:#c3cdd5}.quick-category-row button[aria-expanded=true]{background:#344b40;color:#bfe3ce}.quick-tool-popover{position:absolute;bottom:54px;right:0;width:235px;background:#222a33;border:1px solid #48535d;border-radius:7px;padding:7px;box-shadow:0 12px 35px #0008}.quick-tool-popover strong,.sketch-context strong{display:block;font-size:10px;color:#859ca9;padding:6px 9px 10px}.quick-tool-popover .active{background:#344b40}.sketch-context{position:fixed;z-index:40;width:225px;background:#222a33;border:1px solid #52616d;border-radius:7px;padding:6px;box-shadow:0 15px 40px #0009}.context-divider{height:1px;background:#45515b;margin:5px}.color-setting{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:11px}.color-setting>span{flex:1}.color-setting input{width:45px;height:28px;padding:2px}.color-setting code{font-size:10px;color:#899da8}.constraint-symbol svg{overflow:visible}.sketch-navigation{background:#222a33;border-color:#48535d}.sketch-navigation button{color:#aebec9}.plane-pick-hint{position:absolute;bottom:28px;left:50%;transform:translate(-50%);padding:10px 16px;border:1px solid #49515a;border-radius:6px;background:#20252be8;color:#d5dbe1;pointer-events:none;white-space:nowrap}.work-plane-label{font-size:12px;white-space:nowrap;background:#16191dcc;padding:3px 6px;border-radius:3px}.properties[hidden]{display:none}.ribbon-draw-main{min-width:56px;gap:7px}.ribbon-draw-variants{display:grid;grid-template-rows:repeat(3,23px);grid-auto-flow:column;gap:1px 5px}.ribbon-draw-variants button{display:flex;align-items:center;gap:5px;padding:2px 5px;border:1px solid transparent;border-radius:3px;background:transparent;font-size:10px;white-space:nowrap;text-align:left}.ribbon-draw-variants button:hover,.ribbon-constraint-grid button:hover{background:#303b45;border-color:#596b7a}.ribbon-draw-variants button.active,.ribbon-constraint-grid button.active{background:#314d65;border-color:#698ead;color:#d9eaff}.ribbon-constraint-grid{display:grid;grid-template-columns:repeat(4,25px);grid-template-rows:repeat(3,23px);gap:1px}.ribbon-constraint-grid button{display:flex;align-items:center;justify-content:center;padding:2px;border:1px solid #404a54;border-radius:2px;background:#222930}.profile-state{position:absolute;top:48px;left:32px;z-index:2;pointer-events:none;color:#94aba0;font-size:10px}.sketch-area [data-edge-index],.sketch-area [data-point-ref]{cursor:grab}.space-axis-overlay{position:absolute;bottom:46px;left:22px;width:265px;padding:12px;border:1px solid #475563;border-radius:7px;background:#20272eef;font-size:10px;pointer-events:none;z-index:5}.space-axis-overlay>strong{display:block;margin-bottom:9px;color:#c8d8e5}.space-axis-overlay>div{display:grid;grid-template-columns:24px 1fr 35px;gap:4px;padding:4px;border-radius:3px;color:#8c9ba7}.space-axis-overlay>div[data-active=true]{background:#513a23;color:#ffb364}.space-axis-overlay output{text-align:right;font-variant-numeric:tabular-nums}.space-axis-overlay small{display:block;margin-top:8px;line-height:1.4;color:#b4bec8}.axis-track{grid-column:1 / -1;position:relative;height:3px;background:linear-gradient(to right,#3a444e 49.5%,#a5b6c4 49.5%,#a5b6c4 50.5%,#3a444e 50.5%)}.axis-track i{position:absolute;height:3px;background:#ff962f}.space-overlay-setting{display:flex;gap:7px;align-items:center;font-size:11px;margin-bottom:12px}.extrusion-panel{position:fixed;right:30px;top:225px;width:325px;max-height:calc(100vh - 260px);overflow:auto;padding:14px;background:#232a31;border:1px solid #596674;border-radius:9px;box-shadow:0 12px 40px #0007;z-index:45;font-size:11px}.extrusion-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.extrusion-panel button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border:1px solid #47535e;border-radius:4px;background:#2b343d;font-size:11px}.extrusion-panel .active{background:#34536e;border-color:#7199b9;color:#e5f2ff}.extrusion-panel select{width:100%;background:#171e24;color:#d1dce5;border:1px solid #4b5b69;border-radius:4px;padding:6px;font-size:11px}.extrusion-panel .field{margin:10px 0}.extrusion-panel .field input{width:100%;box-sizing:border-box}.extrusion-tabs{display:flex;gap:4px;padding-bottom:10px;border-bottom:1px solid #46515c;margin-bottom:10px}.extrusion-profile-pick{width:100%;margin-bottom:7px}.extrusion-profile-pick span{margin-left:auto;font-size:10px;color:#b0c2d1}.extrusion-output,.extrusion-directions{display:flex;gap:5px;margin:12px 0}.extrusion-output button{flex:1}.extrusion-face-field{margin:10px 0}.extrusion-face-field button{margin-bottom:5px}.extrusion-panel footer{border-top:1px solid #46515c;padding-top:10px;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.extrusion-panel footer span{flex-basis:100%;font-size:10px;color:#a9bbca}.extrusion-error{color:#ffb49f;line-height:1.4}.extrusion-hint{color:#a0b4c4;line-height:1.4}.profile-pick-label{font-size:11px;background:#1b232be0;color:#ffb064;border:1px solid #b47a40;border-radius:4px;padding:4px 7px;white-space:nowrap}.extrusion-panel header{height:auto;padding:0 0 9px;background:transparent}.extrusion-panel footer{height:auto;padding:10px 0 0;background:#232a31}.extrusion-panel .field{margin:8px 0}.extrusion-panel input[type=number]{min-height:28px;padding:5px 7px}.orientation-anchor{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.orientation-axes{position:absolute;bottom:12px;left:13px;width:95px;height:95px;pointer-events:none;z-index:3}.space-axis-overlay{bottom:125px}.space-axis-heading{display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:space-between;padding:0!important;margin-bottom:6px;color:#c8d8e5!important}.space-axis-heading button{pointer-events:auto;display:flex;padding:3px;border:1px solid #485564;border-radius:3px;background:#2b3540;cursor:pointer}.space-axis-overlay>div:not(.space-axis-heading)>div.axis-track{grid-column:1 / -1}.file-manager{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;background:#171d23;color:#d3dde6;font-size:12px}.file-manager button{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:4px;background:transparent;text-align:left;color:inherit;cursor:pointer;font-size:12px}.file-manager button:hover{background:#303d49}.file-manager .primary{background:#345979;color:#edf6ff;border:1px solid #6086a8}.library-header{height:64px;padding:0 24px;display:flex;align-items:center;gap:20px;border-bottom:1px solid #40505c;background:#202a33}.library-header strong{display:flex;align-items:center;gap:10px;white-space:nowrap}.library-header>span{margin-left:auto;color:#8eabc0}.library-search{display:flex;align-items:center;gap:8px;margin-left:35px;width:min(450px,35vw);background:#121a20;border:1px solid #455867;border-radius:5px;padding:3px 10px}.library-search input{border:0;background:transparent;width:100%;color:#d3dde6;padding:6px}.library-body{display:flex;min-height:0;flex:1}.library-sidebar{width:220px;flex-shrink:0;padding:18px 12px;border-right:1px solid #3d4b57;background:#1c242c;overflow:auto}.library-sidebar>button{display:flex;width:100%;margin:3px 0}.library-sidebar .active{background:#314e67;color:#cfe8ff}.library-sidebar>button>span:not(.library-count){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-count{margin-left:auto;font-size:10px;color:#9cabb8}.library-create{position:relative;margin-bottom:24px}.library-create>.primary{width:100%;justify-content:center}.library-create-menu{position:absolute;left:0;top:38px;z-index:3;background:#26333e;padding:5px;width:205px;border:1px solid #4e6476;box-shadow:0 6px 18px #0006}.library-create-menu button{width:100%}.library-project-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 5px 8px;color:#90a9bc;text-transform:uppercase;font-size:10px}.library-content{flex:1;min-width:0;padding:24px;overflow:auto}.library-content-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.library-content h2{margin:0;font-size:19px;font-weight:500}.library-import{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #4e6273;border-radius:4px;cursor:pointer}.library-import input{display:none}.library-recent h3{display:flex;align-items:center;gap:8px;font-size:11px;color:#9eb6c9;font-weight:500}.library-recent>div{display:flex;flex-wrap:wrap;gap:12px}.library-recent button{border:1px solid #394d5c;width:240px;background:#202c36}.library-recent img{width:70px;height:55px;object-fit:contain}.library-recent button>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-project-cards{display:flex;gap:12px;flex-wrap:wrap;padding:24px 0;border-bottom:1px solid #40515f;margin-bottom:15px}.library-project-cards button{border:1px solid #3f5363;min-width:145px}.library-table-wrap{overflow-x:auto}.file-table{width:100%;border-collapse:collapse;font-size:12px}.file-table th{text-align:left;padding:12px 10px;color:#8da7bb;border-bottom:1px solid #526675;font-weight:500}.file-table td{padding:6px 10px;border-bottom:1px solid #2e3e4b;color:#b3c4d1}.file-table tr{cursor:default}.file-table tr:hover{background:#24313c}.file-table tr[aria-selected=true]{background:#2e4e69}.library-file-name{display:flex;align-items:center;gap:14px;min-width:210px}.library-file-name img{width:60px;height:44px;object-fit:contain}.library-file-name small{display:block;margin-top:5px;color:#95adbf;font-size:10px}.library-status{margin-top:20px;color:#7690a3;font-size:10px}.library-empty{padding:40px 10px;color:#819cb0}.library-context{position:fixed;z-index:85;padding:5px;min-width:235px;max-width:300px;max-height:calc(100vh - 16px);overflow:auto;background:#25323d;border:1px solid #557087;box-shadow:0 8px 25px #0008;border-radius:5px}.library-context button{display:flex;width:100%;font-size:11px;padding:7px 9px}.library-context hr{border:0;border-top:1px solid #43586a;margin:4px 0}.library-error{color:#ffc1af;padding:9px;background:#482c28;border:1px solid #825047;border-radius:4px}.library-form-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;background:#080d1477;display:flex;align-items:center;justify-content:center}.library-form{position:relative;width:420px;max-height:80vh;overflow:auto;padding:24px;border:1px solid #5c7588;border-radius:8px;background:#24323d;box-shadow:0 12px 40px #0008}.library-form h3{margin:0 0 22px;font-size:17px}.library-form-close{position:absolute;top:10px;right:10px}.library-form label{display:block;color:#a8bdcc}.library-form input,.library-form select{display:block;width:100%;box-sizing:border-box;margin-top:9px;padding:8px;border:1px solid #5a7284;border-radius:4px;background:#141e26;color:#d9e5ee}.library-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.library-form dt{color:#7e9aaf;margin:14px 0 4px;font-size:10px}.library-form dd{margin:0}.library-versions>div{padding:12px 0;border-bottom:1px solid #4a6071}.library-versions strong,.library-versions span{display:block;margin-bottom:8px}.library-versions span{font-size:10px;color:#8ca7bb}@media (max-width:800px){.library-sidebar{width:160px}.library-header{gap:8px;padding:0 12px}.library-search{margin-left:0}.library-header>span{display:none}.library-content{padding:14px}}.sketch-orientation{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.model-selection-tools{position:absolute;bottom:94px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#26333fee;border:1px solid #587288;border-radius:6px;padding:9px 13px;z-index:8;font-size:11px}.model-selection-tools button{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #6b8fa9;border-radius:4px;background:#34536d}.model-selection-tools small{color:#9bb1c2}.history-inactive>.tree-row,.history-inactive>div>.tree-row{opacity:.4}.history-feature{border-left:1px solid transparent}.history-feature:has(+.history-feature){margin-bottom:2px}.history-feature .tree-row.sub{margin-left:20px;width:calc(100% - 20px);border-left:1px solid #3c4e5b}.history-end{display:flex;align-items:center;gap:7px;margin:8px 0;padding:7px 8px;border:1px dashed #685455;border-radius:4px;color:#d2a3a3;font-size:11px;cursor:grab}.history-end>span{flex:1}.history-end>button{display:flex;padding:2px;background:#2b333d;border-radius:3px}.history-drop-end{min-height:12px;padding-bottom:8px}.history-drop-end>span{display:block;padding:7px;color:#748895;font-size:10px;border:1px dashed #344651}.history-feature:hover{border-left-color:#657c8e}.library-context button{text-align:left;justify-content:flex-start}.share-users{max-height:360px;overflow:auto}.share-users label{display:flex;align-items:center;gap:10px;margin:8px 0}.share-users input{width:auto}.hover-dimension{display:block;white-space:nowrap;font-size:12px;line-height:18px;padding:0 3px;color:var(--cad-dimensions);background:var(--cad-background);border-radius:2px;pointer-events:none}.solid-feature-panel{max-height:calc(100vh - 190px);overflow:auto}.solid-feature-panel header strong{display:flex;align-items:center;gap:8px}.solid-feature-panel p{font-size:12px;line-height:1.5}.shell-faces{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:140px;overflow:auto}.settings-window{width:min(800px,95vw);height:min(650px,90vh);background:#353535;color:#ddd;display:flex;flex-direction:column;border:1px solid #545454;box-shadow:0 16px 60px #0009;font-size:12px}.settings-window>header{display:flex;align-items:center;justify-content:center;position:relative;height:25px;background:#3d3d3d;flex-shrink:0}.settings-window>header button{position:absolute;right:2px;top:1px;padding:2px;border:0;background:none}.settings-layout{display:flex;flex:1;min-height:0;gap:7px;padding:4px 4px 0 0}.settings-layout>aside{width:180px;flex-shrink:0;border-right:4px solid #292929;padding:0 4px 0 1px}.settings-layout>aside>button{display:block;text-align:left;width:100%;border:0;background:none;border-radius:2px;padding:7px 9px;margin:2px 0;font-size:12px}.settings-layout>aside>button.active{background:#4c6a88;color:#fff}.settings-search{display:flex;gap:4px;align-items:center;background:#222;padding:2px 5px;margin-bottom:6px;border-radius:2px}.settings-search input{background:none;border:0;min-width:0;padding:1px;width:100%;font-size:12px}.settings-layout>main{display:flex;flex-direction:column;flex:1;min-width:0}.settings-layout h2{font-size:14px;font-weight:400;margin:9px 4px 15px}.settings-scroll{border-top:5px solid #292929;overflow:auto;flex:1;padding:12px 20px}.settings-scroll h3{font-size:12px;margin:4px 0 12px;color:#bbc5ce}.settings-scroll p{line-height:1.6;margin:8px 0 18px}.settings-scroll .color-setting{padding:6px 0;border-bottom:1px solid #444}.settings-scroll .color-setting input{width:34px;height:24px;padding:1px}.settings-check{display:flex;gap:7px;align-items:center;margin:10px 0}.settings-slider{display:flex;gap:10px;align-items:center;margin:15px 0}.settings-slider input{width:130px}.settings-window>footer{display:flex;justify-content:flex-end;padding:12px}.settings-window>footer button{font-size:12px;background:#484848;border:0;padding:4px 14px}.settings-scroll dt{font-weight:600;margin-top:14px}.settings-scroll dd{margin:5px 0}@media (max-width:600px){.settings-layout>aside{width:130px}.settings-scroll{padding:10px}}button svg.lucide{stroke-width:1.4;color:#9cbfe8}.edge-group-panel{width:380px;max-height:calc(100vh - 190px);overflow:auto}.edge-group-table{border:1px solid #48525c;margin:8px 0}.edge-group-table>div{display:grid;grid-template-columns:1fr 90px 25px;gap:6px;align-items:center;padding:5px}.edge-group-table>div.active{background:#36516b}.edge-group-table button{text-align:left;font-size:12px}.edge-group-table b{font-size:12px}.extrusion-directions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.extrusion-directions button{display:flex;gap:5px;align-items:center;justify-content:flex-start;font-size:11px;padding:6px}.extrusion-reference-note{font-size:11px;line-height:1.5;color:#bdcbd7}.auth-screen.auth-login{display:grid;grid-template-columns:52.5% 47.5%;width:100%;height:100dvh;min-height:0;padding:0;background:#30383e;align-items:stretch;justify-content:stretch;color:#eef3f5;overflow:auto}.login-story{position:relative;min-height:100dvh;overflow:hidden;background:#222b30;padding:40px 5.2%;display:flex;flex-direction:column;justify-content:center}.login-brand{position:absolute;top:40px;left:5.2%;display:flex;align-items:center;gap:12px;letter-spacing:.8px;font-size:15px}.login-brand svg{color:#9dc2d0}.login-message{position:relative;z-index:1;margin-top:40px}.login-message>span{font-size:10px;letter-spacing:2.5px;font-weight:700;color:#d4b15d}.login-message h2{font-size:clamp(36px,3.1vw,66px);line-height:1.16;letter-spacing:-1.8px;font-weight:650;margin:28px 0 22px;color:#f5f7f8}.login-message p{font-size:15px;line-height:1.8;color:#a9c4d0;margin:0}.login-story>small{position:absolute;bottom:35px;left:5.2%;font-size:10px;color:#9ab1bf}.login-blueprint{position:absolute;width:350px;right:-65px;bottom:-115px;stroke:#38505a;stroke-width:1.3;opacity:.6}.login-form-side{display:flex;align-items:center;justify-content:center;padding:45px 30px;min-height:100dvh}.auth-login .auth-card{width:350px;max-width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:none}.login-cube{width:145px;height:145px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center}.login-cube svg{width:128px;height:128px}.auth-login .eyebrow{color:#a2b9c6;font-size:10px;letter-spacing:2px}.auth-login .auth-card h1{font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-.7px;margin:19px 0 12px;color:#f0f4f6}.auth-login .auth-card p{font-size:12px;line-height:1.7;color:#a9bec9;margin:0 0 24px}.auth-login .field{display:block;margin:0 0 20px}.auth-login .field>span{display:block;font-size:12px;color:#b9c9d0;margin:0 0 6px}.auth-login .field input{width:100%;height:42px;min-width:0;padding:9px 11px;border:1px solid #59666e;border-radius:0;background:#2d353b;color:#f4f7f9;box-shadow:none;font-size:14px}.auth-login .field input:focus{outline:2px solid #d5b360;outline-offset:2px;border-color:#8999a1}.login-password{position:relative}.auth-login .login-password input{padding-right:45px}.login-password button{position:absolute;right:3px;top:3px;width:36px;height:36px;border:0;background:none;padding:8px;color:#99b0be;touch-action:none;-webkit-user-select:none;user-select:none}.login-password button svg.lucide{color:inherit}.login-password button[aria-pressed=true]{color:#e4c574}.login-password button:focus-visible{outline:2px solid #d5b360}.auth-login button.primary{display:flex;align-items:center;justify-content:space-between;width:100%;height:44px;padding:10px 13px;border:1px solid #749fb2;background:#4d788c;color:#fff;border-radius:0;margin-top:33px;font-size:12px;box-shadow:none}.auth-login button.primary:hover{background:#5b889b}.auth-login button.primary svg{color:#fff}.auth-login .auth-card>small{text-align:left;margin-top:26px;color:#a9b9c1;font-size:10px;line-height:1.7}.auth-login .auth-error{padding:10px!important;color:#f3c5b8!important;margin:10px 0!important}@media (max-width:760px){.auth-screen.auth-login{display:flex;flex-direction:column;height:100dvh}.login-story{min-height:220px;padding:65px 28px 26px;justify-content:flex-end}.login-brand{top:22px;left:28px}.login-message{margin:0}.login-message>span{font-size:8px}.login-message h2{font-size:32px;margin:14px 0 10px;letter-spacing:-1px}.login-message h2 br{display:none}.login-message p{font-size:12px}.login-story>small{display:none}.login-blueprint{width:200px;right:-40px;bottom:-100px}.login-form-side{min-height:0;padding:30px 28px 45px;flex:1}.login-cube{width:80px;height:80px;margin-bottom:18px}.login-cube svg{width:76px;height:76px}.auth-login .auth-card h1{font-size:25px}}
