/* ============================================================
   活动直播板块(v21):导航项 / 列表页 / 播放页 / 讨论区
   ============================================================ */
/* --- 导航入口(活动直播,带红点) --- */
.qnav a.qn-live{display:inline-flex;align-items:center;gap:6px}
.qnav a.qn-live .qn-live-dot{width:7px;height:7px;border-radius:50%;background:#ff4757;box-shadow:0 0 0 0 rgba(255,71,87,.6);animation:qnlive 1.6s infinite}
@keyframes qnlive{0%{box-shadow:0 0 0 0 rgba(255,71,87,.55)}70%{box-shadow:0 0 0 7px rgba(255,71,87,0)}100%{box-shadow:0 0 0 0 rgba(255,71,87,0)}}

/* --- 列表页横幅 --- */
.lv-head{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:14px 0 22px;padding:26px 30px;border-radius:16px;color:#fff;background:linear-gradient(120deg,#0a0f1c 0%,#1a1035 55%,#3a0d24 100%);box-shadow:0 12px 30px rgba(10,8,30,.25)}
.lv-head::after{content:"";position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,59,92,.35),transparent 65%);pointer-events:none}
.lv-head::before{content:"";position:absolute;left:18%;bottom:-70px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(92,107,255,.3),transparent 65%);pointer-events:none}
.lv-head-tt{position:relative;z-index:1;font-family:var(--font-title);font-size:34px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;gap:12px}
.lv-head-tt em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:5px;color:#ffb3c0;border:1px solid rgba(255,179,192,.5);padding:3px 9px 3px 12px;border-radius:999px;opacity:.9}
.lv-head-sub{position:relative;z-index:1;font-size:13px;color:rgba(255,255,255,.75)}
.lv-head-sub b{color:#ff8fa0;font-weight:700}
.lv-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff4757;box-shadow:0 0 0 0 rgba(255,71,87,.5);animation:qnlive 1.6s infinite;margin-right:9px}
.lv-dot-blue{background:#3b82f6;animation:none;box-shadow:none}
.lv-dot-gray{background:#9aa3b2;animation:none;box-shadow:none}
@media (max-width:768px){.lv-head{flex-direction:column;align-items:flex-start;padding:20px}.lv-head-tt{font-size:26px}}

/* --- 列表分区 --- */
.lv-sec{margin-bottom:30px}
.lv-sec-h{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;color:var(--ink);margin:0 0 16px;padding-left:2px}
.lv-sec-h .lv-dot{margin-right:0}
.lv-sec-cnt{font-style:normal;font-size:12.5px;color:var(--text-3);font-weight:400;margin-left:auto}
.lv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1280px){.lv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:992px){.lv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.lv-grid{grid-template-columns:1fr}}
.lv-empty{padding:50px 0;text-align:center;color:var(--text-3);background:var(--card);border-radius:var(--radius);border:1px dashed #d8dee8}

/* --- 直播卡片 --- */
.lv-card{background:var(--card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.lv-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.lv-card-now{outline:1px solid rgba(255,71,87,.5)}
.lv-card-bd{display:block}
.lv-thumb{position:relative;display:block;aspect-ratio:16/9.4;background:linear-gradient(135deg,#141b2e,#232a4a 60%,#3a2440);overflow:hidden}
.lv-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.lv-card:hover .lv-thumb img{transform:scale(1.05)}
.lv-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;letter-spacing:4px;color:rgba(255,255,255,.35);font-family:var(--font-title)}
.lv-flag{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:center;gap:5px;font-style:normal;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(90deg,#ff4757,#ff6b81);padding:3px 9px;border-radius:999px;letter-spacing:.5px}
.lv-flag-dot{width:5px;height:5px;border-radius:50%;background:#fff;animation:qnlive 1.4s infinite}
.lv-flag-blue{background:rgba(59,130,246,.9)}
.lv-play-ico{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(8,16,25,.55);color:#fff;font-size:15px;padding-left:3px;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(3px);opacity:0;transition:opacity .25s}
.lv-card:hover .lv-play-ico{opacity:1}
.lv-card-info{display:block;padding:13px 15px 15px}
.lv-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;font-weight:600;color:var(--ink);line-height:1.5;min-height:48px}
.lv-card:hover .lv-t{color:var(--brand)}
.lv-desc{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;color:var(--text-2);margin-top:6px;line-height:1.6}
.lv-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-3);margin-top:9px}
.lv-meta i{font-style:normal}
.lv-more-wrap{text-align:center;margin-top:20px}
.lv-more{display:inline-block;padding:9px 30px;border-radius:999px;border:1px solid #d5dbe5;background:#fff;color:#2b3648;font-size:14px;cursor:pointer;transition:all .2s}
.lv-more:hover{border-color:var(--brand);color:var(--brand);box-shadow:0 6px 14px rgba(0,123,255,.12)}

/* --- 播放页 --- */
.lvp{position:relative}
.lvp-stage{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:0;overflow:hidden;box-shadow:0 16px 44px rgba(5,10,25,.35)}
.lvp-stage video{position:absolute;inset:0;width:100%;height:100%;background:#000}
.lvp-mask{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lvp-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.lvp-mask-bd{position:relative;z-index:2;text-align:center;color:#fff;padding:0 20px}
.lvp-state{font-size:26px;font-weight:800;letter-spacing:2px;text-shadow:0 2px 14px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;gap:10px}
.lvp-live .lvp-state::before{content:"";width:10px;height:10px;border-radius:50%;background:#ff4757;animation:qnlive 1.4s infinite}
.lvp-sub{margin-top:8px;font-size:13.5px;color:rgba(255,255,255,.8);text-shadow:0 1px 8px rgba(0,0,0,.5)}
.lvp-btn{margin-top:18px;display:inline-flex;align-items:center;gap:8px;padding:11px 30px;border:0;border-radius:999px;background:linear-gradient(90deg,#ff4757,#ff6b81);color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(255,71,87,.4);transition:transform .15s}
.lvp-btn:hover{transform:translateY(-2px) scale(1.02)}
.lvp-err{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;background:rgba(15,20,35,.92);color:#fff;font-size:14px;padding:16px 22px;border-radius:12px;text-align:center;max-width:80%}
.lvp-err button{margin-top:10px;display:block;margin-left:auto;margin-right:auto;background:linear-gradient(90deg,#3b82f6,#2563eb);border:0;color:#fff;padding:7px 18px;border-radius:8px;cursor:pointer}
.lvp-info{padding:18px 4px 4px}
.lvp-t{font-size:22px;font-weight:700;color:var(--ink);line-height:1.45;margin:0}
.lvp-meta{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:12.5px;color:var(--text-3)}
.lvp-tag{font-style:normal;font-size:13.5px;font-weight:700;padding:3px 13px;border-radius:999px;color:#fff}
.lvp-tag-0{background:#3b82f6}
.lvp-tag-1{background:#ff4757}
.lvp-tag-2{background:#7a8598}
.lvp-desc{margin-top:12px;font-size:14px;color:var(--text-2);line-height:1.85;background:#f7f9fc;border-left:3px solid var(--brand);padding:10px 16px;border-radius:0 8px 8px 0}
.lvp-cols{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;margin-top:20px;align-items:start}
.lvp-main{min-width:0}
@media (max-width:1080px){.lvp-cols{grid-template-columns:1fr}}
.lvp-related{margin-top:34px}
.lvp-sec-h{font-size:18px;font-weight:700;color:var(--ink);border-left:4px solid var(--brand);padding-left:10px;margin:0 0 16px}
@media (max-width:768px){.lvp-state{font-size:20px}.lvp-t{font-size:18px}}

/* --- 讨论区 --- */
.lc{margin-top:30px;background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:22px 24px}
.lc-bar{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}
.lc-tt{font-size:17px;font-weight:700;color:var(--ink);padding-left:11px;position:relative}
.lc-tt::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:2px;background:linear-gradient(180deg,#ff4757,#2563eb)}
.lc-hint{font-size:12px;color:var(--text-3)}
.lc-tip{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:13px 16px;border-radius:10px;background:linear-gradient(120deg,#eef3ff,#fdf0f3);border:1px dashed #b9c8f0;font-size:13.5px;color:#33415c;margin-bottom:14px}
.lc-tip-lk{color:#fff;background:linear-gradient(90deg,#3b82f6,#2563eb);padding:5px 16px;border-radius:999px;font-size:12.5px;font-weight:600}
.lc-tip-lk:hover{color:#fff;opacity:.92}
.lc-write{margin-bottom:16px}
.lc-write textarea{width:100%;border:1px solid #dde3ec;border-radius:10px;padding:11px 13px;font-size:14px;line-height:1.7;resize:vertical;font-family:inherit;background:#fafbfd;transition:all .2s;box-sizing:border-box}
.lc-write textarea:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(0,123,255,.12)}
.lc-write-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:8px}
.lc-count{font-size:12px;color:var(--text-3)}
.lc-submit{border:0;background:linear-gradient(90deg,#3b82f6,#2563eb);color:#fff;font-size:13.5px;font-weight:600;padding:8px 22px;border-radius:8px;cursor:pointer;transition:opacity .15s}
.lc-submit:hover{opacity:.9}
.lc-list{display:flex;flex-direction:column}
.lc-it{display:flex;gap:11px;padding:13px 2px;border-bottom:1px solid #f0f2f6}
.lc-it:last-child{border-bottom:0}
.lc-av,.lc-av-fb{flex:none;width:38px;height:38px;border-radius:50%;object-fit:cover}
.lc-av-fb{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-size:15px;font-weight:700}
.lc-bd{flex:1;min-width:0}
.lc-meta{display:flex;align-items:center;gap:8px;font-size:13px}
.lc-meta b{color:#233043;font-weight:600}
.lc-lv{font-style:normal;font-size:10.5px;color:#fff;background:linear-gradient(90deg,#f59e0b,#f97316);padding:1px 7px;border-radius:999px}
.lc-meta time{color:var(--text-3);font-size:12px}
.lc-ct{margin-top:5px;font-size:14.5px;line-height:1.75;color:#2b3648;word-break:break-word}
.lc-ops{margin-top:6px}
.lc-like{border:1px solid #e2e6ee;background:#fff;border-radius:999px;font-size:12px;color:#5a6780;padding:3px 12px;cursor:pointer;transition:all .15s}
.lc-like:hover{border-color:#ff8fa0;color:#ff4757}
.lc-like.on{background:linear-gradient(90deg,#ff4757,#ff6b81);border-color:transparent;color:#fff}
.lc-more{display:block;margin:16px auto 0;padding:7px 26px;border-radius:999px;border:1px solid #d5dbe5;background:#fff;color:#55617a;font-size:13px;cursor:pointer}
.lc-more:hover{border-color:var(--brand);color:var(--brand)}
.lc-empty{padding:30px 0 16px;text-align:center;color:var(--text-3);font-size:13.5px}

/* ===== v3 预告倒计时(距直播开始,归零自动切正在直播) ===== */
.lvp-cd{margin-top:16px}
.lvp-cd-cells{display:flex;align-items:stretch;justify-content:center;gap:6px}
.cd-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;padding:7px 6px 5px;background:rgba(8,14,30,.55);border:1px solid rgba(255,255,255,.16);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cd-cell b{font-size:46px;line-height:1.05;font-weight:900;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:1px;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.cd-cell em{font-style:normal;font-size:11px;letter-spacing:2px;color:rgba(255,255,255,.72);margin-top:2px}
.cd-colon{align-self:center;font-size:30px;font-weight:700;color:rgba(255,255,255,.85);padding:0 1px;animation:cdColon 1s ease-in-out infinite;font-style:normal}
@keyframes cdColon{0%,100%{opacity:1}50%{opacity:.25}}
.lvp-cd-note{margin-top:10px;font-size:13px;letter-spacing:5px;color:#ffd166;text-shadow:0 1px 10px rgba(0,0,0,.6);font-weight:600}
/* 倒计时期间状态点:预告也带呼吸蓝点 */
.lvp-tag-0.lvp-tag{padding-left:13px;position:relative}
.lvp-tag-0.lvp-tag::before{content:"";position:absolute;left:6px;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;transform:translateY(-50%);opacity:.9}
@media (max-width:768px){
  .cd-cell{min-width:46px;padding:5px 4px 4px;border-radius:9px}
  .cd-cell b{font-size:32px}
  .cd-cell em{font-size:10px}
  .cd-colon{font-size:22px}
  .lvp-cd-note{letter-spacing:3px;font-size:12px}
}
@media (max-width:420px){
  .cd-cell{min-width:40px}
  .cd-cell b{font-size:26px}
}

/* 17:52 播放器右上角 驱动中国 logo 角标(白版半透明,带细投影,深色/亮画面均协调) */
.lvp-brand{position:absolute;top:12px;right:12px;z-index:6;pointer-events:none;line-height:0;opacity:.92}
.lvp-brand img{height:45px;width:auto;display:block;filter:drop-shadow(0 1px 4px rgba(0,0,0,.55))}
@media (max-width:768px){.lvp-brand{top:8px;right:8px}.lvp-brand img{height:17px}}

/* ===== v4 评论开关:评论已关闭卡片 ===== */
.lc-off{margin-bottom:16px;padding:34px 20px;border-radius:14px;text-align:center;background:linear-gradient(180deg,#fbfcfe,#f3f5f9);border:1.5px dashed #dfe4ec}
.lc-off-ic{width:58px;height:58px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef1f6;color:#9aa4b2;box-shadow:inset 0 0 0 1px #e2e7ef}
.lc-off-ic svg{width:26px;height:26px}
.lc-off-tt{font-size:16px;font-weight:700;color:#5b6472;letter-spacing:1px}
.lc-off-sub{margin-top:7px;font-size:12.5px;color:#a2abb9;line-height:1.7}
.lc-off-sub::after{content:"🔒";margin-left:6px;font-size:11px;opacity:.85;vertical-align:1px}
@media (max-width:768px){.lc-off{padding:26px 16px}.lc-off-tt{font-size:15px}}

/* --- 观看次数徽标(2026-09-03 重设计:SVG 眼睛 + 万级缩写,替代 👁 emoji) --- */
.lv-views{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-weight:600;color:#f43f5e}
.lv-views svg{color:inherit;flex:none}
.lvp-views{display:inline-flex;align-items:center;gap:5px;font-style:normal;background:linear-gradient(135deg,rgba(255,71,87,.1),rgba(255,71,87,.04));border:1px solid rgba(255,71,87,.22);color:#e11d48;padding:3px 12px 3px 9px;border-radius:999px;font-weight:600}
.lvp-views svg{color:inherit;flex:none}
.lvp-views b{font-weight:700;font-size:13px;letter-spacing:.2px}
.lvp-views em{font-style:normal;font-weight:400;color:#b0898f;margin-left:1px}
.lv-card:hover .lv-views{color:#e11d48}

/* --- 直播状态 + 时间徽标配套(2026-09-03 与观看徽章统一风格) --- */
.lvp-tag{display:inline-flex;align-items:center;gap:6px;padding-left:13px!important;position:relative}
.lvp-tag::before{content:"";position:absolute;left:6px;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;transform:translateY(-50%);opacity:.92;box-shadow:0 0 0 0 rgba(255,255,255,.4)}
.lvp-tag-0{background:linear-gradient(90deg,#3b82f6,#60a5fa)}
.lvp-tag-0::before{animation:qnlive 1.8s infinite}
.lvp-tag-1{background:linear-gradient(90deg,#ff4757,#ff6b81)}
.lvp-tag-1::before{animation:qnlive 1.3s infinite}
.lvp-tag-2{background:linear-gradient(90deg,#7a8598,#98a3b2)}
.lvp-tag-2::before{animation:none;opacity:.75}
.lvp-time{display:inline-flex;align-items:center;gap:5px;font-style:normal;background:#f2f5fa;border:1px solid #e4e9f1;color:#5a6a82;padding:4px 10px 4px 8px;border-radius:999px;font-size:11.5px;font-variant-numeric:tabular-nums}
.lvp-time svg{color:#7e8ea8;flex:none}
.lvp-time em{font-style:normal;font-size:10.5px;color:#a2acbc;margin-left:1px;font-weight:500}
.lvp-time-end{background:#fdf3f3;border-color:#f6dddd;color:#b5545e}
.lvp-time-end svg{color:#cf8a90}
.lvp-time-end em{color:#c08a90}
@media (max-width:768px){.lvp-time{gap:4px;padding:3px 8px 3px 7px;font-size:11px}}

/* 活动直播菜单已用红色直播点(qn-live-dot),禁用通用前置圆点避免双点 */
.qnav a.qn-live::before{display:none}
