:root{--pride-red:#e40303;--pride-orange:#ff8c00;--pride-yellow:#ffed00;--pride-green:#008026;--pride-blue:#004dff;--pride-violet:#750787;--bg-dark:#0d0d14;--bg-card:#16161f;--bg-surface:#1e1e2e;--border:#2a2a3e;--text-primary:#f0f0f5;--text-secondary:#9090aa;--accent:#a259ff;--accent-hover:#b87aff;--online:#22c55e}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text-primary);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none}input,textarea{outline:none}.pride-bar{background:linear-gradient(to right, var(--pride-red), var(--pride-orange), var(--pride-yellow), var(--pride-green), var(--pride-blue), var(--pride-violet));height:4px}.btn{border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-surface);color:var(--text-primary)}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover{background:#b91c1c}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.avatar{object-fit:cover;background:var(--bg-surface);border-radius:50%}.badge{border-radius:20px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-gay{color:#a259ff;background:#a259ff22}.badge-lesbian{color:#ff6b6b;background:#ff6b6b22}.badge-bi{color:#ff8c00;background:#ff8c0022}.badge-trans{color:#00bcd4;background:#00bcd422}.badge-hetero{color:#22c55e;background:#22c55e22}.badge-queer{color:#f472b6;background:#f472b622}.input{background:var(--bg-surface);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:12px;padding:12px 16px;font-size:14px;transition:border-color .2s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-secondary)}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s fadeIn}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:2s infinite pulse}
