@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #0f0f1a;--bg-secondary: #16162a;--bg-tertiary: #1e1e3a;--bg-surface: #252545;--bg-hover: #2a2a55;--text-primary: #e8e8f0;--text-secondary: #9898b8;--text-tertiary: #6868a0;--accent-primary: #6366f1;--accent-hover: #818cf8;--accent-subtle: rgba(99, 102, 241, .15);--success: #4CAF50;--warning: #FF9900;--error: #E53535;--info: #4FC3F7;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition: .15s ease}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}#app{height:100%}button{cursor:pointer;font-family:inherit;border:none;outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.header.svelte-4b3o1e{display:flex;align-items:center;gap:20px;padding:0 20px;height:52px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.logo.svelte-4b3o1e{display:flex;align-items:center;gap:10px;color:var(--accent-primary)}.logo-text.svelte-4b3o1e{font-weight:700;font-size:16px;letter-spacing:-.02em}.status.svelte-4b3o1e{display:flex;align-items:center;gap:10px}.status-text.svelte-4b3o1e{font-size:13px;color:var(--text-secondary)}.status-text.loading.svelte-4b3o1e{color:var(--accent-primary)}.error-text.svelte-4b3o1e{color:var(--error)}.badge.svelte-4b3o1e{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.02em}.badge.error.svelte-4b3o1e{background:#e5353526;color:var(--error)}.badge.success.svelte-4b3o1e{background:#4caf5026;color:var(--success)}.badge.scanning.svelte-4b3o1e{background:#4fc3f726;color:#4fc3f7;animation:svelte-4b3o1e-pulse-badge 1.5s ease-in-out infinite}.badge.repair-badge.svelte-4b3o1e{background:#f0b04026;color:#f0b040}.spacer.svelte-4b3o1e{flex:1}.about-link.svelte-4b3o1e{font-size:12px;font-weight:500;color:var(--text-tertiary);text-decoration:none;transition:color var(--transition)}.about-link.svelte-4b3o1e:hover{color:var(--text-primary)}.anim-toggle.svelte-4b3o1e{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-label.svelte-4b3o1e{font-size:11px;color:var(--text-tertiary);user-select:none}.toggle-switch.svelte-4b3o1e{position:relative;width:32px;height:18px;background:var(--bg-hover);border-radius:9px;transition:background var(--transition);cursor:pointer;padding:0;border:none}.toggle-switch.on.svelte-4b3o1e{background:var(--accent-primary)}.toggle-thumb.svelte-4b3o1e{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform var(--transition)}.toggle-switch.on.svelte-4b3o1e .toggle-thumb:where(.svelte-4b3o1e){transform:translate(14px)}@keyframes svelte-4b3o1e-pulse-badge{0%,to{opacity:1}50%{opacity:.5}}.model-info.svelte-1r3nkik{padding:16px;background:var(--bg-tertiary)}.section-header.svelte-1r3nkik{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:12px}.stats-grid.svelte-1r3nkik{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat.svelte-1r3nkik{display:flex;flex-direction:column;gap:2px}.stat-label.svelte-1r3nkik{font-size:11px;color:var(--text-tertiary)}.stat-value.svelte-1r3nkik{font-size:13px;font-weight:500;color:var(--text-primary)}.stat-value.mono.svelte-1r3nkik{font-family:var(--font-mono);font-size:11px}.status-row.svelte-1r3nkik{display:flex;gap:6px;margin-top:12px}.status-chip.svelte-1r3nkik{font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px}.status-chip.ok.svelte-1r3nkik{background:#4caf501f;color:var(--success)}.status-chip.bad.svelte-1r3nkik{background:#e535351f;color:var(--error)}.issue-item.svelte-hqkfk7{display:flex;gap:10px;padding:8px 10px;background:var(--bg-surface);border-radius:var(--radius-sm);transition:background var(--transition)}.issue-item.svelte-hqkfk7:hover{background:var(--bg-hover)}.issue-item.fixed.svelte-hqkfk7{opacity:.6}.issue-item.fixed.svelte-hqkfk7 .kind:where(.svelte-hqkfk7){text-decoration:line-through}.fixed-badge.svelte-hqkfk7{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--success)}.manual-hint.svelte-hqkfk7{font-size:10px;color:var(--warning);margin-top:3px;font-style:italic}.indicator.svelte-hqkfk7{width:3px;border-radius:2px;flex-shrink:0}.content.svelte-hqkfk7{flex:1;min-width:0}.header-row.svelte-hqkfk7{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.kind.svelte-hqkfk7{font-size:12px;font-weight:600;color:var(--text-primary)}.severity.svelte-hqkfk7{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.description.svelte-hqkfk7{font-size:11px;color:var(--text-secondary);line-height:1.4}.issue-report.svelte-10yw5j0{padding:16px;background:var(--bg-tertiary)}.section-header.svelte-10yw5j0{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.count.svelte-10yw5j0{background:#e5353526;color:var(--error);font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px}.count.fixed.svelte-10yw5j0{background:#4caf5026;color:var(--success)}.clean-state.svelte-10yw5j0{display:flex;align-items:center;gap:8px;color:var(--success);font-size:13px}.issue-list.svelte-10yw5j0{display:flex;flex-direction:column;gap:6px}.repair-controls.svelte-1bwa46o{padding:16px;background:var(--bg-tertiary)}.section-header.svelte-1bwa46o{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:12px}.scale-info.svelte-1bwa46o{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ff99001a;border-radius:var(--radius-sm);margin-bottom:12px;font-size:12px}.scale-label.svelte-1bwa46o{color:var(--warning)}.scale-value.svelte-1bwa46o{font-weight:700;font-family:var(--font-mono);color:var(--warning)}.repair-btn.svelte-1bwa46o{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--accent-primary);color:#fff;font-size:13px;font-weight:600;border-radius:var(--radius-md);transition:background var(--transition)}.repair-btn.svelte-1bwa46o:hover:not(:disabled){background:var(--accent-hover)}.repair-btn.svelte-1bwa46o:disabled{opacity:.6;cursor:not-allowed}.btn-spinner.svelte-1bwa46o{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:svelte-1bwa46o-spin .8s linear infinite}.no-issues.svelte-1bwa46o{font-size:12px;color:var(--success);text-align:center;padding:8px}.summary-grid.svelte-1bwa46o{display:flex;flex-direction:column;gap:4px}.summary-item.svelte-1bwa46o{font-size:12px;color:var(--text-secondary);padding:4px 8px;border-radius:var(--radius-sm)}.summary-item.ok.svelte-1bwa46o{color:var(--success);background:#4caf5014}.summary-item.partial.svelte-1bwa46o{color:var(--warning);background:#ff990014}.summary-item.warn.svelte-1bwa46o{color:var(--error);background:#e5353514}@keyframes svelte-1bwa46o-spin{to{transform:rotate(360deg)}}.rotation-controls.svelte-10etfc3{padding:16px;background:var(--bg-tertiary)}.section-header.svelte-10etfc3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:12px}.bed-btn.svelte-10etfc3{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:#4078d91f;color:#4078d9;font-size:12px;font-weight:600;border-radius:var(--radius-md);border:1px solid rgba(64,120,217,.25);transition:all var(--transition);cursor:pointer;margin-bottom:10px}.bed-btn.svelte-10etfc3:hover:not(:disabled){background:#4078d933;border-color:#4078d966}.bed-btn.svelte-10etfc3:disabled{opacity:.5;cursor:not-allowed}.suggest-btn.svelte-10etfc3{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:#ff99001f;color:var(--warning);font-size:12px;font-weight:600;border-radius:var(--radius-md);border:1px solid rgba(255,153,0,.25);transition:all var(--transition);cursor:pointer;margin-bottom:4px}.suggest-btn.svelte-10etfc3:hover:not(:disabled){background:#f903;border-color:#f906}.suggest-btn.svelte-10etfc3:disabled{opacity:.5;cursor:not-allowed}.suggest-hint.svelte-10etfc3{font-size:10px;color:var(--text-tertiary);text-align:center;margin-bottom:12px}.axis-grid.svelte-10etfc3{display:flex;flex-direction:column;gap:6px}.axis-row.svelte-10etfc3{display:flex;align-items:center;gap:6px}.axis-label.svelte-10etfc3{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:var(--font-mono);border-radius:4px;flex-shrink:0}.axis-label.x.svelte-10etfc3{background:#e5353526;color:#e53535}.axis-label.y.svelte-10etfc3{background:#4caf5026;color:#4caf50}.axis-label.z.svelte-10etfc3{background:#4078d926;color:#4078d9}.rot-btn.svelte-10etfc3{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.rot-btn.svelte-10etfc3:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-primary)}.rot-btn.svelte-10etfc3:disabled{opacity:.5;cursor:not-allowed}.transform-controls.svelte-19qh6j9{padding:16px;background:var(--bg-tertiary)}.section-header.svelte-19qh6j9{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:8px}.mirror-grid.svelte-19qh6j9{display:flex;gap:6px}.mirror-btn.svelte-19qh6j9{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.mirror-btn.svelte-19qh6j9:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-primary)}.mirror-btn.svelte-19qh6j9:disabled{opacity:.5;cursor:not-allowed}.axis-dot.svelte-19qh6j9{width:8px;height:8px;border-radius:50%;flex-shrink:0}.axis-dot.x.svelte-19qh6j9{background:#e53535}.axis-dot.y.svelte-19qh6j9{background:#4caf50}.axis-dot.z.svelte-19qh6j9{background:#4078d9}.scale-grid.svelte-19qh6j9{display:flex;flex-direction:column;gap:6px}.scale-row.svelte-19qh6j9{display:flex;align-items:center;gap:6px}.axis-label.svelte-19qh6j9{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:var(--font-mono);border-radius:4px;flex-shrink:0}.axis-label.x.svelte-19qh6j9{background:#e5353526;color:#e53535}.axis-label.y.svelte-19qh6j9{background:#4caf5026;color:#4caf50}.axis-label.z.svelte-19qh6j9{background:#4078d926;color:#4078d9}.dim-input.svelte-19qh6j9{flex:1;padding:5px 8px;font-size:12px;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition)}.dim-input.svelte-19qh6j9:focus{border-color:var(--accent-primary)}.dim-input.svelte-19qh6j9:disabled{opacity:.5}.scale-actions.svelte-19qh6j9{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.lock-label.svelte-19qh6j9{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;user-select:none}.lock-label.svelte-19qh6j9 input[type=checkbox]:where(.svelte-19qh6j9){width:14px;height:14px;accent-color:var(--accent-primary)}.apply-btn.svelte-19qh6j9{padding:5px 14px;font-size:11px;font-weight:600;color:var(--accent-primary);background:#6366f11a;border:1px solid rgba(99,102,241,.25);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.apply-btn.svelte-19qh6j9:hover:not(:disabled){background:#6366f133;border-color:#6366f166}.apply-btn.svelte-19qh6j9:disabled{opacity:.5;cursor:not-allowed}.stats-comparison.svelte-eul7o9{padding:16px;background:var(--bg-tertiary)}.section-header.svelte-eul7o9{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:10px}.stats-table.svelte-eul7o9{width:100%;border-collapse:collapse;font-size:12px}.stats-table.svelte-eul7o9 th:where(.svelte-eul7o9){font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);text-align:right;padding:4px 6px;border-bottom:1px solid var(--border)}.stats-table.svelte-eul7o9 th:where(.svelte-eul7o9):first-child{text-align:left}.stats-table.svelte-eul7o9 td:where(.svelte-eul7o9){padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.03)}.label.svelte-eul7o9{color:var(--text-secondary);font-weight:500}.value.svelte-eul7o9{text-align:right;color:var(--text-primary);font-family:var(--font-mono);font-size:11px}.value.improved.svelte-eul7o9{color:var(--success)}.value.worse.svelte-eul7o9{color:var(--error)}.delta.svelte-eul7o9{font-size:10px;color:var(--text-tertiary);margin-left:4px}.delta.good.svelte-eul7o9{color:var(--success)}.export-section.svelte-takfrl{padding:16px;background:var(--bg-tertiary)}.export-btn.svelte-takfrl{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--success);color:#fff;font-size:13px;font-weight:600;border-radius:var(--radius-md);transition:background var(--transition)}.export-btn.svelte-takfrl:hover:not(:disabled){background:#43a047}.export-btn.svelte-takfrl:disabled{opacity:.6;cursor:not-allowed}.sidebar.svelte-1m85e6v{width:320px;background:var(--bg-secondary);border-left:1px solid var(--border);overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;gap:1px}.empty-state.svelte-1m85e6v{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;text-align:center;color:var(--text-tertiary);font-size:13px;height:100%}.viewport-wrapper.svelte-f5ne7p{position:relative;width:100%;height:100%}.viewport.svelte-f5ne7p{width:100%;height:100%}.viewport.svelte-f5ne7p canvas{display:block}.viewport-label.svelte-f5ne7p{position:absolute;top:12px;left:12px;z-index:10;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:#0f0f1ab3;padding:4px 10px;border-radius:var(--radius-sm);backdrop-filter:blur(8px)}.scan-badge.svelte-f5ne7p{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#4fc3f7;background:#0f0f1acc;padding:6px 12px;border-radius:var(--radius-sm);backdrop-filter:blur(8px);border:1px solid rgba(79,195,247,.2)}.scan-badge.repair.svelte-f5ne7p{color:#f0b040;border-color:#f0b0404d}.scan-dot.svelte-f5ne7p{width:6px;height:6px;background:#4fc3f7;border-radius:50%;animation:svelte-f5ne7p-pulse-dot 1s ease-in-out infinite}.repair-dot.svelte-f5ne7p{background:#f0b040}.viewer-toolbar.svelte-f5ne7p{position:absolute;top:42px;left:12px;z-index:10;display:flex;gap:4px;background:#0f0f1acc;padding:4px;border-radius:var(--radius-sm);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08)}.tool-btn.svelte-f5ne7p{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tool-btn.svelte-f5ne7p:hover{background:#ffffff14;color:var(--text-primary)}.tool-btn.active.svelte-f5ne7p{background:#6366f133;border-color:#6366f166;color:#818cf8}.tool-btn.small.svelte-f5ne7p{width:26px;height:26px}.clip-controls.svelte-f5ne7p{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:8px;background:#0f0f1ad9;padding:8px 12px;border-radius:var(--radius-md);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08)}.clip-axis-btns.svelte-f5ne7p{display:flex;gap:2px}.clip-axis-btn.svelte-f5ne7p{width:24px;height:24px;font-size:11px;font-weight:700;font-family:var(--font-mono);background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.clip-axis-btn.active.svelte-f5ne7p{background:#6366f133;border-color:#6366f166;color:#818cf8}.clip-slider.svelte-f5ne7p{width:180px;accent-color:var(--accent-primary)}.clip-value.svelte-f5ne7p{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);min-width:44px;text-align:right}@keyframes svelte-f5ne7p-pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.viewer-panel.svelte-4etd7j{display:flex;width:100%;height:100%;position:relative}.viewport-container.svelte-4etd7j{flex:1;min-width:0}.split.svelte-4etd7j .viewport-container:where(.svelte-4etd7j){flex:1}.divider.svelte-4etd7j{width:2px;background:var(--accent-primary);opacity:.5;flex-shrink:0}.dropzone.svelte-1g360v5{display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer;transition:all var(--transition);border:2px dashed transparent;margin:16px;border-radius:var(--radius-lg)}.dropzone.svelte-1g360v5:hover,.dragging.svelte-1g360v5{border-color:var(--accent-primary);background:var(--accent-subtle)}.content.svelte-1g360v5{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-secondary)}.content.svelte-1g360v5 svg:where(.svelte-1g360v5){color:var(--text-tertiary);margin-bottom:8px}.content.svelte-1g360v5 h2:where(.svelte-1g360v5){font-size:20px;font-weight:600;color:var(--text-primary)}.content.svelte-1g360v5 p:where(.svelte-1g360v5){font-size:14px}.formats.svelte-1g360v5{font-size:12px!important;color:var(--text-tertiary);margin-top:8px}.loading.svelte-1g360v5{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner.svelte-1g360v5{width:40px;height:40px;border:3px solid var(--bg-hover);border-top-color:var(--accent-primary);border-radius:50%;animation:svelte-1g360v5-spin .8s linear infinite}.loading-text.svelte-1g360v5{color:var(--text-secondary);font-size:14px}@keyframes svelte-1g360v5-spin{to{transform:rotate(360deg)}}.app-layout.svelte-12d5wnd{display:flex;flex-direction:column;height:100%}.main.svelte-12d5wnd{display:flex;flex:1;overflow:hidden}.viewer-area.svelte-12d5wnd{flex:1;position:relative;overflow:hidden}
