/* Technical archive: local Chinese type, one cool paper palette, no network assets. */
:root {
  color-scheme:light;
  --bg:#f3f5f7; --bg-elev:#fcfdfe; --bg-subtle:#edf2f6; --bg-inset:#e5ebf0; --bg-hover:#e9f0f5;
  --ink:#172638; --ink-2:#485d70; --ink-3:#586b7c; --ink-inverse:#f7fafc;
  --accent:#22577a; --accent-hover:#173f5b; --accent-soft:#e4eef5; --accent-ink:#f7fafc;
  --line:rgba(29,60,84,.15); --line-strong:rgba(29,60,84,.3);
  --ok:#256141; --ok-soft:#e5f1e9; --warn:#805600; --warn-soft:#f8f0d9;
  --danger:#9b342d; --danger-soft:#fae9e7; --info:#22577a; --info-soft:#e4eef5;
  --radius:6px; --radius-lg:8px; --shadow-1:0 2px 5px rgba(23,51,74,.035);
  --font:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Segoe UI",system-ui,sans-serif;
  --max-w:1440px;
}
body {font-family:var(--font);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.65}
button,input,select,textarea {font:inherit;max-width:100%}
button,a,input,select,summary {touch-action:manipulation}
button,input:not([type="checkbox"]):not([type="radio"]),select {min-height:44px}
input::placeholder,textarea::placeholder {color:var(--ink-3);opacity:1}
:focus-visible {outline:3px solid var(--accent);outline-offset:3px}
[hidden] {display:none!important}
h1,h2,h3 {color:var(--ink);text-wrap:balance}
h1 {font-size:clamp(23px,2.4vw,32px);line-height:1.45;letter-spacing:-.025em;font-weight:700}
h2 {font-size:19px;line-height:1.55}
.small {font-size:13px}
.muted {color:var(--ink-2)}
a {color:var(--accent)}
.skip-link {position:fixed;left:16px;top:-90px;background:var(--accent);color:var(--accent-ink);padding:12px 20px;z-index:9999;border-radius:4px}
.skip-link:focus {top:12px}
.topbar {background:var(--bg-elev);box-shadow:0 1px 0 var(--line);position:relative}
.topbar-inner {height:auto;min-height:72px;max-width:var(--max-w);padding:12px 24px;gap:16px;flex-wrap:wrap}
.brand {gap:10px;flex-shrink:0;color:var(--ink)}
.brand-mark {background:var(--accent);border-radius:4px;width:36px;height:40px;box-shadow:none;font-weight:700}
.brand-text {font-size:17px;letter-spacing:.025em}
.topnav {margin-left:auto;gap:16px;flex-wrap:nowrap;max-width:100%;font-size:14px}
.topnav a {color:var(--ink-2);padding:0 2px}
.topnav a:hover,.topnav a[aria-current="page"] {color:var(--accent);text-decoration:none}
.topnav a[aria-current="page"] {box-shadow:inset 0 -2px var(--accent);font-weight:700}
.topnav .user-chip {max-width:140px;overflow:hidden;text-overflow:ellipsis;background:var(--bg-subtle)}
.topbar .search-form {order:3;flex:1 1 100%;max-width:none;margin:0;gap:8px}
.search-form input {flex:1;min-width:0;border:1px solid var(--line-strong);background:var(--bg-subtle)}
.search-form select {max-width:150px}
.category-bar {max-width:var(--max-w);padding-inline:24px;border-top:1px solid var(--line);background:var(--bg-elev);gap:20px}
.category-bar a {min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.category-bar a.active {border-radius:0;background:transparent;color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.shell {padding:24px;gap:24px;grid-template-columns:200px minmax(0,1fr)}
.main {min-width:0}
.sidebar {position:static;background:transparent;border:0;padding:0;gap:20px}
.side-block {padding:0 0 20px;border-bottom:1px solid var(--line)}
.side-block h2 {font-size:13px;color:var(--ink-2);font-weight:600;padding-inline:10px}
.side-list a {min-height:44px;border-radius:4px;padding:8px 10px}
.side-list a.active {background:var(--accent-soft);color:var(--accent);font-weight:650}
.side-foot {font-size:13px}
.panel {padding:20px;border:1px solid var(--line);box-shadow:none;background:var(--bg-elev)}
.panel-head {margin-bottom:16px;align-items:baseline;gap:12px}
.page-head {margin-bottom:20px}
.page-head h1 {margin-bottom:6px}
.foot {border-top:1px solid var(--line);padding:24px;gap:8px;font-size:13px}
.btn-primary {display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:8px 18px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:4px;font-weight:650;white-space:nowrap}
.btn-primary:hover {background:var(--accent-hover);color:var(--accent-ink);text-decoration:none}
.btn-link,.btn-ghost {min-height:44px;display:inline-flex;align-items:center}
/* Search comes first; measured catalog totals are a quiet line below it. */
.library-home .shell {max-width:1320px;padding-top:28px;grid-template-columns:minmax(0,1fr)}
.library-home .hero {background:transparent;border:0;border-radius:0;padding:0 0 24px;margin:0;box-shadow:none;color:var(--ink)}
.library-home .library-eyebrow {color:var(--accent);font-size:13px;letter-spacing:.04em;margin-bottom:6px}
.library-home .hero h1 {color:var(--ink);font-size:clamp(25px,3vw,36px);line-height:1.45;margin:0 0 8px}
.library-home .hero-sub {color:var(--ink-2);margin:0 0 18px;max-width:64ch;font-size:15px}
.library-home .hero-search {max-width:900px;margin-bottom:6px;gap:8px}
.library-home .hero-search input {background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:4px;color:var(--ink);min-height:52px;box-shadow:0 2px 6px rgba(23,51,74,.035);padding:12px 16px}
.library-home .hero-search button {min-height:52px;padding-inline:24px;border-radius:4px}
.library-home .home-search-label {font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:6px}
.library-home .hero .home-quicklinks a {color:var(--accent);font-size:13px;text-decoration:none}
.library-home .hero .home-quicklinks a:hover {color:var(--accent-hover);text-decoration:underline}
.library-home .hero .home-quicklinks a:focus-visible {outline:3px solid var(--accent)}
.library-home .stat-grid {margin:0 0 24px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:16px 36px}
.library-home .stat-value {font-size:21px;font-family:var(--font-mono);font-weight:650}
.library-home .stat-hint {font-size:12px}
.library-home .cat-cards {grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.library-home .cat-card,.library-home .topic-card {border:0;border-radius:0;box-shadow:none;padding:16px;min-height:110px;border-right:1px solid var(--line);background:transparent}
.library-home .cat-card:last-child {border-right:0}
.library-home .cat-card:hover,.library-home .topic-card:hover {background:var(--bg-subtle);transform:none}
.library-home .cat-name {font-size:15px}
.library-home .cat-count {font-size:19px;color:var(--accent);font-family:var(--font-mono)}
.library-home .cat-hint {font-size:12px;color:var(--ink-2)}
.library-home #library-topics .cat-cards {grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.library-home .library-source-grid {grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.library-home .library-source {min-height:72px;padding:12px;box-shadow:none}
/* Shared catalog has thin covers and a persistent, readable selection pane. */
.catalog-filters {gap:12px;background:var(--bg-subtle);padding:14px;border-radius:4px;grid-template-columns:minmax(200px,2fr) repeat(4,minmax(100px,1fr))}
.catalog-filters label {font-size:13px;color:var(--ink-2);gap:6px}
.catalog-views {gap:6px;margin-bottom:16px}
.catalog-views button {border-radius:4px;font-size:14px;min-height:44px}
.catalog-views button[aria-pressed="true"] {background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.catalog-note {color:var(--ink-2);font-size:13px;line-height:1.65;margin:12px 0}
[data-catalog-status] {font-size:13px;color:var(--ink-2);margin:12px 0}
.catalog-layout {gap:20px;grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start}
.catalog-books {grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;background:transparent!important;border:0;padding:12px 8px 24px}
.catalog-book {min-height:210px;text-align:left;padding:16px 12px 14px 16px;border-radius:2px!important;border:1px solid rgba(22,46,63,.25);box-shadow:1px 1px 0 #d9e0e5,2px 2px 0 #c0cbd3,0 4px 8px rgba(23,51,74,.1);transform:perspective(1000px) rotateY(-4deg)}
.catalog-book::before {border-left-width:2px;background:none}
.catalog-book:hover {transform:perspective(1000px) rotateY(-2deg) translateY(-3px)}
.catalog-book[aria-pressed="true"] {outline:3px solid var(--accent);outline-offset:5px}
.book-title {font-size:15px;line-height:1.6}
.book-number {font-size:12px;line-height:1.5}
.book-foot {font-size:12px;line-height:1.6}
.catalog-selected {position:sticky;top:20px;border:1px solid var(--line-strong);border-radius:4px;padding:18px;background:var(--bg-subtle);box-shadow:none}
.catalog-selected p {font-size:14px}
.catalog-selected .summary-method,.library-summary .summary-method {font-size:13px;line-height:1.65;color:var(--ink-2)}
.summary-ranking {font-size:13px;color:var(--ink-2);border-top:1px solid var(--line);margin-top:10px}
.summary-ranking summary {min-height:44px;cursor:pointer;display:flex;align-items:center}
.catalog-selection-links {display:flex;flex-direction:column;margin-top:10px}
.catalog-books[data-mode="list"] .catalog-book {transform:none;padding:14px;background:transparent;border-bottom:1px solid var(--line)}
/* Documents retain existing endpoint and annotation controls. */
.doc-item {padding:18px 0;gap:16px;border-bottom:1px solid var(--line);box-shadow:none;background:transparent;border-radius:0}
.doc-line1 {gap:8px;align-items:baseline;line-height:1.7}
.doc-title {font-size:16px;font-weight:650}
.stdno {font-family:var(--font-mono);font-size:13px;color:var(--accent);background:var(--accent-soft);border-radius:3px}
.doc-line2 {gap:6px 14px;margin-top:8px;font-size:13px}
.doc-summary {font-size:14px;color:var(--ink-2);line-height:1.75;max-width:80ch}
.doc-actions {gap:8px}
.facet-note {font-size:13px;color:var(--ink-2)}
.export-bar {border:1px solid var(--line);background:var(--bg-subtle);padding:12px;gap:8px;border-radius:4px;flex-wrap:wrap}
.library-reading .shell {max-width:var(--max-w);padding-top:16px}
.library-reading .crumbs {font-size:13px;margin:0 0 12px}
.library-reading .doc-header {gap:16px;align-items:flex-start;margin-bottom:16px;padding-bottom:0;border-bottom:0}
.library-reading .doc-header h1 {color:var(--ink);font-size:clamp(22px,2vw,29px);line-height:1.5;margin:0 0 8px}
.library-reading .doc-header .stdno.lg {display:block;width:fit-content;font-size:15px;margin-bottom:4px;line-height:1.5}
.doc-meta-row {gap:8px 12px;font-size:13px}
.doc-header-actions {gap:10px;min-width:0}
.doc-tools {display:flex;align-items:center;gap:12px}
.collect-box {font-size:13px;gap:8px;flex-wrap:wrap}
.library-reading .doc-disclosure {border:1px solid var(--line);border-radius:4px;background:var(--bg-elev);margin-bottom:8px;box-shadow:none}
.library-reading .doc-disclosure > summary {padding:8px 14px;min-height:44px;cursor:pointer;font-size:14px;font-weight:600}
.library-reading .library-summary {border-color:var(--line-strong)}
.library-summary [data-summary-content] {padding:0 16px 12px;line-height:1.7}
.library-summary [data-summary-content] > p {margin:4px 0;font-size:14px}
.library-summary [data-summary-content] > p.small {font-size:13px}
.library-summary [data-summary-content] > p:first-child.small {display:none}
.doc-disclosure-content {padding:0 16px 12px}
.library-reading .pdf-provenance {margin:10px 0;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg-subtle);font-size:13px;color:var(--ink-2);display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.library-reading .pdf-provenance p {margin:0;flex:1 1 480px}
.library-reading .pdf-provenance strong {font-size:13px;color:var(--ink)}
#reader {scroll-margin-top:12px;border:1px solid var(--line-strong);border-radius:6px;margin-top:12px;overflow:clip}
#reader .reader-toolbar {padding:8px 10px;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--bg-elev);align-items:center}
#reader .tb-group {gap:6px}
#reader .tb-search {flex:1 1 300px;min-width:0;max-width:520px}
#reader .tb-search-input {flex:1;min-width:80px;font-size:14px;max-width:100%}
#reader .tb-right {margin-left:auto;flex-shrink:0}
#reader .tb-status {width:100%;font-size:12px;line-height:1.5;color:var(--ink-2);margin:0}
#reader .reader-body {min-height:68vh}
#reader .pdf-scroll {height:72vh;height:72dvh;min-height:360px;background:#e6ecf1}
#reader .reader-settings > summary {min-height:44px;display:flex;align-items:center;cursor:pointer}
#reader .reader-settings-content {background:var(--bg-elev);border:1px solid var(--line-strong);box-shadow:var(--shadow-2)}
/* Back office shares shell, but operations have their own contextual navigation. */
.library-admin .sidebar,.library-admin .category-bar,.library-admin .nav-toggle {display:none}
.library-admin .shell {grid-template-columns:minmax(0,1fr);max-width:1320px}
.admin-navigation {display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;max-width:1272px;margin:16px auto 0;padding:0 24px}
.admin-navigation > span {font-size:13px;font-weight:700;color:var(--ink-2)}
.admin-navigation a {min-height:44px;display:flex;align-items:center;font-size:14px}
.admin-navigation a[aria-current="page"] {font-weight:650;box-shadow:inset 0 -2px var(--accent)}
.data-table {font-size:14px}
.data-table th {font-size:13px;background:var(--bg-subtle)}
.data-table td {vertical-align:top;overflow-wrap:anywhere}
.data-table .num {text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:1100px) {
 .topbar-inner {padding-inline:20px}.topnav {gap:12px}
 .catalog-layout {grid-template-columns:minmax(0,1fr)}.catalog-selected {position:static}
 .catalog-filters {grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-filters label:first-child {grid-column:span 2}
 .shell {grid-template-columns:180px minmax(0,1fr);gap:20px;padding:20px}
}
@media(max-width:980px) {
 .sidebar {display:none}.sidebar.open {display:flex}.shell {grid-template-columns:minmax(0,1fr)}
 .topnav {width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;gap:18px}
 .topnav > * {flex-shrink:0}.category-bar {display:none}
 .topbar-inner {gap:8px}.nav-toggle {margin-left:20px}
 .library-home .sidebar.open {display:flex}
 .library-reading .doc-header {flex-direction:column}.doc-header-actions {width:100%}
}
@media(max-width:600px) {
 body {font-size:15px}.shell,.library-home .shell,.library-reading .shell {padding:16px 12px 28px}
 .topbar-inner {padding:8px 12px;gap:4px 8px;min-height:60px}
 .brand-text {font-size:16px}.topnav {font-size:13px;gap:18px}
 .library-reading .brand {flex:0 0 auto}.library-reading .brand-text {display:inline}.library-reading .topnav {flex:1 1 100%}
 .search-form select {max-width:98px}.search-form button {padding-inline:12px}
 .library-home .hero {padding:0 0 16px}.library-home .hero h1 {font-size:25px}
 .library-home .hero-search button {padding-inline:14px}.home-quicklinks {gap:0 14px}
 .library-home .stat-grid {gap:10px 24px;margin-bottom:16px}.library-home .stat-hint {font-size:12px}
 .panel {padding:14px}.panel-head {flex-wrap:wrap;gap:4px;margin-bottom:12px}
 .library-home .cat-cards {grid-template-columns:repeat(2,minmax(0,1fr))}.library-home .cat-card {border-bottom:1px solid var(--line)}
 .library-home .cat-card,.library-home .topic-card {padding:12px;min-height:105px}
 .catalog-filters {grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:10px}
 .catalog-filters label:first-child {grid-column:span 2}.catalog-filters label:last-child {grid-column:auto}
 .catalog-books {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;padding:10px 4px 20px}
 .catalog-book {min-height:206px;padding:12px!important}.book-title {font-size:14px}.catalog-selected {padding:14px}
 .catalog-views {flex-wrap:wrap}.catalog-views button {padding:8px 10px;font-size:13px}
 .doc-item {flex-direction:column;gap:8px}.doc-actions {align-self:flex-start}
 .doc-line1 {gap:6px}.doc-line2 {font-size:12px;gap:4px 8px}.doc-summary {font-size:14px}
 .doc-header-actions,.doc-tools {flex-wrap:wrap}.collect-box {max-width:100%}.collect-box select {max-width:160px}
 .library-reading .doc-header h1 {font-size:22px}.library-summary [data-summary-content] {padding-inline:12px}
 .library-reading .pdf-provenance {display:block}.library-reading .pdf-provenance a {display:inline-flex;min-height:44px;align-items:center}
 #reader .reader-toolbar {padding:8px;gap:8px}#reader .tb-search {order:3;flex-basis:100%;max-width:none}
 #reader .tb-pages {flex:1 1 auto}#reader .tb-right {margin-left:0}#reader #page-input {width:48px;padding-inline:4px}
 #reader .tb-status {order:4}#reader .reader-body {grid-template-columns:minmax(0,1fr)}
 #reader .pdf-scroll {height:65vh;height:65dvh;min-height:320px}
 .admin-navigation {padding:0 12px;gap:0 14px}.admin-navigation > span {width:100%}
 .library-admin .panel {overflow-x:auto}.library-admin .data-table {min-width:620px}
 .foot {padding:20px 12px;flex-direction:column}
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .catalog-book,.catalog-book:hover {transform:none}
}
.equipment-home > summary {min-height:56px;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;list-style:none}
.equipment-home > summary::after {content:"展开设备分类 +";font-size:13px;color:var(--accent);margin-left:auto}
.equipment-home[open] > summary::after {content:"收起分类 −"}
.equipment-home > summary strong {font-size:18px}
.equipment-home > summary span {font-size:13px;color:var(--ink-2)}
.equipment-home .equipment-browser {margin:16px 0 0;padding:0;border:0;background:transparent}
.equipment-results {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.equipment-card {border-radius:4px;box-shadow:none;background:var(--bg-elev);border:1px solid var(--line);padding:16px}
.equipment-card h3 {font-size:16px;line-height:1.65}
.equipment-match-note {color:var(--ink-2);font-size:12px}
.equipment-summary-label {color:var(--accent);background:var(--accent-soft);font-size:12px}
.equipment-devices button,.equipment-branches button {border-radius:4px;font-size:13px;min-height:44px}
.equipment-devices button[aria-pressed="true"],.equipment-branches button[aria-pressed="true"] {background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.equipment-read {min-height:44px;display:inline-flex;align-items:center;font-weight:650}
.equipment-controls {background:var(--bg-subtle);padding:12px;border-radius:4px}
.equipment-controls label {font-size:13px}
#equipment-browser {scroll-margin-top:20px}
#reader .pdf-stage {height:76vh;height:76dvh;min-height:460px}
#reader .pdf-scroll {height:auto;min-height:0}
@media(max-width:600px) {
 .equipment-home > summary {align-items:flex-start;gap:4px}.equipment-home > summary span {width:100%}
 .equipment-home > summary::after {margin-left:0}.equipment-results {grid-template-columns:minmax(0,1fr)}
 .equipment-heading {flex-wrap:wrap}.equipment-controls {grid-template-columns:minmax(0,1fr)}
 #reader .pdf-stage {height:65vh;height:65dvh;min-height:340px}
}

.cd-diagnostics > summary {font-size:18px!important;font-weight:650!important}

/* Keep existing per-reader themes self-contained inside the light archive shell. */
#reader[data-reader-theme] .reader-toolbar,#reader[data-reader-theme] .reader-settings-content {
 background:var(--rd-surface,var(--bg-elev));color:var(--rd-ink,var(--ink));border-color:var(--rd-border,var(--line));
}
#reader[data-reader-theme] .pdf-scroll {background:var(--rd-bg,var(--bg-inset))}
#reader[data-reader-theme] .tb-total,#reader[data-reader-theme] .reader-settings summary {color:var(--rd-ink,var(--ink))}

/* Phone navigation wraps so every valid destination remains fully visible. */
@media(max-width:600px) {
 .topbar .topnav,.library-reading .topnav {flex-wrap:wrap;overflow:visible;width:100%;gap:0 16px;flex:1 1 100%}
 .topbar .topnav > * {flex-shrink:0;max-width:100%}
}
