@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#203246;background:#f5f7f8;font-synthesis:none;font-size:13px;--navy: #19364b;--blue: #285d9b;--border: #e3e8ec;--muted: #8a97a3}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:#fff;border:1px solid var(--border);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;transition:background .15s,border-color .15s}button:hover{background:#f0f4f7;border-color:#c3cfd9}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #5088be;outline-offset:2px}input,select{color:#25384a}.app{height:100dvh;min-height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.app>header{height:52px;min-height:48px;max-height:56px;background:#fff;display:flex;align-items:center;flex-wrap:nowrap;padding:0 10px;border-bottom:1px solid var(--border);gap:8px;min-width:0}.brand{display:flex;align-items:center;flex-shrink:0;gap:7px;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:.6px;color:#193348;text-decoration:none}.brand-word{display:inline-flex;align-items:center;gap:4px}.brand-icon{display:grid;place-items:center;background:#1c3c50;color:#fff;border-radius:6px;width:28px;height:28px}.brand-3d{font-size:9px;letter-spacing:0;font-weight:700;background:#edf2f5;color:#6c8290;padding:2px 4px;border-radius:3px}.header-title{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto}.header-title .crumb{border:0;background:transparent;color:#6f8190;font-size:11px;padding:4px 2px;flex:0 1 auto;min-width:0;max-width:9.5rem;white-space:nowrap}.header-title .crumb svg{flex-shrink:0}.header-title>svg{flex-shrink:0;color:#b0bcc6}.header-title input{font-family:Manrope,sans-serif;font-size:14px;font-weight:750;letter-spacing:-.3px;background:transparent;border:0;min-width:0;flex:1 1 72px;width:auto;padding:2px 4px}.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.header-actions .save-button,.header-actions .export-button{height:32px;padding:0 10px;font-size:12px;white-space:nowrap}.header-menu{position:relative}.menu-button{width:32px;height:32px}.header-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:220px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #1e3b4f1c;display:flex;flex-direction:column;align-items:stretch}.header-menu-panel button{justify-content:flex-start;border:0;width:100%;padding:8px 10px;font-size:12px}.header-menu-panel p{margin:4px 0 0;padding:8px 10px 4px;border-top:1px solid var(--border);color:#7c8d99;font-size:11px;display:flex;align-items:center;gap:7px}.header-divider{height:24px;width:1px;background:var(--border)}.workspace-name{font-size:12px;color:#6e7e8b}.version{font-size:9px;letter-spacing:1px;color:#80919f;background:#f3f5f7;padding:4px 6px;border-radius:3px}.header-right{margin-left:auto;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:flex-end;min-width:0}.local{font-size:11px;color:#7c8d99;display:flex;gap:7px;align-items:center}i,.valid-dot,.error-dot{width:6px;height:6px;background:#539d86;border-radius:100%;display:inline-block}.header-right button{border:0;font-size:12px;flex-shrink:0}.avatar{height:30px;width:30px;border-radius:50%;background:#e9eff2;display:grid;place-items:center;font-size:10px;font-weight:700}.projectbar{min-height:72px;height:auto;padding:12px clamp(12px,2vw,28px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#fff;border-bottom:1px solid var(--border)}.projectbar>div:first-child{min-width:0;flex:1 1 220px}.breadcrumb{display:flex;gap:8px;align-items:center;font-size:10px;color:#8b97a2}.project-title{display:flex;gap:13px;align-items:center;margin-top:6px;min-width:0}.project-title input{font-family:Manrope,sans-serif;font-size:clamp(16px,2vw,21px);font-weight:750;letter-spacing:-.5px;background:transparent;border:0;width:min(22rem,100%);min-width:0;max-width:100%;padding:0}.draft{font-size:9px;letter-spacing:1px;background:#f0f3f5;color:#7e8a95;padding:4px 7px;border-radius:3px}.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;min-width:0}.primary{background:#1d4058;color:#fff;border-color:#1d4058}.primary:hover{background:#2e556f;color:#fff}.separator{display:block;width:1px;height:23px;background:var(--border);margin:0 6px}.icon-button{height:31px;width:31px;padding:0;background:transparent;border-color:transparent;color:#788995}.icon-button.active{background:#e8eff7;color:#285d9b}.project-actions>.icon-button{width:29px}.project-actions>button:not(.icon-button){font-size:12px;padding:10px 15px}.app>main{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(220px,280px);flex:1;min-height:0;min-width:0;overflow:hidden}.left-panel,.right-panel{background:#fff;display:flex;flex-direction:column;min-height:0;min-width:0}.left-panel{border-right:1px solid var(--border)}.right-panel{border-left:1px solid var(--border)}.panel-title{height:40px;min-height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--border)}h2{font-size:12px;margin:0;font-weight:650}.panel-title>svg{color:#778b9b}.panel-title>span{margin-left:auto;color:#a1aeb8;font-size:10px}.panel-title .count{font-size:10px;background:#eef2f5;padding:3px 6px;border-radius:4px;color:#648096}.panel-scroll,.right-scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#dce3e8 transparent;flex:1}.panel-scroll section{padding:0;border-bottom:1px solid var(--border)}.config-section .section-head{display:flex;align-items:center;gap:8px;min-height:34px;padding:2px 8px 2px 4px}.config-section .section-head>button{flex:1;justify-content:space-between;border:0;background:transparent;padding:6px 8px;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#7a8c99}.config-section .section-head>button[aria-expanded=false] svg{transform:rotate(-90deg)}.config-section .section-head select{height:26px;border:1px solid #dce3e8;border-radius:4px;background:#fbfcfd;color:#4d6272;font-size:11px;padding:0 6px}.section-body{padding:0 12px 8px}.section-caption{font-size:9px;font-weight:700;letter-spacing:1.25px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:16px;color:#7a8c99}.section-caption>span{font-size:10px;letter-spacing:0;background:#f0f3f5;padding:2px 5px}.field{display:block;margin:0 0 7px}.field>span{font-size:11px;display:block;color:#6f7e8a;margin-bottom:3px}.field>div{display:flex;align-items:center;border:1px solid #dce3e8;border-radius:5px;background:#fbfcfd;height:30px}.field input{width:100%;min-width:0;border:0;background:transparent;padding:8px 10px;font-size:12px;font-weight:500;outline:none}.field input::-webkit-inner-spin-button{opacity:0}.field:hover input::-webkit-inner-spin-button{opacity:1}.field small{font-size:10px;color:#8b9aa6;padding-right:11px;white-space:nowrap}.field select{width:100%;border:1px solid #dce3e8;border-radius:5px;background:#fbfcfd;padding:9px;font-size:11px}.template-button{width:100%;border-style:dashed;font-size:10px;color:#5c748a;background:#fbfcfd;margin-top:2px;justify-content:space-between}.dimension-note{display:flex;gap:7px;color:#99a5ae;font-size:10px;margin-top:10px}.field-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:10px}.material-swatch{display:flex;gap:10px;align-items:center;margin-top:12px;font-size:11px}.material-swatch>div{width:36px;height:30px;border-radius:4px;background:repeating-linear-gradient(3deg,#d4b483,#e9d2af 4px,#e3c496,#d5b484 6px)}.material-swatch small{display:block;font-size:9px;color:#98a3ab;margin-top:3px}.validation{padding:8px 12px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--border);font-size:10px;background:#fbfcfc;min-width:0}.validation>div{min-width:0;overflow-wrap:anywhere}.validation small{display:block;color:#94a2ab;font-size:9px;margin-top:4px}.validation>svg{margin-left:auto;color:#58917c}.error-dot{background:#d37955}.center-panel{display:flex;flex-direction:column;min-width:0;min-height:0}.canvas-tabs{min-height:53px;height:auto;display:flex;align-items:stretch;flex-wrap:wrap;background:#fff;border-bottom:1px solid var(--border);padding:0 18px;gap:8px 18px}.canvas-tabs button{border:0;border-radius:0;padding:0 1px;color:#8b98a3;font-size:11px;position:relative;gap:7px}.canvas-tabs button.selected{color:#345c7c}.canvas-tabs button.selected:after{content:"";height:2px;background:#345c7c;position:absolute;bottom:0;left:0;right:0}.scale-label{font-size:9px;align-self:center;color:#5d7182;margin-left:auto;min-width:0;overflow-wrap:anywhere}.scale-label span{margin:0 8px}.viewport{isolation:isolate;position:relative;flex:1;min-height:280px;min-width:0;background:#edf0f2;overflow:hidden}.scene-host{position:absolute;inset:0}.scene-host[hidden]{display:none}.scene-host[hidden]~.explode-control,.scene-host[hidden]~.axis,.scene-host[hidden]~.view-hint,.scene-host[hidden]~.view-heading,.scene-host[hidden]~.view-tools{display:none}.view-heading{position:absolute;top:23px;left:24px;pointer-events:none}.view-heading>div{font-size:9px;letter-spacing:1.5px;color:#516775;display:flex;gap:7px;align-items:center;font-weight:700}.view-heading i{width:5px;height:5px;background:#507795}.view-heading>span{display:block;margin-top:7px;color:#91a0ab;font-size:10px}.view-tools{position:absolute;right:17px;top:20px;background:#fffffff2;border:1px solid #dce2e6;padding:4px;border-radius:7px;display:flex;flex-direction:column;box-shadow:0 2px 5px #243d4e06}.view-tools>span{height:1px;background:var(--border);margin:3px}.view-tools .icon-button{width:30px;height:32px}.part-marker{background:#396eaa;color:#fff;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:10px;border:2px solid white;box-shadow:0 2px 5px #263e5730;cursor:pointer}.dimension-label{font-size:10px;color:#587187;white-space:nowrap;background:#edf0f2dd;padding:3px 5px;border-radius:3px;pointer-events:none}.axis{position:absolute;bottom:44px;left:24px;width:60px;height:60px;color:#9daeb9}.axis>svg{position:absolute;left:8px;top:8px;stroke-width:1}.axis>span{position:absolute;font-size:9px}.axis-y{left:28px;top:-2px;color:#69917c}.axis-x{right:0;bottom:4px;color:#b57770}.axis-z{left:2px;bottom:5px;color:#668db5}.view-hint{position:absolute;left:24px;bottom:17px;max-width:min(280px,calc(100% - 280px));font-size:9px;color:#4f6474;pointer-events:none;overflow-wrap:anywhere;background:#edf0f2f2;border-radius:3px;padding:2px 4px;z-index:2}.explode-control{position:relative;display:flex;align-items:center;gap:6px;width:150px;height:32px;padding:0 4px;background:transparent;border:0;box-shadow:none;color:#5d7284;font-size:10px}.explode-control span{white-space:nowrap}.explode-control strong{font-size:10px;color:#497295;font-weight:500;font-variant-numeric:tabular-nums}.explode-control input{width:72px;min-width:0;height:3px;accent-color:#345f7c;margin:0;display:block;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:8px;color:#a2aeb7}.viewport-toolbar{min-height:40px;height:40px;border-top:1px solid #dfe5e9;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:2px;padding:0 8px;overflow-x:auto;overscroll-behavior-x:contain;max-width:100%}.viewport-toolbar .tool,.viewport-toolbar .separator,.viewport-toolbar .explode-control,.viewport-toolbar .scale-label{flex:0 0 auto}.tool{display:flex;flex-direction:row;gap:6px;background:transparent;border:0;padding:0 8px;border-radius:5px;min-width:0;color:#81909d;font-size:11px;height:32px;white-space:nowrap}.tool.active{background:#eaf0f5;color:#315d7b}.tool.view-active{color:#315d7b}.view-icon{width:16px;height:15px;border:1px solid currentColor;display:block}.view-icon.iso{transform:rotate(30deg) skew(-5deg);height:13px;width:13px}.view-icon.top{height:11px;margin:2px 0}.view-icon.side{height:9px;margin:3px 0}.view-icon.end{width:11px}.assembly-panel{padding:4px 12px 6px;background:#fafbfc;min-width:0;max-width:100%;max-height:min(30dvh,210px);overflow:auto}.assembly-panel.is-collapsed{overflow:hidden;padding-bottom:4px}.assembly-panel.is-collapsed .build-timeline,.assembly-panel.is-collapsed .steps,.assembly-panel.is-collapsed .assembly-instruction{display:none}.assembly-toggle{border:0;background:transparent;padding:4px 2px;font-size:11px;font-weight:600;color:#31485c}.assembly-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.assembly-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:32px}.assembly-instruction{overflow-wrap:anywhere;line-height:1.5}.assembly-title>span{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.assembly-title>small{font-size:9px;color:#95a2ac;margin-left:auto}.assembly-title>div{display:flex;gap:1px}.assembly-title .icon-button{height:24px;width:24px}.assembly-title .icon-button svg{width:12px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px;margin-top:13px}.steps>button{padding:10px 8px;flex:1;text-align:left;justify-content:flex-start;gap:7px;min-width:0;border-color:#e1e7eb}.step-number{color:#94a5b2;font-size:10px}.steps strong{display:block;font-size:9px;font-weight:600}.steps small{display:block;color:#5d7182;font-size:10px;margin-top:4px;line-height:1.35;overflow-wrap:anywhere}.steps svg{margin-left:auto;color:#a6b2bc;flex-shrink:0;width:10px}.steps .current{border-color:#6087a6;background:#edf3f8}.assembly-instruction{font-size:9px;line-height:1.6;color:#929fa9;margin-top:11px}.right-tabs{display:flex;padding:0 20px;gap:24px;border-bottom:1px solid var(--border);height:42px;min-height:42px}.right-tabs button{border:0;border-radius:0;padding:0;font-size:11px;color:#97a3ad}.right-tabs .selected{color:#3d627e;border-bottom:2px solid #3d627e}.cut-heading{padding:15px 18px 11px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#94a1ab}.cut-heading>div{display:flex;border:1px solid #e6ebef;border-radius:4px;padding:2px}.cut-heading button{border:0;padding:3px 7px;font-size:9px;color:#93a3b0;border-radius:3px}.cut-heading .chosen{background:#edf2f6;color:#42617b}.component-card{display:block;text-align:left;margin:0 15px 10px;width:calc(100% - 30px);padding:12px;border-color:#e4e9ed;border-radius:6px}.component-card:hover,.chosen-card{border-color:#9eb6c9;background:#fbfdff}.component-top{display:flex;align-items:center;gap:8px;min-width:0}.number{width:21px;height:21px;background:#edf2f6;color:#4e7693;border-radius:4px;display:grid;place-items:center;font-size:9px}.component-top strong{font-size:11px;font-weight:550;min-width:0;overflow-wrap:anywhere}.quantity{font-size:10px;color:#7b8c98;margin-left:auto}.component-preview{height:57px;overflow:hidden;display:flex;justify-content:center;margin:5px 0}.component-preview svg{height:63px;width:210px}.component-dims{font-size:11px;color:#516779}.component-dims span{color:#acb8c1;margin:0 4px}.component-dims small{font-size:9px;color:#95a4af;margin-left:3px}.component-material{color:#a0acb5;font-size:9px;margin-top:6px}.selection-details{padding:15px 19px;border-top:1px solid var(--border);margin-top:15px}.selection-details .section-caption{margin-bottom:10px}.selection-details>strong{font-size:11px}.selection-details p{font-size:10px;line-height:1.6;color:#91a0ac}.selection-actions{display:flex;gap:6px}.selection-actions button{font-size:10px;padding:7px 10px}.text-button{font-size:10px;margin-top:8px;border:0;color:#426b8b;padding:0}.material-summary{border-top:1px solid var(--border);padding:17px 19px;background:#fbfcfd}.material-summary>div:not(.capacity-note){display:flex;justify-content:space-between;margin-bottom:12px;font-size:10px;color:#81909c}.material-summary strong{color:#3d5669;font-size:13px;font-weight:600}.material-summary strong small{font-size:10px;font-weight:400;color:#91a0ac}.material-summary>small{font-size:8px;color:#9aa6af}.capacity-note{display:flex;gap:8px;border-top:1px solid var(--border);padding-top:12px;margin-top:14px;color:#a08b6c;font-size:9px;line-height:1.6}.capacity-note>span{width:14px;height:14px;flex-shrink:0;border:1px solid #b8a78f;border-radius:50%;display:grid;place-items:center;font-size:8px}.materials-panel{padding:17px}.materials-panel h3{font-size:12px;margin:0 0 20px}.materials-panel p{font-size:10px;color:#8999a5;line-height:1.6}.stock-group{margin:20px 0}.stock-group strong{display:block;font-size:11px}.stock-group small{font-size:10px;display:block;color:#8b9da9;margin:5px 0}.stock-bar{height:24px;margin:5px 0;background:#e6ecf0;border:1px solid #d7e0e7;position:relative;font-size:9px;display:flex;align-items:center;padding:4px;isolation:isolate}.stock-bar>span{height:100%;background:#c7d8e7;position:absolute;left:0;top:0;z-index:-1}.error-text{color:#b36745!important}.drawing-sheet{overflow:auto;height:100%;padding:24px;background:#e7ecef}.drawing-sheet>svg{width:100%;height:auto;box-shadow:0 3px 12px #1d3a4c17}.invalid-state,.fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:30px;text-align:center}.invalid-state h2{font-size:17px;margin:15px}.invalid-state p{font-size:12px;color:#a17157}.app>footer{min-height:31px;height:auto;background:#fff;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:8px clamp(12px,2vw,22px);font-size:11px;color:#4f6474;letter-spacing:.1px}.app>footer>span{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0;overflow-wrap:anywhere}.app>footer i{width:5px;height:5px}.app>footer b{font-weight:400;margin:0 5px}.footer-credit a{color:inherit;text-decoration:none}.footer-credit a:hover{color:var(--navy);text-decoration:underline}.footer-version{margin-left:9px;color:#b1bac1}.toast{position:fixed;z-index:120;bottom:calc(45px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:#233f53;color:#fff;border-radius:7px;padding:13px 21px;display:flex;align-items:center;gap:10px;box-shadow:0 5px 25px #122c4830;z-index:100;font-size:12px;max-width:min(92vw,440px);overflow-wrap:anywhere}.modal-backdrop{position:fixed;inset:0;background:#0e253a70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:16px}.modal{background:#fff;border-radius:12px;padding:25px;width:min(520px,100%);max-height:none;margin:auto;overflow-wrap:anywhere;box-shadow:0 20px 100px #11253640}.modal-heading{display:flex;justify-content:space-between;align-items:center}.modal h2{font-size:20px}.modal p{font-size:12px;color:#83939f;line-height:1.7}.modal h4{font-size:10px;color:#96a2ab;letter-spacing:1px;margin:25px 0 10px}.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px;margin-top:22px}.export-grid>button{flex-direction:column;padding:22px 6px;gap:12px}.export-grid small{font-size:9px;color:#8d9da9}.library-item{width:100%;margin-bottom:8px;padding:15px;justify-content:flex-start}.library-item>span{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere}.library-item strong{font-size:12px;display:block}.library-item small{display:block;margin-top:4px;font-size:10px;color:#90a0ad}.import-label{display:block;margin-top:18px;font-size:11px;color:#6d8495}.import-label input{display:block;margin-top:9px;font-size:11px}.panel-toggle{display:none;margin-left:8px;border:0;background:#f3f6f8;color:#345c7c;font-size:11px;padding:6px 10px;min-height:32px}@media(min-width:1025px)and (pointer:fine)and (hover:hover)and (not (any-pointer:coarse))and (not (hover:none)){.panel-toggle{display:inline-flex;min-height:28px;padding:4px 8px}.app>main.config-closed{grid-template-columns:44px minmax(0,1fr) minmax(220px,280px)}.app>main.inspector-closed{grid-template-columns:minmax(220px,260px) minmax(0,1fr) 44px}.app>main.config-closed.inspector-closed{grid-template-columns:44px minmax(0,1fr) 44px}.is-collapsed .panel-scroll,.is-collapsed .validation,.is-collapsed .right-tabs,.is-collapsed .right-scroll,.is-collapsed .material-summary{display:none}.is-collapsed .panel-title{flex-direction:column;justify-content:flex-start;height:auto;gap:10px;padding:10px 4px;border-bottom:0}.is-collapsed .panel-title h2,.is-collapsed .panel-title>span,.is-collapsed .panel-title .count{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(min-width:1600px){.app>main{grid-template-columns:minmax(240px,280px) minmax(0,1fr) minmax(240px,300px)}.component-card{padding:15px}.component-preview{height:65px}.component-preview svg{height:75px}.steps>button{padding:14px 10px}.steps strong,.steps small{font-size:11px}.tool{min-width:73px}.viewport-toolbar{gap:12px}}@media(max-width:1280px){.local{display:none}.panel-scroll section{padding:16px}}@media(max-width:1024px),(max-width:1366px)and (any-pointer:coarse),(max-width:1366px)and (hover:none){.panel-toggle{display:inline-flex}.app>header{height:48px;min-height:44px;max-height:52px}.app>main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow:auto;position:relative}.center-panel{grid-column:1 / -1;grid-row:1;min-height:min(72dvh,820px);min-width:0}.viewport{flex:1 1 auto;min-height:240px;display:flex;flex-direction:column}.scene-host{position:relative;inset:auto;flex:1 1 auto;min-height:180px}.viewport-toolbar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;max-width:100%}.viewport-toolbar .tool,.viewport-toolbar .separator{flex:0 0 auto}.assembly-panel{flex:0 1 auto;max-height:min(30dvh,240px);overflow:auto}.left-panel,.right-panel{position:relative;width:auto;max-width:none;border:0;background:#fff}.left-panel.is-collapsed{grid-column:1;grid-row:2}.right-panel.is-collapsed{grid-column:2;grid-row:2}.left-panel:not(.is-collapsed),.right-panel:not(.is-collapsed){position:absolute;top:0;bottom:0;width:min(400px,100%);z-index:8;overflow:hidden;background:#fff;box-shadow:0 8px 28px #1e3b4f24}.left-panel:not(.is-collapsed){left:0}.right-panel:not(.is-collapsed){right:0}.is-collapsed .panel-title{border:1px solid var(--border);border-radius:8px;margin:8px;min-height:44px;height:auto}.panel-title h2{min-width:0;overflow-wrap:anywhere}.is-collapsed .panel-scroll,.is-collapsed .validation,.is-collapsed .right-tabs,.is-collapsed .right-scroll,.is-collapsed .material-summary,.workspace-name,.version,.header-divider{display:none}.scene-host .scene-canvas{width:100%!important;height:100%!important}.view-heading{top:12px;left:16px;max-width:calc(100% - 72px)}.view-hint{top:58px;bottom:auto;left:16px;max-width:min(260px,calc(100% - 80px))}.axis{top:108px;left:16px;bottom:auto}}@media(max-width:1024px)and (max-height:520px),(max-width:1366px)and (any-pointer:coarse)and (max-height:520px){.assembly-panel{max-height:96px}.center-panel{min-height:0}.viewport{min-height:160px}}@media(max-width:720px){.project-actions>button:not(.icon-button){padding:8px 10px}.modal{padding:16px}.drawing-sheet{padding:12px}}@media(max-width:860px){.brand-word{display:none}}@media(max-width:640px){.save-button .button-label,.export-button .button-label,.draft{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-actions .save-button,.header-actions .export-button{width:36px;padding:0}}@media(pointer:coarse){.icon-button,.panel-toggle,.project-actions>button,.canvas-tabs button,.right-tabs button{min-height:44px;min-width:44px}.viewport-toolbar .tool{min-height:32px;height:32px;font-size:11px}.header-actions button,.menu-button,.assembly-toggle{min-height:32px;min-width:32px}}.build-timeline{display:block;width:100%;height:3px;accent-color:#456f8d;margin:10px 0 0;cursor:pointer}.part-marker{min-width:27px;width:auto;padding:0 4px;font-size:8px}.selection-actions{flex-wrap:wrap}.step-thumb{display:block;width:55px;flex-shrink:0}.step-thumb svg{width:55px;height:40px}.steps>button{flex-wrap:wrap}.steps>button>div{flex:1;min-width:0;overflow-wrap:anywhere}.assembly-panel{min-width:0;max-width:100%}.scene-canvas{position:relative;z-index:0;width:100%!important;height:100%!important;display:block;touch-action:none}.site{min-height:100dvh;display:flex;flex-direction:column;background:#f5f7f8;overflow-x:clip}.site-header{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px clamp(16px,3vw,40px);background:#fff;border-bottom:1px solid var(--border)}.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.site-nav a,.site-nav-button{border:0;background:transparent;color:#4d6272;text-decoration:none;border-radius:6px;padding:8px 12px;font-size:14px}.site-nav a[aria-current=page],.site-nav-button:hover,.site-nav a:hover{background:#eef3f6;color:#19364b}.site-profile{position:relative;margin-left:auto}.site-avatar{width:36px;height:36px;border:0;padding:0}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(280px,calc(100vw - 24px));background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px}.profile-menu p,.site-note,.welcome p,.design-card p,.project-copy p{color:#4f6474;line-height:1.45;overflow-wrap:anywhere}.site-main{width:min(1440px,calc(100% - clamp(24px,4vw,80px)));margin:0 auto;padding:28px 0 48px;flex:1;min-width:0}.welcome{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr);gap:24px;align-items:center;margin-bottom:28px}.welcome h1,.site-main h1{font-family:Manrope,sans-serif;font-size:clamp(32px,5vw,52px);line-height:1.08;letter-spacing:-.8px;color:#193348;margin:0 0 12px;max-width:16em;overflow-wrap:anywhere}.welcome p{max-width:42em;font-size:16px;margin:0 0 18px}.welcome-actions,.wizard-actions,.row-actions,.page-heading,.export-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.site-section,.site-main h2{font-family:Manrope,sans-serif;color:#193348;font-size:20px;margin:0 0 14px}.design-grid,.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.project-list{grid-template-columns:1fr}.design-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-width:0;text-align:left;background:#fff;border-radius:10px;padding:14px}.design-card h3,.design-card h2,.project-copy h2{font-family:Manrope,sans-serif;font-size:18px;margin:0;color:#193348;overflow-wrap:anywhere}.design-card p,.project-copy p{margin:0;font-size:13px}.design-figure{width:100%;height:auto;max-height:150px;display:block}.card-action{margin-top:auto;color:#285d9b;font-weight:600;display:inline-flex;align-items:center;gap:6px}.design-card.is-soon{background:#fbfcfd}.soon{font-size:12px;font-weight:650;color:#5d7182;background:#eef2f5;border-radius:999px;padding:4px 8px}.recent{margin-top:28px}.recent-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}.recent-list button{justify-content:flex-start;text-align:left;min-width:0}.recent-list strong,.recent-list small{display:block;overflow-wrap:anywhere}.wizard{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:28px;align-items:start}.wizard-steps{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}.wizard-steps li{display:flex;gap:8px;align-items:center;color:#6d7f8d;min-width:0}.wizard-steps li[aria-current=step]{color:#19364b;font-weight:650}.wizard-steps span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e7eef3;font-size:12px;flex:none}.wizard-panel,.project-row,.empty-designs{background:#fff;border:1px solid var(--border);border-radius:12px;padding:clamp(16px,2vw,28px);min-width:0}.wizard-panel h2{margin-top:0}.site-field{display:block;margin:0 0 14px;min-width:0}.site-field>span{display:block;margin-bottom:6px;color:#4f6474;font-size:13px}.site-field input,.site-field select,.site-field textarea,.project-copy input{width:100%;min-width:0;border:1px solid #d5dee5;border-radius:6px;background:#fbfcfd;padding:10px 12px;font-size:15px}.site-field>div{display:flex;align-items:center;border:1px solid #d5dee5;border-radius:6px;background:#fbfcfd;min-width:0}.site-field>div input{border:0;background:transparent}.site-field small{padding-right:12px;color:#6d7f8d}.site-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}.review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px 18px;margin:0 0 16px}.review-list div{min-width:0}.review-list dt{color:#6d7f8d;font-size:12px}.review-list dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:15px}.form-errors{background:#fbf1f1;color:#6f2e2e;border-radius:8px;padding:10px 12px;margin-bottom:12px}.form-errors p{margin:0;overflow-wrap:anywhere}.wizard-actions{margin-top:8px}.page-heading{justify-content:space-between;margin-bottom:16px}.page-heading h1,.empty-designs h1{font-size:clamp(28px,4vw,40px)}.project-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px 16px;align-items:center}.project-copy{min-width:0}.project-copy p+p{margin-top:6px}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}@media(max-width:480px){.project-row{grid-template-columns:1fr}.project-row .design-figure{max-width:168px}}.row-actions,.export-inline{grid-column:1 / -1}.export-inline{padding-top:4px}.empty-designs{display:grid;justify-items:start;gap:8px;max-width:640px}.empty-designs .design-figure{max-width:280px}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:14px clamp(16px,3vw,40px);border-top:1px solid var(--border);background:#fff;color:#4f6474;font-size:13px}.site-footer a{color:inherit}@media(max-width:800px){.welcome,.wizard{grid-template-columns:1fr}.site-nav{order:3;flex:1 0 100%}.welcome .design-figure{display:none}.wizard-steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}}@media(pointer:coarse){.site-nav a,.site-nav-button,.welcome-actions>button,.wizard-actions>button,.row-actions>button{min-height:44px}}
