.gradient-text{background:linear-gradient(135deg,#7c3aed,#6366f1,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 6s ease-in-out infinite}:focus-visible{outline:2px solid #7c3aed;outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.bg-warm-mesh{background:radial-gradient(ellipse 70% 60% at 20% 20%,rgba(232,121,249,.22),transparent 55%),radial-gradient(ellipse 60% 50% at 90% 30%,rgba(99,102,241,.18),transparent 55%),radial-gradient(ellipse 70% 60% at 60% 95%,rgba(59,130,246,.14),transparent 55%),#fefcfb}.bg-appify-cream{background:#fefcfb}.text-gradient-4stops{background:linear-gradient(90deg,#e879f9,#a855f7 35%,#6366f1 70%,#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent}.text-gradient-4stops-anim{background:linear-gradient(90deg,#e879f9,#a855f7,#6366f1,#3b82f6,#6366f1,#a855f7,#e879f9);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:appify-gradient-shimmer 10s linear infinite}@keyframes appify-gradient-shimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.font-geist{font-family:var(--font-geist),"Inter",-apple-system,system-ui,sans-serif}.btn-appify-gradient{background:linear-gradient(135deg,#e879f9,#a855f7 50%,#6366f1);color:#fff;box-shadow:0 10px 30px -8px rgba(168,85,247,.45),inset 0 1px 0 hsla(0,0%,100%,.25);transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-appify-gradient:hover{box-shadow:0 15px 40px -8px rgba(168,85,247,.65),inset 0 1px 0 hsla(0,0%,100%,.3);transform:translateY(-1px)}.card-lovable{background:#fff;border:1px solid rgba(232,121,249,.15);border-radius:24px;box-shadow:0 20px 50px -15px rgba(168,85,247,.18),0 4px 12px -4px rgba(168,85,247,.08),inset 0 1px 0 #fff}.badge-appify{padding:.5rem 1rem;border-radius:9999px;border:1px solid hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.7);font-size:12px;color:#334155;box-shadow:0 1px 2px rgba(0,0,0,.02)}.badge-appify,.chip-framework{display:inline-flex;align-items:center;gap:.5rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-weight:500}.chip-framework{padding:.625rem 1.25rem;border-radius:9999px;border:1px solid #e2e8f0;background:hsla(0,0%,100%,.8);font-size:14px;color:#1e293b;transition:all .25s cubic-bezier(.16,1,.3,1);cursor:pointer;min-height:44px}.chip-framework:hover{background:#fff;border-color:rgba(168,85,247,.35);box-shadow:0 12px 30px -10px rgba(168,85,247,.3),0 4px 8px -2px rgba(168,85,247,.1);transform:translateY(-2px) scale(1.03)}.chip-framework:active{transform:translateY(0) scale(1);transition-duration:.1s}.chip-framework.active{background:linear-gradient(135deg,rgba(232,121,249,.1),rgba(99,102,241,.1));border-color:rgba(168,85,247,.5);color:#7c3aed;box-shadow:0 6px 16px -6px rgba(168,85,247,.25),inset 0 1px 0 hsla(0,0%,100%,.6)}@media (prefers-reduced-motion:reduce){.chip-framework,.chip-framework:active,.chip-framework:hover{transform:none;transition:none}}.aurora-blob{position:absolute;border-radius:9999px;filter:blur(100px);pointer-events:none;will-change:transform}.aurora-blob-pink{background:rgba(232,121,249,.28);animation:aurora-float-1 15s ease-in-out infinite}.aurora-blob-indigo{background:rgba(99,102,241,.22);animation:aurora-float-2 18s ease-in-out infinite}.aurora-blob-blue{background:rgba(59,130,246,.18);animation:aurora-float-3 20s ease-in-out infinite}@keyframes aurora-float-1{0%,to{transform:translate(0)}50%{transform:translate(30px,-20px)}}@keyframes aurora-float-2{0%,to{transform:translate(0)}50%{transform:translate(-30px,20px)}}@keyframes aurora-float-3{0%,to{transform:translate(0)}50%{transform:translate(20px,-25px)}}@keyframes appify-fade-in-line{0%{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in-line{animation:appify-fade-in-line .5s cubic-bezier(.16,1,.3,1) both}@keyframes appify-bounce-in{0%{opacity:0;transform:scale(.94) translateY(24px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-bounce-in{animation:appify-bounce-in .8s cubic-bezier(.16,1,.3,1) both}@keyframes appify-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-cursor-blink{animation:appify-cursor-blink 1s step-end infinite}@keyframes appify-glow-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}.animate-glow-pulse{animation:appify-glow-pulse 2.5s ease-in-out infinite}@keyframes appify-scan-line{0%{top:0;opacity:0}5%{opacity:.8}95%{opacity:.8}to{top:100%;opacity:0}}.animate-scan-line{animation:appify-scan-line 1.4s ease-out both}@media (prefers-reduced-motion:reduce){.animate-bounce-in,.animate-cursor-blink,.animate-fade-in-line,.animate-glow-pulse,.animate-scan-line,.aurora-blob-blue,.aurora-blob-indigo,.aurora-blob-pink,.text-gradient-4stops-anim{animation:none;opacity:1;transform:none}}