/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.block{display:block}.grid{display:grid}.hidden{display:none}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--background:#fafafa;--foreground:#31465d;--topbar:#f9f9fa;--subbar:#f1f1f3;--panel:#fafafa;--tile:#f4f5f7;--tile-hover:#fff;--border:#dde2e8;--border-strong:#cfd8e2;--muted:#c5d0dc;--muted-strong:#9cabb8;--primary:#009cde;--active-tab:#4f8edb;--nav-text:#31465d;--workplane:#9adcf0;--workplane-soft:#9adcf047;--star:#ffd543;--shadow:0 2px 6px #23374b1f;--font-ui:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{background:var(--background);width:100%;height:100%;color:var(--foreground);font-family:var(--font-ui);letter-spacing:0;margin:0;overflow:hidden}a,button,input{font:inherit}button{border:0}.editor-stage{display:none}.editor-stage.active{display:block}.dashboard-shell{color:#263f57;background:#f4f7f9;width:100vw;min-width:320px;height:100vh;overflow:auto}.dashboard-topbar{z-index:8;background:#fafcfdf5;border-bottom:1px solid #d8e1e8;grid-template-columns:minmax(210px,280px) minmax(180px,1fr) auto;align-items:center;gap:18px;min-height:64px;padding:10px 22px;display:grid;position:sticky;top:0;box-shadow:0 1px 4px #1c314414}.dashboard-brand{color:#213c55;cursor:pointer;background:0 0;align-items:center;gap:10px;min-width:0;display:inline-flex}.dashboard-brand img{width:42px;height:42px;display:block}.dashboard-brand span{text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:800;overflow:hidden}.dashboard-search{color:#6a7d8f;background:#edf3f7;border:1px solid #d3dee7;border-radius:6px;align-items:center;gap:8px;min-width:0;height:40px;padding:0 12px;display:flex}.dashboard-search input{color:#243d56;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:14px}.dashboard-action-tile,.dashboard-nav-item,.dashboard-primary,.dashboard-segmented button,.dashboard-select,.project-card{transition:background .14s,border-color .14s,box-shadow .14s,transform .14s}.dashboard-primary{color:#fff;cursor:pointer;background:#009cde;border-radius:6px;justify-content:center;align-items:center;gap:7px;height:40px;padding:0 16px;display:inline-flex;box-shadow:0 2px 5px #0072a43d}.dashboard-primary:hover{background:#008dcc}.dashboard-layout{grid-template-columns:148px minmax(0,1fr);min-height:calc(100vh - 64px);display:grid}.dashboard-sidebar{background:#fff;border-right:1px solid #d9e3ea;flex-direction:column;justify-content:space-between;padding:18px 12px;display:flex}.dashboard-nav-stack{gap:8px;display:grid}.dashboard-nav-item{color:#40586f;cursor:pointer;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:10px;width:100%;height:42px;padding:0 12px;font-size:14px;font-weight:800;display:flex}.dashboard-nav-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dashboard-nav-item.active,.dashboard-nav-item:hover{color:#0a6f9b;background:#e8f6fc}.dashboard-settings-button{color:#536a80}.dashboard-main{min-width:0;padding:22px}.dashboard-actions-band{grid-template-columns:repeat(3,minmax(170px,1fr));gap:14px;margin-bottom:24px;display:grid}.dashboard-import-notice{color:#40586c;margin:-12px 0 20px;font-size:13px;font-weight:800}.dashboard-action-tile{color:#263f57;cursor:pointer;text-align:left;background:#fff;border:1px solid #d9e3eb;border-radius:8px;align-items:center;gap:14px;min-width:0;min-height:88px;padding:14px 16px;display:flex;box-shadow:0 1px 2px #1f34470d}.dashboard-action-tile:hover,.project-card:hover{border-color:#98d9ee;transform:translateY(-1px);box-shadow:0 5px 15px #203d521f}.dashboard-action-tile.create{background:#f4fcff;border-color:#8fd9f1}.dashboard-action-icon{color:#fff;background:#00aeea;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;display:grid}.dashboard-action-tile:not(.create) .dashboard-action-icon{color:#254056;background:#eef3f6}.dashboard-action-tile span:last-child{overflow-wrap:anywhere;min-width:0;font-size:16px;font-weight:800}.dashboard-section-header{justify-content:space-between;align-items:end;gap:16px;min-width:0;margin-bottom:14px;display:flex}.dashboard-section-header h1{color:#213c55;margin:0;font-size:28px;line-height:1.1}.dashboard-section-header span{color:#708295;margin-top:4px;font-size:13px;display:inline-block}.dashboard-controls{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.dashboard-select{color:#40586f;background:#fff;border:1px solid #d6e0e8;border-radius:6px;align-items:center;gap:7px;height:36px;padding:0 9px;display:inline-flex}.dashboard-select select{min-width:82px;color:inherit;font:inherit;background:0 0;border:0;outline:0}.dashboard-segmented{background:#fff;border:1px solid #d6e0e8;border-radius:6px;grid-template-columns:36px 36px;height:36px;display:inline-grid;overflow:hidden}.dashboard-segmented button{color:#5d7184;cursor:pointer;background:0 0;place-items:center;display:grid}.dashboard-segmented button.active{color:#fff;background:#40586f}.project-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px;display:grid}.project-list{gap:10px;display:grid}.project-card{color:#263f57;text-align:left;background:#fff;border:1px solid #d9e3eb;border-radius:8px;min-width:0;padding:10px;display:grid;position:relative;box-shadow:0 1px 2px #1f34470d}.project-list .project-card{padding-right:50px}.project-card-open{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;grid-template-rows:auto auto auto;gap:9px;padding:0;display:grid}.project-list .project-card-open{grid-template-rows:auto auto;grid-template-columns:126px minmax(0,1fr);align-items:center}.project-preview{aspect-ratio:16/10;background:#eaf8fd;border-radius:6px;display:block;position:relative;overflow:hidden}.project-list .project-preview{grid-row:1/span 2}.project-delete{color:#5e7183;cursor:pointer;opacity:.92;background:#fffffff0;border:1px solid #d7e1e8;border-radius:6px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 2px 6px #182b3c1a}.project-card:hover .project-delete,.project-delete:focus-visible{opacity:1}.project-delete:hover{color:#b01925;background:#fff4f5;border-color:#efb7be}.dashboard-confirm-overlay{z-index:70;background:#17263457;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dashboard-confirm-dialog{background:#fff;border:1px solid #cbd9e3;border-radius:8px;width:min(420px,100%);overflow:hidden;box-shadow:0 20px 55px #1f31433d}.dashboard-confirm-dialog header{border-bottom:1px solid #e5edf3;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 12px;display:flex}.dashboard-confirm-dialog header strong{color:#1d3448;font-size:16px}.dashboard-confirm-dialog header button{color:#60778b;background:#fff;border:1px solid #cbd9e3;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.dashboard-confirm-dialog p{color:#40586c;margin:0;padding:18px;font-size:14px;line-height:1.45}.dashboard-confirm-dialog p span{color:#1d3448;font-weight:800}.dashboard-confirm-actions{justify-content:flex-end;gap:10px;padding:0 18px 18px;display:flex}.dashboard-confirm-actions button{border-radius:6px;height:38px;padding:0 16px;font-weight:800}.dashboard-confirm-cancel{color:#40586c;background:#fff;border:1px solid #cbd9e3}.dashboard-confirm-delete{color:#fff;background:#c82031;border:1px solid #c82031}.project-empty{color:#6d8193;background:#fff;border:1px dashed #cbd9e3;border-radius:8px;align-content:center;place-items:center;gap:8px;min-height:190px;display:grid}.project-empty strong{color:#263f57;font-size:18px}.preview-grid{transform-origin:50% 100%;background-image:linear-gradient(#00aeea30 1px,#0000 0),linear-gradient(90deg,#00aeea30 1px,#0000 0);background-size:18px 18px;position:absolute;inset:0;transform:perspective(360px)rotateX(56deg)translateY(20px)scale(1.3)}.project-thumbnail-image{object-fit:cover;width:100%;height:100%;display:block}.preview-empty-mark{color:#6d8193;text-align:center;white-space:nowrap;font-size:12px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preview-shape{border-radius:5px;display:block;position:absolute;box-shadow:inset -10px -9px #00000024}.preview-shape.cube{background:#d91f2b;width:32%;height:36%;top:29%;left:33%;transform:skewY(-8deg)}.preview-shape.cylinder{background:#2f9a62;border-radius:50%/18%;width:18%;height:28%;top:39%;right:19%}.preview-shadow{background:#263f5729;height:18%;position:absolute;bottom:19%;left:31%;right:18%;transform:skew(-22deg)}.project-preview.accent-cyan{background:#e7f8fd}.project-preview.accent-green{background:#e9f7ef}.project-preview.accent-gold{background:#fff6df}.project-preview.accent-red{background:#fff0f0}.project-card-title{color:#263f57;font-size:15px;font-weight:800}.project-card-meta,.project-card-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-card-meta{color:#6d8193;font-size:12px}.toolbar-home-section{min-width:68px}.editor-nav-group{border-right:1px solid #d7e0e8}.editor-home-control svg{width:25px;height:25px}.dashboard-settings-panel{z-index:12;color:#263f57;background:#fffffffa;border:1px solid #d6e1ea;border-radius:8px;gap:14px;width:min(380px,100vw - 32px);padding:16px;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 32px #182c3e2e}.dashboard-settings-panel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-settings-panel header strong{font-size:17px}.dashboard-settings-panel header button{color:#52697d;cursor:pointer;background:#eef3f6;border-radius:5px;place-items:center;width:30px;height:30px;display:grid}.dashboard-setting-row{color:#52697d;gap:7px;font-size:13px;font-weight:800;display:grid}.dashboard-setting-row input,.dashboard-setting-row select{color:#263f57;width:100%;min-width:0;height:38px;font:inherit;background:#fff;border:1px solid #ccd9e3;border-radius:6px;outline:0;padding:0 10px;font-weight:600}.dashboard-setting-row input:disabled{color:#95a5b4;background:#edf2f6}@media (max-width:860px){.dashboard-topbar{grid-template-columns:1fr auto}.dashboard-search{grid-column:1/-1}.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{border-bottom:1px solid #d9e3ea;border-right:0;flex-direction:row;gap:8px;padding:10px;display:flex}.dashboard-nav-stack{flex:auto;gap:8px;display:flex}.dashboard-nav-item{flex:1 1 0;justify-content:center;min-width:0;padding:0 10px}.dashboard-settings-button{flex:1 1 0}.dashboard-actions-band{grid-template-columns:1fr}.dashboard-section-header{flex-direction:column;align-items:stretch}.dashboard-controls{justify-content:flex-start}}.sketchforge-editor{background:var(--background);width:100vw;min-width:320px;height:100vh;overflow:hidden}.top-nav{z-index:20;background:var(--topbar);border-bottom:1px solid var(--border);align-items:center;height:48px;display:flex;position:fixed;inset:0 0 auto}.sf-logo{cursor:pointer;place-items:center;display:grid}.sf-logo,.sf-logo img{width:48px;height:48px}.sf-logo img{display:block}.nav-icon{color:#28435d;cursor:pointer;background:0 0;place-items:center;width:48px;height:48px;display:grid}.mode-tab:hover,.nav-icon:hover{background:#eef4f7}.menu-button{color:#2c455f}.nav-spacer{flex:1}.mode-tabs{border-left:1px solid var(--border);height:48px;display:flex}.mode-tab{color:#2c455f;border-right:1px solid var(--border);cursor:pointer;background:0 0;place-items:center;width:50px;height:48px;display:grid}.mode-tab svg{width:39px;height:39px}.mode-tab.active{color:#fff}.mode-tab.active,.mode-tab.active:hover{background:var(--active-tab)}.collaborator{width:52px}.avatar,.collaborator{border-left:1px solid var(--border)}.avatar{cursor:pointer;background:radial-gradient(circle at 50% 39%,#f3f6fb 0 12px,#0000 13px),radial-gradient(circle at 50% 77%,#f3f6fb 0 22px,#0000 23px),#5f95df;width:49px;height:48px;position:relative;box-shadow:inset 0 0 0 3px #77a4e7}.secondary-toolbar{z-index:19;background:linear-gradient(#fbfcfd,#f4f7f9 54%,#edf2f5);border-bottom:1px solid #d2dce5;align-items:stretch;height:76px;display:flex;position:fixed;inset:0 0 auto;box-shadow:inset 0 1px #ffffffeb,0 1px 2px #2036480f}.tool-group{border-right:1px solid #d7e0e8;height:76px;display:flex}.tool-group.right{border-left:1px solid #d7e0e8}.toolbar-section{background:linear-gradient(90deg,#ffffff75,#ffffff1a 44%,#d2dee82e);border-right:1px solid #cbd7e2d1;flex-direction:column;justify-content:flex-start;min-width:88px;height:76px;display:flex;position:relative}.tool-group .toolbar-section:last-child{border-right:0}.toolbar-section.compact{min-width:78px}.toolbar-section-label{color:#607589;text-align:center;text-transform:uppercase;letter-spacing:0;white-space:nowrap;text-shadow:0 1px #ffffffdb;-webkit-user-select:none;user-select:none;order:1;height:24px;padding:6px 9px 0;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:800;line-height:16px}.toolbar-section-tools{order:2;justify-content:center;align-items:center;height:52px;padding:0 3px 1px;display:flex}.toolbar-spacer{flex:1}.toolbar-icon{color:#7890a4;cursor:pointer;background:0 0;border-radius:3px;place-items:center;width:43px;height:43px;transition:background .12s,color .12s,box-shadow .12s;display:grid}.toolbar-icon.disabled{color:#d6e0e9;cursor:default;opacity:1}.toolbar-icon:disabled{pointer-events:none}.toolbar-icon:not(.disabled):hover{color:#29465f;background:#ffffffa8;box-shadow:inset 0 0 0 1px #b9cad8db}.toolbar-icon.active{color:#0b8dbd;background:#ffffffd6;box-shadow:inset 0 0 0 2px #00a6db47}.toolbar-icon .toolbar-sprite-icon,.toolbar-icon .vector-toolbar-sprite-icon,.toolbar-icon svg{width:32px;height:32px}.toolbar-sprite-icon{background-size:var(--sprite-width) var(--sprite-height);background-position:var(--sprite-x) var(--sprite-y)}.toolbar-sprite-icon,.vector-toolbar-sprite-icon{background-repeat:no-repeat;filter:grayscale()contrast(.78)brightness(1.35);opacity:.22;transition:filter .12s,opacity .12s;display:block}.vector-toolbar-sprite-icon{background-size:var(--vector-sprite-width) var(--vector-sprite-height);background-position:var(--vector-sprite-x) var(--vector-sprite-y);flex:none}.toolbar-icon.disabled .vector-toolbar-sprite-icon{opacity:.22}.action-buttons button .vector-toolbar-sprite-icon,.inspector-header-icon .vector-toolbar-sprite-icon,.shape-menu-trigger .vector-toolbar-sprite-icon,.toolbar-icon:not(.disabled) .toolbar-sprite-icon,.toolbar-icon:not(.disabled) .vector-toolbar-sprite-icon{filter:grayscale(.35)sepia(.12)saturate(1.7)hue-rotate(165deg)contrast(1.18)brightness(.78)drop-shadow(0 0 1px #fffffff2)drop-shadow(0 0 3px #009cde33);opacity:.94}.action-buttons button:hover .vector-toolbar-sprite-icon,.inspector-header-icon:hover .vector-toolbar-sprite-icon,.shape-menu-trigger.active .vector-toolbar-sprite-icon,.shape-menu-trigger:hover .vector-toolbar-sprite-icon,.toolbar-icon:not(.disabled):hover .toolbar-sprite-icon,.toolbar-icon:not(.disabled):hover .vector-toolbar-sprite-icon{filter:grayscale(.1)sepia(.22)saturate(2.1)hue-rotate(164deg)contrast(1.2)brightness(.72)drop-shadow(0 0 1px #fff)drop-shadow(0 0 5px #009cde61);opacity:1}.inspector-header-icon.active .vector-toolbar-sprite-icon,.toolbar-icon.active .toolbar-sprite-icon,.toolbar-icon.active .vector-toolbar-sprite-icon{filter:grayscale(.05)sepia(.22)saturate(2.35)hue-rotate(164deg)contrast(1.2)brightness(.7)drop-shadow(0 0 1px #fff)drop-shadow(0 0 5px #009cde6b);opacity:1}.action-buttons{order:2;justify-content:center;align-items:center;gap:5px;height:52px;padding:0 6px 2px;display:flex}.toolbar-actions-section{border-left:1px solid #cbd7e2d1;border-right:0;flex:0 0 152px;min-width:152px}.toolbar-shapes-section{min-width:82px}.shape-menu-trigger{color:#244057;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;width:45px;height:43px;transition:background .12s,box-shadow .12s,border-color .12s;display:grid;position:relative}.shape-menu-trigger.active,.shape-menu-trigger:hover{background:#ffffffa8;border-color:#0000;box-shadow:inset 0 0 0 1px #b9cad8db}.shape-menu-trigger .vector-toolbar-sprite-icon{width:32px;height:32px}.shape-menu-dropdown{z-index:60;color:#253f57;background:#fafcfdfa;border:1px solid #cfdce5;border-radius:4px;width:244px;max-height:min(650px,100vh - 92px);position:absolute;top:76px;left:0;overflow:hidden;box-shadow:0 14px 34px #1a2f4238}.shape-menu-title{color:#294760;background:linear-gradient(#fff,#f3f7fa);border-bottom:1px solid #dbe5ed;height:42px;padding:0 15px;font-size:16px;font-weight:800;line-height:42px}.shape-menu-list{flex-direction:column;gap:4px;max-height:min(608px,100vh - 136px);padding:8px;display:flex;overflow-y:auto}.shape-menu-item{color:#2c455c;cursor:pointer;touch-action:manipulation;background:#f8fafb;border:1px solid #0000;border-radius:4px;justify-content:flex-start;align-items:center;gap:11px;min-height:58px;padding:5px 10px 5px 7px;font-size:14px;font-weight:800;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;display:flex}.shape-menu-item:hover{background:#fff;border-color:#cbd9e3;transform:translateY(-1px);box-shadow:0 4px 12px #1c304421}.shape-menu-item img{object-fit:contain;pointer-events:none;flex:none;width:48px;height:48px}.shape-menu-item span{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:150px;overflow:hidden}.action-buttons button{box-sizing:border-box;color:#244057;letter-spacing:0;cursor:pointer;text-transform:uppercase;width:43px;height:43px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:800;line-height:1;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.action-buttons button:hover{background:#ffffffa8;border-color:#0000;box-shadow:inset 0 0 0 1px #b9cad8db}.action-buttons .action-icon-button{color:#244057;text-transform:none;place-items:center;width:43px;display:grid}.action-buttons .action-icon-button .vector-toolbar-sprite-icon,.action-buttons button .vector-toolbar-sprite-icon{width:32px;height:32px}.top-dropdown{z-index:45;color:#263f56;background:#fff;border:1px solid #cfdce5;border-radius:3px;width:218px;padding:6px 0;position:fixed;top:76px;left:96px;box-shadow:0 8px 22px #1d30422e}.top-dropdown button{color:#263f56;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 14px;display:flex}.top-dropdown button:hover{background:#eef8fc}.top-action-panel{z-index:44;color:#253f57;background:#fff;border:1px solid #cfdce5;border-radius:3px;width:322px;position:fixed;top:84px;right:18px;box-shadow:0 10px 30px #1c304433}.top-action-panel header{border-bottom:1px solid #dde7ee;justify-content:space-between;align-items:center;height:48px;padding:0 9px 0 14px;display:flex}.top-action-panel strong{font-size:17px;font-weight:800}.top-action-panel header button{color:#4f6578;cursor:pointer;background:0 0;place-items:center;width:32px;height:32px;display:grid}.top-action-panel header button:hover{background:#eef8fc}.top-action-body{gap:10px;padding:13px;display:grid}.top-action-body p{color:#51697c;margin:0;font-size:13px;font-weight:700;line-height:1.35}.top-action-body button{color:#173b5a;cursor:pointer;background:#f7fafc;border:1px solid #d8e3ea;border-radius:3px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.top-action-body button:hover{background:#eef8fc}.top-action-body button .vector-toolbar-sprite-icon,.top-action-body button svg{width:20px;height:20px}.top-action-body .import-drop-zone{color:#244057;text-align:center;background:linear-gradient(#ffffffdb,#f4f8fbf5);border:1.5px dashed #5d7c969e;border-radius:5px;align-content:center;justify-items:center;gap:8px;min-height:132px;padding:17px 14px;display:grid}.top-action-body .import-drop-zone:hover{background:#fff;border-color:#009fe3c2;box-shadow:inset 0 0 0 1px #009fe31f,0 4px 14px #1e32461a}.import-drop-zone svg{color:#244057}.import-drop-zone .vector-toolbar-sprite-icon{width:30px;height:30px}.import-drop-zone strong{font-size:13px;font-weight:800;line-height:1.25}.import-drop-zone span{color:#62778a;font-size:12px;font-weight:700}.ai-build-body{width:430px}.top-action-panel:has(.ai-build-body){width:456px}.ai-build-body label{gap:6px;display:grid}.ai-build-body label span{color:#40586d;font-size:12px;font-weight:800}.ai-build-body textarea{resize:vertical;color:#18364f;background:#f8fbfd;border:1px solid #d6e2ea;border-radius:3px;min-height:104px;padding:9px;font:12px/1.45 Consolas,Courier New,monospace}.ai-build-body label:first-child textarea{min-height:154px}.hidden-file-input{display:none}.editor-toast{z-index:50;color:#2b455c;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#ffffffeb;border:1px solid #cfdce5;border-radius:3px;max-width:min(420px,100vw - 380px);padding:8px 12px;font-size:13px;font-weight:800;position:fixed;bottom:18px;left:64px;overflow:hidden;box-shadow:0 2px 10px #1c304424}.editor-body{background:var(--background);min-height:0;display:flex;position:fixed;inset:76px 0 0}.workplane-stage{background:var(--background);flex:1;min-width:0;height:calc(100vh - 76px);position:relative;overflow:hidden}.view-cube{z-index:4;perspective:420px;color:#96a2ad;text-align:center;text-transform:uppercase;filter:drop-shadow(0 2px 3px #2d405224);opacity:.9;pointer-events:none;width:82px;height:82px;font-size:10px;font-weight:800;line-height:1;position:absolute;top:22px;left:28px}.view-cube-inner{width:58px;height:58px;transform-style:preserve-3d;will-change:transform;margin:12px;transition:transform 80ms linear;position:relative}.cube-face{backface-visibility:hidden;background:#ffffffe6;border:2px solid #cfd7df;place-items:center;width:58px;height:58px;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffffad}.cube-top{background:#f8fafcf0;transform:rotateX(-90deg)translateZ(29px)}.cube-bottom{color:#a8b1ba;background:#eef3f7e6;transform:rotateX(90deg)translateZ(29px)}.cube-front{color:#8895a2;transform:translateZ(29px)}.cube-back{color:#a8b1ba;transform:rotateY(180deg)translateZ(29px)}.cube-right{transform:rotateY(90deg)translateZ(29px)}.cube-left{transform:rotateY(-90deg)translateZ(29px)}.camera-controls{z-index:4;gap:4px;display:grid;position:absolute;top:173px;left:8px}.camera-controls button{color:#173b5a;cursor:pointer;background:#ffffffe0;border:1px solid #dfe6eb;border-radius:999px;place-items:center;width:51px;height:51px;display:grid;box-shadow:0 1px 2px #1e324614}.camera-controls button:hover{color:#000;border-color:#c4d2dc}.workplane-plane,.workplane-wrap{position:absolute;inset:0;overflow:hidden}.workplane-plane{background:#f8fbfc}.workplane-plane:before{content:none}.three-workplane-host{z-index:1;touch-action:none;cursor:grab;position:absolute;inset:0}.three-workplane-host:active{cursor:grabbing}.workplane-wrap.placing-workplane .three-workplane-host,.workplane-wrap.placing-workplane .three-workplane-host:active{cursor:crosshair}.three-workplane-host canvas{width:100%;height:100%;display:block}.selection-marquee{z-index:3;pointer-events:none;background:#009fe31a;border:1px solid #009fe3d1;position:absolute;box-shadow:inset 0 0 0 1px #ffffff6b}.transform-overlay{z-index:4}.transform-guides,.transform-overlay{pointer-events:none;position:absolute;inset:0}.transform-guides{overflow:visible}.transform-overlay.hide-selection-chrome .dimension-label,.transform-overlay.hide-selection-chrome .rotate-handle,.transform-overlay.hide-selection-chrome .transform-guides,.transform-overlay.hide-selection-chrome .transform-handle{opacity:0}.transform-guides line{stroke:#1f272eb8;stroke-width:1.15px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.transform-guides #dimension-arrow path{fill:#141b21eb}.align-overlay{z-index:5}.align-guides,.align-overlay{pointer-events:none;position:absolute;inset:0}.align-guides{overflow:visible}.align-guides line{stroke:#00aeeaeb;stroke-width:1.5px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.align-dot{cursor:pointer;pointer-events:auto;background:#192431;border:2px solid #f8fbfc;border-radius:999px;width:14px;height:14px;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #0d1c2852}.align-dot:focus-visible:not(:disabled),.align-dot:hover:not(:disabled){background:#00aeea;outline:none;box-shadow:0 0 0 4px #00aeea2e,0 1px 5px #0d1c2852}.align-dot.disabled,.align-dot:disabled{box-shadow:none;cursor:default;opacity:.72;background:#9aa6ae}.mirror-overlay{z-index:5}.mirror-guides,.mirror-overlay{pointer-events:none;position:absolute;inset:0}.mirror-guides{overflow:visible}.mirror-guides line{stroke:#00aeeac7;stroke-width:1.45px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.mirror-handle{color:#192431;cursor:pointer;pointer-events:auto;width:64px;height:32px;transform:translate(-50%,-50%) rotate(var(--mirror-angle,0deg));background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.mirror-handle-icon{filter:drop-shadow(0 1px 1px #fffffff5)drop-shadow(0 1px 4px #0d1c2847);width:64px;height:24px;overflow:visible}.mirror-handle-icon path{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.mirror-handle:focus-visible,.mirror-handle:hover{color:#00aeea;outline:none}.dimension-mark .dimension-extension,.dimension-mark .dimension-line{stroke:#141b21e0;stroke-width:1.25px;stroke-dasharray:none;vector-effect:non-scaling-stroke}.dimension-mark .dimension-line{marker-start:url(#dimension-arrow);marker-end:url(#dimension-arrow)}.dimension-label{z-index:3;cursor:text;min-width:43px;background:#fffffff0;border:1px solid #dce5ebdb;border-radius:3px;padding:5px 7px;box-shadow:0 1px 4px #142a3a17}.dimension-input,.dimension-label{color:#16283a;text-align:center;pointer-events:auto;transform:translate3d(var(--overlay-x,0),var(--overlay-y,0),0) translate(-50%,-50%);will-change:transform;font-size:14px;font-weight:500;line-height:1;position:absolute;top:0;left:0}.dimension-input{z-index:9;width:64px;background:#fffffffa;border:1px solid #009fe3d9;border-radius:3px;outline:none;padding:4px 6px;box-shadow:0 2px 8px #009fe32e}.rotation-protractor-plane{z-index:1;pointer-events:auto;cursor:grab;opacity:.9;filter:drop-shadow(0 1px 2px #142a3a24);position:absolute;inset:0}.rotation-protractor-plane:active{cursor:grabbing}.rotation-protractor-inner,.rotation-protractor-outer{fill:#68cbe81a;stroke:#009fe3d9;stroke-width:1.3px;vector-effect:non-scaling-stroke}.rotation-protractor-inner{fill:none;stroke:#009fe375}.rotation-tick{stroke:#009fe3b3;stroke-width:1px;vector-effect:non-scaling-stroke}.rotation-tick.major{stroke:#0079b0e6;stroke-width:1.6px}.rotation-zero-line{stroke:#2f3d4661;stroke-width:1.1px;vector-effect:non-scaling-stroke}.rotation-current-line{stroke:#f05a22;stroke-width:1.8px;vector-effect:non-scaling-stroke}.rotation-zero-label{fill:#16283a;paint-order:stroke;stroke:#ffffffe0;stroke-width:4px;text-anchor:middle;dominant-baseline:middle;font-size:13px;font-weight:700}.rotate-handle,.transform-handle{z-index:2;pointer-events:auto;cursor:nwse-resize;width:6px;height:6px;transform:translate3d(var(--overlay-x,0),var(--overlay-y,0),0) translate(-50%,-50%);will-change:transform;padding:0;position:absolute;top:0;left:0}.transform-handle{z-index:5;background:#e9eef1;border:1.5px solid #293743;box-shadow:0 1px 2px #141e2829}.transform-handle.corner,.transform-handle.height-lift,.transform-handle.height-mid,.transform-handle.height-top{background:#edf2f4;width:8px;height:8px}.transform-handle.dark,.transform-handle.edge{background:#293743;width:6px;height:6px}.transform-handle.height-lift,.transform-handle.height-mid,.transform-handle.height-top{cursor:ns-resize}.transform-handle.height-lift{width:0;height:0;box-shadow:none;background:0 0;border:6px solid #0000;border-top:0;border-bottom:13px solid #293743}.transform-handle.height-lift.lower{border-top:13px solid #293743;border-bottom:0}.rotate-handle{z-index:3;color:#2f3d4699;width:42px;height:42px;box-shadow:none;cursor:grab;opacity:1;transform:translate3d(var(--overlay-x,0),var(--overlay-y,0),0) translate(-50%,-50%) rotate(var(--rotate-handle-angle,0deg));background:0 0;border:0;border-radius:0}.rotate-handle:hover{color:#2f3d46db}.rotate-handle-icon,.rotate-handle-icon svg{width:18px;height:18px;display:block}.rotate-handle-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rotate-handle-icon svg{fill:currentColor}.rotation-edit{z-index:9;color:#16283a;pointer-events:auto;width:58px;transform:translate3d(var(--overlay-x,0),var(--overlay-y,0),0) translate(-50%,-50%);will-change:transform;background:#fffffffa;border:1px solid #c4d5e0eb;border-radius:4px;align-items:center;gap:2px;padding:4px 6px;font-size:13px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:0;left:0;box-shadow:0 2px 8px #142a3a26}.rotation-edit input{width:100%;min-width:0;color:inherit;font:inherit;text-align:right;background:0 0;border:0;outline:none}.rotation-edit span{color:#506579}.rotation-readout{z-index:3;color:#16283a;text-align:center;pointer-events:none;min-width:34px;transform:translate3d(var(--overlay-x,0),var(--overlay-y,0),0) translate(-50%,-50%);will-change:transform;background:#fffffff5;border:1px solid #c4d5e0cc;border-radius:4px;padding:5px 8px;font-size:14px;font-weight:600;line-height:1;position:absolute;top:0;left:0;box-shadow:0 2px 8px #142a3a24}.shape-inspector{z-index:8;color:#243d56;background:#f4f6f8f5;border-left:1px solid #d8e0e7;flex-direction:column;width:320px;max-height:none;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-2px 0 10px #243d5614}.shape-inspector-header{background:#fcfdfef5;border-bottom:1px solid #dce4eb;align-items:center;height:50px;padding:0 12px 0 9px;display:flex}.shape-inspector-header strong{flex:1;padding-left:13px;font-size:18px;font-weight:800}.inspector-header-actions{align-items:center;gap:9px;display:flex}.shape-inspector button{font:inherit}.inspector-snap-dock{background:linear-gradient(#f4f6f800,#f4f6f8fa 18px,#f4f6f8fa);border-top:1px solid #d8e0e7bf;justify-content:flex-end;margin-top:auto;padding:14px 12px 16px;display:flex;position:sticky;bottom:0}.inspector-header-icon{color:#40596f;cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:38px;display:grid}.inspector-header-icon .vector-toolbar-sprite-icon{transform-origin:50%;transform:scale(.9)}.inspector-header-icon.active{color:#0c9dd3}.shape-state-card{background:#fffffffa;border-radius:8px;grid-template-columns:1fr 1fr;gap:28px;margin:10px 10px 12px;padding:19px 28px 22px;display:grid}.shape-state-card button{color:#4e6174;cursor:pointer;background:0 0;place-items:center;gap:6px;min-width:0;display:grid}.shape-state-card button.active{color:#7cbcff}.large-hole-swatch,.large-solid-swatch{border-radius:999px;width:64px;height:64px;display:block}.large-solid-swatch{background:var(--swatch);border:4px solid #7bb8ff;box-shadow:inset 0 0 0 4px #fff}.large-hole-swatch{background:repeating-linear-gradient(135deg,#dedede 0 7px,#b8b8b8 7px 14px);box-shadow:inset 0 0 0 4px #ffffff8c}.range-property input:disabled,.shape-state-card button:disabled{cursor:default;opacity:.52}.color-card{background:#fffffffa;border-radius:8px;margin:0 10px 12px;padding:13px 14px 15px}.color-card-header{color:#31465d;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px;font-weight:750;display:flex}.color-value{color:#718296;font-size:12px;font-weight:800}.color-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.color-grid button{aspect-ratio:1;background:var(--shape-swatch);cursor:pointer;border:1px solid #1f324438;border-radius:999px;width:100%;min-width:0;padding:0;box-shadow:inset 0 0 0 2px #ffffff80}.color-grid button.selected{border-color:#0c9dd3;box-shadow:0 0 0 3px #0c9dd338,inset 0 0 0 3px #fff}.color-grid button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 7px #1c304429,inset 0 0 0 2px #ffffff9e}.color-grid button:disabled{cursor:default;opacity:.5}.custom-color{color:#50677a;cursor:pointer;background:#f4f8fb;border:1px solid #d3dfe8;border-radius:999px;grid-column:span 3;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;min-width:0;height:32px;padding:4px 10px 4px 5px;font-size:13px;font-weight:750;display:grid}.custom-color input{cursor:pointer;background:0 0;border:0;width:24px;height:24px;padding:0}.custom-color span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-color input:disabled,.custom-color.disabled{cursor:default;opacity:.55}.property-card{background:#fffffffa;border-radius:8px;margin:0 10px 10px;padding:0 14px 18px}.property-card-header{color:#31465d;cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;height:47px;padding:0;font-size:18px;font-weight:500;display:flex}.property-card-header svg{transition:transform .15s}.property-card-header svg.collapsed{transform:rotate(180deg)}.property-card-header:hover{color:#1f8ec3}.property-list{gap:17px;display:grid}.range-property{gap:9px}.range-property,.text-property{color:#637286;font-size:15px;font-weight:650;display:grid}.text-property{gap:8px}.select-property{color:#637286;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;font-size:15px;font-weight:650;display:grid}.select-property select,.text-property input{color:#526174;width:100%;height:31px;font:600 15px/1 var(--font-ui);letter-spacing:0;background:#fff;border:1px solid #cbd6e1;border-radius:999px;outline:0;padding:0 12px;box-shadow:inset 0 1px 1px #192d410a}.select-property select{cursor:pointer}.select-property select:focus,.text-property input:focus{border-color:#74bdf0;box-shadow:0 0 0 3px #009cde24}.select-property select:disabled,.text-property input:disabled{cursor:default;opacity:.52}.range-control{height:22px;padding:0 21px;position:relative}.range-control output,.range-value-input{z-index:2;top:-3px;left:clamp(22px,calc(var(--slider-pos) + 7px),calc(100% - 22px));color:#617287;text-align:center;background:#fff;border:1px solid #cbd6e1;border-radius:999px;min-width:31px;height:31px;padding:0 8px;font-size:15px;line-height:29px;position:absolute;transform:translate(-50%)}.range-control output{cursor:text}.range-value-input{width:70px;font:700 15px/29px var(--font-ui);outline:0}.range-control input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:0}.range-control input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#00a6db 0 var(--slider-pos),#dbe1e7 var(--slider-pos) 100%);border-radius:999px;height:4px}.range-control input[type=range]::-webkit-slider-thumb{appearance:none;width:1px;height:1px}.range-control input[type=range]::-moz-range-track{background:#dbe1e7;border-radius:999px;height:4px}.range-control input[type=range]::-moz-range-progress{background:#00a6db;border-radius:999px;height:4px}.inspector-header-icon:hover,.shape-state-card button:not(:disabled):hover{background:#eef8fc}.shape-floating-controls{z-index:6;color:#173b5a;background:#fffffff0;border:1px solid #cfdce5;border-radius:5px;align-items:center;gap:12px;min-width:min(460px,100vw - 420px);max-width:calc(100vw - 420px);padding:10px 12px 10px 14px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #162d4429}.selected-shape-name{flex:1;gap:2px;min-width:0;display:grid}.selected-shape-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;line-height:1.1;overflow:hidden}.selected-shape-name span{color:#607586;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.1}.shape-control-cluster{gap:6px;display:flex}.shape-control-cluster button{color:#173b5a;cursor:pointer;background:#f7fafc;border:1px solid #d8e3ea;border-radius:4px;place-items:center;width:34px;height:34px;display:grid}.shape-control-cluster button:hover{background:#eaf5fa;border-color:#a9c7d7}.sidebar-collapse{z-index:5;cursor:pointer;background:#f5f7f8;border:1px solid var(--border);border-right:0;place-items:center;width:18px;height:56px;display:grid;position:absolute;top:500px;right:-1px}.sidebar-collapse span{clip-path:polygon(22% 0,100% 50%,22% 100%,0 84%,56% 50%,0 16%);background:#111;width:13px;height:25px}.grid-settings{z-index:6;color:#435a72;font-size:13px;position:absolute;bottom:11px;right:12px}.settings-button{color:#6d7f91;cursor:pointer;background:#fbfbfc;border:1px solid #d9e0e7;border-radius:3px;width:90px;height:22px;margin:0 0 10px auto;display:block}.snap-row{color:#435a72;white-space:nowrap;gap:8px;line-height:22px;display:flex;position:relative}.snap-row,.snap-select{align-items:center;font-size:13px;font-weight:500}.snap-select{color:#6b7784;cursor:pointer;background:#fff;border:1px solid #d8e0e8;border-radius:2px;justify-content:space-between;width:75px;height:22px;padding:0 5px 0 9px;line-height:20px;display:inline-flex}.snap-menu{z-index:8;border:1px solid var(--border);width:92px;box-shadow:var(--shadow);background:#fff;padding:4px 0;position:absolute;bottom:26px;right:0}.snap-menu button{color:#425a72;text-align:left;cursor:pointer;background:0 0;width:100%;padding:6px 9px;display:block}.snap-menu .selected,.snap-menu button:hover{background:#eef4f7}.workspace-modal{z-index:30;place-items:start center;padding-top:36px;display:grid;position:absolute;inset:0}.workspace-modal-card{z-index:2;color:#264158;background:#fff;border:1px solid #cfd9e2;border-radius:3px;width:520px;max-width:calc(100vw - 32px);min-height:min(720px,100vh - 104px);max-height:calc(100vh - 104px);position:relative;overflow:hidden;box-shadow:0 16px 48px #192a3a47}.workspace-modal-backdrop{z-index:1;cursor:default;background:#27343f14;border:0;position:absolute;inset:0}.workspace-modal-header{border-bottom:1px solid #d8e1e8;justify-content:space-between;align-items:center;height:55px;padding:0 10px 0 16px;display:flex}.workspace-modal-header strong{font-size:18px;font-weight:800}.workspace-modal-header button{color:#50677a;cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;display:grid}.workspace-modal-body{gap:20px;max-height:calc(100vh - 159px);padding:18px 18px 22px;display:grid;overflow:auto}.workspace-row,.workspace-select,.workspace-toggle{grid-template-columns:145px 1fr;align-items:center;gap:8px;min-height:20px;font-size:14px;font-weight:700;display:grid}.workspace-toggle{border-bottom:1px solid #e2e9ee;padding-bottom:16px}.workspace-toggle input{accent-color:#0098c7;justify-self:end;width:18px;height:18px}.workspace-color-button{background:var(--workspace-bg);cursor:pointer;border:1px solid #b7c5cf;border-radius:2px;justify-self:end;width:22px;height:22px}.workspace-range{border-bottom:1px solid #e2e9ee;grid-template-columns:145px 1fr;align-items:start;gap:8px;padding-bottom:14px;font-size:14px;font-weight:700;display:grid}.workspace-range input{accent-color:#0fa7cf;width:100%}.workspace-range small{color:#728697;grid-column:2;justify-content:space-between;font-size:12px;font-weight:700;display:flex}.workspace-select select{color:#2f4a61;background:#fff;border:1px solid #cfd9e2;border-radius:2px;width:100%;height:26px;padding:0 26px 0 8px;font-weight:700}.workspace-dimensions{grid-template-columns:1fr 1fr;gap:80px;margin-left:153px;display:grid}.workspace-dimensions label{color:#50677a;gap:6px;font-size:13px;font-weight:800;display:grid}.workspace-dimensions input{color:#243d56;background:#fff;border:1px solid #cfd9e2;border-radius:2px;width:80px;height:34px;padding:0 7px;font-weight:800}.make-default-button{color:#264158;cursor:pointer;background:#f7fafc;border:1px solid #d6e0e8;border-radius:3px;width:240px;height:30px;margin-left:153px;font-size:13px;font-weight:800}.make-default-button:hover,.workspace-modal-header button:hover{background:#eef8fc}.shapes-sidebar{z-index:10;background:var(--panel);border-left:1px solid #eef1f4;flex:0 0 276px;width:276px;height:calc(100vh - 76px);position:relative;overflow:hidden}.sidebar-tools{grid-template-columns:repeat(3,1fr);height:72px;display:grid}.sidebar-tool{color:var(--primary);cursor:pointer;background:0 0;place-items:center;display:grid}.sidebar-tool svg{width:58px;height:58px}.sidebar-tool:hover{background:#eef8fc}.category-row{align-items:center;gap:2px;height:62px;padding:5px 4px 10px 9px;display:flex;position:relative}.category-button{color:#40576e;justify-content:space-between;align-items:center;width:208px;height:47px;padding:0 11px 0 14px;font-size:16px;display:flex}.category-button,.search-button{cursor:pointer;background:#f9fafb;border:1px solid #dfe6ed;border-radius:3px;box-shadow:0 1px 3px #14283c12}.search-button{color:#050505;place-items:center;width:48px;height:47px;display:grid}.category-button:hover,.search-button:hover{background:#fff}.sidebar-search{height:38px;box-shadow:var(--shadow);background:#fff;border:1px solid #dfe6ed;border-radius:3px;align-items:center;gap:7px;margin:-3px 9px 8px;padding:0 9px;display:flex}.sidebar-search input{color:#40576e;background:0 0;border:0;outline:0;flex:1;min-width:0}.category-menu{z-index:12;background:#fff;border:1px solid #d9e0e7;width:228px;max-height:min(70vh,560px);position:absolute;top:128px;right:55px;overflow:auto;box-shadow:0 8px 20px #1e304229}.category-menu button{color:#40576e;text-align:left;cursor:pointer;background:#fff;width:100%;padding:10px 12px;font-size:14px;display:block}.category-menu .selected,.category-menu button:hover{background:#eef4f7}.shape-scroll{scrollbar-color:#aaa #d0d0d0;scrollbar-width:thin;height:calc(100vh - 230px);padding:0 4px 18px 9px;overflow-y:auto}.shape-scroll::-webkit-scrollbar{width:8px}.shape-scroll::-webkit-scrollbar-track{background:#d0d0d0}.shape-scroll::-webkit-scrollbar-thumb{background:#aaa;border-radius:8px}.shape-grid{grid-template-columns:repeat(3,82px);gap:11px 5px;display:grid}.shape-tile{background:var(--tile);cursor:grab;border:1px solid #0000;place-items:center;width:82px;height:92px;transition:background .14s,box-shadow .14s,transform .14s;display:grid;position:relative;overflow:visible}.shape-tile:hover{background:var(--tile-hover);border-color:#dfe6ed;transform:translateY(-1px);box-shadow:0 4px 12px #1c304424}.shape-tile img{object-fit:contain;pointer-events:none;width:70px;height:70px;display:block}.more-shapes{color:#31465d;cursor:pointer;background:#fff;border:1px solid #d9e0e7;border-radius:3px;width:119px;height:38px;margin:10px auto 22px;font-size:14px;display:block;box-shadow:0 1px 2px #192d410f}.placed-shape{width:var(--shape-size);height:var(--shape-size);cursor:grab;transform:translate(-50%,-72%) rotate(var(--shape-rotation));transform-origin:bottom;-webkit-user-select:none;user-select:none;background:0 0;border:0;outline:0;padding:0;position:absolute}.placed-shape:active{cursor:grabbing}.placed-visual{color:var(--shape-color);filter:drop-shadow(0 9px 9px #17344633);place-items:center;display:grid;position:absolute;inset:0}.placed-visual.hole{opacity:.7;filter:grayscale(.2)drop-shadow(0 7px 7px #17344629)}.placed-visual.hole:after{content:"";mix-blend-mode:screen;pointer-events:none;background:repeating-linear-gradient(45deg,#ffffff61 0 5px,#4a5b6947 5px 10px);position:absolute;inset:7%}.kind-box{background:linear-gradient(135deg,var(--shape-color),var(--shape-color));align-self:end;width:72%;height:62%}@supports (color:color-mix(in lab,red,red)){.kind-box{background:linear-gradient(135deg,color-mix(in srgb,var(--shape-color),white 16%),var(--shape-color))}}.kind-box{border:1px solid var(--shape-color)}@supports (color:color-mix(in lab,red,red)){.kind-box{border:1px solid color-mix(in srgb,var(--shape-color),black 32%)}}.kind-box{transform:skewY(5deg)}.kind-box:after,.kind-box:before{content:"";position:absolute}.kind-box:before{background:var(--shape-color);width:17%;height:91%;bottom:8%;right:-17%}@supports (color:color-mix(in lab,red,red)){.kind-box:before{background:color-mix(in srgb,var(--shape-color),black 22%)}}.kind-box:before{transform-origin:0 100%;transform:skewY(-28deg)}.kind-box:after{background:var(--shape-color);width:92%;height:20%;top:-19%;left:8%}@supports (color:color-mix(in lab,red,red)){.kind-box:after{background:color-mix(in srgb,var(--shape-color),white 22%)}}.kind-box:after{transform-origin:0 100%;transform:skew(-42deg)}.kind-cylinder,.kind-ring,.kind-tube{background:radial-gradient(ellipse at 50% 11%,var(--shape-color) 0 34%,transparent 35%),linear-gradient(90deg,var(--shape-color),var(--shape-color) 45%,var(--shape-color) 72%,var(--shape-color));border-radius:50%/18%;align-self:end;width:64%;height:70%}@supports (color:color-mix(in lab,red,red)){.kind-cylinder,.kind-ring,.kind-tube{background:radial-gradient(ellipse at 50% 11%,color-mix(in srgb,var(--shape-color),white 36%) 0 34%,transparent 35%),linear-gradient(90deg,color-mix(in srgb,var(--shape-color),black 16%),var(--shape-color) 45%,color-mix(in srgb,var(--shape-color),white 20%) 72%,color-mix(in srgb,var(--shape-color),black 14%))}}.kind-cylinder,.kind-ring,.kind-tube{border:1px solid var(--shape-color)}@supports (color:color-mix(in lab,red,red)){.kind-cylinder,.kind-ring,.kind-tube{border:1px solid color-mix(in srgb,var(--shape-color),black 32%)}}.kind-ring,.kind-torus,.kind-tube{background:radial-gradient(ellipse at center,transparent 0 28%,var(--shape-color) 30% 39%,var(--shape-color) 40% 66%,var(--shape-color) 67% 100%);border-radius:50%;height:42%}@supports (color:color-mix(in lab,red,red)){.kind-ring,.kind-torus,.kind-tube{background:radial-gradient(ellipse at center,transparent 0 28%,color-mix(in srgb,var(--shape-color),black 20%) 30% 39%,var(--shape-color) 40% 66%,color-mix(in srgb,var(--shape-color),white 20%) 67% 100%)}}.kind-halfSphere,.kind-sphere{background:radial-gradient(circle at 33% 25%,var(--shape-color),var(--shape-color) 47%,var(--shape-color) 100%);border-radius:50%;align-self:end;width:68%;height:68%}@supports (color:color-mix(in lab,red,red)){.kind-halfSphere,.kind-sphere{background:radial-gradient(circle at 33% 25%,color-mix(in srgb,var(--shape-color),white 45%),var(--shape-color) 47%,color-mix(in srgb,var(--shape-color),black 24%) 100%)}}.kind-halfSphere{border-radius:50% 50% 12% 12%/82% 82% 18% 18%;height:40%}.kind-cone{clip-path:polygon(50% 0,86% 84%,50% 100%,14% 84%);background:linear-gradient(90deg,var(--shape-color),var(--shape-color) 52%,var(--shape-color));align-self:end;width:70%;height:76%}@supports (color:color-mix(in lab,red,red)){.kind-cone{background:linear-gradient(90deg,color-mix(in srgb,var(--shape-color),black 20%),var(--shape-color) 52%,color-mix(in srgb,var(--shape-color),white 24%))}}.kind-pyramid,.kind-roof,.kind-wedge{clip-path:polygon(50% 4%,95% 88%,44% 100%,7% 77%);background:linear-gradient(135deg,var(--shape-color),var(--shape-color) 48%,var(--shape-color));align-self:end;width:76%;height:70%}@supports (color:color-mix(in lab,red,red)){.kind-pyramid,.kind-roof,.kind-wedge{background:linear-gradient(135deg,color-mix(in srgb,var(--shape-color),white 24%),var(--shape-color) 48%,color-mix(in srgb,var(--shape-color),black 24%))}}.kind-pyramid,.kind-roof,.kind-wedge{border:1px solid var(--shape-color)}@supports (color:color-mix(in lab,red,red)){.kind-pyramid,.kind-roof,.kind-wedge{border:1px solid color-mix(in srgb,var(--shape-color),black 24%)}}.kind-roof,.kind-wedge{clip-path:polygon(8% 68%,62% 16%,96% 54%,42% 88%)}.kind-scribble,.kind-sketch{background:var(--shape-color);border-radius:44% 56% 50% 45%;align-self:end;width:76%;height:55%}@supports (color:color-mix(in lab,red,red)){.kind-scribble,.kind-sketch{background:color-mix(in srgb,var(--shape-color),white 12%)}}.kind-scribble,.kind-sketch{border:2px solid var(--shape-color)}@supports (color:color-mix(in lab,red,red)){.kind-scribble,.kind-sketch{border:2px solid color-mix(in srgb,var(--shape-color),black 26%)}}.kind-scribble,.kind-sketch{transform:rotate(-14deg)}.kind-scribble{border-radius:22% 48% 30% 58%}.kind-icosahedron,.kind-polygon{clip-path:polygon(50% 0,91% 25%,91% 73%,50% 100%,10% 74%,10% 25%);background:linear-gradient(145deg,var(--shape-color),var(--shape-color) 45%,var(--shape-color));align-self:end;width:72%;height:72%}@supports (color:color-mix(in lab,red,red)){.kind-icosahedron,.kind-polygon{background:linear-gradient(145deg,color-mix(in srgb,var(--shape-color),white 18%),var(--shape-color) 45%,color-mix(in srgb,var(--shape-color),black 26%))}}.kind-text{width:90%;height:50%;color:var(--shape-color);font-size:calc(var(--shape-size) * .34);letter-spacing:0;text-shadow:2px 2px 0 var(--shape-color);align-self:end;font-weight:900}@supports (color:color-mix(in lab,red,red)){.kind-text{text-shadow:2px 2px 0 color-mix(in srgb,var(--shape-color),black 35%)}}.kind-heart,.kind-star{color:var(--shape-color);font-size:calc(var(--shape-size) * .78);text-shadow:2px 3px 0 var(--shape-color);align-self:end;line-height:1}@supports (color:color-mix(in lab,red,red)){.kind-heart,.kind-star{text-shadow:2px 3px 0 color-mix(in srgb,var(--shape-color),black 26%)}}.selection-outline{pointer-events:none;border:2px solid #42b6df;border-radius:2px;position:absolute;inset:1px;box-shadow:0 0 0 2px #ffffffd1}.selection-outline:after,.selection-outline:before{content:"";background:#fff;border:2px solid #42b6df;width:9px;height:9px;position:absolute}.selection-outline:before{top:-6px;left:-6px}.selection-outline:after{bottom:-6px;right:-6px}.shape-size-tag{color:#31465d;white-space:nowrap;background:#fff;padding:2px 7px;font-size:11px;bottom:-25px}.shape-mini-tools,.shape-size-tag{box-shadow:var(--shadow);border:1px solid #c9d6e1;border-radius:2px;position:absolute;left:50%;transform:translate(-50%)}.shape-mini-tools{display:flex;top:-31px;overflow:hidden}.shape-mini-tools button{color:#31465d;cursor:pointer;background:#fff;border-right:1px solid #dbe4eb;width:26px;height:25px;font-size:15px;line-height:23px}.shape-mini-tools button:last-child{border-right:0}.shape-mini-tools button:hover{background:#eef8fc}.more-shapes:hover{background:#eef4f7}@media (max-width:980px){.secondary-toolbar{overflow:auto hidden}.toolbar-section{min-width:auto}.toolbar-section-label{padding-inline:7px;font-size:10px}.toolbar-actions-section{flex-basis:152px;min-width:152px}.shape-menu-dropdown{width:min(264px,100vw - 20px);position:fixed;top:76px;left:10px}.workspace-modal{padding-top:18px}.workspace-modal-card{width:min(520px,100vw - 24px);min-height:calc(100vh - 112px);max-height:calc(100vh - 112px)}.workplane-plane{inset:0}.grid-settings{right:12px}.shape-floating-controls{min-width:0;max-width:none;left:86px;right:18px;transform:none}.shape-inspector{width:min(320px,100vw - 18px);right:0}}@media (max-width:640px){.collaborator,.mode-tabs{display:none}.action-buttons button{padding:0}.action-buttons .action-icon-button,.action-buttons button{width:43px;min-width:43px}.view-cube{transform-origin:0 0;left:18px;transform:scale(.82)}.camera-controls{transform-origin:0 0;left:7px;transform:scale(.86)}.workplane-plane{inset:0}.shape-floating-controls{bottom:82px;left:58px;right:18px}.shape-inspector{width:auto;top:12px;left:70px;right:12px}.color-grid{grid-template-columns:repeat(5,24px);gap:7px}.color-grid button{width:24px;height:24px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}