.dropzone-wrapper[data-v-5980b174]{display:flex;flex-direction:column;flex:1;min-height:0}.dropzone-area[data-v-5980b174]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.dropzone[data-v-5980b174]{width:100%;max-width:520px;border:2px dashed #3a3a4f;border-radius:20px;padding:60px 40px;cursor:pointer;transition:border-color .2s,background .2s;background:#16161d}.dropzone[data-v-5980b174]:hover,.dropzone.drag-over[data-v-5980b174]{border-color:#a78bfa;background:#a78bfa0d}.dropzone-content[data-v-5980b174]{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.icon-wrapper[data-v-5980b174]{color:#a78bfa;opacity:.8;transition:transform .3s}.icon-wrapper.pulse[data-v-5980b174]{animation:pulse-5980b174 1s infinite}@keyframes pulse-5980b174{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.title[data-v-5980b174]{font-size:22px;font-weight:600;color:#f0f0f5}.subtitle[data-v-5980b174]{font-size:14px;color:#6b7280;line-height:1.6}.format-badges[data-v-5980b174]{display:flex;gap:8px}.badge[data-v-5980b174]{background:#a78bfa26;color:#a78bfa;border:1px solid rgba(167,139,250,.3);border-radius:6px;padding:4px 12px;font-size:13px;font-weight:500;font-family:monospace}.btn-upload[data-v-5980b174]{margin-top:8px;padding:12px 32px;background:#a78bfa;color:#0f0f13;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.btn-upload[data-v-5980b174]:hover{background:#c4b5fd;transform:translateY(-1px)}.btn-upload[data-v-5980b174]:active{transform:translateY(0)}.hidden-input[data-v-5980b174]{display:none}.error-msg[data-v-5980b174]{margin-top:16px;color:#f87171;font-size:14px}.viewer-wrapper[data-v-c9a4bf9f]{flex:1;min-height:0;position:relative;width:100%}.canvas[data-v-c9a4bf9f]{width:100%;height:100%;display:block}.view-presets[data-v-c9a4bf9f]{position:absolute;top:50%;right:16px;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;z-index:10}.btn-view[data-v-c9a4bf9f]{width:34px;height:34px;background:#121218e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #2a2a3a;border-radius:8px;color:#9ca3af;font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s;display:flex;align-items:center;justify-content:center;padding:0}.btn-view[data-v-c9a4bf9f]:hover{color:#c4b5fd;border-color:#a78bfa66;background:#a78bfa1a}.btn-view.active[data-v-c9a4bf9f]{color:#a78bfa;border-color:#a78bfa80;background:#a78bfa26}.btn-view[data-v-c9a4bf9f]:disabled{opacity:.35;cursor:not-allowed}.preset-divider[data-v-c9a4bf9f]{width:100%;height:1px;background:#2a2a3a;margin:2px 0}.mesh-panel[data-v-c9a4bf9f]{position:absolute;top:50%;left:16px;transform:translateY(-50%);width:200px;max-height:60vh;background:#121218e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #2a2a3a;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;z-index:10}.mesh-panel-header[data-v-c9a4bf9f]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #2a2a3a;flex-shrink:0}.mesh-panel-title[data-v-c9a4bf9f]{font-size:12px;font-weight:600;color:#9ca3af;letter-spacing:.06em;text-transform:uppercase}.mesh-count-badge[data-v-c9a4bf9f]{font-size:11px;color:#6b7280;background:#ffffff12;border-radius:10px;padding:1px 7px}.mesh-list[data-v-c9a4bf9f]{list-style:none;margin:0;padding:6px;overflow-y:auto;overflow-x:hidden}.mesh-list[data-v-c9a4bf9f]::-webkit-scrollbar{width:4px}.mesh-list[data-v-c9a4bf9f]::-webkit-scrollbar-track{background:transparent}.mesh-list[data-v-c9a4bf9f]::-webkit-scrollbar-thumb{background:#2a2a3a;border-radius:2px}.mesh-item[data-v-c9a4bf9f]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;cursor:pointer;transition:background .15s,color .15s;color:#9ca3af}.mesh-item[data-v-c9a4bf9f]:hover{background:#ffffff0d;color:#e0e0e0}.mesh-item.active[data-v-c9a4bf9f]{background:#a78bfa26;color:#c4b5fd}.mesh-item.active .mesh-icon[data-v-c9a4bf9f]{color:#a78bfa}.mesh-icon[data-v-c9a4bf9f]{flex-shrink:0;opacity:.7}.mesh-item.active .mesh-icon[data-v-c9a4bf9f]{opacity:1}.mesh-name[data-v-c9a4bf9f]{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-slide-enter-active[data-v-c9a4bf9f],.panel-slide-leave-active[data-v-c9a4bf9f]{transition:opacity .2s,transform .2s}.panel-slide-enter-from[data-v-c9a4bf9f],.panel-slide-leave-to[data-v-c9a4bf9f]{opacity:0;transform:translateY(-50%) translate(-8px)}.info-bar[data-v-c9a4bf9f]{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;background:#16161dd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #2a2a3a;border-radius:12px;padding:10px 18px;white-space:nowrap}.file-info[data-v-c9a4bf9f]{display:flex;align-items:center;gap:8px;color:#a78bfa}.info-right[data-v-c9a4bf9f]{display:flex;align-items:center;gap:12px}.file-name[data-v-c9a4bf9f]{font-size:14px;font-weight:500;color:#e0e0e0;max-width:280px;overflow:hidden;text-overflow:ellipsis}.file-size[data-v-c9a4bf9f]{font-size:12px;color:#6b7280}.tri-count[data-v-c9a4bf9f]{font-size:12px;color:#6b7280;font-family:monospace}.color-picker-wrap[data-v-c9a4bf9f]{display:flex;align-items:center;gap:4px}.color-label[data-v-c9a4bf9f]{position:relative;display:flex;align-items:center;cursor:pointer}.color-preview[data-v-c9a4bf9f]{width:26px;height:26px;border-radius:6px;border:2px solid rgba(255,255,255,.15);display:block;transition:border-color .2s}.color-label:hover .color-preview[data-v-c9a4bf9f]{border-color:#fff6}.color-input[data-v-c9a4bf9f]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.btn-icon[data-v-c9a4bf9f]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#ffffff0d;border:1px solid #2a2a3a;border-radius:6px;color:#6b7280;cursor:pointer;transition:color .2s,background .2s;padding:0}.btn-icon[data-v-c9a4bf9f]:hover{color:#a78bfa;background:#a78bfa1a}.btn-reset[data-v-c9a4bf9f]{padding:6px 14px;background:#a78bfa26;color:#a78bfa;border:1px solid rgba(167,139,250,.3);border-radius:8px;font-size:13px;cursor:pointer;transition:background .2s}.btn-reset[data-v-c9a4bf9f]:hover{background:#a78bfa4d}.dimensions-panel[data-v-c9a4bf9f]{position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:6px;background:#121218e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #2a2a3a;border-radius:10px;padding:7px 12px;font-size:12px;font-family:monospace}.dim-axis[data-v-c9a4bf9f]{font-weight:700;font-size:11px}.dim-axis.x[data-v-c9a4bf9f]{color:#f87171}.dim-axis.y[data-v-c9a4bf9f]{color:#86efac}.dim-axis.z[data-v-c9a4bf9f]{color:#93c5fd}.dim-val[data-v-c9a4bf9f]{color:#d1d5db;margin-right:6px}.dim-val[data-v-c9a4bf9f]:last-child{margin-right:0}.controls-hint[data-v-c9a4bf9f]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;background:#16161dbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #2a2a3a;border-radius:10px;padding:8px 20px;font-size:12px;color:#6b7280;white-space:nowrap}.hint-divider[data-v-c9a4bf9f]{color:#2a2a3a;-webkit-user-select:none;user-select:none}.loading-overlay[data-v-c9a4bf9f],.error-overlay[data-v-c9a4bf9f]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0f0f13d9;font-size:16px;color:#a78bfa}.error-overlay[data-v-c9a4bf9f]{color:#f87171}.spinner[data-v-c9a4bf9f]{width:48px;height:48px;border:3px solid rgba(167,139,250,.2);border-top-color:#a78bfa;border-radius:50%;animation:spin-c9a4bf9f .8s linear infinite}@keyframes spin-c9a4bf9f{to{transform:rotate(360deg)}}@media(max-width:480px){.info-bar[data-v-c9a4bf9f]{left:8px;right:8px;transform:none;padding:8px 12px;gap:8px;flex-wrap:wrap;white-space:normal}.file-name[data-v-c9a4bf9f]{max-width:140px;font-size:13px}.file-size[data-v-c9a4bf9f],.tri-count[data-v-c9a4bf9f]{display:none}.view-presets[data-v-c9a4bf9f]{right:8px}.btn-view[data-v-c9a4bf9f]{width:28px;height:28px;font-size:11px}.mesh-panel[data-v-c9a4bf9f]{width:140px;left:8px;max-height:40vh}.controls-hint[data-v-c9a4bf9f]{display:none}.dimensions-panel[data-v-c9a4bf9f]{bottom:8px;left:8px;font-size:11px;padding:5px 8px;gap:4px}}.overlay[data-v-5b856c8b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-5b856c8b]{width:480px;max-width:calc(100vw - 32px);background:#16161d;border:1px solid #2a2a3a;border-radius:16px;overflow:hidden}.modal-header[data-v-5b856c8b]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #2a2a3a}.modal-title[data-v-5b856c8b]{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#a78bfa}.btn-close[data-v-5b856c8b]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid #2a2a3a;border-radius:7px;color:#6b7280;cursor:pointer;transition:color .15s,background .15s;padding:0}.btn-close[data-v-5b856c8b]:hover{color:#e0e0e0;background:#ffffff0d}.modal-body[data-v-5b856c8b]{padding:20px;display:flex;flex-direction:column;gap:20px}.description[data-v-5b856c8b]{font-size:13px;color:#9ca3af;line-height:1.7;margin:0}.section-title[data-v-5b856c8b]{font-size:11px;font-weight:600;color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}.license-list[data-v-5b856c8b]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.license-item[data-v-5b856c8b]{padding:10px 12px;background:#ffffff08;border:1px solid #2a2a3a;border-radius:8px}.lib-info[data-v-5b856c8b]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.lib-name[data-v-5b856c8b]{font-size:13px;font-weight:500;color:#e0e0e0}.lib-version[data-v-5b856c8b]{font-size:11px;color:#4b5563;font-family:monospace}.lib-license[data-v-5b856c8b]{font-size:11px;color:#a78bfa;background:#a78bfa1a;border-radius:4px;padding:1px 6px}.lib-copyright[data-v-5b856c8b]{font-size:12px;color:#4b5563;margin:0}.modal-enter-active[data-v-5b856c8b],.modal-leave-active[data-v-5b856c8b]{transition:opacity .2s}.modal-enter-active .modal[data-v-5b856c8b],.modal-leave-active .modal[data-v-5b856c8b]{transition:transform .2s}.modal-enter-from[data-v-5b856c8b],.modal-leave-to[data-v-5b856c8b]{opacity:0}.modal-enter-from .modal[data-v-5b856c8b],.modal-leave-to .modal[data-v-5b856c8b]{transform:translateY(12px)}.mobile-block[data-v-4e74eac9]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#0f0f13;padding:32px 24px}.content[data-v-4e74eac9]{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;max-width:320px}.icon[data-v-4e74eac9]{color:#a78bfa;opacity:.9;margin-bottom:4px}.title[data-v-4e74eac9]{font-size:24px;font-weight:700;color:#f0f0f5}.message[data-v-4e74eac9]{font-size:17px;font-weight:500;color:#e0e0e0;line-height:1.7}.submessage[data-v-4e74eac9]{font-size:14px;color:#6b7280;line-height:1.7}.url-badge[data-v-4e74eac9]{margin-top:8px;padding:8px 20px;background:#a78bfa1f;border:1px solid rgba(167,139,250,.3);border-radius:20px;color:#a78bfa;font-size:13px;font-weight:500;font-family:monospace;letter-spacing:.03em}.not-found[data-v-39f50c3d]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background:#0f0f13;overflow:hidden}.glow[data-v-39f50c3d]{position:absolute;width:600px;height:400px;background:#a78bfa14;border-radius:50%;filter:blur(120px);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.content[data-v-39f50c3d]{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:40px 24px}.code[data-v-39f50c3d]{font-size:120px;font-weight:800;line-height:1;letter-spacing:-.05em;background:linear-gradient(135deg,#a78bfa,#818cf8,#c4b5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title[data-v-39f50c3d]{font-size:22px;font-weight:700;color:#f0f0f5;margin:0}.desc[data-v-39f50c3d]{font-size:15px;color:#6b7280;line-height:1.7;margin:0}.btn-home[data-v-39f50c3d]{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:12px 28px;background:#a78bfa;color:#0f0f13;font-size:14px;font-weight:600;border-radius:10px;text-decoration:none;transition:background .2s,transform .15s}.btn-home[data-v-39f50c3d]:hover{background:#c4b5fd;transform:translateY(-2px)}.app[data-v-00518ad2]{display:flex;flex-direction:column;height:100vh;height:calc(var(--vh, 1vh) * 100)}.header[data-v-00518ad2]{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:#16161d;border-bottom:1px solid #2a2a3a;flex-shrink:0;z-index:10}.logo[data-v-00518ad2]{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#a78bfa}.header-right[data-v-00518ad2]{display:flex;align-items:center;gap:16px}.supported-formats[data-v-00518ad2]{font-size:12px;color:#6b7280;letter-spacing:.05em}.btn-about[data-v-00518ad2]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#6b7280;background:transparent;border:1px solid #2a2a3a;border-radius:8px;cursor:pointer;transition:color .15s,border-color .15s;padding:0}.btn-about[data-v-00518ad2]:hover{color:#a78bfa;border-color:#a78bfa66}.main[data-v-00518ad2]{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden}.content-area[data-v-00518ad2]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ad-sidebar[data-v-00518ad2]{width:300px;flex-shrink:0;background:#16161d;border-left:1px solid #2a2a3a;display:flex;align-items:center;justify-content:center;overflow:hidden}@media(max-width:480px){.supported-formats[data-v-00518ad2]{display:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f0f13;color:#e0e0e0;height:100vh;height:calc(var(--vh, 1vh) * 100);overflow:hidden}#app{height:100vh;height:calc(var(--vh, 1vh) * 100);display:flex;flex-direction:column}
