@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.rainbow-swatch{background:conic-gradient(#e94a4a 0,#e94a4a 60deg,#f4b848 60deg,#f4b848 120deg,#77b64f 120deg,#77b64f 180deg,#4bafd0 180deg,#4bafd0 240deg,#7563bc 240deg,#7563bc 300deg,#db5a99 300deg,#db5a99 360deg)!important}.selection-color{padding-bottom:8px}.selection-color .color-line{padding-bottom:2px}.selection-color .color-line>span:first-child{margin-right:0}.multicolor-option{display:flex;align-items:center;gap:7px;width:calc(100% - 20px);margin:2px 10px 0;padding:5px 7px;border:1px solid #dce4e8;border-radius:4px;background:#fff;color:#627686;font-size:11px;text-align:left}.multicolor-option.on{border-color:#63a8c7;background:#edf7fa;color:#3c7fa1}.multicolor-option .rainbow-swatch{display:block;width:17px;height:17px;border-radius:50%;flex:none}.multicolor-option small{margin-left:auto;font-size:9px;color:#8b9ca8}.group-type{border-top:1px solid #edf0f2;padding-bottom:6px}.group-type .field-heading{border-top:0;padding-top:8px}.group-type-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:2px 9px}.group-type-options button{min-width:0;min-height:32px;border:1px solid #dce4e8;border-radius:4px;background:#fff;color:#647687;font-size:10px;line-height:1.15;padding:4px 2px}.group-type-options button:hover,.group-type-options button.on{border-color:#63a8c7;background:#edf7fa;color:#3c7fa1}.group-type-note{display:block;padding:3px 10px;color:#9b7a64;font-size:9px;line-height:1.35}.placing-tape .viewport canvas{cursor:crosshair}.tape-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:9;max-width:calc(100% - 220px);padding:6px 10px;border:1px solid #a9bf75;border-radius:5px;background:#f8fceafa;color:#667f31;box-shadow:0 2px 8px #48603c21;font-size:11px;font-weight:600;text-align:center;pointer-events:none}.tape-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none}.tape-line{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.tape-line line{stroke:#8ba64c;stroke-width:2;stroke-dasharray:6 3}.tape-point{position:absolute;transform:translate(-50%,-50%);width:21px;height:21px;display:grid;place-items:center;border:2px solid #809b3f;border-radius:50%;background:#fff;color:#66832a;font-size:9px;font-weight:800;box-shadow:0 2px 6px #3d563833}.tape-card{position:absolute;transform:translate(-50%,-50%);width:210px;min-height:67px;padding:7px 9px;border:1px solid #9dbb5d;border-radius:6px;background:#fffffff7;box-shadow:0 4px 14px #40533833;color:#516b2a;pointer-events:auto}.tape-card>b{display:block;font-size:10px;margin-bottom:4px}.tape-card .number-field{display:flex;align-items:center;gap:7px}.tape-card .number-field>span{font-size:10px;margin:0}.tape-card .number-field>div{flex:1}.tape-card .number-field input{height:24px;font-size:11px}.tape-card .number-field small{top:6px}.tape-card>small{display:block;margin-top:4px;color:#80955a;font-size:9px}.tape-readonly{font-size:13px;font-weight:700}.transparency-control{border-top:1px solid #edf0f2;padding-bottom:6px}.transparency-control .field-heading{border-top:0;padding-top:8px}.transparency-options{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:2px 9px}.transparency-options button,.transparency-options span{display:grid;place-items:center;min-height:29px;border:1px solid #dce4e8;border-radius:4px;background:#fff;color:#647687;font-size:10px;font-weight:600}.transparency-options button:hover,.transparency-options button.on,.transparency-options span.on{border-color:#63a8c7;background:#edf7fa;color:#3c7fa1}.transparency-options span:not(.on){opacity:.55}.aligning .viewport canvas{cursor:crosshair}.align-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none}.align-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);max-width:calc(100% - 28px);padding:8px 12px;border:1px solid #afd5e7;border-radius:5px;background:#f7fcffed;color:#3b687d;box-shadow:0 2px 9px #173b501a;font-size:11px;white-space:nowrap;pointer-events:auto}.align-banner strong{margin-left:5px;color:#177a9d}.align-banner button{margin-left:8px;padding:0;border:0;background:none;color:#177a9d;text-decoration:underline;font-size:11px}.align-rails{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.align-rails line{stroke:#2787a9;stroke-width:1.5;stroke-dasharray:5 4;opacity:.8}.align-handle{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;display:flex;align-items:center;justify-content:center;gap:1px;padding:0;border:2px solid #2787a9;border-radius:50%;background:#fff;color:#24718e;box-shadow:0 2px 7px #16466240;font-size:11px;pointer-events:auto}.align-handle:hover,.align-handle:focus-visible{background:#2787a9;color:#fff;outline:2px solid #fff;outline-offset:1px}.align-handle b{font-size:10px}.align-handle span{font-size:12px;line-height:1}.align-pin{position:absolute;transform:translate(8px,-34px);display:flex;align-items:center;gap:4px;padding:4px 7px;border-radius:4px;background:#16799b;color:#fff;box-shadow:0 2px 7px #16466240;font-size:10px;white-space:nowrap}.mirroring .viewport canvas{cursor:default}.mirror-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none}.mirror-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);max-width:calc(100% - 28px);padding:8px 12px;border:1px solid #afd5e7;border-radius:5px;background:#f7fcffed;color:#3b687d;box-shadow:0 2px 9px #173b501a;font-size:11px;white-space:nowrap}.mirror-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.mirror-lines line{stroke:#2c819e;stroke-width:1.5;stroke-dasharray:5 4;opacity:.75}.mirror-handle{position:absolute;transform:translate(-50%,-50%);width:46px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;border:2px solid #2787a9;border-radius:6px;background:#fff;color:#24718e;box-shadow:0 2px 7px #16466240;pointer-events:auto}.mirror-handle:hover,.mirror-handle:focus-visible{background:#2787a9;color:#fff;outline:2px solid #fff;outline-offset:1px}.mirror-arrow{display:block;font-size:23px;font-weight:700;line-height:21px}.mirror-handle b{font-size:9px;line-height:11px}.uniform-scale,.rotation-snap{margin:4px 10px 7px;width:calc(100% - 20px);display:flex;align-items:center;gap:5px;min-height:29px;border:1px solid #dce4e8;border-radius:4px;background:#fff;color:#6a7d89;padding:4px 7px;font-size:10px;text-align:left}.uniform-scale small,.rotation-snap small{margin-left:auto;color:#94a3ad;font-size:9px}.uniform-scale:hover,.uniform-scale.on,.rotation-snap:hover,.rotation-snap.on{border-color:#63a8c7;background:#edf7fa;color:#3c7fa1}.placing-face-workplane .viewport canvas{cursor:crosshair}.face-workplane-banner{position:absolute;top:13px;left:50%;transform:translate(-50%);z-index:9;pointer-events:none;padding:8px 13px;border:1px solid #6bb3c9;border-radius:5px;background:#f0fbffed;color:#24738c;font-size:12px;font-weight:700;box-shadow:0 2px 10px #244a632b;white-space:nowrap}.face-workplane-status{position:absolute;left:12px;bottom:43px;z-index:9;display:flex;align-items:center;gap:9px;max-width:calc(100% - 250px);padding:7px 9px;border:1px solid #59a9c2;border-radius:5px;background:#effafff2;box-shadow:0 2px 8px #284d6225;color:#356f83;font-size:10px;white-space:nowrap}.face-workplane-status b{color:#147b9c}.face-workplane-status button{border:1px solid #78bbcf;border-radius:3px;background:#fff;color:#187c9c;font-size:10px;font-weight:700;padding:4px 7px}.face-workplane-status button:hover{background:#ddf5fb}:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#334456;background:#eaf2f6;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}.app-shell{height:100%;display:flex;flex-direction:column;min-width:700px}.app-header{height:48px;flex:none;background:#fff;border-bottom:1px solid #dfe5e9;display:flex;align-items:center;padding:0 10px;gap:10px;z-index:6}.logo{width:31px;height:32px;border:0;background:transparent;padding:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:1px}.logo span{font-size:6px;color:#fff;font-weight:800;display:grid;place-items:center;line-height:1;background:#4b9eaa}.logo span:nth-child(3n+2){background:#e5b844}.logo span:nth-child(4n){background:#e77b54}.logo span:nth-child(5n){background:#3162a0}.project-title{height:32px;border:1px solid #d5dce3;border-radius:17px;width:275px;box-shadow:0 1px 2px #0000000c;display:flex;align-items:center;padding:0 10px}.project-title input{border:0;outline:0;width:100%;min-width:0;color:#334456;font-weight:500;background:transparent;font-size:15px}.save-state{font-size:10px;color:#8b99a4;white-space:nowrap}.header-spacer,.toolbar-spacer{flex:1}.mode-pill{display:flex;align-items:center;gap:5px;padding:5px 11px;border:1px solid #3584cd;color:#356da5;border-radius:20px;font-size:13px;font-weight:600}.header-link{display:flex;align-items:center;gap:5px;color:#657585;background:none;border:0;font-size:13px;padding:7px}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;border:0;background:#d8e8f5;color:#3379ad}.toolbar{height:48px;flex:none;background:#f7f8fa;border-bottom:1px solid #d6e0e7;display:flex;align-items:stretch;padding:0 5px;z-index:5}.tool-cluster{display:flex;align-items:center;padding:0 5px;border-right:1px solid #e0e6eb;gap:1px}.tool-cluster:last-child{border-right:0}.icon-button{width:37px;height:38px;display:grid;place-items:center;background:transparent;border:0;border-radius:4px;color:#6b8497;transition:background .15s,color .15s}.icon-button svg{width:21px;height:21px;stroke-width:1.8}.icon-button:not(:disabled):hover,.icon-button.active{background:#e2eef6;color:#2b80ae}.toolbar-actions{gap:6px}.toolbar-actions>button{height:32px;border:1px solid #dce3e8;background:#fff;border-radius:3px;color:#546676;font-size:12px;display:flex;align-items:center;gap:6px;padding:0 11px}.toolbar-actions>button:hover,.toolbar-actions>button.connected{color:#158374;border-color:#8bc8bd}.workspace{display:flex;min-height:0;flex:1}.canvas-wrap{flex:1;min-width:0;position:relative;overflow:hidden;background:#eaf2f6}.viewport,.viewport canvas{width:100%;height:100%;display:block}.viewport canvas{outline:none}.view-cube{position:absolute;top:24px;left:24px;width:78px;height:75px;transform:rotate(-13deg);font-size:9px;font-weight:700;color:#677b88}.view-cube button{position:absolute;border:1px solid #cad7df;background:#f7fafb;color:#788d9a;box-shadow:0 2px 4px #48637a20;font-size:9px;font-weight:700}.cube-top{left:17px;top:2px;width:55px;height:31px;transform:skew(28deg)}.cube-front{left:25px;top:31px;width:49px;height:37px;transform:skewY(27deg)}.cube-left{left:0;top:31px;width:26px;height:37px;transform:skewY(-28deg)}.cube-right{display:none}.camera-controls{position:absolute;top:118px;left:8px;display:flex;flex-direction:column;gap:6px}.camera-controls .icon-button{width:48px;height:48px;border:1px solid #dbe3e9;border-radius:50%;background:#fff;color:#29495e;box-shadow:0 1px 2px #6e849425}.camera-controls .icon-button:hover{background:#edf7fc}.camera-controls .icon-button svg{width:23px;height:23px}.canvas-status{position:absolute;left:12px;bottom:11px;background:#ffffffe5;border:1px solid #e1e7ea;border-radius:5px;padding:6px 10px;font-size:11px;color:#697d8b}.canvas-status span{display:flex;align-items:center;gap:5px}.grid-settings{position:absolute;right:12px;bottom:10px;display:flex;align-items:end;gap:10px;font-size:11px;color:#687885}.grid-settings button{border:1px solid #e1e5ea;background:#fff;color:#6b7e8d;padding:5px 14px;border-radius:3px}.grid-settings span{display:flex;align-items:center;gap:5px}.grid-settings select{font-size:11px;background:#fff;border:1px solid #dbe4e9;color:#536574;height:25px}.welcome-card{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:315px;background:#fff;border-radius:10px;padding:22px;box-shadow:0 8px 30px #31526a26;text-align:left}.welcome-icon{width:39px;height:39px;border-radius:10px;background:#dceffa;color:#3887b4;display:grid;place-items:center}.welcome-card h2{font-size:17px;margin:13px 0 7px;color:#2f4556}.welcome-card p{font-size:12px;line-height:1.5;color:#697e8d;margin:0 0 18px}.welcome-card>div:last-of-type{display:flex;gap:7px}.welcome-card button{border:1px solid #dae3e9;border-radius:5px;padding:9px 12px;background:#fff;color:#496578;font-size:12px;font-weight:600}.welcome-card button.primary{background:#348bb7;color:#fff;border-color:#348bb7}.welcome-card button.dismiss{position:absolute;right:11px;top:10px;border:0;padding:2px;color:#a2aeb6}.shape-sidebar{position:relative;width:278px;flex:none;background:#f7f8fa;border-left:1px solid #d9e2e8;display:flex;flex-direction:column;transition:width .15s}.shape-sidebar.collapsed{width:0;border:0}.sidebar-tools{height:72px;display:flex;justify-content:space-around;align-items:center;flex:none}.sidebar-tools .icon-button{width:48px;height:48px;color:#4a93b9}.sidebar-tools .icon-button svg{width:30px;height:30px;stroke-width:1.4}.sidebar-toggle{position:absolute;left:-14px;top:45%;width:17px;height:40px;padding:0;border:1px solid #d4dce2;background:#f7f8fa;border-radius:0 4px 4px 0;z-index:3;color:#627788}.collapsed .sidebar-toggle{left:-17px}.palette-panel{display:flex;flex-direction:column;min-height:0;flex:1}.palette-header{display:flex;align-items:center;gap:5px;padding:4px 9px 8px}.category{height:43px;flex:1;min-width:0;padding:0 10px;border:1px solid #dfe5e9;background:#fff;border-radius:4px;display:flex;justify-content:space-between;align-items:center;color:#415565;text-align:left;font-size:13px}.search-icon{height:43px;width:38px;background:#fff;border:1px solid #dfe5e9;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;color:#526676}.search-icon:focus-within{width:160px;position:absolute;right:8px;z-index:2;box-shadow:0 2px 8px #0002}.search-icon input{width:0;opacity:0;border:0;outline:0;font-size:12px}.search-icon:focus-within input{width:116px;opacity:1;margin-left:4px}.brush-row{padding:3px 11px 11px;display:flex;align-items:center;gap:4px;color:#71818e;font-size:11px}.brush-row>span{margin-right:auto}.brush-row button{border:1px solid #dfe5e9;background:#fff;padding:4px 8px;display:flex;align-items:center;gap:5px;border-radius:4px;color:#5d6e7b;font-size:10px}.brush-row button.selected{border-color:#55a4c7;background:#e8f4f9}.solid-preview,.hole-preview{width:14px;height:14px;border-radius:3px;background:#e0524a;display:inline-block}.hole-preview{background:repeating-linear-gradient(135deg,#afb9c1 0,#afb9c1 3px,#e7ebee 3px,#e7ebee 6px);border:1px solid #9cabb4}.palette-grid{overflow:auto;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:95px;gap:5px;padding:0 7px 16px;align-content:start}.shape-card{border:1px solid #edf0f2;background:#fff;border-radius:3px;color:#617180;padding:0 1px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:10px}.shape-card:hover{border-color:#56a2c3;box-shadow:0 0 0 1px #56a2c3;transform:translateY(-1px)}.shape-image{height:72px;width:100%;display:grid;place-items:center}.shape-image img{width:100%;height:100%;object-fit:contain}.no-results{grid-column:span 3;text-align:center;color:#83929c;font-size:12px}.selection-panel{background:#fff;margin:0 8px 8px;border:1px solid #dce5ea;border-radius:4px;box-shadow:0 2px 6px #4a6b8012;overflow:auto;max-height:48%;flex:none;padding-bottom:7px}.panel-heading{height:40px;display:flex;align-items:center;gap:7px;padding:5px 9px;border-bottom:1px solid #e7ebee}.selected-dot{width:18px;height:18px;border-radius:4px;flex:none}.panel-heading input{border:0;outline:0;min-width:0;flex:1;font-size:12px;font-weight:700;color:#455869}.panel-heading button{border:0;background:none;color:#8da0ac}.solid-hole{display:flex;gap:5px;padding:9px}.solid-hole button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dce4e8;background:#fff;border-radius:4px;padding:7px;font-size:11px;color:#627686}.solid-hole button.on{border-color:#63a8c7;background:#edf7fa;color:#3c7fa1}.color-line{display:flex;align-items:center;gap:9px;font-size:11px;color:#627787;padding:1px 11px 9px}.color-line input{border:0;width:30px;height:25px;padding:0;background:none}.color-line span{margin-left:auto;font-size:10px;color:#98a5ae}.text-field{display:flex;flex-direction:column;gap:4px;font-size:11px;padding:0 10px 9px}.text-field input{border:1px solid #dce4e9;border-radius:3px;padding:6px}.field-heading{display:flex;justify-content:space-between;color:#52697a;font-size:11px;font-weight:700;padding:9px 10px 5px;border-top:1px solid #ecf0f2}.field-heading span{font-weight:400;color:#97a6b0}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 9px 7px}.number-field{display:block;min-width:0}.number-field>span{display:block;font-size:9px;color:#7d8d99;margin-bottom:3px}.number-field>div{position:relative}.number-field input{width:100%;height:28px;border:1px solid #dce4e9;border-radius:3px;padding:3px 19px 3px 5px;font-size:11px;color:#354f60;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.number-field input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.number-field small{position:absolute;right:4px;top:7px;font-size:8px;color:#a0adb5}.selection-actions{display:flex;justify-content:space-around;border-top:1px solid #edf0f2;padding-top:6px}.selection-actions button{display:flex;align-items:center;gap:4px;border:0;background:none;color:#718897;font-size:10px}.menu-wrap{position:relative}.align-popover{position:absolute;top:44px;right:0;background:#fff;padding:12px;box-shadow:0 5px 20px #0002;border:1px solid #dce4e9;border-radius:5px;min-width:220px;z-index:10;font-size:11px}.align-popover>b{display:block;margin-bottom:9px}.align-popover>div{display:flex;align-items:center;gap:4px;margin:4px 0}.align-popover>div span{width:16px;font-weight:700}.align-popover button{border:1px solid #dce4e9;background:#f8fbfc;padding:4px;border-radius:3px;font-size:10px}.toast{position:absolute;left:50%;bottom:52px;transform:translate(-50%);z-index:30;background:#263c4b;color:#fff;border-radius:5px;padding:10px 16px;box-shadow:0 4px 15px #0003;font-size:12px;max-width:90vw}.hidden-input{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#26384670;display:grid;place-items:center}.modal{width:min(470px,95vw);max-height:90vh;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 18px 55px #172e3a55}.modal-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ebef;padding:17px 20px}.modal-heading h2{font-size:17px;margin:0;color:#344b5e}.modal-heading button{border:0;background:none;color:#8596a2}.modal-content{padding:20px;font-size:12px;line-height:1.5;color:#697c89}.modal-content p{margin:0 0 15px}.upload-target{height:165px;border:2px dashed #8fc4db;background:#f1f9fc;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#408eaf;gap:8px;cursor:pointer;margin-bottom:13px}.upload-target span{font-size:11px;color:#7992a1}.export-list{display:flex;flex-direction:column;gap:7px}.export-list>button{border:1px solid #e1e9ed;border-radius:5px;background:#fff;padding:11px;display:flex;align-items:center;gap:12px;text-align:left;color:#4a8eaf}.export-list>button:hover{border-color:#7fb9d3;background:#f7fcfe}.export-list>button>span{flex:1;display:flex;flex-direction:column;color:#374f61}.export-list small{font-size:10px;color:#8a9aa5}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-grid .number-field input{height:35px;font-size:13px}.fine-print{margin-top:20px!important;color:#a3afb7}.connection-status{display:flex;align-items:center;gap:7px;background:#f5f7f8;padding:9px;border-radius:4px;margin-bottom:15px;color:#687b88;font-weight:600}.connection-status span{width:8px;height:8px;border-radius:50%;background:#b3c0c8}.connection-status.online span{background:#33a779}.modal-field{display:flex;flex-direction:column;gap:5px;margin:10px 0;color:#4b6271;font-size:11px;font-weight:600}.modal-field input{border:1px solid #dce5e9;border-radius:4px;padding:9px;outline-color:#69abc8}.modal-actions{display:flex;justify-content:flex-end;margin-top:15px}.modal-actions button{border:0;border-radius:4px;background:#318db9;color:#fff;padding:9px 16px;font-size:12px}.blender-note{display:flex;gap:9px;align-items:flex-start;margin-top:16px;background:#f6f9fa;border:1px solid #e6edef;padding:10px;border-radius:4px}.blender-note svg{flex:none;color:#71a6bf}.shortcut-list{display:grid;grid-template-columns:70px 1fr;gap:5px 8px;border-top:1px solid #ecf0f2;padding-top:14px}.shortcut-list span{font-weight:700;color:#467e9b}code{background:#eef3f5;color:#496576;padding:2px 4px;border-radius:3px}@media(max-width:1050px){.toolbar .tool-cluster{padding:0 1px}.toolbar .icon-button{width:31px}.toolbar-actions>button{padding:0 7px;font-size:0}.toolbar-actions>button svg{width:17px}.shape-sidebar{width:245px}.palette-grid{grid-auto-rows:88px}}@media(max-width:790px){.header-link{display:none}.mode-pill{font-size:0}.project-title{width:180px}.shape-sidebar{width:210px}.sidebar-tools{height:55px}.palette-grid{grid-template-columns:repeat(2,1fr)}.tool-cluster .icon-button{width:29px}}.canvas-measurements{position:absolute;z-index:4;width:254px;max-width:calc(100% - 16px);padding:8px 9px;background:#fffffff2;border:1px solid #7fbbd4;border-radius:6px;box-shadow:0 4px 18px #24475b2a;color:#456071;font-size:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.canvas-measurements-heading{display:flex;align-items:center;gap:5px;font-weight:700;color:#328bb6;margin-bottom:5px}.canvas-measurements-row{display:grid;grid-template-columns:48px repeat(3,minmax(0,1fr));align-items:end;gap:4px;margin-top:4px}.canvas-measurements-row>span{font-size:9px;padding-bottom:8px;color:#6a8090}.canvas-measurements .number-field>span{font-size:8px;margin-bottom:1px;text-transform:uppercase}.canvas-measurements .number-field input{height:23px;font-size:10px;padding-right:14px}.canvas-measurements .number-field small{font-size:7px;right:2px;top:6px}.canvas-measurements>small{display:block;margin-top:4px;color:#ad6549}.template-update{display:flex;align-items:center;gap:5px;margin:7px 9px 0;padding:6px 8px;background:#edf7fb;border:1px solid #a7cfe0;border-radius:4px;color:#3984a6;font-size:10px}.boundary-lines,.boundary-fields{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.rotation-guide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}.rotation-guide path{fill:none;vector-effect:non-scaling-stroke}.rotation-guide-outer,.rotation-guide-inner{stroke:#6bc0d5;stroke-width:1.1;opacity:.85}.rotation-guide-band{fill:#83cce0!important;fill-opacity:.29!important;stroke:none}.rotation-guide-segments line{stroke:#459bb4;stroke-width:.8;opacity:.34;vector-effect:non-scaling-stroke}.rotation-guide.dragging.coarse .rotation-guide-segments line{opacity:.52}.rotation-guide-ray{stroke:#e87967;stroke-width:1.35;opacity:.9;vector-effect:non-scaling-stroke}.rotation-guide-active-tick{stroke:#dc6756;stroke-width:2;opacity:.9;vector-effect:non-scaling-stroke}.rotation-guide.hovering .rotation-guide-active-tick{opacity:.5}.rotation-guide-indicator path{fill:none;stroke:#d85e4c;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.boundary-lines{z-index:3}.boundary-lines line{stroke:#247ba4;stroke-width:1.4;stroke-dasharray:3 2;opacity:.88}.boundary-fields{z-index:5}.selection-marquee{position:absolute;z-index:8;pointer-events:none;border:1px dashed #1985b9;background:#3d9fd229;box-shadow:inset 0 0 0 1px #ffffffa8}.dimension-annotations{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.dimension-annotations line{stroke:#2788b0;stroke-width:1.5;opacity:.85;vector-effect:non-scaling-stroke}.dimension-annotations .extension{stroke-width:1;opacity:.55}.dimension-annotations .bracket{stroke-width:1.8}.dimension-annotations .leader{stroke-dasharray:3 3;opacity:.75}.dimension-annotations .handle-leader{stroke-dasharray:2 3;opacity:.65}.dimension-annotations g.active line{stroke:#086b9c;opacity:1}.boundary-field{position:absolute;display:flex;align-items:center;gap:3px;transform:translate(-50%,-50%);height:24px;padding:2px 4px;background:#fffffff2;border:1px solid #5da9cb;border-radius:4px;box-shadow:0 1px 5px #34566b33;color:#216d95;font-size:9px;font-weight:700;pointer-events:auto}.boundary-field.active{border-color:#167fbb;background:#e8f7ff;box-shadow:0 0 0 2px #72c5ed77,0 2px 8px #34566b44}.boundary-field:focus-within{border-color:#147db0;box-shadow:0 0 0 2px #77bfe055}.boundary-field input{width:52px;border:0;background:transparent;color:#264e63;font-size:10px;font-weight:700;outline:0;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.boundary-field input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.boundary-field.measurement-field,.boundary-field.measurement-field.active{height:25px;padding:1px 4px;border-color:transparent;border-radius:2px;background:#ffffffd9;box-shadow:none;color:#222}.boundary-field.measurement-field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.boundary-field.measurement-field input{width:48px;padding:2px;border:1px solid transparent;border-radius:2px;color:#202a30;font-size:12px;font-weight:500;text-align:center}.boundary-field.measurement-field small{margin-left:-4px;font-size:12px;font-weight:500;color:#202a30}.boundary-field.measurement-field:hover input{border-color:#8eb2c3;background:#fff}.boundary-field.measurement-field:focus-within{background:#fff;box-shadow:none}.boundary-field.measurement-field input:focus{border-color:#488fe0;background:#dfebff;outline:0;box-shadow:0 0 0 1px #488fe0}.boundary-field.rotation-angle-field,.boundary-field.rotation-angle-field.active{height:22px;min-width:38px;padding:0 2px;background:#fff;border:0;border-radius:2px;box-shadow:0 1px 3px #17344524;color:#242a2e}.boundary-field.rotation-angle-field input{width:31px;border:0;background:transparent;padding:0;font-size:11px;font-weight:500;text-align:right;color:#242a2e}.boundary-field.rotation-angle-field small{margin:0 2px 0 0;font-size:11px;color:#242a2e}.boundary-location{position:absolute;width:168px;height:26px;transform:translate(12px,24px)}.boundary-location .boundary-field{transform:translateY(-50%)}.resize-focus-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.resize-focus-target{position:absolute;width:11px;height:11px;transform:translate(-50%,-50%);border:0;padding:0;opacity:0;pointer-events:none}.boundary-drag-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.boundary-drag-handle{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;border:2px solid #2787b4;border-radius:50%;background:#fff;color:#247ba4;box-shadow:0 2px 8px #123c5360;font-size:23px;font-weight:700;line-height:1;display:grid;place-items:center;pointer-events:auto;touch-action:none;cursor:grab}.boundary-drag-handle:hover,.boundary-drag-handle:focus-visible{background:#dff4fc;outline:2px solid #7ac9e7;outline-offset:2px}.boundary-drag-handle:active{cursor:grabbing}.boundary-drag-handle.rotation-arc{width:36px;height:36px;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#737d81}.boundary-drag-handle.rotation-arc svg{width:100%;height:100%;overflow:visible}.boundary-drag-handle.rotation-arc svg path{fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.boundary-drag-handle.rotation-arc svg polygon{fill:currentColor;stroke:none}.boundary-drag-handle.rotation-arc:hover,.boundary-drag-handle.rotation-arc.active{color:#dc7463;background:transparent;box-shadow:none;outline:none}.boundary-drag-handle.rotation-arc.dragging{color:#d85c4c}.boundary-drag-handle.rotation-arc.active:not(:focus-visible) svg{opacity:.18}.boundary-drag-handle.rotation-arc:focus-visible{color:#dc7463;background:transparent;box-shadow:none;outline:1px solid #8bcedd;outline-offset:0}.boundary-drag-handle.rotation-arc:hover svg path,.boundary-drag-handle.rotation-arc.active svg path,.boundary-drag-handle.rotation-arc:focus-visible svg path{stroke-width:2.3}.boundary-drag-handle.lift{width:32px;height:36px;border:0;border-radius:50%;background:transparent;box-shadow:none}.boundary-drag-handle.lift .height-cone{display:block;width:19px;height:24px;background:#263c4b;clip-path:polygon(50% 0,90% 54%,94% 75%,76% 96%,50% 100%,24% 96%,6% 75%,10% 54%);filter:drop-shadow(0 1px 1px #fff)}.boundary-drag-handle.lift:hover,.boundary-drag-handle.lift.active{background:transparent;box-shadow:none}.boundary-drag-handle.lift:focus-visible{background:transparent;box-shadow:none;outline:2px solid #71c8eb;outline-offset:2px}.boundary-drag-handle.lift:hover .height-cone,.boundary-drag-handle.lift:focus-visible .height-cone,.boundary-drag-handle.lift.active .height-cone{background:#118fca}.placing-ruler .viewport canvas{cursor:crosshair}.ruler-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;pointer-events:none}.ruler-axis-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.ruler-axis-lines line{stroke:#369b59;stroke-width:1.8;stroke-dasharray:5 3;opacity:.95}.ruler-origin-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:2px;padding:4px 6px;border:2px solid #359953;border-radius:4px;background:#dcf7e4;color:#19723b;font-size:11px;font-weight:800;box-shadow:0 2px 7px #164d2960}.ruler-overlay .boundary-field{border-color:#4ca86b;color:#21884b;background:#fffefcf5}.ruler-overlay .boundary-field input{width:55px}.ruler-active .boundary-location{display:none}.panel-heading .multi-name{min-width:0;flex:1;font-size:12px;font-weight:700;color:#455869}.objects-panel{position:absolute;top:12px;right:12px;width:222px;max-height:55%;overflow:auto;background:#fff;border:1px solid #d8e4eb;border-radius:5px;box-shadow:0 5px 18px #2e526521;z-index:3;padding-bottom:5px}.objects-heading{height:37px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;color:#42596a;font-size:12px;border-bottom:1px solid #e6edf0}.objects-heading button,.object-row>button{border:0;background:transparent;color:#6a7e8c}.objects-panel p{margin:12px;color:#8b9ba5;font-size:11px}.object-row{display:flex;align-items:center;height:32px;padding:0 6px;border-bottom:1px solid #f2f4f5}.object-row.selected{background:#eaf5fa}.object-row .object-name{display:flex;align-items:center;gap:7px;flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.object-row .object-name span{width:13px;height:13px;border-radius:3px;flex:none}.object-row>button:last-child{width:26px;display:grid;place-items:center}.object-expand,.object-expand-spacer{width:18px;min-width:18px;display:grid;place-items:center;padding:0;color:#647988}.object-expand{cursor:pointer}.object-expand:hover{color:#1681a4}.object-children{padding:3px 0 7px;background:#f8fbfd;border-bottom:1px solid #e8eff3}.object-children-note{padding:6px 10px 7px 25px;color:#657c89;font-size:10px;line-height:1.35}.object-child{min-height:25px;display:flex;align-items:center;gap:6px;padding-right:8px;color:#526774;font-size:10px}.object-swatch{width:10px;height:10px;min-width:10px;border-radius:2px}.object-child-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-child small{color:#8297a2;font-size:9px}.category-wrap{position:relative;flex:1;min-width:0}.category-wrap .category{width:100%}.category-menu{position:absolute;z-index:8;left:0;right:0;top:43px;background:#fff;border:1px solid #dfe5e9;box-shadow:0 5px 12px #29485d22;display:flex;flex-direction:column}.category-menu button{border:0;background:#fff;text-align:left;font-size:12px;padding:9px;color:#536b7b}.category-menu button:hover{background:#ebf6fa}.hole-card .shape-image img{filter:grayscale(1);opacity:.68}.hole-card .shape-image{background:repeating-linear-gradient(135deg,#fff 0,#fff 8px,#f2f5f7 8px,#f2f5f7 13px)}.field-error{margin:-4px 0 8px!important;color:#b33b32!important;font-size:11px!important}.modal-field input[aria-invalid=true]{border-color:#cf5c52}.view-cube{width:88px;height:113px;transform:none;font-size:9px;display:flex;flex-direction:column;align-items:center;gap:3px}.view-cube svg{display:block;width:84px;height:80px;overflow:visible;filter:drop-shadow(0 3px 3px #5d748a36)}.view-face{cursor:pointer;outline:none}.view-face polygon{fill:#f7fafc;stroke:#bdcbd5;stroke-width:1.5;stroke-linejoin:round}.view-face text{fill:#577187;font-size:8px;font-weight:800;pointer-events:none;-webkit-user-select:none;user-select:none}.view-face:hover polygon,.view-face:focus-visible polygon,.view-face.active polygon{fill:#d8edf6;stroke:#5da1c2}.view-cube-extra{display:flex;gap:3px}.view-cube-extra button{position:static!important;width:auto!important;height:auto!important;transform:none!important;display:block!important;border:1px solid #cbd8df;background:#f7fafc;padding:3px 5px;border-radius:3px;font-size:8px;line-height:1;color:#597183;box-shadow:none}.view-cube-extra button:hover,.view-cube-extra button.active{background:#d8edf6;border-color:#5da1c2;color:#2d7297}.designs-modal{width:min(790px,95vw)}.designs-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.designs-actions button{display:flex;align-items:center;gap:6px;border:1px solid #cadce6;background:#f8fcfe;color:#3c7899;border-radius:4px;padding:8px 11px;font-size:11px;font-weight:700}.designs-actions button:hover{background:#eaf6fb}.designs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.design-card{border:1px solid #dbe5ea;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 2px 5px #48637a0c}.design-open{display:flex;flex-direction:column;align-items:stretch;text-align:left;width:100%;border:0;background:none;padding:0 0 8px;color:#344b5e}.design-open:hover .design-preview{background:#e9f3f8}.design-open strong{font-size:12px;padding:9px 10px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-open small{font-size:10px;color:#8598a5;padding:0 10px}.design-preview{height:112px;background:linear-gradient(145deg,#f1f8fb,#e7f0f5);position:relative;display:grid;place-items:center;color:#9eb4c1;overflow:hidden}.design-preview:after{content:"";position:absolute;top:23px;right:21px;bottom:23px;left:21px;border:1px solid #cddfe8;transform:skewY(-11deg);opacity:.75}.design-preview-shape{position:absolute;width:42px;height:42px;border-radius:7px;display:grid;place-items:center;color:#ffffffd9;font-size:23px;font-weight:800;box-shadow:6px 7px #45606a2b,0 6px 10px #45606a28;z-index:1;transform:rotate(-12deg) skewY(5deg)}.design-card-footer{border-top:1px solid #edf2f5;display:flex;align-items:center;gap:2px;padding:5px 7px;color:#8194a1;font-size:9px}.design-card-footer span{flex:1}.design-card-footer button{border:0;background:transparent;color:#829eae;padding:4px;display:grid;place-items:center;border-radius:3px}.design-card-footer button:hover{background:#edf5f8;color:#3b89ad}.designs-empty{grid-column:1/-1;text-align:center;border:1px dashed #cbdce5;padding:30px;color:#8ca0ac}.clipboard-actions{gap:7px;flex-wrap:wrap}.clipboard-actions button:first-child{background:#eef3f5;color:#5f7481}.clipboard-actions button:nth-child(2){background:#eaf5fa;color:#327c9d}.design-preview.rendered:after{display:none}.design-preview img{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1}.toolbar .modeling-actions,.toolbar .measurement-actions{gap:2px}.toolbar .modeling-actions .icon-button,.toolbar .measurement-actions .icon-button{color:#39536b}.toolbar .modeling-actions .icon-button:disabled,.toolbar .measurement-actions .icon-button:disabled{color:#a8b4bf}.toolbar .modeling-actions .icon-button.active,.toolbar .measurement-actions .icon-button.active{background:#e6f0fb;color:#2e73bd}.tinkercad-inspector{margin:8px;max-height:min(62vh,680px);padding:0;overflow:auto;background:#f1f2f4;border:1px solid #dce2e7;border-radius:7px;box-shadow:0 2px 9px #34495b1b}.tinkercad-inspector .inspector-heading{position:sticky;top:0;z-index:2;height:46px;gap:5px;padding:0 8px;background:#fff;border-bottom:1px solid #dbe1e5}.tinkercad-inspector .inspector-heading strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#344d64;font-size:15px;font-weight:700}.tinkercad-inspector .inspector-heading button{width:29px;height:32px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#566d80}.tinkercad-inspector .inspector-heading button:hover{color:#2e75b9;background:#eef5fb;border-radius:4px}.tinkercad-inspector .inspector-collapse svg{transform:rotate(180deg)}.tinkercad-inspector .inspector-lock[aria-pressed=true]{color:#3278b5}.tinkercad-inspector .inspector-content{padding:8px 7px 7px}.tinkercad-inspector .solid-hole{height:112px;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;margin-bottom:8px;padding:9px 6px;background:#fff;border-radius:8px}.tinkercad-inspector .solid-hole button{display:flex;flex-direction:column;gap:4px;justify-content:center;align-items:center;padding:3px;border:0;border-radius:7px;background:transparent;color:#46586a;font-size:12px;font-weight:600}.tinkercad-inspector .solid-hole button.on{background:transparent;color:#71a5e8}.tinkercad-inspector .solid-hole button:hover{background:#f5f8fc}.tinkercad-inspector .solid-hole .solid-preview,.tinkercad-inspector .solid-hole .hole-preview{width:49px;height:49px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #c9d2da}.tinkercad-inspector .solid-hole button.on .solid-preview,.tinkercad-inspector .solid-hole button.on .hole-preview{box-shadow:0 0 0 3px #7eb1f1}.tinkercad-inspector .solid-hole .hole-preview{background:repeating-linear-gradient(135deg,#b8b8b8 0,#b8b8b8 7px,#dedede 7px,#dedede 14px)}.tinkercad-inspector .inspector-properties{background:#fff;border-radius:8px;overflow:hidden}.tinkercad-inspector .properties-heading{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border:0;background:transparent;color:#344d64;font-size:13px;font-weight:700;text-align:left}.tinkercad-inspector .properties-heading svg{transform:rotate(180deg)}.tinkercad-inspector .properties-heading[aria-expanded=false] svg{transform:rotate(-90deg)}.tinkercad-inspector .properties-body{padding-bottom:6px}.tinkercad-inspector .group-type{padding:0 9px 9px;border:0}.tinkercad-inspector .group-type-heading{display:flex;align-items:center;justify-content:space-between;padding:2px 1px 8px;color:#667589;font-size:12px;font-weight:600}.tinkercad-inspector .group-type-heading svg{color:#8999a7;cursor:help}.tinkercad-inspector .group-type-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;border:1px solid #e0e5e9;border-radius:7px;overflow:visible}.tinkercad-inspector .group-type-options button{position:relative;min-width:0;height:49px;min-height:49px;display:grid;place-items:center;padding:3px;border:0;border-right:1px solid #e0e5e9;border-radius:0;background:#fff;color:#536c83}.tinkercad-inspector .group-type-options button:first-child{border-radius:7px 0 0 7px}.tinkercad-inspector .group-type-options button:last-child{border-right:0;border-radius:0 7px 7px 0}.tinkercad-inspector .group-type-options button:hover{background:#f5f9ff}.tinkercad-inspector .group-type-options button.on{z-index:1;margin:-1px;min-height:51px;height:51px;border:3px solid #4b86e4;border-radius:8px;background:#fff;color:#325b7a}.tinkercad-inspector .group-type-options button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tinkercad-inspector .group-mode-icon{width:37px;height:34px;overflow:visible;fill:#e3ecf4;stroke:#38546c;stroke-width:3;stroke-linejoin:round}.tinkercad-inspector .group-mode-icon .faded{opacity:.35}.tinkercad-inspector .group-mode-icon .overlap{fill:#91c7f0;stroke:none;opacity:.7}.tinkercad-inspector .inspector-name{display:flex;align-items:center;gap:8px;padding:7px 10px;color:#64788a;font-size:11px}.tinkercad-inspector .inspector-name input{flex:1;min-width:0;border:1px solid #dce4e9;border-radius:4px;padding:5px;color:#344d64;font-size:11px}.tinkercad-inspector .field-heading{margin-top:2px}
