/* Shared layout rhythm: preserve each register's data and table structure. */
.ledger-site {
    --ledger-section-space: 32px;
    --ledger-heading-space: 16px;
    --ledger-page-width: 1360px;
}
.ledger-volume { max-width: var(--ledger-page-width); }
.ledger-footer { text-align: center; }
.ledger-footer p { max-width: 760px; margin-inline: auto; }
.ledger-footer nav { justify-content: center; }

/* title, tabs and episode/series registers. */
.ledger-paper .ledger-content { padding-top: 24px; }
.ledger-paper .ledger-content .hero { padding-top: 0; }
.ledger-paper .ledger-content > .hero,
.ledger-paper .index-header { margin: 0 0 24px; }
.ledger-paper .hero-title { margin: 0; line-height: 1.15; }
.ledger-paper .ledger-tabs { flex-wrap: wrap; gap: 8px 24px; margin-top: 20px; }
.ledger-paper .ledger-tabs a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ledger-paper .ledger-tabs a:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; }
.ledger-paper .episode-layout { display: block; }
.ledger-paper .episode-layout .episode-summary { gap: var(--ledger-section-space); margin-bottom: var(--ledger-section-space); }
.ledger-paper .episode-summary > .team-ledger-sections { gap: var(--ledger-section-space); }
.ledger-paper .series-register h2 { margin: var(--ledger-section-space) 0 var(--ledger-heading-space); font-size: 1.5rem; }
.ledger-paper .series-register .page-section > h2:first-child { margin-top: 0; }

/* profile, object and place directories share one section rhythm. */
.ledger-paper .index-layout { display: block; }
.ledger-paper .page-section + .page-section { margin-top: var(--ledger-section-space); }
.ledger-paper .hero + .page-section { margin-top: 24px; }
.ledger-paper .person-ledger .page-section,
.ledger-paper .item-summary > .detail-card { margin-bottom: var(--ledger-section-space); }
.ledger-paper .person-register > .panel + .panel { margin-top: var(--ledger-section-space); }
.ledger-paper .card-title,
.ledger-paper .section-heading { margin-top: 0; margin-bottom: var(--ledger-heading-space); }
.ledger-paper .person-biography { max-width: 75ch; }

/* comparative tables keep local scrolling and clear section headings. */
.ledger-paper .table-shell { min-width: 0; max-width: 100%; }
.ledger-paper .statistics-section { margin-bottom: var(--ledger-section-space); }
.ledger-paper .statistics-main .performance-section { margin-block: var(--ledger-section-space); }
.ledger-paper .statistics-section > summary,
.ledger-paper .statistics-section > header.statistics-section-title { padding-block: var(--ledger-heading-space); }
.ledger-paper .statistics-section-body > .table-shell { margin-top: 0; }
@media (max-width: 700px) {
    .ledger-site { --ledger-section-space: 24px; }
    .ledger-paper .ledger-tabs { gap: 4px 20px; }
    .ledger-footer { padding-inline: 16px; }
}

.ledger-paper .statistics-sidebar .statistics-methodology-link a { display: inline; }

/* Enhanced item/person sections own their spacing, rather than stacking
   wrapper padding and margins around an already ruled statistics section. */
.ledger-paper .item-layout .detail-card:has(> .statistics-section) {
    padding: 0;
    border-top: 0;
    margin-bottom: 24px;
}
.ledger-paper :is(.item-layout, .person-ledger) .statistics-section {
    margin-bottom: 24px;
}
.ledger-paper :is(.item-layout, .person-ledger) .statistics-section:last-child {
    margin-bottom: 0;
}
.ledger-paper :is(.item-layout, .person-ledger) .statistics-section-body {
    padding-bottom: 0;
}
.ledger-paper .person-ledger .statistics-main > .page-section {
    margin-block: 0 24px;
}
.ledger-paper .person-ledger .ledger-tabs {
    margin-block: 12px 16px;
}
.ledger-paper .person-ledger nav[aria-label="Person appearance pages"] {
    margin-top: 20px;
}
