@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap");
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#09050b;color:#fff7fb;font-family:DM Sans,sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0,#45142f,transparent 48%),radial-gradient(#fff 1px,transparent 1px);background-size:auto,60px 60px;opacity:.2}button{border:0;border-radius:999px;padding:14px 24px;color:#fff;background:linear-gradient(135deg,#ff4f91,#9c4dff);cursor:pointer;font:inherit;box-shadow:0 12px 35px #ff4f9130}input{width:100%;padding:14px;border-radius:14px;border:1px solid #ffffff25;background:#0005;color:#fff;text-align:center;font-size:16px;margin:15px 0 10px}.card{background:#ffffff0c;border:1px solid #ffffff18;backdrop-filter:blur(18px);border-radius:28px;box-shadow:0 25px 90px #0008}.heart{color:#ff4f91;text-shadow:0 0 35px #ff4f91}.big{font-size:72px;animation:pulse 1.2s infinite}@keyframes pulse{50%{transform:scale(1.12)}}#login{min-height:100vh;display:grid;place-items:center;padding:20px}#login .card{width:min(430px,100%);padding:40px;text-align:center}#login h1{font:600 38px Playfair Display;margin:10px}#login p{color:#cdb8c4}#err{display:block;color:#ff8fb7;opacity:0}.hero{min-height:100vh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}.heroText{z-index:2;padding:20px}.heroText>span,.letter span,.photos>span{font-size:11px;letter-spacing:4px;color:#efacc7}.hero h1{font:600 clamp(50px,9vw,110px)/.95 Playfair Display;margin:15px 0}.hero h1 i{color:#ff9bc1}.heroText p{font-size:22px;color:#f4c7d8;margin-bottom:28px}#tunnel{position:absolute;inset:0;perspective:700px}.th{position:absolute;color:#ff5f9a;text-shadow:0 0 18px #ff3f87;animation:tun 5s linear infinite}@keyframes tun{from{transform:translate(-50%,-50%) translateZ(-900px) scale(.1);opacity:0}15%{opacity:.8}to{transform:translate(-50%,-50%) translateZ(500px) scale(5);opacity:0}}.love{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden}.counter{position:absolute;top:35px;color:#ffd0e2}.loveWord{position:absolute;left:50%;top:50%;color:#ff70a5;font-weight:bold;font-size:12px;white-space:nowrap;text-shadow:0 0 12px #ff4f91;animation:fly 1.8s ease-out forwards}@keyframes fly{to{transform:translate(var(--x),var(--y)) scale(var(--s));opacity:0}}#heartWords{position:absolute;width:min(90vw,700px);height:min(80vw,620px);opacity:0;transition:1.5s}.hw{position:absolute;color:#ff75a8;font-size:10px;font-weight:bold;transform:translate(-50%,-50%);text-shadow:0 0 10px #ff397f;white-space:nowrap}#done{text-align:center;position:relative;z-index:3}.letter,.photos,.end{padding:100px 7vw}.letter .card{max-width:850px;margin:auto;padding:55px}.letter h2,.photos h2,.end h2{font:600 48px Playfair Display}.letter p,.end p{color:#cdb8c4;line-height:1.8}.photos{text-align:center}.grid{max-width:1100px;margin:40px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px;padding:8px;background:#ffffff09}.end{text-align:center;min-height:70vh;display:grid;place-items:center}.end .card{max-width:700px;padding:55px}.end .big{margin:0}#mute{position:fixed;right:18px;bottom:18px;z-index:20;width:48px;height:48px;padding:0;background:#ff4f9140;border:1px solid #fff3}@media(max-width:700px){.grid{grid-template-columns:1fr}.letter .card,.end .card{padding:30px 22px}.letter h2,.photos h2,.end h2{font-size:38px}}

.answerButtons{display:flex;justify-content:center;gap:12px;margin:20px 0;flex-wrap:wrap}
.answerButtons button{min-width:110px}
.apology{font-size:18px;color:#ffb5cf!important}
#forgiveBox{margin-top:28px}
#forgiveBox h3{font:600 36px Playfair Display;margin:0 0 10px}
#no{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
