/* V9 Preprint：首页与 CV（Supplementary）共用 */
:root {
  --desk: #eeece6; --paper: #fff; --ink: #111; --ink2: #333; --muted: #777; --hair: #d8d6d0; --link: #1f4bd8; --cite: #0a7a3c;
  --serif: "CMU Serif", "Latin Modern Roman", "Computer Modern", Georgia, serif; --tt: "CMU Typewriter Text", ui-monospace, monospace;
  --pm-bg: #f4f4f2; --pm-ph-bg: #f4f4f2; --pm-ph-ink: var(--muted);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--desk); color: var(--ink); font: 500 17px/1.5 var(--serif); -webkit-font-smoothing: antialiased; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }
.tt { font-family: var(--tt); }

.sheet { position: relative; max-width: 860px; margin: 36px auto 60px; background: var(--paper); padding: 56px 84px 64px; box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 12px 40px -18px rgba(0,0,0,.25); }
/* arXiv 侧边戳 */
.stamp { position: absolute; left: 26px; top: 120px; transform-origin: 0 0; transform: rotate(-90deg) translateX(-100%); font: 500 26px var(--serif); color: #b3b3b3; white-space: nowrap; letter-spacing: .01em; }
.runhead { display: flex; justify-content: space-between; font-size: 13px; color: var(--muted); border-bottom: 1px solid var(--hair); padding-bottom: 6px; margin-bottom: 36px; }
.runhead nav { display: flex; gap: 16px; }
.runhead a[aria-current] { color: var(--ink); }

h1.title { text-align: center; font: 700 27px/1.25 var(--serif); margin: 0 0 18px; }
.authors { text-align: center; font-size: 18px; }
.authors sup, .affil sup { font-size: 11px; }
.affil { text-align: center; font-size: 14.5px; color: var(--ink2); margin-top: 4px; line-height: 1.45; }
.contacts { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 16px; margin-top: 10px; font: 14px var(--tt); }
.contacts a, .contacts button { color: var(--link); display: inline-flex; gap: 6px; align-items: center; }
.contacts i { font-size: 12px; }

.abstract { margin: 34px 46px 10px; font-size: 15.5px; text-align: justify; hyphens: auto; }
.abstract h2 { text-align: center; font: 700 15.5px var(--serif); margin: 0 0 6px; }
.abstract p { margin: 0; }
.kw { margin: 10px 46px 0; font-size: 14.5px; }
.kw b { font-style: italic; }

h2.sec { font: 700 19px var(--serif); margin: 36px 0 10px; }
h2.sec span { display: inline-block; min-width: 1.6em; }
p { margin: 0 0 10px; text-align: justify; hyphens: auto; }
.eq { margin: 14px 0; text-align: center; overflow-x: auto; overflow-y: hidden; }
.eq-wrap { display: flex; align-items: center; gap: 10px; }
.eq-wrap .eq { flex: 1; }
.eq-wrap .no { color: var(--ink2); }

dl.updates { margin: 0; display: grid; grid-template-columns: 82px 1fr; gap: 4px 14px; font-size: 16px; }
dl.updates dt { font: 14px var(--tt); color: var(--muted); padding-top: 2px; }
dl.updates dd { margin: 0; }

/* 筛选：像 \textsc 的一行 */
.tabs { position: relative; display: flex; flex-wrap: wrap; gap: 2px 16px; font-variant: small-caps; font-size: 16px; letter-spacing: .02em; margin: 6px 0 18px; }
.tabs::before { content: "Filter:"; font-variant: normal; font-style: italic; color: var(--muted); }
.tabs button { border: 0; background: none; padding: 0; font: inherit; color: var(--ink2); cursor: pointer; border-bottom: 1px solid transparent; }
.tabs button:hover { color: var(--link); }
.tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); }
.tabs button sup { font-size: 10px; color: var(--muted); font-variant: normal; margin-left: 1px; }
.tab-ind { display: none; }
.figs { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 28px; }
.fig { margin: 0; animation: fade .4s ease both; animation-delay: calc(var(--i) * 40ms); }
@keyframes fade { from { opacity: 0; } }
.fig .pm { aspect-ratio: 16 / 10; border: 1px solid var(--hair); }
.fig figcaption { font-size: 14.5px; margin-top: 8px; text-align: justify; line-height: 1.4; }
.fig figcaption b { font-weight: 700; }
.fig .v { font-variant: small-caps; color: var(--muted); }
.fig .ln { font: 13px var(--tt); }
.cite { color: var(--cite); position: relative; }
/* 引用悬浮预览 */
.pop { position: absolute; z-index: 30; max-width: 420px; background: #fffef8; border: 1px solid var(--hair); box-shadow: 0 10px 30px -12px rgba(0,0,0,.35); padding: 10px 12px; font-size: 13.5px; line-height: 1.4; color: var(--ink); pointer-events: none; opacity: 0; transform: translateY(4px); transition: opacity .15s, transform .15s; }
.pop.on { opacity: 1; transform: none; }

/* booktabs 表格 */
table.bt { width: 100%; border-collapse: collapse; font-size: 15.5px; margin: 8px 0 6px; }
table.bt caption { caption-side: top; text-align: center; font-size: 14.5px; margin-bottom: 6px; }
table.bt th, table.bt td { text-align: left; padding: 4px 10px 4px 0; vertical-align: top; }
table.bt thead tr { border-top: 1.6px solid var(--ink); border-bottom: 1px solid var(--ink); }
table.bt tbody tr:last-child { border-bottom: 1.6px solid var(--ink); }
table.bt th { font-weight: 700; }
table.bt td.t { font: 14px var(--tt); color: var(--ink2); white-space: nowrap; }
table.bt small { color: var(--muted); }

ol.refs { list-style: none; margin: 0; padding: 0; font-size: 15px; }
ol.refs li { display: grid; grid-template-columns: 34px 1fr; gap: 4px; margin-bottom: 8px; scroll-margin-top: 40px; }
ol.refs li:target { background: #fff6c8; }
ol.refs .n { color: var(--ink2); }
ol.refs .me { font-weight: 700; }
ol.refs i { font-style: italic; }
ol.refs .ln { font: 13px var(--tt); margin-left: 4px; }

.bio { display: grid; grid-template-columns: 104px 1fr; gap: 16px; margin-top: 10px; font-size: 15px; }
.bio .img { width: 104px; height: 134px; background: #fff center 22% / cover; border: 1px solid var(--hair); }
.bio p { margin: 0; }
.pageno { text-align: center; margin-top: 40px; color: var(--ink2); font-size: 15px; }

@media (max-width: 820px) {
  .sheet { margin: 0; padding: 32px 18px 40px; box-shadow: none; }
  .stamp { display: none; }
  .abstract, .kw { margin-left: 0; margin-right: 0; }
  .figs { grid-template-columns: 1fr; }
  .runhead { flex-direction: column; gap: 4px; }
  table.bt td.t { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .fig { animation: none; } .pop { transition: none; } }
