:root {
  --navy: #063a7d;
  --blue: #0d69cb;
  --bright: #167ee2;
  --ink: #16477e;
  --muted: #6a83a3;
  --line: #dceaf8;
  --soft: #f5faff;
  --shadow: 0 5px 15px rgba(24, 91, 166, 0.11);
  font-family: "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;
  color: var(--ink);
  background: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; zoom: 0.85; }
body { margin: 0; min-width: 320px; background: linear-gradient(#fff 0, #f9fcff 68%, #edf6ff 100%); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
.container { width: min(1450px, calc(100% - 48px)); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.utility-bar { height: 24px; background: #eaf4fd; color: #4d6686; font-size: 12px; }
.utility-inner { display: flex; justify-content: space-between; align-items: center; height: 100%; }
.utility-links { display: flex; align-items: center; gap: 12px; }
.utility-links button, .utility-links a { padding: 0; color: #2e4d78; background: transparent; font-size: 12px; }
.utility-links button:hover, .utility-links a:hover { color: var(--bright); }
.utility-links i { width: 1px; height: 11px; background: #9ab4cf; }

.site-header { background: #fff; box-shadow: 0 1px 0 rgba(16, 73, 133, 0.08); }
.header-main { min-height: 63px; display: flex; align-items: center; gap: 30px; }
.brand { display: flex; align-items: center; gap: 10px; min-width: 245px; color: var(--navy); }
.brand-mark { width: 68px; height: 58px; display: grid; place-items: center; color: var(--navy); }
.brand-mark svg { width: 60px; height: 60px; }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font-family: "STKaiti", "KaiTi", serif; font-size: 26px; letter-spacing: 2px; white-space: nowrap; }
.brand-copy small { margin-top: 4px; font: 700 15px Georgia, serif; letter-spacing: 0.2px; }
.header-motto { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; flex: 1; color: #0e5398; font: 16px "STKaiti", "KaiTi", serif; line-height: 1.35; letter-spacing: 2px; }
.header-motto span { white-space: nowrap; }
.header-search { display: flex; align-items: center; width: min(535px, 43vw); height: 36px; border: 1px solid #c7d5e5; border-radius: 6px; overflow: hidden; background: white; }
.search-glyph { padding-left: 14px; color: #718aa8; font-size: 25px; line-height: 1; transform: translateY(-2px); }
.header-search input { min-width: 0; flex: 1; height: 100%; border: 0; outline: 0; padding: 0 10px; color: var(--ink); font-size: 13px; }
.header-search form:focus-within { box-shadow: 0 0 0 3px rgba(20, 119, 218, .12); }
.header-search > button[type="submit"] { height: 100%; padding: 0 22px; background: var(--navy); color: #fff; font-size: 14px; }
.header-search > button[type="submit"]:hover { background: #0c559e; }
.advanced-link { margin: 0 12px; padding: 0; background: transparent; color: #0c67c2; font-size: 13px; white-space: nowrap; }

.primary-nav { height: 31px; background: linear-gradient(90deg, #0b4d97, #073676); color: #fff; }
.nav-inner { display: grid; grid-template-columns: repeat(8, 1fr); height: 100%; }
.nav-inner a { display: grid; place-items: center; font-size: 15px; transition: background .2s, color .2s; }
.nav-inner a:hover, .nav-inner a.active { background: linear-gradient(#1682df, #0b6fca); color: #fff; box-shadow: inset 0 -3px 0 #73c5ff; }

.hero { position: relative; min-height: 195px; overflow: hidden; background: linear-gradient(90deg, #a9d8fa 0%, #e7f6ff 25%, #f7fcff 50%, #e8f6ff 75%, #a9d8fa 100%); }
.hero-campus { position: absolute; inset: 0 auto 0 0; width: 31%; background-repeat: no-repeat; background-position: left center; background-size: cover; opacity: .94; mix-blend-mode: multiply; }
.hero-campus-left { background-image: url("./campus-left.jpg"); }
.hero-campus-right { left: auto; right: 0; background-image: url("./campus-right.jpg"); background-position: right center; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(92, 184, 246, .06), rgba(255,255,255,.94) 31%, rgba(255,255,255,.94) 69%, rgba(92,184,246,.06)); z-index: 1; }
.hero-network { position: absolute; inset: 0; z-index: 2; opacity: .56; background: radial-gradient(circle at 15% 80%, transparent 0 26px, rgba(28, 133, 225, .24) 27px 28px, transparent 29px), radial-gradient(circle at 88% 22%, transparent 0 30px, rgba(28, 133, 225, .2) 31px 32px, transparent 33px), repeating-linear-gradient(157deg, transparent 0 48px, rgba(66, 160, 229, .16) 49px 50px, transparent 51px 108px); }
.hero-content { position: relative; z-index: 3; padding-top: 9px; text-align: center; }
.hero h1 { margin: 0; color: #0c4b96; font: 700 33px "STKaiti", "KaiTi", serif; letter-spacing: 8px; text-shadow: 0 2px 0 #fff; }
.hero-subtitle { margin: 1px 0 3px; color: #0754a0; font-size: 17px; font-weight: 700; letter-spacing: 1px; }
.search-panel { width: min(850px, 100%); margin: 0 auto; padding: 6px 28px 7px; background: rgba(255,255,255,.95); border-radius: 8px; box-shadow: 0 4px 14px rgba(38, 106, 170, .16); text-align: left; }
.search-tabs { display: flex; gap: 0; align-items: center; height: 25px; }
.search-tabs button { min-width: 54px; height: 22px; padding: 0 13px; border-radius: 12px; color: #587491; background: transparent; font-size: 12px; }
.search-tabs button:hover { color: var(--bright); }
.search-tabs button.selected { color: #fff; background: #0d559f; font-weight: 700; }
.hero-search { display: flex; height: 32px; border: 1px solid #cbd8e8; border-radius: 4px; overflow: hidden; background: #fff; }
.hero-search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 14px; color: #335f8e; font-size: 13px; }
.hero-search input:focus { box-shadow: inset 0 0 0 2px rgba(26,125,220,.12); }
.hero-search button[type="submit"] { width: 88px; background: #0c64bc; color: #fff; font-size: 13px; }
.hero-search button[type="submit"]:hover { background: #084d98; }
.hero-advanced { width: 86px; color: #0c63bb; background: #fff; font-size: 12px; }
.hot-searches { display: flex; align-items: center; gap: 19px; padding-top: 5px; white-space: nowrap; overflow: auto; color: #7290af; font-size: 11px; }
.hot-searches strong { color: #315a85; font-size: 12px; }
.hot-searches button { padding: 0; color: #5e83aa; background: transparent; font-size: 11px; }
.hot-searches button:hover { color: #0873d2; }

.stats-grid { position: relative; z-index: 5; display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; margin-top: -1px; }
.stat-card { min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid #e5f0fa; border-radius: 4px; background: #fff; box-shadow: var(--shadow); }
.stat-icon { color: #0c73d3; font-size: 31px; line-height: 1; }
.stat-card div { display: flex; flex-direction: column; }
.stat-card strong { color: #0862be; font-size: 20px; line-height: 1.05; }
.stat-card strong small { font-size: 12px; }
.stat-card div > span { margin-top: 2px; color: #6280a1; font-size: 12px; }

.service-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 10px; }
.service-card, .topic-card, .discipline-card, .resource-card { display: flex; align-items: center; text-align: left; border: 1px solid #e2edf8; border-radius: 4px; background: #fff; color: var(--ink); box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s, border-color .2s; }
.service-card:hover, .topic-card:hover, .discipline-card:hover, .resource-card:hover { transform: translateY(-2px); border-color: #a6d1f5; box-shadow: 0 8px 18px rgba(14, 101, 188, .16); }
.service-card { min-height: 82px; padding: 13px 14px; gap: 12px; }
.service-icon { flex: 0 0 32px; display: grid; place-items: center; color: #0a72d2; font-size: 32px; line-height: 1; }
.service-card > span:nth-child(2), .topic-card > span:nth-child(2), .discipline-card > span:nth-child(2), .resource-card > span:nth-child(2) { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.service-card strong { color: #0757a4; font-size: 15px; }
.service-card small { margin-top: 6px; color: #66819f; font-size: 11px; line-height: 1.35; }
.service-card b, .topic-card b, .discipline-card b, .resource-card b { align-self: flex-start; color: #0d74d5; font-size: 20px; font-weight: 400; }

.content-section { margin-top: 10px; }
.section-heading, .panel-heading { display: flex; align-items: center; height: 29px; border-bottom: 1px solid #cfe4f7; }
.section-heading h2, .panel-heading h2 { position: relative; margin: 0; padding-left: 14px; color: #0d4b94; font-size: 16px; }
.section-heading h2::before, .panel-heading h2::before { content: ""; position: absolute; left: 0; top: 2px; width: 5px; height: 19px; border-radius: 4px; background: #0b74d4; }
.section-heading button, .section-heading a, .panel-heading > button, .panel-heading > a { margin-left: auto; padding: 0; color: #0c6bc8; background: transparent; font-size: 12px; }
.section-heading button span, .section-heading a span, .panel-heading button span, .panel-heading a span { font-size: 18px; vertical-align: -1px; }
.topic-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; padding-top: 6px; }
.topic-card { min-height: 62px; padding: 8px 10px; gap: 10px; }
.topic-icon { flex: 0 0 31px; display: grid; place-items: center; color: #0c70d0; font-size: 29px; line-height: 1; }
.topic-card strong, .resource-card strong { color: #0759a5; font-size: 14px; }
.topic-card small, .resource-card small { margin-top: 5px; color: #6984a1; font-size: 10px; line-height: 1.3; }

.discipline-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; padding-top: 6px; }
.discipline-card { min-height: 70px; align-items: flex-start; padding: 8px 9px; gap: 8px; }
.discipline-icon { flex: 0 0 31px; display: grid; place-items: center; height: 31px; border-radius: 8px; color: #fff; font-size: 25px; line-height: 1; }
.discipline-icon.purple { background: #8c53d3; }.discipline-icon.blue { background: #1477dc; }.discipline-icon.red { background: #df3339; }.discipline-icon.navy { background: #0759ac; }
.discipline-card strong { color: #0759a5; font-size: 13px; white-space: nowrap; }
.discipline-card em { display: flex; flex-direction: column; gap: 1px; min-width: 0; margin-top: 4px; color: #6984a1; font-style: normal; font-size: 9px; line-height: 1.35; }
.discipline-card em > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.resource-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding-top: 6px; }
.resource-card { min-height: 45px; padding: 8px 12px; gap: 11px; }
.resource-icon { flex: 0 0 29px; display: grid; place-items: center; color: #0c70d0; font-size: 27px; line-height: 1; }
.resource-card small { margin-top: 3px; font-size: 10px; }

.lower-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 7px; }
.notice-panel, .dataset-panel { min-width: 0; }
.panel-heading { height: 28px; }
.panel-heading > div { display: flex; margin-left: 20px; gap: 14px; align-self: stretch; align-items: flex-end; }
.panel-tab { height: 27px; padding: 0 2px; color: #8aa0b7; background: transparent; font-size: 12px; }
.panel-tab.active { color: #0b5aa8; border-bottom: 2px solid #0b74d4; }
.notice-list { padding-top: 4px; }
.notice-list button { width: 100%; display: grid; grid-template-columns: 40px minmax(0, 1fr) 84px 14px; align-items: center; gap: 9px; min-height: 25px; padding: 0 7px; border-bottom: 1px dashed #dce8f3; background: transparent; color: #5d7898; font-size: 11px; text-align: left; }
.notice-list a { width: 100%; display: grid; grid-template-columns: 40px minmax(0, 1fr) 84px 14px; align-items: center; gap: 9px; min-height: 25px; padding: 0 7px; border-bottom: 1px dashed #dce8f3; background: transparent; color: #5d7898; font-size: 11px; text-align: left; }
.notice-list button:hover { background: #f2f8ff; color: #0a62b7; }
.notice-list a:hover { background: #f2f8ff; color: #0a62b7; }
.notice-list button > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notice-list time { color: #8ca2b8; text-align: right; font-size: 10px; }
.notice-list b { color: #6e93b9; font-size: 17px; font-weight: 400; }
.tag { display: inline-grid; place-items: center; width: 36px; height: 18px; border-radius: 3px; color: white; font-size: 10px; }
.tag.orange { background: #ff846d; }.tag.blue { background: #3e9fe7; }.tag.cyan { background: #51c1dd; }.tag.green { background: #4fca91; }
.dataset-table-wrap { overflow-x: auto; padding-top: 4px; }
.dataset-panel table { width: 100%; border-collapse: collapse; color: #607d9e; font-size: 10px; }
.dataset-panel th { height: 22px; background: #edf5fc; color: #557493; font-weight: 400; text-align: left; white-space: nowrap; }
.dataset-panel td { height: 22px; border-bottom: 1px solid #edf3f8; white-space: nowrap; }
.dataset-panel th:first-child, .dataset-panel td:first-child { width: 30px; text-align: center; }.dataset-panel th:nth-child(3), .dataset-panel td:nth-child(3) { width: 58px; }.dataset-panel th:nth-child(4), .dataset-panel td:nth-child(4) { width: 62px; }.dataset-panel th:nth-child(5), .dataset-panel td:nth-child(5) { width: 84px; }
.rank { display: inline-grid; place-items: center; width: 15px; height: 15px; border-radius: 3px; background: #8ca8c1; color: #fff; font-style: normal; font-size: 9px; }.rank-1 { background: #f78b2d; }.rank-2 { background: #eba62f; }.rank-3 { background: #e8ab69; }
.fire { color: #ff4d36; font-size: 15px; vertical-align: -1px; }

.site-footer { margin-top: 13px; min-height: 67px; background: linear-gradient(90deg, #0b3267, #164e91); color: #d7e8fb; }
.footer-inner { display: flex; align-items: center; justify-content: center; min-height: 67px; }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; color: #d7e8fb; font-size: 11px; line-height: 1.7; text-align: center; }
.footer-legal span { white-space: nowrap; }.footer-legal i { display: inline-block; width: 1px; height: 12px; margin: 0 14px; background: #7a9cc0; }.footer-legal p { flex-basis: 100%; margin: 1px 0 0; color: #c7dcf3; }
.page-shell { min-height: 100vh; display: flex; flex-direction: column; }
.page-shell > main { flex: 1 0 auto; }
.site-footer.opencorpus-footer { width: 100%; min-height: 0; box-sizing: border-box; margin-top: 13px; padding: 0; border-top: 1px solid #dce7f3; background: #f5f9fd; color: #315578; text-align: center; font-size: 14px; line-height: 1.9; }
.site-footer.opencorpus-footer .footer-inner { display: block; min-height: 0; padding: 22px 20px; box-sizing: border-box; }
.opencorpus-footer .footer-support, .opencorpus-footer .footer-copyright, .opencorpus-footer .footer-records { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
.opencorpus-footer .footer-support { gap: 8px 32px; margin-bottom: 6px; color: #174f8d; font-size: 15px; font-weight: 600; }
.opencorpus-footer .footer-copyright { gap: 0 10px; margin-bottom: 6px; }
.opencorpus-footer a { color: inherit; text-decoration: none; }
.opencorpus-footer a:hover, .opencorpus-footer a:focus-visible { color: #1677d2; text-decoration: underline; }
.opencorpus-footer .footer-records { gap: 8px 32px; }
.opencorpus-footer .footer-records a { display: inline-flex; align-items: center; gap: 5px; }
.opencorpus-footer .footer-records img { width: 15px; height: 17px; object-fit: contain; flex-shrink: 0; }
.toast { position: fixed; left: 50%; bottom: 30px; z-index: 20; transform: translate(-50%, 20px); padding: 10px 18px; border-radius: 4px; background: rgba(9, 53, 107, .95); color: #fff; box-shadow: 0 7px 22px rgba(0,0,0,.2); opacity: 0; pointer-events: none; transition: opacity .22s, transform .22s; font-size: 13px; }.toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1180px) {
  .container { width: min(100% - 28px, 1050px); }
  .header-motto { gap: 10px; font-size: 15px; }
  .service-grid { grid-template-columns: repeat(3, 1fr); }
  .topic-grid { grid-template-columns: repeat(3, 1fr); }
  .discipline-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 760px) {
  .container { width: min(100% - 22px, 620px); }
  .utility-inner { font-size: 10px; }.utility-links { gap: 7px; }.utility-links i { margin: 0 1px; }
  .header-main { flex-wrap: wrap; gap: 5px 12px; padding: 9px 0; }.brand { min-width: auto; }.brand-mark { width: 49px; height: 45px; }.brand-mark svg { width: 44px; height: 44px; }.brand-copy strong { font-size: 21px; }.brand-copy small { font-size: 12px; }.header-motto { order: 3; width: 100%; justify-content: center; gap: 7px 12px; font-size: 14px; }.header-search { flex: 1; width: auto; height: 32px; }.header-search > button[type="submit"] { padding: 0 12px; }.advanced-link { display: none; }
  .primary-nav { height: auto; }.nav-inner { display: flex; overflow-x: auto; }.nav-inner a { flex: 0 0 86px; height: 34px; font-size: 13px; }
  .hero { min-height: 238px; }.hero-campus { width: 50%; opacity: .35; }.hero::before { background: rgba(255,255,255,.8); }.hero h1 { font-size: 29px; }.hero-subtitle { font-size: 15px; }.search-panel { padding: 7px 10px; }.search-tabs { overflow-x: auto; }.hot-searches { gap: 12px; }
  .stats-grid { grid-template-columns: repeat(3, 1fr); gap: 6px; }.stat-card { min-height: 58px; gap: 5px; flex-direction: column; padding: 5px; }.stat-icon { font-size: 22px; }.stat-card strong { font-size: 16px; }.stat-card div > span { font-size: 10px; }
  .service-grid, .topic-grid, .discipline-grid, .resource-grid { grid-template-columns: repeat(2, 1fr); gap: 7px; }.service-card { min-height: 90px; padding: 9px; }.service-icon { font-size: 25px; flex-basis: 25px; }.service-card strong, .topic-card strong, .resource-card strong { font-size: 12px; }.service-card small, .topic-card small, .resource-card small { font-size: 10px; }.discipline-card { min-height: 80px; padding: 7px; }.discipline-card strong { font-size: 11px; white-space: normal; }.discipline-card em { font-size: 9px; }
  .lower-grid { grid-template-columns: 1fr; gap: 15px; }.site-footer.opencorpus-footer { font-size: 12px; }.site-footer.opencorpus-footer .footer-inner { padding: 18px 12px; }.opencorpus-footer .footer-support { font-size: 13px; gap: 4px 16px; }.opencorpus-footer .footer-copyright { gap: 0 7px; }.opencorpus-footer .footer-records { gap: 6px 16px; }
}
@media (max-width: 420px) { .stats-grid { grid-template-columns: repeat(2, 1fr); }.service-grid, .topic-grid, .discipline-grid, .resource-grid { grid-template-columns: 1fr; }.hero-search button[type="submit"] { width: 70px; }.hero-advanced { display: none; }.notice-list button { grid-template-columns: 40px minmax(0, 1fr) 14px; }.notice-list time { display: none; } }

/* Corpus retrieval page */
.retrieval-page { background: linear-gradient(#fff 0, #f6faff 36%, #edf6ff 100%); }
.retrieval-hero { min-height: 191px; }
.retrieval-hero .hero-content { padding-top: 10px; }
.retrieval-hero h1 { letter-spacing: 5px; }
.retrieval-hero .hero-subtitle { margin-bottom: 7px; }
.retrieval-hero .search-panel { width: min(860px, 100%); padding: 8px 28px 9px; }
.retrieval-hero .hero-search { height: 37px; }
.retrieval-hero .hot-searches { padding-top: 6px; }
.retrieval-breadcrumb { display: flex; align-items: center; gap: 9px; height: 35px; color: #7d98b5; font-size: 12px; }
.retrieval-breadcrumb a:hover { color: var(--bright); }
.retrieval-breadcrumb strong { color: #35618f; font-weight: 700; }
.retrieval-workspace { display: grid; grid-template-columns: 270px minmax(0, 1fr) 285px; gap: 14px; align-items: start; padding-bottom: 21px; }
.filter-panel, .results-panel, .side-panel { min-width: 0; border: 1px solid #dceaf8; border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.filter-panel { overflow: hidden; }
.filter-heading { display: flex; align-items: center; gap: 10px; height: 43px; padding: 0 17px; border-bottom: 1px solid #d9e9f8; background: linear-gradient(90deg, #f7fbff, #fff); }
.filter-heading-icon { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 5px; color: #fff; background: #1477dc; font-size: 14px; }
.filter-heading h2, .side-heading h2 { margin: 0; color: #0c5cae; font-size: 16px; }
.filter-block { padding: 12px 16px 13px; border-bottom: 1px solid #edf3f9; }
.filter-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; color: #1164b9; }
.filter-title strong { font-size: 14px; }
.filter-title span { color: #6d9bc9; font-size: 16px; }
.filter-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 10px; }
.filter-options-wide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.filter-options label { display: flex; align-items: center; min-width: 0; gap: 6px; color: #5d7898; font-size: 11px; line-height: 1.25; cursor: pointer; }
.filter-options label:hover { color: #0b6dc7; }
.filter-options input { flex: 0 0 auto; width: 14px; height: 14px; margin: 0; accent-color: #1477dc; }
.filter-options label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 16px 14px; }
.filter-actions button { height: 29px; border-radius: 5px; font-size: 12px; }
.filter-reset { border: 1px solid #8bbcf0; color: #1674ce; background: #fff; }
.filter-apply { color: #fff; background: linear-gradient(135deg, #2b9bf4, #0c69c8); box-shadow: 0 4px 10px rgba(15, 112, 205, .18); }
.filter-actions button:hover { transform: translateY(-1px); }

.results-panel { overflow: hidden; }
.results-tabs { display: flex; align-items: stretch; min-height: 43px; padding: 0 10px; border-bottom: 1px solid #d9e9f8; background: #fff; }
.results-tabs button { position: relative; display: flex; align-items: center; gap: 7px; height: 43px; padding: 0 16px; color: #6b86a4; background: transparent; font-size: 13px; white-space: nowrap; }
.results-tabs button span { color: #347dca; font-size: 17px; }
.results-tabs button:hover, .results-tabs button.active { color: #0866c4; }
.results-tabs button.active { font-weight: 700; }
.results-tabs button.active::after { content: ""; position: absolute; right: 10px; bottom: -1px; left: 10px; height: 3px; border-radius: 3px 3px 0 0; background: #1c7fe1; }
.result-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 46px; padding: 5px 10px 4px; }
.result-summary { color: #718aa7; font-size: 12px; white-space: nowrap; }
.result-summary strong { color: #2879cf; font-size: 16px; }
.active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; min-width: 0; }
.filter-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 150px; height: 25px; padding: 0 8px; border: 1px solid #cfe3f6; border-radius: 4px; color: #4f759c; background: #f2f8fe; font-size: 11px; }
.filter-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filter-chip b { color: #6e9bc6; font-size: 14px; font-weight: 400; }
.filter-chip:hover { border-color: #8fc1ed; color: #1268b9; }
.filter-hint { color: #9aafc3; font-size: 11px; }
.sort-buttons { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.sort-buttons button { height: 27px; padding: 0 9px; border: 1px solid #d7e7f5; border-radius: 4px; color: #6f8ba9; background: #fff; font-size: 11px; }
.sort-buttons button:hover, .sort-buttons button.active { border-color: #79b5ed; color: #1168bf; background: #eef7ff; }
.result-list { display: grid; gap: 7px; padding: 0 10px; }
.result-card { display: grid; grid-template-columns: 47px minmax(0, 1fr) 91px; gap: 10px; align-items: start; padding: 10px 11px; border: 1px solid #e0edf8; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(29, 101, 170, .08); transition: border-color .2s, box-shadow .2s, transform .2s; }
.result-card:hover { border-color: #9bc9f2; box-shadow: 0 6px 15px rgba(22, 115, 203, .13); transform: translateY(-1px); }
.result-card.is-hidden { display: none; }
.result-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 7px; color: #fff; background: linear-gradient(145deg, #1683ed, #0d63bb); box-shadow: inset 0 0 0 1px rgba(255,255,255,.23); font-size: 28px; line-height: 1; }
.result-icon-comment { background: linear-gradient(145deg, #208fe9, #1662c1); }
.result-icon-chart { background: linear-gradient(145deg, #399ee7, #1668c4); }
.result-icon-globe { background: linear-gradient(145deg, #347ee0, #2751b5); }
.result-icon-education { background: linear-gradient(145deg, #468fe3, #1c65b9); }
.result-icon-video { background: linear-gradient(145deg, #2b97e7, #205eb5); }
.result-content { min-width: 0; }
.result-title-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.result-title-row h3 { min-width: 0; margin: 0; overflow: hidden; color: #0d5daf; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.result-tags { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.result-tags span { padding: 3px 7px; border-radius: 3px; color: #3482ca; background: #eaf5ff; font-size: 10px; white-space: nowrap; }
.result-content p { margin: 5px 0 5px; overflow: hidden; color: #6b83a0; font-size: 11px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.result-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; color: #8a9fb6; font-size: 9px; line-height: 1.45; }
.result-meta i { width: 1px; height: 10px; background: #c9d8e6; }
.result-actions { display: flex; flex-direction: column; gap: 6px; padding-top: 1px; }
.result-actions button { height: 27px; border-radius: 4px; color: #fff; background: linear-gradient(135deg, #1d8bee, #0f69c7); font-size: 11px; }
.result-actions button:hover { background: linear-gradient(135deg, #2b9bf4, #0b5db6); }
.result-summary-row { display: flex; align-items: flex-start; gap: 12px; }
.result-summary-row > p { flex: 1; min-width: 0; }
.result-summary-image { flex: 0 0 86px; width: 86px; margin: 1px 0 0; }
.result-summary-image img { display: block; width: 86px; height: 58px; border-radius: 4px; object-fit: cover; background: #edf5fc; }
.result-summary-image figcaption { overflow: hidden; margin-top: 3px; color: #8aa1b8; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.empty-state { margin: 12px 10px; padding: 35px 20px; border: 1px dashed #b9d8f2; border-radius: 8px; color: #7594b4; background: #f7fbff; text-align: center; font-size: 13px; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 6px; padding: 14px 10px 3px; }
.pagination button { display: grid; place-items: center; min-width: 26px; height: 26px; padding: 0 7px; border: 1px solid #d8e8f6; border-radius: 4px; color: #6f8aa8; background: #fff; font-size: 11px; }
.pagination button:hover, .pagination button.current { border-color: #207fe0; color: #fff; background: #1477dc; }
.pagination .page-arrow { color: #3278bc; font-size: 18px; }
.pagination span { color: #8ca5bd; }

.search-aside { display: grid; gap: 10px; }
.side-panel { padding: 12px 14px 13px; }
.side-heading { display: flex; align-items: center; gap: 9px; height: 31px; border-bottom: 1px solid #dbeaf8; }
.side-heading > span { display: grid; place-items: center; width: 21px; height: 21px; color: #fff; background: #1477dc; border-radius: 4px; font-size: 14px; }
.side-heading h2 { font-size: 15px; }
.side-panel h3 { margin: 11px 0 7px; color: #1b5f9f; font-size: 12px; }
.distribution-list { display: grid; gap: 8px; }
.distribution-row { display: grid; grid-template-columns: 74px minmax(0, 1fr) 43px; align-items: center; gap: 7px; color: #6b83a0; font-size: 10px; }
.distribution-row > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.distribution-row > b { height: 8px; overflow: hidden; border-radius: 8px; background: #e9f1f8; }
.distribution-row > b i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #76baf2, #4e94e8); }
.distribution-row > strong { color: #6d82a0; font-size: 10px; font-weight: 400; text-align: right; }
.side-divider { height: 1px; margin: 13px 0; background: #e4eef7; }
.recommendation-panel { padding-bottom: 8px; }
.recommend-card { display: grid; grid-template-columns: 47px minmax(0, 1fr) 12px; align-items: center; gap: 9px; width: 100%; min-height: 46px; padding: 6px 0; border-bottom: 1px solid #edf3f9; color: #537494; background: transparent; text-align: left; }
.recommend-card:last-child { border-bottom: 0; }
.recommend-card:hover { color: #0c68bf; }
.recommend-thumb { width: 47px; height: 32px; border-radius: 4px; background-position: center; background-size: cover; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.recommend-post { background-image: linear-gradient(135deg, rgba(6,57,128,.45), rgba(16,126,219,.25)), url("./campus-left.jpg"); }
.recommend-economy { background-image: linear-gradient(135deg, rgba(9,76,158,.54), rgba(85,192,249,.2)), url("./campus-right.jpg"); }
.recommend-global { background-image: linear-gradient(135deg, rgba(12,75,159,.62), rgba(81,182,240,.18)), url("./campus-left.jpg"); }
.recommend-education { background-image: linear-gradient(135deg, rgba(0,64,151,.62), rgba(43,166,242,.23)), url("./campus-right.jpg"); }
.recommend-card strong, .recommend-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recommend-card strong { color: #0c5eac; font-size: 12px; }
.recommend-card small { margin-top: 4px; color: #8098b1; font-size: 10px; }
.recommend-card b { color: #6d9bc5; font-size: 19px; font-weight: 400; }

@media (max-width: 1240px) {
  .retrieval-workspace { grid-template-columns: 242px minmax(0, 1fr) 255px; gap: 10px; }
  .result-title-row { align-items: flex-start; flex-direction: column; gap: 4px; }
  .result-tags { justify-content: flex-start; }
  .result-content p { white-space: normal; }
}
@media (max-width: 1010px) {
  .retrieval-workspace { grid-template-columns: 240px minmax(0, 1fr); }
  .search-aside { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-toolbar { grid-template-columns: 1fr; align-items: start; }
  .sort-buttons { justify-self: end; }
}
@media (max-width: 760px) {
  .retrieval-hero { min-height: 235px; }
  .retrieval-hero .search-panel { padding: 7px 10px 9px; }
  .retrieval-workspace { grid-template-columns: 1fr; gap: 10px; }
  .filter-panel { order: 2; }
  .results-panel { order: 1; }
  .search-aside { order: 3; grid-column: auto; grid-template-columns: 1fr; }
  .results-tabs { overflow-x: auto; }
  .results-tabs button { padding: 0 12px; }
  .result-card { grid-template-columns: 43px minmax(0, 1fr); }
  .result-actions { grid-column: 2; flex-direction: row; padding-top: 0; }
  .result-actions button { flex: 0 1 94px; }
  .result-meta i { display: none; }
  .distribution-row { grid-template-columns: 105px minmax(0, 1fr) 47px; }
}
@media (max-width: 420px) {
  .retrieval-breadcrumb { height: 31px; }
  .retrieval-hero h1 { font-size: 29px; }
  .retrieval-hero .hero-subtitle { font-size: 14px; line-height: 1.35; }
  .result-title-row h3 { font-size: 14px; }
  .result-tags span { font-size: 9px; }
  .sort-buttons { justify-self: start; flex-wrap: wrap; }
  .filter-options-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Subject corpus page */
.subject-page { background: linear-gradient(#fff 0, #f5faff 54%, #edf6ff 100%); }
.subject-titlebar { border-bottom: 1px solid #d9ebfa; background: linear-gradient(90deg, #edf7ff, #f8fcff 50%, #edf7ff); }
.subject-titlebar-inner { display: grid; place-items: center; min-height: 69px; }
.subject-titlebar h1 { margin: 0; color: #0b4d96; font: 700 32px "STKaiti", "KaiTi", serif; letter-spacing: 6px; text-align: center; text-shadow: 0 2px 0 #fff; }
.subject-hero { position: relative; min-height: 190px; overflow: hidden; border-bottom: 1px solid #d9ebfa; background: linear-gradient(90deg, #b2dffc, #f4fbff 50%, #b2dffc); }
.subject-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(88, 178, 240, .04), rgba(255,255,255,.93) 30%, rgba(255,255,255,.93) 70%, rgba(88,178,240,.04)); }
.subject-hero-content { position: relative; z-index: 3; padding-top: 9px; text-align: center; }
.subject-hero h1 { margin: 0; color: #0b4d96; font: 700 32px "STKaiti", "KaiTi", serif; letter-spacing: 6px; text-shadow: 0 2px 0 #fff; }
.subject-hero-content > p { margin: 1px 0 5px; color: #0a559e; font-size: 15px; font-weight: 700; letter-spacing: 1px; }
.subject-search-panel { width: min(850px, 100%); margin: 0 auto; padding: 6px 28px 7px; border-radius: 8px; background: rgba(255,255,255,.96); box-shadow: 0 4px 14px rgba(38, 106, 170, .16); text-align: left; }
.subject-stats { grid-template-columns: repeat(5, 1fr); margin-top: -1px; }
.subject-breadcrumb { display: flex; align-items: center; gap: 9px; height: 31px; margin-top: 10px; color: #7d98b5; font-size: 12px; }
.subject-breadcrumb strong { color: #35618f; }
.subject-breadcrumb a:hover { color: var(--bright); }
.subject-layout { display: grid; grid-template-columns: minmax(0, 1fr) 255px; gap: 12px; align-items: start; padding-bottom: 15px; }
.subject-main-column { min-width: 0; }
.subject-list-panel, .subject-bottom-panel, .subject-side-panel { border: 1px solid #dceaf8; border-radius: 7px; background: #fff; box-shadow: var(--shadow); }
.subject-list-panel { overflow: hidden; }
.subject-panel-heading { display: flex; align-items: center; justify-content: space-between; min-height: 39px; padding: 0 12px; border-bottom: 1px solid #d9e9f8; }
.subject-panel-heading > div { display: flex; align-items: center; min-width: 0; }
.panel-accent { display: inline-block; width: 5px; height: 19px; margin-right: 9px; border-radius: 4px; background: #0b74d4; }
.subject-panel-heading h2 { margin: 0; color: #0b55a2; font-size: 16px; }
.subject-count { margin-left: 14px; color: #7995b2; font-size: 11px; white-space: nowrap; }
.subject-count::first-letter { color: #0b72d0; }
.subject-sort { display: flex; gap: 4px; }
.subject-sort button { height: 26px; padding: 0 8px; border: 1px solid #d9e8f5; border-radius: 4px; color: #7691ac; background: #fff; font-size: 10px; }
.subject-sort button:hover, .subject-sort button.active { border-color: #78b5eb; color: #1168bd; background: #eef7ff; }
.subject-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 9px; }
.subject-empty-state { grid-column: 1 / -1; width: auto; margin: 0; }
.subject-card { min-width: 0; min-height: 176px; padding: 10px 10px 9px; border: 1px solid #e0edf8; border-radius: 7px; background: linear-gradient(180deg, #fff, #fbfdff); box-shadow: 0 2px 8px rgba(29, 101, 170, .06); transition: border-color .2s, box-shadow .2s, transform .2s; cursor: pointer; }
.subject-card:hover, .subject-card:focus-visible { border-color: #9bc9f2; box-shadow: 0 6px 15px rgba(22, 115, 203, .13); transform: translateY(-1px); }
.subject-card:focus-visible { outline: 2px solid #2689e4; outline-offset: 3px; }
.subject-card-top { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.subject-icon { flex: 0 0 43px; display: grid; place-items: center; width: 43px; height: 43px; border-radius: 7px; color: #fff; font-size: 30px; line-height: 1; }
.subject-icon-purple { background: linear-gradient(145deg, #9c5be0, #6e42c5); }.subject-icon-blue { background: linear-gradient(145deg, #238eea, #106bc8); }.subject-icon-red { background: linear-gradient(145deg, #ea4b52, #c42739); }.subject-icon-navy { background: linear-gradient(145deg, #2079d1, #0b4f9a); }.subject-icon-green { background: linear-gradient(145deg, #28b889, #16886e); }
.subject-card h3 { margin: 1px 0 5px; overflow: hidden; color: #0b5eaf; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.subject-card ul { margin: 0; padding-left: 14px; color: #6c87a3; font-size: 10px; line-height: 1.45; }
.subject-card p { min-height: 29px; margin: 9px 0 6px; color: #6984a1; font-size: 10px; line-height: 1.45; }
.subject-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; color: #8a9fb6; font-size: 9px; line-height: 1.4; }
.subject-card-meta b { color: #1271cf; font-weight: 700; }.subject-card-meta i { width: 1px; height: 10px; background: #c9d8e6; }.subject-card-meta em { width: 100%; color: #8a9fb6; font-style: normal; }
.subject-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 7px; }
.subject-card-actions button { height: 25px; border: 1px solid #9bc9f2; border-radius: 4px; color: #1475d0; background: #fff; font-size: 10px; }
.subject-card-actions button:first-child { border-color: #1477dc; color: #fff; background: linear-gradient(135deg, #258ff0, #0f69c7); }
.subject-card-actions button:hover { transform: translateY(-1px); }
.subject-bottom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 11px; }
.subject-bottom-panel { min-width: 0; overflow: hidden; }
.subject-panel-heading.compact { min-height: 35px; }
.subject-panel-heading.compact h2 { font-size: 14px; }
.application-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 8px; }
.application-grid button { min-width: 0; display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; column-gap: 6px; padding: 7px 6px; border: 1px solid #e7f0f8; border-radius: 5px; background: #fff; color: #6482a1; text-align: left; }
.application-grid button:hover { border-color: #a3cff1; background: #f5fbff; }.application-grid button > span { grid-row: span 2; color: #0f75d4; font-size: 25px; text-align: center; }.application-grid strong { color: #0c5eac; font-size: 11px; }.application-grid small { margin-top: 2px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.dynamic-list { padding: 5px 10px 7px; }.dynamic-list button { display: grid; grid-template-columns: 22px minmax(0, 1fr) 67px; align-items: center; gap: 7px; width: 100%; min-height: 25px; border-bottom: 1px dashed #e1edf7; background: transparent; color: #5e7b9a; text-align: left; }.dynamic-list button:last-child { border-bottom: 0; }.dynamic-list button:hover { color: #0b68bf; }.dynamic-list b { overflow: hidden; font-size: 10px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }.dynamic-list time { color: #94a9be; font-size: 9px; text-align: right; }.dynamic-tag { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 3px; color: #fff; font-size: 9px; }.dynamic-tag.red { background: #ef5b61; }.dynamic-tag.blue { background: #348fdc; }.dynamic-tag.cyan { background: #4dbbd0; }.dynamic-tag.green { background: #53be8a; }
.subject-aside { display: grid; gap: 11px; min-width: 0; }.subject-side-panel { padding: 10px 12px 11px; }.subject-side-heading { display: flex; align-items: center; gap: 8px; min-height: 28px; border-bottom: 1px solid #dceaf7; }.subject-side-heading > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 4px; color: #fff; background: #1477dc; font-size: 13px; }.subject-side-heading h2 { margin: 0; color: #0b5cae; font-size: 15px; }.subject-side-heading button { margin-left: auto; padding: 0; color: #0d71cc; background: transparent; font-size: 10px; }
.subject-side-panel h3 { margin: 10px 0 7px; color: #1b5f9f; font-size: 12px; }.subject-distribution { display: grid; gap: 7px; }.subject-distribution > div { display: grid; grid-template-columns: 93px minmax(0, 1fr) 18px; align-items: center; gap: 5px; color: #6b83a0; font-size: 9px; }.subject-distribution > div > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.subject-distribution b { height: 8px; overflow: hidden; border-radius: 8px; background: #e9f1f8; }.subject-distribution b i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #78baf1, #4c92e6); }.subject-distribution strong { color: #6c83a0; font-size: 10px; font-weight: 400; text-align: right; }
.subject-recommend-panel { padding-bottom: 5px; }.subject-recommend { display: grid; grid-template-columns: 47px minmax(0, 1fr); align-items: center; gap: 8px; width: 100%; min-height: 47px; padding: 6px 0; border-bottom: 1px solid #edf3f9; background: transparent; color: #537494; text-align: left; }.subject-recommend:last-child { border-bottom: 0; }.subject-recommend:hover { color: #0c68bf; }.subject-recommend-thumb { width: 47px; height: 32px; border-radius: 4px; background-position: center; background-size: cover; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }.subject-recommend strong, .subject-recommend small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.subject-recommend strong { color: #0c5eac; font-size: 11px; }.subject-recommend small { margin-top: 3px; color: #8098b1; font-size: 9px; }
.subject-guide-panel ul { display: grid; gap: 8px; margin: 10px 0 1px; padding-left: 16px; color: #6a84a1; font-size: 10px; line-height: 1.35; }.subject-guide-panel li::marker { color: #1477dc; }

@media (max-width: 1180px) {
  .subject-layout { grid-template-columns: minmax(0, 1fr) 235px; gap: 9px; }
  .subject-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .subject-count { margin-left: 9px; }
}
@media (max-width: 900px) {
  .subject-layout { grid-template-columns: 1fr; }
  .subject-aside { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .subject-bottom-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .subject-hero { min-height: 233px; }.subject-hero h1 { font-size: 29px; }.subject-hero-content > p { font-size: 14px; }.subject-search-panel { padding: 7px 10px 9px; }.subject-stats { grid-template-columns: repeat(3, 1fr); }.subject-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.subject-aside { grid-template-columns: 1fr; }.subject-panel-heading { align-items: flex-start; flex-direction: column; gap: 7px; padding: 9px 12px; }.subject-count { margin-left: 0; }.subject-sort { width: 100%; }.subject-sort button { flex: 1; }.application-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 420px) {
  .subject-stats { grid-template-columns: repeat(2, 1fr); }.subject-card-grid { grid-template-columns: 1fr; }.subject-card { min-height: 0; }.subject-card h3 { font-size: 14px; }.subject-card-actions { grid-template-columns: 1fr 1fr; }.application-grid { grid-template-columns: 1fr; }.dynamic-list button { grid-template-columns: 22px minmax(0, 1fr); }.dynamic-list time { display: none; }
}

/* Featured topic corpus page */
.topic-page { background: linear-gradient(#fff 0, #f5faff 54%, #edf6ff 100%); }
.topic-titlebar { border-bottom: 1px solid #d9ebfa; background: linear-gradient(90deg, #edf7ff, #f8fcff 50%, #edf7ff); }
.topic-titlebar-inner { display: grid; place-items: center; min-height: 69px; }
.topic-titlebar h1 { margin: 0; color: #0b4d96; font: 700 32px "STKaiti", "KaiTi", serif; letter-spacing: 6px; text-align: center; text-shadow: 0 2px 0 #fff; }
.topic-hero { position: relative; min-height: 198px; overflow: hidden; border-bottom: 1px solid #d9ebfa; background: linear-gradient(90deg, #b2dffc, #f4fbff 50%, #b2dffc); }
.topic-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(88,178,240,.05), rgba(255,255,255,.91) 29%, rgba(255,255,255,.91) 71%, rgba(88,178,240,.05)); }
.topic-hero-content { position: relative; z-index: 3; padding-top: 9px; text-align: center; }
.topic-hero h1 { margin: 0; color: #0b4d96; font: 700 32px "STKaiti", "KaiTi", serif; letter-spacing: 6px; text-shadow: 0 2px 0 #fff; }
.topic-hero-content > p { margin: 1px 0 1px; color: #0a559e; font-size: 15px; font-weight: 700; letter-spacing: 1px; }
.topic-hero-content > small { display: block; max-width: 780px; margin: 0 auto 5px; color: #5c7b9e; font-size: 10px; line-height: 1.35; }
.topic-search-panel { width: min(820px, 100%); margin: 0 auto; padding: 6px 28px 7px; border-radius: 8px; background: rgba(255,255,255,.96); box-shadow: 0 4px 14px rgba(38,106,170,.16); text-align: left; }
.topic-stats { margin-top: -1px; }
.topic-breadcrumb { display: flex; align-items: center; gap: 8px; height: 31px; margin-top: 10px; color: #7d98b5; font-size: 11px; }.topic-breadcrumb strong { color: #35618f; }.topic-breadcrumb a:hover { color: var(--bright); }
.topic-layout { display: grid; grid-template-columns: minmax(0, 1fr) 246px; gap: 11px; align-items: start; padding-bottom: 13px; }
.topic-filter-panel, .topic-result-panel, .topic-side-panel, .topic-bottom-panel { min-width: 0; border: 1px solid #dceaf8; border-radius: 7px; background: #fff; box-shadow: var(--shadow); }
.topic-filter-panel { overflow: hidden; }.topic-filter-heading { display: flex; align-items: center; gap: 8px; min-height: 37px; padding: 0 13px; border-bottom: 1px solid #d9e9f8; }.topic-filter-heading > span, .topic-side-heading > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 4px; color: #fff; background: #1477dc; font-size: 13px; }.topic-filter-heading h2, .topic-side-heading h2 { margin: 0; color: #0b5cae; font-size: 15px; }
.topic-filter-block { padding: 11px 13px 12px; border-bottom: 1px solid #edf3f9; }.topic-filter-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; color: #1164b9; }.topic-filter-title strong { font-size: 13px; }.topic-filter-title span { color: #5e9bd4; font-size: 20px; line-height: 1; }.topic-filter-options { display: grid; gap: 8px; }.topic-filter-options label { display: flex; align-items: center; gap: 6px; min-width: 0; color: #607e9d; font-size: 10px; cursor: pointer; }.topic-filter-options label:hover { color: #0b6dc7; }.topic-filter-options input { width: 14px; height: 14px; margin: 0; accent-color: #1477dc; }.topic-filter-options label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topic-filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 11px 13px 13px; }.topic-filter-actions button { height: 28px; border: 1px solid #8bbcf0; border-radius: 5px; color: #1674ce; background: #fff; font-size: 11px; }.topic-filter-actions button.primary { color: #fff; border-color: #1477dc; background: linear-gradient(135deg, #2b9bf4, #0c69c8); }.topic-filter-actions button:hover { transform: translateY(-1px); }
.topic-result-panel { overflow: hidden; }.topic-result-heading { display: flex; align-items: center; justify-content: space-between; min-height: 39px; padding: 0 12px; border-bottom: 1px solid #d9e9f8; }.topic-result-heading > div:first-child { display: flex; align-items: center; min-width: 0; }.topic-result-heading h2 { margin: 0; color: #0b55a2; font-size: 16px; }.topic-result-heading > div:first-child > span:last-child { margin-left: 13px; color: #7895b2; font-size: 10px; white-space: nowrap; }.topic-sort { display: flex; gap: 4px; }.topic-sort button { height: 25px; padding: 0 8px; border: 1px solid #d9e8f5; border-radius: 4px; color: #7691ac; background: #fff; font-size: 10px; }.topic-sort button:hover, .topic-sort button.active { border-color: #78b5eb; color: #1168bd; background: #eef7ff; }
.featured-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 8px; }.featured-topic-card { min-width: 0; min-height: 176px; padding: 9px 9px 8px; border: 1px solid #e0edf8; border-radius: 7px; background: linear-gradient(180deg, #fff, #fbfdff); box-shadow: 0 2px 8px rgba(29,101,170,.06); transition: border-color .2s, box-shadow .2s, transform .2s; }.featured-topic-card:hover { border-color: #9bc9f2; box-shadow: 0 6px 15px rgba(22,115,203,.13); transform: translateY(-1px); }.featured-topic-card.featured-topic-highlight { border-color: #4699ee; box-shadow: 0 3px 12px rgba(22,115,203,.17); }.featured-topic-head { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }.featured-topic-icon { flex: 0 0 42px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 9px; color: #fff; font-size: 27px; line-height: 1; }.featured-topic-icon.envelope { background: linear-gradient(145deg,#32a1f4,#1671d0); }.featured-topic-icon.play { background: linear-gradient(145deg,#a35ce2,#7938c4); }.featured-topic-icon.chart { background: linear-gradient(145deg,#32a4ed,#1767ca); }.featured-topic-icon.globe { background: linear-gradient(145deg,#ff9b4b,#f16b22); }.featured-topic-icon.education { background: linear-gradient(145deg,#46c18f,#1eaa73); }.featured-topic-icon.people { background: linear-gradient(145deg,#eb656f,#d83c4d); }.featured-topic-icon.signal { background: linear-gradient(145deg,#358de9,#1362c0); }.featured-topic-icon.chat { background: linear-gradient(145deg,#ec57bd,#d22b8f); }
.featured-topic-head h3 { margin: 1px 0 4px; color: #0b5eaf; font-size: 14px; white-space: nowrap; }.featured-topic-head h3 em { display: inline-block; margin-left: 4px; padding: 2px 5px; border-radius: 8px; color: #fff; background: #f39824; font-size: 9px; font-style: normal; vertical-align: 2px; }.featured-topic-head p { display: -webkit-box; margin: 0; overflow: hidden; color: #6c87a3; font-size: 9px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.topic-tags { display: flex; flex-wrap: wrap; gap: 4px; margin: 7px 0 5px; }.topic-tags span { padding: 3px 7px; border-radius: 3px; color: #2e7fca; background: #eaf5ff; font-size: 9px; white-space: nowrap; }.featured-topic-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; color: #8a9fb6; font-size: 9px; line-height: 1.4; }.featured-topic-meta b { color: #1271cf; }.featured-topic-meta i { width: 1px; height: 10px; background: #c9d8e6; }.featured-topic-meta em { width: 100%; color: #8a9fb6; font-style: normal; }.featured-topic-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 7px; }.featured-topic-actions button { height: 24px; border: 1px solid #8fbfee; border-radius: 4px; color: #1475d0; background: #fff; font-size: 10px; }.featured-topic-actions button:first-child { border-color: #1477dc; color: #fff; background: linear-gradient(135deg,#258ff0,#0f69c7); }.featured-topic-actions button:hover { transform: translateY(-1px); }.topic-empty { margin: 9px; padding: 28px 15px; border: 1px dashed #b9d8f2; border-radius: 7px; color: #7594b4; background: #f7fbff; text-align: center; font-size: 12px; }
.topic-aside { display: grid; gap: 10px; min-width: 0; }.topic-side-panel { padding: 10px 12px 11px; }.topic-side-heading { display: flex; align-items: center; gap: 8px; min-height: 28px; border-bottom: 1px solid #dceaf7; }.topic-side-heading button { margin-left: auto; padding: 0; color: #0d71cc; background: transparent; font-size: 10px; }.topic-side-panel h3 { margin: 10px 0 7px; color: #1b5f9f; font-size: 12px; }.topic-distribution { display: grid; gap: 7px; }.topic-distribution > div { display: grid; grid-template-columns: 61px minmax(0,1fr) 22px; align-items: center; gap: 5px; color: #6b83a0; font-size: 9px; }.topic-distribution > div > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.topic-distribution b { height: 8px; overflow: hidden; border-radius: 8px; background: #e9f1f8; }.topic-distribution b i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#77baf1,#4c92e6); }.topic-distribution strong { color: #6c83a0; font-size: 10px; font-weight: 400; text-align: right; }
.topic-recommend-panel { padding-bottom: 5px; }.topic-recommend { display: grid; grid-template-columns: 43px minmax(0,1fr) 12px; align-items: center; gap: 7px; width: 100%; min-height: 45px; padding: 6px 0; border-bottom: 1px solid #edf3f9; background: transparent; color: #537494; text-align: left; }.topic-recommend:last-child { border-bottom: 0; }.topic-recommend:hover { color: #0c68bf; }.topic-recommend .recommend-thumb { width: 43px; height: 31px; }.topic-recommend strong, .topic-recommend small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.topic-recommend strong { color: #0c5eac; font-size: 11px; }.topic-recommend small { margin-top: 3px; color: #8098b1; font-size: 9px; }.topic-recommend b { color: #6d9bc5; font-size: 17px; font-weight: 400; }.topic-guide-panel ul { display: grid; gap: 8px; margin: 10px 0 1px; padding-left: 15px; color: #6a84a1; font-size: 10px; line-height: 1.35; }.topic-guide-panel li::marker { color: #1477dc; }
.topic-bottom-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; padding-bottom: 14px; }.topic-bottom-panel { overflow: hidden; }.topic-bottom-heading { display: flex; align-items: center; min-height: 35px; padding: 0 12px; border-bottom: 1px solid #d9e9f8; }.topic-bottom-heading h2 { margin: 0; color: #0b55a2; font-size: 14px; }.topic-bottom-heading button { margin-left: auto; padding: 0; color: #0d71cc; background: transparent; font-size: 10px; }.topic-application-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; padding: 8px; }.topic-application-grid button { display: grid; grid-template-columns: 27px minmax(0,1fr); align-items: center; column-gap: 5px; min-width: 0; padding: 7px 5px; border: 1px solid #e7f0f8; border-radius: 5px; background: #fff; color: #6482a1; text-align: left; }.topic-application-grid button:hover { border-color: #a3cff1; background: #f5fbff; }.topic-application-grid button > span { grid-row: span 2; color: #0f75d4; font-size: 24px; text-align: center; }.topic-application-grid strong { color: #0c5eac; font-size: 10px; }.topic-application-grid small { margin-top: 2px; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.topic-dataset-table-wrap { overflow-x: auto; padding: 4px 9px 7px; }.topic-dataset-table-wrap table { width: 100%; border-collapse: collapse; color: #607d9e; font-size: 9px; }.topic-dataset-table-wrap th { height: 22px; background: #edf5fc; color: #557493; font-weight: 400; text-align: left; white-space: nowrap; }.topic-dataset-table-wrap td { height: 23px; border-bottom: 1px solid #edf3f8; white-space: nowrap; }.topic-dataset-table-wrap th, .topic-dataset-table-wrap td { padding: 0 5px; }.topic-dataset-table-wrap th:first-child, .topic-dataset-table-wrap td:first-child { min-width: 150px; }

@media (max-width: 1180px) {
  .topic-layout { grid-template-columns: minmax(0,1fr) 225px; gap: 8px; }.featured-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.topic-result-heading { align-items: flex-start; flex-direction: column; gap: 7px; padding: 9px 12px; }.topic-sort { width: 100%; }.topic-sort button { flex: 1; }
}
@media (max-width: 920px) {
  .topic-layout { grid-template-columns: 1fr; }.topic-aside { grid-column: auto; grid-template-columns: repeat(3,minmax(0,1fr)); }.topic-bottom-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .topic-hero { min-height: 248px; }.topic-hero h1 { font-size: 29px; }.topic-hero-content > p { font-size: 14px; }.topic-search-panel { padding: 7px 10px 9px; }.topic-layout { grid-template-columns: 1fr; }.topic-result-panel { order: 1; }.topic-aside { order: 3; grid-column: auto; grid-template-columns: 1fr; }.featured-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.topic-stats { grid-template-columns: repeat(3,1fr); }.topic-application-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 420px) {
  .topic-stats { grid-template-columns: repeat(2,1fr); }.featured-topic-grid { grid-template-columns: 1fr; }.topic-application-grid { grid-template-columns: 1fr; }.topic-hero-content > small { font-size: 9px; }.topic-breadcrumb { overflow-x: auto; white-space: nowrap; }.topic-filter-options { grid-template-columns: repeat(2,minmax(0,1fr)); }.topic-filter-options label { min-width: 0; }
}

/* Featured corpus directory framework */
.topic-framework-filter { margin-bottom: 11px; padding: 8px 15px 7px; border: 1px solid #dceaf8; border-radius: 7px; background: #fff; box-shadow: var(--shadow); }
.topic-filter-row { display: grid; grid-template-columns: 82px minmax(0,1fr); align-items: center; gap: 10px; min-height: 36px; border-bottom: 1px solid #edf3f9; }
.topic-filter-row:last-child { border-bottom: 0; }
.topic-filter-row > strong { color: #0b5cae; font-size: 13px; white-space: nowrap; }
.topic-filter-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
.topic-filter-chips button { min-height: 27px; padding: 0 13px; border: 1px solid transparent; border-radius: 15px; color: #5b7692; background: #f0f5fa; font-size: 12px; white-space: nowrap; }
.topic-filter-chips button:hover, .topic-filter-chips button.selected { border-color: #78b5eb; color: #086bc4; background: #edf7ff; }
.topic-filter-date-row { grid-template-columns: 82px minmax(0,1fr) auto; }
.topic-date-fields { display: flex; align-items: center; gap: 10px; color: #547694; font-size: 12px; }
.topic-date-fields input { width: 188px; height: 31px; padding: 0 10px; border: 1px solid #b9d5ee; border-radius: 4px; color: #547694; background: #fff; font: inherit; }
.topic-filter-actions { display: flex; align-items: center; gap: 12px; padding: 0; }
.topic-filter-actions-row { justify-content: flex-end; min-height: 39px; padding-top: 7px; }
.topic-filter-actions button { width: 118px; height: 31px; border: 1px solid #6daff0; border-radius: 4px; color: #1475d0; background: #fff; font-size: 12px; }
.topic-filter-actions button.primary { border-color: #1477dc; color: #fff; background: linear-gradient(135deg,#258ff0,#0f69c7); }
.topic-filter-actions button:hover { transform: translateY(-1px); }
.topic-layout { grid-template-columns: minmax(0,1fr) 315px; gap: 12px; }
.featured-topic-grid { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px; }
.featured-topic-card { min-height: 174px; }
.featured-topic-icon.elder { background: linear-gradient(145deg,#f39b57,#d9662d); }
.featured-topic-new { border-color: #f0b06d; background: linear-gradient(180deg,#fffdf8,#fff); }
.featured-topic-actions { display: flex; justify-content: flex-end; }
.featured-topic-actions button { min-width: 92px; }
.topic-hot-panel { padding-bottom: 7px; }
.topic-hot-list { display: grid; gap: 0; margin-top: 5px; }
.topic-hot-row { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 7px; min-height: 31px; padding: 0 1px; border-bottom: 1px solid #edf3f9; color: #567593; background: transparent; text-align: left; font-size: 11px; }
.topic-hot-row:last-child { border-bottom: 0; }
.topic-hot-row:hover { color: #0b6cc4; }
.topic-hot-row b { color: #6986a2; font-size: 10px; font-weight: 400; }
.topic-hot-rank { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 3px; color: #66819e; background: #edf3f8; font-size: 10px; }
.topic-hot-rank.top { color: #fff; background: #f39824; }
.topic-update-panel ul { display: grid; gap: 7px; margin: 9px 0 1px; padding: 0; list-style: none; color: #617f9e; font-size: 10px; }
.topic-update-panel li { display: flex; align-items: center; justify-content: space-between; gap: 7px; min-width: 0; }
.topic-update-panel li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topic-update-panel time { flex: 0 0 auto; color: #8ba1b7; font-size: 9px; }
.topic-process-grid { display: grid; grid-template-columns: minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr); align-items: center; gap: 3px; min-height: 88px; padding: 9px 14px; }
.topic-process-grid > div { display: grid; justify-items: center; gap: 5px; min-width: 0; color: #6383a3; }
.topic-process-grid > div span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 50%; color: #6fa9e4; background: #eaf4ff; font-size: 22px; }
.topic-process-grid > div strong { color: #326ca5; font-size: 10px; white-space: nowrap; }
.topic-process-grid > i { color: #92bce2; font-size: 19px; font-style: normal; text-align: center; }
.topic-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; padding: 12px; }
.topic-stat-grid > div { display: grid; justify-items: center; gap: 5px; padding: 10px 4px; border-radius: 4px; background: #f1f7fd; }
.topic-stat-grid span { color: #6e87a2; font-size: 10px; white-space: nowrap; }
.topic-stat-grid strong { color: #0a69c5; font-size: 18px; }

@media (max-width: 1400px) {
  .topic-layout { grid-template-columns: minmax(0,1fr) 270px; }
  .featured-topic-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media (max-width: 1180px) {
  .topic-layout { grid-template-columns: minmax(0,1fr) 225px; }
  .featured-topic-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .topic-filter-chips { gap: 5px 7px; }
  .topic-filter-chips button { padding: 0 10px; }
}
@media (max-width: 920px) {
  .topic-layout { grid-template-columns: 1fr; }
  .topic-aside { grid-column: auto; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .featured-topic-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .topic-bottom-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .topic-layout { grid-template-columns: 1fr; }
  .topic-aside { grid-template-columns: 1fr; }
  .featured-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .topic-filter-row, .topic-filter-date-row { grid-template-columns: 1fr; gap: 5px; padding: 8px 0; }
  .topic-filter-row > strong { font-size: 12px; }
  .topic-date-fields { flex-wrap: wrap; }
  .topic-filter-actions { justify-content: flex-end; }
  .topic-process-grid { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 4px; padding: 9px 5px; }
  .topic-process-grid > i { display: none; }
}
@media (max-width: 420px) {
  .featured-topic-grid { grid-template-columns: 1fr; }
  .topic-stat-grid { grid-template-columns: repeat(2,1fr); }
  .topic-date-fields input { width: min(188px, calc(50vw - 32px)); }
}

/* Corpus annotation workbench */
.annotation-page { background: linear-gradient(#fff 0, #f5faff 55%, #edf6ff 100%); }
.annotation-hero { position: relative; min-height: 166px; overflow: hidden; border-bottom: 1px solid #d9ebfa; background: linear-gradient(90deg, #b2dffc, #f4fbff 50%, #b2dffc); }
.annotation-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(88,178,240,.05), rgba(255,255,255,.91) 29%, rgba(255,255,255,.91) 71%, rgba(88,178,240,.05)); }
.annotation-hero-content { position: relative; z-index: 3; padding-top: 10px; text-align: center; }
.annotation-kicker { display: inline-flex; align-items: center; gap: 9px; color: #4e84b6; font-size: 11px; letter-spacing: 1px; }
.annotation-kicker span:first-child { padding: 3px 8px; border: 1px solid #b7d8f3; border-radius: 10px; color: #0f6ab9; background: rgba(255,255,255,.72); }
.annotation-kicker i { width: 3px; height: 3px; border-radius: 50%; background: #64a7df; }
.annotation-hero h1 { margin: 2px 0 2px; color: #0b4d96; font: 700 32px "STKaiti", "KaiTi", serif; letter-spacing: 6px; text-shadow: 0 2px 0 #fff; }
.annotation-hero-content > p { margin: 0 0 9px; color: #0a559e; font-size: 15px; font-weight: 700; letter-spacing: 1px; }
.annotation-hero-actions { display: flex; justify-content: center; gap: 9px; }
.annotation-hero-actions button { height: 29px; padding: 0 17px; border-radius: 4px; font-size: 12px; }
.annotation-primary { color: #fff; background: linear-gradient(135deg, #278ff0, #0b66c3); box-shadow: 0 4px 9px rgba(17,102,193,.2); }
.annotation-secondary { border: 1px solid #8dbff0; color: #116ec6; background: rgba(255,255,255,.9); }
.annotation-hero-actions button:hover { transform: translateY(-1px); }
.annotation-stats { grid-template-columns: repeat(5, 1fr); }
.annotation-breadcrumb { display: flex; align-items: center; gap: 8px; height: 31px; color: #7d98b5; font-size: 11px; }
.annotation-breadcrumb strong { color: #35618f; }.annotation-breadcrumb a:hover { color: var(--bright); }
.annotation-layout { display: grid; grid-template-columns: 228px minmax(0,1fr) 238px; gap: 11px; align-items: start; padding-bottom: 12px; }
.annotation-project-panel, .annotation-workspace, .annotation-side-panel, .annotation-bottom-panel, .annotation-recent-panel { min-width: 0; border: 1px solid #dceaf8; border-radius: 7px; background: #fff; box-shadow: var(--shadow); }
.annotation-panel-heading, .annotation-workspace-heading, .annotation-bottom-heading { display: flex; align-items: center; justify-content: space-between; min-height: 39px; padding: 0 12px; border-bottom: 1px solid #d9e9f8; }
.annotation-panel-heading > div, .annotation-bottom-heading { display: flex; align-items: center; min-width: 0; }
.annotation-panel-heading h2, .annotation-workspace-heading h2, .annotation-bottom-heading h2 { margin: 0; color: #0b55a2; font-size: 16px; }
.annotation-panel-heading > button { width: 24px; height: 24px; border: 1px solid #a7ccef; border-radius: 4px; color: #1477dc; background: #f4faff; font-size: 17px; line-height: 1; }
.annotation-project-list { display: grid; gap: 6px; padding: 8px; }
.annotation-project { display: grid; grid-template-columns: 31px minmax(0,1fr); gap: 8px; width: 100%; padding: 9px 7px 8px; border: 1px solid transparent; border-radius: 6px; background: #fff; color: #5e7b9b; text-align: left; }
.annotation-project:hover { border-color: #b8d9f4; background: #f7fbff; }.annotation-project.active { border-color: #83bdf0; background: #edf7ff; box-shadow: inset 3px 0 0 #1678d4; }
.project-icon { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 6px; color: #fff; font-size: 19px; }
.project-icon-blue { background: linear-gradient(145deg,#339ff4,#166bc8); }.project-icon-purple { background: linear-gradient(145deg,#a25de1,#7439bd); }.project-icon-orange { background: linear-gradient(145deg,#ffad55,#eb7626); }.project-icon-green { background: linear-gradient(145deg,#47c89a,#1ba875); }
.annotation-project strong, .annotation-project small, .annotation-project em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.annotation-project strong { color: #155f9e; font-size: 12px; }.annotation-project small { margin-top: 4px; color: #7c96b0; font-size: 10px; }.annotation-project b { display: block; height: 6px; margin-top: 7px; overflow: hidden; border-radius: 6px; background: #dcecf8; }.annotation-project b i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#53a8ef,#1976d2); }.annotation-project em { margin-top: 4px; color: #7895b0; font-size: 9px; font-style: normal; }
.annotation-project-tip { display: flex; gap: 7px; margin: 1px 9px 10px; padding: 8px 7px; border: 1px solid #e2eef8; border-radius: 5px; color: #6e88a4; background: #f7fbff; }.annotation-project-tip span { display: grid; flex: 0 0 17px; place-items: center; width: 17px; height: 17px; border-radius: 50%; color: #fff; background: #77aee0; font: 700 11px Georgia,serif; }.annotation-project-tip p { margin: 0; font-size: 10px; line-height: 1.45; }
.annotation-workspace { overflow: hidden; }.annotation-workspace-heading { min-height: 50px; }.annotation-workspace-heading > div:first-child { display: flex; align-items: center; min-width: 0; }.annotation-workspace-heading h2 { font-size: 16px; }.annotation-workspace-heading p { margin: 3px 0 0; color: #7d98b4; font-size: 10px; }.annotation-workspace-actions { display: flex; gap: 6px; }.annotation-workspace-actions button { height: 26px; padding: 0 10px; border: 1px solid #9bc8ef; border-radius: 4px; color: #1475d0; background: #fff; font-size: 10px; }.annotation-workspace-actions button.primary { border-color: #1677d6; color: #fff; background: linear-gradient(135deg,#2a96f2,#0f69c7); }
.annotation-tabs { display: flex; gap: 2px; padding: 6px 10px 0; border-bottom: 1px solid #dceaf7; }.annotation-tabs button { position: relative; height: 29px; padding: 0 11px; color: #7691ac; background: transparent; font-size: 11px; }.annotation-tabs button::after { content: ""; position: absolute; right: 10px; bottom: -1px; left: 10px; height: 2px; background: transparent; }.annotation-tabs button.active { color: #0967bb; font-weight: 700; }.annotation-tabs button.active::after { background: #1477dc; }.annotation-tabs b { margin-left: 3px; color: #9bb0c4; font-size: 9px; font-weight: 400; }
.annotation-task-summary { display: grid; grid-template-columns: 1.2fr 2fr .85fr; align-items: center; gap: 14px; margin: 9px 10px 0; padding: 8px 10px; border: 1px solid #e1edf7; border-radius: 5px; background: linear-gradient(90deg,#f7fbff,#fff); }.annotation-task-summary > div:first-child { display: flex; align-items: center; gap: 8px; }.annotation-task-summary span { color: #7894af; font-size: 10px; }.annotation-task-summary strong { color: #0d66b8; font-size: 15px; }.annotation-task-summary em { padding: 3px 6px; border-radius: 10px; color: #df7d25; background: #fff1df; font-size: 9px; font-style: normal; }.task-progress { display: grid; gap: 5px; }.task-progress b { height: 7px; overflow: hidden; border-radius: 7px; background: #e1eef8; }.task-progress b i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6ebcf1,#1874d2); }.task-counter { display: grid; gap: 3px; text-align: right; }.task-counter strong { font-size: 12px; }
.annotation-task-card { margin: 9px 10px 11px; border: 1px solid #dceaf8; border-radius: 6px; background: #fff; }.annotation-task-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 35px; padding: 0 10px; border-bottom: 1px solid #e5eff8; background: #f8fbff; }.annotation-task-toolbar > div { display: flex; align-items: center; gap: 6px; min-width: 0; }.annotation-task-toolbar span:last-child { overflow: hidden; color: #8098b1; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.annotation-task-toolbar button { padding: 0; color: #6686a5; background: transparent; font-size: 10px; }.annotation-task-toolbar button:hover { color: #096bc4; }.task-type-badge { padding: 3px 7px; border-radius: 3px; color: #176cb8; background: #e4f3ff; font-size: 9px; white-space: nowrap; }.task-type-badge.soft { color: #9a6a28; background: #fff0d9; }
.annotation-source-line { display: flex; flex-wrap: wrap; gap: 4px 15px; padding: 8px 11px 0; color: #91a5b9; font-size: 9px; }.annotation-text { margin: 7px 11px 0; padding: 12px 13px; border: 1px solid #e8f0f7; border-radius: 5px; color: #3e6387; background: #fbfdff; font-size: 14px; line-height: 2; }.annotation-text p { margin: 0; }.annotation-text mark { padding: 2px 4px; border-radius: 3px; color: #155c9d; cursor: pointer; }.annotation-text mark:hover { outline: 2px solid rgba(22,119,214,.3); }.entity-person { background: #e7dcff; }.entity-location { background: #d9efff; }.entity-time { background: #ffe7c9; }.annotation-note { display: flex; align-items: center; gap: 6px; margin: 8px 11px 0; padding: 7px 8px; color: #6485a3; background: #f2f8fd; font-size: 10px; }.annotation-note span:first-child { color: #1374d2; font-size: 15px; }.annotation-label-area { margin: 9px 11px 0; padding-top: 8px; border-top: 1px dashed #dceaf6; }.label-area-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.label-area-heading strong { color: #28618e; font-size: 12px; }.label-area-heading span { color: #91a4b8; font-size: 9px; }.annotation-labels { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }.label-chip { height: 26px; padding: 0 9px; border: 1px solid #d6e7f5; border-radius: 4px; color: #6e88a4; background: #fff; font-size: 10px; }.label-chip i { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; background: #a7bacb; }.label-chip.active { border-color: #85bbed; color: #116bc0; background: #eef7ff; }.label-chip.active i { background: #187bd8; }.label-chip.add { border-style: dashed; color: #2879c7; }
.annotation-task-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 38px; margin-top: 9px; padding: 0 11px; border-top: 1px solid #e6eff7; }.annotation-task-footer button { padding: 0; color: #2a79bd; background: transparent; font-size: 11px; }.annotation-task-footer button.next { color: #fff; padding: 5px 9px; border-radius: 4px; background: #1477d5; }.annotation-task-footer span { color: #91a4b8; font-size: 9px; }.annotation-task-footer kbd { padding: 1px 4px; border: 1px solid #d4e3ef; border-radius: 3px; color: #5e7895; background: #f5faff; font-family: inherit; }
.annotation-insights { display: grid; gap: 10px; min-width: 0; }.annotation-side-panel { padding: 10px 12px 11px; }.annotation-side-heading { display: flex; align-items: center; gap: 8px; min-height: 28px; border-bottom: 1px solid #dceaf7; }.annotation-side-heading > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 4px; color: #fff; background: #1477dc; font-size: 13px; }.annotation-side-heading h2 { margin: 0; color: #0b5cae; font-size: 15px; }.annotation-side-heading button { margin-left: auto; padding: 0; color: #0d71cc; background: transparent; font-size: 10px; }.annotation-overview-list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding-top: 9px; }.annotation-overview-list div { display: grid; grid-template-columns: 1fr auto; align-items: baseline; padding: 7px 6px; border: 1px solid #e5eff8; border-radius: 4px; background: #fbfdff; }.annotation-overview-list span { color: #7793ae; font-size: 10px; }.annotation-overview-list strong { color: #0b68bb; font-size: 17px; }.annotation-overview-list em { grid-column: 2; color: #9aafc1; font-size: 9px; font-style: normal; }.annotation-overview-list strong.warn { color: #e89132; }
.annotation-rules { display: grid; gap: 8px; margin: 10px 0 8px; padding-left: 17px; color: #6885a2; font-size: 10px; line-height: 1.45; }.annotation-rules li::marker { color: #1477dc; font-weight: 700; }.annotation-link-button { padding: 0; color: #1474cc; background: transparent; font-size: 10px; }.annotation-team { display: flex; align-items: center; padding-top: 10px; }.member-avatar { display: grid; place-items: center; width: 27px; height: 27px; margin-right: -5px; border: 2px solid #fff; border-radius: 50%; color: #fff; font-size: 10px; }.member-avatar.blue { background: #258ee5; }.member-avatar.purple { background: #8a5dd0; }.member-avatar.orange { background: #ef9145; }.member-avatar.green { background: #45b88d; }.annotation-team b { margin-left: 11px; color: #4e80ac; font-size: 10px; }.annotation-team-panel p { margin: 7px 0 0; color: #839bb2; font-size: 10px; }
.annotation-lower-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12px; padding-bottom: 12px; }.annotation-bottom-panel { overflow: hidden; }.annotation-bottom-heading { min-height: 38px; }.annotation-bottom-heading h2 { font-size: 14px; }.annotation-bottom-heading button { margin-left: auto; padding: 0; color: #0d71cc; background: transparent; font-size: 10px; }.annotation-type-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; padding: 8px; }.annotation-type-grid button { display: grid; grid-template-columns: 27px minmax(0,1fr); align-items: center; column-gap: 6px; min-width: 0; padding: 8px 6px; border: 1px solid #e5eff8; border-radius: 5px; background: #fff; text-align: left; }.annotation-type-grid button:hover { border-color: #a3cff1; background: #f5fbff; }.annotation-type-icon { grid-row: span 2; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 6px; color: #fff; font-size: 17px; }.annotation-type-icon.blue { background: #258ee7; }.annotation-type-icon.purple { background: #8e5bd0; }.annotation-type-icon.orange { background: #ed9147; }.annotation-type-icon.red { background: #df5864; }.annotation-type-icon.green { background: #45b88d; }.annotation-type-icon.navy { background: #216aa9; }.annotation-type-grid strong { color: #0c5eac; font-size: 11px; }.annotation-type-grid small { margin-top: 2px; overflow: hidden; color: #8198ae; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.quality-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 8px; }.quality-grid > div { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; align-items: center; gap: 6px; min-height: 43px; padding: 5px 6px; border: 1px solid #e5eff8; border-radius: 5px; }.quality-icon { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 6px; color: #fff; background: #2b91df; font-size: 15px; }.quality-grid strong, .quality-grid small { display: block; }.quality-grid strong { color: #0c5eac; font-size: 10px; }.quality-grid small { margin-top: 2px; color: #859bb1; font-size: 8px; }.quality-grid b { color: #3e9a7a; font-size: 9px; font-weight: 400; white-space: nowrap; }.quality-grid b.quality-number { color: #1476cc; font-weight: 700; }
.annotation-recent-panel { margin-bottom: 14px; overflow: hidden; }.annotation-recent-actions { display: flex; gap: 8px; margin-left: auto; }.annotation-recent-actions button { padding: 0; color: #8aa1b7; background: transparent; font-size: 10px; }.annotation-recent-actions button.active { color: #1473c8; font-weight: 700; }.annotation-table-wrap { overflow-x: auto; padding: 4px 9px 7px; }.annotation-table-wrap table { width: 100%; border-collapse: collapse; color: #607d9e; font-size: 10px; }.annotation-table-wrap th { height: 25px; color: #557493; background: #edf5fc; font-weight: 400; text-align: left; white-space: nowrap; }.annotation-table-wrap td { height: 30px; border-bottom: 1px solid #edf3f8; white-space: nowrap; }.annotation-table-wrap th, .annotation-table-wrap td { padding: 0 6px; }.annotation-table-wrap td:first-child { color: #1d619f; }.table-progress { display: inline-block; width: 58px; height: 6px; margin-right: 5px; overflow: hidden; vertical-align: middle; border-radius: 6px; background: #e1eef8; }.table-progress i { display: block; height: 100%; border-radius: inherit; background: #368fdf; }.annotation-table-wrap td > span { color: #7e97b0; font-size: 9px; }.annotation-table-wrap em { padding: 3px 6px; border-radius: 9px; font-size: 9px; font-style: normal; }.status-doing { color: #267ec2; background: #e5f3ff; }.status-done { color: #2f9a75; background: #e5f7ef; }.status-review { color: #bc7a28; background: #fff1dc; }

@media (max-width: 1180px) {
  .annotation-layout { grid-template-columns: 210px minmax(0,1fr) 220px; gap: 8px; }.annotation-type-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 920px) {
  .annotation-layout { grid-template-columns: 215px minmax(0,1fr); }.annotation-insights { grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); }.annotation-lower-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .annotation-hero { min-height: 177px; }.annotation-hero h1 { font-size: 29px; }.annotation-hero-content > p { font-size: 14px; }.annotation-stats { grid-template-columns: repeat(3,1fr); }.annotation-layout { grid-template-columns: 1fr; }.annotation-project-panel { order: 2; }.annotation-workspace { order: 1; }.annotation-insights { order: 3; grid-column: auto; grid-template-columns: 1fr; }.annotation-workspace-heading { align-items: flex-start; flex-direction: column; gap: 8px; padding: 9px 12px; }.annotation-workspace-actions { width: 100%; }.annotation-workspace-actions button { flex: 1; }.annotation-task-summary { grid-template-columns: 1fr 1fr; }.task-progress { grid-column: 1 / -1; grid-row: 2; }.annotation-type-grid { grid-template-columns: repeat(3,1fr); }.annotation-table-wrap { margin: 0; }
}
@media (max-width: 420px) {
  .annotation-stats { grid-template-columns: repeat(2,1fr); }.annotation-tabs { overflow-x: auto; white-space: nowrap; }.annotation-tabs button { flex: 0 0 auto; }.annotation-task-toolbar { align-items: flex-start; flex-direction: column; padding: 7px 10px; }.annotation-task-toolbar > div:last-child { width: 100%; justify-content: flex-end; }.annotation-text { font-size: 13px; line-height: 1.9; }.annotation-labels { gap: 5px; }.annotation-task-footer { align-items: flex-start; flex-wrap: wrap; padding: 7px 11px; }.annotation-task-footer span { order: 3; width: 100%; }.annotation-type-grid, .quality-grid { grid-template-columns: 1fr 1fr; }.annotation-bottom-heading { padding: 0 10px; }.annotation-recent-actions { gap: 5px; }.annotation-kicker { font-size: 10px; }
}

/* Screenshot-style corpus retrieval page */
.retrieval-hero-reference { min-height: 108px; border-bottom: 1px solid #dceaf8; background: #eef7ff; }
.retrieval-reference-inner { display: grid; grid-template-columns: 244px minmax(0,1fr); align-items: center; gap: 24px; padding: 16px 0 15px; }
.retrieval-reference-title { display: flex; align-items: center; gap: 12px; }
.retrieval-title-mark { width: 5px; height: 42px; border-radius: 4px; background: #1477dc; }
.retrieval-reference-title h1 { margin: 0; color: #0b55a2; font: 700 29px "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif; letter-spacing: 1px; }
.retrieval-reference-title p { margin: 5px 0 0; color: #5f83a6; font-size: 11px; line-height: 1.35; }
.retrieval-reference-search { display: grid; grid-template-columns: 35px minmax(0,1fr) 102px; align-items: center; height: 44px; border: 1px solid #b9d6f4; border-radius: 9px; overflow: hidden; background: #fff; box-shadow: 0 3px 9px rgba(37,113,185,.11); }
.reference-search-icon { color: #0d72d2; font-size: 26px; line-height: 1; text-align: center; transform: translateY(-1px); }
.retrieval-reference-search input { width: 100%; height: 100%; border: 0; outline: 0; color: #365d84; font-size: 12px; }
.retrieval-reference-search input::placeholder { color: #9aafc4; }
.retrieval-reference-search button[type="submit"] { height: 100%; color: #fff; background: linear-gradient(135deg,#258ff0,#0e69ca); font-size: 13px; font-weight: 700; }
.retrieval-reference-search button[type="submit"]:hover { background: #0b5db6; }
.reference-advanced { height: 100%; margin-left: 16px; border: 1px solid #9fc8ef; border-radius: 7px; color: #0b69c8; background: #fff; font-size: 12px; font-weight: 700; }
.reference-advanced:hover { background: #f1f8ff; }
.retrieval-filter-board { margin-top: 11px; padding: 8px 17px 7px; border: 1px solid #dceaf8; border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.reference-filter-row { display: grid; grid-template-columns: 78px minmax(0,1fr); align-items: center; gap: 10px; min-height: 38px; border-bottom: 1px solid #edf3f9; }
.reference-filter-row:last-child { border-bottom: 0; }
.reference-filter-row > strong { color: #0b5cae; font-size: 12px; white-space: nowrap; }
.reference-filter-row:first-child { align-items: start; }
.reference-filter-row:first-child > strong { padding-top: 6px; }
.reference-filter-options { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 9px; min-width: 0; }
.reference-filter-options button { min-height: 26px; padding: 0 13px; border: 1px solid transparent; border-radius: 14px; color: #5d7897; background: #f0f5fa; font-size: 11px; white-space: nowrap; }
.reference-filter-options button:hover, .reference-filter-options button.selected { border-color: #79b7ed; color: #086bc5; background: #edf7ff; }
.reference-date-row { grid-template-columns: 78px minmax(0,1fr); }
.reference-date-fields { display: flex; align-items: center; gap: 9px; color: #617f9d; font-size: 11px; }
.reference-date-fields input { width: 155px; height: 28px; padding: 0 8px; border: 1px solid #c2d9ed; border-radius: 4px; color: #5d7898; background: #fff; font: inherit; }
.reference-source-row { grid-template-columns: 78px minmax(0,1fr) auto; }
.reference-filter-actions { display: flex; align-items: center; gap: 10px; }
.reference-filter-actions button { width: 93px; height: 29px; border-radius: 5px; font-size: 11px; }
.reference-filter-actions .filter-reset { border: 1px solid #94c1ed; color: #1674ce; background: #fff; }
.reference-filter-actions .filter-apply { color: #fff; background: linear-gradient(135deg,#2b9bf4,#0c69c8); box-shadow: 0 3px 8px rgba(15,112,205,.18); }
.reference-filter-actions button:hover { transform: translateY(-1px); }
.retrieval-reference-workspace { grid-template-columns: minmax(0,1fr) 270px; gap: 12px; padding-top: 11px; padding-bottom: 18px; }
.retrieval-reference-workspace .results-panel { overflow: hidden; }
.reference-result-toolbar { grid-template-columns: auto minmax(0,1fr); min-height: 43px; padding: 0 13px; border-bottom: 1px solid #e2edf7; background: #fff; }
.reference-result-toolbar .result-summary { color: #50728f; font-size: 12px; }
.reference-result-toolbar .result-summary strong { color: #0c6dcc; font-size: 18px; }
.reference-result-controls { display: flex; align-items: center; justify-content: flex-end; gap: 5px; color: #7893ad; font-size: 11px; }
.reference-result-controls button { height: 27px; padding: 0 9px; border: 1px solid #dbe8f4; border-radius: 4px; color: #6f8ba6; background: #fff; font-size: 11px; }
.reference-result-controls button:hover, .reference-result-controls button.active { border-color: #83b8e9; color: #0b6cc6; background: #edf7ff; }
.reference-result-controls .view-toggle { min-width: 27px; padding: 0 6px; font-size: 14px; }
.result-query-strip { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; min-height: 32px; padding: 0 12px; color: #fff; background: linear-gradient(90deg,#1478e0,#0a64c7); font-size: 10px; }
.result-query-strip strong { font-size: 11px; }
.result-query-strip > span:nth-child(2) { justify-self: center; }
.result-query-strip > span:last-child { justify-self: end; }
.result-query-strip b { font-weight: 700; }
.reference-result-list { gap: 0; padding: 0; background: #fff; }
.reference-result-card { grid-template-columns: 30px minmax(0,1fr) 61px; gap: 10px; min-height: 70px; padding: 9px 12px; border: 0; border-bottom: 1px solid #edf3f8; border-radius: 0; background: #fff; box-shadow: none; transform: none; }
.reference-result-card:hover { border-color: #edf3f8; background: #fbfdff; box-shadow: none; transform: none; }
.reference-result-card .result-index { padding-top: 2px; color: #2a6a9e; font-size: 11px; text-align: left; }
.reference-result-card .result-title-row { display: block; }
.reference-result-card .result-title-row h3 { color: #0b5ea9; font-size: 13px; }
.reference-result-card .result-content p { margin: 5px 0 4px; color: #385f86; font-size: 11px; line-height: 1.35; white-space: nowrap; }
.reference-result-card .result-meta { gap: 3px 5px; color: #7894ae; font-size: 9px; }
.reference-result-card .result-actions { align-items: flex-end; padding-top: 3px; }
.reference-result-card .result-actions button { height: auto; padding: 0; color: #8e42bd; background: transparent; font-size: 10px; }
.reference-result-card .result-actions button:hover { color: #6f299b; background: transparent; }
.reference-result-list.compact-view .reference-result-card { min-height: 54px; padding-top: 6px; padding-bottom: 6px; }
.reference-result-list.compact-view .reference-result-card .result-content p { display: none; }
.reference-pagination { min-height: 54px; margin: 0; padding: 11px 12px 12px; border-top: 1px solid #e4eef7; background: #fff; }
.reference-pagination button { min-width: 28px; height: 26px; }
.reference-pagination .page-arrow { padding: 0 11px; color: #337bbb; font-size: 11px; }
.reference-pagination #pageLabel { margin-left: 5px; color: #6f8ba6; font-size: 11px; }
.reference-search-aside { gap: 10px; }
.reference-search-aside .side-panel { padding: 10px 12px 11px; }
.reference-search-aside .side-heading { height: 31px; }
.reference-search-aside .side-heading button { margin-left: auto; padding: 0; color: #0d71cc; background: transparent; font-size: 10px; }
.reference-hot-list { display: grid; gap: 4px; padding-top: 8px; }
.reference-hot-item { display: grid; grid-template-columns: 20px minmax(0,1fr) 15px 58px; align-items: center; gap: 7px; min-height: 25px; padding: 0; color: #5e7d9c; background: transparent; text-align: left; }
.reference-hot-item:hover { color: #0a6cc7; }
.reference-hot-rank { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 3px; color: #6f87a1; background: #edf3f8; font-size: 10px; }
.reference-hot-rank.top { color: #fff; background: #ff6f50; }
.reference-hot-item strong { overflow: hidden; font-size: 10px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.reference-hot-item em { color: #6b86a1; font-size: 9px; font-style: normal; text-align: right; }
.reference-hot-item > b { height: 5px; overflow: hidden; border-radius: 6px; background: #eaf0f6; }
.reference-hot-item > b i { display: block; height: 100%; border-radius: inherit; background: #fa6b4e; }
.reference-hot-item:nth-child(n+4) > b i { background: #6c9df0; }
.reference-info-list { display: grid; gap: 8px; margin: 10px 0 1px; padding-left: 16px; color: #6683a1; font-size: 10px; line-height: 1.45; }
.reference-info-list li::marker { color: #527ca9; }

@media (max-width: 1100px) {
  .retrieval-reference-inner { grid-template-columns: 215px minmax(0,1fr); gap: 15px; }
  .retrieval-reference-search { grid-template-columns: 30px minmax(0,1fr) 88px; }
  .retrieval-reference-workspace { grid-template-columns: minmax(0,1fr) 240px; }
  .reference-filter-options { gap: 5px 7px; }
  .reference-filter-options button { padding: 0 9px; }
}
@media (max-width: 820px) {
  .retrieval-reference-inner { grid-template-columns: 1fr; gap: 10px; }
  .retrieval-reference-title { justify-content: center; }
  .retrieval-reference-search { width: 100%; }
  .retrieval-reference-workspace { grid-template-columns: 1fr; }
  .reference-search-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .reference-filter-row, .reference-date-row, .reference-source-row { grid-template-columns: 1fr; gap: 5px; padding: 7px 0; }
  .reference-filter-row > strong { font-size: 11px; }
  .reference-filter-actions { justify-content: flex-end; padding-top: 4px; }
  .reference-result-toolbar { grid-template-columns: 1fr; gap: 6px; padding: 8px 12px; }
  .reference-result-controls { justify-content: flex-start; flex-wrap: wrap; }
  .result-query-strip { grid-template-columns: 1fr; gap: 2px; padding: 6px 12px; }
  .result-query-strip > span:nth-child(2), .result-query-strip > span:last-child { justify-self: start; }
  .reference-result-card { grid-template-columns: 25px minmax(0,1fr); }
  .reference-result-card .result-actions { grid-column: 2; align-items: flex-start; padding-top: 0; }
  .reference-result-card .result-content p { white-space: normal; }
  .reference-search-aside { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .retrieval-reference-title h1 { font-size: 26px; }
  .retrieval-reference-search { grid-template-columns: 26px minmax(0,1fr) 68px; height: 40px; }
  .reference-advanced { grid-column: 1 / -1; height: 32px; margin: 7px 0 0; }
  .retrieval-reference-search { height: auto; overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .retrieval-reference-search input { height: 40px; border: 1px solid #b9d6f4; border-right: 0; border-radius: 8px 0 0 8px; }
  .reference-search-icon { height: 40px; padding-top: 5px; border: 1px solid #b9d6f4; border-right: 0; border-radius: 8px 0 0 8px; background: #fff; }
  .retrieval-reference-search button[type="submit"] { height: 40px; border-radius: 0 8px 8px 0; }
  .reference-date-fields { flex-wrap: wrap; }
  .reference-date-fields input { width: min(155px, calc(50vw - 31px)); }
  .reference-pagination { flex-wrap: wrap; }
}

/* Unified public corpus results */
.corpus-result-view { grid-template-columns: 1fr !important; gap: 0 !important; padding: 0 !important; background: #fff; }
.corpus-result-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; padding: 12px; border-bottom: 1px solid #edf3f8; background: #fff; transition: background .2s, box-shadow .2s; }
.corpus-result-row:hover { background: #fbfdff; box-shadow: inset 3px 0 #2487df; }
.corpus-result-row .result-index { padding-top: 2px; color: #2a6a9e; font-size: 11px; text-align: left; }
.corpus-result-title { margin: 0; color: #0b5ea9; font-size: 14px; line-height: 1.45; }
.corpus-result-title-link { color: #0b5ea9; font-weight: 700; text-decoration: none; }
.corpus-result-title-link:hover { color: #084985; text-decoration: underline; }
.corpus-result-summary { margin-top: 5px; color: #385f86; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.corpus-result-summary-link { color: inherit; text-decoration: none; }
.corpus-result-summary-link:hover { color: #0b5ea9; text-decoration: underline; }
.corpus-result-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; margin-top: 6px; color: #7894ae; font-size: 9px; line-height: 1.5; }
.corpus-result-meta i { color: #b8cbdc; font-style: normal; }
.corpus-result-title-link:focus-visible, .corpus-result-summary-link:focus-visible { outline: 2px solid #2689e4; outline-offset: 3px; border-radius: 2px; }
.page-numbers { display: inline-flex; align-items: center; gap: 6px; }
.page-numbers > span { color: #8ca5bd; }
.page-numbers button:disabled, .pagination button:disabled { cursor: not-allowed; opacity: .5; }

/* Corpus detail page */
.corpus-detail-page { background: linear-gradient(#fff 0, #f5faff 54%, #edf6ff 100%); }
.corpus-detail-main { padding-top: 16px; padding-bottom: 34px; }
.corpus-detail-breadcrumb { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: #8aa1b8; font-size: 11px; }
.corpus-detail-breadcrumb a { color: #176fc1; text-decoration: none; }
.corpus-detail-breadcrumb a:hover { text-decoration: underline; }
.corpus-detail-state { padding: 55px 20px; border: 1px dashed #b9d8f2; border-radius: 8px; color: #7594b4; background: #f7fbff; text-align: center; font-size: 14px; }
.corpus-detail-shell { overflow: hidden; border: 1px solid #dcecf8; border-radius: 10px; background: #fff; box-shadow: 0 6px 24px rgba(24, 105, 171, .08); }
.corpus-detail-header { display: flex; align-items: flex-start; gap: 10px; padding: 24px 28px 20px; border-bottom: 1px solid #e8f1f8; background: linear-gradient(90deg, #f4faff, #fff); }
.corpus-detail-header .panel-accent { flex: 0 0 5px; height: 42px; margin: 3px 0 0; }
.corpus-detail-header p { margin: 0 0 5px; color: #7793ad; font-size: 11px; }
.corpus-detail-header h1 { margin: 0; color: #0b55a2; font-size: 25px; line-height: 1.35; }
.corpus-detail-properties { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid #e8f1f8; }
.corpus-detail-properties > div { min-width: 0; padding: 16px 18px; border-right: 1px solid #e8f1f8; }
.corpus-detail-properties > div:last-child { border-right: 0; }
.corpus-detail-properties span { display: block; margin-bottom: 7px; color: #89a1b8; font-size: 10px; }
.corpus-detail-properties strong { display: block; color: #286b9f; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.corpus-detail-body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: stretch; }
.corpus-detail-copy { min-width: 0; }
.corpus-detail-section { margin: 0 28px; padding: 20px 0; border-bottom: 1px solid #edf3f8; }
.corpus-detail-section h2 { margin: 0 0 9px; color: #0b5ea9; font-size: 15px; }
.corpus-detail-section p { margin: 0; color: #536f8b; font-size: 13px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.corpus-detail-image { display: block; max-width: min(100%, 640px); max-height: 360px; border-radius: 6px; object-fit: contain; background: #f2f7fb; }
.corpus-detail-caption { margin-top: 7px !important; color: #8aa1b8 !important; font-size: 11px !important; }
.corpus-detail-meta-section { display: flex; flex-wrap: wrap; gap: 18px; color: #8aa1b8; font-size: 10px; }
.corpus-detail-public-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 8px; color: #8aa1b8; font-size: 11px; line-height: 1.5; }
.corpus-detail-back { display: inline-block; margin: 18px 28px 24px; color: #176fc1; font-size: 12px; text-decoration: none; }
.corpus-detail-back:hover { text-decoration: underline; }
.corpus-wechat-card { align-self: end; margin: 28px 28px 28px 0; padding: 22px 18px 20px; border: 1px solid #f1d7d7; border-radius: 9px; background: #fff; box-shadow: 0 4px 16px rgba(203, 79, 79, .08); text-align: center; }
.corpus-wechat-copy { color: #f05252; font-size: 22px; line-height: 1.55; }
.corpus-wechat-copy p { margin: 0; }
.corpus-wechat-image { display: block; width: min(100%, 240px); height: auto; aspect-ratio: 1; margin: 16px auto 0; padding: 8px; border: 1px solid #edf0f2; border-radius: 5px; background: #fff; object-fit: contain; }
@media (max-width: 760px) {
  .corpus-detail-body { grid-template-columns: 1fr; }
  .corpus-wechat-card { align-self: auto; margin: 8px 16px 28px; }
  .corpus-detail-properties { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .corpus-detail-properties > div:nth-child(2n) { border-right: 0; }
  .corpus-detail-properties > div { border-bottom: 1px solid #e8f1f8; }
  .corpus-detail-properties > div:nth-last-child(-n + 2) { border-bottom: 0; }
}
@media (max-width: 520px) {
  .corpus-result-row { grid-template-columns: 24px minmax(0, 1fr); gap: 7px; padding: 10px; }
  .corpus-result-meta i { display: none; }
  .corpus-detail-header, .corpus-detail-section { margin-left: 16px; margin-right: 16px; }
  .corpus-detail-header { padding: 18px 16px; margin: 0; }
  .corpus-detail-properties > div { padding: 12px; }
  .corpus-detail-back { margin-left: 16px; }
  .corpus-wechat-card { margin: 8px 16px 24px; padding: 18px 14px; }
  .corpus-wechat-copy { font-size: 19px; }
}
