@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Inter/Inter[opsz,wght].woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/Inter/Inter-Italic[opsz,wght].woff2) format("woff2")}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:"liga" 1,"calt" 1}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#f5f5f5;color:#000;margin:0;padding:0;min-height:100vh}nav{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}nav .nav-links{display:flex;gap:2rem;align-items:center}nav .nav-links a{color:#000;text-decoration:none;font-size:.95rem;transition:color .2s ease}nav .nav-links a:hover,nav .nav-links a.active{color:#f60}nav .logo-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;margin-right:1rem}nav .logo-link .mauc-logo{background:#f60;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}nav .nav-user{display:flex;align-items:center;gap:1rem}nav .nav-user .user-info{display:flex;align-items:center;gap:.5rem}nav .nav-user .logout-btn{background:#000;color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;transition:opacity .2s ease}nav .nav-user .logout-btn:hover{opacity:.8}.container{max-width:1200px;margin:0 auto;padding:2rem}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:2rem;font-weight:600;margin:0 0 .5rem}.header p{color:#666;margin:0}.card{background:#fff;border:1px solid #e0e0e0;padding:2rem;margin-bottom:2rem}.card h2{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.card h3{font-size:1.1rem;font-weight:600;margin:1rem 0 .5rem}.upload-section{margin-bottom:1rem}.upload-area{border:2px dashed #e0e0e0;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-area:hover{border-color:#f60}.upload-area .upload-icon{font-size:2rem;color:#666}.upload-area .upload-text{font-weight:500;color:#000}.upload-area .upload-hint{font-size:.85rem;color:#666}.image-preview{position:relative;display:inline-block;margin-top:1rem}.image-preview img{max-width:100%;max-height:400px;display:block;border:1px solid #e0e0e0}.image-preview .remove-btn{position:absolute;top:.5rem;right:.5rem;background:#f56565;color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;font-size:.9rem}.image-preview .remove-btn:hover{opacity:.9}.form-group{margin-bottom:1rem}.form-label{display:block;font-weight:500;margin-bottom:.5rem;color:#000}.form-label .hint-icon{color:#666;font-size:.85rem;cursor:help}.form-input,.form-textarea{width:100%;padding:.75rem;border:1px solid #e0e0e0;font-size:.95rem;font-family:inherit;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:#f60}.form-textarea{min-height:100px;resize:vertical}.btn,.btn-secondary{padding:.75rem 1.5rem;border:none;cursor:pointer;font-size:1rem;font-weight:500;transition:opacity .2s ease;text-decoration:none;display:inline-block;text-align:center}.btn:hover,.btn-secondary:hover{opacity:.9}.btn:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn{background:#000;color:#fff}.btn-secondary{background:#f5f5f5;color:#000;border:1px solid #e0e0e0}.button-group{display:flex;gap:1rem;margin-top:1rem}.loading-spinner{width:50px;height:50px;border:4px solid #f5f5f5;border-top:4px solid #ff6600;border-radius:50%;animation:spin 1s linear infinite;margin:1rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{text-align:center;color:#666;margin:1rem 0}.progress-bar{width:100%;height:8px;background:#f5f5f5;border:1px solid #e0e0e0;margin-top:1rem;overflow:hidden}.progress-fill{height:100%;background:#f60;width:0%;transition:width .3s ease}.viewer-container{margin:1rem 0;border:1px solid #e0e0e0;background:#f5f5f5;position:relative}.viewer-container #threejs-canvas{width:100%;height:500px;display:block}.viewer-container .viewer-controls{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.5rem}.viewer-container .viewer-hint{text-align:center;font-size:.85rem;color:#666;padding:.5rem;background:#ffffffe6;border-top:1px solid #e0e0e0}.render-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.render-grid .render-preview{width:100%;height:auto;border:1px solid #e0e0e0;cursor:pointer;transition:transform .2s ease}.render-grid .render-preview:hover{transform:scale(1.05)}.result-info{margin:1rem 0;padding:1rem;background:#f5f5f5;border:1px solid #e0e0e0}.result-info .info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e0e0e0}.result-info .info-row:last-child{border-bottom:none}.result-info .info-row .label{font-weight:500;color:#666}#message{padding:1rem;margin:1rem 0;border:1px solid;display:none}#message.success{background:#48bb781a;border-color:#48bb78;color:#2b7249}#message.error{background:#f565651a;border-color:#f56565;color:#e50f0f}.required{color:#f56565;font-weight:600}.multi-image-section{margin-top:2rem;padding-top:1rem;border-top:1px solid #e0e0e0}.multi-image-grid,.multi-view-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.5rem}.extra-image-slot,.view-image-slot{position:relative}.view-label{display:block;font-size:.85rem;font-weight:500;color:#666;margin-bottom:.25rem;text-align:center}.upload-area-small{border:2px dashed #e0e0e0;padding:1rem;text-align:center;cursor:pointer;transition:border-color .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;background:#fff}.upload-area-small:hover{border-color:#f60;background:#ff660005}.upload-area-small .upload-icon-small{font-size:1.5rem;color:#666;line-height:1}.upload-area-small .upload-text-small{font-size:.8rem;color:#666;margin-top:.25rem}.image-preview-small{position:relative;min-height:120px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border:1px solid #e0e0e0}.image-preview-small img{max-width:100%;max-height:120px;object-fit:contain;display:block}.image-preview-small .remove-btn-small{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;background:#f56565;color:#fff;border:none;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center}.image-preview-small .remove-btn-small:hover{opacity:.9}@media (max-width: 768px){.container{padding:1rem}nav{flex-direction:column;gap:1rem}nav .nav-links{flex-wrap:wrap;justify-content:center}.viewer-container #threejs-canvas{height:300px}.multi-image-grid,.multi-view-grid{grid-template-columns:1fr}.upload-area-small,.image-preview-small{min-height:100px}}
