@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{--bg-app:#eef1f6;--bg-header:#fff;--bg-panel:#fff;--bg-hover:#eef2f8;--bg-active:#e0ebff;--bg-dropdown:#fff;--bg-input:#fff;--bg-overlay:#ffffffeb;--bg-viewport:#f5f7fb;--border:#d5dbe6;--border-strong:#c0c8d6;--shadow:0 4px 16px #1824381a;--shadow-sm:0 1px 3px #18243814;--text-primary:#1a2233;--text-secondary:#3d4658;--text-muted:#7a8496;--text-on-accent:#fff;--accent:#2f6fed;--accent-hover:#2558c7;--accent-soft:#dbe7ff;--accent-text:#1e4db8;--success:#2f9d55;--danger:#d64545;--warning:#b8860b;--constraint:#7b6cff;--header-height:52px;--top-nav-chip-height:28px;--status-height:32px;--sidebar-width:260px;--inspector-width:280px;--radius:8px;--radius-sm:6px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg-app);color:var(--text-primary);-webkit-user-select:none;user-select:none;font-family:DM Sans,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}.atelier-panel{--sy-bg:#f9fafb;--sy-panel:#fff;--sy-hover:#f3f4f6;--sy-border:#e5e7eb;--sy-border-2:#d1d5db;--sy-text:#111827;--sy-text-2:#374151;--sy-text-3:#6b7280;--sy-input-border:#d1d5db;--sy-accent:#fd7e14;--sy-accent-hover:#e56f0f;--sy-accent-muted:#fff0e0;--sy-danger:#dc2626;--sy-danger-muted:#fee2e2;--sy-radius:8px;--sy-radius-lg:12px;background:var(--sy-bg);color:var(--sy-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif}.atelier-app-chip{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:baseline;gap:4px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.atelier-card-apps{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.atelier-dock{border-left:1px solid var(--sy-border);flex-direction:column;flex-shrink:0;width:360px;height:100%;min-height:0;display:flex;overflow:hidden}.account-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.account-btn:hover:not(:disabled){background:#fd7e1414;border-color:#fd7e144d}.account-btn.active{color:#fd7e14;background:#fd7e141f;border-color:#fd7e14}.account-avatar{color:#fff;background:#fd7e14;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-flex}.atelier-scroll{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.atelier-foot{background:var(--sy-panel);border-bottom:1px solid var(--sy-border);flex:none;padding:10px 16px}.atelier-bug-btn{width:100%;height:36px;color:var(--sy-text-2);background:var(--sy-panel);border:1px solid var(--sy-border-2);border-radius:var(--sy-radius);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.atelier-head-block{background:var(--sy-panel);border-bottom:1px solid var(--sy-border);flex-shrink:0}.atelier-head{background:var(--sy-panel);z-index:1;align-items:center;gap:6px;padding:8px 10px 8px 12px;display:flex;position:sticky;top:0}.atelier-head-block.is-open .atelier-head{border-bottom:1px solid var(--sy-border)}.atelier-head strong{min-width:0;color:var(--sy-text);flex:1;font-size:15px;font-weight:600}.atelier-head-account{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:6px;min-width:0;padding:2px 0;display:flex}.atelier-head-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--sy-text);flex:1;font-size:13px;font-weight:600;overflow:hidden}.atelier-head-fold{flex-direction:column;gap:8px;padding:8px 12px 10px;display:flex}.atelier-head-fold .atelier-quotas{background:0 0;border:none;gap:5px;padding:0}.atelier-head-fold .atelier-quota-label{font-size:11px}.atelier-head-fold .atelier-quota-bar{height:3px}.atelier-head-fold .atelier-upgrade-btn,.atelier-head-fold .atelier-oidc-btn{height:28px;font-size:11px}.atelier-plan{background:var(--sy-hover);color:var(--sy-text-3);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:500}.atelier-plan-premium{background:var(--sy-accent-muted);color:var(--sy-accent)}.atelier-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px 16px;display:flex;overflow-y:auto}.atelier-body h4{text-transform:uppercase;letter-spacing:.05em;color:var(--sy-text-3);align-items:center;gap:6px;margin:8px 0 0;font-size:12px;font-weight:600;display:flex}.atelier-hint{color:var(--sy-text-3);margin:0;font-size:12px;line-height:1.45}.atelier-terms{color:var(--sy-text-3);margin:0;font-size:11px;line-height:1.4}.atelier-error{border-radius:var(--sy-radius);background:var(--sy-danger-muted);color:var(--sy-danger);margin:12px 16px 0;padding:8px 12px;font-size:12px}.atelier-notice{border-radius:var(--sy-radius);background:var(--sy-accent-muted);color:var(--sy-text-2);margin:12px 16px 0;padding:8px 12px;font-size:12px}.atelier-tabs{gap:6px;display:flex}.atelier-tabs button{background:var(--sy-panel);color:var(--sy-text-2);border:1px solid var(--sy-border);border-radius:var(--sy-radius);cursor:pointer;flex:1;padding:7px 0;font-size:13px;transition:background .15s,border-color .15s}.atelier-tabs button:hover{background:var(--sy-hover)}.atelier-files{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.atelier-files-tabs{border-bottom:1px solid var(--sy-border);flex-shrink:0;margin:0 -16px;padding:0 16px;display:flex}.atelier-files-tabs button{letter-spacing:.01em;color:var(--sy-text-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;margin-bottom:-1px;padding:8px 4px 9px;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.atelier-files-tabs button:hover{color:var(--sy-text);background:0 0}.atelier-files-tabs button.active{color:var(--sy-accent);border-bottom-color:var(--sy-accent);background:0 0;font-weight:600}.atelier-files-pane{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.atelier-current-file{flex-direction:column;gap:10px;display:flex}.atelier-card-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.atelier-card-rename{width:100%;min-width:0;height:28px;color:var(--sy-text);background:var(--sy-input-bg);border:1px solid var(--sy-accent);border-radius:var(--sy-radius-sm);padding:0 8px;font-size:13px;font-weight:600}.atelier-tabs button.active{background:var(--sy-accent-muted);color:var(--sy-accent);border-color:var(--sy-accent);font-weight:500}.atelier-form{flex-direction:column;gap:8px;display:flex}.atelier-form input{background:var(--sy-panel);height:40px;color:var(--sy-text);border:1px solid var(--sy-input-border);border-radius:var(--sy-radius);outline:none;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.atelier-form input:focus{border-color:var(--sy-accent);box-shadow:0 0 0 2px #fd7e144d}.atelier-form input::placeholder{color:var(--sy-text-3)}.atelier-primary{background:var(--sy-accent);color:#fff;border-radius:var(--sy-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;height:40px;padding:0 16px;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.atelier-primary:hover{background:var(--sy-accent-hover)}.atelier-primary:disabled{opacity:.5;cursor:default}.atelier-oidc{flex-direction:column;gap:6px;display:flex}.atelier-oidc-btn{background:var(--sy-panel);height:40px;color:var(--sy-text-2);border:1px solid var(--sy-border-2);border-radius:var(--sy-radius);text-align:center;cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.atelier-oidc-btn:hover{background:var(--sy-hover)}.atelier-oidc-btn:disabled{opacity:.5;cursor:default}.atelier-user{color:var(--sy-text-2);background:var(--sy-panel);border:1px solid var(--sy-border);border-radius:var(--sy-radius-lg);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.atelier-icon-btn{min-width:28px;height:28px;color:var(--sy-text-3);border:1px solid var(--sy-border-2);border-radius:var(--sy-radius);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.atelier-icon-btn:hover{background:var(--sy-hover);color:var(--sy-text)}.atelier-icon-btn:disabled{opacity:.5;cursor:default}.atelier-list{background:var(--sy-panel);border:1px solid var(--sy-border);border-radius:var(--sy-radius-lg);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.atelier-list:empty{display:none}.atelier-list li{border-bottom:1px solid var(--sy-border);align-items:center;gap:8px;padding:10px 12px;display:flex}.atelier-list li:last-child{border-bottom:none}.atelier-list li.linked{background:var(--sy-accent-muted)}.atelier-list-main{color:var(--sy-text);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:0;font-size:13px;font-weight:500;display:flex}.atelier-list-main small{color:var(--sy-text-3);font-size:11px;font-weight:400}span.atelier-list-main{cursor:default}.atelier-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--sy-text-3);align-items:center;gap:6px;margin:6px 0 0;font-size:11px;font-weight:600;display:flex}.atelier-current{border-bottom:1px solid var(--sy-border);flex-direction:column;gap:10px;padding:2px 0 12px;display:flex}.atelier-current-title{align-items:center;gap:4px;min-width:0;display:flex}.atelier-current-name{letter-spacing:-.015em;min-width:0;color:var(--sy-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:16px;font-weight:600;line-height:1.25;overflow:hidden}.atelier-rename-btn{color:var(--sy-text-3);border:none}.atelier-rename-btn:hover:not(:disabled){color:var(--sy-accent);background:var(--sy-accent-muted)}.atelier-current .atelier-card-rename{height:32px;font-size:15px;font-weight:600}.atelier-current .atelier-primary,.atelier-current .atelier-oidc-btn{height:34px;font-size:13px}.atelier-sync{margin:0;font-size:12px}.atelier-sync.dirty{color:#b45309}.atelier-sync.clean{color:#047857}.atelier-user-card{background:var(--sy-panel);border:1px solid var(--sy-border);border-radius:var(--sy-radius-lg);flex-direction:column;flex-shrink:0;gap:0;padding:4px 6px 4px 10px;display:flex}.atelier-user-card.is-open{gap:8px;padding:8px 8px 10px 10px}.atelier-account-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.atelier-account-toggle{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:6px;min-width:0;padding:2px 0;display:flex}.atelier-account-toggle:hover .atelier-account-email{color:var(--sy-text)}.atelier-account-caret{color:var(--sy-text-3);flex-shrink:0;transition:transform .18s;display:inline-flex}.atelier-user-card.is-open .atelier-account-caret,.atelier-head-block.is-open .atelier-account-caret{color:var(--sy-accent);transform:rotate(180deg)}.atelier-account-fold{border-top:1px solid var(--sy-border);flex-direction:column;gap:8px;padding-top:4px;display:flex}.atelier-account-info{flex-direction:column;gap:1px;min-width:0;display:flex}.atelier-account-email{min-width:0;color:var(--sy-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}.atelier-quotas{background:var(--sy-panel);border:1px solid var(--sy-border);border-radius:var(--sy-radius);flex-direction:column;gap:8px;padding:12px;display:flex}.atelier-user-card .atelier-quotas{background:0 0;border:none;gap:6px;padding:0}.atelier-user-card .atelier-upgrade-btn{height:30px;font-size:11px}.atelier-quota-item{flex-direction:column;gap:4px;display:flex}.atelier-quota-label{color:var(--sy-text-2);justify-content:space-between;font-size:12px;display:flex}.atelier-quota-value{font-variant-numeric:tabular-nums;color:var(--sy-text);font-weight:500}.atelier-quota-bar{background:var(--sy-hover);border-radius:99px;height:4px;overflow:hidden}.atelier-quota-fill{background:var(--sy-accent);border-radius:99px;height:100%;transition:width .3s}.atelier-quota-meta{color:var(--sy-text-3);margin-top:2px;font-size:11px}.atelier-upgrade-btn{background:var(--sy-accent);color:#fff;border-radius:var(--sy-radius);cursor:pointer;border:none;justify-content:center;align-items:center;height:34px;padding:0 14px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.atelier-upgrade-btn:hover{background:var(--sy-accent-hover)}.atelier-upgrade-btn:disabled{opacity:.5;cursor:default}.atelier-proj-group{flex-direction:column;display:flex}.atelier-proj-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sy-text-3);padding:6px 0 3px;font-size:10px;font-weight:600}.atelier-proj-row{border-radius:var(--sy-radius);border:1px solid #0000;align-items:center;gap:8px;padding:7px 8px;transition:background .12s;display:flex}.atelier-proj-row:hover{background:var(--sy-hover)}.atelier-proj-row-linked{background:var(--sy-accent-muted);border-color:#fd7e144d}.atelier-proj-row-linked:hover{background:var(--sy-accent-muted)}.atelier-proj-thumb{background:var(--sy-hover);width:44px;height:44px;color:var(--sy-text-3);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.atelier-proj-info{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;padding:0;display:flex}.atelier-proj-info:disabled{cursor:default;opacity:.7}.atelier-proj-name{color:var(--sy-text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:500;overflow:hidden}.atelier-proj-meta{color:var(--sy-text-3);align-items:center;gap:4px;font-size:11px;display:flex}.atelier-proj-badge{color:var(--sy-accent);font-weight:600}.atelier-tree{flex-direction:column;gap:2px;display:flex}.atelier-tree-row{padding-left:4px}.atelier-tree-caret,.atelier-tree-icon{color:var(--sy-text-3);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.atelier-tree-files{flex-direction:column;padding:0 0 6px 28px;display:flex}.atelier-tree-file{border-radius:var(--sy-radius);color:var(--sy-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;display:flex}.atelier-tree-file:hover{background:var(--sy-hover)}.atelier-tree-file:disabled{opacity:.55;cursor:default}.atelier-tree-file-open{background:var(--sy-accent-muted);color:var(--sy-accent)}.atelier-tree-file small{color:var(--sy-text-3);margin-left:auto;font-size:10px}.atelier-danger-hover:hover{color:var(--sy-danger)!important;background:var(--sy-danger-muted)!important}.atelier-data{flex-direction:column;gap:10px;display:flex}.atelier-crumb{color:var(--sy-text-2);flex-wrap:wrap;align-items:center;gap:6px;padding:2px;font-size:12px;font-weight:500;display:flex}.atelier-crumb-item{align-items:center;gap:6px;display:inline-flex}.atelier-crumb-sep{opacity:.4}.atelier-crumb button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.atelier-crumb button:hover{color:var(--sy-accent)}.atelier-crumb-actions{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.atelier-crumb .atelier-crumb-action{min-width:24px;min-height:24px;color:var(--sy-text-3);justify-content:center;align-items:center;margin-left:0;padding:4px;display:inline-flex}.atelier-explorer-tools{justify-content:flex-end;align-items:center;display:flex}.atelier-sort{color:var(--sy-text-3);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.atelier-sort select{border:1px solid var(--sy-input-border);border-radius:var(--sy-radius-sm);background:var(--sy-input-bg);height:26px;color:var(--sy-text);padding:0 6px;font-size:12px}.atelier-ctx{z-index:80;border:1px solid var(--sy-border);border-radius:var(--sy-radius);background:var(--sy-panel);min-width:180px;padding:4px;position:fixed;box-shadow:0 10px 28px #11182724}.atelier-ctx button{width:100%;color:var(--sy-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13px;display:block}.atelier-ctx button:hover{background:var(--sy-hover)}.atelier-folder-new{gap:6px;display:flex}.atelier-folder-new input{border:1px solid var(--sy-input-border);border-radius:var(--sy-radius-sm);background:var(--sy-input-bg);min-width:0;height:32px;color:var(--sy-text);flex:1;padding:0 8px;font-size:13px}.atelier-folder-new button{border:1px solid var(--sy-border);border-radius:var(--sy-radius-sm);background:var(--sy-panel);height:32px;color:var(--sy-text);cursor:pointer;padding:0 10px;font-size:12px}.atelier-folder-thumb{color:var(--sy-accent)}.atelier-card{background:var(--sy-panel);border:1px solid var(--sy-border);border-radius:var(--sy-radius-lg);transition:border-color .2s,box-shadow .2s;overflow:hidden;box-shadow:0 1px 2px #1118270a}.atelier-card:hover{border-color:var(--sy-border-2);box-shadow:0 4px 14px #1118270f}.atelier-card-current,.atelier-card-selected{border-color:#fd7e1466;box-shadow:0 6px 18px #fd7e141a}.atelier-card-head{align-items:center;gap:4px;padding:10px;display:flex}.atelier-card-main{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.atelier-card-thumb{border:1px solid var(--sy-border);width:48px;height:48px;color:var(--sy-text-3);background:linear-gradient(#fff7ed,#f3f4f6);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;overflow:hidden}.atelier-card-thumb img,.atelier-card-thumb .atelier-thumb-swatches,.atelier-card-thumb .atelier-thumb-orbit{object-fit:cover;width:100%;height:100%}.atelier-card-thumb-orbit{background:#f7f1e4;border-color:#e6d9c2}.atelier-card-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.atelier-card-name{color:var(--sy-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.atelier-card-meta{color:var(--sy-text-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.atelier-card-palette{align-items:center;gap:3px;display:inline-flex}.atelier-card-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:inset 0 0 0 1px #00000024}.atelier-card-live{color:var(--sy-accent);align-items:center;gap:5px;font-weight:600;display:inline-flex}.atelier-card-live:before{content:"";background:var(--sy-accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #fd7e142e}.atelier-login{gap:14px;padding-top:24px}.atelier-login-hero{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:8px 4px 4px;display:flex}.atelier-login-logo{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#fd7e14,#f95d0e);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-size:19px;font-weight:800;display:flex;box-shadow:0 4px 14px #fd7e1459}.atelier-login-hero h3{color:var(--sy-text);margin:4px 0 0;font-size:17px;font-weight:700}.atelier-login-hero p{color:var(--sy-text-3);max-width:240px;margin:0;font-size:12.5px;line-height:1.5}.atelier-divider{color:var(--sy-text-3);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;font-size:11px;display:flex}.atelier-divider:before,.atelier-divider:after{content:"";background:var(--sy-border);flex:1;height:1px}.atelier-oidc-btn svg{flex-shrink:0;margin-right:8px}.atelier-modal-backdrop{z-index:1000;background:#11182773;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.atelier-modal-card{background:var(--sy-panel);border:1px solid var(--sy-border);border-radius:12px;width:min(420px,100%);padding:20px 22px 16px;box-shadow:0 18px 50px #11182738}.atelier-modal-card h3{color:var(--sy-text);margin:0 0 8px;font-size:16px;font-weight:700}.atelier-modal-card p{color:var(--sy-text-2);white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.5}.atelier-modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.atelier-modal-btn{border:1px solid var(--sy-border);background:var(--sy-hover);color:var(--sy-text);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600}.atelier-modal-btn-primary{background:var(--sy-accent);border-color:var(--sy-accent);color:#fff}.atelier-modal-btn-danger{background:var(--sy-danger);border-color:var(--sy-danger);color:#fff}.app-shell{background:var(--bg-app);width:100vw;height:100vh;color:var(--text-primary);flex-direction:row;display:flex;overflow:hidden}.app-shell-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.top-nav{height:var(--header-height);background:var(--bg-header);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:70;flex-shrink:0;align-items:center;gap:12px;padding:0 14px;display:flex;position:relative;overflow:visible}.top-nav-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.app-mark{flex-shrink:0;width:22px;height:22px;display:block}.app-title{letter-spacing:-.2px;color:var(--text-primary);font-size:15px;font-weight:700}.save-badge{color:var(--text-muted);background:var(--bg-hover);border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;display:inline-flex}.save-badge--saved{color:var(--success)}.save-badge--dirty{color:var(--warning)}.save-badge--error{color:var(--danger)}.top-nav-center{flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.top-nav-right{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.top-nav-icon-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,border-color .12s;display:inline-flex}.top-nav-icon-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border)}.top-nav-icon-btn:disabled{opacity:.35;cursor:default}.top-nav-icon-btn--active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.top-nav-avatar{background:var(--accent);color:#fff;letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;line-height:1;display:flex}.kernel-status{color:var(--text-muted);white-space:nowrap;font-size:12px}.kernel-status--ready{color:var(--success)}.kernel-status--error{color:var(--danger)}.workspace-chrome{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.mode-tabs{flex-shrink:1;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.mode-tab{appearance:none;color:var(--text-muted);font:inherit;letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;padding:6px 12px;font-size:12px;font-weight:600;transition:color .12s,background .12s,border-color .12s}.mode-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.mode-tab--active{color:var(--accent-text);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.top-nav-tools-btn{height:var(--top-nav-chip-height);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:600;line-height:1;display:inline-flex}.top-nav-tools-btn svg{flex-shrink:0;width:16px;height:16px}.top-nav-tools-btn:hover:not(:disabled){background:var(--bg-panel);border-color:var(--accent,#3b7be8)}.top-nav-tools-btn--active{background:color-mix(in srgb, var(--accent,#3b7be8) 14%, var(--bg-hover));border-color:var(--accent,#3b7be8);color:var(--accent,#3b7be8)}.top-nav-tools-btn:disabled{opacity:.85;cursor:default}.tools-panel{background:var(--bg-panel);border-bottom:1px solid var(--border);z-index:60;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:visible}.tools-panel-modes{justify-content:center;padding:6px 12px 0;display:flex}.tool-palette{background:var(--bg-panel);border-bottom:none;flex-shrink:0;align-items:stretch;gap:4px;min-height:64px;padding:4px 12px 6px;display:flex;overflow:visible}.toolbar{flex-wrap:wrap;flex:1;align-items:stretch;gap:4px;min-width:0;display:flex;overflow:visible}.app-header{height:var(--header-height);background:var(--bg-header);border-bottom:1px solid var(--border);flex-shrink:0;align-items:stretch;gap:10px;padding:4px 12px 2px;display:flex}.app-header>.app-title,.app-header>.kernel-status,.app-header>.tool-button{align-self:center}.tool-group{flex-direction:column;justify-content:space-between;display:flex}.tool-group-buttons{gap:2px;display:flex}.tool-group-name{text-align:center;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding-top:1px;font-size:10px}.tool-button{min-width:68px;max-width:88px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 10px 5px;transition:background .12s,border-color .12s,color .12s,transform 80ms;display:flex}.tool-button:active:not(:disabled){transform:scale(.97)}.tool-button-icon{justify-content:center;align-items:center;width:32px;height:28px;display:flex}.tool-button-label{color:inherit;text-align:center;text-overflow:ellipsis;max-width:76px;font-size:11.5px;line-height:1.1;overflow:hidden}.tool-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border)}.tool-button:disabled{opacity:.32;cursor:default}.tool-button--active{color:var(--text-primary);background:#e2edfc;border-color:#2f80ed47}.tool-button--active .tool-button-icon{color:#2f80ed}.tool-button--primary{background:var(--accent);color:var(--text-on-accent)}.tool-button--primary .tool-button-icon{color:var(--accent-soft)}.tool-button--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.tool-flyout{color:var(--text-secondary);border:1px solid #0000;border-radius:8px;align-items:stretch;transition:background .12s,border-color .12s,color .12s;display:flex}.tool-flyout:hover{background:var(--bg-hover);border-color:var(--border)}.tool-flyout--active{color:var(--text-primary);background:#e2edfc;border-color:#2f80ed47}.tool-flyout--active .tool-button-icon{color:#2f80ed}.tool-flyout .tool-flyout-main{min-width:56px;max-width:88px;color:inherit;background:0 0;border:none}.tool-flyout .tool-flyout-main:hover:not(:disabled){background:0 0;border-color:#0000}.tool-flyout-chevron{width:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin:4px 3px 4px 0;padding:0;font-size:10px;line-height:1;display:flex}.tool-flyout-chevron:hover,.tool-flyout-chevron--open{color:var(--text-primary);background:color-mix(in srgb, var(--border) 55%, transparent)}.toolbar-button{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 10px;font-size:12.5px;transition:background .12s,border-color .12s}.toolbar-button:hover:not(:disabled){background:var(--bg-hover)}.toolbar-button:disabled{opacity:.35;cursor:default}.toolbar-button--active{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.toolbar-button--primary{background:var(--accent);color:var(--text-on-accent)}.toolbar-button--primary:hover:not(:disabled){background:var(--accent-hover)}.toolbar-button--constraint{min-width:32px;font-size:14px}.toolbar-separator{background:var(--border-strong);flex-shrink:0;align-self:stretch;width:1px;margin:4px 10px}.toolbar-flex{flex:1}.toolbar-hint{color:var(--warning);align-self:center;margin-left:8px;font-size:12px}.body-context-menu{z-index:200;background:var(--bg-dropdown);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow);flex-direction:column;padding:4px;display:flex;position:fixed}.body-context-menu-title{color:var(--text-muted,var(--text-secondary));text-overflow:ellipsis;white-space:nowrap;max-width:220px;padding:6px 12px 4px;font-size:11px;font-weight:600;overflow:hidden}.body-context-menu button{width:100%;color:var(--text-secondary);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;padding:8px 12px;font-size:12.5px;display:flex}.body-context-menu button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.body-context-menu button:disabled{opacity:.55;cursor:wait}.body-context-menu-error{color:#c0392b;max-width:220px;padding:4px 12px 8px;font-size:11px}.tree-context-submenu{border-left:2px solid var(--border);flex-direction:column;margin:2px 0 2px 8px;padding:2px 0 2px 8px;display:flex}.tree-context-submenu button{padding:6px 10px;font-size:12px}.app-main{flex:1;min-height:0;display:flex}.app-center{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-viewport{background:var(--bg-viewport);flex:1;min-width:0;position:relative}.app-viewport canvas{display:block}.welcome-overlay{z-index:20;pointer-events:none;max-width:min(420px,100% - 32px);position:absolute;top:16px;left:50%;transform:translate(-50%)}.welcome-card{background:color-mix(in srgb, var(--bg-panel) 92%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-sm,0 4px 18px #0000001f);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:14px 18px}.welcome-title{letter-spacing:-.2px;color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:700}.welcome-lead{color:var(--text-secondary);margin:0 0 10px;font-size:13px;line-height:1.4}.welcome-steps{color:var(--text-muted);margin:0;padding-left:18px;font-size:12.5px;line-height:1.45}.welcome-steps li+li{margin-top:2px}.stl-drop-target{position:absolute;inset:0}.stl-drop-target--over{outline:2px dashed var(--accent,#3b82f6);outline-offset:-8px}.stl-drop-overlay{z-index:30;pointer-events:none;background:color-mix(in srgb, var(--bg-panel) 80%, transparent);color:var(--text-primary);border-radius:12px;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex;position:absolute;inset:12px}.contextual-rail{z-index:40;background:color-mix(in srgb, var(--bg-panel) 94%, transparent);border:1px solid var(--border);max-width:calc(100% - 24px);box-shadow:var(--shadow-sm,0 4px 18px #00000024);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;align-items:center;gap:6px;padding:8px 10px;display:flex;position:absolute;bottom:16px;left:50%;overflow:visible;transform:translate(-50%)}.contextual-rail-menu{flex-shrink:0;position:relative}.contextual-rail-dropdown{background:var(--bg-dropdown);border:1px solid var(--border);border-radius:var(--radius);z-index:50;min-width:180px;box-shadow:var(--shadow);flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.contextual-rail-dropdown button{width:100%;color:var(--text-secondary);text-align:left;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex}.contextual-rail-dropdown button:hover{background:var(--bg-hover);color:var(--text-primary)}.contextual-rail-dropdown .constraint-menu-hint{color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:6px 12px 4px;font-size:11px}.contextual-rail-label{color:var(--text-muted);border-right:1px solid var(--border);flex-shrink:0;margin-right:2px;padding:0 6px 0 4px;font-size:11.5px;font-weight:700}.contextual-rail-hint{color:var(--text-secondary);white-space:nowrap;padding:0 6px;font-size:12.5px}.contextual-rail-btn{height:34px;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.contextual-rail-btn:hover{background:var(--bg-hover);border-color:var(--border)}.contextual-rail-btn--active{background:color-mix(in srgb, var(--accent,#3b7be8) 14%, transparent);border-color:color-mix(in srgb, var(--accent,#3b7be8) 40%, transparent);color:var(--accent,#3b7be8)}.contextual-rail-btn-icon{width:22px;height:22px;display:flex}.contextual-rail-btn-icon svg{width:22px;height:22px}.contextual-rail-btn-label{white-space:nowrap}.contextual-rail-split{border:1px solid #0000;border-radius:8px;align-items:stretch;display:flex}.contextual-rail-split:hover{background:var(--bg-hover);border-color:var(--border)}.contextual-rail-split .contextual-rail-btn{background:0 0;border:none}.contextual-rail-split .contextual-rail-btn:hover{background:0 0;border-color:#0000}.contextual-rail-split-chevron{width:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin:3px 3px 3px 0;padding:0;font-size:11px;line-height:1;display:flex}.contextual-rail-split-chevron:hover{color:var(--text-primary);background:color-mix(in srgb, var(--border) 55%, transparent)}.contextual-rail-dismiss{height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;margin-left:2px;padding:0 10px;font-size:12px}.contextual-rail-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}.status-bar{height:var(--status-height);background:var(--bg-header);border-top:1px solid var(--border);color:var(--text-muted);z-index:40;flex-shrink:0;align-items:center;gap:14px;padding:0 12px;font-size:12px;display:flex}.status-bar-left,.status-bar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.status-bar-center{text-align:center;min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.status-bar-btn{appearance:none;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);font:inherit;border-radius:var(--radius-sm);cursor:pointer;padding:2px 8px;font-size:11.5px}.status-bar-btn:hover{background:var(--bg-hover)}.status-bar-units{color:var(--accent-text);font-weight:600}.status-bar-toggle{appearance:none;border:1px solid var(--border);color:var(--text-muted);font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:2px 7px;font-size:11px}.status-bar-toggle--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.property-panel{width:var(--inspector-width);background:var(--bg-panel);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:12px;padding:12px 14px;font-size:13px;display:flex;position:relative;overflow-y:auto}.property-panel-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);margin:0;font-size:13px;font-weight:700}.property-panel-empty{color:var(--text-muted);font-size:12.5px;line-height:1.45}.face-tools{flex-direction:column;gap:8px;display:flex}.face-tool-btn{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.face-tool-btn-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.face-tool-btn-icon svg{width:26px;height:26px}.face-tool-btn-label{flex:1}.face-tool-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.face-tool-btn:disabled{opacity:.45;cursor:not-allowed}.export-canvas{background:radial-gradient(at 30% 20%,#fff 0%,#0000 55%),linear-gradient(160deg,#eef1f6 0%,#e4e9f2 45%,#dde3ee 100%);flex-direction:column;display:flex;position:absolute;inset:0}.export-canvas--empty{justify-content:center;align-items:center}.export-canvas-empty{text-align:center;max-width:360px;padding:24px}.export-canvas-empty h2{color:var(--text-primary);margin:0 0 8px;font-size:22px;font-weight:700}.export-canvas-empty p{color:var(--text-secondary);margin:0 0 16px;font-size:13.5px;line-height:1.45}.export-canvas-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:28px 32px 8px;display:flex}.export-canvas-svg{border:1px solid var(--border);border-radius:var(--radius);width:min(100%,720px);height:min(100%,520px);box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;padding:24px;display:flex}.export-canvas-svg svg{width:auto;max-width:100%;height:auto;max-height:100%}.export-canvas-status{color:var(--text-muted);font-size:14px}.export-canvas-status--error{color:var(--danger)}.export-canvas-caption{text-align:center;color:var(--text-muted);padding:8px 16px 14px;font-size:12px}.export-trace--selected{filter:drop-shadow(0 0 .5px var(--accent))}.export-svg--dragging{cursor:grabbing}.export-marquee{fill:#508cdc1f;stroke:#4a90d9;stroke-width:.35px;stroke-dasharray:1.2 .7;pointer-events:none}.export-card{border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--bg-panel);margin-top:10px;padding:10px 10px 8px}.export-card-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11.5px;font-weight:700}.export-trace-list{flex-direction:column;gap:6px;display:flex}.export-trace-row{align-items:stretch;gap:6px;display:flex}.export-trace-item{min-width:0;font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);cursor:pointer;text-align:left;flex:1;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;font-weight:500;display:flex}.export-trace-item:hover,.export-trace-row--on .export-trace-item{border-color:var(--accent);background:var(--accent-soft)}.export-trace-row--on .export-trace-item{color:var(--accent-text);font-weight:600}.export-trace-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.export-trace-delete{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:32px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.export-trace-delete:hover{border-color:var(--danger,#c0392b);background:color-mix(in srgb, var(--danger,#c0392b) 12%, var(--bg-input));color:var(--danger,#c0392b)}.export-trace-delete svg{width:16px;height:16px}.export-trace-item-swatch{background:0 0;border:2px solid red;border-radius:4px;flex-shrink:0;width:16px;height:16px}.export-color-row{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.export-color-row:last-child{margin-bottom:2px}.export-color-label{color:var(--text-secondary);font-size:12px;font-weight:600}.export-color-swatches{flex-wrap:wrap;gap:6px;display:flex}.export-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0;box-shadow:inset 0 0 0 1px #1824381f}.export-color-swatch:hover{transform:scale(1.08)}.export-color-swatch--on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.export-color-swatch--none{background:linear-gradient(135deg, transparent 46%, var(--danger) 46%, var(--danger) 54%, transparent 54%), var(--bg-input)}.export-color-custom{background:var(--bg-input);cursor:pointer;height:22px;color:var(--text-secondary);border:2px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:0 8px 0 4px;font-size:11px;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #1824381f}.export-color-custom--on{border-color:var(--accent);color:var(--accent-text)}.export-color-custom input[type=color]{cursor:pointer;background:0 0;border:none;width:16px;height:16px;padding:0}.property-field{flex-direction:column;gap:4px;display:flex}.property-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600}.property-field input,.property-field select{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);padding:7px 9px;font-size:13px}.property-field input:focus,.property-field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.property-constraints{flex-direction:column;gap:4px;display:flex}.property-constraint-row{border-radius:var(--radius-sm);background:var(--bg-hover);align-items:center;gap:8px;padding:6px 8px;font-size:12.5px;display:flex}.property-constraint-row button{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 4px}.property-constraint-row button:hover{color:var(--danger)}.property-ref-images{border-top:1px solid var(--border,#00000014);margin-top:12px;padding-top:10px}.property-ref-image{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.property-ref-image-head{align-items:center;gap:8px;display:flex}.property-ref-image-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.property-ref-image-head .dialog-cancel{width:auto;min-width:auto;padding:2px 8px}.property-actions{border-top:1px solid var(--border);gap:8px;margin-top:auto;padding-top:8px;display:flex}.property-actions button{appearance:none;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font:inherit;padding:6px 10px;font-size:12px}.property-actions button:hover{background:var(--bg-hover)}.property-actions button--danger:hover{color:var(--danger);border-color:var(--danger)}.feature-tree{width:var(--sidebar-width);background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;min-height:0;padding:8px 0 0;font-size:13px;display:flex;position:relative;overflow:hidden}.tree-upper{flex-shrink:0;min-height:80px;overflow:hidden auto}.tree-lower{flex-direction:column;flex:auto;min-height:60px;display:flex;overflow:hidden}.tree-lower .tree-section-block--fill{border-top:none;flex:1;min-height:0}.panel-splitter{z-index:5;background:0 0;flex-shrink:0}.panel-splitter--h{cursor:row-resize;border-top:1px solid var(--border);border-bottom:1px solid #0000;height:5px}.panel-splitter--h:hover,.panel-splitter--h:active{background:var(--accent-soft);border-color:var(--accent)}.panel-splitter--v{cursor:col-resize;width:5px;height:100%;position:absolute;top:0;right:0}.panel-splitter--v:hover,.panel-splitter--v:active{background:var(--accent-soft)}.panel-splitter--left{left:0;right:auto}.tree-piece-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 10px;display:flex}.tree-piece-btn:hover{background:var(--bg-hover)}.tree-group--active{background:color-mix(in srgb, var(--accent-soft) 55%, transparent);border-radius:6px;margin:2px 4px}.tree-group--active>.tree-group-header,.tree-group--active>.tree-piece-btn{background:0 0}.tree-active-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);background:var(--accent-soft);border-radius:4px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:9.5px;font-weight:700}.tree-group-header{cursor:pointer}.active-piece{flex-shrink:0;position:relative}.active-piece-btn{height:var(--top-nav-chip-height);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-secondary);font:inherit;cursor:pointer;align-items:center;gap:6px;max-width:200px;padding:0 10px;line-height:1;display:flex}.active-piece-swatch{border:1px solid color-mix(in srgb, var(--border-strong) 70%, transparent);border-radius:50%;flex-shrink:0;width:10px;height:10px}.active-piece-btn:hover{border-color:var(--accent)}.active-piece-btn--static{cursor:default}.active-piece-btn--static:hover{border-color:var(--border)}.active-piece-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:700}.active-piece-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.active-piece-caret{color:var(--text-muted);font-size:10px}.active-piece-menu{background:var(--bg-dropdown);border:1px solid var(--border);border-radius:var(--radius);width:max-content;min-width:max(200px,100%);box-shadow:var(--shadow);z-index:80;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.active-piece-menu>button{appearance:none;text-align:left;width:100%;font:inherit;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex}.active-piece-menu>button svg{width:16px;height:16px;color:var(--accent-text);flex-shrink:0}.active-piece-menu-sub{color:var(--text-muted)!important;padding-left:28px!important}.active-piece-menu button:hover{background:var(--bg-hover)}.active-piece-option--on{font-weight:600;background:var(--accent-soft)!important;color:var(--accent-text)!important}.active-piece-option--danger{color:var(--danger,#c44)!important}.active-piece-menu-sep{background:var(--border);height:1px;margin:4px 8px}.active-piece-rename{align-items:center;gap:6px;padding:6px 8px;display:flex}.active-piece-rename input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-primary);border-radius:5px;flex:1;padding:6px 8px;font-size:12.5px}.active-piece-rename button{flex-shrink:0;font-weight:600;background:var(--accent-soft)!important;width:auto!important;color:var(--accent-text)!important;padding:6px 10px!important}.tree-section{color:var(--text-primary);padding:2px 14px 8px;font-size:13px;font-weight:600}.tree-section--title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:8px;font-size:11px;font-weight:700}.tree-project-menu-wrap{margin-bottom:6px;position:relative}.tree-project-btn{appearance:none;cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;align-items:center;gap:8px;margin:0;display:flex}.tree-project-btn:hover{color:var(--accent-text)}.tree-project-btn-label{flex-shrink:0}.atelier-card-apps,.tree-project-btn .atelier-app-chip,.active-piece .atelier-app-chip{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.atelier-app-chip{letter-spacing:.02em;text-transform:none;border:1px solid #0000;border-radius:999px;align-items:baseline;gap:4px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.atelier-app-chip-kind{opacity:.78;font-weight:600}.atelier-app-chip-gamebox{color:#9a3412;background:#ffedd5;border-color:#fdba74}.atelier-app-chip-orbit{color:#1e3a5f;background:#dbeafe;border-color:#93c5fd}.atelier-app-chip-boxes{color:#5c3d1e;background:#f5e6c8;border-color:#d4b483}.tree-project-btn-name{text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0;min-width:0;color:var(--text-primary);flex:1;font-size:12.5px;font-weight:600;overflow:hidden}.tree-project-btn-caret{color:var(--text-muted);flex-shrink:0;font-size:10px}.tree-project-dropdown{background:var(--bg-dropdown);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow);z-index:80;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% - 2px);left:8px;right:8px}.tree-project-dropdown>button,.tree-project-option-row>button:first-child{appearance:none;text-align:left;width:100%;font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:8px 12px;font-size:12.5px}.tree-project-dropdown>button:hover,.tree-project-option-row>button:first-child:hover{background:var(--bg-hover)}.tree-project-dropdown-sep{background:var(--border);height:1px;margin:4px 6px}.tree-project-option-row{align-items:center;gap:2px;display:flex}.tree-project-option-row>button:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree-project-option--on{font-weight:600;background:var(--accent-soft)!important;color:var(--accent-text)!important}.tree-project-delete{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;padding:6px 8px;font-size:11px}.tree-project-delete:hover{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.top-nav-project-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;cursor:text;border-radius:var(--radius-sm);max-width:180px;padding:2px 6px;font-size:13px;font-weight:600;overflow:hidden}.top-nav-project-name:hover{background:var(--bg-hover)}.top-nav-brand .tree-rename-input{width:160px;font-size:13px;font-weight:600}.tree-item--active{background:var(--accent-soft);color:var(--accent-text)}.tree-section-block{flex-shrink:0;margin-bottom:8px}.tree-section-block--fill{border-top:1px solid var(--border);flex-direction:column;flex:auto;min-height:80px;margin-bottom:0;padding-top:2px;display:flex;overflow:hidden}.tree-section-block--fill.tree-section-block--collapsed{flex:none;min-height:0}.tree-section-block--fill>.tree-section-body{flex-direction:column;flex:1;min-height:0;padding-left:0;display:flex;overflow:hidden}.tree-section-header{flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;display:flex}.tree-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;flex:1;font-size:11.5px;font-weight:700}.tree-section-body{padding-left:4px}.tree-folder{margin:2px 0}.tree-folder-header{width:100%;color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.4px;background:0 0;border:none;align-items:center;gap:4px;padding:3px 8px 3px 10px;font-size:11.5px;display:flex}.tree-folder-header:hover{color:var(--text-secondary);background:var(--bg-hover)}.tree-folder-label{text-align:left;flex:1}.tree-folder-count{color:var(--text-muted);text-align:right;min-width:14px;font-size:10px}.tree-folder-children{margin-left:10px}.tree-group-title--muted{font-style:italic;color:var(--text-muted)!important}.tree-history{flex:1;min-height:0;padding:0;overflow-y:auto}.tree-history .history-list{min-height:min-content}.tree-group{margin-bottom:10px}.tree-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;padding:4px 14px;font-size:11px}.tree-item{color:var(--text-secondary);cursor:default;align-items:center;padding:4px 14px;display:flex}.tree-item:hover{background:var(--bg-hover)}.tree-item-label{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:1;overflow:hidden}.tree-item-actions{gap:2px;display:none}.tree-item:hover .tree-item-actions{display:flex}.tree-item-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px}.tree-item-actions button:hover{color:var(--text-primary)}.tree-empty{color:var(--text-muted);padding:4px 14px;font-size:12px;font-style:italic}.tree-rename-input{background:var(--bg-input);border:1px solid var(--accent);width:100%;color:var(--text-primary);border-radius:4px;outline:none;padding:2px 6px;font-size:12.5px}.history-list{flex-direction:column;gap:1px;min-height:0;padding:2px 6px 8px;display:flex}.history-empty{color:var(--text-muted);padding:6px 8px;font-size:11.5px;font-style:italic}.history-busy{color:var(--accent-text);padding:4px 8px;font-size:11px}.history-row-wrap{position:relative}.history-row{width:100%;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;min-height:26px;padding:3px 6px;font-size:12px;display:flex}.history-row:hover{background:var(--bg-hover)}.history-row--current{background:var(--accent-soft);color:var(--accent-text)}.history-row--future{opacity:.45}.history-row--error{color:var(--danger)}.history-row-badge{background:var(--danger);color:#fff;text-align:center;border-radius:50%;flex-shrink:0;width:16px;height:16px;font-size:11px;font-weight:700;line-height:16px}.history-error{background:color-mix(in srgb, var(--danger) 10%, var(--bg-panel));border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);color:var(--text-secondary);border-radius:5px;margin:2px 0 6px 26px;padding:6px 8px;font-size:11px;line-height:1.35}.history-error-msg{color:var(--danger);margin-bottom:3px;font-weight:600}.history-error-hint{color:var(--text-muted);margin-bottom:6px}.history-error-actions{flex-wrap:wrap;gap:4px;display:flex}.history-error-actions button{appearance:none;border:1px solid var(--border);background:var(--bg-elevated,var(--bg-panel));color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:4px;padding:2px 7px;font-size:11px}.history-error-actions button:hover{background:var(--bg-hover)}.history-error-actions--danger{color:var(--danger)!important;border-color:color-mix(in srgb, var(--danger) 40%, var(--border))!important}.history-row--suppressed .history-row-label{opacity:.7;text-decoration:line-through}.history-row-icon{width:18px;height:18px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.history-row-icon svg{width:16px;height:16px}.history-row-icon--muted{color:var(--text-muted);font-size:13px}.history-row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.history-mark-btn{appearance:none;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;display:flex}.history-mark{box-sizing:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.history-mark--done{background:var(--success);color:#fff}.history-mark--current{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.history-mark--future{border:1.5px solid var(--border-strong);background:0 0}.timeline{background:var(--bg-app);border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:0;height:44px;padding:0 10px;display:flex;overflow-x:auto}.timeline-cell{align-items:center;display:flex}.timeline-chip-wrap{position:relative}.timeline-chip{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:6px;padding:5px 10px;font-size:12px}.timeline-chip:hover{border-color:var(--accent)}.timeline-chip--error{border-color:var(--danger);color:var(--danger)}.timeline-chip--suppressed{opacity:.45;text-decoration:line-through}.timeline-chip--current{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.timeline-chip--future{opacity:.4}.timeline-chip--rolledback{opacity:.35}.timeline-rollback{cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;width:10px;height:26px;margin:0 2px;padding:0}.timeline-rollback:hover{border-left-color:var(--text-muted)}.timeline-rollback--active{border-left-color:var(--warning)}.timeline-empty{color:var(--text-muted);margin-left:6px;font-size:12px;font-style:italic}.timeline-busy{color:var(--accent);margin-left:10px;animation:1s linear infinite kernel-spin;display:inline-block}.timeline-menu{background:var(--bg-dropdown);border:1px solid var(--border);z-index:50;width:max-content;min-width:max(180px,100%);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:36px;left:0}.timeline-menu.timeline-menu--history{z-index:200;border-radius:var(--radius-sm);width:max-content;min-width:0;padding:3px;position:fixed;bottom:auto}.timeline-menu button{width:100%;color:var(--text-secondary);text-align:left;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:8px 12px;font-size:12.5px}.timeline-menu.timeline-menu--history button{padding:5px 10px;font-size:12px}.timeline-menu button:hover{background:var(--bg-hover)}.timeline-menu-danger{color:var(--danger)!important}.dialog{flex-direction:column;gap:0;display:flex}.dialog--panel{box-shadow:none;background:0 0;border:none;width:100%;padding:0}.dialog-header{color:var(--text-primary);margin-bottom:12px;font-size:14px;font-weight:600}.dialog-row{align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;display:flex}.dialog-row label{width:70px;color:var(--text-muted);flex-shrink:0}.dialog-row input[type=number],.dialog-row input[type=text]{background:var(--bg-input);border:1px solid var(--border);width:80px;color:var(--text-primary);border-radius:5px;outline:none;padding:5px 8px;font-size:12.5px}.dialog-row input[type=number]:focus,.dialog-row input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.dialog-row--aspect-lock{min-height:26px;margin-top:-4px;margin-bottom:2px}.dialog-row-spacer{flex-shrink:0;width:70px}.aspect-lock{border:1px solid var(--border);background:var(--bg-input);width:26px;height:26px;color:var(--text-muted);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.aspect-lock:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.aspect-lock--on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.aspect-lock:disabled{opacity:.4;cursor:default}.dialog-value{color:var(--text-secondary)}.dialog-unit{color:var(--text-muted)}.dialog-hint{color:var(--warning);margin:-4px 0 10px 78px;font-size:11.5px}.extrude-effect{border-radius:8px;align-items:center;gap:8px;margin:2px 0 10px;padding:7px 10px;font-size:12.5px;font-weight:600;display:flex}.extrude-effect:before{content:"";background:currentColor;border-radius:3px;flex:none;width:10px;height:10px}.extrude-effect--join,.extrude-effect--newBody{color:#8a5c14;background:#fdf3df}.extrude-effect--cut{color:#9c2f1e;background:#fbe9e6}.dialog-field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.dialog-field>label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600}.dialog-field input,.dialog-field textarea,.dialog-field select{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);resize:vertical;outline:none;padding:7px 9px;font-size:13px}.dialog-field input:focus,.dialog-field textarea:focus,.dialog-field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.import-preview{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-app);flex-direction:column;align-items:center;gap:6px;margin:10px 0;padding:8px;display:flex}.import-preview svg{max-width:100%;height:auto}.dialog-options{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);gap:0;width:100%;display:flex;overflow:hidden}.dialog-option{border:none;border-right:1px solid var(--border);min-width:0;color:var(--text-secondary);font:inherit;cursor:pointer;white-space:nowrap;text-align:center;background:0 0;border-radius:0;flex:1 1 0;padding:8px 6px;font-size:12px;font-weight:500}.dialog-option:last-child{border-right:none}.dialog-option:hover{background:var(--bg-hover);color:var(--text-primary)}.dialog-option--active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.dialog-cancel,.dialog-confirm{cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12.5px}.dialog-cancel{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.dialog-confirm{background:var(--accent);border:1px solid var(--accent);color:var(--text-on-accent)}.dialog-confirm:disabled{opacity:.4;cursor:default}.dimension-label{color:#1a2233;font-variant-numeric:tabular-nums;cursor:grab;white-space:nowrap;-webkit-user-select:none;user-select:none;text-shadow:0 0 3px #fffffff2,0 0 6px #ffffffd9,1px 0 #ffffffe6,-1px 0 #ffffffe6,0 1px #ffffffe6,0 -1px #ffffffe6;background:0 0;border:none;border-radius:0;padding:1px 3px;font-size:12px;font-weight:500}.dimension-label:hover{color:var(--accent-text)}.dimension-label--conflict{color:var(--danger)}.dimension-input{background:var(--bg-app);border:1px solid var(--accent);width:56px;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:center;border-radius:3px;outline:none;padding:1px 4px;font-size:12px;font-weight:500}.numeric-overlay{pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;margin:18px 0 0 18px;display:flex}.numeric-field{background:var(--bg-overlay);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:3px 8px;font-size:11.5px;display:flex}.numeric-field--active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 33%, transparent)}.numeric-field--locked{border-color:var(--warning);color:var(--text-primary)}.numeric-field--locked.numeric-field--active{box-shadow:0 0 0 1px color-mix(in srgb, var(--warning) 33%, transparent)}.numeric-field-label{color:var(--text-muted);font-size:10.5px}.numeric-field-value{text-align:right;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;min-width:42px;display:inline-flex}.numeric-caret{background:var(--warning);width:1px;height:12px;margin-left:1px;animation:1s step-end infinite numeric-caret-blink;display:inline-block}@keyframes numeric-caret-blink{50%{opacity:0}}.numeric-field-unit{color:var(--text-muted);font-size:10.5px}.numeric-overlay-hint{color:var(--text-muted);padding-left:2px;font-size:9.5px}.preview-dim-label{background:var(--bg-overlay);border:1px solid color-mix(in srgb, var(--warning) 53%, transparent);color:var(--warning);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm);border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600}.preview-dim-label--small{padding:2px 6px;font-size:11px}.preview-dim-sub{color:var(--text-muted);margin-top:1px;font-size:9.5px;font-weight:400;display:block}.sketch-status-bar{display:none}.sketch-status-bar strong{color:var(--text-primary);font-weight:600}.sketch-status-units{color:var(--accent-text);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.sketch-status-hint{color:var(--text-muted);font-size:11px}.workspace-badge{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:center;margin-right:4px;padding:0 10px 0 4px;display:flex}.workspace-badge-label{letter-spacing:.8px;color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:700}.workspace-badge-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.plane-label{background:var(--bg-overlay);border:1px solid var(--accent);color:var(--text-primary);white-space:nowrap;pointer-events:none;border-radius:4px;padding:3px 8px;font-size:11.5px}.axis-label{text-shadow:0 1px 3px #000000bf;-webkit-user-select:none;user-select:none;pointer-events:none;font-family:system-ui,sans-serif;font-size:11px;font-weight:700}.chat-panel{background:var(--bg-panel);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:320px;display:flex}.chat-header{color:var(--text-primary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.chat-mode-toggle{background:var(--bg-app);border:1px solid var(--border);border-radius:7px;gap:2px;margin-left:auto;margin-right:10px;padding:2px;display:flex}.chat-mode-option{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 10px;font-size:11.5px;font-weight:600}.chat-mode-option:disabled{opacity:.5;cursor:default}.chat-mode-option--active{background:var(--accent);color:var(--text-on-accent)}.chat-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:14px}.chat-clear:hover{color:var(--text-primary)}.chat-messages{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-muted);padding:8px;font-size:12.5px;font-style:italic}.chat-message{white-space:pre-wrap;word-break:break-word;border-radius:10px;padding:8px 11px;font-size:12.5px;line-height:1.45}.chat-message--user{background:var(--accent-soft);color:var(--text-primary);align-self:flex-end;max-width:85%}.chat-message--assistant{background:var(--bg-hover);color:var(--text-secondary);align-self:flex-start;max-width:92%}.chat-message--error{color:var(--danger);background:#e06c5f1f;border:1px solid #e06c5f66}.chat-busy{color:var(--text-muted);padding:4px 8px;font-size:12px;font-style:italic}.chat-input-row{border-top:1px solid var(--border);gap:6px;padding:10px;display:flex}.chat-input{background:var(--bg-app);border:1px solid var(--border);color:var(--text-primary);resize:none;border-radius:8px;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:12.5px}.chat-input:focus{border-color:var(--accent)}.chat-send{background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:none;border-radius:8px;padding:0 12px;font-size:14px}.chat-send:disabled{opacity:.35;cursor:default}.chat-actions{flex-direction:column;gap:4px;display:flex}.chat-action{background:var(--bg-hover);border:1px solid color-mix(in srgb, var(--success) 33%, transparent);border-radius:8px;overflow:hidden}.chat-action--failed{border-color:#e06c5f80}.chat-action-header{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:flex}.chat-action-status{color:var(--success);font-weight:700}.chat-action--failed .chat-action-status{color:var(--danger)}.chat-action-label{flex:1}.chat-action-params{color:var(--text-muted);white-space:pre-wrap;word-break:break-all;max-height:110px;margin:0;padding:0 10px 6px;font-size:10.5px;overflow-y:auto}.chat-action-error{color:var(--danger);padding:0 10px 6px;font-size:11px}.guide-overlay{pointer-events:none;z-index:900;position:fixed;inset:0}.guide-ring{border:2px solid var(--warning);border-radius:10px;animation:1.4s ease-in-out infinite guide-pulse;position:fixed;box-shadow:0 0 0 4px #f2b84b40,0 0 18px #f2b84b73}@keyframes guide-pulse{0%,to{box-shadow:0 0 0 4px #f2b84b40,0 0 18px #f2b84b73}50%{box-shadow:0 0 0 7px #f2b84b1f,0 0 26px #f2b84b99}}.guide-note{border:1px solid color-mix(in srgb, var(--warning) 60%, transparent);color:#f5e3bd;pointer-events:auto;max-width:280px;box-shadow:var(--shadow);background:#2c2417;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex;position:fixed}.guide-note-close{color:#c9a55e;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.guide-note-close:hover{color:#f5e3bd}.sketch-overlay-toolbar{display:none}.constraint-icon-badge{background:color-mix(in srgb, var(--constraint) 18%, white);border:1.5px solid var(--constraint);width:22px;height:22px;color:var(--constraint);cursor:pointer;box-shadow:var(--shadow-sm);pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.constraint-icon-badge--conflict{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 15%, white)}.constraint-icon-badge--selected{background:var(--constraint);color:#fff}.sketch-overlay-group{gap:2px;display:flex}.sketch-overlay-separator{background:var(--border);width:1px;height:26px;margin:0 4px}.overlay-tool{cursor:pointer;width:36px;height:34px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;display:flex}.overlay-tool:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border)}.overlay-tool--active{background:var(--accent-soft);border-color:var(--accent)}.overlay-tool:disabled{opacity:.35;cursor:default}.workspace-badge--sketch{border-color:#5cb85c}.toolbar--sketch .tool-button,.toolbar--sketch .tool-button-label{white-space:nowrap;max-width:none}.constraint-menu{position:relative}.constraint-menu-dropdown{background:var(--bg-dropdown);border:1px solid var(--border);border-radius:var(--radius);z-index:80;min-width:200px;box-shadow:var(--shadow);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.constraint-menu-dropdown button{width:100%;color:var(--text-secondary);text-align:left;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex}.constraint-menu-item-label{flex:1;min-width:0}.constraint-menu-kbd{font:inherit;color:var(--text-muted);background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:600;line-height:1.4}.constraint-menu-dropdown button svg{flex-shrink:0;width:18px;height:18px}.constraint-menu-dropdown button.constraint-menu-item--active{background:color-mix(in srgb, var(--accent,#4a9fe8) 18%, transparent)}.constraint-menu-dropdown button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.constraint-menu-dropdown button:disabled{opacity:.35;cursor:default}.constraint-menu-hint{color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:6px 12px 4px;font-size:11px}.tree-section{justify-content:space-between;align-items:center;display:flex}.tree-add-component{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:11px}.tree-add-component:hover{color:var(--text-primary);border-color:var(--accent)}.tree-group-header{align-items:center;gap:4px;padding:3px 8px 3px 10px;display:flex}.tree-group-header:hover .tree-item-actions{display:flex}.tree-group-header .tree-group-title{cursor:pointer;min-width:0;color:var(--text-primary);text-transform:none;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;flex:1;padding:0;font-size:12.5px;font-weight:600;overflow:hidden}.tree-color-wrap{flex-shrink:0;margin-right:2px;position:relative}.tree-color-swatch{border:1.5px solid color-mix(in srgb, var(--text-primary) 18%, transparent);cursor:pointer;border-radius:50%;width:14px;height:14px;padding:0;box-shadow:inset 0 0 0 1px #ffffff59}.tree-color-swatch:hover{transform:scale(1.12)}.pastel-color-popover{z-index:90;background:var(--bg-dropdown);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:10px 10px 8px;display:flex;position:absolute;top:calc(100% + 6px);left:-8px}.pastel-color-wheel{background:color-mix(in srgb, var(--bg-panel) 70%, transparent);border-radius:50%;flex-shrink:0;position:relative}.pastel-color-hex{width:100%;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.pastel-color-hex-label{letter-spacing:.02em;flex-shrink:0;font-weight:600}.pastel-color-hex-input{border:1px solid var(--border);background:var(--bg-input,var(--bg-panel));width:5.5rem;min-width:0;color:var(--text-primary);letter-spacing:.02em;border-radius:6px;flex:1;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.pastel-color-hex-input:focus{border-color:var(--accent);outline:none}.pastel-color-hex-input--invalid{border-color:color-mix(in srgb, #c44 70%, var(--border))}.pastel-color-hex-apply{border:1px solid var(--border);background:var(--bg-panel);color:var(--text-primary);cursor:pointer;border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.pastel-color-hex-apply:disabled{opacity:.4;cursor:default}.pastel-color-hex-apply:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.pastel-color-opacity{width:100%;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.pastel-color-opacity input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.pastel-color-opacity-value{text-align:right;font-variant-numeric:tabular-nums;width:2.4rem;color:var(--text-primary);flex-shrink:0;font-weight:600}.tree-group--hidden .tree-group-title{opacity:.45}.pastel-color-swatch{cursor:pointer;border:1.5px solid #ffffffb3;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;padding:0;position:absolute;box-shadow:0 1px 3px #1824382e}.pastel-color-swatch:hover{z-index:1;transform:scale(1.2)}.pastel-color-swatch--on{outline:2px solid var(--accent);outline-offset:1px;z-index:1}.pastel-color-center{border:2px solid var(--border);pointer-events:none;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 1px #fff6}.tree-collapse{color:var(--text-muted);cursor:pointer;background:0 0;border:none;width:14px;padding:0;font-size:10px}.tree-group-icon,.tree-item-icon{flex-shrink:0;align-items:center;margin-right:6px;display:flex}.tree-group-children{border-left:1px solid var(--border);margin-left:14px}.tree-eye{cursor:pointer;opacity:.35;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 6px 0 0;display:flex}.tree-item:hover .tree-eye,.tree-item--hidden .tree-eye{opacity:1}.tree-item--hidden .tree-item-label,.tree-item--hidden .tree-item-icon{opacity:.45}.tree-move{position:relative}.tree-move-menu{background:var(--bg-dropdown);border:1px solid var(--border);width:max-content;min-width:max(180px,100%);box-shadow:var(--shadow);z-index:50;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:18px;right:0}.tree-move-menu button{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:8px 12px;font-size:12.5px}.tree-move-menu button:hover{background:var(--accent-soft);color:var(--text-primary)}.timeline-chip{justify-content:center;align-items:center;padding:3px 6px;display:flex}.timeline-chip--sketch{border-style:dashed;margin:0 1px}.dimension-label--dragging{cursor:grabbing;color:var(--accent-text)}.extrude-handle-label{background:var(--bg-overlay);border:1px solid var(--warning);color:var(--warning);white-space:nowrap;border-radius:6px;margin-left:14px;padding:3px 8px;font-size:12.5px;font-weight:600}.extrude-handle-label--green{color:#22e872;border-color:#22e872}.plane-label--disabled{border-color:var(--text-muted);color:var(--text-muted)}.measure-label{background:var(--bg-overlay);border:1px solid var(--warning,#e8a04a);color:var(--text-primary);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-sm);border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600}.tutorial-panel{background:var(--bg-overlay);border:1px solid var(--border);width:320px;max-height:calc(100% - 80px);box-shadow:var(--shadow);z-index:45;border-radius:12px;flex-direction:column;display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.tutorial-header{color:var(--text-primary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13.5px;font-weight:600;display:flex}.tutorial-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:13px}.tutorial-close:hover{color:var(--text-primary)}.tutorial-list{flex-direction:column;gap:6px;padding:10px;display:flex;overflow-y:auto}.tutorial-item{text-align:left;background:var(--bg-dropdown);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:9px 12px;display:flex}.tutorial-item:hover{border-color:var(--accent)}.tutorial-item-title{color:var(--text-primary);font-size:13px;font-weight:600}.tutorial-item-goal{color:var(--text-muted);font-size:11.5px;line-height:1.35}.tutorial-footnote{color:var(--text-muted);text-align:center;padding:6px 4px 2px;font-size:10.5px}.tutorial-footnote code{color:var(--text-muted)}.tutorial-steps{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.tutorial-goal{color:var(--text-muted);font-size:12px;font-style:italic}.tutorial-progress{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.tutorial-step-text{color:var(--text-secondary);min-height:70px;font-size:13px;line-height:1.55}.tutorial-step-text kbd{background:var(--bg-hover);border:1px solid var(--border);color:var(--warning);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11.5px}.tutorial-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.tutorial-nav button{background:var(--bg-dropdown);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px}.tutorial-nav button:hover:not(:disabled){border-color:var(--accent)}.tutorial-nav button:disabled{opacity:.4;cursor:default}.tutorial-nav-right{gap:6px;display:flex}.tutorial-next{background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--text-primary)!important}
