:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #1a1a24;--bg-card-hover: #22222e;--bg-glass: rgba(26, 26, 36, .8);--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-muted: #6b6b80;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--accent-glow: 0 0 30px rgba(99, 102, 241, .3);--success: #22c55e;--error: #ef4444;--warning: #f59e0b;--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:var(--radius-full)}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.page-grid{display:grid;grid-template-columns:1fr 320px;gap:2rem}@media (max-width: 1024px){.page-grid{grid-template-columns:1fr}}.navbar{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);padding:1rem 2rem;position:sticky;top:0;z-index:100}.navbar-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.navbar-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.navbar-logo{width:40px;height:40px;background:var(--accent-gradient);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff}.navbar-logo-img{height:40px;width:auto;object-fit:contain}.navbar-title{font-size:1.5rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-links{display:flex;gap:.5rem}.nav-link{padding:.75rem 1.25rem;border-radius:var(--radius-md);text-decoration:none;color:var(--text-secondary);font-weight:500;transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem}.nav-link:hover,.nav-link.active{background:var(--bg-card);color:var(--text-primary)}.nav-link.active{background:var(--accent-gradient);color:#fff}.navbar-user{display:flex;align-items:center;gap:1rem}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--accent-primary);background:var(--bg-secondary)}.user-avatar-placeholder{width:40px;height:40px;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:all var(--transition-fast);text-decoration:none}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 40px #6366f166}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-md)}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-lg{padding:1rem 2rem;font-size:1.1rem}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-normal)}.card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.card-header{padding:1.25rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:1rem}.card-body{padding:1.25rem}.card-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:1rem}.post-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-normal)}.post-card:hover{border-color:var(--border-hover)}.post-images{position:relative;aspect-ratio:16/10;overflow:hidden}.post-images img{width:100%;height:100%;object-fit:cover}.post-image-counter{position:absolute;top:1rem;right:1rem;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.35rem .75rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:500}.post-image-nav{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem}.post-image-dot{width:8px;height:8px;border-radius:50%;background:#fff6;cursor:pointer;transition:all var(--transition-fast)}.post-image-dot.active{background:#fff;width:24px;border-radius:var(--radius-full)}.post-content{padding:1.25rem}.post-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.post-author-pic{width:44px;height:44px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--accent-primary)}.post-author-info{flex:1}.post-author-name{font-weight:600;color:var(--text-primary)}.post-date{font-size:.85rem;color:var(--text-muted)}.post-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.post-workout{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:1rem;white-space:pre-wrap}.post-hashtags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.hashtag{background:#6366f126;color:var(--accent-primary);padding:.35rem .75rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.hashtag:hover{background:#6366f140}.post-actions{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.action-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:.95rem;cursor:pointer;padding:.5rem .75rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.action-btn.liked{color:#ef4444}.action-btn.saved{color:var(--accent-primary)}.action-btn svg{width:20px;height:20px}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.form-input,.form-textarea,.form-select{width:100%;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f133}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:120px}.form-error{color:var(--error);font-size:.85rem;margin-top:.5rem}.image-upload{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:2rem;text-align:center;cursor:pointer;transition:all var(--transition-fast)}.image-upload:hover{border-color:var(--accent-primary);background:#6366f10d}.image-upload-icon{width:48px;height:48px;margin:0 auto 1rem;color:var(--text-muted)}.image-upload-text{color:var(--text-secondary);margin-bottom:.5rem}.image-upload-hint{color:var(--text-muted);font-size:.85rem}.image-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.image-preview{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover}.image-preview-remove{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:var(--radius-full);background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.image-preview-remove:hover{background:var(--error)}.sidebar{position:sticky;top:100px}.top-users-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.top-users-header{padding:1.25rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem}.top-users-header h3{font-size:1.1rem;font-weight:600}.top-users-list{padding:.75rem}.top-user-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.top-user-item:hover{background:var(--bg-card-hover)}.top-user-rank{width:28px;height:28px;border-radius:var(--radius-full);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--text-muted)}.top-user-rank.gold{background:linear-gradient(135deg,#fcd34d,#f59e0b);color:#1a1a24}.top-user-rank.silver{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#1a1a24}.top-user-rank.bronze{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.top-user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover}.top-user-info{flex:1}.top-user-name{font-weight:600;font-size:.95rem}.top-user-likes{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:.35rem}.hashtags-filter{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:1.25rem;margin-bottom:1.5rem}.hashtags-filter h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-secondary)}.hashtags-list{display:flex;flex-wrap:wrap;gap:.5rem}.hashtag-filter{background:var(--bg-secondary);color:var(--text-secondary);padding:.5rem 1rem;border-radius:var(--radius-full);font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);border:none}.hashtag-filter:hover,.hashtag-filter.active{background:var(--accent-gradient);color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding:1rem}.pagination-btn{padding:.75rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-hover)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--text-secondary);padding:0 1rem}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.auth-card{width:100%;max-width:440px;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);padding:2.5rem;box-shadow:0 20px 60px #0000004d}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{width:60px;height:60px;background:var(--accent-gradient);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.75rem;color:#fff;margin:0 auto 1rem}.auth-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.auth-subtitle{color:var(--text-secondary)}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);color:var(--text-secondary)}.auth-footer a{color:var(--accent-primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.profile-header{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);padding:2rem;margin-bottom:2rem;display:flex;align-items:center;gap:2rem}.profile-avatar{width:120px;height:120px;border-radius:var(--radius-full);object-fit:cover;border:4px solid var(--accent-primary);box-shadow:var(--accent-glow)}.profile-avatar-placeholder{width:120px;height:120px;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:3rem;color:#fff;border:4px solid transparent;box-shadow:var(--accent-glow)}.profile-info{flex:1}.profile-name{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.profile-bio{color:var(--text-secondary);margin-bottom:1rem;max-width:500px}.profile-stats{display:flex;gap:2rem}.profile-stat{text-align:center}.profile-stat-value{font-size:1.5rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-stat-label{font-size:.9rem;color:var(--text-muted)}.profile-tabs{display:flex;gap:.5rem;margin-bottom:2rem}.profile-tab{padding:.875rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.profile-tab:hover,.profile-tab.active{background:var(--accent-gradient);color:#fff;border-color:transparent}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--text-muted)}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-primary)}.text-center{text-align:center}.text-gradient{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease forwards}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse .3s ease}
