.friends-toggle-btn{position:fixed;bottom:24px;right:24px;background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:24px;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 4px 12px rgba(59,130,246,.4);z-index:1000;transition:transform .2s,background .2s;display:flex;align-items:center;gap:8px}.friends-toggle-btn:hover{transform:translateY(-2px);background:#2563eb}.notification-badge{background:#ef4444;color:#fff;font-size:.75rem;padding:2px 6px;border-radius:12px;font-weight:700}.friends-sidebar{position:fixed;top:0;right:-350px;width:320px;height:100vh;background:rgba(15,23,42,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid hsla(0,0%,100%,.1);box-shadow:-10px 0 30px rgba(0,0,0,.5);z-index:1001;transition:right .3s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}.friends-sidebar.open{right:0}.friends-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid hsla(0,0%,100%,.1)}.friends-header h2{margin:0;color:#fff}.close-btn{background:none;border:none;color:var(--muted);font-size:1.5rem;cursor:pointer;transition:color .2s}.close-btn:hover{color:#fff}.friends-tabs{display:flex;border-bottom:1px solid hsla(0,0%,100%,.1)}.friends-tabs button{flex:1 1;background:none;border:none;padding:12px;color:var(--muted);font-weight:700;cursor:pointer;transition:color .2s,background .2s}.friends-tabs button.active{color:#3b82f6;border-bottom:2px solid #3b82f6}.friends-tabs button:hover:not(.active){background:hsla(0,0%,100%,.05);color:#fff}.friends-content{flex:1 1;padding:24px;overflow-y:auto}.muted-text{color:var(--muted);font-size:.9rem;text-align:center;margin-top:24px}.friend-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:hsla(0,0%,100%,.03);border-radius:8px;margin-bottom:8px;transition:background .2s}.friend-item:hover{background:hsla(0,0%,100%,.08)}.friend-info{display:flex;align-items:center;gap:12px}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.online{background:#22c55e;box-shadow:0 0 8px #22c55e}.status-dot.offline{background:#64748b}.friend-name{color:#fff;font-weight:500}.btn-invite{background:rgba(59,130,246,.2);color:#60a5fa;border:1px solid #3b82f6;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:700;transition:background .2s}.btn-invite:hover{background:#3b82f6;color:#fff}.pending-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:hsla(0,0%,100%,.03);border-radius:8px;margin-bottom:8px}.pending-actions{display:flex;gap:8px}.btn-accept{background:rgba(34,197,94,.2);color:#4ade80;border:1px solid #22c55e;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-accept:hover{background:#22c55e;color:#fff}.btn-reject{background:rgba(239,68,68,.2);color:#f87171;border:1px solid #ef4444;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-reject:hover{background:#ef4444;color:#fff}.add-friend-form{display:flex;flex-direction:column;gap:12px}.add-friend-form input{background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);padding:12px;border-radius:8px;color:#fff;font-size:1rem}.add-friend-form input:focus{outline:none;border-color:#3b82f6}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:12px;border-radius:8px;font-weight:700;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2563eb}.notification-container{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:2000;pointer-events:none}.notification-toast{background:rgba(15,23,42,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1);padding:16px;border-radius:12px;width:300px;box-shadow:0 10px 25px rgba(0,0,0,.5);pointer-events:auto;animation:slideIn .3s cubic-bezier(.22,1,.36,1)}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.notif-content{display:flex;gap:12px;align-items:center;margin-bottom:12px}.notif-icon{font-size:1.5rem}.notif-content p{margin:0;color:#fff;font-size:.95rem;line-height:1.4}.notif-actions{display:flex;gap:8px}.notif-actions button{flex:1 1;padding:8px;border-radius:6px;font-weight:700;cursor:pointer}