.glass {
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.18);
}
.dark .glass {
    background: rgba(17, 14, 27, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.blob-mask {
    mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><path fill="%23FF0066" d="M44.7,-76.4C58.9,-69.2,71.8,-59.1,81.6,-46.6C91.4,-34.1,98.2,-19.2,95.8,-4.2C93.4,10.8,81.8,25.9,70.6,39.3C59.4,52.7,48.6,64.4,36.2,71.4C23.8,78.4,9.8,80.7,-2.8,85.5C-15.4,90.4,-26.6,97.7,-37.2,95.2C-47.8,92.7,-57.8,80.4,-67.2,68.2C-76.6,56,-85.4,43.9,-89.6,30.3C-93.8,16.7,-93.4,1.6,-88.7,-11.9C-84,-25.4,-75,-37.3,-64.1,-46.3C-53.2,-55.3,-40.4,-61.4,-28,-67.5C-15.6,-73.6,-3.6,-79.7,9.6,-80.4C22.8,-81.1,45.6,-76.4,44.7,-76.4Z" transform="translate(100 100)" /></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}
.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    background-image: linear-gradient(135deg, #2DD4BF, #D97706, #9333EA);
}
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}
.animate-float {
    animation: float 6s ease-in-out infinite;
}
.animate-float-delayed {
    animation: float 7s ease-in-out infinite 1s;
}
@keyframes pulse-ring {
    0% { transform: scale(0.8); box-shadow: 0 0 0 0 rgba(45, 212, 191, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 20px rgba(45, 212, 191, 0); }
    100% { transform: scale(0.8); box-shadow: 0 0 0 0 rgba(45, 212, 191, 0); }
}
.pulse-btn {
    animation: pulse-ring 2s infinite;
}
