:root {
  color-scheme: dark;
  --bg: #0e141b;
  --panel: #141d27;
  --raised: #192531;
  --hover: #1c2b38;
  --ink: #e5edf4;
  --heading: #f5f8fa;
  --muted: #9daebd;
  --subtle: #8599aa;
  --line: #2a3947;
  --accent: #8ce0c6;
  --blue: #a0c9f6;
  --warning: #eed09c;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--bg); scroll-padding-top: 100px; }
body { min-width: 320px; margin: 0; color: var(--ink); font-size: 16px; line-height: 1.55; }
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--accent); }
button, input, select { font: inherit; }
button, select, summary { cursor: pointer; }
button { color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
button:disabled { opacity: .35; cursor: default; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--heading); }
code, pre, kbd { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
code { font-size: max(12px, .86em); overflow-wrap: anywhere; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 50; top: -60px; left: 20px; padding: 10px 16px; background: var(--raised); border: 1px solid var(--accent); }
.skip-link:focus { top: 12px; }
.site-header { border-bottom: 1px solid var(--line); background: var(--bg); }
.header-inner { width: min(1392px, calc(100% - 80px)); min-height: 86px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 13px; color: var(--ink); font-size: 16px; font-weight: 650; letter-spacing: -.015em; }
.brand-mark { display: block; flex-shrink: 0; height: 52px; width: auto; padding: 4px; background: #fff; border-radius: 12px; box-shadow: 0 0 0 1px rgba(11, 19, 43, .16); transition: filter .2s ease; }
.brand:hover .brand-mark { filter: drop-shadow(0 2px 10px rgba(0, 229, 255, .4)); }
.brand b { color: var(--accent); font-weight: 400; margin: 0 3px; }
.brand small { display: block; margin-top: 1px; color: var(--subtle); letter-spacing: .17em; font-size: 12px; font-weight: 500; }
.main-nav { display: flex; align-items: center; gap: 32px; height: 86px; }
.main-nav a { height: 100%; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); border-bottom: 2px solid transparent; }
.main-nav a[aria-current="page"] { color: var(--accent); border-bottom-color: var(--accent); }
.main-nav a:hover { color: var(--heading); }
.main-nav .external-nav { height: auto; min-height: 44px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 5px; font-size: 13px; }
main { width: min(1392px, calc(100% - 80px)); margin: 0 auto; padding: 32px 0 0; }
.archive-status { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; border: 1px solid #675b3b; border-radius: 6px; padding: 10px 14px; margin-bottom: 20px; background: #25251d; font-size: 13px; }
.archive-status strong { color: var(--warning); }
.archive-status span { color: var(--muted); flex: 1 1 360px; }
.archive-status a { min-height: 32px; display: inline-flex; align-items: center; }
.intro { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 24px; }
.intro-text { max-width: 770px; }
.kicker { margin: 0 0 10px; color: var(--accent); font-size: 12px; letter-spacing: .13em; font-weight: 650; }
.intro h1 { font-size: clamp(36px, 4vw, 56px); line-height: 1.08; letter-spacing: -.045em; font-weight: 560; margin: 0 0 16px; text-wrap: balance; }
.intro p:not(.kicker) { color: var(--muted); margin: 0; max-width: 670px; font-size: 17px; line-height: 1.65; text-wrap: pretty; }
.intro-aside { flex: 0 0 260px; display: flex; flex-direction: column; align-items: flex-end; }
.intro-lattice { width: 260px; height: 145px; color: var(--accent); opacity: .65; }
.lattice-guide { opacity: .25; }
.intro-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 13px; white-space: nowrap; }
.intro-link span { color: var(--accent); margin-left: 8px; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 26px; background: linear-gradient(110deg, #192d2b66, transparent 60%); }
.stats > div { position: relative; padding: 14px 26px; border-right: 1px solid var(--line); }
.stats > div:last-child { border-right: 0; }
.stats strong { color: var(--heading); font-size: 29px; font-weight: 500; line-height: 1.3; display: block; font-variant-numeric: tabular-nums; }
.stats > div > span:last-child { display: block; color: var(--muted); font-size: 13px; margin-top: 3px; }
.stat-index { position: absolute; right: 19px; top: 16px; color: var(--subtle); font: 12px "SFMono-Regular", Consolas, monospace; }
.browser-layout { display: grid; grid-template-columns: 238px minmax(0, 1fr); gap: 30px; align-items: start; }
.filter-panel { position: sticky; top: 20px; border-right: 1px solid var(--line); padding: 0 23px 0 0; }
.filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.filter-heading h2 { font-size: 16px; font-weight: 600; margin: 0; }
#filter-toggle { display: none; }
.text-button { min-height: 44px; min-width: 44px; border: 0; padding: 8px 0; background: none; color: var(--blue); font-size: 13px; }
.text-button:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.dimension-filter { border: 0; padding: 0; margin: 0 0 18px; }
.dimension-filter legend, .select-control > span { display: block; margin-bottom: 12px; color: var(--subtle); font-size: 12px; font-weight: 700; letter-spacing: .13em; }
.dimension-filter label { display: flex; align-items: center; min-height: 44px; gap: 9px; margin-bottom: 0; font-size: 14px; cursor: pointer; color: var(--muted); }
.dimension-filter label:has(input:checked) { color: var(--ink); }
.dimension-filter input { margin: 0; width: 16px; height: 16px; accent-color: var(--accent); flex-shrink: 0; }
.dimension-filter b { margin-left: auto; font-size: 12px; font-weight: 400; color: var(--subtle); }
.select-control { display: block; margin-bottom: 25px; }
.select-control > span { margin-bottom: 8px; }
.select-control select { width: 100%; max-width: 100%; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); color: var(--ink); height: 44px; font-size: 14px; padding: 0 10px; }
.filter-note { display: flex; align-items: flex-start; gap: 9px; border-top: 1px solid var(--line); margin-top: 29px; padding-top: 20px; }
.filter-note p { color: var(--subtle); font-size: 13px; line-height: 1.75; margin-bottom: 22px; }
.note-marker { color: var(--accent); border: 1px solid var(--line); border-radius: 100%; width: 16px; height: 16px; text-align: center; line-height: 14px; font-family: Georgia, serif; font-size: 13px; flex-shrink: 0; }
.sidebar-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; color: var(--muted); }
.sidebar-link span { margin-left: 7px; }
.catalog-content { min-width: 0; }
.search-box { display: flex; align-items: center; gap: 12px; height: 48px; padding: 0 15px; background: var(--panel); border: 1px solid #415769; border-radius: 7px; color: var(--accent); }
.search-box:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px #8ce0c617; }
.search-box input { flex: 1; min-width: 0; height: 44px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 16px; }
.search-box input::placeholder { color: var(--subtle); opacity: 1; }
.search-box kbd { font-size: 13px; color: var(--subtle); border: 1px solid var(--line); border-radius: 3px; min-width: 20px; text-align: center; }
.search-examples { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: 12px; color: var(--subtle); margin: 6px 0 14px; }
.search-examples button { min-width: 44px; min-height: 44px; color: var(--muted); background: transparent; border: 1px solid transparent; border-radius: 4px; padding: 6px 9px; font-size: 13px; }
.search-examples button:hover { color: var(--accent); border-color: var(--accent); }
.search-tip { margin-left: auto; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.catalog-toolbar h2 { font-size: 19px; font-weight: 550; margin: 0 0 3px; }
.catalog-toolbar p { color: var(--subtle); font-size: 13px; margin: 0; }
.sort-control { display: flex; align-items: center; gap: 7px; color: var(--subtle); font-size: 12px; white-space: nowrap; }
.sort-control select { min-height: 44px; padding: 8px 10px; background: var(--panel); border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 14px; }
.catalog { border: 1px solid var(--line); background: var(--panel); border-radius: 8px; overflow: hidden; }
.table-wrap { position: relative; width: 100%; overflow-x: auto; }
.catalog-table { width: 100%; min-width: 850px; border-collapse: collapse; white-space: nowrap; }
.catalog-table th, .catalog-table td { padding: 13px 15px; text-align: left; border-bottom: 1px solid var(--line); }
.catalog-table thead th { font-size: 12px; font-weight: 600; color: var(--subtle); letter-spacing: .055em; background: #17222d; }
.catalog-table tbody th { font-weight: 500; }
.catalog-table tbody td { font-size: 14px; color: var(--muted); }
.catalog-table th:first-child { padding-left: 20px; }
.catalog-table tbody tr:hover { background: var(--hover); }
.catalog-table tbody tr:hover th { box-shadow: inset 2px 0 var(--accent); }
.catalog-table .numeric { text-align: right; font-variant-numeric: tabular-nums; }
.catalog-table .gw-value { color: var(--accent); font-weight: 550; }
.material-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--heading); font-size: 16px; font-weight: 560; letter-spacing: -.02em; }
.material-link:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.table-description { display: block; color: var(--subtle); font-size: 12px; font-weight: 400; margin-top: 1px; }
.dimension-tag { display: inline-block; padding: 2px 6px; border: 1px solid #35485a; border-radius: 3px; color: var(--muted); font-size: 12px; font-weight: 550; letter-spacing: .04em; }
.method-list, .detail-tags { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.method-tag { display: inline-block; padding: 2px 5px; border-radius: 3px; color: var(--muted); background: #21303d; font-size: 12px; font-weight: 600; letter-spacing: .03em; }
.method-dft { color: #b5ccf0; background: #22334b; }
.method-exx { color: #d0bcef; background: #322d45; }
.method-gw { color: #a3e4d1; background: #1c3a36; }
.method-soc { color: #f2c98a; background: #3a2f1c; }
.method-spin { color: #f0b8cc; background: #3d2430; }
.method-rpa { color: #b8e49a; background: #2a3a1e; }
.method-delta-st { color: #9adcf0; background: #1d3346; }
.asset-role { font: 12px "SFMono-Regular", Consolas, monospace; color: var(--muted); border: 1px solid var(--line); padding: 3px 4px; border-radius: 3px; }
.not-reported { color: var(--subtle); }
.availability { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.availability i { width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
.missing-value { color: var(--warning); font-size: 12px; }
.catalog-table .open-cell { padding: 10px 13px 10px 5px; }
.open-cell a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-size: 18px; color: var(--subtle); padding: 6px; }
.open-cell a:hover { color: var(--accent); }
.basis-table { min-width: 760px; }
.basis-table .basis-scope { max-width: 340px; white-space: normal; font-size: 12px; line-height: 1.7; }
.publication-tag { display: inline-block; color: var(--warning); background: #302b23; border: 1px solid #493d2c; border-radius: 3px; padding: 3px 7px; font-size: 12px; white-space: nowrap; }
.pagination { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; color: var(--subtle); font-size: 12px; }
.pagination > div { display: flex; align-items: center; gap: 14px; }
.pagination button { min-width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 4px; background: var(--raised); color: var(--muted); font-size: 16px; }
.catalog-footnote { margin: 12px 0 0; color: var(--subtle); font-size: 12px; line-height: 1.75; }
.empty-panel { padding: 26px; border: 1px dashed var(--line); background: var(--panel); border-radius: 6px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.empty-panel h3 { margin: 0 0 6px; font-size: 15px; font-weight: 500; }
.empty-panel p:last-child { margin-bottom: 0; }
.site-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-top: 60px; padding: 24px 0 28px; border-top: 1px solid var(--line); color: var(--subtle); font-size: 12px; }
.site-footer > span > span { margin: 0 9px; }
.site-footer > div { display: flex; gap: 22px; }
.site-footer a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); }
.breadcrumb { display: flex; align-items: center; gap: 10px; color: var(--subtle); font-size: 13px; margin-bottom: 22px; }
.breadcrumb a { color: var(--muted); }
.detail-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.detail-header h1 { font-size: 42px; font-weight: 550; line-height: 1.2; letter-spacing: -.035em; margin: 8px 0 4px; }
.detail-header h1 small { color: var(--muted); font-size: 18px; font-weight: 400; letter-spacing: 0; margin-left: 12px; }
.detail-id, .binding-id { font: 12px "SFMono-Regular", Consolas, monospace; color: var(--subtle); overflow-wrap: anywhere; margin-bottom: 0; }
.primary-button, .outline-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; gap: 16px; font-size: 14px; border-radius: 5px; padding: 10px 14px; border: 1px solid #49776d; color: var(--accent); background: #19332f; text-decoration: none; }
.primary-button:hover, .outline-button:hover { border-color: var(--accent); color: var(--accent); background: #24443b; }
.outline-button { background: var(--raised); border-color: var(--line); color: var(--blue); }
.record-status { color: var(--warning); font-size: 13px; margin: -10px 0 18px; }
.result-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin-bottom: 32px; }
.result-strip > div { padding: 20px 24px; background: var(--panel); }
.result-strip > div > span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 8px; }
.result-strip strong { font-size: 25px; font-weight: 500; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.result-strip strong small { color: var(--muted); font-size: 13px; font-weight: 400; letter-spacing: 0; }
.result-strip .result-primary { background: #192d2b; }
.result-primary strong { color: var(--accent); }
.result-strip .no-result { font-size: 16px; color: var(--subtle); }
.detail-layout { display: grid; grid-template-columns: 200px minmax(0,1fr); gap: 32px; align-items: start; }
.section-nav { position: sticky; top: 24px; padding: 5px 20px 15px 0; border-right: 1px solid var(--line); }
.section-nav > button { width: 100%; min-height: 44px; display: block; border: 0; border-radius: 4px; padding: 10px; background: transparent; color: var(--muted); text-align: left; font-size: 14px; }
.section-nav > button:hover { background: var(--panel); color: var(--accent); }
.section-nav .kicker { font-size: 12px; padding: 0 10px; margin-bottom: 12px; }
.section-tools { display: flex; gap: 16px; margin: 14px 10px 0; padding-top: 16px; border-top: 1px solid var(--line); }
.section-tools button { font-size: 12px; }
.detail-content { min-width: 0; }
.detail-section { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; margin-bottom: 14px; overflow: hidden; scroll-margin-top: 22px; }
.detail-section > summary { display: flex; align-items: center; gap: 13px; list-style: none; padding: 17px 22px; }
.detail-section > summary::-webkit-details-marker { display: none; }
.detail-section > summary:hover { background: var(--raised); }
.detail-section > summary h2 { font-size: 15px; font-weight: 550; margin: 0; }
.section-number { font: 12px "SFMono-Regular", Consolas, monospace; color: var(--accent); }
.section-badge { margin-left: auto; font-size: 12px; color: var(--subtle); white-space: nowrap; }
.expand-mark { color: var(--muted); font-size: 19px; font-weight: 300; margin-left: auto; line-height: 1; }
.section-badge + .expand-mark { margin-left: 3px; }
.detail-section[open] > summary { border-bottom: 1px solid var(--line); }
.detail-section[open] > summary .expand-mark { transform: rotate(45deg); }
.section-body { padding: 22px; min-width: 0; }
.section-intro, .detail-note { font-size: 15px; color: var(--muted); line-height: 1.8; margin-bottom: 19px; }
.section-body > :last-child { margin-bottom: 0; }
.metadata-list { display: grid; grid-template-columns: 165px minmax(0, 1fr); font-size: 14px; margin: 0 0 18px; }
.metadata-list dt, .metadata-list dd { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); }
.metadata-list dt { color: var(--subtle); }
.metadata-list dd { color: var(--ink); overflow-wrap: anywhere; }
.gap-scope { display: block; font-size: 12px; line-height: 1.5; color: var(--warning); margin-top: 6px; }
.definition-note { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 16px 0 0; }
.definition-note strong { color: var(--ink); display: block; font-weight: 500; margin-bottom: 3px; }
.figure-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%, 390px),1fr)); gap: 18px; }
.figure-grid figure { margin: 0; min-width: 0; border: 1px solid var(--line); border-radius: 5px; overflow: hidden; background: var(--bg); }
.figure-grid img { display: block; width: 100%; height: auto; object-fit: contain; }
.figure-grid figcaption { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 12px; color: var(--muted); font-size: 12px; border-top: 1px solid var(--line); }
.figure-grid figcaption > span { min-width: 0; overflow-wrap: anywhere; }
.figure-grid figcaption a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
.subheading { font-size: 12px; font-weight: 600; margin: 24px 0 11px; }
.notice { border: 1px solid #304c49; border-left: 2px solid #609b8c; border-radius: 4px; background: #192725; padding: 14px 17px; margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.notice strong { color: var(--accent); font-size: 12px; font-weight: 550; }
.notice p { margin: 5px 0 0; }
.notice.warning { background: #26241f; border-color: #51452f; border-left-color: #a98c51; }
.notice.warning strong { color: var(--warning); }
.notice ul { padding-left: 18px; margin-bottom: 0; }
.notice li { margin-top: 5px; }
.notice.same-structure .compare-list, .notice.cross-frontend .compare-list { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.notice.same-structure .compare-row, .notice.cross-frontend .compare-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--card); }
.notice.same-structure .compare-row a, .notice.cross-frontend .compare-row a { min-height: 44px; display: flex; flex-direction: column; }
.notice.same-structure .compare-row a strong, .notice.cross-frontend .compare-row a strong { font-size: 14px; color: var(--ink); }
.notice.same-structure .compare-row a span, .notice.cross-frontend .compare-row a span { font-size: 12px; color: var(--muted); }
.notice.same-structure .compare-frontend, .notice.cross-frontend .compare-frontend { font-size: 12px; color: var(--accent); border: 1px solid var(--line); border-radius: 3px; padding: 2px 7px; }
.notice.same-structure .compare-result, .notice.cross-frontend .compare-result { font-size: 14px; color: var(--ink); font-variant-numeric: tabular-nums; margin-left: auto; }
.notice.same-structure .compare-result small, .notice.cross-frontend .compare-result small { font-size: 12px; color: var(--muted); }
.frontend-tag { font-size: 12px; color: var(--accent); border: 1px solid var(--line); border-radius: 3px; padding: 3px 7px; }
.file-list { border: 1px solid var(--line); border-radius: 5px; overflow: hidden; }
.file-row { display: flex; align-items: flex-start; gap: 18px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.file-row:last-child { border-bottom: 0; }
.file-info { flex: 1; min-width: 0; }
.file-info > strong { display: block; color: var(--ink); font-family: "SFMono-Regular", Consolas, monospace; font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.file-info > span { display: block; color: var(--subtle); font-size: 12px; margin-top: 3px; }
.file-info > span > span { padding: 0 4px; }
.file-info > .name-warning, .name-warning { color: var(--warning); font-size: 12px; }
.file-info > .name-note { color: var(--muted); }
.file-actions { display: flex; align-items: center; gap: 14px; flex-shrink: 0; font-size: 12px; padding-top: 1px; }
.file-actions .text-button { font-size: 12px; }
.file-actions a { display: inline-flex; align-items: center; min-height: 44px; }
.file-actions .download-link { color: var(--accent); }
.file-actions .mirror-link { color: var(--subtle); }
.file-integrity { margin-top: 7px; color: var(--subtle); font-size: 12px; }
.file-integrity > summary { min-height: 44px; padding: 12px 0; list-style-position: inside; }
.file-integrity code { display: block; padding: 7px 8px; margin: 6px 0; font-size: 12px; line-height: 1.7; background: var(--bg); color: var(--muted); border-radius: 3px; }
.file-integrity p { margin: 5px 0 0; overflow-wrap: anywhere; }
.binding-card { margin-bottom: 24px; }
.binding-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 3px; }
.binding-heading h3 { font-size: 16px; font-weight: 550; margin: 0; }
.binding-heading h3 span { font-size: 13px; font-weight: 400; color: var(--muted); margin-left: 7px; }
.binding-heading a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.binding-id { margin-bottom: 12px; }
.candidate-section { font-size: 13px; margin-top: 18px; color: var(--muted); }
.candidate-section > summary { min-height: 44px; padding: 10px 0; }
.candidate-list { list-style: none; padding: 0; margin-bottom: 0; }
.candidate-list li { padding: 12px 0; border-bottom: 1px solid var(--line); }
.candidate-list li span { display: block; font-size: 12px; margin-top: 4px; }
.reference-source { border: 1px solid var(--line); border-radius: 5px; margin-top: 22px; background: var(--bg); }
.reference-source > summary { min-height: 44px; padding: 12px 16px; font-size: 14px; color: var(--ink); }
.reference-source > summary span { color: var(--muted); margin-left: 12px; font-size: 13px; }
.reference-body { padding: 0 16px 16px; color: var(--muted); font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.reference-body code { display: block; }
.archive-completeness, .original-figures { border: 1px solid var(--line); border-radius: 5px; margin-top: 22px; background: var(--bg); }
.archive-completeness > summary, .original-figures > summary { min-height: 44px; padding: 12px 16px; font-size: 14px; color: var(--ink); }
.completeness-label { color: var(--muted); font-size: 13px; }
.archive-completeness .notice { margin: 0 16px 16px; }
.archive-completeness .completeness-gates { padding: 0 16px 16px; font-size: 14px; overflow-wrap: anywhere; }
.original-figures .figure-grid { padding: 0 16px 16px; }
.software-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: 20px; }
.software-entry { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 4px; background: var(--bg); }
.software-entry h3 { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.software-entry code { display: block; font-size: 13px; line-height: 1.7; }
.software-entry p { font-size: 12px; color: var(--subtle); line-height: 1.7; margin: 9px 0 0; }
.muted { color: var(--muted); font-size: 13px; }
.linked-records { list-style: none; padding: 0; margin: 0; }
.linked-records li { display: flex; gap: 20px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.linked-records li:last-child { border: 0; }
.linked-records a { flex: 1; min-width: 0; }
.linked-records a strong { display: block; font-size: 14px; font-weight: 550; }
.linked-records a span { font-size: 12px; color: var(--subtle); display: block; overflow-wrap: anywhere; }
.relation-label { color: var(--muted); font-size: 12px; }
.property-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); overflow-x: auto; margin-bottom: 16px; padding-bottom: 1px; }
.property-tab { min-height: 44px; padding: 9px 10px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--subtle); font-size: 13px; white-space: nowrap; }
.property-tab[aria-selected="true"] { color: var(--accent); border-bottom-color: var(--accent); }
.property-empty { padding: 22px 0; font-size: 13px; color: var(--muted); }
.property-empty p { font-size: 13px; color: var(--ink); margin-bottom: 6px; }
.property-table-wrap { overflow-x: auto; }
.property-table { width: 100%; min-width: 650px; border-collapse: collapse; font-size: 14px; }
.property-table th, .property-table td { text-align: left; padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.property-table thead th { font-size: 12px; color: var(--subtle); font-weight: 600; background: var(--raised); }
.property-table tbody th { font-weight: 500; }
.property-table td { color: var(--muted); }
.property-value { color: var(--accent); font-variant-numeric: tabular-nums; }
.property-unit { color: var(--subtle); margin-left: 4px; font-size: 12px; }
.property-status { font-size: 12px; }
.property-definition { display: block; max-width: 270px; font-size: 12px; font-weight: 400; color: var(--subtle); margin-top: 5px; }
.property-evidence { max-width: 190px; overflow-wrap: anywhere; font-size: 12px; }
dialog { width: min(900px, calc(100% - 32px)); max-height: 90vh; margin: auto; padding: 0; color: var(--ink); background: var(--panel); border: 1px solid #486174; border-radius: 9px; box-shadow: 0 25px 120px #0009; }
dialog::backdrop { background: #050a10c9; backdrop-filter: blur(3px); }
.preview-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 22px 24px 0; }
.preview-heading h2 { font: 14px "SFMono-Regular", Consolas, monospace; margin: 0; overflow-wrap: anywhere; }
.dialog-close { color: var(--muted); border: 1px solid var(--line); border-radius: 4px; background: var(--raised); font-size: 26px; line-height: 1; width: 44px; height: 44px; flex-shrink: 0; }
.preview-path { font-size: 12px; color: var(--subtle); overflow-wrap: anywhere; padding: 12px 24px 0; margin: 0; }
.preview-status { padding: 8px 24px 0; color: var(--muted); font-size: 13px; margin: 0; }
dialog pre { max-height: 55vh; overflow: auto; margin: 16px 24px; padding: 18px; background: var(--bg); border: 1px solid var(--line); border-radius: 5px; font-size: 13px; line-height: 1.7; tab-size: 4; }
.preview-footer { padding: 0 24px 20px; }
@media (min-width: 1600px) { main, .header-inner { width: min(1450px, calc(100% - 120px)); } }
@media (max-width: 1150px) {
  main, .header-inner { width: calc(100% - 48px); }
  .browser-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 22px; }
  .filter-panel { padding-right: 18px; }
  .catalog-table th, .catalog-table td { padding: 12px 10px; }
  .detail-layout { grid-template-columns: 175px minmax(0,1fr); gap: 22px; }
  .section-nav { padding-right: 12px; }
  .section-body { padding: 18px; }
  .search-tip { display: none; }
}
@media (max-width: 820px) {
  .browser-layout, .detail-layout { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .filter-panel { position: static; border: 1px solid var(--line); border-radius: 6px; padding: 0 14px; background: var(--panel); }
  .filter-heading { margin: 0; min-height: 52px; }
  .filter-heading h2 { font-size: 14px; }
  #filter-toggle { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; }
  .filter-options { display: none; }
  .filters-expanded .filter-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; padding: 12px 0 16px; }
  .dimension-filter { grid-column: 1/-1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; }
  .dimension-filter legend { padding: 0; margin-bottom: 9px; }
  .dimension-filter label { margin-bottom: 0; flex: 1; font-size: 13px; }
  .dimension-filter b { margin-left: 2px; }
  .select-control { margin: 0; }
  .filter-note, .sidebar-link { display: none; }
  .intro-aside { flex-basis: 180px; }
  .intro-lattice { width: 180px; height: 100px; }
  .intro p:not(.kicker) { font-size: 16px; }
  .stats { margin-bottom: 24px; }
  .stats > div { padding: 16px 18px; }
  .stat-index { display: none; }
  .stats > div > span:last-child { font-size: 12px; }
  .intro-link { display: none; }
  .section-nav { position: static; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; border: 0; }
  .section-nav .kicker, .section-tools { display: none; }
  .section-nav > button { width: auto; border: 1px solid var(--line); padding: 6px 9px; font-size: 12px; background: var(--panel); }
  .result-strip > div { padding: 16px; }
  .result-strip strong { font-size: 21px; }
}
@media (max-width: 540px) {
  main, .header-inner { width: calc(100% - 32px); }
  main { padding-top: 20px; }
  .header-inner { min-height: 74px; gap: 12px; flex-wrap: wrap; padding-top: 14px; }
  .brand { font-size: 16px; gap: 8px; }
  .brand-mark { height: 36px; padding: 3px; border-radius: 9px; }
  .brand small { font-size: 12px; letter-spacing: .07em; }
  .main-nav { width: 100%; gap: 24px; height: 44px; }
  .main-nav a { font-size: 14px; }
  .main-nav .external-nav { display: none; }
  .intro { margin-bottom: 20px; }
  .intro h1 { font-size: 32px; margin-bottom: 12px; }
  .intro-aside { display: none; }
  .intro p:not(.kicker) { font-size: 16px; }
  .kicker { font-size: 12px; }
  .stats { grid-template-columns: repeat(2,1fr); }
  .stats > div { display: flex; align-items: center; gap: 12px; padding: 10px 13px; }
  .stats > div > span:last-child { margin-top: 0; line-height: 1.4; }
  .stats > div:nth-child(2) { border-right: 0; }
  .stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .stats strong { font-size: 25px; }
  .dimension-filter { gap: 4px; }
  .dimension-filter label { font-size: 13px; gap: 7px; flex-basis: 100%; }
  .dimension-filter input { width: 16px; height: 16px; }
  .search-box { height: 48px; }
  .search-box input { font-size: 16px; }
  .search-examples { margin-bottom: 10px; }
  .pagination { padding: 10px; }
  .pagination > div { gap: 8px; }
  .search-box kbd { display: none; }
  .catalog-toolbar { gap: 8px; }
  .catalog-toolbar h2 { font-size: 17px; }
  .catalog-toolbar p { font-size: 12px; }
  .sort-control { font-size: 0; gap: 0; }
  .sort-control select { font-size: 13px; padding: 8px; }
  .catalog-table { min-width: 850px; }
  .catalog-table thead th:first-child, .catalog-table tbody th { position: sticky; left: 0; z-index: 1; background: var(--panel); }
  .site-footer { margin-top: 35px; padding: 19px 0; }
  .detail-header { align-items: flex-start; flex-direction: column; gap: 17px; }
  .detail-header h1 { font-size: 36px; }
  .detail-header h1 small { font-size: 16px; }
  .detail-id { font-size: 12px; }
  .result-strip { grid-template-columns: repeat(2,1fr); margin-bottom: 22px; }
  .result-strip > div { padding: 15px; }
  .result-strip strong { font-size: 23px; }
  .result-strip .no-result { font-size: 15px; }
  .detail-section > summary { gap: 9px; padding: 15px; }
  .detail-section > summary h2 { font-size: 16px; }
  .section-badge { font-size: 12px; }
  .section-body { padding: 15px; }
  .metadata-list { grid-template-columns: 110px minmax(0,1fr); font-size: 14px; }
  .software-grid { grid-template-columns: 1fr; gap: 12px; }
  .file-row { flex-direction: column; gap: 10px; padding: 13px; }
  .file-info { width: 100%; }
  .file-actions { align-self: flex-end; gap: 20px; }
  .linked-records li { flex-wrap: wrap; gap: 10px; }
  .linked-records a { flex-basis: calc(100% - 50px); }
  .relation-label { width: 100%; }
  .preview-heading { padding: 17px 16px 0; }
  .preview-path, .preview-status { padding-left: 16px; padding-right: 16px; }
  dialog pre { margin: 14px 16px; padding: 12px; font-size: 12px; }
  .preview-footer { padding: 0 16px 16px; }
}
.radial-file { border: 1px solid var(--line); border-radius: 7px; margin: 18px 0; }
.radial-file > summary { padding: 16px; color: var(--heading); overflow-wrap: anywhere; }
.radial-content { padding: 0 16px 16px; min-width: 0; }
.radial-status { margin: 10px 0; color: var(--muted); font-size: 14px; }
.radial-card { margin: 24px 0; border-top: 1px solid var(--line); padding-top: 18px; min-width: 0; }
.radial-card h3 { font-size: 18px; }
.radial-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; font-size: 14px; }
.radial-controls label { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.radial-controls select { background: var(--raised); color: var(--ink); border: 1px solid var(--line); min-height: 44px; border-radius: 5px; max-width: 100%; }
.radial-channels { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.radial-channels label { display: flex; align-items: center; gap: 5px; color: var(--channel); border: 1px solid var(--line); padding: 7px 9px; border-radius: 5px; min-height: 44px; font-size: 13px; }
.radial-channels input { accent-color: var(--channel); }
.radial-chart { width: 100%; overflow: auto; }
.radial-chart svg { display: block; width: 100%; min-width: 450px; }
.radial-metrics { color: var(--muted); font-size: 14px; }
.radial-metrics summary { min-height: 44px; padding: 10px 0; }
.radial-metrics table { width: 100%; border-collapse: collapse; }
.radial-metrics td, .radial-metrics th { padding: 9px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 540px) { .radial-content { padding: 0 10px 12px; } .radial-controls { gap: 8px; } .radial-controls label { flex-wrap: wrap; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }

/* ============================================================
   Editorial atlas v2 (2026-10-15): 期刊风浅色主题。
   Fraunces 展示衬线 + booktabs 表格 + 卡片层次；结构与类名不变。
   ============================================================ */
:root{
  color-scheme: light;
  --bg:#f3f6f6; --panel:#ffffff; --raised:#eef4f4; --hover:#eaf3f3;
  --tint:#eef4f4; --tint-strong:#e0eeed;
  --ink:#22333b; --heading:#0d3540; --muted:#4f656e; --subtle:#5d727b;
  --line:#dbe4e6; --line-strong:#bfd1d5; --line-accent:#9ec6c9;
  --accent:#0c6a75; --accent-deep:#0a5560; --blue:#0c6a75; --warning:#8f6224;
  --header-veil:#ffffffec;
  --text-strong:#2c4f63; --text-body:#456c7f; --text-soft:#587580; --text-faint:#64828f;
  --teal-deep:#0a5560; --teal-bright:#168b96;
  --shadow-1:0 1px 2px rgba(13,53,64,.05),0 2px 10px rgba(13,53,64,.07);
  --shadow-2:0 2px 6px rgba(13,53,64,.06),0 18px 44px rgba(13,53,64,.12);
  --font-display:"Fraunces","Iowan Old Style",Georgia,"Times New Roman",serif;
  --r-card:14px; --r-ctl:10px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
html{background:var(--bg)}
body{background:var(--bg);font-size:16px;line-height:1.65;min-width:320px}
::selection{background:#cde7e5;color:var(--heading)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#c6d7db;border-radius:8px;border:2px solid var(--bg)}
button,select{min-height:44px}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--teal-deep)}
:focus-visible{outline:3px solid var(--teal-bright);outline-offset:3px;border-radius:4px}
button:disabled{opacity:.45}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:var(--header-veil);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);border-bottom:1px solid var(--line);box-shadow:var(--shadow-1)}
.header-inner{width:min(1460px,calc(100% - 72px));min-height:78px;gap:26px}
.brand{font-size:24px;letter-spacing:-.01em;gap:12px;color:var(--heading)}
.brand-mark{height:52px}
.brand b{color:var(--accent)}
.brand small{font-size:12px;letter-spacing:.16em;margin-top:4px;color:var(--text-faint);font-family:inherit}
.main-nav{height:78px;gap:10px}
.main-nav a{font-size:14px;color:var(--text-body);min-height:44px;padding:0 15px;border-radius:999px;border-bottom:2px solid transparent;transition:color .15s ease,background-color .15s ease}
.main-nav a[aria-current="page"]{color:var(--accent-deep);border-bottom-color:transparent;background:var(--tint-strong);font-weight:600}
.main-nav a:hover{color:var(--accent-deep);background:var(--tint)}
.main-nav .external-nav{font-size:13px;background:var(--panel);border:1px solid var(--line-strong);border-radius:999px;padding:8px 15px;box-shadow:var(--shadow-1);transition:border-color .15s ease,color .15s ease}
.main-nav .external-nav:hover{border-color:var(--accent)}
main{width:min(1460px,calc(100% - 72px));padding-top:26px}

.archive-status{border:1px solid #e3d3b5;border-left:3px solid #a98242;background:#fbf6eb;border-radius:8px;font-size:13px;line-height:1.75;padding:10px 15px;margin-bottom:24px;gap:5px 18px}
.archive-status strong{color:#79541f}
.archive-status span{color:#756449}
.archive-status a{color:#79541f;min-height:44px}

/* ---------- Hero ---------- */
#home-view{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 28px;align-items:center}
.intro{grid-column:1;display:block;min-width:0;margin:8px 0 10px}
.intro-text{max-width:850px}
.kicker{font-size:12px;letter-spacing:.16em;font-weight:650;color:var(--accent);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:26px;height:2px;background:var(--accent);border-radius:2px}
.intro h1{font-family:var(--font-display);font-size:clamp(38px,4.1vw,54px);font-weight:600;letter-spacing:-.015em;line-height:1.08;margin-bottom:16px;color:var(--heading)}
.intro p:not(.kicker){max-width:780px;font-size:17px;line-height:1.75;color:var(--muted)}
.intro-aside{display:none}
.stats{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:330px;margin:0;align-self:stretch}
.stats>div{display:block;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-1);border-top:3px solid var(--accent);transition:transform .18s ease,box-shadow .18s ease}
.stats>div:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.stats strong{font-family:var(--font-display);font-size:33px;letter-spacing:-.01em;font-weight:600;color:var(--accent-deep);line-height:1.15;font-variant-numeric:lining-nums}
.stats>div>span:last-child{color:var(--subtle);font-size:12px;line-height:1.55;margin-top:6px}
.stat-index{display:none}

/* ---------- Landing cover（纯炫酷一页 2026-10-17 v3）：电子海动效 + 徽章，无下滚 ---------- */
.site-header{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
body.cover-mode .site-header{position:fixed;left:0;right:0;top:0;transform:translateY(-100%);visibility:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1),visibility 0s .5s}
body.cover-mode main{padding-top:0}
body.cover-mode .site-footer{display:none}
#landing-view{margin:0}
.cover{position:relative;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden}
.cover::before{content:"";position:absolute;inset:0;background:radial-gradient(58% 46% at 50% 44%,var(--tint-strong),transparent 76%);pointer-events:none}
.cover-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cover-stack{position:relative;display:grid;justify-items:center;gap:26px;text-align:center;padding:0 22px;animation:cover-rise .8s cubic-bezier(.2,.7,.2,1) both}
.cover-stage-wrap{position:relative;display:grid;place-items:center;padding:28px}
.cover-stage-wrap::before{content:"";position:absolute;left:50%;top:50%;width:175%;aspect-ratio:1;translate:-50% -50%;background:radial-gradient(closest-side,rgba(22,139,150,.15),rgba(22,139,150,0) 72%);pointer-events:none}
.cover-orbit{position:absolute;width:min(440px,88vw);aspect-ratio:1;border:2px dashed var(--line-accent);border-radius:50%;animation:orbit-spin 46s linear infinite;pointer-events:none}
@keyframes orbit-spin{0%{transform:rotate(0deg);opacity:.4}50%{opacity:.7}100%{transform:rotate(360deg);opacity:.4}}
@keyframes cover-rise{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}
.cover-emblem{position:relative;z-index:1;display:block;background:rgba(255,255,255,.9);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border:1px solid rgba(255,255,255,.55);border-radius:var(--r-card);padding:30px;box-shadow:0 24px 70px -30px rgba(11,19,43,.3),0 18px 50px -24px rgba(22,139,150,.35);transition:transform .25s ease,box-shadow .25s ease}
.cover-emblem:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 30px 84px -30px rgba(11,19,43,.34),0 24px 64px -22px rgba(22,139,150,.5)}
.landing-emblem{display:block;width:230px;height:auto}
.cover-fly-clone{position:fixed;z-index:200;pointer-events:none;will-change:transform,opacity;margin:0}
.cover-actions{display:flex;justify-content:center}

/* ---------- Filter rail ---------- */

.browser-layout{grid-column:1/-1;display:grid;grid-template-columns:236px minmax(0,1fr);gap:28px;align-items:start;margin-top:6px}
.browser-layout:has(>.filter-panel[hidden]){grid-template-columns:minmax(0,1fr)}
.filter-panel{position:sticky;top:96px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--panel);padding:18px;box-shadow:var(--shadow-1)}
.filter-heading{min-height:44px;gap:8px;margin-bottom:14px}
.filter-heading h2{font-size:16px;font-weight:650;color:var(--heading);letter-spacing:-.01em}
.text-button{color:var(--accent);font-size:13px}
.dimension-filter,.software-filter{margin-bottom:20px;border:0;padding:0}
.dimension-filter legend,.software-filter legend,.select-control>span{color:var(--subtle);font-size:12px;letter-spacing:.14em;margin-bottom:10px;font-weight:700}
.dimension-filter label,.software-filter label{display:flex;align-items:center;min-height:40px;gap:9px;border-radius:8px;padding:0 10px;margin-bottom:2px;font-size:14px;color:var(--text-body);transition:background-color .15s ease,color .15s ease}
.dimension-filter label:has(input:checked),.software-filter label:has(input:checked){background:var(--tint-strong);color:var(--accent-deep);font-weight:600}
.dimension-filter input,.software-filter input{accent-color:var(--accent);width:16px;height:16px}
.dimension-filter b,.software-filter b{margin-left:auto;font-size:12px;color:var(--text-soft)}
.select-control{display:block;margin-bottom:20px}
.select-control select{background:var(--panel);border:1px solid var(--line-strong);color:var(--text-strong);border-radius:var(--r-ctl);height:44px;font-size:14px;padding:0 10px;width:100%;box-shadow:inset 0 1px 2px rgba(13,53,64,.04)}
.filter-note{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;gap:9px}
.filter-note p{font-size:12px;line-height:1.8;color:var(--subtle);margin-bottom:8px}
.note-marker{color:var(--accent);border-color:var(--line-strong)}
.sidebar-link{font-size:12px;color:var(--accent-deep)}

/* ---------- Search & toolbar ---------- */
.search-box{background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;height:56px;padding:0 18px;gap:12px;color:var(--accent);box-shadow:var(--shadow-1);transition:border-color .15s ease,box-shadow .15s ease}
.search-box:focus-within{border-color:var(--teal-bright);box-shadow:0 0 0 4px #168b9618,var(--shadow-1)}
.search-box input{font-size:16px;color:var(--text-strong);min-width:0}
.search-box input::placeholder{color:var(--text-faint)}
.search-box kbd{background:var(--tint);border-color:var(--line);font-size:12px;color:var(--text-faint);border-radius:6px}
.search-examples{font-size:12px;gap:7px;margin:6px 0 16px;color:var(--text-faint)}
.search-examples button{font-size:13px;color:var(--text-body);border-radius:999px;padding:6px 12px;transition:background-color .15s ease,color .15s ease}
.search-examples button:hover{background:var(--tint-strong);border-color:var(--line-accent);color:var(--teal-deep)}
.search-tip{font-size:12px;color:var(--text-faint)}
.catalog-toolbar{align-items:center;padding:0 0 14px;margin-bottom:0;gap:20px}
.catalog-toolbar h2{font-family:var(--font-display);font-size:23px;font-weight:600;letter-spacing:-.01em;color:var(--heading);margin:0 0 4px}
.catalog-toolbar p{font-size:13px;color:var(--text-soft)}
.sort-control{color:var(--text-faint);font-size:12px}
.sort-control select{background:var(--panel);border-color:var(--line-strong);border-radius:var(--r-ctl);color:var(--text-strong);font-size:14px;min-height:44px}

/* ---------- Catalog table（booktabs 期刊风） ---------- */
.catalog{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-2);overflow:hidden}
.table-wrap,.property-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.catalog-table{min-width:850px}
.catalog-table th,.catalog-table td{padding:11px 14px;border-color:var(--line)}
.catalog-table thead th{background:var(--panel);border-top:2px solid var(--heading);border-bottom:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:650;color:var(--subtle);padding-top:13px;padding-bottom:13px}
.catalog-table tbody td{font-size:14px;color:var(--text-body)}
.catalog-table tbody tr{transition:background-color .13s ease}
.catalog-table tbody tr:hover{background:var(--hover)}
.catalog-table tbody tr:hover th{box-shadow:inset 3px 0 var(--accent)}
.catalog-table tbody tr:last-child td,.catalog-table tbody tr:last-child th{border-bottom:0}
.catalog-table .numeric{font-variant-numeric:tabular-nums}
.catalog-table .gw-value{font-weight:650;color:var(--teal-deep)}
.material-link{font-size:17px;min-height:44px;color:var(--text-strong);font-weight:600;letter-spacing:-.015em}
.material-link:hover{color:var(--teal-deep)}
.table-description{color:var(--text-faint);font-size:12px;letter-spacing:.005em}
.record-type-tag{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border:1px solid var(--line-accent);border-radius:999px;background:var(--tint);color:var(--accent-deep);font-size:12px;font-weight:650;line-height:1.4;white-space:nowrap}
.dimension-tag{background:var(--tint);border:1px solid var(--line);color:var(--text-body);font-size:12px;border-radius:6px;padding:3px 7px}
.method-list,.detail-tags{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.method-tag{background:var(--tint);color:var(--text-body);font-size:12px;border-radius:6px;padding:3px 7px;font-weight:600;letter-spacing:.02em}
.method-dft{background:#edf3f9;color:#375b81}
.method-exx{background:#f1eef8;color:#695084}
.method-gw{background:#e2f1ef;color:var(--teal-deep)}
.method-rpa{background:#edf6e2;color:#3f6b2a}
.method-delta-st{background:#e3f2f8;color:#2c5f77}
.method-soc{background:#fdf3e3;color:#8a5d13}
.method-spin{background:#fbe4ec;color:#7c3a4d}
.asset-role{background:var(--tint);border-color:var(--line);color:var(--text-soft);border-radius:6px}
.availability{color:var(--text-soft);font-size:12px}
.availability i{background:#25868b}
.missing-value{color:#885c24;font-size:12px}
.not-reported{color:var(--subtle)}
.pagination{background:var(--raised);padding:12px 16px;color:var(--text-soft);font-size:12px;border-top:1px solid var(--line)}
.pagination button{border-color:var(--line-strong);background:var(--panel);color:var(--text-strong);border-radius:8px;transition:background-color .15s ease}
.pagination button:hover{background:var(--hover)}
.pagination button:disabled{opacity:.35}
.catalog-footnote{color:var(--text-faint);font-size:12px;line-height:1.85;margin-top:14px}
.empty-panel{background:var(--panel);border-color:var(--line-strong);border-radius:var(--r-card);font-size:15px;color:var(--muted);box-shadow:var(--shadow-1)}
.empty-panel h3{font-family:var(--font-display);font-size:22px}

/* ---------- Footer ---------- */
.site-footer{margin-top:52px;border-color:var(--line);color:var(--text-faint);font-size:12px;padding-top:22px;gap:16px}
.site-footer>div{flex-wrap:wrap;gap:5px 22px}
.site-footer a{color:var(--text-body)}
.site-footer a:hover{color:var(--accent-deep)}

/* ---------- Detail page ---------- */
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;font-size:13px;margin:0 0 20px;color:var(--text-faint)}
.breadcrumb a{color:var(--text-body);min-height:44px;display:inline-flex;align-items:center}
.detail-header{align-items:center;gap:24px;margin-bottom:22px;padding-bottom:26px;border-bottom:1px solid var(--line-strong)}
.detail-header h1{font-family:var(--font-display);font-size:clamp(38px,4vw,48px);font-weight:600;letter-spacing:-.015em;line-height:1.1;margin:10px 0 8px;color:var(--heading)}
.detail-header h1 small{font-size:18px;color:var(--text-soft);font-weight:400;font-family:inherit}
.detail-id,.binding-id{color:var(--text-faint);font-size:12px;overflow-wrap:anywhere}
.detail-tags{gap:6px}
.frontend-tag{font-size:12px;color:var(--accent-deep);border:1px solid var(--line);border-radius:999px;padding:3px 10px;background:var(--tint);font-weight:600}
.primary-button,.outline-button{border-radius:var(--r-ctl);background:var(--accent-deep);border-color:var(--accent-deep);color:var(--panel);font-size:14px;font-weight:600;min-height:44px;padding:10px 16px;white-space:normal;text-align:center;box-shadow:var(--shadow-1);transition:background-color .15s ease,box-shadow .15s ease}
.primary-button:hover{background:var(--teal-deep);border-color:var(--teal-deep);color:var(--panel)}
.outline-button{background:var(--panel);color:var(--accent-deep);border-color:var(--line-strong);box-shadow:none}
.outline-button:hover{background:var(--tint);border-color:var(--line-accent);color:var(--teal-deep)}
.record-status,.gap-scope,.name-warning,.file-info>.name-warning{color:#865c24}
.record-status{font-size:13px;line-height:1.75}
.result-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:transparent;border:0;border-radius:0;overflow:visible;margin-bottom:30px}
.result-strip>div{background:var(--panel);padding:18px 20px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-1)}
.result-strip>div>span{font-size:12px;color:var(--text-soft);margin-bottom:8px}
.result-strip strong{font-family:var(--font-display);font-size:30px;letter-spacing:-.01em;font-weight:600;color:var(--text-strong);font-variant-numeric:lining-nums}
.result-strip strong small{font-size:13px;color:var(--text-faint);font-weight:400;font-family:inherit}
.result-strip .result-primary{background:var(--tint-strong);border-color:var(--line-accent)}
.result-primary strong{color:var(--accent-deep)}
.result-strip .no-result{font-size:16px;color:var(--text-faint)}
.detail-layout{grid-template-columns:206px minmax(0,1fr);gap:28px}
.section-nav{position:sticky;top:96px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 10px;box-shadow:var(--shadow-1)}
.section-nav>.kicker{font-size:12px;color:var(--text-faint);padding:0 12px;margin-bottom:10px}
.section-nav>button{min-height:44px;width:100%;font-size:14px;color:var(--text-body);padding:10px 12px;border-left:2px solid transparent;border-radius:8px;text-align:left;line-height:1.6;background:transparent;transition:background-color .15s ease,color .15s ease}
.section-nav>button:hover{background:var(--tint);border-left-color:var(--teal-deep);color:var(--teal-deep)}
.section-tools{border-color:var(--line);padding-top:12px;margin:12px 10px 0;gap:15px}
.section-tools button{font-size:12px}
.detail-section{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);margin-bottom:16px;scroll-margin-top:96px;box-shadow:var(--shadow-1)}
.detail-section>summary{gap:12px;min-height:61px;padding:17px 22px;background:var(--raised);transition:background-color .15s ease}
.detail-section>summary:hover{background:var(--hover)}
.detail-section>summary h2{font-size:17px;font-weight:650;color:var(--text-strong);letter-spacing:-.01em}
.section-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--tint-strong);color:var(--accent-deep);font-size:12px;font-weight:650;font-family:"SFMono-Regular",Consolas,monospace}
.section-badge{font-size:12px;color:var(--text-faint)}
.expand-mark{color:var(--text-faint)}
.detail-section[open]>summary{border-color:var(--line)}
.detail-section[open]>summary .expand-mark{transform:rotate(45deg)}
.section-body{padding:24px}
.section-intro,.detail-note{font-size:16px;color:var(--text-soft);line-height:1.85}
.metadata-list{grid-template-columns:176px minmax(0,1fr);font-size:15px}
.metadata-list dt,.metadata-list dd{padding:11px 0;border-color:var(--line)}
.metadata-list dt{color:var(--text-faint)}
.metadata-list dd{color:var(--text-strong)}
.definition-note{font-size:14px;line-height:1.8;color:var(--text-soft)}
.definition-note strong{color:var(--ink)}

/* ---------- Figures ---------- */
.figure-grid{gap:18px}
.figure-grid figure{border-color:var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-1);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.figure-grid figure:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--line-accent)}
.figure-grid img{display:block;width:100%;height:auto;object-fit:contain}
.figure-grid figcaption{background:var(--raised);border-color:var(--line);color:var(--text-soft);padding:13px 15px;font-size:12px;line-height:1.8}
.figure-grid figcaption a{color:var(--accent-deep)}

/* ---------- Notices & evidence ---------- */
.notice{background:var(--tint);border-color:var(--line);border-left:3px solid #5d9fa6;border-radius:10px;color:var(--text-body);font-size:14px;line-height:1.8;padding:15px 18px}
.notice strong{color:#176774;font-size:13px;font-weight:650}
.notice.warning{background:#faf3e6;border-color:#e4d2b4;border-left-color:#b08b4f;color:#786549}
.notice.warning strong{color:#845a20}
.notice.same-structure .compare-row,.notice.cross-frontend .compare-row{background:var(--tint);border-color:var(--line);border-radius:10px}
.notice.same-structure .compare-row a strong,.notice.cross-frontend .compare-row a strong{color:var(--text-strong)}
.notice.same-structure .compare-row a span,.notice.cross-frontend .compare-row a span{color:var(--text-faint)}
.notice.same-structure .compare-frontend,.notice.cross-frontend .compare-frontend{color:var(--accent-deep);border-color:var(--line)}
.notice.same-structure .compare-result,.notice.cross-frontend .compare-result{color:var(--heading)}
.notice.same-structure .compare-result small,.notice.cross-frontend .compare-result small{color:var(--text-faint)}
.file-list{background:var(--panel);border-color:var(--line);border-radius:10px;overflow:hidden}
.file-row{padding:15px 17px;border-color:var(--line);gap:20px;transition:background-color .13s ease}
.file-row:hover{background:var(--raised)}
.file-info>strong{font-size:13px;color:var(--text-strong)}
.file-info>span{font-size:12px;color:var(--text-faint)}
.file-actions{gap:18px;font-size:13px}
.file-actions .text-button{font-size:13px}
.file-actions .download-link{color:var(--teal-deep)}
.file-actions .mirror-link{color:var(--text-faint)}
.file-integrity{color:var(--text-faint)}
.file-integrity code{background:var(--tint);border:1px solid var(--line);color:var(--text-body);border-radius:6px;font-size:12px}
.binding-heading h3{font-size:18px;font-weight:650;color:var(--text-strong)}
.binding-heading h3 span{font-size:13px;color:var(--text-faint)}
.binding-id{margin-bottom:14px}
.candidate-section{font-size:14px;color:var(--text-soft)}
.candidate-list{background:var(--tint);border:1px solid var(--line);border-radius:10px;padding:0 14px}
.candidate-list li{padding:13px 0;border-color:var(--line)}
.candidate-list li:last-child{border-bottom:0}
.candidate-list li span{font-size:12px;color:var(--text-faint);overflow-wrap:anywhere}
.archive-completeness,.original-figures{background:var(--tint);border-color:var(--line);border-radius:10px}
.archive-completeness>summary,.original-figures>summary{font-size:14px;color:var(--text-strong);padding:14px 16px}
.completeness-label{font-size:13px;color:var(--text-faint)}
.software-grid{gap:18px}
.software-entry{background:var(--tint);border:1px solid var(--line);border-radius:10px;padding:17px}
.software-entry h3{font-size:14px;color:var(--text-strong)}
.software-entry code{font-size:13px;color:var(--text-strong);overflow-wrap:anywhere}
.software-entry p{font-size:13px;color:var(--text-faint)}
.muted{font-size:14px;color:var(--text-soft)}
.linked-records li{border-color:var(--line)}
.linked-records a strong{font-size:15px;color:var(--text-strong)}
.linked-records a span{font-size:12px;color:var(--text-faint)}
.relation-label{font-size:12px;color:var(--text-faint)}

/* ---------- Properties ---------- */
.property-tabs{gap:5px;border-color:var(--line)}
.property-tab{color:var(--text-faint);font-size:14px;border-radius:8px 8px 0 0;padding:11px 14px;transition:background-color .15s ease,color .15s ease}
.property-tab:hover{background:var(--tint);color:var(--accent-deep)}
.property-tab[aria-selected="true"]{color:var(--text-strong);border-color:var(--teal-deep);background:var(--tint);font-weight:600}
.property-table{font-size:15px}
.property-table th,.property-table td{padding:13px;border-color:var(--line)}
.property-table thead th{background:var(--panel);border-top:2px solid var(--heading);border-bottom:1px solid var(--line-strong);color:var(--text-soft);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.property-table tbody th{color:var(--text-strong)}
.property-table td{color:var(--text-soft)}
.property-value{color:var(--teal-deep);font-weight:600}
.property-definition,.property-evidence,.property-unit{color:var(--text-faint);line-height:1.7}
.property-empty,.property-empty p{font-size:14px}
.subheading{font-size:13px;color:var(--text-strong);font-weight:650;letter-spacing:.03em}

/* ---------- Radial / metric / dialog ---------- */
.radial-file{background:var(--tint);border-color:var(--line);border-radius:10px}
.radial-file>summary{min-height:54px;padding:17px;font-size:15px;color:var(--text-strong)}
.radial-content{padding:0 17px 17px}
.radial-status{color:var(--text-soft);font-size:14px}
.radial-card{border-color:var(--line);background:transparent}
.radial-card h3{font-size:20px;color:var(--text-strong)}
.radial-controls{font-size:14px;color:var(--text-soft)}
.radial-controls select{background:var(--panel);color:var(--text-strong);border-color:var(--line-strong);font-size:14px;min-height:44px;padding:7px 9px;border-radius:var(--r-ctl)}
.radial-channels label{background:var(--panel);border-color:var(--line);font-size:13px;border-radius:8px}
.radial-chart{background:transparent;max-width:100%;overflow:auto}
.radial-metrics{font-size:13px;color:var(--text-soft);max-width:100%;overflow-x:auto}
.radial-metrics table{min-width:450px}
.radial-metrics th,.radial-metrics td{border-color:var(--line);background:transparent}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
.metric-grid>div{min-width:0;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-1)}
.metric-grid span{display:block;margin-bottom:6px;color:var(--subtle);font-size:12px}
.metric-grid strong{display:block;color:var(--heading);font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.35;overflow-wrap:anywhere;font-variant-numeric:lining-nums}
.primary-result{font-variant-numeric:tabular-nums}
.primary-result strong{display:block;color:var(--accent-deep);font-size:15px;font-weight:650}
.primary-result small{color:var(--muted);font-size:12px;font-weight:450}
dialog{background:var(--panel);border-color:var(--line-strong);border-radius:16px;color:var(--text-strong);box-shadow:0 30px 120px #15446559}
dialog::backdrop{background:#17384f99;backdrop-filter:blur(4px)}
.preview-heading{padding:23px 24px 0}
.preview-heading h2{font-size:15px;color:var(--text-strong)}
.preview-path,.preview-status{font-size:13px;color:var(--text-soft)}
.dialog-close{background:var(--tint);border-color:var(--line);color:var(--text-strong);border-radius:10px}
dialog pre{background:var(--tint);border-color:var(--line);border-radius:10px;color:var(--text-strong);font-size:13px}
.preview-footer{padding-bottom:22px}

/* ---------- Gap overview & theme toggle ---------- */
.gap-table{width:100%;min-width:820px;border-collapse:collapse}
.gap-table th,.gap-table td{padding:9px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.gap-table tbody th{white-space:nowrap;max-width:330px;overflow:hidden;text-overflow:ellipsis}
.gap-table tbody td{white-space:nowrap}
.gap-table .table-description{display:inline;margin-left:8px}
.gap-table .dimension-tag{margin-right:4px}
.gap-table .material-link{min-height:0}
.gap-table .open-cell a{width:auto;height:auto;min-width:26px;min-height:26px;padding:2px 6px;font-size:15px}
.gap-table thead th{background:var(--panel);border-top:2px solid var(--heading);border-bottom:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:.07em;font-size:12px;font-weight:650;color:var(--text-soft);padding-top:13px;padding-bottom:13px;position:sticky;top:0}
.gap-table tbody tr{transition:background-color .13s ease}
.gap-table tbody tr:hover{background:var(--hover)}
.gap-table tbody tr:hover th{box-shadow:inset 3px 0 var(--accent)}
.gap-table tbody tr:last-child td,.gap-table tbody tr:last-child th{border-bottom:0}
.gap-table .numeric{font-variant-numeric:tabular-nums;font-size:15px;color:var(--text-body)}
.gap-table .gw-value{font-weight:650;color:var(--teal-deep);font-size:15px;min-width:64px;text-align:right}
.gap-cell{min-width:230px}
.gw-line{display:flex;align-items:center;gap:12px}
.gap-bar{flex:1;height:6px;min-width:70px;border-radius:3px;background:var(--tint);overflow:hidden}
.gap-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--teal-bright),var(--teal-deep))}
.search-box[hidden],.search-examples[hidden],.filter-panel[hidden]{display:none}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:4px;border-radius:999px;border:1px solid var(--line-strong);background:var(--panel);color:var(--text-soft);box-shadow:var(--shadow-1);transition:color .15s ease,border-color .15s ease}
.theme-toggle:hover{color:var(--teal-deep);border-color:var(--line-accent)}
.theme-toggle .icon-moon{display:none}
html[data-theme="dark"] .theme-toggle .icon-moon{display:block}
html[data-theme="dark"] .theme-toggle .icon-sun{display:none}

/* ---------- Responsive ---------- */
@media (min-width:1600px){main,.header-inner{width:min(1460px,calc(100% - 96px))}}
@media (max-width:1150px){
  main,.header-inner{width:calc(100% - 48px)}
  #home-view{gap:24px}
  .intro h1{font-size:40px}
  .stats{min-width:300px}
  .stats strong{font-size:30px}
  .browser-layout{grid-template-columns:214px minmax(0,1fr);gap:24px}
  .filter-panel{padding:16px}
  .search-tip{display:none}
  .catalog-table th,.catalog-table td{padding:10px 13px}
  .detail-layout{grid-template-columns:178px minmax(0,1fr);gap:24px}
  .section-nav{padding:13px 8px}
  .section-nav>button{font-size:13px}
  .section-body{padding:20px}
  .metadata-list{grid-template-columns:145px minmax(0,1fr)}
}
@media (max-width:820px){
  #home-view{grid-template-columns:minmax(0,1fr);gap:22px}
  .intro{grid-column:1;grid-row:auto;margin:5px 0 0}
  .intro h1{font-size:42px}
  .stats{grid-column:1;grid-row:auto;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}
  .stats>div{padding:14px 14px}
  .stats>div:nth-child(2n){border-right:1px solid var(--line)}
  .stats>div:last-child{border-right:0}
  .stats strong{font-size:26px}
  .stats>div>span:last-child{font-size:12px}
  .browser-layout,.detail-layout{grid-template-columns:minmax(0,1fr);gap:20px;margin:0}
  .filter-panel{position:static;padding:0 16px;border-color:var(--line)}
  .filter-heading{margin:0;min-height:56px;gap:12px}
  .filter-heading h2{font-size:15px}
  #filter-toggle{display:inline-flex}
  .filter-options{display:none}
  .filters-expanded .filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:12px 0 18px}
  .dimension-filter,.software-filter{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:0;border:0;padding:0}
  .dimension-filter legend,.software-filter legend{flex-basis:100%;margin-bottom:6px}
  .dimension-filter label,.software-filter label{flex:1;padding:0 8px;font-size:14px}
  .dimension-filter b,.software-filter b{margin-left:3px}
  .select-control{margin:0}
  .filter-note,.sidebar-link{display:none}
  .section-nav{position:static;display:flex;flex-wrap:wrap;padding:10px;gap:7px}
  .section-nav>button{width:auto;font-size:13px;background:var(--panel);border:1px solid var(--line);border-left:2px solid transparent;border-radius:999px;padding:8px 13px}
  .section-nav>.kicker,.section-tools{display:none}
  .result-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .result-strip>div{padding:16px}
  .result-strip strong{font-size:26px}
  .section-body{padding:20px}
  .metadata-list{grid-template-columns:150px minmax(0,1fr)}
  .software-grid{gap:15px}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cover-stack{gap:20px}
  .cover-stage-wrap{padding:20px}
  .cover-emblem{padding:24px}
  .landing-emblem{width:180px}
  .cover-orbit{width:min(340px,82vw)}
}
@media (max-width:540px){
  main,.header-inner{width:calc(100% - 28px)}
  main{padding-top:18px}
  .header-inner{min-height:70px;padding-top:15px;flex-wrap:wrap;gap:12px}
    .brand{font-size:20px;gap:9px}
  .brand-mark{height:36px;padding:3px;border-radius:9px}
  .brand small{font-size:12px;letter-spacing:.11em}
  .main-nav{height:49px;width:100%;gap:18px}
  .main-nav a{font-size:14px;padding:0 11px}
  .main-nav .external-nav{display:none}
  .archive-status{font-size:12px;line-height:1.75;padding:11px 12px;margin-bottom:22px}
  .archive-status span{flex-basis:100%}
  #home-view{gap:19px}
  .intro{margin:4px 0 0}
  .intro h1{font-size:35px;line-height:1.14;margin-bottom:15px}
  .intro p:not(.kicker){font-size:16px;line-height:1.8}
  .kicker{font-size:12px;letter-spacing:.11em;margin-bottom:13px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stats>div{display:block;padding:14px}
  .stats>div:nth-child(2n){border-right:0}
  .stats strong{font-size:28px}
  .stats>div>span:last-child{font-size:12px;margin-top:5px}
  .browser-layout{gap:16px}
  .filter-panel{padding:0 12px}
  .filter-heading{gap:8px}
  .filter-heading h2{font-size:14px}
  .filter-heading .text-button{font-size:12px}
  .dimension-filter,.software-filter{gap:5px}
  .dimension-filter label,.software-filter label{flex-basis:100%;font-size:14px;gap:9px}
  .dimension-filter b,.software-filter b{margin-left:auto}
  .filters-expanded .filter-options{gap:14px 12px}
  .select-control select{font-size:14px;padding:0 8px}
  .search-box{height:54px;padding:0 13px;gap:10px;border-radius:10px}
  .search-box input{font-size:16px}
  .search-box kbd{display:none}
  .search-examples{gap:5px;margin:5px 0 13px}
  .catalog-toolbar{align-items:flex-start;gap:9px;padding-bottom:13px}
  .catalog-toolbar h2{font-size:20px;line-height:1.35}
  .catalog-toolbar p{font-size:12px;max-width:190px}
  .sort-control{font-size:0;gap:0}
  .sort-control select{font-size:13px;padding:8px}
  .catalog-table thead th:first-child,.catalog-table tbody th{position:sticky;left:0;z-index:1;background:var(--panel)}
  .catalog-table th,.catalog-table td{padding:10px 13px}
  .material-link{font-size:17px}
  .table-description{font-size:12px}
  .pagination{padding:11px;font-size:12px;gap:8px}
  .pagination>div{gap:7px}
  .catalog-footnote{font-size:12px}
  .site-footer{margin-top:32px;font-size:12px;gap:12px}
  .site-footer>div{gap:4px 18px}
  .breadcrumb{font-size:12px;line-height:1.6;gap:7px;margin-bottom:15px;overflow-wrap:anywhere}
  .detail-header{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:22px;padding-bottom:21px}
  .detail-header h1{font-size:38px;line-height:1.15}
  .detail-header h1 small{display:block;font-size:16px;margin:8px 0 0}
  .detail-header .primary-button{width:100%}
  .cover-stack{gap:12px}
  .cover-stage-wrap{padding:10px}
  .cover-emblem{padding:14px;border-radius:12px}
  .landing-emblem{width:132px}
  .cover-orbit{width:min(260px,84vw)}
  .cover-actions .primary-button{width:100%}
  .detail-id{font-size:12px}
  .result-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px;gap:10px}
  .result-strip>div{padding:15px 13px}
  .result-strip strong{font-size:26px}
  .result-strip>div>span{font-size:12px}
  .result-strip .no-result{font-size:15px}
  .section-nav{padding:9px;gap:6px}
  .section-nav>button{font-size:12px;padding:8px}
  .detail-section>summary{min-height:60px;padding:16px 14px;gap:8px}
  .detail-section>summary h2{font-size:17px}
  .section-number{font-size:12px}
  .section-badge{font-size:12px;white-space:normal;max-width:80px;text-align:right}
  .section-body{padding:17px 14px}
  .metadata-list{grid-template-columns:103px minmax(0,1fr);gap:0 10px;font-size:14px}
  .metadata-list dt,.metadata-list dd{padding:11px 0}
  .section-intro,.detail-note{font-size:15px;line-height:1.85}
  .notice{font-size:13px;padding:14px;overflow-wrap:anywhere}
  .notice strong{font-size:12px}
  .definition-note{font-size:13px}
  .file-row{flex-direction:column;padding:14px;gap:11px}
  .file-info{width:100%}
  .file-actions{align-self:flex-end;font-size:13px;gap:20px}
  .software-grid{grid-template-columns:1fr;gap:12px}
  .software-entry{padding:15px}
  .binding-heading{flex-wrap:wrap;gap:5px}
  .binding-heading h3 span{display:block;margin:5px 0 0;font-size:12px}
  .linked-records li{flex-wrap:wrap;gap:10px}
  .relation-label{width:100%}
  .property-tab{font-size:13px;padding:10px 11px}
  .figure-grid figcaption{padding:12px}
  .metric-grid{grid-template-columns:1fr}
  .metric-grid>div{padding:14px}
  .metric-grid strong{font-size:17px}
  .radial-content{padding:0 12px 14px}
  .radial-file>summary{padding:15px;font-size:14px}
  .radial-controls{gap:8px}
  .radial-controls label{flex-wrap:wrap;max-width:100%}
  .radial-controls select{max-width:100%}
  .radial-channels label{font-size:12px}
  .preview-heading{padding:20px 16px 0}
  .preview-path,.preview-status{padding-left:16px;padding-right:16px}
  dialog pre{margin:14px 16px;padding:13px;font-size:12px}
  .preview-footer{padding:0 16px 20px}
  .preview-footer a{width:100%}
  /* Mobile catalog cards: semantic card layout instead of an 850px table. */
  .catalog-table:not(.basis-table){display:block;min-width:0;white-space:normal;background:var(--bg);border:0;box-shadow:none}
  .catalog-table:not(.basis-table) thead{display:none}
  .catalog-table:not(.basis-table) tbody{display:grid;gap:10px;padding:10px}
  .catalog-table:not(.basis-table) .material-row{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;box-shadow:var(--shadow-1)}
  .catalog-table:not(.basis-table) .material-row>th,.catalog-table:not(.basis-table) .material-row>td{display:block;position:static!important;padding:11px 13px;border:0;border-bottom:1px solid var(--line);background:var(--panel)!important;white-space:normal}
  .catalog-table:not(.basis-table) .material-row>th{grid-column:1/-1;padding-right:54px;border-left:3px solid var(--accent)}
  .catalog-table:not(.basis-table) .material-row>td:nth-child(2),.catalog-table:not(.basis-table) .material-row>td:nth-child(4),.catalog-table:not(.basis-table) .material-row>td:nth-child(6){border-right:1px solid var(--line)}
  .catalog-table:not(.basis-table) .material-row>td:nth-child(5){grid-column:1/-1}
  .catalog-table:not(.basis-table) .material-row>td::before{display:block;margin-bottom:4px;color:var(--subtle);font-size:12px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}
  .catalog-table:not(.basis-table) .material-row>td:nth-child(2)::before{content:"Software"}.catalog-table:not(.basis-table) .material-row>td:nth-child(3)::before{content:"Scale"}.catalog-table:not(.basis-table) .material-row>td:nth-child(4)::before{content:"Methods"}.catalog-table:not(.basis-table) .material-row>td:nth-child(5)::before{content:"Primary result"}.catalog-table:not(.basis-table) .material-row>td:nth-child(6)::before{content:"Inputs"}
  .catalog-table:not(.basis-table) .material-row>.open-cell{position:absolute!important;top:7px;right:6px;padding:0!important;border:0!important;background:transparent!important}
  .catalog-table:not(.basis-table) .material-row>.open-cell::before{display:none}
  .catalog-table:not(.basis-table) .open-cell a{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important;animation:none!important}}

/* ============================================================
   Dark mode (2026-10-15): 跟随系统偏好，可手动切换并记忆于 localStorage。
   令牌化的 v2 层自动翻转；此处只覆盖保留字面色的少数规则。
   ============================================================ */
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0d181d; --panel:#13242b; --raised:#182d35; --hover:#1c333c;
  --tint:#1a3038; --tint-strong:#22404a;
  --ink:#d5e2e7; --heading:#e8f2f4; --muted:#a7bcc4; --subtle:#8fa9b2;
  --line:#253c45; --line-strong:#33525d; --line-accent:#2e5560;
  --accent:#3fb6c4; --accent-deep:#2f9dab; --blue:#3fb6c4; --warning:#d9a05c;
  --header-veil:#0f1e24f0;
  --text-strong:#cfe2ea; --text-body:#a9c2cc; --text-soft:#8aa6b1; --text-faint:#78929d;
  --teal-deep:#54c6d2; --teal-bright:#6fd6e1;
  --shadow-1:0 1px 2px rgba(0,0,0,.45),0 2px 10px rgba(0,0,0,.35);
  --shadow-2:0 2px 6px rgba(0,0,0,.45),0 18px 44px rgba(0,0,0,.55);
}
html[data-theme="dark"] body{background:var(--bg)}
html[data-theme="dark"] ::selection{background:#155263;color:#e8f6f8}
html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#2c4650;border-color:var(--bg)}
html[data-theme="dark"] .site-header{background:var(--header-veil)}
html[data-theme="dark"] .method-dft{background:#1c3242;color:#9cc3e8}
html[data-theme="dark"] .cover-orbit{border-color:#2f9dab}
html[data-theme="dark"] .cover::before{background:radial-gradient(58% 46% at 50% 44%,#12333b,transparent 76%)}
html[data-theme="dark"] .cover-stage-wrap::before{background:radial-gradient(closest-side,rgba(111,214,225,.14),rgba(111,214,225,0) 72%)}
html[data-theme="dark"] .cover-emblem{border-color:rgba(255,255,255,.4);box-shadow:0 34px 96px -36px rgba(0,0,0,.6),0 0 52px -8px rgba(111,214,225,.24)}
html[data-theme="dark"] .method-exx{background:#292740;color:#c3abe4}
html[data-theme="dark"] .method-gw{background:#15393c;color:#6fd0ce}
html[data-theme="dark"] .method-soc{background:#3a2f1c;color:#f2c98a}
html[data-theme="dark"] .method-spin{background:#3d2430;color:#f0b8cc}
html[data-theme="dark"] .notice{border-left-color:#3d8f97}
html[data-theme="dark"] .notice strong{color:#6fd0ce}
html[data-theme="dark"] .notice.warning{background:#2d2416;border-color:#4d3f26;border-left-color:#b08b4f;color:#cbb894}
html[data-theme="dark"] .notice.warning strong{color:#e0b56a}
html[data-theme="dark"] .archive-status{background:#2d2416;border-color:#4d3f26;border-left-color:#b08b4f}
html[data-theme="dark"] .archive-status strong{color:#e0b56a}
html[data-theme="dark"] .archive-status span{color:#cbb894}
html[data-theme="dark"] .archive-status a{color:#e0b56a}
html[data-theme="dark"] .record-status,html[data-theme="dark"] .gap-scope,html[data-theme="dark"] .name-warning,html[data-theme="dark"] .file-info>.name-warning{color:#d9a05c}
html[data-theme="dark"] .missing-value{color:#d9a05c}
