@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary: #f2f2f7;--bg-mesh-1: rgba(88, 86, 214, .25);--bg-mesh-2: rgba(0, 199, 190, .2);--bg-mesh-3: rgba(255, 45, 85, .12);--bg-mesh-4: rgba(255, 149, 0, .1);--bg-mesh-5: rgba(52, 199, 89, .12);--glass-bg: rgba(255, 255, 255, .45);--glass-bg-hover: rgba(255, 255, 255, .6);--glass-bg-active: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .5);--glass-border-hover: rgba(255, 255, 255, .7);--glass-blur: 40px;--glass-blur-strong: 60px;--glass-saturate: 180%;--text-primary: #1c1c1e;--text-secondary: rgba(60, 60, 67, .6);--text-muted: rgba(60, 60, 67, .3);--accent-blue: #007aff;--accent-purple: #5856d6;--accent-pink: #ff2d55;--accent-green: #34c759;--accent-orange: #ff9500;--accent-teal: #00c7be;--accent-gradient: linear-gradient(135deg, #5856d6, #007aff, #00c7be);--glow-blue: rgba(0, 122, 255, .25);--glow-purple: rgba(88, 86, 214, .2);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-full: 9999px;--shadow-glass: 0 2px 16px rgba(0, 0, 0, .06), 0 0 1px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .6);--shadow-glass-strong: 0 8px 40px rgba(0, 0, 0, .08), 0 0 1px rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .7);--shadow-float: 0 12px 40px rgba(0, 0, 0, .1);--shadow-button: 0 2px 8px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}.app-background{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;overflow:hidden;background:var(--bg-primary)}.app-background:before{content:"";position:absolute;top:-30%;left:-30%;width:160%;height:160%;background:radial-gradient(ellipse at 15% 30%,var(--bg-mesh-1) 0%,transparent 50%),radial-gradient(ellipse at 85% 15%,var(--bg-mesh-2) 0%,transparent 45%),radial-gradient(ellipse at 50% 80%,var(--bg-mesh-3) 0%,transparent 50%),radial-gradient(ellipse at 75% 55%,var(--bg-mesh-4) 0%,transparent 40%),radial-gradient(ellipse at 25% 70%,var(--bg-mesh-5) 0%,transparent 45%);animation:meshFloat 25s ease-in-out infinite}.app-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 60% 20%,rgba(0,122,255,.08) 0%,transparent 40%),radial-gradient(circle at 20% 60%,rgba(255,45,85,.06) 0%,transparent 40%);animation:meshFloat 30s ease-in-out infinite reverse}@keyframes meshFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(2%,-2%) scale(1.02)}50%{transform:translate(-1%,1%) scale(.99)}75%{transform:translate(1.5%,.5%) scale(1.01)}}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:.5px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:all var(--transition-normal)}.glass:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.glass-strong{background:#ffffff8c;backdrop-filter:blur(var(--glass-blur-strong)) saturate(200%);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(200%);border:.5px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 24px;border:none;border-radius:var(--radius-full);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);outline:none;position:relative;overflow:hidden}.btn-primary{background:var(--accent-blue);color:#fff;box-shadow:var(--shadow-button),0 2px 12px var(--glow-blue)}.btn-primary:hover{background:#0071e3;transform:translateY(-1px);box-shadow:var(--shadow-button),0 4px 20px var(--glow-blue)}.btn-primary:active{transform:translateY(0);background:#0062cc}.btn-glass{background:#ffffff80;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:.5px solid rgba(255,255,255,.6);color:var(--text-primary);box-shadow:var(--shadow-glass)}.btn-glass:hover{background:#ffffffa6;transform:translateY(-1px)}.btn-follow{padding:8px 18px;font-size:.8rem;border-radius:var(--radius-full)}.btn-follow.following{background:#fff6;border:.5px solid var(--accent-blue);color:var(--accent-blue)}.btn-sm{padding:8px 14px;font-size:.8rem}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-full);font-size:1.1rem}.input-glass{width:100%;padding:12px 16px;background:#ffffff80;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:.5px solid rgba(255,255,255,.6);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.925rem;outline:none;transition:all var(--transition-normal);box-shadow:inset 0 1px #ffffff80}.input-glass::placeholder{color:var(--text-muted)}.input-glass:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #007aff26,inset 0 1px #ffffff80;background:#ffffffa6}.avatar{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;color:#fff;flex-shrink:0;text-transform:uppercase;position:relative;border:2px solid rgba(255,255,255,.5);box-shadow:0 2px 8px #00000014}.avatar-sm{width:36px;height:36px;font-size:.85rem}.avatar-lg{width:56px;height:56px;font-size:1.3rem}.avatar-xl{width:84px;height:84px;font-size:1.8rem;border-width:3px}.online-indicator{width:12px;height:12px;background:var(--accent-green);border-radius:var(--radius-full);border:2.5px solid white;position:absolute;bottom:0;right:0;animation:pulse 2s ease-in-out infinite;box-shadow:0 1px 3px #0000001a}.online-indicator-sm{width:10px;height:10px;border-width:2px}@keyframes pulse{0%,to{box-shadow:0 0 #34c75966}50%{box-shadow:0 0 0 5px #34c75900}}.app-container{position:relative;z-index:1;height:100vh;display:flex}.sidebar{width:76px;height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px 0;gap:6px;background:#ffffff4d;backdrop-filter:blur(var(--glass-blur-strong)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(var(--glass-saturate));border-right:.5px solid rgba(255,255,255,.4)}.sidebar-logo{width:44px;height:44px;border-radius:var(--radius-md);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;margin-bottom:20px;box-shadow:0 4px 16px var(--glow-purple);color:#fff}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar-link{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;transition:all var(--transition-normal);position:relative;text-decoration:none;border:none;background:transparent}.sidebar-link:hover{background:#fff6;color:var(--text-primary)}.sidebar-link.active{background:#ffffff8c;color:var(--accent-blue);box-shadow:var(--shadow-glass)}.sidebar-link.active:before{content:"";position:absolute;left:-14px;width:3px;height:20px;background:var(--accent-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.sidebar-user{margin-top:auto;cursor:pointer}.panel-left{width:350px;height:100vh;display:flex;flex-direction:column;border-right:.5px solid rgba(255,255,255,.3);background:#fff3;backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.panel-header{padding:22px 20px 18px;border-bottom:.5px solid rgba(255,255,255,.3)}.panel-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:14px}.panel-search{position:relative}.panel-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.95rem}.panel-search .input-glass{padding-left:36px;border-radius:var(--radius-sm);padding-top:10px;padding-bottom:10px;font-size:.875rem}.panel-content{flex:1;overflow-y:auto;padding:10px}.chat-area{flex:1;height:100vh;display:flex;flex-direction:column;position:relative}.chat-area-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary)}.chat-area-empty-icon{font-size:3.5rem;color:var(--accent-blue);opacity:.4}.chat-area-empty h3{font-size:1.3rem;font-weight:600;color:var(--text-primary)}.chat-area-empty p{color:var(--text-muted);font-size:.9rem}.chat-header{padding:14px 22px;border-bottom:.5px solid rgba(255,255,255,.3);display:flex;align-items:center;gap:12px;background:#ffffff40;backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.chat-header-info h3{font-size:1rem;font-weight:600}.chat-header-info p{font-size:.75rem;color:var(--text-secondary)}.chat-header-info .online-text{color:var(--accent-green);font-weight:500}.messages-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:6px}.message-row{display:flex;gap:8px;max-width:70%}.message-row.sent{align-self:flex-end;flex-direction:row-reverse}.message-row.received{align-self:flex-start}.message-bubble{padding:10px 16px;border-radius:20px;font-size:.9rem;line-height:1.45;position:relative;word-wrap:break-word}.message-row.sent .message-bubble{background:var(--accent-blue);color:#fff;border-bottom-right-radius:6px;box-shadow:0 2px 8px #007aff33}.message-row.received .message-bubble{background:#ffffff8c;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:.5px solid rgba(255,255,255,.5);border-bottom-left-radius:6px;box-shadow:var(--shadow-glass);color:var(--text-primary)}.message-time{font-size:.65rem;margin-top:3px;text-align:right;opacity:.6}.message-row.sent .message-time{color:#ffffffb3}.message-row.received .message-time{text-align:left;color:var(--text-muted)}.typing-indicator{display:flex;align-items:center;gap:5px;padding:10px 16px;align-self:flex-start}.typing-indicator .dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.4s ease-in-out infinite}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-6px);opacity:1}}.chat-input-area{padding:14px 20px;border-top:.5px solid rgba(255,255,255,.3);background:#fff3;backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.chat-input-wrapper{display:flex;align-items:center;gap:10px}.chat-input-wrapper .input-glass{flex:1;border-radius:var(--radius-full);padding:12px 18px}.send-btn{width:44px;height:44px;border-radius:var(--radius-full);background:var(--accent-blue);border:none;color:#fff;font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);box-shadow:0 2px 10px var(--glow-blue);flex-shrink:0}.send-btn:hover{transform:scale(1.05);box-shadow:0 4px 18px var(--glow-blue);background:#0071e3}.send-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;background:#3c3c432e;box-shadow:none}.conversation-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);position:relative}.conversation-item:hover{background:#fff6}.conversation-item.active{background:#ffffff8c;box-shadow:var(--shadow-glass);border:.5px solid rgba(255,255,255,.5)}.conversation-item-info{flex:1;min-width:0}.conversation-item-info h4{font-size:.925rem;font-weight:600;margin-bottom:1px}.conversation-item-info p{font-size:.775rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.conversation-time{font-size:.675rem;color:var(--text-muted)}.unread-badge{width:20px;height:20px;border-radius:var(--radius-full);background:var(--accent-blue);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px var(--glow-blue)}.user-card{padding:18px;display:flex;align-items:center;gap:14px;margin-bottom:6px}.user-card-info{flex:1;min-width:0}.user-card-info h4{font-size:.975rem;font-weight:600;margin-bottom:1px}.user-card-info p{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card-stats{display:flex;gap:14px;margin-top:5px}.user-card-stats span{font-size:.725rem;color:var(--text-muted)}.user-card-stats strong{color:var(--text-primary);font-weight:600}.profile-container{flex:1;height:100vh;overflow-y:auto;padding:40px;display:flex;flex-direction:column;align-items:center}.profile-card{width:100%;max-width:460px;padding:36px;text-align:center}.profile-card .avatar-xl{margin:0 auto 18px}.profile-card h2{font-size:1.5rem;font-weight:700;margin-bottom:4px}.profile-card .bio{color:var(--text-secondary);font-size:.9rem;margin-bottom:22px}.profile-stats{display:flex;justify-content:center;gap:36px;margin-bottom:24px}.profile-stat{text-align:center}.profile-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--accent-blue)}.profile-stat .stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px}.auth-container{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.auth-card{width:100%;max-width:420px;padding:44px 36px;text-align:center}.auth-card .auth-logo{width:56px;height:56px;border-radius:16px;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;margin:0 auto 22px;box-shadow:0 6px 24px var(--glow-purple);color:#fff}.auth-card h1{font-size:1.8rem;font-weight:800;color:var(--text-primary);margin-bottom:6px}.auth-card .subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:32px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form .btn-primary{width:100%;padding:14px;font-size:.95rem;margin-top:6px}.auth-link{margin-top:22px;font-size:.85rem;color:var(--text-secondary)}.auth-link a{color:var(--accent-blue);text-decoration:none;font-weight:600;transition:color var(--transition-fast)}.auth-link a:hover{color:var(--accent-purple)}.auth-error{background:#ff3b301a;border:.5px solid rgba(255,59,48,.2);border-radius:var(--radius-md);padding:10px 14px;color:#ff3b30;font-size:.825rem;text-align:center}.discover-grid{display:flex;flex-direction:column;gap:6px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3c3c4326;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3c3c4340}.date-divider{display:flex;align-items:center;gap:14px;margin:14px 0}.date-divider:before,.date-divider:after{content:"";flex:1;height:.5px;background:#3c3c431f}.date-divider span{font-size:.675rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;text-align:center;gap:10px}.empty-state-icon{font-size:2.5rem;color:var(--accent-blue);opacity:.3}.empty-state h4{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.empty-state p{font-size:.825rem;color:var(--text-muted);max-width:240px}.spinner{width:28px;height:28px;border:2.5px solid rgba(60,60,67,.1);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;align-items:center;justify-content:center;padding:40px}.particles{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.particle{position:absolute;border-radius:50%;opacity:.12;animation:particleFloat linear infinite}@keyframes particleFloat{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.12}90%{opacity:.12}to{transform:translateY(-100px) rotate(720deg);opacity:0}}.text-gradient{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.sidebar{width:60px}.panel-left{width:260px}.message-row{max-width:85%}}@media (max-width: 640px){.panel-left{display:none}.sidebar{width:52px}}.sticker-picker{position:absolute;bottom:76px;left:20px;right:20px;max-width:460px;background:#ffffffb3;backdrop-filter:blur(var(--glass-blur-strong)) saturate(200%);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(200%);border:.5px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:var(--shadow-float),var(--shadow-glass-strong);z-index:100;overflow:hidden}.sticker-picker-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:.5px solid rgba(60,60,67,.08)}.sticker-picker-header h4{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.sticker-close{width:28px;height:28px;border-radius:var(--radius-full);border:none;background:#3c3c4314;color:var(--text-secondary);font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.sticker-close:hover{background:#3c3c4326;color:var(--text-primary)}.sticker-tabs{display:flex;gap:6px;padding:10px 14px;border-bottom:.5px solid rgba(60,60,67,.08);overflow-x:auto}.sticker-tab{display:flex;align-items:center;gap:6px;padding:7px 14px;border:.5px solid rgba(60,60,67,.1);border-radius:var(--radius-full);background:#fff6;color:var(--text-secondary);font-family:inherit;font-size:.775rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-normal)}.sticker-tab:hover{background:#fff9}.sticker-tab.active{background:#007aff1a;border-color:#007aff33;color:var(--accent-blue);font-weight:600}.sticker-badge{font-size:.55rem;font-weight:800;letter-spacing:.8px;padding:2px 5px;border-radius:var(--radius-full);background:linear-gradient(135deg,#ff9500,#ff2d55);color:#fff;text-transform:uppercase}.sticker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:14px;max-height:200px;overflow-y:auto}.sticker-item{aspect-ratio:1;border:none;background:#ffffff59;border-radius:var(--radius-sm);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.sticker-item:hover{background:#fff9;box-shadow:var(--shadow-glass)}.sticker-item img{width:100%;height:100%;object-fit:contain}.sticker-toggle{width:40px;height:40px;border-radius:var(--radius-full);border:.5px solid rgba(255,255,255,.5);background:#fff6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-secondary);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);flex-shrink:0}.sticker-toggle:hover{background:#fff9;color:var(--text-primary)}.sticker-toggle.active{background:#007aff1a;border-color:#007aff33;color:var(--accent-blue)}.message-sticker{background:transparent!important;border:none!important;box-shadow:none!important;padding:4px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.message-sticker img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,.12))}
