:root {
  --ink: #17181c;
  --muted: #6e7480;
  --line: rgba(26, 31, 44, .09);
  --soft: #f5f5f7;
  --blue: #2962ff;
  --blue-soft: #eef3ff;
  --green: #168455;
  --shadow: 0 18px 55px rgba(28, 34, 52, .08);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: #fff;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: linear-gradient(180deg, #fff 0, #fbfbfd 420px, #f7f7f9 100%); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.app-shell { width: min(1320px, calc(100% - 64px)); min-height: calc(100vh - 84px); margin: 0 auto; padding: 42px 0 80px; }
.loading, .empty-page { min-height: 55vh; display: grid; place-items: center; color: var(--muted); }
.page-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; margin-bottom: 28px; }
.breadcrumb { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; color: var(--blue); font-size: 13px; font-weight: 650; }
.page-top h1 { margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.04; letter-spacing: -.055em; }
.page-top p { max-width: 720px; margin: 14px 0 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.space-pill { flex: 0 0 auto; max-width: 310px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.82); box-shadow: 0 10px 30px rgba(31,36,51,.05); }
.space-pill small { display: block; color: #9095a0; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.space-pill b { display: block; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.workspace-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start; }
.panel { border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: var(--shadow); }
.search-panel { padding: 24px; }
.search-main { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
.search-input { width: 100%; height: 54px; padding: 0 18px; border: 1px solid #dfe2e8; border-radius: 15px; outline: none; background: #fff; color: var(--ink); font-size: 16px; transition: .18s ease; }
.search-input:focus { border-color: #8ba8ff; box-shadow: 0 0 0 4px rgba(41,98,255,.10); }
.primary-button, .secondary-button, .text-button { border: 0; cursor: pointer; }
.primary-button { min-height: 52px; padding: 0 22px; border-radius: 15px; background: #17181c; color: #fff; font-weight: 700; box-shadow: 0 9px 24px rgba(23,24,28,.18); }
.primary-button:hover { transform: translateY(-1px); }
.primary-button:disabled { opacity: .48; cursor: wait; transform: none; }
.secondary-button { min-height: 42px; padding: 0 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: #343842; font-weight: 650; }
.secondary-button:hover { background: #f7f8fb; }
.text-button { padding: 5px; background: transparent; color: var(--blue); font-size: 13px; font-weight: 680; }
.filters { display: grid; grid-template-columns: repeat(5, minmax(100px, 1fr)); gap: 10px; margin-top: 14px; }
.filters label { display: grid; gap: 7px; color: #858a95; font-size: 11px; font-weight: 650; }
.filters input, .filters select { width: 100%; height: 40px; padding: 0 11px; border: 1px solid #e1e4e9; border-radius: 11px; background: #fafbfc; color: #333743; outline: none; }
.filter-check { display: flex !important; align-items: flex-end; }
.filter-check span { min-height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #e1e4e9; border-radius: 11px; background: #fafbfc; color: #4a4f59; }
.filter-check input { width: auto; height: auto; }
.results-panel { margin-top: 22px; overflow: hidden; }
.panel-head { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 24px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.panel-head span { color: var(--muted); font-size: 12px; }
.result-list { display: grid; }
.paper-row { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 15px; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.paper-row:last-child { border-bottom: 0; }
.paper-row:hover { background: #fbfbfd; }
.paper-row input { width: 17px; height: 17px; margin-top: 4px; accent-color: var(--blue); }
.paper-title { margin: 0; font-size: 16px; line-height: 1.48; letter-spacing: -.018em; }
.paper-meta { margin-top: 7px; color: #7a808c; font-size: 12px; line-height: 1.55; }
.paper-abstract { max-width: 860px; margin: 11px 0 0; color: #4f5560; font-size: 13px; line-height: 1.7; }
.badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.badge { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; border-radius: 999px; background: #f0f1f4; color: #666d79; font-size: 10px; font-weight: 650; }
.badge.oa { background: #eaf8f1; color: var(--green); }
.open-link { align-self: start; color: var(--blue); font-size: 12px; font-weight: 680; white-space: nowrap; }
.selection-bar { position: sticky; bottom: 18px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 16px 18px 18px; padding: 12px 14px 12px 18px; border: 1px solid rgba(31,39,67,.12); border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 14px 36px rgba(24,31,50,.16); backdrop-filter: blur(14px); }
.selection-bar[hidden] { display: none; }
.selection-bar b { font-size: 13px; }
.selection-bar span { color: var(--muted); font-size: 12px; }
.side-stack { display: grid; gap: 18px; }
.side-panel { padding: 20px; }
.side-panel h3 { margin: 0; font-size: 15px; }
.side-panel > p { margin: 8px 0 16px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.side-actions { display: grid; gap: 9px; }
.side-actions button { width: 100%; }
.session-list { display: grid; gap: 8px; }
.session-item { width: 100%; display: grid; gap: 4px; padding: 11px 12px; border: 1px solid transparent; border-radius: 12px; background: #f7f7f9; text-align: left; cursor: pointer; }
.session-item:hover, .session-item.active { border-color: #dce4ff; background: #f2f5ff; }
.session-item b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.session-item span { color: #848a96; font-size: 10px; }
.plan-panel { margin-top: 22px; padding: 26px;
  scroll-margin-top: 108px;
}
.plan-panel[hidden] { display: none; }
.plan-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.plan-top h2 { margin: 0; font-size: 20px; }
.plan-top p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 20px; }
.plan-card { padding: 17px; border-radius: 16px; background: var(--soft); }
.plan-card.full { grid-column: 1 / -1; }
.plan-card h4 { margin: 0 0 10px; font-size: 13px; }
.plan-card ul { margin: 0; padding-left: 19px; color: #515763; font-size: 12px; line-height: 1.8; }
.query-row { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(30,35,46,.08); }
.query-row:last-child { border-bottom: 0; }
.query-row b { font-size: 11px; }
.query-row code { overflow-wrap: anywhere; color: #3d4450; font-size: 11px; line-height: 1.6; }
.empty-state { padding: 60px 24px; color: var(--muted); text-align: center; }
.space-picker { width: min(760px, 100%); margin: 40px auto; padding: 30px; }
.space-picker h1 { margin: 0; font-size: 32px; }
.space-picker p { color: var(--muted); line-height: 1.7; }
.space-options { display: grid; gap: 10px; margin-top: 24px; }
.space-option { display: flex; justify-content: space-between; gap: 18px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.space-option:hover { border-color: #bdcaff; }
.space-option b { font-size: 14px; }
.space-option span { color: var(--blue); font-size: 12px; font-weight: 680; }
.toast { position: fixed; right: 28px; bottom: 28px; z-index: 1100; max-width: 420px; padding: 13px 16px; border-radius: 13px; background: #1c1e23; color: #fff; box-shadow: 0 18px 44px rgba(0,0,0,.2); font-size: 12px; opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
@media (max-width: 980px) {
  .app-shell { width: min(100% - 36px, 900px); }
  .workspace-grid { grid-template-columns: 1fr; }
  .side-stack { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filters { grid-template-columns: repeat(3, minmax(100px,1fr)); }
}
@media (max-width: 640px) {
  .app-shell { width: calc(100% - 24px); padding-top: 26px; }
  .page-top { display: block; }
  .space-pill { max-width: none; margin-top: 18px; }
  .search-main { grid-template-columns: 1fr; }
  .filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .side-stack, .plan-grid { grid-template-columns: 1fr; }
  .paper-row { grid-template-columns: 26px minmax(0,1fr); padding: 18px 16px; }
  .open-link { grid-column: 2; }
  .selection-bar { align-items: flex-start; flex-direction: column; }
  .selection-bar .primary-button { width: 100%; }
  .plan-card.full { grid-column: auto; }
}

/* R13.4.2: clearer search guidance, rate-limit feedback and AI-first strategy action. */
.search-guidance { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:12px; color:#8a909b; font-size:11px; line-height:1.5; }
.search-guidance b { color:#4f5662; font-weight:650; }
.search-notice { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:15px; margin-top:16px; padding:16px 18px; border:1px solid rgba(191,116,24,.18); border-radius:18px; background:#fffaf2; box-shadow:0 12px 32px rgba(101,70,26,.06); }
.search-notice .notice-mark { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#f6e6ca; color:#8e5a12; font-weight:800; }
.search-notice h3 { margin:0; color:#6f4610; font-size:14px; }
.search-notice p { margin:5px 0 0; color:#6e5b43; font-size:12px; line-height:1.65; }
.search-notice small { display:block; margin-top:5px; color:#8c765a; font-size:11px; line-height:1.55; }
.strategy-panel > p { margin-bottom:14px; }
.strategy-status { display:flex; align-items:center; gap:10px; margin:0 0 12px; padding:11px 12px; border-radius:13px; background:#f5f7ff; }
.ai-dot { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#4a68ff; box-shadow:0 0 0 5px rgba(74,104,255,.10); }
.strategy-status b { display:block; font-size:12px; }
.strategy-status small { display:block; margin-top:3px; color:#7d8492; font-size:10px; }
.strategy-ai-button { width:100%; min-height:44px; border:0; border-radius:12px; background:#1d1f24; color:#fff; font:inherit; font-weight:700; cursor:pointer; box-shadow:0 9px 22px rgba(29,31,36,.15); }
.strategy-ai-button:hover { transform:translateY(-1px); }
.strategy-ai-button:disabled { opacity:.48; cursor:wait; transform:none; }
.plan-notice { margin-top:16px; padding:12px 14px; border-radius:13px; background:#fff8eb; color:#765323; font-size:12px; line-height:1.65; }
@media (max-width: 640px) {
  .search-guidance { align-items:flex-start; flex-direction:column; gap:3px; }
  .search-notice { grid-template-columns:32px minmax(0,1fr); }
  .search-notice > button { grid-column:1 / -1; width:100%; }
}

/* R13.4.4 · provider fallback state */
.search-notice{padding:14px 16px;border-radius:16px;box-shadow:none}
.search-notice>button{min-height:40px;padding-inline:16px}
.source-notice{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid rgba(47,163,102,.14);border-radius:15px;background:linear-gradient(135deg,#f4fbf7,#fbfdfc);color:#285d42}
.source-notice>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#dff5e8;color:#228651;font-weight:850}
.source-notice b{display:block;font-size:12px}
.source-notice p{margin:4px 0 0;color:#678071;font-size:11px;line-height:1.55}

/* R13.4.9 OpenAlex connection state */
.openalex-status-panel { display:grid; gap:16px; }
.openalex-status-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.openalex-status-head h3 { margin:0 0 6px; }
.openalex-status-head p { margin:0; }
.connection-badge { display:inline-flex; align-items:center; min-height:30px; padding:0 10px; border-radius:999px; background:#ecf8f0; color:#208554; font-size:12px; font-weight:800; white-space:nowrap; }
.connection-badge.missing { background:#fff4e6; color:#a15c00; }
.connection-detail { padding:14px; border-radius:16px; background:#f6f7fb; }
.connection-detail b { display:block; color:#1c2335; margin-bottom:7px; font-size:14px; }
.connection-detail small { display:block; color:#7d879d; line-height:1.6; }
.connection-settings { display:flex; justify-content:center; text-decoration:none; }
.search-notice a.secondary-button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; white-space:nowrap; }

/* R13.5.0 · intelligent literature discovery: multi-route recall, semantic reranking and AI review. */
.search-guidance > div { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.inline-link-button { border:0; padding:0; background:transparent; color:var(--blue); font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.inline-link-button:hover { text-decoration:underline; }
.plan-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.primary-button.compact { min-height:42px; padding-inline:16px; border-radius:12px; }
.plan-execution { display:grid; gap:8px; margin-top:18px; padding:15px 16px; border:1px solid rgba(41,98,255,.10); border-radius:15px; background:linear-gradient(135deg,#f7f9ff,#fbfcff); }
.plan-execution span { color:#6f7890; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.plan-execution code { overflow-wrap:anywhere; color:#263252; font-size:12px; line-height:1.65; }
.concept-group { display:grid; gap:5px; padding:10px 0; border-bottom:1px solid rgba(30,35,46,.07); }
.concept-group:last-child { border-bottom:0; }
.concept-group b { color:#2f3440; font-size:11px; }
.concept-group span { color:#69717f; font-size:11px; line-height:1.65; }
.badge.relevance { background:#eef3ff; color:#315ee9; }
.empty-state b { display:block; margin-bottom:8px; color:#303640; font-size:14px; }
.empty-state p { max-width:620px; margin:0 auto; line-height:1.7; }
@media (max-width:640px) {
  .plan-top { align-items:stretch; flex-direction:column; }
  .plan-actions { justify-content:stretch; }
  .plan-actions button { flex:1; }
  .search-guidance > div { align-items:flex-start; justify-content:flex-start; }
}

/* R13.5.0 · intelligent literature discovery engine */
.retrieval-routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.retrieval-route { display:grid; grid-template-columns:58px minmax(0,1fr); gap:10px; align-items:start; padding:11px 12px; border:1px solid rgba(37,64,130,.09); border-radius:12px; background:#fff; }
.retrieval-route > span { display:inline-flex; align-items:center; justify-content:center; min-height:24px; padding:0 7px; border-radius:999px; background:#edf3ff; color:#315ee9; font-size:9px; font-weight:800; white-space:nowrap; }
.retrieval-route.semantic > span { background:#f2edff; color:#7353c7; }
.retrieval-route b { display:block; margin-bottom:4px; color:#31394b; font-size:11px; }
.retrieval-route code { display:block; overflow-wrap:anywhere; color:#626d82; font-size:10px; line-height:1.55; }
.result-list { display:grid; gap:18px; }
.result-group { overflow:hidden; border:1px solid rgba(28,34,48,.08); border-radius:18px; background:#fff; }
.result-group-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:15px 18px; border-bottom:1px solid rgba(28,34,48,.07); background:linear-gradient(135deg,#fafbfe,#fff); }
.result-group-head h3 { margin:0; font-size:14px; }
.result-group-head p { margin:4px 0 0; color:#7d8492; font-size:10px; line-height:1.5; }
.result-group-head > span { min-width:48px; padding:5px 9px; border-radius:999px; background:#eef2f8; color:#566174; font-size:10px; font-weight:800; text-align:center; }
.result-group .paper-row { border-radius:0; border:0; border-bottom:1px solid rgba(28,34,48,.07); box-shadow:none; }
.result-group .paper-row:last-child { border-bottom:0; }
.paper-heading-line { display:flex; align-items:flex-start; gap:10px; }
.paper-heading-line .paper-title { flex:1; }
.level-badge { flex:0 0 auto; display:inline-flex; align-items:center; min-height:24px; padding:0 8px; border-radius:999px; font-size:9px; font-weight:850; }
.level-badge.direct { background:#e8f7ef; color:#237d50; }
.level-badge.high { background:#fff4df; color:#9a6100; }
.level-badge.extended { background:#edf3ff; color:#315ee9; }
.level-badge.background { background:#f4f0ff; color:#7555b9; }
.relevance-reason { display:flex; gap:8px; margin-top:10px; padding:9px 11px; border-radius:11px; background:#f7f8fb; color:#596274; font-size:10px; line-height:1.55; }
.relevance-reason b { flex:0 0 auto; color:#343b49; }
.discovery-path { display:flex; flex-wrap:wrap; gap:7px 12px; margin-top:8px; color:#7b8493; font-size:9px; line-height:1.5; }
.paper-row.level-direct { background:linear-gradient(90deg,rgba(234,249,241,.55),#fff 22%); }
.paper-row.level-high { background:linear-gradient(90deg,rgba(255,247,228,.55),#fff 22%); }
.paper-row.level-extended { background:linear-gradient(90deg,rgba(239,244,255,.5),#fff 22%); }
.paper-row.level-background { background:linear-gradient(90deg,rgba(246,242,255,.45),#fff 22%); }
@media (max-width:700px) {
  .retrieval-routes { grid-template-columns:1fr; }
  .paper-heading-line { display:block; }
  .level-badge { margin-top:7px; }
}

/* R13.5.4 · verified relevance layers, evidence provenance and pending candidates. */
.badge.evidence { background:#f4f5f8; color:#4f596b; }
.badge.versions { background:#fff4e8; color:#9a5b16; }
.level-badge.pending { background:#f1f2f5; color:#667085; }
.paper-row.level-pending { background:linear-gradient(90deg,rgba(242,243,246,.62),#fff 22%); }
.pending-group { border-style:dashed; }
.pending-group > summary { cursor:pointer; list-style:none; }
.pending-group > summary::-webkit-details-marker { display:none; }
.pending-group > summary::after { content:'展开候选'; margin-left:auto; color:#6d7687; font-size:10px; font-weight:800; }
.pending-group[open] > summary::after { content:'收起候选'; }
.pending-group .paper-row { opacity:.93; }
.level-badge.low { background:#f3f4f6; color:#667085; }
.paper-row.level-low { background:linear-gradient(90deg,rgba(246,247,249,.65),#fff 22%); }

/* v2.6.0 · dynamic literature sources, collections and selected-only publication */
.source-selector { margin-top: 16px; padding: 15px; border: 1px solid rgba(41,52,85,.09); border-radius: 16px; background: linear-gradient(135deg,#fafbff,#fff); }
.source-selector-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:11px; }
.source-selector-head b { display:block; color:#2b3242; font-size:12px; }
.source-selector-head span { display:block; margin-top:3px; color:#8a92a2; font-size:10px; }
.source-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.source-check { position:relative; display:grid; grid-template-columns:18px minmax(0,1fr) 8px; align-items:center; gap:8px; min-height:54px; padding:9px 10px; border:1px solid #e6e9f0; border-radius:12px; background:#fff; cursor:pointer; }
.source-check:hover { border-color:#cfd6ff; }
.source-check b { display:block; color:#303745; font-size:11px; }
.source-check small { display:block; margin-top:3px; color:#8a92a2; font-size:9px; line-height:1.45; }
.health-dot { width:7px; height:7px; border-radius:50%; background:#b9c0ce; }
.health-dot.healthy { background:#2bb673; box-shadow:0 0 0 4px rgba(43,182,115,.10); }
.health-dot.error { background:#e05a5a; }
.source-selector-empty { margin-top:16px; padding:14px; border-radius:14px; background:#fff3e7; color:#925b19; font-size:12px; }
.collection-selector { display:flex; align-items:flex-end; gap:10px; margin-top:12px; }
.collection-selector label { flex:1; display:grid; gap:6px; color:#697285; font-size:10px; }
.collection-selector select,.selection-actions select { min-height:40px; border:1px solid #dfe3ec; border-radius:11px; padding:0 10px; background:#fff; color:#343b49; font:inherit; font-size:11px; }
.secondary-button.compact { min-height:40px; padding-inline:13px; }
.selection-actions { display:flex; align-items:center; gap:9px; }
.context-return { margin-top:10px; padding:11px 12px; border-radius:12px; background:#eef2ff; color:#4353bd; }
.context-return b,.context-return small { display:block; }
.context-return b { font-size:11px; }.context-return small { margin-top:3px; font-size:9px; opacity:.78; }
@media(max-width:700px){.source-checks{grid-template-columns:1fr}.collection-selector,.selection-actions{align-items:stretch;flex-direction:column}.collection-selector .secondary-button,.selection-actions>*{width:100%}}

/* v3.5.0 · search-first literature discovery workbench */
body{background:linear-gradient(180deg,#f5f6fb 0,#fafbfe 48%,#f7f8fc 100%)}
.app-shell{width:min(1380px,calc(100% - 48px));padding-top:24px}
.literature-hero{position:relative;display:grid;justify-items:center;padding:12px 34px 14px;border:0;border-radius:0;background:transparent;box-shadow:none}
.literature-hero__top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}.literature-quick-links{display:flex;gap:8px}.literature-quick-links button{height:34px;padding:0 12px;border:1px solid #e1e5ee;border-radius:999px;background:#fff;color:#606b80;font:700 11px var(--font);cursor:pointer}
.literature-hero__mark{display:grid;place-items:center;width:64px;height:64px;margin-top:0;border-radius:20px;background:linear-gradient(135deg,#75a7ff,#5a5ff5);color:#fff;font-size:31px;box-shadow:0 16px 34px rgba(77,91,237,.24)}
.literature-hero h1,.literature-hero h2{margin:12px 0 0;color:#1c2440;font-size:36px;letter-spacing:-.055em}.literature-hero>p{margin:7px 0 16px;color:#707a91;font-size:13px}
.literature-search-box{width:min(990px,100%);display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:9px;align-items:start}.literature-search-box>.search-input{height:58px;padding:0 20px;border:1px solid #dfe4ef;border-radius:16px;background:#fff;font-size:15px;box-shadow:0 11px 30px rgba(39,48,90,.06)}.literature-search-submit{height:58px;border-radius:16px}.advanced-search{grid-column:1/-1;text-align:left}.advanced-search>summary{display:inline-flex;align-items:center;gap:7px;margin:3px 0 0;padding:5px 8px;color:#68748c;font-size:11px;font-weight:750;cursor:pointer}.advanced-search__body{margin-top:8px;padding:15px;border:1px solid #e8ebf2;border-radius:17px;background:#fafbfe}.advanced-search .source-selector{margin-top:0}.advanced-search .filters{margin-top:12px}
.ai-plan-error{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;margin:18px 0;padding:18px 20px;border:1px solid #f1d3b1;border-radius:18px;background:#fffaf1;color:#634720}.ai-plan-error__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#fbe7c8;color:#9c6317;font-weight:900}.ai-plan-error h3{margin:0;color:#63400d;font-size:15px}.ai-plan-error p{margin:6px 0;color:#765f42;font-size:12px;line-height:1.65}.ai-plan-error__action{display:grid;grid-template-columns:75px minmax(0,1fr);gap:8px;margin-top:8px;font-size:11px}.ai-plan-error small{display:block;margin-top:8px;color:#907b60}.ai-plan-error__buttons{display:flex;gap:8px;margin-top:12px}
.literature-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start;margin-top:10px}.literature-main,.literature-side{min-width:0}.literature-side{display:grid;gap:16px;position:sticky;top:92px}.section-kicker{display:block;margin-bottom:5px;color:#6974df;font-size:9px;font-weight:850;letter-spacing:.11em}.strategy-panel{padding:19px}.strategy-panel__head{display:flex;justify-content:space-between;gap:12px;align-items:start}.strategy-panel__head h3{margin:0;font-size:17px}.strategy-panel>p{color:#747e93;font-size:11px;line-height:1.65}.strategy-drawer{margin-top:13px;border-top:1px solid #eceef4}.strategy-drawer>summary{padding:13px 0 0;color:#59647b;font-size:11px;font-weight:800;cursor:pointer}.strategy-drawer .plan-panel{margin:12px -8px -8px;padding:12px;border:0;background:#f8f9fc;box-shadow:none}.strategy-drawer .plan-top{display:none}.strategy-drawer .plan-grid{grid-template-columns:1fr;gap:8px;margin-top:10px}.strategy-drawer .plan-card{padding:11px}.strategy-drawer .plan-card.full{grid-column:auto}.strategy-drawer .retrieval-routes{grid-template-columns:1fr}.strategy-drawer .query-row{grid-template-columns:1fr}.results-panel{overflow:visible}.panel-head h2{margin:0 0 4px;font-size:22px}
@media(max-width:1050px){.literature-layout{grid-template-columns:1fr}.literature-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.literature-side .strategy-panel{grid-column:1/-1}}
@media(max-width:680px){.app-shell{width:calc(100% - 20px)}.literature-hero{padding:10px 8px 12px}.literature-hero h1,.literature-hero h2{font-size:30px}.literature-search-box{grid-template-columns:1fr}.literature-search-submit{grid-column:1}.advanced-search{grid-column:1}.literature-side{grid-template-columns:1fr}.ai-plan-error{grid-template-columns:1fr}.ai-plan-error__buttons{flex-direction:column}}

/* v3.5.0 unified tool strip */
.app-shell>zhiyan-tool-hero{display:block;margin:0 auto 16px;width:min(1180px,calc(100% - 32px))}.literature-hero--search{margin-top:0}@media(max-width:720px){.app-shell>zhiyan-tool-hero{width:calc(100% - 20px);margin-bottom:10px}}


/* v3.5.1 · frameless literature search stage */
.literature-hero--search{margin-top:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.literature-hero--search .literature-hero__top{max-width:1180px}
.literature-hero--search .literature-search-box{max-width:990px}
.literature-hero--search+.ai-plan-error,.literature-hero--search+.search-notice{margin-top:8px}

/* v3.5.4 · dynamic databases, modal history and cleaner search flow */
.literature-hero--search{padding-bottom:24px}
.literature-search-box{display:block;width:min(1060px,100%)}
.literature-search-main{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px;align-items:center}
.literature-search-main>.search-input{height:58px;padding:0 20px;border:1px solid #dfe4ef;border-radius:16px;background:#fff;font-size:15px;box-shadow:0 11px 30px rgba(39,48,90,.06)}
.literature-search-main>.search-input:focus{border-color:#8ba8ff;box-shadow:0 0 0 4px rgba(41,98,255,.10),0 11px 30px rgba(39,48,90,.06)}
.quick-filter-row{display:grid;grid-template-columns:minmax(250px,1.5fr) minmax(110px,.65fr) minmax(130px,.8fr) auto auto;gap:10px;align-items:end;margin-top:15px;text-align:left}
.quick-filter-row>label{display:grid;gap:6px;color:#69748a;font-size:10px;font-weight:750}
.quick-filter-row input,.quick-filter-row select{width:100%;height:40px;padding:0 11px;border:1px solid #dfe4ed;border-radius:11px;background:rgba(255,255,255,.92);color:#343b49;outline:none}
.quick-filter-row input:focus,.quick-filter-row select:focus{border-color:#aabaff;box-shadow:0 0 0 3px rgba(79,91,226,.08)}
.year-range-filter>div{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:6px}
.year-range-filter i{color:#9aa2b2;font-style:normal;text-align:center}
.quick-filter-check{min-height:40px;display:flex!important;align-items:center!important;gap:8px;padding:0 12px;border:1px solid #dfe4ed;border-radius:11px;background:rgba(255,255,255,.92);color:#4d5668!important;white-space:nowrap;cursor:pointer}
.quick-filter-check input{width:15px!important;height:15px!important;padding:0;accent-color:#5b63ed}
.quick-filter-check span{font-size:11px}
.quick-filter-row .advanced-search{position:relative;grid-column:auto;text-align:left}
.quick-filter-row .advanced-search>summary{height:40px;display:flex;align-items:center;justify-content:center;margin:0;padding:0 13px;border:1px solid #dfe4ed;border-radius:11px;background:#fff;color:#58637a;font-size:11px;font-weight:750;cursor:pointer;list-style:none;white-space:nowrap}
.quick-filter-row .advanced-search>summary::-webkit-details-marker{display:none}
.quick-filter-row .advanced-search>summary::after{content:'⌄';margin-left:7px;color:#8b93a3}
.quick-filter-row .advanced-search[open]>summary::after{content:'⌃'}
.quick-filter-row .advanced-search__body{position:absolute;right:0;z-index:12;width:min(420px,calc(100vw - 32px));margin-top:8px;padding:14px;border:1px solid #e4e8f0;border-radius:15px;background:#fff;box-shadow:0 18px 42px rgba(35,42,67,.14)}
.quick-filter-row .collection-selector{margin-top:0}
.literature-layout{margin-top:32px;align-items:start}
.results-panel{margin-top:0;overflow:visible}
.results-panel-head{min-height:94px;align-items:center;padding:18px 24px}
.results-heading{min-width:0}
.results-title-row{display:flex;align-items:center;gap:10px}
.results-title-row h2{margin:0;font-size:23px;line-height:1.15;letter-spacing:-.035em}
.results-total{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#eef2f8;color:#566174;font-size:10px;font-weight:800;white-space:nowrap}
.results-heading p{max-width:780px;margin:8px 0 0;color:#778093;font-size:11px;line-height:1.6}
.select-all-button{flex:0 0 auto;white-space:nowrap}
.result-list>.paper-row:first-child{border-top:0}
.source-status-panel{margin-top:0;padding:18px}
.source-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.source-status-head h3{margin:0;font-size:17px;letter-spacing:-.025em}
.source-status-head p{margin:6px 0 0;color:#7b8498;font-size:10px;line-height:1.55}
.side-source-list{display:grid;gap:9px;margin-top:15px}
.side-source-option{display:grid;grid-template-columns:17px minmax(0,1fr);gap:9px;align-items:start;padding:12px;border:1px solid #e4e8f0;border-radius:14px;background:#fff;cursor:pointer;transition:.16s ease}
.side-source-option:hover{border-color:#cdd5ff;background:#fbfcff}
.side-source-option.selected{border-color:#c4ccff;background:#f3f5ff;box-shadow:0 0 0 2px rgba(90,99,238,.05)}
.side-source-option>input{width:15px;height:15px;margin:2px 0 0;accent-color:#5964ee}
.side-source-option__body{min-width:0}
.side-source-option__body b{display:block;color:#273044;font-size:12px}
.side-source-option__body small{display:block;margin-top:4px;color:#7d879a;font-size:9px;line-height:1.5}
.side-source-health{grid-column:2;display:inline-flex;align-items:center;gap:5px;width:max-content;margin-top:2px;color:#7c8597;font-size:9px;font-weight:700}
.side-source-health i{width:6px;height:6px;border-radius:50%;background:#b8bfcc}
.side-source-health.healthy{color:#23865a}.side-source-health.healthy i{background:#2bb673;box-shadow:0 0 0 3px rgba(43,182,115,.10)}
.side-source-health.error{color:#b65151}.side-source-health.error i{background:#e05a5a}
.source-status-actions{display:flex;justify-content:space-between;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid #eceef3}
.source-status-actions .text-button{font-size:10px}
.source-status-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:#80899b;font-size:9px}
.source-status-summary b{color:#4a556b;font-size:10px}

@media(max-width:1120px){
  .quick-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quick-filter-check,.quick-filter-row .advanced-search{align-self:end}
}
@media(max-width:680px){
  .literature-search-main{grid-template-columns:1fr}
  .literature-search-submit{width:100%}
  .quick-filter-row{grid-template-columns:1fr 1fr}
  .year-range-filter{grid-column:1/-1}
  .quick-filter-row .advanced-search__body{left:0;right:auto}
  .literature-layout{margin-top:24px}
  .results-panel-head{align-items:flex-start;flex-direction:column;min-height:0;padding:16px}
  .select-all-button{width:100%}
}

/* v3.5.4: scalable data-source selector and always-accessible history */
.literature-side{
  max-height:calc(100vh - 112px);
  overflow:auto;
  overscroll-behavior:contain;
  padding-right:3px;
  scrollbar-width:thin;
}
.compact-history-panel{padding:18px}
.history-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.history-panel-head h3{margin:0 0 4px;font-size:17px}
.history-panel-head p{margin:0;color:#7b8497;font-size:11px;line-height:1.55}
.compact-history-panel .session-list{gap:7px}
.source-search{display:grid;gap:6px;margin:12px 0;color:#778197;font-size:10px;font-weight:750}
.source-search input{height:36px;padding:0 11px;border:1px solid #dfe4ed;border-radius:10px;background:#fff;color:#31384a;outline:none}
.source-search input:focus{border-color:#aabaff;box-shadow:0 0 0 3px rgba(79,91,226,.08)}
.source-expand-button{width:100%;min-height:34px;margin-top:9px;border:1px dashed #d8ddea;border-radius:10px;background:#fafbfe;color:#5b657b;font:750 11px var(--font);cursor:pointer}
.source-expand-button:hover{border-color:#bfc7eb;background:#f5f6ff;color:#4f59d8}
.literature-history-layer{position:fixed;inset:0;z-index:2147482500;display:grid;place-items:center;padding:24px;background:rgba(17,22,48,.38);backdrop-filter:blur(7px)}
.literature-history-dialog{width:min(640px,100%);max-height:min(760px,calc(100vh - 48px));overflow:hidden;border:1px solid #e3e7ef;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(20,27,62,.28);font-family:var(--font)}
.literature-history-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:23px 24px 16px;border-bottom:1px solid #edf0f5}
.literature-history-dialog h2{margin:0;color:#171d30;font-size:23px;letter-spacing:-.03em}
.literature-history-dialog header p{margin:7px 0 0;color:#7d8799;font-size:12px;line-height:1.55}
.literature-history-dialog header>button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e1e5ed;border-radius:12px;background:#f7f8fb;color:#3e475b;font:700 22px/1 var(--font);cursor:pointer}
.literature-history-list{max-height:calc(100vh - 180px);overflow:auto;padding:16px 18px 22px}
.literature-history-list .session-list{display:grid;gap:9px}
@media(max-width:1050px){.literature-side{max-height:none;overflow:visible;padding-right:0}}
@media(max-width:680px){.literature-history-layer{padding:10px}.literature-history-dialog{max-height:calc(100vh - 20px);border-radius:18px}}

.strategy-stale-note{margin:10px 0;padding:10px 12px;border:1px solid #f4d9a5;border-radius:10px;background:#fff9ed;color:#8b5c14;font-size:12px;line-height:1.55}
