/* major-qz-v5.css — 千智精品专业页 UI 刷新层
 * 覆盖旧版 v4 深色主题，对齐首页/移动站；13 学科色 + 4 种布局变体
 * 注入: scripts/inject_major_qz_ui.py
 */

body.qz-major {
  --qz-brand: #2563EB;
  --qz-bg: #F4F6FB;
  --qz-surface: #FFFFFF;
  --qz-fg: #1A1A1A;
  --qz-muted: #64748B;
  --qz-line: #E8ECF4;
  --qz-primary: var(--qz-brand);
  --qz-deep: #1D4ED8;
  --qz-soft: rgba(37, 99, 235, 0.1);
  --qz-gold: #B5934A;
  --qz-radius: 20px;
  --qz-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
  --qz-shadow-lg: 0 16px 48px rgba(15, 23, 42, 0.08);

  background:
    radial-gradient(ellipse 80% 55% at 100% 0%, var(--qz-soft) 0%, transparent 55%),
    radial-gradient(ellipse 60% 45% at 0% 8%, rgba(99, 102, 241, 0.06) 0%, transparent 50%),
    var(--qz-bg) !important;
  color: var(--qz-fg) !important;
  font-family: "Inter", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  cursor: auto !important;
}

body.qz-major::before {
  background-image: radial-gradient(circle at 1px 1px, rgba(37, 99, 235, 0.07) 1px, transparent 0) !important;
  background-size: 28px 28px !important;
  opacity: 1 !important;
}

/* ── 13 学科 accent（延续 manifest theme，与移动站协调）── */
body.qz-style-cs             { --qz-primary: #2563EB; --qz-deep: #1D4ED8; --qz-soft: rgba(37,99,235,0.12); }
body.qz-style-finance        { --qz-primary: #4A4564; --qz-deep: #2E2945; --qz-soft: rgba(74,69,100,0.12); }
body.qz-style-business       { --qz-primary: #5A4632; --qz-deep: #3D2E20; --qz-soft: rgba(90,70,50,0.12); }
body.qz-style-law            { --qz-primary: #3A3A3A; --qz-deep: #1F1F1F; --qz-soft: rgba(58,58,58,0.1); }
body.qz-style-gongan         { --qz-primary: #1E3A5F; --qz-deep: #0F1F33; --qz-soft: rgba(30,58,95,0.12); }
body.qz-style-administration { --qz-primary: #5C5C8A; --qz-deep: #3A3A5C; --qz-soft: rgba(92,92,138,0.12); }
body.qz-style-education      { --qz-primary: #5C7C4A; --qz-deep: #3D5530; --qz-soft: rgba(92,124,74,0.12); }
body.qz-style-humanities     { --qz-primary: #6B4F35; --qz-deep: #3D2E1F; --qz-soft: rgba(107,79,53,0.12); }
body.qz-style-arts           { --qz-primary: #8B3A62; --qz-deep: #5C2642; --qz-soft: rgba(139,58,98,0.12); }
body.qz-style-sci            { --qz-primary: #1E5E72; --qz-deep: #0F3D4D; --qz-soft: rgba(30,94,114,0.12); }
body.qz-style-eng            { --qz-primary: #5B5B47; --qz-deep: #3D3D2E; --qz-soft: rgba(91,91,71,0.12); }
body.qz-style-medicine       { --qz-primary: #B91C1C; --qz-deep: #7F1D1D; --qz-soft: rgba(185,28,28,0.1); }
body.qz-style-agri           { --qz-primary: #6B7A3F; --qz-deep: #3F4D22; --qz-soft: rgba(107,122,63,0.12); }

/* ── 4 种布局变体（同风格不同页，避免千篇一律）── */
body.qz-var-0 { --qz-radius: 20px; }
body.qz-var-1 { --qz-radius: 24px; }
body.qz-var-1 section.tab:nth-of-type(even) .container { background: color-mix(in srgb, var(--qz-soft) 35%, #fff); }
body.qz-var-2 { --qz-radius: 16px; }
body.qz-var-2 section.tab .container { border-left: 4px solid var(--qz-primary); }
body.qz-var-3 { --qz-radius: 28px; }
body.qz-var-3 .hero { padding-top: 100px !important; }

/* ── Hero：浅色底 + 保留特色组件 ── */
body.qz-major .hero {
  background:
    linear-gradient(165deg, color-mix(in srgb, var(--qz-soft) 80%, #fff) 0%, transparent 70%),
    transparent !important;
  border-bottom: 1px solid var(--qz-line) !important;
  padding: 72px 0 64px !important;
}

body.qz-major .hero h1,
body.qz-major .hero h1.display {
  color: var(--qz-fg) !important;
  font-family: "Inter", "PingFang SC", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}

body.qz-major .hero-tagline {
  color: var(--qz-muted) !important;
  font-family: "Inter", "PingFang SC", sans-serif !important;
}

body.qz-major .hero-decor {
  color: var(--qz-primary) !important;
  font-family: "JetBrains Mono", monospace !important;
  background: var(--qz-soft);
  display: inline-flex;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.6875rem !important;
  letter-spacing: 0.14em !important;
}
body.qz-major .hero-decor::before,
body.qz-major .hero-decor::after { content: none !important; }

body.qz-major .hero-stats {
  background: var(--qz-surface) !important;
  border: 1px solid var(--qz-line) !important;
  border-radius: var(--qz-radius) !important;
  overflow: hidden;
  box-shadow: var(--qz-shadow);
}

body.qz-major .hero-stats .stat {
  background: transparent !important;
  border-color: var(--qz-line) !important;
}

body.qz-major .hero-stats .stat-label {
  color: var(--qz-muted) !important;
  font-size: 0.625rem !important;
}

body.qz-major .hero-stats .stat-value {
  color: var(--qz-fg) !important;
}

body.qz-major .tag {
  background: var(--qz-soft) !important;
  border: 1px solid color-mix(in srgb, var(--qz-primary) 25%, transparent) !important;
  color: var(--qz-deep) !important;
  border-radius: 999px !important;
  font-family: "Inter", sans-serif !important;
}

body.qz-major .tag.primary {
  background: var(--qz-primary) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* CS：终端面板保留深色，作为对比卡片 */
body.qz-style-cs .terminal-panel {
  border-radius: var(--qz-radius) !important;
  box-shadow: var(--qz-shadow-lg) !important;
  border: 1px solid #1F2937 !important;
}

body.qz-style-finance .hero h1,
body.qz-style-business .hero h1 {
  font-family: "Source Han Serif SC", "Noto Serif SC", serif !important;
}

body.qz-style-medicine .hero-stats { border-color: color-mix(in srgb, var(--qz-primary) 20%, var(--qz-line)) !important; }

body.qz-style-law .hero { background: linear-gradient(180deg, #F8F7F4 0%, var(--qz-bg) 100%) !important; }

body.qz-style-arts .hero {
  background:
    radial-gradient(ellipse 70% 80% at 20% 0%, rgba(139,58,98,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 90% 20%, rgba(139,124,246,0.1) 0%, transparent 55%),
    transparent !important;
}

/* ── 内容区块：卡片化 ── */
body.qz-major section.tab {
  padding: 32px 0 !important;
  border: none !important;
  background: transparent !important;
}

body.qz-major section.tab .container {
  background: var(--qz-surface);
  border: 1px solid var(--qz-line);
  border-radius: var(--qz-radius);
  box-shadow: var(--qz-shadow);
  padding: 48px 40px !important;
  position: relative;
}

@media (max-width: 768px) {
  body.qz-major section.tab .container { padding: 32px 20px !important; }
}

body.qz-major .section-num {
  color: var(--qz-primary) !important;
  background: var(--qz-soft);
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.6875rem !important;
}

body.qz-major section.tab h2 {
  color: var(--qz-fg) !important;
  font-family: "Inter", "PingFang SC", sans-serif !important;
}

body.qz-major .watermark {
  color: var(--qz-primary) !important;
  opacity: 0.045 !important;
}

body.qz-major .lede,
body.qz-major section.tab p {
  color: var(--qz-muted) !important;
}

body.qz-major .drop-cap::first-letter {
  color: var(--qz-primary) !important;
}

/* ── 数据组件：统一浅色卡片 ── */
body.qz-major .ovv-card,
body.qz-major .bento-item,
body.qz-major .company,
body.qz-major .curriculum-block,
body.qz-major .path-card,
body.qz-major .quote,
body.qz-major .direction-card {
  background: var(--qz-bg) !important;
  border: 1px solid var(--qz-line) !important;
  border-radius: calc(var(--qz-radius) - 4px) !important;
  color: var(--qz-fg) !important;
  box-shadow: none !important;
}

body.qz-major .ovv-card-head,
body.qz-major .ovv-card-title,
body.qz-major .bento-name,
body.qz-major .company-name {
  color: var(--qz-fg) !important;
}

body.qz-major .ovv-card-num,
body.qz-major .ovv-card-tag {
  color: var(--qz-primary) !important;
}

body.qz-major .ovv-card.is-blue::before { background: var(--qz-primary) !important; }
body.qz-major .ovv-card.is-orange::before { background: #F59E0B !important; }

body.qz-major .bento {
  background: var(--qz-line) !important;
  border: 1px solid var(--qz-line) !important;
  border-radius: var(--qz-radius) !important;
  gap: 1px !important;
}

body.qz-major .salary-table {
  background: var(--qz-surface) !important;
  border: 1px solid var(--qz-line) !important;
  border-radius: var(--qz-radius) !important;
  color: var(--qz-fg) !important;
}

body.qz-major .salary-table th,
body.qz-major .salary-table td {
  border-color: var(--qz-line) !important;
  color: var(--qz-fg) !important;
}

body.qz-major .salary-bar,
body.qz-major .sparkline-bar,
body.qz-major .direction-bar,
body.qz-major .xuanke-bar {
  background: var(--qz-line) !important;
}

body.qz-major .salary-bar-fill,
body.qz-major .direction-bar-fill,
body.qz-major .xuanke-bar-fill,
body.qz-major .sparkline-bar[style] {
  background: var(--qz-primary) !important;
}

body.qz-major .company-monogram,
body.qz-major .bento-monogram,
body.qz-major .quote-avatar {
  background: var(--qz-primary) !important;
  color: #fff !important;
  border-radius: 10px !important;
}

body.qz-major .tier-S,
body.qz-major .tier-A {
  background: var(--qz-soft) !important;
  color: var(--qz-deep) !important;
}

body.qz-major .quote {
  border-left-color: var(--qz-primary) !important;
}

body.qz-major .discipline-breadcrumb a {
  color: var(--qz-primary) !important;
}

body.qz-major .discipline-breadcrumb .bc-current {
  color: var(--qz-muted) !important;
}

/* ── 心愿单 / 相关推荐 ── */
body.qz-major .wl-decide,
body.qz-major .wl-related {
  background: transparent !important;
}

body.qz-major .wl-decide-card {
  border-radius: var(--qz-radius) !important;
  border: 1px solid var(--qz-line) !important;
  box-shadow: var(--qz-shadow) !important;
}

body.qz-major footer {
  background: var(--qz-surface) !important;
  border-top: 1px solid var(--qz-line) !important;
  color: var(--qz-muted) !important;
}

body.qz-major footer .label { color: var(--qz-muted) !important; opacity: 1 !important; }

/* ── 清除旧版个人站 Hero 标识（兜底）── */
body.qz-major .docket-stamp { display: none !important; }

/* ── 浮动进度条（major-ui-v5.js 写入）── */
.qz-read-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--qz-primary), color-mix(in srgb, var(--qz-primary) 60%, #8B7CF6));
  z-index: 200;
  pointer-events: none;
  transition: width 80ms linear;
}

body.qz-major .topbar {
  background: rgba(255, 255, 255, 0.92) !important;
  border-bottom-color: var(--qz-line) !important;
}

body.qz-major .topbar .brand-mark {
  background: linear-gradient(135deg, var(--qz-deep) 0%, var(--qz-primary) 55%, #0EA5E9 100%) !important;
}
