*,*:before,*:after{box-sizing:border-box}:root{--background-color: #f4f4f9;--text-color: #212121;--card-background: #ffffff;--card-border: #e0e0e0;--thumbnail-background: #e9e9f0;--input-background: #ffffff;--input-border: #cccccc;--shadow-color: rgba(0, 0, 0, .1);--hover-shadow-color: rgba(0, 0, 0, .15);--primary-color: #3f51b5;--primary-text-color: white;--error-text-color: #d32f2f;--error-background-color: #ffebee;--error-border-color: #ef9a9a;--tag-hover-bg: #303f9f}#root{margin:0 auto;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text-color);background-color:var(--background-color);min-height:100vh}.header-bar{background-color:#1976d2;color:#fff;padding:16px;margin-bottom:24px;width:100%}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 1.5rem;gap:1rem}.header-logo{height:40px;margin-right:20px}.header-controls-group{display:flex;gap:16px;align-items:center;flex-grow:1;justify-content:center}.header-actions{display:flex;align-items:center;gap:8px}.search-input-root.MuiOutlinedInput-root{border-radius:20px}.search-input-root.MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:#ffffff80;border-width:1px;border-style:solid}.search-input-root.MuiOutlinedInput-root .MpiInputBase-input{color:#fff}.search-input-root.MuiOutlinedInput-root .MuiInputBase-input:focus{outline:none}.search-input-root.MuiOutlinedInput-root .MuiInputBase-input::placeholder{color:#ffffffb3;opacity:1}.space-select-root.MuiOutlinedInput-root{color:#fff;border-radius:20px}.space-select-root.MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:#ffffff80;border-radius:20px;border-width:1px;border-style:solid}.space-select-root.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#fff;border-width:1px;border-style:solid}.space-select-root.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#fff!important;border-width:2px!important;border-style:solid!important;outline:none!important;box-shadow:none!important}.space-select-root.MuiOutlinedInput-root .MuiSelect-icon{color:#fff}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}header{margin-bottom:2rem;text-align:center}h1{font-size:2.5em;line-height:1.1}.gallery{display:grid;grid-template-columns:repeat(auto-fit,220px);justify-content:center;gap:1.25rem;text-align:left}.no-results{grid-column:1 / -1;text-align:center;font-size:1.2rem;color:var(--text-color);opacity:.7;padding:3rem 0}.model-card{background-color:var(--card-background);border:1px solid var(--card-border);border-radius:8px;padding:1rem;transition:box-shadow .2s ease-in-out;cursor:pointer;display:flex;flex-direction:column}.model-card:hover{box-shadow:0 10px 20px var(--hover-shadow-color)}.model-card h2{margin-top:1rem;margin-bottom:.5rem;font-size:1.25em}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem}.tag{background-color:var(--primary-color);color:var(--primary-text-color);padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .2s}.tag:hover{background-color:var(--tag-hover-bg);transform:scale(1.05)}.error{color:var(--error-text-color);background-color:var(--error-background-color);border:1px solid var(--error-border-color);padding:1rem;border-radius:8px;text-align:center;margin:0 1.5rem}.upload-form{background-color:var(--card-background);padding:2rem;border-radius:8px;margin-top:2rem;border:1px solid var(--card-border);max-width:600px;margin-left:auto;margin-right:auto;text-align:left}.upload-form h3{margin-top:0;margin-bottom:1.5rem;text-align:center;font-size:1.5em}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input[type=text],.form-group input[type=file]{width:100%;padding:.75rem;border-radius:4px;border:1px solid var(--input-border);background-color:var(--input-background);color:var(--text-color);font-size:1rem}.upload-form button{width:100%;padding:.75rem;border-radius:8px;border:1px solid transparent;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--primary-color);cursor:pointer;transition:background-color .25s;color:var(--primary-text-color)}.upload-form button:hover{background-color:#303f9f}.upload-form button:disabled{background-color:#555;cursor:not-allowed;opacity:.7}.error-message{color:var(--error-text-color);background-color:var(--error-background-color);border:1px solid var(--error-border-color);padding:1rem;border-radius:8px;text-align:center;margin-bottom:1rem}.model-thumbnail{width:100%;height:180px;background-color:var(--thumbnail-background);border-radius:8px;margin-bottom:15px;display:flex;justify-content:center;align-items:center;font-size:4rem;overflow:hidden;cursor:pointer}.model-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.viewer-loading{display:flex;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.5rem;color:var(--text-color);opacity:.8}.modal-title-container{display:flex;justify-content:space-between;align-items:center;width:100%;gap:16px}.modal-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-title-actions{display:flex;flex-shrink:0;gap:8px}.scene-tree-panel{width:300px;flex-shrink:0;border-left:1px solid var(--card-border);padding:1rem;overflow-y:auto;background-color:var(--card-background)}body{margin:0;padding:0;min-width:320px;min-height:100vh}
