:root{color-scheme:light;--ink:#603e49;--rose:#a94968;--muted:#9c7d87}*{box-sizing:border-box}body{margin:0;background:#fff6f6;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 5% 20%,#f7d9e480,transparent 50%),radial-gradient(ellipse at 90% 85%,#f9e4cf70,transparent 50%);z-index:-1}header{max-width:1280px;margin:auto;padding:28px 6%;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-family:serif;font-size:17px;letter-spacing:2px}.brand span{color:var(--rose);margin-right:8px}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a94968;outline-offset:5px}.music{border:1px solid #e8ccd5;border-radius:30px;padding:11px 18px;background:#fff9;color:var(--rose);font-size:13px}.hero{max-width:1160px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin:40px auto 80px;padding:0 32px}.eyebrow{font-size:11px;letter-spacing:4px;color:var(--rose);margin:0 0 27px}.hero h1{font-family:"Songti SC","STSong",serif;font-weight:500;font-size:clamp(32px,3.8vw,52px);line-height:1.6;letter-spacing:2px;margin:0 0 25px}.hero h1 em{font-style:normal;color:var(--rose)}.intro{font-size:14px;line-height:2.2;color:var(--muted)}.primary{margin-top:22px;background:var(--rose);color:white;border:0;border-radius:9px;padding:18px 22px;box-shadow:0 8px 25px #a9496824;font-size:14px;line-height:1.6}.primary:hover{background:#913b58}.note{font-size:11px;letter-spacing:2px;color:var(--muted);margin-top:20px}.photo{margin:0;position:relative;background:#fffc;padding:13px 13px 0;border:1px solid #ead4d6;transform:rotate(2deg);box-shadow:0 16px 55px #80515a1c;border-radius:4px}.photo img{display:block;width:100%;height:auto;border-radius:2px}.photo figcaption{text-align:center;padding:17px 4px;font-family:serif;font-size:13px;letter-spacing:3px}.anniversary{text-align:center;margin:0 auto 65px;padding:35px 20px;border-top:1px solid #ecd8dd;border-bottom:1px solid #ecd8dd;max-width:800px}.anniversary h2{font-weight:400;font-size:14px;letter-spacing:3px}.timer{display:flex;justify-content:center;gap:28px;margin:25px 0}.timer b{display:block;font:38px Georgia,serif;color:var(--rose);font-weight:400}.timer span{font-size:11px;color:var(--muted)}.since{font-size:12px;color:var(--muted);letter-spacing:2px}.letter{max-width:780px;margin:0 auto 70px;padding:50px 55px;background:#fffdfa;border:1px solid #efdce0;box-shadow:0 15px 60px #80515a0a;border-radius:4px;scroll-margin-top:25px}.letter[hidden]{display:none}.letter-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:35px;color:var(--rose);font:italic 24px Georgia,serif}.skip{border:1px solid #e8ccd5;border-radius:20px;background:none;color:var(--rose);padding:9px 13px;font:12px sans-serif}.letter p{font-family:"Songti SC","STSong",serif;line-height:2.3;font-size:17px;margin:0 0 22px}.letter p:first-child{font-size:22px;color:var(--rose);text-align:center;margin-bottom:35px}.letter p:last-child{text-align:right}.revealing p{animation:appear .8s both;animation-delay:var(--delay)}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}footer{text-align:center;padding:0 20px 45px;font-family:serif;font-size:16px;letter-spacing:2px}footer small{display:block;font:10px sans-serif;letter-spacing:3px;color:var(--muted);margin-top:16px}.hearts{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2}.heart{position:absolute;top:-30px;color:#d78ca5;opacity:0;font-size:14px;animation:fall 17s linear infinite}@keyframes fall{0%{opacity:0;transform:translateY(-20px) rotate(0)}10%,85%{opacity:.25}100%{opacity:0;transform:translateY(110vh) rotate(90deg)}}@media(max-width:760px){header{padding:22px 22px}.brand{font-size:13px;letter-spacing:1px}.music{padding:10px 12px;font-size:11px}.hero{grid-template-columns:1fr;gap:35px;margin:25px auto 45px;padding:0 26px}.hero-copy{text-align:center}.eyebrow{margin-bottom:17px;font-size:10px}.hero h1{font-size:33px;letter-spacing:1px}.intro{font-size:13px}.photo{max-width:450px;margin:auto;transform:rotate(1deg)}.primary{padding:17px 18px;font-size:13px}.anniversary{margin:0 24px 40px}.timer{gap:22px}.timer b{font-size:32px}.letter{margin:0 18px 45px;padding:30px 24px}.letter p{font-size:16px}.letter p:first-child{font-size:19px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.hearts{display:none}}
