@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #FFD700;--color-primary-light: #FFE44D;--color-primary-dark: #E6C200;--color-accent: #00D4FF;--color-accent-secondary: #FF6B35;--color-bg-dark: #0a0a0f;--color-bg-primary: #12121a;--color-bg-secondary: #1a1a25;--color-bg-tertiary: #22222f;--color-bg-card: #2a2a3a;--color-bg-hover: #32324a;--color-border: #3a3a50;--color-border-light: #4a4a65;--color-surface: rgba(255, 255, 255, .03);--color-glass: rgba(255, 255, 255, .05);--color-text: #ffffff;--color-text-secondary: #b0b0c0;--color-text-muted: #707085;--color-text-disabled: #505065;--color-success: #00E676;--color-warning: #FFB300;--color-error: #FF5252;--color-info: #40C4FF;--gradient-primary: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);--gradient-accent: linear-gradient(135deg, #00D4FF 0%, #0099FF 100%);--gradient-dark: linear-gradient(180deg, #12121a 0%, #0a0a0f 100%);--gradient-card: linear-gradient(145deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%);--gradient-glow: radial-gradient(circle at 50% 0%, rgba(255, 215, 0, .15) 0%, transparent 50%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px rgba(255, 215, 0, .3);--shadow-accent: 0 0 20px rgba(0, 212, 255, .3);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--color-bg-dark);color:var(--color-text);min-height:100vh;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}::selection{background:var(--color-primary);color:#000}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--gradient-dark)}.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-md) var(--space-xl);background:#0a0a0fcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;transition:var(--transition-normal)}.header.scrolled{padding:var(--space-sm) var(--space-xl);background:#0a0a0ff2}.logo{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;text-decoration:none}.logo-icon{width:48px;height:48px;filter:drop-shadow(0 0 12px rgba(255,215,0,.6));transition:transform .3s ease}.logo:hover .logo-icon{transform:scale(1.05) rotate(-5deg)}.logo-text-group{display:flex;align-items:baseline;gap:0}.logo-text{font-size:22px;font-weight:800;letter-spacing:-.5px;color:var(--color-text)}.logo-highlight{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-domain{font-size:14px;font-weight:600;color:var(--color-text-muted);margin-left:1px}.logo-badge{font-size:9px;font-weight:700;padding:3px 8px;background:linear-gradient(135deg,#00d4ff,#09f);color:#fff;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.8px;box-shadow:0 2px 10px #00d4ff66;animation:badgePulse 3s infinite}@keyframes badgePulse{0%,to{box-shadow:0 2px 10px #00d4ff66}50%{box-shadow:0 2px 20px #00d4ff99}}.nav{display:flex;align-items:center;gap:var(--space-lg)}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-size:14px;font-weight:500;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:var(--transition-fast);display:flex;align-items:center;gap:var(--space-sm)}.nav-link:hover{color:var(--color-text);background:var(--color-glass)}.nav-link.active{color:var(--color-primary)}.nav-cta{padding:var(--space-sm) var(--space-lg);background:var(--gradient-primary);color:#000;font-weight:600;border-radius:var(--radius-full);box-shadow:var(--shadow-glow);transition:var(--transition-fast)}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 0 40px #ffd70080}.main-content{flex:1;display:flex;flex-direction:column;padding-top:76px}.hero{position:relative;padding:var(--space-3xl) var(--space-xl);text-align:center;background:var(--gradient-dark);overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;height:100%;background:var(--gradient-glow);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:900px;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-glass);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--space-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-badge-icon{font-size:16px}.hero-title{font-size:clamp(36px,6vw,64px);font-weight:900;line-height:1.1;margin-bottom:var(--space-lg);letter-spacing:-1px}.hero-title-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle-main{font-size:clamp(18px,2.5vw,26px);font-weight:500;color:var(--color-text);margin:0 auto var(--space-md);opacity:.9}.hero-subtitle{font-size:clamp(14px,1.8vw,17px);color:var(--color-text-secondary);max-width:650px;margin:0 auto var(--space-lg);line-height:1.7}.hero-subtitle strong{color:var(--color-primary)}.hero-features{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.hero-feature{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#ffd70014;border:1px solid rgba(255,215,0,.2);border-radius:var(--radius-full);font-size:13px;font-weight:500;color:var(--color-text);transition:all .2s}.hero-feature:hover{background:#ffd70026;border-color:#ffd70066;transform:translateY(-2px)}.feature-icon{font-size:16px}.hero-stats{display:flex;justify-content:center;gap:var(--space-2xl);margin-top:var(--space-2xl)}.hero-stat{text-align:center}.hero-stat-value{font-size:32px;font-weight:800;color:var(--color-primary)}.hero-stat-label{font-size:13px;color:var(--color-text-muted);margin-top:var(--space-xs)}.upload-section{padding:var(--space-2xl) var(--space-xl);display:flex;justify-content:center}.upload-container{width:100%;max-width:700px}.upload-zone{position:relative;padding:var(--space-3xl);background:var(--gradient-card);border:2px dashed var(--color-border);border-radius:var(--radius-xl);text-align:center;cursor:pointer;transition:var(--transition-normal);overflow:hidden}.upload-zone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(255,215,0,.05) 0%,transparent 70%);opacity:0;transition:var(--transition-normal)}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-primary);background:#ffd70008;transform:translateY(-4px);box-shadow:var(--shadow-glow)}.upload-zone:hover:before,.upload-zone.drag-over:before{opacity:1}.upload-icon-wrapper{position:relative;width:100px;height:100px;margin:0 auto var(--space-lg);display:flex;align-items:center;justify-content:center}.upload-icon-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-primary);border-radius:var(--radius-lg);opacity:.15;transform:rotate(-6deg)}.upload-icon{position:relative;font-size:48px;z-index:1}.upload-title{font-size:24px;font-weight:700;margin-bottom:var(--space-sm)}.upload-subtitle{color:var(--color-text-secondary);font-size:15px;margin-bottom:var(--space-lg)}.upload-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--gradient-primary);color:#000;font-size:16px;font-weight:700;border:none;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-glow)}.upload-btn:hover{transform:scale(1.05);box-shadow:0 0 50px #ffd70080}.upload-formats{margin-top:var(--space-xl);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.format-badge{padding:var(--space-xs) var(--space-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.format-badge.primary{background:#ffd70026;border-color:var(--color-primary);color:var(--color-primary)}.features{padding:var(--space-3xl) var(--space-xl);background:var(--color-bg-secondary)}.section-header{text-align:center;margin-bottom:var(--space-2xl)}.section-title{font-size:clamp(28px,4vw,40px);font-weight:800;margin-bottom:var(--space-md)}.section-subtitle{font-size:16px;color:var(--color-text-secondary);max-width:500px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg);max-width:1200px;margin:0 auto}.feature-card{position:relative;padding:var(--space-xl);background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--transition-normal);overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:var(--transition-normal)}.feature-card:hover{border-color:var(--color-border-light);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-card:hover:before{transform:scaleX(1)}.feature-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:28px;margin-bottom:var(--space-md)}.feature-title{font-size:18px;font-weight:700;margin-bottom:var(--space-sm)}.feature-desc{font-size:14px;color:var(--color-text-secondary);line-height:1.7}.formats-section{padding:var(--space-3xl) var(--space-xl)}.formats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md);max-width:900px;margin:0 auto}.format-card{padding:var(--space-lg);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;transition:var(--transition-fast)}.format-card:hover{border-color:var(--color-primary);background:#ffd7000d}.format-card-icon{font-size:32px;margin-bottom:var(--space-sm)}.format-card-name{font-size:16px;font-weight:700;margin-bottom:var(--space-xs)}.format-card-desc{font-size:12px;color:var(--color-text-muted)}.viewer-section{flex:1;display:flex;flex-direction:column;min-height:calc(100vh - 76px)}.viewer-header{padding:var(--space-md) var(--space-xl);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.file-info{display:flex;align-items:center;gap:var(--space-md)}.file-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:24px}.file-details{display:flex;flex-direction:column}.file-name{font-size:16px;font-weight:600;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{display:flex;align-items:center;gap:var(--space-md);font-size:13px;color:var(--color-text-muted)}.file-meta-item{display:flex;align-items:center;gap:var(--space-xs)}.viewer-actions{display:flex;gap:var(--space-sm)}.action-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:var(--transition-fast)}.action-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-light)}.action-btn.primary{background:var(--gradient-primary);color:#000;border:none;font-weight:600}.action-btn.primary:hover{box-shadow:var(--shadow-glow)}.canvas-container{flex:1;position:relative;background:var(--color-bg-primary);min-height:500px}#stl-canvas{width:100%;height:100%;display:block}.controls-overlay{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);display:flex;gap:var(--space-sm);padding:var(--space-sm);background:#0a0a0fe6;border:1px solid var(--color-border);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.control-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);font-size:20px;cursor:pointer;transition:var(--transition-fast)}.control-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-light)}.control-btn.active{background:var(--color-primary);color:#000;border-color:var(--color-primary)}.control-btn svg{width:20px;height:20px}.hint-tooltip{position:absolute;bottom:100px;left:50%;transform:translate(-50%);padding:var(--space-sm) var(--space-md);background:#0a0a0fe6;border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:13px;color:var(--color-text-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;pointer-events:none;animation:fadeInUp .5s ease}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#0a0a0ff2;z-index:100}.spinner{width:56px;height:56px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:var(--space-md);font-size:15px;color:var(--color-text-secondary)}.loading-progress{margin-top:var(--space-sm);font-size:13px;color:var(--color-primary);font-weight:600}.settings-panel{position:absolute;top:var(--space-lg);right:var(--space-lg);width:320px;background:#0a0a0ff2;border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.settings-header{padding:var(--space-md) var(--space-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.settings-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-secondary)}.settings-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast)}.settings-close:hover{background:var(--color-bg-hover);color:var(--color-text)}.settings-body{padding:var(--space-lg)}.setting-group{margin-bottom:var(--space-lg)}.setting-group:last-child{margin-bottom:0}.setting-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.5px}.color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-sm)}.color-btn{width:100%;aspect-ratio:1;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:var(--transition-fast);position:relative}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:var(--color-text);box-shadow:0 0 10px currentColor}.color-btn.active:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#000}.toggle-group{display:flex;gap:var(--space-sm)}.toggle-btn{flex:1;padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition-fast)}.toggle-btn:hover{background:var(--color-bg-hover)}.toggle-btn.active{background:var(--color-primary);color:#000;border-color:var(--color-primary);font-weight:600}.info-panel{position:absolute;top:var(--space-lg);left:var(--space-lg);min-width:200px;background:#0a0a0fe6;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.info-panel-title{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.info-panel-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0;font-size:13px}.info-panel-label{color:var(--color-text-muted)}.info-panel-value{font-weight:600;color:var(--color-text)}.footer{padding:var(--space-2xl) var(--space-xl);background:linear-gradient(180deg,var(--color-bg-secondary) 0%,#0a0a12 100%);border-top:1px solid var(--color-border);text-align:center}.footer-content{max-width:800px;margin:0 auto}.footer-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:var(--space-lg)}.footer-logo{font-size:24px;font-weight:800;color:var(--color-text)}.footer-highlight{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-tagline{font-size:13px;color:var(--color-text-muted)}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:var(--space-lg);font-size:12px;color:var(--color-text-secondary)}.footer-copyright{color:var(--color-text-muted);font-size:12px}.footer-text a{color:var(--color-primary);text-decoration:none;font-weight:500}.footer-text a:hover{text-decoration:underline}.cad-container{display:flex;flex:1;min-height:calc(100vh - 76px);position:relative;background:var(--color-bg-primary)}.cad-canvas{flex:1;position:relative;min-height:100%}.cad-canvas canvas{display:block}.cad-canvas.measure-mode{cursor:crosshair!important}.cad-canvas.measure-mode canvas{cursor:crosshair!important}.cad-panel{background:#0a0a0ff2;border:1px solid var(--color-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;z-index:100}.cad-panel-left{width:280px;border-right:1px solid var(--color-border);border-left:none}.cad-panel-right{position:absolute;top:60px;right:var(--space-md);width:300px;max-height:calc(100% - 120px);border-radius:var(--radius-lg);overflow:hidden}.cad-panel-measure{position:absolute;bottom:80px;right:var(--space-md);width:250px;border-radius:var(--radius-lg);overflow:hidden}.panel-header{padding:var(--space-md);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.panel-title{font-size:13px;font-weight:600;color:var(--color-text)}.panel-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast)}.panel-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.panel-body{flex:1;overflow-y:auto;padding:var(--space-sm)}.model-item{padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);cursor:pointer;transition:var(--transition-fast)}.model-item:hover{border-color:var(--color-border-light);background:var(--color-bg-hover)}.model-item.selected{border-color:var(--color-primary);background:#ffd7001a}.model-item-header{display:flex;align-items:center;gap:var(--space-sm)}.model-visibility{background:none;border:none;cursor:pointer;font-size:14px;padding:2px}.model-name{flex:1;font-size:13px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-delete{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);font-size:12px;transition:var(--transition-fast)}.model-delete:hover{background:var(--color-error);color:#fff}.model-item-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);font-size:11px;color:var(--color-text-muted)}.model-color-dot{width:10px;height:10px;border-radius:50%}.add-model-btn{width:100%;padding:var(--space-md);background:var(--color-bg-tertiary);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:var(--transition-fast);margin-top:var(--space-sm)}.add-model-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#ffd7000d}.cad-toolbar{position:absolute;display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:#0a0a0ff2;border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50}.cad-toolbar-top{top:var(--space-md);left:50%;transform:translate(-50%)}.toolbar-btn{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:14px;cursor:pointer;transition:var(--transition-fast)}.toolbar-btn.with-label{flex-direction:column;height:auto;padding:6px 10px;gap:2px}.toolbar-btn .btn-icon{font-size:16px;line-height:1}.toolbar-btn .btn-label{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;opacity:.8;white-space:nowrap}.toolbar-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-light)}.toolbar-btn:hover .btn-label{opacity:1}.toolbar-btn.active{background:var(--color-primary);color:#000;border-color:var(--color-primary)}.toolbar-btn.active .btn-label{opacity:1}.toolbar-divider{width:1px;height:36px;background:var(--color-border);margin:0 var(--space-xs)}.measure-indicator{position:absolute;top:70px;left:50%;transform:translate(-50%);padding:var(--space-md) var(--space-xl);background:#ffd700f2;border:2px solid var(--color-primary);border-radius:var(--radius-full);font-size:14px;font-weight:600;color:#000;z-index:50;box-shadow:0 4px 20px #ffd70066;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 4px 20px #ffd70066}50%{box-shadow:0 4px 30px #ffd700b3}}.property-section{padding:var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.property-section-title{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md)}.property-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0;font-size:12px}.property-label{color:var(--color-text-muted)}.property-value{color:var(--color-text);font-weight:500;text-align:right;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transform-group{margin-bottom:var(--space-md)}.transform-label{font-size:11px;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.transform-inputs{display:flex;gap:var(--space-sm)}.transform-input{flex:1;display:flex;flex-direction:column;gap:4px}.transform-input span{font-size:10px;color:var(--color-text-muted);text-align:center}.transform-input input{width:100%;padding:var(--space-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:12px;text-align:center}.transform-input input:focus{outline:none;border-color:var(--color-primary)}.opacity-slider{width:100%;height:6px;-webkit-appearance:none;background:var(--color-bg-secondary);border-radius:var(--radius-full);outline:none}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer}.cad-panel-measure{max-height:70vh;overflow-y:auto}.auto-measurements{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.auto-measure-title{font-size:12px;font-weight:600;color:var(--color-primary);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-xs)}.measure-active{color:var(--color-success);font-size:10px}.auto-measure-model{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--space-sm);margin-bottom:var(--space-sm)}.auto-measure-name{font-size:11px;color:var(--color-text-secondary);margin-bottom:var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auto-measure-grid{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xs)}.auto-measure-item{flex:1;background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);text-align:center}.auto-measure-label{font-size:10px;color:var(--color-text-muted);display:block}.auto-measure-value{font-size:12px;font-weight:600;color:var(--color-text)}.auto-measure-extra{display:flex;justify-content:space-between;font-size:10px;color:var(--color-text-muted)}.manual-measurements{padding-top:var(--space-sm)}.measure-instructions{background:#ffd7001a;border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.measure-instructions p{font-size:12px;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.measure-status{font-weight:600;color:var(--color-primary)!important}.start-measure-btn{width:100%;padding:var(--space-md);background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:#000;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition-fast)}.start-measure-btn:hover{box-shadow:var(--shadow-glow)}.cancel-measure-btn{width:100%;padding:var(--space-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:12px;cursor:pointer;margin-top:var(--space-sm);transition:var(--transition-fast)}.cancel-measure-btn:hover{border-color:var(--color-error);color:var(--color-error)}.measurements-results{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.1)}.measurements-title{font-size:12px;font-weight:600;color:var(--color-primary);margin-bottom:var(--space-sm)}.measurements-list{display:flex;flex-direction:column;gap:8px}.measurement-item-detailed{background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:var(--radius-md);padding:var(--space-sm)}.measurement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.measurement-index{color:var(--color-primary);font-size:11px;font-weight:500}.measurement-distance{font-size:16px;font-weight:700;color:#0f8}.measurement-coords{display:flex;flex-direction:column;gap:4px}.coord-point{display:flex;gap:6px;font-size:10px}.coord-label{color:#fa0;font-weight:600;min-width:24px}.coord-value{color:#ffffffb3;font-family:monospace}.measure-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin:var(--space-md) 0}.measure-step{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-sm);background:#ffffff0d;border-radius:var(--radius-md);border:2px solid transparent;min-width:70px}.measure-step.active{border-color:var(--color-primary);background:#ffd7001a}.measure-step.done{border-color:#0f8;background:#00ff881a}.step-num{width:20px;height:20px;border-radius:50%;background:var(--color-primary);color:#000;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.measure-step.done .step-num{background:#0f8}.step-text{font-size:10px;color:#ffffffb3}.measure-arrow{color:var(--color-primary);font-size:16px}.selected-point-info{background:#fa03;border:1px solid rgba(255,170,0,.5);border-radius:var(--radius-sm);padding:6px 10px;font-size:11px;font-family:monospace;color:#fa0;text-align:center;margin-bottom:var(--space-sm)}.clear-measurements-btn{width:100%;padding:var(--space-sm);background:#ff525226;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:12px;cursor:pointer;transition:var(--transition-fast);margin-top:var(--space-sm)}.clear-measurements-btn:hover{background:var(--color-error);color:#fff}.nav-info{color:var(--color-text-secondary);font-size:13px;padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}@media(max-width:768px){.header{padding:var(--space-md)}.nav{display:none}.hero{padding:var(--space-2xl) var(--space-md)}.hero-stats{gap:var(--space-lg)}.upload-zone{padding:var(--space-xl)}.viewer-header{padding:var(--space-md)}.file-name{max-width:150px}.settings-panel{width:calc(100% - var(--space-xl) * 2);right:var(--space-md);left:var(--space-md)}.info-panel{display:none}.controls-overlay{bottom:var(--space-md)}.control-btn{width:44px;height:44px}.cad-panel-left{position:absolute;left:0;top:0;bottom:0;z-index:200;width:260px}.cad-panel-right{width:calc(100% - var(--space-xl));right:var(--space-md);left:var(--space-md)}.cad-toolbar-top{top:var(--space-sm);left:var(--space-sm);right:var(--space-sm);transform:none;overflow-x:auto;justify-content:flex-start}}.measure-indicator{position:absolute;top:70px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:14px 28px;background:linear-gradient(135deg,#00c864f2,#009650f2);border:2px solid #00ff88;border-radius:50px;font-size:14px;font-weight:600;color:#fff;z-index:100;box-shadow:0 4px 30px #0f86;animation:measurePulse 2s infinite;pointer-events:none}.measure-indicator.edge-mode{background:linear-gradient(135deg,#ffb400f2,#c87800f2);border-color:#fc0;box-shadow:0 4px 30px #ffc80066}.measure-icon{font-size:20px}.measure-text{text-shadow:0 1px 2px rgba(0,0,0,.3)}.measure-point-selected{background:#0000004d;padding:4px 10px;border-radius:20px;font-size:12px;color:#0f8;border:1px solid rgba(0,255,136,.5)}@keyframes measurePulse{0%,to{box-shadow:0 4px 30px #0f86;transform:translate(-50%) scale(1)}50%{box-shadow:0 4px 40px #0f89;transform:translate(-50%) scale(1.02)}}.measure-modes{display:flex;flex-direction:column;gap:8px}.measure-mode-btn{display:flex;flex-direction:column;align-items:center;padding:var(--space-md);border-radius:var(--radius-lg);border:2px solid transparent;cursor:pointer;transition:all .2s}.measure-mode-btn.edge-mode{background:linear-gradient(135deg,#ffb40026,#c878001a);border-color:#ffb40066}.measure-mode-btn.edge-mode:hover{background:linear-gradient(135deg,#ffb40040,#c8780033);border-color:#fc0}.measure-mode-btn.point-mode{background:linear-gradient(135deg,#00c86426,#0096501a);border-color:#0f86}.measure-mode-btn.point-mode:hover{background:linear-gradient(135deg,#00c86440,#00965033);border-color:#0f8}.mode-icon{font-size:24px;margin-bottom:4px}.mode-text{font-size:13px;font-weight:600;color:var(--color-text)}.mode-desc{font-size:10px;color:var(--color-text-muted);margin-top:2px}.mode-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;margin-bottom:var(--space-sm)}.mode-badge.edge{background:linear-gradient(135deg,#ffb4004d,#c8780033);color:#fc0;border:1px solid rgba(255,180,0,.5)}.mode-badge.point{background:linear-gradient(135deg,#00c8644d,#00965033);color:#0f8;border:1px solid rgba(0,255,136,.5)}.measure-instructions .hint{font-size:11px;color:var(--color-text-muted);font-style:italic}.measurement-item-detailed.edge-type{border-color:#ffb40066;background:#ffb4001a}.measurement-item-detailed.point-type{border-color:#0f86;background:#00ff881a}.technical-drawing-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center}.td-modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.td-modal-content{position:relative;width:90%;max-width:700px;max-height:90vh;background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid rgba(255,215,0,.3);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 40px #ffd7001a}.td-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);background:linear-gradient(90deg,rgba(255,215,0,.15) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.1)}.td-modal-header h2{font-size:20px;font-weight:700;color:var(--color-text);margin:0}.td-close-btn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:var(--color-text);font-size:18px;cursor:pointer;transition:all .2s}.td-close-btn:hover{background:#ff525233;border-color:var(--color-error);color:var(--color-error)}.td-modal-body{padding:var(--space-xl);max-height:60vh;overflow-y:auto}.td-info-section,.td-export-section,.td-preview-section{margin-bottom:var(--space-xl)}.td-info-section h3,.td-export-section h3,.td-preview-section h3{font-size:14px;font-weight:600;color:var(--color-primary);margin-bottom:var(--space-md)}.td-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.td-info-item{background:#ffffff08;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05)}.td-info-label{display:block;font-size:11px;color:var(--color-text-muted);margin-bottom:4px}.td-info-value{font-size:14px;font-weight:600;color:var(--color-text)}.td-export-options{display:flex;flex-direction:column;gap:var(--space-md)}.td-export-card{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:#ffffff08;border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s}.td-export-card:hover{background:#ffffff0f;border-color:#ffd7004d}.td-export-card.selected{background:linear-gradient(135deg,#ffd7001a,#ffa5000d);border-color:var(--color-primary)}.td-export-icon{font-size:32px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#ffd7001a;border-radius:var(--radius-md)}.td-export-info h4{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 4px}.td-export-info p{font-size:12px;color:var(--color-text-muted);margin:0}.td-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.td-preview-item{aspect-ratio:1;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.td-preview-label{font-size:11px;color:var(--color-text-muted);font-weight:500}.td-modal-footer{display:flex;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);background:#0003;border-top:1px solid rgba(255,255,255,.1)}.td-cancel-btn{flex:1;padding:var(--space-md) var(--space-lg);background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.td-cancel-btn:hover{background:#ffffff0d;border-color:#ffffff4d}.td-export-btn{flex:2;padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--color-primary) 0%,#FFA500 100%);border:none;border-radius:var(--radius-md);color:#000;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.td-export-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #ffd70066}.td-export-btn:disabled{opacity:.7;cursor:not-allowed}.toolbar-btn.export-btn{background:linear-gradient(135deg,#ffd70033,#ffa5001a);border-color:#ffd70066}.toolbar-btn.export-btn:hover{background:linear-gradient(135deg,#ffd7004d,#ffa50033);border-color:var(--color-primary)}.language-selector{position:relative;z-index:200}.language-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:13px;cursor:pointer;transition:all .2s}.language-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-light)}.lang-flag{font-size:16px}.lang-code{font-weight:600;font-size:11px}.lang-arrow{font-size:8px;opacity:.6}.language-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:200px;max-height:400px;overflow-y:auto;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0006;animation:dropdownFade .2s ease}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.language-dropdown-header{padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.language-list{padding:8px}.language-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);font-size:14px;text-align:left;cursor:pointer;transition:all .15s}.language-option:hover{background:var(--color-bg-hover)}.language-option.active{background:#ffd7001a;color:var(--color-primary)}.lang-native{flex:1}.lang-check{color:var(--color-primary);font-weight:700}[dir=rtl] .language-dropdown{left:0;right:auto}[dir=rtl] .lang-check{margin-left:0;margin-right:auto}
