/* ============================================================
   TrendRadar 报告美化层 v2（impeccable colorize 定制）
   视觉身份：「深夜编辑部」— 深蓝墨 + 冷纸面 + 热度信号色
   ============================================================ */

:root {
  --tr-accent: #4338ca;
  --tr-accent-2: #6366f1;
  --tr-accent-soft: #eef0ff;
  --tr-ink: #10162b;
  --tr-ink-2: #3f4a63;
  --tr-ink-3: #8b93ab;
  --tr-paper: #eef1f8;
  --tr-surface: #ffffff;
  --tr-line: #e3e7f2;
  --tr-hot: #e11d48;
  --tr-warm: #ea580c;
  --tr-shadow: 0 1px 2px rgba(16,22,43,.05), 0 6px 20px rgba(16,22,43,.07);
  --tr-shadow-hover: 0 2px 6px rgba(16,22,43,.08), 0 14px 34px rgba(67,56,202,.13);
}

html { scroll-behavior: smooth; }

body {
  background:
    radial-gradient(1200px 400px at 85% -8%, rgba(99,102,241,.10), transparent 60%),
    radial-gradient(900px 340px at 0% -5%, rgba(225,29,72,.05), transparent 55%),
    var(--tr-paper) !important;
  background-attachment: fixed !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", sans-serif !important;
  color: var(--tr-ink) !important;
  -webkit-font-smoothing: antialiased;
}

::selection { background: rgba(99,102,241,.22); }

/* 细滚动条 */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: #c3cade; border-radius: 999px; border: 2px solid var(--tr-paper); }
::-webkit-scrollbar-thumb:hover { background: #9aa5c8; }

/* ============ 页头：深夜编辑部 ============ */
.header {
  background:
    radial-gradient(900px 420px at 12% -30%, rgba(99,102,241,.55), transparent 60%),
    radial-gradient(700px 380px at 88% -20%, rgba(225,29,72,.28), transparent 55%),
    linear-gradient(150deg, #131629 0%, #232a5c 55%, #3b2f86 100%) !important;
  border-radius: 0 0 28px 28px !important;
  box-shadow: 0 18px 50px -18px rgba(19,22,41,.55) !important;
}
.header h1 {
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-shadow: 0 2px 18px rgba(99,102,241,.5) !important;
}
.header .header-watermark { opacity: .10 !important; }

/* ============ 搜索框 ============ */
.search-bar { margin-bottom: 18px !important; }
.search-input {
  width: 100% !important;
  background: var(--tr-surface) !important;
  border: 1px solid var(--tr-line) !important;
  border-radius: 14px !important;
  padding: 13px 18px !important;
  font-size: 14px !important;
  color: var(--tr-ink) !important;
  box-shadow: var(--tr-shadow) !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}
.search-input::placeholder { color: var(--tr-ink-3) !important; }
.search-input:focus {
  outline: none !important;
  border-color: var(--tr-accent-2) !important;
  box-shadow: 0 0 0 4px rgba(99,102,241,.14) !important;
}

/* ============ AI 分析区：签名卡片 ============ */
.ai-section {
  background: linear-gradient(180deg, #fbfbff 0%, var(--tr-surface) 38%) !important;
  border: 1px solid #dbe0fb !important;
  border-radius: 18px !important;
  padding: 22px 24px !important;
  margin: 6px 0 24px !important;
  box-shadow: 0 8px 30px -12px rgba(67,56,202,.25) !important;
  position: relative;
  overflow: hidden;
}
.ai-section::before {
  content: "";
  position: absolute; inset: 0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, #4338ca, #7c3aed 45%, #e11d48 100%);
}
.ai-section-header { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.ai-section-title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--tr-ink) !important;
  letter-spacing: .02em !important;
}
.ai-section-badge {
  background: linear-gradient(135deg, #4338ca, #7c3aed) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 8px rgba(67,56,202,.35) !important;
}
.ai-section .ai-content, .ai-section p, .ai-section div {
  line-height: 1.75 !important;
}

/* ============ 新闻卡片：热度左翼条 ============ */
.news-item {
  background: var(--tr-surface) !important;
  border: 1px solid var(--tr-line) !important;
  border-left: 3px solid var(--tr-line) !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  margin-bottom: 10px !important;
  box-shadow: var(--tr-shadow) !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}
.news-item:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--tr-shadow-hover) !important;
}
.news-item:has(.rank-num.top)  { border-left-color: var(--tr-hot) !important; }
.news-item:has(.rank-num.high) { border-left-color: var(--tr-warm) !important; }
.news-item:has(.rank-num.top):hover  { border-color: #fda4af !important; border-left-color: var(--tr-hot) !important; }
.news-item:has(.rank-num.high):hover { border-color: #fdba74 !important; border-left-color: var(--tr-warm) !important; }

/* 序号徽章：渐变圆片 */
.news-number {
  background: linear-gradient(145deg, #6366f1, #4338ca) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
  min-width: 2.1em !important;
  text-align: center !important;
  box-shadow: 0 2px 6px rgba(67,56,202,.30) !important;
}

/* 来源胶囊 */
.source-name {
  background: var(--tr-accent-soft) !important;
  color: var(--tr-accent) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 10px !important;
  border-radius: 999px !important;
  letter-spacing: .04em !important;
}
.time-info {
  color: var(--tr-ink-3) !important;
  font-variant-numeric: tabular-nums;
  font-size: 11px !important;
  margin-left: auto !important;
}

/* 热度徽章：实色信号 */
.rank-num {
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 2px 9px !important;
  border-radius: 999px !important;
  background: #eef1f8 !important;
  color: var(--tr-ink-2) !important;
  font-variant-numeric: tabular-nums;
}
.rank-num.top {
  background: linear-gradient(135deg, #f43f5e, #e11d48) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(225,29,72,.35) !important;
}
.rank-num.high {
  background: linear-gradient(135deg, #fb923c, #ea580c) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(234,88,12,.30) !important;
}

/* 标题 */
.news-title {
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 7px 0 0 !important;
}
.news-link {
  color: var(--tr-ink) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color .12s ease;
}
.news-link:hover { color: var(--tr-accent) !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* 关键词标签 */
.keyword-tag {
  background: transparent !important;
  border: 1px solid #c7d2fe !important;
  color: var(--tr-accent) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 1px 9px !important;
  border-radius: 999px !important;
}

/* ============ RSS ============ */
.rss-item {
  background: var(--tr-surface) !important;
  border: 1px solid var(--tr-line) !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  margin-bottom: 8px !important;
}
.rss-title a, .rss-link { color: var(--tr-ink) !important; font-weight: 600 !important; }
.rss-title a:hover { color: var(--tr-accent) !important; }
.rss-meta, .rss-time, .rss-author { color: var(--tr-ink-3) !important; font-size: 11px !important; }

/* ============ 通用排版 ============ */
h1, h2, h3 { color: var(--tr-ink) !important; font-weight: 700 !important; letter-spacing: .01em !important; }

/* ============ 暗色模式：「午夜编辑部」 ============ */
body.dark-mode {
  --tr-paper: #0b1020;
  --tr-surface: #141b31;
  --tr-line: #26304d;
  --tr-ink: #e4e9f5;
  --tr-ink-2: #9aa7c7;
  --tr-ink-3: #5d6a8c;
  --tr-accent-soft: rgba(99,102,241,.16);
  --tr-shadow: 0 1px 2px rgba(0,0,0,.35);
  --tr-shadow-hover: 0 10px 30px rgba(67,56,202,.35);
}
body.dark-mode {
  background:
    radial-gradient(1100px 380px at 85% -8%, rgba(99,102,241,.16), transparent 60%),
    radial-gradient(800px 320px at 0% -5%, rgba(225,29,72,.08), transparent 55%),
    var(--tr-paper) !important;
}
body.dark-mode .header {
  background:
    radial-gradient(900px 420px at 12% -30%, rgba(99,102,241,.40), transparent 60%),
    linear-gradient(150deg, #0d1020 0%, #1a2050 55%, #2a2160 100%) !important;
}
body.dark-mode .ai-section {
  background: linear-gradient(180deg, rgba(99,102,241,.10), var(--tr-surface) 42%) !important;
  border-color: #2c3663 !important;
}
body.dark-mode .search-input { background: var(--tr-surface) !important; }
body.dark-mode .rank-num { background: #26304d !important; color: var(--tr-ink-2) !important; }
body.dark-mode .news-number { background: linear-gradient(145deg, #6366f1, #4338ca) !important; color: #fff !important; }
body.dark-mode .source-name { background: rgba(99,102,241,.18) !important; color: #b4bcf8 !important; }
body.dark-mode ::-webkit-scrollbar-thumb { background: #2c3663; border-color: var(--tr-paper); }
