:root{--bg-primary: #0f1923;--bg-surface: #1a2332;--bg-elevated: #223044;--border-color: #2a3444;--text-primary: #f0eee9;--text-secondary: #8a94a6;--text-muted: #5a6478;--accent: #E8576D;--accent-hover: #d4495e;--accent-soft: rgba(232, 87, 109, .15);--success: #4ecb71;--warning: #f5a623;--danger: #e74c3c;--super-like: #3b82f6;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow: 0 4px 20px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .4);--transition: .2s ease;--font: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select,button{font-family:var(--font);font-size:14px}input,textarea,select{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 14px;width:100%;transition:border-color var(--transition)}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}button{cursor:pointer;border:none;background:none;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-weight:500;font-size:14px;transition:all var(--transition)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-elevated);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--text-muted)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-surface)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-full{width:100%}.app-layout{display:flex;flex-direction:column;height:100vh;max-width:480px;margin:0 auto;position:relative}.app-content{flex:1;overflow-y:auto;padding-bottom:70px}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500}.badge-success{background:#4ecb7126;color:var(--success)}.badge-warning{background:#f5a62326;color:var(--warning)}.badge-muted{background:#5a647826;color:var(--text-muted)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.avatar{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover;background:var(--bg-elevated)}.avatar-sm{width:36px;height:36px}.avatar-lg{width:64px;height:64px}.online-dot{width:10px;height:10px;border-radius:50%;background:var(--success);border:2px solid var(--bg-surface);position:absolute;bottom:0;right:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.error-text{color:var(--danger);font-size:13px;margin-top:4px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 14px;border-radius:var(--radius-full);font-size:13px;font-weight:500;background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--text-muted)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.page-header h1{font-size:20px;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes swipeRight{to{transform:translate(150%) rotate(20deg);opacity:0}}@keyframes swipeLeft{to{transform:translate(-150%) rotate(-20deg);opacity:0}}@keyframes matchPulse{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@media (min-width: 768px){.app-layout{border-left:1px solid var(--border-color);border-right:1px solid var(--border-color)}}
