:root{--wedding-primary: #ff4d4f;--wedding-secondary: #ffadd2;--wedding-gold: #ffd700}.wedding-theme-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden;font-family:Ma Shan Zheng,cursive,sans-serif}.wedding-interactive{pointer-events:auto}.wedding-ribbon{position:absolute;top:0;width:120px;height:100%;background-repeat:repeat-y;background-size:100% auto;opacity:.8}.wedding-ribbon-left{left:0;background-image:linear-gradient(90deg,#ff00001a,#f000),radial-gradient(circle at 10px 10px,#ff0000 2px,transparent 3px);border-right:1px solid rgba(255,255,255,.3)}.wedding-ribbon-right{right:0;background-image:linear-gradient(-90deg,#ff00001a,#f000),radial-gradient(circle at 10px 10px,#ff0000 2px,transparent 3px);border-left:1px solid rgba(255,255,255,.3)}.wedding-xi{position:absolute;top:40px;width:64px;height:64px;background:#dc143cd9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:gold;border-radius:12px;transform:rotate(45deg);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,215,0,.7);box-shadow:0 10px 20px #f003,inset 0 0 10px #fff3;z-index:9998;animation:floatXi 5s ease-in-out infinite}.wedding-xi span{transform:rotate(-45deg);font-family:Ma Shan Zheng,STKaiti,cursive,serif;font-size:36px;font-weight:400;background:linear-gradient(to bottom,#fff7cc,gold);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 4px rgba(139,0,0,.5))}.wedding-xi:before{content:"";position:absolute;inset:-6px;border:1px solid rgba(255,215,0,.3);border-radius:16px;z-index:-1}.wedding-xi-left{left:40px;animation-delay:0s}.wedding-xi-right{right:40px;animation-delay:2.5s}@keyframes floatXi{0%,to{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(-8px)}}.wedding-heart{position:absolute;color:var(--wedding-primary);font-size:20px;animation:floatUp 4s linear forwards;opacity:0;text-shadow:0 0 2px white}@keyframes floatUp{0%{transform:translateY(0) scale(.5);opacity:0}20%{opacity:.8}80%{opacity:.8}to{transform:translateY(-100vh) scale(1.2);opacity:0}}.wedding-trail{position:absolute;pointer-events:none;animation:trailFade .8s linear forwards;font-size:16px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes trailFade{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(1.5) translateY(20px);opacity:0}}.wedding-danmaku-container{position:absolute;top:15%;left:0;width:100%;height:50%;overflow:hidden;pointer-events:none}.wedding-danmaku-item{position:absolute;white-space:nowrap;color:#fff;background:linear-gradient(90deg,#ff0000b3,#ff4d4fcc);padding:6px 16px;border-radius:20px;font-size:15px;font-weight:700;text-shadow:1px 1px 1px rgba(0,0,0,.3);box-shadow:0 2px 8px #00000026;border:1px solid rgba(255,215,0,.3);animation:danmakuMove linear forwards;display:flex;align-items:center;gap:8px}.wedding-danmaku-self{background:linear-gradient(90deg,gold,#ffec3d);color:#d63031;border:2px solid #fff;box-shadow:0 0 15px #ffd700cc;transform:scale(1.1);z-index:100}.wedding-danmaku-self .danmaku-avatar{background-color:#ff4d4f;color:#fff;border-color:#fff}.danmaku-avatar{width:24px;height:24px;background-color:#fff;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;color:#ff4d4f;font-weight:700;border:1px solid #ffd700}@keyframes danmakuMove{0%{transform:translate(100vw)}to{transform:translate(-100%)}}.wedding-blessing-btn{position:fixed;bottom:40px;right:40px;width:auto;height:auto;padding:12px 24px;background:linear-gradient(to bottom,#ff4d4f,#d9363e);border-radius:50px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;box-shadow:0 4px #9e1f26,0 8px 15px #ff4d4f66;cursor:pointer;transition:all .1s;z-index:10000;border:2px solid #ff9c9c;text-shadow:1px 1px 0 rgba(0,0,0,.2)}.wedding-blessing-btn:hover{transform:translateY(-2px);box-shadow:0 6px #9e1f26,0 10px 20px #ff4d4f99;background:linear-gradient(to bottom,#ff6b6d,#ed4048)}.wedding-blessing-btn:active{transform:translateY(4px);box-shadow:0 0 #9e1f26,inset 0 2px 5px #0003}.wedding-blessing-btn:before{content:"❤";margin-right:8px;font-size:18px;color:gold;animation:heartBeat 1.5s infinite}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.wedding-close-btn{position:fixed;bottom:100px;right:30px;width:24px;height:24px;background-color:#0003;border-radius:50%;color:#eee;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;z-index:9999;transition:all .3s}.wedding-close-btn:hover{background-color:#f009;color:#fff;transform:rotate(90deg)}.wedding-center-anim{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10001;pointer-events:none;animation:popFade 2s ease-out forwards}.wedding-center-anim .icon{font-size:80px;color:#ff4d4f;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.wedding-center-anim .text{font-size:24px;color:#ff4d4f;font-weight:700;margin-top:10px;text-shadow:0 2px 4px rgba(255,255,255,.8);background:#ffffffe6;padding:10px 20px;border-radius:30px}@keyframes popFade{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{transform:translate(-50%,-50%) scale(1.2);opacity:1}40%{transform:translate(-50%,-50%) scale(1);opacity:1}80%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-80%);opacity:0}}
