/* Chart and report share one typography rule, independent of star count. */
.palace-grid { --ziwei-star-size: 14px; }
.enlarged-scroll .palace-grid { --ziwei-star-size: 17px; }
:is(.chart-shell, .business-evidence-chart) .palace-card { padding: 6px 5px; }
:is(.chart-shell, .business-evidence-chart) .palace-star-columns,
.business-evidence-chart .enlarged-scroll .palace-star-columns,
.enlarged-scroll .palace-star-columns {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 3px 2px;
  margin: 3px 0;
  font-size: var(--ziwei-star-size);
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
}
:is(.chart-shell, .business-evidence-chart) .ziwei-star-column,
.business-evidence-chart .enlarged-scroll .ziwei-star-column,
.enlarged-scroll .ziwei-star-column {
  font-size: inherit;
  flex: 0 0 1em;
  width: 1em;
  min-width: 1em;
  max-width: none;
}
.palace-grid .ziwei-star-column > b { font-size: inherit; }
.palace-grid .ziwei-star-column small { font-size: .72em; }
.palace-grid .ziwei-star-column em { font-size: .8em; }
:is(.chart-shell, .business-evidence-chart) .palace-triad {
  font-size: 7px;
  line-height: 1.2;
  gap: 1px 3px;
  margin-top: 2px;
  padding-top: 0;
  flex-shrink: 0;
}
@media (max-width: 800px) {
  .palace-grid { --ziwei-star-size: 11px; }
  .enlarged-scroll .palace-grid { --ziwei-star-size: 14px; }
  :is(.chart-shell, .business-evidence-chart) .palace-card { padding: 3px 2px; }
  :is(.chart-shell, .business-evidence-chart) .palace-triad { font-size: 6px; }
}
@media (max-height: 740px) and (max-width: 800px) {
  .palace-grid { --ziwei-star-size: 10px; }
}
