/* 中奖公告横幅 - 横向滚动跑马灯 */
.lottery-banner{ display:flex; align-items:center; gap:10px; background:rgba(var(--bs-primary-rgb), .07); border-left:3px solid var(--bs-primary); border-radius:8px; padding:5px 12px; overflow:hidden; font-size:13px; color:var(--bs-body-color); }
.lottery-banner__icon{ flex:0 0 auto; color:var(--bs-primary); font-size:16px; line-height:1; }
.lottery-banner__viewport{ position:relative; flex:1 1 auto; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.lottery-banner__track{ display:inline-flex; align-items:center; white-space:nowrap; padding:3px 0; animation:lotteryBannerScroll var(--marquee-duration, 20s) linear infinite; }
.lottery-banner__viewport:hover .lottery-banner__track{ animation-play-state:paused; }
.lottery-banner__item{ display:inline-flex; align-items:center; padding:0 16px; }
.lottery-banner__item + .lottery-banner__item{ border-left:1px solid rgba(var(--bs-primary-rgb), .22); }
.lottery-banner__item .text-warning, .lottery-banner__item .text-danger{ font-weight:600; }
@keyframes lotteryBannerScroll{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }

.lottery-stage{ position:relative; width:300px; height:300px; margin:6px auto 18px; }
.lottery-wheel{ position:absolute; inset:0; border-radius:50%; border:6px solid #FFC53D; box-shadow:0 0 0 3px #fff, 0 0 0 6px #FFC53D, 0 10px 26px rgba(0,0,0,.22); transition:transform 4.5s cubic-bezier(.17,.67,.2,1); background:var(--bs-primary); z-index:1; }
.lottery-bulbs{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.lottery-bulbs__dot{ position:absolute; top:50%; left:50%; width:9px; height:9px; margin:-4.5px; border-radius:50%; background:#FFD666; box-shadow:0 0 5px rgba(255,196,80,.95); }
.lottery-bulbs__dot--alt{ background:#FFEFC2; box-shadow:0 0 5px rgba(255,210,120,.85); }
.lottery-labels{ position:absolute; inset:0; pointer-events:none; transition:transform 4.5s cubic-bezier(.17,.67,.2,1); z-index:2; font-family:'PingFang SC','Microsoft YaHei','Hiragino Sans GB',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }

.lottery-stat{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; background:#f6f8fa; height:100%; }
.lottery-stat__icon{ width:40px; height:40px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; font-size:19px; background:#f1f3f5; flex:0 0 auto; }

.lottery-stat__label{ font-size:12px; color:#868e96; }
.lottery-stat__value{ font-size:1.45rem; font-weight:700; line-height:1.1; }
.wheel-label{ position:absolute; left:50%; top:0; height:50%; width:84px; margin-left:-42px; transform-origin:bottom center; text-align:center; }
.wheel-label-inner{ position:absolute; top:15px; left:0; right:0; color:#fff; font-size:13.5px; font-weight:700; line-height:1.2; letter-spacing:.4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-shadow:0 1px 1px rgba(0,0,0,.28), 0 0 1px rgba(0,0,0,.22); }
.wheel-label-inner i{ font-size:18px; display:block; margin:0 auto 5px; width:36px; height:36px; line-height:36px; border-radius:50%; color:rgba(255,255,255,.96); box-shadow:inset 0 0 0 1px rgba(244,208,138,.5); }
.lottery-pointer{ position:absolute; top:-6px; left:50%; transform:translateX(-50%); z-index:6; width:24px; height:22px; }
.lottery-pointer::before{ content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); border-left:11px solid transparent; border-right:11px solid transparent; border-top:18px solid #FFC53D; filter:drop-shadow(0 2px 2px rgba(0,0,0,.25)); }
.lottery-pointer::after{ content:''; position:absolute; top:-7px; left:50%; transform:translateX(-50%); width:10px; height:10px; border-radius:50%; background:#FFC53D; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.lottery-hub{ position:absolute; top:50%; left:50%; width:74px; height:74px; margin:-37px 0 0 -37px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px #FFC53D, 0 4px 12px rgba(0,0,0,.2); z-index:4; display:flex; align-items:center; justify-content:center; }
.lottery-hub-inner{ width:62px; height:62px; border-radius:50%; background:#FFC53D; color:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; }
.lottery-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:1rem; }

.lottery-prize-icon{ width:36px; height:36px; border-radius:8px; background:#f1f3f5; display:inline-flex; align-items:center; justify-content:center; color:var(--bs-primary); font-size:18px; }
.lottery-prize-icon img{ width:22px; height:22px; object-fit:contain; }
.lottery-marquee{ height:150px; overflow:hidden; position:relative; }
.lottery-marquee-track{ list-style:none; margin:0; padding:0; animation:lotteryScroll 14s linear infinite; }
.lottery-marquee-track li{ padding:8px 16px; border-bottom:1px solid #f1f3f5; font-size:14px; }
@keyframes lotteryScroll{ 0%{ transform:translateY(0); } 100%{ transform:translateY(-50%); } }
.lottery-marquee:hover .lottery-marquee-track{ animation-play-state:paused; }
#lotteryResultIcon i{ font-size:64px; }