:root{--red:#b30d1f;--deep:#6e0712;--gold:#f5c542;--gold2:#d4a017;--font:"Noto Serif CJK SC","Songti SC","STSong","SimSun","PingFang SC","Microsoft YaHei",serif}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{font-family:var(--font);color:#fff4d6;background:radial-gradient(ellipse at 50% 0,#d8222f 0,var(--red) 40%,var(--deep) 100%) fixed;overflow-x:hidden;text-align:center;line-height:1.6}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.07;background:repeating-linear-gradient(45deg,var(--gold) 0 1px,transparent 1px 22px),repeating-linear-gradient(-45deg,var(--gold) 0 1px,transparent 1px 22px)}
main{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:2.5rem 1.25rem 1rem}
.hero{padding:2rem 0 1rem}
.fu-diamond{width:150px;height:150px;margin:1rem auto 2rem;background:linear-gradient(135deg,#e0182b,#a00b1b);border:4px solid var(--gold);transform:rotate(45deg);display:grid;place-items:center;border-radius:10px;box-shadow:0 0 30px rgba(245,197,66,.45);animation:glow 3s ease-in-out infinite}
.fu-diamond span{transform:rotate(135deg);font-size:84px;font-weight:900;color:var(--gold);text-shadow:0 2px 0 #7a5a00}
h1{font-size:clamp(2.6rem,11vw,4.8rem);letter-spacing:.15em;color:var(--gold);text-shadow:0 0 18px rgba(245,197,66,.5),0 3px 0 #7a1010;font-weight:900}
.sub{font-size:1.15rem;letter-spacing:.3em;margin-top:.4rem;opacity:.92}
.cloud{width:200px;max-width:60%;margin:1.2rem auto 0;display:block}
h2{color:var(--gold);font-size:1.5rem;letter-spacing:.2em;margin-bottom:1rem}
h2::before,h2::after{content:"◆";font-size:.6em;margin:0 .6em;vertical-align:middle;opacity:.7}
.blessings{margin:2rem 0}
.blessings ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.blessings li{padding:.9rem .5rem;border:1px solid rgba(245,197,66,.55);border-radius:10px;background:rgba(110,7,18,.35);font-size:1.2rem;letter-spacing:.2em;transition:transform .25s,background .25s}
.blessings li:hover{transform:translateY(-3px);background:rgba(245,197,66,.15)}
@media(min-width:720px){.blessings ul{grid-template-columns:repeat(3,1fr)}.fu-diamond{width:180px;height:180px}.fu-diamond span{font-size:100px}}
.draw{margin:2.5rem 0 1rem}
.draw p{opacity:.85;margin-bottom:1.2rem}
.fu-btn{width:96px;height:96px;border-radius:50%;border:3px solid var(--gold);background:radial-gradient(circle at 40% 35%,#ff3b3b,#a00b1b);color:var(--gold);font:900 52px var(--font);cursor:pointer;box-shadow:0 0 0 6px rgba(245,197,66,.18),0 6px 18px rgba(0,0,0,.35);transition:transform .2s}
.fu-btn:hover{transform:scale(1.06) rotate(-6deg)}.fu-btn:active{transform:scale(.95)}
.fu-btn.shake{animation:shake .5s}
.card{margin:1.5rem auto 0;max-width:320px;padding:1.5rem 1.25rem;border-radius:12px;background:linear-gradient(#fff6dc,#f6e2a8);color:#8a0b16;border:3px double var(--gold2);box-shadow:0 10px 30px rgba(0,0,0,.35);animation:pop .45s ease-out}
.card-tag{display:inline-block;background:var(--red);color:var(--gold);padding:.1rem .8rem;border-radius:4px;font-size:.85rem;letter-spacing:.3em}
.card-title{font-size:2rem;font-weight:900;margin:.5rem 0;letter-spacing:.15em}
.card-text{font-size:1rem;color:#5a2a10}
.home{display:inline-block;margin-top:1.5rem;color:var(--deep);background:var(--gold);padding:.6rem 1.4rem;border-radius:999px;text-decoration:none;font-weight:700}
footer{position:relative;z-index:2;padding:2rem 0 2.5rem;opacity:.75;font-size:.9rem;letter-spacing:.1em}
.lanterns{position:absolute;top:0;left:0;right:0;z-index:1;pointer-events:none}
.lantern{position:absolute;top:-6px;width:60px;transform-origin:50% 0;animation:sway 4s ease-in-out infinite}
.lantern svg{width:100%;filter:drop-shadow(0 0 12px rgba(255,80,60,.6))}
.l1{left:4%}.l2{right:4%;animation-delay:-2s}
@media(min-width:720px){.lantern{width:90px}.l1{left:8%}.l2{right:8%}}
.sparkles{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.sparkles i{position:absolute;top:-10px;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold);opacity:.8;animation:fall linear infinite}
@keyframes sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg) translateY(4px)}}
@keyframes glow{0%,100%{box-shadow:0 0 22px rgba(245,197,66,.35)}50%{box-shadow:0 0 42px rgba(245,197,66,.7)}}
@keyframes fall{to{transform:translateY(105vh) translateX(30px);opacity:0}}
@keyframes shake{25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
@keyframes pop{from{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.sparkles{display:none}}
