/* Fizzii motion system (parity with the Next.js edition) */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}
@keyframes fz-float{0%,100%{transform:translateY(0) rotate(var(--tilt,0deg))}50%{transform:translateY(-12px) rotate(var(--tilt,0deg))}}
.animate-float{animation:fz-float 6s ease-in-out infinite}
.animate-float-slow{animation:fz-float 8s ease-in-out infinite}
@keyframes fz-shine{from{transform:translateX(-150%) skewX(-18deg)}to{transform:translateX(280%) skewX(-18deg)}}
.btn-shine{position:relative;overflow:hidden;isolation:isolate}
.btn-shine::after{content:"";position:absolute;top:0;bottom:0;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-150%) skewX(-18deg);pointer-events:none}
.btn-shine:hover::after{animation:fz-shine .9s ease}
.mask-line{display:block;overflow:hidden;padding-bottom:.24em;margin-bottom:-.24em}
.mask-line>span{display:block;transform:translateY(110%);animation:fz-rise .9s cubic-bezier(.22,1,.36,1) forwards}
@keyframes fz-rise{to{transform:translateY(0)}}
/* drawers */
.drawer-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .3s;z-index:70}
.drawer-bg.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;width:min(420px,92vw);background:#FFF8F0;z-index:71;transition:transform .38s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}
.drawer-right{right:0;transform:translateX(105%);border-radius:2rem 0 0 2rem}
.drawer-right.open{transform:none}
.drawer-top{top:0;bottom:auto;left:0;right:0;width:auto;transform:translateY(-105%);border-radius:0 0 2rem 2rem}
.drawer-top.open{transform:none}
/* toast */
#fz-toasts{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);z-index:95;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.fz-toast{background:#171717;color:#fff;font-size:13px;font-weight:700;padding:11px 20px;border-radius:999px;box-shadow:0 12px 40px -10px rgba(23,23,23,.35);animation:fz-toast-in .3s ease}
@keyframes fz-toast-in{from{opacity:0;transform:translateY(10px)}}
@media (min-width:768px){#fz-toasts{bottom:32px}}
@media (prefers-reduced-motion:reduce){
  .animate-marquee,.animate-blob-slow,.animate-spin-slower,.animate-float,.animate-float-slow{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
  .mask-line>span{transform:none;animation:none}
}
