:root{font-family:Microsoft YaHei,SimHei,PingFang SC,Arial,sans-serif;color:#fff9d8;background:#d60000}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}body:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-4;content:"";background:radial-gradient(circle at 10% 20%,#fff700 0 3px,transparent 4px),radial-gradient(circle at 80% 10%,#00fff0 0 4px,transparent 5px),radial-gradient(circle at 45% 70%,#ff67dd 0 4px,transparent 5px),repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0 8px,transparent 8px 20px),linear-gradient(135deg,red,#ff8a00,#f0a 56%,#7a00ff,red);animation:backgroundSpin 10s linear infinite}body:after{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;pointer-events:none;content:"";background-image:repeating-radial-gradient(circle at 20% 20%,rgba(255,255,255,.35) 0 1px,transparent 2px 32px),repeating-linear-gradient(90deg,transparent 0 72px,rgba(255,247,0,.24) 72px 76px);mix-blend-mode:screen}.love-site{position:relative;min-height:100vh;padding-bottom:88px;isolation:isolate}.glitter{position:fixed;z-index:-1;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,0,.6) 28%,transparent 70%);filter:blur(1px);animation:floatGlow 5s ease-in-out infinite}.glitter-one{top:12%;left:4%}.glitter-two{top:42%;right:5%;animation-delay:-1.8s}.glitter-three{bottom:10%;left:42%;animation-delay:-3s}.cursor-heart-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow:hidden;pointer-events:none}.cursor-heart{position:absolute;display:grid;width:var(--heart-size);height:var(--heart-size);place-items:center;color:var(--heart-color);font-size:var(--heart-size);font-weight:900;line-height:1;opacity:0;text-shadow:1px 1px 0 #7a0000,0 0 8px #fff,0 0 16px #fff700;transform:translate(-50%,-50%) scale(.35);animation:cursorHeartFloat .95s ease-out forwards;will-change:transform,opacity}.marquee{position:fixed;left:0;z-index:30;width:100%;overflow:hidden;border-block:4px double #fff700;background:linear-gradient(90deg,red,#ff00d4,#ffe100,#00d0ff,red);color:#7a0000;font-size:clamp(16px,2.6vw,26px);font-weight:900;line-height:1;text-shadow:1px 1px 0 #fff,2px 2px 0 #ffea00;white-space:nowrap}.top-marquee{top:0}.bottom-marquee{bottom:0}.marquee span{display:inline-block;min-width:100%;padding:12px 0;animation:marquee 18s linear infinite}.hero{position:relative;display:grid;min-height:100vh;overflow:hidden;place-items:center;padding:96px 18px 64px}.three-love-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;min-height:100%;pointer-events:none}.three-love-scene-foreground{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;min-height:100%;pointer-events:none}.three-love-scene canvas,.three-love-scene-foreground canvas{display:block;width:100%;height:100%}.hero-shine{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.4),transparent 24%),radial-gradient(circle at 18% 80%,rgba(0,255,240,.28),transparent 28%),linear-gradient(90deg,#f003,#ffff001f,#ff00dc38);mix-blend-mode:screen}.hero:before,.hero:after{position:absolute;z-index:1;color:#fff700;font-size:clamp(120px,18vw,280px);opacity:.22;text-shadow:0 0 30px #fff;content:"❤";animation:heartBeat 1.2s ease-in-out infinite}.hero:before{top:14%;left:4%}.hero:after{right:5%;bottom:6%;animation-delay:-.5s}.hero-card{position:relative;z-index:5;width:min(760px,94vw);padding:clamp(28px,6vw,72px) clamp(20px,5vw,64px);border:8px ridge #ffe600;border-radius:8px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.68),transparent 18%),repeating-conic-gradient(from 0deg,rgba(255,230,0,.22) 0 10deg,transparent 10deg 20deg),linear-gradient(135deg,#d20000ad,#ff00a094,#ff8400a8);box-shadow:0 0 0 8px red,0 0 0 14px #fff700,0 0 45px 22px #fff700d9,inset 0 0 38px #ffffffb3;text-align:center;animation:cardFlash 1.1s steps(2,end) infinite;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.hero-card:before,.hero-card:after{position:absolute;top:14px;color:#fff700;font-size:clamp(34px,6vw,80px);text-shadow:0 0 10px #ff0000,0 0 20px #fff;content:"囍";animation:swing 1.8s ease-in-out infinite}.hero-card:before{left:18px}.hero-card:after{right:18px;animation-delay:-.9s}.eyebrow{margin:0 0 14px;color:#0bff00;font-size:clamp(16px,2.6vw,28px);font-weight:900;letter-spacing:0;text-shadow:2px 2px 0 #000,0 0 12px #fff}h1{margin:0;color:#fff700;font-family:SimHei,Microsoft YaHei,sans-serif;font-size:clamp(62px,13.5vw,148px);line-height:.92;text-shadow:4px 4px 0 #ff0000,8px 8px 0 #0048ff,0 0 16px #fff,0 0 38px #ff00c8;animation:titlePulse .9s ease-in-out infinite alternate}.subtitle{max-width:760px;margin:24px auto 0;color:#fff;font-size:clamp(18px,3vw,34px);font-weight:900;line-height:1.35;text-shadow:2px 2px 0 #8d0000,0 0 16px #fff700}.love-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}.love-badges span{padding:10px 16px;border:3px solid #fff;border-radius:999px;background:linear-gradient(90deg,#0f6,#fff700,#ff00ea);color:#790000;font-size:clamp(14px,2.4vw,22px);font-weight:900;box-shadow:0 0 18px #fff700;transform:rotate(-2deg)}.love-badges span:nth-child(2n){transform:rotate(2deg)}.pledge-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;width:min(1120px,94vw);margin:0 auto 46px}.pledge,.certificate{position:relative;min-height:100%;padding:34px clamp(20px,5vw,48px);border:7px dotted #fff700;border-radius:8px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 8px,transparent 8px 16px),linear-gradient(135deg,#ff0000eb,#ff00cceb);box-shadow:0 0 25px #fff700,inset 0 0 28px #fff9}.seal{position:absolute;top:-36px;right:28px;display:grid;width:82px;height:82px;place-items:center;border:6px double #fff700;border-radius:50%;background:red;color:#fff700;font-size:46px;font-weight:900;box-shadow:0 0 22px #fff700;animation:sealPop 1s ease-in-out infinite alternate}.pledge h2,.certificate h2{margin:0 0 16px;color:#fff700;font-size:clamp(30px,5vw,58px);line-height:1.05;text-shadow:3px 3px 0 #ff0000,0 0 16px #fff}.pledge p,.certificate p{margin:12px 0;color:#fff;font-size:clamp(18px,2.5vw,28px);font-weight:900;line-height:1.55;text-shadow:2px 2px 0 #8b0000}.pledge strong{color:#fff700;text-decoration:underline wavy #00fff0 3px}@keyframes marquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}@keyframes backgroundSpin{0%{filter:hue-rotate(0deg) saturate(1.2)}to{filter:hue-rotate(360deg) saturate(1.8)}}@keyframes floatGlow{0%,to{transform:translateY(0) scale(.8);opacity:.58}50%{transform:translateY(-28px) scale(1.18);opacity:.95}}@keyframes cursorHeartFloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.28) rotate(0)}16%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(var(--rotate))}to{opacity:0;transform:translate(calc(-50% + var(--float-x)),calc(-50% + var(--float-y))) scale(.55) rotate(var(--rotate))}}@keyframes heartBeat{0%,to{transform:scale(1) rotate(-8deg)}50%{transform:scale(1.16) rotate(8deg)}}@keyframes cardFlash{0%,to{filter:saturate(1.5) brightness(1)}50%{filter:saturate(2.6) brightness(1.2)}}@keyframes titlePulse{0%{transform:scale(1) rotate(-1deg)}to{transform:scale(1.05) rotate(1deg)}}@keyframes swing{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@keyframes sealPop{0%{transform:scale(1) rotate(-8deg)}to{transform:scale(1.12) rotate(8deg)}}@media(max-width:780px){.hero{min-height:920px;padding-top:104px}.hero-card{padding-top:54px}.pledge-band{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
