:root {
  --coal: #0e1c24;
  --coal-soft: #132731;
  --shale: #19343d;
  --shale-light: #2c4650;
  --paper: #f7f6f1;
  --paper-deep: #e6e4dc;
  --ink: #17232a;
  --muted-ink: #627078;
  --chalk: #f3f1ea;
  --chalk-muted: #a9b7bd;
  --mineral: #287b72;
  --mineral-bright: #66ada3;
  --survey: #c86d36;
  --sulfur: #c5a04d;
  --liptinite: #835c91;
  --line-dark: rgba(238, 233, 221, .15);
  --line-paper: rgba(27, 33, 30, .16);
  --focus: #ffd369;
  --radius: 7px;
  --header-height: 4.25rem;
  --academic-primary: #e06a3b;
  --academic-primary-soft: #fff3ed;
  --academic-slate: #1e293b;
  --academic-ink: #0f172a;
  --academic-muted: #64748b;
  --academic-canvas: #f8fafc;
  --academic-surface: #ffffff;
  --academic-border: #e2e8f0;
  --academic-tag-bg: #e6f4ea;
  --academic-tag-ink: #137333;
  --academic-shadow: 0 4px 20px rgba(15, 23, 42, .05);
  --academic-card-padding: 1.5rem;
}

* { box-sizing: border-box; }
[hidden] { display: none!important; }
html { background: var(--coal); color-scheme: dark; scroll-behavior: smooth; }
body { margin: 0; min-width: 0; background: var(--coal); color: var(--chalk); font-family: "Segoe UI", "Microsoft YaHei", sans-serif; line-height: 1.55; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1; opacity: .6; background: radial-gradient(circle at 12% 8%, rgba(40,123,114,.14), transparent 27rem), linear-gradient(135deg, transparent 0 48%, rgba(255,255,255,.014) 48% 49%, transparent 49%); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
button:disabled { cursor: not-allowed; opacity: .45; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: "Segoe UI", "Microsoft YaHei", sans-serif; font-weight: 650; letter-spacing: -.025em; }
h1 { font-size: clamp(1.85rem, 2.8vw, 2.8rem); line-height: 1.15; }
h2 { margin-bottom: .35rem; font-size: clamp(1.15rem, 1.7vw, 1.55rem); }
a { color: inherit; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 200; padding: .65rem 1rem; color: var(--coal); background: var(--paper); }
.skip-link:focus { top: 1rem; }
.eyebrow { margin-bottom: .25rem; color: var(--survey); font: 700 .7rem/1.2 Consolas, monospace; letter-spacing: .15em; }

.site-header { position: sticky; top: 0; z-index: 50; min-height: var(--header-height); display: grid; grid-template-columns: minmax(26rem, 1fr) minmax(30rem, 2fr) minmax(13rem, 1fr); align-items: center; gap: 1rem; padding: .65rem clamp(1rem, 3vw, 3rem); border-bottom: 1px solid var(--line-dark); background: rgba(17, 23, 20, .96); backdrop-filter: blur(14px); }
.header-identity { min-width: 0; }
.brand-lockup { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.brand-home-mark, .brand-title-link { color: inherit; text-decoration: none; }
.brand-home-mark { flex: 0 0 auto; }
.brand-copy { display: grid; min-width: 0; }
.brand-title-row { display: flex; align-items: center; gap: .55rem; min-width: 0; }
.brand-title-link { min-width: 0; }
.brand-lockup small { color: var(--survey); font: 700 .61rem/1.2 Consolas, monospace; letter-spacing: .12em; }
.brand-title-link strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 1.28rem/1.2 Georgia, "Times New Roman", serif; letter-spacing: .01em; }
.brand-lockup .brand-attribution { max-width: 100%; margin-top: .08rem; overflow: hidden; border: 0; padding: 0; color: var(--chalk-muted); background: transparent; cursor: pointer; font: 500 .57rem/1.2 "Segoe UI", "Microsoft YaHei", sans-serif; letter-spacing: .015em; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.brand-lockup .brand-attribution:hover { color: var(--focus); text-decoration: underline; text-underline-offset: .18rem; }
.brand-mark { flex: 0 0 1.65rem; height: 2.7rem; display: grid; grid-template-rows: 6fr 11fr 5fr 8fr; gap: 2px; transform: skewY(-5deg); }
.brand-mark i:nth-child(1) { background: var(--chalk-muted); }
.brand-mark i:nth-child(2) { background: var(--shale); border: 1px solid var(--chalk-muted); }
.brand-mark i:nth-child(3) { background: var(--survey); }
.brand-mark i:nth-child(4) { background: var(--mineral); }
.contact-trigger { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 1.8rem; border: 1px solid var(--line-dark); padding: .22rem .5rem; color: var(--chalk-muted); background: transparent; white-space: nowrap; cursor: pointer; font-size: .68rem; transition: border-color .16s ease, background .16s ease, color .16s ease; }
.contact-trigger:hover { border-color: var(--survey); color: var(--focus); background: rgba(200,109,54,.08); }
.contact-trigger svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.global-search { display: grid; grid-template-columns: 1fr auto; justify-self: center; width: 100%; border: 1px solid var(--line-dark); background: var(--coal-soft); }
.global-search input { width: 100%; min-width: 0; border: 0; padding: .72rem .85rem; color: var(--chalk); background: transparent; }
.global-search button { border: 0; border-left: 1px solid var(--line-dark); padding: .55rem .9rem; color: var(--coal); background: var(--sulfur); cursor: pointer; font-weight: 700; }
.header-status { display: flex; justify-content: flex-end; align-items: center; gap: .65rem; font-size: .75rem; }
.connection-status { color: var(--chalk-muted); white-space: nowrap; }
.connection-status::before, .live-dot::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .4rem; border-radius: 50%; background: var(--sulfur); }
.connection-status.online::before, .live-dot::before { background: var(--mineral-bright); box-shadow: 0 0 0 4px rgba(101,170,157,.12); }
.job-pill { max-width: 19rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: .32rem .5rem; border: 1px solid var(--line-dark); color: var(--chalk); text-decoration: none; font-family: Consolas, monospace; }

.contact-dialog { width: min(52.5rem, calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; overflow: auto; border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 0; color: var(--ink); background: var(--paper); box-shadow: 0 2rem 5rem rgba(0,0,0,.46); }
.contact-dialog::backdrop { background: rgba(5,14,18,.78); backdrop-filter: blur(6px); }
.contact-dialog-shell { position: relative; min-height: 100%; }
.contact-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; padding: 1.35rem 1.5rem 1.2rem; color: var(--chalk); background: var(--shale); }
.contact-dialog-header h2 { margin: 0 0 .3rem; font-size: 1.65rem; }
.contact-dialog-header p:last-child { max-width: 36rem; margin: 0; color: var(--chalk-muted); font-size: .82rem; }
.contact-dialog-header-actions { display: flex; align-items: center; gap: .8rem; }
.contact-close { flex: 0 0 auto; width: 2.4rem; height: 2.4rem; border: 1px solid var(--line-dark); border-radius: 50%; padding: 0; color: var(--chalk); background: transparent; font-size: 1.45rem; line-height: 1; cursor: pointer; }
.contact-close:hover { color: var(--focus); border-color: var(--survey); }
.contact-dialog-body { display: grid; grid-template-columns: 19rem minmax(0,29rem); align-items: stretch; gap: 1.4rem; padding: 1.5rem; }
.contact-mentor-portrait { display: grid; place-items: center; height: 24rem; margin: 0; overflow: hidden; border: 1px solid var(--line-paper); background: var(--paper-deep); }
.contact-mentor-portrait > img { display: block; width: 100%; height: 100%; aspect-ratio: 2 / 3; min-height: 0; object-fit: contain; object-position: center; background: var(--paper-deep); }
.contact-directory { display: grid; grid-template-rows: repeat(2, minmax(0,1fr)); align-content: stretch; gap: 1rem; height: 24rem; }
.contact-profile { position: relative; min-height: 0; padding: 1rem 1.1rem; border-left: .25rem solid var(--survey); background: #eeeee8; }
.contact-profile--supervisor { border-left-color: var(--mineral); }
.contact-profile--supervisor .contact-role { color: var(--mineral); }
.contact-profile-visual { position: absolute; z-index: 1; top: .25rem; right: 1rem; display: block; width: 5.5rem; height: 5.5rem; aspect-ratio: 1 / 1; border: 1px solid var(--line-paper); padding: 0; object-fit: cover; object-position: 50% 38%; background: var(--paper); }
.contact-profile-visual.emblem { padding: .35rem; object-fit: contain; object-position: center; }
.contact-profile h3 { margin: .15rem 0 .15rem; font-size: 1.25rem; }
.contact-profile > p:not(.contact-role) { margin-bottom: .8rem; color: var(--muted-ink); font-size: .82rem; }
.contact-role { margin: 0; color: var(--survey); font: 700 .64rem/1.2 Consolas, monospace; letter-spacing: .12em; }
.contact-link { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: .65rem; align-items: baseline; margin-top: .45rem; padding-top: .45rem; border-top: 1px solid var(--line-paper); color: var(--ink); text-decoration: none; }
.contact-link span { color: var(--muted-ink); font-size: .7rem; }
.contact-link strong { overflow-wrap: anywhere; font-size: .78rem; font-weight: 650; }
.contact-link:hover strong { color: var(--survey); text-decoration: underline; text-underline-offset: .2rem; }
.contact-interests { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: .65rem; align-items: start; margin-top: .55rem; padding-top: .55rem; border-top: 1px solid var(--line-paper); }
.contact-interests > span { color: var(--muted-ink); font-size: .7rem; }
.contact-interests p { margin: 0; overflow-x: auto; color: var(--ink); font-size: .72rem; font-weight: 650; white-space: nowrap; }
.contact-dialog-footer { padding: .7rem 1.5rem; border-top: 1px solid var(--line-paper); color: var(--muted-ink); background: var(--paper-deep); font-size: .68rem; text-align: right; }
.lab-dialog { width: min(58rem, calc(100vw - 2rem)); }
.lab-dialog-body { padding: 1.5rem; }
.lab-member-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.lab-member-card { display: grid; grid-template-columns: 8.5rem minmax(0,1fr); align-items: center; gap: 1rem; min-width: 0; border-left: .25rem solid var(--mineral); padding: 1rem; background: #eeeee8; }
.lab-member-card:nth-child(even) { border-left-color: var(--survey); }
.lab-member-photo { display: block; width: 8.5rem; height: 8.5rem; aspect-ratio: 1 / 1; border: 1px solid var(--line-paper); object-fit: cover; object-position: 50% 34%; background: var(--paper-deep); }
.lab-member-photo--mentor { object-position: 50% 16%; }
.lab-member-card p { margin: 0 0 .45rem; color: var(--mineral); font: 700 .62rem/1.2 Consolas, monospace; letter-spacing: .1em; }
.lab-member-card h3 { margin: 0 0 .25rem; color: var(--ink); font-size: 1.2rem; }
.lab-member-card span { color: var(--muted-ink); font-size: .78rem; }

.layer-nav { position: sticky; top: var(--header-height); z-index: 40; display: grid; grid-template-columns: repeat(8, 1fr); padding: 0 clamp(1rem, 3vw, 3rem); border-bottom: 1px solid var(--line-dark); background: #10232d; }
.layer-tab { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr 1fr; column-gap: .65rem; min-height: 3.75rem; padding: .62rem .85rem; border: 0; border-right: 1px solid var(--line-dark); color: var(--chalk-muted); background: transparent; text-align: left; cursor: pointer; }
.layer-tab:first-child { border-left: 1px solid var(--line-dark); }
.layer-tab > span { grid-row: 1 / 3; align-self: center; color: var(--survey); font: 700 .65rem Consolas, monospace; }
.layer-tab strong { align-self: end; color: var(--chalk); font-size: .86rem; }
.layer-tab small { align-self: start; font: .62rem Consolas, monospace; letter-spacing: .06em; }
.layer-tab::after { content: ""; position: absolute; height: 3px; left: 0; right: 100%; bottom: -1px; background: var(--survey); transition: right .2s ease; }
.layer-tab.active::after { right: 0; }
.layer-tab.active { background: var(--coal-soft); }

.atlas-strip { position: sticky; top: calc(var(--header-height) + 3.75rem); z-index: 35; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .55rem clamp(1rem, 3vw, 3rem); border-bottom: 1px solid var(--line-dark); background: rgba(25,52,61,.97); backdrop-filter: blur(12px); }
.corpus-scope-control { flex: 0 0 auto; display: grid; grid-template-columns: auto minmax(9.5rem,auto); align-items: center; gap: .12rem .5rem; padding-right: 1rem; border-right: 1px solid var(--line-dark); }
.corpus-scope-control > span { color: var(--chalk-muted); font-size: .67rem; white-space: nowrap; }
.corpus-scope-control select { min-width: 10.5rem; border: 1px solid var(--line-dark); border-radius: 0; padding: .3rem 1.7rem .3rem .5rem; color: var(--chalk); background: var(--coal-soft); font-size: .72rem; }
.corpus-scope-control small { grid-column: 1 / -1; color: var(--chalk-muted); font-size: .56rem; white-space: nowrap; }
.atlas-strip dl { display: flex; flex-wrap: wrap; gap: .35rem clamp(.85rem, 2.3vw, 2.4rem); margin: 0; }
.atlas-strip dl div { display: flex; align-items: baseline; gap: .45rem; }
.atlas-strip dt, .atlas-strip p { color: var(--chalk-muted); font-size: .7rem; }
.atlas-strip dd { margin: 0; font: 700 .85rem Consolas, monospace; }
.atlas-strip p { margin: 0; text-align: right; }

#workspace { min-height: calc(100vh - 9.5rem); }
.workspace-view { width: min(1540px, 100%); margin: 0 auto; padding: clamp(1.2rem, 2.2vw, 2.25rem) clamp(1rem, 3vw, 3rem) 4rem; }
.workspace-view:not(.active) { display: none; }
.button { min-height: 2.45rem; border: 1px solid currentColor; border-radius: var(--radius); padding: .55rem .85rem; color: inherit; background: transparent; cursor: pointer; transition: transform .16s ease, background .16s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button.primary { color: #17120f; border-color: var(--survey); background: var(--survey); font-weight: 700; }
.button.secondary { border-color: var(--line-dark); background: var(--shale); }
.button.quiet { border-color: var(--line-paper); color: inherit; }
.text-link { display: inline-block; margin-top: 1rem; color: var(--mineral); text-underline-offset: .2rem; }

.library-hero { display: grid; grid-template-columns: minmax(18rem, .68fr) minmax(28rem, 1.32fr); gap: clamp(2rem, 5vw, 5rem); align-items: end; padding: .65rem 0 1.5rem; }
.library-hero > div > p:last-child { max-width: 42rem; margin-bottom: 0; color: var(--chalk-muted); }
.hero-search { padding: 1.1rem; border-left: .35rem solid var(--survey); background: var(--paper); color: var(--ink); box-shadow: 0 1.2rem 3rem rgba(0,0,0,.14); }
.hero-search > label { display: block; margin-bottom: .35rem; color: var(--muted-ink); font-size: .75rem; }
.hero-search-row { display: grid; grid-template-columns: 1fr auto; }
.hero-search-row input { min-width: 0; border: 1px solid var(--line-paper); border-right: 0; padding: .8rem .9rem; color: var(--ink); background: #fffdf7; }
.search-filters { display: grid; grid-template-columns: 1.35fr 1fr .7fr .7fr 1fr; gap: .65rem; margin-top: .8rem; }
.search-filters label, .author-filter label { color: var(--muted-ink); font-size: .68rem; }
.search-filters input, .search-filters select, .author-filter input, .author-filter select { width: 100%; min-height: 2.25rem; margin-top: .2rem; border: 1px solid var(--line-paper); border-radius: 0; padding: .4rem .5rem; color: var(--ink); background: #fffdf7; }

.library-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem); gap: 1rem; align-items: start; }
.paper-surface { color: var(--ink); background: var(--paper); border: 1px solid var(--paper-deep); border-radius: var(--radius); box-shadow: 0 12px 34px rgba(2,13,18,.11); overflow: hidden; }
.results-panel { min-height: 42rem; }
.section-bar { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line-paper); }
.section-bar h2 { margin-bottom: 0; }
.section-bar > p { margin: 0; color: var(--muted-ink); font: .74rem Consolas, monospace; }
.scholar-results { list-style: none; margin: 0; padding: 0; }
.scholar-item { padding: 1.15rem 1.25rem; border-bottom: 1px solid var(--line-paper); }
.scholar-item:hover { background: rgba(67,130,120,.06); }
.result-heading { display: grid; grid-template-columns: minmax(0,1fr) 2.4rem; gap: .75rem; align-items: start; }
.result-main { min-width: 0; }
.result-expand { width: 2.25rem; height: 2.25rem; border: 1px solid var(--line-paper); color: var(--muted-ink); background: transparent; cursor: pointer; font: 1.55rem/1 Georgia, serif; transition: transform .16s ease, background .16s ease; }
.result-expand.open { transform: rotate(90deg); color: var(--paper); background: var(--mineral); }
.result-title { display: inline; padding: 0; border: 0; color: #245f57; background: transparent; text-align: left; font: 600 1.05rem/1.35 Georgia, "Songti SC", serif; cursor: pointer; }
.result-title:hover { text-decoration: underline; text-underline-offset: .18rem; }
.result-byline { margin: .35rem 0 .25rem; color: var(--muted-ink); font-size: .78rem; }
.result-identifiers { display: flex; flex-wrap: wrap; gap: .35rem .75rem; margin: .3rem 0 0; color: var(--muted-ink); font: .68rem Consolas, monospace; }
.doi-link { color: #245f57; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .16rem; overflow-wrap: anywhere; }
.doi-link:hover { color: #163f3a; text-decoration-thickness: 2px; }
.pdf-link { display: inline-flex; align-items: center; gap: .35rem; min-height: 2rem; padding: .35rem .7rem; border: 1px solid rgba(224,106,59,.35); border-radius: .4rem; color: #9a3f1d; background: rgba(224,106,59,.08); font-weight: 700; text-decoration: none; }
.pdf-link::before { content: "PDF"; font-size: .65rem; letter-spacing: .08em; color: #fff; background: #e06a3b; border-radius: .2rem; padding: .12rem .22rem; }
.pdf-link:hover { border-color: #e06a3b; background: rgba(224,106,59,.14); }
.pdf-contribute-button {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: .35rem .7rem;
  border: 1px solid var(--academic-border, #dbe2ea);
  border-radius: .4rem;
  color: #334155;
  background: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.pdf-contribute-button:hover { border-color: #e06a3b; color: #9a3f1d; background: rgba(224,106,59,.05); }
.pdf-contribute-button:disabled { cursor: wait; opacity: .65; }
.pdf-link-compact,
.pdf-contribute-button-compact { min-height: 1.9rem; padding: .3rem .6rem; font-size: .68rem; }
.drawer-document-actions { display: flex; gap: .75rem; margin: .85rem 0 1rem; }
.runtime-metric-pdf strong { color: #9a3f1d; }
.pdf-asset-overview {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--academic-border, #dbe2ea);
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 4px 20px rgba(15,23,42,.04);
}
.pdf-asset-overview > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pdf-asset-overview h3 { margin: .1rem 0 0; color: #0f172a; font-size: 1rem; }
.pdf-asset-total { display: grid; grid-template-columns: auto auto; gap: .1rem .7rem; align-items: center; justify-items: end; text-align: right; }
.pdf-asset-controls { grid-row: 1 / span 4; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .35rem; align-self: center; }
.pdf-asset-controls > span { padding: .25rem .5rem; border-radius: 999px; color: #137333; background: #e6f4ea; font-size: .62rem; font-weight: 750; }
.pdf-control-button { min-height: 1.75rem; padding: .28rem .55rem; border: 1px solid #cbd5e1; border-radius: .4rem; color: #334155; background: #fff; font-family: inherit; font-size: .62rem; font-weight: 700; line-height: 1; cursor: pointer; }
.pdf-control-button.primary { border-color: rgba(224,106,59,.45); color: #9a3f1d; background: rgba(224,106,59,.08); }
.pdf-control-button:hover:not(:disabled) { border-color: #e06a3b; color: #9a3f1d; background: rgba(224,106,59,.13); }
.pdf-control-button:disabled { cursor: not-allowed; opacity: .45; }
.pdf-asset-total > strong { color: #0f172a; font-size: 1.08rem; line-height: 1.15; }
.pdf-asset-scope { color: #9a3f1d; font-size: .6rem; font-weight: 750; line-height: 1.25; }
.pdf-asset-total > small { max-width: 34rem; color: #64748b; font-size: .61rem; line-height: 1.35; }
#pdf-download-control-note { color: #64748b; }
.pdf-asset-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; margin-top: .85rem; }
.pdf-asset-metrics > div { display: grid; gap: .22rem; padding: .7rem; border-radius: .55rem; background: #f8fafc; }
.pdf-asset-metrics span { color: #64748b; font-size: .65rem; }
.pdf-asset-metrics strong { color: #0f172a; font-size: 1rem; }
#pdf-asset-summary { margin: .75rem 0 0; color: #64748b; font-size: .68rem; line-height: 1.6; }
.pdf-live-monitor { margin-top: .85rem; padding: .85rem; border: 1px solid #e2e8f0; border-radius: .65rem; background: #f8fafc; }
.pdf-live-monitor-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pdf-live-monitor-heading h4 { margin: 0; color: #0f172a; font-size: .8rem; }
.pdf-live-monitor-heading p { margin: .18rem 0 0; color: #94a3b8; font-size: .61rem; }
.pdf-monitor-state { flex: 0 0 auto; padding: .25rem .55rem; border-radius: 999px; color: #475569; background: #e2e8f0; font-size: .62rem; font-weight: 750; }
.pdf-monitor-state.is-running { color: #137333; background: #e6f4ea; }
.pdf-monitor-state.is-running::before { content: ""; display: inline-block; width: .4rem; height: .4rem; margin-right: .32rem; border-radius: 50%; background: #22a06b; box-shadow: 0 0 0 .18rem rgba(34,160,107,.12); vertical-align: .02rem; }
.pdf-monitor-kpis { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)) minmax(8rem,1.35fr); gap: .45rem; margin-top: .7rem; }
.pdf-monitor-kpis > div { display: grid; min-width: 0; gap: .14rem; padding: .55rem .65rem; border: 1px solid #edf1f5; border-radius: .5rem; background: #fff; }
.pdf-monitor-kpis span { color: #64748b; font-size: .6rem; }
.pdf-monitor-kpis strong { color: #0f172a; font-size: .86rem; line-height: 1.2; }
.pdf-monitor-kpis small { color: #137333; font-size: .58rem; }
#pdf-monitor-retry { color: #a16207; }
#pdf-monitor-retry + small { color: #a16207; }
#pdf-monitor-failed { color: #b42318; }
#pdf-monitor-failed + small { color: #64748b; }
.pdf-monitor-progress { height: .28rem; margin-top: .65rem; overflow: hidden; border-radius: 999px; background: #e2e8f0; }
.pdf-monitor-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#e06a3b,#f2a56d); transition: width .35s ease; }
.pdf-monitor-list-wrap { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: .65rem; align-items: start; margin-top: .65rem; }
.pdf-monitor-list-label { display: grid; gap: .12rem; padding-top: .42rem; }
.pdf-monitor-list-label span { color: #334155; font-size: .65rem; font-weight: 750; }
.pdf-monitor-list-label small { color: #94a3b8; font-size: .57rem; }
.pdf-monitor-files { display: grid; gap: .3rem; max-height: 7.1rem; margin: 0; padding: 0; overflow: auto; list-style: none; scrollbar-width: thin; }
.pdf-monitor-file { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; align-items: center; padding: .42rem .55rem; border-radius: .42rem; background: #fff; }
.pdf-monitor-file-main { min-width: 0; }
.pdf-monitor-file-name { display: block; overflow: hidden; color: #334155; font-size: .64rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.pdf-monitor-file-meta { display: block; margin-top: .12rem; color: #94a3b8; font-size: .56rem; }
.pdf-monitor-file-status { color: #137333; font-size: .58rem; font-weight: 750; white-space: nowrap; }
.pdf-monitor-file-status.is-retry { color: #a16207; }
.pdf-audit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid #e2e8f0;
}
.pdf-audit-grid > section { min-width: 0; }
.pdf-audit-grid .pdf-monitor-list-label { grid-template-columns: 1fr auto; align-items: baseline; }
.pdf-audit-list {
  display: grid;
  gap: .32rem;
  max-height: 9rem;
  margin: .4rem 0 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}
.pdf-audit-item {
  display: grid;
  gap: .12rem;
  padding: .5rem .58rem;
  border-left: 3px solid #4f9b8d;
  border-radius: .35rem;
  background: #fff;
}
.pdf-audit-item.is-failure { border-left-color: #d97706; }
.pdf-audit-item strong {
  overflow: hidden;
  color: #334155;
  font-size: .64rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pdf-audit-item span,
.pdf-audit-item small { color: #64748b; font-size: .56rem; line-height: 1.45; }
.pdf-audit-item.is-failure span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #92400e;
}
@media (max-width: 860px) {
  .pdf-audit-grid { grid-template-columns: 1fr; }
}
.pdf-monitor-empty { padding: .5rem .55rem; border-radius: .42rem; color: #94a3b8; background: #fff; font-size: .62rem; }
@media (max-width: 1100px) { .pdf-asset-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .pdf-monitor-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); } .pdf-monitor-throughput { grid-column: auto; } }
@media (max-width: 620px) { .pdf-asset-header { align-items: flex-start !important; } .pdf-asset-total { grid-template-columns: 1fr; gap: .18rem; justify-items: end; } .pdf-asset-controls { grid-row: auto; } .pdf-asset-total > small { max-width: 14rem; } .pdf-asset-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pdf-monitor-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } .pdf-monitor-throughput { grid-column: span 2; } .pdf-monitor-list-wrap { grid-template-columns: 1fr; gap: .3rem; } }
.detail-identifier-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: .18rem; }
.result-metrics { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin-top: .55rem; color: #3f4b44; font-size: .72rem; }
.result-metrics strong { color: var(--ink); }
.badges { display: inline-flex; flex-wrap: wrap; gap: .3rem; margin-right: .45rem; vertical-align: .12rem; }
.badge { padding: .12rem .35rem; border: 1px solid currentColor; font: 700 .58rem Consolas, monospace; letter-spacing: .05em; }
.badge.seed { color: #9a401d; background: rgba(209,111,61,.1); }
.badge.reference { color: #226b61; background: rgba(67,130,120,.1); }
.badge.pending { color: #766019; }
.badge.category { max-width: 100%; overflow: hidden; text-overflow: ellipsis; text-transform: none; letter-spacing: 0; color: #5d3825; background: #f0ddcf; }
.badge.category.cited { color: #245c55; background: #d9e8e3; }
.badge.category-2 { border-bottom-color: #4f9b8d; }
.badge.category-3 { border-bottom-color: #c9a84d; }
.badge.category-4 { border-bottom-color: #6f91b8; }
.badge.category-5 { border-bottom-color: #a6769f; }
.badge.category-6 { border-bottom-color: #7fa35a; }
.result-expansion { margin: 1rem -1.25rem -1.15rem; padding: 1rem 1.25rem 1.2rem; border-top: 1px solid var(--line-paper); background: #e9e4d7; }
.expansion-loading { color: var(--muted-ink); }
.bilingual-abstract { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: .75rem; border: 1px solid var(--line-paper); background: var(--line-paper); }
.bilingual-abstract article { padding: 1rem; background: #f8f4e9; }
.bilingual-abstract h3 { margin-bottom: .55rem; color: var(--muted-ink); font: 700 .68rem Consolas, monospace; letter-spacing: .08em; text-transform: uppercase; }
.abstract-text { margin: 0; white-space: pre-wrap; line-height: 1.75; font-size: .82rem; }
.translation-placeholder { color: var(--muted-ink); font-style: italic; }
.translation-analysis { display: grid; gap: .75rem; }
.analysis-translation h4, .research-insight h4 { margin: 0 0 .35rem; color: var(--survey); font: 700 .68rem Consolas, monospace; letter-spacing: .08em; }
.analysis-translation p, .research-insight p { margin: 0; line-height: 1.72; }
.research-insights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
.research-insight { padding: .7rem; border-left: 3px solid var(--mineral); background: rgba(79,155,141,.09); }
.translate-button { margin-top: .75rem; color: var(--ink); }
.keyword-row { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .55rem; }
.keyword-row span { padding: .15rem .35rem; color: #40524a; background: #e4e7de; font-size: .65rem; }
.result-skeleton { padding: 1rem 1.25rem; }
.result-skeleton i { display: block; height: 6rem; margin-bottom: .7rem; background: linear-gradient(90deg, #e2dccd, #f7f3e8, #e2dccd); background-size: 200% 100%; animation: shimmer 1.2s linear infinite; }
.empty-state { padding: 5rem 1rem; text-align: center; color: var(--muted-ink); }
.empty-state strong { color: var(--ink); font-family: Georgia, serif; font-size: 1.2rem; }
.pagination { display: flex; justify-content: flex-end; align-items: center; gap: .85rem; padding: .85rem 1.25rem; color: var(--muted-ink); font-size: .75rem; }
.ranking-preview { position: sticky; top: 10.5rem; padding: 1.15rem; }
.metric-note { color: var(--muted-ink); font-size: .75rem; }
.mini-ranking, .full-ranking { list-style: none; margin: 0; padding: 0; counter-reset: rank; }
.mini-ranking li { display: grid; grid-template-columns: 2rem 1fr auto; gap: .55rem; padding: .7rem 0; border-top: 1px solid var(--line-paper); }
.rank-number { color: var(--survey); font: 700 1rem Consolas, monospace; }
.rank-link { padding: 0; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; font-family: Georgia, "Songti SC", serif; }
.rank-link:hover { color: var(--mineral); }
.rank-score { color: var(--muted-ink); font: .7rem Consolas, monospace; white-space: nowrap; }
.recent-publications-preview { margin-top: 1.25rem; padding-top: 1.15rem; border-top: 1px solid var(--line-paper); }
.recent-publications-preview h2 { margin-bottom: .35rem; }
.recent-publication-list { display: grid; gap: 0; margin: .5rem 0 0; padding: 0; list-style: none; }
.recent-publication-list li { display: grid; grid-template-columns: 5.4rem minmax(0,1fr); gap: .18rem .55rem; padding: .68rem 0; border-top: 1px solid var(--line-paper); }
.recent-publication-list li.newest { border-left: 3px solid var(--mineral); padding-left: .55rem; }
.recent-publication-date { grid-row: 1 / 3; color: var(--survey); font: 700 .67rem Consolas, monospace; }
.recent-publication-meta { grid-column: 2; margin: 0; color: var(--muted-ink); font-size: .64rem; line-height: 1.45; }
.recent-publication-loading, .recent-publication-empty { display: block!important; color: var(--muted-ink); font-size: .7rem; }
.institution-contribution-card { grid-column: 1 / -1; }
.institution-ranking-chart { min-height: 33rem; }
.country-rank-bar, .institution-rank-bar { outline: none; transition: filter .14s ease, opacity .14s ease; }
.country-rank-bar:hover, .country-rank-bar:focus { filter: brightness(1.16); stroke: var(--ink); stroke-width: 2px; }
.research-sar-marker { cursor: pointer; filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)); }

.graph-workspace { width: 100%; max-width: none; padding-left: clamp(1rem, 2vw, 2rem); padding-right: clamp(1rem, 2vw, 2rem); }
.graph-header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; }
.graph-header h1 { margin-bottom: .35rem; }
.graph-header p:last-child { max-width: 54rem; margin-bottom: 0; color: var(--chalk-muted); }
.graph-header-tools { display: grid; justify-items: end; gap: .55rem; }
.category-control { color: var(--chalk-muted); font-size: .7rem; }
.category-control select { display: block; min-width: 15rem; margin-top: .2rem; border: 1px solid var(--line-dark); padding: .4rem .5rem; color: var(--chalk); background: var(--coal-soft); }
.category-control input { display: block; width: 9rem; margin-top: .2rem; border: 1px solid var(--line-dark); padding: .4rem .5rem; color: var(--chalk); background: var(--coal-soft); }
.graph-limit-control { display: flex; align-items: end; gap: .45rem; }
.graph-limit-control .button { min-height: 2.25rem; padding: .35rem .7rem; }
.graph-limit-control .citation-search-control input { width: min(22rem, 32vw); }
.graph-context { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.graph-context span { padding: .35rem .5rem; border: 1px solid var(--line-dark); color: var(--chalk-muted); font: .68rem Consolas, monospace; }
.graph-analysis-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-bottom: .75rem; padding: .55rem .65rem; border: 1px solid var(--line-dark); background: var(--coal-soft); }
.graph-view-switcher { display: flex; flex-wrap: wrap; border: 1px solid var(--line-dark); }
.graph-view-switcher button { min-height: 2.2rem; border: 0; border-right: 1px solid var(--line-dark); padding: .42rem .75rem; color: var(--chalk-muted); background: transparent; cursor: pointer; }
.graph-view-switcher button:last-child { border-right: 0; }
.graph-view-switcher button:hover, .graph-view-switcher button.active { color: var(--coal); background: var(--sulfur); }
.graph-analysis-select { display: flex; align-items: center; gap: .45rem; color: var(--chalk-muted); font-size: .68rem; }
.graph-analysis-select select { min-height: 2.2rem; border: 1px solid var(--line-dark); padding: .35rem .5rem; color: var(--chalk); background: var(--coal); }
.graph-analysis-status { flex: 1 1 22rem; margin: 0; color: var(--chalk-muted); font: .67rem/1.45 Consolas, monospace; text-align: right; }
.graph-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 25rem); min-height: 44rem; border: 1px solid var(--line-dark); background: var(--coal-soft); }
.graph-stage { position: relative; min-width: 0; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(67,130,120,.12), transparent 48%), var(--coal); }
.graph-canvas { display: block; width: 100%; height: min(72vh, 52rem); min-height: 44rem; touch-action: none; cursor: grab; user-select: none; }
.author-canvas, .citation-canvas { position: relative; isolation: isolate; overflow: hidden; outline: none; background: radial-gradient(circle at 50% 45%, rgba(67,130,120,.12), transparent 48%); }
.author-canvas:focus-visible, .citation-canvas:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.author-canvas > canvas, .citation-canvas > canvas { max-width: none; }
.network-matrix { width: 100%; height: min(72vh, 52rem); min-height: 44rem; overflow: auto; padding: 4.25rem 1rem 3.5rem; color: var(--chalk); background: var(--coal); }
.network-matrix-svg { display: block; min-width: 100%; height: auto; margin: 0 auto; }
.network-matrix .matrix-cell { cursor: pointer; transition: opacity .12s ease, stroke .12s ease; }
.network-matrix .matrix-cell:hover, .network-matrix .matrix-cell:focus { stroke: var(--sulfur); stroke-width: 2; opacity: 1!important; outline: none; }
.network-matrix .matrix-axis-label { fill: var(--chalk-muted); font: 10px "Segoe UI", sans-serif; }
.network-matrix .matrix-grid-line { stroke: rgba(215,222,215,.07); stroke-width: 1; }
.network-matrix .matrix-community-divider { stroke: rgba(255,211,105,.58); stroke-width: 1.4; }
.network-matrix .matrix-empty { display: grid; min-height: 30rem; place-items: center; color: var(--chalk-muted); }
.graph-stage.matrix-mode .graph-toolbar, .graph-stage.matrix-mode .graph-legend { display: none; }
.graph-stage.matrix-mode .graph-canvas { display: none; }
.graph-stage.matrix-mode .author-canvas, .graph-stage.matrix-mode .citation-canvas { display: none; }
.graph-stage:not(.matrix-mode) .network-matrix { display: none; }
.graph-canvas.panning { cursor: grabbing; }
.graph-toolbar { position: absolute; z-index: 5; top: .75rem; left: .75rem; display: flex; flex-wrap: wrap; max-width: calc(100% - 1.5rem); border: 1px solid var(--line-dark); background: rgba(17,23,20,.9); }
.graph-toolbar button { min-width: 2.55rem; min-height: 2.55rem; border: 0; border-right: 1px solid var(--line-dark); padding: .45rem .65rem; color: var(--chalk); background: transparent; cursor: pointer; }
.graph-toolbar button:hover, .graph-toolbar button[aria-pressed="true"] { color: var(--coal); background: var(--sulfur); }
.graph-toolbar button:disabled { color: var(--chalk-muted); background: transparent; cursor: not-allowed; opacity: .45; }
.graph-direction-control { display: flex; align-items: stretch; border-left: 1px solid var(--line-dark); }
.graph-direction-control > span { display: flex; align-items: center; max-width: 13rem; padding: .45rem .7rem; color: var(--chalk-muted); font-size: .65rem; line-height: 1.25; }
.graph-direction-control button:last-child { border-right: 0; }
.graph-loading { position: absolute; inset: 0; display: grid; place-items: center; color: var(--chalk-muted); background: rgba(17,23,20,.75); }
.graph-legend { position: absolute; left: .75rem; bottom: .75rem; display: flex; flex-wrap: wrap; gap: .75rem; padding: .45rem .6rem; color: var(--chalk-muted); background: rgba(17,23,20,.84); font-size: .65rem; }
.graph-legend span::before { content: ""; display: inline-block; width: .55rem; height: .55rem; margin-right: .35rem; border-radius: 50%; vertical-align: -.03rem; }
.legend-seed::before { background: var(--survey); }
.legend-reference::before { background: var(--mineral); }
.legend-dual::before { background: var(--survey); border: 2px solid var(--mineral-bright); }
.legend-edge::before { width: 1.1rem!important; height: .55rem!important; border-radius: 0!important; background: var(--chalk-muted); clip-path: polygon(0 38%,72% 38%,72% 0,100% 50%,72% 100%,72% 62%,0 62%); }
.legend-weight::before { height: 2px!important; border-radius: 0!important; background: var(--chalk-muted); }
.legend-author::before { background: var(--sulfur); }
.graph-edge { stroke: rgba(215,222,215,.3); vector-effect: non-scaling-stroke; pointer-events: none; transition: opacity .15s ease, stroke .15s ease; }
.graph-edge.author.community-internal { stroke: rgba(215,222,215,.13); }
.graph-edge.author.community-bridge { stroke: rgba(255,211,105,.34); }
.graph-edge.author.selected-incoming, .graph-edge.author.selected-outgoing { stroke: var(--sulfur); opacity: .95; }
.graph-cluster-field { fill-opacity: .035; stroke-opacity: .34; stroke-width: 1.5; stroke-dasharray: 7 9; vector-effect: non-scaling-stroke; pointer-events: none; }
.graph-cluster-title { fill: var(--chalk); paint-order: stroke; stroke: var(--coal); stroke-width: 8px; font: 700 28px Consolas, monospace; letter-spacing: .04em; pointer-events: none; }
.citation-timeline-guides line { stroke: rgba(215,222,215,.13); stroke-width: 1; stroke-dasharray: 4 8; vector-effect: non-scaling-stroke; }
.citation-timeline-guides text { fill: var(--chalk-muted); paint-order: stroke; stroke: var(--coal); stroke-width: 5px; font: 700 18px Consolas, monospace; }
.author-community-field { fill-opacity: .055; stroke-opacity: .42; stroke-width: 1.4; stroke-dasharray: 5 8; vector-effect: non-scaling-stroke; pointer-events: none; }
.author-community-title { fill: var(--chalk-muted); paint-order: stroke; stroke: var(--coal); stroke-width: 7px; font: 700 15px "Segoe UI", sans-serif; letter-spacing: .01em; pointer-events: none; }
.graph-edge.citation { marker-end: url(#citation-arrow); }
#citation-arrow path { fill: context-stroke; }
.graph-edge.selected-outgoing { stroke: var(--mineral-bright); opacity: 1; }
.graph-edge.selected-incoming { stroke: var(--sulfur); opacity: 1; }
.graph-edge.dimmed { opacity: .16; }
.graph-canvas.large-graph .graph-edge { opacity: .055; }
.graph-canvas.large-graph .graph-edge.dimmed { opacity: .018; }
.graph-canvas.large-graph .graph-edge.selected-outgoing,
.graph-canvas.large-graph .graph-edge.selected-incoming { opacity: .82; }
.graph-node { cursor: pointer; outline: none; pointer-events: bounding-box; }
.graph-node circle { vector-effect: non-scaling-stroke; transition: filter .16s ease, stroke-width .16s ease; }
.graph-node:hover circle, .graph-node:focus circle, .graph-node.selected circle { filter: drop-shadow(0 0 7px rgba(255,211,105,.8)); stroke: var(--focus)!important; stroke-width: 3px!important; }
.graph-node.query-match circle { filter: drop-shadow(0 0 9px rgba(101,170,157,.95)); stroke: var(--mineral-bright)!important; stroke-width: 3px!important; }
.graph-node.hop-1 circle { stroke: #69a99c!important; stroke-width: 2px!important; }
.graph-node.hop-2 { opacity: .68; }
.graph-node.hop-2 circle { stroke-dasharray: 3 2; }
.graph-node.dragging { cursor: grabbing; }
.graph-node.dragging circle { filter: drop-shadow(0 0 11px rgba(255,211,105,.95)); }
.graph-label { display: none; fill: var(--chalk); paint-order: stroke; stroke: var(--coal); stroke-width: 4px; stroke-linejoin: round; font: 11px "Segoe UI", sans-serif; pointer-events: none; }
.graph-label.always, .graph-canvas.show-all-labels .graph-label, .graph-canvas.zoomed-labels .graph-label { display: block; }
.metadata-drawer { position: relative; overflow: auto; max-height: min(72vh, 52rem); min-height: 44rem; border-left: 1px solid var(--line-dark); background: var(--paper); color: var(--ink); }
.drawer-empty { display: grid; align-content: center; min-height: 100%; padding: 2rem; color: var(--muted-ink); }
.drawer-empty strong { color: var(--ink); font: 500 1.35rem Georgia, serif; }
.drawer-close { position: sticky; z-index: 3; top: .75rem; float: right; width: 2.5rem; height: 2.5rem; margin: .75rem .75rem 0 0; border: 1px solid var(--line-paper); color: var(--ink); background: var(--paper); cursor: pointer; font-size: 1.4rem; }
#drawer-body, #author-drawer-body { padding: 1.25rem; }
.drawer-kicker { color: var(--survey); font: 700 .65rem Consolas, monospace; letter-spacing: .1em; }
.drawer-title { clear: both; padding-top: .5rem; font: 500 1.45rem/1.25 Georgia, "Songti SC", serif; }
.drawer-byline { color: var(--muted-ink); font-size: .78rem; }
.drawer-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 1rem 0; border: 1px solid var(--line-paper); }
.drawer-metrics.has-document-action { grid-template-columns: repeat(4, minmax(0,1fr)); }
.drawer-metrics div { padding: .75rem; border-right: 1px solid var(--line-paper); }
.drawer-metrics div:last-child { border-right: 0; }
.drawer-metrics dt { color: var(--muted-ink); font-size: .65rem; }
.drawer-metrics dd { margin: .2rem 0 0; font: 700 1.1rem Consolas, monospace; }
.drawer-metrics .drawer-metric-pdf { display: flex; align-items: center; justify-content: center; gap: .35rem; }
.drawer-metric-pdf .pdf-link,
.drawer-metric-pdf .pdf-contribute-button { max-width: 100%; }
@media (max-width: 720px) {
  .drawer-metrics,
  .drawer-metrics.has-document-action { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.detail-group { padding: .85rem 0; border-top: 1px solid var(--line-paper); }
.detail-group h3 { margin: 0 0 .45rem; color: var(--muted-ink); font: 700 .65rem Consolas, monospace; letter-spacing: .08em; }
.detail-group p { margin-bottom: .35rem; font-size: .78rem; overflow-wrap: anywhere; }
.detail-group .abstract { line-height: 1.72; }
.detail-tags { display: flex; flex-wrap: wrap; gap: .3rem; }
.detail-tags span { padding: .17rem .35rem; background: #e0e5dc; font-size: .68rem; }
.drawer-action { width: calc(100% - 2.5rem); margin: 0 1.25rem 1.25rem; }
.accessible-graph-list { margin-top: .75rem; color: var(--chalk-muted); font-size: .75rem; }
.accessible-graph-list ol { columns: 2; }
.author-filter { display: grid; grid-template-columns: 1.1fr .72fr .78fr .65fr .68fr 1fr auto; align-items: end; gap: .55rem; padding: .75rem; color: var(--ink); background: var(--paper); }
.author-community-summary { display: flex; gap: .65rem; overflow-x: auto; margin: 0 0 1rem; padding: .15rem .05rem .35rem; scrollbar-width: thin; }
.author-community-card,
.author-identity-candidate { flex: 0 0 min(17rem, 76vw); display: grid; grid-template-columns: auto minmax(0,1fr); gap: .15rem .65rem; align-items: center; border: 1px solid var(--academic-border, #d8e0e8); border-left: 4px solid var(--community-color, #e06a3b); border-radius: .7rem; padding: .7rem .8rem; color: var(--academic-ink, #0f172a); background: #fff; text-align: left; cursor: pointer; }
.author-community-card:hover,
.author-identity-candidate:hover { border-color: var(--academic-primary, #e06a3b); box-shadow: 0 5px 16px rgba(15,23,42,.07); transform: translateY(-1px); }
.author-community-card strong,
.author-identity-candidate strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.author-community-card small,
.author-identity-candidate small { grid-column: 2; color: var(--academic-muted, #64748b); font-size: .67rem; }
.community-rank { grid-row: 1 / span 2; color: var(--community-color, #e06a3b); font: 700 .72rem Consolas, monospace; }
.community-summary-intro { flex: 0 0 100%; margin: 0; color: var(--academic-muted, #64748b); font-size: .76rem; line-height: 1.55; }
.author-community-summary.identity-candidates { flex-wrap: wrap; overflow: visible; }
.author-identity-candidate span { color: var(--academic-primary, #e06a3b); font: 600 .65rem Consolas, monospace; }
.quality-note { margin-top: .75rem; color: var(--chalk-muted); font-size: .72rem; }

.ranking-hero { max-width: 64rem; padding: 2rem 0; }
.ranking-hero p:last-child { max-width: 50rem; color: var(--chalk-muted); }
.ranking-controls { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: end; margin-top: 1.25rem; padding: .75rem; border: 1px solid var(--line-dark); background: var(--coal-soft); }
.ranking-controls label { color: var(--chalk-muted); font-size: .7rem; }
.ranking-controls select { display: block; min-width: 15rem; margin-top: .2rem; border: 1px solid var(--line-dark); padding: .45rem .55rem; color: var(--chalk); background: var(--coal); }
.segmented-control { display: flex; flex-wrap: wrap; border: 1px solid var(--line-dark); }
.segmented-control button { border: 0; border-right: 1px solid var(--line-dark); padding: .55rem .75rem; color: var(--chalk-muted); background: transparent; cursor: pointer; }
.segmented-control button:last-child { border-right: 0; }
.segmented-control button.active { color: var(--coal); background: var(--sulfur); }
.ranking-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem); gap: 1rem; align-items: start; }
.ranking-status { display: flex; justify-content: space-between; padding: .8rem 1.2rem; border-bottom: 1px solid var(--line-paper); color: var(--muted-ink); font: .7rem Consolas, monospace; }
.full-ranking li { display: grid; grid-template-columns: 4rem minmax(0,1fr) 9rem; gap: 1rem; align-items: center; padding: 1.2rem; border-bottom: 1px solid var(--line-paper); }
.full-ranking .rank-number { font-size: 1.7rem; }
.rank-meta { margin: .35rem 0 0; color: var(--muted-ink); font-size: .75rem; }
.rank-measures { text-align: right; }
.rank-measures strong { display: block; font: 700 1.5rem Consolas, monospace; }
.rank-measures small { color: var(--muted-ink); }
.author-ranking-row .author-ranking-toggle { grid-column: 2 / -1; display: grid; grid-template-columns: minmax(0,1fr) 9rem 1.4rem; gap: 1rem; align-items: center; width: 100%; border: 0; padding: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.author-ranking-copy { display: grid; gap: .18rem; min-width: 0; }
.author-ranking-copy .rank-meta { display: block; }
.ranking-chevron { color: var(--survey); font: 1.4rem/1 Consolas, monospace; transition: transform .16s ease; }
.author-ranking-toggle[aria-expanded="true"] .ranking-chevron { transform: rotate(180deg); }
.author-ranking-toggle:focus-visible { outline: 3px solid var(--focus); outline-offset: .3rem; }
.author-publications { grid-column: 2 / -1; width: 100%; padding: 1rem 0 .25rem; border-top: 1px solid var(--line-paper); }
.author-publication-heading { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted-ink); font-size: .72rem; }
.author-publication-heading strong { color: var(--ink); }
.author-publication-list { margin: .6rem 0 0; padding: 0; list-style: none; }
.author-publication-list li { display: block; padding: .65rem 0; border-top: 1px solid var(--line-paper); }
.author-publication-list .rank-link { font-size: .88rem; line-height: 1.4; }
.method-card { position: sticky; top: 10.5rem; padding: 1.2rem; border: 1px solid var(--line-dark); background: var(--shale); }
.method-card dl { margin: 1rem 0; }
.method-card dl div { display: grid; grid-template-columns: 6rem 1fr; gap: .6rem; padding: .65rem 0; border-top: 1px solid var(--line-dark); }
.method-card dt { color: var(--chalk-muted); font-size: .7rem; }
.method-card dd { margin: 0; font-size: .78rem; }
.method-card > p:last-child { color: var(--chalk-muted); font-size: .72rem; }

.contribution-analysis { margin-top: 1rem; border: 1px solid var(--line-dark); background: var(--coal-soft); }
.contribution-analysis-header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 1.15rem 1.25rem; border-bottom: 1px solid var(--line-dark); }
.contribution-analysis-header h2 { margin-bottom: .2rem; }
.contribution-analysis-header > div > p:last-child { max-width: 48rem; margin: 0; color: var(--chalk-muted); font-size: .75rem; }
.contribution-analysis-scope { margin: 0; color: var(--chalk-muted); font: .67rem Consolas, monospace; text-align: right; }
.contribution-chart-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line-dark); }
.contribution-chart-card { min-width: 0; color: var(--ink); background: var(--paper); }
.chart-card-header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; min-height: 5.4rem; padding: 1rem 1.1rem .75rem; border-bottom: 1px solid var(--line-paper); }
.chart-card-header h3 { margin: 0 0 .15rem; font-size: 1rem; }
.chart-card-header p { margin: 0; color: var(--muted-ink); font-size: .68rem; }
.chart-toggle { flex: 0 0 auto; display: flex; border: 1px solid var(--line-paper); }
.chart-toggle button { border: 0; border-right: 1px solid var(--line-paper); padding: .36rem .55rem; color: var(--muted-ink); background: transparent; cursor: pointer; font-size: .65rem; white-space: nowrap; }
.chart-toggle button:last-child { border-right: 0; }
.chart-toggle button:hover { color: var(--ink); background: var(--paper-deep); }
.chart-toggle button.active { color: var(--paper); background: var(--mineral); }
.chart-series-key { display: flex; justify-content: flex-end; gap: 1rem; padding: .45rem 1.1rem 0; color: var(--muted-ink); font-size: .64rem; }
.chart-series-key span::before { content: ""; display: inline-block; width: 1.35rem; margin-right: .35rem; vertical-align: .18rem; border-top: 3px solid var(--mineral); }
.chart-series-key .core-series::before { border-top-color: var(--survey); border-top-style: dashed; }
.research-chart { max-width: 100%; contain: inline-size layout paint; min-height: 24rem; overflow-x: auto; padding: .35rem .7rem .75rem; background: var(--paper); }
.research-chart svg { display: block; width: 100%; min-width: 38rem; height: auto; overflow: visible; font-family: "Segoe UI", "Microsoft YaHei", sans-serif; }
.chart-grid-line { stroke: #d7d8d2; stroke-width: 1; shape-rendering: crispEdges; }
.incomplete-period { fill: rgba(197,160,77,.12); stroke: none; }
.incomplete-period-label { fill: #7a672e; font: 700 .58rem Consolas, monospace; }
.chart-axis-label { fill: var(--muted-ink); font: .62rem Consolas, monospace; }
.chart-category-label { fill: var(--ink); font-size: .69rem; }
.chart-value-label { fill: var(--ink); font: 700 .66rem Consolas, monospace; }
.country-rank-bar { stroke-width: 1; }
.country-rank-bar.seed { fill: var(--mineral); stroke: #155b54; }
.country-rank-bar.core { fill: var(--survey); stroke: #8a4827; }
.trend-line { fill: none; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.trend-line.seed { stroke: var(--mineral); }
.trend-line.core { stroke: var(--survey); stroke-dasharray: 8 5; }
.trend-marker { stroke-width: 2; }
.trend-marker.seed { fill: var(--mineral); stroke: var(--paper); }
.trend-marker.core { fill: var(--paper); stroke: var(--survey); }
.trend-hit { fill: transparent; stroke: none; pointer-events: all; }
.trend-end-label { font: 700 .64rem Consolas, monospace; }
.trend-end-label.seed { fill: var(--mineral); }
.trend-end-label.core { fill: var(--survey); }
.chart-empty { display: grid; place-items: center; min-height: 22rem; margin: 0; color: var(--muted-ink); font-size: .75rem; }
.chart-scope-note {
  margin: 0;
  padding: .75rem 1rem;
  border-top: 1px solid var(--line-paper);
  color: var(--muted-ink);
  background: var(--academic-canvas, var(--paper-deep));
  font-size: .68rem;
  line-height: 1.5;
}

.world-research-section { margin-top: 1rem; border: 1px solid var(--line-dark); background: var(--coal-soft); }
.world-research-header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 1.15rem 1.25rem; border-bottom: 1px solid var(--line-dark); }
.world-research-header h2 { margin-bottom: .2rem; }
.world-research-header > div > p:last-child { margin: 0; color: var(--chalk-muted); font-size: .75rem; }
.world-research-metrics { display: grid; grid-template-columns: repeat(5,minmax(5.5rem,1fr)); margin: 0; border: 1px solid var(--line-dark); }
.world-research-metrics div { padding: .55rem .75rem; border-right: 1px solid var(--line-dark); }
.world-research-metrics div:last-child { border-right: 0; }
.world-research-metrics dt { color: var(--chalk-muted); font-size: .64rem; white-space: nowrap; }
.world-research-metrics dd { margin: .1rem 0 0; font: 700 1rem Consolas, monospace; }
.world-research-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(22rem,.42fr); min-height: 38rem; }
.world-map-stage { position: relative; min-width: 0; overflow: hidden; background: #0c1a21; }
#research-world-map { display: block; width: 100%; min-height: 31rem; height: min(65vh,42rem); background: #10232d; }
#research-world-map:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
#research-world-map .leaflet-tile-pane { filter: grayscale(.25) saturate(.72) brightness(.76) contrast(1.08); }
#research-world-map .leaflet-control-zoom a, .research-home-control button { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 0; color: var(--chalk); background: rgba(14,28,36,.94); cursor: pointer; font: 700 1rem/1 Consolas, monospace; }
#research-world-map .leaflet-control-zoom a:hover, .research-home-control button:hover { color: var(--focus); background: var(--shale); }
#research-world-map .leaflet-bar { border: 1px solid var(--line-dark); border-radius: 0; box-shadow: 0 .35rem 1rem rgba(0,0,0,.2); }
#research-world-map .leaflet-control-attribution { color: #586971; background: rgba(247,246,241,.86); font-size: .58rem; }
#research-world-map .leaflet-control-attribution a { color: #215e58; }
.research-country-shape { cursor: pointer; transition: fill-opacity .16s ease, stroke-width .16s ease; }
.research-country-shape:hover, .research-country-shape:focus { filter: brightness(1.15); outline: none; }
.research-city-marker { cursor: pointer; filter: drop-shadow(0 2px 3px rgba(0,0,0,.4)); }
.research-map-tooltip { border: 0; border-left: .24rem solid var(--survey); border-radius: 0; padding: .42rem .58rem; color: var(--chalk); background: rgba(12,26,33,.94); box-shadow: 0 .5rem 1.4rem rgba(0,0,0,.28); font-size: .68rem; }
.research-map-tooltip::before { display: none; }
.leaflet-tooltip.research-country-name-label { border: 0; padding: 0; color: #f7f5ed; background: transparent; box-shadow: none; text-shadow: 0 1px 2px rgba(4,15,20,.98), 0 0 4px rgba(4,15,20,.88); font: 650 .6rem/1.25 "Segoe UI", "Microsoft YaHei", sans-serif; pointer-events: none; }
.leaflet-tooltip.research-country-name-label::before { display: none; }
.world-map-level { position: absolute; z-index: 500; top: .75rem; right: .75rem; padding: .35rem .55rem; border: 1px solid var(--line-dark); color: var(--chalk); background: rgba(14,28,36,.9); font: 700 .63rem Consolas, monospace; letter-spacing: .04em; }
.world-map-legend { position: absolute; right: .9rem; bottom: 2.65rem; left: .9rem; display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem; width: fit-content; max-width: calc(100% - 1.8rem); padding: .38rem .5rem; color: var(--chalk-muted); background: rgba(14,28,36,.88); font-size: .62rem; }
.world-map-legend-title { color: var(--chalk); font-weight: 650; }
.world-map-legend-band { display: inline-flex; align-items: center; gap: .22rem; white-space: nowrap; }
.world-map-legend i { width: 1.25rem; height: .45rem; }
.world-map-legend .level-1 { background: #24564f; }.world-map-legend .level-2 { background: #2f746a; }
.world-map-legend .level-3 { background: #4d9689; }.world-map-legend .level-4 { background: #9e984e; }
.world-map-legend .level-5 { background: var(--survey); }
.world-map-legend strong { font-weight: 500; }
.world-map-legend .city-dot { width: .7rem; height: .7rem; margin-left: .45rem; border: 2px solid var(--survey); border-radius: 50%; background: var(--paper); }
.geography-coverage { margin: 0; padding: .5rem .75rem; border-top: 1px solid var(--line-dark); color: var(--chalk-muted); background: var(--coal-soft); font-size: .66rem; text-align: right; }
.research-country-panel { max-height: min(65vh,42rem); overflow: auto; border-left: 1px solid var(--line-dark); color: var(--ink); background: var(--paper); }
.country-panel-empty, .country-panel-loading { display: grid; align-content: center; min-height: 100%; padding: 1.25rem; }
.country-panel-empty > p:last-child { color: var(--muted-ink); font-size: .75rem; }
.country-panel-loading { margin: 0; color: var(--muted-ink); font-size: .75rem; }
.country-profile-header { padding: 1.1rem 1.15rem .9rem; border-bottom: 1px solid var(--line-paper); }
.country-profile-header h3 { margin-bottom: .18rem; font-size: 1.35rem; }
.country-profile-header > p:last-child { margin: 0; color: var(--muted-ink); font-size: .72rem; }
.country-cities, .country-institutions, .country-publications { padding: .9rem 1.15rem; border-bottom: 1px solid var(--line-paper); }
.country-cities h4, .country-institutions h4, .country-publications h4 { margin: 0 0 .55rem; font-size: .78rem; }
.country-city-list, .country-institution-list { display: flex; flex-wrap: wrap; gap: .35rem; overflow: auto; }
.country-city-list { max-height: 7.5rem; }
.country-institution-list { max-height: 9.5rem; }
.country-city-list button, .country-institution-list button { border: 1px solid var(--line-paper); padding: .28rem .45rem; color: var(--muted-ink); background: #ece9df; text-align: left; cursor: pointer; font-size: .65rem; }
.country-city-list button:hover, .country-city-list button.active, .country-institution-list button:hover, .country-institution-list button.active { color: var(--paper); border-color: var(--mineral); background: var(--mineral); }
.country-institution-note { margin: .45rem 0 0; color: var(--muted-ink); font-size: .62rem; }
.country-publications-header { display: flex; justify-content: space-between; gap: 1rem; }
.country-publications-header span { color: var(--muted-ink); font: .67rem Consolas, monospace; }
.country-publication-list { margin: 0; padding: 0; list-style: none; }
.country-publication-list li { padding: .6rem 0; border-top: 1px solid var(--line-paper); }
.country-publication-list .rank-link { font-size: .78rem; line-height: 1.38; }
.country-publication-title { display: flex; align-items: baseline; gap: .4rem; }
.core-publication-badge { flex: 0 0 auto; padding: .08rem .28rem; border: 1px solid var(--survey); color: #7d3f20; background: #f1dfd2; font: 700 .58rem Consolas, monospace; }
.country-publication-list .rank-meta { font-size: .64rem; }
.country-publication-empty { color: var(--muted-ink); font-size: .7rem; }
.country-pagination { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .65rem; }
.country-pagination button { border: 1px solid var(--line-paper); padding: .3rem .55rem; color: var(--ink); background: transparent; cursor: pointer; font-size: .67rem; }
.country-pagination span { color: var(--muted-ink); font: .66rem Consolas, monospace; }

.collection-header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 1.5rem 0; }
.collection-header p:last-child { max-width: 50rem; color: var(--chalk-muted); }
.collection-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.collection-admin-scope {
  flex: 1 0 100%;
  color: var(--chalk-muted);
  font-size: .72rem;
  line-height: 1.4;
  text-align: right;
}
.collection-admin-scope[data-scope="public"] { color: #f5c26b; }
.public-collection-notice { display: flex; align-items: baseline; gap: .8rem; margin: 0 0 1rem; padding: .7rem .85rem; border-left: .25rem solid var(--mineral-bright); color: var(--chalk-muted); background: var(--coal-soft); font-size: .72rem; }
.public-collection-notice strong { flex: 0 0 auto; color: var(--chalk); }
.collector-columns { --collector-ledger-height: 13rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-bottom: 1rem; }
.collector-lane { position: relative; min-width: 0; padding: 1.2rem; border-top: .28rem solid var(--survey); }
.collector-lane.author-collector { border-top-color: var(--mineral); }
.collector-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.collector-kind { flex: 0 0 auto; padding: .25rem .42rem; border: 1px solid var(--line-paper); color: var(--muted-ink); font: 700 .62rem Consolas, monospace; }
.collector-intro { min-height: 2.4rem; margin: .35rem 0 .9rem; color: var(--muted-ink); font-size: .76rem; }
.collector-controls { display: grid; gap: .7rem; padding-top: .85rem; border-top: 1px solid var(--line-paper); }
.collector-controls label, .author-seed-form label { color: var(--muted-ink); font-size: .7rem; }
.collector-controls select, .collector-controls input, .author-seed-form select, .author-seed-form input { width: 100%; min-height: 2.45rem; margin-top: .2rem; border: 1px solid var(--line-paper); padding: .45rem .55rem; color: var(--ink); background: #fffdf7; }
#category-form > div { display: grid; grid-template-columns: 1fr auto; }
.category-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)); align-content: start; gap: .5rem; height: var(--collector-ledger-height); margin-top: .8rem; overflow: auto; }
.category-card { display: grid; gap: .15rem; padding: .7rem .8rem; border-left: .3rem solid var(--survey); background: #e7e1d4; }
.category-card.category-2 { border-left-color: #4f9b8d; }.category-card.category-3 { border-left-color: #c9a84d; }.category-card.category-4 { border-left-color: #6f91b8; }.category-card.category-5 { border-left-color: #a6769f; }.category-card.category-6 { border-left-color: #7fa35a; }
.category-card span, .category-card small { color: var(--muted-ink); font-size: .68rem; }
.category-source-link { width: fit-content; color: var(--ink); font-weight: 800; text-decoration-color: var(--survey); text-underline-offset: .2rem; }
.category-source-link::after, .external-source-link::after { content: ' ↗'; color: var(--survey); font: 700 .66rem Consolas, monospace; }
.author-seed-form { display: grid; grid-template-columns: minmax(9rem,.42fr) minmax(15rem,1fr) auto; gap: .7rem; align-items: end; padding: .9rem; border-left: .3rem solid var(--survey); background: #e7e1d4; }
.author-collector .author-seed-form { border-left-color: var(--mineral); }
.author-seed-form .button { min-height: 2.45rem; }
.author-seed-status { grid-column: 1 / -1; min-height: 1rem; margin: 0; color: var(--muted-ink); font-size: .7rem; }
.author-seed-ledger { min-width: 0; margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--line-paper); }
.ledger-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.ledger-heading h3 { margin: 0 0 .5rem; }.ledger-heading small { color: var(--muted-ink); }
.author-seed-sources { display: grid; align-content: start; gap: .35rem; height: var(--collector-ledger-height); overflow: auto; }
.author-seed-source { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .25rem .65rem; align-items: center; padding: .55rem; border-left: .22rem solid var(--mineral); background: #e7e1d4; }
.author-seed-source b { color: var(--survey); font: 700 .6rem Consolas, monospace; }
.author-seed-source strong { min-width: 0; overflow-wrap: anywhere; font-size: .78rem; }
.author-seed-source code { color: var(--muted-ink); overflow-wrap: anywhere; font-size: .64rem; }
.author-seed-source small { grid-column: 2 / -1; color: var(--muted-ink); font-size: .62rem; }
.external-source-links { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: .3rem .75rem; }
.external-source-link { color: var(--mineral); font-size: .66rem; font-weight: 800; text-underline-offset: .18rem; }
.author-seed-empty { margin: 0; color: var(--muted-ink); font-size: .72rem; }
.collection-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(21rem, .65fr); gap: 1rem; }
.dark-panel { padding: 1.2rem; border: 1px solid var(--line-dark); background: rgba(34,48,41,.72); }
.panel-heading, .quota-block > div, .schedule-form > div:first-child { display: flex; justify-content: space-between; gap: 1rem; }
.status-badge, .live-dot { padding: .32rem .48rem; border: 1px solid var(--line-dark); color: var(--chalk-muted); font: 700 .68rem Consolas, monospace; }
.progress-panel { min-width: 0; }
.panel-intro { max-width: 52rem; margin: .35rem 0 0; color: var(--chalk-muted); font-size: .72rem; }
.collection-progress-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; margin-top: 1rem; }
.progress-lane { min-width: 0; padding: .65rem; border: 1px solid var(--line-dark); background: rgba(8,21,25,.38); }
.progress-lane.author-progress-lane { box-shadow: inset 0 .18rem 0 var(--mineral); }
.progress-lane-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .15rem .15rem .55rem; border-bottom: 1px solid var(--line-dark); }
.progress-lane-heading h3 { margin: 0; font-size: .85rem; }.progress-lane-heading span { color: var(--chalk-muted); font: .64rem Consolas, monospace; }
.category-progress-list { display: grid; gap: .65rem; margin-top: .65rem; }
.progress-empty { margin: 0; padding: 1rem .65rem; color: var(--chalk-muted); font-size: .7rem; }
.category-progress-card { padding: .75rem; border: 1px solid var(--line-dark); border-left: .35rem solid var(--survey); background: var(--coal); }
.category-progress-card.category-2 { border-left-color: #4f9b8d; }
.category-progress-card.category-3 { border-left-color: #c9a84d; }
.category-progress-card.category-4 { border-left-color: #6f91b8; }
.category-progress-card.category-5 { border-left-color: #a6769f; }
.category-progress-card.category-6 { border-left-color: #7fa35a; }
.category-progress-card.active { box-shadow: inset 0 0 0 1px rgba(101,170,157,.38); }
.category-progress-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.category-progress-identity { display: grid; min-width: 0; }
.category-progress-identity strong { overflow-wrap: anywhere; font-size: .92rem; }
.category-progress-identity small { margin-top: .16rem; color: var(--chalk-muted); font-size: .67rem; }
.category-progress-state { flex: 0 0 auto; padding: .2rem .4rem; border: 1px solid var(--line-dark); color: var(--chalk-muted); font: 700 .62rem Consolas, monospace; }
.category-progress-card.active .category-progress-state { color: var(--mineral-bright); border-color: var(--mineral); }
.category-progress-phases { display: grid; gap: 2px; margin-top: .65rem; }
.category-progress-phase { display: grid; grid-template-columns: 2.25rem minmax(10rem, 1fr) minmax(8rem, .75fr); align-items: center; gap: .65rem; min-height: 3.1rem; padding: .45rem .6rem; border-left: .2rem solid var(--shale-light); background: var(--coal-soft); }
.category-progress-phase.active { border-left-color: var(--survey); }
.category-progress-phase.complete { border-left-color: var(--mineral-bright); }
.phase-code { color: var(--chalk-muted); font: .65rem Consolas, monospace; }
.phase-copy strong, .phase-copy small { display: block; }
.phase-copy strong { font-size: .78rem; }
.phase-copy small { color: var(--chalk-muted); font-size: .66rem; }
progress { width: 100%; height: .55rem; border: 0; border-radius: 0; background: var(--shale-light); }
progress::-webkit-progress-bar { background: var(--shale-light); }
progress::-webkit-progress-value { background: var(--mineral-bright); }
progress::-moz-progress-bar { background: var(--mineral-bright); }
.checkpoint-line { display: flex; justify-content: space-between; gap: 1rem; margin-top: .9rem; color: var(--chalk-muted); font-size: .72rem; }
.checkpoint-line code { color: var(--chalk); text-align: right; overflow-wrap: anywhere; }
.collection-runtime { display: flex; justify-content: space-between; gap: 1rem; margin-top: .9rem; padding-top: .75rem; border-top: 1px solid var(--line-dark); color: var(--chalk-muted); font-size: .72rem; }
.collection-runtime strong { color: var(--chalk); text-align: right; font-weight: 600; }
.inline-alert { margin: .8rem 0 0; padding: .65rem; border-left: 3px solid var(--survey); background: rgba(209,111,61,.12); }
.quota-block { padding: 1rem 0; border-top: 1px solid var(--line-dark); }
.quota-block strong { font-family: Consolas, monospace; }
.quota-block progress { margin: .55rem 0; }
.quota-block small, .schedule-form small { color: var(--chalk-muted); }
.api-key-quotas { display: grid; gap: .65rem; margin: .75rem 0 1rem; }
.api-key-card { padding: .75rem; border: 1px solid var(--line-dark); background: var(--coal); }
.api-key-card.active { border-left: .3rem solid var(--mineral-bright); }
.api-key-heading, .key-quota-row > div { display: flex; justify-content: space-between; gap: 1rem; }
.key-state { color: var(--chalk-muted); font: .65rem Consolas, monospace; }
.api-key-card.active .key-state { color: var(--mineral-bright); }
.key-quota-row { padding-top: .6rem; }
.key-quota-row span, .key-quota-row small, .quota-updated { color: var(--chalk-muted); font-size: .66rem; }
.key-quota-row strong { font: 700 .72rem Consolas, monospace; }
.key-quota-row progress { margin: .3rem 0; }
.api-key-manager { margin: 1rem 0; border: 1px solid var(--line-dark); background: var(--coal); }
.api-key-manager > summary {
  display: flex; justify-content: space-between; gap: 1rem; align-items: center;
  padding: .8rem; cursor: pointer; list-style: none; font-weight: 700;
}
.api-key-manager > summary::-webkit-details-marker { display: none; }
.api-key-manager > summary::after { content: "＋"; color: var(--mineral-bright); font-size: 1rem; }
.api-key-manager[open] > summary::after { content: "−"; }
.api-key-manager > summary small { margin-left: auto; color: var(--chalk-muted); font-weight: 400; }
.api-key-manager form { padding: 0 .8rem .8rem; border-top: 1px solid var(--line-dark); }
.api-key-manager-fields {
  display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);
  gap: .6rem; align-items: end; padding-top: .8rem;
}
.api-key-manager-fields label { min-width: 0; color: var(--chalk-muted); font-size: .7rem; }
.api-key-manager-fields input {
  width: 100%; min-height: 2.45rem; margin-top: .25rem; padding: .5rem .65rem;
  border: 1px solid var(--line-dark); color: var(--chalk); background: var(--shale);
}
.api-key-manager-fields .button { min-height: 2.45rem; width: 100%; grid-column: 1 / -1; white-space: nowrap; }
.api-key-resume-option {
  display: flex; gap: .45rem; align-items: center; margin-top: .75rem;
  color: var(--chalk-muted); font-size: .7rem;
}
.api-key-resume-option input { width: auto; }
.api-key-add-status { margin: .55rem 0 0; color: var(--chalk-muted); font-size: .68rem; line-height: 1.55; }
.api-key-add-status.success { color: var(--mineral-bright); }
.api-key-add-status.error { color: #f59d78; }
.schedule-form { padding-top: 1rem; border-top: 1px solid var(--line-dark); }
.schedule-form label { color: var(--chalk-muted); font-size: .72rem; }
.schedule-form input[type="checkbox"] { width: auto; }
.schedule-fields { display: grid; grid-template-columns: 1fr 1fr auto; gap: .5rem; align-items: end; margin: .75rem 0; }
.schedule-fields input, .schedule-fields select { width: 100%; min-height: 2.3rem; margin-top: .2rem; border: 1px solid var(--line-dark); padding: .4rem .5rem; color: var(--chalk); background: var(--coal); }
.event-panel { margin-top: 1rem; border: 1px solid var(--line-dark); }
.event-panel .section-bar { color: var(--chalk); border-color: var(--line-dark); background: var(--shale); }
.table-shell { max-height: 25rem; overflow: auto; }
table { width: 100%; border-collapse: collapse; color: var(--chalk); font-size: .75rem; }
th, td { padding: .65rem .75rem; border-bottom: 1px solid var(--line-dark); text-align: left; vertical-align: top; }
th { position: sticky; top: 0; background: var(--shale); color: var(--chalk-muted); font: 700 .64rem Consolas, monospace; letter-spacing: .05em; }
td:last-child { max-width: 42rem; overflow-wrap: anywhere; font-family: Consolas, monospace; font-size: .68rem; }
.toast { position: fixed; right: 1rem; bottom: 1rem; z-index: 100; max-width: min(30rem, calc(100% - 2rem)); padding: .8rem 1rem; color: var(--coal); background: var(--paper); border-left: .35rem solid var(--survey); transform: translateY(8rem); transition: transform .2s ease; box-shadow: 0 1rem 3rem rgba(0,0,0,.3); }
.toast.show { transform: translateY(0); }

.assistant-header { display: grid; grid-template-columns: minmax(0,1fr) minmax(30rem,38rem); align-items: end; gap: 2rem; padding: .8rem 0 1.35rem; }
.assistant-header > div > p:last-child { max-width: 52rem; margin-bottom: 0; color: var(--chalk-muted); }
.assistant-principle { display: grid; grid-template-columns: 1.35fr repeat(3,1fr); margin: 0; border: 1px solid var(--line-dark); }
.assistant-principle div { padding: .75rem; border-right: 1px solid var(--line-dark); }
.assistant-principle div:last-child { border-right: 0; }
.assistant-principle dt { color: var(--survey); font: 700 .62rem Consolas, monospace; letter-spacing: .08em; }
.assistant-principle dd { margin: .22rem 0 0; color: var(--chalk); font-size: .72rem; }
.assistant-principle .rag-live { border-left: .22rem solid var(--mineral-bright); background: rgba(74,164,150,.08); }
.assistant-principle .rag-live dd { color: var(--mineral-bright); }
.assistant-settings { display: grid; grid-template-columns: repeat(4,minmax(10rem,1fr)); gap: .75rem; margin-bottom: 1rem; padding: 1rem; overflow: visible; }
.assistant-settings > label, .expert-custom-config label { color: var(--muted-ink); font-size: .68rem; }
.assistant-settings select, .assistant-settings input { width: 100%; min-height: 2.5rem; margin-top: .22rem; border: 1px solid var(--line-paper); border-radius: 0; padding: .45rem .55rem; color: var(--ink); background: #fffdf7; }
.expert-custom-config { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(12rem,1fr)); gap: .75rem; min-width: 0; margin: .15rem 0 0; padding: .85rem; border: 1px solid var(--line-paper); background: #ece8dc; }
.expert-custom-config legend { padding: 0 .35rem; color: var(--survey); font: 700 .64rem Consolas, monospace; letter-spacing: .08em; }
.expert-custom-config > p { grid-column: 1 / -1; margin: 0; color: var(--muted-ink); font-size: .68rem; }
.assistant-workbench { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(20rem,.75fr); gap: 1rem; align-items: start; }
.assistant-dialogue, .expert-evidence { min-height: 38rem; }
.assistant-dialogue { display: grid; grid-template-rows: auto minmax(23rem,1fr) auto auto; }
.expert-transcript { min-height: 23rem; max-height: 54rem; padding: .35rem 1.25rem; overflow-y: auto; scroll-behavior: smooth; }
.expert-message { position: relative; max-width: 58rem; margin: 1rem 0; padding: .15rem 0 .15rem 1rem; border-left: 3px solid var(--mineral); }
.expert-message.user-message { margin-left: clamp(1rem,8vw,7rem); border-left-color: var(--survey); }
.expert-message.loading { opacity: .72; }
.expert-message.loading::after { content: ""; display: inline-block; width: 2.6rem; height: .16rem; margin-left: .5rem; vertical-align: .2rem; background: linear-gradient(90deg,var(--mineral),transparent); animation: expert-pulse 1.1s ease-in-out infinite alternate; }
.message-role { display: block; margin-bottom: .35rem; color: var(--muted-ink); font: 700 .62rem Consolas, monospace; letter-spacing: .1em; }
.expert-message.user-message .message-role { color: var(--survey); }
.expert-message p { margin: 0 0 .58rem; line-height: 1.75; overflow-wrap: anywhere; }
.expert-message p:last-child { margin-bottom: 0; }
.expert-message ul { margin: .25rem 0 .6rem; padding-left: 1.25rem; }
.expert-message li { margin: .25rem 0; }
.citation-chip { display: inline-grid; place-items: center; min-width: 2.4rem; height: 1.35rem; margin: 0 .12rem; border: 1px solid var(--mineral); padding: 0 .28rem; color: #185e55; background: rgba(40,123,114,.08); cursor: pointer; font: 700 .65rem Consolas, monospace; vertical-align: .08rem; }
.citation-chip:hover { color: #fff; background: var(--mineral); }
.expert-suggestions { display: flex; flex-wrap: wrap; gap: .45rem; padding: .85rem 1.25rem; border-top: 1px solid var(--line-paper); }
.expert-suggestions button { border: 1px solid var(--line-paper); padding: .42rem .62rem; color: #31564f; background: #ecede5; cursor: pointer; font-size: .7rem; }
.expert-suggestions button:hover { border-color: var(--mineral); }
.expert-composer { margin: 0 1.25rem 1.25rem; border: 1px solid var(--line-paper); background: #fffdf7; }
.expert-composer textarea { display: block; width: 100%; min-height: 7rem; resize: vertical; border: 0; padding: .85rem; color: var(--ink); background: transparent; line-height: 1.55; }
.expert-composer-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem; border-top: 1px solid var(--line-paper); }
.expert-composer-footer > span { color: var(--muted-ink); font: .66rem Consolas, monospace; }
.expert-evidence { position: sticky; top: 9rem; max-height: calc(100vh - 10rem); overflow-y: auto; }
.expert-evidence .section-bar > span { color: var(--muted-ink); font: .68rem Consolas, monospace; }
.evidence-summary { margin: 0; padding: .8rem 1.1rem; border-bottom: 1px solid var(--line-paper); color: var(--muted-ink); font-size: .72rem; }
.expert-source-list { margin: 0; padding: 0; list-style: none; counter-reset: none; }
.expert-source-card { position: relative; padding: 1rem 1.1rem 1rem 3.8rem; border-bottom: 1px solid var(--line-paper); scroll-margin-top: 10rem; }
.expert-source-card::before { content: attr(data-source-id); position: absolute; left: 1.05rem; top: 1.05rem; display: grid; place-items: center; width: 2rem; height: 2rem; color: #fff; background: var(--mineral); font: 700 .67rem Consolas, monospace; }
.expert-source-card.highlight { background: #fff1cf; box-shadow: inset .25rem 0 0 var(--sulfur); }
.expert-source-card h3 { margin: 0 0 .35rem; font: 600 .9rem/1.4 Georgia, "Songti SC", serif; }
.expert-source-card h3 button { border: 0; padding: 0; color: #245f57; background: transparent; text-align: left; cursor: pointer; }
.expert-source-card h3 button:hover { text-decoration: underline; text-underline-offset: .15rem; }
.source-meta { margin: 0 0 .45rem; color: var(--muted-ink); font-size: .66rem; }
.source-snippet { margin: 0; color: #46545a; font-size: .71rem; line-height: 1.65; }
.source-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin-top: .65rem; color: var(--muted-ink); font: .62rem Consolas, monospace; }
.source-foot a, .source-foot button { border: 0; padding: 0; color: var(--mineral); background: transparent; cursor: pointer; text-decoration: underline; text-underline-offset: .14rem; }
.evidence-empty { display: grid; place-items: center; min-height: 19rem; padding: 2rem; color: var(--muted-ink); text-align: center; }
.evidence-empty strong { color: var(--ink); font-family: Georgia, serif; }
.evidence-empty p { margin: .35rem 0 0; font-size: .72rem; }

.analysis-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(25rem, 31rem); align-items: end; gap: 2rem; margin-bottom: 1rem; }
.analysis-header > div > p:last-child { max-width: 50rem; margin-bottom: 0; color: var(--chalk-muted); }
.model-card { padding: 1rem 1.1rem; border: 1px solid var(--line-dark); border-radius: var(--radius); background: var(--coal-soft); }
.model-card > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .55rem; }
.model-card > div span:last-child { color: var(--chalk-muted); font-size: .72rem; }
.model-dot { width: .62rem; height: .62rem; border-radius: 50%; background: #7d8b90; }
.model-dot.ready { background: var(--mineral-bright); box-shadow: 0 0 0 4px rgba(102,173,163,.12); }
.model-card dl { display: grid; grid-template-columns: .8fr .8fr 1.4fr; gap: .7rem; margin: .9rem 0 .6rem; }
.model-card dl div { padding-top: .55rem; border-top: 1px solid var(--line-dark); }
.model-card dt { color: var(--chalk-muted); font-size: .62rem; }
.model-card dd { margin: .15rem 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 .78rem Consolas, monospace; }
.model-card small { color: var(--chalk-muted); font-size: .64rem; }

.analysis-grid { display: grid; grid-template-columns: minmax(22rem, .75fr) minmax(30rem, 1.25fr); gap: 1rem; align-items: start; }
.upload-panel, .result-panel { min-height: 38rem; }
.upload-panel .section-bar > span, .result-panel .section-bar > span { color: var(--muted-ink); font: .68rem Consolas, monospace; }
.upload-drop { display: grid; place-items: center; min-height: 20rem; margin: 1.1rem; overflow: hidden; border: 1px dashed #9aa6a6; border-radius: calc(var(--radius) - 2px); background: #eeeee8; cursor: pointer; transition: border-color .16s ease, background .16s ease; }
.upload-drop:hover, .upload-drop.dragging { border-color: var(--mineral); background: #e6f0ed; }
.upload-drop img { display: block; width: 100%; height: 20rem; object-fit: contain; background: #10191e; }
.upload-drop > span { display: grid; justify-items: center; gap: .35rem; padding: 2rem; text-align: center; }
.upload-drop > span::before { content: "+"; display: grid; place-items: center; width: 3.2rem; height: 3.2rem; margin-bottom: .35rem; border: 1px solid var(--mineral); border-radius: 50%; color: var(--mineral); font-size: 1.7rem; }
.upload-drop small { color: var(--muted-ink); }
.upload-meta { margin: -.35rem 1.1rem .8rem; overflow: hidden; color: var(--muted-ink); font: .7rem Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.segmentation-file-list, .segmentation-result-list { margin: 0; padding: 0; list-style: none; }
.segmentation-file-list { display: grid; gap: .35rem; max-height: 9.5rem; margin: 0 1.1rem .9rem; overflow-y: auto; }
.segmentation-queue-item button, .segmentation-result-item button { width: 100%; border: 1px solid var(--line-paper); color: var(--ink); background: #f3f2ec; text-align: left; cursor: pointer; }
.segmentation-queue-item button { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem; padding: .48rem .6rem .48rem 1.3rem; }
.segmentation-queue-item button::before, .segmentation-result-item button::before { content: ""; position: absolute; border-radius: 50%; background: #9aa2a1; }
.segmentation-queue-item button::before { left: .58rem; top: .78rem; width: .38rem; height: .38rem; }
.segmentation-queue-item span, .segmentation-result-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.segmentation-queue-item small, .segmentation-result-item small { color: var(--muted-ink); font: .62rem Consolas, monospace; }
.segmentation-queue-item.status-running button::before, .segmentation-result-item.status-running button::before { background: var(--survey); box-shadow: 0 0 0 3px rgba(205,104,45,.14); }
.segmentation-queue-item.status-complete button::before, .segmentation-result-item.status-complete button::before { background: var(--mineral); }
.segmentation-queue-item.status-error button::before, .segmentation-result-item.status-error button::before { background: #a33f3f; }
.analysis-actions { display: flex; justify-content: flex-end; gap: .55rem; padding: 0 1.1rem; }
.analysis-progress { margin: .8rem 1.1rem 1.1rem; padding: .65rem .75rem; border-left: 3px solid var(--mineral); color: var(--muted-ink); background: rgba(40,123,114,.07); font-size: .72rem; }

.analysis-empty { min-height: 32rem; display: grid; place-content: center; justify-items: center; padding: 2rem; color: var(--muted-ink); text-align: center; }
.analysis-empty > span { color: #a4adad; font-size: 4rem; font-weight: 200; }
.analysis-empty strong { color: var(--ink); }
.analysis-empty p { margin: .35rem 0 0; }
.segmentation-result-list:not(:empty) { display: flex; gap: .45rem; margin: .8rem 1rem 0; padding-bottom: .25rem; overflow-x: auto; }
.segmentation-result-item { flex: 0 0 min(13rem, 44%); }
.segmentation-result-item button { position: relative; display: grid; gap: .18rem; min-height: 3.2rem; padding: .55rem .65rem .55rem 1.35rem; }
.segmentation-result-item button::before { left: .58rem; top: .78rem; width: .4rem; height: .4rem; }
.segmentation-result-item button[aria-pressed="true"] { border-color: var(--mineral); background: #e7f0ed; box-shadow: inset 0 -2px 0 var(--mineral); }
.segmentation-result-item button:disabled { cursor: default; opacity: .76; }
.result-view-tabs { display: flex; justify-content: center; gap: 0; padding: .8rem 1rem 0; }
.result-view-tabs button { border: 1px solid var(--line-paper); padding: .42rem .85rem; color: var(--muted-ink); background: transparent; cursor: pointer; }
.result-view-tabs button + button { border-left: 0; }
.result-view-tabs button.active { color: #fff; border-color: var(--mineral); background: var(--mineral); }
.segmentation-figure { display: grid; place-items: center; height: 27rem; margin: .75rem 1rem; background: #0d181e; }
.segmentation-figure img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.composition-section { padding: 0 1rem .85rem; }
.composition-bar { display: flex; height: .75rem; overflow: hidden; border-radius: 1rem; background: #d8d9d5; }
.composition-segment { min-width: 1px; }
.composition-background { --composition-color: #253641; }
.composition-dzt { --composition-color: #da8b2d; }
.composition-jzt { --composition-color: #247f71; }
.composition-lzt { --composition-color: #795397; }
.composition-segment.composition-background, .composition-item.composition-background::before { background: var(--composition-color); }
.composition-segment.composition-dzt, .composition-item.composition-dzt::before { background: var(--composition-color); }
.composition-segment.composition-jzt, .composition-item.composition-jzt::before { background: var(--composition-color); }
.composition-segment.composition-lzt, .composition-item.composition-lzt::before { background: var(--composition-color); }
.composition-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin: .75rem 0 0; }
.composition-item { position: relative; padding-left: .7rem; }
.composition-item::before { content: ""; position: absolute; left: 0; top: .35rem; width: .38rem; height: .38rem; border-radius: 50%; }
.composition-item dt { color: var(--muted-ink); font-size: .62rem; }
.composition-item dd { margin: .08rem 0 0; font: 700 .8rem Consolas, monospace; }
.knowledge-report { margin: 0 1rem 1rem; border: 1px solid var(--line-paper); background: #efeee8; }
.knowledge-report summary { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .7rem .8rem; cursor: pointer; }
.knowledge-report summary > span { font-weight: 650; }
.knowledge-live { color: var(--mineral); }
.knowledge-fallback { color: var(--survey); }
.knowledge-report summary small { display: flex; align-items: baseline; gap: .25rem; color: var(--muted-ink); }
.knowledge-report summary small b { font-weight: 650; }
.knowledge-report summary small i { font-style: normal; }
.knowledge-report > p { margin: 0; padding: .8rem; border-top: 1px solid var(--line-paper); color: #45545a; font-size: .75rem; line-height: 1.75; }
.method-note { display: flex; gap: .8rem; margin-top: 1rem; padding: .85rem 1rem; border: 1px solid var(--line-dark); border-radius: var(--radius); color: var(--chalk-muted); background: var(--coal-soft); font-size: .72rem; }
.method-note strong { flex: 0 0 auto; color: var(--chalk); }
.method-note p { margin: 0; }

.computation-header, .generation-header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; }
.computation-header > div > p:last-child, .generation-header > div > p:last-child { max-width: 56rem; margin-bottom: 0; color: var(--chalk-muted); }
.service-chip { flex: 0 0 auto; padding: .42rem .65rem; border: 1px solid var(--line-dark); color: var(--mineral-bright); background: var(--coal-soft); font: 700 .66rem Consolas, monospace; }
.computation-grid { display: grid; grid-template-columns: minmax(24rem,.85fr) minmax(31rem,1.15fr); gap: 1rem; align-items: start; }
.computation-input, .computation-draft { min-height: 44rem; }
.computation-input { padding-bottom: 1.1rem; }
.computation-input > label, .computation-draft label, .generation-input label { display: grid; gap: .25rem; margin: 1rem 1.1rem; color: var(--muted-ink); font-size: .7rem; }
.computation-input textarea, .computation-input input, .computation-input select,
.computation-draft textarea, .computation-draft input, .generation-input textarea,
.generation-input input, .generation-input select, .generation-shot textarea {
  width: 100%; border: 1px solid var(--line-paper); border-radius: 0; padding: .58rem .65rem; color: var(--ink); background: #fffdf7;
}
.computation-input textarea, .computation-draft textarea, .generation-input textarea, .generation-shot textarea { resize: vertical; line-height: 1.55; }
.computation-input select[multiple] { min-height: 10.5rem; padding: .3rem; }
.computation-input select[multiple] option { padding: .35rem .45rem; }
.computation-input label small { color: var(--muted-ink); }
.computation-file-row, .computation-settings { display: grid; gap: .7rem; padding: 0 1.1rem; }
.computation-file-row { grid-template-columns: 1fr 1fr; }
.computation-settings { grid-template-columns: .75fr 1fr 1.25fr; }
.computation-file-row label, .computation-settings label { display: grid; gap: .25rem; margin: 0; color: var(--muted-ink); font-size: .7rem; }
.column-ledger { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 1rem 1.1rem; border: 1px solid var(--line-paper); background: var(--line-paper); }
.column-ledger span { padding: .65rem; background: #efeee7; color: var(--muted-ink); font-size: .68rem; }
.column-ledger b { display: block; margin-top: .18rem; color: var(--ink); font-weight: 650; }
.sample-computation { margin: 1rem 1.1rem; border: 1px solid var(--line-paper); background: #efeee8; }
.sample-computation summary { padding: .65rem .75rem; cursor: pointer; font-size: .72rem; font-weight: 650; }
.sample-computation pre { margin: 0; overflow-x: auto; overflow-y: visible; padding: .8rem; border-top: 1px solid var(--line-paper); color: #314148; background: #fbfaf4; font-size: .68rem; overflow-wrap: anywhere; tab-size: 2; white-space: pre-wrap; word-break: break-word; }
.computation-run-settings { display: grid; grid-template-columns: minmax(9rem,.65fr) minmax(10rem,.8fr) auto; align-items: end; gap: .7rem; margin: 1rem 1.1rem; }
.computation-run-settings label { margin: 0; }
.computation-run-settings .check-label { display: flex; align-items: center; align-self: center; }
.check-label input { width: auto; }
.computation-progress { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .8rem; margin: 1rem 1.1rem; }
.computation-progress span { color: var(--muted-ink); font: .66rem Consolas, monospace; }

.image-generation-workbench { margin-top: 2.4rem; padding-top: 1.5rem; border-top: 1px solid var(--line-dark); }
.generation-header h2 { margin-bottom: .25rem; color: var(--chalk); font-size: clamp(1.55rem,2.2vw,2.15rem); }
.image-generation-grid { display: grid; grid-template-columns: minmax(22rem,.72fr) minmax(30rem,1.28fr); gap: 1rem; align-items: start; }
.generation-input { min-height: 30rem; padding: .25rem 0 1.15rem; border-top: .28rem solid var(--survey); }
.generation-settings { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; padding: 0 1.1rem 1rem; }
.generation-settings label { margin: 0; }
.generation-input > .button { margin-left: 1.1rem; }
.generation-plan { min-height: 30rem; }
.generation-shot-list { display: grid; gap: .65rem; max-height: 38rem; padding: 1rem 1.1rem; overflow-y: auto; }
.generation-shot { display: grid; grid-template-columns: 2.5rem minmax(8rem,.55fr) minmax(10rem,1.2fr); gap: .55rem .75rem; align-items: baseline; padding: .75rem; border-left: .24rem solid var(--mineral); background: #eeeee8; }
.generation-shot .shot-number { grid-row: 1 / 3; color: var(--survey); font: 700 .72rem Consolas, monospace; }
.generation-shot strong { font-size: .78rem; }
.generation-shot small { color: var(--muted-ink); font-size: .68rem; }
.generation-shot textarea { grid-column: 2 / 4; }
.generation-results { margin-top: 1rem; min-height: 15rem; }
.generation-gallery { display: grid; grid-template-columns: repeat(auto-fill,minmax(13rem,1fr)); gap: .75rem; padding: 1rem 1.1rem; }
.generated-image-card { margin: 0; overflow: hidden; border: 1px solid var(--line-paper); background: #ecebe4; }
.generated-image-card img, .generated-placeholder { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: #10191e; }
.generated-placeholder { display: grid; place-items: center; color: var(--chalk-muted); font-size: .72rem; }
.generated-image-card figcaption { padding: .55rem .65rem; color: var(--muted-ink); font-size: .68rem; }

@keyframes shimmer { to { background-position: -200% 0; } }
@keyframes expert-pulse { to { opacity: .2; transform: scaleX(.6); } }
@media (max-width: 1280px) {
  .site-header { grid-template-columns: minmax(24rem,.85fr) minmax(28rem,1.15fr); }
  .header-status { display: none; }
}
@media (max-width: 1120px) {
  .site-header { grid-template-columns: minmax(20rem,.9fr) minmax(18rem,1.1fr); }
  .library-grid, .ranking-layout { grid-template-columns: minmax(0,1fr) 20rem; }
  .analysis-grid { grid-template-columns: minmax(20rem,.8fr) minmax(26rem,1.2fr); }
  .graph-shell { grid-template-columns: minmax(0,1fr) 21rem; }
  .author-filter { grid-template-columns: 1fr 1fr; }
  .author-filter .button { align-self: stretch; }
  .assistant-header { grid-template-columns: 1fr; align-items: start; }
  .assistant-settings { grid-template-columns: repeat(2,minmax(10rem,1fr)); }
  .assistant-workbench { grid-template-columns: minmax(0,1fr) minmax(18rem,.65fr); }
  .computation-grid { grid-template-columns: minmax(20rem,.8fr) minmax(26rem,1.2fr); }
  .image-generation-grid { grid-template-columns: minmax(20rem,.8fr) minmax(26rem,1.2fr); }
  .author-seed-form { grid-template-columns: minmax(8rem,.65fr) minmax(12rem,1.35fr); }
  .author-seed-form .button { grid-column: 1 / -1; }
  .collection-progress-columns { grid-template-columns: 1fr; }
  .contribution-chart-grid { grid-template-columns: 1fr; }
  .world-research-layout { grid-template-columns: minmax(0,1fr) 20rem; }
}
@media (max-width: 860px) {
  :root { --header-height: auto; }
  .site-header { position: static; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; }
  .global-search { grid-column: 1 / -1; grid-row: 2; }
  .layer-nav { position: static; overflow-x: auto; grid-template-columns: repeat(8, minmax(8.5rem, 1fr)); padding: 0; }
  .atlas-strip { position: static; align-items: flex-start; flex-direction: column; gap: .45rem; }
  .corpus-scope-control { width: 100%; padding: 0 0 .55rem; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .atlas-strip p { text-align: left; }
  .library-hero { grid-template-columns: 1fr; gap: 1.25rem; }
  .library-grid, .ranking-layout, .collection-grid, .analysis-grid { grid-template-columns: 1fr; }
  .analysis-header { grid-template-columns: 1fr; align-items: start; }
  .ranking-preview, .method-card { position: static; }
  .graph-shell { grid-template-columns: 1fr; }
  .metadata-drawer { min-height: 22rem; max-height: none; border-left: 0; border-top: 1px solid var(--line-dark); }
  .graph-canvas { min-height: 34rem; height: 65vh; }
  .author-canvas, .citation-canvas { min-height: 34rem; height: 65vh; }
  .graph-header, .collection-header { align-items: flex-start; flex-direction: column; }
  .graph-header-tools { justify-items: start; }
  .graph-analysis-status { flex-basis: 100%; text-align: left; }
  .author-analysis-bar { align-items: stretch; }
  .collector-columns { grid-template-columns: 1fr; }
  .collection-actions { justify-content: flex-start; }
  .assistant-workbench { grid-template-columns: 1fr; }
  .computation-grid, .image-generation-grid { grid-template-columns: 1fr; }
  .world-research-header { align-items: flex-start; flex-direction: column; }
  .contribution-analysis-header { align-items: flex-start; flex-direction: column; gap: .65rem; }
  .contribution-analysis-scope { text-align: left; }
  .world-research-layout { grid-template-columns: 1fr; }
  .research-country-panel { min-height: 22rem; max-height: none; border-left: 0; border-top: 1px solid var(--line-dark); }
  .computation-header, .generation-header { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .expert-evidence { position: static; max-height: none; }
}
@media (max-width: 600px) {
  .site-header { grid-template-columns: minmax(0,1fr) auto; }
  .contact-trigger span { display: none; }
  .contact-trigger { width: 2.65rem; padding: .45rem; }
  .contact-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .contact-dialog-header { gap: .8rem; padding: 1.1rem; }
  .contact-dialog-header h2 { font-size: 1.35rem; }
  .contact-dialog-body { grid-template-columns: 1fr; gap: .85rem; padding: 1rem; }
  .contact-directory { grid-template-rows: auto auto; height: auto; }
  .contact-mentor-portrait { height: 16rem; }
  .contact-mentor-portrait img { width: 100%; height: 100%; aspect-ratio: 2 / 3; min-height: 0; object-fit: contain; object-position: center; }
  .contact-profile { min-height: 5.5rem; padding: .85rem 5.35rem .85rem .85rem; }
  .contact-profile-visual { top: .85rem; right: .85rem; width: 3.75rem; height: 3.75rem; }
  .contact-profile-visual.emblem { padding: .25rem; }
  .lab-dialog-body { padding: 1rem; }
  .lab-member-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
  .lab-member-card { display: block; padding: .75rem; }
  .lab-member-photo { width: 100%; height: auto; margin-bottom: .7rem; aspect-ratio: 1 / 1; }
  .lab-member-card p { font-size: .53rem; }
  .lab-member-card h3 { font-size: 1rem; }
  .contact-dialog-footer { padding: .65rem 1rem; text-align: left; }
  .atlas-strip dl { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; gap: .4rem 1rem; }
  .atlas-strip dl div { justify-content: space-between; }
  .search-filters { grid-template-columns: 1fr 1fr; }
  .bilingual-abstract { grid-template-columns: 1fr; }
  .research-insights { grid-template-columns: 1fr; }
  .hero-search-row { grid-template-columns: 1fr; }
  .hero-search-row input { border-right: 1px solid var(--line-paper); border-bottom: 0; }
  .library-hero h1, .ranking-hero h1 { font-size: 2.25rem; }
  .section-bar { align-items: flex-start; flex-direction: column; }
  .full-ranking li { grid-template-columns: 2.5rem minmax(0,1fr); }
  .rank-measures { grid-column: 2; text-align: left; }
  .author-ranking-row .author-ranking-toggle { grid-template-columns: minmax(0,1fr) 1.5rem; }
  .author-ranking-toggle .rank-measures { grid-column: 1; text-align: left; }
  .author-ranking-toggle .ranking-chevron { grid-column: 2; grid-row: 1 / span 2; }
  .category-progress-heading { align-items: stretch; flex-direction: column; gap: .45rem; }
  .category-progress-state { align-self: flex-start; }
  .category-progress-phase { grid-template-columns: 2rem 1fr; }
  .category-progress-phase progress { grid-column: 2; }
  .schedule-fields, .author-filter, .api-key-manager-fields { grid-template-columns: 1fr; }
  #category-form > div { grid-template-columns: 1fr; }
  .author-seed-form { grid-template-columns: 1fr; }
  .accessible-graph-list ol { columns: 1; }
  .graph-toolbar button { min-width: 2.75rem; min-height: 2.75rem; }
  .graph-view-switcher { width: 100%; }
  .graph-view-switcher button { flex: 1 1 50%; }
  .network-matrix { padding-left: .5rem; padding-right: .5rem; }
  .model-card dl, .composition-list { grid-template-columns: repeat(2, 1fr); }
  .segmentation-figure { height: 21rem; }
  .method-note { align-items: flex-start; flex-direction: column; }
  .public-collection-notice { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .assistant-settings, .expert-custom-config { grid-template-columns: 1fr; }
  .assistant-principle { grid-template-columns: 1fr; }
  .assistant-principle div { border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .assistant-principle div:last-child { border-bottom: 0; }
  .expert-message.user-message { margin-left: 1rem; }
  .expert-composer-footer { align-items: stretch; flex-direction: column; }
  .expert-composer-footer .button { width: 100%; }
  .computation-file-row, .computation-settings, .generation-settings, .column-ledger { grid-template-columns: 1fr; }
  .computation-run-settings { grid-template-columns: 1fr; align-items: stretch; }
  .generation-shot { grid-template-columns: 2rem 1fr; }
  .generation-shot .shot-number { grid-row: 1 / 3; }
  .generation-shot textarea { grid-column: 1 / 3; }
  .world-research-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .chart-card-header { flex-direction: column; min-height: 0; }
  .world-research-metrics div { border-bottom: 1px solid var(--line-dark); }
  #research-world-map { min-height: 25rem; height: 55vh; }
  .world-map-legend { bottom: 2.8rem; }
  .geography-coverage { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto!important; animation: none!important; transition: none!important; }
}

/* Modern Academic & Tech · literature discovery */
.site-header { background: rgba(30, 41, 59, .98); }
.layer-nav { background: #0f172a; }
.layer-tab.active { background: var(--academic-slate); }
.atlas-strip { background: rgba(30, 41, 59, .98); }

#view-library {
  color-scheme: light;
  color: var(--academic-ink);
  background: var(--academic-canvas);
  box-shadow: 0 0 0 100vmax var(--academic-canvas);
  clip-path: inset(0 -100vmax);
}
#view-library .eyebrow {
  margin-bottom: .45rem;
  color: var(--academic-primary);
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: .67rem;
  letter-spacing: .16em;
}
.library-hero {
  grid-template-columns: minmax(17rem, .62fr) minmax(36rem, 1.38fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
  padding: 2rem 0 1.75rem;
}
.library-hero-copy { max-width: 31rem; }
.library-hero-copy h1 {
  margin-bottom: .75rem;
  color: var(--academic-ink);
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  font-size: clamp(2rem, 3vw, 2.65rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.035em;
}
.library-hero .library-hero-copy > p:last-child {
  max-width: 30rem;
  margin: 0;
  color: var(--academic-muted);
  font-size: .92rem;
  line-height: 1.75;
}
.hero-search {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--academic-border);
  border-left: 1px solid var(--academic-border);
  border-radius: 1rem;
  padding: 1.5rem;
  color: var(--academic-ink);
  background: var(--academic-surface);
  box-shadow: var(--academic-shadow);
}
.hero-search::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--academic-primary);
  box-shadow: .45rem 0 1.7rem rgba(224, 106, 59, .16);
}
.search-command-heading {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}
.search-command-heading > div { display: grid; gap: .1rem; }
.search-command-heading strong { color: var(--academic-ink); font-size: 1rem; line-height: 1.45; }
.search-command-heading small { color: var(--academic-muted); font-size: .72rem; }
.search-command-mark {
  position: relative;
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid #fed7c5;
  border-radius: .7rem;
  background: var(--academic-primary-soft);
}
.search-command-mark::before {
  content: "";
  position: absolute;
  left: .68rem;
  top: .58rem;
  width: .66rem;
  height: .66rem;
  border: 2px solid var(--academic-primary);
  border-radius: 50%;
}
.search-command-mark::after {
  content: "";
  position: absolute;
  left: 1.32rem;
  top: 1.3rem;
  width: .48rem;
  height: 2px;
  border-radius: 1rem;
  background: var(--academic-primary);
  transform: rotate(45deg);
  transform-origin: left center;
}
.hero-search-row { grid-template-columns: minmax(0, 1fr) auto; }
.hero-search-row input {
  min-height: 3rem;
  border: 1px solid #cbd5e1;
  border-right: 0;
  border-radius: .7rem 0 0 .7rem;
  padding: .72rem 1rem;
  color: var(--academic-ink);
  background: #fff;
}
.hero-search-row input::placeholder { color: #94a3b8; }
.hero-search-row input:focus { position: relative; z-index: 1; border-color: var(--academic-primary); }
#view-library .button.primary {
  min-height: 3rem;
  border-color: var(--academic-primary);
  border-radius: 0 .7rem .7rem 0;
  padding-inline: 1.2rem;
  color: #fff;
  background: var(--academic-primary);
  box-shadow: 0 5px 14px rgba(224, 106, 59, .18);
}
#view-library .button.primary:hover:not(:disabled) { background: #cc5930; }
.search-filters {
  grid-template-columns: 1.35fr 1fr .72fr .72fr 1fr;
  gap: .5rem;
  margin-top: 1rem;
}
.search-filters label {
  display: grid;
  gap: .3rem;
  color: var(--academic-muted);
  font-size: .68rem;
  font-weight: 600;
}
.search-filters input,
.search-filters select {
  min-height: 2.45rem;
  margin: 0;
  border: 1px solid var(--academic-border);
  border-radius: .6rem;
  padding: .45rem .65rem;
  color: #334155;
  background: var(--academic-canvas);
}
.search-filters input:hover,
.search-filters select:hover { border-color: #cbd5e1; background: #fff; }
#view-library button:focus-visible,
#view-library a:focus-visible,
#view-library input:focus-visible,
#view-library select:focus-visible {
  outline: 3px solid rgba(224, 106, 59, .28);
  outline-offset: 2px;
}

.library-grid {
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 23rem);
  gap: 1.5rem;
}
#view-library .paper-surface {
  border: 1px solid var(--academic-border);
  border-radius: 1rem;
  color: var(--academic-ink);
  background: var(--academic-surface);
  box-shadow: var(--academic-shadow);
}
.results-panel { min-height: 42rem; }
.results-panel .section-bar {
  align-items: center;
  border-bottom: 0;
  padding: 1.5rem;
}
.results-panel .section-bar h2,
.insight-panel h2 {
  margin: 0;
  color: var(--academic-ink);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
.results-panel .section-bar > p {
  border: 1px solid var(--academic-border);
  border-radius: 999px;
  padding: .35rem .65rem;
  color: var(--academic-muted);
  background: var(--academic-canvas);
  font-size: .68rem;
}
.scholar-results {
  display: grid;
  gap: .75rem;
  padding: 0 1.5rem 1.5rem;
}
.scholar-item {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--academic-border);
  border-radius: .8rem;
  padding: 1.5rem;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.scholar-item::before {
  content: "";
  position: absolute;
  inset: .8rem auto .8rem 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--academic-primary);
  opacity: 0;
  transform: scaleY(.55);
  transition: opacity .18s ease, transform .18s ease;
}
.scholar-item:hover,
.scholar-item:focus-within {
  border-color: #f2c0aa;
  background: #fff;
  box-shadow: 0 9px 26px rgba(15, 23, 42, .07);
  transform: translateY(-1px);
}
.scholar-item:hover::before,
.scholar-item:focus-within::before { opacity: 1; transform: scaleY(1); }
.result-heading { grid-template-columns: minmax(0, 1fr) 2.5rem; gap: 1rem; }
.result-main { display: grid; gap: .65rem; }
.result-title {
  display: block;
  color: var(--academic-ink);
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  font-size: 1.12rem;
  font-weight: 650;
  line-height: 1.5;
}
.result-title:hover { color: #b84f28; text-decoration-color: #f2c0aa; }
.result-expand {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--academic-border);
  border-radius: .65rem;
  color: var(--academic-muted);
  background: var(--academic-canvas);
  font-family: "Segoe UI Symbol", sans-serif;
}
.result-expand:hover { border-color: #f2c0aa; color: var(--academic-primary); background: var(--academic-primary-soft); }
.result-expand.open { color: #fff; border-color: var(--academic-primary); background: var(--academic-primary); }
.result-byline {
  margin: .8rem 0 .55rem;
  color: var(--academic-muted);
  font-size: .78rem;
  line-height: 1.6;
}
.result-metrics { align-items: center; gap: .4rem; margin-top: .7rem; }
.result-metrics span {
  border-radius: .4rem;
  padding: .28rem .5rem;
  color: var(--academic-muted);
  background: var(--academic-canvas);
  font-size: .7rem;
}
.result-metrics strong { color: var(--academic-ink); font-variant-numeric: tabular-nums; }
.result-metrics > .pdf-link,
.result-metrics > .pdf-contribute-button { flex: 0 0 auto; }
.result-identifiers { gap: .35rem .85rem; margin-top: .7rem; color: var(--academic-muted); }
.doi-link { color: #b84f28; }
.doi-link:hover { color: #8f381b; }

.badges { gap: .35rem; margin: 0; }
.badge {
  flex: 0 1 auto;
  max-width: 18rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  padding: .25rem .55rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: .58rem;
  letter-spacing: .025em;
}
.badge.seed { color: #a5411e; background: #fff0e8; }
.badge.reference,
.badge.category,
.badge.category.cited {
  color: var(--academic-tag-ink);
  background: var(--academic-tag-bg);
}
.badge.pending { color: #8a5a00; background: #fff7d6; }
.publication-tag-rail {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: .35rem;
}
.publication-tag-rail.is-collapsed { flex-wrap: nowrap; overflow: hidden; }
.publication-tag-rail.is-expanded { flex-wrap: wrap; overflow: visible; }
.tag-overflow-toggle {
  flex: 0 0 auto;
  min-width: 2.1rem;
  min-height: 1.55rem;
  border: 1px solid #fed7c5;
  border-radius: 999px;
  padding: .18rem .5rem;
  color: #a5411e;
  background: var(--academic-primary-soft);
  cursor: pointer;
  font: 700 .62rem/1 "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.tag-overflow-toggle:hover { border-color: var(--academic-primary); background: #ffe7dc; box-shadow: 0 3px 10px rgba(224, 106, 59, .12); }
.keyword-row {
  flex-wrap: nowrap;
  gap: .35rem;
  margin-top: .8rem;
  overflow: hidden;
}
.keyword-row.is-expanded { flex-wrap: wrap; overflow: visible; }
.keyword-row span {
  flex: 0 1 auto;
  max-width: 15rem;
  overflow: hidden;
  border-radius: 999px;
  padding: .25rem .55rem;
  color: #475569;
  background: #f1f5f9;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .64rem;
}
.result-expansion {
  margin: 1.25rem -1.5rem -1.5rem;
  border-top: 1px solid var(--academic-border);
  padding: 1.5rem;
  background: var(--academic-canvas);
}
.bilingual-abstract { gap: 1rem; border: 0; background: transparent; }
.bilingual-abstract article {
  border: 1px solid var(--academic-border);
  border-radius: .75rem;
  padding: 1.25rem;
  background: #fff;
}
.research-insight { border-left-color: var(--academic-primary); border-radius: .5rem; background: var(--academic-primary-soft); }
.analysis-translation h4,
.research-insight h4 { color: #b84f28; }
.result-skeleton { padding: 0 1.5rem 1.5rem; }
.result-skeleton i { border-radius: .8rem; background: linear-gradient(90deg, #edf1f5, #fff, #edf1f5); }
.pagination {
  border-top: 1px solid var(--academic-border);
  padding: 1rem 1.5rem;
}
#view-library .button.quiet { border-color: var(--academic-border); color: #475569; background: #fff; }
#view-library .button.quiet:hover:not(:disabled) { border-color: #f2c0aa; color: #b84f28; background: var(--academic-primary-soft); }

.library-insight-rail {
  position: sticky;
  top: 10.5rem;
  display: grid;
  gap: 1rem;
  align-self: start;
}
.insight-panel { padding: 1.5rem; }
.ranking-preview { position: static; padding: 1.5rem; }
.metric-note { margin: .4rem 0 1rem; color: var(--academic-muted); font-size: .72rem; line-height: 1.6; }
.mini-ranking {
  display: grid;
  gap: .55rem;
}
.mini-ranking li {
  grid-template-columns: 2.1rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  border: 1px solid var(--academic-border);
  border-radius: .7rem;
  padding: .7rem;
  background: var(--academic-canvas);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.mini-ranking li:hover { border-color: #f2c0aa; box-shadow: 0 5px 16px rgba(15, 23, 42, .06); transform: translateY(-1px); }
.rank-number,
.recent-sequence {
  display: grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: .62rem;
  color: #fff;
  background: linear-gradient(135deg, #e06a3b, #ee8a61);
  box-shadow: 0 4px 10px rgba(224, 106, 59, .18);
  font: 700 .66rem/1 "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}
.rank-link {
  color: var(--academic-ink);
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.45;
}
.rank-link:hover { color: #b84f28; }
.rank-score { color: var(--academic-muted); font-size: .64rem; }
.text-link {
  margin-top: 1rem;
  color: #b84f28;
  font-size: .75rem;
  font-weight: 650;
  text-decoration: none;
}
.text-link:hover { text-decoration: underline; text-underline-offset: .25rem; }
.recent-publications-preview { margin: 0; border-top: 0; padding: 1.5rem; }
.recent-publication-list { gap: .55rem; margin-top: .75rem; }
.recent-publication-list li {
  grid-template-columns: 2.1rem minmax(0, 1fr);
  align-items: start;
  gap: .65rem;
  border: 1px solid var(--academic-border);
  border-radius: .7rem;
  padding: .7rem;
  background: var(--academic-canvas);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.recent-publication-list li:hover { border-color: #f2c0aa; box-shadow: 0 5px 16px rgba(15, 23, 42, .06); transform: translateY(-1px); }
.recent-publication-list li.newest { border-left: 1px solid var(--academic-primary); padding-left: .7rem; }
.recent-publication-copy { display: grid; min-width: 0; gap: .18rem; }
.recent-publication-date {
  grid-row: auto;
  color: var(--academic-primary);
  font: 700 .6rem/1.4 "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}
.recent-publication-meta {
  grid-column: auto;
  margin: .05rem 0 0;
  overflow: hidden;
  color: var(--academic-muted);
  font-size: .62rem;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.recent-publication-loading,
.recent-publication-empty { padding: .75rem!important; border-style: dashed!important; }

@media (max-width: 1120px) {
  .library-hero { grid-template-columns: minmax(15rem, .55fr) minmax(32rem, 1.45fr); gap: 2rem; }
  .library-grid { grid-template-columns: minmax(0, 1fr) 20rem; }
}
@media (max-width: 920px) {
  .library-hero { grid-template-columns: 1fr; gap: 1.5rem; }
  .library-hero-copy { max-width: 44rem; }
  .library-grid { grid-template-columns: 1fr; }
  .library-insight-rail { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .hero-search,
  .scholar-item,
  .insight-panel,
  .ranking-preview { padding: 1.25rem; }
  .search-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scholar-results { padding: 0 1rem 1rem; }
  .results-panel .section-bar { padding: 1.25rem 1rem; }
  .result-expansion { margin: 1rem -1.25rem -1.25rem; padding: 1.25rem; }
  .library-insight-rail { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .library-hero { padding-top: 1.4rem; }
  .library-hero-copy h1 { font-size: 2rem; }
  .hero-search-row { grid-template-columns: 1fr; gap: .55rem; }
  .hero-search-row input,
  #view-library .button.primary { border: 1px solid var(--academic-border); border-radius: .65rem; }
  #view-library .button.primary { border-color: var(--academic-primary); }
  .search-filters { grid-template-columns: 1fr; }
  .results-panel .section-bar { align-items: flex-start; }
  .result-heading { grid-template-columns: minmax(0, 1fr) 2.4rem; }
  .bilingual-abstract { grid-template-columns: 1fr; }
}

/* Platform-wide Academic Light system */
html { background: var(--academic-canvas); color-scheme: light; }
body {
  color: var(--academic-ink);
  background: var(--academic-canvas);
  font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
body::before {
  opacity: .72;
  background:
    radial-gradient(circle at 9% 6%, rgba(224, 106, 59, .07), transparent 28rem),
    radial-gradient(circle at 88% 14%, rgba(30, 41, 59, .055), transparent 30rem);
}
#workspace { background: var(--academic-canvas); }
.site-header {
  color: #f8fafc;
  border-bottom-color: rgba(255, 255, 255, .09);
  box-shadow: 0 7px 24px rgba(15, 23, 42, .16);
}
.contact-trigger { border-radius: .55rem; }
.global-search {
  overflow: hidden;
  border-color: rgba(255, 255, 255, .16);
  border-radius: .7rem;
  background: rgba(15, 23, 42, .48);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}
.global-search input { padding: .72rem 1rem; }
.global-search button {
  border-left-color: rgba(255, 255, 255, .13);
  color: #fff;
  background: var(--academic-primary);
}
.layer-nav { box-shadow: 0 4px 14px rgba(15, 23, 42, .12); }
.layer-tab { border-right-color: rgba(255, 255, 255, .08); }
.layer-tab:first-child { border-left-color: rgba(255, 255, 255, .08); }
.layer-tab > span { color: #f19a75; }
.layer-tab::after { background: var(--academic-primary); }
.atlas-strip {
  color: var(--academic-ink);
  border-bottom-color: var(--academic-border);
  background: rgba(255, 255, 255, .965);
  box-shadow: 0 4px 16px rgba(15, 23, 42, .055);
}
.corpus-scope-control { border-right-color: var(--academic-border); }
.corpus-scope-control > span,
.corpus-scope-control small,
.atlas-strip dt,
.atlas-strip p { color: var(--academic-muted); }
.corpus-scope-control select {
  border-color: var(--academic-border);
  border-radius: .5rem;
  color: #334155;
  background: var(--academic-canvas);
}
.atlas-strip dd { color: var(--academic-ink); font-variant-numeric: tabular-nums; }

.workspace-view {
  color: var(--academic-ink);
  background: var(--academic-canvas);
}
#view-citations,
#view-authors,
#view-ranking,
#view-assistant,
#view-computation,
#view-segmentation,
#view-collection { color: var(--academic-ink); }
.workspace-view h1,
.workspace-view h2,
.workspace-view h3 { color: var(--academic-ink); }
.workspace-view h1 {
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  font-weight: 650;
  letter-spacing: -.035em;
}
.workspace-view .eyebrow {
  color: var(--academic-primary);
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}
.paper-surface,
.dark-panel,
.method-card,
.model-card,
.world-research-section,
.contribution-analysis,
.event-panel {
  color: var(--academic-ink);
  border: 1px solid var(--academic-border);
  border-radius: 1rem;
  background: var(--academic-surface);
  box-shadow: var(--academic-shadow);
}
.paper-surface { overflow: hidden; }
.section-bar {
  align-items: center;
  border-bottom-color: var(--academic-border);
  padding: var(--academic-card-padding);
  background: #fff;
}
.section-bar > p,
.section-bar > span { color: var(--academic-muted); }
.workspace-view .button {
  border-radius: .65rem;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.workspace-view .button.primary {
  color: #fff;
  border-color: var(--academic-primary);
  background: var(--academic-primary);
  box-shadow: 0 5px 14px rgba(224, 106, 59, .17);
}
.workspace-view .button.primary:hover:not(:disabled) { border-color: #cc5930; background: #cc5930; }
.workspace-view .button.secondary {
  color: #334155;
  border-color: #cbd5e1;
  background: #fff;
}
.workspace-view .button.quiet {
  color: var(--academic-muted);
  border-color: var(--academic-border);
  background: transparent;
}
.workspace-view .button.secondary:hover:not(:disabled),
.workspace-view .button.quiet:hover:not(:disabled) {
  color: #b84f28;
  border-color: #f2c0aa;
  background: var(--academic-primary-soft);
}
.workspace-view :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-color: var(--academic-border);
  border-radius: .6rem;
  color: var(--academic-ink);
  background: #fff;
}
.workspace-view :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover { border-color: #cbd5e1; }
.workspace-view :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus { border-color: var(--academic-primary); }
.workspace-view :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(224, 106, 59, .28);
  outline-offset: 2px;
}
.graph-header,
.assistant-header,
.computation-header,
.analysis-header,
.collection-header {
  margin: 0;
  padding: 2rem 0 1.5rem;
}
.graph-header > div:first-child,
.assistant-header > div:first-child,
.computation-header > div:first-child,
.analysis-header > div:first-child,
.collection-header > div:first-child { max-width: 57rem; }
.graph-header p:last-child,
.assistant-header > div > p:last-child,
.computation-header > div > p:last-child,
.analysis-header > div > p:last-child,
.collection-header p:last-child,
.ranking-hero p:last-child,
.generation-header > div > p:last-child {
  color: var(--academic-muted);
  line-height: 1.72;
}

/* Citation and scholar network workspaces */
.graph-header { align-items: center; gap: 2rem; }
.graph-header h1 { margin-bottom: .55rem; }
.graph-header-tools,
.author-filter {
  border: 1px solid var(--academic-border);
  border-radius: .9rem;
  padding: 1rem;
  color: var(--academic-ink);
  background: #fff;
  box-shadow: var(--academic-shadow);
}
.graph-header-tools { justify-items: stretch; width: min(48rem, 55vw); min-width: 0; }
.category-control,
.author-filter label,
.graph-analysis-select { color: var(--academic-muted); font-weight: 600; }
.category-control select,
.category-control input,
.author-filter input,
.author-filter select,
.graph-analysis-select select {
  border-color: var(--academic-border);
  border-radius: .55rem;
  color: #334155;
  background: var(--academic-canvas);
}
.graph-limit-control {
  display: grid;
  grid-template-columns: minmax(14rem, 1.35fr) minmax(12rem, 1fr) auto;
  gap: .5rem;
  width: 100%;
}
.graph-limit-control .category-control,
.graph-limit-control .category-control input,
.graph-limit-control .category-control select { width: 100%; min-width: 0; max-width: none; }
.graph-context span {
  border-color: var(--academic-border);
  border-radius: 999px;
  color: var(--academic-muted);
  background: var(--academic-canvas);
}
.graph-analysis-bar {
  gap: .65rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--academic-border);
  border-radius: .8rem;
  padding: .65rem;
  background: #fff;
  box-shadow: var(--academic-shadow);
}
.graph-view-switcher,
.segmented-control,
.chart-toggle {
  overflow: hidden;
  border-color: var(--academic-border);
  border-radius: .6rem;
  background: var(--academic-canvas);
}
.graph-view-switcher button,
.segmented-control button,
.chart-toggle button {
  border-right-color: var(--academic-border);
  color: var(--academic-muted);
}
.graph-view-switcher button:hover,
.graph-view-switcher button.active,
.segmented-control button:hover,
.segmented-control button.active,
.chart-toggle button:hover,
.chart-toggle button.active {
  color: #fff;
  background: var(--academic-primary);
}
.graph-analysis-status { color: var(--academic-muted); }
.graph-shell {
  gap: 0;
  overflow: hidden;
  border-color: var(--academic-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .08);
}
.graph-stage {
  background:
    radial-gradient(circle at 50% 42%, rgba(224, 106, 59, .075), transparent 34rem),
    radial-gradient(circle at 28% 65%, rgba(102, 173, 163, .11), transparent 28rem),
    #0f172a;
}
.author-canvas, .citation-canvas {
  background:
    radial-gradient(circle at 50% 42%, rgba(224, 106, 59, .075), transparent 34rem),
    radial-gradient(circle at 28% 65%, rgba(102, 173, 163, .11), transparent 28rem);
}
.graph-toolbar {
  overflow: hidden;
  border-color: rgba(255, 255, 255, .14);
  border-radius: .65rem;
  background: rgba(15, 23, 42, .9);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
  backdrop-filter: blur(12px);
}
.graph-toolbar button { border-right-color: rgba(255, 255, 255, .11); }
.graph-toolbar button:hover,
.graph-toolbar button[aria-pressed="true"] { color: #fff; background: var(--academic-primary); }
.graph-direction-control { border-left-color: rgba(255, 255, 255, .12); }
.graph-loading { background: rgba(15, 23, 42, .82); backdrop-filter: blur(3px); }
.graph-legend {
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: .55rem;
  background: rgba(15, 23, 42, .84);
  backdrop-filter: blur(10px);
}
.metadata-drawer {
  border-left-color: var(--academic-border);
  color: var(--academic-ink);
  background: #fff;
}
.drawer-empty { color: var(--academic-muted); }
.drawer-empty strong,
.drawer-title { color: var(--academic-ink); }
.drawer-close {
  border-color: var(--academic-border);
  border-radius: .65rem;
  color: var(--academic-muted);
  background: #fff;
}
.drawer-close:hover { color: var(--academic-primary); background: var(--academic-primary-soft); }
.drawer-kicker { color: var(--academic-primary); }
.drawer-byline,
.drawer-metrics dt,
.detail-group h3 { color: var(--academic-muted); }
.drawer-metrics {
  overflow: hidden;
  border-color: var(--academic-border);
  border-radius: .7rem;
  background: var(--academic-canvas);
}
.drawer-metrics div,
.detail-group { border-color: var(--academic-border); }
.detail-tags span { border-radius: 999px; color: var(--academic-tag-ink); background: var(--academic-tag-bg); }
.accessible-graph-list,
.quality-note { color: var(--academic-muted); }
.accessible-graph-list {
  border: 1px solid var(--academic-border);
  border-radius: .75rem;
  padding: .75rem 1rem;
  background: #fff;
}

/* Field insights, rankings and geographic analytics */
.world-research-section,
.contribution-analysis { margin-top: 1.5rem; overflow: hidden; }
.world-research-section { margin-top: .25rem; }
.world-research-header,
.contribution-analysis-header {
  align-items: center;
  border-bottom-color: var(--academic-border);
  padding: var(--academic-card-padding);
  background: #fff;
}
.world-research-header > div > p:last-child,
.contribution-analysis-header > div > p:last-child,
.contribution-analysis-scope { color: var(--academic-muted); }
.world-research-metrics {
  overflow: hidden;
  border-color: var(--academic-border);
  border-radius: .75rem;
  background: var(--academic-canvas);
}
.world-research-metrics div {
  border-right-color: var(--academic-border);
  padding: .65rem .8rem;
}
.world-research-metrics dt { color: var(--academic-muted); }
.world-research-metrics dd { color: var(--academic-ink); font-variant-numeric: tabular-nums; }
.world-research-layout { background: #fff; }
.world-map-stage {
  background:
    radial-gradient(circle at 55% 44%, rgba(102, 173, 163, .1), transparent 30rem),
    #0f172a;
}
.world-map-level,
.world-map-legend {
  border-color: rgba(255, 255, 255, .12);
  border-radius: .55rem;
  background: rgba(15, 23, 42, .86);
  backdrop-filter: blur(10px);
}
.research-country-panel {
  border-left-color: var(--academic-border);
  color: var(--academic-ink);
  background: #fff;
}
.country-panel-empty { color: var(--academic-muted); }
.country-city-list button,
.country-institution-list button,
.country-pagination button {
  border-color: var(--academic-border);
  border-radius: .5rem;
  color: #475569;
  background: var(--academic-canvas);
}
.country-city-list button:hover,
.country-city-list button.active,
.country-institution-list button:hover,
.country-institution-list button.active {
  color: #fff;
  border-color: var(--academic-primary);
  background: var(--academic-primary);
}
.core-publication-badge {
  border: 0;
  border-radius: 999px;
  color: #a5411e;
  background: var(--academic-primary-soft);
}
.ranking-hero {
  max-width: none;
  padding: 2rem 0 1.5rem;
}
.ranking-controls {
  margin-top: 1.25rem;
  border-color: var(--academic-border);
  border-radius: .8rem;
  padding: 1rem;
  background: #fff;
  box-shadow: var(--academic-shadow);
}
.ranking-controls label { color: var(--academic-muted); font-weight: 600; }
.ranking-controls select {
  border-color: var(--academic-border);
  border-radius: .55rem;
  color: #334155;
  background: var(--academic-canvas);
}
.ranking-layout { gap: 1.5rem; }
.ranking-status {
  border-bottom-color: var(--academic-border);
  padding: 1rem 1.5rem;
  color: var(--academic-muted);
  background: var(--academic-canvas);
}
.full-ranking { padding: .5rem 1.5rem 1.5rem; }
.full-ranking li {
  margin-top: .75rem;
  border: 1px solid var(--academic-border);
  border-radius: .8rem;
  padding: 1rem;
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.full-ranking li:hover { border-color: #f2c0aa; box-shadow: 0 7px 20px rgba(15, 23, 42, .06); transform: translateY(-1px); }
.full-ranking .rank-number { font-size: .78rem; }
.rank-meta,
.rank-measures small,
.author-publication-heading { color: var(--academic-muted); }
.rank-measures strong { color: var(--academic-ink); font-variant-numeric: tabular-nums; }
.author-ranking-row .author-ranking-toggle { color: var(--academic-ink); }
.author-publications,
.author-publication-list li { border-color: var(--academic-border); }
.ranking-chevron { color: var(--academic-primary); }
.method-card {
  top: 10.5rem;
  padding: var(--academic-card-padding);
  background: #fff;
}
.method-card dl div { border-top-color: var(--academic-border); }
.method-card dt,
.method-card > p:last-child { color: var(--academic-muted); }
.contribution-chart-grid {
  gap: 1rem;
  padding: 1rem;
  background: var(--academic-canvas);
}
.contribution-chart-card {
  overflow: hidden;
  border: 1px solid var(--academic-border);
  border-radius: .8rem;
  color: var(--academic-ink);
  background: #fff;
  box-shadow: 0 3px 14px rgba(15, 23, 42, .04);
}
.chart-card-header {
  min-height: 6rem;
  border-bottom-color: var(--academic-border);
  padding: 1rem 1.25rem;
}
.chart-card-header p { color: var(--academic-muted); }
.research-chart { padding: .75rem 1rem 1rem; background: #fff; }
.chart-series-key { color: var(--academic-muted); }

/* Evidence-grounded assistant */
.assistant-header { align-items: center; }
.assistant-principle {
  overflow: hidden;
  border-color: var(--academic-border);
  border-radius: .8rem;
  background: #fff;
  box-shadow: var(--academic-shadow);
}
.assistant-principle div { border-right-color: var(--academic-border); padding: .85rem; }
.assistant-principle dt { color: var(--academic-primary); }
.assistant-principle dd { color: #475569; }
.assistant-principle .rag-live {
  border-left-color: #34a853;
  background: var(--academic-tag-bg);
}
.assistant-principle .rag-live dd { color: var(--academic-tag-ink); }
.assistant-settings {
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: var(--academic-card-padding);
}
.assistant-settings > label,
.expert-custom-config label { color: var(--academic-muted); font-weight: 600; }
.assistant-settings select,
.assistant-settings input { margin-top: .35rem; border-color: var(--academic-border); border-radius: .55rem; background: var(--academic-canvas); }
.expert-custom-config {
  border-color: var(--academic-border);
  border-radius: .7rem;
  padding: 1rem;
  background: var(--academic-canvas);
}
.expert-custom-config legend { color: var(--academic-primary); }
.expert-custom-config > p { color: var(--academic-muted); }
.assistant-workbench { gap: 1.5rem; }
.assistant-dialogue,
.expert-evidence { min-height: 40rem; }
.expert-transcript { padding: .75rem 1.5rem; }
.expert-message {
  max-width: min(58rem, 92%);
  margin: 1rem 0;
  border: 1px solid var(--academic-border);
  border-left: 3px solid #5b8def;
  border-radius: .75rem;
  padding: 1rem 1.1rem;
  background: #f8fbff;
}
.expert-message.user-message {
  margin-left: auto;
  border-left-color: var(--academic-primary);
  background: var(--academic-primary-soft);
}
.message-role { color: var(--academic-muted); }
.expert-message.user-message .message-role { color: #b84f28; }
.citation-chip {
  border-color: #9fd7ad;
  border-radius: .35rem;
  color: var(--academic-tag-ink);
  background: var(--academic-tag-bg);
}
.citation-chip:hover { color: #fff; border-color: var(--academic-tag-ink); background: var(--academic-tag-ink); }
.expert-suggestions { gap: .5rem; padding: 1rem 1.5rem; border-top-color: var(--academic-border); }
.expert-suggestions button {
  border-color: var(--academic-border);
  border-radius: 999px;
  padding: .45rem .75rem;
  color: #475569;
  background: var(--academic-canvas);
}
.expert-suggestions button:hover { color: #b84f28; border-color: #f2c0aa; background: var(--academic-primary-soft); }
.expert-composer {
  overflow: hidden;
  margin: 0 1.5rem 1.5rem;
  border-color: #cbd5e1;
  border-radius: .8rem;
  background: #fff;
  box-shadow: inset 0 1px 3px rgba(15, 23, 42, .025);
}
.expert-composer textarea { padding: 1rem; color: var(--academic-ink); }
.expert-composer-footer { border-top-color: var(--academic-border); padding: .65rem; background: var(--academic-canvas); }
.expert-composer-footer > span { color: var(--academic-muted); }
.expert-evidence { top: 10.5rem; }
.evidence-summary { border-bottom-color: var(--academic-border); padding: .85rem 1.5rem; color: var(--academic-muted); }
.expert-source-list { display: grid; gap: .65rem; padding: 0 1rem 1rem; }
.expert-source-card {
  margin: 0;
  border: 1px solid var(--academic-border);
  border-radius: .75rem;
  padding: 1rem 1rem 1rem 3.7rem;
  background: #fff;
}
.expert-source-card::before {
  border-radius: .55rem;
  background: var(--academic-primary);
  box-shadow: 0 4px 10px rgba(224, 106, 59, .18);
}
.expert-source-card.highlight { background: #fff8f4; box-shadow: inset .2rem 0 0 var(--academic-primary); }
.expert-source-card h3 button { color: var(--academic-ink); }
.source-meta,
.source-foot { color: var(--academic-muted); }
.source-snippet { color: #475569; }
.source-foot a,
.source-foot button { color: #b84f28; }

/* Research computation and microscopy AI */
.service-chip {
  border-color: #f2c0aa;
  border-radius: 999px;
  color: #b84f28;
  background: var(--academic-primary-soft);
}
.computation-grid,
.analysis-grid,
.image-generation-grid { gap: 1.5rem; }
.computation-input,
.computation-draft,
.upload-panel,
.result-panel,
.generation-input,
.generation-plan { border-radius: 1rem; }
.computation-input > label,
.computation-draft label,
.generation-input label { margin: 1.25rem 1.5rem; color: var(--academic-muted); font-weight: 600; }
.computation-input textarea,
.computation-input input,
.computation-input select,
.computation-draft textarea,
.computation-draft input,
.generation-input textarea,
.generation-input input,
.generation-input select,
.generation-shot textarea {
  border-color: var(--academic-border);
  border-radius: .6rem;
  color: var(--academic-ink);
  background: #fff;
}
.computation-file-row,
.computation-settings { gap: 1rem; padding: 0 1.5rem; }
.computation-file-row label,
.computation-settings label { color: var(--academic-muted); font-weight: 600; }
.column-ledger {
  gap: .75rem;
  margin: 1.25rem 1.5rem;
  border: 0;
  background: transparent;
}
.column-ledger span {
  border: 1px solid var(--academic-border);
  border-radius: .65rem;
  padding: .8rem;
  color: var(--academic-muted);
  background: var(--academic-canvas);
}
.column-ledger b { color: var(--academic-ink); }
.sample-computation {
  overflow: hidden;
  margin: 1.25rem 1.5rem;
  border-color: var(--academic-border);
  border-radius: .65rem;
  background: var(--academic-canvas);
}
.sample-computation pre { border-top-color: var(--academic-border); color: #334155; background: #fff; }
.computation-run-settings,
.computation-progress { margin: 1.25rem 1.5rem; }
.analysis-progress {
  border-left-color: var(--academic-primary);
  border-radius: 0 .55rem .55rem 0;
  color: var(--academic-muted);
  background: var(--academic-primary-soft);
}
.method-note {
  border-color: var(--academic-border);
  border-radius: .75rem;
  color: var(--academic-muted);
  background: #fff;
  box-shadow: var(--academic-shadow);
}
.method-note strong { color: var(--academic-ink); }
.model-card { padding: var(--academic-card-padding); background: #fff; }
.model-card > div span:last-child,
.model-card dt,
.model-card small { color: var(--academic-muted); }
.model-card dl div { border-top-color: var(--academic-border); }
.model-card dd { color: var(--academic-ink); }
.model-dot.ready { background: #34a853; box-shadow: 0 0 0 4px rgba(52, 168, 83, .12); }
.upload-drop {
  margin: 1.5rem;
  border-color: #cbd5e1;
  border-radius: .8rem;
  background: var(--academic-canvas);
}
.upload-drop:hover,
.upload-drop.dragging { border-color: var(--academic-primary); background: var(--academic-primary-soft); }
.upload-drop > span::before { border-color: var(--academic-primary); color: var(--academic-primary); background: #fff; }
.upload-drop small,
.upload-meta { color: var(--academic-muted); }
.upload-meta { margin-inline: 1.5rem; }
.segmentation-file-list { margin-inline: 1.5rem; }
.segmentation-queue-item button,
.segmentation-result-item button {
  border-color: var(--academic-border);
  border-radius: .55rem;
  color: var(--academic-ink);
  background: var(--academic-canvas);
}
.segmentation-result-item button[aria-pressed="true"] {
  border-color: var(--academic-primary);
  color: #b84f28;
  background: var(--academic-primary-soft);
  box-shadow: inset 0 -2px 0 var(--academic-primary);
}
.result-view-tabs { gap: .35rem; padding-top: 1rem; }
.result-view-tabs button {
  border-color: var(--academic-border);
  border-radius: .55rem;
  color: var(--academic-muted);
  background: var(--academic-canvas);
}
.result-view-tabs button + button { border-left: 1px solid var(--academic-border); }
.result-view-tabs button.active { border-color: var(--academic-primary); background: var(--academic-primary); }
.segmentation-figure { overflow: hidden; border-radius: .75rem; background: #0f172a; }
.knowledge-report {
  overflow: hidden;
  border-color: var(--academic-border);
  border-radius: .7rem;
  background: var(--academic-canvas);
}
.knowledge-report > p { border-top-color: var(--academic-border); color: #475569; }
.image-generation-workbench { margin-top: 2.5rem; border-top-color: var(--academic-border); padding-top: 2rem; }
.generation-header h2 { color: var(--academic-ink); }
.generation-input { border-top-color: var(--academic-primary); }
.generation-settings { gap: 1rem; padding: 0 1.5rem 1rem; }
.generation-input > .button { margin-left: 1.5rem; }
.generation-shot-list { gap: .75rem; padding: 1.5rem; }
.generation-shot {
  border: 1px solid var(--academic-border);
  border-left: .22rem solid var(--academic-primary);
  border-radius: .65rem;
  padding: .9rem;
  background: var(--academic-canvas);
}
.generation-shot .shot-number { color: var(--academic-primary); }
.generation-gallery { gap: 1rem; padding: 1.5rem; }
.generated-image-card { overflow: hidden; border-color: var(--academic-border); border-radius: .75rem; background: var(--academic-canvas); }

/* Data operations and collection monitoring */
.collection-actions { gap: .65rem; }
.collection-start-mode {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 28rem);
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1rem;
  border: 1px solid var(--academic-border);
  border-left: .25rem solid var(--academic-primary);
  border-radius: .7rem;
  padding: 1rem 1.15rem;
  background: var(--academic-surface);
  box-shadow: 0 3px 12px rgba(15, 23, 42, .03);
}
.collection-start-mode-copy h2 { margin: .1rem 0 .25rem; font-size: 1rem; }
.collection-start-mode-copy > p:last-child {
  margin: 0;
  color: var(--academic-muted);
  font-size: .74rem;
  line-height: 1.55;
}
.collection-discovery-toggle {
  position: relative;
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  border: 1px solid var(--academic-border);
  border-radius: .6rem;
  padding: .75rem .85rem;
  background: var(--academic-canvas);
  cursor: pointer;
}
.collection-discovery-toggle:hover { border-color: var(--academic-primary); }
.collection-discovery-toggle input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.collection-discovery-control {
  position: relative;
  width: 2.75rem;
  height: 1.5rem;
  border: 1px solid #94a3b8;
  border-radius: 999px;
  background: #cbd5e1;
  transition: background-color .16s ease, border-color .16s ease;
}
.collection-discovery-control::after {
  position: absolute;
  top: .18rem;
  left: .2rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .25);
  transition: transform .16s ease;
  content: "";
}
.collection-discovery-toggle input:checked + .collection-discovery-control {
  border-color: var(--academic-primary);
  background: var(--academic-primary);
}
.collection-discovery-toggle input:checked + .collection-discovery-control::after { transform: translateX(1.25rem); }
.collection-discovery-toggle input:focus-visible + .collection-discovery-control {
  outline: 3px solid var(--academic-primary-soft);
  outline-offset: 3px;
}
.collection-discovery-label { display: grid; gap: .15rem; }
.collection-discovery-label strong { color: var(--academic-ink); font-size: .78rem; }
.collection-discovery-label small { color: var(--academic-muted); font-size: .68rem; line-height: 1.4; }
.public-collection-notice {
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.5rem;
  border: 1px solid #c9e8d0;
  border-left: .25rem solid #34a853;
  border-radius: .7rem;
  padding: .85rem 1rem;
  color: #3f5f49;
  background: var(--academic-tag-bg);
  box-shadow: 0 3px 12px rgba(15, 23, 42, .03);
}
.public-collection-notice strong { color: var(--academic-tag-ink); }
.collector-columns { gap: 1.5rem; margin-bottom: 1.5rem; }
.collector-lane {
  border-top: .25rem solid var(--academic-primary);
  padding: var(--academic-card-padding);
}
.collector-lane.author-collector { border-top-color: #4f9b8d; }
.collector-kind {
  border: 0;
  border-radius: 999px;
  color: var(--academic-muted);
  background: var(--academic-canvas);
}
.collector-intro,
.collector-controls label,
.author-seed-form label,
.author-seed-status,
.ledger-heading small { color: var(--academic-muted); }
.collector-controls,
.author-seed-ledger { border-top-color: var(--academic-border); }
.collector-controls select,
.collector-controls input,
.author-seed-form select,
.author-seed-form input {
  border-color: var(--academic-border);
  border-radius: .55rem;
  color: var(--academic-ink);
  background: #fff;
}
#category-form > div { gap: .5rem; }
.category-card,
.author-seed-source {
  border: 1px solid var(--academic-border);
  border-left: .25rem solid var(--academic-primary);
  border-radius: .6rem;
  background: var(--academic-canvas);
}
.category-card span,
.category-card small,
.author-seed-source code,
.author-seed-source small { color: var(--academic-muted); }
.category-source-link { color: var(--academic-ink); }
.author-seed-form {
  border: 1px solid var(--academic-border);
  border-left: .25rem solid #4f9b8d;
  border-radius: .7rem;
  padding: 1rem;
  background: var(--academic-canvas);
}
.collection-grid { gap: 1.5rem; }
.dark-panel { padding: var(--academic-card-padding); background: #fff; }
.panel-heading { align-items: center; }
.panel-intro,
.status-badge,
.live-dot { color: var(--academic-muted); }
.status-badge,
.live-dot {
  border-color: var(--academic-border);
  border-radius: 999px;
  background: var(--academic-canvas);
}
.progress-lane {
  border-color: var(--academic-border);
  border-radius: .75rem;
  padding: .75rem;
  background: var(--academic-canvas);
}
.progress-lane.author-progress-lane { box-shadow: inset 0 .18rem 0 #4f9b8d; }
.progress-lane-heading { border-bottom-color: var(--academic-border); }
.progress-lane-heading span,
.progress-empty { color: var(--academic-muted); }
.category-progress-card {
  border-color: var(--academic-border);
  border-left-color: var(--academic-primary);
  border-radius: .65rem;
  background: #fff;
}
.category-progress-card.active { border-color: #f2c0aa; box-shadow: 0 5px 16px rgba(15, 23, 42, .055); }
.category-progress-identity small,
.category-progress-state,
.phase-code,
.phase-copy small { color: var(--academic-muted); }
.category-progress-state { border-color: var(--academic-border); border-radius: 999px; background: var(--academic-canvas); }
.category-progress-card.active .category-progress-state { color: #b84f28; border-color: #f2c0aa; background: var(--academic-primary-soft); }
.category-run-delta {
  margin-top: .25rem;
  color: #46645d !important;
  font-weight: 650;
}
.category-progress-phase {
  border-left-color: #cbd5e1;
  border-radius: .45rem;
  background: var(--academic-canvas);
}
.category-progress-phase.active { border-left-color: var(--academic-primary); }
.category-progress-phase.complete { border-left-color: #34a853; }
.category-progress-phase.queued { border-left-color: #94a3b8; }
.category-progress-phase.pending { opacity: .76; }
progress { overflow: hidden; border-radius: 999px; background: #e2e8f0; }
progress::-webkit-progress-bar { background: #e2e8f0; }
progress::-webkit-progress-value { background: #4f9b8d; }
progress::-moz-progress-bar { background: #4f9b8d; }
.checkpoint-line,
.collection-runtime,
.quota-block small,
.schedule-form small,
.key-state,
.key-quota-row span,
.key-quota-row small,
.quota-updated { color: var(--academic-muted); }
.checkpoint-line code,
.collection-runtime strong { color: var(--academic-ink); }
.collection-runtime,
.quota-block,
.schedule-form { border-color: var(--academic-border); }
.api-key-card {
  border-color: var(--academic-border);
  border-radius: .65rem;
  background: var(--academic-canvas);
}
.api-key-card.active { border-left-color: #34a853; }
.api-key-card.active .key-state { color: var(--academic-tag-ink); }
.api-key-manager {
  border-color: var(--academic-border);
  border-radius: .65rem;
  background: #fff;
}
.api-key-manager > summary { color: var(--academic-ink); }
.api-key-manager > summary small,
.api-key-resume-option,
.api-key-add-status { color: var(--academic-muted); }
.api-key-manager form { border-top-color: var(--academic-border); }
.api-key-manager-fields label { color: var(--academic-muted); }
.api-key-manager-fields input {
  border-color: var(--academic-border);
  border-radius: .55rem;
  color: var(--academic-ink);
  background: #fff;
}
.api-key-add-status.success { color: var(--academic-tag-ink); }
.api-key-add-status.error { color: #b84f28; }
.schedule-form label { color: var(--academic-muted); }
.schedule-fields input,
.schedule-fields select {
  border-color: var(--academic-border);
  border-radius: .55rem;
  color: var(--academic-ink);
  background: #fff;
}
.event-panel { margin-top: 1.5rem; overflow: hidden; }
.event-panel .section-bar { color: var(--academic-ink); border-color: var(--academic-border); background: #fff; }
table { color: var(--academic-ink); }
th,
td { border-bottom-color: var(--academic-border); padding: .75rem 1rem; }
th { color: var(--academic-muted); background: var(--academic-canvas); }
.toast {
  border-left-color: var(--academic-primary);
  border-radius: .75rem;
  color: var(--academic-ink);
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .18);
}

@media (max-width: 1380px) {
  .graph-header { align-items: flex-start; flex-direction: column; }
  .graph-header-tools,
  .author-filter { width: 100%; min-width: 0; }
  .author-filter { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .author-filter label:nth-child(2) { grid-column: span 2; }
}
@media (max-width: 1180px) {
  .assistant-header,
  .analysis-header { align-items: start; }
  .world-research-header { align-items: flex-start; flex-direction: column; }
  .world-research-metrics { width: 100%; }
}
@media (max-width: 920px) {
  .assistant-principle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .assistant-principle div:nth-child(2) { border-right: 0; }
  .assistant-principle div { border-bottom: 1px solid var(--academic-border); }
  .assistant-principle div:nth-last-child(-n + 2) { border-bottom: 0; }
  .expert-evidence,
  .method-card { position: static; max-height: none; }
  .contribution-chart-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .workspace-view { padding-inline: 1rem; }
  .graph-limit-control { align-items: stretch; flex-direction: column; width: 100%; }
  .graph-limit-control .category-control,
  .graph-limit-control .category-control input,
  .graph-limit-control .category-control select { width: 100%; max-width: none; }
  .graph-context { justify-content: flex-start; }
  .graph-analysis-status { flex-basis: 100%; text-align: left; }
  .world-research-header,
  .contribution-analysis-header,
  .section-bar { padding: 1.25rem; }
  .world-research-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .world-research-metrics div { border-bottom: 1px solid var(--academic-border); }
  .ranking-controls { align-items: stretch; flex-direction: column; }
  .ranking-controls label,
  .ranking-controls select { width: 100%; }
  .segmented-control { width: 100%; }
  .segmented-control button { flex: 1 1 50%; }
  .assistant-principle { grid-template-columns: 1fr; }
  .assistant-principle div,
  .assistant-principle div:nth-child(2),
  .assistant-principle div:nth-last-child(-n + 2) { border-right: 0; border-bottom: 1px solid var(--academic-border); }
  .assistant-principle div:last-child { border-bottom: 0; }
  .expert-message { max-width: 100%; }
  .expert-transcript { padding-inline: 1rem; }
  .expert-composer { margin-inline: 1rem; }
  .collector-columns,
  .collection-grid { gap: 1rem; }
  .dark-panel,
  .collector-lane,
  .model-card { padding: 1.25rem; }
}
@media (max-width: 520px) {
  .graph-view-switcher { width: 100%; }
  .graph-view-switcher button { flex: 1 1 50%; }
  .graph-shell { border-radius: .75rem; }
  .world-research-metrics { grid-template-columns: 1fr 1fr; }
  .full-ranking { padding-inline: 1rem; }
  .full-ranking li { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .rank-measures { grid-column: 2; text-align: left; }
  .chart-card-header { flex-direction: column; }
  .assistant-settings { padding: 1.25rem; }
  .expert-source-list { padding-inline: .75rem; }
  .expert-source-card { padding-left: 3.55rem; }
  .computation-input > label,
  .computation-draft label,
  .generation-input label,
  .computation-run-settings,
  .computation-progress,
  .column-ledger,
  .sample-computation { margin-inline: 1rem; }
  .computation-file-row,
  .computation-settings,
  .generation-settings { padding-inline: 1rem; }
  .upload-drop,
  .segmentation-figure { margin-inline: 1rem; }
}

/* Academic Platform V5 layout */
:root {
  --platform-max-width: 1760px;
  --platform-gutter: clamp(1rem, 2.2vw, 2.5rem);
  --header-height: 5rem;
  --platform-nav-height: 4.25rem;
  --platform-radius: .95rem;
}

body {
  font-size: 15px;
  font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.6;
}

/* Centered three-tier application shell */
.site-header {
  display: block;
  min-height: var(--header-height);
  padding: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025), transparent 32%),
    #1e293b;
}
.site-header-shell {
  display: grid;
  grid-template-columns: minmax(20rem, .82fr) minmax(32rem, 1.7fr) minmax(13rem, .58fr);
  align-items: center;
  gap: clamp(1rem, 2.2vw, 2.25rem);
  width: min(var(--platform-max-width), 100%);
  min-height: var(--header-height);
  margin: 0 auto;
  padding: .7rem var(--platform-gutter);
}
.brand-lockup { gap: .72rem; }
.brand-mark { flex-basis: 1.35rem; height: 2.9rem; }
.brand-lockup small { font-size: .64rem; letter-spacing: .14em; }
.brand-title-link strong {
  font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 1.34rem;
  font-weight: 720;
  letter-spacing: -.025em;
}
.brand-lockup .brand-attribution { margin-top: .16rem; font-size: .66rem; }
.contact-trigger { min-height: 2rem; padding: .3rem .62rem; font-size: .72rem; }
.global-search { max-width: 52rem; min-height: 2.9rem; justify-self: center; }
.global-search input { padding: .72rem 1.05rem; font-size: .9rem; }
.global-search button { min-width: 4.5rem; padding-inline: 1.15rem; font-size: .88rem; }
.header-status { gap: .75rem; font-size: .76rem; }
.job-pill { max-width: 15rem; padding: .42rem .62rem; border-radius: .5rem; font-size: .72rem; }

.journal-lookup-panel {
  padding: 1.35rem;
  overflow: hidden;
  border-top: 3px solid var(--academic-primary);
}
.journal-lookup-panel h2 { margin: .25rem 0 .4rem; font-size: 1.32rem; }
.journal-rank-form { margin-top: 1rem; }
.journal-rank-input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.journal-rank-input-row input { min-width: 0; min-height: 2.6rem; }
.journal-rank-input-row .button { min-height: 2.6rem; padding-inline: .85rem; }
.journal-rank-status {
  margin: .72rem 0 0;
  color: var(--academic-muted);
  font-size: .75rem;
  line-height: 1.55;
}
.journal-rank-result {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--academic-border);
}
.journal-rank-result-heading { display: grid; gap: .15rem; }
.journal-rank-result-heading strong { color: var(--academic-ink); font-size: .95rem; line-height: 1.45; }
.journal-rank-result-heading span { color: var(--academic-muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.journal-rank-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: .85rem 0 0; }
.journal-rank-metrics div { padding: .65rem .55rem; border: 1px solid var(--academic-border); margin: -1px 0 0 -1px; }
.journal-rank-metrics dt { color: var(--academic-muted); font-size: .68rem; }
.journal-rank-metrics dd { margin: .22rem 0 0; color: var(--academic-ink); font-size: .85rem; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.journal-rank-subject { margin: .8rem 0 0; color: var(--academic-muted); font-size: .73rem; line-height: 1.55; }
.journal-rank-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .75rem; }
.journal-rank-tags span { padding: .25rem .45rem; border-radius: 999px; background: var(--academic-success-soft); color: var(--academic-success); font-size: .68rem; }
.journal-rank-trigger {
  display: inline;
  padding: 0;
  border: 0;
  border-bottom: 1px dotted currentColor;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
}
.journal-rank-trigger:hover,
.journal-rank-trigger:focus-visible { color: var(--academic-primary); border-bottom-style: solid; outline: none; }

.layer-nav {
  display: block;
  top: var(--header-height);
  min-height: var(--platform-nav-height);
  padding: 0;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, .52) transparent;
  background: #111b2d;
}
.layer-nav::-webkit-scrollbar { height: 6px; }
.layer-nav::-webkit-scrollbar-track { background: transparent; }
.layer-nav::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(148, 163, 184, .52);
}
.layer-nav-track {
  display: grid;
  grid-template-columns: repeat(8, minmax(8.6rem, 1fr));
  width: min(var(--platform-max-width), 100%);
  min-width: 69rem;
  min-height: var(--platform-nav-height);
  margin: 0 auto;
  padding: 0 var(--platform-gutter);
}
.layer-tab {
  min-height: var(--platform-nav-height);
  padding: .7rem .9rem;
  border-right-color: rgba(255,255,255,.075);
  column-gap: .7rem;
}
.layer-tab:first-child { border-left-color: rgba(255,255,255,.075); }
.layer-tab > span { font-size: .67rem; }
.layer-tab strong { font-size: .91rem; font-weight: 680; letter-spacing: .01em; }
.layer-tab small { margin-top: .05rem; font-size: .63rem; letter-spacing: .08em; }
.layer-tab.active { background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); }
.layer-tab.active::after { height: 3px; }

.atlas-strip {
  display: block;
  top: calc(var(--header-height) + var(--platform-nav-height));
  min-height: 4rem;
  padding: 0;
}
.atlas-strip-inner {
  display: grid;
  grid-template-columns: minmax(17rem, 20rem) minmax(0, 1fr) minmax(12rem, 16rem);
  align-items: center;
  gap: 1.25rem;
  width: min(var(--platform-max-width), 100%);
  min-height: 4rem;
  margin: 0 auto;
  padding: .55rem var(--platform-gutter);
}
.corpus-scope-control {
  grid-template-columns: auto minmax(11rem, 1fr);
  gap: .18rem .65rem;
  padding-right: 1.25rem;
}
.corpus-scope-control > span { font-size: .7rem; font-weight: 650; }
.corpus-scope-control select { min-width: 0; padding-block: .38rem; font-size: .74rem; }
.corpus-scope-control small { font-size: .59rem; }
.atlas-strip dl {
  display: grid;
  grid-template-columns: repeat(8, minmax(5rem, 1fr));
  gap: 0;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
}
.atlas-strip dl div {
  display: grid;
  gap: .08rem;
  min-width: 0;
  padding: .08rem .45rem;
  border-left: 1px solid var(--academic-border);
}
.atlas-strip dt { overflow: hidden; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.atlas-strip dd { font-size: .94rem; line-height: 1.25; }
.atlas-strip p { font-size: .64rem; line-height: 1.45; }

/* Consistent workspace scale and hierarchy */
#workspace { min-height: calc(100vh - 13.25rem); }
.workspace-view {
  width: min(var(--platform-max-width), 100%);
  padding: 2rem var(--platform-gutter) 5rem;
}
.workspace-view h1,
.workspace-view h2,
.workspace-view h3 {
  font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  letter-spacing: -.02em;
}
.workspace-view h1 { font-size: clamp(1.85rem, 2.15vw, 2.45rem); line-height: 1.2; font-weight: 730; }
.workspace-view h2 { font-size: clamp(1.28rem, 1.5vw, 1.6rem); line-height: 1.3; font-weight: 700; }
.workspace-view h3 { font-size: 1.06rem; line-height: 1.4; font-weight: 680; }
.workspace-view p { font-size: .9rem; }
.workspace-view .eyebrow { margin-bottom: .42rem; font-size: .66rem; letter-spacing: .16em; }
.workspace-view label { font-size: .76rem; }
.workspace-view :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: .86rem; }
.workspace-view .button { min-height: 2.55rem; padding: .58rem .95rem; font-size: .84rem; font-weight: 650; }

.library-hero {
  grid-template-columns: minmax(18rem, .72fr) minmax(35rem, 1.28fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 4.5rem);
  margin-bottom: 1.5rem;
  padding: 1.75rem;
  border: 1px solid var(--academic-border);
  border-radius: var(--platform-radius);
  background:
    linear-gradient(115deg, rgba(224,106,59,.055), transparent 42%),
    #fff;
  box-shadow: var(--academic-shadow);
}
.library-hero-copy { max-width: 34rem; }
.library-hero-copy h1 { margin-bottom: .65rem; }
.library-hero .library-hero-copy > p:last-child { font-size: .94rem; line-height: 1.75; }
.hero-search { border: 1px solid var(--academic-border); border-left: .3rem solid var(--academic-primary); border-radius: .8rem; padding: 1.25rem; box-shadow: none; }
.search-command-heading strong { font-size: .98rem; }
.search-command-heading small { font-size: .7rem; }
.hero-search-row { margin-top: .85rem; }
.hero-search-row input { min-height: 3rem; padding-inline: 1rem; font-size: .92rem; }
.search-filters { gap: .75rem; margin-top: 1rem; }
.search-filters label { font-size: .72rem; font-weight: 650; }
.search-filters input,
.search-filters select { min-height: 2.45rem; margin-top: .28rem; }
.library-grid { grid-template-columns: minmax(0, 1fr) minmax(21rem, 26rem); gap: 1.5rem; }
.section-bar { min-height: 5.25rem; padding: 1.35rem 1.5rem; }
.section-bar h2 { font-size: 1.25rem; }
.scholar-item { padding: 1.35rem 1.5rem; }
.result-title { color: #164e63; font-size: 1.04rem; line-height: 1.48; }
.result-byline { margin-top: .45rem; font-size: .79rem; }
.result-identifiers,
.result-metrics { font-size: .71rem; }
.insight-panel { padding: 1.5rem; }
.mini-ranking li,
.recent-publication-list li { padding-block: .9rem; }

/* Unified page introductions for analytical and AI workspaces */
.graph-header,
.assistant-header,
.computation-header,
.analysis-header,
.collection-header,
.ranking-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(31rem, .92fr);
  align-items: center;
  gap: 1.5rem;
  margin: 0 0 1.25rem;
  padding: 1.5rem 1.65rem;
  border: 1px solid var(--academic-border);
  border-radius: var(--platform-radius);
  background:
    linear-gradient(110deg, rgba(30,41,59,.025), transparent 50%),
    #fff;
  box-shadow: var(--academic-shadow);
}
.graph-header > div:first-child,
.assistant-header > div:first-child,
.computation-header > div:first-child,
.analysis-header > div:first-child,
.collection-header > div:first-child { max-width: 58rem; }
.graph-header h1,
.assistant-header h1,
.computation-header h1,
.analysis-header h1,
.collection-header h1,
.ranking-hero h1 { margin-bottom: .5rem; }
.graph-header p:last-child,
.assistant-header > div > p:last-child,
.computation-header > div > p:last-child,
.analysis-header > div > p:last-child,
.collection-header p:last-child,
.ranking-hero p:last-child { margin-bottom: 0; font-size: .88rem; line-height: 1.7; }
.ranking-hero { grid-template-columns: 1fr; max-width: none; margin-top: 1.5rem; }
.ranking-controls { margin-top: .4rem; padding: .8rem; box-shadow: none; }
.graph-header-tools,
.author-filter { width: 100%; border-radius: .8rem; padding: .9rem; box-shadow: none; }
.graph-limit-control { grid-template-columns: minmax(13rem, 1.4fr) minmax(11rem, 1fr) auto; }
.graph-analysis-bar { min-height: 3.55rem; padding: .55rem .7rem; }
.graph-view-switcher button,
.segmented-control button,
.chart-toggle button { min-height: 2.35rem; padding: .48rem .72rem; font-size: .76rem; }

.graph-shell { grid-template-columns: minmax(0, 1fr) minmax(22rem, 25rem); min-height: 42rem; }
.graph-canvas,
.author-canvas,
.citation-canvas { height: min(70vh, 48rem); min-height: 42rem; }
.metadata-drawer { min-height: 42rem; max-height: min(70vh, 48rem); }
.drawer-title { font-size: 1.3rem; }
.graph-toolbar button { min-height: 2.45rem; font-size: .75rem; }
.quality-note { margin-top: .85rem; font-size: .76rem; }

/* Insight workspace: compact map, prominent ranking and comparable charts */
.world-research-section { margin-top: 0; }
.world-research-header,
.contribution-analysis-header { min-height: 7.5rem; padding: 1.5rem 1.65rem; }
.world-research-header > div > p:last-child,
.contribution-analysis-header > div > p:last-child { font-size: .84rem; line-height: 1.65; }
.world-research-metrics dd { font-size: 1.02rem; }
.world-research-layout { min-height: 34rem; }
.world-map-stage,
.research-country-panel { min-height: 34rem; max-height: 34rem; }
#research-world-map { height: 34rem; }
.ranking-layout { grid-template-columns: minmax(0, 1fr) minmax(20rem, 24rem); }
.full-ranking li { grid-template-columns: 3.25rem minmax(0, 1fr) minmax(7.5rem, auto); padding: 1.05rem 1.15rem; }
.method-card { top: calc(var(--header-height) + var(--platform-nav-height) + 5rem); }
.contribution-analysis { margin-top: 1.5rem; }
.contribution-chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; padding: 1.25rem; }
.institution-contribution-card { grid-column: 1 / -1; }
.chart-card-header { min-height: 6.8rem; padding: 1.15rem 1.25rem; }

/* AI, image and data operations retain the same spatial rhythm */
.assistant-settings,
.assistant-workbench,
.computation-grid,
.analysis-grid,
.image-generation-grid,
.collector-columns,
.collection-grid { gap: 1.5rem; }
.assistant-principle { border-radius: .8rem; box-shadow: none; }
.assistant-settings { margin-bottom: 1.25rem; }
.assistant-dialogue,
.expert-evidence { min-height: 38rem; }
.computation-input,
.computation-draft,
.upload-panel,
.result-panel,
.generation-input,
.generation-plan,
.collector-lane,
.dark-panel { border-radius: var(--platform-radius); }
.collector-lane,
.dark-panel { padding: 1.5rem; }
.public-collection-notice { margin-bottom: 1.25rem; }
.event-panel { margin-top: 1.5rem; }

@media (max-width: 1480px) {
  .site-header-shell { grid-template-columns: minmax(19rem, .72fr) minmax(24rem, 1.28fr) auto; }
  .header-status { display: flex; }
  .header-status > .connection-status,
  .header-status > .job-pill { display: none; }
}

@media (max-width: 1380px) {
  .atlas-strip-inner { grid-template-columns: minmax(16rem, 19rem) minmax(0, 1fr); }
  .atlas-strip-inner > p { display: none; }
  .graph-header,
  .assistant-header,
  .computation-header,
  .analysis-header,
  .collection-header { grid-template-columns: minmax(0, 1fr) minmax(29rem, .95fr); }
}

/* Unified provider center and grouped research navigation */
.header-tool-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  min-height: 2.35rem;
  padding: .42rem .65rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: .55rem;
  color: #e2e8f0;
  background: rgba(255, 255, 255, .055);
  font: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.header-tool-button:hover,
.header-tool-button:focus-visible {
  border-color: rgba(241, 154, 117, .72);
  background: rgba(241, 154, 117, .11);
  outline: none;
}
.header-tool-button > span { color: #f19a75; font-weight: 760; }
.header-tool-button > strong { font-size: .72rem; letter-spacing: .03em; }
.provider-trigger-dot {
  width: .48rem;
  height: .48rem;
  border-radius: 50%;
  background: #94a3b8;
  box-shadow: 0 0 0 .22rem rgba(148, 163, 184, .13);
}
.provider-trigger-dot.is-ready {
  background: #34d399;
  box-shadow: 0 0 0 .22rem rgba(52, 211, 153, .13);
}
.collection-provider-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
.collection-provider-trigger strong { font: inherit; }

.layer-nav-track {
  grid-template-columns: minmax(34.4rem, 4fr) minmax(25.8rem, 3fr) minmax(8.6rem, 1fr);
  min-width: 75rem;
}
.layer-nav-group {
  position: relative;
  display: grid;
  padding-top: .72rem;
  border-right: 1px solid rgba(255, 255, 255, .14);
}
.layer-nav-group:nth-child(1) { grid-template-columns: repeat(4, minmax(8.6rem, 1fr)); }
.layer-nav-group:nth-child(2) { grid-template-columns: repeat(3, minmax(8.6rem, 1fr)); }
.layer-nav-group:nth-child(3) { grid-template-columns: minmax(8.6rem, 1fr); }
.layer-nav-group-label {
  position: absolute;
  top: .08rem;
  left: .9rem;
  color: #94a3b8;
  font: 700 .54rem/1 Consolas, monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
  pointer-events: none;
}
.layer-nav-group .layer-tab { min-height: calc(var(--platform-nav-height) - .72rem); }
.layer-nav-group .layer-tab:first-of-type { border-left: 1px solid rgba(255,255,255,.075); }

.provider-center {
  width: 100%;
  margin: 0 0 1.5rem;
  overflow: hidden;
  border: 1px solid var(--academic-border);
  border-radius: var(--platform-radius);
  padding: 0;
  color: var(--academic-ink);
  background: #fff;
  box-shadow: var(--academic-shadow);
  scroll-margin-top: calc(var(--header-height) + var(--platform-nav-height) + 5rem);
}
.provider-center:focus { outline: none; }
.provider-center:focus-visible { box-shadow: 0 0 0 3px rgba(224, 106, 59, .16); }
.provider-center-shell { min-height: 100%; }
.provider-center-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.45rem 1.6rem 1.3rem;
  color: #f8fafc;
  background:
    radial-gradient(circle at 82% 0, rgba(224, 106, 59, .22), transparent 34%),
    #1e293b;
}
.provider-center-header h2 { margin: 0 0 .3rem; color: #f8fafc; font-size: 1.65rem; }
.provider-center-header p:last-child { max-width: 46rem; margin: 0; color: #cbd5e1; font-size: .82rem; }
.provider-center-scope {
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: .38rem .58rem;
  color: #cbd5e1;
  font: 700 .56rem/1 Consolas, monospace;
  letter-spacing: .08em;
}
.provider-route-matrix {
  padding: 1rem 1.5rem 1.1rem;
  border-bottom: 1px solid var(--academic-border);
  background: #fff;
}
.provider-route-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: .75rem;
}
.provider-route-heading h3 { margin: 0; font-size: 1rem; }
.provider-route-heading > p {
  max-width: 34rem;
  margin: 0;
  color: var(--academic-muted);
  font-size: .68rem;
  text-align: right;
}
.provider-route-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--academic-border);
  border-top: .2rem solid var(--academic-primary);
  border-radius: .7rem;
  background: var(--academic-canvas);
}
.provider-route-grid label {
  display: grid;
  align-content: start;
  gap: .35rem;
  min-width: 0;
  padding: .7rem;
  border-left: 1px solid var(--academic-border);
}
.provider-route-grid label:first-child { border-left: 0; }
.provider-route-grid label > span {
  display: flex;
  align-items: baseline;
  gap: .42rem;
  color: var(--academic-ink);
  font-size: .68rem;
  font-weight: 700;
}
.provider-route-grid label b {
  color: var(--academic-primary);
  font: 700 .55rem/1 Consolas, monospace;
  letter-spacing: .07em;
}
.provider-route-grid select {
  min-width: 0;
  width: 100%;
  min-height: 2.25rem;
  border: 1px solid var(--academic-border);
  border-radius: .45rem;
  padding: .35rem .45rem;
  color: var(--academic-ink);
  background: #fff;
  font-size: .68rem;
}
.provider-route-grid select:disabled {
  cursor: not-allowed;
  color: var(--academic-muted);
  background: #eef2f6;
  opacity: 1;
}
.provider-route-grid small {
  overflow-wrap: anywhere;
  color: var(--academic-muted);
  font: 400 .58rem/1.35 Consolas, monospace;
  white-space: normal;
}
.provider-route-message {
  min-height: 1rem;
  margin: .55rem 0 0;
  color: var(--academic-muted);
  font-size: .62rem;
}
.provider-route-message.is-error { color: #9f3a38; }
.provider-center-body {
  display: grid;
  grid-template-columns: minmax(18rem, .72fr) minmax(30rem, 1.28fr);
  min-height: 32rem;
}
.provider-ledger {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1.35rem;
  border-right: 1px solid var(--academic-border);
  background: var(--academic-canvas);
}
.provider-ledger-heading,
.provider-editor-heading,
.provider-editor-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.provider-ledger-heading h3,
.provider-editor-heading h3 { margin: 0; font-size: 1.08rem; }
.provider-list { display: grid; align-content: start; gap: .65rem; max-height: 29rem; overflow-y: auto; }
.provider-empty,
.provider-security-note { margin: 0; color: var(--academic-muted); font-size: .72rem; line-height: 1.6; }
.provider-security-note { padding-top: .8rem; border-top: 1px solid var(--academic-border); }
.provider-card {
  position: relative;
  display: grid;
  gap: .42rem;
  width: 100%;
  padding: .85rem;
  border: 1px solid var(--academic-border);
  border-radius: .68rem;
  color: inherit;
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.provider-card:hover,
.provider-card:focus-visible,
.provider-card.is-selected {
  border-color: rgba(224, 106, 59, .58);
  box-shadow: 0 0 0 3px rgba(224, 106, 59, .08);
  outline: none;
}
.provider-card-heading { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.provider-card-heading strong { font-size: .86rem; }
.provider-card-heading span {
  padding: .2rem .42rem;
  border-radius: 999px;
  color: var(--academic-success);
  background: var(--academic-success-soft);
  font-size: .58rem;
  font-weight: 750;
}
.provider-card-heading span.is-offline { color: #9f3a38; background: #fff1f0; }
.provider-card-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: .28rem;
}
.provider-card-capabilities i {
  border: 1px solid #cce6df;
  border-radius: 999px;
  padding: .12rem .38rem;
  color: #365f57;
  background: #eef8f5;
  font-size: .56rem;
  font-style: normal;
  font-weight: 700;
}
.provider-card code,
.provider-card small { overflow-wrap: anywhere; color: var(--academic-muted); font-size: .65rem; }
.provider-editor { display: grid; align-content: start; gap: 1.15rem; padding: 1.5rem; }
.provider-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; }
.provider-form-grid label { display: grid; gap: .3rem; color: var(--academic-ink); font-size: .73rem; font-weight: 650; }
.provider-form-grid input,
.provider-form-grid select {
  width: 100%;
  min-height: 2.7rem;
  border: 1px solid var(--academic-border);
  border-radius: .55rem;
  padding: .58rem .7rem;
  color: var(--academic-ink);
  background: #fff;
}
.provider-form-grid input:disabled,
.provider-form-grid select:disabled { color: var(--academic-muted); background: #f1f5f9; }
.provider-form-grid small { color: var(--academic-muted); font-size: .62rem; font-weight: 400; line-height: 1.45; }
.provider-form-wide { grid-column: 1 / -1; }
.provider-capability-preview {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .45rem .7rem;
  border: 1px solid var(--academic-border);
  border-left: .2rem solid #4f9b8d;
  border-radius: .55rem;
  padding: .65rem .75rem;
  background: var(--academic-canvas);
}
.provider-capability-preview > strong { color: var(--academic-ink); font-size: .68rem; }
.provider-capability-preview > div { display: flex; flex-wrap: wrap; gap: .35rem; }
.provider-capability-preview > div span {
  border-radius: 999px;
  padding: .16rem .45rem;
  color: var(--academic-tag-ink);
  background: var(--academic-tag-bg);
  font-size: .58rem;
  font-weight: 700;
}
.provider-capability-preview > div span.is-empty {
  color: var(--academic-muted);
  background: #e9eef3;
}
.provider-capability-preview > small {
  grid-column: 1 / -1;
  color: var(--academic-muted);
  font-size: .6rem;
  line-height: 1.45;
}
.provider-enabled { display: inline-flex; align-items: center; min-height: 2rem; gap: .5rem; color: var(--academic-muted); font-size: .72rem; }
.provider-action-spacer { flex: 1; }
.provider-editor-message { min-height: 1.5rem; margin: 0; color: var(--academic-muted); font-size: .72rem; }
.provider-editor-message.is-error { color: #9f3a38; }
.button.danger { border-color: #fecaca; color: #b42318; background: #fff; }
.button.danger:hover { background: #fff1f0; }
.translation-action-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .75rem;
}
.translation-provider-route,
.provider-route-readout {
  display: block;
  min-width: 0;
  min-height: 2.45rem;
  border: 1px solid var(--academic-border);
  border-radius: .55rem;
  padding: .45rem .65rem;
  color: var(--academic-ink);
  background: var(--academic-canvas);
  font: 650 .68rem/1.45 "IBM Plex Mono", Consolas, monospace;
  overflow-wrap: anywhere;
}
.translation-provider-route { display: inline-flex; align-items: center; max-width: 28rem; }
.segmentation-ai-contract {
  display: grid;
  gap: .65rem;
  border: 1px solid var(--academic-border);
  border-radius: .55rem;
  padding: .75rem;
  background: var(--academic-canvas);
}
.segmentation-ai-contract-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
}
.segmentation-ai-contract-heading h3 {
  margin: .08rem 0 0;
  color: var(--academic-ink);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: .96rem;
  font-weight: 650;
}
.segmentation-ai-contract-heading .button {
  min-height: 2rem;
  padding: .32rem .58rem;
  font-size: .66rem;
}
.segmentation-route-rail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: .45rem;
}
.segmentation-route-step {
  display: grid;
  align-content: start;
  gap: .24rem;
  min-width: 0;
  border: 1px solid var(--academic-border);
  border-top: .18rem solid #287c72;
  border-radius: .38rem;
  padding: .58rem .65rem;
  background: #fff;
}
.segmentation-route-step.is-vector { border-top-color: #a26b20; }
.segmentation-route-step.is-unavailable {
  border-color: #e7b7b0;
  border-top-color: #a34235;
  background: #fff8f6;
}
.segmentation-route-step > span {
  color: var(--academic-muted);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .08em;
}
.segmentation-route-step strong {
  overflow: hidden;
  color: var(--academic-ink);
  font-size: .72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.segmentation-route-step code {
  overflow-wrap: anywhere;
  color: var(--academic-accent);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: .62rem;
}
.segmentation-route-step small {
  color: var(--academic-muted);
  font-size: .6rem;
  line-height: 1.45;
}
.segmentation-route-link {
  align-self: center;
  color: #74818d;
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: .9rem;
}
#segmentation-route-status {
  min-height: 1rem;
  margin: 0;
  color: var(--academic-muted);
  font-size: .62rem;
  line-height: 1.45;
}
#segmentation-route-status.is-error { color: #9f3a38; }

.assistant-settings { grid-template-columns: repeat(3, minmax(10rem, 1fr)); }
.assistant-settings label > small,
.computation-settings label > small,
.generation-settings label > small {
  display: block;
  margin-top: .25rem;
  color: var(--academic-muted);
  font-size: .61rem;
  font-weight: 400;
  line-height: 1.4;
}
.computation-settings { grid-template-columns: minmax(14rem, .9fr) minmax(16rem, 1.1fr); }

@media (max-width: 1180px) {
  .provider-route-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .provider-route-grid label { border-bottom: 1px solid var(--academic-border); }
}
@media (max-width: 860px) {
  .assistant-settings,
  .computation-settings { grid-template-columns: 1fr; }
  .provider-route-heading { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .provider-route-heading > p { text-align: left; }
  .provider-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .provider-route-grid label { border-bottom: 1px solid var(--academic-border); }
  .provider-route-grid label:nth-child(odd) { border-left: 0; }
  .provider-route-grid label:nth-last-child(-n + 2) { border-bottom: 0; }
  .provider-center-body { grid-template-columns: 1fr; }
  .provider-ledger { border-right: 0; border-bottom: 1px solid var(--academic-border); }
  .provider-list { max-height: 14rem; }
}
@media (max-width: 620px) {
  .segmentation-ai-contract-heading { align-items: stretch; flex-direction: column; }
  .segmentation-ai-contract-heading .button { width: 100%; }
  .segmentation-route-rail { grid-template-columns: 1fr; }
  .segmentation-route-link { justify-self: center; transform: rotate(90deg); }
  .provider-center-header,
  .provider-route-matrix,
  .provider-editor,
  .provider-ledger { padding: 1rem; }
  .provider-route-grid { grid-template-columns: 1fr; }
  .provider-route-grid label,
  .provider-route-grid label:nth-child(odd),
  .provider-route-grid label:nth-last-child(-n + 2) {
    border-left: 0;
    border-bottom: 1px solid var(--academic-border);
  }
  .provider-route-grid label:last-child { border-bottom: 0; }
  .provider-form-grid { grid-template-columns: 1fr; }
  .provider-form-wide { grid-column: auto; }
  .provider-editor-actions { flex-wrap: wrap; }
  .provider-center-header { flex-direction: column; }
}

@media (max-width: 1100px) {
  :root { --header-height: 8.7rem; --platform-nav-height: 7.5rem; }
  .provider-center {
    scroll-margin-top: calc(var(--header-height) + var(--platform-nav-height) + 1.5rem);
  }
  .site-header { position: sticky; }
  .site-header-shell { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; }
  .global-search { grid-column: 1 / -1; grid-row: 2; max-width: none; }
  .layer-nav { top: var(--header-height); }
  .atlas-strip { position: static; }
  .atlas-strip-inner { grid-template-columns: 1fr; gap: .6rem; }
  .corpus-scope-control { width: 100%; padding: 0 0 .55rem; border-right: 0; border-bottom: 1px solid var(--academic-border); }
  .corpus-scope-control small { white-space: normal; }
  .atlas-strip dl { grid-template-columns: repeat(8, minmax(5rem, 1fr)); }
  .atlas-strip dl div { border-bottom: 1px solid var(--academic-border); }
  .library-hero { grid-template-columns: 1fr; gap: 1.25rem; }
  .library-hero-copy { max-width: 48rem; }
  .graph-header,
  .assistant-header,
  .computation-header,
  .analysis-header,
  .collection-header { grid-template-columns: 1fr; align-items: start; }
  .graph-header-tools,
  .author-filter { width: 100%; }
  .author-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .author-filter label:nth-child(2) { grid-column: auto; }
  .library-grid,
  .ranking-layout { grid-template-columns: minmax(0, 1fr) 20rem; }
}

@media (max-width: 860px) {
  :root { --header-height: auto; }
  .provider-center { scroll-margin-top: 1rem; }
  .site-header { position: static; }
  .site-header-shell { min-height: 0; }
  .layer-nav {
    position: static;
    max-width: 100vw;
    overflow-x: auto;
    overflow-y: hidden;
    contain: inline-size layout paint;
  }
  .layer-nav-track { padding-inline: 0; }
  .workspace-view { padding-top: 1.25rem; }
  .library-grid,
  .ranking-layout,
  .assistant-workbench,
  .computation-grid,
  .analysis-grid,
  .image-generation-grid,
  .collection-grid { grid-template-columns: 1fr; }
  .method-card,
  .expert-evidence { position: static; }
  .contribution-chart-grid { grid-template-columns: 1fr; }
  .institution-contribution-card { grid-column: auto; }
  .world-research-layout { grid-template-columns: 1fr; }
  .world-map-stage,
  #research-world-map { min-height: 30rem; height: 30rem; }
  .research-country-panel { min-height: 20rem; max-height: none; }
  .graph-shell { grid-template-columns: 1fr; }
  .metadata-drawer { min-height: 20rem; max-height: none; }
}

@media (max-width: 620px) {
  .site-header-shell { padding-block: .65rem; }
  .brand-title-link strong { font-size: 1.13rem; }
  .brand-lockup small,
  .brand-lockup .brand-attribution { max-width: 15rem; }
  .workspace-view { padding-inline: 1rem; }
  .library-hero,
  .graph-header,
  .assistant-header,
  .computation-header,
  .analysis-header,
  .collection-header,
  .ranking-hero { padding: 1.2rem; }
  .search-filters { grid-template-columns: 1fr 1fr; }
  .graph-limit-control { grid-template-columns: 1fr; }
  .graph-header,
  .graph-header-tools,
  .graph-limit-control,
  .graph-context { min-width: 0; max-width: 100%; }
  .graph-header-tools > .category-control,
  .graph-header-tools > .category-control select,
  .graph-header-tools > .category-control input {
    width: 100%; min-width: 0; max-width: 100%;
  }
  .graph-limit-control > * { min-width: 0; max-width: 100%; }
  .graph-context span { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
  .graph-analysis-select {
    width: 100%; min-width: 0; max-width: 100%; flex-wrap: wrap;
  }
  .graph-analysis-select select {
    flex: 1 1 12rem; width: 100%; min-width: 0; max-width: 100%;
  }
  .world-research-header,
  .contribution-analysis-header { padding: 1.2rem; }
  .world-research-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .full-ranking li { grid-template-columns: 2.65rem minmax(0, 1fr); }
  .rank-measures { grid-column: 2; }
}

@media (max-width: 920px) {
  .search-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-filters label:first-child { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
  .search-filters { grid-template-columns: 1fr; }
  .leaflet-tooltip.research-country-name-label { display: none; }
}

/* Data center operations console v2 */
#view-collection.active {
  display: flex;
  flex-direction: column;
}
#view-collection .collection-header { order: 0; }
#view-collection .public-collection-notice { order: 1; }
#view-collection .collection-runtime-overview { order: 2; }
#view-collection .provider-center { order: 3; }
#view-collection .collection-grid { order: 4; }
#view-collection .collector-columns { order: 5; }
#view-collection .event-panel { order: 6; }

.collection-runtime-overview {
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem 1.5rem;
  border-top: .25rem solid var(--academic-primary);
}
.runtime-overview-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.runtime-overview-heading h2 { margin: 0; }
.runtime-overview-state {
  display: grid;
  justify-items: end;
  gap: .2rem;
  color: var(--academic-muted);
  font-size: .72rem;
}
.runtime-overview-state span {
  color: var(--academic-ink);
  font-weight: 750;
}
.runtime-metric-grid {
  display: grid;
  grid-template-columns: minmax(13rem, 1.35fr) repeat(5, minmax(8.5rem, 1fr));
  gap: .75rem;
}
.runtime-metric-saving {
  border-color: rgba(224, 106, 59, .28);
  background: linear-gradient(135deg, rgba(224, 106, 59, .08), #fff 74%);
}
.runtime-metric {
  display: grid;
  align-content: start;
  gap: .28rem;
  min-width: 0;
  min-height: 7.25rem;
  padding: 1rem;
  border: 1px solid var(--academic-border);
  border-radius: .7rem;
  background: var(--academic-canvas);
}
.runtime-metric-primary {
  border-left: .25rem solid var(--academic-primary);
  background: linear-gradient(120deg, var(--academic-primary-soft), #fff 72%);
}
.runtime-metric > span {
  color: var(--academic-muted);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.runtime-metric strong {
  overflow-wrap: anywhere;
  color: var(--academic-ink);
  font-size: 1.28rem;
  line-height: 1.25;
}
.runtime-metric small {
  color: var(--academic-muted);
  font-size: .66rem;
  line-height: 1.45;
}

.collection-grid {
  grid-template-columns: minmax(0, 1.42fr) minmax(23rem, .58fr);
  align-items: start;
  margin-bottom: 1.5rem;
}
.collection-task-toolbar {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(10rem, .58fr) auto;
  align-items: end;
  gap: .75rem;
  margin-top: 1rem;
  padding: .8rem;
  border: 1px solid var(--academic-border);
  border-radius: .7rem;
  background: var(--academic-canvas);
}
.collection-task-toolbar label {
  display: grid;
  gap: .25rem;
  color: var(--academic-muted);
  font-size: .68rem;
}
.collection-task-toolbar input,
.collection-task-toolbar select {
  width: 100%;
  min-height: 2.4rem;
  border: 1px solid var(--academic-border);
  border-radius: .5rem;
  padding: .45rem .6rem;
  color: var(--academic-ink);
  background: #fff;
}
.collection-task-toolbar > span {
  align-self: center;
  color: var(--academic-muted);
  font-size: .68rem;
  white-space: nowrap;
}
.category-progress-list {
  max-height: 36rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: .25rem;
  scrollbar-gutter: stable;
}
.category-progress-card {
  padding: 0;
  overflow: clip;
}
.category-progress-card > summary {
  display: grid;
  gap: .65rem;
  padding: .8rem;
  cursor: pointer;
  list-style: none;
}
.category-progress-card > summary::-webkit-details-marker { display: none; }
.category-progress-card > summary::after {
  justify-self: end;
  color: var(--academic-primary);
  font-size: .62rem;
  font-weight: 700;
}
html[lang="zh-CN"] .category-progress-card > summary::after { content: "展开阶段"; }
html[lang="zh-CN"] .category-progress-card[open] > summary::after { content: "收起阶段"; }
html[lang="en"] .category-progress-card > summary::after { content: "Show stages"; }
html[lang="en"] .category-progress-card[open] > summary::after { content: "Hide stages"; }
.category-progress-card[open] > summary {
  border-bottom: 1px solid var(--academic-border);
}
.category-progress-card .category-progress-phases {
  margin: 0;
  padding: .65rem;
  background: var(--academic-canvas);
}
.category-progress-overview {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto;
  align-items: center;
  gap: .65rem;
}
.category-progress-overview small {
  color: var(--academic-muted);
  font-size: .63rem;
  white-space: nowrap;
}

.api-pool-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin: 1rem 0;
}
.api-pool-metric {
  display: grid;
  gap: .15rem;
  min-width: 0;
  padding: .7rem;
  border: 1px solid var(--academic-border);
  border-radius: .6rem;
  background: var(--academic-canvas);
}
.api-pool-metric:last-child { grid-column: 1 / -1; }
.api-pool-metric span,
.api-pool-metric small { color: var(--academic-muted); font-size: .62rem; }
.api-pool-metric strong {
  overflow-wrap: anywhere;
  color: var(--academic-ink);
  font-size: .94rem;
}
.api-key-pool-details {
  margin-bottom: 1rem;
  border: 1px solid var(--academic-border);
  border-radius: .7rem;
  background: #fff;
}
.api-key-pool-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem;
  color: var(--academic-ink);
  cursor: pointer;
  list-style: none;
  font-weight: 750;
}
.api-key-pool-details > summary::-webkit-details-marker { display: none; }
.api-key-pool-details > summary::after { content: "＋"; color: var(--academic-primary); }
.api-key-pool-details[open] > summary::after { content: "−"; }
.api-key-pool-details > summary small {
  margin-left: auto;
  color: var(--academic-muted);
  font-weight: 400;
}
.api-key-pool-details .api-key-quotas {
  max-height: 26rem;
  margin: 0;
  padding: .75rem;
  overflow-y: auto;
  border-top: 1px solid var(--academic-border);
  overscroll-behavior: contain;
}
.event-table-shell {
  max-height: 24rem;
  overflow: auto;
  overscroll-behavior: contain;
}
.event-table-shell thead {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #fff;
}

@media (max-width: 1280px) {
  .runtime-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .runtime-metric-primary { grid-column: span 2; }
  .collection-grid { grid-template-columns: minmax(0, 1fr) minmax(21rem, .68fr); }
}

@media (max-width: 940px) {
  .collection-start-mode { grid-template-columns: 1fr; }
  .runtime-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .runtime-metric-primary { grid-column: 1 / -1; }
  .collection-grid { grid-template-columns: 1fr; }
  .collection-task-toolbar { grid-template-columns: 1fr 1fr; }
  .collection-task-toolbar > span { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .collection-start-mode { gap: 1rem; padding: .9rem; }
  .collection-discovery-toggle { grid-template-columns: 2.75rem minmax(0, 1fr); padding: .7rem; }
  .collection-runtime-overview { padding: 1rem; }
  .runtime-overview-heading { align-items: flex-start; flex-direction: column; }
  .runtime-overview-state { justify-items: start; }
  .runtime-metric-grid { grid-template-columns: 1fr 1fr; }
  .runtime-metric { min-height: 6.5rem; padding: .8rem; }
  .runtime-metric strong { font-size: 1.05rem; }
  .collection-task-toolbar { grid-template-columns: 1fr; }
  .collection-task-toolbar > span { grid-column: auto; }
  .collection-progress-columns { grid-template-columns: 1fr; }
  .category-progress-list { max-height: 30rem; }
  .category-progress-overview { grid-template-columns: 1fr; }
  .author-filter { grid-template-columns: 1fr; }
  .category-progress-overview small { white-space: normal; }
  .category-progress-phase {
    grid-template-columns: 2rem minmax(0, 1fr);
  }
  .category-progress-phase progress { grid-column: 2; }
}
