/* Ledger pilot: scoped to the shared ledger shell. */
.ledger-site {
    --ink: #29221d; --ink-soft: #665647; --line: #cbb998;
    --link: #713d35; --link-hover: #48251f;
    --font-body: 'EB Garamond', Georgia, 'Times New Roman', serif;
    --font-heading: 'EB Garamond', Georgia, 'Times New Roman', serif;
    background: #241914; color: var(--ink); padding: 28px 24px;
}
.ledger-volume { max-width: 1500px; margin: auto; background: #3a281e; padding: 0 12px 12px; border: 1px solid #59402d; box-shadow: 0 12px 40px #0005; }
.ledger-masthead { text-align: center; padding: 30px 16px 22px; color: #f1e5cc; }
.ledger-wordmark { color: #f1e5cc; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: bold; line-height: 1.2; }
.ledger-wordmark:hover { color: #fff8e8; }
.ledger-masthead p { margin: 10px 0 0; color: #dbc8a7; font-style: italic; }
.ledger-navigation { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; padding: 12px; border-top: 1px solid #a8895566; color: #f1e5cc; font-family: var(--font-ui); font-size: .9rem; }
.ledger-navigation > a, .ledger-menu summary { color: #f1e5cc; padding: 6px 0; cursor: pointer; }
.ledger-menu { position: relative; }
.ledger-menu ul { position: absolute; z-index: 10; top: 100%; left: 0; min-width: 190px; margin: 0; padding: 8px 0; list-style: none; background: #f1e5cc; border: 1px solid #8a704e; box-shadow: 0 8px 16px #0003; }
.ledger-menu a { display: block; padding: 9px 16px; }
.ledger-paper { background: #f5eddb; padding: 24px clamp(16px, 3vw, 46px) 32px; min-width: 0; }
.running-header { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid #8a704e; font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; color: #665647; }
.ledger-tabs { display: flex; gap: 24px; margin-top: 24px; border-bottom: 1px solid var(--line); font-family: var(--font-ui); font-size: .9rem; }
.ledger-tabs a { padding: 8px 0; }
.ledger-tabs [aria-current] { border-bottom: 3px solid #713d35; font-weight: 600; }
.ledger-paper .page-section { margin: 0 0 28px; }
.ledger-paper .hero, .ledger-paper .search-panel, .ledger-paper .table-shell { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.ledger-paper .hero { padding: 24px 0 0; }
.ledger-paper .hero-title { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 4px; }
.ledger-paper .hero-subtitle { color: #665647; }
.ledger-paper .section-heading { font-size: 1.2rem; }
.ledger-paper .search-row { gap: 16px; }
.ledger-paper input, .ledger-paper select { background: #fffaf0; border: 1px solid #8a704e; border-radius: 2px; color: #29221d; }
.ledger-paper .button-link { border-radius: 2px; background: transparent; border: 1px solid #8a704e; color: #48251f; box-shadow: none; }
.ledger-paper button.button-link { background: #713d35; color: #fff8ed; border-color: #713d35; }
.ledger-paper details > summary { width: fit-content; cursor: pointer; margin: 12px 0; }
.ledger-paper .table-shell { overflow-x: auto; }
.ledger-paper .data-table { width: 100%; font-size: .92rem; }
.ledger-paper .data-table th { background: transparent; color: #665647; font-family: var(--font-heading); font-size: .73rem; letter-spacing: .07em; text-transform: uppercase; border-top: 2px solid #8a704e; border-bottom: 1px solid #8a704e; }
.ledger-paper .data-table td { border-bottom: 1px solid var(--line); vertical-align: top; }
.ledger-paper .data-table th, .ledger-paper .data-table td { padding: 16px 10px; }
.ledger-paper .data-table tbody tr:nth-child(even), .ledger-paper .data-table tbody tr:hover { background: transparent; }
.ledger-paper .data-table a:hover { text-decoration: underline; }
.ledger-paper nav[aria-label="Directory pages"] { border-top: 1px solid #8a704e; margin-top: 24px; padding-top: 20px; justify-content: center; font-variant-numeric: tabular-nums; }
.ledger-footer { color: #dbc8a7; font-size: 1rem; line-height: 1.6; padding: 24px 24px 12px; }
.ledger-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.ledger-footer a { color: #f1e5cc; }
.ledger-footer .footer-membership { display: inline-block; padding: 8px 16px; border: 1px solid #a88955; text-decoration: none; }
.ledger-footer .footer-membership:hover { background: #f1e5cc; color: #29221d; }
.ledger-footer a:focus-visible { outline: 2px solid #f1e5cc; outline-offset: 4px; }
.ledger-site :focus-visible { outline: 3px solid #a88955; outline-offset: 4px; }
.skip-link { position: absolute; left: 12px; top: -100px; background: #fffaf0; padding: 12px; z-index: 30; }
.skip-link:focus { top: 12px; }
@media (max-width: 700px) {
    .ledger-site { padding: 0; }
    .ledger-volume { padding: 0 4px 4px; border: 0; }
    .ledger-navigation { justify-content: flex-start; gap: 4px 20px; }
    .ledger-menu { position: static; }
    .ledger-menu ul { left: 8px; right: 8px; top: auto; }
    .running-header span:last-child { display: none; }
    .ledger-paper .data-table { min-width: 1000px; }
}

/* Shared page sections retain their data layout, using rules instead of boxes. */
.ledger-content { min-width: 0; padding-top: 24px; }
.ledger-content > .hero { margin-bottom: 28px; }
.ledger-paper .panel, .ledger-paper .card, .ledger-paper .data-card, .ledger-paper .summary-card,
.ledger-paper .detail-card, .ledger-paper .record-card,
.ledger-paper .stat-card, .ledger-paper .filter-panel {
    background: transparent; border: 0; border-top: 1px solid #8a704e;
    border-radius: 0; box-shadow: none; padding: 20px 0;
    min-width: 0;
}
.ledger-paper .card-title { font-size: 1.3rem; color: #29221d; }
.ledger-paper .card-subtitle, .ledger-paper .card-note { color: #665647; }
.ledger-paper .panel-grid, .ledger-paper .episode-summary,
.ledger-paper .item-summary { gap: 32px; }
.ledger-paper .fact-row { border-bottom-color: var(--line); }
.ledger-paper .fact-value { min-width: 0; overflow-wrap: anywhere; }
.ledger-paper .items-table { overflow-x: auto; }
.ledger-paper .items-table table { width: 100%; border-collapse: collapse; }
.ledger-paper .items-table th { background: transparent; color: #665647; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.ledger-paper .items-table th, .ledger-paper .items-table td { padding: 12px 6px; border-bottom: 1px solid var(--line); vertical-align: top; }
.ledger-paper .status-pill, .ledger-paper .badge { background: transparent; border-radius: 0; border: 0; padding: 2px 0; }
.ledger-paper .status-pill--bonus { color: #713d35; }
.ledger-paper .about-sidebar, .ledger-paper .about-nav,
.ledger-paper .faq-item { background: transparent; border-radius: 0; box-shadow: none; }
.ledger-paper .faq-item { border: 0; border-top: 1px solid var(--line); }
.ledger-paper .search-actions { flex-wrap: wrap; }
.ledger-paper .search-actions a { white-space: normal; }
.ledger-paper .data-table tbody td { font-weight: normal; }
.ledger-paper .data-table thead th { background: transparent; }
.ledger-paper .data-table tbody tr:hover { background: #e8d8b833; }
.ledger-paper .search-field input, .ledger-paper .search-field select { min-width: 0; max-width: 100%; font-family: var(--font-ui); }
@media (max-width: 1100px) {
    .ledger-paper .episode-summary, .ledger-paper .item-summary { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .ledger-paper .data-table { min-width: 620px; }
    .ledger-paper .episode-summary, .ledger-paper .item-summary,
    .ledger-paper .panel-grid, .ledger-paper .about-layout { grid-template-columns: 1fr; }
    .ledger-paper .fact-row { grid-template-columns: minmax(100px, 40%) minmax(0, 1fr); }
}
.ledger-paper .items-table { border: 0; border-top: 1px solid #8a704e; border-radius: 0; }
.ledger-paper .section-nav, .ledger-paper .prose-card {
    background: transparent; border: 0; border-top: 1px solid #8a704e;
    border-radius: 0; box-shadow: none; padding: 20px 0;
}
.ledger-paper form > .button-link { margin-top: 12px; }
.ledger-paper form > select { padding: 8px; margin: 0 12px; font-family: var(--font-ui); }

/* Shared tracks keep team headers, item sections and results aligned. */
.ledger-paper .bonus-marker { display: block; font-family: var(--font-ui); font-size: .75rem; color: #665647; font-style: italic; }
.ledger-paper .team-result-rows { margin: 0; }
.ledger-paper .team-result-rows .fact-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (min-width: 1101px) {
    .ledger-paper .episode-summary { row-gap: 16px; align-items: stretch; }
    .ledger-paper .episode-summary > .detail-card { display: block; }
    .ledger-paper .episode-summary > .detail-card > header { margin: 0; }
    .ledger-paper .episode-summary > .detail-card > header p { margin-bottom: 0; }
    .ledger-paper .episode-summary .team-card > section > h3 { margin-top: 0; }
    .ledger-paper .episode-overview > .fact-list { margin: 0; align-self: start; }
    .ledger-paper .episode-overview > .fact-list > .fact-row:first-child { padding-top: 0; }
    .ledger-paper .team-totals { margin-top: 0; }
}
.ledger-paper .episode-summary .team-card > section > h3 { font-size: 1rem; line-height: 1.6; }
.ledger-paper .account-content { max-width: 640px; margin: auto; }
.ledger-paper .account-content label { display: block; font-family: var(--font-ui); }
.ledger-paper .account-content input:not([type="hidden"]) { width: 100%; padding: 10px; }
.ledger-paper .errorlist { color: #713d35; }

.ledger-tabs.person-role-tabs { flex-wrap: wrap; margin-bottom: 24px; }

/* Full-width record entries share the archive's ruled table treatment. */
.ledger-paper .records-register .record-value { white-space: nowrap; }
.ledger-paper .records-register .record-scope { color: #665647; font-size: .85em; }

/* Give research controls, summary and results distinct breathing room. */
.ledger-paper .research-comparison-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.ledger-paper .research-comparison-layout > * { min-width: 0; }
.ledger-paper .research-comparison-layout > .page-section { margin: 0; }
.ledger-paper .research-comparison-controls .search-panel { margin: 0; }
.ledger-paper .research-comparison-controls .button-link { margin-top: 16px; }
.ledger-paper .research-comparison-summary,
.ledger-paper .research-comparison-results { border-top: 1px solid var(--line); padding-top: 24px; }
.ledger-paper .research-comparison-layout h2 { margin: 0 0 20px; }
.ledger-paper .research-comparison-summary p { margin: 0 0 12px; }
.ledger-paper .research-comparison-summary p:last-child { margin-bottom: 0; }
.ledger-paper .research-comparison-results .search-actions { margin-top: 24px; }

/* Person roles use full-width ruled entries, with no half-empty panel grid. */
.ledger-paper .person-ledger .person-register { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.ledger-paper .person-ledger .fact-row { display: grid; grid-template-columns: minmax(180px, 34%) minmax(0, 1fr); gap: 24px; padding: 14px 10px; }
.ledger-paper .person-ledger .fact-value { margin: 0; }
.ledger-paper .person-ledger .fact-list { margin: 0; }
.ledger-paper .person-ledger .page-section { margin-bottom: 36px; }
.ledger-paper .person-ledger details { margin-top: 24px; }
.ledger-paper .person-biography { border-top: 1px solid var(--line); padding-top: 24px; }
@media (max-width: 700px) {
    .ledger-paper .person-ledger .fact-row { grid-template-columns: minmax(0, 45%) minmax(0, 1fr); gap: 16px; padding: 12px 0; }
}

/* Person statistics share the Records table typography and ruled rows. */
.ledger-paper .person-statistics-table { table-layout: fixed; }
.ledger-paper .person-statistics-table th:first-child { width: 55%; }
.ledger-paper .person-statistics-table td { overflow-wrap: anywhere; }

/* Objects and Places use the same full-width register as people and records. */
.ledger-paper .object-place-ledger .ledger-register-stack,
.ledger-paper .object-place-ledger .item-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.ledger-paper .object-place-ledger .detail-ledger-table { table-layout: fixed; }
.ledger-paper .object-place-ledger .detail-ledger-table th:first-child { width: 55%; }
.ledger-paper .object-place-ledger .data-table td { overflow-wrap: anywhere; }

/* Episode register: overview followed by the two complete team ledgers. */
.ledger-paper .episode-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.ledger-paper .episode-summary > .detail-card { display: block; grid-row: auto; }
.ledger-paper .team-ledger tfoot th { text-transform: none; letter-spacing: normal; font-size: inherit; }
.ledger-paper .team-ledger tfoot td { border-bottom: 1px solid var(--line); }

/* One continuous, full-width rule for every episode ledger entry. */
.ledger-paper .episode-layout .table-shell,
.ledger-paper .episode-layout .data-table { width: 100%; max-width: none; }
.ledger-paper .episode-layout .data-table { border-collapse: collapse; table-layout: fixed; }
.ledger-paper .episode-layout .data-table tr { border-bottom: 1px solid var(--line); }
.ledger-paper .episode-layout .data-table td,
.ledger-paper .episode-layout .data-table tfoot td { border: 0; text-align: left; padding: 16px 10px; }
.ledger-paper .episode-layout .data-table .ledger-section-title { text-align: left; text-transform: none; letter-spacing: normal; font-size: 1.3rem; }
.ledger-paper .episode-layout .data-table td { overflow-wrap: anywhere; }
.ledger-paper .episode-overview .data-table td:first-child,
.ledger-paper .episode-related .data-table td:first-child { width: 40%; }

/* Episode alignment and clear boundaries between metadata, items and results. */
.ledger-paper .episode-layout .episode-overview tbody td:last-child,
.ledger-paper .episode-layout .episode-related tbody td:last-child,
.ledger-paper .episode-layout .data-table td.ledger-value-right { text-align: right; }
.ledger-paper .episode-layout .episode-summary { gap: 56px; margin-bottom: 56px; }
.ledger-paper .episode-layout .episode-summary > .detail-card { border-top: 0; padding: 0; }
.ledger-paper .episode-layout .episode-related { margin-top: 0; }
.ledger-paper .episode-layout .team-ledger .ledger-column-headings,
.ledger-paper .episode-layout .team-ledger tfoot { border-top: 2px solid #8a704e; }
.ledger-paper .episode-layout .team-ledger .ledger-column-headings th { border-top: 0; }

/* Values begin on shared column guides rather than the outer right edge. */
.ledger-paper .episode-layout .episode-overview tbody td:last-child,
.ledger-paper .episode-layout .episode-related tbody td:last-child,
.ledger-paper .episode-layout .data-table td.ledger-value-right { text-align: left; }
.ledger-paper .episode-overview .data-table td:first-child,
.ledger-paper .episode-related .data-table td:first-child { width: auto; }

/* Small-cap headings and labels; archive values retain their original case. */
.ledger-paper h1, .ledger-paper h2, .ledger-paper h3,
.ledger-paper h4, .ledger-paper h5, .ledger-paper h6,
.ledger-paper .data-table th,
.ledger-paper .fact-term,
.ledger-paper .detail-ledger-table tbody td:first-child,
.ledger-paper .person-statistics-table tbody td:first-child,
.ledger-paper .episode-overview tbody td:first-child,
.ledger-paper .episode-related tbody td:first-child,
.ledger-paper .team-metadata tbody tr:first-child td:first-child,
.ledger-paper .team-metadata tbody tr:nth-child(2) td:first-child,
.ledger-paper .team-ledger tfoot td:first-child {
    font-variant-caps: small-caps;
    text-transform: none;
}

/* Separate team metadata, item columns and results into distinct registers. */
.ledger-paper .episode-summary > .team-ledger-sections { display: flex; flex-direction: column; gap: 36px; }
.ledger-paper .team-ledger-sections .table-shell { margin: 0; flex: 0 0 auto; }
.ledger-paper .episode-layout .team-results tfoot { border-top: 0; }

/* Match item column headings to the starting edge of their data cells. */
.ledger-paper .episode-layout .team-ledger .ledger-column-headings th {
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
}

/* Give the page's running title breathing room below the archive switcher. */
.ledger-paper > .ledger-tabs + .running-header { margin-top: 28px; }

/* Scope information uses the same ruled label/value rhythm as the ledger. */
.ledger-paper .scope-ledger { margin: 16px 0 24px; border-top: 1px solid #8a704e; }
.ledger-paper .scope-ledger > div { display: grid; grid-template-columns: 57% minmax(0, 43%); border-bottom: 1px solid var(--line); padding: 10px; gap: 0; }
.ledger-paper .scope-ledger dt { font-variant-caps: small-caps; }
.ledger-paper .scope-ledger dd { margin: 0; overflow-wrap: anywhere; }
.ledger-paper .scope-ledger label { font: inherit; color: inherit; margin: 0; }
.ledger-paper .search-panel:has(> .scope-ledger) { display: block; }
@media (max-width: 600px) {
    .ledger-paper .scope-ledger > div { grid-template-columns: 55% minmax(0, 45%); }
}

/* Scope and statistics use one shared column axis, separated by white space. */
.ledger-paper .person-ledger .scope-ledger,
.ledger-paper .object-place-ledger .scope-ledger { margin-bottom: 48px; }
.ledger-paper .person-ledger .scope-ledger > div,
.ledger-paper .object-place-ledger .scope-ledger > div { grid-template-columns: 55% minmax(0, 45%); padding: 10px 0; }
.ledger-paper .person-ledger .scope-ledger dt,
.ledger-paper .object-place-ledger .scope-ledger dt { padding: 0 10px; }
.ledger-paper .person-ledger .scope-ledger dd,
.ledger-paper .object-place-ledger .scope-ledger dd { padding: 0 10px; text-align: center; }
.ledger-paper .page-description { margin: 24px 0 36px; }

/* Homepage summaries share the full-width ledger's label/value columns. */
.ledger-paper .home-register { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; }
.ledger-paper .home-layout .fact-list { margin: 0; }
.ledger-paper .home-layout .fact-row { display: grid; grid-template-columns: 55% minmax(0, 45%); gap: 0; padding: 16px 0; }
.ledger-paper .home-layout .fact-term,
.ledger-paper .home-layout .fact-value { padding: 0 10px; margin: 0; overflow-wrap: anywhere; }
.ledger-paper .home-layout .fact-value { text-align: center; }

/* Account forms retain ledger rules while keeping controls easy to scan. */
.ledger-paper .account-ledger { max-width: 760px; }
.ledger-paper .account-ledger-registration { max-width: 1120px; }
.ledger-paper .account-ledger h1 { margin-bottom: 32px; }
.ledger-paper .account-entry-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(240px, 1fr); gap: 40px; align-items: start; }
.ledger-paper .account-ledger-fields { border-top: 1px solid #8a704e; }
.ledger-paper .account-ledger-row { display: grid; grid-template-columns: minmax(120px, 30%) minmax(0, 1fr); gap: 20px; padding: 20px 10px; border-bottom: 1px solid var(--line); align-items: start; }
.ledger-paper .account-ledger-row label { font-family: var(--font-heading); font-variant-caps: small-caps; padding-top: 10px; }
.ledger-paper .account-ledger-entry { min-width: 0; }
.ledger-paper .account-field-help { margin-top: 10px; color: #665647; font-size: .88rem; }
.ledger-paper .account-password-note { border-top: 1px solid #8a704e; padding: 20px 10px; color: #665647; font-variant-caps: small-caps; }
.ledger-paper .account-password-note h2 { font-size: 1.1rem; margin: 0 0 16px; }
.ledger-paper .account-password-note ul { list-style-type: upper-roman; margin: 0; padding-left: 2rem; }
.ledger-paper .account-password-note li { padding-left: 6px; margin-bottom: 12px; }
.ledger-paper .account-ledger-actions { margin-top: 28px; }
.ledger-paper .account-help-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); }
.ledger-paper .account-ledger .errorlist { margin: 10px 0; padding-left: 20px; }
@media (max-width: 760px) {
    .ledger-paper .account-entry-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 480px) {
    .ledger-paper .account-ledger-row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 16px 0; }
    .ledger-paper .account-ledger-row label { padding-top: 0; }
    .ledger-paper .account-help-links { flex-direction: column; }
}

.ledger-paper .account-username-note { margin-bottom: 28px; }
.ledger-paper .account-password-note .account-confirmation-rule { list-style-type: upper-roman; margin: 0; padding-left: 2rem; }
.ledger-paper .account-input-actions { display: grid; grid-template-columns: minmax(120px, 30%) minmax(0, 1fr); gap: 20px; padding: 0 10px; }
.ledger-paper .account-input-actions .button-link { grid-column: 2; justify-self: center; }
@media (max-width: 480px) {
    .ledger-paper .account-input-actions { grid-template-columns: minmax(0, 1fr); padding: 0; }
    .ledger-paper .account-input-actions .button-link { grid-column: 1; }
}

/* Account summary uses the same ruled label/value layout as ledger entries. */
.ledger-paper .account-summary .fact-list { margin: 0; border-top: 1px solid #8a704e; }
.ledger-paper .account-summary .fact-row { display: grid; grid-template-columns: minmax(130px, 55%) minmax(0, 1fr); gap: 20px; padding: 18px 10px; border-bottom: 1px solid var(--line); }
.ledger-paper .account-summary .fact-term,
.ledger-paper .account-summary .fact-value { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.ledger-paper .account-summary .fact-value { text-align: left; }
.ledger-paper .account-summary .account-status-note { margin: 16px 10px 0; }
.ledger-paper .account-research-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 36px 10px 40px; }
.ledger-paper .account-summary-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding: 18px 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ledger-paper .account-summary-actions form { margin: 0; }
.ledger-paper .account-summary-actions .account-action { display: inline-block; margin: 0; padding: 6px 0; width: auto; min-height: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--accent, #783f32); font-family: var(--font-ui); font-size: .9rem; font-weight: 400; line-height: 1.5; text-decoration: none; cursor: pointer; }
.ledger-paper .account-summary-actions .account-action:hover { text-decoration: underline; text-underline-offset: 4px; }
.ledger-paper .account-summary-actions .account-action:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.ledger-paper .account-sandbox-note { margin-top: 28px; color: #665647; font-size: .88rem; }
@media (max-width: 480px) {
    .ledger-paper .account-summary .fact-row { grid-template-columns: minmax(0, 42%) minmax(0, 58%); gap: 0; padding: 16px 0; }
    .ledger-paper .account-summary .fact-value { padding-left: 12px; }
}

.ledger-paper .membership-introduction { max-width: 760px; margin-bottom: 36px; }
.ledger-paper .membership-plan { display: grid; grid-template-columns: minmax(80px, .75fr) minmax(130px, 1fr) auto; align-items: center; gap: 16px; padding: 22px 10px; border-bottom: 1px solid var(--line); }
.ledger-paper .membership-plan h2 { margin: 0; font-size: 1rem; font-variant-caps: small-caps; }
.ledger-paper .membership-plan p { margin: 0; }
.ledger-paper .membership-choice { width: auto; margin: 0; padding: 8px 12px; border: 1px solid #8a704e; border-radius: 0; background: transparent; color: #783f32; font-family: var(--font-ui); font-size: .9rem; font-weight: 400; line-height: 1.5; cursor: pointer; }
.ledger-paper .membership-choice:hover:not(:disabled) { background: #8a704e18; }
.ledger-paper .membership-choice:focus-visible { outline: 2px solid #783f32; outline-offset: 3px; }
.ledger-paper .membership-choice:disabled { opacity: .55; cursor: not-allowed; }
.ledger-paper .membership-information p { margin: 0 0 20px; }
@media (max-width: 600px) {
    .ledger-paper .membership-plan { grid-template-columns: minmax(0, 1fr) auto; }
    .ledger-paper .membership-plan .membership-choice { grid-column: 2; }
}

.ledger-paper .scope-summary-note { margin: 12px 10px 0; font-size: .88rem; color: #665647; }

/* Shared compact filter controls; statistics has one combined GET form. */
.ledger-paper .search-row { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 14px 20px; align-items: end; }
.ledger-paper .search-field { min-width: 0; align-content: end; gap: 8px; }
.ledger-paper .search-field label { margin: 0; font-family: var(--font-heading); font-variant-caps: small-caps; font-weight: 400; font-size: 1rem; line-height: 1.4; }
.ledger-paper .search-field input:not([type="checkbox"]):not([type="radio"]),
.ledger-paper .search-field select { box-sizing: border-box; height: 42px; margin: 0; padding: 8px 10px; font-size: .9rem; line-height: 1.4; border-radius: 0; }
.ledger-paper .search-panel > .button-link { margin-top: 16px; }
.ledger-paper .statistics-layout .index-summary { grid-template-columns: minmax(0, 1fr); }
.ledger-paper .statistics-layout .summary-card { min-width: 0; width: 100%; box-sizing: border-box; }
.ledger-paper .advanced-filters { margin-top: 20px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ledger-paper .advanced-filters summary { cursor: pointer; font-family: var(--font-heading); font-variant-caps: small-caps; color: #665647; }
.ledger-paper .advanced-filters[open] summary { margin-bottom: 18px; }
.ledger-paper .advanced-filters summary:focus-visible { outline: 2px solid #783f32; outline-offset: 4px; }

.ledger-paper .contact-ledger { margin-top: 24px; }
.ledger-paper .contact-ledger .fact-row { display: grid; grid-template-columns: minmax(0, 35%) minmax(0, 65%); gap: 0; padding: 16px 10px; border-bottom: 1px solid var(--line); }
.ledger-paper .contact-ledger .fact-term,
.ledger-paper .contact-ledger .fact-value { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.ledger-paper .contact-ledger .fact-value { padding-left: 16px; }

/* Keep narrow episode grids from inheriting the table's minimum width. */
.ledger-paper .episode-layout { grid-template-columns: minmax(0, 1fr); }
.ledger-paper .episode-layout > *,
.ledger-paper .episode-summary > * { min-width: 0; }
.ledger-paper #index-overview-heading { font-size: 1.2rem; }

/* Directory and record tables scroll inside their containing grid track. */
.ledger-paper .index-layout,
.ledger-paper .records-layout { grid-template-columns: minmax(0, 1fr); }
.ledger-paper .index-layout > *,
.ledger-paper .records-layout > * { min-width: 0; }

/* Membership actions and scoped statistics navigation. */
.ledger-paper .membership-choice { width: 10rem; max-width: 100%; background: #914b45; border-color: #914b45; color: #fffaf0; font-weight: 600; }
.ledger-paper .membership-choice:hover:not(:disabled) { background: #753a35; border-color: #753a35; }
.scope-tabs { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-block: 1rem; }
.bonus-category-table { min-width: 76rem; }

/* Self-hosted SIL Open Font License typefaces. */
@font-face { font-family: 'EB Garamond'; src: url("../fonts/EBGaramond[wght].90a58d69f647.ttf") format('truetype'); font-weight: 400 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'EB Garamond'; src: url("../fonts/EBGaramond-Italic[wght].f428fcb135d4.ttf") format('truetype'); font-weight: 400 800; font-style: italic; font-display: swap; }
@font-face { font-family: 'IM Fell English SC'; src: url("../fonts/IMFeENsc28P.fdde9f92d15f.ttf") format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
.ledger-paper .data-table th, .ledger-paper .fact-term { font-family: 'IM Fell English SC', Georgia, serif; font-weight: 400; font-variant: normal; text-transform: none; letter-spacing: .02em; font-size: 1rem; }
.ledger-paper .data-table td, .ledger-paper .fact-value { font-variant-numeric: lining-nums tabular-nums; }

/* Row headers share the same rules as their neighbouring values. */
.ledger-paper .data-table tbody th { border-top: 0; border-bottom: 1px solid var(--line); }
.ledger-paper .data-table tbody tr:last-child > th,
.ledger-paper .data-table tbody tr:last-child > td { border-bottom: 1px solid var(--line); }
/* Compact search toolbar, with expanded filters on their own row. */
.ledger-paper .search-panel form:has(input[type="search"]) { display: grid; grid-template-columns: minmax(200px, 24rem) auto auto; justify-content: start; align-items: end; gap: 16px; }
.ledger-paper .search-panel form:has(input[type="search"]) > .search-row { grid-column: 1; grid-row: 1; margin: 0; }
.ledger-paper .search-panel form:has(input[type="search"]) > .search-actions { grid-column: 2; grid-row: 1; margin: 0; flex-wrap: nowrap; }
.ledger-paper .search-panel form:has(input[type="search"]) > details { display: contents; }
.ledger-paper .search-panel form:has(input[type="search"]) > details > summary { grid-column: 3; grid-row: 1; margin: 0; white-space: nowrap; }
.ledger-paper .search-panel form:has(input[type="search"]) > details > :not(summary) { grid-column: 1 / -1; margin-top: 8px; }
.ledger-paper .search-panel form:has(input[type="search"]) > details:not([open]) > :not(summary) { display: none; }
.ledger-paper .search-panel form:has(input[type="search"]) .button-link { min-height: 42px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
.ledger-paper .about-sidebar { align-self: start; }
.ledger-paper .about-navigation-title { font-size: 1.1rem; margin: 0 0 20px; }
.ledger-paper .about-section > summary { width: auto; margin: 0; padding: 18px 0; cursor: pointer; }
.ledger-paper .about-section > summary h2 { display: inline; margin: 0; }
.ledger-paper .about-section > .card-body { padding-bottom: 20px; }
@media (max-width: 760px) {
 .ledger-paper .search-panel form:has(input[type="search"]) { grid-template-columns: minmax(0, 1fr); justify-content: stretch; }
 .ledger-paper .search-panel form:has(input[type="search"]) > .search-actions { grid-column: 1; grid-row: 2; }
 .ledger-paper .search-panel form:has(input[type="search"]) > details > summary { grid-column: 1; grid-row: 3; justify-self: start; }
}

.ledger-paper .about-section { padding: 0; }
.ledger-paper .content-stack:has(.about-section) { gap: 12px; }
.ledger-paper .search-panel form:has(input[type=search]) .button-link { height: 42px; padding: 8px 14px; line-height: 1.4; }

.ledger-paper .search-panel form:has(input[type=search]) > details::details-content { display: contents; }

.ledger-paper .performance-section { margin-block: 36px; }
.ledger-paper .performance-section h3 { margin-bottom: 16px; }
.ledger-paper .search-field label { display: block; margin-bottom: 12px; }
.ledger-paper .access-ledger { display: flex; flex-wrap: wrap; gap: 24px; border-block: 1px solid var(--line); padding: 18px 10px; }
.ledger-paper .person-register { display: block; }
.ledger-paper .person-register > .panel + .panel { margin-top: 36px; }
.ledger-paper .bonus-category-table { min-width: 90rem; }

.ledger-paper .person-statistics-table,
.ledger-paper .object-place-ledger .detail-ledger-table { table-layout: auto; }
.ledger-paper .person-statistics-table th:first-child,
.ledger-paper .object-place-ledger .detail-ledger-table th:first-child { width: auto; }
.ledger-paper .person-statistics-table th,
.ledger-paper .detail-ledger-table th { min-width: 8rem; }
.ledger-paper .person-statistics-table tbody td,
.ledger-paper .detail-ledger-table tbody td { font-variant-caps: normal; }

/* All ledger values use the same type size and numeral features. */
.ledger-paper .data-table tbody td,
.ledger-paper .data-table tbody td a,
.ledger-paper .data-table tbody td .numeric,
.ledger-paper .data-table tbody td .status-pill {
    font-family: var(--font-body); font-size: 1.0625rem; font-weight: 400;
    font-variant-caps: normal; font-variant-numeric: lining-nums tabular-nums;
}
.ledger-paper .data-table tbody td .status-pill { padding: 0; background: transparent; border: 0; }
.ledger-paper .bonus-category-table { min-width: 80rem; }

.ledger-paper .detail-ledger-table tbody td:first-child,
.ledger-paper .person-statistics-table tbody td:first-child { font-variant-caps: normal; }
.ledger-paper .item-layout, .ledger-paper .item-summary { display: block; min-width: 0; }
.ledger-paper .item-summary > .detail-card { margin-bottom: 32px; min-width: 0; }

/* Shared section index for archive statistics and Research Ledger pages. */
.ledger-paper .statistics-index { display: block; min-width: 0; }
.ledger-paper .statistics-methodology-link { margin: 20px 0 28px; font-size: 1rem; }
.ledger-paper .statistics-layout-grid { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 32px; align-items: start; }
.ledger-paper .statistics-main { min-width: 0; }
.ledger-paper .statistics-sidebar { position: sticky; top: 20px; margin-top: 0; max-height: calc(100vh - 40px); overflow-y: auto; }
.ledger-paper .statistics-sidebar ul { list-style: none; padding: 0; }
.ledger-paper .statistics-sidebar li { padding: 0; margin-bottom: 12px; }
.ledger-paper .statistics-sidebar a { display: block; overflow-wrap: anywhere; }
.ledger-paper .statistics-sidebar .statistics-subsection-link { padding-left: 16px; font-size: .95rem; }
.ledger-paper .statistics-section { min-width: 0; margin: 0 0 28px; border: 0; border-top: 1px solid #8a704e; scroll-margin-top: 24px; }
.ledger-paper .statistics-section > summary { display: list-item; padding: 18px 0; cursor: pointer; font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; font-variant-caps: small-caps; line-height: 1.3; }
.ledger-paper .statistics-section > summary h2,
.ledger-paper .statistics-section > summary h3 { display: inline; margin: 0; font-size: inherit; line-height: inherit; }
.ledger-paper .statistics-section > header.statistics-section-title { padding: 18px 0; }
.ledger-paper .statistics-section > header.statistics-section-title h2,
.ledger-paper .statistics-section > header.statistics-section-title h3 { margin: 0; font-size: 1.5rem; line-height: 1.3; }
.ledger-paper .statistics-sidebar .statistics-methodology-link { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid var(--line); font-variant-caps: normal; }

/* Disabled-by-default placement previews. No sticky, overlay or pop-up units. */
.ledger-paper .ad-placement { box-sizing: border-box; min-width: 0; border: 1px solid var(--line); padding: 12px; color: var(--ink-soft); text-align: center; font-family: var(--font-ui); font-variant-caps: normal; }
.ledger-paper .ad-placement-label { display: block; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.ledger-paper .ad-placement-preview { display: grid; place-items: center; height: 100%; font-size: .85rem; }
.ledger-paper .ad-placement--sidebar { width: 100%; min-height: 250px; margin-top: 32px; display: grid; grid-template-rows: auto 1fr; }
.ledger-paper .ad-placement--bottom { width: min(100%, 970px); min-height: 120px; margin: 40px auto 0; display: grid; grid-template-rows: auto 1fr; }
.ledger-paper .advertising-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 32px; align-items: start; }
.ledger-paper .advertising-content { min-width: 0; }
.ledger-paper .statistics-layout-grid.with-sidebar-ad { grid-template-columns: 270px minmax(0, 1fr); }
.ledger-paper .has-ad-placement { position: static; max-height: none; overflow: visible; }
@media (max-width: 1000px) {
    .ledger-paper .ad-placement--sidebar { display: none; }
    .ledger-paper .advertising-layout,
    .ledger-paper .statistics-layout-grid.with-sidebar-ad { grid-template-columns: minmax(0, 1fr); }
}
.ledger-paper .statistics-section > summary:focus-visible,
.ledger-paper .statistics-sidebar a:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; }
.ledger-paper .statistics-section-body { min-width: 0; padding-bottom: 8px; }
.ledger-paper .statistics-section .statistics-section > summary { font-size: 1.2rem; }
.ledger-paper .statistics-main .performance-section { margin-block: 28px; }
@media (max-width: 1000px) {
    .ledger-paper .statistics-layout-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .ledger-paper .statistics-sidebar { position: static; max-height: none; }
    .ledger-paper .statistics-sidebar ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }
    .ledger-paper .statistics-sidebar li { margin: 0; }
    .ledger-paper .statistics-sidebar .statistics-subsection-link { padding-left: 0; }
}

/* Financial outcomes share one presentation across archive and research tables. */
.ledger-paper .financial-result--profit { color: var(--profit); }
.ledger-paper .financial-result--loss { color: var(--loss); }
.ledger-paper .financial-result--neutral { color: var(--ink, #2b241e); }
