:root{--rose:#e91e63;--rose-light:#f8bbd9;--gold:#d4af37;--wine:#8b2252;--ink:#2d2d2d;--ink-soft:#6b6b6b;--bg:#fff8f9;--bg-soft:#fff0f3;--cream:#fff5f7;--font-display:"Playfair Display","Noto Serif SC",serif;--font-serif:"Cormorant Garamond","Noto Serif SC",serif;--font-sans:"Quicksand","Nunito",sans-serif;--font-cn:"ZCOOL KuaiLe","Ma Shan Zheng",cursive;--font-hand:"Caveat","Ma Shan Zheng",cursive;--shadow-soft:0 4px 20px #e91e6326;--shadow-medium:0 8px 32px #e91e6333;--shadow-hard:0 12px 48px #e91e6340;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--transition-normal:0.35s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.5s cubic-bezier(0.4,0,0.2,1);--transition-bounce:0.6s cubic-bezier(0.68,-0.55,0.265,1.55)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#fff8f9;background:var(--bg);color:#2d2d2d;color:var(--ink);font-family:Quicksand,Nunito,sans-serif;font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}::selection{background:#f8bbd9;background:var(--rose-light);color:#2d2d2d;color:var(--ink)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#fff5f7;background:var(--cream)}::-webkit-scrollbar-thumb{background:#f8bbd9;background:var(--rose-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#e91e63;background:var(--rose)}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-15px) rotate(2deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}60%{transform:scale(1)}}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rainbow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}@keyframes musicBar1{0%,to{height:8px}50%{height:16px}}@keyframes musicBar2{0%,to{height:12px}50%{height:8px}}@keyframes musicBar3{0%,to{height:6px}50%{height:18px}}@keyframes clickHeartFloat{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-100px) scale(1.5)}}@keyframes bubbleFloat{0%{opacity:.6;transform:translateY(0) scale(1)}50%{opacity:.8;transform:translateY(-20px) scale(1.1)}to{opacity:0;transform:translateY(-40px) scale(.8)}}@keyframes easterEggPop{0%{opacity:0;transform:scale(0) rotate(-180deg)}60%{opacity:1;transform:scale(1.2) rotate(10deg)}80%{transform:scale(.9) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes characterBounce{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(-5deg)}75%{transform:translateY(-5px) rotate(5deg)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}
/*# sourceMappingURL=main.06732ade.css.map*/