:root{--bg-primary: #ffffff;--bg-secondary: #e4e4e8;--bg-tertiary: #dcdce2;--text-primary: #09090b;--text-secondary: #52525b;--text-tertiary: #71717a;--border-color: #d4d4d8;--border-hover: #a1a1aa;--accent: #18181b;--accent-hover: #27272a;--success: #16a34a;--danger: #dc2626;--info: #2563eb;--comment-bg: #dedee3}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 4px #0000000a;padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent;-webkit-user-select:none;user-select:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{background:transparent;border-color:var(--border-color);color:var(--text-primary)}.btn-outline:hover{background:var(--bg-secondary)}.input{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.input:focus{outline:none;border-color:var(--accent)}.avatar{width:42px;height:42px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-primary);overflow:hidden;border:1px solid var(--border-color);flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (max-width: 640px){.card{padding:14px;border-radius:10px}header{padding:10px 14px!important;gap:8px}.header-search{max-width:100%!important;margin:0!important}.user-badge-text{display:none!important}.profile-banner{flex-direction:column!important;text-align:center!important;gap:12px!important;padding:16px!important}.dashboard-tabs{flex-wrap:wrap!important}.post-actions{gap:8px!important}}
