:root{--bg-dark:#0b0612;--bg-gradient:linear-gradient(135deg,#0d0714,#1c0b2b 40%,#2b0b28 75%,#15061c);--accent-pink:#ff7eb3;--accent-rose:#ff4e50;--accent-gold:gold;--accent-gold-glow:rgba(255,215,0,.4);--glass-bg:hsla(0,0%,100%,.06);--glass-border:hsla(0,0%,100%,.15);--glass-shadow:0 8px 32px 0 rgba(0,0,0,.37);--text-primary:#fff;--text-secondary:hsla(0,0%,100%,.85);--font-ui:"Outfit",sans-serif;--font-handwriting:"Dancing Script",cursive;--font-fancy:"Great Vibes",cursive}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-ui);background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;overflow-x:hidden;position:relative}#canvas-particulas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1}.floating-music-player{position:fixed;top:80px;right:20px;z-index:999;display:flex;align-items:center;gap:12px;background:rgba(18,9,28,.75);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);padding:8px 16px 8px 10px;border-radius:50px;box-shadow:var(--glass-shadow);transition:transform .3s ease,box-shadow .3s ease}.floating-music-player:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(255,126,179,.3)}.music-disc-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--accent-pink);background:#111;color:var(--accent-pink);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;outline:none}.disc-icon{font-size:24px;transition:transform .5s ease}.heart-center{position:absolute;font-size:10px;color:#fff}.floating-music-player.playing .disc-icon{animation:spinVinyl 4s linear infinite}@keyframes spinVinyl{to{transform:rotate(1turn)}}.music-info{display:flex;flex-direction:column}.song-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.song-status{font-size:.7rem;color:var(--accent-pink)}.screen-envelope{position:relative;width:100%;min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;z-index:10}.envelope-wrapper{position:relative;perspective:1000px;margin-bottom:30px}.envelope-glow{position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;background:radial-gradient(circle,var(--accent-gold-glow) 0,transparent 70%);border-radius:30px;animation:pulseGlow 3s ease-in-out infinite alternate}@keyframes pulseGlow{0%{transform:scale(.95);opacity:.5}to{transform:scale(1.05);opacity:.9}}.pulsing-heart{animation:realHeartbeat 1.2s ease-in-out infinite;display:inline-block;transform-origin:center}@keyframes realHeartbeat{0%{transform:scale(1);filter:drop-shadow(0 0 4px rgba(255,78,80,.4))}14%{transform:scale(1.15);filter:drop-shadow(0 0 15px rgba(255,78,80,.9))}28%{transform:scale(1.05);filter:drop-shadow(0 0 8px rgba(255,78,80,.6))}42%{transform:scale(1.25);filter:drop-shadow(0 0 22px rgba(255,78,80,1))}70%{transform:scale(1);filter:drop-shadow(0 0 4px rgba(255,78,80,.4))}to{transform:scale(1);filter:drop-shadow(0 0 4px rgba(255,78,80,.4))}}.envelope{width:320px;height:220px;background:linear-gradient(145deg,#2d1138,#441652);border-radius:12px;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.6),inset 0 0 15px hsla(0,0%,100%,.05);border:1px solid rgba(255,215,0,.3)}.envelope-flap{top:0;border-left:160px solid transparent;border-right:160px solid transparent;border-top:130px solid #571e68;transform-origin:top;transition:transform .8s cubic-bezier(.4,0,.2,1);z-index:4}.envelope-flap,.envelope-pocket{position:absolute;left:0;width:0;height:0}.envelope-pocket{bottom:0;border-left:160px solid #371444;border-right:160px solid #371444;border-bottom:120px solid #4a195a;border-radius:0 0 12px 12px;z-index:3}.envelope-letter-preview{bottom:15px;transform:translateX(-50%);width:280px;height:180px;background:#fffdf9;border-radius:8px;font-size:2rem;box-shadow:0 4px 10px rgba(0,0,0,.2);transition:transform .8s ease .3s;z-index:2}.envelope-letter-preview,.wax-seal{position:absolute;left:50%;display:flex;align-items:center;justify-content:center}.wax-seal{top:110px;transform:translate(-50%,-50%);width:65px;height:65px;background:radial-gradient(circle,#e24a68 0,#a82440 100%);border-radius:50%;border:3px dashed var(--accent-gold);font-size:26px;cursor:pointer;box-shadow:0 6px 20px rgba(226,74,104,.6);z-index:5;transition:transform .3s ease,box-shadow .3s ease}.wax-seal:hover{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 25px rgba(255,215,0,.8)}.envelope.open .envelope-flap{transform:rotateX(180deg);z-index:1}.envelope.open .envelope-letter-preview{transform:translate(-50%,-100px)}.envelope-title{font-family:var(--font-fancy);font-size:3rem;color:var(--accent-gold);text-shadow:0 0 15px var(--accent-gold-glow);margin-bottom:8px;text-align:center}.envelope-subtitle{font-size:1.1rem;color:var(--text-secondary);text-align:center}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:15px 40px;background:rgba(13,7,20,.8);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid var(--glass-border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.brand-title{font-family:var(--font-fancy);font-size:2.2rem;background:linear-gradient(90deg,var(--accent-gold),var(--accent-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-nav{display:flex;gap:20px}.header-nav a{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .3s ease,transform .2s ease}.header-nav a:hover{color:var(--accent-pink);transform:translateY(-2px)}.content-section{max-width:1000px;margin:40px auto;padding:0 20px;position:relative;z-index:2}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;padding:40px;box-shadow:var(--glass-shadow)}.handwritten-title{font-family:var(--font-fancy);font-size:3.5rem;color:var(--accent-gold);text-shadow:0 0 10px rgba(255,215,0,.3);text-align:center}.handwritten-body{font-family:var(--font-handwriting);font-size:1.8rem;line-height:1.7;color:#fff}.handwritten-body p{margin-bottom:20px}.timer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:15px;gap:15px;margin:25px 0}.time-box{background:rgba(0,0,0,.3);border:1px solid var(--glass-border);padding:20px 10px;border-radius:16px;text-align:center}.time-value{font-size:2.5rem;font-weight:700;color:#fff}.time-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.polaroid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:20px;gap:20px;padding:20px;background:rgba(0,0,0,.25);border-radius:20px;border:1px dashed rgba(255,215,0,.3);position:relative}.polaroid-card{background:#fff;padding:8px 8px 14px;border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.4);cursor:pointer;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;position:relative}.polaroid-pin{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:1.2rem;z-index:10;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.polaroid-card:nth-child(odd){transform:rotate(-3deg)}.polaroid-card:nth-child(2n){transform:rotate(2deg)}.polaroid-card:nth-child(3n){transform:rotate(-1deg)}.polaroid-card:nth-child(4n){transform:rotate(3deg)}.polaroid-card:hover{transform:scale(1.12) rotate(0deg)!important;box-shadow:0 12px 28px rgba(255,126,179,.5);z-index:20}.polaroid-img-wrapper{width:100%;height:130px;overflow:hidden;border-radius:2px;background:#111}.polaroid-img-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.polaroid-card:hover .polaroid-img-wrapper img{transform:scale(1.1)}.polaroid-title{font-family:var(--font-handwriting);font-size:1.1rem;color:#222;text-align:center;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-close-btn{position:absolute;top:15px;right:20px;font-size:2.2rem;color:#fff;background:none;border:none;cursor:pointer;transition:color .2s ease}.modal-close-btn:hover{color:var(--accent-pink)}.coupons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:25px;gap:25px}.coupon-card{position:relative;height:200px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#2b0b28,#4a1445);border:2px dashed var(--accent-gold);text-align:center;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.app-footer{text-align:center;padding:40px 20px 20px;border-top:1px solid var(--glass-border);margin-top:60px}.main-content.hidden{display:none}