html, body { font-family: Barlow, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; }
html {scroll-behavior: smooth;}
.text-stroke { -webkit-text-stroke: 1px rgba(255,255,255,.08); }
.drawer-scroll::-webkit-scrollbar { width: 10px; }
.drawer-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 999px; }
.drawer-scroll::-webkit-scrollbar-track { background: rgba(255,255,255,.04); }
.cpointer{cursor: pointer;}


.pulse {position: relative;}
.pulse::before {content: "";position: absolute;inset: -6px;border-radius: 9999px;border: 2px solid currentColor;opacity: .8;animation: pulse-ring 1.2s infinite;pointer-events: none;}
@keyframes pulse-ring {0% { transform: scale(.7); opacity: .9; }100% { transform: scale(1.6); opacity: 0; }}


@keyframes blobFloat1 {
    0%   { transform: translate3d(0,0,0) scale(1); }
    33%  { transform: translate3d(60px,20px,0) scale(1.12); }
    66%  { transform: translate3d(10px,70px,0) scale(0.98); }
    100% { transform: translate3d(0,0,0) scale(1); }
}
@keyframes blobFloat2 {
    0%   { transform: translate3d(0,0,0) scale(1); }
    33%  { transform: translate3d(-70px,50px,0) scale(1.10); }
    66%  { transform: translate3d(-40px,10px,0) scale(0.98); }
    100% { transform: translate3d(0,0,0) scale(1); }
}
@keyframes blobFloat3 {
    0%   { transform: translate3d(0,0,0) scale(1); }
    33%  { transform: translate3d(50px,-40px,0) scale(1.08); }
    66%  { transform: translate3d(90px,20px,0) scale(0.96); }
    100% { transform: translate3d(0,0,0) scale(1); }
}

.blob-1 { animation: blobFloat1 12s ease-in-out infinite; will-change: transform; }
.blob-2 { animation: blobFloat2 16s ease-in-out infinite; will-change: transform; }
.blob-3 { animation: blobFloat3 20s ease-in-out infinite; will-change: transform; }
@media (prefers-reduced-motion: reduce) {
    .blob-1, .blob-2, .blob-3 { animation: none !important; }
}