:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#172b38;background:#f6f7f9;font-synthesis:none;--accent:#087e8b;--tint:#e9f5f5}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #65c7cd;outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait}a:hover{color:var(--accent)}[hidden]{display:none!important}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #e3e8ec}.header-row{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px}.brand img{height:58px;width:112px;object-fit:contain}.brand strong{font-size:23px;letter-spacing:.04em}.brand small{display:block;font-size:11px;color:#72848e;margin-top:6px;letter-spacing:.1em}.site-nav{display:flex;gap:26px;align-items:center;font-size:14px;flex-wrap:wrap}.site-nav a[aria-current]{color:var(--accent);font-weight:700}.eyebrow{text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.15em}.hero{padding:60px 0 40px;background:linear-gradient(125deg,#fff 0%,#f4f9fa 100%);border-bottom:1px solid #e3e8ec}.hero h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;font-weight:700;margin:16px 0}.hero p{max-width:670px;color:#637682;font-size:16px;line-height:1.9;margin:0}.hero-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-mark{font-size:72px;line-height:1;letter-spacing:-.08em;color:#dae9ed;font-weight:800;white-space:nowrap}main{padding:32px 0 72px;min-height:55vh}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.tabs{background:#e9edef;display:flex;padding:4px;border-radius:9px;gap:4px}.tabs button{border:0;background:transparent;color:#62727c;padding:10px 18px;border-radius:7px}.tabs button[aria-pressed=true]{background:#fff;color:#172b38;box-shadow:0 1px 5px #15263312;font-weight:650}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters input,.filters select{background:#fff;border:1px solid #dce3e7;border-radius:7px;min-height:41px;padding:9px 12px;color:#334956}.filters input{width:240px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce3e7;background:#fff;padding:10px 16px;border-radius:7px;color:#334956;min-height:41px}.button:hover{border-color:var(--accent);color:var(--accent)}.result-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#738591;margin-bottom:17px}.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{padding:25px;background:#fff;border:1px solid #e1e6ea;border-radius:12px;display:flex;flex-direction:column;min-width:0;transition:border-color .18s,box-shadow .18s}.resource-card:hover{border-color:#abcace;box-shadow:0 8px 24px #1d455407}.card-meta{display:flex;gap:10px;font-size:12px;color:#82919a;align-items:center}.kind{padding:4px 8px;border-radius:4px;color:var(--accent);background:var(--tint);font-weight:650}.resource-card h2{font-size:20px;line-height:1.55;margin:19px 0 12px;overflow-wrap:anywhere}.summary{font-size:14px;color:#70818d;line-height:1.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 28px;min-height:75px}.card-footer{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid #edf0f2;font-size:12px;color:#8a98a1}.card-footer a{color:var(--accent);font-weight:600;white-space:nowrap}.empty{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed #d8e2e7;border-radius:10px;padding:70px 24px;color:#71838e;line-height:1.8}.library-status{padding:18px 22px;border-radius:9px;background:#eaf3f5;color:#4c6d79;margin-bottom:20px}.library-status.error{background:#fff1ee;color:#a9452d}#retry{margin-bottom:20px}.back{font-size:14px;color:#6e828c;display:inline-block;margin:2px 0 30px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.article{background:#fff;border:1px solid #e0e7eb;border-radius:12px;padding:40px}.article h1{font-size:clamp(26px,4vw,36px);line-height:1.45;margin:14px 0 18px;overflow-wrap:anywhere}.detail-meta{font-size:13px;color:#8997a0;padding-bottom:24px;border-bottom:1px solid #edf0f2}.detail-summary{font-size:17px;line-height:1.9;color:#5d7380;background:#f4f8f9;border-left:3px solid var(--accent);padding:18px 22px;margin:28px 0}.article-body{font-size:16px;line-height:1.95;color:#344f5e;overflow-wrap:anywhere}.article-body p{white-space:pre-wrap}.article-body h2,.article-body h3,.article-body h4{color:#1d3542;margin-top:30px}.downloads{background:#fff;border:1px solid #e0e7eb;border-radius:12px;padding:24px}.downloads h2{font-size:17px;margin:0 0 18px}.download{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #edf0f2;padding:16px 0;font-size:14px;overflow-wrap:anywhere}.file-size{font-size:11px;color:#879ba7;flex-shrink:0}.muted{color:#85939c;font-size:13px;line-height:1.8}.footer{background:#fff;border-top:1px solid #e3e8ec;padding:30px 0;font-size:12px;color:#8b9aa3}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.skip{position:absolute;left:-9999px}.skip:focus{position:static;background:#fff;padding:10px}body[data-brand=ghrlib]{--accent:#163f56;--tint:#eaf0f4}body[data-brand=iqingyun]{--accent:#0c8891;--tint:#e5f5f4}@media(max-width:1000px){.results{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:flex-start;flex-direction:column}.detail-grid{grid-template-columns:minmax(0,1fr) 260px}.hero-mark{font-size:54px}}@media(max-width:640px){.wrap{width:calc(100% - 32px)}.header-row{padding:17px 0;align-items:flex-start;flex-direction:column;gap:20px}.site-nav{gap:18px;font-size:13px}.hero{padding:35px 0 30px}.hero-row{display:block}.hero-mark{display:none}.hero p{font-size:14px}.results,.detail-grid{grid-template-columns:1fr}.filters{width:100%;gap:8px}.filters input{width:100%;flex:1 0 100%}.filters select{flex:1;min-width:0}.filters button{flex-shrink:0}.tabs button{padding:9px 20px}.resource-card{padding:22px}.article{padding:25px 22px}.summary{min-height:0}.back{margin-bottom:22px}main{padding-top:24px}.footer{padding:24px 0}}

body[data-brand=iqingyun] .brand img{display:block;flex:none;width:64px;height:64px;object-fit:contain}
body[data-brand=iqingyun] .brand-name{color:#080e17;font-size:34px;font-weight:700;line-height:1.15;letter-spacing:0;white-space:nowrap}

.reader-hero { padding: 39px 0 33px; }
.reader-hero h1 { margin: 0 0 11px; }
.reader-hero p { color: #526975; }
.reader-main { padding-top: 22px; }
.reader-status-row { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 15px; }
.reader-status-row .library-status { margin: 0; padding: 5px 0; border-radius: 0; background: transparent; color: #5a717d; font-size: 13px; }
.reader-status-row .library-status.error { color: #974332; }
.reader-status-row #retry { margin: 0; min-height: 30px; padding: 4px 11px; font-size: 13px; }
.reader-main .toolbar { margin-bottom: 22px; }
.reader-layout { display: grid; grid-template-columns: minmax(176px, 225px) minmax(0, 1fr); gap: 22px; align-items: start; }
.reader-index { position: sticky; top: 18px; background: #fff; border: 1px solid #dfe7ea; border-radius: 12px; padding: 17px; min-width: 0; }
.reader-index-header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px; padding-bottom: 11px; border-bottom: 1px solid #e7eeef; }
.reader-index-header h2 { font-size: 16px; margin: 0; }
.reader-index-header span { color: #617684; font-size: 12px; }
.reader-index nav { display: grid; gap: 6px; max-height: min(62vh, 550px); overflow: auto; margin-top: 9px; }
.reader-index a { display: block; border-radius: 7px; padding: 9px 8px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.reader-index a:hover, .reader-index a:focus-visible { background: var(--tint); color: #075b67; }
.reader-results { display: grid; gap: 22px; min-width: 0; }
.reader-item { display: block; padding: 0; overflow: clip; min-width: 0; scroll-margin-top: 22px; }
.reader-item:hover { border-color: #dfe7ea; box-shadow: none; }
.reader-item-head { display: grid; gap: 11px; padding: 24px 25px 16px; }
.reader-item-head h1, .reader-item-head h2 { margin: 0; font-size: clamp(22px, 3vw, 31px); line-height: 1.38; letter-spacing: -.018em; overflow-wrap: anywhere; }
.reader-meta { display: flex; justify-content: space-between; gap: 8px 18px; align-items: baseline; flex-wrap: wrap; margin: 0; font-size: 13px; color: #617684; }
.reader-meta a { color: #086474; text-decoration: underline; text-underline-offset: 3px; }
.reader-item-main { display: grid; gap: 20px; min-width: 0; padding: 0 25px 25px; }
.reader-summary { margin: 0; padding: 12px 16px; border-left: 3px solid var(--accent); background: #f3f9f9; line-height: 1.75; color: #425a69; white-space: pre-wrap; overflow-wrap: anywhere; }
.reader-item .article-body p { white-space: pre-wrap; margin: 0 0 14px; }
.reader-item .article-body > :last-child { margin-bottom: 0; }
.reader-attachments { display: grid; gap: 8px; }
.reader-attachments h3 { margin: 0; font-size: 15px; }
.reader-download { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border: 1px solid #c5e2e5; background: #eef8f8; border-radius: 9px; }
.reader-download:hover { background: #e1f2f3; border-color: #86bfc5; }
.reader-file-name { display: flex; gap: 5px 9px; flex-wrap: wrap; align-items: baseline; min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.reader-file-size { white-space: nowrap; color: #607582; }
.reader-download-label { flex: none; color: #076471; font-weight: 700; font-size: 13px; }
.reader-previews { display: grid; gap: 14px; min-width: 0; }
.reader-preview { border: 1px solid #dce6ea; border-radius: 10px; overflow: clip; min-width: 0; background: #f6f8fa; scroll-margin-top: 12px; }
.reader-preview-head { padding: 13px 15px; display: flex; flex-wrap: wrap; gap: 5px 12px; justify-content: space-between; align-items: baseline; border-bottom: 1px solid #e1e9ed; background: white; }
.reader-preview-head h3 { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
.reader-preview-head a { color: #086474; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.reader-preview-body { padding: 13px; }
.reader-preview-note { color: #5a717d; font-size: 14px; line-height: 1.6; margin: 0; }
.reader-preview-error { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.reader-picture { margin: 0; display: grid; place-items: center; min-width: 0; }
.reader-picture img { display: block; width: 100%; max-width: 920px; height: auto; background: white; border-radius: 6px; }
.reader-picture img.reader-poster { max-width: 750px; }
.reader-picture figcaption { font-size: 13px; color: #617684; padding-top: 8px; }
.reader-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; margin-bottom: 12px; }
.reader-pdf-controls { position: sticky; top: 0; z-index: 2; padding: 5px 0; background: #f6f8fa; }
.reader-controls label { color: #415a68; font-size: 13px; }
.reader-controls .button, .reader-controls select, .reader-preview-note .button { min-height: 38px; padding: 7px 10px; font-size: 13px; }
.reader-controls .button:disabled { cursor: default; color: #647888; background: #edf1f3; }
.reader-controls .button[aria-pressed=true] { background: #e6f2f3; border-color: #aad5da; color: #075b67; font-weight: 650; }
.reader-controls select { background: white; color: #334956; border: 1px solid #dce3e7; border-radius: 7px; max-width: 100%; }
.reader-controls output { color: #415a68; font-size: 13px; }
.reader-page-text { margin: 0; padding: 14px 16px; background: white; border-radius: 7px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.82; color: #253b4a; }
.reader-sheet-scroll { max-height: 570px; overflow: auto; background: white; border: 1px solid #dce6ea; border-radius: 7px; }
.reader-sheet { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; line-height: 1.52; color: #2d4452; }
.reader-sheet th, .reader-sheet td { padding: 9px 11px; min-width: 88px; max-width: 330px; border-right: 1px solid #e1e8eb; border-bottom: 1px solid #e1e8eb; text-align: left; vertical-align: top; white-space: pre-wrap; overflow-wrap: anywhere; }
.reader-sheet thead th { position: sticky; top: 0; background: #eaf2f4; color: #395561; z-index: 1; }
.reader-sheet tr > :first-child { min-width: 44px; max-width: 65px; color: #566f7a; background: #edf3f5; }
.reader-sheet tbody tr:nth-child(even) td { background: #f8fbfc; }
.reader-sheet-media { display: grid; gap: 12px; margin-top: 14px; }
.reader-detail { max-width: 940px; margin: 0 auto; }
.reader-detail .reader-item { border: 1px solid #dfe7ea; border-radius: 12px; background: white; }
.reader-detail .back { margin-bottom: 17px; }
.reader-empty { margin: 0; color: #617684; font-size: 14px; line-height: 1.6; }
@media (max-width: 780px) {
  .reader-hero { padding: 28px 0 24px; }
  .reader-layout { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .reader-index { position: static; padding: 13px; }
  .reader-index nav { max-height: 170px; gap: 3px; }
  .reader-index a { padding: 7px 5px; }
  .reader-results { gap: 15px; }
  .reader-item-head { padding: 16px 14px 13px; }
  .reader-item-main { padding: 0 14px 16px; gap: 14px; }
  .reader-preview-body { padding: 8px; }
  .reader-preview-head { padding: 10px; }
  .reader-sheet-scroll { max-height: 480px; }
}
