/* Editorial headings, quiet controls, and comfortable long-form reading. */
body { font-weight: 400; line-height: 1.75; letter-spacing: .012em; }
button, input, select, textarea { font-family: var(--font-body); }
.brand strong { font-family: var(--font-heading); font-size: 16px; font-weight: 650; letter-spacing: .055em; }
.brand small { font-size: 11px; letter-spacing: .055em; }
.button, .chip, .field, .field-group legend { font-weight: 500; }
.tab { font-size: 14px; font-weight: 600; letter-spacing: .075em; }
.eyebrow { font-weight: 600; letter-spacing: .08em; }
.palace-name { font-weight: 600; }
#app h1, #app h2, .dialog-heading h2, .section-heading h2,
.center-title, .center-mark, .bazi-pillar strong { font-family: var(--font-heading); }
#app h1 { font-weight: 650; line-height: 1.55; letter-spacing: .045em; text-wrap: pretty; }
#app h2 { font-size: clamp(20px,2.6vw,22px); font-weight: 600; line-height: 1.65; letter-spacing: .035em; }
#app h3, #app h4 { font-family: var(--font-body); font-weight: 600; line-height: 1.75; letter-spacing: .025em; }
.palace-report > summary strong { font-family: var(--font-heading); font-weight: 600; letter-spacing: .025em; }
.app-shell .identity-heading h2 { font-family: var(--font-body); font-size: 14px; letter-spacing: .015em; }
.app-shell details > summary { font-weight: 600; letter-spacing: .015em; }
.card .report-prose, .app-shell .card p, .reading-glance dd,
#palace-dialog-content .report-prose, .reflection-chain dd { line-height: 1.95; letter-spacing: .018em; }
.report-prose strong, .inline-topic, .reading-glance dt,
.spectrum-axis dt, .report-advice > strong { font-weight: 600; }
#app .reading-glance dt { font-size: 14px; letter-spacing: .025em; }
.story-best article p, .story-worst article p { line-height: 2.05; }
@media (max-width:700px) {
  .brand strong { font-size: 15px; }
  .tab { font-size: 13px; letter-spacing: .015em; }
  #app h1 { letter-spacing: .025em; }
}
