.timeline-page [hidden] { display: none !important; }
.timeline-page :focus-visible { outline: 3px solid var(--moss-deep); outline-offset: 3px; }
.timeline-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.chronology-intro { padding: 3.5rem 0 2.5rem; }
.chronology-back { display: inline-block; margin-bottom: 2.2rem; color: var(--moss); font-size: .82rem; text-underline-offset: .2rem; }
.chronology-intro h1 { max-width: 52rem; font: 500 clamp(3rem,6vw,5.3rem)/1.03 Georgia,serif; letter-spacing: -.055em; color: var(--moss-deep); margin: 0 0 1.4rem; }
.chronology-lede { max-width: 45rem; font-size: 1.13rem; color: var(--ink-soft); }
.chronology-context { margin-top: 2rem; max-width: 54rem; padding: 1rem 1.3rem; border-left: 3px solid var(--moss); background: var(--mist); font-size: .9rem; }
.chronology-context p { margin: .35rem 0 0; color: var(--ink-soft); }
.chronology-provenance { padding: 1.6rem; background: #f0eedf; border: 1px solid #dce1cd; border-radius: 1rem; display: grid; grid-template-columns: 1.25fr 1fr; gap: 3rem; }
.chronology-provenance p { font-size: .85rem; margin: .6rem 0; color: var(--ink-soft); }
.chronology-provenance strong { color: var(--ink); }
.chronology-provenance .eyebrow { font-size: .7rem; margin-top: 0; }
.source-key { padding: .8rem 1rem; background: #faf9f1; border: 1px solid #d5ddc5; border-radius: .7rem; align-self: start; }
.source-key summary { cursor: pointer; font-size: .86rem; font-weight: 750; color: var(--moss-deep); }
.source-key dl { font-size: .8rem; }
.source-key dt { font-weight: 750; margin-top: .8rem; }
.source-key dd { color: var(--ink-soft); margin: .2rem 0 0; }
.chronology-browser { padding-top: 3.5rem; }
.chronology-controls { padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--paper); }
.chronology-control-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.chronology-control-heading h2,.chronology-correction h2,.chronology-fallback h2 { font: 500 1.9rem/1.1 Georgia,serif; letter-spacing: -.03em; margin: 0; }
.chronology-controls button { border: 0; background: transparent; color: var(--moss); font-size: .8rem; font-weight: 750; text-decoration: underline; text-underline-offset: .2rem; padding: .6rem; }
.chronology-fields { display: grid; grid-template-columns: 2fr .8fr 1fr; gap: 1rem; }
.chronology-fields label { display: grid; gap: .4rem; color: var(--ink-soft); font-size: .78rem; font-weight: 750; }
.chronology-fields input,.chronology-fields select { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #cad3bb; border-radius: .6rem; padding: .7rem; color: var(--ink); font-size: .9rem; background: #fff; }
.chronology-layout { display: grid; grid-template-columns: 185px minmax(0,1fr); gap: 2.5rem; margin-top: 2rem; }
.era-rail { position: sticky; top: 7rem; align-self: start; }
#timeline-eras { display: grid; gap: .4rem; }
#timeline-eras button { text-align: left; border: 1px solid transparent; border-radius: .6rem; padding: .7rem .9rem; background: transparent; color: var(--ink-soft); font-size: .87rem; font-weight: 700; }
#timeline-eras button:hover { background: #e9eddf; }
#timeline-eras button[aria-pressed="true"] { background: var(--moss-deep); color: #fff; }
.era-caption { font-size: .75rem; color: var(--ink-soft); padding: 0 .3rem; margin-top: 1.4rem; }
.chronology-results-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; font-size: .8rem; color: var(--ink-soft); }
.chronology-results-heading p { margin: 0; }
.chronology-results-heading a { color: var(--moss); font-weight: 700; }
.timeline-year-group { position: relative; padding: 0 0 2.5rem 1.8rem; border-left: 1px solid #cdd8bc; }
.timeline-year-heading { font-family: Georgia,serif; font-weight: 500; font-size: 1.6rem; line-height: 1; color: var(--moss-deep); margin: 0 0 1.2rem; }
.timeline-year-heading::before { content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--moss); left: -5px; margin-top: .45rem; box-shadow: 0 0 0 5px var(--canvas); }
.timeline-entry { position: relative; padding: 1.4rem 1.5rem; border: 1px solid #d8dfce; border-radius: .8rem; background: var(--paper); margin-bottom: .85rem; scroll-margin-top: 7.5rem; overflow-wrap: anywhere; }
.timeline-entry:target { box-shadow: 0 0 0 3px #91a76a; }
.timeline-entry:focus { outline: 3px solid var(--moss-deep); outline-offset: 3px; }
.timeline-alias { position: absolute; top: 0; scroll-margin-top: 7.5rem; }
.timeline-entry-meta { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .45rem 1rem; margin-bottom: .6rem; font-size: .72rem; color: var(--ink-soft); }
.timeline-entry-meta time { font-weight: 800; }
.timeline-entry h3 { font: 500 1.4rem/1.22 Georgia,serif; letter-spacing: -.02em; margin: 0; }
.timeline-entry .entry-publisher { color: var(--moss); font-size: .78rem; margin: .45rem 0 .7rem; }
.timeline-entry .entry-summary { font-size: .9rem; color: var(--ink-soft); margin: .7rem 0 1rem; }
.timeline-entry-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .65rem 1rem; border-top: 1px solid #e4e8da; padding-top: .8rem; }
.verification-label { display: inline-block; font-size: .68rem; font-weight: 750; padding: .3rem .55rem; border-radius: .4rem; background: #e9eedf; color: #405128; }
.verification-label.needs-review { background: #f3ead2; color: #775919; }
.entry-source-link { font-size: .82rem; font-weight: 750; color: var(--moss); text-underline-offset: .2rem; }
.entry-source-pending { font-size: .78rem; color: var(--ink-soft); }
.entry-permalink { display: inline-block; font-size: .7rem; color: var(--ink-soft); margin-top: .8rem; text-underline-offset: .2rem; }
.timeline-empty { border: 1px dashed #becbab; border-radius: .8rem; padding: 2.3rem; text-align: center; background: #f0f2e8; }
.timeline-empty h3 { font: 500 1.6rem/1.2 Georgia,serif; margin: 0; }
.timeline-empty p { color: var(--ink-soft); font-size: .9rem; }
.chronology-fallback { padding: 3rem 0; }
.chronology-fallback .service-grid { margin-top: 1.3rem; }
.chronology-correction { display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid var(--line); padding: 2.5rem 0 0; margin-top: 1rem; }
.chronology-correction p:not(.eyebrow) { max-width: 40rem; color: var(--ink-soft); font-size: .9rem; }
.chronology-correction .button { flex-shrink: 0; }
@media (max-width: 880px) { .chronology-provenance { grid-template-columns: 1fr; gap: 1rem; } .chronology-layout { grid-template-columns: 150px minmax(0,1fr); gap: 1.5rem; } .chronology-correction { display: block; } }
@media (max-width: 680px) {
 .chronology-intro { padding-top: 2rem; } .chronology-intro h1 { font-size: clamp(2.7rem,10vw,4rem); }
 .chronology-back { margin-bottom: 1.6rem; } .chronology-lede { font-size: 1rem; }
 .chronology-provenance { padding: 1.2rem; } .chronology-browser { padding-top: 2rem; }
 .chronology-controls { padding: 1rem; } .chronology-control-heading h2 { font-size: 1.5rem; }
 .chronology-fields { grid-template-columns: 1fr 1fr; gap: .8rem; } .chronology-fields label:first-child { grid-column: 1/-1; }
 .chronology-layout { grid-template-columns: 1fr; gap: 1rem; } .era-rail { position: static; }
 #timeline-eras { display: flex; flex-wrap: wrap; gap: .35rem; } #timeline-eras button { border-color: #d2dac4; font-size: .76rem; padding: .65rem; }
 .era-caption { display: none; } .chronology-results-heading { margin-top: .5rem; }
 .timeline-year-group { padding-left: 1rem; } .timeline-entry { padding: 1.15rem; scroll-margin-top: 8.5rem; }
 .timeline-entry h3 { font-size: 1.22rem; } .timeline-alias { scroll-margin-top: 8.5rem; }
 .chronology-correction .button { font-size: .86rem; }
}
@media print { .chronology-controls,.era-rail,.chronology-correction,.entry-permalink { display: none; } .chronology-layout { display: block; } .timeline-entry { break-inside: avoid; } .source-key { display:none; } .chronology-provenance { display:block; } }

/* Keep the timeline title consistent with the compact public heading system. */
.chronology-intro { padding: 2rem 0 1.5rem; }
.chronology-intro h1 { max-width: 52rem; font-size: clamp(1.7rem, 2.4vw, 2.15rem); line-height: 1.13; letter-spacing: -.025em; margin-bottom: 1rem; }
@media (max-width: 680px) {
 .chronology-intro { padding: 1.8rem 0 1.3rem; }
 .chronology-intro h1 { font-size: 1.7rem; }
}

/* Match the shared green public-site canvas while preserving light record cards. */
.timeline-page { background: #637457; color: #f8f7f0; }
.chronology-back,
.chronology-intro .eyebrow,
.chronology-fallback > .eyebrow,
.chronology-correction .eyebrow { color: #f1d47a; }
.chronology-intro h1,
.chronology-fallback > h2,
.chronology-correction h2,
.timeline-year-heading { color: #fffef9; }
.chronology-lede,
.chronology-correction p:not(.eyebrow),
.era-caption,
.chronology-results-heading { color: #e7eee4; }
.timeline-year-heading::before { box-shadow: 0 0 0 5px #637457; }
.chronology-context,
.chronology-provenance,
.source-key,
.chronology-controls,
.timeline-entry,
.timeline-empty { color: var(--ink); }
