:root{--bg-dark: #0f1117;--bg-panel: rgba(22, 26, 37, .88);--bg-panel-solid: #161a25;--bg-hover: #262d3d;--bg-active: #333c52;--gold-accent: #f59e0b;--gold-glow: rgba(245, 158, 11, .25);--cyan-accent: #38bdf8;--text-main: #f1f5f9;--text-muted: #94a3b8;--border-color: rgba(255, 255, 255, .08);--border-glow: rgba(245, 158, 11, .4);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .5);--radius-md: 10px;--radius-lg: 14px;--top-bar-height: 50px;--cmd-strip-height: 44px;--left-toolbar-width: 72px;--right-inspector-width: 250px;--bottom-bar-height: 42px;--bottom-toolbar-height: 0px;--screen-margin: 10px;--panel-gap: 8px;--vp-top: 128px;--vp-left: calc(var(--screen-margin) + var(--left-toolbar-width) + var(--panel-gap));--vp-right: calc(var(--screen-margin) + var(--right-inspector-width) + var(--panel-gap));--vp-bottom: calc(var(--screen-margin) + var(--bottom-bar-height) + 6px)}@media (max-width: 960px){:root{--left-toolbar-width: 66px;--right-inspector-width: 215px;--screen-margin: 8px;--panel-gap: 6px;--vp-top: 128px;--vp-bottom: calc(var(--screen-margin) + var(--bottom-bar-height) + 6px)}}@media (max-width: 768px){:root{--left-toolbar-width: 60px;--right-inspector-width: 185px;--screen-margin: 6px;--panel-gap: 6px;--vp-top: 128px;--vp-bottom: calc(var(--screen-margin) + var(--bottom-bar-height) + 6px)}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}body,html{width:100%;height:100%;overflow:hidden;background-color:var(--bg-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text-main);touch-action:none}#app{position:relative;width:100%;height:100%}.cad-viewport-frame{position:absolute;top:var(--vp-top);left:var(--vp-left);right:var(--vp-right);bottom:var(--vp-bottom);border:1px solid var(--border-color);border-radius:var(--radius-md);background:#090b10;box-shadow:inset 0 0 24px #000000b3;z-index:1;overflow:hidden;touch-action:none;transition:right .22s cubic-bezier(.16,1,.3,1)}.cad-viewport-frame canvas{touch-action:none}#app.sidebar-collapsed .cad-viewport-frame{right:var(--screen-margin)}#viewport-container{container-type:inline-size;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}#viewport-container canvas{display:block;width:100%!important;height:100%!important}.glass-panel{background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);z-index:10}#top-bar{position:absolute;top:var(--screen-margin);left:var(--screen-margin);right:var(--screen-margin);height:var(--top-bar-height);display:flex;align-items:center;justify-content:space-between;padding:0 14px;z-index:100}.brand{display:flex;align-items:center;gap:10px}.brand-icon{width:32px;height:32px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#000;box-shadow:0 2px 8px var(--gold-glow)}.brand-title{font-size:16px;font-weight:700;letter-spacing:.5px;color:#fff}.brand-subtitle{font-size:11px;color:var(--gold-accent);text-transform:uppercase;font-weight:600;margin-left:4px}.header-actions{display:flex;align-items:center;gap:8px}#left-toolbar{position:absolute;top:var(--vp-top);left:var(--screen-margin);width:var(--left-toolbar-width);bottom:calc(var(--screen-margin) + var(--bottom-bar-height) + 6px);display:flex;flex-direction:column;padding:8px 6px;gap:8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;z-index:20}#left-toolbar::-webkit-scrollbar{width:4px}#left-toolbar::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.tool-group{display:flex;flex-direction:column;gap:6px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.tool-group:last-child{border-bottom:none;padding-bottom:0}.touch-btn{background:#ffffff0a;border:1px solid transparent;color:var(--text-main);border-radius:var(--radius-md);height:48px;min-width:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;position:relative}.touch-btn svg{width:20px;height:20px;margin-bottom:2px;fill:currentColor}.touch-btn:hover{background:var(--bg-hover);color:#fff}.touch-btn:active,.touch-btn.active{background:var(--bg-active);border-color:var(--gold-accent);color:var(--gold-accent);box-shadow:0 0 10px var(--gold-glow)}.touch-btn:disabled{opacity:.35;cursor:not-allowed;border-color:transparent}.btn-pill{height:38px;padding:0 14px;flex-direction:row;gap:6px;font-size:13px}.btn-gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;font-weight:700}.btn-gold:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000}#right-inspector{position:absolute;top:var(--vp-top);right:var(--screen-margin);width:var(--right-inspector-width);bottom:calc(var(--screen-margin) + var(--bottom-bar-height) + 6px);padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;z-index:20;transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .18s ease,visibility .22s;visibility:visible}#app.sidebar-collapsed #right-inspector{transform:translate(calc(100% + var(--screen-margin) + 20px));opacity:0;visibility:hidden;pointer-events:none}.panel-header-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--border-color);margin-bottom:2px}.panel-header-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#fff;letter-spacing:.5px;text-transform:uppercase}.panel-title-icon{font-size:13px}.panel-close-btn{width:28px;height:28px;min-width:28px;padding:0;border-radius:var(--radius-md);font-size:13px;font-weight:700;color:var(--text-muted);display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border-color);cursor:pointer;touch-action:manipulation;transition:all .15s ease}.panel-close-btn:hover,.panel-close-btn:active{background:#f43f5e40;color:#f43f5e;border-color:#f43f5e}.sidebar-edge-toggle{position:absolute;top:calc(var(--vp-top) + 8px);right:var(--screen-margin);height:36px;padding:0 10px;background:var(--bg-panel);border:1px solid var(--gold-accent);border-radius:var(--radius-md);color:var(--gold-accent);display:none;align-items:center;gap:6px;font-size:11px;font-weight:700;cursor:pointer;touch-action:manipulation;z-index:30;box-shadow:0 4px 16px #00000080,0 0 10px var(--gold-glow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:all .2s ease}#app.sidebar-collapsed .sidebar-edge-toggle{display:flex}.sidebar-edge-toggle:hover,.sidebar-edge-toggle:active{background:var(--bg-hover);color:#fff;transform:translate(-3px)}.inspector-accordion{border-top:1px solid var(--border-color);padding-top:4px;margin-top:2px}.accordion-header{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;height:36px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:11px;font-weight:700;color:var(--gold-accent);text-transform:uppercase;letter-spacing:.6px;-webkit-user-select:none;user-select:none;transition:all .15s ease}.accordion-header::-webkit-details-marker{display:none}.accordion-header:hover,.accordion-header:active{background:var(--bg-hover);color:#fff;border-color:var(--gold-accent)}.accordion-chevron{font-size:13px;transition:transform .25s ease}details[open] .accordion-chevron{transform:rotate(180deg)}.accordion-body{display:flex;flex-direction:column;gap:8px;padding-top:8px}.advanced-subgroup{background:#00000040;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px;display:flex;flex-direction:column;gap:6px}.inspector-section{display:flex;flex-direction:column;gap:8px}.section-title{font-size:12px;font-weight:700;color:var(--gold-accent);text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;justify-content:space-between}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-card{background:#00000040;border:1px solid var(--border-color);padding:8px 10px;border-radius:var(--radius-md)}.stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase}.stat-val{font-size:14px;font-weight:700;color:#fff;margin-top:2px}.slider-container{display:flex;flex-direction:column;gap:6px}.slider-header{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.subd-slider{-webkit-appearance:none;width:100%;height:8px;border-radius:4px;background:#2a3142;outline:none}.subd-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--gold-accent);cursor:pointer;box-shadow:0 0 6px var(--gold-glow)}.shading-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.shading-btn{height:36px;font-size:12px}.gizmo-size-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gizmo-size-btn{height:36px;font-size:12px;font-weight:500}.control-sublabel{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:5px}.snap-selector{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.snap-btn{height:32px;padding:0 4px;font-size:11px;font-weight:500}.quick-angle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.quick-angle-btn{height:32px;font-size:11px;font-weight:600;color:var(--text-normal)}.quick-angle-btn:hover{color:#fff;border-color:var(--gold-accent)}.angle-input-row{display:flex;align-items:center;gap:6px}.input-with-label{display:flex;align-items:center;background:#0006;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 8px;flex:1;height:34px}.input-with-label input{width:100%;background:transparent;border:none;outline:none;color:#fff;font-family:inherit;font-size:13px;font-weight:600;text-align:right;padding-right:4px}.input-with-label .unit{color:var(--gold-accent);font-size:13px;font-weight:700;-webkit-user-select:none;user-select:none}.axis-btn-group{display:flex;gap:4px}.axis-btn{width:34px;height:34px;padding:0;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.axis-x{color:#f43f5e;border-color:#f43f5e59}.axis-x:hover,.axis-x:active{background:#f43f5e40;border-color:#f43f5e}.axis-y{color:#10b981;border-color:#10b98159}.axis-y:hover,.axis-y:active{background:#10b98140;border-color:#10b981}.axis-z{color:#38bdf8;border-color:#38bdf859}.axis-z:hover,.axis-z:active{background:#38bdf840;border-color:#38bdf8}.gumball-btn-group{display:flex;gap:4px}.gumball-btn{flex:1;height:32px;font-size:11px;font-weight:500;padding:0 4px}.transform-numeric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.axis-prefix{font-size:11px;font-weight:700;margin-right:4px;-webkit-user-select:none;user-select:none}.axis-prefix-x{color:#f43f5e}.axis-prefix-y{color:#10b981}.axis-prefix-z{color:#38bdf8}.quick-scale-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.quick-scale-btn{height:30px;font-size:11px;font-weight:600;color:var(--text-normal)}.quick-scale-btn:hover,.quick-scale-btn:active{color:#fff;border-color:var(--gold-accent)}#bottom-bar{position:absolute;bottom:var(--screen-margin);left:var(--screen-margin);right:var(--screen-margin);height:var(--bottom-bar-height);display:flex;align-items:center;justify-content:space-between;padding:0 10px;padding-bottom:env(safe-area-inset-bottom,0px);z-index:20;-webkit-user-select:none;user-select:none}.bottom-bar-left,.bottom-bar-right{display:flex;align-items:center;gap:8px}.status-pill-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;font-size:12px;font-weight:600;color:var(--text-main);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 6px #00000040;flex-shrink:0}.status-pill-btn:hover{background:#ffffff1a;border-color:#ffffff40;color:#fff;transform:translateY(-1px)}.status-pill-btn:active,.status-pill-btn[aria-expanded=true]{background:#facc1526;border-color:var(--gold-accent);color:#fff;box-shadow:0 0 12px #facc154d}.status-pill-btn .status-icon{font-size:13px;line-height:1}.status-pill-btn.btn-reset-view:hover{background:#38bdf826;border-color:var(--cyan-accent);color:#fff}.status-indicator-badge{font-size:9px;font-weight:800;letter-spacing:.5px;padding:2px 6px;border-radius:4px;text-transform:uppercase}.status-indicator-badge.on{background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.4)}.status-indicator-badge.off{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.status-popover-panel{position:absolute;bottom:calc(var(--bottom-bar-height) + var(--screen-margin) + 8px);background:#0f172af2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 16px 36px #000000b3,0 0 0 1px #ffffff0d;z-index:35;flex-direction:column;min-width:280px;max-width:360px;overflow:hidden;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1)}#panel-osnap-settings{left:var(--screen-margin)}#panel-history-settings{left:calc(var(--screen-margin) + 105px)}#panel-modeling-settings{left:var(--screen-margin);width:330px}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.popover-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#fff}.popover-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.popover-close-btn:hover{color:#fff;background:#ffffff1a}.popover-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.popover-description{margin:0;font-size:11px;line-height:1.4;color:var(--text-muted)}.popover-divider{height:1px;background:#ffffff14;margin:2px 0}.popover-master-toggle{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:#fff}.toggle-switch-btn{height:26px;min-width:44px;padding:0 10px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.5px;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.toggle-switch-btn.on{background:#22c55e40;border-color:#22c55e80;color:#4ade80}.toggle-switch-btn.off{background:#ef444426;border-color:#ef444459;color:#f87171}.osnap-grid{display:grid;grid-template-columns:1fr;gap:6px}.history-settings-list{display:flex;flex-direction:column;gap:8px}.history-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-text-col{display:flex;flex-direction:column;gap:2px}.setting-title{font-size:12px;font-weight:600;color:#fff}.setting-desc{font-size:10px;color:var(--text-muted)}.cplane-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cplane-opt-btn{height:30px;padding:0 8px;font-size:11px;font-weight:600;border-radius:6px;background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.cplane-opt-btn:hover{background:#ffffff1a;color:#fff}.cplane-opt-btn.active{background:#38bdf833;border-color:var(--cyan-accent);color:#fff}.cplane-status-row{display:flex;align-items:center;justify-content:space-between}.btn-subtle-link{font-size:11px;color:var(--cyan-accent);background:#38bdf814;border:1px solid rgba(56,189,248,.2);height:28px}.btn-subtle-link:hover{background:#38bdf82e;color:#fff}.status-group-label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;flex-shrink:0}.osnap-label{color:var(--gold-accent)}.cplane-label{color:var(--cyan-accent)}.status-bar-separator{width:1px;height:20px;background:#ffffff1f;flex-shrink:0}.status-toggle-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;font-size:11px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}.status-toggle-pill:hover{background:#ffffff1a;color:#fff}.status-toggle-pill input[type=checkbox]{accent-color:var(--gold-accent);cursor:pointer;margin:0}.status-toggle-pill input:checked+span{color:#fff;font-weight:700}.status-btn{height:26px;min-height:26px;padding:0 8px;font-size:11px;font-weight:600;border-radius:6px;background:#ffffff0f;border:1px solid var(--border-color);flex-shrink:0}.status-btn:hover{border-color:var(--cyan-accent);color:#fff;background:#38bdf833}.badge-cplane{background:#38bdf833;color:#38bdf8;font-weight:700;font-size:10px;padding:2px 6px;border-radius:4px;flex-shrink:0}.view-presets{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.view-btn{height:32px;padding:0 10px;font-size:11px;border-radius:6px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:none;align-items:center;justify-content:center}.modal-content{background:var(--bg-panel-solid);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:480px;padding:24px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:16px}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:18px;font-weight:700;color:#fff}.close-btn{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer}.project-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.project-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff0a;border-radius:var(--radius-md);border:1px solid var(--border-color)}.project-item:hover{background:var(--bg-hover)}.project-info{display:flex;flex-direction:column}.project-name{font-weight:600;font-size:14px}.project-date{font-size:11px;color:var(--text-muted)}.item-actions{display:flex;gap:6px}.input-field{width:100%;background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 14px;color:#fff;font-size:14px;outline:none}.input-field:focus{border-color:var(--gold-accent)}#toast{position:absolute;top:96px;left:50%;transform:translate(-50%);background:#0f172af2;border:1px solid var(--gold-accent);color:#fff;padding:10px 20px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 4px 15px #00000080;z-index:99;opacity:0;pointer-events:none;transition:opacity .25s ease}#toast.show{opacity:1}.multi-select-toggle{position:relative}.badge-status{display:inline-block;font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;background:#ffffff26;color:var(--text-muted);line-height:1;letter-spacing:.5px;transition:all .2s ease;margin-top:2px}.badge-status.badge-on{background:#f97316;color:#fff;font-weight:800;box-shadow:0 0 8px #f9731699}.badge-status.badge-parametric{background:#10b98133;border:1px solid rgba(16,185,129,.45);color:#34d399;font-weight:700}.badge-status.badge-parent{background:#38bdf833;border:1px solid rgba(56,189,248,.45);color:#38bdf8;font-weight:700}.badge-status.badge-direct{background:#94a3b826;border:1px solid rgba(148,163,184,.35);color:#cbd5e1;font-weight:600}.touch-btn.active-toggle{background:#f9731638!important;border-color:#f97316!important;color:#fff!important;box-shadow:0 0 10px #f9731659}#selection-box{position:absolute;border:1.5px dashed #f97316;background:#f973162e;pointer-events:none;z-index:40;display:none;border-radius:2px;box-shadow:0 0 12px #f9731640}.subd-panel-box{background:#00000040;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px}.subd-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.subd-title{font-size:12px;font-weight:700;color:#fff}.subd-badge{font-size:11px;font-weight:700;color:var(--gold-accent)}.subd-hint{font-size:10px;color:var(--text-muted);line-height:1.3;margin-bottom:8px}.subd-stepper-row{display:flex;align-items:center;gap:6px}.subd-step-btn{width:32px;height:32px;min-width:32px;font-size:16px;font-weight:800;padding:0;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:6px}.subd-step-btn:hover{background:#ffffff2e}.subd-quick-buttons{display:flex;flex:1;gap:4px}.subd-quick-btn{flex:1;height:32px;background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;color:var(--text-main);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.subd-quick-btn:hover{background:var(--bg-hover);color:#fff}.subd-quick-btn.active{background:#f59e0b33;border-color:var(--gold-accent);color:var(--gold-accent);font-weight:800}.perf-hud{position:absolute;right:8px;bottom:8px;max-width:220px;background:#0f172ad9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:4px 7px;z-index:100;display:flex;align-items:center;box-shadow:0 4px 12px #0006;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;color:#e2e8f0;pointer-events:none}.perf-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px}.perf-hud .perf-divider{display:none}.perf-hud .perf-metric{white-space:nowrap}#cad-viewport-frame:has(.layout-four) .perf-hud{max-width:min(220px,calc(50% - 120px))}@container (max-width: 640px){#cad-viewport-frame:has(.layout-four) .perf-hud{bottom:110px;max-width:min(220px,calc(50% - 16px))}}.perf-indicator{width:8px;height:8px;border-radius:50%;background-color:#22c55e;box-shadow:0 0 6px #22c55e;display:inline-block;flex-shrink:0}.perf-metric{font-weight:600}.perf-fps{color:#38bdf8;font-weight:700}.perf-cpu{color:#a78bfa}.perf-divider{color:#fff3;font-size:10px}.quality-selector{display:flex;gap:4px;margin-top:4px}.quality-btn{flex:1;height:28px;background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;padding:0 4px;transition:all .15s ease}.quality-btn:hover{background:var(--bg-hover);color:#fff}.quality-btn.active{background:#38bdf833;border-color:var(--cyan-accent);color:var(--cyan-accent);font-weight:800}#viewport-headers-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.vp-crosshair{position:absolute;pointer-events:none;background:#ffffff2e;z-index:4}.vp-crosshair-h{left:0;right:0;top:50%;height:1px}.vp-crosshair-v{top:0;bottom:0;left:50%;width:1px}.vp-header{position:absolute;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:2px 5px;background:#0f1117d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:8px;pointer-events:auto;box-shadow:0 4px 12px #00000059;min-width:0;transition:border-color .15s ease}.vp-header:hover{border-color:#f59e0b73}.vp-title{font-weight:700;font-size:12px;color:var(--gold-accent);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.vp-title:hover{color:#fff}.vp-header-right{display:flex;align-items:center;gap:6px}.vp-shading-select{background:#1e2432f2;color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;font-size:11px;font-weight:500;padding:3px 6px;cursor:pointer;outline:none}.vp-shading-select:focus{border-color:var(--cyan-accent)}.vp-max-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);border-radius:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .15s ease}.vp-max-btn:hover{color:#fff;border-color:var(--gold-accent);background:#f59e0b26}#viewport-headers-overlay.layout-four .vp-crosshair{display:block}.vp-quadrant{position:absolute;pointer-events:none;box-sizing:border-box;border:2px solid transparent;transition:border-color .15s ease,box-shadow .15s ease;z-index:2}#viewport-headers-overlay.layout-four .vp-quadrant-top{top:0;left:0;width:50%;height:50%}#viewport-headers-overlay.layout-four .vp-quadrant-perspective{top:0;left:50%;width:50%;height:50%}#viewport-headers-overlay.layout-four .vp-quadrant-front{top:50%;left:0;width:50%;height:50%}#viewport-headers-overlay.layout-four .vp-quadrant-right{top:50%;left:50%;width:50%;height:50%}#viewport-headers-overlay.layout-four .vp-quadrant.active-vp{border-color:#38bdf8;box-shadow:inset 0 0 16px #38bdf847}.vp-header.active-vp{border-color:#38bdf8!important;box-shadow:0 0 12px #38bdf873!important}.vp-header.active-vp .vp-title{color:#38bdf8!important}#viewport-headers-overlay.layout-four .vp-header-top{top:8px;left:8px}#viewport-headers-overlay.layout-four .vp-header-perspective{top:8px;left:calc(50% + 8px)}#viewport-headers-overlay.layout-four .vp-header-front{top:calc(50% + 8px);left:8px}#viewport-headers-overlay.layout-four .vp-header-right{top:calc(50% + 8px);left:calc(50% + 8px)}#viewport-headers-overlay.layout-single .vp-crosshair,#viewport-headers-overlay.layout-single .vp-header{display:none}#viewport-headers-overlay.layout-single .vp-header.active-single{display:flex;top:8px;left:8px}#cad-command-strip{position:absolute;top:calc(var(--screen-margin) + var(--top-bar-height) + 6px);left:var(--screen-margin);right:var(--screen-margin);display:flex;flex-direction:column;padding:0;z-index:25;border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;background:var(--bg-panel);border:1px solid var(--border-color);overflow:visible}.cad-command-row{display:flex;align-items:center;gap:10px;padding:6px 12px;min-height:40px;width:100%;overflow:visible;position:relative;scrollbar-width:none}.cad-command-row::-webkit-scrollbar{display:none}.cad-prompt-header{display:flex;align-items:center;gap:6px;flex-shrink:0}.cad-prompt-icon{color:var(--gold-accent);font-size:11px}.cad-prompt-text{font-size:13px;font-weight:700;color:#fff;white-space:nowrap}.cad-step-badge{display:inline-block;background:#38bdf82e;color:var(--cyan-accent);border:1px solid rgba(56,189,248,.4);border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700;letter-spacing:.3px;white-space:nowrap}.cad-input-wrapper{position:relative;flex:0 1 340px;min-width:190px}.cad-prompt-input{width:100%;background:#0000008c;border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;padding:6px 10px;font-size:12px;outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;transition:all .15s ease}.cad-prompt-input:focus{border-color:var(--gold-accent);background:#000000bf;box-shadow:0 0 8px var(--gold-glow)}.cad-cmd-autocomplete{position:absolute;top:calc(100% + 4px);left:0;width:380px;max-width:90vw;max-height:280px;overflow-y:auto;background:#121622;border:1px solid var(--gold-accent);border-radius:8px;box-shadow:0 12px 32px #000000bf;z-index:1000;display:flex;flex-direction:column}.cmd-autocomplete-header{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;padding:6px 10px;background:#ffffff0a;border-bottom:1px solid var(--border-color)}.cmd-suggestion-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:background .12s ease}.cmd-suggestion-item:last-child{border-bottom:none}.cmd-suggestion-item:hover,.cmd-suggestion-item.active{background:#f59e0b38}.cmd-suggestion-item.disabled{opacity:.5}.cmd-sugg-left{display:flex;align-items:baseline;gap:6px}.cmd-sugg-name{font-weight:700;font-size:12px;color:#fff}.cmd-sugg-alias{font-size:10px;color:var(--text-muted);font-family:monospace}.cmd-sugg-right{display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase}.cmd-badge-avail{background:#38bdf833;color:#38bdf8}.cmd-badge-unavail{background:#94a3b833;color:#94a3b8}.cmd-sugg-desc{font-size:11px;color:var(--text-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis}.cmd-autocomplete-empty{padding:12px;font-size:12px;color:var(--text-muted);text-align:center}.cmd-autocomplete-hint{font-size:10px;color:#64748b;margin-top:4px}.cad-guidance-text{flex:1;min-width:0;font-size:12px;font-weight:500;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cad-actions-bar{display:flex;align-items:center;gap:6px;flex-shrink:0}.prompt-btn{height:32px;min-height:32px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);transition:all .15s ease}.btn-opt{background:#ffffff14;border:1px solid var(--border-color);color:var(--text-main)}.btn-opt:hover{background:var(--bg-hover);border-color:var(--gold-accent)}.btn-commit-action,.btn-finish-curve{background:#10b98140;border:1px solid rgba(16,185,129,.7);color:#34d399;font-weight:700}.btn-commit-action:hover,.btn-commit-action:active,.btn-finish-curve:hover,.btn-finish-curve:active{background:#10b981;color:#fff;border-color:#10b981;box-shadow:0 0 8px #10b98180;transform:translateY(-1px)}.btn-cancel-action,.btn-danger-prompt,.btn-cancel-curve{background:#ef444433;border:1px solid rgba(239,68,68,.7);color:#f87171;font-weight:700}.btn-cancel-action:hover,.btn-cancel-action:active,.btn-danger-prompt:hover,.btn-danger-prompt:active,.btn-cancel-curve:hover,.btn-cancel-curve:active{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 0 8px #ef444480;transform:translateY(-1px)}.btn-undo-curve{background:#f59e0b38;border:1px solid rgba(245,158,11,.65);color:#fcd34d}.btn-undo-curve:hover,.btn-undo-curve:active{background:#f59e0b73;border-color:#f59e0b;color:#fff;box-shadow:0 0 8px #f59e0b80;transform:translateY(-1px)}.btn-close-style-curve{background:#a855f738;border:1px solid rgba(168,85,247,.65);color:#d8b4fe}.btn-close-style-curve:hover,.btn-close-style-curve:active{background:#a855f773;border-color:#a855f7;color:#fff;box-shadow:0 0 8px #a855f780;transform:translateY(-1px)}.btn-close-curve{background:#0ea5e938;border:1px solid rgba(14,165,233,.65);color:#7dd3fc}.btn-close-curve:hover,.btn-close-curve:active{background:#0ea5e973;border-color:#0ea5e9;color:#fff;box-shadow:0 0 8px #0ea5e980;transform:translateY(-1px)}.btn-history-toggle{background:#ffffff0f;border:1px solid var(--border-color);color:var(--text-muted);width:32px;min-width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.btn-history-toggle:hover,.btn-history-toggle.active{background:#f59e0b33;border-color:var(--gold-accent);color:var(--gold-accent)}.cad-cmd-history-console{max-height:120px;overflow-y:auto;background:#0a0d14f2;border-top:1px solid var(--border-color);padding:8px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;color:#94a3b8;line-height:1.5;scrollbar-width:thin}.cmd-history-line{word-break:break-all}.osnap-bar,.cplane-bar{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.cplane-select{background:#1e2432f2;color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;font-size:11px;font-weight:500;padding:3px 6px;cursor:pointer;outline:none;flex-shrink:0}.cplane-select:focus{border-color:var(--cyan-accent)}.history-bar{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.history-label{color:#38bdf8;font-size:11px;font-weight:700;text-transform:uppercase}.osnap-tooltip{position:fixed;background:#0f172af2;border:1px solid var(--gold-accent);color:#facc15;padding:2px 7px;border-radius:4px;font-family:monospace;font-size:11px;font-weight:700;pointer-events:none;z-index:10000;box-shadow:0 2px 8px #00000080;transform:translate(4px,-50%)}.btn-danger{background:#ef444426!important;color:#ef4444!important;border:1px solid rgba(239,68,68,.35)!important;transition:all .15s ease}.btn-danger:hover,.btn-danger:active{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important;box-shadow:0 0 10px #ef444480!important}#active-cplane-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap}#app.curve-mode-active #btn-extrude,#app.curve-mode-active #btn-insert-edge,#app.curve-mode-active #btn-refine-mesh,#app.curve-mode-active .subd-panel-box{display:none!important}#app.curve-mode-active #section-curve-props{display:flex!important}#app:not(.curve-mode-active) #section-curve-props{display:none!important}#section-curve-props .touch-btn{flex:1 1 65px!important}#section-curve-props>div:last-child{flex-wrap:wrap}#feature-tree-panel{position:absolute;top:var(--vp-top);left:calc(var(--screen-margin) + var(--left-toolbar-width) + 8px);width:290px;max-width:calc(100vw - 120px);bottom:calc(var(--screen-margin) + var(--bottom-bar-height) + 6px);display:flex;flex-direction:column;padding:10px;gap:8px;z-index:25;box-shadow:0 8px 32px #00000073;animation:slideInFeatureTree .2s cubic-bezier(.16,1,.3,1)}@keyframes slideInFeatureTree{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.feature-tree-edge-toggle{position:absolute;left:calc(var(--screen-margin) + var(--left-toolbar-width) + 6px);bottom:calc(var(--screen-margin) + var(--bottom-bar-height) + 10px);z-index:22;height:34px;padding:0 10px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:17px;color:var(--text-color);font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 4px 14px #00000059;cursor:pointer;transition:all .15s ease}.feature-tree-edge-toggle:hover,.feature-tree-edge-toggle.active{background:#38bdf82e;border-color:#38bdf880;color:#38bdf8}.feature-tree-toolbar{display:flex;flex-direction:column;gap:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}.feature-mode-selector{display:flex;align-items:center;gap:6px;width:100%}.feature-mode-dropdown{flex:1;height:28px;background:#ffffff0f;border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:11px;padding:0 6px;outline:none;cursor:pointer}.feature-tree-list{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:6px;padding-right:2px}.feature-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px 12px;text-align:center}.feature-tree-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;gap:6px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.feature-tree-item:hover{background:#ffffff12;border-color:#ffffff26}.feature-tree-item.selected{background:#38bdf81f;border-color:#38bdf873}.feature-tree-item.suppressed{opacity:.55}.feature-item-header{display:flex;align-items:center;gap:6px;cursor:pointer}.feature-item-chevron{font-size:10px;color:var(--text-dim);width:14px;height:14px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease;cursor:pointer}.feature-item-chevron.open{transform:rotate(90deg)}.feature-item-icon{font-size:14px;flex-shrink:0}.feature-item-name{flex:1;font-size:12px;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}.feature-item-name-input{flex:1;height:22px;background:#0006;border:1px solid #38bdf8;border-radius:4px;color:#fff;font-size:12px;padding:0 4px;outline:none}.feature-item-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.feature-item-btn{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .12s ease}.feature-item-btn:hover{background:#ffffff1a;color:#fff}.feature-item-btn.suppress-active{color:#f59e0b}.feature-item-btn.btn-del:hover{background:#ef444433;color:#ef4444}.feature-status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.feature-status-dot.clean{background:#10b981;box-shadow:0 0 6px #10b98199}.feature-status-dot.dirty{background:#f59e0b;box-shadow:0 0 6px #f59e0b99;animation:pulseDirty 1.5s infinite}.feature-status-dot.computing{background:#38bdf8;box-shadow:0 0 6px #38bdf899;animation:pulseDirty .8s infinite}.feature-status-dot.suppressed{background:#6b7280}.feature-status-dot.failed{background:#ef4444;box-shadow:0 0 6px #ef4444cc}@keyframes pulseDirty{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.feature-tree-item-details{display:flex;flex-direction:column;gap:6px;padding:6px 8px;background:#00000040;border-radius:6px;font-size:11px}.feature-param-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.feature-param-label{color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.3px}.feature-param-input{width:60px;height:22px;background:#ffffff14;border:1px solid var(--border-color);border-radius:4px;color:#fff;font-size:11px;padding:0 4px;text-align:right;outline:none}.feature-param-select{height:22px;background:#ffffff14;border:1px solid var(--border-color);border-radius:4px;color:#fff;font-size:11px;padding:0 4px;outline:none}.btn-rebuild-pending{background:#f59e0b33!important;border-color:#f59e0b99!important;color:#f59e0b!important;font-weight:700!important;animation:pulseDirty 1.8s infinite}.history-mode-pill-group{display:flex;gap:3px;background:#00000040;padding:2px;border-radius:6px}.mode-pill-btn{height:24px;padding:0 8px;background:transparent;border:none;border-radius:4px;color:var(--text-dim);font-size:11px;font-weight:600;cursor:pointer;transition:all .12s ease}.mode-pill-btn:hover{color:#fff}.mode-pill-btn.active{background:#38bdf840;color:#38bdf8;font-weight:700}.top-bar-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.cad-menubar{display:flex;align-items:center;gap:2px;margin-left:6px}.menu-item{position:relative}.menu-btn{background:transparent;border:1px solid transparent;color:var(--text-main);padding:5px 9px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s ease}.menu-btn:hover,.menu-item.active .menu-btn{background:#ffffff14;border-color:#ffffff1f;color:#fff}.menu-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:#141824;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 25px #0009,0 0 1px #fff3;min-width:220px;padding:4px;z-index:1000;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.menu-item-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border:none;background:transparent;color:var(--text-main);font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;text-align:left;transition:background .12s ease}.menu-item-btn:hover{background:#f59e0b26;color:#fff}.shortcut-key{font-size:10px;color:var(--text-muted);font-family:monospace;margin-left:12px}.menu-divider{height:1px;background:var(--border-color);margin:4px 6px}.header-quick-actions{display:flex;align-items:center;gap:6px;margin-left:8px}.btn-danger-header{background:#ef44441f!important;border-color:#ef44444d!important;color:#f87171!important}.btn-danger-header:not(:disabled):hover{background:#ef444440!important;border-color:#ef4444!important;color:#fff!important}.btn-danger-header:disabled{opacity:.35;cursor:not-allowed}.btn-preset-pill{font-size:11px;font-weight:600;color:var(--gold-accent);background:#f59e0b1a;border-color:#f59e0b4d}.vp-title-dropdown{position:relative;display:flex;align-items:center}.vp-title-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--text-main);font-size:11px;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .12s ease}.vp-title-btn:hover{background:#ffffff1a;color:#fff}.vp-chevron{font-size:8px;opacity:.7}.vp-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background:#161a25;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 20px #0009;min-width:160px;padding:4px;z-index:100}.vp-dropdown-item{width:100%;display:block;text-align:left;padding:6px 8px;border:none;background:transparent;color:var(--text-main);font-size:11px;border-radius:4px;cursor:pointer}.vp-dropdown-item:hover{background:#f59e0b26;color:#fff}.vp-dropdown-divider{height:1px;background:var(--border-color);margin:3px 0}.toolbar-folder{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--border-color);padding-bottom:6px}.toolbar-folder:last-child{border-bottom:none;padding-bottom:0}.folder-header{height:24px;min-height:24px;padding:0 4px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:#ffffff0a;border-radius:6px;cursor:pointer;font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.folder-header:hover{background:#ffffff14;color:#fff}.folder-icon{font-size:10px}.folder-title{flex:1;text-align:left;margin-left:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-chevron{font-size:8px;transition:transform .15s ease}.toolbar-folder.collapsed .folder-chevron{transform:rotate(-90deg)}.toolbar-folder.collapsed .folder-tools{display:none!important}.folder-tools{display:flex;flex-direction:column;gap:4px}#bottom-toolbar,.bottom-toolbar-inline{position:static;height:100%;display:flex;align-items:center;justify-content:center;padding:0 4px;gap:6px;flex:1;overflow-x:auto;overflow-y:visible;scrollbar-width:none}#bottom-toolbar::-webkit-scrollbar,.bottom-toolbar-inline::-webkit-scrollbar{display:none}.horizontal-folder{flex-direction:row;align-items:center;gap:6px;border-bottom:none;border-right:1px solid var(--border-color);padding-bottom:0;padding-right:10px}.horizontal-folder:last-child{border-right:none;padding-right:0}.horizontal-folder .folder-header{height:32px;padding:0 8px;gap:4px}.horizontal-folder .folder-tools{flex-direction:row;align-items:center;gap:4px}.horizontal-folder .folder-tools .touch-btn{height:36px;min-width:36px;padding:0 6px}.right-dock-drawer{display:flex;flex-direction:column;padding:0!important;overflow:hidden}.drawer-tabs-header{display:flex;align-items:center;background:#00000040;border-bottom:1px solid var(--border-color);padding:4px;gap:2px;min-height:40px;width:100%;box-sizing:border-box}.drawer-tab-btn{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:2px;background:transparent;border:1px solid transparent;color:var(--text-muted);border-radius:6px;padding:4px 2px;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;transition:all .15s ease}.drawer-tab-btn .tab-icon{font-size:11px;flex-shrink:0}.drawer-tab-btn .tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.drawer-tab-btn .badge-status{padding:1px 3px;font-size:8px;flex-shrink:0}.drawer-tabs-header .panel-close-btn{flex-shrink:0;margin-left:2px}.drawer-tab-btn:hover{background:#ffffff0d;color:var(--text-main)}.drawer-tab-btn.active{background:#f59e0b26;border-color:#f59e0b59;color:#fff}.drawer-tab-content{display:none;flex:1;overflow-y:auto;overflow-x:hidden}.drawer-tab-content.active{display:flex;flex-direction:column}.embedded-feature-tree{display:flex;flex-direction:column;width:100%;height:100%}.object-context-menu{position:fixed;background:#141824;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 12px 28px #000000b3;padding:4px;min-width:170px;z-index:9999;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ctx-item{width:100%;display:flex;align-items:center;padding:7px 10px;border:none;background:transparent;color:var(--text-main);font-size:12px;border-radius:6px;cursor:pointer;transition:background .12s ease}.ctx-item:hover{background:#f59e0b2e;color:#fff}.ctx-icon{margin-right:8px;font-size:14px}.ctx-item kbd{margin-left:auto;font-size:10px;color:var(--text-muted);font-family:monospace}.ctx-divider{height:1px;background:var(--border-color);margin:3px 4px}.modal-settings-dialog{max-width:660px;width:90vw;height:520px;display:flex;flex-direction:column;padding:0;overflow:hidden}.settings-modal-body{display:flex;flex:1;overflow:hidden}.settings-categories-sidebar{width:170px;background:#0003;border-right:1px solid var(--border-color);padding:8px 6px;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.settings-cat-btn{display:flex;align-items:center;padding:8px 10px;border:none;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;text-align:left;transition:all .12s ease}.settings-cat-btn:hover{background:#ffffff0d;color:var(--text-main)}.settings-cat-btn.active{background:#f59e0b26;color:var(--gold-accent);font-weight:700}.settings-content-pane{flex:1;padding:16px 20px;overflow-y:auto}.settings-cat-panel{display:none;flex-direction:column;gap:12px}.settings-cat-panel.active{display:flex}.settings-cat-panel h4{font-size:14px;color:var(--gold-accent);margin-bottom:4px;font-weight:700}.setting-item-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:12px}.setting-item-row label{color:var(--text-main)}.modal-toolbar-manager-dialog{max-width:620px;width:90vw;max-height:540px}.toolbar-manager-body{display:flex;gap:10px;margin-top:10px;height:320px}.manager-col{flex:1;display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:8px;padding:8px;background:#0003;overflow:hidden}.col-title{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.manager-list-box{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.manager-item{padding:6px 8px;background:#ffffff0a;border:1px solid transparent;border-radius:6px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.manager-item:hover{background:#ffffff14}.manager-item.selected{background:#f59e0b33;border-color:#f59e0b66;color:#fff}.manager-actions-col{display:flex;flex-direction:column;justify-content:center;gap:6px;width:60px}.manager-actions-col .touch-btn{height:32px;min-width:100%;font-size:11px;font-weight:700}.customizing-workspace #left-toolbar,.customizing-workspace #bottom-toolbar{outline:2px dashed var(--gold-accent)!important;outline-offset:2px!important}#app.focus-mode #top-bar,#app.focus-mode #cad-command-strip,#app.focus-mode #left-toolbar,#app.focus-mode #bottom-bar,#app.focus-mode #right-inspector,#app.focus-mode #btn-sidebar-toggle{display:none!important}#app.focus-mode #cad-viewport-frame{top:0!important;bottom:0!important;left:0!important;right:0!important;border-radius:0!important}.floating-focus-exit{position:fixed;top:14px;right:14px;z-index:1000;height:36px;padding:0 16px;font-size:12px;font-weight:700;box-shadow:0 4px 16px #0009}#app.command-interface-touch #cad-command-strip{display:none!important}#app:not(.command-interface-touch):not(.focus-mode) #cad-compact-instruction-banner{display:none!important}#app.command-interface-touch{--vp-top: calc(var(--screen-margin) + var(--top-bar-height) + 6px)}.compact-instruction-banner{position:absolute;top:calc(var(--top-bar-height) + var(--screen-margin) + 8px);left:50%;transform:translate(-50%);z-index:85;display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:24px;background:#0f172aeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);box-shadow:0 10px 30px #00000080;pointer-events:auto;max-width:90vw;white-space:nowrap}.banner-tool-indicator{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:#fff}.banner-step-badge{background:#38bdf833;color:#38bdf8;border:1px solid rgba(56,189,248,.4);font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.banner-instruction-text{font-size:12px;color:var(--text-color);max-width:340px;overflow:hidden;text-overflow:ellipsis}.banner-actions{display:flex;align-items:center;gap:6px}.banner-btn{height:28px;padding:0 10px;font-size:11px;font-weight:600;border-radius:14px}.banner-btn.btn-cancel{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#f87171}.numeric-context-popup{position:absolute;bottom:calc(var(--bottom-bar-height) + var(--screen-margin) + 16px);left:50%;transform:translate(-50%);z-index:86;width:260px;border-radius:14px;background:#0f172af0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(212,175,55,.4);box-shadow:0 12px 36px #0009;padding:10px 14px;pointer-events:auto}.popup-drag-handle{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--gold);text-transform:uppercase;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08)}.popup-input-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.popup-input-row label{font-size:12px;font-weight:600;color:var(--text-color)}.popup-input-wrap{display:flex;align-items:center;gap:4px;background:#0006;border:1px solid var(--border-color);border-radius:8px;padding:2px 8px}.popup-num-input{width:70px;background:transparent;border:none;color:#fff;font-family:var(--font-mono);font-size:13px;font-weight:600;text-align:right;outline:none}.popup-unit-label{font-size:11px;color:var(--text-muted)}.popup-context-options{display:flex;gap:6px;margin-bottom:8px}.popup-opt-btn{flex:1;height:26px;font-size:11px;border-radius:6px;background:#ffffff0f;border:1px solid var(--border-color);color:var(--text-color)}.popup-actions-row{display:flex;gap:6px}.popup-actions-row .touch-btn{flex:1;height:30px;font-size:11px;font-weight:600;border-radius:8px}.popup-actions-row .btn-cancel{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#f87171}.popup-keypad-trigger-btn{width:24px;height:24px;padding:0;font-size:13px;background:#ffffff14;border:1px solid rgba(212,175,55,.3);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gold);touch-action:manipulation;transition:all .15s ease}.popup-keypad-trigger-btn:hover{background:#d4af3733;border-color:var(--gold);transform:scale(1.05)}.popup-keypad-trigger-btn:active{transform:scale(.92)}.floating-numeric-keypad{position:fixed;z-index:92;width:236px;padding:10px 12px 12px;border-radius:14px;background:#0f172af5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(212,175,55,.45);box-shadow:0 16px 40px #000000b3,0 0 0 1px #ffffff0d;pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:manipulation}.keypad-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.08)}.keypad-drag-handle{display:flex;align-items:center;gap:6px;cursor:move;flex:1;touch-action:none}.keypad-drag-icon{font-size:12px;color:var(--gold);opacity:.8}.keypad-param-title{font-size:11px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.5px}.keypad-close-btn{width:22px;height:22px;padding:0;background:transparent;border:none;color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.keypad-close-btn:hover,.keypad-close-btn:active{color:#fff;background:#ffffff1a}.keypad-display-row{margin-bottom:10px}.keypad-display{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;background:#0000008c;border:1px solid rgba(212,175,55,.35);border-radius:8px;padding:6px 12px;box-shadow:inset 0 2px 4px #0006}.keypad-display-val{font-family:var(--font-mono, monospace);font-size:20px;font-weight:700;color:#fff;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.keypad-display-unit{font-family:var(--font-mono, monospace);font-size:12px;font-weight:600;color:var(--gold)}.keypad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.keypad-btn{height:42px;min-width:0;padding:0;border-radius:8px;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto);font-size:16px;font-weight:600;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.1);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;transition:background .12s,transform .08s,border-color .12s}.keypad-btn:hover{background:#ffffff24;border-color:#fff3}.keypad-btn:active{transform:scale(.94);background:#d4af3740;border-color:var(--gold)}.keypad-btn.key-num{font-family:var(--font-mono, monospace);font-size:17px}.keypad-btn.key-op{background:#ffffff1f;font-weight:700;color:#e2e8f0}.keypad-btn.key-op:hover{background:#ffffff2e}.keypad-btn.key-cancel{background:#ef444433;border-color:#ef444466;color:#fca5a5;font-size:11px;font-weight:700;text-transform:uppercase}.keypad-btn.key-cancel:hover{background:#ef44444d;border-color:#ef444499}.keypad-btn.key-cancel:active{background:#ef444473;color:#fff}.keypad-btn.key-done{background:linear-gradient(135deg,#d4af37,#b8860b);border-color:#ffffff4d;color:#0b0f19;font-size:12px;font-weight:800;text-transform:uppercase;box-shadow:0 2px 8px #d4af3759}.keypad-btn.key-done:hover{background:linear-gradient(135deg,#dfbc45,#c9930f);box-shadow:0 4px 12px #d4af3780}.keypad-btn.key-done:active{transform:scale(.94);background:#b8860b;box-shadow:0 1px 4px #d4af374d}#panel-osnap-settings{top:calc(var(--screen-margin) + var(--top-bar-height) + 6px);bottom:auto;left:auto;right:var(--screen-margin)}.top-osnap-ctrl{display:inline-flex;align-items:center;height:28px;border:1px solid rgba(255,255,255,.14);border-radius:8px;overflow:hidden;flex-shrink:0}.top-osnap-ctrl .touch-btn{min-width:0;min-height:0;height:100%;padding:0 6px;border:0;border-radius:0;background:transparent;display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted, #cbd5e1)}.top-osnap-ctrl .top-osnap-more{border-left:1px solid rgba(255,255,255,.12);padding:0 5px}.top-osnap-ctrl .touch-btn:hover{background:#ffffff14}.top-osnap-ctrl .status-indicator-badge{font-size:9px;padding:1px 4px}.history-edge-tab{position:absolute;top:50%;right:var(--vp-right);transform:translateY(-50%);z-index:25;writing-mode:vertical-rl;display:inline-flex;align-items:center;gap:4px;padding:10px 4px;font-size:11px;letter-spacing:.04em;color:var(--text-muted, #cbd5e1);background:#0f172ae0;border:1px solid rgba(255,255,255,.14);border-right:0;border-radius:8px 0 0 8px;cursor:pointer;touch-action:manipulation}.history-edge-tab:hover{color:#fbbf24}.history-edge-tab .badge-status{writing-mode:horizontal-tb;font-size:9px}.history-edge-panel{position:absolute;top:var(--vp-top);bottom:var(--vp-bottom);right:var(--vp-right);width:var(--ft-w, 160px);min-width:160px;max-width:350px;z-index:25;display:flex;flex-direction:column;background:#0f172af5;border:1px solid rgba(255,255,255,.14);border-radius:8px;box-shadow:-6px 0 18px #0006;overflow:hidden}.history-edge-panel[hidden]{display:none}#app.sidebar-collapsed .history-edge-panel,#app.sidebar-collapsed .history-edge-tab{right:var(--screen-margin)}#app.ft-open .history-edge-tab{display:none}#app.ft-docked:not(.focus-mode) #cad-viewport-frame{right:calc(var(--vp-right) + var(--ft-w, 160px) + 4px)}#app.ft-docked.sidebar-collapsed:not(.focus-mode) #cad-viewport-frame{right:calc(var(--screen-margin) + var(--ft-w, 160px) + 4px)}#app.ft-resizing #cad-viewport-frame{transition:none}.ft-resize-handle{position:absolute;left:0;top:0;bottom:0;width:10px;margin-left:-3px;cursor:ew-resize;touch-action:none;z-index:2}.ft-resize-handle:hover,#app.ft-resizing .ft-resize-handle{background:#fbbf2459}.history-edge-panel .embedded-feature-tree{min-width:0}.history-edge-panel .panel-header-row{padding:4px 6px 4px 10px!important;gap:4px}.history-edge-panel .panel-header-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ft-head-btn{flex-shrink:0;background:none;border:0;color:var(--text-muted, #cbd5e1);cursor:pointer;font-size:12px;padding:4px 5px;border-radius:6px;opacity:.55;touch-action:manipulation}.ft-head-btn:hover{opacity:1;background:#ffffff14}#btn-history-edge-close{opacity:.8}#btn-ft-pin.active{opacity:1;background:#fbbf242e}@media (max-width: 768px){.top-osnap-ctrl .top-osnap-label{display:none}}.history-edge-panel,.history-edge-panel *{box-sizing:border-box}.history-edge-panel .embedded-feature-tree,.history-edge-panel .feature-tree-toolbar,.history-edge-panel .feature-mode-selector,.history-edge-panel .feature-tree-list,.history-edge-panel .feature-tree-item,.history-edge-panel .feature-item-header,.history-edge-panel .feature-item-name,.history-edge-panel .feature-item-name-input,.history-edge-panel .feature-tree-item-details,.history-edge-panel .feature-param-row,.history-edge-panel .feature-param-label{min-width:0;max-width:100%}.history-edge-panel .panel-header-row{flex-wrap:wrap}.history-edge-panel .touch-btn{min-width:0}.history-edge-panel .btn-rebuild-pending{height:22px;padding:0 6px;font-size:10px}.history-edge-panel .feature-tree-toolbar{padding:0 6px 6px}.history-edge-panel .feature-mode-selector{flex-wrap:wrap;gap:4px}.history-edge-panel .feature-mode-dropdown{flex:1 1 100%;width:100%;min-width:0;order:2}.history-edge-panel .feature-tree-list{padding:0 6px 6px}.history-edge-panel .feature-tree-item{padding:5px 6px}.history-edge-panel .feature-item-header{gap:4px;flex-wrap:wrap}.history-edge-panel .feature-item-name{flex:1 1 40px}.history-edge-panel .feature-item-actions{gap:2px;margin-left:auto;flex-shrink:0}.history-edge-panel .feature-item-btn{width:22px;min-width:22px}.history-edge-panel .feature-tree-item-details{padding:5px 4px}.history-edge-panel .feature-param-row{flex-wrap:wrap;gap:4px}.history-edge-panel .feature-param-input,.history-edge-panel .feature-param-select{flex:1 1 48px;width:auto;min-width:0;max-width:100%}.history-edge-panel .feature-tree-empty{padding:16px 6px}.history-edge-panel #feature-tree-panel{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;max-width:100%;flex:1 1 auto;min-height:0;padding:0;gap:4px;box-shadow:none;animation:none;transform:none}.ft-outline-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}.history-edge-panel .panel-header-row{flex-wrap:nowrap}.history-edge-panel .panel-header-title{gap:5px;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-main, #e2e8f0)}.history-edge-panel .panel-title-icon{color:#4ade80;flex-shrink:0}.history-edge-panel .panel-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0}.history-edge-panel .ft-head-btn{padding:3px}.history-edge-panel .feature-item-icon{color:#60a5fa;display:flex}.history-edge-panel .feature-mode-selector>span:first-child{display:none}.history-edge-panel .feature-tree-list{gap:2px}.history-edge-panel .feature-tree-item{padding:3px 4px;gap:3px;border-radius:6px}.history-edge-panel .feature-item-header{flex-wrap:nowrap;gap:4px}.history-edge-panel .feature-item-chevron{width:10px;font-size:8px}.history-edge-panel .feature-item-name{font-size:12px;font-weight:500}.history-edge-panel .feature-item-btn{display:none;height:22px}.history-edge-panel .feature-tree-item:hover .feature-item-btn,.history-edge-panel .feature-tree-item:focus-within .feature-item-btn,.history-edge-panel .feature-tree-item.selected .feature-item-btn{display:flex}.cad-command-panel{position:absolute;right:10px;top:190px;z-index:120;width:min(280px,calc(100% - 20px));max-height:calc(100% - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 10px 10px;font-size:12px;color:var(--text-main, #e2e8f0);background:#0f172af5;border:1px solid rgba(255,255,255,.16);border-radius:12px;box-shadow:0 12px 30px #0000008c}.cad-command-panel[hidden]{display:none}.cad-command-panel .cmd-head{display:flex;align-items:center;gap:6px}.cad-command-panel .cmd-logo{color:#f59e0b;font-weight:700}.cad-command-panel .cmd-title{flex:1;font-weight:700;font-size:13px}.cad-command-panel .cmd-icon{min-width:30px;min-height:30px;padding:0;background:transparent;border-color:transparent}.cad-command-panel .cmd-help{margin:4px 0 6px;color:var(--text-muted, #cbd5e1);line-height:1.35}.cad-command-panel .cmd-ok{color:#22c55e;font-weight:700}.cad-command-panel .cmd-warning{margin:0 0 6px;padding:6px 8px;border:1px solid #ef4444;border-left-width:4px;border-radius:6px;background:#ef444424;color:#fecaca;line-height:1.35}.cad-command-panel .cmd-link{margin-top:4px;display:block;width:100%;color:#fde68a}.cad-command-panel .cmd-label{margin:8px 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim, #94a3b8)}.cad-command-panel .cmd-row,.cad-command-panel .cmd-item{display:flex;align-items:center;gap:6px;padding:3px 5px;border-radius:7px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.cad-command-panel .cmd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.cad-command-panel .cmd-num{flex:0 0 20px;height:20px;border-radius:50%;background:#22c55e;color:#052e16;font-weight:700;font-size:11px;display:grid;place-items:center}.cad-command-panel .cmd-num.rail{background:#3b82f6;color:#fff}.cad-command-panel .cmd-value,.cad-command-panel .cmd-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.cad-command-panel .cmd-name small{display:block;font-size:10px;color:var(--text-dim, #94a3b8)}.cad-command-panel .cmd-check{color:#22c55e;font-weight:700}.cad-command-panel .cmd-item-btns{display:flex;gap:2px;flex-shrink:0}.cad-command-panel button{font:inherit;color:inherit;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:7px;min-height:32px;padding:0 8px;cursor:pointer;touch-action:manipulation}.cad-command-panel .cmd-item-btns button,.cad-command-panel .cmd-small{min-width:28px;min-height:28px;padding:0 4px}.cad-command-panel button:disabled{opacity:.35;cursor:default}.cad-command-panel button.primary{background:#f59e0b;border-color:#f59e0b;color:#111;font-weight:700}.cad-command-panel button.on{background:#3b82f659;border-color:#3b82f6}.cad-command-panel .cmd-actions{display:flex;gap:6px;margin-top:8px}.cad-command-panel .cmd-actions button{flex:1 1 0}.cad-command-panel .cmd-actions .primary{flex:1.4 1 0}.cad-command-panel .cmd-check-row{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--text-muted, #cbd5e1)}.cad-command-panel .cmd-check-row input{width:18px;height:18px;accent-color:#3b82f6}.cad-command-panel .cmd-empty,.cad-command-panel .cmd-note{margin:3px 0;color:var(--text-dim, #94a3b8);font-size:11px}.cad-command-panel .cmd-dev{margin-top:6px;font-size:11px}.cad-command-panel .cmd-dev.ok{color:#86efac}.cad-command-panel .cmd-dev.bad{color:#fca5a5}.cad-command-panel .cmd-tabs{display:flex;gap:3px;margin:2px 0 6px}.cad-command-panel .cmd-tabs button{flex:1;min-height:30px;font-size:11px}.cad-command-panel .cmd-field{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:4px 0}.cad-command-panel .cmd-field>span:first-child{color:var(--text-muted, #cbd5e1)}.cad-command-panel .cmd-field input{width:76px;height:30px;padding:0 6px;font:inherit;color:inherit;background:#0000004d;border:1px solid rgba(255,255,255,.18);border-radius:6px}.cad-command-panel .cmd-stepper{display:flex;gap:3px}.cad-command-panel .cmd-stepper input{width:48px;text-align:center}.cad-command-panel .cmd-stepper button{min-width:30px;padding:0}.cad-command-panel .cmd-confirm{margin:4px 0;padding:6px 8px;border-radius:6px;background:#f59e0b24;border:1px solid rgba(245,158,11,.5);line-height:1.35}.cad-command-panel .cmd-confirm span{display:flex;gap:6px;margin-top:6px}.cad-command-panel .cmd-confirm button{flex:1}.cad-command-panel .cmd-head{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.cad-command-panel .cmd-grip{color:var(--text-dim, #94a3b8);font-size:11px;letter-spacing:-2px}.compact-instruction-banner{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 2 * var(--screen-margin) - 24px)}.compact-instruction-banner .banner-actions{flex-wrap:wrap;justify-content:center}.compact-instruction-banner .banner-actions .banner-btn{min-height:34px;height:auto}.touch-curve-actions{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--bottom-bar-height) + var(--screen-margin) + 64px);z-index:86;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:22px;background:#0f172aeb;max-width:calc(100vw - 2 * var(--screen-margin) - 24px);flex-wrap:wrap;justify-content:center}.touch-curve-actions .banner-btn{min-height:36px;height:auto;min-width:52px}.touch-curve-actions-title{font-size:11px;font-weight:700;color:var(--gold-accent, #f59e0b);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.header-actions{flex-shrink:0}@media (max-width: 1180px){.top-bar-left{gap:8px}.header-quick-actions .touch-btn>span{display:none}.header-quick-actions .touch-btn{padding-left:10px;padding-right:10px}.header-actions{gap:6px}}@media (max-width: 860px){.brand .brand-title,#btn-active-preset-badge,#btn-toggle-inspector .btn-label-text{display:none}.cad-menubar{margin-left:0}.cad-menubar .menu-btn{padding:5px 6px}}.cad-command-panel{--cp-blue: #1d8cf8;--cp-blue-soft: rgba(29,140,248,.18);--cp-line: rgba(255,255,255,.12);--cp-field: rgba(255,255,255,.05);width:min(300px,calc(100% - 20px));padding:12px;font-size:13px;background:#111827f7;border:1px solid var(--cp-line);border-radius:14px}.cad-command-panel .cmd-head{gap:8px;padding-bottom:8px}.cad-command-panel .cmd-logo{display:inline-grid;place-items:center;width:28px;height:28px;color:#a78bfa}.cad-command-panel .cmd-logo svg{width:24px;height:24px}.cad-command-panel .cmd-title{font-size:16px;font-weight:700;letter-spacing:.01em}.cad-command-panel .cmd-icon{min-width:32px;min-height:32px;font-size:15px;color:var(--text-muted, #cbd5e1)}.cad-command-panel .cmd-seg{display:flex;padding:3px;gap:3px;margin:2px 0 8px;background:#00000047;border:1px solid var(--cp-line);border-radius:10px}.cad-command-panel .cmd-seg button{flex:1;min-height:36px;border:0;background:transparent;border-radius:8px;font-weight:600;color:var(--text-muted, #cbd5e1)}.cad-command-panel .cmd-seg button.on{background:var(--cp-blue);color:#fff}.cad-command-panel .cmd-help{margin:0 0 8px;font-size:12px}.cad-command-panel .cmd-sec{border-top:1px solid var(--cp-line);padding:8px 0 4px}.cad-command-panel .cmd-help+.cmd-sec,.cad-command-panel .cmd-warning+.cmd-sec{border-top:0;padding-top:2px}.cad-command-panel .cmd-sec-title{font-weight:700;font-size:14px;margin:0 0 6px}.cad-command-panel .cmd-sec-head{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:30px;padding:0;border:0;background:transparent;font-weight:700;font-size:14px}.cad-command-panel .cmd-sec-head .cmd-chev{color:var(--text-dim, #94a3b8);font-size:14px}.cad-command-panel .cmd-sec-body{display:flex;flex-direction:column;gap:6px;margin-top:4px}.cad-command-panel .cmd-pick{display:flex;align-items:center;gap:8px}.cad-command-panel .cmd-pick-label{flex:0 0 64px;color:var(--text-muted, #cbd5e1)}.cad-command-panel .cmd-pill{flex:1;min-width:0;min-height:34px;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:8px;background:var(--cp-field);border:1px solid var(--cp-line);color:var(--text-dim, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-command-panel .cmd-pill.set{color:var(--text-main, #e2e8f0);border-color:#22c55e73}.cad-command-panel .cmd-pill-ok{color:#22c55e;font-weight:700}.cad-command-panel .cmd-field{margin:0;min-height:34px}.cad-command-panel .cmd-field input{width:84px;height:34px;border-radius:8px}.cad-command-panel .cmd-field>button{min-width:96px}.cad-command-panel .cmd-choice{display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:#00000047;border:1px solid var(--cp-line)}.cad-command-panel .cmd-choice button{min-height:30px;min-width:40px;padding:0 8px;border:0;background:transparent;border-radius:7px;font-size:12px}.cad-command-panel .cmd-choice button.on,.cad-command-panel .cmd-chips button.on{background:var(--cp-blue);color:#fff;border-color:var(--cp-blue)}.cad-command-panel .cmd-chips{display:flex;gap:4px;justify-content:flex-end}.cad-command-panel .cmd-chips button{min-height:30px;padding:0 9px;font-size:12px}.cad-command-panel .cmd-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cad-command-panel .cmd-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;padding:6px 4px;border-radius:10px;font-size:11px}.cad-command-panel .cmd-tile .cmd-tile-glyph{font-size:18px;line-height:1}.cad-command-panel button.on,.cad-command-panel .cmd-tile.on{background:var(--cp-blue-soft);border-color:var(--cp-blue)}.cad-command-panel .cmd-switch-row{display:flex;align-items:center;justify-content:space-between;min-height:40px;margin-top:4px;padding-top:6px;border-top:1px solid var(--cp-line);font-weight:700;font-size:14px;cursor:pointer}.cad-command-panel .cmd-switch-row input{position:absolute;opacity:0;width:1px;height:1px}.cad-command-panel .cmd-switch{position:relative;width:46px;height:26px;border-radius:13px;background:#ffffff2e;transition:background .15s;flex-shrink:0}.cad-command-panel .cmd-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}.cad-command-panel .cmd-switch-row input:checked+.cmd-switch{background:var(--cp-blue)}.cad-command-panel .cmd-switch-row input:checked+.cmd-switch:after{transform:translate(20px)}.cad-command-panel .cmd-switch-row input:focus-visible+.cmd-switch{outline:2px solid #93c5fd;outline-offset:2px}.cad-command-panel .cmd-actions{margin-top:10px;gap:8px}.cad-command-panel .cmd-actions button{min-height:42px;border-radius:10px;font-weight:600}.cad-command-panel button.primary{background:var(--cp-blue);border-color:var(--cp-blue);color:#fff}.cad-command-panel .cmd-list .cmd-item-btns button.on{background:var(--cp-blue-soft);border-color:var(--cp-blue)}@media (pointer: coarse){.cad-command-panel button,.cad-command-panel .cmd-pill{min-height:40px}.cad-command-panel .cmd-choice button{min-height:36px}.cad-command-panel .cmd-field input{height:40px;font-size:16px}}.cad-command-panel .cmd-actions{position:sticky;bottom:-12px;z-index:1;margin:10px -12px -12px;padding:8px 12px 12px;background:#111827fa;border-top:1px solid var(--cp-line);border-radius:0 0 14px 14px}@media (pointer: coarse){.cad-command-panel{top:160px;max-height:calc(100% - 170px)}}@media (pointer: coarse){.history-edge-panel .feature-item-btn{display:flex;width:30px;min-width:30px;height:30px}.history-edge-panel .feature-item-header{flex-wrap:wrap}.history-edge-panel .feature-item-name{flex:1 1 60%;min-width:0}.history-edge-panel .feature-item-actions{width:100%;justify-content:flex-end;margin-left:0}}.feature-item-btn:disabled{opacity:.35;cursor:default}.cad-command-panel .cmd-ctiles{grid-template-columns:repeat(4,1fr);gap:5px}.cad-command-panel .cmd-ctile{min-height:52px;padding:4px 2px;font-size:10px;gap:2px}.cad-command-panel .cmd-ctile .cmd-tile-glyph{font-size:17px;color:#93c5fd}.cad-command-panel .cmd-tile:disabled{opacity:.28}.cad-command-panel .cmd-item.bad{border-color:#ef4444;background:#ef44441f}.cad-command-panel .cmd-item.off{opacity:.55}.cad-command-panel .cmd-item .cmd-num{background:#1e3a8a;color:#bfdbfe;font-size:12px}@media (pointer: coarse){.cad-command-panel .cmd-ctile{min-height:58px}}#smart-selection-bar{position:absolute;left:50%;top:8px;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:2px;padding:3px 4px;max-width:calc(100% - 20px);background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:12px;color:var(--text-main);user-select:none;-webkit-user-select:none;touch-action:manipulation}#smart-selection-bar .ssb-count{padding:0 6px;color:var(--gold-accent);font-weight:600;white-space:nowrap}#smart-selection-bar button{min-height:34px;min-width:36px;padding:0 6px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text-main);font-size:12px;cursor:pointer;white-space:nowrap;display:inline-grid;place-items:center}#smart-selection-bar button .cad-icon{width:20px;height:20px}#smart-selection-bar .ssb-menu-title{grid-column:1 / -1;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:2px 0 4px}#smart-selection-bar button:hover:not(:disabled){background:var(--bg-hover)}#smart-selection-bar button:disabled{opacity:.4;cursor:default}#smart-selection-bar button.on{border-color:#4aa8ff8c;background:#4aa8ff29}#smart-selection-bar .ssb-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(2,minmax(84px,1fr));gap:2px 8px;padding:8px 10px;background:var(--bg-panel-solid);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}#smart-selection-bar .ssb-menu label{display:flex;align-items:center;gap:6px;min-height:32px;cursor:pointer}#smart-selection-bar .ssb-menu input{width:18px;height:18px;accent-color:var(--gold-accent)}#smart-selection-bar .ssb-menu button{grid-column:1 / -1;border-color:var(--border-color)}#smart-selection-bar[hidden],#smart-selection-bar .ssb-menu[hidden]{display:none}@media (max-width: 520px){#smart-selection-bar{flex-wrap:wrap;justify-content:center}}:root{--icon-accent: #4aa8ff;--icon-accent-soft: rgba(74, 168, 255, .26)}.cad-icon{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.touch-btn svg.cad-icon,.btn-pill svg.cad-icon{fill:none}.cad-icon .a{stroke:var(--icon-accent)}.cad-icon .ad{fill:var(--icon-accent);stroke:none}.cad-icon .f{fill:var(--icon-accent-soft);stroke:none}.cad-icon .w{fill:#ffffff29;stroke:none}.cad-icon .dash{stroke-dasharray:2.2 2.2}.cad-icon .cut{fill:#1b2030;stroke:none}.cad-icon .gold{fill:#e7b64c;stroke:none}.cad-icon .plat{fill:#d6dbe4;stroke:none}.cad-icon .rec{fill:#ef4444;stroke:none}.touch-btn.active .cad-icon,.touch-btn:active .cad-icon{--icon-accent: #7cc0ff}#app.compact-ui{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--top-bar-height: 0px;--vp-top: calc(var(--safe-top) + 58px);--vp-left: calc(var(--screen-margin) + var(--safe-left));--vp-right: calc(var(--screen-margin) + var(--safe-right));--vp-bottom: calc(var(--screen-margin) + var(--safe-bottom))}#app.compact-ui.command-interface-touch{--vp-top: calc(var(--safe-top) + 50px)}#app.compact-ui #top-bar{display:none!important}#app.compact-ui #cad-command-strip{top:calc(var(--safe-top) + 7px);left:50%;right:auto;transform:translate(-50%);width:min(700px,calc(100vw - 380px));border-radius:12px}#app.compact-ui #cad-command-strip .cad-command-row{min-height:42px}#app.compact-ui #cad-command-strip .cad-guidance-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#app.compact-ui #panel-osnap-settings{top:calc(var(--safe-top) + 52px);right:var(--vp-right)}#app.compact-ui .compact-instruction-banner{top:calc(var(--vp-top) + 8px)}#app.compact-ui.sidebar-collapsed .cad-viewport-frame{right:var(--vp-right)}#app.compact-ui #left-toolbar,#app.compact-ui #bottom-bar{display:none!important}#app.compact-ui #right-inspector{top:var(--vp-top);bottom:calc(var(--vp-bottom) + 84px);right:var(--vp-right)}#app.compact-ui .history-edge-tab{right:var(--vp-right)}#app.compact-ui .touch-curve-actions{bottom:calc(var(--safe-bottom) + 96px)}#app.compact-ui #toast{top:calc(var(--vp-top) + 54px);z-index:300}#app.compact-ui .perf-hud{bottom:8px}#app.focus-mode #cad-dock{display:none}.top-compact-btn{height:34px;padding:0 10px;font-size:12px;gap:5px}.top-compact-btn .cad-icon{width:18px;height:18px;margin:0}.rec-dot{width:9px;height:9px;border-radius:50%;background:#64748b;box-shadow:inset 0 0 0 1px #0006}.rec-dot.on{background:#ef4444;box-shadow:0 0 6px #ef4444cc}@media (max-width: 1180px){.top-compact-btn span:not(.rec-dot){display:none}.top-compact-btn{padding:0 8px}#btn-top-rec span:last-child{display:inline}}#cad-dock{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--safe-bottom, 0px) + 10px);z-index:60;display:flex;gap:12px;align-items:flex-end;pointer-events:none}.dock-folder{display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:auto}.dock-folder-btn{width:50px;height:50px;padding:7px;border-radius:14px;cursor:pointer;background:#1a1f2ca8;border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 6px 18px #00000073,inset 0 1px #ffffff12;color:#e6edf7;display:grid;place-items:center;transition:transform .16s ease,border-color .16s ease,background .16s ease}.dock-folder-btn:hover{border-color:#4aa8ff80}.dock-folder-btn:active{transform:scale(.94)}.dock-folder.open .dock-folder-btn{border-color:var(--icon-accent);background:#223452d1;transform:translateY(-2px)}.dock-folder.has-active .dock-folder-btn{box-shadow:0 6px 18px #00000073,0 0 0 1px #4aa8ff99}.dock-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:3px 2px;width:100%;place-items:center}.dock-mini .cad-icon{width:11px;height:11px;stroke-width:2.3}.dock-label{font-size:10px;font-weight:600;letter-spacing:.02em;color:#e2e8f0e6;text-shadow:0 1px 3px rgba(0,0,0,.9)}.dock-pop{position:fixed;z-index:61;padding:10px;border-radius:16px;max-width:calc(100vw - 16px);max-height:calc(100vh - 160px);overflow-y:auto;background:#121620cc;border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 18px 40px #0000008c}.dock-pop-title{margin:0 4px 8px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.dock-grid{display:grid;grid-template-columns:repeat(var(--cols, 4),74px);gap:6px}.dock-tool{height:66px;padding:4px 2px;border-radius:12px;cursor:pointer;background:#ffffff0a;border:1px solid transparent;color:#e6edf7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10.5px;line-height:1.1;text-align:center;transition:background .12s ease,border-color .12s ease,transform .12s ease;-webkit-touch-callout:none}.dock-tool .cad-icon{width:26px;height:26px}.dock-tool:hover{background:#4aa8ff1f;border-color:#4aa8ff59}.dock-tool:active{transform:scale(.95)}.dock-tool.active{background:#4aa8ff33;border-color:var(--icon-accent)}.dock-tip{position:fixed;z-index:400;max-width:240px;padding:8px 11px;border-radius:10px;background:#0a0e16f5;border:1px solid rgba(74,168,255,.45);color:#e6edf7;font-size:12px;line-height:1.35;box-shadow:0 8px 24px #0009;pointer-events:none;display:flex;flex-direction:column;gap:2px}.dock-tip strong{color:#7cc0ff;font-size:12.5px}.dock-tip[hidden],.dock-pop[hidden]{display:none}@media (max-width: 700px){#cad-dock{gap:6px}.dock-folder-btn{width:44px;height:44px;padding:6px}.dock-grid{grid-template-columns:repeat(var(--cols, 4),64px)}}#viewport-headers-overlay.layout-main .vp-crosshair{display:none}#viewport-headers-overlay.layout-main .vp-quadrant{border:1px solid rgba(255,255,255,.1)}#viewport-headers-overlay.layout-main .vp-quadrant.active-vp{border-color:#38bdf859;box-shadow:none}#viewport-headers-overlay.layout-main .vp-hidden-pane{display:none!important}#viewport-headers-overlay.layout-main .vp-header.vp-small{padding:1px 6px;border-radius:6px;background:#0f1117b3;box-shadow:none}#viewport-headers-overlay.layout-main .vp-header.vp-small .vp-header-right,#viewport-headers-overlay.layout-main .vp-header.vp-small .vp-chevron{display:none}#viewport-headers-overlay.layout-main .vp-header.vp-small .vp-title-btn{padding:0}#viewport-headers-overlay.layout-main .vp-header.vp-small .vp-title{font-size:10px;color:var(--text-muted)}#viewport-headers-overlay.layout-main .vp-header.vp-small:hover .vp-title{color:#fff}#side-view-handle{position:absolute;top:50%;z-index:8;padding:0;cursor:ew-resize;touch-action:none;width:20px;height:68px;transform:translate(-50%,-50%);border-radius:10px;background:#121620e0;border:1px solid rgba(255,255,255,.18);color:#cbd5e1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:0 4px 14px #00000080}#side-view-handle:hover{border-color:#4aa8ff99}#side-view-handle[hidden]{display:none}#side-view-handle .svh-grip{width:3px;height:22px;border-radius:2px;background:#ffffff59}#side-view-handle .svh-chev:before{content:"‹";font-size:14px;line-height:1}#side-view-handle.collapsed{transform:translateY(-50%);border-radius:0 10px 10px 0;border-left:0}#side-view-handle.collapsed .svh-chev:before{content:"›"}.layers-panel{position:fixed;z-index:70;left:calc(var(--screen-margin) + env(safe-area-inset-left,0px));top:var(--vp-top);bottom:calc(var(--screen-margin) + env(safe-area-inset-bottom,0px) + 84px);width:min(360px,calc(100vw - 24px));display:flex;flex-direction:column;gap:8px;padding:10px;background:#121620eb;border:1px solid rgba(255,255,255,.12);border-radius:14px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 40px #0000008c;transform:translate(calc(-100% - 30px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .18s ease,visibility .24s}.layers-panel.open{transform:none;opacity:1;visibility:visible;pointer-events:auto}.lp-head{display:flex;align-items:center;gap:6px}.lp-title{flex:1;display:flex;align-items:center;gap:7px;font-weight:700;font-size:14px}.lp-title .cad-icon{width:20px;height:20px}.lp-list{flex:1;min-height:60px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.lp-row{display:flex;align-items:center;gap:3px;padding:3px 4px;border-radius:9px;border:1px solid transparent;background:#ffffff08}.lp-row.active{border-color:#4aa8ff8c;background:#4aa8ff1a}.lp-row.hidden-layer .lp-name{opacity:.45}.lp-dot{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:transparent;cursor:pointer}.lp-row.active .lp-dot{border-color:var(--icon-accent);background:radial-gradient(circle,var(--icon-accent) 0 4px,transparent 5px)}.lp-swatch{position:relative;width:22px;height:22px;flex:none;border-radius:6px;background:var(--sw);box-shadow:inset 0 0 0 1px #ffffff59;cursor:pointer;overflow:hidden}.lp-swatch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}.lp-name{flex:1;min-width:0;height:32px;text-align:left;padding:0 6px;background:transparent;border:0;color:var(--text-main);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.lp-rename{flex:1;min-width:0;height:30px;padding:0 6px;border-radius:6px;border:1px solid var(--icon-accent);background:#0f1420;color:#fff;font-size:13px;-webkit-user-select:text;user-select:text}.lp-count{min-width:22px;text-align:right;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.lp-icon-btn{flex:none;min-width:30px;height:30px;padding:0 4px;border-radius:7px;border:1px solid transparent;background:transparent;color:#cbd5e1;cursor:pointer;display:inline-grid;place-items:center;font-size:15px}.lp-icon-btn .cad-icon{width:18px;height:18px}.lp-icon-btn:hover:not(:disabled){background:#ffffff12}.lp-icon-btn:disabled{opacity:.25;cursor:default}.lp-icon-btn.on{color:#fff;background:#4aa8ff29;border-color:#4aa8ff73}.lp-icon-btn.off{opacity:.6}.lp-icon-btn.danger.confirm{color:#fecaca;background:#ef444438;border-color:#ef4444;font-size:11px;font-weight:700;padding:0 6px}.lp-head .lp-icon-btn{font-size:18px}.lp-wide{width:100%;min-height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--text-main);font-size:12px;cursor:pointer}.lp-wide:disabled{opacity:.5;cursor:default}.lp-material{border-top:1px solid rgba(255,255,255,.1);padding-top:6px}.lp-material summary{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);list-style:none;min-height:30px}.lp-material summary .cad-icon{width:18px;height:18px}.lp-mat-body{display:flex;flex-direction:column;gap:6px;padding:6px 2px 2px}.lp-mat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-main)}.lp-mat-row input[type=range]{flex:1;max-width:190px;accent-color:var(--icon-accent)}.lp-mat-row input[type=color]{width:44px;height:26px;border:0;padding:0;background:transparent;cursor:pointer}:root{--fx-spring: cubic-bezier(.32, 1.42, .6, 1);--fx-out: cubic-bezier(.4, 0, .9, .4);--fx-in-ms: .26s;--fx-out-ms: .18s}.fx-pop{opacity:0;transform:scale(.82) translateY(6px);filter:blur(6px);transform-origin:var(--ox, 50%) var(--oy, 100%);transition:opacity .2s ease,transform var(--fx-in-ms) var(--fx-spring),filter .22s ease;will-change:transform,opacity}.fx-pop.open{opacity:1;transform:none;filter:none}.fx-pop.closing{transition:opacity var(--fx-out-ms) ease,transform var(--fx-out-ms) var(--fx-out),filter var(--fx-out-ms) ease}.fx-pop[hidden]{display:none!important}.fx-pop .fx-item{opacity:0;transform:scale(.72) translateY(5px);transition:opacity .18s ease,transform .28s var(--fx-spring);transition-delay:calc(40ms + var(--i, 0) * 16ms)}.fx-pop.open .fx-item{opacity:1;transform:none}.fx-pop.closing .fx-item{transition-delay:0ms;transition-duration:.12s}.fx-pop .fx-item.fx-instant{transition:none}.fx-anchor-open{border-color:var(--icon-accent)!important;background:#223452d9!important}@media (prefers-reduced-motion: reduce){.fx-pop,.fx-pop.closing,.fx-pop .fx-item{transition:opacity .12s linear!important;transform:none!important;filter:none!important}}.top-floats{position:fixed;z-index:120;top:calc(env(safe-area-inset-top,0px) + 8px);display:flex;align-items:center;gap:6px}#top-floats-left{left:calc(var(--screen-margin) + env(safe-area-inset-left,0px))}#top-floats-right{right:calc(var(--screen-margin) + env(safe-area-inset-right,0px))}.tf-logo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:15px;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b4d}.tf-btn{position:relative;width:36px;height:36px;padding:0;border-radius:11px;cursor:pointer;color:#e6edf7;display:grid;place-items:center;background:#1a1f2c8c;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .15s ease,border-color .15s ease,background .15s ease}.tf-btn .cad-icon{width:20px;height:20px}.tf-btn:hover{border-color:#4aa8ff80}.tf-btn:active{transform:scale(.92)}.tf-btn .tf-dot{position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:#64748b}.tf-btn.on .tf-dot{background:#22c55e;box-shadow:0 0 5px #22c55e}.tf-btn.rec-on .tf-dot{background:#ef4444;box-shadow:0 0 5px #ef4444}.tf-pop{position:fixed;z-index:130;padding:6px;border-radius:14px;color:#e6edf7;background:#121620db;border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 18px 40px #0000008c}.tf-menu-pop{display:flex;gap:6px;max-height:calc(100vh - 80px)}.tf-menu-cats{display:flex;flex-direction:column;gap:2px;padding-right:6px;border-right:1px solid rgba(255,255,255,.08)}.tf-cat{min-width:92px;height:34px;padding:0 10px;text-align:left;border-radius:8px;border:0;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer}.tf-cat:hover{background:#ffffff0f;color:#fff}.tf-cat.on{background:#4aa8ff2e;color:#fff}.tf-menu-items{display:flex;flex-direction:column;gap:1px;min-width:240px;overflow-y:auto}.tf-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:34px;padding:0 10px;border-radius:8px;border:0;background:transparent;color:#e6edf7;font-size:13px;cursor:pointer;text-align:left}.tf-item:hover{background:#4aa8ff24}.tf-item.danger{color:#fca5a5}.tf-item kbd{font:11px/1 -apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-muted)}.tf-item kbd.on{color:#22c55e;font-weight:700}.tf-item .tf-active{font-style:normal;font-size:10px;color:#7cc0ff;margin-left:6px}.tf-div{height:1px;margin:3px 6px;background:#ffffff14}.tf-quick-pop{display:flex;gap:4px;transform-origin:0% 50%;translate:0 -50%}.tf-quick{width:52px;height:50px;border-radius:10px;border:1px solid transparent;background:#ffffff0a;color:#e6edf7;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px}.tf-quick .cad-icon{width:20px;height:20px}.tf-quick:hover:not(:disabled){background:#4aa8ff24;border-color:#4aa8ff59}.tf-quick:disabled{opacity:.35;cursor:default}.tf-quick.danger:not(:disabled){color:#fca5a5}.tf-osnap-pop{display:flex;flex-direction:column;min-width:220px}.hs-pop{width:290px;display:flex;flex-direction:column;gap:2px}.hs-head{display:flex;align-items:baseline;justify-content:space-between;padding:4px 8px 6px;font-size:13px}.hs-head span{font-size:11px;color:var(--text-muted)}.hs-row{display:flex;align-items:center;gap:10px;min-height:46px;padding:4px 8px;border-radius:9px;border:0;background:transparent;color:#e6edf7;cursor:pointer;text-align:left}.hs-row:hover{background:#ffffff0d}.hs-text{flex:1;display:flex;flex-direction:column;gap:2px}.hs-label{font-size:13px;font-weight:600}.hs-desc{font-size:10.5px;color:var(--text-muted);line-height:1.3}.hs-switch{position:relative;flex:none;width:38px;height:22px;border-radius:11px;background:#ffffff2e;transition:background .2s ease}.hs-switch:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .25s var(--fx-spring)}.hs-switch.on{background:#22a35a}.hs-switch.on:after{transform:translate(16px)}.hs-scope{margin:4px 6px 2px;padding:7px 8px;border-radius:8px;background:#4aa8ff14;border:1px solid rgba(74,168,255,.2);font-size:10.5px;line-height:1.4;color:#b8c7da}#app.compact-ui #btn-history-edge-tab,#app.compact-ui #history-edge-panel,#app.compact-ui .layers-panel{display:none!important}#app.compact-ui.ft-docked #cad-viewport-frame,#app.compact-ui.ft-docked.sidebar-collapsed #cad-viewport-frame{right:var(--vp-right)}.ws-panel{position:fixed;z-index:70;right:calc(var(--screen-margin) + env(safe-area-inset-right,0px));top:var(--vp-top);bottom:calc(var(--screen-margin) + env(safe-area-inset-bottom,0px) + 52px);width:var(--ws-w, 232px);display:flex;flex-direction:column;padding:6px 6px 6px 8px;background:#121620e6;border:1px solid rgba(255,255,255,.12);border-radius:14px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 40px #00000080;transform:translate(calc(100% + 24px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.22,1.15,.36,1),opacity .2s ease,visibility .3s;will-change:transform}.ws-panel.open{transform:none;opacity:1;visibility:visible;pointer-events:auto}.ws-panel.resizing{transition:none;-webkit-user-select:none;user-select:none}.ws-resize{position:absolute;left:-4px;top:12px;bottom:12px;width:8px;cursor:ew-resize;touch-action:none}.ws-top{flex:var(--ws-split, .55) 1 0;min-height:70px;display:flex;flex-direction:column}.ws-bottom{flex:calc(1 - var(--ws-split, .55)) 1 0;min-height:60px;display:flex;flex-direction:column;overflow:hidden}.ws-divider{flex:none;height:12px;margin:2px 0;cursor:ns-resize;touch-action:none;display:grid;place-items:center}.ws-divider:before{content:"";width:40px;height:4px;border-radius:2px;background:#ffffff38}.ws-divider:hover:before{background:var(--icon-accent)}.ws-head,.ws-subhead{display:flex;align-items:center;gap:2px;min-height:30px}.ws-title,.ws-subhead>span{flex:1;display:flex;align-items:center;gap:6px;font-weight:700;font-size:12.5px}.ws-subhead{margin-top:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:4px}.ws-subhead>span{font-size:11.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.ws-title .cad-icon,.ws-subhead .cad-icon{width:17px;height:17px}.ws-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-right:2px}.ws-panel .lp-list,.ws-panel .lp-groups{overflow:visible;flex:none}.ws-panel .lp-row{gap:1px;padding:1px 2px 1px calc(2px + var(--depth, 0) * 12px);min-height:32px}.ws-panel .lp-exp{width:16px;height:26px;flex:none;padding:0;border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:grid;place-items:center}.ws-panel .lp-exp.none{visibility:hidden}.ws-panel .lp-exp .cad-icon{width:12px;height:12px;transition:transform .2s ease}.ws-panel .lp-exp.open .cad-icon{transform:rotate(90deg)}.ws-panel .lp-swatch{width:16px;height:16px;border-radius:5px;margin:0 3px}.ws-panel .lp-name{height:28px;padding:0 4px;font-size:12.5px}.ws-panel .lp-auto{font-style:normal;font-size:9px;color:var(--text-muted);margin-left:5px;padding:0 4px;border:1px solid rgba(255,255,255,.14);border-radius:4px}.ws-panel .lp-count{min-width:16px;font-size:10.5px}.ws-panel .lp-icon-btn{min-width:24px;height:26px;padding:0 2px}.ws-panel .lp-icon-btn .cad-icon{width:15px;height:15px}.ws-panel .lp-row.active .lp-name{color:#7cc0ff;font-weight:600}.lp-actions{display:flex;flex-wrap:wrap;gap:4px;padding:4px 4px 6px 22px;animation:lp-in .2s ease}.lp-actions button{height:26px;padding:0 8px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--text-main);font-size:11px;cursor:pointer}.lp-actions button.on{border-color:#4aa8ff8c;background:#4aa8ff29}.lp-actions button.danger{color:#fca5a5}@keyframes lp-in{0%{opacity:0;transform:translateY(-4px)}}.lp-gicon{display:grid;place-items:center;width:18px}.lp-gicon .cad-icon{width:14px;height:14px}.lp-member{display:flex;align-items:center;gap:6px;width:100%;min-height:26px;padding:0 6px 0 34px;border:0;border-radius:6px;background:transparent;color:#cbd5e1;font-size:11.5px;cursor:pointer;text-align:left}.lp-member:hover{background:#ffffff0d}.lp-member i{margin-left:auto;font-style:normal;font-size:9.5px;color:var(--text-muted)}.lp-member-dot{width:8px;height:8px;border-radius:3px;background:var(--sw);flex:none}.lp-empty{font-size:11px;color:var(--text-muted);padding:4px 6px}.ws-panel .lp-wide{margin-top:8px;min-height:30px;font-size:11px}.ws-panel .lp-material{margin-top:6px}.ws-panel .lp-mat-row input[type=range]{max-width:120px}.ws-bottom #feature-tree-panel{display:flex!important;flex-direction:column;flex:1;min-height:0;position:static;width:auto;max-height:none;background:transparent;border:0;box-shadow:none}.ws-bottom #feature-tree-panel .panel-header-row{padding:2px 2px 4px!important}.ws-bottom #btn-ft-pin,.ws-bottom #btn-history-edge-close{display:none!important}.ws-bottom .feature-tree-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}#right-edge-tabs{position:fixed;z-index:71;top:50%;right:calc(env(safe-area-inset-right,0px) + 2px);transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;transition:right .3s cubic-bezier(.22,1.15,.36,1)}#app.ws-open #right-edge-tabs{right:calc(var(--screen-margin) + env(safe-area-inset-right,0px) + var(--ws-w, 232px) + 4px)}.edge-tab{width:24px;height:42px;padding:0;border-radius:9px 0 0 9px;cursor:pointer;color:#e6edf7;background:#161b27c7;border:1px solid rgba(255,255,255,.14);border-right:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center}.edge-tab .cad-icon{width:16px;height:16px}.edge-tab:hover{border-color:#4aa8ff8c}#app.ws-open .edge-tab[data-edge=ws],#app:not(.sidebar-collapsed) .edge-tab[data-edge=props]{background:#223452e6;border-color:var(--icon-accent)}#app.compact-ui #right-inspector{width:268px;top:var(--vp-top);bottom:calc(var(--vp-bottom) + 52px);right:calc(var(--vp-right) + 28px);padding:8px;transition:transform .3s cubic-bezier(.22,1.15,.36,1),opacity .2s ease,visibility .3s}#smart-selection-bar{left:auto;top:auto;right:8px;bottom:8px;transform:none;padding:0;gap:6px;max-width:none;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}#smart-selection-bar>*{pointer-events:auto}#smart-selection-bar .ssb-trigger{position:relative;width:40px;height:40px;min-width:0;min-height:0;padding:0;border-radius:12px;display:grid;place-items:center;color:#e6edf7;cursor:pointer;background:#161b27b3;border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 14px #0006;transition:transform .15s ease,border-color .15s ease}#smart-selection-bar .ssb-trigger:active{transform:scale(.92)}#smart-selection-bar .ssb-trigger .cad-icon{width:20px;height:20px}#smart-selection-bar .ssb-trigger.has-sel{border-color:#f59e0b8c}#smart-selection-bar .ssb-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--gold-accent);color:#111;font-size:10.5px;font-weight:800;line-height:18px;text-align:center}#smart-selection-bar .ssb-count:empty{display:none}#smart-selection-bar .ssb-filter-dot{position:absolute;bottom:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--icon-accent);display:none}#smart-selection-bar .ssb-trigger.filtered .ssb-filter-dot{display:block}#smart-selection-bar .ssb-panel{width:244px;padding:8px;border-radius:14px;color:#e6edf7;background:#121620e6;border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 18px 40px #0000008c}#smart-selection-bar .ssb-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}#smart-selection-bar .ssb-actions button{min-width:0;min-height:48px;height:48px;padding:2px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10.5px;background:#ffffff0a}#smart-selection-bar .ssb-actions .cad-icon{width:20px;height:20px}#smart-selection-bar .ssb-menu-title{display:flex;align-items:center;gap:6px;margin:8px 2px 4px;text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-muted)}#smart-selection-bar .ssb-menu-title .cad-icon{width:15px;height:15px}#smart-selection-bar .ssb-menu-title button{margin-left:auto;min-height:24px;height:24px;min-width:0;padding:0 8px;font-size:11px;border:1px solid rgba(255,255,255,.14)}#smart-selection-bar .ssb-filters{display:grid;grid-template-columns:repeat(2,1fr);gap:0 8px}#smart-selection-bar .ssb-filters label{display:flex;align-items:center;gap:6px;min-height:30px;font-size:12px;cursor:pointer}#smart-selection-bar .ssb-filters input{width:17px;height:17px;accent-color:var(--icon-accent)}#app.compact-ui .perf-hud{right:56px;bottom:8px}.ws-bottom .feature-mode-selector{flex-wrap:wrap;gap:4px}.ws-bottom .feature-mode-dropdown{flex:1;min-width:0;max-width:100%}.ws-bottom .feature-tree-toolbar{padding:2px 0 4px}#app.compact-ui{--float-top: calc(env(safe-area-inset-top, 0px) + 52px) ;--vp-top: 0px;--vp-left: 0px;--vp-right: 0px;--vp-bottom: 0px}#app.compact-ui.command-interface-touch{--vp-top: 0px}#app.compact-ui .cad-viewport-frame{border:0;border-radius:0;box-shadow:none;transition:none}#app.compact-ui.ws-open #cad-viewport-frame{right:calc(var(--ws-w, 232px) + env(safe-area-inset-right,0px) + 12px)!important}#app.compact-ui .vp-hidden-pane{display:none!important}#app.compact-ui #right-inspector{top:var(--float-top);bottom:calc(env(safe-area-inset-bottom,0px) + 70px);right:calc(env(safe-area-inset-right,0px) + 30px)}#app.compact-ui #toast{top:calc(var(--float-top) + 6px)}#app.compact-ui .compact-instruction-banner{top:var(--float-top)}#app.compact-ui .ws-panel{top:calc(env(safe-area-inset-top,0px) + 8px);bottom:calc(env(safe-area-inset-bottom,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 6px)}#app.compact-ui.ws-open #right-edge-tabs{right:calc(var(--ws-w, 232px) + env(safe-area-inset-right,0px) + 14px)}#app.compact-ui #cad-dock{background:transparent;border:0;box-shadow:none}#app.compact-ui .ws-panel{top:var(--float-top)}#app.compact-ui #cad-command-strip{transition:opacity .18s ease,translate .22s var(--fx-spring)}#app.compact-ui.cmd-idle #cad-command-strip{opacity:0;translate:0 -10px;pointer-events:none}.tf-btn .tf-dot-rec{top:auto;bottom:5px}.tf-btn.rec-on .tf-dot-rec{background:#ef4444;box-shadow:0 0 5px #ef4444}.tf-btn:not(.rec-on) .tf-dot-rec{display:none}.tf-btn.rec-on:not(.on) .tf-dot:not(.tf-dot-rec){background:#64748b;box-shadow:none}.tf-item kbd.rec{color:#f87171;font-weight:700}.ts-pop{width:min(340px,calc(100vw - 16px));padding:6px;display:flex;flex-direction:column;gap:4px}.ts-field{display:flex;align-items:center;gap:6px;height:40px;padding:0 6px 0 10px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(74,168,255,.45)}.ts-field .cad-icon{width:18px;height:18px;flex:none}.ts-input{flex:1;min-width:0;height:100%;border:0;outline:none;background:transparent;color:#fff;font-size:15px;user-select:text;-webkit-user-select:text}.ts-input::placeholder{color:#7b8798}.ts-clear{width:28px;height:28px;border-radius:7px;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.ts-results{max-height:min(360px,calc(100vh - 140px));overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:1px}.ts-section{padding:4px 8px 2px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.ts-row{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:9px;cursor:pointer;color:#e6edf7}.ts-row .cad-icon{width:22px;height:22px;flex:none}.ts-row.hl{background:#4aa8ff2e}.ts-row.off{opacity:.45}.ts-name{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-meta{font-size:11px;color:var(--text-muted)}.ts-empty{padding:12px;font-size:12.5px;color:var(--text-muted)}.abc-kb{padding:6px;display:flex;flex-direction:column;gap:5px;touch-action:manipulation}.abc-row{display:flex;justify-content:center;gap:4px}.abc-key{width:34px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff14;color:#f1f5f9;font-size:15px;font-weight:600;cursor:pointer;padding:0;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.abc-key:active{background:#4aa8ff59;transform:scale(.94)}.abc-wide{width:52px;font-size:16px}.abc-space{width:196px;font-size:12px;font-weight:500;color:var(--text-muted)}.abc-enter{width:64px;background:#4aa8ff4d;border-color:#4aa8ff99;font-size:18px}@media (max-width: 700px){.abc-key{width:29px}.abc-space{width:150px}}.tf-btn.on .tf-dot:not(.tf-dot-rec){background:#22c55e;box-shadow:0 0 5px #22c55e}.hs-mode{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px}.hs-seg{display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:#0000004d;border:1px solid rgba(255,255,255,.1)}.hs-seg button{height:28px;min-width:52px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.hs-seg button.on{background:#1d8cf8;color:#fff}.hs-pop{max-height:calc(100vh - 70px);overflow-y:auto}.ws-bottom .feature-tree-item{margin:1px 0;border-radius:8px}.ws-bottom .feature-item-header{display:flex;align-items:center;gap:4px;min-height:32px;padding:2px 4px}.ws-bottom .feature-item-icon{flex:none;width:18px;display:grid;place-items:center;font-size:13px}.ws-bottom .feature-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.ws-bottom .feature-item-actions{flex:none;display:flex;align-items:center;gap:1px}.ws-bottom .feature-item-btn{width:24px;height:24px;min-width:0;padding:0;font-size:12px;border-radius:6px}.ws-bottom .feature-tree-item:not(.selected):not(:hover):not(:focus-within) .feature-item-btn{display:none}.ws-bottom .feature-status-dot{flex:none;margin:0 4px}.ws-bottom .feature-tree-item.selected{background:#4aa8ff1f}.ws-bottom .feature-tree-item-details{padding-left:18px}.ws-bottom .feature-param-row{flex-wrap:wrap;gap:4px}.ws-bottom .feature-param-input{max-width:90px}.ws-bottom .feature-tree-item.selected .feature-item-header{flex-wrap:wrap}.ws-bottom .feature-tree-item.selected .feature-item-actions{flex-basis:100%;justify-content:flex-end;padding:2px 0 2px 22px}#cad-dock,#cad-dock.fx-anchor-open{background:transparent!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#floating-delete{position:absolute;z-index:40;right:8px;bottom:58px;width:40px;height:40px;padding:0;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:#fca5a5;background:#161b27b3;border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 14px #0006;touch-action:manipulation;transition:transform .15s ease,opacity .15s ease,border-color .15s ease}#floating-delete:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}#floating-delete .cad-icon{width:20px;height:20px}#floating-delete .cad-icon .a{stroke:#f87171}#floating-delete:hover:not(:disabled){border-color:#f8717199}#floating-delete:active:not(:disabled){transform:scale(.92)}#floating-delete:disabled{opacity:.38;cursor:default;color:#94a3b8}#floating-delete:disabled .cad-icon .a{stroke:#94a3b8}.pt-panel{position:fixed;z-index:125;width:min(300px,calc(100vw - 20px));max-height:calc(100vh - 150px);overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:7px;font-size:12.5px}.pt-panel[hidden]{display:none!important}.pt-panel .pt-warn{color:#fbbf24}.pt-panel{right:calc(var(--screen-margin, 10px) + env(safe-area-inset-right,0px) + 26px);top:calc(env(safe-area-inset-top,0px) + 210px);max-height:calc(100vh - env(safe-area-inset-top,0px) - 322px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 322px)}#app.ws-open .pt-panel{right:calc(var(--ws-w, 232px) + env(safe-area-inset-right,0px) + 46px)}.pt-panel.tf-pop{opacity:1;transform:none;filter:none}.pt-head{display:flex;align-items:center;gap:7px}.pt-head .cad-icon{width:20px;height:20px}.pt-head strong{font-size:14px}.pt-status{margin-left:auto;font-size:10.5px;color:var(--text-muted);text-align:right}.pt-x{margin-left:auto;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}.pt-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.pt-num{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted)}.pt-num input{width:68px;height:30px;padding:0 6px;border-radius:7px;border:1px solid rgba(255,255,255,.16);background:#0000004d;color:#fff;font-size:13px;user-select:text;-webkit-user-select:text}.pt-panel select{height:30px;flex:1;min-width:0;border-radius:7px;border:1px solid rgba(255,255,255,.16);background:#0000004d;color:#fff}.pt-seg{display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:#0000004d;border:1px solid rgba(255,255,255,.1)}.pt-seg-wrap{flex-wrap:wrap}.pt-seg button{height:28px;min-width:34px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font-size:11.5px;font-weight:600;cursor:pointer}.pt-seg button.on{background:#1d8cf8;color:#fff}.pt-checks{flex-wrap:wrap;justify-content:flex-start;gap:4px 12px}.pt-checks label,.pt-row label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.pt-checks input,.pt-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--icon-accent)}.pt-hint{margin:0;font-size:11px;line-height:1.4;color:var(--text-muted)}.pt-card{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.pt-card>button,.pt-row>button,.pt-actions button{min-height:32px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#e6edf7;font-size:12px;cursor:pointer}.pt-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.pt-actions .primary{background:#1d8cf8;border-color:#1d8cf8;color:#fff;font-weight:700}.pt-panel button:disabled{opacity:.4;cursor:default}.pt-handle{position:absolute;z-index:45;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;border-radius:50%;background:#38bdf8e6;border:2px solid #fff;box-shadow:0 2px 10px #00000080;cursor:grab;touch-action:none}.pt-handle[hidden]{display:none}.pt-handle:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%}.pt-handle:after{content:attr(data-label);position:absolute;left:50%;top:-30px;transform:translate(-50%);white-space:nowrap;padding:3px 8px;border-radius:8px;background:#0a0e16eb;color:#fff;font:600 12px -apple-system,BlinkMacSystemFont,sans-serif;pointer-events:none}.pt-handle.dragging{cursor:grabbing;transform:scale(1.12)}.pt-dim-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.pt-dim-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;padding:2px 7px;border-radius:6px;border:1px solid rgba(251,191,36,.6);background:#0a0e16d9;color:#fde68a;font:600 11.5px -apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap;cursor:pointer}.pt-dim-label.on{border-color:#fff;color:#fff}.pt-sd{border-color:#94a3b88c;color:#e2e8f0}.pt-sd.driving{border-color:#38bdf8;color:#bae6fd}.pt-sd-input{position:absolute;transform:translate(-50%,-50%);width:86px;height:32px;padding:0 6px;border-radius:7px;border:2px solid #38bdf8;background:#0b1220;color:#fff;font:600 13px -apple-system,BlinkMacSystemFont,sans-serif;pointer-events:auto;z-index:31;user-select:text;-webkit-user-select:text}.pt-panel>button{min-height:32px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#e6edf7;font-size:12px;cursor:pointer}.dock-pop{z-index:95}#app:has(.dock-pop.open) .touch-curve-actions{visibility:hidden;pointer-events:none}.viewport-navigation{position:absolute;pointer-events:none;z-index:101;overflow:hidden}.viewport-navigation[hidden]{display:none}.viewport-axis-triad{position:absolute;left:10px;bottom:10px;width:96px;height:96px;background:transparent;border-radius:50%}.viewport-axis-triad text{font:700 14px system-ui,sans-serif;paint-order:stroke;stroke:#10151d;stroke-width:3px}.viewport-cube-panel{position:absolute;top:40px;right:10px;width:132px;transform:scale(.8);transform-origin:top right;border-radius:6px;background:transparent;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.viewport-viewcube{display:block;width:132px;height:116px;overflow:visible;filter:drop-shadow(0 3px 4px #0009)}.viewcube-face{cursor:pointer;outline:none}.viewcube-face polygon{stroke:#aabbd0;stroke-width:1.2;stroke-linejoin:round}.viewcube-face:hover polygon,.viewcube-face:focus polygon{fill:#25678d;stroke:#73daff;stroke-width:2}.viewcube-face text{fill:#f4f7fb;font:700 11.5px system-ui,sans-serif;pointer-events:none}.viewport-cube-home{position:absolute;top:-30px;right:0;width:30px;height:30px;color:#e5edf8;background:#1c2533e8;border:1px solid #48576b;border-radius:5px;cursor:pointer;font-size:22px}.viewport-cube-panel select{display:block;width:100%;height:28px;color:#e5edf8;background:#1c2533e8;border:1px solid #48576b;border-radius:5px;font:12px system-ui,sans-serif;cursor:pointer;padding:2px 8px}@media (max-width: 768px){.viewport-axis-triad{width:76px;height:76px;left:6px;bottom:6px}.viewport-cube-panel{transform:scale(.68);transform-origin:top right;right:6px}}
