.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:none}.site-header{border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease}.site-header.is-scrolled{background:rgba(12,6,25,.72);backdrop-filter:blur(20px) saturate(170%);border-bottom-color:hsla(0,0%,100%,.08)}@keyframes hero-in{0%{opacity:0;transform:translateY(24px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.hero-in{opacity:0;animation:hero-in .9s cubic-bezier(.16,1,.3,1) forwards}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.float-slow{animation:float-y 7s ease-in-out infinite}.float-med{animation:float-y 5s ease-in-out infinite}.float-fast{animation:float-y 4s ease-in-out infinite}@keyframes wave-drift{0%,to{transform:translateX(0) scaleY(1)}50%{transform:translateX(-6%) scaleY(1.12)}}.wave-drift{animation:wave-drift 7s ease-in-out infinite;transform-origin:center}@keyframes blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.1)}66%{transform:translate(-30px,20px) scale(.95)}}.blob{animation:blob 18s ease-in-out infinite}@keyframes gradient-pan{0%{background-position:0 50%}to{background-position:200% 50%}}.text-shimmer{background:linear-gradient(90deg,#cbbef9,#fff,#a17cec,#cbbef9);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-pan 6s linear infinite}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee-track{animation:marquee 32s linear infinite}.btn-shine{position:relative;overflow:hidden;isolation:isolate}.btn-shine:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,hsla(0,0%,100%,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}.btn-shine:hover:after{transform:translateX(120%)}.lift{transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s}.lift:hover{transform:translateY(-6px);border-color:rgba(161,124,236,.45);box-shadow:0 20px 50px -12px rgba(98,0,179,.55)}@keyframes toast-loop{0%,12%{opacity:0;transform:translateY(-16px) scale(.95)}18%,62%{opacity:1;transform:none}70%,to{opacity:0;transform:translateY(-16px) scale(.95)}}.toast-loop{animation:toast-loop 6s ease-in-out infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.7}to{transform:scale(2.2);opacity:0}}.pulse-ring:before{content:"";position:absolute;inset:0;border-radius:9999px;background:currentColor;animation:pulse-ring 1.8s ease-out infinite}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.is-visible .bar{animation:bar-grow 1s cubic-bezier(.16,1,.3,1) both;transform-origin:bottom}.bar{transform:scaleY(0);transform-origin:bottom}@media (prefers-reduced-motion:reduce){.hero-in,.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.bar,.blob,.float-fast,.float-med,.float-slow,.hero-in,.marquee-track,.pulse-ring:before,.reveal,.text-shimmer,.toast-loop,.wave-drift{animation:none!important}.bar{transform:none!important}}@keyframes heart-beat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}}.heart-beat{animation:heart-beat 1.8s ease-in-out infinite}@keyframes slide-left{0%,to{transform:translateX(0)}50%{transform:translateX(10px)}}@keyframes slide-right{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}}.match-left{animation:slide-left 3.6s ease-in-out infinite}.match-right{animation:slide-right 3.6s ease-in-out infinite}@keyframes scan{0%,to{top:8%}50%{top:86%}}.scan-line{animation:scan 2.6s ease-in-out infinite}@keyframes feed-scroll{0%,20%{transform:translateY(0)}45%,70%{transform:translateY(-36%)}95%,to{transform:translateY(0)}}.feed-scroll{animation:feed-scroll 8s cubic-bezier(.65,0,.35,1) infinite}@keyframes unblur{0%,30%{filter:blur(3px)}50%,85%{filter:blur(0)}to{filter:blur(3px)}}.unblur{animation:unblur 5s ease-in-out infinite}.step-card:hover .step-visual{transform:scale(1.03)}.step-visual{transition:transform .5s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){.feed-scroll,.heart-beat,.match-left,.match-right,.scan-line,.unblur{animation:none!important}}.nfc-phone{animation:nfc-phone 6s cubic-bezier(.65,0,.35,1) infinite;transform-origin:50% 80%}@keyframes nfc-phone{0%,10%{transform:translateX(0) rotate(-12deg)}36%,64%{transform:translateX(var(--nfc-travel,96px)) rotate(0deg)}44%{transform:translateX(calc(var(--nfc-travel, 96px) + 3px)) rotate(0deg)}88%,to{transform:translateX(0) rotate(-12deg)}}.nfc-ring{opacity:0;animation:nfc-ring 6s ease-out infinite}@keyframes nfc-ring{0%,34%{opacity:0;transform:scale(.5)}38%{opacity:.9}52%,to{opacity:0;transform:scale(1.9)}}.nfc-idle{animation:nfc-idle 6s ease infinite}@keyframes nfc-idle{0%,42%{opacity:1}46%,82%{opacity:0}88%,to{opacity:1}}.nfc-ok{opacity:0;animation:nfc-ok 6s ease infinite}@keyframes nfc-ok{0%,42%{opacity:0;transform:scale(.9)}47%{opacity:1;transform:scale(1.04)}52%,80%{opacity:1;transform:scale(1)}86%,to{opacity:0;transform:scale(.95)}}.nfc-glow{opacity:0;animation:nfc-glow 6s ease infinite}@keyframes nfc-glow{0%,42%{opacity:0}48%,78%{opacity:1}86%,to{opacity:0}}.nfc-target{animation:nfc-target 1.6s ease-in-out infinite}@keyframes nfc-target{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}.nfc-step{animation:6s ease infinite}.nfc-step-1{animation-name:nfc-step-1}.nfc-step-2{animation-name:nfc-step-2}.nfc-step-3{animation-name:nfc-step-3}@keyframes nfc-step-1{0%,34%{background:rgba(126,89,245,.25);color:#fff}38%,to{background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.45)}}@keyframes nfc-step-2{0%,34%{background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.45)}38%,45%{background:rgba(126,89,245,.25);color:#fff}48%,to{background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.45)}}@keyframes nfc-step-3{0%,45%{background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.45)}48%,82%{background:rgba(52,211,153,.18);color:#6ee7b7}88%,to{background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.45)}}@media (prefers-reduced-motion:reduce){.nfc-glow,.nfc-idle,.nfc-ok,.nfc-phone,.nfc-ring,.nfc-step,.nfc-target{animation:none!important}.nfc-phone{transform:translateX(var(--nfc-travel,96px))}.nfc-idle{opacity:0}.nfc-glow,.nfc-ok{opacity:1}}.merge-chip{animation:merge-chip 7s cubic-bezier(.65,0,.35,1) infinite}@keyframes merge-chip{0%,22%{transform:translate(0) rotate(var(--r)) scale(1);opacity:1}40%{transform:translate(var(--tx),var(--ty)) rotate(0deg) scale(.25);opacity:0}88%{transform:translateY(-12px) rotate(var(--r)) scale(.9);opacity:0}96%,to{transform:translate(0) rotate(var(--r)) scale(1);opacity:1}}.merge-wobble{animation:merge-wobble 1.4s ease-in-out infinite}@keyframes merge-wobble{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-5px) rotate(2deg)}}.merge-card{animation:merge-card 7s ease infinite}@keyframes merge-card{0%,36%{transform:scale(1);box-shadow:0 20px 50px -20px rgba(98,0,179,.4)}42%{transform:scale(1.05);box-shadow:0 30px 80px -10px rgba(126,89,245,.85)}48%,86%{transform:scale(1);box-shadow:0 24px 70px -14px rgba(126,89,245,.65)}94%,to{transform:scale(1);box-shadow:0 20px 50px -20px rgba(98,0,179,.4)}}.merge-row{animation:merge-row 7s ease infinite}@keyframes merge-row{0%,42%{opacity:.25;transform:translateY(6px)}48%,86%{opacity:1;transform:none}93%,to{opacity:.25;transform:translateY(6px)}}.merge-check{animation:merge-check 7s ease infinite}@keyframes merge-check{0%,46%{opacity:0;transform:scale(.4)}52%{opacity:1;transform:scale(1.2)}56%,86%{opacity:1;transform:scale(1)}92%,to{opacity:0;transform:scale(.4)}}.merge-label-chaos{animation:merge-label-chaos 7s ease infinite}@keyframes merge-label-chaos{0%,30%{opacity:1}36%,90%{opacity:0}96%,to{opacity:1}}.merge-label-done{animation:merge-label-done 7s ease infinite}@keyframes merge-label-done{0%,44%{opacity:0}50%,86%{opacity:1}92%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.merge-card,.merge-check,.merge-chip,.merge-label-chaos,.merge-label-done,.merge-row,.merge-wobble{animation:none!important}.merge-chip,.merge-label-chaos{opacity:0}.merge-check,.merge-label-done,.merge-row{opacity:1}}.j-word-active{background:linear-gradient(90deg,#fff,#cbbef9 45%,#a17cec);-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes j-copy-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.j-copy{animation:j-copy-in .6s cubic-bezier(.16,1,.3,1) both}.j-going-on,.j-tap{opacity:0}.is-active .j-tap{animation:j-tap .7s ease-out 1.1s both}.is-active .j-going-on{animation:j-pop .4s cubic-bezier(.34,1.56,.64,1) 1.3s both}@keyframes j-tap{0%{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(2.4)}}@keyframes j-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.j-like,.j-match,.j-msg-1,.j-msg-2{opacity:0}.is-active .j-pick{animation:j-pick .5s ease .6s both}.is-active .j-like{animation:j-pop .4s cubic-bezier(.34,1.56,.64,1) .8s both}.is-active .j-match{animation:j-up .6s cubic-bezier(.16,1,.3,1) 1.4s both}.is-active .j-msg-1{animation:j-up .4s ease 2.2s both}.is-active .j-msg-2{animation:j-up .4s ease 2.9s both}@keyframes j-pick{to{box-shadow:0 0 0 2px #a17cec;transform:scale(1.04)}}@keyframes j-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.j-entry{opacity:0}.is-active .j-entry{animation:j-up .5s cubic-bezier(.16,1,.3,1) 1.6s both}@media (prefers-reduced-motion:reduce){.is-active .j-entry,.is-active .j-going-on,.is-active .j-like,.is-active .j-match,.is-active .j-msg-1,.is-active .j-msg-2,.is-active .j-pick,.is-active .j-tap,.j-copy{animation:none!important}.j-entry,.j-going-on,.j-like,.j-match,.j-msg-1,.j-msg-2{opacity:1}}.mark-draw{position:relative;z-index:0;white-space:nowrap;color:#fff}.mark-draw:after{content:"";position:absolute;left:-2px;right:-2px;bottom:.05em;height:.42em;z-index:-1;border-radius:6px;background:linear-gradient(90deg,rgba(126,89,245,.75),rgba(161,124,236,.55));transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.16,1,.3,1) .5s}.is-visible .mark-draw:after{transform:scaleX(1)}.collage-card{transition:transform .6s cubic-bezier(.34,1.3,.64,1)}.collage:hover .collage-a{transform:rotate(-14deg) translate(-26px,-6px)}.collage:hover .collage-b{transform:rotate(4deg) translateY(-16px) scale(1.04)}.collage:hover .collage-c{transform:rotate(14deg) translate(26px,-2px)}@keyframes ping-soft{0%{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}.ping-soft{animation:ping-soft 1.8s ease-out infinite}@media (prefers-reduced-motion:reduce){.mark-draw:after{transition:none;transform:scaleX(1)}.ping-soft{animation:none}}.cf-up{opacity:0}.is-active .cf-up{animation:j-up .5s cubic-bezier(.16,1,.3,1) var(--d,0s) both}.cf-pop{opacity:0}.is-active .cf-pop{animation:j-pop .45s cubic-bezier(.34,1.56,.64,1) var(--d,0s) both}.cf-type{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid #a17cec;vertical-align:bottom}.is-active .cf-type{animation:cf-type 1s steps(15) .3s forwards,cf-caret .8s step-end 6}@keyframes cf-type{to{max-width:16ch}}@keyframes cf-caret{50%{border-color:transparent}}.cf-on{opacity:0}.is-active .cf-on{animation:j-pop .4s ease 1.2s both}.is-active .cf-off{animation:cf-fade .2s ease 1.2s both}@keyframes cf-fade{to{opacity:0}}.is-active .cf-track{animation:cf-track .3s ease .9s both}.is-active .cf-knob{animation:cf-knob .35s cubic-bezier(.34,1.56,.64,1) .9s both}@keyframes cf-track{to{background:#34d399}}@keyframes cf-knob{to{transform:translateX(20px)}}.cf-bar{transform:scaleY(0);transform-origin:bottom}.is-active .cf-bar{animation:cf-bar .8s cubic-bezier(.16,1,.3,1) var(--d,0s) forwards}@keyframes cf-bar{to{transform:scaleY(1)}}.cf-fill{width:0}.is-active .cf-fill{animation:cf-fill 2.6s cubic-bezier(.16,1,.3,1) forwards}@keyframes cf-fill{to{width:80%}}.cf-progress{width:0;animation:cf-progress linear forwards}@keyframes cf-progress{to{width:100%}}@media (prefers-reduced-motion:reduce){.cf-on,.cf-pop,.cf-up{opacity:1!important;animation:none!important}.cf-off{opacity:0}.cf-type{max-width:none;border:0}.cf-bar,.cf-type{animation:none!important}.cf-bar{transform:none}.cf-fill{width:80%;animation:none!important}.is-active .cf-knob{transform:translateX(20px);animation:none}.is-active .cf-track{background:#34d399;animation:none}}.rv-up{opacity:0}.is-visible .rv-up{animation:j-up .55s cubic-bezier(.16,1,.3,1) var(--d,0s) both}.rv-pop{opacity:0}.is-visible .rv-pop{animation:j-pop .45s cubic-bezier(.34,1.56,.64,1) var(--d,0s) both}@media (prefers-reduced-motion:reduce){.rv-pop,.rv-up{opacity:1!important;animation:none!important}}.is-active .j-pick-ring{animation:cf-ring .4s ease 1.3s both}@keyframes cf-ring{to{box-shadow:0 0 0 2px #a17cec}}