html {
    font-family: sans-serif;
    line-height: 1.15;
  	scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

body {
    margin: 0;
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: left;
    background-color: #f5f7fb
}

.table th {
    color: #9aa0ac;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 400 !important;
}

.scroll-dupont-container {
  overflow-x: auto;
  position: relative;
  z-index: 98;
}

#dupont-analysis {
  overflow-x: unset !important;
}

.Treant {
  position: relative;
  padding: 0 !important;
}

.Treant .node {
  visibility: visible;
  position: absolute;
  display: block;
}

.dupont-node {
  padding: 10px;
  border-radius: 3px;
  background-color: #ffffff;
  border: 1px solid #000000;
  width: 100px;
  font-size: 12px;
}

.dupont-node h3 {
  font-size: 0.8rem;
}

.dupont-node .summary-link {
  position: absolute;
  bottom: -30px;
  font-size: 16px;
  font-weight: bold;
  display: block;
}

#score-table tbody th {
  min-width: 80px;
  font-size: 0.7em;
  vertical-align: middle;
  text-align: right;
}

#radar-container {
  position: relative;
  height: 30vh;
  overflow: hidden;
}

.half-bg-red-lt {
    background: linear-gradient(to bottom, transparent 50%, rgba(214, 57, 57, 0.1) 50%);
    display: inline;
}

/* 经济周期颜色变量 */
:root {
  --cycle-recession: #656d77; /* 衰退期 */
  --cycle-recovery: #74b816; /* 复苏期 */
  --cycle-overheat: #d63939; /* 过热期 */
  --cycle-stagflation: #f59f00; /* 滞胀期 */
  --cycle-unknown: #FFFFE0; /* 未公布 */
}

/* 周期状态标签 */
.cycle-tag {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  color: white;
}

.cycle-tag-recession {
  background-color: var(--cycle-recession);
  border: 1px solid;
}

.cycle-tag-recovery {
  background-color: var(--cycle-recovery);
  border: 1px solid;
}

.cycle-tag-overheat {
  background-color: var(--cycle-overheat);
  border: 1px solid;
}

.cycle-tag-stagflation {
  background-color: var(--cycle-stagflation);
  border: 1px solid;
}

/* 图表配色（适用于热力图/折线图等） */
.cycle-chart .recession {
  fill: var(--cycle-recession);
}

.cycle-chart .recovery {
  fill: var(--cycle-recovery);
}

.cycle-chart .overheat {
  fill: var(--cycle-overheat);
}

.cycle-chart .stagflation {
  fill: var(--cycle-stagflation);
}

.cycle-chart .unknown {
  fill: var(--cycle-unknown);
  stroke: #d9d9d9;
}

/* 文本颜色（用于强调） */
.text-cycle-recession {
  color: var(--cycle-recession);
}

.text-cycle-recovery {
  color: var(--cycle-recovery);
}

.text-cycle-overheat {
  color: var(--cycle-overheat);
}

.text-cycle-stagflation {
  color: var(--cycle-stagflation);
}