@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#fff;--shadow-color:#000;--bg-app:#13171a;--bg:#151a1d;--panel:#191e21;--surface-raised:#202a24;--surface-sunken:#111619;--floating:#191e21f2;--toast-bg:#17291ddd;--modal-from:#222d26;--modal-to:#17211b;--backdrop:#080e0abb;--text-strong:#dcebdd;--text:#dce1df;--text-hover:#f2fff7;--text-2:#9bb0a3;--text-3:#7f9c86;--text-4:#607f69;--text-5:#43574a;--accent:#b8eccd;--accent-hover:#cbf6dc;--on-accent:#183324;--accent-text:#b8eccd;--accent-2:#b8eccd;--accent-2-text:#b8eccd;--warn:#dfb374;--warn-text:#e4c59b;--danger:#d9826f;--danger-text:#e4a991;--radius:8px;--border:color-mix(in srgb, var(--ink) 4.7%, transparent);--muted:var(--text-2);--green:var(--accent);--green-dim:color-mix(in srgb, var(--accent) 7.5%, transparent);--amber:var(--warn);color:var(--text);background:var(--bg-app);font-family:DM Sans,sans-serif;font-size:12px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#2b2147;--shadow-color:#2b2147;--bg-app:#f1eff7;--bg:#f5f3fa;--panel:#fcfbff;--surface-raised:#fff;--surface-sunken:#edeaf4;--floating:#fcfbfff2;--toast-bg:#fffe;--modal-from:#fff;--modal-to:#f6f3fc;--backdrop:#2b214740;--text-strong:#1c1830;--text:#2a2640;--text-hover:#1c1830;--text-2:#5b566f;--text-3:#736e88;--text-4:#8f8aa3;--text-5:#b4b0c4;--accent:#208a5a;--accent-hover:#1a774d;--on-accent:#fff;--accent-text:#17794d;--accent-2:#7253d1;--accent-2-text:#5f40bd;--warn:#a8670f;--warn-text:#8f5709;--danger:#b9462f;--danger-text:#a33c27}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;transition:background .16s,color .16s,border-color .16s,transform .16s}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}button:hover:not(:disabled){color:var(--text-hover)}input,select{color:var(--text-strong);border:1px solid color-mix(in srgb, var(--ink) 6.7%, transparent);background:var(--surface-sunken);font-variant-numeric:tabular-nums;border-radius:6px;outline:none;min-width:0;padding:10px 11px}input:focus,select:focus{border-color:color-mix(in srgb, var(--accent) 39.6%, transparent)}select{cursor:pointer;width:100%;font-size:11px}input[type=range]{width:100%;height:15px;accent-color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}input[type=color]{cursor:pointer;width:35px;height:26px;padding:3px}input[type=number]{appearance:textfield;width:100%}input::-webkit-inner-spin-button{opacity:.2}p,h1,h2,h3{margin:0}a{color:inherit;text-decoration:none}svg{flex-shrink:0}small{font-size:10px}button svg{vertical-align:middle}kbd{color:var(--text-2);border:1px solid color-mix(in srgb, var(--ink) 7.8%, transparent);background:color-mix(in srgb, var(--ink) 1.6%, transparent);border-radius:4px;padding:2px 5px;font-family:inherit;font-size:10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{flex-direction:column;height:100dvh;min-height:520px;display:flex}.app-header{background:var(--bg);border-bottom:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent);flex-shrink:0;align-items:center;gap:23px;height:69px;padding:0 24px;display:flex}.brand{letter-spacing:-1px;white-space:nowrap;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:22px;font-weight:750;display:flex}.brand img{width:33px;height:33px}.brand small{letter-spacing:1.5px;color:var(--text-4);margin-left:8px;font-family:DM Sans,sans-serif;font-size:9px;font-weight:600}.header-separator{background:color-mix(in srgb, var(--ink) 7.1%, transparent);width:1px;height:24px}.project-title{align-items:center;gap:7px;min-width:0;display:flex}.project-title input{background:0 0;border-color:#0000;max-width:180px;padding:7px 3px;font-size:12px;font-weight:500}.project-title input:hover{border-color:color-mix(in srgb, var(--ink) 4.7%, transparent)}.project-title>svg{color:var(--text-4)}.session-label{letter-spacing:1px;color:var(--text-3);background:color-mix(in srgb, var(--ink) 1.6%, transparent);border-radius:3px;margin-left:7px;padding:4px 6px;font-size:8px;font-weight:600}.header-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.undo-controls{border-right:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent);gap:1px;margin-right:5px;padding-right:13px;display:flex}.icon-button{width:29px;height:29px;color:var(--text-3);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:color-mix(in srgb, var(--ink) 3.1%, transparent)}.primary,.secondary{letter-spacing:.1px;border-radius:6px;justify-content:center;align-items:center;gap:9px;height:35px;padding:0 13px;font-size:11px;font-weight:600;display:inline-flex}.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 1px color-mix(in srgb, var(--shadow-color) 20%, transparent), inset 0 1px 0 color-mix(in srgb, var(--ink) 26.7%, transparent)}.primary:hover:not(:disabled){background:var(--accent-hover);color:var(--on-accent)}.primary:active:not(:disabled){transform:translateY(1px)}.secondary{background:color-mix(in srgb, var(--ink) 1.2%, transparent);border:1px solid color-mix(in srgb, var(--ink) 7.1%, transparent);color:var(--text-strong)}.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 3.1%, transparent);border-color:color-mix(in srgb, var(--ink) 14.5%, transparent)}.full{width:100%}.cloud-button{color:var(--text-3);border-radius:5px;align-items:center;gap:7px;padding:6px 9px;font-size:10px;display:flex}.cloud-button:hover{background:color-mix(in srgb, var(--ink) 2%, transparent)}.export-button{min-width:105px}.workspace-bar{background:var(--bg);border-bottom:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent);flex-shrink:0;align-items:center;gap:23px;height:44px;padding:0 24px;display:flex}.workspace-tab{border-bottom:2px solid var(--accent-2);height:100%;color:var(--text-strong);align-items:center;gap:8px;padding:0 11px;font-size:11px;display:flex}.workspace-tab svg{color:var(--accent-2-text)}.tab-dot{background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:16px}.workspace-tagline{color:var(--text-4);letter-spacing:.2px;font-size:10px}.workspace-right{align-items:center;gap:25px;margin-left:auto;display:flex}.text-button{color:var(--text-2);justify-content:center;align-items:center;gap:7px;padding:8px 0;font-size:10px;display:inline-flex}.text-button:hover:not(:disabled){color:var(--accent-2-text)}.workspace-right .text-button{color:var(--text-3);gap:8px}.beta-tag{letter-spacing:1.4px;color:var(--text-5);font-size:8px}.cloud-banner{background:var(--panel);border-bottom:1px solid color-mix(in srgb, var(--accent) 3.5%, transparent);min-height:30px;color:var(--text-3);flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:6px 16px;font-size:9px;display:flex}.cloud-banner svg{color:var(--text-2)}.cloud-banner button{color:var(--accent-text);font-size:9px;text-decoration:underline}.workspace{flex:1;grid-template-columns:225px minmax(0,1fr) 285px;min-height:0;display:grid}.assembly-panel,.inspector-panel{background:var(--panel);z-index:3;flex-direction:column;min-height:0;display:flex;position:relative}.assembly-panel{border-right:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent)}.inspector-panel{border-left:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent)}.panel-heading{border-bottom:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent);align-items:center;gap:8px;height:49px;min-height:49px;padding:0 18px;display:flex}.panel-heading h2{letter-spacing:.2px;font-size:11px;font-weight:600}.panel-heading>.icon-button,.panel-heading>svg{color:var(--text-2);margin-left:auto}.count{color:var(--text-2);background:color-mix(in srgb, var(--ink) 2%, transparent);border-radius:4px;padding:2px 5px;font-size:9px}.tree-root{color:var(--text-2);align-items:center;gap:7px;padding:20px 17px 10px;font-size:10px;display:flex}.tree-root span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-root svg:first-child{color:var(--text-2)}.tree-list{max-height:40vh;padding:0 9px;overflow:auto}.tree-item{border:1px solid #0000;border-radius:6px;align-items:center;margin:3px 0;display:flex;position:relative}.tree-item.selected{background:color-mix(in srgb, var(--accent-2) 4.3%, transparent);border-color:color-mix(in srgb, var(--accent-2) 11%, transparent)}.tree-item.selected:before{content:"";background:var(--accent-2);border-radius:2px;width:2px;height:20px;position:absolute;left:-1px}.component-select{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 8px 10px 13px;display:flex}.component-icon{color:var(--object-color)}.component-label{white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:500;overflow:hidden}.component-label small{color:var(--text-2);margin-top:4px;font-size:8px;font-weight:400;display:block}.tree-eye{color:var(--text-2);padding:8px}.hidden-component{opacity:.45}.tree-actions{border-top:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent);gap:1px;margin:9px 17px 14px;padding-top:9px;display:flex}.tree-actions button{width:28px;height:25px;color:var(--text-2);border-radius:4px}.tree-actions button:hover{background:color-mix(in srgb, var(--ink) 3.1%, transparent)}.tree-actions span{flex:1}.import-zone{border:1px dashed color-mix(in srgb, var(--text-4) 25.1%, transparent);color:var(--text-2);background:linear-gradient(130deg, color-mix(in srgb, var(--accent) 1.6%, transparent), transparent);border-radius:8px;flex-direction:column;align-items:center;margin:12px 17px 15px;padding:22px 10px 17px;display:flex}.import-zone>svg{color:var(--text-3);margin-bottom:12px}.import-zone>span{font-size:11px;font-weight:500}.import-zone>small{color:var(--text-4);margin-top:5px;font-size:9px}.import-zone>b{color:var(--text-2);border-top:1px solid color-mix(in srgb, var(--ink) 3.5%, transparent);width:100%;margin-top:17px;padding-top:12px;font-size:9px;font-weight:500}.import-zone>b span{margin-left:20px}.import-zone:hover{border-color:color-mix(in srgb, var(--accent) 37.6%, transparent);background:color-mix(in srgb, var(--accent) 2.4%, transparent)}.assembly-footer{margin-top:auto;padding:24px 20px 17px}.eyebrow{letter-spacing:1.7px;color:var(--text-3);font-size:8px;font-weight:600;display:block}.assembly-footer p{color:var(--text-4);letter-spacing:-.25px;margin:10px 0 25px;font-family:Manrope,sans-serif;font-size:13px;line-height:1.8}.assembly-footer strong{color:var(--text-3);font-weight:500}.workspace-badge{color:var(--text-3);align-items:center;gap:6px;font-size:9px;display:flex}.workspace-badge>span:last-child{color:var(--text-5);margin-left:auto;font-size:8px}.live-dot{background:var(--accent);width:5px;height:5px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 12.5%, transparent);border-radius:50%;flex-shrink:0;display:inline-block}.primitive-menu{z-index:5;border:1px solid var(--text-5);background:var(--surface-raised);box-shadow:0 14px 25px color-mix(in srgb, var(--shadow-color) 33.3%, transparent);border-radius:7px;padding:5px;position:absolute;top:43px;left:14px;right:14px}.primitive-menu button{text-transform:capitalize;border-radius:4px;align-items:center;gap:9px;width:100%;padding:10px;font-size:11px;display:flex}.primitive-menu button:hover{background:color-mix(in srgb, var(--ink) 3.1%, transparent)}.primitive-menu button span{color:var(--text-3);margin-left:auto}.rename-row{margin:5px;display:flex}.rename-row input{width:100%;padding:6px;font-size:10px}.canvas-column{background:radial-gradient(ellipse at 45% 38%, var(--modal-from) 0, var(--panel) 62%, var(--modal-to) 100%);min-width:0;min-height:0;position:relative}.viewport-shell,.viewport{position:absolute;inset:0}.viewport canvas{outline:none;width:100%;height:100%;display:block}.viewport-top{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:22px;left:24px;right:24px}.view-label{letter-spacing:1.2px;color:var(--text-3);align-items:center;gap:8px;font-size:8px;font-weight:500;display:flex}.view-label>span:last-child{text-transform:capitalize;letter-spacing:0;color:var(--text-4);font-size:9px}.divider{color:var(--text-5);margin:0 3px}.unit-label{letter-spacing:1.5px;color:var(--text-4);font-size:7px}.view-controls{border:1px solid color-mix(in srgb, var(--text-4) 14.5%, transparent);background:color-mix(in srgb, var(--bg) 40%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid;position:absolute;top:53px;right:23px}.selection-feedback{border:1px solid color-mix(in srgb, var(--accent) 31.4%, transparent);background:color-mix(in srgb, var(--surface-raised) 92.9%, transparent);color:var(--accent-text);box-shadow:0 4px 16px color-mix(in srgb, var(--shadow-color) 13.3%, transparent);pointer-events:none;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:absolute;top:53px;left:24px}.selection-feedback div{gap:4px;display:grid}.selection-feedback strong{font-size:11px;font-weight:600}.selection-feedback span{color:var(--text-2);font-size:9px}.view-controls button{letter-spacing:.5px;width:40px;height:25px;color:var(--text-3);border-radius:3px;font-size:7px}.view-controls button:hover,.view-controls button.active{color:var(--accent-2-text);background:color-mix(in srgb, var(--accent-2) 3.9%, transparent)}.axis-compass{width:48px;height:45px;font-size:8px;position:absolute;bottom:71px;left:24px}.axis-compass i{background:var(--text-3);border-radius:50%;width:5px;height:5px;position:absolute;top:22px;left:23px}.axis-compass .axis-y{position:absolute;top:0;left:23px}.axis-compass .axis-x{position:absolute;bottom:3px;right:0}.axis-compass .axis-z{position:absolute;bottom:3px;left:0}.axis-compass:before{content:"";background:var(--text-3);width:1px;height:12px;position:absolute;top:12px;left:25px}.axis-compass:after{content:"";background:linear-gradient(90deg, var(--text-3), var(--danger));width:28px;height:1px;position:absolute;top:25px;left:11px;transform:rotate(-1deg)}.axis-x{color:var(--danger-text)}.axis-y{color:var(--accent-text)}.axis-z{color:var(--text-2)}.viewport-bottom{justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:17px;left:24px;right:22px}.view-hints{color:var(--text-4);gap:15px;font-size:8px;display:flex}.view-hints span{align-items:center;gap:5px;display:flex}.display-controls{background:color-mix(in srgb, var(--modal-to) 53.3%, transparent);border:1px solid color-mix(in srgb, var(--text-3) 10.2%, transparent);border-radius:6px;align-items:center;gap:3px;padding:3px;display:flex}.display-controls button{width:28px;height:26px;color:var(--text-4);border-radius:4px}.display-controls button.active{color:var(--accent-2-text);background:color-mix(in srgb, var(--accent-2) 3.1%, transparent)}.display-controls button:hover{background:color-mix(in srgb, var(--ink) 3.1%, transparent)}.tool-palette{z-index:4;background:color-mix(in srgb, var(--modal-to) 91%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid color-mix(in srgb, var(--accent) 16.5%, transparent);border-top-color:color-mix(in srgb, var(--accent) 21.2%, transparent);box-shadow:0 12px 35px color-mix(in srgb, var(--shadow-color) 33.3%, transparent), inset 0 1px 0 color-mix(in srgb, var(--ink) 1.2%, transparent);border-radius:11px;gap:3px;padding:6px;display:flex;position:absolute;bottom:65px;left:50%;transform:translate(-50%)}.tool-palette button{width:55px;height:52px;color:var(--text-3);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex;position:relative}.tool-palette button span{font-size:8px}.tool-palette button:hover{background:color-mix(in srgb, var(--ink) 2.4%, transparent)}.tool-palette button.active{background:color-mix(in srgb, var(--accent-2) 7.1%, transparent);color:var(--accent-2-text)}.tool-palette button.active i{background:var(--accent-2);border-radius:2px;width:12px;height:2px;position:absolute;bottom:-7px}.work-progress{border:1px solid color-mix(in srgb, var(--accent) 14.5%, transparent);background:color-mix(in srgb, var(--modal-to) 93.7%, transparent);max-width:calc(100% - 145px);box-shadow:0 8px 30px color-mix(in srgb, var(--shadow-color) 20%, transparent);z-index:8;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex;position:absolute;top:55px;left:22px}.work-progress>svg{color:var(--accent-text)}.work-progress strong{font-size:10px;font-weight:500;display:block}.work-progress span{color:var(--text-3);margin-top:4px;font-size:9px;display:block}.spinner{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-toast{z-index:12;background:color-mix(in srgb, var(--warn) 12%, var(--panel));border:1px solid color-mix(in srgb, var(--warn) 33.3%, transparent);width:calc(100% - 44px);max-width:470px;box-shadow:0 10px 35px color-mix(in srgb, var(--shadow-color) 33.3%, transparent);color:var(--warn-text);border-radius:8px;align-items:flex-start;gap:12px;padding:15px;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%)}.error-toast>svg{margin-top:1px}.error-toast strong{font-size:11px;font-weight:600}.error-toast p{color:var(--warn-text);margin-top:4px;font-size:10px;line-height:1.7}.error-toast .icon-button{margin-left:auto}.error-toast .toast-action{background:color-mix(in srgb, var(--warn) 14.9%, transparent);color:var(--warn-text);border-radius:999px;margin-top:10px;padding:7px 14px;font-size:10px;font-weight:600}.error-toast .toast-action:hover{background:color-mix(in srgb, var(--warn) 25.1%, transparent)}.empty-viewport{text-align:center;color:var(--text-4);position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.empty-viewport svg{color:color-mix(in srgb, var(--accent) 34.9%, transparent);margin-bottom:15px}.empty-viewport h2{letter-spacing:-1px;color:var(--text-strong);font:500 25px Manrope,sans-serif}.empty-viewport p{margin-top:10px;font-size:11px}.slice-handles{flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:32%;right:24px}.slice-handle{background:color-mix(in srgb, var(--modal-from) 87.8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 29%, transparent);touch-action:none;cursor:ns-resize;color:var(--accent-text);box-shadow:0 3px 12px color-mix(in srgb, var(--shadow-color) 20%, transparent);border-radius:5px;align-items:center;gap:8px;padding:9px 10px;display:flex}.slice-handle span{letter-spacing:1px;color:var(--text-3);font-size:7px}.slice-handle b{font-variant-numeric:tabular-nums;font-size:10px;font-weight:500}.slice-handle small{color:var(--text-3);font-size:7px}.slice-rail{background:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--accent) 26.3%, transparent) 0 3px, transparent 3px 7px);width:1px;height:95px;margin-right:25px}.preview-label{background:color-mix(in srgb, var(--modal-to) 86.7%, transparent);border:1px solid color-mix(in srgb, var(--accent) 12.9%, transparent);color:var(--accent-text);letter-spacing:1.2px;white-space:nowrap;border-radius:4px;align-items:center;gap:7px;padding:7px 11px;font-size:7px;display:flex;position:absolute;bottom:141px;left:50%;transform:translate(-50%)}.preview-label span:last-child{letter-spacing:0;color:var(--text-4);margin-left:4px;font-size:8px}.inspector-scroll{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-5) 33.3%, transparent) transparent;flex:1;overflow-y:auto}.tool-intro{padding:24px 20px 19px}.tool-intro h2{letter-spacing:-.8px;color:var(--text-strong);margin-top:10px;font-family:Manrope,sans-serif;font-size:20px;font-weight:500}.tool-intro p{color:var(--text-3);max-width:220px;margin-top:7px;font-size:10px;line-height:1.7}.selected-card{border:1px solid color-mix(in srgb, var(--ink) 4.3%, transparent);background:color-mix(in srgb, var(--ink) 0.8%, transparent);border-radius:6px;align-items:center;gap:9px;margin:0 18px 5px;padding:11px 10px;display:flex}.selected-card>svg{color:var(--accent-text);margin-left:auto}.object-swatch{width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ink) 2%, transparent);border-radius:2px;flex-shrink:0}.selected-card strong{font-size:10px;font-weight:500;display:block}.selected-card small{color:var(--text-4);margin-top:4px;font-size:8px;display:block}.inspector-section{border-bottom:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent);padding:18px 20px}.section-heading{color:var(--text-2);justify-content:space-between;align-items:center;margin-bottom:13px;font-size:10px;font-weight:500;display:flex}.section-heading small,.section-heading .muted{color:var(--text-4);font-size:9px;font-weight:400}.status-pill{color:var(--accent-text);background:color-mix(in srgb, var(--accent) 4.3%, transparent);border:1px solid color-mix(in srgb, var(--accent) 8.2%, transparent);border-radius:4px;padding:3px 6px;font-size:8px;font-weight:400}.status-pill.warning{color:var(--warn-text);background:color-mix(in srgb, var(--warn) 3.9%, transparent)}.metric-grid{grid-template-columns:1fr 1fr;gap:17px 10px;display:grid}.metric-grid span{color:var(--text-4);font-size:9px;display:block}.metric-grid strong{font-variant-numeric:tabular-nums;color:var(--text-strong);letter-spacing:-.3px;margin-top:5px;font-size:15px;font-weight:450;display:block}.metric-grid small{color:var(--text-3);font-size:9px;font-weight:400}.dimension-row{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.dimension-row>div{background:color-mix(in srgb, var(--bg-app) 40%, transparent);border:1px solid color-mix(in srgb, var(--ink) 2.7%, transparent);border-radius:4px;align-items:center;gap:8px;padding:9px 7px;display:flex}.dimension-row span{font-size:8px}.dimension-row b{font-variant-numeric:tabular-nums;font-size:10px;font-weight:400}.field-label{color:var(--text-2);margin:13px 0 7px;font-size:9px;display:block}.field-label:first-child{margin-top:0}.field-label>span{float:right;color:var(--text-4);font-size:9px}.field-label>input{width:100%;margin-top:8px;display:block}.field-label>button.dropdown{margin-top:8px}.field-label>input[type=range]{margin-top:12px}.field-pair{justify-content:space-between;gap:12px;display:flex}.field-pair>.field-label{flex:1;min-width:0;margin-top:12px}.field-pair .text-button{font-size:8px}.field-help{color:var(--text-4);margin-top:8px;font-size:9px;line-height:1.7}.vector-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.vector-fields label{border:1px solid color-mix(in srgb, var(--ink) 4.3%, transparent);background:var(--surface-sunken);border-radius:5px;align-items:center;display:flex;overflow:hidden}.vector-fields label>span{color:var(--text-4);padding-left:8px;font-size:8px}.vector-fields input{background:0 0;border:0;border-radius:0;width:100%;padding:9px 5px;font-size:10px}.large-number{letter-spacing:-.6px;font-size:26px;font-weight:400;padding:12px!important}.segmented{background:color-mix(in srgb, var(--surface-sunken) 53.3%, transparent);border:1px solid color-mix(in srgb, var(--ink) 2.7%, transparent);border-radius:6px;gap:3px;margin:11px 0;padding:3px;display:flex}.segmented button{height:29px;color:var(--text-4);border-radius:4px;flex:1;justify-content:center;align-items:center;font-size:10px;display:flex}.segmented button.active{color:var(--accent-2-text);background:color-mix(in srgb, var(--accent-2) 7.8%, transparent);box-shadow:0 1px 3px color-mix(in srgb, var(--shadow-color) 13.3%, transparent)}.fit-result{color:var(--text-3);align-items:center;gap:6px;margin-top:11px;font-size:8px;line-height:1.5;display:flex}.fit-result b{color:var(--accent-text);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:400}.fit-result>span{color:var(--accent-text)}.keep-options{flex-direction:column;gap:6px;display:flex}.radio-card{border:1px solid color-mix(in srgb, var(--ink) 3.9%, transparent);cursor:pointer;background:color-mix(in srgb, var(--ink) 0.4%, transparent);border-radius:6px;align-items:center;gap:9px;padding:10px;display:flex}.radio-card:has(input:checked){border-color:color-mix(in srgb, var(--accent-2) 22%, transparent);background:color-mix(in srgb, var(--accent-2) 2.4%, transparent)}.radio-card input{width:12px;height:12px;margin:0}.radio-card strong{color:var(--text-strong);font-size:10px;font-weight:500;display:block}.radio-card small{color:var(--text-4);margin-top:4px;font-size:8px;display:block}.cap-note{color:var(--text-3);align-items:center;gap:6px;margin-top:13px;font-size:8px;display:flex}.check-row{color:var(--text-2);align-items:center;gap:8px;font-size:10px;line-height:1.6;display:flex}.check-row input{margin:0}.appearance-row{color:var(--text-3);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:9px;display:flex}.tool-actions{border-top:1px solid color-mix(in srgb, var(--accent) 8.2%, transparent);background:var(--panel);box-shadow:0 -10px 20px color-mix(in srgb, var(--shadow-color) 18.8%, transparent);padding:13px 18px 9px}.tool-actions .fit-result{margin:0 0 10px}.tool-actions .primary{justify-content:space-between;height:38px;padding:0 13px}.tool-actions .text-button{padding:9px;font-size:9px}.inline-warning{color:var(--warn-text);margin:8px 0 12px;font-size:10px;line-height:1.7}.inspector-empty{text-align:center;color:var(--text-4);padding:40px 30px}.inspector-empty p{margin-top:15px;font-size:11px;line-height:1.7}.history-panel{background:var(--modal-to);border-top:1px solid color-mix(in srgb, var(--accent) 8.2%, transparent);flex-shrink:0;height:128px}.history-panel.collapsed{height:34px}.history-heading{border-bottom:1px solid color-mix(in srgb, var(--ink) 2%, transparent);align-items:center;gap:20px;height:35px;padding:0 22px;display:flex}.history-heading>button{color:var(--accent-text);align-items:center;gap:8px;font-size:10px;display:flex}.history-heading>button svg:last-child{color:var(--text-4);margin-left:4px}.history-heading>span{color:var(--text-4);font-size:8px}.history-heading i{margin:0 7px;font-style:normal}.history-heading>small{color:var(--text-5);margin-left:auto;font-size:8px}.timeline{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-5) 33.3%, transparent) transparent;align-items:center;height:92px;padding:0 30px;display:flex;overflow-x:auto}.history-node,.history-placeholder{text-align:left;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:flex-start;min-width:154px;height:68px;padding:0 15px 0 0;display:flex;position:relative}.history-node:before,.history-placeholder:before{content:"";background:color-mix(in srgb, var(--text-4) 16.9%, transparent);height:1px;position:absolute;top:13px;left:24px;right:0}.history-placeholder:before{background:repeating-linear-gradient(to right, color-mix(in srgb, var(--text-4) 20%, transparent) 0 3px, transparent 3px 7px)}.history-dot{border:1px solid color-mix(in srgb, var(--text-3) 25.5%, transparent);background:var(--surface-raised);width:25px;height:25px;color:var(--text-3);z-index:1;border-radius:6px;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;left:0}.history-node.current .history-dot{background:color-mix(in srgb, var(--accent) 12.5%, transparent);border-color:color-mix(in srgb, var(--accent) 50.6%, transparent);color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 2.4%, transparent)}.history-node strong{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:9px;font-weight:500;line-height:1.5;overflow:hidden}.history-node small{color:var(--text-4);margin-top:3px;font-size:8px}.history-node.future{opacity:.35}.history-placeholder{opacity:.5}.history-placeholder small{color:var(--text-4);margin-bottom:14px;font-size:9px}.history-placeholder .history-dot{color:var(--text-4);background:0 0;border-style:dashed}.status-bar{background:var(--surface-sunken);letter-spacing:.1px;height:29px;color:var(--text-4);border-top:1px solid color-mix(in srgb, var(--ink) 2.4%, transparent);flex-shrink:0;align-items:center;gap:20px;padding:0 22px;font-size:8px;display:flex}.status-bar>span:first-child{color:var(--text-3);align-items:center;gap:6px;display:flex}.status-bar>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;max-width:45vw;overflow:hidden}.status-bar>div{align-items:center;gap:10px;margin-left:auto;display:flex}.status-bar i{color:var(--text-5);font-style:normal}.status-unit{border:1px solid color-mix(in srgb, var(--text-5) 20%, transparent);color:var(--text-3);border-radius:3px;margin-left:8px;padding:1px 5px;font-size:7px}.modal-backdrop{background:color-mix(in srgb, var(--shadow-color) 73.3%, transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:50;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{border:1px solid color-mix(in srgb, var(--accent) 15.3%, transparent);background:linear-gradient(145deg, var(--modal-from), var(--modal-to));width:440px;max-width:100%;max-height:90dvh;box-shadow:0 25px 90px color-mix(in srgb, var(--shadow-color) 60%, transparent);border-radius:16px;padding:34px;animation:.2s modal-in;position:relative;overflow:auto}.modal-close{position:absolute;top:15px;right:15px}.modal-symbol{background:color-mix(in srgb, var(--accent) 4.7%, transparent);border:1px solid color-mix(in srgb, var(--accent) 12.5%, transparent);width:56px;height:56px;color:var(--accent-text);border-radius:12px;justify-content:center;align-items:center;margin-bottom:25px;display:flex}.modal h2{letter-spacing:-1.1px;color:var(--text-strong);margin-top:8px;font-family:Manrope,sans-serif;font-size:27px;font-weight:500}.modal>p{color:var(--text-3);margin:13px 0 24px;font-size:11px;line-height:1.8}.modal .field-label{margin:18px 0;font-size:10px}.modal .check-row{font-size:10px}.modal-primary{height:42px;margin-top:24px}.format-tags{color:var(--text-4);letter-spacing:1px;justify-content:center;gap:12px;margin-top:16px;font-size:7px;display:flex}.export-formats{flex-direction:column;gap:7px;display:flex}.export-formats .radio-card{padding:13px}.export-formats .radio-card strong{font-size:11px}.export-formats .radio-card small{margin-top:6px;font-size:9px}.setup-note{border:1px solid color-mix(in srgb, var(--accent) 7.8%, transparent);background:color-mix(in srgb, var(--accent) 2%, transparent);color:var(--accent-text);border-radius:7px;margin-bottom:20px;padding:15px;font-size:11px;line-height:1.8}.auth-tabs{margin-bottom:14px}.auth-form{gap:2px;display:grid}.auth-error{min-height:34px;color:var(--danger-text);margin:8px 0 0;font-size:11px;line-height:1.5}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.auth-mode-help{margin-bottom:12px}.success-note{color:var(--accent-text);background:color-mix(in srgb, var(--accent) 3.5%, transparent);border:1px solid color-mix(in srgb, var(--accent) 14.5%, transparent);border-radius:8px;align-items:center;gap:10px;padding:18px;font-size:12px;display:flex}.shortcut-list>div{border-bottom:1px solid color-mix(in srgb, var(--ink) 2.7%, transparent);color:var(--accent-text);justify-content:space-between;padding:12px 0;font-size:11px;display:flex}.cloud-projects{max-height:250px;margin-top:20px;overflow:auto}.cloud-projects button{border-bottom:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent);text-align:left;align-items:center;gap:10px;width:100%;padding:13px 3px;font-size:11px;display:flex}.cloud-projects button>span{flex:1}.cloud-projects small{color:var(--text-2);margin-top:5px;font-size:9px;display:block}.mobile-panel-controls{display:none}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (min-width:1600px){.workspace{grid-template-columns:248px minmax(0,1fr) 305px}.app-header{height:74px}.tool-palette button{width:61px;height:55px}.history-panel{height:140px}.timeline{height:104px}.inspector-section{padding:20px 23px}.tool-intro{padding:27px 23px 22px}}@media (max-width:1250px){.workspace{grid-template-columns:200px minmax(0,1fr) 255px}.app-header{gap:15px;padding:0 17px}.session-label{display:none}.brand{font-size:20px}.header-actions{gap:6px}.cloud-button span{display:none}.tool-palette{gap:0;padding:5px}.tool-palette button{width:47px}.view-hints span:nth-child(3){display:none}.inspector-section{padding:15px}.tool-intro{padding:22px 15px 17px}.selected-card{margin-left:14px;margin-right:14px}.tool-intro h2{font-size:18px}.assembly-footer{padding:20px 16px}.project-title input{max-width:150px}}@media (max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr)}.assembly-panel,.inspector-panel{width:270px;box-shadow:0 15px 50px color-mix(in srgb, var(--shadow-color) 46.7%, transparent);z-index:10;display:none;position:absolute;top:180px;bottom:158px}.assembly-panel{left:0}.inspector-panel{right:0}.mobile-assembly .assembly-panel,.mobile-inspector .inspector-panel{display:flex}.mobile-panel-controls{background:var(--modal-to);border-bottom:1px solid color-mix(in srgb, var(--ink) 4.7%, transparent);flex-shrink:0;justify-content:space-between;height:34px;padding:7px 18px;display:flex}.mobile-panel-controls button{color:var(--accent-text);align-items:center;gap:7px;font-size:10px;display:flex}.cloud-banner{font-size:8px}.header-save span{display:none}.header-save{padding:0 9px}.workspace-tagline{display:none}.tool-palette button{width:55px}.view-hints span:nth-child(3){display:flex}}@media (max-width:650px){.app-header{gap:10px;height:59px;padding:0 12px}.brand{font-size:19px}.brand img{width:28px;height:28px}.brand small,.header-separator,.project-title,.cloud-button,.header-save{display:none}.header-actions{gap:5px}.undo-controls{margin-right:1px;padding-right:7px}.export-button{min-width:80px;padding:0 10px;font-size:10px}.workspace-bar{height:35px;padding:0 13px}.workspace-right .text-button span,.beta-tag{display:none}.workspace-right{gap:14px}.cloud-banner{text-align:left;min-height:39px;padding:7px 12px;font-size:8px;line-height:1.5}.cloud-banner svg{display:none}.workspace-tab{font-size:10px}.workspace{min-height:230px}.tool-palette{border-radius:8px;gap:0;max-width:calc(100% - 20px);padding:4px;bottom:55px;overflow:auto}.tool-palette button{gap:6px;width:39px;min-width:39px;height:44px}.tool-palette button span{font-size:6px}.tool-palette button svg{width:17px;height:17px}.tool-palette button.active i{bottom:-5px}.viewport-top{top:16px;left:16px;right:16px}.unit-label{display:none}.view-controls{top:41px;right:15px}.view-label{font-size:7px}.view-label>span:last-child{font-size:8px}.viewport-bottom{bottom:11px;left:14px;right:14px}.view-hints{gap:8px;font-size:7px}.view-hints span:nth-child(n+2){display:none}.display-controls button{width:25px;height:24px}.axis-compass{bottom:110px;left:17px;transform:scale(.85)}.history-panel{height:107px}.history-panel.collapsed{height:31px}.history-heading{gap:10px;height:31px;padding:0 14px}.history-heading>span{font-size:7px}.history-heading>small{display:none}.timeline{height:75px;padding:0 18px}.history-node,.history-placeholder{min-width:138px;height:59px}.history-dot{width:21px;height:21px}.history-node strong{font-size:8px}.history-node small{font-size:7px}.status-bar{gap:10px;height:26px;padding:0 13px;font-size:7px}.status-bar>span:nth-child(2){display:none}.status-bar>div{gap:5px}.status-unit{margin-left:3px}.assembly-panel,.inspector-panel{width:270px;top:167px;bottom:133px}.modal-backdrop{padding:15px}.modal{max-height:88dvh;padding:27px}.modal h2{font-size:24px}.modal-symbol{width:48px;height:48px;margin-bottom:22px}.work-progress{max-width:calc(100% - 123px);padding:10px;top:50px;left:14px}.work-progress strong{font-size:9px}.work-progress span{font-size:7px}.preview-label{max-width:calc(100% - 20px);font-size:6px;bottom:111px}.preview-label span:last-child{font-size:7px}.slice-handles{top:30%;right:16px}.slice-handle{gap:5px;padding:7px}.slice-rail{height:70px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.project-title{position:relative}.project-menu{z-index:20;border:1px solid var(--text-5);background:var(--surface-raised);min-width:230px;box-shadow:0 14px 25px color-mix(in srgb, var(--shadow-color) 33.3%, transparent);border-radius:7px;padding:5px;display:grid;position:absolute;top:38px;left:0}.project-menu button{text-align:left;border-radius:4px;padding:9px 10px;font-size:12px}.project-menu button:hover{background:color-mix(in srgb, var(--ink) 6.3%, transparent)}.project-menu-toggle{padding:4px}.palette-input{width:100%;margin:6px 0 10px}.palette-list{gap:2px;max-height:340px;display:grid;overflow:auto}.palette-list button{text-align:left;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:9px 11px;font-size:12px;display:grid}.palette-list button small{color:var(--text-3);font-size:10px}.palette-list button.active{background:color-mix(in srgb, var(--ink) 7.1%, transparent)}.palette-list button.unavailable span{opacity:.55}.assembly-tools{gap:6px;padding:0 14px 8px;display:grid}.assembly-search{color:var(--text-2);align-items:center;gap:7px;display:flex}.assembly-search input{flex:1;min-width:0;padding:6px 8px;font-size:10px}.assembly-filters{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.assembly-filters button.dropdown{gap:2px;min-width:0;padding:5px 4px;font-size:9px}.assembly-filters .dropdown svg{width:9px;height:9px}.history-heading button.dropdown{width:auto;min-width:0;max-width:160px;padding:6px 10px}.assembly-status{color:var(--text-3);justify-content:space-between;align-items:center;gap:8px;padding:0 17px 6px;font-size:9px;display:flex}.assembly-empty{padding:10px 8px}.tree-item.primary{color:var(--text);box-shadow:none;border-color:color-mix(in srgb, var(--accent) 20%, transparent)}.tree-item.drop-target{box-shadow:0 -2px 0 var(--accent)}.row-menu{z-index:8;background:var(--surface-raised);border:1px solid var(--text-5);min-width:170px;box-shadow:0 14px 25px color-mix(in srgb, var(--shadow-color) 33.3%, transparent);border-radius:7px;padding:4px;display:grid;position:absolute;top:100%;right:4px}.row-menu button{text-align:left;border-radius:4px;justify-content:space-between;gap:12px;padding:8px 10px;font-size:11px;display:flex}.row-menu button:hover{background:color-mix(in srgb, var(--ink) 6.3%, transparent)}.bulk-bar{background:color-mix(in srgb, var(--accent) 5.1%, transparent);border-radius:7px;align-items:center;gap:4px;margin:8px 14px 0;padding:6px 8px;font-size:10px;display:flex}.bulk-bar span{color:var(--text-2);flex:1}.bulk-bar button{color:var(--text-2);border-radius:4px;padding:5px}.bulk-bar button:hover{background:color-mix(in srgb, var(--ink) 6.3%, transparent)}.bulk-bar input[type=color]{background:0 0;border:0;width:22px;height:22px;padding:0}.undo-toast{z-index:30;background:var(--surface-raised);border:1px solid var(--text-5);box-shadow:0 14px 25px color-mix(in srgb, var(--shadow-color) 40%, transparent);border-radius:10px;align-items:center;gap:12px;padding:9px 14px;font-size:12px;display:flex;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}.preview-stale{margin:8px 0}.drop-overlay{z-index:40;border:2px dashed var(--accent);background:color-mix(in srgb, var(--surface-sunken) 80%, transparent);pointer-events:none;border-radius:16px;place-items:center;font-size:16px;display:grid;position:fixed;inset:12px}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:6px}.placement-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.inline-fields{gap:6px;display:flex}.inline-fields input,.inline-fields .dropdown{flex:1;min-width:0}.measure-list{grid-template-columns:auto 1fr;gap:4px 10px;margin:6px 0;font-size:11px;display:grid}.measure-list dt{color:var(--text-2)}.measure-list dd{overflow-wrap:anywhere;margin:0}.histogram{align-items:flex-end;gap:2px;height:46px;margin:6px 0;display:flex}.histogram i{background:var(--accent);border-radius:2px 2px 0 0;flex:1}.histogram i.over{background:var(--danger)}.bool-bar{background:color-mix(in srgb, var(--accent) 5.1%, transparent);border-radius:7px;gap:6px;margin:8px 14px 0;padding:8px;font-size:10px;display:grid}.bool-bar small{color:var(--text-2);overflow-wrap:anywhere}.repair-plan{gap:8px;margin-bottom:10px;display:grid}.plan-step{background:color-mix(in srgb, var(--ink) 3.1%, transparent);border-radius:8px;gap:3px;padding:8px 10px;display:grid}.plan-step small{color:var(--text-2)}.plan-step.unsupported{background:color-mix(in srgb, var(--warn) 7.1%, transparent)}.cloud-tools{gap:6px;margin:8px 0;display:grid}.cloud-project{align-items:center;gap:4px;display:flex}.cloud-project>button:first-child{flex:1;min-width:0}.history-search{align-items:center;gap:8px;padding:4px 16px;display:flex}.history-search input{flex:1;max-width:260px;padding:5px 8px;font-size:10px}.readiness-status{margin:8px 0;font-weight:600}.readiness-status[data-status=blocked]{color:var(--danger-text)}.readiness-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.readiness-list li{background:color-mix(in srgb, var(--ink) 3.1%, transparent);border-radius:8px;padding:6px 10px;display:grid}.readiness-list li small{color:var(--text-2)}.readiness-list li[data-state=fail]{background:color-mix(in srgb, var(--danger) 9.4%, transparent)}.readiness-list li[data-state=pass] b:before{content:"✓ "}.readiness-list li[data-state=unknown] b:before{content:"? "}.orientation-row{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:10px;display:flex}
