@supports (padding:env(safe-area-inset-bottom)){.pb-safe{padding-bottom:env(safe-area-inset-bottom)!important}.pt-safe{padding-top:env(safe-area-inset-top)!important}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scroll-smooth{-webkit-overflow-scrolling:touch}*{-webkit-tap-highlight-color:transparent}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleBounce{0%{transform:scale(1)}25%{transform:scale(.9)}50%{transform:scale(1.2)}75%{transform:scale(.95)}to{transform:scale(1)}}@keyframes heartPulse{0%,to{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 hsl(var(--primary)/.4)}50%{box-shadow:0 0 0 8px hsl(var(--primary)/0)}}@keyframes gradientFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes reactionPop{0%{transform:scale(0) rotate(-15deg);opacity:0}60%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.animate-shimmer{background:linear-gradient(90deg,hsl(var(--muted)) 0,hsl(var(--muted-foreground)/.1) 50%,hsl(var(--muted)) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.animate-fade-up{animation:fadeUp .5s ease-out forwards;opacity:0}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.animate-scale-bounce{animation:scaleBounce .4s ease-out}.animate-heart-pulse{animation:heartPulse .8s ease-out}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-gradient-flow{background-size:200% 200%;animation:gradientFlow 3s ease infinite}.animate-slide-up{animation:slideInUp .3s ease-out forwards}.animate-slide-right{animation:slideInRight .3s ease-out forwards}.animate-pop-in{animation:popIn .3s ease-out forwards}.animate-spin-slow{animation:spin 1.5s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-reaction-pop{animation:reactionPop .4s cubic-bezier(.68,-.55,.265,1.55) forwards}.glass{background:hsl(var(--card)/.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--border)/.5)}.glass-strong{background:hsl(var(--card)/.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsl(var(--border)/.3)}.card-premium{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 1px 3px hsl(var(--foreground)/.02),0 4px 12px hsl(var(--foreground)/.04);transition:all .3s cubic-bezier(.4,0,.2,1)}.card-premium:hover{box-shadow:0 2px 8px hsl(var(--foreground)/.04),0 8px 24px hsl(var(--foreground)/.08);transform:translateY(-2px)}.glow-border{position:relative}.glow-border:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,hsl(var(--primary)/.3),hsl(var(--accent)/.3),hsl(var(--primary)/.3));z-index:-1;opacity:0;transition:opacity .3s ease}.glow-border:hover:before{opacity:1}.avatar-ring{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)),hsl(var(--primary)));padding:2px;border-radius:9999px}.avatar-ring-animated{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)),hsl(var(--primary)),hsl(var(--accent)));background-size:300% 300%;padding:2px;border-radius:9999px;animation:gradientFlow 4s ease infinite}.gradient-overlay{background:linear-gradient(180deg,transparent 0,hsl(var(--background)/.3) 50%,hsl(var(--background)) 100%)}.gradient-primary,.text-gradient{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))}.text-gradient{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.press-effect{transition:transform .1s ease}.press-effect:active{transform:scale(.96)}.like-button{transition:all .2s cubic-bezier(.4,0,.2,1)}.like-button:hover{transform:scale(1.1)}.like-button:active{transform:scale(.9)}.like-button.liked{color:hsl(355 90% 55%)}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px hsl(var(--foreground)/.1)}.blur-up{filter:blur(20px);transition:filter .5s ease-out}.blur-up.loaded{filter:blur(0)}.img-zoom{transition:transform .5s cubic-bezier(.4,0,.2,1)}.img-zoom:hover{transform:scale(1.05)}.img-overlay{position:relative;overflow:hidden}.img-overlay:after{content:"";position:absolute;inset:0;background:hsl(var(--foreground)/0);transition:background .3s ease}.img-overlay:hover:after{background:hsl(var(--foreground)/.1)}.loader-spinner{width:24px;height:24px;border:2px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .8s linear infinite}@keyframes dotsLoading{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-dots span{display:inline-block;width:8px;height:8px;margin:0 2px;background:hsl(var(--primary));border-radius:50%;animation:dotsLoading 1.4s ease-in-out infinite}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.feed-container{max-width:42rem;margin:0 auto}.post-card{border-radius:var(--radius);background:hsl(var(--card));border:1px solid hsl(var(--border));overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.post-card:hover{box-shadow:0 4px 12px hsl(var(--foreground)/.05),0 10px 30px hsl(var(--foreground)/.08)}.action-button{position:relative;overflow:hidden;transition:all .2s ease}.action-button:before{content:"";position:absolute;inset:0;background:hsl(var(--muted)/0);transition:background .2s ease;border-radius:inherit}.action-button:hover:before{background:hsl(var(--muted)/.5)}.comments-enter{animation:slideInUp .3s ease-out forwards}.comment-new{background:hsl(var(--primary)/.05);animation:fadeUp .5s ease-out}