*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f3f2ef;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6}.App,.main-content{min-height:100vh}.main-content{padding-top:60px}.auth-content{align-items:center;background:linear-gradient(135deg,#0a66c2,#004182);display:flex;justify-content:center;min-height:100vh}.loading-spinner{justify-content:center;min-height:200px}.btn-primary{background-color:#0a66c2;border:none;border-radius:24px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background-color .2s}.btn-primary:hover{background-color:#004182}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.error-message{align-items:center;background-color:#fee;border:1px solid #fed7d7;border-radius:8px;color:#c53030;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px}.success-message{background-color:#f0fff4;border:1px solid #c6f6d5;border-radius:8px;color:#22543d;margin-bottom:16px;padding:12px}.retry-btn{background-color:#c53030;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px}.retry-btn:hover{background-color:#9b2c2c}.avatar-placeholder{align-items:center;background-color:#0a66c2;border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.avatar-placeholder img{border-radius:50%;height:100%;object-fit:cover;width:100%}@media (max-width:768px){.main-content{padding-top:60px}}@media (max-width:480px){.main-content{padding-top:70px}}.navbar{background-color:#fff;border-bottom:1px solid #e1e5e9;box-shadow:0 1px 3px #0000001a;left:0;position:fixed;right:0;top:0;z-index:1000}.navbar-container{align-items:center;display:flex;height:60px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.navbar-brand{color:#0a66c2;text-decoration:none}.navbar-brand h2{font-size:20px;font-weight:700;margin:0}.navbar-nav{display:flex;gap:24px}.nav-link{align-items:center;border-radius:8px;color:#666;display:flex;flex-direction:column;font-size:12px;font-weight:500;gap:4px;padding:8px 12px;text-decoration:none;transition:all .2s}.nav-link:hover{background-color:#f1f5f9;color:#0a66c2}.nav-link.active{color:#0a66c2}.nav-link svg{margin-bottom:2px}.navbar-user{align-items:center;display:flex;gap:16px}.user-name{color:#333}.logout-btn,.user-name{font-size:14px;font-weight:500}.logout-btn{background-color:initial;border:1px solid #ddd;border-radius:20px;color:#666;cursor:pointer;padding:8px 16px;transition:all .2s}.logout-btn:hover{background-color:#f3f2ef;color:#333}@media (max-width:768px){.navbar-container{padding:0 16px}.user-name{display:none}.navbar-nav{gap:16px}.nav-link{font-size:11px;padding:6px 8px}}@media (max-width:480px){.navbar-brand h2{font-size:18px}.navbar-nav{gap:12px}.logout-btn{font-size:13px;padding:6px 12px}}.loading-container{align-items:center;display:flex;justify-content:center;min-height:200px;padding:40px}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:16px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#0a66c2;height:40px;width:40px}.loading-message{color:#666;font-size:16px;font-weight:500}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container.fullscreen{background-color:#ffffffe6;bottom:0;left:0;min-height:100vh;position:fixed;right:0;top:0;z-index:9999}.auth-container{align-items:center;background:linear-gradient(135deg,#0a66c2,#004182);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;max-width:450px;padding:40px 32px;width:100%}.auth-header{margin-bottom:32px;text-align:center}.auth-header h1{color:#333;font-size:28px;font-weight:700;margin-bottom:8px}.auth-header p{color:#666;font-size:16px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group textarea{min-height:80px}.auth-button{background-color:#0a66c2;border:none;border-radius:24px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 20px;transition:background-color .2s}.auth-button:hover:not(:disabled){background-color:#004182}.auth-button:disabled{background-color:#ccc;cursor:not-allowed}.auth-footer{border-top:1px solid #eee;margin-top:24px;padding-top:20px;text-align:center}.auth-footer p{color:#666;font-size:14px}.auth-link{color:#0a66c2;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.demo-credentials{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:24px;padding:16px}.demo-credentials h4{color:#333;font-size:14px;margin-bottom:8px}.demo-credentials p{color:#666;font-size:13px;margin:4px 0}@media (max-width:480px){.auth-container{padding:16px}.auth-card{padding:32px 24px}.auth-header h1{font-size:24px}.form-group input,.form-group textarea{font-size:16px}}.post-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:box-shadow .2s}.post-card:hover{box-shadow:0 4px 12px #0000001a}.post-header{padding:16px 20px 12px}.post-author{align-items:center;display:flex;gap:12px}.author-avatar .avatar-placeholder,.author-avatar img{border-radius:50%;height:48px;object-fit:cover;width:48px}.author-avatar .avatar-placeholder{align-items:center;background-color:#0a66c2;color:#fff;display:flex;font-size:18px;font-weight:700;justify-content:center}.author-info{flex:1 1}.author-name{color:#333;font-size:15px;font-weight:600;text-decoration:none;transition:color .2s}.author-name:hover{color:#0a66c2}.post-time{color:#666;font-size:13px}.post-content{padding:0 20px 16px}.post-content p{color:#333;font-size:15px;line-height:1.6;margin:0}.post-stats{background-color:#f8f9fa;border-bottom:1px solid #e1e5e9;border-top:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:8px 20px}.post-stats span{color:#666;font-size:13px}.post-actions{display:flex;padding:8px 12px}.action-btn{align-items:center;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .2s}.action-btn:hover{background-color:#f1f5f9;color:#333}.action-btn.liked{color:#e74c3c}.action-btn:disabled{cursor:not-allowed;opacity:.6}.comments-section{background-color:#f8f9fa;border-top:1px solid #e1e5e9}.add-comment{border-bottom:1px solid #e1e5e9;display:flex;gap:12px;padding:16px 20px}.comment-avatar .avatar-placeholder,.comment-avatar img{border-radius:50%;height:32px;object-fit:cover;width:32px}.comment-avatar .avatar-placeholder{align-items:center;background-color:#0a66c2;color:#fff;display:flex;font-size:14px;font-weight:700;justify-content:center}.comment-input{align-items:center;display:flex;flex:1 1;gap:8px}.comment-input input{border:1px solid #ddd;border-radius:20px;flex:1 1;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.comment-input input:focus{border-color:#0a66c2}.comment-submit{background-color:#0a66c2;border:none;border-radius:16px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background-color .2s}.comment-submit:hover:not(:disabled){background-color:#004182}.comment-submit:disabled{background-color:#ccc;cursor:not-allowed}.comments-list{padding:0 20px 16px}.comment{display:flex;gap:12px;margin-bottom:12px}.comment:last-child{margin-bottom:0}.comment-content{background:#fff;border-radius:16px;flex:1 1;padding:8px 12px}.comment-header{align-items:center;display:flex;gap:8px;margin-bottom:2px}.comment-author{color:#333;font-size:13px;font-weight:600}.comment-time{color:#666;font-size:12px}.comment-text{color:#333;font-size:14px;line-height:1.4;margin:0}@media (max-width:768px){.post-card{border-radius:8px;margin:0 -4px}.add-comment,.comments-list,.post-content,.post-header,.post-stats{padding-left:16px;padding-right:16px}.action-btn{font-size:13px;padding:10px}}.create-post{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.create-post-header{align-items:center;display:flex;gap:16px;margin-bottom:16px}.user-avatar .avatar-placeholder,.user-avatar img{border-radius:50%;height:48px;object-fit:cover;width:48px}.user-avatar .avatar-placeholder{align-items:center;background-color:#0a66c2;color:#fff;display:flex;font-size:18px;font-weight:700;justify-content:center}.post-prompt h3{color:#333;font-size:18px;font-weight:600;margin:0}.create-post-form,.post-input-container{display:flex;flex-direction:column;gap:12px}.post-textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:16px;min-height:100px;padding:16px;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.post-textarea:focus{border-color:#0a66c2;box-shadow:0 0 0 3px #0a66c21a;outline:none}.post-textarea::placeholder{color:#999}.post-input-footer{align-items:center;display:flex;justify-content:space-between}.character-count{color:#666;font-size:14px}.character-count .warning{color:#e74c3c;font-weight:600}.post-button{background-color:#0a66c2;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 24px;transition:background-color .2s}.post-button:hover:not(:disabled){background-color:#004182}.post-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.create-post{border-radius:8px;margin:0 -4px 16px;padding:16px}.create-post-header{gap:12px}.post-prompt h3{font-size:16px}.post-textarea{font-size:16px;min-height:80px}.post-input-footer{align-items:stretch;flex-direction:column;gap:12px}.post-button{width:100%}}.feed-container{margin:0 auto;max-width:680px;padding:20px}.feed-content{display:flex;flex-direction:column;gap:20px}.feed-header{padding:20px 0;text-align:center}.feed-header h1{color:#333;font-size:28px;font-weight:700;margin-bottom:8px}.feed-header p{color:#666;font-size:16px}.posts-section{display:flex;flex-direction:column;gap:16px}.no-posts{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:60px 20px;text-align:center}.no-posts h3{color:#333;font-size:20px;margin-bottom:8px}.no-posts p{color:#666;font-size:16px}.posts-list{display:flex;flex-direction:column;gap:16px}@media (max-width:768px){.feed-container{max-width:100%;padding:16px}.feed-header h1{font-size:24px}.feed-header p{font-size:14px}}.edit-profile-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.edit-profile-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.modal-header h2{color:#333;font-size:24px;font-weight:700;margin:0}.close-button{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;padding:8px;transition:background-color .2s}.close-button:hover{background-color:#f1f5f9}.edit-profile-form{gap:20px}.edit-profile-form,.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-size:14px;font-weight:600;margin-bottom:6px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:#0a66c2;box-shadow:0 0 0 3px #0a66c21a;outline:none}.form-group textarea{font-family:inherit;min-height:100px;resize:vertical}.char-count,.form-group small{color:#666;font-size:12px;margin-top:4px}.form-actions{border-top:1px solid #e1e5e9;display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:20px}.cancel-button{background-color:initial;border:1px solid #ddd;border-radius:8px;color:#666;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:all .2s}.cancel-button:hover:not(:disabled){background-color:#f8f9fa;color:#333}.save-button{background-color:#0a66c2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:background-color .2s}.save-button:hover:not(:disabled){background-color:#004182}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.edit-profile-overlay{padding:16px}.edit-profile-modal{max-height:95vh;padding:20px}.modal-header h2{font-size:20px}.form-actions{flex-direction:column-reverse}.cancel-button,.save-button{width:100%}}.profile-container{margin:0 auto;max-width:800px;padding:20px}.profile-content{display:flex;flex-direction:column;gap:24px}.profile-header{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:24px;justify-content:space-between;padding:32px}.profile-info{display:flex;flex:1 1;gap:24px}.profile-avatar{position:relative}.profile-avatar .avatar-placeholder,.profile-avatar img{border-radius:50%;height:120px;object-fit:cover;width:120px}.profile-avatar .avatar-placeholder{align-items:center;background-color:#0a66c2;color:#fff;display:flex;font-size:48px;font-weight:700;justify-content:center}.profile-details{flex:1 1}.profile-details h1{color:#333;font-size:32px;font-weight:700;margin-bottom:8px}.profile-email{color:#666;font-size:16px;margin-bottom:12px}.profile-bio{color:#333;font-size:16px;line-height:1.6;margin-bottom:16px}.profile-stats{color:#666;display:flex;font-size:14px;gap:24px}.profile-actions{display:flex;gap:12px}.edit-profile-btn{background-color:#0a66c2;border:none;border-radius:20px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background-color .2s}.edit-profile-btn:hover{background-color:#004182}.profile-posts{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.profile-posts h2{border-bottom:1px solid #e1e5e9;color:#333;font-size:24px;font-weight:700;margin-bottom:20px;padding-bottom:16px}.profile-error{align-items:center;display:flex;justify-content:center;min-height:400px;padding:20px}@media (max-width:768px){.profile-container{padding:16px}.profile-header{padding:24px}.profile-header,.profile-info{align-items:center;flex-direction:column;text-align:center}.profile-avatar .avatar-placeholder,.profile-avatar img{height:100px;width:100px}.profile-avatar .avatar-placeholder{font-size:36px}.profile-details h1{font-size:24px}.profile-stats{justify-content:center}}