:root{--bg-main:#090d16;--bg-surface:#0f172a;--bg-surface-elevated:#1e293b;--bg-card:#0f172abf;--bg-card-hover:#1e293bd9;--bg-input:#0f172a99;--bg-glass:#ffffff08;--border-subtle:#ffffff14;--border-focus:#6366f180;--border-card:#ffffff0f;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f140;--accent-teal:#14b8a6;--accent-emerald:#10b981;--accent-violet:#8b5cf6;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--accent-sky:#0ea5e9;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #0009, 0 8px 10px -6px #0009;--shadow-glow:0 0 20px -3px #6366f159;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.35s cubic-bezier(.16, 1, .3, 1);--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-main);min-height:100vh;color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}p{color:var(--text-secondary)}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseGlow{0%,to{opacity:.4}50%{opacity:.8}}.animate-fade{animation:fadeIn var(--transition-normal) ease-out forwards}.spinner{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}
.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #4f46e5 100%);color:#fff;box-shadow:0 2px 8px var(--primary-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 14px var(--primary-glow);background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-primary);border-color:var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:#ffffff14;border-color:#ffffff26}.btn-danger{color:#fb7185;background:#f43f5e26;border-color:#f43f5e4d}.btn-danger:hover:not(:disabled){color:#fff;background:#f43f5e40;border-color:#f43f5e80}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#ffffff0d}.btn-sm{border-radius:var(--radius-sm);padding:.35rem .75rem;font-size:.8rem}.btn-icon{border-radius:var(--radius-md);width:36px;height:36px;padding:0}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.1rem;display:flex}.form-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.form-control{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);outline:none;padding:.65rem .9rem;font-family:inherit;font-size:.9rem}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#0f172ae6}.form-control::placeholder{color:var(--text-muted)}textarea.form-control{resize:vertical;min-height:100px}.form-error{color:var(--accent-rose);font-size:.8rem}.badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-admin{color:#c4b5fd;background:#8b5cf626;border:1px solid #8b5cf64d}.badge-user{color:#7dd3fc;background:#0ea5e926;border:1px solid #0ea5e94d}.badge-active{color:#6ee7b7;background:#10b98126;border:1px solid #10b9814d}.badge-blocked{color:#fda4af;background:#f43f5e26;border:1px solid #f43f5e4d}.badge-verified{color:#34d399;background:#10b9811f}.badge-interest{color:var(--text-secondary);border:1px solid var(--border-subtle);text-transform:none;border-radius:var(--radius-sm);background:#ffffff0f;padding:.25rem .65rem;font-size:.8rem}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal);padding:1.5rem}.card:hover{border-color:#ffffff1f}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;animation:fadeIn var(--transition-fast) ease-out;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);background:#0f172a;width:100%;max-width:520px;max-height:90vh;padding:1.75rem;position:relative;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.modal-footer{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.table-container{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-card);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.data-table th{color:var(--text-muted);border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.05em;background:#ffffff05;padding:.85rem 1rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);padding:1rem}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#ffffff05}.pagination{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;display:flex}.pagination.pagination-fixed{-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);z-index:30;background:#0f172aeb;margin-top:1.5rem;padding:.85rem 1.25rem;position:sticky;bottom:0;box-shadow:0 -4px 24px #00000073,0 0 1px #ffffff1a}.pagination-info{color:var(--text-muted);font-size:.85rem}.pagination-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.toast-container{z-index:9999;flex-direction:column;gap:.75rem;max-width:380px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-primary);animation:slideInRight var(--transition-normal) ease-out;background:#1e293b;align-items:flex-start;gap:.75rem;padding:.9rem 1.1rem;font-size:.875rem;display:flex}.toast-success{border-left:4px solid var(--accent-emerald)}.toast-error{border-left:4px solid var(--accent-rose)}.toast-info{border-left:4px solid var(--primary)}.toast-icon{flex-shrink:0;margin-top:2px}.toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto}.toast-close:hover{color:var(--text-primary)}
.auth-wrapper{background:radial-gradient(circle at top,#1e1b4b 0%,#090d16 60%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex;position:relative}.auth-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-xl);background:#0f172ad9;border:1px solid #ffffff1a;width:100%;max-width:440px;padding:2.5rem;box-shadow:0 25px 50px -12px #000000b3}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{margin-bottom:.5rem;font-size:1.6rem}.auth-logo{background:linear-gradient(135deg, var(--primary) 0%, var(--accent-violet) 100%);border-radius:var(--radius-lg);color:#fff;width:48px;height:48px;box-shadow:0 4px 14px var(--primary-glow);justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.875rem}.app-layout{background:var(--bg-main);min-height:100vh;display:flex}.app-sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);width:260px;transition:all var(--transition-normal);flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.75rem;padding:1.5rem;display:flex}.sidebar-brand span{letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.35rem;padding:1.25rem .75rem;display:flex}.nav-link{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.7rem .9rem;font-weight:500;display:flex}.nav-link:hover{color:var(--text-primary);background:#ffffff0a}.nav-link.active{color:#a5b4fc;background:#6366f11f;border:1px solid #6366f140}.nav-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.8rem .9rem .3rem;font-size:.7rem;font-weight:700}.sidebar-user{border-top:1px solid var(--border-subtle);background:#0003;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-topbar{border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex}.page-content{flex:1;padding:2rem;overflow-y:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.page-title-group h1{margin-bottom:.25rem;font-size:1.5rem}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.note-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-card);border-radius:var(--radius-lg);transition:all var(--transition-normal);flex-direction:column;padding:1.35rem;display:flex;position:relative}.note-card:hover{border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 10px 20px -5px #00000080}.note-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.note-card-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;line-height:1.3}.note-card-body{color:var(--text-secondary);white-space:pre-wrap;-webkit-line-clamp:6;-webkit-box-orient:vertical;flex:1;margin-bottom:1rem;font-size:.9rem;line-height:1.55;display:-webkit-box;overflow:hidden}.note-card-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;padding-top:.75rem;font-size:.8rem;display:flex}.aggregation-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f11f 0%,#8b5cf614 100%);border:1px solid #6366f140;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;padding:1.25rem 1.5rem;display:flex}.aggregation-badge{background:var(--primary);color:#fff;border-radius:var(--radius-sm);letter-spacing:.05em;text-transform:uppercase;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.interest-clusters{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.interest-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);flex-direction:column;padding:1.25rem;display:flex}.interest-card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.interest-users-list{flex-direction:column;gap:.6rem;display:flex}.user-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff08;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.user-avatar-circle{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary) 0%, var(--accent-violet) 100%);color:#fff;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:600;display:flex}.code-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#a5b4fc;background:#020617;margin-top:.5rem;padding:.75rem 1rem;font-family:monospace;font-size:.8rem;overflow-x:auto}.posts-list,.posts-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;width:100%;display:grid}.post-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);transition:all var(--transition-normal);flex-direction:column;padding:1.5rem;display:flex}.post-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-lg);border-color:#ffffff1f;transform:translateY(-2px)}.post-header{align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.post-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.post-content{color:var(--text-secondary);white-space:pre-wrap;flex:1;font-size:.95rem;line-height:1.6}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:1.75rem;display:grid}@media (max-width:768px){.app-layout{flex-direction:column}.app-sidebar{border-right:none;border-bottom:1px solid var(--border-subtle);width:100%}.page-content{padding:1.25rem}.notes-grid,.posts-list,.posts-grid,.profile-grid{grid-template-columns:1fr}}

