/* Research-paper layout; scoped to preserve the other writings. */
.paper-page { max-width: 1140px; padding-top: 2.5rem; }
.paper-header { max-width: 1040px; padding-bottom: 1.25rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--border); }
.paper-back, .paper-author, .paper-actions, .paper-toc { font-size: .8rem; }
.paper-back { display: inline-block; margin-bottom: 1.5rem; color: var(--text-muted); }
.paper-header h1 { margin: 0; font-family: var(--font-writing); font-size: clamp(1.9rem, 3.7vw, 3rem); line-height: 1.18; font-weight: 500; letter-spacing: -.025em; text-wrap: balance; }
.paper-header h1 span { display: block; margin-top: .5em; color: var(--text-muted); font-size: .83em; }
.paper-author { margin-top: 1.8rem; overflow-wrap: anywhere; }
.paper-author p { margin: .25rem 0; }
.paper-author strong { font-size: 1rem; }
.paper-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: .65rem; font-size: .88rem; }
.paper-actions a { display: inline-flex; align-items: center; min-height: 44px; color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.paper-actions a:hover { color: var(--text-muted); }
.paper-grid { display: grid; grid-template-columns: 185px minmax(0, 1fr); gap: 3rem; align-items: start; }
.paper-toc { position: sticky; top: 2rem; line-height: 1.5; }
.paper-toc summary { cursor: pointer; font-weight: bold; }
.paper-toc ol { list-style: none; padding: 0; margin-top: 1rem; }
.paper-toc li { margin: 0 0 .8rem; }
.paper-toc a { color: var(--text-muted); text-decoration: none; }
.paper-toc a:hover { color: var(--text); text-decoration: underline; }
.paper-toc a[aria-current="location"] { color: var(--text); font-weight: bold; }
.paper-content { min-width: 0; font-family: var(--font-writing); font-size: 1.05rem; line-height: 1.8; color: var(--writing-text); }
.paper-content p { margin: 0 0 1.3rem; }
.paper-content h2, .paper-content h3 { color: var(--text); line-height: 1.35; font-weight: 600; text-wrap: balance; }
.paper-content h2 { font-size: 1.5rem; margin: 3rem 0 1.1rem; }
.paper-content h3 { font-size: 1.17rem; margin: 2rem 0 .9rem; }
.paper-content [id] { scroll-margin-top: 2rem; }
.paper-content a, .paper-author a, .paper-back { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.paper-content a { color: inherit; }
.paper-content a:hover { text-decoration-thickness: 2px; }
.paper-content a[href^="#ref-"] { text-decoration: none; }
.paper-content code { font-size: .82em; overflow-wrap: anywhere; }
.paper-content li { margin-bottom: .85rem; }
.paper-content ul { padding-left: 1.4rem; }
.paper-abstract { border-bottom: 1px solid var(--border); padding-bottom: 1rem; }
.paper-abstract h2 { margin-top: 0; font-size: 1.15rem; }
.paper-figure { margin: 2.5rem 0; }
.paper-figure img { display: block; width: 100%; height: auto; background: #fff; }
.paper-figure .paper-image--transparent { background: transparent; }
/* Follow the site theme toggle, with a system-theme fallback before JS loads. */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme='light']) .paper-image--invert { filter: invert(1); }
}
:root[data-theme='dark'] .paper-image--invert { filter: invert(1); }
:root[data-theme='light'] .paper-image--invert { filter: none; }

.paper-figure > a { display: block; cursor: zoom-in; }
.paper-figure--hand img { max-height: 480px; width: auto; max-width: 100%; margin: 0 auto; }
.paper-figure figcaption, .paper-content caption { font-size: .85rem; line-height: 1.55; color: var(--text-muted); text-align: left; }
.paper-figure figcaption { margin-top: .8rem; }
.paper-equation { overflow-x: auto; margin: 2rem 0; padding: .25rem; }
.paper-content .katex { font-size: 1em; }
.paper-table-scroll { overflow-x: auto; margin: 2rem 0; }
.paper-content table { width: 100%; border-collapse: collapse; font-size: .9rem; line-height: 1.5; font-variant-numeric: tabular-nums; }
.paper-content caption { caption-side: bottom; padding-top: .8rem; }
.paper-content th, .paper-content td { padding: .55rem .8rem; text-align: left; vertical-align: middle; }
.paper-content th { font-weight: 600; }
.paper-content thead { border-top: 2px solid var(--text-muted); border-bottom: 1px solid var(--text-muted); }
.paper-content tbody { border-bottom: 1px solid var(--border); }
.paper-content tbody:last-child { border-bottom: 2px solid var(--text-muted); }
.paper-content tbody th { font-weight: normal; }
.paper-content tbody tr:nth-child(even) { background: var(--bg-subtle); }
.paper-content td:last-child { white-space: nowrap; }
.paper-footnotes { margin-top: 3rem; border-top: 1px solid var(--border); font-size: .88rem; overflow-wrap: anywhere; }
.paper-references { font-size: .88rem; line-height: 1.65; padding-left: 2.25rem; overflow-wrap: anywhere; }
.paper-references li { padding-left: .35rem; margin-bottom: 1rem; }
.paper-references li::marker { content: '[' counter(list-item) '] '; }
.paper-layout a:focus-visible, .paper-layout summary:focus-visible, .paper-table-scroll:focus-visible { outline: 2px solid var(--text); outline-offset: 4px; }
.paper-skip { position: absolute; top: .5rem; left: 1rem; z-index: 100; padding: .6rem; background: var(--bg); transform: translateY(-200%); }
.paper-skip:focus { transform: translateY(0); }
@media (max-width: 900px) {
    .paper-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .paper-toc { position: static; border-bottom: 1px solid var(--border); padding-bottom: 1rem; }
    .paper-toc ol { columns: 2; column-gap: 2rem; }
    .paper-toc li { break-inside: avoid; }
}
@media (max-width: 540px) {
    .paper-page { padding: 1.5rem 1.1rem 3rem; }
    .paper-header { padding-bottom: 1rem; margin-bottom: 1.6rem; }
    .paper-toc ol { columns: 1; }
    .paper-content { font-size: 1rem; line-height: 1.75; }
    .paper-content th, .paper-content td { padding: .5rem; }
    .paper-content table { min-width: 390px; }
    .paper-equation { font-size: .88rem; }
}
@media print {
    .paper-layout { background: #fff; color: #000; --text: #000; --writing-text: #000; --text-muted: #333; --border: #bbb; --bg-subtle: #f5f5f5; }
    .paper-layout .site-header, .paper-layout .site-footer, .paper-layout .waveform-bg, .paper-toc, .paper-back, .paper-actions, .paper-skip { display: none; }
    .paper-page { max-width: none; padding: 0; }
    .paper-grid { display: block; }
    .paper-content { font-size: 11pt; }
    .paper-header h1 { font-size: 23pt; }
    .paper-content h2, .paper-content h3 { break-after: avoid; }
    .paper-figure, .paper-table-scroll, .paper-equation { break-inside: avoid; }
    .paper-table-scroll, .paper-equation { overflow: visible; }
    .paper-content table { min-width: 0; }
    .paper-content a { text-decoration: none; }
}
/* Keep anchor destinations and the contents clear of the shared sticky header. */
.paper-toc { top: 7rem; }
.paper-content [id], .paper-content { scroll-margin-top: 7rem; }
.paper-author a, .paper-actions a { color: var(--text); }

@media print {
    :root .paper-image--invert { filter: none !important; }
}
