/**
 * 抽奖页 UI 主题覆盖层 —— Lumina Play 设计系统
 * 基于 stitch design: Deep Blue #0A192F + Gold #FFB800
 * 仅作用于 body.cxzzt-lottery-screen 下的抽奖页
 */

/* ═══════════════════════════════════════════════════
   1. 设计系统变量（覆盖 lottery-page.css 的 :root）
   ═══════════════════════════════════════════════════ */
body.cxzzt-lottery-screen .cxzzt-lottery-page {
    --cxzzt-lottery-primary: #0A192F;
    --cxzzt-lottery-primary-deep: #061326;
    --cxzzt-lottery-gold: #FFB800;
    --cxzzt-lottery-gold-deep: #f59e0b;
    --cxzzt-lottery-gold-light: #FFDEA8;
    --cxzzt-lottery-text: #0A192F;
    --cxzzt-lottery-muted: #44474d;
    --cxzzt-lottery-card: rgba(255, 255, 255, 0.72);
    --cxzzt-lottery-border: rgba(255, 255, 255, 0.55);
    --cxzzt-lottery-success: #10b981;
    --cxzzt-lottery-warn: #f59e0b;
    --cxzzt-lottery-info: #8b5cf6;
}

/* ═══════════════════════════════════════════════════
   2. 全局：流体玻璃背景
   ═══════════════════════════════════════════════════ */
body.cxzzt-lottery-screen {
    position: relative;
    z-index: 0;
    min-height: 100vh;
    isolation: isolate;
    background:
        radial-gradient(circle at 16% 18%, rgba(137, 222, 255, 0.34) 0%, rgba(137, 222, 255, 0) 28%),
        radial-gradient(circle at 84% 18%, rgba(255, 209, 102, 0.22) 0%, rgba(255, 209, 102, 0) 24%),
        linear-gradient(135deg, #e8f1ff 0%, #f6f9ff 52%, #eef4ff 100%);
    background-color: #e8f1ff;
}

body.cxzzt-lottery-screen::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    display: block;
    pointer-events: none;
    background-image: url('../img/lottery-bg.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.45s ease;
}

body.cxzzt-lottery-screen.is-lottery-bg-ready::before {
    opacity: 1;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen {
    background:
        radial-gradient(circle at 16% 18%, rgba(61, 219, 255, 0.16) 0%, rgba(61, 219, 255, 0) 28%),
        radial-gradient(circle at 84% 18%, rgba(255, 209, 102, 0.12) 0%, rgba(255, 209, 102, 0) 24%),
        linear-gradient(140deg, #06101f 0%, #0c1730 42%, #101f44 100%);
    background-color: #06101f;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen::before,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen::before {
    background-image:
        radial-gradient(circle at 16% 18%, rgba(61, 219, 255, 0.16) 0%, rgba(61, 219, 255, 0) 28%),
        radial-gradient(circle at 84% 18%, rgba(255, 209, 102, 0.12) 0%, rgba(255, 209, 102, 0) 24%),
        linear-gradient(140deg, rgba(6, 16, 31, 0.78) 0%, rgba(12, 23, 48, 0.72) 42%, rgba(16, 31, 68, 0.7) 100%),
        url('../img/lottery-bg.png');
}

@media (prefers-reduced-motion: reduce) {
    body.cxzzt-lottery-screen::before {
        transition: none;
    }
}

body.cxzzt-lottery-screen .content-wrap,
body.cxzzt-lottery-screen .theme-box.cxzzt-lottery-page {
    background: transparent !important;
    box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════
   3. Hero 区：垂直布局 + 4 卡玻璃（强制覆盖原 row 布局）
   ═══════════════════════════════════════════════════ */
body.cxzzt-lottery-screen .cxzzt-lottery-hero {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 28px;
    margin-bottom: 32px;
    padding: 8px 0;
    background: transparent;
    border: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.cxzzt-lottery-screen .cxzzt-lottery-hero__copy {
    max-width: 760px !important;
    margin: 0 auto !important;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.cxzzt-lottery-screen .cxzzt-lottery-hero__title {
    font-size: clamp(36px, 4.5vw, 56px);
    font-weight: 800;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #0A192F 0%, #2c3e5a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

body.cxzzt-lottery-screen .cxzzt-lottery-hero__eyebrow {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.28) 0%, rgba(243, 156, 18, 0.2) 100%);
    border-color: rgba(255, 184, 0, 0.5);
    color: #8c6a0a;
    font-weight: 800;
}

body.cxzzt-lottery-screen .cxzzt-lottery-hero__subtitle {
    color: #44474d;
    font-size: 16px;
    line-height: 1.7;
}

/* Hero 4 列栅格（大屏）/ 2 列（平板）/ 1 列（手机） */
body.cxzzt-lottery-screen .cxzzt-lottery-hero__summary {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
}

@media (max-width: 980px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-hero__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 540px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-hero__summary {
        grid-template-columns: 1fr !important;
    }
}

/* 统计卡：磨玻璃质感 + 右下角图标圆 */
body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat {
    min-height: 96px;
    padding: 16px 20px;
    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "label label"
        "value icon";
    align-items: end;
    column-gap: 12px;
    row-gap: 6px;
    text-align: left;
    background: rgba(255, 255, 255, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 20px;
    box-shadow:
        0 8px 32px rgba(10, 25, 47, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(28px) saturate(1.6);
    -webkit-backdrop-filter: blur(28px) saturate(1.6);
    overflow: visible !important;
}

body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 184, 0, 0.4);
    box-shadow:
        0 14px 36px rgba(10, 25, 47, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* 右侧装饰图标圆：使用本地 PNG（4 张图自带彩色圆形背景） */
body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat::after {
    content: "";
    display: block;
    grid-area: icon;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    box-shadow: 0 2px 8px rgba(10, 25, 47, 0.12);
}

/* 卡 1：每日抽奖 → 下载.png（π 符号渐变色球） */
body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat:nth-child(1)::after {
    background-image: url("../img/%E4%B8%8B%E8%BD%BD.png");
}

/* 卡 2：消耗积分 → 下载2.png（蓝色 $ 符号） */
body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat:nth-child(2)::after {
    background-image: url("../img/%E4%B8%8B%E8%BD%BD2.png");
}

/* 卡 3：连签天数 → 下载3.png（火焰） */
body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat:nth-child(3)::after {
    background-image: url("../img/%E4%B8%8B%E8%BD%BD3.png");
}

/* 卡 4：累计签到 → 下载4.png（上升箭头） */
body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat:nth-child(4)::after {
    background-image: url("../img/%E4%B8%8B%E8%BD%BD4.png");
}

/* stat 文本排版 */
body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat-label {
    grid-area: label;
    order: 0;
    text-transform: none;
    letter-spacing: 0;
    font-size: 13px;
    font-weight: 500;
    color: #5b677a;
}

body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat strong {
    grid-area: value;
    font-size: 22px;
    font-weight: 800;
    color: #0A192F;
    letter-spacing: -0.02em;
    justify-content: flex-start;
}

body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat strong em {
    color: #5b677a;
    font-size: 13px;
    font-weight: 600;
    margin-left: 2px;
}

/* ═══════════════════════════════════════════════════
   4. 转盘容器 + 3D 银色金属环
   ═══════════════════════════════════════════════════ */
body.cxzzt-lottery-screen .cxzzt-lottery-visual__card {
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 24px;
    box-shadow:
        0 20px 60px rgba(10, 25, 47, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    /* 取消 lottery-page.css 多处默认的 min-height: 520/540px，
       padding 缩到 16px，让卡片高度紧贴转盘，避免与 sidebar 不齐留白。 */
    padding: 16px;
    min-height: 0 !important;
}

/* shell 不强制 stretch，让 visual 与 sidebar 各自取自身内容高度，避免大块空白 */
body.cxzzt-lottery-screen .cxzzt-lottery-shell {
    align-items: start !important;
    margin-bottom: 16px !important;
}

body.cxzzt-lottery-screen .cxzzt-lottery-panels--pool {
    margin-bottom: 16px !important;
}

/* 夜间模式：去掉转盘外的白玻璃光晕，让转盘纯粹浮在背景上 */
body.cxzzt-lottery-screen.dark-theme .cxzzt-lottery-visual__card,
body.cxzzt-lottery-screen.dark .cxzzt-lottery-visual__card {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* 去掉转盘的 drop-shadow（原 lottery-page.css line 3254）——
   原值 drop-shadow(0 22px 42px rgba(0,0,0,0.34)) 会在转盘左下产生大面积模糊阴影 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel {
    filter: none;
}

/* 扇形图标：与 pill 共用同一定位中心，由 JS(syncLabelLayout) 按 wheelSize*0.325
   计算 left/top 设置；rotate(--angle) 让图标方向与扇形一致（顶端指向外圈），
   不再使用 translateY，避免与 JS 设置的 left/top 双重定位。 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon {
    transform: translate(-50%, -50%) rotate(var(--angle, 0deg));
    transform-origin: 50% 50%;
    z-index: 2;
}

/* 图标尺寸 ≈ disc 直径 × 10-11%，对齐主流抽奖大转盘视觉规范
   桌面 disc≈476px → 48px；平板 disc≈340px → 38px；手机 disc≈289px → 30px */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon img {
    width: 48px;
    height: 48px;
}

@media (max-width: 768px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon img {
        width: 38px;
        height: 38px;
    }
}

@media (max-width: 480px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon img {
        width: 30px;
        height: 30px;
    }
}

/* 夜间模式：去掉扇区盘 __disc 的外部黑色大阴影
   原 lottery-page.css line 4705、4713 有 0 16px 40px rgba(0,2,12,0.55)——旋转时尤为刺眼 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-wheel__disc,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-wheel__disc.is-drawing,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-wheel__disc,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-wheel__disc.is-drawing {
    box-shadow:
        inset 0 1px 0 rgba(130, 170, 255, 0.08),
        inset 0 0 0 4px rgba(109, 159, 255, 0.05);
}

/* 银色金属外环（覆盖 backdrop） */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__backdrop {
    background: conic-gradient(
        from 0deg,
        #b8bdc4 0deg,
        #f1f3f5 40deg,
        #d5d9de 90deg,
        #ffffff 135deg,
        #c0c5cc 180deg,
        #e8ebef 225deg,
        #b8bdc4 270deg,
        #f1f3f5 315deg,
        #b8bdc4 360deg
    );
    box-shadow:
        0 14px 32px rgba(10, 25, 47, 0.22),
        inset 0 0 0 3px rgba(255, 255, 255, 0.6),
        inset 0 0 0 8px rgba(170, 180, 195, 0.18);
    opacity: 1 !important;
}

/* 扇区盘：白+淡金条纹更柔和 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__disc {
    box-shadow:
        0 4px 16px rgba(10, 25, 47, 0.1),
        inset 0 0 0 2px rgba(255, 255, 255, 0.75),
        inset 0 0 12px rgba(255, 255, 255, 0.4);
}

/* 中心按钮：深蓝圆 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core {
    inset: 38%;
    background: linear-gradient(135deg, #0A192F 0%, #1a2d4a 50%, #0A192F 100%);
    border: 3px solid rgba(255, 255, 255, 0.85);
    box-shadow:
        0 8px 20px rgba(10, 25, 47, 0.5),
        inset 0 2px 4px rgba(255, 255, 255, 0.2),
        inset 0 -4px 10px rgba(0, 0, 0, 0.45);
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core::before {
    background: radial-gradient(circle at 30% 28%, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0) 60%);
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn {
    background: transparent;
    border: none;
    color: #ffffff;
    font-weight: 800;
    font-size: clamp(14px, 1.5vw, 17px);
    letter-spacing: 0.08em;
    cursor: pointer;
    width: 100%;
    height: 100%;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* 指针：保留默认箭头（::before 圆头 + ::after 三角），仅隐藏 lottery-page.css:3520
   console 主题给 `<span>` 加的金色径向渐变装饰小球。 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer > span {
    display: none !important;
}

/* 金色指针渐变 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer::before {
    background: linear-gradient(180deg, #FFDEA8 0%, #FFB800 50%, #f59e0b 100%);
    box-shadow:
        0 4px 12px rgba(255, 184, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        inset 0 -2px 4px rgba(139, 92, 20, 0.35);
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer::after {
    border-top-color: #f59e0b;
    filter: drop-shadow(0 6px 10px rgba(255, 184, 0, 0.35));
}

/* 扇区 pill 文字：深色主调 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pill {
    background: rgba(255, 255, 255, 0.85);
    color: #0A192F;
    border: 1px solid rgba(10, 25, 47, 0.12);
    font-weight: 700;
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector.is-active .cxzzt-lottery-wheel__pill {
    background: rgba(255, 255, 255, 0.85);
    color: #0A192F;
    border: 1px solid rgba(10, 25, 47, 0.12);
    box-shadow:
        0 4px 10px rgba(148, 163, 184, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.7);
    animation: none;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-wheel__sector.is-active .cxzzt-lottery-wheel__pill,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector.is-active .cxzzt-lottery-wheel__pill {
    background: rgba(8, 14, 35, 0.75);
    color: #bfc9de;
    border-color: rgba(80, 130, 220, 0.14);
    box-shadow:
        0 4px 14px rgba(0, 2, 12, 0.45),
        inset 0 1px 0 rgba(130, 170, 255, 0.05);
    animation: none;
}

/* ═══════════════════════════════════════════════════
   5. 侧栏 Actions 抽奖操作卡
   ═══════════════════════════════════════════════════ */
body.cxzzt-lottery-screen .cxzzt-lottery-actions {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    box-shadow:
        0 8px 32px rgba(10, 25, 47, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 24px;
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__title {
    color: #0A192F;
    font-weight: 800;
}

/* Meta 数值显示 */
body.cxzzt-lottery-screen .cxzzt-lottery-meta__value {
    color: #0A192F;
    font-weight: 800;
}

body.cxzzt-lottery-screen .cxzzt-lottery-meta__label {
    color: #5b677a;
}

/* 抽奖按钮：金色渐变 */
body.cxzzt-lottery-screen .cxzzt-lottery-actions__button.is-draw {
    background: linear-gradient(135deg, #FFDEA8 0%, #FFB800 50%, #f59e0b 100%);
    border: 1px solid rgba(245, 158, 11, 0.5);
    border-radius: 14px;
    color: #3a2208;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow:
        0 8px 20px rgba(255, 184, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        inset 0 -2px 0 rgba(139, 92, 20, 0.2);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__button.is-draw::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__button.is-draw:hover:not(:disabled) {
    box-shadow:
        0 12px 28px rgba(255, 184, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        inset 0 -2px 0 rgba(139, 92, 20, 0.2);
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__button.is-draw:disabled {
    opacity: 0.55;
    filter: saturate(0.6);
}

/* 登录按钮：深蓝 outline */
body.cxzzt-lottery-screen .cxzzt-lottery-actions__button.is-login {
    background: transparent;
    border: 2px solid #0A192F;
    border-radius: 14px;
    color: #0A192F;
    font-weight: 800;
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__button.is-login:hover {
    background: #0A192F;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(10, 25, 47, 0.3);
}

/* 规则列表：绿色打勾 */
body.cxzzt-lottery-screen .cxzzt-lottery-actions__rules-title {
    color: #0A192F;
    font-weight: 800;
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__rules ul,
body.cxzzt-lottery-screen .cxzzt-lottery-actions__rules ol {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__rules li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    color: #44474d;
    line-height: 1.6;
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__rules li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 3px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.35);
}

body.cxzzt-lottery-screen .cxzzt-lottery-actions__divider {
    background: rgba(10, 25, 47, 0.08);
}

/* ═══════════════════════════════════════════════════
   6. 签到卡：金色风格 + 金币刻度
   ═══════════════════════════════════════════════════ */
body.cxzzt-lottery-screen .cxzzt-checkin-card {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    box-shadow:
        0 8px 32px rgba(10, 25, 47, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 22px;
    gap: 16px;
}

body.cxzzt-lottery-screen .cxzzt-checkin-card__label {
    color: #0A192F;
    font-size: 17px;
    font-weight: 800;
}

body.cxzzt-lottery-screen .cxzzt-checkin-card__label .fa {
    color: #FFB800;
}

/* 金色渐变签到按钮 */
body.cxzzt-lottery-screen .cxzzt-checkin-card__btn {
    background: linear-gradient(135deg, #FFDEA8 0%, #FFB800 50%, #f59e0b 100%);
    border: none;
    border-radius: 12px;
    color: #3a2208;
    font-weight: 800;
    padding: 10px 22px;
    box-shadow:
        0 6px 16px rgba(255, 184, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}

body.cxzzt-lottery-screen .cxzzt-checkin-card__btn:hover:not(.is-done) {
    transform: translateY(-1px);
    box-shadow:
        0 10px 24px rgba(255, 184, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

body.cxzzt-lottery-screen .cxzzt-checkin-card__btn.is-done {
    background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
    color: #ffffff;
    text-shadow: none;
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.35);
}

body.cxzzt-lottery-screen .cxzzt-checkin-card__reward {
    color: #44474d;
    font-size: 13px;
    font-weight: 500;
}

/* 连签进度条：金币风 */
body.cxzzt-lottery-screen .cxzzt-checkin-streak {
    gap: 8px;
}

body.cxzzt-lottery-screen .cxzzt-checkin-streak__day {
    background: rgba(10, 25, 47, 0.04);
    border-radius: 14px;
    padding: 12px 4px 10px;
    gap: 4px;
}

body.cxzzt-lottery-screen .cxzzt-checkin-streak__day.is-done {
    background: linear-gradient(160deg, rgba(255, 222, 168, 0.55) 0%, rgba(255, 184, 0, 0.25) 100%);
    border: 1px solid rgba(255, 184, 0, 0.35);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        0 2px 8px rgba(255, 184, 0, 0.2);
}

body.cxzzt-lottery-screen .cxzzt-checkin-streak__icon {
    color: rgba(10, 25, 47, 0.3);
    font-size: 22px;
    line-height: 1;
}

body.cxzzt-lottery-screen .cxzzt-checkin-streak__day.is-done .cxzzt-checkin-streak__icon {
    color: #FFB800;
    filter: drop-shadow(0 2px 4px rgba(255, 184, 0, 0.45));
}

body.cxzzt-lottery-screen .cxzzt-checkin-streak__num {
    color: #44474d;
    font-size: 11px;
}

body.cxzzt-lottery-screen .cxzzt-checkin-streak__day.is-done .cxzzt-checkin-streak__num {
    color: #7c5800;
}

body.cxzzt-lottery-screen .cxzzt-checkin-streak__pts {
    color: #f59e0b;
    font-weight: 800;
}

/* ═══════════════════════════════════════════════════
   7. 底部 Tab 系统：深蓝玻璃 + 金色激活
   ═══════════════════════════════════════════════════ */
body.cxzzt-lottery-screen .cxzzt-checkin-tabs {
    background: linear-gradient(135deg, rgba(10, 25, 47, 0.94) 0%, rgba(15, 32, 62, 0.96) 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(10, 25, 47, 0.3);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    margin-top: 28px;
}

body.cxzzt-lottery-screen .cxzzt-checkin-tabs__nav {
    padding: 10px;
    gap: 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.cxzzt-lottery-screen .cxzzt-checkin-tabs__btn {
    color: rgba(210, 225, 245, 0.65);
    font-weight: 600;
    font-size: 13px;
    border-radius: 10px;
    padding: 10px 16px;
}

body.cxzzt-lottery-screen .cxzzt-checkin-tabs__btn:hover {
    color: #FFB800;
    background: rgba(255, 184, 0, 0.08);
}

body.cxzzt-lottery-screen .cxzzt-checkin-tabs__btn.is-active {
    color: #0A192F;
    background: linear-gradient(135deg, #FFDEA8, #FFB800);
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(255, 184, 0, 0.35);
}

/* 表格 */
body.cxzzt-lottery-screen .cxzzt-checkin-table thead th {
    color: rgba(210, 225, 245, 0.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-weight: 700;
}

body.cxzzt-lottery-screen .cxzzt-checkin-table tbody td {
    color: rgba(210, 225, 245, 0.85);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

body.cxzzt-lottery-screen .cxzzt-checkin-table tbody tr:hover {
    background: rgba(255, 184, 0, 0.05);
}

body.cxzzt-lottery-screen .cxzzt-checkin-table__pts {
    color: #FFB800 !important;
    font-weight: 700;
}

/* 彩色状态标签：通用 */
body.cxzzt-lottery-screen .cxzzt-checkin-status,
body.cxzzt-lottery-screen .cxzzt-lottery-status-badge,
body.cxzzt-lottery-screen [class*="cxzzt-lottery-log__status"],
body.cxzzt-lottery-screen [class*="cxzzt-checkin-tag"] {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.4;
}

body.cxzzt-lottery-screen .is-success,
body.cxzzt-lottery-screen [data-status="success"] {
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.35);
}

body.cxzzt-lottery-screen .is-completed,
body.cxzzt-lottery-screen [data-status="completed"] {
    background: rgba(255, 184, 0, 0.2);
    color: #FFB800;
    border: 1px solid rgba(255, 184, 0, 0.35);
}

body.cxzzt-lottery-screen .is-processing,
body.cxzzt-lottery-screen [data-status="processing"] {
    background: rgba(139, 92, 246, 0.2);
    color: #c4b5fd;
    border: 1px solid rgba(139, 92, 246, 0.35);
}

body.cxzzt-lottery-screen .is-failed,
body.cxzzt-lottery-screen [data-status="failed"] {
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.35);
}

/* 空状态 */
body.cxzzt-lottery-screen .cxzzt-checkin-empty {
    color: rgba(210, 225, 245, 0.4);
}

/* ═══════════════════════════════════════════════════
   8. 左侧固定导航（Lumina 设计稿同款）
   ═══════════════════════════════════════════════════ */
/* 父主题 .container 本身已有充足左外边距容纳 sidenav，不再叠加 padding */
body.cxzzt-lottery-screen > main,
body.cxzzt-lottery-screen > main.container {
    padding-left: 0;
}

.cxzzt-lottery-sidenav {
    /* 关键：sidenav 自适应贴近主内容左外侧
       - 视口 ≥ 容器宽 + sidenav + 间隙：紧贴 .container 左外侧
       - 视口较窄：保留 16px 安全边距贴左视口 */
    --cxzzt-sidenav-width: 172px;
    --cxzzt-sidenav-gap: 20px;
    --cxzzt-sidenav-min-left: 16px;
    --cxzzt-container-half: calc(var(--mian-max-width, 1200px) / 2);

    position: fixed;
    top: 96px;
    left: max(
        var(--cxzzt-sidenav-min-left),
        calc(50vw - var(--cxzzt-container-half) - var(--cxzzt-sidenav-width) - var(--cxzzt-sidenav-gap))
    );
    width: var(--cxzzt-sidenav-width);
    padding: 18px 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background:
        linear-gradient(165deg, rgba(255, 255, 255, 0.78) 0%, rgba(247, 250, 255, 0.55) 100%);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 0;
    box-shadow:
        0 18px 48px -18px rgba(10, 25, 47, 0.22),
        0 4px 14px rgba(10, 25, 47, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(28px) saturate(1.6);
    -webkit-backdrop-filter: blur(28px) saturate(1.6);
    z-index: 50;
    font-family: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    overflow: hidden;
}

.cxzzt-lottery-sidenav__list {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cxzzt-lottery-sidenav__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-radius: 0;
    background: transparent;
    color: #44474d;
    font-family: inherit;
    font-weight: 600;
    font-size: 14px;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

/* 图标小徽标盒 */
.cxzzt-lottery-sidenav__item .fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 0;
    background: rgba(10, 25, 47, 0.06);
    color: #4d5563;
    font-size: 14px;
    flex-shrink: 0;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.cxzzt-lottery-sidenav__item:hover {
    background: rgba(255, 184, 0, 0.12);
    color: #0A192F;
}

.cxzzt-lottery-sidenav__item:hover .fa {
    background: rgba(255, 184, 0, 0.22);
    color: #b07a00;
    transform: scale(1.06);
}

.cxzzt-lottery-sidenav__item.is-active {
    background: linear-gradient(135deg, #0A192F 0%, #1a2d4a 100%);
    color: #ffffff;
    box-shadow:
        0 8px 22px -8px rgba(10, 25, 47, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* 激活态左侧金色高亮条 */
.cxzzt-lottery-sidenav__item.is-active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 22%;
    bottom: 22%;
    width: 3px;
    background: linear-gradient(180deg, #FFE08A, #FFB800);
    box-shadow: 0 0 8px rgba(255, 184, 0, 0.55);
}

.cxzzt-lottery-sidenav__item.is-active .fa {
    background: rgba(255, 184, 0, 0.18);
    color: #FFB800;
}

/* 中等屏（1025~1300px）：sidenav 紧凑只显示图标 */
@media (min-width: 1025px) and (max-width: 1300px) {
    .cxzzt-lottery-sidenav {
        --cxzzt-sidenav-width: 64px;
        --cxzzt-sidenav-gap: 12px;
        padding: 14px 8px 12px;
        gap: 10px;
        align-items: center;
    }

    .cxzzt-lottery-sidenav__list {
        width: 100%;
        gap: 2px;
    }

    .cxzzt-lottery-sidenav__item {
        justify-content: center;
        padding: 10px 6px;
        gap: 0;
    }

    .cxzzt-lottery-sidenav__item span {
        display: none;
    }

    .cxzzt-lottery-sidenav__item .fa {
        width: 32px;
        height: 32px;
        font-size: 15px;
    }

    .cxzzt-lottery-sidenav__item.is-active::before {
        left: 50%;
        top: auto;
        bottom: 4px;
        width: 16px;
        height: 3px;
        transform: translateX(-50%);
    }
}

/* 响应式：小屏（<=1024px）改为顶部横条，文字隐藏 */
@media (max-width: 1024px) {
    body.cxzzt-lottery-screen > main,
    body.cxzzt-lottery-screen > main.container {
        padding-left: 0;
        padding-top: 64px;
    }

    .cxzzt-lottery-sidenav {
        left: 0;
        top: 0;
        width: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        padding: 10px 14px;
        border-radius: 0;
        border-top: none;
        border-left: none;
        border-right: none;
    }

    .cxzzt-lottery-sidenav__list {
        flex-direction: row;
        flex: 1;
        overflow-x: auto;
        gap: 2px;
    }

    .cxzzt-lottery-sidenav__item {
        padding: 8px 12px;
        white-space: nowrap;
        gap: 8px;
    }

    .cxzzt-lottery-sidenav__item span {
        display: none;
    }

    .cxzzt-lottery-sidenav__item .fa {
        width: 30px;
        height: 30px;
        font-size: 16px;
    }

    .cxzzt-lottery-sidenav__item.is-active::before {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════
   9. 侧栏模态框（我的奖品 / 成就 / 邀请 / 支持）
   ═══════════════════════════════════════════════════ */
.cxzzt-lottery-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: radial-gradient(circle at 50% 35%, rgba(20, 40, 70, 0.55) 0%, rgba(5, 12, 25, 0.7) 100%);
    backdrop-filter: blur(8px) saturate(1.3);
    -webkit-backdrop-filter: blur(8px) saturate(1.3);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.24s ease, visibility 0.24s ease;
    font-family: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.cxzzt-lottery-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.cxzzt-lottery-modal__panel {
    position: relative;
    width: 100%;
    max-width: 600px;
    max-height: 86vh;
    background:
        linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow:
        0 30px 80px -20px rgba(10, 25, 47, 0.45),
        0 6px 18px rgba(10, 25, 47, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transform: translateY(28px) scale(0.96);
    transition: transform 0.32s cubic-bezier(0.22, 1.2, 0.36, 1);
}

.cxzzt-lottery-modal.is-open .cxzzt-lottery-modal__panel {
    transform: translateY(0) scale(1);
}

.cxzzt-lottery-modal__head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 18px;
    border-bottom: 1px solid rgba(10, 25, 47, 0.06);
    background:
        linear-gradient(135deg, rgba(255, 222, 168, 0.22) 0%, rgba(255, 184, 0, 0.06) 35%, rgba(255, 255, 255, 0) 80%);
}

.cxzzt-lottery-modal__title {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: #0A192F;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 0.01em;
}

/* 标题前的图标徽标 */
.cxzzt-lottery-modal__title .fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 0;
    background: linear-gradient(135deg, #FFE4A8 0%, #FFB800 70%, #f59e0b 100%);
    color: #3a2208;
    font-size: 16px;
}

.cxzzt-lottery-modal__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: rgba(10, 25, 47, 0.06);
    color: #44474d;
    cursor: pointer;
    font-size: 14px;
}

.cxzzt-lottery-modal__close:hover {
    background: #0A192F;
    color: #FFB800;
}

.cxzzt-lottery-modal__body {
    flex: 1;
    padding: 22px 26px 24px;
    overflow-y: auto;
    color: #44474d;
    font-size: 14px;
    line-height: 1.6;
}

.cxzzt-lottery-modal__body::-webkit-scrollbar {
    width: 6px;
}

.cxzzt-lottery-modal__body::-webkit-scrollbar-thumb {
    background: rgba(10, 25, 47, 0.18);
    border-radius: 0;
}

.cxzzt-lottery-modal__body::-webkit-scrollbar-thumb:hover {
    background: rgba(10, 25, 47, 0.32);
}

/* 空状态 */
.cxzzt-lottery-modal__empty {
    padding: 44px 20px 36px;
    text-align: center;
    color: #6b7280;
}

.cxzzt-lottery-modal__empty .fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border-radius: 0;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    font-size: 32px;
    color: #94a3b8;
    margin-bottom: 16px;
}

.cxzzt-lottery-modal__empty p {
    margin: 0 0 18px;
    font-size: 14px;
    color: #6b7280;
}

.cxzzt-lottery-modal__cta {
    padding: 11px 28px;
    border: none;
    border-radius: 0;
    background: linear-gradient(135deg, #FFDEA8, #FFB800 50%, #f59e0b);
    color: #3a2208;
    font-weight: 800;
    font-size: 14px;
    cursor: pointer;
}

.cxzzt-lottery-modal__cta:hover {
    background: linear-gradient(135deg, #FFB800, #f59e0b 60%, #d97706);
}

/* 我的奖品：统计 3 栏 */
.cxzzt-lottery-modal__summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
    padding: 18px 16px;
    background:
        linear-gradient(135deg, rgba(255, 184, 0, 0.1) 0%, rgba(255, 222, 168, 0.04) 50%, rgba(10, 25, 47, 0.03) 100%);
    border-radius: 0;
    border: 1px solid rgba(255, 184, 0, 0.2);
}

.cxzzt-lottery-modal__sumitem {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
}

.cxzzt-lottery-modal__sumitem + .cxzzt-lottery-modal__sumitem::before {
    content: "";
    position: absolute;
    left: -6px;
    top: 12%;
    bottom: 12%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(10, 25, 47, 0.12), transparent);
}

.cxzzt-lottery-modal__sumlabel {
    font-size: 12px;
    color: #6b7280;
    letter-spacing: 0.02em;
}

.cxzzt-lottery-modal__sumitem strong {
    font-size: 24px;
    font-weight: 800;
    color: #0A192F;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

/* 我的奖品：九宫格卡片 */
.cxzzt-lottery-modal__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.cxzzt-prize-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 10px 6px 8px;
    background: linear-gradient(160deg, #ffffff 0%, #f6f8fc 100%);
    border: 1px solid rgba(10, 25, 47, 0.06);
    border-radius: 0;
    text-align: center;
    overflow: hidden;
}

/* 状态徽章固定到右上角 */
.cxzzt-prize-card__badge {
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 1;
    padding: 1px 6px !important;
    font-size: 9px !important;
    text-transform: none !important;
    letter-spacing: 0.04em !important;
    border-radius: 0 !important;
}

.cxzzt-prize-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 0;
    font-size: 12px;
    background: rgba(255, 184, 0, 0.14);
    color: #FFB800;
}

.cxzzt-prize-card__name {
    font-size: 12px;
    font-weight: 700;
    color: #0A192F;
    line-height: 1.2;
    letter-spacing: -0.01em;
    word-break: break-word;
    max-width: 100%;
    /* 最多 2 行 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cxzzt-prize-card__time {
    font-size: 10px;
    font-weight: 500;
    color: #6b7280;
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
}

/* 中奖：金色调 */
.cxzzt-prize-card.is-win {
    background: linear-gradient(160deg, rgba(255, 242, 215, 0.85) 0%, rgba(255, 222, 168, 0.32) 100%);
    border-color: rgba(255, 184, 0, 0.32);
}

.cxzzt-prize-card.is-win .cxzzt-prize-card__icon {
    background: linear-gradient(135deg, #FFE4A8 0%, #FFB800 100%);
    color: #3a2208;
}

/* 未中：灰色调 + 紫色徽章 */
.cxzzt-prize-card.is-lose {
    background: linear-gradient(160deg, #f8fafc 0%, #f1f5f9 100%);
    border-color: rgba(10, 25, 47, 0.06);
}

.cxzzt-prize-card.is-lose .cxzzt-prize-card__icon {
    background: rgba(139, 92, 246, 0.12);
    color: #8b5cf6;
}

.cxzzt-prize-card.is-lose .cxzzt-prize-card__name {
    color: #6b7280;
    font-weight: 700;
}

/* 成就：4 卡网格 */
.cxzzt-lottery-modal__achv-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.cxzzt-lottery-modal__achv {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px 18px 16px;
    background: linear-gradient(160deg, #ffffff 0%, #f6f8fc 100%);
    border: 1px solid rgba(10, 25, 47, 0.06);
    border-radius: 0;
    overflow: hidden;
}

.cxzzt-lottery-modal__achv-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 0;
    color: #ffffff;
    font-size: 22px;
}

.cxzzt-lottery-modal__achv-label {
    font-size: 12px;
    color: #6b7280;
    letter-spacing: 0.02em;
}

.cxzzt-lottery-modal__achv strong {
    font-size: 26px;
    font-weight: 800;
    color: #0A192F;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.cxzzt-lottery-modal__achv strong em {
    font-style: normal;
    font-size: 14px;
    font-weight: 600;
    color: #6b7280;
    margin-left: 3px;
}

/* 邀请 */
.cxzzt-lottery-modal__desc {
    margin: 0 0 18px;
    color: #44474d;
    line-height: 1.7;
    font-size: 13.5px;
}

.cxzzt-lottery-modal__invite {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
}

.cxzzt-lottery-modal__invite input {
    flex: 1;
    min-width: 0;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid rgba(10, 25, 47, 0.1);
    border-radius: 0;
    color: #0A192F;
    font-size: 13px;
    font-family: "SFMono-Regular", Consolas, Menlo, monospace;
}

.cxzzt-lottery-modal__invite input:focus {
    outline: none;
    background: #ffffff;
    border-color: rgba(255, 184, 0, 0.55);
}

.cxzzt-lottery-modal__copy {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 20px;
    border: none;
    border-radius: 0;
    background: linear-gradient(135deg, #0A192F, #1a2d4a);
    color: #ffffff;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}

.cxzzt-lottery-modal__copy:hover {
    background: linear-gradient(135deg, #1a2d4a, #2a4068);
}

.cxzzt-lottery-modal__copy.is-copied {
    background: linear-gradient(135deg, #10b981, #059669);
}

.cxzzt-lottery-modal__invite-code {
    padding: 12px 14px;
    background:
        linear-gradient(135deg, rgba(255, 184, 0, 0.12) 0%, rgba(255, 184, 0, 0.05) 100%);
    border: 1px solid rgba(255, 184, 0, 0.3);
    border-radius: 0;
    color: #7c5800;
    font-size: 13px;
}

.cxzzt-lottery-modal__invite-code strong {
    color: #0A192F;
    letter-spacing: 0.04em;
    font-family: "SFMono-Regular", Consolas, Menlo, monospace;
}

/* FAQ */
.cxzzt-lottery-modal__faq details {
    padding: 14px 18px;
    background: #f8fafc;
    border: 1px solid rgba(10, 25, 47, 0.06);
    border-radius: 0;
    margin-bottom: 8px;
}

.cxzzt-lottery-modal__faq details[open] {
    background: #ffffff;
    border-color: rgba(255, 184, 0, 0.35);
}

.cxzzt-lottery-modal__faq summary {
    cursor: pointer;
    font-weight: 700;
    color: #0A192F;
    font-size: 14px;
    list-style: none;
    padding-right: 32px;
    position: relative;
}

.cxzzt-lottery-modal__faq summary::-webkit-details-marker {
    display: none;
}

.cxzzt-lottery-modal__faq summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: rgba(255, 184, 0, 0.14);
    font-size: 16px;
    color: #FFB800;
    font-weight: 900;
    line-height: 1;
}

.cxzzt-lottery-modal__faq details[open] summary::after {
    content: "−";
    background: rgba(255, 184, 0, 0.22);
}

.cxzzt-lottery-modal__faq p {
    margin: 12px 0 0;
    color: #44474d;
    line-height: 1.75;
    font-size: 13px;
}

.cxzzt-lottery-modal__faq a {
    color: #b07a00;
    font-weight: 700;
    text-decoration: none;
}

.cxzzt-lottery-modal__faq a:hover {
    text-decoration: underline;
}

/* 移动端适配 */
@media (max-width: 540px) {
    .cxzzt-lottery-modal {
        padding: 12px;
    }

    .cxzzt-lottery-modal__panel {
        max-height: 92vh;
        border-radius: 0;
    }

    .cxzzt-lottery-modal__head {
        padding: 14px 18px 12px;
    }

    .cxzzt-lottery-modal__title {
        font-size: 15px;
        gap: 10px;
    }

    .cxzzt-lottery-modal__title .fa {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .cxzzt-lottery-modal__close {
        width: 32px;
        height: 32px;
    }

    .cxzzt-lottery-modal__body {
        padding: 16px 18px 18px;
    }

    .cxzzt-lottery-modal__summary {
        grid-template-columns: repeat(3, 1fr);
        gap: 6px;
        padding: 14px 8px;
    }

    .cxzzt-lottery-modal__sumitem strong {
        font-size: 19px;
    }

    .cxzzt-lottery-modal__achv-grid {
        grid-template-columns: 1fr;
    }

    .cxzzt-lottery-modal__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .cxzzt-prize-card {
        padding: 8px 4px 6px;
    }

    .cxzzt-prize-card__name {
        font-size: 11px;
    }

    .cxzzt-prize-card__icon {
        width: 22px;
        height: 22px;
        font-size: 11px;
    }
}

/* ═══════════════════════════════════════════════════
   10. 响应式微调
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-visual__card,
    body.cxzzt-lottery-screen .cxzzt-lottery-actions,
    body.cxzzt-lottery-screen .cxzzt-checkin-card {
        padding: 18px;
        border-radius: 16px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat {
        padding: 14px 16px;
        min-height: 80px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat::after {
        width: 36px;
        height: 36px;
    }
}

/* ═══ 转盘中心按钮：替换为本地图标 PNG ═══ */
/* 外层 .core 的深蓝圆 + 白边 + 阴影全部清掉，只保留定位 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 骨架占位：用骨架视觉语言「勾勒」出 PNG 的结构
   多层 background 自上而下：
   1. shimmer 斜向扫光（动画）
   2. 上方文字条（暗示「开始」二字位置）
   3. 下方文字条（暗示「抽奖」二字位置）
   4. 内圈圆（暗示 PNG 红圆主体边界）
   5. 底色（外圈金边外的留白）
   注意：lottery-page.css:3422 也定义了同优先级 ::before，故全量 !important 强制覆盖 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 50% !important;
    background-color: #d0d6dd !important;
    background-image:
        linear-gradient(110deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.55) 50%,
            rgba(255, 255, 255, 0.18) 100%),
        linear-gradient(#9aa3ad, #9aa3ad),
        linear-gradient(#9aa3ad, #9aa3ad),
        radial-gradient(circle at 50% 50%,
            #bcc4cc 0% 62%,
            transparent 62.5% 100%) !important;
    background-position: 0 0, 50% 42%, 50% 58%, 50% 50% !important;
    background-size: 220% 100%, 44% 8%, 44% 8%, 100% 100% !important;
    background-repeat: no-repeat !important;
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.06),
        inset 0 1px 2px rgba(255, 255, 255, 0.45) !important;
    pointer-events: none !important;
    animation: cxzztSkeletonShimmer 1.4s ease-in-out infinite !important;
    transition: opacity 0.25s ease !important;
    opacity: 1 !important;
}

/* PNG 全部加载完成：骨架淡出 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core.is-skin-loaded::before {
    opacity: 0 !important;
    animation: none !important;
}

/* 暗色模式：整体压暗，保持「内圆 + 文字条」结构 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-wheel__core::before,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core::before {
    background-color: #3b4452 !important;
    background-image:
        linear-gradient(110deg,
            rgba(255, 255, 255, 0.06) 0%,
            rgba(255, 255, 255, 0.22) 50%,
            rgba(255, 255, 255, 0.06) 100%),
        linear-gradient(#545d6b, #545d6b),
        linear-gradient(#545d6b, #545d6b),
        radial-gradient(circle at 50% 50%,
            #2a313c 0% 62%,
            transparent 62.5% 100%) !important;
    background-position: 0 0, 50% 42%, 50% 58%, 50% 50% !important;
    background-size: 220% 100%, 44% 8%, 44% 8%, 100% 100% !important;
    background-repeat: no-repeat !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.08),
        inset 0 1px 2px rgba(255, 255, 255, 0.12) !important;
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core::after {
    display: none !important;
}

/* 内层 .core-btn：PNG 背景 + 隐藏文字与所有装饰
   - 默认 opacity:0：PNG 还没下载完时不显示（避免「一点一点渲染」的渐进观感）
   - 父级 .is-skin-loaded 后整体淡入 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn {
    background: url("../img/%E6%8A%BD%E5%A5%96.png") center / contain no-repeat transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: transparent !important;
    text-shadow: none !important;
    font-size: 0 !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    opacity: 0 !important;
    transition: opacity 0.25s ease, transform 0.18s ease, filter 0.18s ease !important;
}

/* PNG 加载完成：整体淡入 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core.is-skin-loaded .cxzzt-lottery-wheel__core-btn {
    opacity: 1 !important;
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn::before,
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn::after {
    display: none !important;
}

/* 抽奖中：仅切换到「抽奖中」图片，按钮本身不自转
   JS 抽奖期间会把 button 设成 disabled，所以这里必须用 !important 把禁用态的 opacity/filter 压回 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn.is-busy,
body.cxzzt-lottery-screen .cxzzt-lottery-page.is-drawing .cxzzt-lottery-wheel__core-btn {
    background-image: url("../img/%E6%8A%BD%E5%A5%96%E4%B8%AD.png") !important;
    animation: none !important;
    opacity: 1 !important;
    filter: none !important;
}

/* 抽奖中转盘上那层 halo/glow「遮罩」全部关掉
   原规则：.cxzzt-lottery-wheel.is-drawing .cxzzt-lottery-wheel__halo 用 conic-gradient 铺满盘面 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel.is-drawing .cxzzt-lottery-wheel__halo,
body.cxzzt-lottery-screen .cxzzt-lottery-wheel.is-drawing .cxzzt-lottery-wheel__glow,
body.cxzzt-lottery-screen .cxzzt-lottery-wheel.is-soft-celebrating .cxzzt-lottery-wheel__halo,
body.cxzzt-lottery-screen .cxzzt-lottery-wheel.is-soft-celebrating .cxzzt-lottery-wheel__glow {
    display: none !important;
    background: none !important;
    animation: none !important;
    opacity: 0 !important;
}

/* 抽奖中盘片外扩的橙色光晕：原 lottery-page.css:2607-2608 两条橙色 box-shadow
   0 6px 20px rgba(255,143,0,.35) + 0 0 36px rgba(255,183,77,.35)——就是那层半透明橙光
   覆盖掉，改为仅内阴影保留立体感 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__disc.is-drawing,
body.cxzzt-lottery-screen .cxzzt-lottery-page .cxzzt-lottery-wheel__disc.is-drawing {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        inset 0 -4px 10px rgba(148, 101, 35, 0.12) !important;
    filter: none !important;
}

/* 禁用态：图标保持原样不半透明，仅停止动画并由 cursor:not-allowed 提示不可用 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn:disabled {
    opacity: 1;
    filter: none;
    animation: none;
}

/* hover / active 微交互：保留轻量位移，不盖住图片 */
body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn:hover:not(:disabled):not(.is-busy) {
    transform: scale(1.04);
    filter: brightness(1.06);
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__core-btn:active:not(:disabled):not(.is-busy) {
    transform: scale(0.96);
}

body.cxzzt-lottery-screen .cxzzt-lottery-cursor-glow,
body.cxzzt-lottery-screen .cxzzt-lottery-card-highlight {
    display: none !important;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-page,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-page {
    --cxzzt-lottery-text: #f6f8ff;
    --cxzzt-lottery-muted: rgba(214, 226, 255, 0.76);
    --cxzzt-lottery-card: rgba(10, 18, 36, 0.68);
    --cxzzt-lottery-border: rgba(130, 170, 255, 0.18);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-hero__title,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-hero__title {
    background: linear-gradient(135deg, #fff7dc 0%, #ffcc64 48%, #dbeafe 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.34));
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-hero__subtitle,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-actions__description,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-actions__rules li,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-meta__label,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-checkin-card__reward,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-checkin-streak__num,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-sidenav__item,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-hero__subtitle,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-actions__description,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-actions__rules li,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-meta__label,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-checkin-card__reward,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-checkin-streak__num,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-sidenav__item {
    color: rgba(214, 226, 255, 0.76);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-hero__eyebrow,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-hero__eyebrow {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.2) 0%, rgba(243, 156, 18, 0.12) 100%);
    border-color: rgba(255, 184, 0, 0.32);
    color: #ffd166;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-hero__stat,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-actions,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-checkin-card,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-actions,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-checkin-card {
    background: rgba(10, 18, 36, 0.68);
    border-color: rgba(130, 170, 255, 0.18);
    box-shadow:
        0 18px 46px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-hero__stat-label,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-hero__stat strong em,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat-label,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat strong em {
    color: rgba(202, 215, 245, 0.68);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-hero__stat strong,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-actions__title,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-actions__rules-title,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-meta__value,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-checkin-card__label,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat strong,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-actions__title,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-actions__rules-title,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-meta__value,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-checkin-card__label {
    color: #f6f8ff;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-actions__divider,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-actions__divider {
    background: rgba(130, 170, 255, 0.16);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-checkin-streak__day,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-checkin-streak__day {
    background: rgba(255, 255, 255, 0.05);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-panel--pool,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-panel--rules,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-panel--pool,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-panel--rules {
    background: rgba(10, 18, 36, 0.72);
    border-color: rgba(130, 170, 255, 0.18);
    box-shadow:
        0 18px 46px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-panel__title,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-panel__meta,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-panel__title,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-panel__meta {
    color: #f6f8ff;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-pool__tier,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-pool__tier--grand,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-pool__tier,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-pool__tier--grand {
    background:
        radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--tier-accent) 22%, transparent) 0%, transparent 60%),
        linear-gradient(180deg, rgba(24, 35, 60, 0.88) 0%, rgba(10, 18, 36, 0.84) 82%);
    border-color: rgba(130, 170, 255, 0.16);
    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-pool__item,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-pool__item {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(130, 170, 255, 0.12);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-pool__item:hover,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-pool__item:hover {
    border-color: color-mix(in srgb, var(--prize-accent) 42%, rgba(130, 170, 255, 0.2));
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--prize-accent) 45%, transparent);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-pool__label,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-pool__label {
    color: #f6f8ff;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-pool__tier-prob,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-pool__prob,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-pool__tier-prob,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-pool__prob {
    color: rgba(214, 226, 255, 0.72);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-pool__icon,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-pool__icon {
    background: rgba(255, 255, 255, 0.08);
}

/* ═══ 图标懒加载骨架占位 ═══
   - 扇区图标：wrapper ::before 圆形 shimmer
   - 奖池图标：img 自身 background shimmer，加载完成后 .is-loaded 状态由 JS 添加
*/
@keyframes cxzztSkeletonShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -100% 0; }
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 50%;
    background:
        linear-gradient(110deg,
            rgba(255, 255, 255, 0.22) 0%,
            rgba(255, 255, 255, 0.62) 50%,
            rgba(255, 255, 255, 0.22) 100%) 0 0 / 220% 100% no-repeat,
        rgba(0, 0, 0, 0.08);
    animation: cxzztSkeletonShimmer 1.4s ease-in-out infinite;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon img {
    position: relative;
    z-index: 1;
}

body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon.is-loaded::before {
    opacity: 0;
    animation: none;
}

body.cxzzt-lottery-screen img.cxzzt-lottery-pool__icon:not(.is-loaded) {
    background:
        linear-gradient(110deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.55) 50%,
            rgba(255, 255, 255, 0.18) 100%) 0 0 / 220% 100% no-repeat,
        rgba(0, 0, 0, 0.06);
    animation: cxzztSkeletonShimmer 1.4s ease-in-out infinite;
}

/* 暗色模式骨架配色 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon:not(.is-loaded)::before,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon:not(.is-loaded)::before,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen img.cxzzt-lottery-pool__icon:not(.is-loaded),
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen img.cxzzt-lottery-pool__icon:not(.is-loaded) {
    background:
        linear-gradient(110deg,
            rgba(255, 255, 255, 0.06) 0%,
            rgba(255, 255, 255, 0.2) 50%,
            rgba(255, 255, 255, 0.06) 100%) 0 0 / 220% 100% no-repeat,
        rgba(255, 255, 255, 0.06);
}

/* 用户偏好：减少动画 */
@media (prefers-reduced-motion: reduce) {
    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__sector-icon::before,
    body.cxzzt-lottery-screen img.cxzzt-lottery-pool__icon:not(.is-loaded) {
        animation: none;
    }
}

/* ═══════════════════════════════════════════════════
   11. 移动端布局重构（2026-04 重新设计）
   - 收口 lottery-page.css 中多处冲突的 hero__summary / visual-card 媒体查询；
   - 紧凑、合理利用空间，避免大块留白；
   - 断点统一：1180 / 980 / 767 / 480 四档；
   - 选择器加 body.cxzzt-lottery-screen 提升 specificity，
     可压制原 css 里的 !important 规则。
   ═══════════════════════════════════════════════════ */

/* ── ≤1180px：sidebar 单列、视觉卡去多余高度 ── */
@media (max-width: 1180px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-shell {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-visual__card {
        min-height: auto !important;
        padding: 16px !important;
    }
}

/* ── ≤980px：hero 摘要紧凑 ──
   has-checkin（4 卡）→ 2x2；no-checkin（3 卡）→ 1x3 横排 */
@media (max-width: 980px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-hero {
        gap: 18px;
        margin-bottom: 22px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero:not(.cxzzt-lottery-hero--extended) .cxzzt-lottery-hero__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* ── ≤767px：手机 ── */
@media (max-width: 767px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-page {
        padding: 12px 0 28px !important;
        border-radius: 0 !important;
    }

    /* Hero */
    body.cxzzt-lottery-screen .cxzzt-lottery-hero {
        padding: 0 !important;
        gap: 14px;
        margin-bottom: 18px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__title {
        font-size: clamp(24px, 6.4vw, 30px) !important;
        line-height: 1.18;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__subtitle {
        font-size: 13px;
        line-height: 1.6;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__eyebrow {
        min-height: 24px;
        padding: 0 10px;
        font-size: 10px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat {
        min-height: 0 !important;
        padding: 12px 12px 10px !important;
        border-radius: 14px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat::after {
        width: 32px !important;
        height: 32px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat strong {
        font-size: 18px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat-label {
        font-size: 11px !important;
    }

    /* Marquee */
    body.cxzzt-lottery-screen .cxzzt-lottery-panel--marquee {
        padding: 8px 12px !important;
        border-radius: 14px !important;
        gap: 8px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-marquee__label {
        font-size: 11px;
        padding: 4px 10px;
    }

    /* Shell + 视觉卡：压扁，去除转盘上下大块留白 */
    body.cxzzt-lottery-screen .cxzzt-lottery-shell {
        gap: 8px !important;
        margin-bottom: 12px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-visual {
        margin: 0 !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-visual__card {
        min-height: auto !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    /* marquee 紧贴下方转盘 */
    body.cxzzt-lottery-screen .cxzzt-lottery-panel--marquee {
        margin-bottom: 8px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-wheel {
        width: min(100%, 400px) !important;
    }

    /* 灯珠（呼吸灯）：移动端缩小，避免在 400px 转盘上看起来过大 */
    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__light {
        width: 8px !important;
        height: 8px !important;
    }

    /* 指针：覆盖 lottery-page.css 在 ≤640px 反向放大的 50x76 规则。
       纤瘦水滴形：::before 高 > 宽，上半椭圆顶，下接 ::after 长尖三角。 */
    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer {
        width: 22px !important;
        height: 42px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer::before {
        width: 14px !important;
        height: 18px !important;
        border-radius: 7px 7px 0 0 !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer::after {
        top: 18px !important;
        border-left-width: 7px !important;
        border-right-width: 7px !important;
        border-top-width: 22px !important;
    }

    /* sidebar 紧凑 */
    body.cxzzt-lottery-screen .cxzzt-lottery-sidebar {
        gap: 14px !important;
    }

    /* Actions 抽奖操作卡 */
    body.cxzzt-lottery-screen .cxzzt-lottery-actions {
        padding: 16px !important;
        border-radius: 16px !important;
        gap: 14px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-actions__title {
        font-size: 18px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-actions__eyebrow {
        min-height: 22px;
        padding: 0 8px;
        font-size: 10px;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-actions__button {
        min-height: 48px !important;
        font-size: 15px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-actions__button.is-draw {
        min-height: 52px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-actions__hint {
        min-height: auto !important;
        padding: 10px 12px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    /* meta inline 三列保持横排紧凑 */
    body.cxzzt-lottery-screen .cxzzt-lottery-meta--inline {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-meta--inline .cxzzt-lottery-meta__item {
        flex-direction: column !important;
        align-items: center !important;
        gap: 4px !important;
        min-height: 0 !important;
        padding: 10px 6px !important;
        text-align: center !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-meta--inline .cxzzt-lottery-meta__label {
        font-size: 10px !important;
        text-align: center !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-meta--inline .cxzzt-lottery-meta__value {
        font-size: 13px !important;
        text-align: center !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    /* 战绩卡 */
    body.cxzzt-lottery-screen .cxzzt-lottery-panel--stats {
        padding: 14px !important;
        border-radius: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-stats__grid {
        gap: 8px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-stats__item strong {
        font-size: 18px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-stats__label {
        font-size: 10px !important;
    }

    /* 签到卡 */
    body.cxzzt-lottery-screen .cxzzt-checkin-card {
        padding: 14px !important;
        border-radius: 16px !important;
        gap: 10px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-card__btn {
        min-height: 32px !important;
        padding: 0 14px !important;
        font-size: 12px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-streak {
        gap: 4px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-streak__day {
        padding: 8px 2px !important;
        gap: 2px !important;
        border-radius: 10px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-streak__icon {
        font-size: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-streak__num {
        font-size: 9px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-streak__pts {
        font-size: 10px !important;
    }

    /* 奖池/规则双 panel：单列 ──
       注意 lottery-page.css @media(max-width:640px) 内对
       .cxzzt-lottery-panel--rules / --activity 强制 grid-column: span 12
       会撑开 panels--pool 容器为 12 列 implicit grid，需要重置为 auto。 */
    body.cxzzt-lottery-screen .cxzzt-lottery-panels--pool {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-panels--pool .cxzzt-lottery-panel--pool,
    body.cxzzt-lottery-screen .cxzzt-lottery-panels--pool .cxzzt-lottery-panel--rules {
        grid-column: auto !important;
        padding: 16px !important;
        border-radius: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-panel__title {
        font-size: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-pool__list {
        gap: 6px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-pool__item {
        padding: 8px 10px !important;
        gap: 8px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-pool__icon {
        width: 36px !important;
        height: 36px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-pool__label {
        font-size: 13px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-pool__prob {
        font-size: 12px !important;
    }
}

/* ── ≤480px：小手机进一步紧凑（不再变 1 列） ── */
@media (max-width: 480px) {
    body.cxzzt-lottery-screen .cxzzt-lottery-hero__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero:not(.cxzzt-lottery-hero--extended) .cxzzt-lottery-hero__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat {
        padding: 10px 8px 8px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat::after {
        width: 26px !important;
        height: 26px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat strong {
        font-size: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-hero__stat-label {
        font-size: 10px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-wheel {
        width: min(100%, 340px) !important;
    }

    /* 小手机灯珠/指针进一步缩小 */
    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__light {
        width: 7px !important;
        height: 7px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer {
        width: 18px !important;
        height: 36px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer::before {
        width: 12px !important;
        height: 16px !important;
        border-radius: 6px 6px 0 0 !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-wheel__pointer::after {
        top: 16px !important;
        border-left-width: 6px !important;
        border-right-width: 6px !important;
        border-top-width: 18px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-meta--inline .cxzzt-lottery-meta__value {
        font-size: 12px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-meta--inline .cxzzt-lottery-meta__label {
        font-size: 9px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-stats__item strong {
        font-size: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-lottery-panel--stats {
        padding: 12px !important;
    }
}

/* ── 打卡 Tab 系统：≤767px 适配 ──
   原设计是横滚单行（flex nowrap），导致后面的 tab 看不见；
   移动端改为 grid 多行布局，9 个 tab 排成 3 列 3 行，全部可见。 */
@media (max-width: 767px) {
    body.cxzzt-lottery-screen .cxzzt-checkin-tabs {
        margin-top: 16px !important;
        border-radius: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-tabs__nav {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
        padding: 8px !important;
        overflow-x: visible !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-tabs__btn {
        flex: none !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        min-height: 34px;
        padding: 6px 4px !important;
        font-size: 11px !important;
        border-radius: 8px !important;
        white-space: normal !important;
        text-align: center;
        line-height: 1.25;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-tabs__body {
        padding: 14px !important;
        height: auto !important;
        max-height: 70vh;
    }

    /* 用户摘要卡（总打卡天数 / 连续 / Lv） */
    body.cxzzt-lottery-screen .cxzzt-checkin-user-summary {
        gap: 16px !important;
        padding: 12px !important;
        margin-bottom: 14px;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-user-summary__item strong {
        font-size: 18px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-user-summary__item span {
        font-size: 10px !important;
    }

    /* 日历：lottery-page.css:5289 用 aspect-ratio:1 让单元格变方形（宽=高），
       7 列等分宽 → 单元格巨大。移动端取消 aspect-ratio，改为固定高度。 */
    body.cxzzt-lottery-screen .cxzzt-checkin-calendar__head {
        gap: 1px !important;
        margin-bottom: 2px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-calendar__body {
        gap: 2px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-calendar__head span {
        font-size: 10px !important;
        padding: 2px 0 !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-calendar__body span {
        aspect-ratio: auto !important;
        min-height: 0 !important;
        height: 36px !important;
        padding: 0 !important;
        font-size: 12px !important;
        border-radius: 6px !important;
    }

    /* 排行榜 */
    body.cxzzt-lottery-screen .cxzzt-checkin-board__row {
        gap: 8px !important;
        padding: 6px 8px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-board__avatar {
        width: 24px !important;
        height: 24px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-board__name {
        font-size: 12px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-board__days {
        font-size: 11px !important;
    }

    /* 通用表格 */
    body.cxzzt-lottery-screen .cxzzt-checkin-table {
        font-size: 11px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-table thead th,
    body.cxzzt-lottery-screen .cxzzt-checkin-table tbody td {
        padding: 6px 8px !important;
    }

    /* 打卡规则 tab：左右双列在 lottery-page.css:6162 已变成单列，
       这里只调字号/间距让在小屏紧凑可读 */
    body.cxzzt-lottery-screen .cxzzt-checkin-rules-row {
        gap: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-rules-content h4 {
        font-size: 13px !important;
        margin: 0 0 8px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-rules-content h4 + h4 {
        margin-top: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-rules-list {
        margin: 0 0 12px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-rules-list li {
        padding: 4px 0 4px 16px !important;
        font-size: 12px !important;
        line-height: 1.55;
    }

    /* 全勤奖励 / 等级 tab 也用类似的结构（attendance/level）, 一并调字号 */
    body.cxzzt-lottery-screen .cxzzt-checkin-attendance__rules li {
        font-size: 12px !important;
        padding: 4px 0 !important;
    }
}

/* ── 打卡 Tab 系统：≤480px 进一步紧凑 ── */
@media (max-width: 480px) {
    body.cxzzt-lottery-screen .cxzzt-checkin-tabs__btn {
        padding: 7px 10px !important;
        font-size: 11px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-tabs__body {
        padding: 12px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-user-summary {
        gap: 12px !important;
        padding: 10px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-user-summary__item strong {
        font-size: 16px !important;
    }

    body.cxzzt-lottery-screen .cxzzt-checkin-calendar__body span {
        height: 30px !important;
        font-size: 11px !important;
    }
}

/* ═══════════════════════════════════════════════════
   11. 暗色模式补充：sidenav / modal
   （原暗色块只覆盖了 sidenav__item 字色，这里补容器与子组件）
   ═══════════════════════════════════════════════════ */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-sidenav,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-sidenav {
    background:
        linear-gradient(165deg, rgba(20, 30, 52, 0.78) 0%, rgba(10, 18, 36, 0.62) 100%);
    border-color: rgba(130, 170, 255, 0.18);
    box-shadow:
        0 18px 48px -18px rgba(0, 0, 0, 0.55),
        0 4px 14px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-sidenav__item .fa,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-sidenav__item .fa {
    background: rgba(130, 170, 255, 0.1);
    color: rgba(214, 226, 255, 0.78);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-sidenav__item:hover,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-sidenav__item:hover {
    background: rgba(255, 184, 0, 0.16);
    color: #ffe7a8;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-sidenav__item:hover .fa,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-sidenav__item:hover .fa {
    background: rgba(255, 184, 0, 0.24);
    color: #FFB800;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-sidenav__item.is-active,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-sidenav__item.is-active {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.22) 0%, rgba(255, 184, 0, 0.08) 100%);
    color: #ffffff;
    box-shadow:
        0 8px 22px -8px rgba(255, 184, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* 弹窗 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__panel,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__panel {
    background: linear-gradient(180deg, #182234 0%, #0f1a2e 100%);
    border-color: rgba(130, 170, 255, 0.16);
    box-shadow:
        0 30px 80px -20px rgba(0, 0, 0, 0.7),
        0 6px 18px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__head,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__head {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.16) 0%, rgba(255, 184, 0, 0.04) 35%, rgba(255, 255, 255, 0) 80%);
    border-bottom-color: rgba(130, 170, 255, 0.14);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__title,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__title {
    color: #f6f8ff;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__close,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__close {
    background: rgba(130, 170, 255, 0.1);
    color: rgba(214, 226, 255, 0.78);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__close:hover,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__close:hover {
    background: rgba(255, 184, 0, 0.18);
    color: #FFB800;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__body,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__body {
    color: rgba(214, 226, 255, 0.82);
}

/* summary / achv / invite / faq 子组件 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__summary,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__summary {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.14) 0%, rgba(10, 18, 36, 0.4) 100%);
    border-color: rgba(255, 184, 0, 0.22);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__sumitem strong,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__achv strong,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__sumitem strong,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__achv strong {
    color: #f6f8ff;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__sumlabel,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__achv-label,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__sumlabel,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__achv-label {
    color: rgba(202, 215, 245, 0.7);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__achv,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__achv {
    background: linear-gradient(160deg, rgba(20, 30, 52, 0.7) 0%, rgba(10, 18, 36, 0.5) 100%);
    border-color: rgba(130, 170, 255, 0.16);
}

/* 九宫格卡片 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-prize-card,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-prize-card {
    background: linear-gradient(160deg, rgba(20, 30, 52, 0.7) 0%, rgba(10, 18, 36, 0.5) 100%);
    border-color: rgba(130, 170, 255, 0.16);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-prize-card.is-win,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-prize-card.is-win {
    background: linear-gradient(160deg, rgba(255, 184, 0, 0.18) 0%, rgba(10, 18, 36, 0.4) 100%);
    border-color: rgba(255, 184, 0, 0.32);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-prize-card.is-lose,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-prize-card.is-lose {
    background: linear-gradient(160deg, rgba(20, 30, 52, 0.55) 0%, rgba(10, 18, 36, 0.4) 100%);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-prize-card__name,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-prize-card__name {
    color: #f6f8ff;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-prize-card.is-lose .cxzzt-prize-card__name,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-prize-card.is-lose .cxzzt-prize-card__name {
    color: rgba(214, 226, 255, 0.65);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-prize-card__time,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-prize-card__time {
    color: rgba(202, 215, 245, 0.62);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-prize-card.is-lose .cxzzt-prize-card__icon,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-prize-card.is-lose .cxzzt-prize-card__icon {
    background: rgba(139, 92, 246, 0.18);
    color: #c4b5fd;
}

/* 邀请输入框 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__invite input,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__invite input {
    background: rgba(10, 18, 36, 0.6);
    border-color: rgba(130, 170, 255, 0.18);
    color: #f6f8ff;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__invite input:focus,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__invite input:focus {
    background: rgba(20, 30, 52, 0.8);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__invite-code,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__invite-code {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.14) 0%, rgba(255, 184, 0, 0.05) 100%);
    border-color: rgba(255, 184, 0, 0.32);
    color: #ffd166;
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__invite-code strong,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__invite-code strong {
    color: #ffe7a8;
}

/* 邀请描述/FAQ 文本色 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__desc,
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__faq p,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__desc,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__faq p {
    color: rgba(214, 226, 255, 0.78);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__faq details,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__faq details {
    background: rgba(10, 18, 36, 0.5);
    border-color: rgba(130, 170, 255, 0.14);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__faq details[open],
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__faq details[open] {
    background: rgba(20, 30, 52, 0.7);
    border-color: rgba(255, 184, 0, 0.32);
}

:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__faq summary,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__faq summary {
    color: #f6f8ff;
}

/* 空状态 */
:is(body.dark-theme, body.theme-dark).cxzzt-lottery-screen .cxzzt-lottery-modal__empty .fa,
:is(html.dark, html.theme-dark) body.cxzzt-lottery-screen .cxzzt-lottery-modal__empty .fa {
    background: linear-gradient(135deg, rgba(130, 170, 255, 0.1) 0%, rgba(10, 18, 36, 0.5) 100%);
    color: rgba(202, 215, 245, 0.42);
}

/* ==========================================
   2026-05-03 取消抽奖页所有加粗设计（按用户要求）
   覆盖范围：抽奖主页容器、弹窗、签到模块、奖品卡等
   不影响：站点头部菜单、页脚等公共区域
   恢复方式：删除以下整段即可
   ========================================== */
[class*="cxzzt-lottery-"],
[class*="cxzzt-lottery-"] *,
[class*="cxzzt-checkin-"],
[class*="cxzzt-checkin-"] *,
[class*="cxzzt-prize-card"],
[class*="cxzzt-prize-card"] * {
    font-weight: 400 !important;
}
