*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#007bff;--secondary-color:#6c757d;--font-family:"Inter",sans-serif;--background-color:#f9f9f9;--text-color:#333}body{background-color:#f9f9f9;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:Inter,sans-serif;font-family:var(--font-family);line-height:1.6}a{color:#007bff;color:var(--primary-color);text-decoration:none;transition:.3s}a:hover{color:#00008b}button{cursor:pointer;font-family:Inter,sans-serif;font-family:var(--font-family)}.text-center{text-align:center}.hidden{display:none}.container{margin:0 auto;max-width:1100px;padding:20px}.toast-container{animation:fadeInSlide .4s ease-out;bottom:20px;position:fixed;right:20px;z-index:1000}.toast-message{word-wrap:break-word;background-color:#4caf50;border-radius:6px;box-shadow:0 4px 10px #0003;color:#fff;font-size:14px;max-width:300px;padding:14px 20px}@keyframes fadeInSlide{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.portfolio-design-container{background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;left:0;margin:0;min-height:100vh;padding:0;top:0}.design-sidebar-outer{height:100vh;margin-left:0;overflow:hidden;position:-webkit-sticky;position:sticky;top:0}.design-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 20px 40px #0000001a;display:flex;flex-direction:column;gap:15px;height:100%;overflow-y:auto;padding:20px;width:500px}.sidebar-header{border-bottom:2px solid #667eea1a;padding-bottom:15px;text-align:center}.create-mode-header,.edit-mode-header{align-items:center;display:flex;gap:12px;justify-content:center}.header-content h3{color:#2d3748;font-size:1.2rem;font-weight:700;margin:0}.header-content p{color:#718096;font-size:.85rem;margin:5px 0 0}.upload-section{display:flex;flex-direction:column}.upload-area{align-items:center;background:#667eea03;border:1px dashed #667eea;border-radius:8px;cursor:pointer;display:flex;min-height:44px;padding:8px 10px;text-align:left;transition:all .2s ease}.upload-area:hover{background:rgba(102,126,234,.025);border-color:#5a6fd8;transform:translateY(-1px)}.upload-content{align-items:center;display:flex;flex-direction:row;gap:8px;width:100%}.upload-icon{flex-shrink:0;font-size:1.4rem;margin:0}.upload-text{color:#2d3748;font-size:.8rem;font-weight:500;margin:0}.upload-subtext{color:#718096;font-size:.7rem;line-height:1.2;margin:0}.uploaded-file-info{align-items:center;background:#667eea0d;border-left:4px solid #667eea;border-radius:12px;display:flex;gap:12px;padding:12px}.file-icon{font-size:1.3rem}.file-details{flex:1 1}.file-name{color:#2d3748;font-size:.85rem;font-weight:600}.file-size{color:#718096;font-size:.75rem;margin-top:2px}.file-status{color:#48bb78;font-size:1.1rem;font-weight:700}.controls-section{display:flex;flex-direction:column;gap:8px}.section-header{border-bottom:1px solid #667eea1a;padding-bottom:6px}.section-header h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0}.control-group{display:flex;flex-direction:column;gap:4px}.control-label{align-items:center;color:#4a5568;display:flex;font-size:.8rem;font-weight:500;justify-content:space-between}.value-display{background:#667eea1a;border-radius:6px;color:#667eea;font-size:.75rem;font-weight:600;padding:3px 6px}.tag-input,.text-input,.textarea-input{background:#fffc;border:2px solid #667eea1a;border-radius:8px;font-size:.8rem;padding:8px 10px;transition:all .3s ease}.tag-input:focus,.text-input:focus,.textarea-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.textarea-input{font-family:inherit;min-height:50px;resize:vertical}.range-input{-webkit-appearance:none;appearance:none;background:#667eea33;border-radius:3px;height:6px;outline:none}.range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 8px #667eea4d;cursor:pointer;height:18px;width:18px}.range-input::-moz-range-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 8px #667eea4d;cursor:pointer;height:18px;width:18px}.color-input-wrapper{align-items:center;display:flex;gap:8px}.color-input{background:none;border:2px solid #667eea1a;border-radius:10px;cursor:pointer;height:35px;width:45px}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:8px}.color-value{color:#4a5568;font-size:.85rem;font-weight:500}.tags-container{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;min-height:28px}.tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;font-size:.75rem;font-weight:500;gap:5px;padding:5px 10px}.tag,.tag-remove{align-items:center;color:#fff;display:flex}.tag-remove{background:none;border:none;border-radius:50%;cursor:pointer;font-size:.9rem;font-weight:700;height:14px;justify-content:center;padding:0;transition:background .2s ease;width:14px}.tag-remove:hover{background:#fff3}.action-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}.primary-btn,.secondary-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;padding:12px 18px;transition:all .3s ease}.primary-btn{background:#1e293b;color:#fff}.primary-btn:hover:not(:disabled){box-shadow:0 10px 25px #1e293b4d;transform:translateY(-2px)}.primary-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.secondary-btn{background:#1e293b1a;border:2px solid #1e293b;color:#1e293b}.secondary-btn:hover{background:#1e293b;color:#fff;transform:translateY(-2px)}.btn-icon{font-size:1rem}.design-main-content{flex:1 1}.design-main-content,.loading-container{align-items:center;display:flex;justify-content:center}.loading-container{height:100%;min-height:60vh;width:100%}.loading-content{align-items:center;color:#fff;display:flex;flex-direction:column;gap:20px;text-align:center}.spinner{height:60px;width:60px}.loading-content h3{color:#fff;font-size:1.8rem;font-weight:600;margin:0}.loading-content p{color:#fffc;font-size:1.1rem;margin:0}.loading-progress{background:#fff3;border-radius:2px;height:4px;overflow:hidden;width:200px}.progress-bar{animation:progress 2.5s ease-in-out;background:linear-gradient(90deg,#fff,#fffc);height:100%}@keyframes progress{0%{width:0}to{width:100%}}.portfolio-preview{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0000001a;display:flex;flex-direction:column;gap:25px;height:calc(100vh - 40px);max-width:800px;overflow-y:auto;padding:30px;width:100%}.preview-header{border-bottom:2px solid #667eea1a;padding-bottom:20px;text-align:center}.preview-title h2{color:#2d3748;font-size:2rem;font-weight:700;margin:0 0 10px}.preview-title p{color:#718096;font-size:1.1rem;line-height:1.5;margin:0}.preview-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:15px}.preview-tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;font-size:.8rem;font-weight:500;padding:6px 12px}.model-preview-container{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:15px;box-shadow:inset 0 2px 10px #0000001a;height:400px;overflow:hidden;position:relative}.preview-controls-info{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;border-radius:20px;bottom:15px;color:#fff;font-size:.8rem;left:50%;padding:8px 15px;position:absolute;transform:translateX(-50%)}.preview-controls-info p{margin:0}.preview-description{background:#667eea0d;border-left:4px solid #667eea;border-radius:15px;padding:20px}.preview-description h4{color:#2d3748;font-size:1.2rem;font-weight:600;margin:0 0 10px}.preview-description p{color:#4a5568;font-size:1rem;line-height:1.6;margin:0}.preview-actions{border-top:1px solid #667eea1a;display:flex;gap:15px;justify-content:center;padding-top:20px}.preview-actions .primary-btn,.preview-actions .secondary-btn{flex:1 1;max-width:200px}.welcome-container{align-items:center;display:flex;height:100%;justify-content:center;min-height:60vh;width:100%}.welcome-content{color:#fff;max-width:500px;padding:40px;text-align:center}.welcome-icon{font-size:4rem;margin-bottom:20px}.welcome-content h2{color:#fff;font-size:2.5rem;font-weight:700;margin:0 0 20px}.welcome-content p{color:#ffffffe6;font-size:1.2rem;line-height:1.6;margin:0 0 30px}.welcome-features{display:flex;flex-direction:column;gap:15px;margin-top:30px}.feature-item{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;display:flex;gap:12px;justify-content:center;padding:15px 20px}.feature-icon{font-size:1.5rem}.feature-item span:last-child{color:#fff;font-size:1rem;font-weight:500}@media (max-width:1024px){.portfolio-design-container{flex-direction:column;gap:15px;padding:15px}.design-sidebar{position:relative;top:0;width:100%}.portfolio-preview{max-width:100%}.model-preview-container{height:300px}}@media (max-width:768px){.portfolio-design-container{padding:10px}.design-sidebar,.portfolio-preview{padding:20px}.preview-actions{flex-direction:column}.preview-actions .primary-btn,.preview-actions .secondary-btn{max-width:100%}.welcome-content h2{font-size:2rem}.welcome-content p{font-size:1rem}}.portfolio-view-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;overflow-y:auto;padding:20px}.portfolio-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:0 auto 30px;max-width:1200px;padding:30px}.portfolio-meta{justify-content:space-between;margin-bottom:25px}.back-btn,.portfolio-meta{align-items:center;display:flex}.back-btn{background:#667eea;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.back-btn:hover{background:#5a6fd8;box-shadow:0 8px 20px #667eea4d;transform:translateY(-2px)}.portfolio-stats{align-items:center;display:flex;gap:20px}.stat{background:#667eea1a;border-radius:20px;color:#667eea;font-size:.85rem;font-weight:600;min-width:80px;padding:10px 18px;text-align:center}.portfolio-title-section{margin:20px 0;text-align:center}.portfolio-title{color:#2d3748;font-size:2.2rem;font-weight:700;line-height:1.2;margin:0 0 12px}.portfolio-author{color:#667eea;font-size:1.1rem;font-weight:600;margin:8px 0}.portfolio-date{color:#718096;font-size:.9rem;margin:8px 0 0}.portfolio-tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.portfolio-tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:8px 16px}.portfolio-content{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:2fr 1fr;margin:0 auto;max-width:1200px}.left-column,.right-column{display:flex;flex-direction:column;gap:25px}.right-column{align-self:start}.model-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:25px}.model-viewer{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #667eea1a;border-radius:15px;height:400px;margin-bottom:20px;overflow:hidden;position:relative;width:100%}.model-info{align-items:center;border-top:2px solid #667eea1a;display:flex;justify-content:space-between;padding:15px 0}.model-details{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.model-name{color:#2d3748;font-size:1rem;font-weight:700}.model-size{color:#718096;font-size:.85rem;font-weight:500}.controls-hint{color:#718096;font-size:.8rem;font-style:italic;margin:0;text-align:right}.portfolio-description{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:25px}.portfolio-description h3{color:#2d3748;font-size:1.3rem;font-weight:700;margin:0 0 15px}.portfolio-description p{color:#4a5568;font-size:.95rem;line-height:1.6;margin:0}.technical-details{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:25px}.technical-details h3{color:#2d3748;font-size:1.3rem;font-weight:700;margin:0 0 20px}.details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.detail-item{align-items:center;background:#667eea0d;border-left:4px solid #667eea;border-radius:12px;display:flex;justify-content:space-between;padding:12px 18px}.detail-label{color:#4a5568;font-size:.9rem;font-weight:600}.detail-value{color:#667eea;font-size:.9rem;font-weight:700}.portfolio-actions{display:flex;flex-direction:column;gap:12px;margin:20px 0}.action-btn{border:none;border-radius:25px;cursor:pointer;font-size:.9rem;font-weight:700;letter-spacing:.5px;padding:12px 20px;text-align:center;text-transform:uppercase;transition:all .3s ease}.like-btn{background:#1e293b;color:#fff}.like-btn:hover{box-shadow:0 12px 25px #1e293b66;transform:translateY(-3px)}.share-btn{background:#475569;color:#fff}.share-btn:hover{box-shadow:0 12px 25px #47556966;transform:translateY(-3px)}.download-btn{background:#64748b;color:#fff}.download-btn:hover{box-shadow:0 12px 25px #64748b66;transform:translateY(-3px)}.related-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0000001a;grid-column:1/-1;margin-top:30px;padding:30px}.related-section h3{color:#2d3748;font-size:1.4rem;font-weight:700;margin:0 0 25px;text-align:center}.related-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));justify-items:center}.related-item{cursor:pointer;max-width:200px;text-align:center;transition:transform .3s ease;width:100%}.related-item:hover{transform:translateY(-5px)}.related-thumbnail{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #667eea1a;border-radius:12px;height:120px;margin-bottom:12px;transition:border-color .3s ease;width:100%}.related-item:hover .related-thumbnail{border-color:#667eea}.related-title{color:#4a5568;font-size:.9rem;font-weight:600;line-height:1.4;margin:0}.loading-view{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-view h3{color:#fff;font-size:1.4rem;font-weight:600;margin:0 0 10px}.loading-view p{color:#fffc;font-size:1rem;margin:0}.error-view{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.error-icon{font-size:4rem;margin-bottom:20px;opacity:.8}.error-view h3{color:#fff;font-size:1.8rem;font-weight:600;margin:0 0 15px}.error-view p{color:#fffc;font-size:1.1rem;margin:0 0 25px;max-width:400px}.back-home-btn{background:#1e293b;border:2px solid #1e293b;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.back-home-btn:hover{background:#475569;color:#fff;transform:translateY(-2px)}@media (max-width:1024px){.portfolio-content{gap:25px;grid-template-columns:1fr}.portfolio-actions{flex-direction:row;flex-wrap:wrap;justify-content:center}.action-btn{flex:1 1;min-width:120px}}@media (max-width:768px){.portfolio-view-container{padding:15px}.portfolio-header{margin-bottom:20px;padding:20px}.portfolio-title{font-size:1.8rem}.portfolio-meta{align-items:center;flex-direction:column;gap:15px}.portfolio-stats{flex-wrap:wrap;justify-content:center}.model-viewer{height:300px}.model-info{align-items:center;flex-direction:column;gap:12px}.controls-hint,.model-info{text-align:center}.portfolio-actions{align-items:stretch;flex-direction:column}.action-btn{text-align:center}.related-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.related-thumbnail{height:100px}}@media (max-width:480px){.portfolio-view-container{padding:10px}.portfolio-title{font-size:1.5rem}.portfolio-stats{flex-direction:column;gap:10px}.stat{text-align:center;width:100%}.model-viewer{height:250px}.related-grid{grid-template-columns:repeat(2,1fr)}}.onboard-container{align-items:center;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:20px}h2{color:#fff;font-size:1.75rem;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1.25rem;max-width:400px;width:100%}label{color:#fff;display:block;font-weight:600;margin-bottom:.5rem}.form-input{background-color:#fff;border:1px solid #ccc;border-radius:8px;color:#333;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.form-input:focus{border-color:#0070f3;outline:none}.submit-button{background-color:#0070f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;max-width:400px;padding:.75rem;transition:background-color .2s ease;width:100%}.submit-button:hover:not(:disabled){background-color:#005bd1}.submit-button:disabled{background-color:#a3a3a3;cursor:not-allowed}p{color:#fff;text-align:center}.login-page *{box-sizing:border-box;font-family:Poppins,sans-serif;margin:0;padding:0}.login-page{align-items:center;background:linear-gradient(135deg,#f0f4ff,#e6f0ff);color:#1e293b;display:flex;height:100vh;justify-content:center;margin:0;position:relative}.login-page:before{background-image:radial-gradient(circle at 1px 1px,#ffffff1a 1px,#0000 0);background-size:20px 20px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.loginContainer{animation:fadeIn 1.2s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 20px 40px #0000001a,0 1px 3px #0000001a;max-width:420px;padding:2.5rem;position:relative;text-align:center;width:100%;z-index:1}.loginContainer h2{color:#1e293b;font-size:2rem;font-weight:600;margin-bottom:1rem}.loginContainer p{color:#64748b;font-size:1rem;line-height:1.5;margin-bottom:2rem}.loginContainer form div{margin-bottom:1.5rem;text-align:left}.loginContainer label{color:#374151;display:block;font-size:1rem;font-weight:500;margin-bottom:.5rem}.loginContainer input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:1rem;outline:none;padding:.8rem;transition:all .3s ease;width:100%}.loginContainer input:focus{border:1px solid #3b82f6;box-shadow:0 0 0 3px #3b82f61a}.loginContainer button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:20px;padding:.8rem;transition:all .3s ease-in-out;width:100%}.loginContainer button:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 8px 20px #3b82f666;transform:translateY(-1px)}.loginContainer button:active{transform:translateY(0)}.login-page p.error{color:#ef4444;font-size:.9rem;margin-top:1rem}.login-page p.success{color:#10b981;font-size:.9rem;margin-top:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.loginContainer{border-radius:8px;padding:1.5rem}.loginContainer h2{font-size:1.5rem}.loginContainer button,.loginContainer input{font-size:.9rem;padding:.7rem}}