/* hv-dark.css - 帖子页暗色模式（抽离自 viewthread.htm，选择器加 html 前缀提升优先级） */
/* 加载方式：<link media> 三态控制 auto/dark/light；仅桌面端使用 */

:root {
    --hv-primary: #3a6ba5;
    --hv-primary-dark: #2A5283;
    --hv-primary-light: #4a7ab5;
    --hv-primary-bg: rgba(58,107,165,.12);
    --hv-primary-border: rgba(58,107,165,.3);
    --hv-accent: #DBC56E;
    --hv-accent-light: #E8D680;
    --hv-accent-dark: #C9A84C;
    --hv-accent-bg: rgba(219,197,110,.1);
    --hv-accent-border: rgba(219,197,110,.25);
    --hv-bg-page: #0D1B2A;
    --hv-bg-card: #162234;
    --hv-bg-hover: #1a2940;
    --hv-bg-dark: #0D1B2A;
    --hv-text-primary: #E5EAF1;
    --hv-text-muted: #94A3B8;
    --hv-text-light: #64748B;
    --hv-text-title: #D5DCE8;
    --hv-text-body: #B0BAC8;
    --hv-border: #243449;
    --hv-border-light: #1C2B3F;
    --hv-shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px rgba(0,0,0,.2);
    --hv-shadow-md: 0 4px 12px rgba(0,0,0,.3), 0 8px 28px rgba(0,0,0,.2);
    --hv-shadow-lg: 0 8px 24px rgba(0,0,0,.4), 0 16px 48px rgba(0,0,0,.3);
    --hv-glass-bg: rgba(22,34,52,.72);
    --hv-grad-card: linear-gradient(135deg, var(--hv-bg-card) 0%, rgba(58,107,165,.04) 100%);
    /* 气泡变量暗色重定义（击败模板后出的 :root 浅色重定义） */
    --hv-bubble-bg: rgba(255,255,255,.06);
    --hv-bubble-border: #243449;
    --hv-bubble-shadow: 0 1px 2px rgba(0,0,0,.25);
    --hv-bubble-shadow-hover: 0 2px 10px rgba(0,0,0,.35);
    --hv-bubble-admin-bg: linear-gradient(135deg, rgba(201,168,76,.16) 0%, rgba(201,168,76,.06) 50%, rgba(255,255,255,.04) 100%);
    --hv-bubble-admin-border: rgba(201,168,76,.35);
    --hv-bubble-admin-shadow: 0 2px 10px rgba(0,0,0,.3);
    --hv-bubble-op-bg: linear-gradient(135deg, rgba(201,168,76,.10) 0%, rgba(201,168,76,.03) 100%);
    --hv-bubble-op-border: rgba(201,168,76,.3);
  }
  body { background: var(--hv-bg-page); }
  html .hv-thread-hero-bg {
    background: linear-gradient(135deg, #0D1B2A 0%, #162234 30%, #1B3A5F 60%, #2A5283 100%) !important;
  }
  .hv-sticky-bar { background: rgba(22,34,52,.95) !important; }
  .hv-mobile-tabbar { background: rgba(22,34,52,.95) !important; }
  /* 暗色模式：页面背景渐变适配 */
  html .hv-page, html .hv-portal {
    background: radial-gradient(ellipse 800px 400px at 50% -10%, rgba(58,107,165,.08) 0%, transparent 55%),
                radial-gradient(ellipse 600px 350px at 100% 0%, rgba(219,197,110,.04) 0%, transparent 45%),
                radial-gradient(ellipse 500px 300px at -5% 100%, rgba(58,107,165,.03) 0%, transparent 50%),
                var(--hv-bg-page) !important;
  }
  /* 暗色模式：帖子卡顶部渐变条适配 */
  html .hv-post-card::before {
    background: linear-gradient(90deg, var(--hv-primary-light), var(--hv-primary), transparent);
  }
  html .hv-post-card.op::before {
    background: linear-gradient(90deg, var(--hv-accent-light), var(--hv-accent), transparent);
  }
  /* 暗色模式：引用块适配 */
  html .hv-post-body blockquote {
    background: linear-gradient(135deg, rgba(58,107,165,.10) 0%, rgba(58,107,165,.04) 100%);
    border-left-color: var(--hv-accent);
    color: var(--hv-text-body);
    box-shadow: 0 1px 3px rgba(0,0,0,.15), 0 2px 8px rgba(0,0,0,.08);
  }
  .hv-post-body blockquote::before { color: var(--hv-accent-light); opacity: .12; }
  .hv-quote-header { border-bottom-color: rgba(219,197,110,.15); }
  /* 暗色模式：代码块适配 */
  html .hv-post-body pre {
    background: linear-gradient(180deg, #0a1628 0%, #060d18 100%);
    border-color: rgba(255,255,255,.04);
  }
  html .hv-post-body code {
    background: rgba(58,107,165,.1);
    border-color: rgba(58,107,165,.15);
    color: var(--hv-primary-light);
  }
  /* 暗色模式：行内代码适配 */
  .hv-post-body img { background: linear-gradient(135deg, #1a2940 0%, #243449 100%); }
  /* 暗色模式：分隔线适配 */
  html .hv-post-body hr {
    background: linear-gradient(90deg, transparent, var(--hv-border), var(--hv-primary-border), var(--hv-border), transparent);
  }
  /* 暗色模式：侧边栏装饰线适配 */
  html .hv-side-card::after {
    background: linear-gradient(90deg, var(--hv-primary-light), var(--hv-accent-light), transparent);
  }
  html .hv-side-metric:hover {
    background: linear-gradient(135deg, rgba(219,197,110,.06) 0%, rgba(58,107,165,.03) 100%);
    border-color: var(--hv-accent-border);
  }
  .hv-side-list li:hover { background: rgba(58,107,165,.08); }
  .hv-side-row + .hv-side-row { border-top-color: var(--hv-border); }
  /* 暗色模式：上下帖导航适配 */
  .hv-post-nav-item { background: linear-gradient(135deg, var(--hv-bg-card) 0%, rgba(58,107,165,.03) 100%); }
  .hv-post-nav-item:hover { border-color: var(--hv-primary-border); }
  /* 暗色模式：吸顶栏光晕适配 */
  html .hv-sticky-bar {
    border-bottom-color: transparent;
    border-image: linear-gradient(90deg, transparent, rgba(58,107,165,.2), rgba(219,197,110,.15), transparent) 1;
  }
  /* 暗色模式：帖子底部操作区分隔线适配 */
  html .hv-post-foot::before {
    background: linear-gradient(90deg, transparent, var(--hv-border), transparent);
  }
  .hv-post-action::after { background: rgba(58,107,165,.08); }
  /* 暗色模式：合规提示图标适配 */
  .hv-compliance-tip::before { opacity: .4; }
  /* 暗色模式：操作栏适配 */
  html .hv-post-card.op .hv-reply-btn {
    background: linear-gradient(135deg, var(--hv-accent-dark), var(--hv-accent)) !important;
    box-shadow: 0 2px 8px rgba(201,168,76,.2);
  }
  html .hv-post-card.op .hv-reply-btn:hover {
    background: linear-gradient(135deg, var(--hv-accent), var(--hv-accent-light)) !important;
    box-shadow: 0 4px 14px rgba(201,168,76,.3);
  }
  html .hv-post-card.op .hv-recommend-btn {
    color: var(--hv-primary-light);
    background: rgba(58,107,165,.1);
    border-color: rgba(58,107,165,.2);
  }
  html .hv-post-card.op .hv-recommend-btn:hover {
    background: var(--hv-primary);
    color: #fff;
  }
  html .hv-post-card.op .hv-post-floor-num {
    background: rgba(255,255,255,.04);
    color: var(--hv-text-light);
  }
  html .hv-post-card.op .hv-post-floor-num:hover {
    background: rgba(58,107,165,.12);
    color: var(--hv-primary-light);
  }
  /* 暗色模式：视觉层次适配 */
  html .hv-post-card.op::after {
    background: linear-gradient(180deg, var(--hv-accent-light), var(--hv-accent), transparent);
  }
  html .hv-post-card:not(.op):not(.hv-nested-reply) {
    background: var(--hv-bg-card) !important;
    border-color: var(--hv-border) !important;
  }
  html .hv-post-card:not(.op):not(.hv-nested-reply):hover {
    background: var(--hv-bg-card) !important;
    border-color: var(--hv-primary-border) !important;
  }
  /* 暗色模式：交互区域适配 */
  html .hv-reply-form-container.hv-bottom-form .hv-reply-form-inner {
    border-color: var(--hv-border);
    box-shadow: 0 2px 8px rgba(0,0,0,.2), 0 4px 16px rgba(0,0,0,.15);
  }
  html .hv-reply-form-container.hv-bottom-form:focus-within .hv-reply-form-inner {
    border-color: var(--hv-accent-border);
    box-shadow: 0 4px 16px rgba(0,0,0,.25), 0 0 0 3px rgba(219,197,110,.08), 0 0 32px rgba(219,197,110,.06);
  }
  html .hv-floor-nav-btn.hv-floor-current {
    background: linear-gradient(135deg, rgba(58,107,165,.1) 0%, rgba(219,197,110,.04) 100%);
    border-color: rgba(58,107,165,.25);
  }
  html .hv-floor-nav-btn.hv-floor-current .hv-floor-nav-num {
    color: var(--hv-accent-light);
  }
  /* 暗色模式：工具栏降级适配 */
  html .hv-thread-toolbar {
    background: linear-gradient(135deg, rgba(22,34,52,.7) 0%, rgba(58,107,165,.02) 100%);
  }
  .hv-toolbar-group { background: rgba(255,255,255,.04); }
  .hv-toolbar-group:hover { background: rgba(255,255,255,.07); }
  .hv-floor-jump { background: rgba(255,255,255,.04); }
  .hv-floor-jump:focus-within { background: rgba(255,255,255,.07); }

html .hv-post-card.op .hv-post-stats {
    background: linear-gradient(135deg, #1a2940 0%, #243449 50%, #1a2940 100%) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.3) !important;
  }
  html .hv-side-title {
    background: linear-gradient(135deg, rgba(58,107,165,.08) 0%, rgba(219,197,110,.03) 100%);
    border-bottom-color: var(--hv-border);
  }
  html .hv-side-card:hover .hv-side-title {
    background: linear-gradient(135deg, rgba(58,107,165,.12) 0%, rgba(219,197,110,.06) 100%);
  }
  html .hv-post-card:not(.op) .hv-post-head {
    border-bottom-color: var(--hv-border);
  }
  html .hv-post-card:not(.op) .hv-post-avatar img {
    border-color: var(--hv-border);
  }

/* ===== 暗色模式：Followme 极简覆盖层对应暗色规则 ===== */
html .hv-main { background: var(--hv-bg-card) !important; box-shadow: none !important; }
html .hv-thread-meta-row { background: var(--hv-bg-hover); border-color: var(--hv-border); }
html .hv-thread-meta-row .hv-meta-stat { background: var(--hv-bg-card) !important; }
html .hv-thread-meta-row .hv-meta-stat:hover { background: var(--hv-bg-card) !important; border-color: var(--hv-border) !important; }
html .hv-side-card { background: var(--hv-bg-card) !important; }
html .hv-back-top { background: var(--hv-bg-card) !important; border-color: var(--hv-border) !important; }
html .hv-reply-form-inner { background: var(--hv-bg-card) !important; border-color: var(--hv-border) !important; }
html .hv-thread-hero .hv-thread-header { border-bottom-color: var(--hv-border); }
html .hv-thread-hero .hv-thread-title { color: var(--hv-text-primary) !important; -webkit-text-fill-color: var(--hv-text-primary) !important; }
html .hv-thread-hero .hv-thread-sub { color: var(--hv-text-muted) !important; }
html .hv-thread-hero .hv-thread-tags span { background: rgba(255,255,255,.06) !important; color: var(--hv-text-muted) !important; }
html .hv-thread-hero .hv-thread-author .hv-thread-avatar { border-color: var(--hv-border) !important; }
html .hv-related-card { background: var(--hv-bg-hover) !important; }
html .hv-related-card:hover { background: var(--hv-bg-hover) !important; }
html .hv-related-title { color: var(--hv-text-title) !important; }
html .hv-related-meta { color: var(--hv-text-muted) !important; }
html .hv-post-nav-item { background: var(--hv-bg-hover) !important; }
html .hv-post-nav-item:hover { background: var(--hv-bg-hover) !important; }
html .hv-post-nav-title { color: var(--hv-primary-light); }
html .hv-section-title { color: var(--hv-text-title); }
html .hv-end-cta { color: var(--hv-text-body); border-color: var(--hv-border); }
html .hv-end-text { color: var(--hv-text-light); }
html .hv-end-line { background: linear-gradient(90deg, transparent, var(--hv-border)); }
html .hv-end-line:last-child { background: linear-gradient(90deg, var(--hv-border), transparent); }

/* ===== 第二批：Followme 硬编码浅色 !important 对应规则 ===== */
/* 页面底色 */
html { background: var(--hv-bg-page); }
html .hv-page, html .hv-portal { background: var(--hv-bg-page) !important; }
/* Hero meta 区 */
html .hv-thread-hero .hv-thread-author .hv-thread-author-name { color: var(--hv-primary-light) !important; }
html .hv-thread-hero .hv-thread-author:hover .hv-thread-author-name { color: var(--hv-primary-light) !important; }
html .hv-meta-divider { background: var(--hv-border) !important; }
html .hv-meta-time { color: var(--hv-text-muted) !important; }
html .hv-meta-right .hv-meta-stat { color: var(--hv-text-muted) !important; background: var(--hv-bg-hover) !important; border-color: var(--hv-border) !important; }
html .hv-meta-right .hv-meta-stat:hover { background: var(--hv-bg-hover) !important; border-color: var(--hv-border) !important; }
/* 工具栏 */
html .hv-thread-toolbar { border-bottom-color: var(--hv-border); }
html .hv-filter-btn { background: var(--hv-bg-hover) !important; color: var(--hv-text-body) !important; }
html .hv-filter-btn:hover { background: var(--hv-bg-hover) !important; color: var(--hv-text-title) !important; }
html .hv-share-btn { color: var(--hv-text-muted) !important; }
html .hv-share-btn:hover { background: var(--hv-bg-hover) !important; color: var(--hv-text-body) !important; }
html .hv-toolbar-group { background: rgba(255,255,255,.04); }
html .hv-toolbar-group:hover { background: rgba(255,255,255,.08); }
html .hv-floor-jump { background: rgba(255,255,255,.04); }
html .hv-floor-jump:focus-within { background: rgba(255,255,255,.08); }
/* 面包屑 */
html .hv-breadcrumb a { color: var(--hv-text-muted) !important; }
html .hv-breadcrumb a:hover { color: var(--hv-primary-light) !important; }
html .hv-breadcrumb .hv-sep { color: var(--hv-text-light) !important; }
html .hv-breadcrumb .hv-current { color: var(--hv-text-body) !important; }
/* OP 帖 */
html .hv-post-card.op { border-bottom-color: var(--hv-border) !important; }
html .hv-post-card.op .hv-post-stats { color: var(--hv-text-muted) !important; }
html .hv-post-card.op .hv-post-stats span { color: var(--hv-text-muted); }
html .hv-post-card.op .hv-post-stats b { color: var(--hv-text-title); }
html .hv-post-card.op .hv-post-stats .hv-text-accent { color: var(--hv-primary-light) !important; }
html .hv-post-card.op .hv-post-stats .hv-op-badge { color: var(--hv-text-muted); }
html .hv-post-card.op > .hv-post-body { color: var(--hv-text-body) !important; }
/* 回复帖正文与操作 */
html .hv-post-card:not(.op) .hv-post-body { color: var(--hv-text-body) !important; }
html #postlist > .hv-post-card:not(.op):not(.hv-nested-reply) { border-color: var(--hv-border) !important; }
html .hv-post-card:not(.op) .hv-post-action { color: var(--hv-text-muted) !important; }
html .hv-post-card:not(.op) .hv-post-action:hover { background: rgba(255,255,255,.06) !important; color: var(--hv-text-body) !important; }
html .hv-post-card:not(.op) .hv-post-action span { color: var(--hv-text-muted); }
html .hv-post-card:not(.op) .hv-post-action:hover span { color: var(--hv-text-body); }
html .hv-post-card:not(.op) .hv-reply-btn { color: var(--hv-primary-light) !important; }
html .hv-post-card:not(.op) .hv-reply-btn:hover { color: var(--hv-primary-light) !important; background: rgba(112,164,222,.1) !important; }
html .hv-post-card:not(.op) .hv-reply-btn span { color: var(--hv-primary-light); }
html .hv-post-card:not(.op) .hv-reply-btn:hover span { color: var(--hv-primary-light); }
html .hv-post-card.op .hv-post-action { color: var(--hv-text-muted) !important; }
html .hv-post-card.op .hv-post-action:hover { background: rgba(255,255,255,.06) !important; color: var(--hv-text-body) !important; }
html .hv-post-card.op .hv-reply-btn { color: var(--hv-primary-light) !important; }
/* 嵌套回复连接线 */
html .hv-post-nested-replies { border-left-color: var(--hv-border) !important; }
/* 侧边栏 */
html .hv-side-title { color: var(--hv-text-title); }
html .hv-side-metric-num { -webkit-text-fill-color: var(--hv-text-title) !important; color: var(--hv-text-title); }
html .hv-side-metric { background: var(--hv-bg-hover) !important; }
html .hv-side-metric:hover { background: var(--hv-bg-hover) !important; }
html .hv-side-metric span { color: var(--hv-text-muted); }
html .hv-side-list li { border-bottom-color: var(--hv-border) !important; }
html .hv-side-list li:hover { background: var(--hv-bg-hover) !important; }
html .hv-side-action-btn { background: var(--hv-bg-hover) !important; color: var(--hv-text-body) !important; }
html .hv-side-action-btn:hover { background: var(--hv-bg-hover) !important; color: var(--hv-text-title) !important; }
html .hv-floor-nav-btn { background: var(--hv-bg-hover) !important; }
html .hv-floor-nav-btn:hover { background: var(--hv-bg-hover) !important; }
html .hv-floor-nav-num { color: var(--hv-text-title); }
html .hv-floor-nav-btn:hover .hv-floor-nav-num { color: var(--hv-primary-light); }
html .hv-floor-nav-label { color: var(--hv-text-muted); }
/* 正文内嵌块 */
html .hv-post-body blockquote { background: var(--hv-bg-hover) !important; border-left-color: var(--hv-border) !important; color: var(--hv-text-body); }
html .hv-post-body hr { background: var(--hv-border) !important; }
html .hv-compliance-tip { background: var(--hv-bg-hover) !important; border-left-color: var(--hv-border) !important; color: var(--hv-text-muted); }
html .hv-compliance-danger { background: rgba(239,68,68,.08) !important; }
html .hv-skeleton-post { border-color: var(--hv-border) !important; }
/* 全局头部与风险条（帖页范围内生效） */
html .hv-header { background: rgba(13,27,42,.88) !important; box-shadow: 0 1px 0 rgba(0,0,0,.35), 0 4px 20px rgba(0,0,0,.25) !important; }
html .hv-risk-bar { background: linear-gradient(90deg, rgba(245,158,11,.12), rgba(239,68,68,.10), rgba(245,158,11,.12)) !important; border-bottom-color: rgba(245,158,11,.25) !important; color: #D9A05B; }
html .hv-mega-menu { background: var(--hv-bg-card) !important; border-color: var(--hv-border) !important; }
/* ===== 第三批：吸顶栏/代码块/返回顶部/侧栏标题 ===== */
html .hv-post-card.op .hv-foot-sep { background: var(--hv-border) !important; }
html .hv-back-top { color: var(--hv-text-body) !important; }
html .hv-back-top:hover { background: var(--hv-bg-hover) !important; color: var(--hv-text-title) !important; }
html .hv-sticky-bar { background: rgba(13,27,42,.95) !important; border-bottom-color: var(--hv-border) !important; }
html .hv-reply-form-container.hv-bottom-form { border-top-color: var(--hv-border) !important; }
html .hv-post-body pre { background: var(--hv-bg-hover) !important; border-color: var(--hv-border) !important; color: var(--hv-text-body) !important; }
html .hv-post-body pre code { color: var(--hv-text-body); }
html .hv-post-body code { background: var(--hv-bg-hover) !important; color: var(--hv-primary-light) !important; }
html .hv-side-title { color: var(--hv-text-title) !important; }
html .hv-side-actions-title { color: var(--hv-text-title) !important; }

