.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:70px}.navbar{position:fixed;top:0;left:0;right:0;background-color:var(--dark-bg);color:#fff;padding:1rem 0;box-shadow:var(--shadow);z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.nav-menu{display:flex;align-items:center;gap:1.5rem}.nav-link{color:#fff;text-decoration:none;transition:color .3s}.nav-link:hover{color:var(--primary-color)}.nav-user{color:var(--text-secondary);font-size:.9rem}.nav-btn{background-color:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;text-decoration:none;transition:background-color .3s}.nav-btn:hover{background-color:#3a7bc8}.home-container{max-width:1200px;margin:0 auto;padding:2rem}.hero-section{text-align:center;padding:4rem 2rem}.hero-section h1{font-size:3rem;margin-bottom:1rem;color:var(--text-primary)}.hero-subtitle{font-size:1.5rem;color:var(--text-secondary);margin-bottom:3rem}.hero-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem}.feature{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:var(--shadow)}.feature-icon{font-size:3rem;display:block;margin-bottom:1rem}.feature h3{margin-bottom:.5rem}.hero-cta{display:flex;gap:1rem;justify-content:center}.cta-button{padding:1rem 2rem;font-size:1.1rem;border-radius:4px;text-decoration:none;cursor:pointer;transition:all .3s}.cta-button.primary{background-color:var(--primary-color);color:#fff}.cta-button.primary:hover{background-color:#3a7bc8}.cta-button.secondary{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.cta-button.secondary:hover{background-color:var(--primary-color);color:#fff}.info-section{padding:4rem 2rem;text-align:center}.info-section h2{font-size:2.5rem;margin-bottom:3rem}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.step{padding:2rem}.step-number{width:60px;height:60px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1rem}.auth-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 70px);padding:2rem}.auth-card{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:var(--shadow);width:100%;max-width:400px}.auth-card h2{margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.radio-group{display:flex;gap:1rem}.radio-group label{display:flex;align-items:center;gap:.5rem}button[type=submit],.auth-card button{width:100%;padding:.75rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s}button[type=submit]:hover,.auth-card button:hover{background-color:#3a7bc8}button:disabled{background-color:var(--text-secondary);cursor:not-allowed}.divider{text-align:center;margin:1.5rem 0;color:var(--text-secondary);position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background-color:var(--border-color)}.divider:before{left:0}.divider:after{right:0}.google-btn{background-color:#fff;color:var(--text-primary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.google-btn:hover{background-color:var(--light-bg)}.auth-link{text-align:center;margin-top:1rem;color:var(--text-secondary)}.auth-link a{color:var(--primary-color);text-decoration:none}.auth-link a:hover{text-decoration:underline}.marketplace-container{max-width:1200px;margin:0 auto;padding:2rem}.marketplace-header{margin-bottom:2rem}.marketplace-header h1{margin-bottom:1rem}.filter-controls{display:flex;align-items:center;gap:1rem}.filter-controls select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.models-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.no-models{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.model-card{background:var(--card-bg);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}.model-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.model-preview{height:250px;background:#f0f0f0;cursor:pointer;position:relative}.preview-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary)}.preview-placeholder span{font-size:4rem;margin-bottom:1rem}.model-info{padding:1.5rem}.model-info h3{margin-bottom:.5rem;font-size:1.25rem}.model-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.4;height:2.8em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.model-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:.9rem}.category{background:var(--light-bg);padding:.25rem .75rem;border-radius:12px;font-size:.85rem}.downloads{color:var(--text-secondary)}.model-footer{display:flex;justify-content:space-between;align-items:center}.price{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.buy-btn{background-color:var(--secondary-color);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.buy-btn:hover{background-color:#3da864}.upload-container{max-width:600px;margin:0 auto;background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:var(--shadow)}.upload-container h2,.upload-form .form-group{margin-bottom:1.5rem}.progress-bar{width:100%;height:30px;background-color:var(--light-bg);border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background-color:var(--primary-color);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;transition:width .3s}.access-denied{text-align:center;padding:4rem 2rem}.access-denied h2{margin-bottom:1rem;color:var(--danger-color)}.access-denied button{margin-top:2rem;padding:.75rem 2rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}@media(max-width:768px){.nav-container{padding:0 1rem}.nav-menu{gap:1rem}.nav-user{display:none}.hero-section h1{font-size:2rem}.hero-subtitle{font-size:1.2rem}.hero-cta{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:300px}.models-grid{grid-template-columns:1fr}.filter-controls{flex-direction:column;align-items:stretch}.filter-controls select{width:100%}}@media(max-width:480px){.main-content{padding-top:60px}.nav-logo{font-size:1.2rem}.hero-section,.info-section{padding:2rem 1rem}.marketplace-container,.home-container{padding:1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #4a90e2;--secondary-color: #50c878;--danger-color: #e74c3c;--dark-bg: #1a1a1a;--light-bg: #f5f5f5;--card-bg: #ffffff;--text-primary: #333333;--text-secondary: #666666;--border-color: #e0e0e0;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-hover: 0 4px 16px rgba(0, 0, 0, .15)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--light-bg);color:var(--text-primary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading{text-align:center;padding:2rem;font-size:1.2rem;color:var(--text-secondary)}.error-message{background-color:#fee;color:var(--danger-color);padding:.75rem;border-radius:4px;margin-bottom:1rem;border:1px solid #fcc}.page-container{max-width:1200px;margin:0 auto;padding:2rem}@media(max-width:768px){.page-container{padding:1rem}}
