.live-page { background: #f7f8fa; min-height: 100vh; padding-bottom: 24px; }
.live-top { background: #fff; position: sticky; top: 0; z-index: 20; border-bottom: 1px solid #ebedf0; }
.live-header { display: flex; align-items: center; justify-content: center; height: 46px; font-size: 21px; font-weight: 600; position: relative; }
.live-back { position: absolute; left: 12px; font-size: 27px; color: #323233; text-decoration: none; line-height: 1; }
.live-history-link { position: absolute; right: 12px; font-size: 19px; color: #07c160; text-decoration: none; font-weight: 400; }

.live-types { display: flex; background: #fff; padding: 8px 12px 10px; gap: 8px; border-bottom: 1px solid #f0f0f0; }
.live-type { flex: 1; text-align: center; padding: 8px 0; border-radius: 8px; font-size: 20px; color: #646566; text-decoration: none; background: #f7f8fa; }
.live-type.active { background: #07c160; color: #fff; font-weight: 600; }

.live-player-wrap { background: #fff; margin-bottom: 8px; }
.live-player-wrap.collapsed .live-player-box,
.live-player-wrap.collapsed .live-mute-btn { display: none; }
.live-player-box { position: relative; height: 240px; background: #000; overflow: hidden; }
.live-video { width: 100%; height: 100%; object-fit: contain; background: #000; display: block; }
.live-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(0,0,0,.55); color: #fff; z-index: 2; padding: 12px; text-align: center; }
.live-overlay.hidden { display: none; }
.live-tip { font-size: 20px; line-height: 1.6; color: #ff4d4f; max-width: 420px; margin: 0 0 8px; }
.live-tip b { color: #ffd700; font-weight: 700; }
.live-tip-sub { font-size: 20px; color: #ff6b6b; margin: 0 0 8px; }
.live-refresh-btn { margin-top: 12px; padding: 6px 14px; font-size: 20px; color: #e00; border: 1px solid #e00; border-radius: 4px; background: transparent; cursor: pointer; height: 35px; }
.live-mute-btn { position: absolute; right: 0; bottom: 0; z-index: 3; width: 40px; height: 32px; border: none; background: rgba(0,0,0,.35); color: #fff; font-size: 21px; cursor: pointer; }
.live-toggle { text-align: center; padding: 6px 0 10px; border-bottom: 1px solid #f0f0f0; }
.live-toggle-btn { border: none; background: none; color: #07c160; font-size: 19px; cursor: pointer; padding: 4px 12px; }
.live-toggle-btn::before { content: '▾ '; }

.live-page .live-lottery { margin: 0; border-radius: 0; box-shadow: none; }

.live-page .lottery-meta {
    font-size: 16px;
}

.live-page .lottery-next {
    font-size: 16px;
}

.live-page .live-history-link {
    font-size: 17px;
}

/* 开奖球单行（6+1，窄屏缩小不换行） */
.live-page .lottery-balls {
    flex-wrap: nowrap;
    gap: clamp(6px, 0.6vw, 10px);
    padding: 8px 4px 4px;
    align-items: flex-start;
    justify-content: center;
}

.live-page .lottery-balls .ball-item {
    flex: 1 1 0;
    min-width: 0;
    max-width: 46px;
}

.live-page .lottery-balls .icon-text .slot-icon {
    width: clamp(37px, 9vw, 51px);
    height: clamp(37px, 9vw, 51px);
}

.live-page .lottery-balls .icon-text .slot-icon > span {
    font-size: clamp(17px, 3.2vw, 20px);
}

.live-page .lottery-balls .icon-text .slot-text {
    font-size: clamp(15px, 2.4vw, 17px);
}

.live-page .lottery-balls .ball-plus {
    flex: 0 0 auto;
    width: clamp(18px, 3vw, 23px);
    margin-top: clamp(16px, 3.2vw, 21px);
    padding: 0 1px;
}
