.spinner-overlay{position:fixed;inset:0;display:grid;place-items:center;background:transparent;z-index:9999}.loading-spinner{width:48px;height:48px;border:4px solid rgba(0,0,0,.15);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:center;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .25s ease}.modal{background:#fff;padding:2rem 2.5rem;border-radius:10px;position:relative;max-width:640px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 12px 24px #00000026;animation:slideUp .25s ease}.close-btn{position:absolute;top:12px;right:14px;font-size:1.4rem;background:none;border:none;color:#777;cursor:pointer;transition:color .2s ease,transform .1s ease}.close-btn:hover{color:#000;transform:scale(1.15)}.close-btn:active{transform:scale(1);color:#005bb5}.modal::-webkit-scrollbar{width:6px}.modal::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.modal-backdrop{align-items:stretch;justify-content:stretch}.modal{display:flex;flex-direction:column;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;padding:1.5rem 1.25rem;animation:mobileSlideUp .3s ease}.close-btn{top:16px;right:16px;font-size:1.75rem}@keyframes mobileSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.btn-component{display:inline-block;padding:12px 20px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;text-align:center;transition:all .3s ease;box-shadow:0 2px 5px #0000001a;min-width:120px}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px #007bff80}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-secondary:focus{outline:none;box-shadow:0 0 0 3px #6c757d80}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-danger:focus{outline:none;box-shadow:0 0 0 3px #dc354580}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#218838}.btn-success:focus{outline:none;box-shadow:0 0 0 3px #28a74580}.btn-large{font-size:1.125rem;padding:14px 24px}.btn-small{font-size:.875rem;padding:8px 16px}.btn-component:disabled{background-color:#e0e0e0;color:#b0b0b0;cursor:not-allowed;box-shadow:none}.input-component{display:flex;flex-direction:column;width:100%}.input-component input{width:100%;box-sizing:border-box}.textarea-ui-div{display:flex;flex-direction:column;width:100%}.textarea-ui-component{width:100%;box-sizing:border-box}.textarea-ui-div label{font-weight:500;color:#374151;margin-bottom:.4rem;font-size:.95rem}.textarea-ui-component{width:100%;min-height:200px;padding:.75rem;font-size:1rem;line-height:1.4;color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;outline:none;resize:none;transition:border-color .2s ease,box-shadow .2s ease}.textarea-ui-component:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.textarea-ui-component::placeholder{color:#9ca3af;opacity:1}.textarea-ui-component:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.7}.textarea-ui-component:invalid,.textarea-ui-div .textarea-error-p{border-color:#dc2626}.textarea-error-p{color:#dc2626;font-size:.875rem;margin-top:.25rem}@media(max-width:768px){.btn-component{min-width:auto;padding:8px;font-size:1rem;border-radius:50%;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}}.sidebar-overlay{position:fixed;inset:0;background:#0006;opacity:0;pointer-events:none;transition:.3s ease;z-index:150}.sidebar-overlay.show{opacity:1;pointer-events:all}.sidebar{position:fixed;left:-260px;top:0;width:260px;height:100vh;background:#fff;padding:20px;box-shadow:2px 0 8px #00000026;transition:left .3s ease;z-index:200}.sidebar-link-with-badge a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:500}.sidebar-link-with-badge .sidebar-badge{position:static;min-width:20px;height:20px;padding:0 6px;font-size:12px;background-color:#e53935}.sidebar.open{left:0}.close-btn{font-size:28px;background:none;border:none;cursor:pointer;margin-bottom:20px}.sidebar-links{list-style:none;padding:0;margin-top:20px}.sidebar-links li{margin:6px 0}.sidebar-links a{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;text-decoration:none;color:#1f2937;font-size:1rem;font-weight:500;transition:background-color .18s ease,color .18s ease}.sidebar-links a:hover{background-color:#f3f4f6;color:#111827;padding-left:20px}.sidebar-links a.active{position:relative;background-color:#eef2ff;color:#1e3a8a}.sidebar-links a.active:before{content:"";position:absolute;left:0;top:8px;height:calc(100% - 16px);width:4px;background-color:#4f46e5;border-radius:0 4px 4px 0}.sidebar-section-title{font-size:.78rem;letter-spacing:.5px;text-transform:uppercase;color:#6b7280;margin:24px 0 8px 16px}@media(max-width:768px){.sidebar{width:100vw;left:-100vw;padding:30px 20px}.sidebar.open{left:0}.sidebar-links a{font-size:1.15rem;padding:16px 20px;border-radius:10px}.sidebar-links a:hover{padding-left:24px}.close-btn{font-size:32px;margin-bottom:24px}.sidebar-link-with-badge .sidebar-badge{min-width:24px;height:24px;font-size:13px;padding:0 8px}.sidebar-section-title{font-size:.85rem;margin:28px 0 12px 16px}}.navbar-container{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000a;position:sticky;top:0;z-index:100}.navbar-container h1{margin:0;font-size:1.6rem;font-weight:700;letter-spacing:.5px}.navbar-logo{text-decoration:none;color:#111827;transition:opacity .2s ease}.navbar-logo:hover{opacity:.8}.navbar-actions{display:flex;align-items:center}.login-btn{background-color:#2563eb;color:#fff;border:none;border-radius:6px;padding:8px 18px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease}.login-btn:hover{background-color:#1e40af;box-shadow:0 3px 6px #0000001f;transform:translateY(-1px)}.login-btn:active{transform:translateY(0);box-shadow:none}.navbar-actions>*:not(:last-child){margin-right:14px}.navbar-search{position:relative;width:360px;margin-left:auto;margin-right:14px}.navbar-search:before{content:"🔍";position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.55;pointer-events:none}.navbar-search input{width:100%;height:38px;padding:8px 12px 8px 36px;font-size:.95rem;border-radius:8px;border:1.5px solid #d1d5db;background-color:#f9fafb;color:#111827;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.navbar-search input::placeholder{color:#9ca3af}.navbar-search input:hover{background-color:#fff}.navbar-search input:focus{outline:none;border-color:#2563eb;background-color:#fff;box-shadow:0 0 0 3px #2563eb26}.navbar-search .input-component{margin:0}.navbar-search label{display:none}.profile-dropdown-wrapper{position:relative}.profile-button{background-color:transparent;border:1.5px solid #d1d5db;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:.95rem;display:flex;align-items:center;gap:6px;transition:background-color .15s ease,border-color .15s ease}.profile-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;box-shadow:0 6px 20px #0000001f;padding:6px 0;animation:fadeIn .15s ease-out;z-index:50}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:block;width:100%;padding:10px 14px;text-decoration:none;color:#374151;font-size:.95rem;cursor:pointer;transition:background-color .15s ease}.dropdown-item:hover{background-color:#f3f4f6}.logout-button{width:100%;text-align:left;border:none;background:none;padding:10px 14px;color:#dc2626}.logout-button:hover{background-color:#fee2e2}.hamburger-btn{background:none;border:none;font-size:26px;cursor:pointer;margin-right:15px;position:relative}.sidebar-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background-color:#e53935;color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}@media(max-width:1024px){.navbar-search{width:200px}}@media(max-width:768px){.login-btn{padding:6px 12px;font-size:.85rem;border-radius:5px}.navbar-actions>*:not(:last-child){margin-right:8px}.navbar-container{padding:10px 16px}}@media(max-width:480px){.login-btn{padding:6px 8px;font-size:0}.login-btn:before{content:"🔐";font-size:1.1rem}}.profile-dropdown-wrapper{position:relative;display:inline-block}.profile-button{background-color:transparent;border:none;cursor:pointer;font-size:1rem;padding:8px 12px;border-radius:4px;color:#333;transition:background-color .2s ease}.profile-button:hover{background-color:#e2e6ea}.dropdown-menu{position:absolute;right:0;top:100%;margin-top:8px;background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 8px #0000001a;min-width:160px;z-index:100}.dropdown-item{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;text-decoration:none;color:#333;cursor:pointer;font-size:.95rem;transition:background-color .2s ease}.dropdown-item:hover{background-color:#f1f1f1}.logout-button{width:100%;text-align:left;color:#dc2626}.logout-button:hover{color:#fff}.profile-button .icon,.dropdown-item .icon{margin-right:.5rem}@media(max-width:768px){.dropdown-menu .btn-component,.dropdown-menu .dropdown-item{width:100%;height:auto;min-width:unset;padding:10px 16px;border-radius:6px;display:flex;justify-content:flex-start}.profile-button .label,.dropdown-item .label{display:none}.profile-button,.dropdown-item{padding:.5rem;justify-content:center}.profile-button .icon,.dropdown-item .icon{margin-right:0;font-size:1.2rem}}} } form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:600px;margin:0 auto;padding:1rem;background-color:#fff}.new-post-textarea{width:100%}.new-post-textarea label{font-weight:600;color:#374151}button[type=submit]{align-self:flex-end;background-color:#2563eb;color:#fff;font-weight:500;padding:.6rem 1.2rem;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease,transform .1s ease}button[type=submit]:hover{background-color:#1d4ed8}button[type=submit]:active{transform:scale(.98)}button[type=submit]:disabled{background-color:#9ca3af;cursor:not-allowed}.new-post-textarea .textarea-error-p{margin-top:.25rem}@media(max-width:768px){form{max-width:none;height:100%;padding:1rem;margin:0}.new-post-textarea textarea{min-height:45vh;font-size:1rem}button[type=submit]{width:100%;align-self:stretch;padding:.75rem;font-size:1rem;border-radius:.75rem}}.post-actions-container{margin-top:8px;display:flex;align-items:center}.post-actions-like-btn{background:none;border:none;cursor:pointer;font-size:22px;color:#e63946;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;transition:background-color .2s ease,transform .15s ease,color .2s ease}.post-actions-like-btn:hover{background-color:#e639461f;transform:scale(1.05)}.post-actions-like-btn.liked{color:#d00000}.post-actions-like-btn:active{transform:scale(.95)}.post-card{background-color:#fafafa;border:1px solid #e5e7eb;border-radius:6px;padding:16px 20px;transition:box-shadow .2s ease,transform .15s ease}.post-card:hover{box-shadow:0 3px 8px #0000000d}.post-card p{margin:.5rem 0 0;color:#444;line-height:1.5;font-size:.95rem}.post-meta{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#777}.post-user{display:flex;align-items:center;gap:.5rem}.post-username{font-weight:600;color:#111;font-size:.95rem;text-decoration:none;transition:color .2s ease}.post-username:hover{color:#2563eb;text-decoration:underline}.post-date{color:#777;font-size:.85rem}.auth-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#f5f5f5;font-family:Arial,sans-serif;padding:20px}.auth-layout h2{font-size:2rem;font-weight:700;color:#333;margin-bottom:30px;text-align:center}.auth-layout form{width:100%;max-width:400px;background-color:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.auth-layout input{width:100%;padding:12px;margin:10px 0;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:all .3s ease}.auth-layout input:focus{outline:none;border-color:#007bff}.auth-layout input.error{border-color:red}.auth-layout label{font-size:1rem;color:#333;margin-bottom:8px;display:block}.auth-layout .error-message{color:red;font-size:.875rem;margin-top:4px}.auth-layout button{width:100%;padding:12px;background-color:#007bff;color:#fff;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.auth-layout button:hover{background-color:#0056b3}.auth-layout .input-group{margin-bottom:20px}.auth-layout .input-group:last-child{margin-bottom:0}@media(max-width:480px){.auth-layout{padding:10px}.auth-layout form{padding:20px;width:90%}}} padding: 2rem; } .profile-layout{display:flex;flex-direction:column;min-height:100vh;background-color:#f8f9fa}.profile-content{flex:1;padding:40px 24px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:2rem;box-sizing:border-box}.auth-div-btns{margin-bottom:1rem;display:flex;flex-direction:row;gap:1rem}.feed-post-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.feed-post-card__header{display:flex;align-items:center}.feed-post-card__user-info{display:flex;flex-direction:column;gap:2px}.feed-post-card__content{font-size:.95rem;line-height:1.5;color:#1f2937;word-wrap:break-word}.feed-post-card__content p{margin:0}@media(max-width:639px){.feed-post-card{padding:14px}}.feed-post-card__username{font-weight:600;font-size:.95rem;color:#111827}.feed-post-card__date{font-size:.75rem;color:#6b7280}.feed-post-card__content{font-size:.95rem;line-height:1.5;color:#1f2937}.feed-post-card:hover{background-color:#f3f4f6}.feedresults-list{list-style:none;margin:0 auto;padding:32px 24px;width:100%;min-height:100vh;background-color:#fff;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:16px}@media(min-width:1024px){.feedresults-list{max-width:900px}}@media(max-width:1023px)and (min-width:640px){.feedresults-list{max-width:720px;padding:28px 20px}}@media(max-width:639px){.feedresults-list{max-width:100%;padding:20px 12px;border-left:none;border-right:none}}.feedresults-item{width:100%}.user-posts{margin-top:2.5rem;max-width:800px;width:100%;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px 32px 32px;box-shadow:0 4px 10px #0000000a}.user-posts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;border-bottom:1px solid #eee;padding-bottom:.5rem}.user-posts-header h3{font-size:1.25rem;font-weight:600;color:#222}.user-posts-header select{border:1px solid #ddd;border-radius:6px;padding:6px 10px;font-size:.95rem;background-color:#fafafa;cursor:pointer;transition:border-color .2s ease}.user-posts-header select:hover{border-color:#ccc}.posts-list{display:flex;flex-direction:column;gap:1.25rem}.load-more-btn{display:block;margin:1.5rem auto 0;background-color:#2563eb;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s ease,transform .1s ease}.load-more-btn:hover{background-color:#1d4ed8;transform:translateY(-1px)}.load-more-btn:active{background-color:#1e40af}.user-posts .loading,.user-posts .end-message{text-align:center;color:#666;margin-top:1rem;font-size:.95rem}@media(max-width:600px){.user-posts{padding:16px}.post-card{padding:12px 14px}.user-posts-header h3{font-size:1.1rem}}.user-follows-list{background-color:#fff;padding:24px 32px;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 10px #0000000d;max-width:600px;width:100%;margin:0 auto}.user-follows-list h3{margin-top:0;font-size:1.5rem;color:#333;margin-bottom:16px;border-bottom:1px solid #eee;padding-bottom:8px;letter-spacing:.5px}.user-list{list-style:none;padding:0;margin:0}.user-list-item{padding:12px 0;border-bottom:1px solid #f0f0f0;font-size:1rem;color:#555;display:flex;align-items:center;gap:12px;transition:background-color .2s ease,transform .1s ease}.user-list-item a,.user-profile-link{text-decoration:none;color:#0073e6;font-weight:500;transition:color .2s ease;cursor:pointer;margin-left:5px}.user-list-item:hover{background-color:#f9f9f9;transform:translate(2px);border-radius:8px}.user-list-item:hover .user-profile-link{color:#005bb5;text-decoration:underline}.user-list-item:active{transform:translate(0);background-color:#f0f7ff}.user-list-item:last-child{border-bottom:none}.empty-user-list-message{text-align:center;margin-top:20px;font-size:1rem;color:#999;font-style:italic}.profile-card{position:relative;background-color:#fff;padding:24px 32px 40px;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 10px #0000000d;max-width:800px;width:100%}.profile-card .profile-action-buttons{position:absolute;top:24px;right:32px;display:flex;gap:8px;align-items:flex-end;z-index:1}.profile-card .profile-action-buttons .follow-feat-btn,.profile-card .profile-action-buttons .unfollow-feat-btn,.profile-card .profile-action-buttons .friendship-btn,.profile-card .profile-action-buttons .edit-profile-btn{margin-top:0;width:auto;text-decoration:none}.profile-bio{margin:12px 0 20px;padding-left:2px;font-size:.95rem;line-height:1.5;color:#555;white-space:pre-line;max-width:600px}.follow-feat-btn,.unfollow-feat-btn,.friendship-btn{padding:8px 18px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;margin-top:16px;width:150px;text-align:center}.follow-feat-btn{background-color:#2563eb;border:1px solid transparent;color:#fff}.follow-feat-btn:hover{background-color:#1d4ed8}.follow-feat-btn:active{background-color:#1e40af}.follow-feat-btn:focus{outline:none;box-shadow:0 0 0 2px #2563eb66}.unfollow-feat-btn{background-color:#ef4444;border:1px solid transparent;color:#fff}.unfollow-feat-btn:hover{background-color:#dc2626}.unfollow-feat-btn:active{background-color:#b91c1c}.unfollow-feat-btn:focus{outline:none;box-shadow:0 0 0 2px #ef444466}.friendship-btn{background-color:#2563eb;color:#fff;border:1px solid transparent}.friendship-btn:hover{background-color:#1d4ed8}.friendship-btn:active{background-color:#1e40af}.friendship-btn:focus{outline:none;box-shadow:0 0 0 2px #2563eb66}.friendship-btn.none{background-color:#2563eb}.friendship-btn.pending{background-color:#fbbf24}.friendship-btn.accepted{background-color:#10b981}.friendship-btn.blocked{background-color:#dc2626;cursor:not-allowed}.friendship-btn.pending:hover,.friendship-btn.accepted:hover{background-color:#d97706}.friendship-btn.accepted:active{background-color:#065f46}.friendship-btn.blocked{cursor:not-allowed}.friendship-btn.blocked:hover,.friendship-btn.blocked:active{background-color:#dc2626}.friendship-pending-text{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 18px;border-radius:6px;font-size:.95rem;font-weight:500;background-color:#fef3c7;color:#92400e;border:1px solid #fbbf24;white-space:nowrap}.edit-profile-btn{background-color:transparent;border:1px solid #ccc;color:#333;padding:8px 18px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;margin-top:16px}.edit-profile-btn:hover{background-color:#f9fafb;border-color:#aaa}.edit-profile-btn:active{background-color:#f3f4f6}.edit-profile-btn:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e54d}.profile-card>p:first-of-type{margin-bottom:6px}.profile-card .profile-action-buttons .friendship-pending-text{margin-top:0;width:auto}.profile-card .user-stats{border-top:1px solid #eee;padding-top:1rem}.profile-card p,.profile-card h2{color:#444}.profile-card h2{margin-top:0;font-size:1.75rem;margin-bottom:16px}.profile-card p{margin:8px 0;font-size:1rem}.profile-card span{opacity:.8}.user-stats{display:flex;justify-content:center;gap:2.5rem;margin-top:16px}.user-stat-item{display:flex;flex-direction:column;align-items:center;background:none;border:none;cursor:pointer;color:#333;transition:transform .15s ease,color .2s ease;padding:4px 8px;border-radius:6px}.user-stat-item:hover{color:#2563eb;transform:translateY(-2px)}.user-stat-item:focus{outline:none;box-shadow:0 0 0 2px #2563eb40}.user-stat-item .count{font-size:1.2rem;font-weight:600;color:#111}.user-stat-item.label{font-size:.9rem;color:#777;margin-top:2px}.loading,.error{text-align:center;margin-top:60px;font-size:1.2rem;color:#666}.error{color:#dc2626}@media(max-width:600px){.user-stats{gap:1.5rem}.user-stat-item .count{font-size:1.1rem}.user-stat-item .label{font-size:.85rem}.profile-card .profile-action-buttons{flex-direction:column;align-items:stretch;gap:12px}}.request-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;margin:8px auto 12px;background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px #0000000a;max-width:680px;width:100%}.request-card-user{display:flex;align-items:center;gap:12px}.request-card-info{display:flex;flex-direction:column}.request-card-username{margin:0;font-size:16px;font-weight:600;color:#111827}.request-card-actions{display:flex;gap:10px;align-items:center;min-height:32px}.request-card-btn{padding:6px 14px;font-size:14px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:background-color .15s ease,transform .05s ease}.request-card-btn:active{transform:scale(.97)}.request-card-btn--accept{background-color:#22c55e;color:#fff}.request-card-btn--accept:hover{background-color:#16a34a}.request-card-btn--decline{background-color:#ef4444;color:#fff}.request-card-btn--decline:hover{background-color:#dc2626}.request-card--loading{padding:16px 20px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280;max-width:480px;width:90%;margin:8px auto 12px}.request-card-status{font-size:14px;font-weight:500;animation:fadeIn .25s ease-in-out}.request-card-status--accepted{color:#16a34a}.request-card-status--rejected{color:#dc2626}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.friend-requests-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.friend-requests-list-item{display:block}.friend-requests-empty{text-align:center;color:#6b7280;margin-top:20px}.profile-settings-form__container{display:flex;flex-direction:column;gap:2rem}.profile-settings-form__container form{display:flex;flex-direction:column;gap:1.5rem}.profile-settings-form__container form>*{width:100%}.profile-settings-form__password{display:flex;flex-direction:row;gap:1rem}.profile-settings-form__password>*{flex:1}.profile-settings-form__container input{flex:1;padding:.75rem 1rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;transition:border-color .2s}.profile-settings-form__container input:focus{border-color:#007bff;outline:none}.profile-settings-form__container input,.profile-settings-form__container textarea{width:100%;box-sizing:border-box}.profile-settings-form__container label{font-weight:600;margin-bottom:.25rem;display:block}.profile-settings-form__container .error{color:#e74c3c;font-size:.875rem;margin-top:.25rem}.profile-settings-form__container button{align-self:flex-start;padding:.75rem 1.25rem;border:none;border-radius:8px;background-color:#007bff;color:#fff;font-size:1rem;cursor:pointer;transition:background-color .2s}.profile-settings-form__container button:hover{background-color:#0056b3}@media(max-width:768px){.profile-settings-form__container{gap:1.5rem}.profile-settings-form__container form{gap:1.25rem}.profile-settings-form__password{flex-direction:column;gap:1.25rem}.profile-settings-form__container button{width:100%;align-self:stretch;text-align:center}}@media(max-width:480px){.profile-settings-form__container{gap:1.25rem}.profile-settings-form__container label{font-size:.9rem}.profile-settings-form__container input,.profile-settings-textarea__bio{font-size:.95rem;padding:.65rem .9rem}.profile-settings-form__container button{padding:.75rem;font-size:.95rem}}.profile-settings-textarea__bio{width:100%;min-height:120px;resize:vertical;font-size:1rem;padding:.75rem 1rem;border-radius:8px}@media(max-width:768px){.profile-settings-textarea__bio{min-height:40vh;font-size:1rem}}.settings-page__container{display:flex;flex-direction:row;gap:2rem;padding:2rem 3rem;min-height:100vh;background-color:#f0f2f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.settings-page__sidebar{flex:1;max-width:250px;background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 12px #00000014;height:fit-content}.settings-page__sidebar h2{margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.settings-page__sidebar ul{list-style:none;padding:0;margin:0}.settings-page__sidebar li{margin-bottom:1rem;cursor:pointer;padding:.5rem .75rem;border-radius:8px;transition:background-color .2s}.settings-page__sidebar li:hover{background-color:#f0f0f0}.settings-page__main{flex:3;background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;gap:2rem}.settings-page__section{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;border-bottom:1px solid #e0e0e0;padding-bottom:1.5rem;text-align:left}.settings-page__section:last-child{border-bottom:none;padding-bottom:0}.settings-page__section h3{font-size:1.1rem;font-weight:600;margin-bottom:.75rem}@media(max-width:1024px){.settings-page__container{padding:1.5rem;gap:1.5rem}.settings-page__sidebar{max-width:200px;padding:1.5rem}.settings-page__main{padding:1.5rem}}@media(max-width:768px){.settings-page__container{flex-direction:column;padding:1rem}.settings-page__sidebar{max-width:100%;width:100%}.settings-page__sidebar ul{display:flex;gap:.5rem;flex-wrap:wrap}.settings-page__sidebar li{margin-bottom:0;flex:1 1 auto;text-align:center;background-color:#f7f7f7}.settings-page__main{width:100%;padding:1.5rem}}@media(max-width:480px){.settings-page__container{padding:.75rem}.settings-page__sidebar h2,.settings-page__section h3{font-size:1rem}.settings-page__section{gap:1rem;padding-bottom:1rem}}.usercard{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#fff;border-radius:14px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;box-shadow:0 1px 4px #0000000f}.usercard:hover,.usercard:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px #00000014;background-color:#fafafa;outline:none}.usercard-content{flex:1;min-width:0}.usercard-username{margin:0;font-size:1rem;font-weight:600;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usercard-stats{display:flex;gap:1.25rem;margin-top:.5rem}.usercard-stats div{display:flex;flex-direction:column;line-height:1.1}.usercard-stats strong{font-size:.9rem;font-weight:600;color:#111}.usercard-stats span{font-size:.7rem;color:#666}@media(max-width:480px){.usercard{padding:.75rem;gap:.75rem}.usercard-avatar img{width:48px;height:48px}.usercard-stats{gap:.75rem}}.usersearchresults-content{max-width:1080px;margin:0 auto;padding:1.5rem 1rem}.loading-msg{text-align:center;padding:3rem 1rem;font-size:1rem;color:#666}.usersearchresults-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1rem}.usersearchresults-item{margin:0;padding:0}.usersearchresults-empty{text-align:center;margin-top:3rem;font-size:.95rem;color:#777}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif}.floating-new-post-btn{position:fixed;bottom:24px;right:24px;background-color:#007bff;color:#fff;border:none;border-radius:50px;padding:14px 22px;font-size:1rem;font-weight:500;cursor:pointer;z-index:1000;box-shadow:0 4px 12px #00000040,0 0 0 3px #fff6;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease}.floating-new-post-btn:hover{background-color:#0056b3;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d,0 0 0 3px #ffffff73}.floating-new-post-btn:active{transform:translateY(0);box-shadow:0 3px 8px #00000040,0 0 0 2px #fff6}
