.heart-button-container{position:relative}.heart-button{display:flex;align-items:center;font-size:.875rem;padding:.5rem .75rem;margin-top:.5rem;border:1px solid #5b4ff9;background-color:#5b4ff9;color:#fff;font-weight:600;border-radius:.375rem;white-space:nowrap;cursor:pointer;transition:background-color .3s ease,color .3s ease}.heart-button:hover{background-color:red;border-color:red}.heart-button.disabled{opacity:.5;cursor:pointer}.heart-icon{width:1rem;height:1rem;margin-right:.5rem}.heart-emoji{position:absolute;font-size:1.2rem;animation:heartFade 1.05s ease-out;pointer-events:none}@keyframes heartFade{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-20px) scale(1.2);opacity:0}}.badge-container{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.text-shimmer{position:relative;display:inline-block;background:linear-gradient(110deg,#5b4ff9 30%,#9d94ff 50%,#5b4ff9 70%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shineText 5s linear infinite}.text-shimmer:after{content:"";position:absolute;left:0;right:0;bottom:.1em;height:.08em;background:linear-gradient(90deg,rgba(91,79,249,0) 0,#5b4ff9);pointer-events:none;border-radius:1px}@keyframes shineText{to{background-position:-200%}}.sparkle-container{position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px;pointer-events:none;z-index:20}.sparkle{position:absolute;display:block;width:var(--size);height:var(--size);background-color:#5b4ff9;-webkit-clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%);clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%);filter:drop-shadow(0 0 1px rgba(91,79,249,.5));opacity:0;transform:scale(0);animation:sparklePop var(--duration) ease-in-out infinite;animation-delay:var(--delay);top:var(--top);left:var(--left)}@keyframes sparklePop{0%{opacity:0;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(45deg)}to{opacity:0;transform:scale(0) rotate(90deg)}}@font-face{font-family:__Sriracha_e28e56;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58da5655a32e217e-s.woff2) format("woff2");unicode-range:U+02d7,U+0303,U+0331,U+0e01-0e5b,U+200c-200d,U+25cc}@font-face{font-family:__Sriracha_e28e56;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d5266cede2fae2f0-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Sriracha_e28e56;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/18775ca60fc2275e-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c0,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__Sriracha_e28e56;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b3994c1229a7f852-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Sriracha_Fallback_e28e56;src:local("Arial");ascent-override:121.84%;descent-override:54.93%;line-gap-override:0.00%;size-adjust:100.13%}.__className_e28e56{font-family:__Sriracha_e28e56,__Sriracha_Fallback_e28e56;font-weight:400;font-style:normal}.visit-button{display:inline-flex;align-items:center;font-size:.875rem;padding:.5rem .75rem;margin-top:.5rem;border:1px solid #5b4ff9;color:#5b4ff9;font-weight:600;border-radius:.375rem;text-decoration:none;transition:background-color .3s ease,color .3s ease}.visit-button:hover{background-color:#5b4ff9;color:#fff}.visit-button.disabled{opacity:.5;cursor:pointer}.visit-button.disabled:hover{background-color:#5b4ff9;color:#fff;opacity:.5}.pointer-events-none{pointer-events:none}.opacity-50{opacity:.5}.cursor-not-allowed{cursor:pointer}