/* ============ 投研平台 全局样式 ============ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');

:root {
  --color-primary: #0F2B5B;
  --color-primary-600: #1D4ED8;
  --color-primary-500: #3B82F6;
  --color-bg: #F8FAFC;
  --color-surface: #FFFFFF;
  --color-text: #0F172A;
  --color-text-muted: #475569;
  --color-text-faint: #94A3B8;
  --color-up: #16A34A;
  --color-down: #DC2626;
  --color-warn: #F59E0B;
  --color-info: #2563EB;
  --font-sans: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    'PingFang SC', 'Microsoft YaHei', sans-serif;
}

* { font-family: var(--font-sans); }

body {
  background: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
}

/* 顶部导航渐变 */
.navbar {
  background: linear-gradient(120deg, #0F2B5B 0%, #1D4ED8 78%, #3B82F6 100%);
}

/* 卡片 */
.card {
  background: var(--color-surface);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 16px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(15, 23, 42, 0.04);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.card:hover {
  box-shadow: 0 2px 4px rgba(15, 23, 42, 0.05), 0 10px 28px rgba(15, 23, 42, 0.09);
}

/* 试运行标识 */
.trial-badge {
  background: linear-gradient(120deg, #F59E0B, #F97316);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 9999px;
  box-shadow: 0 2px 8px rgba(249, 115, 22, 0.35);
}

/* 主要按钮 */
.btn-primary {
  background: linear-gradient(120deg, #1D4ED8, #3B82F6);
  color: #fff;
  border-radius: 10px;
  font-weight: 600;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
  box-shadow: 0 4px 14px rgba(29, 78, 216, 0.25);
}

.btn-primary:hover {
  filter: brightness(1.05);
  box-shadow: 0 6px 20px rgba(29, 78, 216, 0.32);
  transform: translateY(-1px);
}

.btn-primary:active { transform: translateY(0); }

/* Markdown 报告内容排版 */
.prose-content {
  line-height: 1.75;
  color: var(--color-text-muted);
  font-size: 15px;
}
.prose-content h1, .prose-content h2, .prose-content h3 {
  color: var(--color-text);
  font-weight: 700;
  margin: 1.2em 0 0.5em;
}
.prose-content h1 { font-size: 1.4em; }
.prose-content h2 { font-size: 1.2em; }
.prose-content h3 { font-size: 1.05em; }
.prose-content p { margin: 0.6em 0; }
.prose-content ul, .prose-content ol { margin: 0.6em 0; padding-left: 1.4em; }
.prose-content li { margin: 0.3em 0; }
.prose-content code {
  background: #EEF2F7;
  padding: 0.1em 0.4em;
  border-radius: 4px;
  font-size: 0.9em;
}
.prose-content pre {
  background: #0F172A;
  color: #E2E8F0;
  padding: 1em;
  border-radius: 10px;
  overflow-x: auto;
}
.prose-content pre code { background: transparent; color: inherit; }
.prose-content blockquote {
  border-left: 3px solid var(--color-primary-500);
  padding-left: 1em;
  color: var(--color-text-faint);
  margin: 0.8em 0;
}
.prose-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.8em 0;
}
.prose-content th, .prose-content td {
  border: 1px solid #E2E8F0;
  padding: 0.5em 0.75em;
  text-align: left;
}
.prose-content th { background: #F1F5F9; font-weight: 600; }

/* 状态点 */
.status-dot { width: 8px; height: 8px; border-radius: 9999px; display: inline-block; }

/* ============ 移动端适配 ============ */
/* 移动端导航链接 */
.mobile-nav-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.6rem 0.9rem;
  border-radius: 0.6rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: #fff;
  transition: background 0.15s ease;
}
.mobile-nav-link:hover { background: rgba(255, 255, 255, 0.12); }

/* 触摸与点击优化 */
button, a { touch-action: manipulation; }
button { cursor: pointer; }

/* 长文本与表格防溢出 */
.prose-content {
  overflow-wrap: break-word;
  word-break: break-word;
}
.prose-content table {
  display: block;
  overflow-x: auto;
  white-space: nowrap;
}

/* 积分流水表格：窄屏减小内边距，避免列被压缩换行 */
@media (max-width: 640px) {
  .points-table th, .points-table td {
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }
  .points-table span {
    white-space: nowrap;
  }
}
