/* Balance desktop reading around a shared central column. */
:root { --reading-measure: 46rem; }
.life-path-card { margin-bottom: 18px; }
.life-path-stations { padding-left: 24px; line-height: 1.95; }
.reading-long { margin-block: 18px; }
.reading-close { display: flex; width: fit-content; margin: 22px auto 4px; }
details > summary { scroll-margin-top: 100px; }
.card .report-prose { width: 100%; max-width: var(--reading-measure); margin-inline: auto; }
#palace-dialog-content .report-prose { margin-inline: auto; }

@media (min-width: 900px) {
  .app-shell { width: min(100% - 64px,1160px); }
  .content { padding-top: 26px; }
  .stack { gap: 24px; }
  #app .card { padding: 30px 36px; }
  #app .card > h1 { text-align: center; border-left: 0; border-bottom: 3px solid #b79558; padding-block: 18px; }
  #app .card h2 { max-width: 100%; margin-inline: auto; padding: 5px 16px 12px; border-left: 0; border-bottom: 1px solid var(--page-border,#b5a17b); text-align: center; }
  #app .card > .eyebrow { display: block; margin-inline: auto; }
  #app .card > p, #app .card > details,
  #app .reader-facets, #app .reader-network, #app .reader-spectrum,
  #app .star-evidence, #app .reflection-chain, #app .story-basis {
    width: 100%; max-width: var(--reading-measure); margin-inline: auto;
  }
  #app .card > h1 + p, #app .page-intro > .report-prose { text-align: center; text-wrap: pretty; }
  #app .card > h1 + p { margin-bottom: 4px; }
  #app .section-heading { justify-content: center; text-align: center; }
  #app .section-heading > div { width: 100%; }
  #app .section-heading p { max-width: var(--reading-measure); margin-inline: auto; }
  #app .reading-glance { gap: 18px; margin-block: 24px; }
  #app .reading-glance > div { padding: 20px 22px; }
  #app .reading-glance dt { display: block; margin-inline: auto; text-align: center; }
  #app .fortune-views { gap: 20px; }
  #app .toggle-row, #app .chip-row, #app .lens-options { justify-content: center; }
  #app .card > .button { display: flex; width: fit-content; max-width: 100%; margin-inline: auto; justify-self: center; }
  #app .card > .report-jump { margin-top: 12px; }
  #app details.card > summary { display: block; position: relative; padding-inline: 42px; text-align: center; list-style: none; }
  #app details.card > summary::-webkit-details-marker { display: none; }
  #app details.card > summary::marker { content: ''; }
  #app details.card > summary::after { content: '+'; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); font-family: var(--font-body); font-size: 22px; font-weight: 400; }
  #app details.card[open] > summary::after { content: '−'; }
  #app .palace-report > summary span { display: block; margin: 0 0 4px; }
  #app .palace-report > summary strong { display: block; }
  #app .story-best > p, #app .story-worst > p { text-align: center; }
  .reading-controls { justify-content: flex-end; }
}
