/* 补充公众号弹窗与后台可配置的顶部广告 Banner；主体布局、背景、表格均沿用源站本地化 CSS。 */
.site-banner-slot{display:none;width:100%;margin:0 auto 12px;overflow:hidden;text-align:center;line-height:0}
.site-banner-slot.is-visible{display:block}
.site-banner-carousel{position:relative;width:100%;overflow:hidden;background:#f7f7f7}
.site-banner-slide{display:none;width:100%;animation:site-banner-fade .35s ease}
.site-banner-slide.is-active{display:block}
.site-banner-slot a,.site-banner-slot img{display:block;width:100%;height:auto;margin:0 auto}
.site-banner-slot img{max-height:240px;object-fit:cover;object-position:center}
.site-banner-dots{position:absolute;left:0;right:0;bottom:9px;display:flex;justify-content:center;gap:6px;line-height:1}
.site-banner-dots button{width:7px;height:7px;padding:0;border:1px solid rgba(255,255,255,.95);border-radius:50%;background:rgba(0,0,0,.28);cursor:pointer}
.site-banner-dots button.is-active{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
@keyframes site-banner-fade{from{opacity:.45}to{opacity:1}}
.official-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.58)}
.official-modal[hidden]{display:none}
.official-modal-card{position:relative;width:390px;max-width:calc(100vw - 30px);padding:28px 28px 24px;background:#fff;border-radius:4px;box-shadow:0 12px 55px rgba(0,0,0,.3);text-align:center;color:#333}
.official-modal-close{position:absolute;right:12px;top:8px;border:0;background:none;color:#888;font-size:26px;line-height:1;cursor:pointer}
.official-modal-kicker{margin:2px 0 4px;color:#6490e4;font-size:12px;letter-spacing:2px}
.official-modal-card h2{margin:0 0 5px;color:#333;font-size:22px;font-weight:700}
.official-modal-game{margin:0 0 15px;color:#777;font-size:13px}
.official-qr{width:220px;height:220px;margin:0 auto 15px;padding:9px;border:1px solid #e5e5e5;background:#fff}
.official-qr img{display:block;width:100%;height:100%;object-fit:cover}
.official-qr-placeholder{width:100%;height:100%;background-color:#fff;background-image:linear-gradient(90deg,#222 10%,transparent 10%,transparent 20%,#222 20%,#222 30%,transparent 30%,transparent 40%,#222 40%,#222 50%,transparent 50%,transparent 60%,#222 60%,#222 70%,transparent 70%,transparent 80%,#222 80%,#222 90%,transparent 90%),linear-gradient(#222 10%,transparent 10%,transparent 20%,#222 20%,#222 30%,transparent 30%,transparent 40%,#222 40%,#222 50%,transparent 50%,transparent 60%,#222 60%,#222 70%,transparent 70%,transparent 80%,#222 80%,#222 90%,transparent 90%);background-size:20px 20px;position:relative}
.official-qr-placeholder:before,.official-qr-placeholder:after{content:"";position:absolute;width:38px;height:38px;border:8px solid #fff;outline:8px solid #222;background:#fff}
.official-qr-placeholder:before{left:8px;top:8px}.official-qr-placeholder:after{right:8px;bottom:8px}
.official-modal-tip{margin:0;color:#666;font-size:13px;line-height:1.8}.official-modal-tip b{color:#436aff}
.official-copy{margin-top:14px;padding:7px 18px;border:1px solid #b8c9f4;border-radius:3px;background:#f4f7ff;color:#436aff;cursor:pointer}
.official-modal-note{margin:13px 0 0;color:#aaa;font-size:11px}
@media(max-width:600px){.official-modal-card{padding:25px 20px 20px}.official-qr{width:190px;height:190px}}

/* 连体广告（后台礼包管理设置 2~5 连后，前台合并 N 个广告位展示） */
.ad-span{background:linear-gradient(135deg,#5c0e0e 0%,#8c1f1f 55%,#a52a2a 100%);border:2px solid #f0c75e}
.ad-span .ad-span-inner{padding:16px 18px;text-align:left}
.ad-span .ad-span-title{font-size:22px;font-weight:700;color:#fff;line-height:1.3}
.ad-span .ad-span-title .name{color:#ffd75e;text-decoration:none}
.ad-span .ad-span-flag{display:inline-block;margin-left:10px;padding:1px 9px;font-size:12px;line-height:18px;color:#5c0e0e;background:#ffd75e;border-radius:3px;vertical-align:2px;font-weight:400}
.ad-span .ad-span-meta{margin-top:5px;font-size:13px;color:#f2bd6d}
.ad-span .ad-span-desc{margin-top:6px;font-size:14px;color:#ffe9c9;line-height:1.5}
.ad-span .ad-span-actions{margin-top:10px;display:flex;gap:10px;align-items:center}
.ad-span .ad-span-actions .get,.ad-span .ad-span-actions .url{display:inline-block;padding:6px 22px;border-radius:3px;color:#fff;background:#e04c3d;font-size:14px;cursor:pointer;text-decoration:none}
.ad-span .ad-span-actions .url{background:#f0c75e;color:#5c0e0e}
@media(max-width:600px){.ad-span .ad-span-title{font-size:18px}.ad-span .ad-span-inner{padding:12px}}
