:root{--color-primary:#ac92b5;--color-secondary:#e6c9ce;--color-accent:#ff4d6d;--color-accent-dark:#7a001e;--color-background:#d1d0cc;--color-text:#a38786;--font-title:serif;--font-body:sans-serif}.hero{text-align:center;background:linear-gradient(180deg,var(--color-background)0%,var(--color-secondary)100%);justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.content{z-index:2;max-width:800px;padding:2rem}h1{font-size:clamp(2.5rem,6vw,4.5rem);font-family:var(--font-title);color:var(--color-text);text-shadow:0 2px 6px #ac92b540;margin-bottom:1.5rem}p{letter-spacing:.05rem;text-transform:uppercase;color:var(--color-text);opacity:.9;margin-bottom:3rem;font-size:1.2rem}.buttons-container{flex-direction:column;align-items:center;gap:20px;display:flex}.confirm-btn,.location-btn{letter-spacing:.05rem;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:1rem;font-weight:600;font-family:var(--font-body);text-shadow:0 1px 2px #0003;border:none;border-radius:50px;padding:16px 38px;transition:all .3s;position:relative;overflow:hidden}.confirm-btn{background:linear-gradient(270deg,var(--color-accent),#ff7aa2,var(--color-accent-dark),var(--color-accent));background-size:400% 400%;animation:12s infinite gradientMove;box-shadow:0 0 20px #ff5a8259,inset 0 0 20px #ffffff14}.confirm-btn:hover{transform:translateY(-4px)}.confirm-btn:after{content:"";border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-dark));z-index:-1;filter:blur(12px);opacity:.7;animation:3s ease-in-out infinite pulseGlow;position:absolute;inset:-2px}.confirm-btn:before{content:"";z-index:-2;background:radial-gradient(circle,#ff8ca040 0%,#0000 60%);width:180%;height:180%;animation:6s ease-in-out infinite candleFlicker;position:absolute;top:-40%;left:-40%}.location-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));box-shadow:0 6px 18px #ac92b559}.location-btn:hover{transform:scale(1.05);box-shadow:0 8px 22px #ac92b580}.floating-hearts{pointer-events:none;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.floating-hearts span{opacity:0;font-size:14px;animation:1.6s forwards floatHeart;position:absolute}@keyframes gradientMove{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes pulseGlow{0%,to{opacity:.5}50%{opacity:.9}}@keyframes candleFlicker{0%,to{opacity:.6}50%{opacity:.85}}@keyframes floatHeart{0%{opacity:0;transform:translateY(0)scale(.8)}40%{opacity:1}to{opacity:0;transform:translateY(-40px)scale(1.2)}}@keyframes float{0%{transform:translateY(-40px)translate(-20px)}to{transform:translateY(40px)translate(20px)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:10px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-dark)}*{scrollbar-width:thin;scrollbar-color:var(--color-primary)var(--color-background)}.scroll-indicator::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:20px;box-shadow:inset 0 0 6px #0000001a}::-webkit-scrollbar-track{background:var(--color-background);border-radius:20px;box-shadow:inset 0 0 5px #0000000d}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-background);border-radius:10px}::-webkit-scrollbar-thumb{background:var(--color-primary);border:2px solid var(--color-secondary);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent);border-color:var(--color-accent-dark)}
.countdown{justify-content:center;gap:2rem;margin-top:3rem;display:flex}.item{text-align:center}.item span{font-size:2.5rem;font-family:var(--font-title);color:#ac92b5}.item small{text-transform:uppercase;letter-spacing:.2rem;color:#a38786;margin-top:.5rem;font-size:.7rem;display:block}
.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#14000a8c;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}@media (min-width:600px){.modal-backdrop{align-items:center}}.location-modal{text-align:center;background:linear-gradient(145deg,#fff5f8,#ffe6ee);border-radius:20px;width:100%;max-width:460px;max-height:90vh;padding:clamp(20px,4vw,32px);overflow-y:auto;box-shadow:0 20px 60px #78002840,0 0 40px #ff78a026}.location-modal h2{color:#7a001e;margin-bottom:14px;font-size:clamp(1.3rem,4vw,1.6rem);font-weight:600}.location-modal p{color:#5a1a2a;text-align:left;margin-bottom:12px;font-size:clamp(.85rem,3.5vw,.95rem);line-height:1.5}.location-modal .address{font-weight:500}.location-modal .note{opacity:.85;margin-bottom:20px;font-style:italic}.map-container{aspect-ratio:16/9;border:1px solid #ffd1df;border-radius:14px;width:100%;margin-bottom:18px;position:relative;overflow:hidden;box-shadow:0 6px 20px #78002826}.map-container iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.location-modal button{cursor:pointer;color:#fff;background:linear-gradient(90deg,#ff4d6d,#7a001e);border:none;border-radius:14px;width:100%;padding:12px;font-weight:600;transition:all .25s;box-shadow:0 8px 20px #ff4d6d4d}.location-modal button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #ff4d6d66}.location-btn{letter-spacing:.05rem;color:#7a001e;cursor:pointer;background:0 0;border:1px solid #7a001e;border-radius:50px;margin-top:24px;padding:clamp(12px,3vw,16px) clamp(20px,6vw,38px);font-size:clamp(.9rem,3vw,1rem);font-weight:600;transition:all .25s}.location-btn:hover{color:#fff;background:linear-gradient(90deg,#ff4d6d,#7a001e);border:none}@media (max-width:400px){.location-modal{border-radius:16px;padding:18px}}
.story{text-align:center;background:#e6c9ce;padding:8rem 2rem}h2{color:#a38786;margin-bottom:4rem;font-size:3rem}.timeline{flex-direction:column;gap:3rem;max-width:700px;margin:0 auto;display:flex}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border-radius:2rem;padding:2rem;box-shadow:0 10px 30px #0000000d}.card h3{font-family:var(--font-title);color:#ac92b5;margin-bottom:1rem}.card p{color:#a38786;line-height:1.6}
.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#14000a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{text-align:center;background:linear-gradient(145deg,#fff5f8,#ffe6ee);border-radius:20px;width:100%;max-width:420px;padding:32px 28px;animation:.3s fadeIn;position:relative;box-shadow:0 20px 60px #78002840,0 0 40px #ff78a026}.modal h2{color:#7a001e;margin-bottom:24px;font-size:1.6rem;font-weight:600}.modal form{flex-direction:column;gap:14px;display:flex}.modal input{background:#fff;border:1px solid #ffd1df;border-radius:12px;padding:12px 16px;font-size:.95rem;transition:all .2s}.modal input:focus{border-color:#ff4d6d;outline:none;box-shadow:0 0 0 3px #ff4d6d26}.modal button{cursor:pointer;border:none;border-radius:14px;margin-top:10px;padding:12px;font-weight:600;transition:all .25s}.modal button[type=submit]{color:#fff;background:linear-gradient(90deg,#ff4d6d,#7a001e);box-shadow:0 8px 20px #ff4d6d4d}.modal button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 12px 28px #ff4d6d66}.modal button[type=button]{color:#7a001e;background:0 0}.modal button[type=button]:hover{opacity:.7}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}
.wrapper{background:#d1d0cc;justify-content:center;align-items:center;height:100vh;display:flex}.envelope{cursor:pointer;text-align:center;color:#a38786;width:320px;height:200px;position:relative}.envelope p{margin-top:1.2rem}.body{background:#e6c9ce;border-radius:8px;width:100%;height:100%}.flap{clip-path:polygon(0 100%,50% 0,100% 100%);background:#ac92b5;width:100%;height:100px;position:absolute;top:-100px}
.progress{transform-origin:0%;z-index:9999;background:#ac92b5;width:100%;height:3px;position:fixed;top:0;left:0}
.footer{text-align:center;color:#a38786;background:#d1d0cc;padding:6rem 2rem}.line{background:#ac92b5;width:60px;height:2px;margin:0 auto 2rem}.quote{font-family:var(--font-title);margin-bottom:1.5rem;font-size:1.8rem}.date{letter-spacing:.3rem;margin-bottom:2rem;font-size:.9rem;display:block}small{opacity:.6;font-size:.75rem}
.wrapper-player{z-index:1000;width:260px;font-family:var(--font-body);position:fixed;bottom:2rem;right:2rem}.player{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border-radius:999px;align-items:center;gap:1rem;padding:.7rem 1.2rem;display:flex;box-shadow:0 10px 30px #00000014}.control,.menuButton{cursor:pointer;color:#a38786;background:0 0;border:none}.trackName{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.75rem;overflow:hidden}.dropdown{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffe;border-radius:1rem;flex-direction:column;gap:.4rem;margin-bottom:.5rem;padding:.8rem;display:flex;box-shadow:0 10px 30px #00000014}.dropdown button{text-align:left;cursor:pointer;color:#a38786;background:0 0;border:none;font-size:.75rem}.dropdown button:hover{color:#ac92b5}.active{font-weight:600;color:#ac92b5!important}.progressBar{cursor:pointer;background:#fffc;border-radius:999px;height:4px;margin-top:.5rem;overflow:hidden}.progressFill{background:#ac92b5;height:100%;transition:width .2s linear}.wave{justify-content:center;gap:4px;margin-top:6px;display:flex}.wave span{background:#ac92b5;width:4px;height:14px;animation:1s ease-in-out infinite wave}.wave span:nth-child(2){animation-delay:.2s}.wave span:nth-child(3){animation-delay:.4s}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.5)}}
