:root {
  --niche-v2-bg: oklch(98.2% 0.008 292);
  --niche-v2-panel: oklch(99.6% 0.003 292);
  --niche-v2-soft: oklch(95.7% 0.025 292);
  --niche-v2-line: oklch(89.5% 0.018 292);
  --niche-v2-line-strong: oklch(82% 0.035 292);
  --niche-v2-ink: oklch(22% 0.025 292);
  --niche-v2-muted: oklch(42% 0.025 292);
  --niche-v2-purple: oklch(55% 0.22 292);
  --niche-v2-green: oklch(47% 0.14 151);
  --niche-v2-amber: oklch(55% 0.15 74);
  --niche-v2-red: oklch(51% 0.19 27);
}

body[data-ui-version="9月4日AI细分市场分析更新版本"] .page-content {
  max-width: none;
  padding-inline: 24px;
  background: var(--niche-v2-bg);
}

body[data-ui-version="9月4日AI细分市场分析更新版本"] .page-header,
body[data-ui-version="9月4日AI细分市场分析更新版本"] .input-card {
  width: min(1540px, 100%);
  margin-inline: auto;
}

.niche-codex-report.niche-report-v2-host {
  width: min(1588px, calc(100vw - 24px));
  margin-inline: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.niche-report-v2 {
  overflow: hidden;
  border: 1px solid var(--niche-v2-line);
  border-radius: 14px;
  background: var(--niche-v2-panel);
  color: var(--niche-v2-ink);
}

.niche-report-v2-hero {
  padding: 22px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--niche-v2-line);
  background: var(--niche-v2-panel);
}

.niche-report-v2-hero-copy { min-width: 0; }
.niche-report-v2-hero .niche-report-context { margin: 0 0 5px; color: var(--niche-v2-purple); }
.niche-report-v2-hero h2 { max-width: 38ch; margin: 0; color: var(--niche-v2-ink); font-size: 23px; letter-spacing: -.02em; }
.niche-report-v2-hero p { max-width: 75ch; margin: 8px 0 0; color: var(--niche-v2-muted); font-size: 12px; line-height: 1.7; }
.niche-report-v2 .niche-report-score { flex: 0 0 134px; min-height: 108px; border: 1px solid var(--niche-v2-line-strong); background: var(--niche-v2-soft); }
.niche-report-v2 .niche-report-score strong { color: var(--niche-v2-purple); }
.niche-report-v2 .niche-report-score span,.niche-report-v2 .niche-report-score small { color: var(--niche-v2-muted); }

.niche-report-v2-state {
  padding: 10px 26px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid oklch(87% .06 74);
  background: oklch(98% .018 74);
  color: oklch(40% .11 74);
  font-size: 11px;
}

.niche-report-v2-state.is-confirmed { border-color: oklch(86% .05 151); background: oklch(98% .018 151); color: var(--niche-v2-green); }
.niche-report-v2-state.is-invalid { border-color: oklch(84% .07 27); background: oklch(98% .018 27); color: var(--niche-v2-red); }
.niche-report-v2-invalid { max-width: 880px; min-height: 260px; margin: 0 auto; padding: 42px 28px; }

.niche-report-v2-layout { display: grid; grid-template-columns: 226px minmax(0, 1fr); }
.niche-report-v2-outline { position: sticky; top: 76px; align-self: start; max-height: calc(100vh - 88px); overflow-y: auto; border-right: 1px solid var(--niche-v2-line); background: var(--niche-v2-bg); }
.niche-report-v2-outline header { min-height: 50px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--niche-v2-line); }
.niche-report-v2-outline header strong { font-size: 12px; }
.niche-report-v2-outline header span { color: var(--niche-v2-muted); font-size: 9px; }
.niche-report-v2-outline nav { padding: 8px; }
.niche-report-v2-outline button { width: 100%; min-height: 45px; padding: 6px 8px; display: grid; grid-template-columns: 23px 1fr; align-items: center; gap: 8px; border: 0; border-radius: 8px; background: transparent; color: var(--niche-v2-muted); text-align: left; cursor: pointer; }
.niche-report-v2-outline button:hover,.niche-report-v2-outline button.is-active { background: var(--niche-v2-soft); color: var(--niche-v2-purple); }
.niche-report-v2-outline button i { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 9px; font-style: normal; }
.niche-report-v2-outline button span,.niche-report-v2-outline button small { display: block; }
.niche-report-v2-outline button span { font-size: 11px; font-weight: 700; }
.niche-report-v2-outline button small { margin-top: 1px; color: var(--niche-v2-muted); font-size: 8px; font-weight: 400; }

.niche-report-v2-content { min-width: 0; padding: 0 28px 50px; }
.niche-report-v2-section { max-width: 1120px; margin: 0 auto; padding: 34px 0; border-bottom: 1px solid var(--niche-v2-line); scroll-margin-top: 86px; }
.niche-report-v2-section:last-child { border-bottom: 0; }
.niche-report-v2-heading { margin-bottom: 18px; display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.niche-report-v2-heading span { display: block; margin-bottom: 3px; color: var(--niche-v2-purple); font-size: 9px; font-weight: 750; }
.niche-report-v2-heading h2 { margin: 0; color: var(--niche-v2-ink); font-size: 21px; letter-spacing: -.02em; }
.niche-report-v2-heading small { max-width: 42ch; color: var(--niche-v2-muted); font-size: 10px; text-align: right; }

.niche-report-v2-metrics { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); overflow: hidden; border-block: 1px solid var(--niche-v2-line); }
.niche-report-v2-metric { min-width: 0; padding: 14px; border-right: 1px solid var(--niche-v2-line); }
.niche-report-v2-metric:last-child { border-right: 0; }
.niche-report-v2-metric span,.niche-report-v2-metric strong,.niche-report-v2-metric small { display: block; }
.niche-report-v2-metric span,.niche-report-v2-metric small { color: var(--niche-v2-muted); font-size: 9px; }
.niche-report-v2-metric strong { margin: 4px 0; color: var(--niche-v2-ink); font-size: 18px; font-variant-numeric: tabular-nums; }

.niche-report-v2-coverage { margin-top: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 18px; }
.niche-report-v2-coverage div { display: grid; grid-template-columns: 110px 1fr 72px; align-items: center; gap: 8px; color: var(--niche-v2-muted); font-size: 9px; }
.niche-report-v2-coverage i { height: 7px; overflow: hidden; border-radius: 999px; background: var(--niche-v2-line); }
.niche-report-v2-coverage b { display: block; height: 100%; border-radius: inherit; background: var(--niche-v2-purple); }
.niche-report-v2-coverage strong { color: var(--niche-v2-ink); text-align: right; }

.niche-report-v2-boundary,.niche-report-v2-empty { margin-top: 14px; padding: 13px 15px; border: 1px solid oklch(84% .08 74); border-radius: 10px; background: oklch(98% .018 74); color: var(--niche-v2-muted); font-size: 10px; line-height: 1.65; }
.niche-report-v2-boundary strong,.niche-report-v2-empty strong { display: block; margin-bottom: 3px; color: var(--niche-v2-amber); font-size: 11px; }
.niche-report-v2-empty.is-red { border-color: oklch(84% .07 27); background: oklch(98% .018 27); }
.niche-report-v2-empty.is-red strong { color: var(--niche-v2-red); }

.niche-report-v2-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.niche-report-v2-panel { min-width: 0; padding: 16px; border: 1px solid var(--niche-v2-line); border-radius: 11px; background: var(--niche-v2-panel); }
.niche-report-v2-panel h3 { margin: 0 0 11px; color: var(--niche-v2-ink); font-size: 13px; }
.niche-report-v2-panel p { color: var(--niche-v2-muted); font-size: 11px; line-height: 1.7; }

.niche-report-v2-bars { display: grid; gap: 10px; }
.niche-report-v2-bar { display: grid; grid-template-columns: 125px 1fr 72px; align-items: center; gap: 8px; color: var(--niche-v2-muted); font-size: 9px; }
.niche-report-v2-bar > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.niche-report-v2-bar i { height: 8px; overflow: hidden; border-radius: 999px; background: var(--niche-v2-line); }
.niche-report-v2-bar i b { display: block; height: 100%; border-radius: inherit; background: var(--niche-v2-purple); }
.niche-report-v2-bar strong { color: var(--niche-v2-ink); text-align: right; }

.niche-report-v2-table { margin-top: 12px; overflow-x: auto; border: 1px solid var(--niche-v2-line); border-radius: 10px; }
.niche-report-v2-table table { width: 100%; border-collapse: collapse; }
.niche-report-v2-table th,.niche-report-v2-table td { padding: 10px 11px; border-bottom: 1px solid var(--niche-v2-line); color: var(--niche-v2-ink); font-size: 10px; text-align: left; white-space: nowrap; }
.niche-report-v2-table th { background: var(--niche-v2-bg); color: var(--niche-v2-muted); font-size: 9px; }
.niche-report-v2-table tr:last-child td { border-bottom: 0; }

.niche-report-v2-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 10px; }
.niche-report-v2-card { padding: 14px; border: 1px solid var(--niche-v2-line); border-radius: 10px; background: var(--niche-v2-panel); }
.niche-report-v2-card h3 { margin: 0; color: var(--niche-v2-ink); font-size: 12px; }
.niche-report-v2-card p { margin: 7px 0 0; color: var(--niche-v2-muted); font-size: 10px; line-height: 1.65; }
.niche-report-v2-card small { display: block; margin-top: 7px; color: var(--niche-v2-muted); font-size: 9px; }
.niche-report-v2-card a { display: inline-flex; margin-top: 8px; color: var(--niche-v2-purple); font-size: 10px; font-weight: 700; }
.niche-report-v2-tag { display: inline-flex; margin-top: 7px; padding: 3px 6px; border-radius: 999px; background: var(--niche-v2-soft); color: var(--niche-v2-purple); font-size: 8px; font-weight: 700; }

.niche-report-v2-ai { margin-top: 20px; overflow: hidden; border: 1px solid oklch(83% .055 292); border-radius: 12px; background: linear-gradient(135deg,oklch(98.6% .012 292),oklch(96.5% .025 292)); }
.niche-report-v2-ai.is-risk { border-color: oklch(84% .07 27); background: linear-gradient(135deg,oklch(99% .008 27),oklch(97% .025 27)); }
.niche-report-v2-ai.is-good { border-color: oklch(84% .065 151); background: linear-gradient(135deg,oklch(99% .007 151),oklch(97% .02 151)); }
.niche-report-v2-ai header { padding: 13px 15px; display: grid; grid-template-columns: 29px minmax(0,1fr) auto; align-items: start; gap: 10px; border-bottom: 1px solid var(--niche-v2-line); }
.niche-report-v2-ai-mark { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; background: var(--niche-v2-purple); color: white; }
.niche-report-v2-ai header span,.niche-report-v2-ai header strong { display: block; }
.niche-report-v2-ai header span { color: var(--niche-v2-purple); font-size: 8px; font-weight: 750; }
.niche-report-v2-ai header strong { margin-top: 3px; color: var(--niche-v2-ink); font-size: 11px; line-height: 1.55; }
.niche-report-v2-ai header b { padding: 3px 7px; border-radius: 999px; background: var(--niche-v2-panel); color: var(--niche-v2-purple); font-size: 8px; white-space: nowrap; }
.niche-report-v2-ai-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.niche-report-v2-ai-grid p { margin: 0; padding: 11px 14px; border-right: 1px solid var(--niche-v2-line); color: var(--niche-v2-muted); font-size: 9px; line-height: 1.6; }
.niche-report-v2-ai-grid p:last-child { border-right: 0; }
.niche-report-v2-ai-grid span { display: block; margin-bottom: 2px; color: var(--niche-v2-ink); font-size: 8px; font-weight: 750; }

.niche-report-v2-profit { margin-top: 14px; padding: 16px; display: grid; grid-template-columns: 150px minmax(0,1fr) 150px; gap: 15px; align-items: end; border: 1px solid var(--niche-v2-line); border-radius: 11px; }
.niche-report-v2-profit h3 { align-self: center; margin: 0; font-size: 12px; }
.niche-report-v2-profit-fields { display: grid; grid-template-columns: repeat(4,minmax(90px,1fr)); gap: 8px; }
.niche-report-v2-profit label { color: var(--niche-v2-muted); font-size: 9px; }
.niche-report-v2-profit input { width: 100%; min-height: 36px; margin-top: 4px; padding: 0 8px; border: 1px solid var(--niche-v2-line-strong); border-radius: 8px; background: var(--niche-v2-panel); color: var(--niche-v2-ink); }
.niche-report-v2-profit-output span,.niche-report-v2-profit-output strong,.niche-report-v2-profit-output small { display: block; }
.niche-report-v2-profit-output span,.niche-report-v2-profit-output small { color: var(--niche-v2-muted); font-size: 9px; }
.niche-report-v2-profit-output strong { margin: 3px 0; color: var(--niche-v2-purple); font-size: 21px; }

.niche-report-v2 .niche-candidate-review { padding: 0; border: 0; border-radius: 0; }
.niche-report-v2 .niche-candidate-heading h2 { font-size: 21px; }
.niche-report-v2 .niche-candidate-summary { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--niche-v2-line); border-radius: 10px; background: var(--niche-v2-line); }
.niche-report-v2 .niche-candidate-summary .stat-card { min-height: 84px; border: 0; border-radius: 0; box-shadow: none; }
.niche-report-v2 .niche-candidate-card { border-color: var(--niche-v2-line); }
.niche-report-v2 .niche-candidate-card.is-manual-promoted { border-color: var(--niche-v2-purple); background: oklch(98% .018 292); }
.niche-report-v2 .niche-candidate-actions { position: sticky; top: 64px; z-index: 2; background: var(--niche-v2-panel); }

.niche-report-v2-warning { margin-top: 14px; padding: 0; border: 1px solid var(--niche-v2-line); border-radius: 10px; background: var(--niche-v2-panel); color: var(--niche-v2-muted); font-size: 10px; }
.niche-report-v2-warning summary { min-height: 42px; padding: 0 14px; display: flex; align-items: center; cursor: pointer; color: var(--niche-v2-ink); font-weight: 700; }
.niche-report-v2-warning ul { margin: 0; padding: 0 30px 14px; }

@media (max-width: 1180px) {
  .niche-report-v2-layout { grid-template-columns: 1fr; }
  .niche-report-v2-outline { display: none; }
  .niche-report-v2-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .niche-report-v2-metric:nth-child(3n) { border-right: 0; }
  .niche-report-v2-profit { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body[data-ui-version="9月4日AI细分市场分析更新版本"] .page-content { padding-inline: 8px; }
  .niche-codex-report.niche-report-v2-host { width: 100%; }
  .niche-report-v2 { border-inline: 0; border-radius: 0; }
  .niche-report-v2-hero { padding: 18px 14px; align-items: flex-start; flex-direction: column; }
  .niche-report-v2 .niche-report-score { width: 100%; min-height: 76px; grid-template-columns: auto auto auto; }
  .niche-report-v2-content { padding: 0 14px 36px; }
  .niche-report-v2-section { padding: 27px 0; }
  .niche-report-v2-heading { flex-direction: column; }
  .niche-report-v2-heading small { text-align: left; }
  .niche-report-v2-metrics,.niche-report-v2-columns { grid-template-columns: 1fr; }
  .niche-report-v2-metric { border-right: 0; border-bottom: 1px solid var(--niche-v2-line); }
  .niche-report-v2-coverage { grid-template-columns: 1fr; }
  .niche-report-v2-profit-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .niche-report-v2-ai header { grid-template-columns: 29px minmax(0,1fr); }
  .niche-report-v2-ai header b { grid-column: 2; justify-self: start; }
  .niche-report-v2-ai-grid { grid-template-columns: 1fr; }
  .niche-report-v2-ai-grid p { border-right: 0; border-bottom: 1px solid var(--niche-v2-line); }
  .niche-report-v2-ai-grid p:last-child { border-bottom: 0; }
  .niche-report-v2 .niche-candidate-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .niche-report-v2 .niche-candidate-actions { top: 56px; }
}

@media (prefers-reduced-motion: reduce) {
  .niche-report-v2 * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
