.chronicle-page { background: #fbfaf6; }
.chronicle-page .breadcrumb { color: var(--muted); }
.chronicle-editor-note p { margin: 8px 0 0; }
.chronicle-page .site-header { color: var(--ink); background: rgba(255,253,250,.98); border-bottom: 1px solid var(--line); }
.chronicle-page .utility-bar { border-color: var(--line); }
.chronicle-page .menu-toggle { border-color: var(--line); }
.chronicle-page h1, .chronicle-page h2, .chronicle-page h3 { font-family: var(--font-serif); }
.chronicle-cover { display: grid; grid-template-columns: 1.4fr .65fr; align-items: center; gap: 90px; padding-block: 170px 70px; }
.chronicle-cover h1 { margin: 24px 0; font-size: clamp(3rem, 6vw, 5rem); letter-spacing: .08em; }
.chronicle-lead { max-width: 38em; font-size: 1.2rem; line-height: 1.9; color: var(--muted); }
.chronicle-edition { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 26px 0; font-size: .875rem; color: var(--pine-700); }
.chronicle-cover figure { margin: 0; text-align: center; }
.chronicle-cover img { width: 100%; height: 410px; object-fit: contain; filter: drop-shadow(12px 18px 16px #24362e20); }
.chronicle-cover figcaption { margin-top: 12px; color: var(--muted); font-size: .875rem; }
.chronicle-section { padding-block: 30px 50px; }
.chronicle-notice { padding: 24px 28px; border-left: 3px solid var(--gold); border-radius: 0 12px 12px 0; background: #f0eee4; }
.chronicle-notice strong { color: var(--pine-700); }
.chronicle-notice p { margin: 8px 0 0; font-size: .9375rem; line-height: 1.85; color: #4c5b52; }
.chronicle-notice a { text-decoration: underline; text-underline-offset: 3px; }
.chronicle-chapters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 32px; }
.chronicle-chapters > a, .chronicle-supplements > a { display: block; min-height: 128px; padding: 24px 0; border-top: 1px solid var(--line); }
.chronicle-chapters span, .chronicle-supplements span { display: block; margin-bottom: 10px; font-family: var(--font-serif); font-size: 1.375rem; }
.chronicle-chapters small, .chronicle-supplements small { display: block; color: var(--muted); font-size: .9375rem; line-height: 1.8; }
.chronicle-chapters a:hover span, .chronicle-supplements a:hover span { color: var(--pine-700); text-decoration: underline; text-underline-offset: 7px; }
.chronicle-supplements { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 40px; }
.reader-heading { padding-block: 160px 38px; }
.reader-heading h1 { margin: 18px 0; font-size: clamp(2rem, 4vw, 3.5rem); }
.reader-heading > p { max-width: 50em; color: var(--muted); }
.reader-layout { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 56px; padding-bottom: 90px; }
.reader-sidebar { position: sticky; top: 95px; align-self: start; max-height: calc(100dvh - 120px); overflow-y: auto; }
.reader-sidebar summary, .reader-contents summary { min-height: 48px; padding: 12px 0; cursor: pointer; font-weight: 650; }
.reader-sidebar nav { display: grid; }
.reader-sidebar nav a { display: block; padding: 11px 12px; font-size: .875rem; border-radius: 6px; }
.reader-sidebar nav a[aria-current] { background: var(--pine-700); color: white; }
.reader-home { display: block; border-top: 1px solid var(--line); padding: 20px 0; margin-top: 14px; font-size: .9375rem; }
.reader-column { min-width: 0; }
.reader-contents { margin: 20px 0 35px; border-block: 1px solid var(--line); }
.reader-contents nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 16px; padding-bottom: 20px; }
.reader-contents nav a { padding: 10px 0; font-size: .9375rem; color: var(--pine-700); }
.chronicle-prose { font-family: var(--font-serif); font-size: 1.125rem; line-height: 2; overflow-wrap: anywhere; }
.chronicle-prose h2 { margin: 50px 0 25px; font-size: 1.875rem; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.chronicle-prose h3 { font-size: 1.4rem; margin: 36px 0 20px; }
.chronicle-prose p { margin: 0 0 16px; text-align: start; }
.chronicle-prose p.verse, .chronicle-prose p.names { white-space: pre-wrap; }
.chronicle-prose .uncertain { background: #f6e2bd; color: #734515; padding: 0 2px; }
.chronicle-prose .table-block { margin: 35px 0; }
.chronicle-prose .table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid var(--line); border-radius: 8px; }
.chronicle-prose .table-scroll:focus-visible { outline: 2px solid var(--pine-700); outline-offset: 3px; }
@media(max-width:760px) { .chronicle-prose .table-scroll::before { content: '表格可左右滑动查看 →'; display: block; position: sticky; left: 0; padding: 10px 12px; font: .875rem/1.6 var(--font-sans); color: var(--pine-700); background: #e9eee7; } }
.chronicle-prose table { width: 100%; min-width: 560px; border-collapse: collapse; font-family: var(--font-sans); font-size: .9375rem; line-height: 1.8; }
.chronicle-prose table.wide { min-width: 900px; }
.chronicle-prose th, .chronicle-prose td { padding: 12px; border: 1px solid var(--line); vertical-align: top; text-align: start; }
.chronicle-prose th { background: #e9eee7; font-weight: 650; }
.chronicle-prose tbody tr:nth-child(even) { background: #f3f4ee; }
.chronicle-prose figure { margin: 40px 0; }
.chronicle-prose img { height: auto; max-height: 720px; object-fit: contain; }
.chronicle-prose figcaption { padding-top: 16px; font-size: 1rem; color: var(--muted); line-height: 1.8; white-space: pre-line; }
.chronicle-plates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; align-items: start; }
.chronicle-plates figure { margin: 0 0 18px; }
.chronicle-plates figure.cover, .chronicle-plates figure.endpaper { grid-column: 1 / -1; max-width: 500px; justify-self: center; }
.chronicle-editor-note, .reader-source { padding: 20px 24px; border: 1px solid var(--line); border-radius: 10px; font-size: .9375rem; line-height: 1.9; color: var(--muted); }
.reader-source { margin-top: 50px; }
.reader-source p { margin: 10px 0 0; }
.chronicle-page-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; margin-top: 40px; align-items: center; }
.chronicle-page-nav a { padding: 15px 0; font-size: 1rem; }
.chronicle-page-nav a:last-child { text-align: end; }
.chronicle-page-nav small { display: block; color: var(--muted); font-size: .875rem; }
@media(max-width:1080px) { .reader-layout { grid-template-columns: 1fr; gap: 18px; } .reader-sidebar { position: static; max-height: none; } .reader-sidebar details { border-block: 1px solid var(--line); } .reader-sidebar nav { max-height: 340px; overflow-y: auto; } .reader-home { display: none; } .chronicle-cover { gap: 40px; } }
@media(max-width:760px) { .chronicle-cover { grid-template-columns: 1fr; padding-block: 120px 25px; gap: 35px; } .chronicle-cover img { height: 260px; } .chronicle-cover h1 { font-size: 2.8rem; } .chronicle-lead { font-size: 1.0625rem; } .chronicle-chapters, .chronicle-supplements { grid-template-columns: 1fr; } .chronicle-chapters > a { min-height: 100px; } .chronicle-section { padding-block: 24px; } .chronicle-notice { padding: 18px; } .reader-heading { padding-block: 110px 20px; } .reader-contents nav { grid-template-columns: 1fr; } .chronicle-prose { font-size: 1.0625rem; line-height: 1.95; } .chronicle-prose h2 { font-size: 1.6rem; } .chronicle-plates { grid-template-columns: 1fr; } .chronicle-page-nav { gap: 12px; grid-template-columns: 1fr 1fr; } .chronicle-page-nav a:nth-child(2) { grid-column: 1 / -1; grid-row: 2; text-align: center; border-top: 1px solid var(--line); } }
@media print { .reader-sidebar, .site-header, .site-footer, .reader-contents, .chronicle-page-nav { display: none; } .reader-heading { padding-top: 0; } .reader-layout { display: block; } .chronicle-prose table { min-width: 0; font-size: 10pt; } .chronicle-prose .table-scroll { overflow: visible; } }
