@keyframes pulseDrop{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}:root,[data-theme=dark]{--cad-bg-darkest:#0b0c0e;--cad-bg-canvas:#121316;--cad-bg-surface:#181a1f;--cad-bg-surface-elevated:#20232a;--cad-bg-surface-hover:#282c35;--cad-bg-surface-active:#323742;--cad-border-subtle:#ffffff14;--cad-border-medium:#ffffff24;--cad-border-strong:#ffffff38;--cad-border-focus:#38bdf8;--cad-accent-primary:#38bdf8;--cad-accent-primary-hover:#7dd3fc;--cad-accent-primary-glow:#38bdf840;--cad-accent-cyan:#22d3ee;--cad-accent-emerald:#34d399;--cad-accent-amber:#fbbf24;--cad-accent-rose:#f43f5e;--cad-accent-purple:#a855f7;--cad-axis-x:#ef4444;--cad-axis-y:#22c55e;--cad-axis-z:#3b82f6;--cad-text-primary:#f8fafc;--cad-text-secondary:#94a3b8;--cad-text-muted:#64748b;--cad-text-dim:#475569;--cad-glass-bg:#181a1fc7;--cad-glass-border:#ffffff1a;--cad-glass-blur:blur(16px);--cad-shadow-lg:0 12px 36px #00000073;--cad-shadow-sm:0 2px 8px #0000004d;--cad-radius-sm:6px;--cad-radius-md:10px;--cad-radius-lg:14px;--cad-radius-full:9999px;--cad-topnav-height:52px;--cad-statusbar-height:32px;--cad-sidebar-width:320px;--cad-font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--cad-font-mono:"JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, monospace}[data-theme=light]{--cad-bg-darkest:#e2e8f0;--cad-bg-canvas:#f8fafc;--cad-bg-surface:#fff;--cad-bg-surface-elevated:#f1f5f9;--cad-bg-surface-hover:#e2e8f0;--cad-bg-surface-active:#cbd5e1;--cad-border-subtle:#00000014;--cad-border-medium:#00000029;--cad-border-strong:#00000047;--cad-border-focus:#0284c7;--cad-accent-primary:#0284c7;--cad-accent-primary-hover:#0369a1;--cad-accent-primary-glow:#0284c726;--cad-accent-cyan:#0891b2;--cad-accent-emerald:#059669;--cad-accent-amber:#d97706;--cad-accent-rose:#e11d48;--cad-accent-purple:#7c3aed;--cad-text-primary:#0f172a;--cad-text-secondary:#334155;--cad-text-muted:#64748b;--cad-text-dim:#94a3b8;--cad-glass-bg:#ffffffd9;--cad-glass-border:#00000014;--cad-glass-blur:blur(16px);--cad-shadow-lg:0 12px 32px #00000014;--cad-shadow-sm:0 2px 8px #0000000a}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:var(--cad-font-sans);background-color:var(--cad-bg-darkest);color:var(--cad-text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}.cad-app{background:radial-gradient(circle at 50% 30%,#161922 0%,#0d0e12 100%);flex-direction:column;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}[data-theme=light] .cad-app{background:radial-gradient(circle at 50% 30%,#f8fafc 0%,#e2e8f0 100%)}.cad-topnav{height:var(--cad-topnav-height);background:var(--cad-glass-bg);-webkit-backdrop-filter:var(--cad-glass-blur);border-bottom:1px solid var(--cad-glass-border);z-index:50;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.cad-brand{cursor:pointer;align-items:center;gap:10px;text-decoration:none;display:flex}.cad-brand-logo{border-radius:var(--cad-radius-sm);width:30px;height:30px;box-shadow:0 0 16px var(--cad-accent-primary-glow);color:#fff;background:linear-gradient(135deg,#0284c7 0%,#38bdf8 50%,#22d3ee 100%);justify-content:center;align-items:center;display:flex}.cad-brand-text{flex-direction:column;display:flex}.cad-brand-title{letter-spacing:.5px;color:var(--cad-text-primary);text-transform:uppercase;font-size:13px;font-weight:700}.cad-brand-subtitle{color:var(--cad-text-muted);margin-top:-2px;font-size:10px;font-weight:500}.cad-topnav-center{align-items:center;gap:8px;display:flex}.cad-segmented-control{background:var(--cad-bg-darkest);border:1px solid var(--cad-border-subtle);border-radius:var(--cad-radius-md);gap:2px;padding:3px;display:flex}.cad-seg-btn{color:var(--cad-text-secondary);border-radius:var(--cad-radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.cad-seg-btn:hover{color:var(--cad-text-primary);background:var(--cad-bg-surface)}.cad-seg-btn.active{background:var(--cad-bg-surface-elevated);color:var(--cad-accent-primary);font-weight:600;box-shadow:0 1px 4px #0006}.cad-topnav-actions{align-items:center;gap:8px;display:flex}.cad-btn{background:var(--cad-bg-surface);border:1px solid var(--cad-border-subtle);color:var(--cad-text-primary);border-radius:var(--cad-radius-sm);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.cad-btn:hover{background:var(--cad-bg-surface-hover);border-color:var(--cad-border-medium)}.cad-btn-primary{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0ea5e9 100%);border:1px solid #fff3;box-shadow:0 2px 10px #0ea5e959}.cad-btn-primary:hover{background:linear-gradient(135deg,#0369a1 0%,#0284c7 100%);box-shadow:0 4px 14px #0ea5e980}.cad-btn-icon{padding:6px 8px}.cad-dropdown-container{display:inline-block;position:relative}.cad-dropdown-menu{background:var(--cad-glass-bg);min-width:190px;-webkit-backdrop-filter:var(--cad-glass-blur);border:1px solid var(--cad-glass-border);border-radius:var(--cad-radius-md);box-shadow:var(--cad-shadow-lg);z-index:100;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.cad-dropdown-item{color:var(--cad-text-secondary);border-radius:var(--cad-radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:12px;transition:all .12s;display:flex}.cad-dropdown-item:hover{background:var(--cad-bg-surface-hover);color:var(--cad-text-primary)}.cad-dropdown-divider{background:var(--cad-border-subtle);height:1px;margin:4px 0}.cad-workspace{flex:1;display:flex;position:relative;overflow:hidden}.cad-viewport-container{outline:none;flex:1;height:100%;position:relative}.cad-canvas{width:100%;height:100%;display:block}.cad-tool-palette{background:var(--cad-glass-bg);-webkit-backdrop-filter:var(--cad-glass-blur);border:1px solid var(--cad-glass-border);border-radius:var(--cad-radius-lg);box-shadow:var(--cad-shadow-lg);z-index:40;-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;padding:6px;display:flex;position:absolute;top:18px;left:18px}.cad-tool-btn{border-radius:var(--cad-radius-md);width:38px;height:38px;color:var(--cad-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.cad-tool-btn:hover{background:var(--cad-bg-surface-hover);color:var(--cad-text-primary);border-color:var(--cad-border-subtle)}.cad-tool-btn.active{background:var(--cad-accent-primary-glow);color:var(--cad-accent-primary);border-color:var(--cad-accent-primary);box-shadow:0 0 12px var(--cad-accent-primary-glow)}.cad-tool-badge{font-size:8px;font-family:var(--cad-font-mono);color:var(--cad-text-muted);font-weight:700;position:absolute;bottom:2px;right:4px}.cad-tool-divider{background:var(--cad-border-subtle);width:100%;height:1px;margin:2px 0}.cad-primitives-flyout{background:var(--cad-glass-bg);-webkit-backdrop-filter:var(--cad-glass-blur);border:1px solid var(--cad-glass-border);border-radius:var(--cad-radius-md);box-shadow:var(--cad-shadow-lg);z-index:50;flex-direction:column;gap:4px;min-width:150px;padding:6px;display:flex;position:absolute;top:140px;left:calc(100% + 10px)}.cad-view-presets{top:18px;right:calc(var(--cad-sidebar-width) + 18px);background:var(--cad-glass-bg);-webkit-backdrop-filter:var(--cad-glass-blur);border:1px solid var(--cad-glass-border);border-radius:var(--cad-radius-md);box-shadow:var(--cad-shadow-sm);z-index:40;gap:4px;padding:4px;transition:right .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute}.cad-view-presets.sidebar-closed{right:18px}.cad-preset-pill{color:var(--cad-text-secondary);font-size:11px;font-family:var(--cad-font-mono);border-radius:var(--cad-radius-sm);cursor:pointer;background:0 0;border:none;padding:4px 8px;transition:all .12s}.cad-preset-pill:hover{background:var(--cad-bg-surface-hover);color:var(--cad-text-primary)}.cad-preset-pill.active{background:var(--cad-bg-surface-elevated);color:var(--cad-accent-primary);font-weight:700}.cad-sidebar{width:var(--cad-sidebar-width);background:var(--cad-glass-bg);height:100%;-webkit-backdrop-filter:var(--cad-glass-blur);border-left:1px solid var(--cad-glass-border);z-index:45;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex}.cad-sidebar.closed{position:absolute;top:0;right:0;transform:translate(100%)}.cad-sidebar-header{border-bottom:1px solid var(--cad-border-subtle);justify-content:space-between;align-items:center;padding:0 10px;display:flex}.cad-sidebar-tabs{gap:4px;display:flex}.cad-tab-btn{color:var(--cad-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:12px 10px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.cad-tab-btn:hover{color:var(--cad-text-primary)}.cad-tab-btn.active{color:var(--cad-accent-primary);border-bottom-color:var(--cad-accent-primary);font-weight:600}.cad-sidebar-content{flex-direction:column;flex:1;gap:16px;padding:14px;display:flex;overflow-y:auto}.cad-sidebar-content::-webkit-scrollbar{width:6px}.cad-sidebar-content::-webkit-scrollbar-thumb{background:var(--cad-border-medium);border-radius:var(--cad-radius-full)}.cad-tree-item{border-radius:var(--cad-radius-sm);cursor:pointer;color:var(--cad-text-secondary);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;transition:all .12s;display:flex}.cad-tree-item:hover{background:var(--cad-bg-surface-hover);color:var(--cad-text-primary)}.cad-tree-item.selected{background:var(--cad-accent-primary-glow);color:var(--cad-accent-primary);border:1px solid #38bdf84d;font-weight:600}.cad-tree-label{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.cad-layer-row{background:var(--cad-bg-surface);border:1px solid var(--cad-border-subtle);border-radius:var(--cad-radius-sm);justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 10px;transition:border-color .15s;display:flex}.cad-layer-row:hover{border-color:var(--cad-border-medium)}.cad-layer-info{align-items:center;gap:10px;display:flex}.cad-layer-color-dot{border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #0006}.cad-layer-name{color:var(--cad-text-primary);font-size:12px;font-weight:500}.cad-layer-vis-btn{color:var(--cad-text-muted);cursor:pointer;border-radius:var(--cad-radius-sm);background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex}.cad-layer-vis-btn:hover{color:var(--cad-text-primary)}.cad-layer-vis-btn.visible{color:var(--cad-accent-primary)}.cad-prop-group{background:var(--cad-bg-surface);border:1px solid var(--cad-border-subtle);border-radius:var(--cad-radius-md);flex-direction:column;gap:10px;padding:12px;display:flex}.cad-prop-title{text-transform:uppercase;letter-spacing:.5px;color:var(--cad-text-muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.cad-coord-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.cad-coord-box{background:var(--cad-bg-darkest);border:1px solid var(--cad-border-subtle);border-radius:var(--cad-radius-sm);align-items:center;display:flex;overflow:hidden}.cad-coord-box:focus-within{border-color:var(--cad-accent-primary)}.cad-axis-tag{font-size:9px;font-weight:700;font-family:var(--cad-font-mono);color:#fff;padding:4px 6px}.cad-axis-tag.x{background:var(--cad-axis-x)}.cad-axis-tag.y{background:var(--cad-axis-y)}.cad-axis-tag.z{background:var(--cad-axis-z)}.cad-coord-input{width:100%;color:var(--cad-text-primary);font-family:var(--cad-font-mono);text-align:right;background:0 0;border:none;outline:none;padding:4px 6px;font-size:11px}.cad-statusbar{height:var(--cad-statusbar-height);background:var(--cad-bg-darkest);border-top:1px solid var(--cad-border-subtle);font-size:11px;font-family:var(--cad-font-mono);color:var(--cad-text-muted);z-index:50;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.cad-status-left,.cad-status-right{align-items:center;gap:16px;display:flex}.cad-status-item{align-items:center;gap:6px;display:flex}.cad-status-badge{background:var(--cad-bg-surface-elevated);color:var(--cad-accent-primary);border-radius:var(--cad-radius-sm);padding:2px 6px;font-size:10px;font-weight:600}.cad-status-dot{background:var(--cad-accent-emerald);width:6px;height:6px;box-shadow:0 0 6px var(--cad-accent-emerald);border-radius:50%}.cad-dropzone-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;border:3px dashed var(--cad-accent-primary);pointer-events:none;background:#0b0c0ee0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cad-dropzone-modal{text-align:center;background:var(--cad-bg-surface);border:1px solid var(--cad-border-medium);border-radius:var(--cad-radius-lg);max-width:480px;box-shadow:var(--cad-shadow-lg);flex-direction:column;align-items:center;gap:16px;padding:40px;display:flex}.cad-dropzone-icon{width:64px;height:64px;color:var(--cad-accent-primary);animation:2s ease-in-out infinite pulseDrop}.cad-formats-row{gap:10px;display:flex}.cad-format-badge{background:var(--cad-bg-darkest);border:1px solid var(--cad-border-subtle);border-radius:var(--cad-radius-sm);font-family:var(--cad-font-mono);color:var(--cad-accent-cyan);padding:4px 10px;font-size:11px;font-weight:700}.cad-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cad-modal{background:var(--cad-bg-surface);border:1px solid var(--cad-border-strong);border-radius:var(--cad-radius-lg);width:100%;max-width:520px;box-shadow:var(--cad-shadow-lg);flex-direction:column;display:flex;overflow:hidden}.cad-modal-header{border-bottom:1px solid var(--cad-border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.cad-modal-body{color:var(--cad-text-secondary);flex-direction:column;gap:14px;padding:20px;font-size:13px;line-height:1.6;display:flex}.cad-modal-footer{background:var(--cad-bg-surface-elevated);border-top:1px solid var(--cad-border-subtle);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}
