/* ============================================================
   pages.css - 各页面独立样式汇总
   ============================================================ */

/* ------ index.html 首页 · 三区同壳 + 内层白块 + 图库圆标 ------ */
.home-blocks {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 12px 0 18px;
}

.tool-link-grid {
    display: contents;
}

/* —— 推广 / 工具 / 图库：同一套灰白外壳（渐变底 + 细边 + 内高光） —— */
.home-blocks .link-grid--promo,
.home-blocks .tool-link-box,
.home-blocks .home-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    padding: 14px 12px;
    margin: 0;
    border-radius: 16px;
    background: linear-gradient(180deg, #fafafa 0%, #f2f2f4 50%, #ebebed 100%);
    border: 0.5px solid rgba(60, 60, 67, 0.12);
    box-shadow:
        0 2px 16px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.home-blocks .home-grid {
    padding-bottom: 16px;
}

.home-blocks .link-grid--promo a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 4px;
    text-align: center;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
    color: #1c1c1e;
    border-radius: 12px;
    background: #fff;
    border: 0.5px solid rgba(60, 60, 67, 0.1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: transform 0.1s ease, background 0.12s ease, box-shadow 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.home-blocks .link-grid--promo a:active {
    transform: scale(0.97);
    background: #f7f7f8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.home-blocks .link-grid--promo a.ad-placeholder {
    background: rgba(255, 255, 255, 0.5);
    color: #aeaeb2;
    font-weight: 600;
    border: 1px dashed #c7c7cc;
    box-shadow: none;
    cursor: default;
}

/* —— 工具区：内层与推广按钮同款白块 —— */
.home-blocks .tool-link-item {
    text-decoration: none;
    color: #1c1c1e;
    background: #fff;
    border: 0.5px solid rgba(60, 60, 67, 0.1);
    border-radius: 12px;
    padding: 10px 4px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: background 0.12s ease, transform 0.1s ease, box-shadow 0.12s ease;
    -webkit-tap-highlight-color: transparent;
}

.home-blocks .tool-link-item:active {
    background: #f7f7f8;
    transform: scale(0.98);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.home-blocks .tool-link-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: #f2f2f7;
    color: #3a3a3c;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-blocks .tool-link-icon svg {
    width: 17px;
    height: 17px;
}

.home-blocks .tool-link-label {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    color: #1c1c1e;
}

/* —— 图库宫格：内层与推广同款白块 —— */
.home-blocks .home-grid-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #1c1c1e;
    padding: 10px 4px 10px;
    border-radius: 12px;
    background: #fff;
    border: 0.5px solid rgba(60, 60, 67, 0.1);

    -webkit-tap-highlight-color: transparent;
}

.home-blocks .home-grid-item:active {
    background: #f7f7f8;
    transform: scale(0.98);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* 图库宫格：图标底圆形 */
.home-blocks .home-grid-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    transition: transform 0.12s ease;
}

.home-blocks .home-grid-item:active .home-grid-icon {
    transform: scale(0.95);
}

.home-blocks .home-grid-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.home-blocks .home-grid-icon svg {
    width: 18px;
    height: 18px;
    color: #3a3a3c;
}

.home-blocks .home-grid-label {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.3;
    color: #1c1c1e;
    text-align: center;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 其它页复用 class 时的兜底（首页由 .home-blocks 内更高优先级覆盖） */
.link-grid:not(.link-grid--promo) {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 10px;
    margin: 0 0 10px;
    background: #fff;
    border-radius: 14px;
    border: 0.5px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.tool-link-box,
.home-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 10px;
    margin: 0 0 10px;
    background: #fff;
    border-radius: 14px;
    border: 0.5px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.tool-link-box .tool-link-grid {
    display: contents;
}

@media (max-width: 360px) {
    .home-blocks .link-grid--promo a {
        font-size: 14px;
        min-height: 46px;
    }
    .home-blocks .tool-link-label,
    .home-blocks .home-grid-label {
        font-size: 13px;
    }
}

/* ------ pic.html 图片详情 ------ */
.period-bar {
    display: flex; align-items: stretch; gap: 0;
    border-bottom: 1px solid var(--sep); background: #fff;
}
.period-scroll {
    flex: 1; overflow-x: auto; white-space: nowrap; padding: 8px 6px;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.period-scroll::-webkit-scrollbar { display: none; }
.period-scroll a {
    display: inline-block; padding: 5px 12px; margin-right: 5px;
    border-radius: 14px; border: 1px solid var(--sep);
    background: var(--card); font-size: 13px; color: var(--text);
    text-decoration: none; white-space: nowrap;
}
.period-scroll a.active {
    background: var(--tint); color: #fff; border-color: var(--tint);
}
.period-dropdown {
    position: relative; flex-shrink: 0;
    display: flex; align-items: center;
    padding: 0 10px; cursor: pointer;
    border-left: 1px solid var(--sep);
    font-size: 13px; color: var(--tint); font-weight: 600;
    user-select: none; -webkit-user-select: none;
}
.period-dropdown::after {
    content: ''; display: inline-block; width: 0; height: 0;
    border-left: 5px solid transparent; border-right: 5px solid transparent;
    border-top: 6px solid var(--tint); margin-left: 4px;
    transition: transform 0.2s;
}
.period-dropdown.open::after { transform: rotate(180deg); }
.dropdown-list {
    display: none; position: absolute; top: 100%; right: 0;
    width: 160px; max-height: 300px; overflow-y: auto;
    background: #fff; border: 1px solid #e0e0e0;
    border-radius: 0 0 8px 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    z-index: 100;
}
.dropdown-list.show { display: block; }
.dropdown-list a {
    display: block; padding: 10px 14px; font-size: 14px;
    color: #333; text-decoration: none;
    border-bottom: 1px solid #f5f5f5;
}
.dropdown-list a:last-child { border-bottom: none; }
.dropdown-list a:active { background: #f0f0f0; }
.dropdown-list a.current { color: var(--tint); font-weight: 600; }
.pic-img {
    width: 100%; height: auto; display: block;
    border-radius: var(--radius); box-shadow: var(--shadow-md);
    margin: 10px 0;
    min-height: 200px;
    background: #f0f0f0 url("../uploading.png") center center no-repeat;
    background-size: 100% auto;
}
.pic-img.loaded { background: none; min-height: 0; }
.pic-img.img-error {
    min-height: 200px;
    background: #f5f5f5 url("../uploading.png") center center no-repeat;
    background-size: 100% auto;
}
.action-bar {
    display: flex; gap: 12px; padding: 12px 0 8px;
}
.action-btn {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;
    height: 44px; border: none; border-radius: 22px;
    font-size: 15px; font-weight: 600; cursor: pointer;
    transition: opacity 0.2s, transform 0.15s;
}
.action-btn:active { opacity: 0.8; transform: scale(0.97); }
.action-btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.btn-download { background: var(--tint); color: #fff; }
.btn-share {
    background: #fff; color: var(--tint);
    border: 2px solid var(--tint) !important;
}
.save-tip {
    text-align: center; font-size: 12px; color: var(--text2);
    padding: 4px 0 12px;
}
.toast-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4); display: flex; align-items: center; justify-content: center;
    z-index: 10001; opacity: 0; transition: opacity 0.25s; pointer-events: none;
}
.toast-overlay.show { opacity: 1; pointer-events: auto; }
.toast-box {
    background: #fff; border-radius: 14px; padding: 24px 28px;
    text-align: center; box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    transform: scale(0.85); transition: transform 0.25s;
}
.toast-overlay.show .toast-box { transform: scale(1); }
.toast-box svg { width: 48px; height: 48px; color: var(--tint); margin-bottom: 10px; }
.toast-box p { font-size: 14px; color: #333; margin: 0; }
.share-modal {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center;
    z-index: 10000; opacity: 0; transition: opacity 0.25s; pointer-events: none;
}
.share-modal.show { opacity: 1; pointer-events: auto; }
.share-card {
    background: #fff; border-radius: 16px; padding: 28px 24px 20px;
    width: 300px; max-width: 88vw; text-align: center;
    box-shadow: 0 12px 40px rgba(0,0,0,0.25);
    transform: scale(0.85); transition: transform 0.25s;
}
.share-modal.show .share-card { transform: scale(1); }
.share-card h3 {
    font-size: 17px; font-weight: 700; color: #1C1C1E; margin: 0 0 4px;
}
.share-card .share-sub {
    font-size: 13px; color: #8E8E93; margin-bottom: 16px;
}
.share-qr {
    display: inline-block; padding: 12px; background: #fff;
    border: 1px solid #eee; border-radius: 12px; margin-bottom: 14px;
}
.share-qr canvas, .share-qr img { display: block; }
.share-url-box {
    background: #F2F2F7; border-radius: 8px; padding: 10px 12px;
    font-size: 12px; color: #555; word-break: break-all;
    text-align: left; line-height: 1.5; margin-bottom: 16px;
    max-height: 60px; overflow-y: auto;
}
.share-btns { display: flex; gap: 10px; }
.share-btns button {
    flex: 1; height: 40px; border: none; border-radius: 20px;
    font-size: 14px; font-weight: 600; cursor: pointer;
    transition: opacity 0.2s;
}
.share-btns button:active { opacity: 0.7; }
.share-btn-copy { background: var(--tint); color: #fff; }
.share-btn-close { background: #F2F2F7; color: #666; }

/* ------ web.html 底部联系（低调但可读、易点） ------ */
.page-footer-contact {
    text-align: center;
    padding: 24px 16px 32px;
}
.contact-foot-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 24px;
    font-size: 15px;
    font-weight: 500;
    color: #636366;
    letter-spacing: 0.02em;
    border-radius: 22px;
    border: 1px solid rgba(60, 60, 67, 0.12);
    background: rgba(242, 242, 247, 0.9);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}
.contact-foot-btn:active {
    background: #e5e5ea;
    transform: scale(0.98);
}
.web-contact-box {
    width: min(340px, 88vw);
    max-height: min(78vh, 520px);
    padding: 20px 20px 22px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: left;
}
.web-contact-title {
    font-size: 17px;
    font-weight: 700;
    color: #1c1c1e;
    margin: 0 0 14px;
    text-align: center;
    flex-shrink: 0;
}
.web-contact-rules {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-right: 2px;
    font-size: 14px;
    line-height: 1.55;
    color: #3a3a3c;
}
.web-contact-rules p {
    margin: 0 0 10px;
}
.web-contact-rules p:last-child {
    margin-bottom: 0;
}
.web-contact-handle {
    font-weight: 600;
    color: #1c1c1e;
    user-select: text;
    -webkit-user-select: text;
}

/* ------ article.html 文章详情 ------ */
.art-header {
    background: #fff; border-radius: 10px; padding: 14px 16px;
    margin-bottom: 10px; box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.art-title {
    font-size: 16px; font-weight: 600; color: #1C1C1E;
    line-height: 1.5; margin: 0 0 6px;
}
.art-info {
    display: flex; gap: 12px; font-size: 12px; color: #8E8E93;
}
.art-info span { display: flex; align-items: center; gap: 3px; }
.art-info svg { width: 13px; height: 13px; flex-shrink: 0; }

/* ------ article-list.html 资料列表 ------ */
.cat-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
    margin-bottom: 16px;
}
.cat-box {
    background: rgba(213, 221, 213, 0.31);
    border-radius: 10px; padding: 12px 6px;
    text-align: center; text-decoration: none; color: var(--text);
    font-weight: 600; font-size: 14px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);
    transition: background 0.2s;
}
.cat-box:active { background: rgba(80, 195, 21, 0.15); }

/* ------ search.html 黑白图库 ------ */
.hb-list {
    padding: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    overflow: hidden;
}
.hb-item {
    display: block; text-decoration: none; color: #333; font-size: 15px;
    border-bottom: 0.5px solid #f0f0f0;
    transition: background 0.15s;
}
.hb-item:last-of-type { border-bottom: none; }
.hb-item:active { background: #f7f7f7; }
.hb-item-inner {
    display: flex; align-items: center; justify-content: space-between;
    padding: 13px 14px;
}
.hb-name {
    flex: 1; min-width: 0; font-weight: 500;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hb-right {
    display: flex; align-items: center; gap: 6px;
    flex-shrink: 0; margin-left: 10px;
}
.hb-num { font-size: 12px; color: #999; }
.hb-right::after {
    content: '\203A'; font-size: 20px; font-weight: 300; color: #ccc;
}



/* 通用卡片容器 */
.lp-card {
    background: #fff;
    border-radius: 16px;
    margin: 0 0 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06), 0 0 0 0.5px rgba(0,0,0,0.04);
}

/* ── 播放器区域 ── */
.lp-player-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #0a0a0a;
    overflow: hidden;
}
.lp-player-wrap video {
    width: 100%; height: 100%; object-fit: contain;
    background: #000; display: block;
}

/* 遮罩层 */
.lp-overlay {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    background: linear-gradient(180deg, rgba(10,10,10,.92) 0%, rgba(20,20,30,.96) 100%);
    color: #cdd2da;
    text-align: center; padding: 20px;
    transition: opacity .35s;
    z-index: 2;
}
.lp-overlay.lp-hidden { opacity: 0; pointer-events: none; }

.lp-overlay-icon {
    width: 52px; height: 52px; margin-bottom: 14px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
}
.lp-overlay-icon svg {
    width: 26px; height: 26px; color: rgba(255,255,255,.55);
    stroke: rgba(255,255,255,.55);
}
.lp-overlay-text {
    font-size: 14px; line-height: 1.7;
    white-space: pre-line;
    color: rgba(255,255,255,.7);
    letter-spacing: .3px;
}

@keyframes lp-spin {
    to { transform: rotate(360deg); }
}
.lp-spin { animation: lp-spin 1.2s linear infinite; }

/* 静音按钮 */
.lp-unmute {
    position: absolute; bottom: 10px; right: 10px;
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; z-index: 3;
    transition: background .2s, transform .15s;
}
.lp-unmute:active { transform: scale(.9); background: rgba(255,255,255,.25); }
.lp-unmute svg { width: 18px; height: 18px; color: #fff; }
.lp-unmute.lp-hidden { display: none; }
.hidden { display: none !important; }

/* 状态标签 */
.lp-status {
    position: absolute; top: 10px; left: 10px;
    display: flex; align-items: center; gap: 6px;
    background: rgba(0,0,0,.5); backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 20px; padding: 4px 12px 4px 8px;
    font-size: 12px; color: rgba(255,255,255,.85);
    z-index: 3; letter-spacing: .2px;
}
.lp-dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: #666;
    flex-shrink: 0;
}
.lp-dot-live {
    background: #ff3b30;
    box-shadow: 0 0 6px rgba(255,59,48,.6);
    animation: lp-pulse 1.5s infinite;
}
@keyframes lp-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .4; }
}

/* ── 开奖号码 iframe ── */
.kj-balls-frame {
    width: 100%; border: none; display: block;
    height: auto; min-height: 120px;
}

/* ── 视频回放区域标题 ── */
.lp-section-head {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 16px 10px;
    font-size: 15px; font-weight: 600; color: #333;
    border-bottom: 1px solid rgba(0,0,0,.04);
}
.lp-section-icon {
    width: 30px; height: 30px; border-radius: 9px;
    background: linear-gradient(135deg, #5b8def, #7c5ce7);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.lp-section-icon svg { width: 14px; height: 14px; fill: #fff; stroke: #fff; }

/* 视频网格（复用） */
.video-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 10px; padding: 12px 12px 4px;
}
.vid-item {
    background: #fff; border-radius: 10px; overflow: hidden;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 0.5px solid rgba(0,0,0,0.04);
}
.vid-item:active { transform: scale(0.97); box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.vid-item a { text-decoration: none; color: inherit; display: block; }
.vid-thumb-wrap {
    position: relative; width: 100%; aspect-ratio: 16/9;
    background: linear-gradient(135deg, #e8f0fe 0%, #d2e3fc 100%);
    overflow: hidden;
}
.vid-thumb-wrap img {
    display: block; width: 100%; height: 100%; object-fit: cover;
}
.vid-play-btn {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(0,0,0,0.4); backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.vid-play-btn svg { width: 16px; height: 16px; color: #fff; fill: #fff; }
.vid-placeholder {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.vid-placeholder svg { width: 32px; height: 32px; color: rgba(255,255,255,0.8); fill: rgba(255,255,255,0.8); }
.vid-info {
    padding: 8px 10px 10px; font-size: 12.5px; color: #444;
    font-weight: 500; line-height: 1.4;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* 更多链接 */
.lp-more {
    text-align: center; padding: 8px 12px 14px;
}
.lp-more a {
    display: inline-flex; align-items: center; gap: 4px;
    color: #5b8def; text-decoration: none; font-size: 14px; font-weight: 500;
    padding: 8px 24px; border-radius: 20px;
    background: linear-gradient(135deg, #eef3ff 0%, #e8edff 100%);
    transition: background 0.2s; box-shadow: 0 1px 4px rgba(91,141,239,0.12);
}
.lp-more a:active { background: linear-gradient(135deg, #dbe5ff 0%, #d0daff 100%); }
.lp-more a svg { width: 14px; height: 14px; }

/* 历史 iframe */
.history-frame {
    width: 100%; border: none; display: block;
    min-height: 800px;
}

/* 兼容旧 class（其他页面引用） */
.more-link { text-align: center; padding: 8px 12px 14px; }
.more-link a {
    display: inline-flex; align-items: center; gap: 4px;
    color: #5b8def; text-decoration: none; font-size: 14px; font-weight: 500;
    padding: 8px 24px; border-radius: 20px;
    background: linear-gradient(135deg, #eef3ff 0%, #e8edff 100%);
    transition: background 0.2s; box-shadow: 0 1px 4px rgba(91,141,239,0.12);
}
.more-link a:active { background: linear-gradient(135deg, #dbe5ff 0%, #d0daff 100%); }
.more-link a svg { width: 14px; height: 14px; }
.section-gap { height: 8px; }

/* ------ video-list.html 视频列表 ------ */
.vl-wrap {
    margin: 0 10px 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06), 0 0 0 0.5px rgba(0,0,0,0.04);
    overflow: hidden;
}
.vl-header {
    display: flex; align-items: center; gap: 8px;
    padding: 14px 14px 10px; font-size: 15px; font-weight: 600; color: #333;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}
.vl-header-icon {
    width: 28px; height: 28px; border-radius: 8px;
    background: linear-gradient(135deg, #5b8def 0%, #7c5ce7 100%);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.vl-header-icon svg { width: 14px; height: 14px; fill: #fff; }
.vl-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 10px; padding: 12px 12px 4px;
}
.vl-card {
    background: #fff; border-radius: 10px; overflow: hidden;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 0.5px solid rgba(0,0,0,0.04);
}
.vl-card:active { transform: scale(0.97); box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.vl-card a { text-decoration: none; color: inherit; display: block; }
.vl-thumb {
    position: relative; width: 100%; aspect-ratio: 16/9;
    background: linear-gradient(135deg, #e8f0fe 0%, #d2e3fc 100%);
    overflow: hidden;
}
.vl-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vl-play {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(0,0,0,0.4); backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.vl-play svg { width: 16px; height: 16px; fill: #fff; }
.vl-thumb-placeholder {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.vl-thumb-placeholder svg { width: 32px; height: 32px; fill: rgba(255,255,255,0.8); }
.vl-info {
    padding: 8px 10px 10px; font-size: 12.5px; color: #444;
    font-weight: 500; line-height: 1.4;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.vl-more {
    display: block; margin: 8px auto 14px; padding: 10px 24px;
    border-radius: 20px; border: none; font-size: 14px; font-weight: 500;
    color: #5b8def;
    background: linear-gradient(135deg, #eef3ff 0%, #e8edff 100%);
    text-align: center; cursor: pointer; transition: background 0.2s;
    box-shadow: 0 1px 4px rgba(91,141,239,0.12);
    width: auto;
}
.vl-more:active { background: linear-gradient(135deg, #dbe5ff 0%, #d0daff 100%); }

/* ------ video.html 视频回放 ------ */
.video-wrap { padding: 0; background: #000; }
.video-wrap video { width: 100%; display: block; }
.video-title {
    font-size: 18px; text-align: center;
    padding: 16px 12px 10px; color: #333;
}
.kj-mini { width: 100%; border: none; height: 128px; display: block; margin-top: 16px; }

/* ------ tools.html 辅助工具 ------ */
.tool-iframe-wrap { margin-top: 12px; }
.tool-iframe {
    width: 100%; min-height: 500px; border: none;
    border-radius: var(--radius); background: var(--card);
    box-shadow: var(--shadow);
}

/* ------ history.html 开奖记录 ------ */
.nav-year-select {
    height: 30px; padding: 2px 8px; border: 1px solid #ddd;
    border-radius: 6px; font-size: 13px; background: #fff;
    color: #333; outline: none; cursor: pointer;
}
.kj-record {
    background: #fff; border-radius: 12px; padding: 12px 14px;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 0.5px solid rgba(0,0,0,0.04);
}
.kj-record-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 10px; font-size: 13px; color: #666;
}
.kj-record-period em {
    color: #e8573a; font-style: normal; font-weight: 600;
}
.kj-record-balls {
    display: flex; align-items: flex-start; justify-content: space-between;
}
.kj-ball-item {
    display: flex; flex-direction: column; align-items: center;
    flex: 1; min-width: 0;
}
.kj-ball {
    display: inline-block; text-align: center;
    width: 2.2em; height: 2.2em; line-height: 2.2em;
    font-size: 16px; font-weight: 700; color: #000;
    border-radius: 50%;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.kj-ball.kj-lotto-red {
    background-color: #d63031;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAABYCAMAAABGS8AGAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAnZQTFRFAAAA/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zIy/zMz/zMz/zMz/zMz/zIy/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zMz/zU1/zs7/0BA/0ND/zQ0/zMz/zAw/zMz/zMz/1hY/3x8/6Cg/8fH/+Hh/+rq/+/v//Ly//Hx/8bG/6Gh/3p6/zMz/zMz/zMz/zMz/0pK/66u/97e//39//////z8/3t7/0tL/zMz/zMz/zMz/zMz/1xc/7Ky/+7u/+3t/7Gx/1pa/zMz/zMz/zMz/3Bw/8zM//7+/87O/21t/zMz/zMz/1NT/8jI/1BQ/zMz/zMz/zo6//r6/zMz/zMz/1ZW/9nZ/9jY/1VV/35+//X1//b2/zc3/5ub//f3//j4/5yc/zg4/zY2/6qq/6am/zMz/6en/5qa/zMz/3Z2//Pz/1dX/zk5/9ra/19f/zMz/729/zMz/3Fx/2pq/83N/zMz/0JC/3l5/7q6/v7+/+Xl/z4+/zMz/2Rk/4mJ/8DA/9PT/+fn/z09/+np/0FB/9TU/8XF/7+//4iI/1lZ//n5/z8//93d/7u7/zIy/zEx/9HR/2tr/8nJ/7y8/09P/11d/6Ki/0VF/5eX/4qK/0ZG/zw8/9fX/5mZ/8/P/zMz//T0/1RU/3Nz/3V1/5CQ/3Jy/52d/6Oj/6io/7S0/zMz/2Ji/1tb/zMz/zIy/+zs/7i4/6Sk/0hI/4OD/6+v/25u/9DQ/2dn/62t/2lp/+bm/5GR/+Li/5OT/zQ0/zQ0/4yMZk/kBgAAANJ0Uk5TAAcuWYu2z+Lv+f/w4bSMWi0GAzdyt/YEBD3oAxdqxcBrDnjd/twNcf//////CAA7zP///////////////8sUgvX///////////SAKMb///////8pZfH//////4H8////CaX//wqx/////////////////////2T//xX///////9c/+D////E////////OP//////////////////////Lgf////////////////////B////////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');
}
.kj-ball.kj-lotto-blue {
    background-color: #3399ff;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAABYCAMAAABGS8AGAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAvRQTFRFAAAAM5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5n/M5r/Mpj/M5n/M5n/M5n/M5n/Mpj/M5r/M5n/M5n/M5v/M5n/M5n/M5n/M5n/M5n/M5r/M5n/M5n/M5n/M5n/M5n/M5n/NZr/O53/QKD/Q6H/QJ//NJr/M5n/MJf/M5n/M5n/WKz/fL3/oND/x+P/4fD/6vT/7/f/8vj/8fj/xuL/odD/erz/M5n/M5n/M5n/M5n/NJn/SqX/er3/rtf/3u7//f7//////P7/rtb/e73/S6X/M5n/M5n/M5n/M5n/XK3/stj/7vb/7fb/sdj/Wq3/M5n/MJ//M5n/M5n/cLj/zOb//v//zub/bbb/M5n/M5n/U6n/yOT/UKf/M5r/M5n/Op3/+vz/oM//M5r/M5n/Vqr/2ez/2Ov/Var/fr7/9fr/9vv/N5v/m83/9/v/+Pv/nM7/OJv/Npv/qtX//P3/ptP/M5n//v7/p9P/nM3/msz/M5n/drr/8/n/V6v/OZz/2uz/Npr/ms3/+Pz/X6//M5n/vd7/M5n/M5n/cbj/arX/zeb/XK7/M5r/M5n/M5v/QqD/ebz/Mpf/ut3/5fL/Pp//M5n/WKv/ZLL/icT/M5f/M5r/wOD/0+n/5/P/PZ7/6fT/QaD/6vX/1On/xeL/v9//iMP/Waz/+fz/ZLH/P5//3e7/Pp7/u93/7vf/Mpn/stn/MZf/0ej/a7X/arT/yeT/vN7/T6f/+v3/Xa7/otD/RaL/l8v/isT/RqL/PJ3/1+v/Opz/mcz/z+f/M5n/9Pr/VKr/c7n/M5n/dbr/OJz/kMj/crn/nc7/o9H/qNP/ptL/tNn/M5n/YrH/W63/M5n/Mpn/9Pn/PJ7/7Pb/uNz/Vqv/2u3/2Oz/pNH/SKT/g8H/r9f/brb/zuf/0Oj/Z7P/rdb/abT/5vL/kcj/yOP/RqP/4vD/k8n/M5n/YrD/NJn/NJj/jMb/M5n/M5j/gnuVFAAAAPx0Uk5TAAcuWYu2z+Lv+f/w4bSMWi0GAzdyt/YEBD3oAxdqxcBrDnjd/twNcf///////wgAO8z////////////////LFIL1///////////////0gCjG////////KQBl8f//////gfz///8Jpf///wqx//////////////////////9k/////xX///////////9c/+AO/////wPEBP//BP///zj///8GB/////////////////////////8u/wf////////////////////////B////A////////////97//10H//////////////////////////////8J/wkK/wQHzGymjgAABdVJREFUeJy12XlcFFUAB/ABZIEBFuQSiJSWa7lBEtCQS2FnURDMAgkKMAndkstEBMMrxZMKDRQLjMvKI0sqK8vs0qywQ8uy+zK7b6t/eu/NHu/NzjKX/v7Zmbcz332ft29m3rxHUYKxs3cY56hycnahaRdXN5W72sNzvPBZAvHy9vH1o63i5+vjPUG+6h+gDrRGTQlUB1wliw26eiJPXYl6TwoOksxeowkJHZuFCQ3ThEti7SKc8PO1kVHR0TGRsXy2W0ScaDY+IdF8XszkpGunJKekTp2WmpJ8Xdr0yTFWdHpCvDg3IzOLPSN7xsycXB1DRJ+bN2s2p+r5BRli3DmFxuOL5l7P8GbeDTdyKl1YLMiWzC9lj72pTMfPwpTffAsplzoIuP4VlejAqim2VTYLbiXkygL/sdyF1eio29L0Qi7D1CyKJOjqhbbdxQZ0yO13CLMwS2oJ2bDYZn2Rq62rF+cyTEMd0T8MNursj9qhcemdYl2GWda0nGgN/nYugN81rxijM1inpbURlytKeNyVsD80rrhLigvSpsX7xnxrtxj2X+0qSfVFWU305zlcdw263uoktK8p+rXENci5uuMrYGmt6P6AZ93duJxJ3pES8kHZ+g1yXIbZ0I7BWQm4G5cOyxbJcxlmYzYmJ9phcAQsqRJxHfNn02a8MbZY3HA3WLBArsswW/HrZFuHGdbA/Xvku4zuXrzKGpMbFAZ371MAM2V4lUNMz+5g+Dwukn5pYGnpxODQYNbdvgPsZM9V4jJMHt4WE+9HcAAcl8yw8XwTm9QuDPYLQLAabs9U5jJMN15lNXR3ovFZnlJ4Fw4HegHYG27F5CqFe3bj8gMA9oEbDyrqEzA1vTjsA2BfuJGk1GWYPhz2pag9aKyaphxuw2G/hyhPtCE4PhFOPw7T9pQH/NAmK4cHCNiB7cWRKcrhZPypCnqyI/yISlUODw7hsCOlgh/RU5XDw3txWEW5XRnYiXK9Mk3hTLmgP+9h5TD557lQ6CP2MnS3R4juRrMw/ahyeB8HRk1x2S9p0BTO6HO6cng/AbtS7CvogRal7sHHCNiNvUDoQ48rhXueIGAV5c5uKH40HSb/O3f2JkTTs5TC3SSsphzYjdnzlLkjXSTsQT3JbsQ+pQzOIV3ak3raOI1yQJGr7yRdv/HGhylImRL4SDsJ+5oe/yDPKKnws5yW8DENWGCekw8fbeTA3gD2Mk2BPf+CXLf+GMcNnGAeFMK8KBdejW7Fx5NeevkVVlJbhrEwr74mz11yApwcdXKwnGFeRz9hHMZuP2Wqcm2DHPeNN8G4/a0edge9P00axV4VUOqWSXf1p2n67XdqjHvv0pZXBSooxATHNkm+fereo+kTZ8ynwdffMPPEpMb8dy5vkwqfBa16xjwIToVtbH4dozosE46N70ur71lwyfVZ9j8AxDlsujPC0gW1GyWMwfVNoIYfWppP9xEQzmPv0h9bJjNpeu06se4ncKri088sBZ+D/XRiEjUhC5O/+FKc+xWaHvvaUtDwDU3nE9MKVHwmfkU2L90kzNafXA+PrcJuBN+C/QLO1GxGIS5nbz4qMOmk23qMHVJdsJRdaLaeujFONlnS+N3FMbq0/vsfjPez9hFz4RHwQlbKMy3rUUmTdFGOjTHoyI+dzaajfjKXXjxO05V8k7IlFTQ3Xd2He2pI9ODPu7rx5+YvxvLyX3+DDczjmqYgOTnU29faP5A8ODw8+PvAvtb9vbvJ7/8w/l4bLLcxBUn9aeCRUbRDXXuHtHzf/IXc5NPwS8Pf/C5FXbIp284/KdP6u9Fg3nDJlgvqzNcaIlNts76onQsqhQm+VFb8O5YLsrJUWLFOqQffBC+Z4kJhhxsRyxUgayrypbFZmaIWWOCSULoUN1HskhBI3PlzYtltW+yEPSzhmjAxy24hmg5hi5Og4B1CC4WnZCwUwowKLW2OymJRdtpejPWSrxqzx9ND7ahyc4XLx85OKvdxDvb/CZ/1P/5sT33gPoXFAAAAAElFTkSuQmCC');
}
.kj-ball.kj-lotto-green {
    background-color: #00b894;
    background-image: url('data:image/png;base64,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');
}
.kj-ball-info {
    font-size: 16px; color: #0e0c0c; margin-top: 4px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    max-width: 100%; text-align: center;
}
.kj-ball-plus {
    display: flex; align-items: center; justify-content: center;
    color: #e8573a; font-size: 20px; font-weight: 700;
    flex: 0 0 20px; padding-top: 4px;
}
