:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#root{max-width:100%;margin:0;padding:0;text-align:center;height:100vh;width:100vw;display:flex;flex-direction:column}body{margin:0;padding:0;overflow:hidden}.app-container{display:flex;width:100%;height:calc(100vh - 60px);gap:20px;padding:0 20px 20px;box-sizing:border-box}.app-header{display:flex;justify-content:flex-end;align-items:center;background-color:#f0f0f0;padding:0 320px 0 20px;height:60px;width:100%;border-bottom:1px solid #ddd;box-sizing:border-box}.header-controls{display:flex;gap:10px;align-items:center}.settings-panel{position:fixed;top:60px;right:0;width:300px;background-color:#fff;border-left:1px solid #ddd;border-bottom:1px solid #ddd;padding:20px;z-index:100;box-shadow:-2px 2px 10px #0000001a;overflow-y:auto;height:calc(100vh - 100px);transform:translate(0)}.settings-panel h3{display:none}.setting-group{margin-bottom:10px;border:1px solid #eee;border-radius:4px;padding:5px;background-color:#f9f9f9}.setting-group:first-child{margin-top:0}.setting-group:last-child{margin-bottom:0}.setting-group-title{font-weight:700;margin-bottom:5px;display:flex;align-items:center;color:#333}.setting-group-title input{margin-right:10px}.setting-options{margin-left:25px;padding:10px;background-color:#f5f5f5;border-radius:4px;border-left:2px solid #ddd}.setting-option{display:flex;align-items:center;margin-bottom:4px;color:#333}.setting-option:last-child{margin-bottom:0}.setting-option input{margin-right:10px}.app-container.with-settings{padding-right:320px}.file-uploader-container{flex:0 0 250px;max-width:250px;min-width:250px;overflow-y:auto;height:100%;background-color:#f5f5f5;border-radius:4px;padding:20px;border:1px solid #ddd;margin-right:20px}.model-viewer-container{flex:1;height:100%;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;position:relative;width:100%;margin:0}.model-viewer{width:100%;height:100%;display:flex}.model-viewer canvas{width:100%!important;height:100%!important;outline:none;flex:1}.btn{background-color:#e0e0e0;color:#333;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn:hover{background-color:#d0d0d0}.btn-primary{background-color:#646cff;color:#fff}.btn-primary:hover{background-color:#535bf2}.app-container{display:flex;width:100%;height:80vh;gap:20px}.file-uploader-container{flex:0 0 250px;max-width:250px;min-width:250px}.model-viewer-container{flex:1;min-height:500px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;position:relative}.model-viewer{width:100%;height:100%}.model-viewer canvas{width:100%;height:100%;outline:none}.empty-viewer{display:flex;justify-content:center;align-items:center;height:100%;color:#888}.file-item{cursor:pointer;transition:background-color .2s;padding:8px;border-radius:4px;margin-bottom:4px;position:relative}.file-item:hover{background-color:#646cff1a}.file-item.selected{border-left:3px solid #646cff;background-color:#646cff0d}.corner-btn{position:absolute;bottom:5px;right:5px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#fffc;box-shadow:0 1px 3px #0003;opacity:.7;transition:opacity .2s,background-color .2s}.file-item:hover .corner-btn{opacity:1}.corner-btn:hover{background-color:#fff}.remove-btn.corner-btn{color:#f44336;font-size:16px;padding:0;margin:0}.remove-btn.corner-btn:hover{background-color:#ffebee}.file-uploader.dragging{border:2px dashed #646cff;background-color:#646cff1a}.upload-area{padding:20px;border:1px dashed #aaa;border-radius:4px;margin-bottom:20px}.file-input{display:none}.file-input-label{display:inline-block;padding:8px 16px;background-color:#646cff;color:#fff;border-radius:4px;cursor:pointer;margin:10px 0}.file-input-label:hover{background-color:#535bf2}.file-type-hint{font-size:.8rem;color:#888;margin-top:10px}.file-list{text-align:left}.file-list h3{margin-top:20px;margin-bottom:10px;color:#333}.file-list ul{list-style:none;padding:0;margin:0}.file-name{font-weight:700;display:block;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.file-status{font-size:.8rem;color:#666}.status-pending .file-status{color:#888}.status-processing .file-status{color:#646cff}.status-completed .file-status{color:#4caf50}.status-error .file-status{color:#f44336}.file-result{font-size:.7rem;color:#888;margin-top:4px}.file-size{font-size:.75rem;color:#666;display:block;margin-top:4px}.slider-container{width:100%;margin-top:5px}.slider{width:100%;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#d3d3d3;outline:none;border-radius:5px}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#646cff;cursor:pointer}.slider::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#646cff;cursor:pointer}.slider-labels{display:flex;justify-content:space-between;font-size:.8rem;color:#666;margin-top:2px}.setting-option label{display:block;margin-bottom:5px}.file-item-header{display:flex;justify-content:space-between;align-items:center;width:100%}.file-actions{display:flex;align-items:center}.remove-btn{background:none;border:none;color:#f44336;cursor:pointer;font-size:1.2rem;padding:2px 6px;border-radius:4px;transition:background-color .2s;margin-left:4px}.remove-btn:hover{background-color:#f443361a}.download-btn{background:none;border:none;color:#646cff;cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:4px;transition:background-color .2s}.download-btn:hover{background-color:#646cff1a}.user-settings{position:relative}.settings-toggle-btn{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:.9rem}.settings-toggle-btn:hover{background-color:#e0e0e0}.user-settings-dropdown{position:absolute;top:100%;right:0;width:250px;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:15px;box-shadow:0 4px 8px #0000001a;z-index:1000}.setting-field{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.setting-field:last-child{margin-bottom:0}.setting-field label{margin-right:10px;font-size:.9rem}.setting-field input[type=text],.setting-field input[type=number]{padding:4px 8px;border:1px solid #ddd;border-radius:4px;width:120px}.setting-field input[type=checkbox]{margin-right:10px}.reset-settings{margin-top:15px;border-top:1px solid #eee;padding-top:15px;justify-content:center}.reset-btn{background-color:#f44336;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.reset-btn:hover{background-color:#d32f2f}.quality-control{display:flex;flex-direction:column;gap:8px;width:100%}.quality-slider{display:flex;align-items:center;gap:10px}.quality-value{min-width:40px;text-align:right;font-size:.8rem;color:#666}.file-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.file-list-actions{display:flex;gap:8px}.btn-small{padding:4px 8px;font-size:.8rem}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#d32f2f}.btn-danger:disabled{background-color:#ffcdd2;color:#b71c1c;cursor:not-allowed}.app-footer{width:100%;padding:10px 0;text-align:center;font-size:.9rem;color:#666;border-top:1px solid #eee;margin-top:auto}.app-footer a{color:#646cff;text-decoration:none;font-weight:500;transition:color .2s}.app-footer a:hover{color:#535bf2;text-decoration:underline}#root{display:flex;flex-direction:column;min-height:100vh}.app-container.with-settings{flex:1;margin-bottom:20px}
