.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#e4007c40;border-radius:99px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#e4007c80}.spring-petals-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.petal{position:absolute;top:-60px;width:12px;height:12px;border-radius:60% 40% 50% 50%/50% 50% 40% 60%;opacity:0;animation:petal-fall linear infinite;transform-origin:center center}.petal:nth-child(1){left:5%;animation-delay:0s;animation-duration:12s;background:#ffb7c5;width:10px;height:10px}.petal:nth-child(2){left:12%;animation-delay:2s;animation-duration:14s;background:pink;width:14px;height:14px}.petal:nth-child(3){left:20%;animation-delay:4s;animation-duration:10s;background:#ff85a2;width:8px;height:8px}.petal:nth-child(4){left:28%;animation-delay:1s;animation-duration:16s;background:#ffd1dc;width:12px;height:12px}.petal:nth-child(5){left:35%;animation-delay:3s;animation-duration:13s;background:#ffafc5;width:10px;height:10px}.petal:nth-child(6){left:43%;animation-delay:5.5s;animation-duration:11s;background:#f4c2c2;width:9px;height:9px}.petal:nth-child(7){left:52%;animation-delay:.5s;animation-duration:15s;background:#ffb7c5;width:13px;height:13px}.petal:nth-child(8){left:60%;animation-delay:3.5s;animation-duration:12s;background:#ffdce5;width:11px;height:11px}.petal:nth-child(9){left:68%;animation-delay:7s;animation-duration:14s;background:#ff85a2;width:8px;height:8px}.petal:nth-child(10){left:75%;animation-delay:1.5s;animation-duration:17s;background:pink;width:15px;height:15px}.petal:nth-child(11){left:82%;animation-delay:6s;animation-duration:10s;background:#ffd1dc;width:9px;height:9px}.petal:nth-child(12){left:90%;animation-delay:2.5s;animation-duration:13s;background:#ffafc5;width:12px;height:12px}.petal:nth-child(13){left:8%;animation-delay:9s;animation-duration:14s;background:#ffb7c5;width:7px;height:7px}.petal:nth-child(14){left:23%;animation-delay:11s;animation-duration:16s;background:#ff85a2;width:11px;height:11px}.petal:nth-child(15){left:48%;animation-delay:8s;animation-duration:12s;background:pink;width:9px;height:9px}.petal:nth-child(16){left:64%;animation-delay:10s;animation-duration:11s;background:#ffd1dc;width:13px;height:13px}.petal:nth-child(17){left:87%;animation-delay:4.5s;animation-duration:18s;background:#ffafc5;width:8px;height:8px}.petal:nth-child(18){left:95%;animation-delay:13s;animation-duration:15s;background:#f4c2c2;width:10px;height:10px}@keyframes petal-fall{0%{opacity:0;transform:translateY(-60px) translate(0) rotate(0) scale(.8)}5%{opacity:.9}85%{opacity:.7}to{opacity:0;transform:translateY(100vh) translate(80px) rotate(720deg) scale(1.1)}}.petal:nth-child(odd){animation-name:petal-fall-left}@keyframes petal-fall-left{0%{opacity:0;transform:translateY(-60px) translate(0) rotate(0) scale(.8)}25%{transform:translateY(25vh) translate(-40px) rotate(180deg) scale(1)}50%{transform:translateY(50vh) translate(20px) rotate(360deg) scale(.9)}75%{transform:translateY(75vh) translate(-20px) rotate(540deg) scale(1)}85%{opacity:.6}to{opacity:0;transform:translateY(100vh) translate(-50px) rotate(720deg) scale(.8)}}.spring-ribbon{width:100%;height:3px;background:linear-gradient(90deg,#ff85a2,#ffb347,#98fb98,#87ceeb,plum,#ffb7c5,#ff85a2);background-size:200% 100%;animation:ribbon-flow 4s linear infinite;position:relative;z-index:201}@keyframes ribbon-flow{0%{background-position:0% center}to{background-position:200% center}}.spring-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#ffb7c5,#ffa07a,#98fb98);color:#6b1b3a;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;padding:3px 10px;border-radius:99px;animation:badge-pulse 2s ease-in-out infinite;box-shadow:0 2px 12px #ff85a266}@keyframes badge-pulse{0%,to{box-shadow:0 2px 12px #ff85a266;transform:scale(1)}50%{box-shadow:0 4px 20px #ff85a2b3;transform:scale(1.02)}}.spring-hover-accent{position:relative;overflow:hidden}.spring-hover-accent:after{content:"";position:absolute;bottom:0;left:0;width:0%;height:2px;background:linear-gradient(90deg,#ffb7c5,#ff85a2,gold);transition:width .4s cubic-bezier(.4,0,.2,1)}.spring-hover-accent:hover:after{width:100%}.spring-bg-particle{position:fixed;border-radius:50%;pointer-events:none;z-index:0;opacity:.04;animation:particle-drift ease-in-out infinite alternate}.spring-bg-particle:nth-child(1){width:400px;height:400px;background:radial-gradient(circle,#FFB7C5,transparent);top:-100px;left:-100px;animation-duration:8s}.spring-bg-particle:nth-child(2){width:500px;height:500px;background:radial-gradient(circle,#98FB98,transparent);bottom:-150px;right:-150px;animation-duration:10s;animation-delay:2s}.spring-bg-particle:nth-child(3){width:300px;height:300px;background:radial-gradient(circle,#87CEEB,transparent);top:40%;left:60%;animation-duration:12s;animation-delay:4s}@keyframes particle-drift{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.05)}}.spring-btn-glow{position:relative}.spring-btn-glow:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;background:linear-gradient(135deg,#ffb7c5,#ffa07a,#98fb98,#ffb7c5);border-radius:inherit;z-index:-1;opacity:0;transition:opacity .4s;background-size:200% 200%;animation:spring-gradient-rotate 3s linear infinite}.spring-btn-glow:hover:before{opacity:1}@keyframes spring-gradient-rotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .4s ease-out both}.spring-flower-strip{display:flex;align-items:center;justify-content:center;gap:16px;padding:4px 0;background:linear-gradient(90deg,#ffb7c514,#ffa07a1f,#98fb9814);border-bottom:1px solid rgba(255,183,197,.15);overflow:hidden;height:28px;position:relative}.spring-flower-text{white-space:nowrap;font-size:9px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#00000059;animation:flower-text-scroll 30s linear infinite;position:absolute}.dark .spring-flower-text{color:#ffffff4d}@keyframes flower-text-scroll{0%{transform:translate(100vw)}to{transform:translate(-100%)}}.spring-seasonal-toast{position:fixed;bottom:24px;right:24px;z-index:10000;background:linear-gradient(135deg,#fff0f5,#fff8f0);border:1px solid rgba(255,183,197,.5);border-radius:16px;padding:14px 20px;box-shadow:0 8px 32px #ff85a233,0 2px 8px #0000000f;animation:toast-enter .5s cubic-bezier(.34,1.56,.64,1) both,toast-exit .4s ease-in 6s both;max-width:280px;display:flex;align-items:flex-start;gap:12px;cursor:pointer}.dark .spring-seasonal-toast{background:linear-gradient(135deg,#ffb7c51a,#ffa07a14);border-color:#ffb7c533;box-shadow:0 8px 32px #ff85a226,0 2px 8px #0000004d}@keyframes toast-enter{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.95);pointer-events:none}}.spring-loading-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#ffb7c5,#ffa07a,#98fb98);animation:loading-shimmer 1.5s ease-in-out infinite;z-index:9998}@keyframes loading-shimmer{0%{width:0%;opacity:1}70%{width:85%;opacity:1}to{width:100%;opacity:0}}.dark .premium-card:hover .card-inner{box-shadow:0 25px 50px -12px #ff85a21f!important}@keyframes cursor-ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2.5);opacity:0}}.spring-mode-indicator{position:fixed;bottom:12px;left:50%;transform:translate(-50%);font-size:8px;font-weight:900;letter-spacing:.25em;text-transform:uppercase;color:#e4007c4d;pointer-events:none;z-index:50;white-space:nowrap}.dark .spring-mode-indicator{color:#ffb7c533}.spring-gradient-text{background:linear-gradient(135deg,#ff85a2,#ffb347,#98fb98);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.spring-border-glow{box-shadow:0 0 0 1px #ffb7c54d,0 4px 20px #ff85a21a}.spring-border-glow:hover{box-shadow:0 0 0 1px #ffb7c599,0 8px 32px #ff85a233}
