@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=Great+Vibes&display=swap");@tailwind base;@tailwind components;@tailwind utilities;*,:after,:before{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;height:100%;overflow:hidden;-webkit-font-smoothing:antialiased}body{background:#0d0d0d;color:#fff;display:flex;align-items:center;justify-content:center}.font-vibes{font-family:Great Vibes,cursive!important}.font-cor{font-family:Cormorant Garamond,serif!important}.particle{position:absolute;border-radius:50%;pointer-events:none;animation:burst .8s ease-out forwards}@keyframes burst{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}}.envelope{width:280px;height:180px;background:linear-gradient(135deg,#f9a8d4,#f472b6);border-radius:10px;position:relative;cursor:pointer;transition:transform .4s ease,box-shadow .4s ease;box-shadow:0 20px 60px rgba(244,114,182,.4)}.envelope:hover{transform:scale(1.05);box-shadow:0 30px 80px rgba(244,114,182,.6)}.envelope-flap{position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(135deg,#f472b6,#ec4899);-webkit-clip-path:polygon(0 0,50% 100%,100% 0);clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:top center;transition:transform .6s ease;z-index:2}.envelope.opened .envelope-flap{transform:rotateX(180deg)}.envelope-body{position:absolute;inset:0;background:linear-gradient(135deg,#f9a8d4,#f472b6);border-radius:10px;overflow:hidden}.envelope-body:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(135deg,#fbb6ce,#f9a8d4);-webkit-clip-path:polygon(0 100%,50% 20%,100% 100%);clip-path:polygon(0 100%,50% 20%,100% 100%)}.envelope-heart{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;z-index:3;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));animation:heartPulse 1.5s ease-in-out infinite}@keyframes heartPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}.envelope-label{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);white-space:nowrap;color:hsla(0,0%,100%,.5);font-size:.85rem;letter-spacing:2px;text-transform:uppercase;animation:labelPulse 2s ease-in-out infinite}@keyframes labelPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.anim-fade-up{opacity:0;animation:fadeUp .8s ease-out forwards}.anim-scale-in{opacity:0;animation:scaleIn .6s ease-out forwards}.anim-shimmer{background:linear-gradient(90deg,#f9a8d4,#fff,#f472b6,#fff,#f9a8d4);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite}.sparkle{position:fixed;pointer-events:none;font-size:1rem;z-index:9999;animation:sparkleFade .8s ease-out forwards}@keyframes sparkleFade{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(0) translateY(-30px)}}.heart-rain{position:absolute;top:-40px;opacity:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:heartFall linear infinite}@keyframes heartFall{0%{opacity:0;transform:translateY(-40px) translateX(0) rotate(0deg)}10%{opacity:.8}90%{opacity:.6}to{opacity:0;transform:translateY(100vh) translateX(var(--sway,0)) rotate(1turn)}}