.App{min-height:100vh;background:radial-gradient(1200px 800px at 85% -10%,rgba(244,63,94,.1) 0,transparent 60%),radial-gradient(1000px 700px at -10% 30%,rgba(59,130,246,.08) 0,transparent 60%),radial-gradient(800px 600px at 50% 110%,rgba(245,158,11,.05) 0,transparent 60%),#02040a;color:hsl(210 40% 98%)}.gradient-text{background:linear-gradient(120deg,#fb7185,#e11d48 30%,#c026d3 65%,#8b5cf6);-webkit-background-clip:text;background-clip:text}.gradient-text,.shine-text{-webkit-text-fill-color:transparent}.shine-text{background:linear-gradient(90deg,#fff 20%,rgba(255,255,255,.55) 60%,#fff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;animation:shine 6s linear infinite}@keyframes shine{to{background-position:200%}}.hero-glow{position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(244,63,94,.18) 0,transparent 70%);filter:blur(80px);pointer-events:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.floating{animation:float 6s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(244,63,94,.4)}70%{box-shadow:0 0 0 16px rgba(244,63,94,0)}to{box-shadow:0 0 0 0 rgba(244,63,94,0)}}.pulse-ring{animation:pulseRing 2.2s ease-out infinite}@keyframes marqueeUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.marquee-up{animation:marqueeUp 40s linear infinite}.marquee-up-slow{animation:marqueeUp 60s linear infinite}.profile-card{position:relative;aspect-ratio:3/4;border-radius:1rem;overflow:hidden;cursor:pointer;transition:all .3s ease;border:1px solid rgba(255,255,255,.06)}.profile-card:hover{transform:translateY(-8px);border-color:rgba(244,63,94,.5);box-shadow:0 20px 40px rgba(0,0,0,.55),0 0 24px rgba(244,63,94,.18)}.profile-card img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-gradient{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(0deg,rgba(2,4,10,.92) 0,transparent);padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end}.chat-bubble{max-width:70%;padding:.75rem 1rem;border-radius:1rem;word-wrap:break-word}.chat-bubble.sent{background:linear-gradient(135deg,#f43f5e,#be123c);color:white;margin-left:auto;border-bottom-right-radius:.25rem;box-shadow:0 4px 16px rgba(244,63,94,.25)}.chat-bubble.received{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);color:hsl(210 40% 98%);margin-right:auto;border-bottom-left-radius:.25rem}.swipe-card{position:absolute;width:90%;max-width:400px;height:500px;background:#0b1020;border-radius:1.5rem;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px rgba(0,0,0,.6);cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.swipe-card:active{cursor:grabbing}.glass-nav{background:rgba(2,4,10,.75);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.08)}.neon-glow{box-shadow:0 0 20px rgba(244,63,94,.35),0 0 60px rgba(192,38,211,.15)}.neon-border{border:1px solid rgba(244,63,94,.45);box-shadow:inset 0 0 12px rgba(244,63,94,.12),0 0 18px rgba(192,38,211,.18)}.aurora{background:linear-gradient(115deg,rgba(244,63,94,.25),rgba(192,38,211,.22),rgba(59,130,246,.2),rgba(245,158,11,.18));background-size:300% 300%;animation:aurora 14s ease infinite}@keyframes aurora{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.sticker{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);border-radius:9999px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background-image:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.1) 50%,rgba(255,255,255,.04));background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}@keyframes flicker{0%,to{transform:scale(1) rotate(-2deg);filter:brightness(1)}50%{transform:scale(1.08) rotate(2deg);filter:brightness(1.25)}}.flame{animation:flicker 1.6s ease-in-out infinite}@keyframes spin-slow{to{transform:rotate(1turn)}}.spin-slow{animation:spin-slow 18s linear infinite}