:root{--mx: 50%;--my: 50%;--posx: 50%;--posy: 50%}.holo-card{position:relative;transform-style:preserve-3d;transition:transform .1s ease-out,box-shadow .3s ease;box-shadow:0 0 30px #8c5cff4d,0 0 60px #d35cff33,0 20px 40px #0006;isolation:isolate;background:#1a1a2e}.holo-card:hover{box-shadow:0 0 40px #8c5cff99,0 0 80px #d35cff66,0 30px 60px #00000080}.holo-card:before{content:"";position:absolute;inset:-3px;border-radius:1.6rem;background:linear-gradient(var(--shine-angle, 135deg),#8c5cff,#d35cff,#fac042,#ff6b9d,#4facfe,#8c5cff);background-size:400% 400%;animation:rainbow-border 8s linear infinite;opacity:0;transition:opacity .3s ease;z-index:-1;filter:blur(12px)}.holo-card:hover:before{opacity:.8}@keyframes rainbow-border{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.holo-shine{position:absolute;inset:0;border-radius:1.5rem;pointer-events:none;z-index:0;opacity:1;transition:all .3s ease;overflow:hidden;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCI+CjxmaWx0ZXIgaWQ9Im4iPgo8ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iLjciIG51bU9jdGF2ZXM9IjEwIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIj48L2ZlVHVyYnVsZW5jZT4KPC9maWx0ZXI+CjxyZWN0IHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBmaWxsPSIjMDAwIj48L3JlY3Q+CjxyZWN0IHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBmaWx0ZXI9InVybCgjbikiIG9wYWNpdHk9IjAuMyI+PC9yZWN0Pgo8L3N2Zz4=),repeating-linear-gradient(0deg,#ff7773 5%,#ffed5f,#a8ff5f,#83fff7,#7894ff,#d875ff,#ff7773 35%),repeating-linear-gradient(133deg,#0e152e,#8fa3a3 3.8%,#8fc1c1,#8fa3a3 5.2%,#0e152e 10% 12%),radial-gradient(farthest-corner circle at var(--mx) var(--my),rgba(255,255,255,.8) 0%,rgba(255,255,255,.4) 20%,rgba(0,0,0,.1) 80%);background-blend-mode:screen,hue,hard-light;background-size:400px,200% 700%,300%,200%;background-position:center,0% var(--posy),var(--posx) var(--posy),var(--posx) var(--posy);filter:brightness(.9) contrast(2.8) saturate(.6)}.holo-shine:after{content:"";position:absolute;inset:0;border-radius:1.5rem;background:radial-gradient(circle 300px at var(--mx) var(--my),rgba(255,255,255,.6) 0%,rgba(255,255,255,.3) 30%,transparent 60%),radial-gradient(circle 150px at var(--mx) var(--my),rgba(140,92,255,.4) 0%,rgba(211,92,255,.2) 40%,transparent 70%);opacity:0;transition:opacity .2s ease;mix-blend-mode:overlay}.holo-card:hover .holo-shine:after{opacity:.9}.holo-barrier{position:absolute;inset:0;border-radius:1.5rem;z-index:5;pointer-events:none;background:#000000eb;backdrop-filter:blur(.5px);transition:background .3s ease}.holo-card:hover .holo-barrier{background:#000000f0}.holo-card>div:last-child{position:relative;z-index:20}@keyframes shimmer{0%,to{background-position:-200% center}50%{background-position:200% center}}.holo-card:after{content:"";position:absolute;inset:0;border-radius:1.5rem;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 45%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.05) 55%,transparent 100%);background-size:200% 100%;animation:shimmer 6s ease-in-out infinite;pointer-events:none;z-index:2;mix-blend-mode:overlay}@keyframes beating-heart{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}}.beating-heart{animation:beating-heart 1.2s ease-in-out infinite}@keyframes float-up{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-100px) scale(1.5);opacity:0}}.float-heart{animation:float-up 2s ease-out forwards}@keyframes sparkle{0%,to{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(180deg);opacity:1}}.sparkle{animation:sparkle 1s ease-out forwards}.confetti{position:fixed;width:10px;height:10px;pointer-events:none;z-index:9999}@keyframes confetti-explode{0%{transform:translate(0) rotate(0) scale(1);opacity:1}15%{transform:translate(calc(var(--drift-x) * .3),calc(var(--drift-y) * .5)) rotate(180deg) scale(1.2);opacity:1}to{transform:translate(var(--drift-x),calc(var(--drift-y) + 100vh)) rotate(1080deg) scale(.3);opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out forwards}@keyframes heartPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.heart-pop{animation:heartPop .4s ease-out forwards}
