/* AILatest Journal · clean academic search surface */
/* Sidebar links are a persistent app shell.  Do not cross-fade the whole
   document when a rail link opens another shell page: the transition makes
   the rail appear to resize/rebuild before the destination is ready. */

:root {
  --paper:          #fffdf9;
  --paper-soft:     #f9f6ef;
  --paper-deeper:   #f1ece3;
  --ink:            #27231f;
  --ink-soft:       #514b45;
  --ink-faint:      #756f68;
  --rule:           #ded8cf;
  --rule-soft:      #ece7df;
  --accent:         #f97316;
  --accent-soft:    #fb8a35;
  --deep:           #1f2c4c;   /* 学术深蓝 */
  --deep-soft:      #2c3d68;
  /* 全站筛选选中：黑底白字（与全球站索引 chip 一致） */
  --filter-on:      #1c1c1e;
  --filter-on-fg:   #ffffff;
  --sage:           #5b6a4d;
  --gold:           #a07a2a;
  --crimson:        #7a2020;
  --tag-scie:       #1f3a5f;
  --tag-ssci:       #735a3e;
  --tag-ahci:       #724a58;
  --tag-esci:       #3b4f3b;
  --tag-ei:         #6b4a1f;
  --tag-pubmed:     #1d6f42;  /* PubMed green */

  --zone-1:         #1f3a5f;
  --zone-2:         #4f6f9b;
  --zone-3:         #9eb1cb;
  --zone-4:         #d3dbe6;
  --zone-top:       #1f2c4c;

  /* 兼容旧变量名：荐刊卡片/期刊列表沿用这些名字，原先未定义→卡片背景透明、文字色失效。 */
  --bg:        #fffdf9;
  --bg2:       #fffefb;   /* 卡片用：不透明、略提亮，盖住页面网格 */
  --fg:        var(--ink);
  --muted:     var(--ink-faint);
  --border:    var(--rule);
  --hover-bg:  var(--paper-soft);
  --accent-bg: var(--paper-soft);
  --link:      var(--deep);

  --sans:  Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
           'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',
           'Microsoft YaHei', sans-serif;
  --display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
             'Helvetica Neue', 'Segoe UI', 'PingFang SC', sans-serif;
  --mono:  'SFMono-Regular', Menlo, Consolas, monospace;

  --shadow-paper:   0 1px 0 rgba(43,42,39,.04),
                    0 18px 50px rgba(43,42,39,.08);
  /* 全站徽章边缘阴影：列表 / 详情 / 首页 / 荐刊 一致 */
  --badge-edge:
    0 1px 0 rgba(255, 255, 255, 0.72) inset,
    0 1px 2px rgba(40, 28, 16, 0.09),
    0 2px 6px rgba(40, 28, 16, 0.06);
  --badge-border: 1px solid rgba(28, 25, 23, 0.07);
}

/* JCAR public academic-integrity signal — kept in the same quiet detail-card
   language as the rest of the journal page.  This is a lead/review signal,
   not a misconduct verdict. */
.jcar-section {
  border-color: rgba(190, 147, 89, .26) !important;
  background: linear-gradient(180deg, rgba(255, 251, 244, .92), rgba(255, 255, 255, .96)) !important;
}
.jcar-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.jcar-head h4 { margin-bottom: 3px !important; }
.jcar-subtitle {
  color: #91663a;
  font-size: 13px;
  line-height: 1.45;
}
.jcar-risk-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 11px;
  border: 1px solid rgba(190, 147, 89, .34);
  border-radius: 999px;
  color: #91663a;
  background: rgba(246, 228, 200, .58);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
}
.jcar-risk-高,
.jcar-risk-high { color: #9b3d28; border-color: rgba(180, 75, 50, .28); background: rgba(255, 232, 224, .68); }
.jcar-risk-中,
.jcar-risk-medium { color: #8a5a1e; border-color: rgba(184, 130, 42, .28); background: rgba(255, 239, 206, .72); }
.jcar-risk-低,
.jcar-risk-low { color: #397052; border-color: rgba(67, 145, 103, .25); background: rgba(226, 245, 234, .72); }
.jcar-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.jcar-metric {
  min-width: 0;
  padding: 12px 13px 10px;
  border: 1px solid rgba(215, 194, 164, .45);
  border-radius: 12px;
  background: rgba(255, 255, 255, .75);
}
.jcar-metric-value {
  color: #a55c1f;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.jcar-metric-label {
  margin-top: 4px;
  color: #5f5144;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}
.jcar-metric-sub {
  margin-top: 3px;
  color: #8c7e70;
  font-size: 11px;
  line-height: 1.35;
}
.jcar-foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
  color: #8c7e70;
  font-size: 11px;
  line-height: 1.55;
}
.jcar-foot a {
  flex: 0 0 auto;
  color: #a55c1f;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.jcar-foot a:hover { text-decoration: underline; }
.jcar-loading { min-height: 86px; }

@media (max-width: 700px) {
  .jcar-metrics { grid-template-columns: 1fr; }
  .jcar-foot { flex-direction: column; gap: 6px; }
}

/* ───────────────── Reset & Base ───────────────── */
* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
html { overflow-y: scroll; }

html, body {
  background-color: #fffdf9;
}
body {
  background-image:
    radial-gradient(ellipse 680px 440px at 52% 18%, rgba(249,115,22,.13), transparent 72%),
    radial-gradient(ellipse 780px 520px at 86% 80%, rgba(31,44,76,.055), transparent 72%),
    linear-gradient(rgba(39,35,31,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(39,35,31,.035) 1px, transparent 1px),
    linear-gradient(180deg, #fffefa 0%, #fffaf2 42%, #fffdf9 100%);
  background-attachment: fixed;
  background-repeat: no-repeat, no-repeat, repeat, repeat, no-repeat;
  background-size: cover, cover, 60px 60px, 60px 60px, cover;
}

a { color: var(--accent); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .15s; }
a:hover { border-bottom-color: var(--accent); }

/* ─────────── Layout ─────────── */
body {
  display: block;
  max-width: none;
  margin: 0 auto;
  padding-left: 72px;
}
body.share-mode { padding-left: 0; }
body.share-mode .app-rail { display: none !important; }

.app-rail {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 72px;
  z-index: 120;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: 18px 8px;
  background: rgba(255,255,255,.48);
  border-right: 1px solid rgba(39,35,31,.08);
  box-shadow: 12px 0 38px rgba(39,35,31,.045);
  backdrop-filter: blur(18px);
}
.rail-top,
.rail-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.rail-bottom .rail-footprint-link { order: 8; }
.rail-bottom #fav-header-btn { order: 9; }
.rail-bottom #account-credit-badge { order: 10; }
/* ─── Page-level brand (desktop top-left) ─── */
.page-brand {
  display: none;
  position: absolute;
  top: 20px;
  left: 24px;
  z-index: 10;
  font-family: var(--display);
  font-weight: 780;
  font-size: 17px;
  letter-spacing: 0.06em;
  color: var(--ink);
  border: 1.5px solid var(--rule);
  border-radius: 12px;
  padding: 5px 13px;
  cursor: pointer;
  background: transparent;
  line-height: 1.3;
  transition: border-color .15s;
}
.page-brand:hover {
  border-color: var(--accent);
  color: var(--accent);
}
@media (min-width: 901px) {
  .page-brand { display: block; }
}

/* ─── Mobile brand in rail-top (first) ─── */
.rail-brand-mobile {
  display: none;
}
.rail-close-mobile {
  display: none;
}

.rail-nav-btn,
.app-rail .auth-btn,
.app-rail .lang-toggle {
  position: relative;
  width: 52px;
  min-height: 52px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 18px;
  background: transparent;
  color: var(--ink-faint);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0;
  cursor: pointer;
  box-shadow: none;
  transition: background .15s, color .15s, transform .15s, border-color .15s;
}
/* 侧栏「订阅」入口：略突出，不抢主导航 */
.rail-nav-btn.rail-pricing-btn {
  color: #6b4a12;
  border-color: rgba(139, 105, 20, 0.22);
  background: rgba(250, 244, 230, 0.72);
}
.rail-nav-btn.rail-pricing-btn:hover,
.rail-nav-btn.rail-pricing-btn.active,
.rail-nav-btn.rail-pricing-btn[aria-current="page"] {
  color: #3a2e1f;
  border-color: rgba(139, 105, 20, 0.45);
  background: #f5ecd6;
}
.rail-nav-btn.rail-pricing-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.7;
  fill: none;
}

.rail-nav-btn[hidden],
.rail-nav-btn[data-station-hidden],
.rail-nav-btn[data-station-hidden="1"],
.app-rail .account-credit-badge[hidden] {
  display: none !important;
}
.rail-nav-btn svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rail-nav-btn span:not(.rail-flag) {
  max-width: 48px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rail-region-picker {
  position: relative;
  display: inline-flex;
  justify-content: center;
}
.rail-region-symbol {
  background: rgba(249,115,22,.12);
  color: var(--accent);
  letter-spacing: -1px;
}
.rail-caret {
  margin-left: 2px;
  font-size: 9px;
  font-weight: 800;
  color: currentColor;
}
.rail-region-menu {
  position: absolute;
  top: 0;
  left: calc(100% + 10px);
  z-index: 170;
  width: 138px;
  display: none;
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: rgba(255,253,249,.96);
  box-shadow: 0 18px 44px rgba(39,35,31,.12);
  backdrop-filter: blur(18px);
  max-height: min(68vh, 520px);
  overflow-y: auto;
}
.rail-region-picker.open .rail-region-menu {
  display: grid;
}
.rail-region-menu.portal-open {
  display: grid;
}
.rail-region-option.rail-nav-btn {
  width: 100%;
  min-height: 38px;
  padding: 0 9px;
  border-radius: 10px;
  flex-direction: row;
  justify-content: flex-start;
  gap: 8px;
  font-size: 12px;
}
.rail-region-option::after {
  content: "✓";
  margin-left: auto;
  color: transparent;
  font-size: 12px;
  font-weight: 900;
}
.rail-region-option.active::after {
  color: var(--accent);
}
.app-rail .auth-btn {
  max-width: 56px;
  height: auto;
  min-height: 52px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.15;
  text-align: center;
}
.app-rail .auth-btn {
  display: none !important;
}
.app-rail .account-credit-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 52px;
  min-width: 52px;
  min-height: 52px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 18px;
  background: transparent;
  color: var(--ink-faint);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
  cursor: pointer;
  box-shadow: none;
}
.app-rail .account-credit-badge .rail-account-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  border-radius: 9px;
  background: rgba(39,35,31,.08);
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 900;
}
.app-rail .account-credit-badge.active,
.app-rail .account-credit-badge:hover {
  color: var(--accent);
  border-color: rgba(249,115,22,.18);
  background: rgba(249,115,22,.08);
}
.app-rail .account-credit-badge.active .rail-account-mark,
.app-rail .account-credit-badge:hover .rail-account-mark {
  background: rgba(249,115,22,.12);
  color: var(--accent);
}
.app-rail .account-credit-badge span.rail-me-label {
  max-width: 48px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* 侧栏会员徽章（Free / Pro / Max），替代原 Credits 数字 */
.app-rail .account-credit-badge .rail-tier-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 16px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
  border: 1px solid transparent;
  box-shadow: none;
}
.app-rail .account-credit-badge .rail-tier-chip.tier-free {
  background: #ebe6dc;
  color: #5c5348;
  border-color: #cfc6b6;
}
.app-rail .account-credit-badge .rail-tier-chip.tier-trial {
  background: linear-gradient(180deg, #e0f2fe 0%, #bae6fd 100%);
  color: #0369a1;
  border-color: #7dd3fc;
}
.app-rail .account-credit-badge .rail-tier-chip.tier-pro {
  background: linear-gradient(180deg, #ff9a3c 0%, #f97316 100%);
  color: #fff;
  border-color: #e85d04;
}
.app-rail .account-credit-badge .rail-tier-chip.tier-max {
  background: linear-gradient(135deg, #1f2c4c 0%, #0f172a 100%);
  color: #f6e7b2;
  border-color: #c9a227;
}
.app-rail .account-credit-badge b {
  display: none; /* 不再展示 Credits */
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: #f0c24b;
  color: #6b4a18;
  font-size: 10px;
  font-weight: 820;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.rail-flag {
  font-size: 13px;
  font-family: var(--sans);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
}
.domsrc-pill.ds-india {
  background: #e8f0e5;
  color: #315936;
  border-color: #bfd3b9;
}
.domsrc-pill.ds-malaysia {
  background: #e7eef5;
  color: #244b67;
  border-color: #b9ccda;
}
.domsrc-pill.ds-korea {
  background: #f2ece5;
  color: #71411f;
  border-color: #dbc3ae;
}
.india-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 10px 0 12px;
}
.country-journal-table thead {
  display: none !important;
}
.india-table th:nth-child(3),
.india-table td:nth-child(3) {
  min-width: 210px;
}
.malaysia-table th:nth-child(3),
.malaysia-table td:nth-child(3) {
  min-width: 230px;
}
.korea-toolbar .th-select {
  min-width: 180px;
}
.country-source-tabs {
  margin: 10px 0 12px;
}
.source-link {
  font-size: 12px;
  font-weight: 750;
}
.source-note {
  margin-top: 10px;
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.6;
}
.regional-source-pill {
  background: #f2ece5;
  border-color: #dbc3ae;
  color: #71411f;
}

.rail-nav-btn:hover,
.app-rail .auth-btn:hover,
.app-rail .lang-toggle:hover {
  background: rgba(249,115,22,.08);
  color: var(--accent);
  transform: translateY(-1px);
}
.rail-nav-btn.active {
  background: rgba(255,255,255,.9);
  border-color: rgba(249,115,22,.24);
  color: var(--accent);
  box-shadow: 0 10px 24px rgba(249,115,22,.12);
}
#sidebar {
  display: none !important;
}

/* Sidebar filters are kept in the DOM for existing JS bindings, but are
   intentionally hidden while the no-sidebar layout is restored. */
@media (min-width: 901px) {
  main.main {
    display: flex;
    flex-direction: column;
    max-width: 1120px;
  }
  main.main > *:not(#sidebar) {
    min-width: 0;
  }
}
#sidebar .side-section {
  margin-bottom: 16px;
}
#sidebar .side-section[hidden] { display: none !important; }
body.country-route #sidebar,
body.country-route [data-domestic],
body.country-route #sidebar-scrim {
  display: none !important;
}
#sidebar .side-label {
  font-size: 10px;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-faint);
}
#sidebar .chip-row { gap: 3px; }
#sidebar .chip { font-size: 10px; padding: 2px 6px; }

main.main {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100vh;
  padding: 18px 20px 70px;
  max-width: 1280px; /* 3 列卡片 + 顶栏筛选需要更宽主栏 */
  margin: 0 auto;
}

/* ─────────── Brand ─────────── */
.brand {
  font-family: var(--sans);
  font-weight: 750;
  font-size: 22px;
  letter-spacing: 0.01em;
  margin: 0 0 6px;
  line-height: 1.15;
  color: var(--ink);
}
.brand a { color: inherit; border: 0; }
.brand span {
  display: block;
  font-style: italic;
  font-weight: 500;
  font-size: 15px;
  color: var(--ink-faint);
  letter-spacing: 0.04em;
  margin-top: 2px;
}
.brand-sub {
  font-size: 11.5px;
  color: var(--ink-faint);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rule);
}

/* ─────────── Side sections ─────────── */
.side-section { margin-bottom: 22px; }
.side-label {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-faint);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--rule-soft);
  display: flex; align-items: center; justify-content: space-between;
}
.wos-clear {
  background: transparent; border: 1px solid var(--rule-soft);
  color: var(--ink-faint); font-size: 14px; line-height: 1;
  width: 18px; height: 18px; border-radius: 50%; cursor: pointer;
  padding: 0; display: inline-flex; align-items: center; justify-content: center;
}
.wos-clear:hover { color: var(--accent); border-color: var(--accent); }
.wos-search-wrap {
  position: relative;
  margin-bottom: 8px;
}
.wos-search-wrap::before {
  content: "🔍";
  position: absolute;
  left: 10px; top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  pointer-events: none;
  opacity: 0.6;
}
#wos-search {
  width: 100%; box-sizing: border-box;
  padding: 9px 30px 9px 32px;
  font-size: 14px;
  background: var(--paper);
  border: 1.5px solid var(--rule);
  border-radius: 6px;
  color: var(--ink);
  -webkit-appearance: none;
  appearance: none;
}
#wos-search::placeholder { color: var(--ink-faint); }
#wos-search:focus {
  outline: none;
  border-color: var(--accent);
  background: var(--paper-soft);
  box-shadow: 0 0 0 3px rgba(166, 124, 82, 0.12);
}
@media (max-width: 720px) {
  #wos-search { font-size: 16px; padding: 11px 32px 11px 34px; }
  .wos-search-wrap::before { font-size: 14px; left: 12px; }
}
.wos-list {
  max-height: 320px; overflow-y: auto;
  border: 1px solid var(--rule-soft); border-radius: 4px;
  background: var(--paper);
}
.wos-list-tall { max-height: calc(100vh - 360px); min-height: 420px; }
.wos-actions { display: flex; justify-content: flex-end; margin-bottom: 6px; }
.wos-list::-webkit-scrollbar { width: 6px; }
.wos-list::-webkit-scrollbar-thumb { background: var(--rule); border-radius: 3px; }
.wos-item {
  display: flex; align-items: center; gap: 6px;
  padding: 4px 8px; font-size: 12px; cursor: pointer;
  border-bottom: 1px solid var(--rule-soft);
  color: var(--ink-soft);
}
.wos-item:last-child { border-bottom: none; }
.wos-item:hover { background: var(--paper-warm, rgba(0,0,0,0.025)); color: var(--ink); }
.wos-item.on { background: rgba(166, 124, 82, 0.08); color: var(--ink); font-weight: 500; }
.wos-item input[type=checkbox] { margin: 0; flex-shrink: 0; }
.wos-name { flex: 1; line-height: 1.35; }
.wos-count { color: var(--ink-faint); font-size: 11px; font-variant-numeric: tabular-nums; }

.chip-row { display: flex; flex-wrap: wrap; gap: 6px; }
.chip {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 9px;
  font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.04em;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 2px;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background-color .15s, border-color .15s, color .15s;
  user-select: none;
}
.chip input { position: absolute; opacity: 0; pointer-events: none; }
/* 全站筛选选中：统一黑底白字 */
.chip:has(input:checked),
.chip.tag-scie:has(input:checked),
.chip.tag-ssci:has(input:checked),
.chip.tag-ahci:has(input:checked),
.chip.tag-esci:has(input:checked),
.chip.tag-esi:has(input:checked),
.chip.tag-ei:has(input:checked),
.chip.zone-1:has(input:checked),
.chip.zone-2:has(input:checked),
.chip.zone-3:has(input:checked),
.chip.zone-4:has(input:checked),
.chip.zone-top:has(input:checked),
.chip.xr-1:has(input:checked),
.chip.xr-2:has(input:checked),
.chip.xr-3:has(input:checked),
.chip.xr-4:has(input:checked),
.chip.xr-top:has(input:checked),
.chip.ds-chip-cssci:has(input:checked),
.chip.ds-chip-cssci-ext:has(input:checked),
.chip.ds-chip-pku:has(input:checked),
.chip.ds-chip-ccft:has(input:checked),
.chip.ds-chip-cscd:has(input:checked),
.chip.ds-chip-cstpcd:has(input:checked) {
  background: var(--filter-on);
  color: var(--filter-on-fg);
  border-color: var(--filter-on);
  opacity: 1;
}

/* cat 列表：书页目录感 */
.nav { display: flex; flex-direction: column; gap: 1px; }
.nav-item {
  font: inherit;
  font-family: var(--sans);
  text-align: left;
  background: transparent;
  border: 0;
  padding: 5px 4px;
  color: var(--ink-soft);
  cursor: pointer;
  font-size: 13px;
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px dotted transparent;
  transition: color .12s, border-color .12s;
}
.nav-item:hover { color: var(--accent); border-bottom-color: var(--rule-soft); }
.nav-item.active { color: var(--accent); font-weight: 600; }
.nav-item .count {
  font-family: var(--sans);
  font-size: 11px;
  color: var(--ink-faint);
  font-weight: 400;
}

.aside-foot {
  margin-top: 28px; padding-top: 14px;
  border-top: 1px solid var(--rule);
  font-size: 11.5px;
  color: var(--ink-faint);
  letter-spacing: 0.04em;
}
.aside-foot a { color: var(--ink-faint); }

/* ─────────── Top bar & tabs ─────────── */
/* 查刊 / 荐刊 已迁入搜索框右侧；保留 #mode-tabs 空壳兼容脚本检测 */
#mode-tabs,
#mode-tabs.mode-tabs-legacy {
  display: none !important;
}
.mobile-nav-brand { display: none; }

/* 搜索框右侧：查刊 | 推荐期刊 切换 */
.search-mode-switch {
  pointer-events: auto;
  display: none;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 999px;
  background: rgba(39, 35, 31, 0.06);
  border: 1px solid rgba(39, 35, 31, 0.06);
  flex: 0 0 auto;
}
body.home-route .search-mode-switch {
  display: inline-flex;
}
body.home-route .search-submit {
  display: none !important;
}
body:not(.home-route) .search-mode-switch {
  display: none !important;
}
.search-mode-btn {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--ink-faint);
  font-family: var(--sans);
  font-size: 12.5px;
  font-weight: 680;
  line-height: 1.2;
  letter-spacing: 0.01em;
  padding: 7px 12px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color .15s, color .15s, box-shadow .15s;
}
.search-mode-btn:hover {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.55);
}
.search-mode-btn.active {
  color: #fff;
  background: linear-gradient(135deg, #fb923c, #f97316 55%, #ea580c);
  font-weight: 740;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.28);
}
.search-mode-btn.active:hover {
  color: #fff;
  background: linear-gradient(135deg, #fb923c, #ea580c);
}

/* Sub-navigation bar */
.subnav {
  display: flex; gap: 6px;
  margin: -18px 0 22px;
  padding: 0;
  flex-wrap: wrap;
}
.subnav-btn {
  font-family: var(--sans);
  font-size: 12.5px;
  padding: 5px 14px;
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: 20px;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background-color .15s, border-color .15s, color .15s;
  letter-spacing: 0.02em;
}
.subnav-btn:hover { border-color: var(--accent); color: var(--accent); }
.subnav-btn.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

/* ─────────── Home tab ─────────── */
.home-hero {
  text-align: center;
  padding: 12px 16px 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: auto;
  width: 100%;
}
/* 首页落地顺序：标题 → 搜索 → 搜索记录 → 数据/热点 */
body.home-route:not(.home-tab-has-results):not(.topbar-compact) main.main {
  min-height: calc(100vh - 56px);
  display: flex;
  flex-direction: column;
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .home-hero-head {
  order: 1;
  /* 标题略下移，避免顶栏/导航太挤 */
  padding-top: clamp(52px, 9vh, 88px);
  padding-bottom: 0;
}
/* 搜索记录芯片：产品层不再展示 */
.home-search-chips,
#home-search-chips {
  display: none !important;
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .topbar {
  order: 2;
  position: relative;
  top: auto;
  margin: 18px auto 8px;
  width: min(720px, 100%);
  background: transparent;
  box-shadow: none;
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .home-search-chips {
  order: 3;
  margin: 0 auto 20px;
  width: min(720px, 100%);
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .home-hero-body {
  order: 4;
  padding-top: 4px;
  padding-bottom: 48px;
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .home-top-nav {
  display: flex;
}
body.home-route.home-tab-has-results .home-top-nav,
body.home-route.topbar-compact .home-top-nav,
body:not(.home-route) .home-top-nav {
  display: none !important;
}
body.home-route.home-tab-has-results .home-hero-head,
body.home-route.topbar-compact .home-hero-head {
  order: 0;
  padding: 8px 16px 0;
}
body.home-route.home-tab-has-results .topbar,
body.home-route.topbar-compact .topbar {
  order: 1;
}
body.home-route.home-tab-has-results .home-search-chips,
body.home-route.topbar-compact .home-search-chips {
  order: 2;
  margin: 0 auto 12px;
}
/* 紧凑模式：落地内容 order 必须 > topbar，否则默认 order:0 会把搜索挤到整页底部
   （表现为 About 区下方多出一条搜索框） */
body.home-route.topbar-compact:not(.home-tab-has-results) .home-hero-body {
  order: 3;
}
/* 仅有搜索结果时收起落地内容；topbar-compact 只收紧搜索条，不藏榜单/介绍 */
body.home-route.home-tab-has-results .home-hero-body {
  display: none;
}
body:not(.home-route) .home-hero {
  display: none;
}
body:not(.home-route) #mode-tabs {
  display: none;
}
/* 有搜索结果时收起落地页 */
body.home-tab-has-results .home-v4 .home-stats,
body.home-tab-has-results .home-v4 .home-hot,
body.home-tab-has-results .home-v4 .home-v4-sub {
  display: none;
}
body.home-tab-has-results .home-v4-title {
  font-size: clamp(18px, 2.2vw, 22px);
  margin-bottom: 4px;
}
body.home-tab-has-results .home-hero {
  padding-top: 12px;
  padding-bottom: 0;
}

/* ── Home V4 落地 ── */
.home-v4 {
  width: min(1120px, 100%);
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0;
  max-width: 100%;
}
.home-v4-title {
  font-family: var(--display), var(--sans);
  font-size: clamp(26px, 3.6vw, 38px);
  font-weight: 720;
  letter-spacing: -0.03em;
  line-height: 1.18;
  color: #1c1916;
  margin: 0 auto 12px;
  text-wrap: balance;
}
.home-v4-grad {
  background: linear-gradient(120deg, #c2410c 0%, #f97316 45%, #fb923c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.home-v4-sub {
  display: none; /* 副文案已迁到功能介绍；首页标题下一句即可 */
}
body.home-route:not(.home-tab-has-results) .home-v4-title {
  margin: 0 auto 4px;
  line-height: 1.28;
  text-wrap: balance;
  color: #1c1916;
}
body.home-route:not(.home-tab-has-results) .home-v4-grad {
  font-weight: 780;
}

/* 首页右上导航：链接 + 最右语言切换 */
.home-top-nav {
  display: none;
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 160;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 2px 4px;
  max-width: min(640px, calc(100vw - 88px));
  overflow: visible;
}
.home-top-nav a {
  font-size: 12.5px;
  font-weight: 680;
  color: #5c564f;
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 999px;
  white-space: nowrap;
  flex: 0 0 auto;
}
.home-top-nav a:hover {
  color: #c2410c;
  background: rgba(249, 115, 22, 0.08);
}
/* 嵌在导航内时：取消 fixed，跟在「联系」右侧 */
.home-top-nav .lang-toggle-wrap {
  position: static;
  top: auto;
  right: auto;
  z-index: auto;
  margin: 0 0 0 4px;
  flex: 0 0 auto;
}
.home-top-nav .lang-toggle {
  padding: 5px 12px;
  font-size: 12px;
  min-height: 30px;
  box-shadow: 0 1px 4px rgba(60, 48, 36, 0.08);
}

/* 首页产品介绍区块（嵌在 .home-v4 内：宽度跟父级，勿再 min(1120) 套一层） */
.home-intro {
  width: 100%;
  max-width: 100%;
  margin: 36px 0 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-sizing: border-box;
  padding: 0;
}
.home-sec {
  padding: 20px 18px;
  border: 1px solid rgba(90, 70, 50, 0.07);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.62);
  scroll-margin-top: 24px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.home-sec-id {
  display: block;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c2410c;
  margin-bottom: 6px;
}
.home-sec-title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #1c1916;
}
.home-sec-lead {
  margin: 0 0 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: #5c564f;
  max-width: 52em;
}
.home-sec-note {
  margin: 12px 0 0;
  text-align: center;
  font-size: 12.5px;
  color: #8a837a;
}
.home-feat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.home-feat {
  padding: 14px 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(90, 70, 50, 0.06);
}
.home-feat-ico {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(165deg, #fff8f1 0%, #ffedd5 100%);
  color: #c2410c;
  margin-bottom: 10px;
  box-shadow: inset 0 0 0 1px rgba(194, 65, 12, 0.08);
}
.home-feat-ico svg {
  width: 18px;
  height: 18px;
  display: block;
  flex: none;
}
.home-feat b {
  display: block;
  font-size: 13.5px;
  margin-bottom: 5px;
  color: #1c1917;
}
.home-feat span {
  font-size: 12.5px;
  color: #8a837a;
  line-height: 1.5;
}
.home-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.home-step {
  padding: 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(90, 70, 50, 0.06);
}
.home-step em {
  display: block;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  color: #f97316;
  margin-bottom: 6px;
}
.home-step b {
  display: block;
  font-size: 13px;
  margin-bottom: 4px;
}
.home-step span {
  font-size: 12px;
  color: #8a837a;
  line-height: 1.45;
}
.home-plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.home-plan {
  position: relative;
  padding: 16px 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(90, 70, 50, 0.08);
  display: flex;
  flex-direction: column;
}
.home-plan-hot {
  border-color: rgba(249, 115, 22, 0.35);
  box-shadow: 0 10px 28px rgba(249, 115, 22, 0.1);
  background: linear-gradient(180deg, #fffdf9, #fff7ed);
}
.home-plan-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 10px;
  font-weight: 800;
  color: #fff;
  background: #f97316;
  border-radius: 999px;
  padding: 3px 8px;
}
.home-plan h3 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 800;
}
.home-plan-price {
  font-size: 22px;
  font-weight: 840;
  color: #b45309;
  letter-spacing: -0.03em;
  margin: 8px 0 4px;
}
.home-plan-price small {
  font-size: 12px;
  font-weight: 650;
  color: #8a837a;
}
.home-plan-price .price-rmb-estimate {
  display: inline-block;
  margin-left: 2px;
  font-size: 12px;
  font-weight: 700;
  color: #78716c;
  letter-spacing: 0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.price-rmb-estimate[hidden] {
  display: none !important;
}
.home-plan-was {
  margin: 0 0 6px;
  font-size: 11.5px;
  color: #a8a29e;
  text-decoration: line-through;
}
.home-edu-price {
  margin: 0 0 6px;
  color: #c2410c;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.35;
}
.home-edu-price[hidden] {
  display: none !important;
}
.home-plan-desc {
  font-size: 12px;
  color: #8a837a;
  margin: 0 0 10px;
}
.home-plan .home-btn + .home-btn { margin-top: 6px; }
.home-payment-note {
  box-sizing: border-box;
  height: 32px;
  margin: 8px 0 0;
  color: #8a837a;
  font-size: 10.5px;
  font-weight: 650;
  line-height: 16px;
  text-align: center;
  overflow: visible;
}
.home-payment-note-empty {
  visibility: hidden;
}
.home-btn-edu {
  font-size: 12px !important;
  min-height: 34px !important;
  color: #c2410c !important;
  border-color: rgba(249, 115, 22, .28) !important;
  background: #fff7ed !important;
}
.home-btn-edu.edu-locked {
  opacity: .72;
  color: #78716c !important;
  border-color: rgba(90, 70, 50, .12) !important;
  background: #fafaf9 !important;
}
/* 机构邮箱已验证：教育价用橙色主 CTA，保持 DOM 顺序（在标准价下方，不 order 上移） */
.home-btn-edu.edu-ready,
button.home-btn.edu-ready {
  font-size: 13.5px !important;
  min-height: 42px !important;
  font-weight: 780 !important;
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(180deg, #fb923c, #f97316) !important;
  box-shadow: 0 8px 18px rgba(249, 115, 22, .28) !important;
  order: unset !important;
}
.home-btn.std-price-locked,
button.std-price-locked[data-creem-checkout] {
  opacity: .48 !important;
  cursor: not-allowed !important;
  pointer-events: none;
  filter: grayscale(.35);
  box-shadow: none !important;
  background: #f5f5f4 !important;
  color: #a8a29e !important;
  border-color: rgba(90, 70, 50, .1) !important;
}
.settings-link-row.std-price-locked {
  opacity: .45;
  cursor: not-allowed !important;
  pointer-events: none;
  color: #a8a29e !important;
}
.settings-link-row.settings-edu-cta.edu-ready {
  background: linear-gradient(180deg, #fff7ed, #ffedd5);
  border: 1px solid rgba(249, 115, 22, .28);
  color: #c2410c !important;
  font-weight: 780;
}
.settings-link-row.settings-edu-cta.edu-locked {
  opacity: .72;
  color: #78716c !important;
}
.home-edu-status {
  margin: 0 auto 12px;
  max-width: 640px;
  padding: 10px 14px;
  border-radius: 12px;
  background: #fff7ed;
  border: 1px solid rgba(249, 115, 22, .18);
  color: #9a3412;
  font-size: 12.5px;
  line-height: 1.45;
  text-align: center;
}
.home-edu-status[data-state="ok"] {
  background: #ecfdf5;
  border-color: rgba(4, 120, 87, .18);
  color: #047857;
}
.home-edu-status[data-state="blocked"] {
  background: #fff7ed;
  color: #9a3412;
}
.home-price-billing {
  margin-top: -4px;
  margin-bottom: 12px;
}
.billing-toggle-wrap {
  display: flex;
  justify-content: center;
  margin: 4px 0 12px;
}
.billing-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 5px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(90, 70, 50, 0.12);
  box-shadow: 0 6px 18px rgba(40, 28, 16, 0.06);
}
.billing-toggle-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: #78716c;
  font: inherit;
  font-size: 14px;
  font-weight: 720;
  padding: 9px 18px;
  border-radius: 999px;
  cursor: pointer;
  min-width: 96px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.billing-toggle-btn:hover {
  color: #1c1917;
}
.billing-toggle-btn.is-on {
  background: linear-gradient(180deg, #fb923c, #f97316);
  color: #fff;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.28);
}
.billing-toggle-btn .billing-save-tag,
.billing-save-tag {
  display: inline-flex;
  font-size: 10px;
  font-weight: 800;
  font-style: normal;
  letter-spacing: .02em;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  color: inherit;
  line-height: 1.2;
}
.billing-toggle-btn:not(.is-on) .billing-save-tag {
  background: #fff7ed;
  color: #c2410c;
}
.settings-billing-toggle {
  justify-content: flex-start;
  margin: 8px 0 10px;
}
.settings-billing-toggle .billing-toggle {
  width: 100%;
  max-width: 320px;
}
.settings-billing-toggle .billing-toggle-btn {
  flex: 1 1 0;
  min-width: 0;
}
.home-sec#pricing .billing-toggle-wrap {
  display: flex !important;
  visibility: visible !important;
}
.home-sec#pricing .billing-toggle {
  display: inline-flex !important;
}
.home-sec#pricing [data-market-intl-only][hidden],
.settings-billing-toggle[data-market-intl-only][hidden],
.home-sec#pricing [data-market-panel][hidden],
[data-creem-checkout][data-edu][hidden] {
  display: none !important;
  visibility: hidden !important;
}
.home-price-more {
  margin-top: 10px !important;
}
.home-price-more a {
  color: #c2410c;
  font-weight: 700;
  text-decoration: none;
}
.home-price-more a:hover {
  text-decoration: underline;
}
.home-sec#pricing {
  text-align: center;
}
.home-sec#pricing .home-plans {
  text-align: left;
}
.home-plan ul {
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
  font-size: 12.5px;
  color: #5c564f;
  display: grid;
  gap: 5px;
  flex: 1 1 auto;
}
.home-plan ul li::before {
  content: "✓ ";
  color: #ea580c;
  font-weight: 900;
}
/* 下载：简洁平台横条 */
.home-dl-sec { text-align: center; }
.dl-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  max-width: 880px;
  margin: 0 auto;
  padding: 22px 10px 18px;
  border-radius: 20px;
  background:
    radial-gradient(520px 180px at 20% 0%, rgba(186, 220, 230, 0.55), transparent 70%),
    radial-gradient(480px 160px at 85% 20%, rgba(255, 214, 186, 0.45), transparent 68%),
    linear-gradient(180deg, rgba(255, 253, 249, 0.95), rgba(245, 240, 232, 0.9));
  border: 1px solid rgba(90, 70, 50, 0.07);
  box-shadow: 0 10px 28px rgba(40, 28, 16, 0.05);
}
.dl-strip-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 6px;
  min-width: 0;
  position: relative;
}
.dl-strip-item + .dl-strip-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 22%;
  width: 1px;
  background: rgba(90, 70, 50, 0.1);
}
.dl-strip-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: #1c1917;
}
.dl-strip-icon svg { width: 26px; height: 26px; }
.dl-strip-name {
  font-size: 15px;
  font-weight: 750;
  color: #1c1917;
  letter-spacing: -0.01em;
}
.dl-strip-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  border: 0;
  background: rgba(255, 255, 255, 0.82);
  color: #1c1917;
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 4px 12px rgba(40, 28, 16, 0.06);
  cursor: pointer;
  transition: background .12s ease, transform .12s ease;
}
a.dl-strip-btn:hover,
button.dl-strip-btn:hover:not(:disabled) {
  background: #fff;
  transform: translateY(-1px);
}
.dl-strip-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}
.dl-strip-meta {
  margin: 0;
  font-size: 11px;
  color: #a8a29e;
  font-weight: 600;
  min-height: 1.2em;
}
.home-dl-note {
  margin-top: 12px !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 8px;
}
.home-dl-linkish {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  color: #c2410c;
  cursor: pointer;
}
.home-dl-linkish:hover { text-decoration: underline; }
.home-dl-note a {
  font-size: 12.5px;
  font-weight: 700;
  color: #c2410c;
  text-decoration: none;
}
.home-dl-note a:hover { text-decoration: underline; }
.home-dl-dot { color: #d6d3d1; }

/* 微信小程序码：悬浮预览，不打开独立弹层 */
.dl-strip-item-wechat { position: relative; }
.wechat-mini-popover {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 20;
  width: 118px;
  padding: 4px;
  border: 1px solid rgba(90, 70, 50, 0.14);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(30, 22, 12, 0.22);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 6px);
  transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}
.wechat-mini-popover::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 8px;
  height: 8px;
  background: #fff;
  border-right: 1px solid rgba(90, 70, 50, 0.14);
  border-bottom: 1px solid rgba(90, 70, 50, 0.14);
  transform: translateX(-50%) rotate(45deg);
}
.wechat-mini-popover img {
  display: block;
  width: 110px;
  height: 110px;
  max-width: calc(100vw - 52px);
  object-fit: contain;
  border-radius: 6px;
}
.dl-strip-item-wechat:hover .wechat-mini-popover,
.dl-strip-item-wechat:focus-within .wechat-mini-popover {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
@media (max-width: 720px) {
  .wechat-mini-popover { width: min(118px, calc(100vw - 32px)); }
  .wechat-mini-popover img { width: min(110px, calc(100vw - 52px)); height: auto; }
  .dl-strip {
    grid-template-columns: 1fr 1fr;
    padding: 14px 8px;
  }
  .dl-strip-item + .dl-strip-item::before { display: none; }
  .dl-strip-item {
    border-bottom: 1px solid rgba(90, 70, 50, 0.06);
    padding: 12px 8px;
  }
  .dl-strip-item:nth-last-child(-n+2) { border-bottom: 0; }
}
.home-contact-box {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 12px;
}
.home-contact-block {
  padding: 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(90, 70, 50, 0.06);
}
.home-contact-block b {
  display: block;
  margin-bottom: 6px;
  font-size: 13.5px;
}
.home-contact-block p {
  margin: 0;
  font-size: 12.5px;
  color: #5c564f;
  line-height: 1.5;
}
.home-contact-links {
  margin-top: 8px !important;
}
.home-contact-links a {
  color: #c2410c;
  font-weight: 650;
  text-decoration: none;
}
.home-contact-links a:hover { text-decoration: underline; }
.home-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 14px;
}
.home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  font: 720 13px/1 var(--sans);
  text-decoration: none;
  border: 0;
  cursor: pointer;
  box-sizing: border-box;
}
.home-btn-primary {
  background: linear-gradient(135deg, #fb923c, #f97316 55%, #ea580c);
  color: #fff;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.28);
}
.home-btn-ghost {
  background: #fff;
  color: #1c1916;
  border: 1px solid rgba(90, 70, 50, 0.12);
}
.home-btn-block { width: 100%; }
a.home-btn { color: inherit; }
a.home-btn-primary { color: #fff; }

@media (max-width: 900px) {
  /* 手机首页：隐藏落地顶栏链接（功能/榜单/订阅…），只留语言；避免与品牌/搜索叠字 */
  body.home-route .home-top-nav a {
    display: none !important;
  }
  body.home-route:not(.home-tab-has-results):not(.topbar-compact) .home-top-nav {
    display: flex !important;
    position: fixed;
    top: 10px;
    right: 10px;
    left: auto;
    max-width: none;
    width: auto;
    z-index: 165;
    gap: 0;
    flex-wrap: nowrap;
    pointer-events: none; /* 空导航不挡点击；语言按钮再开 */
  }
  body.home-route .home-top-nav .lang-toggle-wrap {
    pointer-events: auto;
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin: 0 !important;
  }
  body.home-route .home-top-nav .lang-toggle {
    padding: 5px 12px;
    font-size: 12px;
    min-height: 30px;
  }
  /* 手机品牌：完整 AILatest Journal，给右侧语言按钮留空 */
  body.home-route .topbar-brand em,
  body.topbar-compact .topbar-brand em {
    display: inline !important;
  }
  body.home-route .topbar-brand,
  body.topbar-compact .topbar-brand {
    left: 52px !important;
    top: 14px !important;
    max-width: calc(100vw - 148px) !important;
    font-size: 14px !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* 首页落地标题少一点顶距（顶栏已简化） */
  body.home-route:not(.home-tab-has-results):not(.topbar-compact) .home-hero-head {
    padding-top: clamp(28px, 6vh, 48px);
  }
  /* 手机首页：后半段与搜索同宽，去掉嵌套缩进 */
  body.home-route .home-hero {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    align-items: stretch;
  }
  body.home-route .home-v4,
  body.home-route .home-intro,
  body.home-route .home-stats,
  body.home-route .home-hot {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }
  body.home-route .home-sec {
    padding: 16px 14px;
    border-radius: 14px;
  }
  body.home-route .home-feat,
  body.home-route .home-step {
    padding: 12px 12px;
  }
  body.home-route .home-sec-lead {
    max-width: none;
  }
  body.home-route:not(.home-tab-has-results):not(.topbar-compact) .home-hero-body {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  .home-feat-grid,
  .home-plans { grid-template-columns: 1fr 1fr; }

  .home-steps { grid-template-columns: 1fr 1fr; }
  .home-contact-box { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .home-feat-grid,
  .home-plans,
  .home-steps { grid-template-columns: 1fr; }
  body.home-route .home-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.home-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  width: 100%;
  max-width: 100%;
}
.home-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 16px 12px;
  border-radius: 14px;
  min-height: 88px;
  border: 0;
  background: linear-gradient(180deg, #fffbf7 0%, #fff3e8 50%, #ffe8d4 100%);
  box-shadow:
    0 1px 2px rgba(120, 80, 40, 0.04),
    0 8px 20px rgba(180, 120, 70, 0.09);
}
.home-stat-num {
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 5px;
  font-variant-numeric: tabular-nums;
  color: #b45309;
}
.home-stat-label {
  font-size: 12.5px;
  font-weight: 600;
  color: #78716c;
}
.home-hot {
  margin: 36px 0 0;
  width: 100%;
  max-width: 100%;
  text-align: left;
}
.home-hot-titles {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.home-hot-sub {
  margin: 0;
  font-size: 12px;
  font-weight: 550;
  color: #a8a29e;
  letter-spacing: 0.01em;
}
.home-hot-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding: 0 2px;
}
.home-hot-head h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -0.01em;
  color: #1c1916;
}
.home-hot-ai { display: none !important; }
.home-hot-list {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(40, 28, 16, 0.05);
  overflow: hidden;
}
.home-hot-row {
  display: grid;
  /* 右列固定宽，IF 数字右对齐纵向成列 */
  grid-template-columns: 32px minmax(0, 1fr) 5.75rem;
  gap: 10px 12px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #f3f0ea;
  text-decoration: none;
  color: inherit;
  border-bottom-color: #f3f0ea !important;
  cursor: pointer;
}
.home-hot-row:last-child { border-bottom: 0 !important; }
.home-hot-row:hover { background: #fffaf5; }
.home-hot-n {
  font-size: 13px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  color: #d6d3d1;
  text-align: center;
}
.home-hot-row:nth-child(-n+3) .home-hot-n { color: #f97316; }
.home-hot-name {
  min-width: 0;
  font-size: 13.5px;
  font-weight: 650;
  color: #1c1917;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-hot-if {
  display: grid;
  grid-template-columns: 1.2em 3.6em;
  align-items: baseline;
  justify-content: end;
  column-gap: 4px;
  width: 100%;
  min-width: 0;
  font-size: 12.5px;
  font-weight: 650;
  color: #78716c;
  white-space: nowrap;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.home-hot-if .home-hot-if-k {
  text-align: right;
  color: #a8a29e;
  font-weight: 650;
  font-size: 11.5px;
}
.home-hot-if em {
  display: block;
  margin-left: 0;
  font-style: normal;
  color: #b45309;
  font-weight: 780;
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.home-hot-pill {
  display: none !important; /* 热点榜只保留 IF 数值 */
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 6px;
  background: #fff7ed;
  color: #c2410c;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .home-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .home-stat { min-height: 76px; padding: 12px 12px 11px; }
  .home-v4-sub { margin-bottom: 24px; font-size: 14px; }
  .home-hot { margin-top: 28px; }
  .home-hot-row { grid-template-columns: 28px minmax(0, 1fr) auto; }
  /* 手机同样只显示 IF 数值，不隐藏 */
}
.home-title {
  font-family: var(--display);
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 780;
  letter-spacing: 0;
  margin: 8px 0 2px;
  color: #171717;
  line-height: 1.25;
  text-wrap: balance;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}
.home-brand-row { display: none; }
.brand-ai {
  color: var(--accent);
}
.brand-dot {
  display: inline-block;
  font-size: .28em;
  font-weight: 680;
  opacity: .72;
  transform: translateY(-.11em);
}
.brand-org {
  display: inline-block;
  font-size: .28em;
  font-weight: 680;
  letter-spacing: 0;
  opacity: .72;
  transform: translateY(-.11em);
}
.home-title-sep { display: none; }
.home-search-wrap {
  position: relative;
  max-width: 680px;
  width: 100%;
  margin: 24px auto 0;
}
.home-search-icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  color: var(--ink-faint);
  pointer-events: none;
}
.home-search-input {
  width: 100%;
  padding: 18px 24px 18px 52px;
  font-size: 18px;
  font-family: var(--sans);
  border: 2px solid var(--rule);
  border-radius: 14px;
  background: rgba(255,255,255,0.85);
  color: var(--ink);
  outline: 0;
  box-shadow: 0 4px 20px rgba(43,42,39,.06);
  transition: background-color .2s, border-color .2s, box-shadow .2s;
  -webkit-appearance: none;
}
.home-search-input:focus {
  border-color: var(--accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(180,83,31,0.10), 0 8px 30px rgba(43,42,39,.08);
}
.home-section-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-soft);
  padding: 14px 0 6px;
  letter-spacing: 0.02em;
}
.home-results {
  width: min(1420px, 100%);
  margin: 28px auto 0;
  overflow-x: hidden;
  overflow-x: clip;
}

.updates-preview,
.updates-page {
  width: min(860px, 100%);
  margin: 24px auto 0;
}
.updates-preview-head,
.updates-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.updates-preview-head {
  justify-content: flex-end;
  margin-bottom: 8px;
}
.updates-kicker {
  margin: 0 0 3px;
  font-size: 11px;
  font-weight: 760;
  color: var(--accent);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.updates-preview h2,
.updates-page h1 {
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: 0;
}
.updates-page-head p {
  margin: 6px 0 0;
  max-width: 620px;
  color: var(--ink-soft);
  font-size: 13.5px;
}
.updates-page-meta {
  color: var(--ink-faint);
  font-size: 11.5px;
  white-space: nowrap;
}
.updates-view-all {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 720;
  color: var(--accent);
}
.updates-preview-grid,
.updates-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.updates-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 12px;
}
@media (max-width: 720px) {
  .updates-preview,
  .updates-page {
    width: 100%;
    margin-top: 14px;
  }
  .updates-preview-head,
  .updates-page-head {
    display: block;
  }
  .updates-page-meta {
    margin-top: 6px;
    white-space: normal;
  }
  .updates-preview-grid,
  .updates-list {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .update-card,
  .update-card.compact {
    min-height: 0;
  }
  .update-card-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .update-card-image,
  .update-card.featured .update-card-image {
    aspect-ratio: auto;
    height: 108px;
    max-height: none;
  }
  .update-card.compact .update-card-image {
    height: 86px;
  }
  .update-tags {
    justify-content: flex-start;
  }
}
.updates-featured {
  margin-top: 14px;
}
.update-card {
  display: flex;
  flex-direction: column;
  min-height: 176px;
  padding: 14px 15px;
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: rgba(255,255,255,.78);
  color: var(--ink);
  box-shadow: 0 1px 0 rgba(43,42,39,.03), 0 10px 24px rgba(43,42,39,.045);
  text-decoration: none;
  border-bottom-color: var(--rule-soft);
  transition: border-color .16s, box-shadow .16s, transform .16s;
  overflow: hidden;
}
.update-card:hover {
  border-color: rgba(249,115,22,.34);
  border-bottom-color: rgba(249,115,22,.34);
  box-shadow: 0 1px 0 rgba(43,42,39,.03), 0 14px 30px rgba(43,42,39,.07);
  transform: translateY(-1px);
}
.update-card.featured {
  min-height: 0;
  background: #fffdfa;
  border-left: 4px solid var(--accent);
}
/* Featured card spans full width, so cap the banner height. */
.update-card.featured .update-card-image {
  aspect-ratio: auto;
  height: clamp(112px, 14vw, 168px);
}
.update-card.compact {
  min-height: 0;
  padding: 12px 13px;
}
.update-card.home-compact {
  min-height: 0;
  padding: 12px 13px;
}
.update-card.brief {
  min-height: 0;
}
.update-card.brief p,
.update-card.brief .update-journals,
.update-card.brief .update-card-bottom {
  display: none !important;
}
.update-card.brief .update-card-image {
  height: 48px;
  max-height: 48px;
  margin-bottom: 10px;
}
.update-card-image {
  margin: -14px -15px 12px;
  aspect-ratio: auto;
  min-height: 84px;
  max-height: none;
  overflow: hidden;
  border-bottom: 1px solid var(--rule-soft);
  background: #f3efe9;
}
.update-card.compact .update-card-image {
  margin: -12px -13px 11px;
  max-height: none;
}
.update-card.home-compact .update-card-image {
  margin: -12px -13px 10px;
  aspect-ratio: auto;
  height: auto;
  min-height: 82px;
  max-height: none;
}
.update-card.home-compact.brief .update-card-image {
  height: 48px;
  max-height: 48px;
}
.update-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.update-card-generated {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  padding: 13px 14px;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.86), rgba(255,255,255,0) 34%),
    linear-gradient(135deg, #fbf7ef 0%, #f2eadf 58%, #eee5d9 100%);
}
.update-cover-main {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
}
.update-cover-main b {
  min-width: 0;
  color: #3f3932;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.32;
  white-space: normal;
  overflow: visible;
  display: block;
}
.update-cover-meta {
  flex: 0 0 auto;
  color: #74695d;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}
/* Placeholder banner for cards without an image, so all cards align. */
.update-card-ph { display: none; }
.update-card-image.ph {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f6f1e8 0%, #efe7da 55%, #e7ddcc 100%);
}
.update-card-image.ph .update-card-ph {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  max-width: 100%;
}
.update-card-ph-mark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 999px;
  background: #d8743c;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
.update-card-ph b {
  color: #6b5d49;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.update-card-top,
.update-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.update-card-top time {
  color: var(--ink-faint);
  font-size: 11.5px;
  white-space: nowrap;
}
.update-category,
.update-tag,
.update-journals span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 1px 7px;
  border-radius: 6px;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
}
.update-category {
  background: #eef2ec;
  color: #315936;
  border: 1px solid #c8d9c7;
}
.update-card h3 {
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1.36;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.update-card.compact h3 {
  font-size: 14.5px;
}
.update-card.home-compact h3 {
  margin: 8px 0 0;
  font-size: 13.8px;
  line-height: 1.34;
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.update-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.update-card .update-card-summary {
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.58;
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.update-card.home-compact p {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.42;
  -webkit-line-clamp: 3;
}
.update-card.home-compact .update-card-summary {
  margin-top: 0;
  font-size: 12.5px;
  line-height: 1.52;
}
.update-card-simple-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: auto;
  padding-top: 10px;
  color: var(--ink-faint);
  font-size: 11.5px;
}
.update-card-simple-meta span,
.update-card-simple-meta time {
  white-space: nowrap;
}
.update-journals {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}
.update-journals span {
  background: #eef2fb;
  color: #2b4478;
  border: 1px solid #c9d3ea;
}
.update-card-bottom {
  margin-top: auto;
  padding-top: 9px;
  align-items: flex-end;
}
.update-source {
  color: var(--ink-faint);
  font-size: 11.5px;
}
.update-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}
.update-tag {
  min-height: 18px;
  background: #fff3d6;
  color: #7a5100;
  border: 1px solid #f3d789;
  font-size: 10.5px;
}
body.update-reading-mode .home-hero,
body.update-reading-mode #mode-tabs {
  display: none !important;
}
body.update-reading-mode main.main {
  padding-top: 8px;
}
body.update-reading-mode .updates-page {
  margin-top: 0;
}
.update-detail {
  width: min(880px, 100%);
  margin: 0 auto;
}
.updates-back {
  display: inline-flex;
  align-items: center;
  margin: 0 0 14px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 720;
}
.update-detail-head,
.update-detail-section,
.update-report {
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 1px 0 rgba(43,42,39,.03), 0 10px 24px rgba(43,42,39,.045);
}
.update-detail-head {
  padding: 22px 24px;
}
.update-detail-image {
  display: block;
  width: calc(100% + 36px);
  max-height: 300px;
  margin: -18px -18px 16px;
  object-fit: cover;
  border-bottom: 1px solid var(--rule-soft);
  background: #f3efe9;
  border-radius: 8px 8px 0 0;
}
.update-detail-head h1 {
  margin: 14px 0 10px;
  font-size: clamp(24px, 3.2vw, 34px);
  line-height: 1.18;
  letter-spacing: 0;
}
.update-detail-dek {
  margin: 0;
  max-width: 760px;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.65;
}
.update-detail-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-top: 12px;
  color: var(--ink-faint);
  font-size: 12px;
}
.update-detail-meta .update-tags,
.update-detail .update-journals {
  display: none !important;
}
.update-detail-section {
  margin-top: 12px;
  padding: 16px 18px;
}
.update-detail-section h2,
.update-report h2 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.35;
  letter-spacing: 0;
}
.update-detail-section p,
.update-detail-section li,
.update-report p {
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.72;
}
.update-detail-section p {
  margin: 0;
}
.update-detail-section ul {
  margin: 0;
  padding-left: 18px;
}
.update-source-actions,
.update-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.update-source-actions {
  margin-top: 14px;
}
.update-source-actions a,
.update-link-list a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid var(--rule);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 720;
  text-decoration: none;
}
.update-source-actions a em,
.update-link-list a em {
  color: var(--ink-faint);
  font-style: normal;
  font-weight: 620;
}
.update-article {
  margin-top: 12px;
}
.update-article-note {
  margin: 0 0 10px;
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.6;
}
.update-article-lead,
.update-article-section,
.update-stats {
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 1px 0 rgba(43,42,39,.03), 0 10px 24px rgba(43,42,39,.045);
}
.update-article-lead,
.update-article-section {
  padding: 18px 20px;
}
.update-article-lead p,
.update-article-section p,
.update-article-section li,
.update-question p {
  color: var(--ink-soft);
  font-size: 14.5px;
  line-height: 1.78;
}
.update-article-lead p,
.update-article-section p {
  margin: 0;
}
.update-article-lead p + p,
.update-article-section p + p {
  margin-top: 10px;
}
.update-article-section {
  margin-top: 12px;
}
.update-article-section h2 {
  margin: 0 0 9px;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: 0;
}
.update-article-section ul {
  margin: 10px 0 0;
  padding-left: 18px;
}
.update-topic-rankings {
  margin-top: 12px;
  padding: 18px 20px;
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 1px 0 rgba(43,42,39,.03), 0 10px 24px rgba(43,42,39,.045);
}
.nature-rankings-head,
.nature-topic-table-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}
.nature-rankings-head h2,
.nature-topic-table-head h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0;
}
.nature-rankings-head p,
.nature-topic-table-head p {
  margin: 5px 0 0;
  color: var(--ink-faint);
  font-size: 12.5px;
  line-height: 1.5;
}
.nature-rankings-head a {
  flex: 0 0 auto;
  color: var(--accent);
  font-size: 12px;
  font-weight: 760;
}
.nature-rankings-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr);
  gap: 10px;
  margin-top: 14px;
}
.nature-rankings-controls label {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.nature-rankings-controls span {
  color: var(--ink-faint);
  font-size: 11.5px;
  font-weight: 720;
}
.nature-rankings-controls input,
.nature-rankings-controls select {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 1px solid var(--rule);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  padding: 0 10px;
}
.nature-topic-table-head {
  margin-top: 18px;
}
.nature-topic-table-head span {
  color: var(--ink-faint);
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
}
.nature-topic-table-wrap {
  margin-top: 10px;
  overflow-x: auto;
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: #fff;
}
.nature-topic-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-size: 13px;
}
.nature-topic-table th,
.nature-topic-table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--rule-soft);
  text-align: left;
  vertical-align: top;
}
.nature-topic-table th {
  color: var(--ink-faint);
  background: #f8f4ed;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.nature-topic-table td:first-child,
.nature-topic-table td:nth-child(4),
.nature-topic-table td:nth-child(5) {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.nature-topic-table td:nth-child(2) {
  color: var(--ink);
  font-weight: 720;
}
.nature-topic-table tr:last-child td {
  border-bottom: 0;
}
.nature-rankings-license {
  margin: 10px 0 0;
  color: var(--ink-faint);
  font-size: 11.5px;
  line-height: 1.55;
}
.nature-rankings-license a {
  color: var(--accent);
  font-weight: 720;
}
.nature-rankings-loading,
.nature-rankings-empty {
  padding: 18px;
  color: var(--ink-faint);
  font-size: 13px;
  text-align: center;
}
@media (max-width: 720px) {
  .nature-rankings-head,
  .nature-topic-table-head {
    display: block;
  }
  .nature-rankings-head a,
  .nature-topic-table-head span {
    display: inline-flex;
    margin-top: 8px;
  }
  .nature-rankings-controls {
    grid-template-columns: 1fr;
  }
}
.update-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 12px;
  overflow: hidden;
}
.update-stat {
  min-width: 0;
  padding: 16px;
  border-right: 1px solid var(--rule-soft);
}
.update-stat:last-child {
  border-right: 0;
}
.update-stat strong {
  display: block;
  color: var(--ink);
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: 0;
}
.update-stat span {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 760;
}
.update-stat p {
  margin: 7px 0 0;
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.55;
}
.update-question-list {
  display: grid;
  gap: 10px;
}
.update-question {
  padding: 12px 14px;
  border: 1px solid var(--rule-soft);
  border-radius: 8px;
  background: #fffdfa;
}
.update-question h3 {
  margin: 0 0 6px;
  font-size: 14.5px;
  line-height: 1.42;
  letter-spacing: 0;
}
.update-question p {
  margin: 0;
}
.update-report {
  margin-top: 12px;
  padding: 16px;
}
.update-report-info {
  display: block;
  gap: 16px;
  align-items: start;
}
.update-report-info img {
  display: none;
}
.muted-note {
  margin-top: 8px;
  color: var(--ink-faint);
  font-size: 12.5px;
}
.update-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.update-report-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid var(--rule);
  border-radius: 7px;
  color: var(--ink);
  background: #fff;
  font-size: 12px;
  font-weight: 720;
}
@media (max-width: 720px) {
  body.update-reading-mode main.main {
    padding: 16px 14px 78px;
  }
  .update-detail-head {
    padding: 15px;
  }
  .update-detail-image {
    width: calc(100% + 30px);
    max-height: 220px;
    margin: -15px -15px 14px;
  }
  .update-article-lead,
  .update-article-section {
    padding: 15px;
  }
  .update-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .update-stat:nth-child(2n) {
    border-right: 0;
  }
  .update-stat:nth-child(n+3) {
    border-top: 1px solid var(--rule-soft);
  }
  .update-report-info {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
  }
  .update-report-info img {
    width: 82px;
  }
}
.update-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 8px;
}
.update-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  color: var(--ink-soft);
  cursor: pointer;
  font: 700 12px/1 var(--sans);
}
.update-chip em {
  font-style: normal;
  color: var(--ink-faint);
  font-weight: 650;
}
.update-chip.active {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
.update-chip.active em {
  color: rgba(255,255,255,.72);
}
.updates-empty {
  margin-top: 16px;
  padding: 26px 18px;
  border: 1px dashed var(--rule);
  border-radius: 8px;
  color: var(--ink-faint);
  text-align: center;
  background: rgba(255,255,255,.56);
}

.home-tab-has-results .home-hero {
  padding: 22px 20px 0;
}

.topbar {
  order: 1; /* 搜索始终在主内容最上 */
  position: sticky;
  top: 0;
  z-index: 80;
  display: flex; align-items: center; gap: 16px;
  width: min(670px, 100%);
  margin: 0 auto 12px;
  padding: 12px 0;
  background: var(--paper);
  background: linear-gradient(180deg, var(--paper) 0%, var(--paper) 70%, transparent 100%);
  transition: none;
}
/* 首页落地：搜索置顶后，下面才是标题 / 数据 / 热点 */
body.home-route:not(.home-tab-has-results) .topbar {
  margin-bottom: 8px;
  width: min(720px, 100%);
}
.topbar-brand {
  display: inline-flex;
  position: fixed;
  top: 20px;
  left: 96px;
  z-index: 90;
  flex: 0 0 auto;
  align-items: baseline;
  gap: 4px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 820;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.topbar-brand em {
  color: rgba(117,111,104,.88);
  font-family: inherit;
  font-style: italic;
  font-weight: 650;
}
.topbar-links {
  display: none;
  align-items: center;
  gap: 16px;
  margin-left: auto;
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 650;
}
.topbar-links a,
.topbar-links button {
  color: inherit;
  text-decoration: none;
}
.topbar-links button {
  appearance: none;
  border: 1px solid var(--rule-soft);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  padding: 8px 13px;
  font: inherit;
  cursor: pointer;
}
.public-pulse {
  order: 3;
  width: min(670px, 100%);
  margin: -18px auto 24px;
  color: rgba(117,111,104,.86);
  font-size: 11px;
  line-height: 1.55;
  text-align: center;
}
.public-pulse span {
  display: inline;
}
.public-pulse span + span::before {
  content: " · ";
  color: rgba(117,111,104,.45);
}
.public-pulse a {
  color: inherit;
  border-bottom: 1px dotted rgba(117,111,104,.42);
  text-decoration: none;
}
.public-pulse a:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.search-wrap {
  flex: 1;
  position: relative;
  display: flex;
  border: 1px solid rgba(60, 45, 30, 0.1);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(40, 28, 16, 0.06);
  backdrop-filter: none;
  overflow: hidden;
  transition: border-color .15s, box-shadow .15s;
  min-height: 48px;
}
.search-wrap > #q {
  width: 100%;
  height: 48px;
  min-height: 48px;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0 110px 0 18px;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 48px;
  color: var(--ink);
  outline: 0;
  box-shadow: none;
  transition: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.search-wrap > #q::placeholder { color: rgba(117,111,104,.58); }
.search-wrap:focus-within {
  border-color: rgba(249, 115, 22, 0.45);
  background: #fff;
  box-shadow:
    0 0 0 3px rgba(249, 115, 22, 0.1),
    0 10px 28px rgba(40, 28, 16, 0.08);
}
.search-wrap > #q:focus {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.hint {
  display: none;
}
.search-actions {
  position: absolute;
  left: auto;
  right: 6px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  pointer-events: none;
  transition: none;
}
.search-actions:has(.search-meta-group:not([hidden])) {
  justify-content: space-between;
}
.search-meta {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: rgba(117,111,104,.78);
  font-size: 12px;
  font-weight: 520;
  line-height: 1.35;
  text-align: left;
}
.search-meta-group {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: calc(100% - 150px);
}
.search-meta-group[hidden] {
  display: none !important;
}
.search-submit {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 88px;
  min-height: 36px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #fb923c, #f97316 55%, #ea580c);
  color: #fff;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 720;
  cursor: pointer;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.28);
  transition: background .15s, transform .15s, box-shadow .15s;
}
.search-submit:hover {
  background: linear-gradient(135deg, #fb923c, #ea580c);
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(249, 115, 22, 0.32);
}
.home-search-chips {
  order: 3;
  width: min(670px, 100%);
  margin: -18px auto 22px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 8px;
}
.home-search-chips[hidden] { display: none !important; }
.footprint-search-promo {
  display: none;
}
body.home-route .footprint-search-promo {
  display: block;
  order: 3;
  width: min(720px, calc(100% - 28px));
  margin: -2px auto 14px;
  color: var(--ink-faint);
  font-size: 11.5px;
  line-height: 1.45;
  text-align: center;
}
.footprint-search-promo a {
  color: var(--ink-faint);
  text-decoration: none;
  border-bottom: 1px dotted rgba(117,111,104,.45);
}
.footprint-search-promo a:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.home-search-chip {
  appearance: none;
  border: 1px solid rgba(117,111,104,.20);
  background: rgba(255,255,255,.72);
  color: var(--ink-faint);
  border-radius: 999px;
  padding: 4px 10px;
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 650;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(39,35,31,.05);
}
.home-search-chip:hover,
.home-search-chip.active {
  color: var(--accent);
  border-color: rgba(249,115,22,.42);
  background: #fff;
}

/* Home V4：单行胶囊搜索（对照示意，非超高输入框） */
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .search-wrap {
  border-radius: 999px;
  border: 1px solid rgba(60, 45, 30, 0.08);
  background: #fff;
  box-shadow: 0 8px 24px rgba(40, 28, 16, 0.06);
  backdrop-filter: none;
  min-height: 52px;
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .search-wrap > #q {
  height: 52px;
  min-height: 52px;
  padding: 0 188px 0 20px;
  line-height: 52px;
  font-size: 15px;
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .search-wrap:focus-within {
  border-color: rgba(249, 115, 22, 0.45);
  box-shadow:
    0 0 0 3px rgba(249, 115, 22, 0.1),
    0 10px 28px rgba(40, 28, 16, 0.08);
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .search-actions {
  left: auto;
  right: 8px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
body.home-route:not(.home-tab-has-results):not(.topbar-compact) .search-mode-btn {
  padding: 8px 13px;
  font-size: 13px;
}

body.topbar-compact .topbar {
  position: sticky;
  top: 0;
  z-index: 118;
  width: 100% !important;
  max-width: none !important;
  min-height: 62px;
  padding: 8px 176px 10px 220px;
  margin: 0 0 12px !important;
  border: 0;
  border-bottom: 1px solid var(--rule-soft);
  border-radius: 0;
  background: rgba(250,247,240,.92);
  box-shadow: none;
  backdrop-filter: blur(18px);
  justify-content: center;
  box-sizing: border-box;
}

/* 品牌始终 fixed，勿 absolute 进顶栏层叠（否则被搜索条遮住只剩 A） */
body.topbar-compact .topbar-brand {
  position: fixed !important;
  top: 20px !important;
  left: 96px !important;
  transform: none !important;
  display: inline-flex !important;
  z-index: 160 !important;
  pointer-events: auto;
}

body.topbar-compact .search-wrap {
  flex: 1 1 auto;
  width: auto;
  max-width: 760px;
  min-width: 0;
  margin: 0 auto;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 12px 30px rgba(39,35,31,.10);
}

body.topbar-compact .search-wrap > #q {
  height: 42px;
  min-height: 42px;
  padding: 0 118px 0 16px;
  font-size: 15px;
}
body.home-route.topbar-compact .search-wrap > #q {
  padding-right: 176px;
}

body.topbar-compact .search-actions {
  left: auto;
  right: 8px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

body.topbar-compact .search-meta-group {
  display: none !important;
}

body.topbar-compact .search-submit {
  min-width: 88px;
  min-height: 32px;
  padding: 0 16px;
  border-radius: 14px;
  font-size: 13px;
  box-shadow: none;
}
body.topbar-compact .search-mode-btn {
  padding: 6px 10px;
  font-size: 12px;
}

body.simple-top-route .topbar {
  position: sticky;
  top: 0;
  z-index: 118;
  min-height: 60px;
  width: 100%;
  max-width: none;
  margin: 0 0 18px;
  padding: 0 176px 0 24px;
  border-bottom: 1px solid var(--rule-soft);
  background: rgba(255,253,249,.92);
  box-shadow: none;
  backdrop-filter: blur(18px);
  align-items: center;
  justify-content: flex-start;
}
body.simple-top-route .topbar-brand {
  position: fixed !important;
  top: 20px !important;
  left: 96px !important;
  transform: none !important;
  display: inline-flex !important;
  font-size: 18px;
}

/* Brand lock：全站固定字标，始终在顶栏 / 搜索之上 */
.topbar-brand,
body.topbar-compact .topbar-brand,
body.simple-top-route .topbar-brand,
body.home-route .topbar-brand {
  position: fixed !important;
  top: 20px !important;
  left: 96px !important;
  z-index: 160 !important;
  display: inline-flex !important;
  align-items: baseline;
  gap: 4px;
  transform: none !important;
  color: var(--ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 18px;
  font-weight: 820;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap !important;
  max-width: none !important;
  width: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  text-decoration: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.topbar-brand em,
body.topbar-compact .topbar-brand em,
body.simple-top-route .topbar-brand em,
body.home-route .topbar-brand em {
  color: rgba(117,111,104,.88) !important;
  font-family: inherit;
  font-style: italic;
  font-weight: 650;
}

@media (max-width: 900px) {
  .topbar-brand,
  body.topbar-compact .topbar-brand,
  body.simple-top-route .topbar-brand,
  body.home-route .topbar-brand {
    top: 14px !important;
    left: 52px !important; /* 汉堡右侧 */
    font-size: 14px;
    max-width: calc(100vw - 148px) !important;
  }
}

/* .site-foot removed — display:none below */
@media (min-width: 901px) {
  main.main { padding-bottom: 0; }
}



body.journal-route .country-fallback-value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px 12px;
}
body.journal-route .country-fallback-value strong {
  font: inherit;
}
body.journal-route .country-fallback-value span {
  color: var(--ink-faint);
  font-size: 12px;
  font-weight: 720;
  letter-spacing: .08em;
}

@media (max-width: 900px) {
  .app-rail {
    overflow-x: auto;
  }
  .app-rail .rail-nav-btn,
  .app-rail .rail-region-picker,
  .app-rail .account-credit-badge {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none;
  }
  .app-rail .rail-region-toggle {
    width: 100%;
    min-width: 0;
  }
  .me-page {
    max-width: calc(100vw - 24px);
  }
}
body.simple-top-route .topbar-links { display: none; }
body.simple-top-route .side-toggle { display: none; }
/* 动态页：简洁顶栏，隐藏搜索 */
body.simple-top-route .search-wrap { display: none; }

/* ═══════════ 统一顶栏搜索（全球站标准 topbar-compact） ═══════════
   全球 / 中国 / 地区站 / 收藏 / 荐刊 共用同一套位置与尺寸，禁止各站另起炉灶 */
body.topbar-compact .topbar {
  position: sticky;
  top: 0;
  z-index: 118;
  width: 100%;
  max-width: none;
  min-height: 62px;
  margin: 0 0 12px;
  padding: 8px 176px 10px 220px;
  border: 0;
  border-bottom: 1px solid var(--rule-soft);
  border-radius: 0;
  background: rgba(250, 247, 240, 0.92);
  box-shadow: none;
  backdrop-filter: blur(18px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  box-sizing: border-box;
}
body.topbar-compact .topbar-brand {
  position: fixed !important;
  top: 20px !important;
  left: 96px !important;
  transform: none !important;
  display: inline-flex !important;
  z-index: 160 !important;
}
body.topbar-compact .search-wrap {
  display: flex !important;
  flex: 1 1 auto;
  width: auto;
  max-width: 760px;
  min-width: 0;
  margin: 0 auto;
  border-radius: 18px;
  min-height: 42px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 12px 30px rgba(39, 35, 31, 0.1);
}
body.topbar-compact .search-wrap > #q {
  height: 42px;
  min-height: 42px;
  padding: 0 118px 0 16px;
  font-size: 15px;
  line-height: 42px;
}
body.topbar-compact .search-actions {
  left: auto;
  right: 8px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
body.topbar-compact .search-submit {
  min-width: 88px;
  min-height: 32px;
  padding: 0 16px;
  border-radius: 14px;
  font-size: 13px;
  box-shadow: none;
}
/* 收藏 / 荐刊：与全球站同一顶栏，仅隐藏查刊/荐刊模式切换 */
body.fav-route .search-mode-switch,
body.topbar-compact:not(.home-route) .search-mode-switch {
  display: none !important;
}
body.fav-route .topbar-links,
body.topbar-compact .side-toggle {
  display: none;
}
@media (max-width: 900px) {
  body.topbar-compact .topbar {
    padding: 52px 14px 10px 14px; /* 给固定品牌留行高 */
  }
  body.topbar-compact .topbar-brand {
    position: fixed !important;
    top: 14px !important;
    left: 52px !important;
    transform: none !important;
    z-index: 160 !important;
  }
  body.topbar-compact .search-wrap {
    max-width: none;
  }
}

/* boot-tab: hide wrong panels before app.js paints */
body[data-boot-tab]:not([data-boot-tab="home"]) .tab-panel { display: none !important; }
body[data-boot-tab="fav"] .tab-panel[data-panel="fav"],
body[data-boot-tab="me"] .tab-panel[data-panel="me"],
body[data-boot-tab="pick"] .tab-panel[data-panel="pick"],
body[data-boot-tab="int"] .tab-panel[data-panel="int"],
body[data-boot-tab="dom"] .tab-panel[data-panel="dom"],
body[data-boot-tab="in"] .tab-panel[data-panel="in"],
body[data-boot-tab="my"] .tab-panel[data-panel="my"],
body[data-boot-tab="kr"] .tab-panel[data-panel="kr"],
body[data-boot-tab="pbn"] .tab-panel[data-panel="pbn"],
body[data-boot-tab="isc"] .tab-panel[data-panel="isc"],
body[data-boot-tab="scielo"] .tab-panel[data-panel="scielo"] {
  display: block !important;
}

body.simple-top-route .tab-panel[data-panel="fav"],
body.simple-top-route .tab-panel[data-panel="me"] {
  padding-top: 0;
}

/* 首页榜单（V7 看板：标签 + 双栏列表 · 撑满 intro 宽） */
.home-sec.rank-sec,
.rank-sec {
  text-align: left;
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
.rank-page-title {
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 820;
  letter-spacing: -0.02em;
  color: #1c1917;
  text-align: left;
}
.rank-page-lead {
  margin: 0 0 16px;
  font-size: 13.5px;
  color: #78716c;
  line-height: 1.5;
  text-align: left;
}
.rank-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.rank-tab {
  appearance: none;
  border: 0;
  background: #f5f5f4;
  color: #57534e;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: background .12s ease, color .12s ease;
}
.rank-tab:hover { color: #1c1917; }
.rank-tab.is-on {
  background: #1c1917;
  color: #fff;
}
.rank-panel[hidden] { display: none !important; }
.rank-panel {
  width: 100%;
  min-width: 0;
}
.rank-board-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.rank-board-grid-1 { grid-template-columns: 1fr; }
.rank-board {
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(90, 70, 50, 0.07);
  box-shadow: 0 8px 24px rgba(40, 28, 16, 0.05);
  padding: 14px 14px 10px;
  min-width: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.rank-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
  padding: 0 2px 4px;
}
.rank-board-head h3 {
  margin: 0;
  font-size: 13.5px;
  font-weight: 780;
  color: #1c1917;
}
.rank-board-head a {
  font-size: 12px;
  font-weight: 700;
  color: #c2410c;
  text-decoration: none !important;
  white-space: nowrap;
}
.rank-board-head a:hover { text-decoration: underline !important; }
.rank-board-sub {
  font-size: 11.5px;
  font-weight: 650;
  color: #a8a29e;
}
.rank-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 10px 6px;
  border-bottom: 1px solid #f5f5f4;
  color: inherit;
  text-decoration: none !important;
  border-radius: 8px;
  transition: background .12s ease;
}
.rank-row:last-child { border-bottom: 0; }
.rank-row:hover { background: #fffaf5; }
.rank-n {
  font-size: 12px;
  font-weight: 780;
  color: #d6d3d1;
  text-align: center;
}
.rank-row:nth-child(-n+4) .rank-n:not(.rank-n-risk) { color: #f97316; }
.rank-n-risk { color: #ea580c; font-weight: 900; }
.rank-row strong {
  font-size: 13.5px;
  font-weight: 700;
  color: #1c1917;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rank-board-risk .rank-row strong { color: #9a3412; }
.rank-pill {
  font-size: 10.5px;
  font-weight: 750;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f5f5f4;
  color: #78716c;
  white-space: nowrap;
}
.rank-pill-risk {
  background: #fff1f2;
  color: #e11d48;
}
.rank-pill-info {
  background: #f5f5f4;
  color: #a8a29e;
}
.rank-hot-list { min-height: 40px; }
.rank-hot-list .rank-row .rank-if {
  font-size: 12px;
  font-weight: 700;
  color: #78716c;
  font-variant-numeric: tabular-nums;
}
.rank-hot-empty {
  padding: 16px 8px;
  text-align: center;
  font-size: 13px;
  color: #a8a29e;
}
@media (max-width: 720px) {
  .rank-board-grid { grid-template-columns: 1fr; }
  .rank-page-title { font-size: 22px; }
}

body.topbar-compact .results-head {
  position: sticky;
  top: var(--th-sticky-top, 62px);
  z-index: 72;
  display: flex;
  margin-bottom: 12px;
  background: rgba(245,236,214,.92);
  box-shadow: 0 10px 26px rgba(39,35,31,.08);
  backdrop-filter: blur(16px);
}
.tab-panel { order: 4; }
.tab-panel[data-panel="home"] { order: 4; }
.site-foot { order: 5; }
/* ─── Top actions row (login + language) ─── */
.top-actions {
  order: 0;
  display: flex; align-items: center; justify-content: flex-end; gap: 8px;
  padding: 4px 0 2px;
  margin-bottom: 0;
}
.fav-header-btn {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(39,35,31,.08);
  cursor: pointer;
  font-size: 17px;
  padding: 7px 14px;
  color: var(--ink-soft);
  transition: color .15s, transform .15s;
  line-height: 1;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 8px 24px rgba(39,35,31,.06);
}
.fav-header-btn:hover { color: var(--accent); transform: translateY(-1px); background: #fff; }
.fav-header-btn { text-decoration: none; }
/* Home page entry pills */
.home-entry-pills {
  order: 4;
  display: flex; justify-content: center; gap: 12px;
  margin: -8px auto 30px; flex-wrap: wrap;
  width: min(720px, 100%);
}
.home-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 18px; border: 1px solid rgba(39,35,31,.08);
  border-radius: 999px; background: rgba(255,255,255,.64);
  color: var(--ink-soft); font-size: 14px; font-weight: 650;
  cursor: pointer; transition: background-color .15s, border-color .15s, box-shadow .15s, color .15s, transform .15s;
  -webkit-appearance: none;
  box-shadow: 0 8px 24px rgba(39,35,31,.055);
  backdrop-filter: blur(14px);
}
.home-pill:hover { background: #fff; border-color: rgba(249,115,22,.38); color: var(--accent); transform: translateY(-1px); box-shadow: 0 12px 28px rgba(39,35,31,.08); }
.pill-icon { width: 18px; height: 18px; flex-shrink: 0; }
.pill-icon-text { font-size: 18px; line-height: 1; }
.fav-count-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 16px; height: 16px; padding: 0 4px;
  border-radius: 8px; background: var(--gold, #e6a817); color: #fff;
  font-size: 10px; font-weight: 700; line-height: 1;
  vertical-align: top; margin-left: 2px;
  white-space: nowrap;
  flex: 0 0 auto;
}
.lang-toggle,
.auth-btn {
  font-family: var(--sans); font-size: 12.5px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(39,35,31,.08);
  border-radius: 999px;
  padding: 7px 12px;
  cursor: pointer; color: var(--ink-faint);
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: color .15s, background .15s, transform .15s;
  box-shadow: 0 8px 24px rgba(39,35,31,.06);
}
.lang-toggle:hover,
.auth-btn:hover { color: var(--accent); background: #fff; transform: translateY(-1px); }

/* ───────── Account page ───────── */
.me-page {
  width: min(960px, calc(100vw - 56px));
  margin: 18px auto 36px;
}
.me-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 16px 42px rgba(39,35,31,.07);
}
.me-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #087a5b;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 25px;
  font-weight: 850;
  flex: 0 0 auto;
  overflow: hidden;
  position: relative;
}
.me-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.me-avatar.has-photo {
  background: #f4efe6;
}
.me-avatar.has-photo span {
  display: none;
}
.me-title-block {
  min-width: 0;
  flex: 1 1 auto;
}
.me-title-block h1 {
  margin: 0;
  font: 760 22px/1.24 var(--display);
  letter-spacing: 0;
}
.me-title-block p {
  margin: 6px 0 0;
  color: var(--ink-faint);
  font-size: 14px;
  overflow-wrap: anywhere;
}
.me-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.me-stat-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 18px 0;
  border: 1px solid var(--rule);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.62);
}
.me-stat-strip > .me-stat-item {
  appearance: none;
  min-height: 74px;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  text-align: center;
  border: 0;
  border-right: 1px solid var(--rule-soft);
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}
.me-stat-strip > .me-stat-item:last-child { border-right: 0; }
.me-stat-strip > .me-stat-item:hover,
.me-stat-strip > .me-stat-item.active {
  background: rgba(249,115,22,.07);
}
.me-stat-strip > .me-stat-item:focus-visible {
  outline: 2px solid rgba(249,115,22,.45);
  outline-offset: -2px;
}
.me-stat-strip strong {
  font-size: 24px;
  line-height: 1;
  color: #6f4e2e;
  font-variant-numeric: tabular-nums;
}
.me-stat-strip span {
  color: var(--ink-faint);
  font-size: 12px;
  font-weight: 650;
}
.me-grid {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
  gap: 18px;
}
/* 账号信息只在顶部 me-hero；活动记录通栏 */
.me-activity-card {
  margin-top: 18px;
}
.me-card {
  border: 1px solid var(--rule);
  border-radius: 14px;
  background: rgba(255,255,255,.64);
  padding: 18px;
}
.me-card h2 {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.2;
}
/* 礼品码：兑换 + 站长生成（对齐 Todo 布局） */
.me-gift-card { margin: 0 0 18px; display: grid; gap: 14px; }
.gift-redeem, .gift-admin {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: rgba(255, 253, 248, 0.88);
}
.gift-redeem p, .gift-admin p {
  margin: 4px 0 0;
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.45;
}
.gift-redeem-row, .gift-admin-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.gift-redeem input,
.gift-admin input,
.gift-admin select {
  min-width: 0;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
.gift-redeem input { flex: 1 1 180px; text-transform: uppercase; letter-spacing: 0.04em; }
.gift-admin select { flex: 0 1 auto; }
.gift-admin input[type="number"] { width: 72px; }
.gift-redeem button,
.gift-admin button[type="submit"] {
  min-height: 40px;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  background: var(--accent, #f97316);
  color: #fff;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}
.gift-redeem button:disabled,
.gift-admin button:disabled { opacity: 0.5; cursor: not-allowed; }
.gift-admin header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.gift-admin header > span {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 7px;
  background: #1f2c4c;
  color: #f6e7b2;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.gift-code-results {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.gift-code-item {
  position: relative;
  display: inline-flex;
  max-width: 100%;
  padding-top: 6px;
  padding-right: 6px;
}
.gift-code-chip {
  appearance: none;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 8px 12px 8px 10px;
  border-radius: 8px;
  border: 1px dashed #c9b89a;
  background: #fffaf0;
  color: #3a2e1f;
  cursor: pointer;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gift-code-chip:hover { border-color: var(--accent); color: var(--accent); }
.gift-code-void {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  border: 1px solid #d4ccc0;
  border-radius: 999px;
  background: #fff;
  color: #8a7360;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(43, 40, 36, 0.08);
}
.gift-code-void:hover {
  background: #a33a36;
  border-color: #a33a36;
  color: #fff;
}
.gift-code-item.is-voided .gift-code-chip {
  opacity: 0.45;
  text-decoration: line-through;
  cursor: default;
  border-style: solid;
  color: #8a8377;
}
.gift-code-item.is-voided .gift-code-void {
  display: none;
}
.gift-message {
  margin: 0;
  font-size: 13px;
  font-weight: 650;
  color: #2f6b45;
}
.gift-message.is-error { color: #a33a36; }
.gift-redeem small { color: var(--ink-faint); font-size: 12px; }
.me-record-panel {
  margin: 0 0 18px;
}
.me-record-panel[hidden] {
  display: none !important;
}
.me-record-list {
  display: grid;
  gap: 10px;
}
.me-record-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--rule-soft);
  border-radius: 10px;
  background: rgba(255,253,249,.72);
  box-sizing: border-box;
  font: inherit;
  color: inherit;
  text-align: left;
}
button.me-record-row {
  appearance: none;
  cursor: pointer;
}
.me-record-row.is-clickable:hover {
  border-color: rgba(139, 105, 20, 0.35);
  background: #faf4e6;
}
/* 订阅徽章 + 有效期 */
.me-tier-wrap {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  vertical-align: middle;
  margin-left: 6px;
  max-width: 100%;
  min-width: 0;
}
.me-tier-expiry {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
  color: #78716c;
  line-height: 1.3;
  white-space: nowrap;
}
.me-tier-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  vertical-align: middle;
  margin-left: 0;
  min-height: 26px;
  padding: 0 11px 0 9px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 6px 16px rgba(39,35,31,.08);
  flex: 0 0 auto;
}
.settings-plan-expiry {
  color: #78716c;
  font-weight: 600;
}
.me-tier-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  opacity: .92;
  box-shadow: 0 0 0 2px rgba(255,255,255,.35);
}
/* Free：中性灰，不抢眼 */
.me-tier-badge.tier-free {
  background: linear-gradient(180deg, #f3efe6 0%, #e5dfd2 100%);
  color: #5c5348;
  border-color: #cfc6b6;
  box-shadow: none;
}
.me-tier-badge.tier-free::before {
  background: #8a8174;
  box-shadow: none;
  opacity: 1;
}
/* 试用：浅蓝，与付费 Pro 区分 */
.me-tier-badge.tier-trial {
  background: linear-gradient(180deg, #e0f2fe 0%, #bae6fd 100%);
  color: #0369a1;
  border-color: #7dd3fc;
  box-shadow: none;
  text-shadow: none;
}
.me-tier-badge.tier-trial::before {
  background: #0ea5e9;
  box-shadow: none;
  opacity: 1;
}
/* Pro：品牌橙跳色 */
.me-tier-badge.tier-pro {
  background: linear-gradient(180deg, #ff9a3c 0%, #f97316 55%, #e85d04 100%);
  color: #fff;
  border-color: #d9480f;
  text-shadow: 0 1px 0 rgba(0,0,0,.12);
  box-shadow:
    0 1px 0 rgba(255,255,255,.35) inset,
    0 8px 18px rgba(249,115,22,.28);
}
.me-tier-badge.tier-pro::before {
  background: #fff;
  opacity: 1;
  box-shadow: 0 0 0 2px rgba(255,255,255,.25);
}
/* Max：深墨 + 金点，最高档跳色 */
.me-tier-badge.tier-max {
  background: linear-gradient(135deg, #1f2c4c 0%, #162033 48%, #0f172a 100%);
  color: #f6e7b2;
  border-color: #c9a227;
  box-shadow:
    0 1px 0 rgba(255,255,255,.12) inset,
    0 8px 20px rgba(31,44,76,.28);
}
.me-tier-badge.tier-max::before {
  background: linear-gradient(180deg, #ffe08a, #e0b13a);
  opacity: 1;
  box-shadow: 0 0 0 2px rgba(201,162,39,.35);
}
.me-title-block h1 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
}
.me-title-block h1 .me-tier-badge {
  margin-left: 2px;
  transform: translateY(-1px);
}
.me-kv .me-tier-badge {
  margin-left: 0;
  min-height: 24px;
  padding: 0 10px 0 8px;
  font-size: 11.5px;
}
.me-kv dd {
  display: flex;
  align-items: center;
  min-height: 1.4em;
}
.me-record-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.me-record-main strong {
  min-width: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.me-record-main a {
  color: inherit;
  border-bottom: 1px dotted rgba(117,111,104,.35);
}
.me-record-main a:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.me-record-main span {
  color: var(--ink-faint);
  font-size: 12px;
}
.me-record-row time {
  flex: 0 0 auto;
  color: var(--ink-faint);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.me-record-empty {
  padding: 12px 14px;
  border: 1px dashed var(--rule);
  border-radius: 10px;
  color: var(--ink-faint);
  background: rgba(255,253,249,.62);
  font-size: 13px;
}
.me-record-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
}
.me-record-head h2 {
  margin: 0;
}
.api-key-secret {
  display: grid;
  gap: 8px;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid rgba(31,122,75,.22);
  border-radius: 10px;
  background: rgba(233,247,239,.72);
}
.api-key-secret code {
  display: block;
  padding: 9px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,.78);
  color: #245239;
  font: 12px/1.45 var(--mono);
  overflow-wrap: anywhere;
}
.api-key-row {
  align-items: flex-start;
}
.api-key-row code {
  color: var(--ink-faint);
  font: 12px/1.35 var(--mono);
}
.me-kv {
  margin: 0;
  display: grid;
  gap: 10px;
}
.me-kv div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
}
.me-kv dt {
  color: var(--ink-faint);
  font-size: 12px;
  font-weight: 700;
}
.me-kv dd {
  margin: 0;
  color: var(--ink);
  overflow-wrap: anywhere;
}
/* 个人使用摘要条（参考资料页 KPI 胶囊） */
.me-summary-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  margin: 14px 0 16px;
  padding: 4px 6px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(90, 70, 50, 0.08);
  box-shadow: 0 6px 18px rgba(40, 28, 16, 0.04);
  overflow: hidden;
}
.me-summary-item {
  flex: 1 1 72px;
  min-width: 0;
  text-align: center;
  padding: 12px 8px 11px;
  border-right: 1px solid rgba(90, 70, 50, 0.07);
}
.me-summary-item:last-child { border-right: 0; }
.me-summary-item strong {
  display: block;
  font-size: 16px;
  font-weight: 820;
  letter-spacing: -0.02em;
  color: #1c1917;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.me-summary-item span {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 650;
  color: #a8a29e;
  line-height: 1.25;
}
.me-insight-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 0 14px;
}
.me-insight-card {
  padding: 14px 14px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(90, 70, 50, 0.08);
  min-width: 0;
}
.me-insight-card-wide {
  grid-column: 1 / -1;
}
.me-insight-title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 780;
  color: #1c1917;
}
.me-insight-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(90, 70, 50, 0.05);
  font-size: 12.5px;
}
.me-insight-row:last-child { border-bottom: 0; }
.me-insight-k {
  color: #78716c;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.me-insight-v {
  flex: 0 0 auto;
  font-weight: 750;
  color: #1c1917;
  font-variant-numeric: tabular-nums;
}
.me-insight-journal a {
  display: flex;
  width: 100%;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.me-insight-journal a:hover .me-insight-k {
  color: #c2410c;
}
.me-insight-empty {
  font-size: 12.5px;
  color: #a8a29e;
  line-height: 1.45;
  padding: 4px 0 2px;
}
@media (max-width: 560px) {
  .me-summary-strip { border-radius: 14px; }
  .me-summary-item { flex: 1 1 40%; border-right: 0; border-bottom: 1px solid rgba(90, 70, 50, 0.06); }
  .me-summary-item:nth-last-child(-n+2) { border-bottom: 0; }
  .me-insight-grid { grid-template-columns: 1fr; }
}

.me-activity-months {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink-faint);
  font-size: 12px;
  margin-bottom: 12px;
}
/* 贡献图：列=周 · 行=日→六 · 每天一格 · 铺满容器宽 */
.me-activity-heat {
  --activity-weeks: 52;
  --activity-gap: 2px;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  padding-bottom: 4px;
  box-sizing: border-box;
}
.me-activity-grid,
.me-activity-grid.settings-activity-grid {
  display: grid !important;
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(var(--activity-weeks), minmax(0, 1fr));
  grid-template-rows: repeat(7, auto);
  grid-auto-flow: column;
  gap: var(--activity-gap);
  align-items: stretch;
  justify-content: stretch;
  box-sizing: border-box;
}
.me-activity-month-row {
  display: grid;
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(var(--activity-weeks), minmax(0, 1fr));
  gap: var(--activity-gap);
  margin-top: 8px;
  box-sizing: border-box;
  overflow: visible;
  align-items: start;
}
/* 每月跨多周列，完整显示「7月 / Jul」不被裁切 */
.me-activity-month-cell {
  min-width: 0;
  max-width: 100%;
  font-size: 11px;
  line-height: 1.35;
  color: #a8a29e;
  font-weight: 650;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0 1px 0 0;
  box-sizing: border-box;
  pointer-events: none;
}
.me-activity-dot {
  width: 100%;
  min-width: 0;
  aspect-ratio: 1;
  height: auto;
  border-radius: 2px;
  background: #ebe6df;
  box-sizing: border-box;
}
.me-activity-dot.is-future {
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(90, 70, 50, 0.06);
}
.me-activity-dot.level-1 { background: #cce6d5; }
.me-activity-dot.level-2 { background: #8cc7a1; }
.me-activity-dot.level-3 { background: #43a16e; }
.me-activity-dot.level-4 { background: #087a5b; }

/* favorite star — 扁平星标，无圆形底 */
.fav-star {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 18px;
  line-height: 1;
  color: var(--ink-faint);
  cursor: pointer;
  transition: color .12s, transform .08s;
}
.fav-star:hover {
  background: transparent;
  color: var(--accent);
  transform: scale(1.08);
}
.fav-star.on {
  background: transparent;
  color: #e8940f;
}
.fav-star.on:hover {
  color: #f0a020;
  background: transparent;
}

.col-fav { width: 48px; text-align: center; padding-left: 4px; padding-right: 8px; }
.col-free { width: 68px; text-align: center; white-space: nowrap; }
.free-th-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
}
.free-th-filter input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.free-th-filter span::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 50%;
  background: rgba(117,111,104,.28);
  vertical-align: 1px;
}
.free-th-filter:has(input:checked) {
  color: #166534;
  font-weight: 800;
}
.free-th-filter:has(input:checked) span::before {
  background: #22a35a;
  box-shadow: 0 0 0 4px rgba(34,163,90,.13);
}
.col-name {
  width: 30%;
  min-width: 240px;
}
.col-wos, .col-topic { font-size: 12px; line-height: 1.4; width: 110px; max-width: 110px; color: var(--ink-soft); font-family: var(--sans); }
.col-esi .th-select, .col-wos .th-select { max-width: 100%; box-sizing: border-box; text-overflow: ellipsis; overflow: hidden; }
td.col-topic { white-space: normal; word-break: break-word; }
@media (max-width: 768px) {
  .col-wos, .col-topic { width: 90px; max-width: 90px; font-size: 11px; }
}
.col-if {
  font-family: var(--sans);
  font-feature-settings: 'tnum';
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.col-if .if-cell { font-size: 13px; font-weight: 680; color: var(--ink-soft); }
th.col-if { text-align: right; padding-right: 8px; width: 40px; }
.col-cycle {
  width: 72px;
  text-align: center;
  font-size: 12px;
  color: var(--ink-soft);
}

/* drawer 大类/小类 标签（区分新锐版双 4 区等情况） */
.zone-tier {
  display: inline-block;
  padding: 1px 7px;
  margin-right: 4px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.5px;
  border-radius: 4px;
  background: var(--accent, #4a90e2);
  color: #fff;
  vertical-align: 1px;
}
.zone-tier-sub {
  background: var(--ink-faint, #888);
}

/* ─────────── Hero ─────────── */
.hero {
  background: linear-gradient(135deg, #fffdfa 0%, #faf6e9 100%);
  border: 1px solid var(--rule-soft);
  border-left: 1px solid var(--rule-soft);
  padding: 12px 20px 14px;
  margin-bottom: 16px;
  border-radius: 6px;
  position: relative;
}
.hero::before {
  content: "";
  position: absolute;
  top: 5px; right: 5px; bottom: 5px; left: 5px;
  border: 1px solid var(--rule-soft);
  pointer-events: none;
  z-index: 0;
}
.hero > * { position: relative; z-index: 1; }
.hero h2 {
  font-family: var(--sans);
  font-size: 18px; font-weight: 700;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: 0.01em;
}
.hero h2::after {
  content: ""; display: block;
  width: 24px; height: 1px;
  background: var(--ink-faint);
  margin-top: 5px;
}
.hero p {
  margin: 0;
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.55;
}
.hero b { font-weight: 600; color: var(--ink); }
.hero .muted { font-size: 12px; color: var(--ink-faint); font-style: italic; }

/* ─────────── Results ─────────── */
.results-head {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 14px;
  padding: 10px 14px;
  background: #f5ecd6;
  border: 1px solid #d4c9a8;
  border-radius: 6px;
}
.results-head h1 {
  font-family: var(--sans);
  font-size: 15px; font-weight: 700;
  margin: 0;
  letter-spacing: 0;
}
.results-count {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

.table-wrap {
  overflow-x: auto;
  overflow-y: visible;
  background: var(--paper);
  border: 1px solid var(--rule-soft);
  border-radius: 6px;
  position: relative;
}

table.journals {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}
table.journals thead {
  z-index: 60;
}
table.journals thead th {
  background: color-mix(in srgb, var(--paper) 94%, #fff);
  box-shadow: 0 1px 0 var(--rule-soft), 0 8px 18px rgba(66, 49, 27, 0.06);
}

table.journals th {
  font-family: var(--sans);
  font-weight: 700;
  text-align: left;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-faint);
  padding: 8px 8px;
  border-bottom: 1px solid var(--rule-soft);
  white-space: nowrap;
  vertical-align: middle;
}
table.journals td {
  padding: 8px 8px;
  border-bottom: 1px solid var(--rule-soft);
  vertical-align: top;
}
table.journals tr:hover td { background: var(--paper); }
table.journals tr:last-child td { border-bottom: 0; }

.jname {
  font-family: var(--sans);
  font-weight: 800;
  font-size: 16.2px;
  color: #1d1c19;
  line-height: 1.32;
  letter-spacing: 0;
}
.jname-cn {
  display: block;
  font-weight: 500;
  font-size: 12.8px;
  color: var(--ink-faint);
  margin-top: 2px;
  font-style: normal;
}
.jname-aka {
  display: block;
  margin-top: 3px;
  font-family: var(--sans);
  font-weight: 400;
  font-size: 11.5px;
  line-height: 1.35;
  color: var(--ink-faint);
}
.jabbr {
  font-family: var(--sans);
  font-size: 11.5px;
  color: var(--ink-faint);
  letter-spacing: 0.02em;
}
.jissn {
  font-family: var(--sans);
  font-size: 11.5px;
  color: var(--ink-soft);
  white-space: nowrap;
}
.jissn .eissn { color: var(--ink-faint); }

/* 徽章 */
.badges { display: flex; flex-wrap: wrap; gap: 4px; }
/* 国际行：索引栏 + 分区栏 两行分隔 */
.col-badge { width: 200px; min-width: 200px; }
.col-badge-split { min-width: 200px; width: 200px; }
.col-badge-split .badges { margin: 0; }
.col-badge-split .badges-idx  { gap: 3px; }
.col-badge-split .badges-rank {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px dashed var(--rule-soft);
  gap: 4px;
}
.col-badge-split .badges-access,
.col-badge-split .badges-risk,
.col-badge-split .badges-oa-risk {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px dashed var(--rule-soft);
  gap: 4px;
}
.col-badge-split .badges-rank:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.col-badge-split .badges-access:first-child,
.col-badge-split .badges-risk:first-child,
.col-badge-split .badges-oa-risk:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.col-badge-split .badges-oa-risk {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px 8px;
  width: 100%;
}
.col-badge-split .badges-oa-risk .badges-access,
.col-badge-split .badges-oa-risk .badges-risk {
  margin: 0;
  padding: 0;
  border: 0;
  width: auto;
  flex: 1 1 0;
  min-width: 0;
}
.col-badge-split .badge-vsep {
  flex: 0 0 1px;
  align-self: stretch;
  width: 1px;
  min-height: 14px;
  margin: 1px 0;
  background: rgba(90, 70, 50, 0.16);
}
.badge {
  display: inline-flex; align-items: center;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 2px;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
  white-space: nowrap;
  color: #fff;
  box-sizing: border-box;
}
/* 各类 pill 与 .badge 同一套轻阴影（全站一致） */
.zone,
.xr-pill,
.abdc-pill,
.abs-pill,
.ccf-pill,
.tier-pill,
.warn-pill,
.on-hold-pill,
.under-review-pill,
.citic-warning-pill,
.flagship-pill,
.retraction-pill,
.domsrc-pill,
.home-more-badge {
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
  box-sizing: border-box;
}
.badge.b-scie,
.badge.b-ssci,
.badge.b-ahci { background: #1f3a5f; }              /* 三大索引统一深蓝 */
.badge.b-esci { background: #6a7a6a; }               /* 低饱和绿 — 次要收录 */
.badge.b-ei   { background: #7a7a6a; }               /* 低饱和橄榄 — 次要收录 */
.badge.b-medline { background: #1a5276; }               /* 深蓝 — MEDLINE 精选索引 */
.badge.b-free   { background: #2d8a4e; }               /* 绿 — 免费发表 */
.badge.b-free-lock {
  background: #e8e0cc; color: #6e5a30; border: 1px solid #c9bb95;
  font-size: 10px; font-weight: 700; cursor: pointer;
  padding: 2px 6px; border-radius: 3px; font-family: inherit;
}
.badge.b-free-lock:hover { background: #f5ecd6; border-color: #8b6914; }
.oa-chip.oa-lock {
  background: #f5ecd6; color: #6e5a30; border: 1px solid #c9bb95;
  cursor: pointer; font: inherit; font-size: 12px; font-weight: 700;
  padding: 2px 8px; border-radius: 999px;
}
.oa-chip.oa-lock:hover { background: #ebe0b8; }
button.linkish {
  background: none; border: 0; padding: 0; margin: 0;
  color: #8b6914; font: inherit; font-weight: 700; cursor: pointer;
  text-decoration: underline; text-underline-offset: 2px;
}
button.linkish:hover { color: #5a4818; }
.badge.b-esi  { background: #5a5a7a; }               /* 紫灰 — ESI 大类 */
.badge.b-scopus { background: #8a706a; }              /* 低饱和红褐 — 次要收录 */
.badge.b-inspec { background: #395f78; }               /* IET engineering / physics index */
.badge.b-fsta { background: #6d6342; }                 /* FSTA Full Text subset */
.badge.b-oaj { background: #5a7a7a; }                 /* 低饱和青 — 次要收录 */
.badge.b-doaj { background: #6a8a6a; }                /* 低饱和绿 — 次要收录 */
.badge.b-citic-world { background: #8b5e3c; cursor: pointer; font: inherit; }
.badge.b-citic-world.is-expanded { white-space: normal; line-height: 1.3; text-align: left; max-width: min(420px, 100%); }
.badge-hover-tooltip {
  position: fixed;
  z-index: 10000;
  max-width: min(360px, calc(100vw - 24px));
  padding: 8px 10px;
  border: 1px solid rgba(57, 45, 35, .18);
  border-radius: 8px;
  color: #fffaf2;
  background: rgba(42, 34, 28, .96);
  box-shadow: 0 8px 24px rgba(42, 34, 28, .22);
  font: 12px/1.5 var(--sans);
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity .12s ease, transform .12s ease;
}
.badge-hover-tooltip.is-visible { opacity: 1; transform: translateY(0); }
.badge.b-nature-index { background: #3f3a2f; }
.badge.b-cscd { background: #4f6f7c; }
.badge.b-cstpcd { background: #6b5a3a; }
.badge.b-scd { background: #4e6f52; }
.badge.b-pubmed { background: #285f7a; }
.badge.b-pmc { background: #2f6f68; }
.zone.fms-tier { background: #7b4f24; color: #fff; }
.zone.vhb-tier { background: #624a82; color: #fff; }
.vhb-details {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.vhb-details > summary {
  cursor: pointer;
  list-style: none;
}
.vhb-details > summary::-webkit-details-marker { display: none; }
.vhb-details[open] > summary {
  box-shadow: 0 0 0 2px rgba(98, 74, 130, 0.18);
}
.vhb-detail-popover {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 80;
  min-width: 280px;
  max-width: min(420px, calc(100vw - 32px));
  padding: 10px 12px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 12px 32px rgba(38, 30, 18, 0.18);
  font-size: 12px;
  line-height: 1.45;
}
.vhb-detail-title {
  margin-bottom: 8px;
  font-weight: 800;
}
.vhb-detail-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  padding: 6px 0;
  border-top: 1px dashed var(--rule);
}
.vhb-detail-row:first-of-type,
.vhb-detail-title + .vhb-detail-row { border-top: 0; }
.vhb-detail-area { min-width: 0; overflow-wrap: anywhere; }
.vhb-detail-rating { font-weight: 800; color: #624a82; }
.vhb-detail-vote {
  grid-column: 1 / -1;
  color: var(--muted);
}
.zone.cnrs-tier { background: #5f6470; color: #fff; }
.zone.ami-tier { background: #7a3f55; color: #fff; }
.retraction-pill { background: #9f3d35; color: #fff; }
.badge.b-view { color: #6b5d52; background: #e9dfc8; font-variant-numeric: tabular-nums; opacity: 0.9; }
.badge.b-mdpi     { background: #b82a4a; color: #fff; }
.badge.b-frontiers { background: #1a6b3c; color: #fff; }
.badge.b-hindawi  { background: #c4551a; color: #fff; }
.badge.b-warn     { background: #cc3333; color: #fff; }
.badge.b-warn-high { background: #ff2222; color: #fff; font-weight:900; border:1px solid #ff6666; box-shadow:0 0 6px rgba(255,0,0,.4); }
.badge.b-multi    { background: #6b5a8a; color: #fff; }

/* share dialog */
.share-modal { position: fixed; inset: 0; z-index: 1200; display: none; align-items: center; justify-content: center; background: rgba(28,22,12,0.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); padding: 16px; }
.share-modal.open { display: flex; }
.share-card { background: #fff; border-radius: 10px; padding: 22px 26px; max-width: 420px; width: 92%; box-shadow: 0 10px 40px rgba(0,0,0,0.25); }
.share-card h3 { margin: 0 0 12px; font-size: 16px; }
.share-card .share-url { display: flex; gap: 6px; margin: 12px 0; }
.share-card .share-url input { flex: 1; padding: 8px 10px; border: 1px solid #d3d3d3; border-radius: 6px; font-size: 13px; font-family: var(--sans); }
.share-card .share-url button { padding: 8px 14px; border-radius: 6px; border: 1px solid #c0c0c0; background: #f6f6f6; cursor: pointer; }
.share-card .share-meta { font-size: 12px; color: #666; margin: 4px 0 12px; }
.share-card .share-qr { text-align: center; margin: 14px 0 8px; }
.share-card .share-qr img { width: 160px; height: 160px; }
.share-card .share-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }
.share-card .share-actions button { padding: 7px 14px; border-radius: 6px; border: 1px solid #c0c0c0; background: #f8f8f8; cursor: pointer; }
.share-card .share-actions button.primary { background: #1f3a5f; color: #fff; border-color: #1f3a5f; }
.share-card .share-options { display: flex; gap: 10px; margin-bottom: 6px; }
.share-card .share-options label { font-size: 12.5px; color: #555; cursor: pointer; }

/* share modal — list-share dialog (sibling to share-landing visual) */
.share-modal-card {
  position: relative;
  max-width: 460px; width: 100%;
  padding: 0;
  background: linear-gradient(180deg, #fffef9 0%, #fbf6e8 100%);
  border: 1px solid #e3d7b4;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(60,40,20,0.04), 0 14px 40px -8px rgba(60,40,20,0.22), 0 32px 64px -20px rgba(60,40,20,0.16);
  overflow: hidden;
  animation: shareModalIn 220ms cubic-bezier(.2,.9,.3,1.1);
}
.share-modal-card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg, #c0392b 0%, #c0392b 28%, #1f3a5f 72%, #1f3a5f 100%);
}
@keyframes shareModalIn { from { transform: translateY(8px) scale(.98); opacity: 0 } to { transform: none; opacity: 1 } }
.share-modal-body { padding: 28px 28px 22px; }
.share-modal-head { text-align: center; margin-bottom: 12px; }
.share-modal-eyebrow { font-size: 11px; letter-spacing: 1.5px; color: #8a7a4a; text-transform: uppercase; font-weight: 600; }
.share-modal-title { margin: 8px 0 6px; font-size: 19px; color: #1f1a10; font-weight: 700; line-height: 1.3; }
.share-modal-meta { font-size: 12.5px; color: #6e6244; }
.share-modal-qr { text-align: center; margin: 14px 0 12px; }
.share-modal-qr img { width: 160px; height: 160px; padding: 8px; background: #fff; border: 1px solid #e3d7b4; border-radius: 10px; box-shadow: 0 4px 12px -4px rgba(60,40,20,0.16); }
.share-modal-url { padding: 0 4px; margin-bottom: 14px; }
.share-modal-url input {
  width: 100%; box-sizing: border-box; padding: 10px 12px;
  border: 1px solid #d8c98e; background: rgba(255,255,255,0.7);
  border-radius: 8px; font-size: 12.5px;
  font-family: var(--sans); color: #1f1a10;
  text-align: center;
}
.share-modal-card .share-actions {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
  padding: 0 4px; margin: 0 0 12px; justify-content: stretch;
}
.share-btn {
  padding: 10px 14px; border-radius: 8px; border: 1px solid #d8c98e;
  background: #fffdf3; color: #1f1a10; cursor: pointer;
  font-size: 13px; font-weight: 600; line-height: 1.2;
  transition: transform .15s, box-shadow .15s, background .15s;
}
.share-btn:hover { background: #fff; box-shadow: 0 4px 12px -4px rgba(60,40,20,0.18); transform: translateY(-1px); }
.share-btn.primary {
  background: linear-gradient(180deg, #2a4a72 0%, #1f3a5f 100%);
  color: #fff; border-color: #1f3a5f;
  box-shadow: 0 4px 14px -4px rgba(31,58,95,0.5);
}
.share-btn.primary:hover { background: linear-gradient(180deg, #335687 0%, #244472 100%); }
.share-btn.ghost { background: transparent; border-color: #c8b878; color: #5a4a20; }
.share-modal-foot { text-align: center; padding: 6px 0 2px; }
.share-modal-list {
  list-style: none; margin: 0 0 14px; padding: 8px 4px;
  max-height: 260px; overflow-y: auto;
  background: rgba(255,255,255,0.55); border: 1px solid #e3d7b4; border-radius: 10px;
}
.share-modal-list .share-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px;
  padding: 8px 12px; border-bottom: 1px dashed #e8dcb5; font-size: 13px;
}
.share-modal-list .share-row:last-child { border-bottom: 0; }
.share-modal-list .share-row-name { color: #1f1a10; font-weight: 600; flex: 1 1 auto; min-width: 0; word-break: break-word; }
.share-modal-list .share-row-cn { color: #6e6244; font-size: 12px; flex: 0 0 auto; }
.share-modal-list .share-row-tags { display: inline-flex; gap: 4px; flex-wrap: wrap; flex: 0 0 auto; }
.share-modal-list .share-idx,
.share-modal-list .share-jcr {
  font-size: 10.5px; padding: 2px 6px; border-radius: 4px; font-weight: 600; letter-spacing: 0.3px; line-height: 1.4;
}
/* 索引徽章统一中性奶米色，仅作信息标签 */
.share-modal-list .share-idx { background: #ebe2c5; color: #5a4a20; }
/* JCR 分区 burgundy 单色（与中科院 navy / 新锐 teal 区分） */
.share-modal-list .jcr-q1 { background: #7a2030; color: #fff; }
.share-modal-list .jcr-q2 { background: #a04a5a; color: #fff; }
.share-modal-list .jcr-q3 { background: #c89099; color: #5a1820; }
.share-modal-list .jcr-q4 { background: #ead0d4; color: #5a1820; }
.share-modal-more { font-size: 12px; color: #8a7a4a; text-align: center; margin: -4px 0 12px; }
.share-foot-link {
  background: none; border: 0; padding: 6px 12px; cursor: pointer;
  font-size: 12px; color: #8a7a4a; text-decoration: underline; text-underline-offset: 3px;
}
.share-foot-link:hover { color: #1f3a5f; }
@media (max-width: 480px) {
  .share-modal-body { padding: 24px 20px 18px; }
}

/* share landing page */
.share-landing {
  max-width: 720px;
  margin: 0 auto;
  padding: 32px 32px 28px;
  background: linear-gradient(180deg, #fffef9 0%, #fbf6e8 100%);
  border: 1px solid #e3d7b4;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(60,40,20,0.04), 0 12px 36px -8px rgba(60,40,20,0.18), 0 30px 60px -20px rgba(60,40,20,0.10);
  position: relative;
}
.share-landing::before {
  content: '';
  position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg, #b4531f 0%, #1f2c4c 100%);
  border-radius: 14px 14px 0 0;
}
.share-ribbon {
  display: inline-block;
  font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase;
  color: #8a7456; font-weight: 600;
  margin-bottom: 8px;
}
.share-title {
  font-family: var(--sans);
  font-size: 26px; font-weight: 600; line-height: 1.25;
  margin: 0 0 12px; color: var(--ink);
  letter-spacing: 0.005em;
}
.share-meta {
  display: flex; flex-wrap: wrap; gap: 14px;
  font-size: 12.5px; color: #8a7456;
  padding-bottom: 16px; margin-bottom: 4px;
  border-bottom: 1px dashed #d8c9a3;
}
.share-meta-item strong { color: var(--ink); font-size: 14px; font-weight: 700; margin-right: 2px; }
.share-list { margin: 8px 0 18px; }
.share-list-row {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 4px;
  border-bottom: 1px solid #ece5d3;
  font-size: 14px;
}
.share-list-row:last-child { border-bottom: none; }
.share-row-idx {
  flex: 0 0 auto; min-width: 26px;
  color: #b09a72; font-variant-numeric: tabular-nums;
  font-size: 12px; font-weight: 600;
  line-height: 1.42;
}
.share-row-main {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
}
.share-row-name {
  color: var(--ink);
  font-weight: 760;
  line-height: 1.42;
}
.share-row-cn {
  color: #8a7456;
  font-size: 13px;
  font-weight: 500;
  margin-left: 8px;
}
.share-row-code {
  flex: 0 0 auto;
  color: #a8997a; font-size: 11.5px;
  font-variant-numeric: tabular-nums;
  background: rgba(180,150,100,0.10);
  padding: 2px 8px; border-radius: 4px;
}
.share-row-tags {
  display: inline-flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end;
  min-width: 0;
}
.share-row-badges {
  display: grid;
  gap: 5px;
  width: 100%;
  padding-left: 0;
}
.share-row-badge-line {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  width: 100%;
}
.share-row-badge-label {
  color: #a8997a;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.8;
  text-transform: uppercase;
  white-space: nowrap;
}
.share-idx {
  display: inline-block;
  font-size: 10.5px; line-height: 1.4;
  font-weight: 700; letter-spacing: 0.04em;
  padding: 2px 7px; border-radius: 4px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: #fff;
}
.share-idx.idx-scie,
.share-idx.idx-ssci,
.share-idx.idx-ahci,
.share-idx.idx-esci,
.share-idx.idx-ei   { background: #ebe2c5; color: #5a4a20; }
.share-idx.jcr-q1   { background: #7a2030; color: #fff; }
.share-idx.jcr-q2   { background: #a04a5a; color: #fff; }
.share-idx.jcr-q3   { background: #c89099; color: #5a1820; }
.share-idx.jcr-q4   { background: #ead0d4; color: #5a1820; }
@media (max-width: 480px) {
  .share-list-row { flex-wrap: wrap; gap: 6px 10px; }
  .share-row-main { flex-basis: calc(100% - 38px); }
  .share-row-tags { justify-content: flex-start; }
}
.share-foot {
  display: flex; justify-content: space-between; align-items: baseline;
  padding-top: 14px; margin-top: 8px;
  border-top: 1px solid #e9dcb8;
  font-size: 11.5px; color: #a8997a;
  letter-spacing: 0.04em;
}
.share-foot-brand { font-family: var(--sans); font-weight: 700; color: var(--ink); font-size: 13px; }
.share-foot-brand em { font-style: italic; font-weight: 400; color: var(--ink-faint); }
.share-foot-url { font-variant-numeric: tabular-nums; }

.share-invite {
  max-width: 720px; margin: 22px auto 0;
  padding: 0 32px; box-sizing: border-box;
}
.share-invite-label {
  display: block; font-size: 12px; color: #8a7456;
  margin-bottom: 6px; letter-spacing: 0.04em; text-transform: uppercase;
  font-weight: 600;
}
.share-invite textarea {
  width: 100%; box-sizing: border-box;
  padding: 12px 14px;
  background: #fffdf6;
  border: 1px solid #e3d7b4; border-radius: 8px;
  font-family: var(--sans); font-size: 13.5px; line-height: 1.55;
  color: var(--ink); resize: vertical;
  box-shadow: inset 0 1px 2px rgba(60,40,20,0.04);
}
.share-invite textarea:focus { outline: none; border-color: #b4531f; box-shadow: 0 0 0 3px rgba(180,83,31,0.10); }

.share-actions {
  max-width: 720px; margin: 18px auto 0;
  padding: 0 32px; box-sizing: border-box;
  display: flex; flex-wrap: wrap; gap: 10px;
}
.share-actions button {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px;
  border-radius: 8px; cursor: pointer;
  font-size: 13.5px; font-weight: 600; font-family: var(--sans);
  border: 1px solid transparent;
  transition: transform 0.1s, box-shadow 0.15s, background 0.15s;
}
.share-actions button:hover { transform: translateY(-1px); }
.share-actions button:active { transform: translateY(0); }
.share-actions .btn-primary {
  background: #1f2c4c; color: #fff; border-color: #1f2c4c;
  box-shadow: 0 2px 6px rgba(31,44,76,0.20);
}
.share-actions .btn-primary:hover { background: #2a3a62; box-shadow: 0 4px 12px rgba(31,44,76,0.28); }
.share-actions .btn-soft {
  background: #fffdf6; color: var(--ink); border-color: #d8c9a3;
  box-shadow: 0 1px 2px rgba(60,40,20,0.04);
}
.share-actions .btn-soft:hover { background: #fbf4dd; border-color: #b09a72; }
.share-actions .btn-ok {
  background: #e8f4ec !important; color: #2e7d4f !important; border-color: #b6dec5 !important;
}
.share-actions button:disabled { opacity: 0.6; cursor: wait; transform: none; }
.share-actions .spinner {
  display: inline-block; width: 12px; height: 12px;
  border: 2px solid currentColor; border-top-color: transparent;
  border-radius: 50%; animation: spin 0.7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.share-foot-link {
  max-width: 720px; margin: 18px auto 0;
  padding: 0 32px; box-sizing: border-box;
  text-align: center; font-size: 13px;
}
.share-back { color: #8a7456; }
.share-back:hover { color: var(--ink); }

@media (max-width: 600px) {
  .share-landing { padding: 24px 18px 20px; border-radius: 10px; }
  .share-title { font-size: 22px; }
  .share-invite, .share-actions, .share-foot-link { padding: 0 18px; }
  .share-actions button { flex: 1 1 calc(50% - 5px); justify-content: center; }
}

@media (max-width: 600px) {
  .cnki-table-wrap { overflow-x: auto; }
  table.cnki-table {
    min-width: 720px;
    table-layout: fixed;
  }
  table.cnki-table th:nth-child(1),
  table.cnki-table td:nth-child(1) { width: 34px !important; padding-left: 8px; padding-right: 6px; }
  table.cnki-table th:nth-child(2),
  table.cnki-table td:nth-child(2) { width: 270px; }
  table.cnki-table th:nth-child(3),
  table.cnki-table td:nth-child(3) { width: 145px; }
  table.cnki-table th:nth-child(4),
  table.cnki-table td:nth-child(4) { width: 105px !important; }
  table.cnki-table th:nth-child(5),
  table.cnki-table td:nth-child(5) { width: 92px !important; }
  table.cnki-table th:nth-child(6),
  table.cnki-table td:nth-child(6) { width: 74px !important; }
  .cnki-name {
    font-size: 15.5px;
    line-height: 1.36;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  table.cnki-table .cat-inline { display: inline; margin-right: 4px; }
}

/* share landing 单列布局：屏蔽主站 grid + 侧边栏 */
body.share-mode { display: block; grid-template-columns: none; }
body.share-mode #sidebar,
body.share-mode .sidebar-scrim,
body.share-mode #drawer,
body.share-mode #scrim { display: none !important; }
body.share-mode main.main { max-width: 760px; margin: 0 auto; padding: 28px 20px 80px; }
.share-brand { max-width: 720px; margin: 0 auto 22px; padding: 0 4px; }
.share-brand-link { display: inline-block; color: var(--ink); border: 0; }
.share-brand-link:hover { border: 0; }
.share-brand-title { display: block; font-family: var(--sans); font-size: 22px; font-weight: 750; letter-spacing: 0.01em; }
.share-brand-title em { font-style: italic; font-weight: 400; color: var(--ink-faint); }
.share-brand-sub { display: block; font-size: 11.5px; color: var(--ink-faint); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 2px; }
.cat-chip.asjc-life     { background: #edf5ef; color: #2d6141; border-color: #c9dfd0; }
.cat-chip.asjc-health   { background: #f8eeee; color: #7a3a3a; border-color: #e7cccc; }
.cat-chip.asjc-physical { background: #eef2f8; color: #394d78; border-color: #cdd7ea; }
.cat-chip.asjc-social   { background: #f7f1e5; color: #715821; border-color: #e4d6b8; }
.cat-chip.asjc-multidisciplinary { background: #f1eef7; color: #584575; border-color: #d8cfe8; }

.zone {
  display: inline-flex; align-items: center;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 2px;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
  color: #fff;
  background: #735a3e; /* 分区组：CAS/JCR/新锐/IF/旗舰 用琥珀 */
}
/* ABDC/ABS 商科组使用酒红 */
.abdc-pill,
.zone.abs-g4s,
.zone.abs-g4,
.zone.abs-g3,
.zone.abs-g2,
.zone.abs-g1 { background: #724a58; }
.zone.ft50 { background: #0f766e; color: #fff; }
.zone.utd24 { background: #1d4ed8; color: #fff; }
/* 科协组使用钢蓝灰 */
.tier-pill { background: #72849b; }
/* CCF 使用紫灰 */
.ccf-pill { background: #72728d; }
.zone sup { font-size: 8px; font-weight: 400; opacity: 0.8; }

/* IF 评级 — 同分区组 */
.if-pill {
  display: inline-block;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  background: #735a3e;
  color: #fff;
  border-radius: 2px;
  letter-spacing: 0.04em;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
}

.ccf-pill {
  display: inline-block;
  padding: 2px 6px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  background: #72728d;
  color: #fff;
  border-radius: 2px;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
  letter-spacing: 0.04em;
}

.abdc-pill {
  display: inline-block;
  padding: 2px 6px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  background: #724a58;
  color: #fff;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
  border-radius: 2px;
  letter-spacing: 0.04em;
}
.tier-pill {
  display: inline-block;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  background: #72849b;
  color: #fff;
  border-radius: 2px;
  letter-spacing: 0.04em;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
}

/* 新锐分区 — 同分区组 */
.xr-pill {
  display: inline-block;
  padding: 2px 6px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  border-radius: 2px;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
  color: #fff;
  letter-spacing: 0.04em;
  background: #735a3e;
}

/* Nature / Science / Cell 旗舰徽章 — 同分区组 */
.flagship-pill {
  display: inline-block;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  border-radius: 2px;
  letter-spacing: 0.04em;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
  background: #735a3e;
  color: #fff;
}
.jname-flagship { color: #9b7414; }
.row-flagship {
  background: linear-gradient(to right, rgba(201,162,39,0.06), transparent 40%);
}

/* cnkx 大类 summary 上的 T1/T2/T3 计数迷你徽章 — 同科协组钢蓝灰 */
.tier-mini {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  font-family: var(--sans);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 2px;
  color: #fff;
  vertical-align: 1px;
  background: #72849b;
}

.warn-pill {
  display: inline-block;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 11px; font-weight: 700;
  background: var(--crimson);
  color: #fff;
  border-radius: 2px;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
}

.under-review-pill {
  display: inline-block;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 11px; font-weight: 700;
  background: #e67e22;
  color: #fff;
  border-radius: 2px;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
}

.on-hold-pill {
  display: inline-block;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 11px; font-weight: 700;
  background: #d94a1e;
  color: #fff;
  border-radius: 2px;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
}
.citic-warning-pill {
  display: inline-block;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 11px; font-weight: 700;
  background: #6f665d;
  color: #fff;
  border-radius: 2px;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
}

.muted-cell {
  font-family: var(--sans);
  font-size: 11px;
  color: var(--ink-faint);
}

/* pager */
.pager {
  margin-top: 18px;
  text-align: center;
}
.pager button {
  font-family: var(--sans);
  font-size: 13.5px;
  background: var(--paper-soft);
  border: 1px solid var(--rule);
  padding: 8px 18px;
  color: var(--ink-soft);
  cursor: pointer;
  letter-spacing: 0.04em;
  transition: background-color .15s, border-color .15s, color .15s;
}
.pager button:hover { background: var(--paper); color: var(--accent); border-color: var(--accent); }

/* site-foot / page-foot 已下线：关于·联系·条款·隐私见首页联系区 */
.site-foot,
.page-foot {
  display: none !important;
}
.site-foot .visitor-footnote {
  display: none !important; /* keep stats out of footer chrome */
}
.site-foot-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px 7px;
}
.site-foot-sep {
  color: rgba(117,111,104,.45);
  user-select: none;
}
.site-foot a {
  color: rgba(81,75,69,.82);
  font-weight: 650;
  text-decoration: none;
  border-bottom: none !important;
}
.site-foot a:hover {
  color: var(--accent);
}

/* theme toggle */
/* OpenAlex OA / APC drawer block */
.oa-section .oa-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 6px 0 8px; }
.oa-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
}
.oa-pill.oa-diamond { background: #e8f7ef; color: #1b6a3d; border-color: #b9e3ca; }
.oa-pill.oa-gold    { background: #fff3d6; color: #7a5100; border-color: #f3d789; }
.oa-pill.oa-hybrid  { background: #eef2fb; color: #2b4478; border-color: #c9d3ea; }
.oa-pill.oa-sub     { background: #f2ede3; color: #5a4a2f; border-color: #d9cdb2; }
.oa-pill.oa-unk     { background: #ececec; color: #555;    border-color: #ccc; }
.oa-chip {
  display: inline-block;
  padding: 3px 8px;
  font-size: 11px;
  border-radius: 4px;
  background: #eef2ec;
  color: #2b5a3a;
  border: 1px solid #c8d9c7;
}
.oa-chip.oa-isoa { background: #fff3d6; color: #7a5100; border-color: #f3d789; }
.oa-chip.oa-free { background: #dcfce7; color: #166534; border-color: #86efac; font-weight: 600; }
.oa-desc { font-size: 12px; line-height: 1.55; margin: 4px 0 10px; }
.oa-rows .meta-row { padding: 4px 0; }
.oa-footnote { font-size: 11px; margin-top: 8px; }

/* compact OA chip shown in table row */
.row-badges .badge-oa {
  display: inline-block;
  padding: 1px 6px;
  font-size: 10px;
  border-radius: 3px;
  margin-left: 4px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.badge-oa.oa-diamond { background: #e8f7ef; color: #1b6a3d; }
.badge-oa.oa-gold    { background: #fff3d6; color: #7a5100; }
.badge-oa.oa-hybrid  { background: #eef2fb; color: #2b4478; }

/* empty state container (table empty / list empty) */
td.empty,
.list-empty,
.empty-state {
  padding: 50px 20px;
  text-align: center;
  font-family: var(--sans);
  font-style: normal;
  color: var(--ink-faint);
  font-size: 14px;
}

/* Domestic tab sections */
.section-block { margin-bottom: 34px; }
.section-title {
  font-family: var(--sans);
  font-size: 15px; font-weight: 700;
  margin: 0 0 4px;
  letter-spacing: 0.02em;
}
.section-title::after {
  content: ""; display: block;
  width: 28px; height: 1px;
  background: var(--accent);
  margin-top: 6px;
}
.section-subtitle {
  font-family: var(--sans);
  font-style: normal;
  font-size: 13px;
  color: var(--ink-faint);
  margin: 8px 0 14px;
}

.domain-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.domain-card {
  padding: 12px 14px;
  background: var(--paper-soft);
  border: 1px solid var(--rule);
  cursor: pointer;
  transition: background-color .15s, border-color .15s;
}
.domain-card:hover {
  background: var(--paper);
  border-color: var(--accent);
}
.domain-card .d-name {
  font-family: var(--sans);
  font-weight: 750;
  font-size: 14px;
  color: var(--ink);
}
.domain-card .d-count {
  font-family: var(--sans);
  font-size: 11px;
  color: var(--ink-faint);
  letter-spacing: 0.04em;
  margin-top: 4px;
}

/* sidebar drawer toggle (mobile only) */
.side-toggle {
  display: none;
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: 2px;
  width: 38px; height: 38px;
  font-size: 18px; line-height: 1;
  cursor: pointer; color: var(--ink-soft);
  flex-shrink: 0;
}
.side-toggle:hover { border-color: var(--accent); color: var(--accent); }
.sidebar-scrim {
  position: fixed; inset: 0;
  background: rgba(32, 24, 16, 0.42);
  backdrop-filter: blur(2px);
  z-index: 80;
  opacity: 0; pointer-events: none;
  transition: opacity 0.2s ease;
}
.sidebar-scrim.on { opacity: 1; pointer-events: auto; }

/* responsive */
@media (max-width: 900px) {
  body {
    padding-left: 0;
    padding-top: 0;
  }
  .app-rail {
    left: 0;
    right: auto;
    top: 0;
    bottom: 0;
    width: min(82vw, 360px);
    height: 100vh;
    padding: 16px 14px 20px;
    flex-direction: column;
    align-items: stretch;
    transform: translateX(-102%);
    transition: transform .22s ease;
    border-right: 1px solid rgba(39,35,31,.12);
    border-bottom: 0;
    box-shadow: 18px 0 44px rgba(39,35,31,.18);
    z-index: 110;
  }
  .app-rail.mobile-open { transform: translateX(0); }
  .rail-top,
  .rail-bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .rail-top { padding-left: 0; }
  .rail-nav-btn {
    width: 100%;
    min-height: 54px;
    border-radius: 8px;
    font-size: 15px;
    flex-direction: row;
    justify-content: flex-start;
    gap: 14px;
    padding: 0 18px;
  }
  .rail-close-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    color: var(--ink-soft);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
  }
  .rail-brand-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: calc(100% - 44px);
    min-height: 46px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    transition: .15s;
    font-family: var(--display);
    font-weight: 780;
    font-size: 20px;
    letter-spacing: 0.06em;
    flex-shrink: 0;
    line-height: 1;
  }
  .rail-brand-mobile:hover {
    border-color: var(--accent);
    color: var(--accent);
  }
  .rail-nav-btn span:not(.rail-flag):not(.fav-count-badge) {
    display: inline;
    max-width: none;
  }
  .fav-count-badge {
    position: absolute;
    top: 3px;
    right: 3px;
    min-width: 15px;
    height: 15px;
    padding: 0 4px;
    margin-left: 0;
    border-radius: 999px;
    font-size: 9px;
  }
  .app-rail .auth-btn,
  .app-rail .lang-toggle {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 13px;
  }
  .rail-nav-btn svg { width: 19px; height: 19px; }
  #sidebar {
    display: none !important;
  }
  #sidebar.open { transform: none; }
  .side-toggle { display: inline-flex !important; align-items: center; justify-content: center; border-radius: 8px; }
  main.main {
    padding: 14px 16px 60px;
    max-width: 100%;
    display: flex; flex-direction: column;
  }
  #mode-tabs { display: none !important; }
  .mobile-nav-brand { display: none !important; }
  /* 手机顶栏：品牌固定左上 + 语言右上；搜索为单行胶囊（勿用 132px 高框） */
  main.main .topbar { order: 1; margin-bottom: 12px; }
  .topbar {
    top: 0;
    z-index: 80;
    gap: 8px;
    width: 100%;
    max-width: none;
    margin: 0 0 12px;
    padding: 52px 0 0; /* 给固定品牌 / 语言让位 */
    background: transparent;
    box-shadow: none;
    border: 0;
    align-items: stretch;
    flex-wrap: nowrap;
  }
  .topbar-brand {
    top: 14px;
    left: 52px; /* 汉堡右侧 */
    font-size: 14px;
    max-width: calc(100vw - 148px);
  }
  .side-toggle {
    position: fixed !important;
    top: 10px;
    left: 10px;
    z-index: 150;
    width: 36px;
    height: 36px;
  }
  /* 非首页落地：语言固定右上；首页落地由 .home-top-nav 内嵌规则接管 */
  body:not(.home-route) .lang-toggle-wrap,
  body.home-route.home-tab-has-results .lang-toggle-wrap,
  body.home-route.topbar-compact .lang-toggle-wrap {
    position: fixed !important;
    top: 10px !important;
    right: 10px !important;
  }
  /* 各站点 + 首页：统一紧凑单行搜索 */
  .search-wrap {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    order: 1;
    min-height: 44px !important;
    max-height: 48px;
    border-radius: 999px !important;
    box-shadow: 0 4px 14px rgba(40, 28, 16, 0.06);
  }
  .search-wrap > #q {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    line-height: 44px !important;
    padding: 0 96px 0 14px !important;
    font-size: 14px !important;
  }
  body.home-route:not(.home-tab-has-results):not(.topbar-compact) .search-wrap {
    min-height: 46px !important;
    max-height: 48px;
  }
  body.home-route:not(.home-tab-has-results):not(.topbar-compact) .search-wrap > #q {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    line-height: 46px !important;
    padding: 0 148px 0 14px !important;
    font-size: 14px !important;
  }
  body.home-route:not(.home-tab-has-results):not(.topbar-compact) .search-mode-btn {
    padding: 5px 9px;
    font-size: 11.5px;
  }
  body.topbar-compact .topbar {
    margin-bottom: 10px;
    padding: 52px 0 0;
    min-height: 0;
    border-bottom: 0;
    background: transparent;
    backdrop-filter: none;
  }
  body.topbar-compact .search-wrap {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    border-radius: 999px !important;
  }
  body.topbar-compact .search-wrap > #q {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 88px 0 14px !important;
    font-size: 14px !important;
  }
  body.home-route.topbar-compact .search-wrap > #q {
    padding-right: 148px !important;
  }
  body.topbar-compact .search-submit,
  .search-submit {
    min-width: 72px;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 12.5px;
  }
  body.home-route .search-mode-btn { padding: 5px 8px; font-size: 11.5px; }
  .home-search-chips { width: 100%; margin: -4px auto 14px; justify-content: flex-start; padding: 0 2px; }
  .home-search-chip { font-size: 11.5px; padding: 4px 9px; }
  .home-card-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .home-journal-card { min-height: 0; padding: 14px 14px 13px; }
  .home-card-title { font-size: 15.5px; }
  .home-card-fav .fav-star { width: 30px; height: 30px; min-width: 30px; background: transparent; }
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .top-actions { order: 0; justify-content: flex-end; gap: 4px; padding: 2px 0; }
  .tab-panel { order: 4; }
  .tab-panel[data-panel="home"] { order: 4; }
  .home-hero { padding: 20px 4px 0; }
  .home-title {
    margin-top: 8px;
    font-size: 18px;
  }
  .home-title small { margin-top: 0; }
  .home-brand-row {
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
  }
  .home-logo-mark { width: 36px; height: 36px; border-radius: 11px; }
  .top-actions .lang-toggle, .top-actions .auth-btn {
    padding: 6px 10px;
    font-size: 12px;
    height: 32px;
    display: inline-flex; align-items: center;
  }
  .hint { display: none; }
  .search-actions {
    left: auto;
    right: 5px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    gap: 4px;
  }
  .search-meta { font-size: 10.5px; }
  .search-meta-group {
    display: none !important; /* 手机不在搜索条内塞 meta，避免撑高 */
  }
  .col-name { min-width: 130px; width: 26%; }
  .jname { font-size: 13px !important; }
  table.journals th, table.journals td { padding: 6px 5px; }
  .th-dropdown-panel-search {
  width: 340px;
  max-height: 420px;
  padding: 6px;
}
.th-dropdown-panel-search .dd-search-wrap {
  padding: 0 0 6px;
  position: sticky;
  top: 0;
  background: var(--paper);
}
.th-dropdown-panel-search .dd-search {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 10px;
  border: 1px solid var(--rule);
  border-radius: 6px;
  font-size: 12px;
  outline: none;
}
.th-dropdown-panel-search .dd-search:focus {
  border-color: var(--accent);
}
.th-dropdown-panel-search .dd-check-list {
  max-height: 340px;
  overflow-y: auto;
}
.th-dropdown-panel-search .th-chk {
  padding: 3px 6px;
  font-size: 12px;
}
.th-dropdown-panel-search .th-chk .count {
  margin-left: auto;
  color: var(--ink-soft);
  font-size: 11px;
  padding-left: 6px;
}
.col-wos {
  width: 110px;
  max-width: 110px;
}
@media (max-width: 768px) {
  .th-dropdown-panel-search { width: 280px; }
  .col-wos { width: 80px; max-width: 80px; }

  .tab-panel[data-panel="int"] .table-wrap {
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .tab-panel[data-panel="int"] table.journals,
  .tab-panel[data-panel="int"] table.journals tbody,
  .tab-panel[data-panel="int"] table.journals tr,
  .tab-panel[data-panel="int"] table.journals td {
    display: block;
    width: 100%;
  }

  /* 手机也保留 thead 筛选条（旧逻辑误藏导致布局错乱） */
  .tab-panel[data-panel="int"] table.journals thead {
    display: block !important;
  }

  .tab-panel[data-panel="int"] table.journals tbody {
    display: grid;
    gap: 10px;
  }

  .tab-panel[data-panel="int"] table.journals tr.j-row {
    min-height: 0;
  }

  .tab-panel[data-panel="int"] table.journals .jname {
    font-size: 13.5px !important;
  }

  .tab-panel[data-panel="int"] table.journals .empty {
    display: block;
    padding: 22px 14px;
    border: 1px solid var(--rule-soft);
    border-radius: 10px;
    background: var(--paper);
    text-align: center;
  }

  .tab-panel[data-panel="dom"] .table-wrap,
  .tab-panel[data-panel="in"] .table-wrap,
  .tab-panel[data-panel="my"] .table-wrap {
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .tab-panel[data-panel="dom"] table.journals,
  .tab-panel[data-panel="dom"] table.journals tbody,
  .tab-panel[data-panel="dom"] table.journals tr,
  .tab-panel[data-panel="dom"] table.journals td,
  .tab-panel[data-panel="in"] table.journals,
  .tab-panel[data-panel="in"] table.journals tbody,
  .tab-panel[data-panel="in"] table.journals tr,
  .tab-panel[data-panel="in"] table.journals td,
  .tab-panel[data-panel="my"] table.journals,
  .tab-panel[data-panel="my"] table.journals tbody,
  .tab-panel[data-panel="my"] table.journals tr,
  .tab-panel[data-panel="my"] table.journals td {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .tab-panel[data-panel="dom"] table.journals thead,
  .tab-panel[data-panel="in"] table.journals thead,
  .tab-panel[data-panel="my"] table.journals thead {
    display: none;
  }

  .tab-panel[data-panel="dom"] table.journals tbody,
  .tab-panel[data-panel="in"] table.journals tbody,
  .tab-panel[data-panel="my"] table.journals tbody {
    display: grid;
    gap: 10px;
  }

  .tab-panel[data-panel="dom"] table.journals .jname,
  .tab-panel[data-panel="in"] table.journals .jname,
  .tab-panel[data-panel="my"] table.journals .jname,
  .tab-panel[data-panel="kr"] table.journals .jname {
    font-size: 16px !important;
  }

  .tab-panel[data-panel="dom"] table.journals .domsrc-pill,
  .tab-panel[data-panel="in"] table.journals .domsrc-pill,
  .tab-panel[data-panel="my"] table.journals .domsrc-pill {
    white-space: normal;
    max-width: 100%;
  }
}
  .col-badge { width: 200px; min-width: 200px; }
  .col-badge-split { min-width: 200px; width: 200px; }
  .col-fav { width: 40px; }
  .col-free { width: 58px; }
  .col-if { width: 44px; max-width: 44px; padding-right: 4px; }
  body.journal-route {
    padding-top: 10px;
  }
  body.journal-route .j-drawer.journal-page {
    width: 100% !important;
    max-width: none !important;
  }
  body.journal-route .drawer-head {
    top: 10px;
  }
  body.journal-route .drawer-body {
    padding: 26px 0 56px;
    display: block;
  }
  body.journal-route .drawer-title {
    font-size: clamp(30px, 10vw, 42px);
  }
  body.journal-route .stats-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 14px;
  }
  body.journal-route .drawer-section,
  body.journal-route .meta-block,
  body.journal-route .rating-section {
    margin-bottom: 12px;
    padding: 16px;
    border-radius: 12px;
  }
  body.journal-route .related-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  #mode-tabs {
    flex-wrap: wrap;
    row-gap: 6px;
  }
  .mobile-nav-brand {
    order: -1;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin-right: auto;
    color: var(--ink);
    font-size: 16.5px;
    font-weight: 750;
    letter-spacing: 0;
    text-decoration: none;
  }
  .mobile-nav-brand em {
    font-family: 'Palatino Linotype', 'Palatino', 'Book Antiqua', Georgia, serif;
    font-style: italic;
    font-weight: 700;
    font-size: 20px;
    color: var(--ink);
    letter-spacing: 0.01em;
    line-height: 1;
  }
  .mobile-nav-brand span {
    color: var(--ink-soft);
    font-size: 15px;
    font-weight: 650;
    margin-left: 1px;
  }
  .lang-toggle-wrap,
  .auth-btn,
  .fav-header-btn {
    flex: 0 0 auto;
  }
  .lang-toggle,
  .auth-btn {
    width: auto;
    justify-content: center;
  }
}

/* ─────────────── 详情抽屉 ─────────────── */
.drawer-scrim {
  position: fixed; inset: 0;
  background: rgba(32, 24, 16, 0.42);
  backdrop-filter: blur(2px);
  z-index: 210;
  opacity: 0; pointer-events: none;
  transition: opacity 0.2s ease;
}
.drawer-scrim.on { opacity: 1; pointer-events: auto; }

.j-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(560px, 92vw);
  background: var(--paper, #f6f0e2);
  border-left: 1px solid var(--rule, #d8ccb4);
  box-shadow: -12px 0 40px rgba(60, 40, 20, 0.15);
  z-index: 220;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(.2,.7,.2,1);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.j-drawer.open { transform: translateX(0); }

body.journal-route main.main,
body.journal-route .drawer-scrim {
  display: none !important;
}

/* 详情页：保留左侧 rail + 铺满剩余宽度（对齐 V7） */
body.journal-route {
  padding-left: 72px !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  overflow-x: hidden;
  background:
    linear-gradient(90deg, rgba(164, 143, 107, 0.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(164, 143, 107, 0.05) 1px, transparent 1px),
    var(--paper, #f7f2e8);
  background-size: 96px 96px;
}
body.journal-route .app-rail {
  display: flex !important;
}

/* 详情壳：铺满 rail 右侧全部区域，不再居中限宽 */
body.journal-route .j-drawer.journal-page {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 16px 0 12px !important;
  box-sizing: border-box !important;
  background: transparent;
  border-left: 0;
  box-shadow: none;
  transform: none !important;
  z-index: auto;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ═══════ 详情：主列吃满 + 右侧快捷栏贴右 ═══════ */
.detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 0 28px;
  align-items: start;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.detail-layout.is-drawer {
  grid-template-columns: 1fr;
  gap: 12px;
}
.detail-main-col { min-width: 0; width: 100%; max-width: none; }
.detail-side-col {
  width: 280px;
  max-width: 280px;
  position: sticky;
  top: 72px;
  align-self: start;
  justify-self: stretch;
}
.detail-layout.is-drawer .detail-side-col {
  width: 100%;
  position: static;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 10px;
}
.detail-layout.is-drawer .side-h { grid-column: 1 / -1; margin-top: 4px; }
.detail-layout.is-drawer .side-h:first-child { margin-top: 0; }

.d-hero {
  padding: 14px 16px 12px;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff4e8 0%, #ffe8d0 48%, #ffd9b5 100%);
  box-shadow: 0 8px 22px rgba(180, 100, 40, 0.1);
  margin-bottom: 12px;
}
.d-hero-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.d-hero-text { min-width: 0; }
.d-hero h1,
.d-hero .drawer-title {
  margin: 0;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 820;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: #1c1917;
}
.d-cn,
.d-hero .drawer-sub {
  margin-top: 3px;
  font-size: 12.5px;
  color: #7a6a58;
  font-weight: 500;
  line-height: 1.3;
}
.d-subj {
  margin-top: 6px;
  font-size: 12px;
  color: #6b5c4c;
  line-height: 1.35;
}
.d-subj b { font-weight: 650; color: #4a3f34; }
.d-issn {
  margin-top: 8px !important;
  font-size: 12px !important;
  color: #8a7a68 !important;
}
.d-hero-free { margin-top: 8px; }
.d-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.d-if strong {
  display: block;
  font-size: 26px;
  font-weight: 820;
  color: #b45309;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.03em;
}
.d-if span {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  color: #a08b76;
  font-weight: 650;
  text-align: right;
}
.d-btns { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
.d-btn {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 7px 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.d-btn.ghost {
  background: rgba(255, 255, 255, 0.62);
  color: #57534e;
}
.d-btn.primary {
  background: linear-gradient(135deg, #fb923c, #f97316);
  color: #fff;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.28);
}
.d-btn.star {
  width: 32px;
  height: 32px;
  padding: 0;
  background: rgba(255, 255, 255, 0.62);
  color: rgba(120, 100, 80, 0.55);
  font-size: 16px;
}
.d-btn.star.on { color: #f97316; }
.d-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
}
.d-m {
  background: rgba(255, 255, 255, 0.55);
  border-radius: 10px;
  padding: 8px 9px;
  min-width: 0;
}
.d-m .n {
  font-size: 13.5px;
  font-weight: 780;
  color: #1c1917;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.d-m .l {
  font-size: 10px;
  color: #8a7a68;
  font-weight: 600;
  margin-top: 2px;
}

.info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 4px;
}
.info-grid .block {
  background: #fff;
  border-radius: 12px;
  padding: 12px 13px;
  box-shadow: 0 4px 14px rgba(40, 28, 16, 0.04);
  border: 1px solid rgba(90, 70, 50, 0.05);
  min-width: 0;
}
.info-grid .block.span2 { grid-column: 1 / -1; }
.info-grid .block h3 {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 750;
  color: #a8a29e;
  letter-spacing: .02em;
}
.info-grid .pills,
.info-grid .badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
/* 详情徽章：iOS 简约芯片（与列表卡一致，无拟物深色底） */
.info-grid .pills .badge,
.info-grid .badges .badge,
.info-grid .pills .zone,
.info-grid .badges .zone,
.info-grid .pills .xr-pill,
.info-grid .badges .xr-pill,
.info-grid .pills .domsrc-pill,
.info-grid .badges .domsrc-pill,
.info-grid .pills .tier-pill,
.info-grid .badges .tier-pill,
.info-grid .pills .abdc-pill,
.info-grid .badges .abdc-pill,
.info-grid .pills .abs-pill,
.info-grid .badges .abs-pill,
.info-grid .pills .ccf-pill,
.info-grid .badges .ccf-pill,
.info-grid .pills .warn-pill,
.info-grid .badges .warn-pill,
.info-grid .pills .flagship-pill,
.info-grid .badges .flagship-pill,
.info-grid .pills .on-hold-pill,
.info-grid .badges .on-hold-pill,
.info-grid .pills .under-review-pill,
.info-grid .badges .under-review-pill,
.info-grid .pills .citic-warning-pill,
.info-grid .badges .citic-warning-pill,
body.journal-route .pills .badge,
body.journal-route .badges .badge,
body.journal-route .pills .zone,
body.journal-route .badges .zone,
body.journal-route .pills .xr-pill,
body.journal-route .badges .xr-pill,
body.journal-route .pills .domsrc-pill,
body.journal-route .badges .domsrc-pill,
body.journal-route .pills .tier-pill,
body.journal-route .badges .tier-pill,
body.journal-route .pills .abdc-pill,
body.journal-route .badges .abdc-pill,
body.journal-route .pills .abs-pill,
body.journal-route .badges .abs-pill,
body.journal-route .pills .ccf-pill,
body.journal-route .badges .ccf-pill,
body.journal-route .pills .warn-pill,
body.journal-route .badges .warn-pill,
.j-drawer .pills .badge,
.j-drawer .badges .badge,
.j-drawer .pills .zone,
.j-drawer .badges .zone,
.j-drawer .pills .xr-pill,
.j-drawer .badges .xr-pill,
.j-drawer .pills .domsrc-pill,
.j-drawer .badges .domsrc-pill,
.j-drawer .pills .tier-pill,
.j-drawer .badges .tier-pill {
  display: inline-flex !important;
  align-items: center;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  padding: 4px 9px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: var(--badge-border) !important;
  box-shadow: var(--badge-edge) !important;
  background: #f5f5f4 !important;
  color: #44403c !important;
  white-space: nowrap;
}
/* 轻色相区分，保持扁平 */
body.journal-route .badge.b-scie,
body.journal-route .badge.b-ssci,
body.journal-route .badge.b-ahci,
.j-drawer .badge.b-scie,
.j-drawer .badge.b-ssci,
.j-drawer .badge.b-ahci,
.info-grid .badge.b-scie,
.info-grid .badge.b-ssci,
.info-grid .badge.b-ahci {
  background: #eef2ff !important;
  color: #3730a3 !important;
  border-color: rgba(55, 48, 163, 0.12) !important;
}
body.journal-route .badge.b-esci,
body.journal-route .badge.b-ei,
body.journal-route .badge.b-scopus,
body.journal-route .badge.b-inspec,
body.journal-route .badge.b-cabi,
.j-drawer .badge.b-esci,
.j-drawer .badge.b-ei,
.j-drawer .badge.b-scopus,
.info-grid .badge.b-esci,
.info-grid .badge.b-ei,
.info-grid .badge.b-scopus,
.info-grid .badge.b-cabi {
  background: #f1f5f9 !important;
  color: #334155 !important;
  border-color: rgba(51, 65, 85, 0.12) !important;
}
body.journal-route .badge.b-medline,
body.journal-route .badge.b-pubmed,
body.journal-route .badge.b-pmc,
.j-drawer .badge.b-medline,
.j-drawer .badge.b-pubmed,
.j-drawer .badge.b-pmc,
.info-grid .badge.b-medline,
.info-grid .badge.b-pubmed,
.info-grid .badge.b-pmc {
  background: #e0f2fe !important;
  color: #075985 !important;
  border-color: rgba(7, 89, 133, 0.12) !important;
}
body.journal-route .badge.b-doaj,
body.journal-route .badge.b-oaj,
body.journal-route .badge.b-free,
.j-drawer .badge.b-doaj,
.j-drawer .badge.b-oaj,
.info-grid .badge.b-doaj,
.info-grid .badge.b-oaj {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border-color: rgba(4, 120, 87, 0.14) !important;
}
body.journal-route .badge.b-cscd,
body.journal-route .badge.b-cstpcd,
body.journal-route .badge.b-scd,
.j-drawer .badge.b-cscd,
.j-drawer .badge.b-cstpcd,
.info-grid .badge.b-cscd,
.info-grid .badge.b-cstpcd {
  background: #f0fdf4 !important;
  color: #166534 !important;
  border-color: rgba(22, 101, 52, 0.12) !important;
}
body.journal-route .zone,
body.journal-route .jcr-q1,
body.journal-route .jcr-q2,
body.journal-route .jcr-q3,
body.journal-route .jcr-q4,
body.journal-route .badge.b-jcr,
.j-drawer .zone,
.info-grid .zone {
  background: #fff7ed !important;
  color: #c2410c !important;
  border-color: rgba(194, 65, 12, 0.14) !important;
}
body.journal-route .xr-pill,
.j-drawer .xr-pill,
.info-grid .xr-pill {
  background: #faf5ff !important;
  color: #6b21a8 !important;
  border-color: rgba(107, 33, 168, 0.12) !important;
}
body.journal-route .domsrc-pill,
body.journal-route .tier-pill,
.j-drawer .domsrc-pill,
.j-drawer .tier-pill,
.info-grid .domsrc-pill,
.info-grid .tier-pill {
  background: #f8fafc !important;
  color: #475569 !important;
  border-color: rgba(71, 85, 105, 0.12) !important;
}
body.journal-route .warn-pill,
body.journal-route .on-hold-pill,
body.journal-route .under-review-pill,
body.journal-route .citic-warning-pill,
body.journal-route .badge.b-retraction,
.j-drawer .warn-pill,
.info-grid .warn-pill {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border-color: rgba(185, 28, 28, 0.14) !important;
}
.d-none {
  font-size: 12px;
  color: #d6d3d1;
  font-weight: 550;
}
.kv2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}
.kv-item { min-width: 0; }
.kv-item .k {
  font-size: 11px;
  font-weight: 650;
  color: #a8a29e;
  margin-bottom: 2px;
}
.kv-item .v {
  font-size: 13px;
  font-weight: 550;
  color: #1c1917;
  line-height: 1.35;
  word-break: break-word;
}
.kv-item .v a { color: #c2410c; font-weight: 600; text-decoration: none; }
.kv-item .v a:hover { text-decoration: underline; }

/* 期刊概览：与收录/分区同套 info-grid 色块 */
.info-grid .d-overview-block {
  background: #fff;
  border-radius: 12px;
  padding: 12px 13px;
  box-shadow: 0 4px 14px rgba(40, 28, 16, 0.04);
  border: 1px solid rgba(90, 70, 50, 0.05);
}
.info-grid .d-overview-block h3 {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 750;
  color: #a8a29e;
  letter-spacing: .02em;
}
.info-grid .d-overview-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  color: #57534e;
  font-weight: 500;
  text-align: left;
  max-width: none;
}

.section-title {
  font-size: 12px;
  font-weight: 750;
  color: #78716c;
  margin: 16px 0 8px;
  letter-spacing: .02em;
}
.detail-charts .trends-section {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.detail-charts .trends-section > h4 { display: none; }
.detail-charts .trend-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
.detail-charts .trend-card {
  background: #fff !important;
  border-radius: 12px !important;
  border: 1px solid rgba(90, 70, 50, 0.05) !important;
  box-shadow: 0 4px 14px rgba(40, 28, 16, 0.04) !important;
  padding: 10px 12px !important;
}

.detail-more {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.detail-more > .drawer-section,
.detail-more > .meta-block,
.detail-more > .rating-section {
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(90, 70, 50, 0.05) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(40, 28, 16, 0.04) !important;
  padding: 12px 13px !important;
}
.detail-more > .trends-section,
.detail-more > .related-section {
  grid-column: 1 / -1;
}

.side-h {
  font-size: 10.5px;
  font-weight: 750;
  color: #a8a29e;
  margin: 0 0 6px;
  letter-spacing: .04em;
}
.side-card {
  background: #fff;
  border-radius: 12px;
  padding: 2px 10px;
  box-shadow: 0 4px 12px rgba(40, 28, 16, 0.04);
  border: 1px solid rgba(90, 70, 50, 0.05);
  margin-bottom: 10px;
}
.side-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid #f5f5f4;
  background: transparent;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  color: #1c1917;
  text-align: left;
  cursor: pointer;
  text-decoration: none !important;
  box-sizing: border-box;
  overflow: hidden;
}
.side-link:last-child { border-bottom: 0; }
/* 右侧数值/箭头可收缩保护；刊名必须能缩并省略 */
.side-link > span:not(.side-link-name) {
  color: #c4c0bb;
  font-weight: 500;
  font-size: 11px;
  flex: 0 0 auto;
}
.side-link-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #1c1917 !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}
.side-link-if {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  color: #a8a29e !important;
  font-weight: 650 !important;
  font-size: 12px !important;
}
.side-rating-card {
  padding: 12px 12px 14px !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.side-rating-card .rating-my-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.side-rating-card .rating-stars-input {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}
.side-rating-card .rating-my-hint,
.side-rating-card .muted {
  font-size: 11px;
  color: #a8a29e;
  line-height: 1.4;
  margin: 0;
}
.side-rating-card .rating-pill {
  margin-top: 0;
  align-self: flex-start;
  max-width: 100%;
  flex-wrap: wrap;
}
.side-related {
  padding: 8px !important;
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.side-related .side-link,
.side-related .side-link.related-card {
  cursor: pointer;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 6px;
  padding: 8px 10px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 10px;
  background: #fffaf0 !important;
  box-shadow: none;
  overflow: hidden;
  box-sizing: border-box;
}
.side-related .side-link:last-child,
.side-related .side-link.related-card:last-child {
  margin-bottom: 0;
}
.side-related .side-link:hover,
.side-related .side-link.related-card:hover {
  background: #fff7e0 !important;
}
.side-related .side-link-name {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
}

/* 页模式：drawer-body / detail-layout 单层铺满，禁止再套第二套 grid 列 */
body.journal-route .drawer-body,
body.journal-route #drawer-body {
  display: block !important;
  flex: 1 1 auto !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 4px 0 56px !important;
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: transparent !important;
}
body.journal-route .detail-layout {
  padding: 0 0 28px;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
body.journal-route .detail-layout.is-page {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  column-gap: 32px !important;
  row-gap: 0 !important;
  align-items: start !important;
}
body.journal-route .detail-layout.is-page .detail-main-col {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}
body.journal-route .detail-layout.is-page .detail-side-col {
  width: 280px !important;
  max-width: 280px !important;
  min-width: 240px;
}
body.journal-route .drawer-head {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  flex: 0 0 auto;
}
body.journal-route .d-hero {
  padding: 18px 20px 16px;
}
body.journal-route .d-hero h1,
body.journal-route .d-hero .drawer-title {
  font-size: clamp(26px, 3.2vw, 36px);
  font-weight: 820;
  letter-spacing: -0.03em;
}
body.journal-route .info-grid {
  gap: 12px;
}
body.journal-route .info-grid .block {
  padding: 14px 16px;
  border-radius: 14px;
}
body.journal-route .info-grid .block.span2,
body.journal-route .info-grid .d-overview-block {
  padding: 16px 18px;
}
body.journal-route .kv2 {
  gap: 12px 28px;
}
body.journal-route .journal-detail-masonry {
  grid-column: auto;
}

@media (max-width: 960px) {
  .detail-layout.is-page {
    grid-template-columns: 1fr;
  }
  .detail-layout.is-page .detail-side-col {
    width: 100%;
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 10px;
  }
  .detail-layout.is-page .side-h { grid-column: 1 / -1; }
  .info-grid,
  .kv2,
  .detail-charts .trend-grid,
  .detail-more {
    grid-template-columns: 1fr !important;
  }
  .d-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .d-hero-row { grid-template-columns: 1fr; }
  .d-actions { align-items: flex-start; }
  .d-if span { text-align: left; }
}

/* very small screens: scroll horizontally to see all columns */
@media (max-width: 480px) {
  .col-badge { width: 150px; min-width: 150px; }
  .col-badge-split { width: 150px; min-width: 150px; }
}

body.journal-route .drawer-head {
  position: sticky;
  top: 0;
  z-index: 20;
  margin: 0;
  padding: 14px 0 12px;
  background: color-mix(in srgb, var(--paper, #f7f2e8) 94%, transparent);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: nowrap;
}

/* 详情页品牌与「国际期刊」标签分栏，禁止叠在一起 */
body.journal-route .drawer-brand {
  display: inline-flex;
  align-items: baseline;
  flex: 0 0 auto;
  font-family: var(--display);
  font-weight: 780;
  font-size: 15px;
  letter-spacing: 0.04em;
  color: var(--ink);
  text-decoration: none;
  border: 0;
  padding: 0;
  line-height: 1.25;
  white-space: nowrap;
}
body.journal-route .drawer-brand em {
  font-style: italic;
  font-weight: 500;
  opacity: 0.88;
}
body.journal-route .drawer-brand:hover {
  color: var(--accent);
}
body.journal-route .drawer-kicker {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0 4px 0 8px;
  border-left: 1px solid var(--rule-soft);
  font-size: 12px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.journal-route .drawer-head-actions {
  flex: 0 0 auto;
  margin-left: auto;
}
/* 详情路由时隐藏主区顶栏品牌，避免与抽屉头叠字 */
body.journal-route .topbar-brand,
body.journal-route .home-hero,
body.journal-route .page-brand,
html.journal-route-pending .topbar-brand,
html.journal-route-pending .home-hero {
  display: none !important;
}
html.journal-route-pending main.main {
  visibility: hidden !important;
  pointer-events: none;
}
html.journal-route-pending #j-drawer {
  visibility: visible;
}

/* 旧版 drawer-body 双列 grid 已废弃（会与 .detail-layout 叠套，主列变窄）；仅保留可读性 padding */
body.journal-route .drawer-body {
  padding: 12px 0 56px;
  overflow: visible;
  display: block;
  align-items: stretch;
}

body.journal-route .drawer-hero,
body.journal-route .stats-grid,
body.journal-route .stats-sub {
  grid-column: 1 / -1;
}

body.journal-route .drawer-hero {
  margin: 0 0 8px;
  padding: 8px 0 22px;
  border-bottom: 1px solid var(--rule-soft);
}

body.journal-route .hero-badge-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  margin-top: 14px;
}

body.journal-route .hero-badge-grid .badges-section {
  margin: 0;
  min-width: 0;
  height: 100%;
}

body.journal-route .drawer-title {
  max-width: none;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.05;
  font-weight: 820;
  letter-spacing: 0;
}

body.journal-route .drawer-titlebar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

body.journal-route .drawer-title-main {
  min-width: 0;
  flex: 1 1 auto;
}

body.journal-route .drawer-title-line {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex-wrap: wrap;
}

body.journal-route .drawer-title-badges {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  padding-top: 6px;
}

body.journal-route .drawer-sub {
  margin-top: 10px;
  font-size: 16px;
}

body.journal-route .drawer-issn {
  margin-top: 12px;
  font-size: 13px;
}

body.journal-route .drawer-actions {
  margin-top: 6px;
  flex: 0 0 auto;
  justify-content: flex-end;
}

body.journal-route .journal-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 22px;
  align-items: stretch;
  margin: 14px 0;
  padding: 20px;
  background: color-mix(in srgb, #fff 78%, var(--paper-soft, #fbf6ea));
  border: 1px solid var(--rule-soft);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(66, 49, 27, 0.06);
}

body.journal-route .journal-overview h4 {
  margin: 0 0 10px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0;
}

body.journal-route .journal-overview p {
  margin: 0;
  max-width: 760px;
  color: var(--ink-mid);
  font-size: 14px;
  line-height: 1.78;
  text-align: justify;
  text-justify: inter-ideograph;
  overflow-wrap: anywhere;
}

body.journal-route .journal-cover {
  min-height: 210px;
}

body.journal-route .journal-cover-img,
body.journal-route .journal-cover-fallback {
  width: 100%;
  height: 100%;
  min-height: 210px;
  border-radius: 10px;
  border: 1px solid var(--rule-soft);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}

body.journal-route .journal-cover-img {
  display: block;
  object-fit: cover;
  background: var(--paper-soft);
}

body.journal-route .journal-cover.has-remote-cover .journal-cover-fallback {
  display: none;
}

body.journal-route .journal-cover.cover-load-failed .journal-cover-fallback {
  display: flex;
}

body.journal-route .journal-cover-fallback {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px 16px;
  background:
    linear-gradient(135deg, rgba(249,115,22,.15), transparent 42%),
    linear-gradient(180deg, #fffaf0, #efe3cc);
}

body.journal-route .journal-cover-mark {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(249,115,22,.14);
  color: var(--accent);
  font-weight: 780;
}

body.journal-route .journal-cover-name {
  color: var(--ink);
  font-size: 18px;
  font-weight: 780;
  line-height: 1.12;
}

body.journal-route .journal-cover-pub {
  color: var(--ink-faint);
  font-size: 11px;
  line-height: 1.35;
}

body.journal-route .stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: stretch;
  gap: 12px;
  margin: 0 0 4px;
  padding: 0;
  border: 0;
}

body.journal-route .stats-grid.stats-count-1 { grid-template-columns: 1fr; }
body.journal-route .stats-grid.stats-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.journal-route .stats-grid.stats-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

body.journal-route .stats-grid .stat,
body.journal-route .drawer-section,
body.journal-route .meta-block,
body.journal-route .rating-section {
  background: color-mix(in srgb, #fff 78%, var(--paper-soft, #fbf6ea));
  border: 1px solid var(--rule-soft);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(66, 49, 27, 0.06);
}

body.journal-route .stats-grid .stat {
  padding: 18px 16px;
  text-align: left;
}

body.journal-route .stat-v {
  font-size: 28px;
  font-weight: 780;
}

body.journal-route .drawer-section,
body.journal-route .meta-block,
body.journal-route .rating-section {
  margin: 0;
  padding: 18px 20px;
  border-top: 1px solid var(--rule-soft);
}

body.journal-route .journal-detail-masonry {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px 26px;
  align-items: stretch;
}

body.journal-route .journal-detail-masonry > .drawer-section,
body.journal-route .journal-detail-masonry > .meta-block,
body.journal-route .journal-detail-masonry > .rating-section {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}

body.journal-route .drawer-section h4 {
  color: var(--ink);
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}

body.journal-route .badges-section {
  grid-column: span 1;
}

body.journal-route .related-section {
  grid-column: 1 / -1;
}

body.journal-route .trends-section {
  grid-column: 1 / -1;
}

body.journal-route .trend-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body.journal-route .trend-card {
  min-width: 0;
  padding: 14px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid var(--rule-soft);
  border-radius: 12px;
  box-sizing: border-box;
  height: 274px;
  overflow: hidden;
}

body.journal-route .trend-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

body.journal-route .trend-title {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

body.journal-route .trend-unit,
body.journal-route .trend-note {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

body.journal-route .trend-note {
  margin-top: 10px;
}

body.journal-route .trend-delta {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

body.journal-route .trend-delta.up {
  color: #1f6d48;
  background: rgba(70, 157, 104, 0.14);
}

body.journal-route .trend-delta.down {
  color: #9b3a34;
  background: rgba(190, 72, 62, 0.13);
}

body.journal-route .trend-svg {
  display: block;
  width: 100%;
  height: 190px;
  overflow: visible;
}

body.journal-route .trend-axis {
  stroke: rgba(69, 55, 38, 0.2);
  stroke-width: 1;
}

body.journal-route .trend-gridline {
  stroke: rgba(69, 55, 38, 0.08);
  stroke-width: 1;
}

body.journal-route .trend-gridline-vertical {
  stroke: rgba(69, 55, 38, 0.075);
}

body.journal-route .trend-partial-guide {
  stroke: rgba(69, 55, 38, 0.16);
  stroke-width: 1;
  stroke-dasharray: 4 4;
}

body.journal-route .trend-line {
  fill: none;
  stroke: #2c6c8f;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.journal-route .pub-trend .trend-line {
  stroke: #7a5a24;
}

body.journal-route .selfcite-trend .trend-line {
  stroke: #8f4f7b;
}

body.journal-route .trend-line-partial {
  stroke-dasharray: 4 5;
  opacity: 0.62;
}

body.journal-route .trend-fill {
  fill: rgba(44, 108, 143, 0.06);
}

body.journal-route .pub-trend .trend-fill {
  fill: rgba(122, 90, 36, 0.07);
}

body.journal-route .selfcite-trend .trend-fill {
  fill: rgba(143, 79, 123, 0.06);
}

body.journal-route .trend-svg circle {
  fill: #fff;
  stroke: #2c6c8f;
  stroke-width: 1.35;
  cursor: pointer;
  transition: r .15s, stroke-width .15s, filter .15s;
}

body.journal-route .pub-trend .trend-svg circle {
  stroke: #7a5a24;
}

body.journal-route .selfcite-trend .trend-svg circle {
  stroke: #8f4f7b;
}

body.journal-route .trend-svg circle:hover,
body.journal-route .trend-svg circle:focus,
body.journal-route .trend-svg circle.is-active {
  stroke-width: 1.9;
  filter: drop-shadow(0 2px 4px rgba(39, 35, 31, 0.14));
  outline: none;
}

body.journal-route .trend-svg .trend-dot-partial {
  fill: #fff;
  stroke: rgba(69, 55, 38, 0.38);
  stroke-width: 1.25;
  stroke-dasharray: 2 2;
}

body.journal-route .trend-year,
body.journal-route .trend-y,
body.journal-route .trend-value {
  fill: var(--muted);
  font-size: 9px;
}

body.journal-route .trend-value {
  fill: var(--ink-soft);
  font-weight: 680;
  paint-order: stroke;
  pointer-events: none;
  stroke: rgba(255, 255, 255, 0.78);
  stroke-width: 2px;
  stroke-linejoin: round;
}

body.journal-route .trend-value-partial {
  fill: rgba(69, 55, 38, 0.72);
}

body.journal-route .trend-readout {
  pointer-events: none;
  opacity: 0;
  transition: opacity .16s ease;
}

body.journal-route .trend-readout.is-visible {
  opacity: 1;
}

body.journal-route .trend-readout rect {
  fill: rgba(255, 255, 255, 0.9);
  stroke: rgba(117, 111, 104, 0.2);
  filter: drop-shadow(0 4px 8px rgba(39, 35, 31, 0.12));
}

body.journal-route .trend-readout text {
  fill: var(--ink-soft);
  font-size: 10.5px;
  font-weight: 760;
}

body.journal-route .country-output-card {
  min-height: 0;
  padding-bottom: 12px;
}

body.journal-route .country-output-chart {
  position: relative;
  display: grid;
  gap: 8px;
  margin-top: 10px;
  min-width: 0;
}

body.journal-route .country-output-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
  min-width: 0;
}

body.journal-route .country-output-fallback {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 132px;
}

body.journal-route .country-fallback-value {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 820;
  letter-spacing: -.035em;
  line-height: 1;
}

body.journal-route .country-fallback-note {
  max-width: 34em;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

body.journal-route .country-select-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 760;
  min-width: 0;
}

body.journal-route .country-select {
  min-width: 0;
  max-width: 172px;
  height: 24px;
  border: 1px solid var(--rule-soft);
  border-radius: 7px;
  background: rgba(255,255,255,.76);
  color: var(--ink);
  font: inherit;
  font-weight: 760;
  padding: 0 8px;
}

body.journal-route .country-bar-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 8px;
  min-height: 21px;
  min-width: 0;
}

body.journal-route .country-year {
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 760;
  white-space: nowrap;
}

body.journal-route .country-year span {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: 680;
  line-height: 1.2;
}

body.journal-route .country-bar {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  height: 18px;
  overflow: hidden;
  background: rgba(69, 55, 38, 0.08);
  border: 1px solid rgba(69, 55, 38, 0.08);
  border-radius: 999px;
}

body.journal-route .country-segment {
  position: relative;
  min-width: 1px;
  height: 100%;
}

body.journal-route .country-segment + .country-segment {
  box-shadow: inset 1px 0 rgba(255, 255, 255, 0.68);
}

body.journal-route .country-segment span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 1px 2px rgba(35, 31, 26, 0.28);
}

body.journal-route .country-total {
  color: var(--muted);
  font-size: 10.5px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

body.journal-route .country-line-svg {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

body.journal-route .country-line-path {
  fill: none;
  stroke: rgba(255, 255, 255, 0.94);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 1px 2px rgba(81, 125, 98, 0.34));
}

body.journal-route .country-line-dot {
  fill: #fff;
  stroke: #5a936f;
  stroke-width: 1.6;
}

body.journal-route .country-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  margin-top: 10px;
}

body.journal-route .country-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--ink-soft);
  font-size: 10.5px;
  font-weight: 700;
}

body.journal-route .country-swatch {
  width: 9px;
  height: 9px;
  border-radius: 2px;
}

body.journal-route .country-empty {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.5;
}

body.journal-route .related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.journal-route .journal-not-found {
  grid-column: 1 / -1;
  max-width: 560px;
  padding: 80px 0;
}

@media (max-width: 900px) {
  body.journal-route {
    padding-top: 10px;
    overflow-x: hidden;
  }
  body.journal-route .j-drawer.journal-page {
    width: 100% !important;
    max-width: none !important;
  }
  body.journal-route .drawer-head {
    top: 10px;
  }
  body.journal-route .drawer-body {
    padding: 26px 0 56px;
    display: block;
  }
  body.journal-route .drawer-title {
    font-size: clamp(30px, 10vw, 42px);
  }
  body.journal-route .drawer-titlebar {
    display: block;
  }
  body.journal-route .drawer-actions {
    justify-content: flex-start;
    margin-top: 14px;
  }
  body.journal-route .hero-badge-grid {
    grid-template-columns: 1fr;
  }
  body.journal-route .stats-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 14px;
  }
  body.journal-route .journal-overview {
    display: block;
  }
  body.journal-route .journal-cover {
    margin-top: 16px;
    min-height: 180px;
  }
  body.journal-route .journal-cover-img,
  body.journal-route .journal-cover-fallback {
    min-height: 180px;
  }
  body.journal-route .stats-grid .stat {
    min-width: 0;
    padding: 16px 14px;
  }
  body.journal-route .stat-v {
    font-size: 26px;
    overflow-wrap: anywhere;
  }
  body.journal-route .drawer-section,
  body.journal-route .meta-block,
  body.journal-route .rating-section {
    margin-bottom: 12px;
    padding: 16px;
    border-radius: 12px;
  }
  body.journal-route .journal-detail-masonry {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  body.journal-route .trend-grid {
    grid-template-columns: 1fr;
  }
  body.journal-route .journal-detail-masonry > .drawer-section,
  body.journal-route .journal-detail-masonry > .meta-block,
  body.journal-route .journal-detail-masonry > .rating-section {
    display: block;
    margin-bottom: 12px;
  }
  body.journal-route .related-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  body.journal-route .j-drawer.journal-page {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 14px;
    box-sizing: border-box;
  }

  body.journal-route .drawer-head {
    position: static;
    top: auto;
    padding: 14px 0 10px;
  }

  body.journal-route .drawer-kicker {
    min-width: 0;
    font-size: 10px;
    letter-spacing: .14em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.journal-route .drawer-head-actions {
    flex: 0 0 auto;
    gap: 6px;
  }

  body.journal-route .drawer-back,
  body.journal-route .drawer-close,
  body.journal-route .icon-btn {
    width: 34px;
    height: 34px;
  }

  body.journal-route .drawer-body {
    padding: 20px 0 52px;
  }

  body.journal-route .drawer-hero {
    padding-top: 4px;
    padding-bottom: 18px;
    overflow: visible;
  }

  body.journal-route .drawer-title {
    max-width: 100%;
    font-size: clamp(28px, 8.5vw, 36px);
    line-height: 1.12;
    overflow-wrap: anywhere;
  }

  body.journal-route .drawer-title-line {
    display: block;
  }

  body.journal-route .drawer-title-badges {
    display: flex;
    flex-wrap: wrap;
    padding-top: 10px;
  }

  body.journal-route .drawer-actions {
    gap: 10px;
    margin-top: 14px;
  }

  body.journal-route .rating-pill,
  body.journal-route .big-btn {
    min-height: 40px;
  }

  body.journal-route .drawer-issn {
    margin-top: 12px;
    margin-bottom: 12px;
    font-size: 12px;
  }

  body.journal-route .journal-overview {
    margin: 12px 0;
    padding: 16px;
    border-radius: 12px;
  }

  body.journal-route .journal-overview p {
    font-size: 14px;
    line-height: 1.7;
  }

  body.journal-route .journal-cover {
    margin-top: 14px;
    min-height: 150px;
  }

  body.journal-route .journal-cover-img,
  body.journal-route .journal-cover-fallback {
    min-height: 150px;
  }

  body.journal-route .journal-cover-fallback {
    padding: 16px;
  }

  body.journal-route .stats-grid {
    gap: 10px;
  }
}

.drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 18px;
  border-bottom: 1px solid #ebe9e6;
  background: #fffefb;
  flex-shrink: 0;
}
.drawer-kicker {
  font-family: var(--sans, system-ui);
  font-size: 12px; letter-spacing: 0.02em;
  color: #a8a29e;
  font-weight: 650;
  text-transform: none;
}
.drawer-head-actions { display: flex; gap: 6px; }
.drawer-back, .drawer-fav, .drawer-close, .drawer-share {
  background: transparent; border: 0;
  font-size: 0; line-height: 1;
  width: 34px; height: 34px;
  border-radius: 6px;
  cursor: pointer; color: var(--ink, #3a2d1a);
  transition: background 0.12s, color 0.12s, transform 0.15s;
  display: inline-flex; align-items: center; justify-content: center;
}
.drawer-back:hover, .drawer-fav:hover, .drawer-close:hover, .drawer-share:hover { background: rgba(0,0,0,0.06); }
.drawer-back svg, .drawer-fav svg, .drawer-close svg, .drawer-share svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.drawer-fav.on svg { fill: color-mix(in srgb, currentColor 18%, transparent); }
.drawer-share.copied { color: #2e7d4f; background: rgba(46,125,79,0.10); }
.drawer-share.copied svg { transform: scale(1.05); }

.drawer-body {
  padding: 16px 18px 40px;
  overflow-y: auto;
  flex: 1 1 auto;
  -webkit-overflow-scrolling: touch;
  font-family: var(--sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size: 13px;
  line-height: 1.55;
  background: linear-gradient(180deg, #fffefb 0%, #f8f3ea 100%);
}

/* 详情头区：与 V10 卡片同色系 */
.drawer-hero {
  margin: 0 0 14px;
  padding: 14px 16px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff4e8 0%, #ffe8d0 50%, #ffd9b5 100%);
  box-shadow: 0 6px 18px rgba(180, 100, 40, 0.08);
}
.drawer-hero .hero-badge-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}
.drawer-hero .drawer-section.badges-section {
  background: rgba(255,255,255,.55);
  border-radius: 10px;
  padding: 8px 10px;
}
.drawer-hero .drawer-section.badges-section h4 {
  margin: 0 0 6px;
  font-size: 10.5px;
  font-weight: 750;
  color: #8a7a68;
}
.drawer-hero .drawer-section.badges-section .badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.drawer-body .drawer-section h4,
.drawer-body .journal-detail-masonry h4 {
  font-size: 11px;
  font-weight: 750;
  color: #78716c;
  margin: 0 0 8px;
}
.drawer-body .journal-detail-masonry > .drawer-section,
.drawer-body .journal-detail-masonry > .trend-card,
.drawer-body .journal-detail-masonry > .meta-block {
  background: #fff;
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 4px 14px rgba(40, 28, 16, 0.04);
  margin-bottom: 10px;
  border: 0;
}
@media (max-width: 560px) {
  .drawer-hero .hero-badge-grid { grid-template-columns: 1fr; }
}
.drawer-title {
  font-family: var(--sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size: 20px; line-height: 1.22;
  color: #1c1917;
  font-weight: 800;
  letter-spacing: -.02em;
  margin-bottom: 2px;
}
.drawer-sub {
  font-size: 13px; color: #7a6a58;
  margin-bottom: 4px;
  font-weight: 500;
}
.drawer-issn {
  font-family: var(--sans);
  font-size: 12px;
  color: #8a7a68;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 10px;
}
/* 详情元信息：双栏 KV（与 V10 一致） */
.drawer-body .meta-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  background: #fff;
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 4px 14px rgba(40, 28, 16, 0.04);
  margin-bottom: 12px;
}
.drawer-body .meta-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  border: 0;
  padding: 0;
  background: transparent;
}
.drawer-body .meta-k {
  font-size: 10.5px;
  font-weight: 650;
  color: #a8a29e;
}
.drawer-body .meta-v {
  font-size: 12.5px;
  font-weight: 550;
  color: #1c1917;
  word-break: break-word;
}
@media (max-width: 560px) {
  .drawer-body .meta-block { grid-template-columns: 1fr; }
}
.drawer-body .section-title,
.drawer-body h3.drawer-section {
  font-size: 11px;
  font-weight: 750;
  color: #78716c;
  margin: 14px 0 8px;
  letter-spacing: .02em;
}
.drawer-badges-row .badge,
.drawer-badges-row .zone,
.drawer-badges-row span {
  font-style: normal !important;
}
.drawer-issn .drawer-views {
  font-family: var(--sans, system-ui);
  font-size: 11.5px; color: var(--ink-faint);
  letter-spacing: 0;
}
.drawer-badges { flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.drawer-badges-row { flex-wrap: wrap; gap: 6px; margin: 0 0 6px; align-items: center; }
.drawer-badges-row:last-child { margin-bottom: 14px; }
.drawer-badges-extra { gap: 5px; }
.drawer-actions {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  flex-wrap: wrap;
}

/* drawer 顶部 平均分 inline pill */
.rating-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 6px 12px;
  background: var(--paper-soft);
  border: 1px solid var(--rule-soft);
  border-radius: 999px;
  line-height: 1;
}
.rating-pill .rating-avg {
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 600;
  color: var(--ink);
}
.rating-pill .rating-avg-suffix {
  font-size: 12px;
  color: var(--ink-faint);
}
.rating-pill .rating-avg-stars {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  color: var(--gold);
  white-space: nowrap;
}
.rating-pill .rating-avg-stars svg.star {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  display: block;
}
.rating-pill .rating-avg-stars svg.star path { fill: currentColor; }
.rating-pill .rating-avg-stars svg.star.full  { color: var(--gold); }
.rating-pill .rating-avg-stars svg.star.half  { color: var(--gold); }
.rating-pill .rating-avg-stars svg.star.half .half-fill  { stop-color: var(--gold); stop-opacity: 1; }
.rating-pill .rating-avg-stars svg.star.half .half-empty { stop-color: var(--ink-faint); stop-opacity: 0.32; }
.rating-pill .rating-avg-stars svg.star.empty { color: var(--ink-faint); opacity: 0.32; }
.rating-pill .rating-count {
  font-size: 11.5px;
  color: var(--ink-faint);
}

.big-btn {
  display: inline-block;
  padding: 7px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.02em;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background-color .12s, border-color .12s, color .12s, transform .12s;
}
.big-btn.primary {
  background: var(--paper-soft);
  color: var(--ink);
  border-color: var(--rule-soft);
}
.big-btn.primary:hover {
  background: var(--paper-deeper);
  border-color: var(--rule);
  color: var(--accent);
}
.big-btn.ghost {
  background: transparent;
  color: var(--ink-faint);
  border-color: var(--rule-soft);
}
.big-btn.ghost:hover {
  background: var(--paper-soft);
  color: var(--gold);
  border-color: var(--rule);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 8px;
  margin: 10px 0 14px;
  padding: 10px 0;
  border-top: 1px dashed var(--rule-soft);
  border-bottom: 1px dashed var(--rule-soft);
  background: transparent;
  border-left: 0; border-right: 0;
  border-radius: 0;
}
.stats-grid .stat { text-align: center; }
.stat-v {
  font-family: var(--sans);
  font-size: 17px; font-weight: 600;
  color: var(--ink);
  line-height: 1.2;
  letter-spacing: 0.01em;
}
.stat-k {
  font-family: var(--sans);
  font-size: 11px;
  color: var(--ink-faint);
  letter-spacing: 0.04em;
  margin-top: 4px;
  text-transform: none;
  font-weight: 500;
}
.stat-sub {
  font-family: var(--sans);
  font-size: 10px;
  color: var(--ink-faint);
  letter-spacing: 0.02em;
  margin-top: 3px;
  opacity: 0.7;
  font-style: italic;
  text-transform: none;
}

.stats-sub {
  text-align: center;
  font-family: var(--sans);
  font-size: 10px;
  color: var(--ink-faint);
  letter-spacing: 0.02em;
  margin-top: -6px;
  margin-bottom: 8px;
  opacity: 0.65;
  font-style: italic;
}

/* drawer 分区分块（中科院 2025 / 新锐 2026）大类标题 */
.cat-major-line {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 4px 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--rule-soft);
}
.cat-major-name {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: 0.02em;
}
.cat-major-zone {
  font-family: var(--sans);
  font-size: 11.5px;
  color: var(--accent);
  letter-spacing: 0.04em;
  font-weight: 500;
}
.cat-major-zone.jcr-q1 { color: #7a2030; font-weight: 700; }
.cat-major-zone.jcr-q2 { color: #a04a5a; font-weight: 600; }
.cat-major-zone.jcr-q3 { color: #906a7a; }
.cat-major-zone.jcr-q4 { color: #7a6a7a; }
.cat-major-rank {
  font-family: var(--sans);
  font-size: 11px;
  color: var(--ink-faint);
  margin-left: auto;
}
.cat-sub-label {
  font-family: var(--sans);
  font-size: 10.5px;
  color: var(--ink-faint);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 4px 0 4px;
}

.meta-block {
  margin: 14px 0 18px;
  border-top: 0;
}
.meta-row {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 10px;
  padding: 5px 0;
  border-bottom: 0;
  font-size: 12.5px;
  line-height: 1.7;
}
.meta-k {
  color: var(--ink-faint);
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0;
  padding-top: 1px;
  font-weight: 500;
}
.meta-v { color: var(--ink); }

.drawer-section {
  margin: 0;
  padding: 14px 0 12px;
  border-top: 1px dashed var(--rule-soft);
}
.drawer-section:first-of-type { border-top: 0; padding-top: 4px; }
.drawer-section h4 {
  font-family: var(--sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size: 12px; letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 10px;
  font-weight: 650;
}

/* 表头内嵌下拉（如大类列 CAS/ESI 切换） */
.journals thead .th-select {
  background: transparent;
  border: 0;
  border-bottom: 1px dotted var(--rule);
  padding: 1px 18px 1px 0;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.04em;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 4l3 3 3-3' fill='none' stroke='%236b6559' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 9px 9px;
}
.journals thead .th-select:hover { color: var(--accent); border-bottom-color: var(--accent); }
.journals thead .th-select:focus { outline: none; border-bottom-color: var(--accent); }
.journals thead .th-select-sm {
  font-size: 11px;
  padding: 1px 14px 1px 2px;
  max-width: 76px;
  background-position: right 0 center;
  background-size: 8px 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 题头下拉多选菜单 */
.th-dropdown {
  position: relative;
  display: inline-block;
}
.th-dropdown-btn {
  background: transparent;
  border: 0;
  border-bottom: 1px dotted var(--rule);
  padding: 1px 4px 1px 2px;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.04em;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.th-dropdown-btn:hover { color: var(--accent); border-bottom-color: var(--accent); }
.th-dropdown-btn:focus { outline: none; border-bottom-color: var(--accent); }
.th-dropdown-btn.active { color: var(--accent); border-bottom-color: var(--accent); }
.dd-arrow { font-size: 8px; opacity: 0.6; line-height: 1; }
.th-dropdown-btn.active .dd-arrow { opacity: 1; }
.dd-count { font-size: 10px; font-weight: 600; opacity: 0.8; }

.th-dropdown-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 500;
  min-width: 160px;
  background: var(--paper, #fff);
  border: 1px solid var(--rule, #ddd);
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  padding: 6px 0;
  max-height: 340px;
  overflow-y: auto;
}
.th-dropdown-panel.open { display: block; }

.th-dropdown-panel .th-chk {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  cursor: pointer;
  font-size: 12px;
  color: var(--ink);
  white-space: nowrap;
}
.th-dropdown-panel .th-chk:hover {
  background: var(--hover-bg, #f5f5f5);
}
.th-dropdown-panel .th-chk input {
  width: 13px;
  height: 13px;
  margin: 0;
  accent-color: var(--accent);
}
.th-dropdown-panel .th-chk:has(input:checked) {
  color: var(--filter-on);
  font-weight: 700;
}
.dd-sep {
  height: 1px;
  background: var(--rule, #ddd);
  margin: 4px 8px;
}
#cnki-cat-select, #cnkx-domain-select, #cnkx-sub-select { width: 100%; }
.rating-placeholder {
  padding: 20px 18px;
  border: 1px dashed var(--rule);
  border-radius: 8px;
  text-align: center;
  background: rgba(0,0,0,0.02);
}
.rating-stars {
  font-size: 22px;
  color: var(--ink-faint);
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.rating-note {
  font-size: 12px;
  color: var(--ink-faint);
  line-height: 1.5;
}

.rating-section { padding: 14px 18px; }
.rating-summary {
  display: grid;
  grid-template-columns: minmax(0,0.85fr) minmax(0,1.4fr);
  gap: 28px;
  align-items: start;
  padding: 12px 0 4px;
}
@media (max-width: 560px) {
  .rating-summary { grid-template-columns: 1fr; gap: 14px; }
}
.rating-avg-wrap { text-align: center; padding: 8px 6px; border-right: 1px dashed var(--rule); }
@media (max-width: 560px) {
  .rating-avg-wrap { border-right: none; border-bottom: 1px dashed var(--rule); padding-bottom: 14px; }
}
.rating-avg {
  font-size: 32px; font-weight: 600; line-height: 1; margin-bottom: 4px;
  font-family: var(--sans); color: var(--ink);
}
.rating-avg .rating-avg-suffix {
  font-size: 14px; color: var(--ink-faint); font-weight: 400; margin-left: 2px;
}
.rating-avg-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-bottom: 4px;
  white-space: nowrap;
}
.rating-avg-stars svg.star {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  display: block;
}
.rating-avg-stars svg.star path { fill: currentColor; }
.rating-avg-stars svg.star.full  { color: #f5a623; }
.rating-avg-stars svg.star.half  { color: #f5a623; }
.rating-avg-stars svg.star.half .half-fill  { stop-color: #f5a623; stop-opacity: 1; }
.rating-avg-stars svg.star.half .half-empty { stop-color: var(--ink-faint); stop-opacity: 0.32; }
.rating-avg-stars svg.star.empty { color: var(--ink-faint); opacity: 0.32; }
.rating-count { font-size: 12px; }

.rating-my-wrap { padding: 4px 4px 0; min-width: 0; }
.rating-my-label { font-size: 12px; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.06em; }
.rating-stars-input {
  display: inline-flex; gap: 2px; font-size: 22px; line-height: 1;
  user-select: none; cursor: pointer; padding: 4px 0;
}
.rating-stars-input.disabled { cursor: not-allowed; opacity: 0.55; }
.rating-stars-input .star-input {
  position: relative; display: inline-block; width: 1em; height: 1em;
  color: var(--ink-faint);
}
.rating-stars-input .star-visual {
  position: absolute; inset: 0; display: block; pointer-events: none;
}
.rating-stars-input .star-input.half  .star-visual {
  background: linear-gradient(90deg, #f5a623 50%, var(--ink-faint) 50%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.rating-stars-input .star-input.full  .star-visual { color: #f5a623; }
.rating-stars-input .half-hit {
  position: absolute; top: 0; bottom: 0; width: 50%; cursor: pointer;
}
.rating-stars-input .half-hit.left  { left: 0; }
.rating-stars-input .half-hit.right { right: 0; }
.rating-my-hint { font-size: 11.5px; margin-top: 6px; line-height: 1.5; }
.rating-my-hint a { color: var(--accent, #4a73c0); text-decoration: underline; }

/* 行可点击提示 */
tr.j-row.clickable { cursor: pointer; transition: background 0.1s; }
tr.j-row.clickable:hover { background: rgba(0,0,0,0.03); }

/* 付费锁 nav */
.nav-divider {
  height: 1px;
  background: var(--rule);
  margin: 12px 8px 8px;
  opacity: 0.6;
}
.nav-sub {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  padding: 2px 8px 6px;
  font-weight: 600;
}
.nav-item.nav-locked { position: relative; opacity: 0.7; }
.nav-item.nav-locked::after {
  content: "🔒";
  font-size: 10px;
  margin-left: 4px;
  opacity: 0.8;
}
.nav-item.nav-locked.unlocked::after { content: "✓"; color: #2d8a5a; }

/* 付费解锁中央卡片 */
.locked-hero {
  padding: 48px 24px;
  text-align: center;
  border: 2px dashed var(--rule);
  border-radius: 12px;
  margin: 24px 0;
}
.locked-hero .lock-ico {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.4;
}
.locked-hero h3 {
  font-family: var(--sans);
  font-size: 20px;
  margin: 0 0 10px;
  color: var(--ink);
}
.locked-hero p {
  font-size: 13px;
  color: var(--ink-mid, #6b5a42);
  line-height: 1.6;
  max-width: 440px;
  margin: 0 auto 22px;
}
.unlock-slot { margin-top: 24px; }
.unlock-slot input[type="text"] {
  font-family: var(--sans);
  font-size: 14px;
  padding: 10px 12px;
  border: 1px solid var(--rule);
  border-radius: 6px;
  width: 280px; max-width: 100%;
  background: #fff;
}

@media (max-width: 600px) {
  .j-drawer { width: 100vw; }
  .meta-row { grid-template-columns: 90px 1fr; gap: 10px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .pick-card { padding:12px 14px }
  .pick-card { gap:10px }
  .pick-apc {
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border-radius:4px;
  border:1px solid var(--rule-soft);
  font-size:10.5px;
  font-weight:700;
  line-height:1.25;
}
.pick-apc-free { background:#e8f7ef; color:#1b6a3d; border-color:#b9e3ca; }
.pick-apc-paid { background:#fff3d6; color:#7a5100; border-color:#f3d789; }
.pick-report {
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:8px;
  padding:18px;
  margin:0 0 16px;
  min-width:0;
  max-width:100%;
  box-shadow:0 1px 0 rgba(43,42,39,.04), 0 12px 34px rgba(43,42,39,.08);
}
.pick-report-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:8px;
}
.pick-report-kicker {
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pick-report h2 {
  margin:2px 0 0;
  font-size:19px;
  line-height:1.3;
}
.pick-report-source {
  flex:0 1 260px;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.45;
  text-align:right;
}
.pick-report-intro {
  margin:6px 0 12px;
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.65;
}
.pick-report-fields {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 14px;
}
.pick-report-fields .pick-report-field-chip,
.pick-report-tags em {
  display:inline-flex;
  align-items:center;
  border:1px solid var(--rule-soft);
  border-radius:4px;
  background:var(--bg);
  color:var(--muted);
  font-size:11px;
  font-style:normal;
  line-height:1.3;
  padding:3px 7px;
}
.pick-report-fields-text {
  display:block;
  min-width:0;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:650;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.pick-report-section {
  border-top:1px solid var(--rule-soft);
  padding-top:14px;
  margin-top:14px;
}
.pick-report-section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.pick-report-section-head h3 {
  margin:0;
  font-size:15px;
  line-height:1.35;
}
.pick-report-section-head p {
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  max-width:560px;
}
.pick-report-table-wrap {
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
  min-width:0;
  border:1px solid var(--rule-soft);
  border-radius:8px;
  background:var(--bg);
}
.pick-report-table {
  width:100%;
  min-width:820px;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:12px;
}
.pick-report-table th,
.pick-report-table td {
  padding:9px 10px;
  border-bottom:1px solid var(--rule-soft);
  vertical-align:top;
  text-align:left;
}
.pick-report-table th {
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  background:var(--bg2);
}
.pick-report-table tbody tr:last-child td { border-bottom:0; }
.pick-report-table a {
  color:var(--fg);
  font-weight:700;
  text-decoration:none;
}
.pick-report-table a:hover { color:var(--accent); }
.pick-report-meta {
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}
.pick-report-position {
  display:block;
  font-weight:700;
  color:var(--fg);
  margin-bottom:4px;
}
.pick-report-tags {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.pick-report-branch-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:10px;
}
.pick-report-branch {
  border:1px solid var(--rule-soft);
  border-radius:8px;
  background:var(--bg);
  padding:10px;
}
.pick-report-branch h4 {
  margin:0 0 8px;
  font-size:13px;
  line-height:1.35;
}
.pick-report-list {
  display:flex;
  flex-direction:column;
  gap:6px;
}
.pick-report-list-item {
  display:block;
  border-radius:6px;
  padding:7px 8px;
  background:var(--bg2);
  text-decoration:none;
}
.pick-report-list-item:hover { background:var(--hover-bg,var(--border)); }
.pick-report-list-item strong {
  display:block;
  color:var(--fg);
  font-size:12px;
  line-height:1.35;
}
.pick-report-list-item span {
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
  margin-top:2px;
}
.pick-report-badges {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.pick-report-dom-badges {
  margin-bottom:5px;
}
.pick-report-dom-metrics {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  padding-top:5px;
  border-top:1px dashed var(--rule-soft);
}
.pick-report-strategy {
  margin:0;
  padding-left:18px;
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.65;
}
.pick-report-strategy li + li { margin-top:4px; }
/* ── AI report: tier sections & table polish ── */
.pick-report-fields-label {
  display:inline-flex;
  align-items:center;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  margin-right:2px;
}
.pick-tier-dot {
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent, #7a2030);
  margin-right:8px;
  vertical-align:1px;
}
.pick-tier-backup .pick-tier-dot { background:#4f6f9b; }
.pick-tier-chinese .pick-tier-dot { background:#2d7a4f; }
.pick-report-appendix {
  border-top:1px solid var(--rule-soft);
}
.pick-report-appendix > summary {
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  color:var(--fg);
  font-size:15px;
  font-weight:800;
  line-height:1.35;
  list-style:none;
}
.pick-report-appendix > summary::-webkit-details-marker { display:none; }
.pick-report-appendix > summary::after {
  content:'+';
  margin-left:auto;
  color:var(--muted);
  font-size:16px;
  line-height:1;
}
.pick-report-appendix[open] > summary {
  margin-bottom:8px;
}
.pick-report-appendix[open] > summary::after { content:'-'; }
.pick-report-appendix-note {
  margin:0 0 8px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.pick-tier-count {
  margin-left:8px;
  color:var(--muted);
  font-size:11px;
  font-weight:600;
}
.pick-report-num {
  width:34px;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
}
.pick-report-reason {
  color:var(--ink-soft);
  line-height:1.55;
  min-width:0;
  max-width:none;
  overflow-wrap:anywhere;
  word-break:normal;
}
.pick-report-missing {
  display:inline-block;
  margin-left:6px;
  padding:1px 6px;
  border:1px dashed var(--rule-soft);
  border-radius:4px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.4;
  white-space:nowrap;
}
.pick-report-tier-table th:nth-child(3),
.pick-report-tier-table th:nth-child(4),
.pick-report-tier-table th:nth-child(5),
.pick-report-tier-table td:nth-child(3),
.pick-report-tier-table td:nth-child(4),
.pick-report-tier-table td:nth-child(5) { white-space:nowrap; }
.pick-report-tier-table th:nth-child(1),
.pick-report-tier-table td:nth-child(1) { width:34px; }
.pick-report-tier-table th:nth-child(2),
.pick-report-tier-table td:nth-child(2) { width:220px; }
.pick-report-tier-table th:nth-child(3),
.pick-report-tier-table td:nth-child(3) { width:54px; }
.pick-report-tier-table th:nth-child(4),
.pick-report-tier-table td:nth-child(4) { width:52px; }
.pick-report-tier-table th:nth-child(5),
.pick-report-tier-table td:nth-child(5) { width:72px; }
.pick-report-tier-table th:nth-child(6),
.pick-report-tier-table td:nth-child(6) { width:92px; }
.pick-report-tier-table th:nth-child(7),
.pick-report-tier-table td:nth-child(7) { width:auto; }
.pick-report-tier-table tbody tr:hover td,
.pick-report-dom-table tbody tr:hover td { background:var(--bg2); }
.pick-report-dom-table { min-width:560px; }
/* AI badge on the 荐刊 tab */
.tab .tab-ai-badge {
  display:inline-block;
  margin-left:5px;
  padding:1px 5px;
  border-radius:4px;
  background:var(--accent, #7a2030);
  color:#fff;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.05em;
  line-height:1.45;
  vertical-align:2px;
}
.pick-cover { flex-basis:74px; width:74px; border-radius:7px }
  .pick-card h3 { font-size:15px }
  .pick-card .pick-count { font-size:16px }
  .pick-card .pick-count small { font-size:11px }
  .pick-card .pick-score-bar .bar { width:50px; height:6px }
  .pick-card .pick-score-pct { font-size:12px }
  .pick-card .pick-zone-tags .zone,
  .pick-card .pick-zone-tags .pick-zone-badge { font-size:10px; padding:2px 6px }
  .pick-card .pick-badges .badge,
  .pick-card .pick-badges .zone,
  .pick-card .pick-badges .if-pill { font-size:9.5px; padding:1px 5px }
  .pick-card .pick-cycle { font-size:10px }
  .pick-card .pick-papers { font-size:11px }
  .pick-filter-bar { padding:10px 12px; gap:6px 12px }
  .pick-input-meta { flex-direction:column; align-items:flex-start; gap:3px; font-size:11.5px }
  .pick-action-row { flex-direction:column; align-items:stretch; gap:8px }
  .pick-opt { font-size:12px }
  .pick-select, .pick-num { padding:2px 6px; font-size:12px }
  .pick-history { padding:10px 12px }
}

/* 中文期刊目录 - 学科分类内联标签 */
.dom-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding: 10px 14px;
  background: #f5ecd6;
  border: 1px solid #d4c9a8;
  border-radius: 6px;
}
.dom-section-copy {
  min-width: 0;
}
.dom-section-head .section-title {
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 700;
}
/* 地区/中国站筛选：整宽纵向分行（标签左对齐，chips 右折行） */
.dom-browse {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin-top: 8px;
}
.dom-filter-rail {
  flex: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  position: static;
  max-height: none;
  overflow: visible;
  padding: 10px 12px;
  border: 1px solid rgba(90, 70, 50, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.55);
  box-sizing: border-box;
  box-shadow: none;
  /* 禁止两列并排：目录 / 收录 / 学科 各占一行，避免右栏漂浮错位 */
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  visibility: visible !important;
}
.regional-directory-section .dom-browse,
.india-section .dom-browse,
.korea-section .dom-browse,
.malaysia-section .dom-browse,
.dom-layout .dom-browse {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.regional-directory-section .dom-filter-main,
.india-section .dom-filter-main,
.korea-section .dom-filter-main,
.malaysia-section .dom-filter-main,
.dom-layout .dom-filter-main {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
.dom-filter-main {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
/* 每组一行：固定宽标签 + 可折行 chips，三行标签垂直对齐 */
.dom-filter-group {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: grid;
  grid-template-columns: 5.5em minmax(0, 1fr);
  align-items: start;
  column-gap: 10px;
  row-gap: 4px;
  min-width: 0;
  width: 100%;
}
/* 仅官方链接等无标签组：占满整行 */
.dom-filter-group:has(> :only-child) {
  grid-template-columns: 1fr;
}
.dom-filter-group + .dom-filter-group {
  margin-top: 0;
  padding-top: 6px;
  border-top: 1px solid rgba(90, 70, 50, 0.06);
}
.dom-filter-label {
  flex: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 5px 0 0;
  color: #a8a29e;
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: .02em;
  border: 0;
  line-height: 1.3;
  text-align: left;
  word-break: break-word;
}
.dom-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  width: auto;
  min-width: 0;
  align-content: flex-start;
}
.dom-filter-group > .reg-slider-wrap {
  min-width: 0;
  width: 100%;
}
.dom-filter-chip {
  appearance: none;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 3px 9px;
  border: 1px solid #ebe9e6;
  border-radius: 999px;
  background: #fff;
  color: #57534e;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.dom-filter-chip:hover {
  border-color: #d6d3d1;
  color: #1c1917;
  background: #fffefb;
}
/* 选中态：淡橘（V10） */
.dom-filter-chip.on {
  background: #fff7ed;
  border-color: transparent;
  color: #c2410c;
  font-weight: 700;
}
.dom-filter-chip:active {
  transform: scale(0.98);
}
.dom-filter-chips.is-wrap .dom-filter-chip,
.dom-filter-group.is-subject .dom-filter-chip {
  white-space: nowrap;
  text-align: center;
  line-height: 1.3;
  min-height: 0;
  hyphens: auto;
}
@media (max-width: 900px) {
  .dom-browse,
  .regional-directory-section .dom-browse,
  .india-section .dom-browse,
  .korea-section .dom-browse,
  .malaysia-section .dom-browse,
  .dom-layout .dom-browse {
    flex-direction: column;
    gap: 12px;
  }
  .dom-filter-rail {
    position: static !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none;
    overflow: visible;
    gap: 8px;
  }
  .dom-filter-group {
    padding: 0;
    grid-template-columns: 5em minmax(0, 1fr);
  }
  .dom-filter-chips {
    display: flex;
    flex-wrap: wrap;
  }
  .dom-filter-chip {
    min-height: 0;
  }
}
@media (max-width: 560px) {
  .dom-filter-rail {
    max-height: none;
    padding: 8px 10px;
  }
  .dom-filter-group {
    grid-template-columns: 4.5em minmax(0, 1fr);
    column-gap: 8px;
  }
  .dom-filter-label {
    font-size: 10px;
    padding-top: 4px;
  }
  .dom-filter-chips {
    gap: 5px;
  }
  .dom-filter-chip {
    font-size: 10.5px;
    padding: 3px 8px;
  }
}
.dom-source-tabs {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
  flex: 0 0 auto;
  max-width: 520px;
}
.dom-source-tab {
  border: 1px solid var(--rule);
  background: var(--paper);
  color: var(--ink-soft);
  border-radius: 2px;
  padding: 6px 10px;
  font-family: var(--sans);
  font-size: 12.5px;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .15s, color .15s, background .15s;
}
.dom-source-tab:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.dom-source-tab.active {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
@media (max-width: 720px) {
  .dom-section-head {
    display: block;
  }
  .dom-source-tabs {
    justify-content: flex-start;
    max-width: none;
    margin-top: 10px;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }
  .dom-source-tab {
    flex: 0 0 auto;
  }
}
.cat-inline {
  display: inline-block;
  padding: 1px 6px;
  margin: 1px 2px;
  font-size: 11px;
  background: var(--bg2);
  border: 1px solid var(--rule-soft);
  border-radius: 2px;
  color: var(--ink-soft);
}

/* 详情抽屉 - 新增样式 */
.cat-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.cat-chip {
  display: inline-block;
  padding: 3px 8px;
  font-size: 12px;
  line-height: 1.45;
  background: var(--paper-soft);
  border: 1px solid var(--rule-soft);
  border-radius: 6px;
  color: var(--ink-soft);
  font-family: var(--sans);
  font-weight: 500;
}
.esi-row {
  margin-top: 10px; padding-top: 10px;
  border-top: 1px dotted var(--rule);
  display: flex; gap: 10px; align-items: center;
  font-size: 12.5px;
}
.esi-label {
  font-family: var(--sans);
  font-size: 10px; letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.esi-val { color: var(--ink); font-weight: 500; }

.cas-major {
  font-size: 15px;
  color: var(--ink);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px dotted var(--rule);
}
.cas-major b { color: #a1522a; }
.cas-sub-list {
  list-style: none; padding: 0; margin: 0;
}
.cas-sub-list li {
  padding: 6px 0;
  font-size: 13px;
  color: var(--ink-mid, #5a4830);
  border-bottom: 1px dotted rgba(120, 90, 50, 0.12);
  line-height: 1.5;
}
.cas-sub-list li:last-child { border-bottom: 0; }
.cas-sub-list li b { color: #a1522a; }

.warn-block {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.warn-block h4 { color: #c23a18 !important; margin-bottom: 6px !important; }
.warn-block p {
  font-size: 13px; line-height: 1.6;
  color: var(--ink-mid, #5a4830);
  margin: 0;
}

/* ───────── login modal ───────── */

/* Login limit message */
.login-limit-msg {
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffeeba;
  border-radius: 6px;
  padding: 10px 14px;
  margin-bottom: 12px;
  font-size: 13px;
  line-height: 1.4;
}
.login-modal {
  position: fixed; inset: 0;
  background: rgba(30, 22, 12, 0.55);
  display: none; align-items: center; justify-content: center;
  z-index: 999;
  backdrop-filter: blur(4px);
}
.login-modal.open { display: flex; }

/* 地区站额度用尽 / 钉选受限 — 付费升级弹窗（可关闭） */
.region-paywall-modal {
  position: fixed; inset: 0; z-index: 3200;
  display: none; align-items: center; justify-content: center;
  padding: 16px;
  background: rgba(28, 22, 12, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.region-paywall-modal.open { display: flex; }
.region-paywall-card {
  position: relative;
  width: 420px; max-width: calc(100vw - 32px);
  background: var(--paper, #f9f6ed);
  border: 1px solid var(--ink-border, #d4c9a8);
  border-radius: 14px;
  padding: 28px 28px 22px;
  box-shadow: 0 24px 64px rgba(30, 22, 12, 0.32);
  color: var(--ink, #3a2e1f);
}
.region-paywall-close {
  position: absolute; top: 10px; right: 12px;
  background: none; border: 0; font-size: 24px; line-height: 1;
  color: var(--ink-mid, #8a7456); cursor: pointer;
  padding: 4px 10px; border-radius: 6px;
}
.region-paywall-close:hover { background: rgba(90, 72, 48, 0.08); }
.region-paywall-eyebrow {
  font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase;
  font-weight: 700; color: #8a7a4a; margin-bottom: 8px;
}
.region-paywall-title {
  margin: 0 0 10px; font-size: 20px; font-weight: 750; line-height: 1.3;
  color: #1f1a10;
}
.region-paywall-desc {
  margin: 0 0 14px; font-size: 14px; line-height: 1.55;
  color: var(--ink-mid, #5a4830);
}
.region-paywall-perks {
  margin: 0 0 18px; padding: 12px 14px 12px 32px;
  background: #fffaf0; border: 1px solid #e6dfc8; border-radius: 10px;
  font-size: 13px; line-height: 1.55; color: #3a2e1f;
}
.region-paywall-perks li { margin: 6px 0; }
.region-paywall-actions {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
}
.region-paywall-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 0 16px; border-radius: 8px;
  font: inherit; font-size: 14px; font-weight: 700;
  text-decoration: none; cursor: pointer; border: 1px solid transparent;
}
.region-paywall-btn.primary {
  background: #3a2e1f; color: #f5ecd6; border-color: #3a2e1f;
  flex: 1 1 auto;
}
.region-paywall-btn.primary:hover { background: #2a2116; }
.region-paywall-btn.ghost {
  background: #fff; color: #3a2e1f; border-color: #c9bb95;
  flex: 0 0 auto;
}
.region-paywall-btn.ghost:hover { background: #faf4e6; border-color: #8b6914; }
.region-paywall-note {
  margin: 14px 0 0; font-size: 12px; line-height: 1.45;
  color: #8a7a4a; text-align: center;
}
@media (max-width: 480px) {
  .region-paywall-card { padding: 24px 18px 18px; }
  .region-paywall-actions { flex-direction: column; align-items: stretch; }
  .region-paywall-btn.ghost { width: 100%; }
}

.login-card {
  background: var(--paper, #f9f6ed);
  border: 1px solid var(--ink-border, #d4c9a8);
  border-radius: 10px;
  padding: 28px 32px 24px;
  width: 360px; max-width: calc(100vw - 32px);
  box-shadow: 0 20px 60px rgba(30, 22, 12, 0.3);
  position: relative;
  color: var(--ink, #3a2e1f);
}
.login-card h3 { margin: 0 0 4px; font-size: 18px; }
.login-sub { margin: 0 0 20px; color: var(--ink-mid, #5a4830); font-size: 13px; }
.login-close {
  position: absolute; top: 12px; right: 12px;
  background: none; border: 0; font-size: 22px; line-height: 1;
  color: var(--ink-mid, #8a7456); cursor: pointer; padding: 4px 10px;
  border-radius: 4px;
}
.login-close:hover { background: rgba(90, 72, 48, 0.08); }

.login-email { display: flex; flex-direction: column; gap: 8px; }
.login-email label { font-size: 12px; color: var(--ink-mid, #5a4830); }
.login-email input {
  padding: 9px 11px; font-size: 14px;
  border: 1px solid var(--ink-border, #c9bb95);
  border-radius: 5px;
  background: #fff;
  font-family: inherit;
  color: var(--ink, #3a2e1f);
}
.login-email input:focus {
  outline: none; border-color: #8b6914;
  box-shadow: 0 0 0 2px rgba(139, 105, 20, 0.15);
}
.login-code-row { display: flex; flex-direction: column; gap: 8px; }
.login-code-row input {
  font-family: var(--sans);
  letter-spacing: 4px;
  font-size: 16px; text-align: center;
}
.login-btn-primary {
  margin-top: 6px;
  padding: 10px 14px; font-size: 14px; font-weight: 600;
  background: #8b6914; color: #fff;
  border: 0; border-radius: 5px; cursor: pointer;
  font-family: inherit;
}
.login-btn-primary:hover:not(:disabled) { background: #6e520f; }
.login-btn-primary:disabled { opacity: 0.55; cursor: not-allowed; }

.login-msg { min-height: 18px; font-size: 12px; margin-top: 4px; }
.login-msg.ok  { color: #4a6b2a; }
.login-msg.err { color: #a33a2a; }

.login-divider {
  display: flex; align-items: center; gap: 10px;
  margin: 20px 0 14px;
  color: var(--ink-mid, #8a7456); font-size: 12px;
}
.login-divider::before, .login-divider::after {
  content: ''; flex: 1; height: 1px;
  background: var(--ink-border, #d4c9a8);
}

.login-oauth { display: flex; gap: 10px; }
.login-btn-oauth {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 9px 12px; font-size: 13px; font-weight: 500;
  background: #fff; color: var(--ink, #3a2e1f);
  border: 1px solid var(--ink-border, #c9bb95);
  border-radius: 5px; cursor: pointer;
  font-family: inherit;
}
.login-btn-oauth:hover { background: #faf4e6; border-color: #8b6914; }
.login-btn-oauth svg { flex-shrink: 0; }

.login-tos {
  margin: 18px 0 0; font-size: 11px; text-align: center;
  color: var(--ink-mid, #8a7456);
}
.login-tos a { color: var(--ink-mid, #8a7456); text-decoration: underline; }

/* ───────── favorites: multi-list + drag sort ───────── */
.fav-toolbar {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  justify-content: space-between;
  padding: 10px 12px; margin-bottom: 4px;
  background: var(--paper-2, #f5ecd6);
  border: 1px solid var(--ink-border, #d4c9a8);
  border-radius: 6px;
}
.fav-list-chips {
  display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 auto;
}
.fav-list-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px; border-radius: 18px; cursor: pointer;
  background: #f3ead0; border: 1px solid #b39e6a;
  color: var(--ink, #3a2e1f); font-size: 14px; font-weight: 500; font-family: inherit;
  transition: background-color .15s, border-color .15s, color .15s;
}
.fav-list-chip:hover { border-color: #6e5618; background: #ebe0b8; }
.fav-list-chip.active {
  background: var(--ink, #3a2e1f); color: #f5ecd6; border-color: var(--ink, #3a2e1f);
}
.fav-list-chip .lcount {
  font-size: 12px; opacity: 0.85;
  padding: 1px 7px; border-radius: 9px;
  background: rgba(0,0,0,0.08);
}
.fav-list-chip.active .lcount { background: rgba(255,255,255,0.18); }

.fav-list-ops { display: flex; gap: 6px; flex-shrink: 0; flex-wrap: wrap; align-items: center; }
.btn-mini {
  padding: 5px 10px; font-size: 12px; cursor: pointer;
  background: #fff; color: var(--ink, #3a2e1f);
  border: 1px solid var(--ink-border, #c9bb95); border-radius: 4px;
  font-family: inherit;
}
.btn-mini:hover:not([disabled]) { background: #faf4e6; border-color: #8b6914; }
.btn-mini[disabled] { opacity: 0.4; cursor: not-allowed; }
.btn-mini.btn-danger:hover:not([disabled]) { background: #fbe9e6; border-color: #a33a2a; color: #a33a2a; }

.fav-export-wrap { position: relative; display: inline-flex; }
.fav-export-menu {
  position: absolute; z-index: 40; top: calc(100% + 4px); right: 0;
  min-width: 210px; padding: 6px;
  background: #fffdf8; border: 1px solid var(--ink-border, #c9bb95);
  border-radius: 8px; box-shadow: 0 10px 28px rgba(58, 46, 31, 0.14);
  display: flex; flex-direction: column; gap: 2px;
}
.fav-export-menu[hidden] { display: none !important; }
.fav-export-menu button {
  display: block; width: 100%; text-align: left;
  padding: 8px 10px; border: 0; border-radius: 5px;
  background: transparent; color: var(--ink, #3a2e1f);
  font: inherit; font-size: 12px; font-weight: 600; cursor: pointer;
}
.fav-export-menu button:hover { background: #f5ecd6; }

.fav-drag-hint {
  font-size: 12px; color: var(--ink-mid, #8a7456);
  margin: 8px 2px 0; padding: 0 2px;
}
.fav-drag-hint .drag-ico {
  font-weight: bold; color: var(--ink, #3a2e1f);
  padding: 0 3px; letter-spacing: -2px;
}

.fav-table .col-drag { text-align: center; width: 10px; }
/* 卡片布局：彻底隐藏表头（旧 INDICES/IF/SOURCE 条） */
.fav-table thead,
.tab-panel[data-panel="fav"] table.journals thead,
.tab-panel[data-panel="fav"] .fav-table thead {
  display: none !important;
}
.fav-drag-hint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
}
.fav-if-sort {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}
.fav-if-sort.is-on {
  color: #c2410c;
  border-color: rgba(249, 115, 22, 0.35);
  background: #fff7ed;
}
/* 全局 drag-handle 细条样式见卡片区 .j-card-drag .drag-handle */

.fav-ghost { opacity: 0.3; background: var(--paper-2, #f5ecd6); }
.fav-chosen { background: #faf4e6 !important; }

.src-tag {
  display: inline-block; padding: 2px 7px; font-size: 11px;
  border-radius: 3px; background: #6b5d52;
  color: #fff;
  border: 0;
  white-space: nowrap;
}
.src-tag.src-int { color: #fff; background: #2a5a8b; }
.src-tag.src-cnkx { color: #fff; background: #8b4513; }
.src-tag.src-cssci, .src-tag.src-cssci_core, .src-tag.src-cssci_ext { color: #fff; background: #6a3a8b; }
.src-tag.src-pku, .src-tag.src-pku_core { color: #fff; background: #a33a2a; }
.src-tag.src-school_a { color: #fff; background: #4a6b2a; }
.src-tag.src-zju { color: #fff; background: #1f5f5a; }
.src-tag.src-cscd { color: #fff; background: #4f6f7c; }
.src-tag.src-cstpcd { color: #fff; background: #6b5a3a; }
.src-tag.src-ccft { color: #fff; background: #7a2030; }

@media (max-width: 640px) {
  .fav-toolbar { padding: 8px; gap: 8px; }
  .fav-list-ops .btn-mini { padding: 5px 8px; font-size: 11px; }
  .fav-table .col-src { display: none; }  /* 手机端隐藏来源列 */
}
/* Related journals recommendation */
.related-grid { display: flex; flex-direction: column; gap: 8px; }
.related-section { background: transparent; border-left: 0; padding: 0; border-radius: 0; }
.related-card { padding: 10px 14px; background: #fffaf0; border: 1px solid #e6dfc8; border-radius: 8px; transition: background .15s, box-shadow .15s; cursor: pointer; }
.related-card:hover { background: #fff7e0; box-shadow: 0 2px 8px rgba(120, 95, 30, 0.12); }

/* 跨源徽章（在抽屉里显示「科协 T2」「CSSCI 来源」「北大核心」等跨源收录标签） */
.domsrc-pill {
  display: inline-flex; align-items: center;
  padding: 2px 7px;
  font-family: var(--sans);
  font-size: 10.5px; font-weight: 700;
  border-radius: 2px;
  letter-spacing: 0.04em;
  border: var(--badge-border);
  box-shadow: var(--badge-edge);
  white-space: nowrap;
}
.domsrc-pill.ds-cnkx     { background: #8b4513; color: #fff; }
.domsrc-pill.ds-cssci    { background: #6a3a8b; color: #fff; }
.domsrc-pill.ds-cssci-ext,
.domsrc-pill.ds-cssci_ext{ background: #8a5aa6; color: #fff; }
.domsrc-pill.ds-pku      { background: #a33a2a; color: #fff; }
.domsrc-pill.ds-zju      { background: #1f5f5a; color: #fff; }
.domsrc-pill.ds-school_a { background: #4a6b2a; color: #fff; }
.domsrc-pill.ds-nsfc_mgmt { background: #0f766e; color: #fff; }
.domsrc-pill.ds-cscd     { background: #4f6f7c; color: #fff; }
.domsrc-pill.ds-cstpcd   { background: #6b5a3a; color: #fff; }
.domsrc-pill.ds-scd      { background: #4e6f52; color: #fff; }
.domsrc-pill.ds-ami      { background: #7a3f55; color: #fff; }
.domsrc-pill.ds-vhb      { background: #624a82; color: #fff; }
.domsrc-pill.ds-cnrs     { background: #5f6470; color: #fff; }
.domsrc-pill.ds-ccf      { background: #7a2030; color: #fff; }
.domsrc-pill.ds-ccft     { background: #7a2030; color: #fff; }
.domsrc-pill.ds-cnki_major { background: #2a6b8a; color: #fff; }
.domsrc-dot {
  display: inline-flex;
  align-items: center;
  color: #8b8176;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  margin: 0 -1px;
}

/* ───────── 单本期刊分享名片（jcard） ───────── */
.jcard-modal { max-width: min(680px, calc(100vw - 36px)); }
.jcard-modal .share-modal-body { padding: 34px 36px 28px; }
.jcard-export {
  background: #fffdf6;
  border: 1px solid #d8c487;
  border-radius: 14px;
  padding: 20px 20px 16px;
  box-shadow: 0 12px 34px rgba(120, 95, 30, 0.14);
}
.jcard-header {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 0 6px 10px; margin-bottom: 6px;
  border-bottom: 1px solid rgba(180, 150, 80, 0.3);
}
.jcard-header .jcard-eyebrow {
  font-size: 11.5px; letter-spacing: 1.8px; text-transform: uppercase;
  color: #8a7a4a; font-weight: 600;
}
.jcard-header .jcard-brand {
  font-family: var(--sans);
  font-size: 18px; color: #8b6f2a; line-height: 1.1;
}
.jcard-header .jcard-brand em {
  font-style: italic; font-weight: 600; letter-spacing: 0.02em;
}
.jcard {
  background: linear-gradient(180deg, #fffdf6 0%, #faf6e8 100%);
  border: 1px solid #e6dcb8;
  border-radius: 10px;
  padding: 26px 30px 24px;
  margin: 6px 0 18px;
  font-family: var(--sans);
  color: #2a2a2a;
}
.jcard-title { font-size: 23px; font-weight: 780; line-height: 1.28; color: #1a1a1a; margin-bottom: 5px; word-break: break-word; }
.jcard-sub { font-size: 15px; color: #555; margin-bottom: 7px; }
.jcard-issn { font-size: 12.5px; color: #7a6a3a; font-family: var(--sans); margin-bottom: 14px; letter-spacing: 0.02em; }
.jcard-row { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.jcard-row .badge,
.jcard-row .zone,
.jcard-row .ccf-pill,
.jcard-row .abdc-pill,
.jcard-row .tier-pill,
.jcard-row .xr-pill,
.jcard-row .warn-pill,
.jcard-row .flagship-pill,
.jcard-row .under-review-pill,
.jcard-row .on-hold-pill,
.jcard-row .citic-warning-pill,
.jcard-row .domsrc-pill { font-size: 11.5px; }
.share-row-tags.badges,
.share-list-row .share-row-tags.badges { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-left: 8px; vertical-align: middle; }
.share-list-row .share-row-tags.badges { margin-left: 0; }
.share-row-tags .badge,
.share-row-tags .zone,
.share-row-tags .ccf-pill,
.share-row-tags .abdc-pill,
.share-row-tags .tier-pill,
.share-row-tags .xr-pill,
.share-row-tags .warn-pill,
.share-row-tags .flagship-pill,
.share-row-tags .under-review-pill,
.share-row-tags .on-hold-pill,
.share-row-tags .citic-warning-pill,
.share-row-tags .domsrc-pill { font-size: 10px; padding: 1px 5px; }
.jcard-idx {
  display: inline-block; padding: 2px 8px; border-radius: 3px;
  background: #6b5d52; color: #fff;
  font-size: 11.5px; font-weight: 700; letter-spacing: 0.04em; font-family: var(--sans);
}
.jcard-idx.idx-scie,
.jcard-idx.idx-ssci,
.jcard-idx.idx-ahci { background: #1f3a5f; }
.jcard-idx.idx-esci { background: #6a7a6a; }
.jcard-idx.idx-ei { background: #7a7a6a; }
.jcard-idx.idx-scopus { background: #b8341a; }
/* Pick-for-me tool */
.pick-tool { max-width:800px; margin:0 auto; padding:0 16px 40px; display:flex; flex-direction:column; }
.pick-history { order:2; }
.pick-results { order:3; }

/* Search box */
.pick-search-wrap {
  position: relative;
  max-width: 680px;
  width: 100%;
  margin: 24px auto 0;
}
.pick-search-icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  color: var(--ink-faint);
  pointer-events: none;
}
.pick-search-input {
  width: 100%;
  padding: 18px 24px;
  font-size: 18px;
  font-family: var(--sans);
  border: 2px solid var(--rule);
  border-radius: 14px;
  background: rgba(255,255,255,0.85);
  color: var(--ink);
  outline: 0;
  box-shadow: 0 4px 20px rgba(43,42,39,.06);
  transition: background-color .2s, border-color .2s, box-shadow .2s;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.pick-search-input:focus {
  border-color: var(--accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(180,83,31,0.10), 0 8px 30px rgba(43,42,39,.08);
}
.pick-input-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 12px;
  color: var(--ink-faint);
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.pick-input-hint { min-width: 0; }
.pick-char-count {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  color: var(--ink-faint);
  font-weight: 650;
}
.pick-char-count.near { color: var(--gold); }
.pick-char-count.limit { color: var(--crimson); }

/* Filter bar — compact inline row */
.pick-filter-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  margin-top: 16px;
  padding: 14px 18px;
  background: rgba(255,255,240,0.5);
  border: 1px solid var(--rule-soft);
  border-radius: 10px;
  align-items: center;
}
.pick-filter-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 12px;
  align-items: center;
  width: 100%;
}
.pick-ai-opt {
  flex-basis: 100%;
  width: fit-content;
  margin: 0 auto 4px;
}
.pick-opt { display:inline-flex; align-items:center; justify-content:center; gap:5px; font-size:13px; line-height:1.2; cursor:pointer }
.pick-opt input { margin: 0; }
.pick-ai-opt { min-height: 32px; padding: 4px 10px; border: 1px solid rgba(49,89,54,.22); border-radius: 999px; background: #eef2ec; color: #315936; font-weight: 760; }
.pick-ai-opt small {
  color: rgba(49,89,54,.72);
  font-size: 11px;
  font-weight: 620;
}
.pick-ai-login {
  appearance: none;
  border: 1px solid rgba(49,89,54,.28);
  border-radius: 999px;
  padding: 5px 11px;
  background: #315936;
  color: #fff;
  font-size: 12px;
  font-weight: 720;
  cursor: pointer;
}
.pick-ai-login:hover { filter: brightness(1.08); }
.pick-ai-opt input:not(:checked) ~ span,
.pick-ai-opt input:not(:checked) ~ small {
  opacity: .62;
}
.pick-num, .pick-select { padding:4px 8px; border:1px solid var(--rule); border-radius:4px; background:var(--paper); color:var(--ink); font-size:13px; width:60px }

/* Action row — status */
.pick-action-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.pick-progress {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--rule-soft);
  border-radius: 10px;
  background: rgba(255,255,255,.68);
}
.pick-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}
.pick-status { font-size: 13px; flex: 1; min-width: 120px; }
.pick-progress-pct {
  color: var(--ink-faint);
  font-size: 12px;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
}
.pick-progress-track {
  height: 6px;
  border-radius: 999px;
  background: var(--rule-soft);
  overflow: hidden;
}
.pick-progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
  transition: width .25s ease;
}
.pick-quota { font-size: 11px; color: var(--ink-faint); white-space: normal; }
.pick-results { display:flex; flex-direction:column; min-width:0; max-width:100%; }
.pick-card {
  position:relative; overflow:hidden;
  background:var(--bg2); border-radius:8px; padding:18px 20px 16px;
  display:flex; gap:16px; align-items:flex-start;
  cursor:pointer; transition:box-shadow .25s,background .2s;
  border:1px solid var(--border);
  box-shadow:
    0 1px 0 rgba(43,42,39,.04),
    0 12px 34px rgba(43,42,39,.10);
}
.pick-card + .pick-card {
  border-top:1px solid var(--rule);
}
.pick-card:hover {
  box-shadow:
    0 1px 0 rgba(43,42,39,.04),
    0 14px 42px rgba(43,42,39,.14),
    0 32px 64px -20px rgba(43,42,39,.12);
}
/* Journal name tags — MDPI/Frontiers/Hindawi/综合 — lighter, after journal name */
.pick-name-tags { display:flex; align-items:center; gap:5px; margin-bottom:4px; flex-wrap:wrap }
.pick-name-tags .badge { font-size:10px; padding:1px 6px; font-weight:600; border-radius:3px; letter-spacing:0.03em }
.badge.b-mdpi-lt     { background: #f0d8de; color: #b82a4a; }
.badge.b-frontiers-lt { background: #d4ead4; color: #1a6b3c; }
.badge.b-hindawi-lt  { background: #f5e0d0; color: #b85a20; }
.badge.b-multi-lt    { background: #e0d8e8; color: #5a4a7a; }
.pick-index-line { display:flex; flex-wrap:wrap; align-items:center; gap:5px 6px; margin:0 0 7px; }
.pick-index-line .badge,
.pick-index-line .if-pill {
  font-size:10.5px;
  padding:2px 7px;
  font-weight:700;
  letter-spacing:0.04em;
}
.pick-zone-tags { display:flex; gap:5px; margin:2px 0 8px; flex-wrap:wrap }
.pick-zone-tags .zone,
.pick-zone-tags .pick-zone-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:3px 9px; font-size:11.5px; font-weight:700;
  letter-spacing:0.04em; border-radius:3px; line-height:1.3;
}
/* Zone color classes reused */
.pick-zone-tags .z1  { background:#1f3a5f; color:#fff }
.pick-zone-tags .z2  { background:#4f6f9b; color:#fff }
.pick-zone-tags .z3  { background:#9eb1cb; color:#1f3a5f }
.pick-zone-tags .z4  { background:#d3dbe6; color:#1f3a5f }
.pick-zone-tags .ztop { background:var(--zone-top,#1a2640); color:#fff }
.pick-zone-tags .jcr-q1 { background:#7a2030; color:#fff }
.pick-zone-tags .jcr-q2 { background:#a04a5a; color:#fff }
.pick-zone-tags .jcr-q3 { background:#c89099; color:#5a1820 }
.pick-zone-tags .jcr-q4 { background:#ead0d4; color:#5a1820 }
/* Dark mode zone tags */
/* Card background — all same, zone shown via strip+tags only */
.pick-card .pick-stripe { display:none }
/* Pick-card highlight system */
.pick-card-highlight h3 a { background:linear-gradient(135deg, #e6f3e6 0%, #d4ead4 100%); padding:2px 8px; border-radius:4px; display:inline-block; }
.pick-card-mid h3 a { background:linear-gradient(135deg, #f8f4e8 0%, #f0e8d0 100%); padding:2px 8px; border-radius:4px; display:inline-block; }
.pick-card-main { min-width:0; flex:1; }
.pick-card h3 { margin:0 0 4px; font-size:17px; line-height:1.4; font-weight:700 }
.pick-card h3 a { color:var(--fg); text-decoration:none }
.pick-card h3 a:hover { color:var(--accent) }
.pick-card .pick-meta { font-size:12px; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 16px; margin:2px 0 6px }
.pick-card .pick-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px }
.pick-card .pick-count { font-size:20px; font-weight:700; color:var(--accent,#1f3a5f); line-height:1 }
.pick-card .pick-count small { font-size:13px; font-weight:400; color:var(--muted); margin-left:2px }
.pick-card .pick-head-right { display:flex; align-items:center; gap:8px }
.pick-card .pick-score-bar .bar { display:inline-block; width:80px; height:8px; border-radius:4px; background:var(--border); overflow:hidden; vertical-align:middle }
.pick-card .pick-score-bar .bar-fill { height:100%; border-radius:4px; background:var(--accent); transition:width .3s }
.pick-card .pick-score-pct { font-size:15px; font-weight:700; color:var(--fg) }
.pick-card .pick-badges { display:flex; flex-wrap:wrap; gap:4px 6px; margin:4px 0 }
.pick-card .pick-badges .badge,
.pick-card .pick-badges .zone,
.pick-card .pick-badges .if-pill { font-size:10.5px; padding:2px 7px; font-weight:700; letter-spacing:0.04em }
.pick-card .pick-flags { display:flex; flex-wrap:wrap; gap:4px 6px; margin:2px 0 4px }
.pick-card .pick-flags .badge { font-size:9.5px; padding:1px 6px; font-weight:600; }
.pick-card .pick-topic { font-size:11px; padding:2px 8px; border-radius:10px; background:var(--accent-bg,var(--border)); color:var(--muted) }
.pick-card .pick-cycle { font-size:11px; color:#888; margin-top:6px; display:flex; flex-wrap:wrap; gap:2px 8px }
.pick-card .pick-papers { font-size:12px; color:var(--muted); margin-top:6px; display:flex; flex-wrap:wrap; gap:4px }
.pick-card .pick-publisher-badge { margin-top:4px; font-size:11.5px; display:flex; align-items:center; gap:5px; color:#888 }
.pick-card .pick-publisher-badge .badge { font-size:10.5px; padding:2px 7px; font-weight:700 }
.pick-card .pick-paper { padding:2px 6px; border-radius:4px; background:var(--bg); font-size:11px; color:var(--link,#4a90d9); max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; cursor:pointer; display:inline-block }
.pick-card .pick-paper:hover { background:var(--hover-bg,#e8f0fe); text-decoration:underline }
.pick-cover {
  flex:0 0 92px;
  width:92px;
  aspect-ratio:3/4;
  border:1px solid var(--rule-soft);
  border-radius:8px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(245,238,226,.88));
  box-shadow:0 8px 18px rgba(40,32,24,.10);
  align-self:flex-start;
}
.pick-cover img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.pick-cover.has-cover .pick-cover-fallback { display:none; }
.pick-cover.cover-failed .pick-cover-fallback { display:flex; }
.pick-cover-fallback {
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 8px;
  text-align:center;
}
.pick-cover-fallback span {
  width:36px;
  height:36px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1f3a5f;
  color:#fff;
  font-size:14px;
  font-weight:800;
  letter-spacing:0.02em;
}
.pick-cover-fallback b {
  max-width:100%;
  color:var(--ink-soft);
  font-size:9.5px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.pick-no-results { text-align:center; padding:60px 20px; color:var(--muted) }

/* 手机端荐刊卡片收敛（须放在基础 .pick-card 规则之后，否则同特异性会被覆盖） */
@media (max-width: 600px) {
  .pick-report { padding:14px; }
  .pick-report-head,
  .pick-report-section-head { display:block; }
  .pick-report-source {
    display:block;
    text-align:left;
    margin-top:6px;
  }
  .pick-report-section-head p { margin-top:4px; }
  /* Tier table (7 cols) stays scrollable; the Chinese table (4 cols) fits the screen. */
  .pick-report-tier-table { min-width:640px; }
  .pick-report-dom-table { min-width:0; }
  .pick-report-dom-table .pick-report-reason { min-width:0; }
  .pick-report-branch-grid { grid-template-columns:1fr; }
  .pick-card { padding:12px 14px; gap:10px; }
  .pick-card h3 { font-size:15px; line-height:1.3; margin:0 0 4px; }
  .pick-card .pick-index-line { gap:4px 5px; margin-bottom:5px; }
  .pick-card .pick-zone-tags { gap:4px; margin:1px 0 5px; }
  .pick-card .pick-flags { margin:1px 0 3px; }
  /* 匹配计数保持单行，避免“个匹配信号”被挤成竖排 */
  .pick-card .pick-head { justify-content:flex-start; gap:10px; margin-bottom:4px; }
  .pick-card .pick-count { white-space:nowrap; flex:0 0 auto; font-size:15px; }
  .pick-card .pick-count small { font-size:11px; white-space:nowrap; }
  .pick-card .pick-head-right { flex:0 0 auto; margin-left:auto; }
  .pick-card .pick-score-bar .bar { width:46px; height:6px; }
  .pick-card .pick-score-pct { font-size:12px; }
  .pick-card .pick-cycle { font-size:10.5px; margin-top:5px; gap:2px 8px; }
  /* 主题信号收成一行，右侧淡出裁剪，长学科短语单条省略号截断 */
  .pick-card .pick-papers {
    flex-wrap:nowrap; overflow:hidden; margin-top:5px; gap:5px;
    -webkit-mask-image:linear-gradient(90deg,#000 84%,transparent);
            mask-image:linear-gradient(90deg,#000 84%,transparent);
  }
  .pick-card .pick-papers .pick-topic {
    flex:0 0 auto; white-space:nowrap; max-width:56vw;
    overflow:hidden; text-overflow:ellipsis;
  }
  .pick-cover { flex-basis:72px; width:72px; }
}

/* Search history */
.pick-history { margin-bottom:16px; background:var(--bg2); border-radius:10px; padding:12px 16px }
.pick-history-head { display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:600; color:var(--muted); margin-bottom:8px }
.pick-history-head .clear-btn { background:none; border:none; color:var(--muted); font-size:12px; cursor:pointer; padding:2px 6px; border-radius:4px }
.pick-history-head .clear-btn:hover { background:var(--hover-bg,var(--border)); color:var(--fg) }
.pick-history-list { display:flex; flex-direction:column; gap:2px }
.pick-history-item { display:flex; align-items:center; justify-content:space-between; padding:6px 10px; border-radius:6px; cursor:pointer; font-size:13px }
.pick-history-item:hover { background:var(--hover-bg,var(--border)) }
.pick-history-text { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--fg) }
.pick-history-time { font-size:11px; color:var(--muted); margin-left:12px; white-space:nowrap }

/* Sortable IF column header */
.journals th.col-if.sortable { cursor: pointer; user-select: none; white-space: nowrap; }
.journals th.col-if.sortable:hover { color: var(--accent, #1f3a5f); }
.journals th.col-if .sort-arrow { font-size: 10px; opacity: 0.45; margin-left: 2px; display: inline-block; }
.journals th.col-if.sort-desc .sort-arrow,
.journals th.col-if.sort-asc  .sort-arrow { opacity: 1; }

.jcard-zone {
  display: inline-block; padding: 3px 9px; border-radius: 3px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.02em;
}
.jcard-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 10px;
  margin: 12px 0;
  padding: 12px 0; border-top: 1px dashed rgba(180, 150, 80, 0.3); border-bottom: 1px dashed rgba(180, 150, 80, 0.3);
}
.jcard-stat { text-align: center; }
.jcard-stat-v { font-size: 19px; font-weight: 700; color: #2b2a27; line-height: 1.3; }
.jcard-stat-v small { font-size: 10.5px; color: #888; font-weight: 500; }
.jcard-stat-sub { font-size: 10px; color: #6b6559; margin-top: 3px; }
.jcard-stats-sub {
  text-align: center;
  font-size: 10px;
  color: #6b6559;
  font-style: italic;
  margin-top: -8px;
  margin-bottom: 8px;
  opacity: 0.75;
}
.jcard-stat-k { font-size: 11.5px; color: #6b6559; margin-top: 2px; }
.jcard-meta { margin-top: 8px; }
.jcard-meta-row { display: flex; gap: 10px; font-size: 13px; line-height: 1.75; }
.jcard-meta-k { color: #8a7a4a; min-width: 78px; flex-shrink: 0; }
.jcard-meta-v { color: #2a2a2a; flex: 1; }
.jcard-foot {
  margin-top: 14px; padding-top: 10px; border-top: 1px solid rgba(180, 150, 80, 0.25);
  font-size: 11.5px; color: #8a7a4a; text-align: center;
}
@media (max-width: 600px) {
  .jcard-modal { max-width: calc(100vw - 24px); }
  .jcard-modal .share-modal-body { padding: 24px 18px 18px; }
  .jcard-export { padding: 15px 14px 12px; border-radius: 12px; }
  .jcard { padding: 20px 18px 18px; }
  .jcard-title { font-size: 19px; }
  .jcard-stats { grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); }
}
.related-name { font-size: 13.5px; font-weight: 500; color: #1f3a5f; }
.related-meta { font-size: 12px; margin-top: 3px; }

/* Fav list picker popover (A+B) */
.fav-picker { position: absolute; z-index: 150; background: #fff; border: 1px solid #d4d4d4; border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,0.15); padding: 6px 0; min-width: 180px; max-width: 260px; font-size: 13px; }
.fav-picker-item { padding: 8px 14px; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.fav-picker-item:hover { background: #f0f4fa; }
.fav-picker-item.active { font-weight: 600; color: #1f3a5f; }
.fav-picker-item .check { width: 16px; text-align: center; }
.fav-picker-new { padding: 8px 14px; cursor: pointer; border-top: 1px solid #eee; color: #1f3a5f; font-weight: 500; }
.fav-picker-new:hover { background: #f0f4fa; }

/* Drawer fav list selector */
.drawer-fav-select { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.drawer-fav-select select { padding: 5px 10px; border-radius: 6px; border: 1px solid #ccc; font-size: 12.5px; background: #f8f8f8; }

/* ═══════════ 期刊卡片 · Apple HIG / iOS-minimal 统一语言 ═══════════
   参考: axiaoge2/Apple-Hig-Designer · ehmo/platform-design-skills · android-ios-minimal
   Clarity / Deference / Depth · system gray · white cards · IF 最右 */
.tab-panel .table-wrap { overflow: visible; }
.tab-panel table.journals { display: block; width: 100%; border-collapse: separate; }
.tab-panel table.journals > colgroup { display: none; }

.tab-panel table.journals thead { display: block; }
.tab-panel table.journals thead tr {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px;
  padding: 6px 2px 12px; border-bottom: 1px solid rgba(60,60,67,.12); background: transparent;
}
.tab-panel table.journals thead th {
  display: inline-flex; align-items: center; padding: 0; border: 0;
  background: none; white-space: nowrap; font-weight: 600;
}
.tab-panel table.journals thead .col-fav,
.tab-panel table.journals thead .col-name,
.tab-panel table.journals thead .col-cycle { display: none; }

/* 每行 3 卡撑满 · 中屏 2 · 手机 1 */
.tab-panel table.journals tbody {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding-top: 12px;
  align-items: stretch;
}
@media (max-width: 1100px) {
  .tab-panel table.journals tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .tab-panel table.journals tbody { grid-template-columns: 1fr; }
}

/* 全站统一白卡：上块（刊名/副信息）+ 分割线 + 下块（徽章） */
.tab-panel table.journals tbody tr.j-row,
.tab-panel table.journals tbody tr.j-row.j-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-width: 0 !important;
  max-width: 100%;
  min-height: 0;
  height: 100%; /* 同行 stretch 等高 */
  padding: 0;
  overflow: hidden !important;
  background: #ffffff;
  border: 1px solid rgba(60, 60, 67, 0.12);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  transition: box-shadow .2s cubic-bezier(0.25, 0.1, 0.25, 1),
              border-color .2s cubic-bezier(0.25, 0.1, 0.25, 1),
              transform .15s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.tab-panel table.journals tbody tr.j-row:hover {
  border-color: rgba(60, 60, 67, 0.18);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.tab-panel table.journals tbody tr.j-row:active {
  transform: scale(0.99);
}
.tab-panel table.journals tbody td {
  display: block;
  border: 0;
  padding: 0;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
/* 地区表：隐藏旧列头，与全球/中国站同一套 2 列卡片网格 */
.tab-panel table.journals.country-journal-table thead,
.tab-panel table.journals.regional-directory-table thead,
.tab-panel table.journals.india-table thead,
.tab-panel table.journals.korea-table thead,
.tab-panel table.journals.malaysia-table thead,
.tab-panel table.journals.cnki-table thead {
  display: none !important;
}

/* 首页搜索结果：与全球站同一套 j-card（3 列网格） */
.home-results-wrap {
  overflow: visible;
  background: transparent;
  border: 0;
  width: 100%;
}
.home-results-wrap table.home-journals,
.home-results-wrap table.journals.home-journals {
  display: block;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
}
.home-results-wrap table.home-journals thead {
  display: none !important;
}
.home-results-wrap table.home-journals tbody {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  align-items: stretch;
  width: 100%;
}
@media (max-width: 1100px) {
  .home-results-wrap table.home-journals tbody {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .home-results-wrap table.home-journals tbody {
    grid-template-columns: 1fr;
  }
}
/* 卡片壳：与 .tab-panel table.journals tbody tr.j-row 一致 */
.home-results-wrap table.home-journals tbody tr.j-row,
.home-results-wrap table.home-journals tbody tr.j-row.j-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-width: 0 !important;
  max-width: 100%;
  min-height: 0;
  height: 100%;
  padding: 0;
  overflow: hidden !important;
  background: #ffffff;
  border: 1px solid rgba(60, 60, 67, 0.12);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  transition: box-shadow .2s cubic-bezier(0.25, 0.1, 0.25, 1),
              border-color .2s cubic-bezier(0.25, 0.1, 0.25, 1),
              transform .15s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.home-results-wrap table.home-journals tbody tr.j-row:hover {
  border-color: rgba(60, 60, 67, 0.18);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.home-results-wrap table.home-journals tbody td {
  display: block;
  border: 0;
  padding: 0;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.home-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}
@media (max-width: 1100px) {
  .home-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .home-card-grid { grid-template-columns: 1fr; }
}
.home-journal-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 190px;
  padding: 16px 18px 15px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 1px 0 rgba(43,42,39,.04), 0 18px 36px -24px rgba(60,48,36,.28);
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
  overflow: hidden;
}
.home-journal-card:hover {
  border-color: #e7d8c4;
  box-shadow: 0 1px 0 rgba(43,42,39,.04), 0 18px 38px -18px rgba(60,48,36,.34);
  transform: translateY(-1px);
}
.home-journal-card.row-flagship { border-left: 3px solid var(--accent); }
.home-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}
.home-card-title-wrap {
  min-width: 0;
  padding-right: 4px;
}
.home-card-title {
  margin: 0;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.28;
  font-weight: 800;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.home-card-alias {
  margin-top: 4px;
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.home-card-fav {
  flex: 0 0 auto;
  margin: -3px 0 0;
}
.home-card-fav .fav-star {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 0;
  background: transparent;
  font-size: 20px;
}
.home-card-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 5px 6px;
  min-width: 0;
  max-width: 100%;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed rgba(120,110,96,.16);
  overflow: hidden;
}
.home-card-indexes {
  border-top: 0;
  padding-top: 0;
  margin-top: 14px;
}
.home-card-risks {
  border-top: 0;
  padding-top: 0;
  margin-top: 8px;
}
.home-card-badges .badge,
.home-card-badges .zone,
.home-card-badges .xr-pill,
.home-card-badges .abdc-pill,
.home-card-badges .abs-pill,
.home-card-badges .ccf-pill,
.home-card-badges .tier-pill,
.home-card-badges .warn-pill,
.home-card-badges .under-review-pill,
.home-card-badges .on-hold-pill,
.home-card-badges .citic-warning-pill,
.home-card-badges .domsrc-pill,
.home-more-badge {
  max-width: 100%;
  font-size: 10px;
  line-height: 1.35;
  padding: 2px 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-card-badges > * {
  min-width: 0;
}
.home-card-badges .vhb-details {
  max-width: 100%;
}
.home-card-badges .vhb-details > summary {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-more-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #ece6dc;
  color: var(--ink-faint);
  font-family: var(--sans);
  font-weight: 800;
  letter-spacing: 0;
}
.home-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
  margin-top: auto;
  padding-top: 16px;
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.35;
}
.home-metric {
  flex: 0 0 auto;
  color: var(--ink-soft);
  white-space: nowrap;
}
.home-if {
  color: var(--ink);
  background: #eef1f6;
  border-radius: 999px;
  padding: 3px 10px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.home-card-topic {
  min-width: 0;
  color: var(--ink-faint);
  overflow-wrap: anywhere;
}
.home-domestic-card {
  min-height: 150px;
}
.tab-panel table.journals tbody tr.row-flagship {
  border-color: rgba(255, 149, 0, 0.35);
}
.tab-panel table.journals tbody tr:has(td[colspan]) {
  display: block;
  grid-column: 1 / -1;
  min-height: 0;
  padding: 48px 16px;
  text-align: center;
  color: #8e8e93;
  background: none;
  border: 0;
  box-shadow: none;
  cursor: default;
}

/* ── 全站统一 j-card 结构（全球/中国/印度/韩国/波兰…同一逻辑）──
   上块 j-card-head：刊名 + 免费/审稿 + IF + 收藏（浅底，满宽）
   下块 j-card-body：收录/分区徽章（白底，无整区底色） */

.j-row .j-card-main,
.j-row .col-name {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0 !important;
  margin: 0;
  background: transparent;
  border: 0;
  box-sizing: border-box;
}

/* 上块：grid 锁右栏，IF/收藏永不溢出卡片 */
.j-row .j-card-main {
  overflow: hidden;
  max-width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto; /* 撑满卡片，便于下块留白 */
}
.j-row .j-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(64px, auto);
  column-gap: 8px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 10px 11px 8px;
  box-sizing: border-box;
  /* V10：浅杏垂直渐变（上浅下深），无金属深色 */
  background: linear-gradient(180deg, #fff4e8 0%, #ffe8d0 48%, #ffd9b5 100%);
  border-radius: 13px 13px 0 0;
  border-bottom: 1px solid rgba(180, 120, 60, 0.12);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.55) inset,
    0 6px 14px rgba(180, 120, 70, 0.06);
  overflow: hidden;
  color: #1c1917;
}
/* 收藏卡拖动：左侧细色条示意（长按亦可拖） */
.j-row.j-card.has-drag .j-card-head {
  grid-template-columns: 8px minmax(0, 1fr) minmax(72px, auto);
  column-gap: 8px;
  padding-left: 8px;
}
.j-row.j-card-compact .j-card-head {
  border-radius: 15px 15px 0 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  flex: 0 0 auto;
}
/* 拖动手柄：深色细竖条，不占版面 */
.j-row .j-card-drag,
.j-row .col-drag {
  position: static !important;
  top: auto !important;
  left: auto !important;
  grid-column: 1;
  width: 8px !important;
  min-width: 8px;
  max-width: 8px;
  display: flex !important;
  align-items: stretch;
  justify-content: center;
  align-self: stretch;
  padding: 4px 0;
  margin: 0;
  z-index: 2;
  box-sizing: border-box;
}
.j-row .j-card-drag .drag-handle,
.j-row .col-drag .drag-handle {
  display: block;
  width: 4px;
  min-height: 100%;
  height: 100%;
  min-height: 28px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #a8a29e;
  box-shadow: none;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: grab;
  touch-action: none;
  user-select: none;
  opacity: .85;
  transition: background .12s, opacity .12s;
}
.j-row .j-card-drag .drag-handle:hover,
.j-row .col-drag .drag-handle:hover {
  background: #78716c;
  opacity: 1;
}
.j-row .j-card-drag .drag-handle:active,
.j-row .col-drag .drag-handle:active {
  cursor: grabbing;
  background: #57534e;
}
/* 刊名区 */
.j-row .j-card-head-main {
  grid-column: 1;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.j-row.j-card.has-drag .j-card-head-main {
  grid-column: 2;
}
/* 右：IF 数字与 ★ 同一行垂直居中 */
.j-row .j-card-head-side {
  grid-column: 2;
  min-width: 56px;
  max-width: 100px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.j-row.j-card.has-drag .j-card-head-side {
  grid-column: 3;
}
.j-row .j-if-fav-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  line-height: 1;
}
.j-row .j-card-title-block,
.j-row .j-card-top {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.j-row .jname {
  margin: 0;
  min-height: 0;
  max-width: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14.5px; /* 略大于 V10 13px，更易扫读 */
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.015em;
  color: #1c1917;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.j-row .jname.jname-flagship {
  color: #9a3412;
}
/* 刊名下中文/别名：淡于标题（V10 j-cn） */
.j-row .jname-cn,
.j-row .jname-aka {
  display: block;
  margin-top: 2px;
  font-size: 10.5px;
  font-weight: 500;
  color: #a39382;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* IF 在数字左侧同行：IF 47.8 ★；免费在整行下方 */
.j-row .j-if-fav-row {
  gap: 4px;
  align-items: baseline;
}
.j-row .j-card-if-label {
  display: inline;
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #a08b76;
  text-transform: none;
  text-align: left;
  line-height: 1;
  flex-shrink: 0;
}
.j-row .j-card-if-num {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.03em;
  color: #b45309;
  white-space: nowrap;
  line-height: 1;
}
.j-row .j-if-fav-row .j-card-fav {
  align-self: center;
  margin-left: 2px;
}
.j-row .j-card-if-free {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
  margin-right: 0;
  max-width: 100%;
  line-height: 1;
}
.j-row .j-card-if-free .badge,
.j-row .j-card-if-free .b-free,
.j-row .j-card-if-free .b-free-lock {
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  padding: 1px 5px !important;
  border-radius: 4px !important;
  margin: 0 !important;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.j-row .j-card-if-free .badge.b-free {
  background: rgba(236, 253, 245, 0.95) !important;
  color: #047857 !important;
  border: 0 !important;
}
.j-row .j-card-if-free .badge.b-free-lock {
  background: #faf6ee !important;
  color: #8b6914 !important;
  border: 1px solid #e8d9b0 !important;
  cursor: pointer;
}

/* 收藏：纯五角星，无圆底 */
.j-row .j-card-fav,
.j-row .col-fav {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: 16px !important;
  min-width: 16px;
  max-width: 16px;
  flex: 0 0 16px;
  z-index: 1;
  margin: 0;
  padding: 0;
  pointer-events: auto;
}
.j-row .j-card-fav .fav-star,
.j-row .col-fav .fav-star {
  width: 16px;
  height: 16px;
  min-width: 16px;
  padding: 0;
  border-radius: 0;
  background: transparent !important;
  border: 0;
  box-shadow: none;
  color: rgba(120, 100, 80, 0.42);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
  transition: color .12s, transform .08s;
}
.j-row .j-card-fav .fav-star:hover,
.j-row .col-fav .fav-star:hover {
  background: transparent !important;
  color: #f97316;
  transform: scale(1.08);
}
.j-row .j-card-fav .fav-star.on,
.j-row .col-fav .fav-star.on {
  color: #f97316;
  background: transparent !important;
}
.j-row .j-card-fav .fav-star.on:hover,
.j-row .col-fav .fav-star.on:hover {
  color: #ea580c;
  background: transparent !important;
}
/* 已收藏：上块略深一档；下块仍白 */
.j-row.j-card:has(.fav-star.on) {
  background: #ffffff;
}
.j-row.j-card:has(.fav-star.on) .j-card-main {
  background: transparent;
}
.j-row.j-card:has(.fav-star.on) .j-card-head {
  background: linear-gradient(180deg, #fff0e0 0%, #ffe0c4 50%, #ffd0a8 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.5) inset,
    0 6px 14px rgba(180, 100, 40, 0.08);
}
.j-row.j-card:has(.fav-star.on) .j-card-body {
  background: #ffffff;
}

/* meta：免费 / 审稿 / 学科 / 出版社 — V10 浅字、小字阶 */
.j-row .j-card-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 7px;
  margin-top: 3px;
  min-width: 0;
  overflow: visible;
}
.j-row .j-meta {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  max-width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #9a8b7a;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
}
.j-row .j-meta em {
  font-style: normal;
  font-weight: 500;
  color: #a89a8a;
  font-size: 10px;
}
.j-row .j-meta strong,
.j-row .j-meta > span {
  font-weight: 500;
  color: #8a7a68;
}
/* 免费发表主位置在 IF 下；meta 行遗留兼容 */
.j-row .j-meta-free {
  display: none !important;
}
.j-row .j-card-badges .badge.b-free,
.j-row .badges-access .badge.b-free {
  background: rgba(236, 253, 245, 0.85) !important;
  color: #047857 !important;
  font-weight: 700 !important;
  border: 0 !important;
}
.j-row .j-meta-src .src-tag {
  display: inline-flex;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #9a8b7a;
  font-size: 10px;
  font-weight: 500;
}
.j-row .j-meta-topic { display: none; }
.j-row .j-meta-topic-show { display: inline-flex; }

/* 下块：纯白；始终存在；flex 增长吸收留白，保证同行等高 */
.j-row .j-card-body {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 8px 11px 10px;
  min-height: 36px;
  flex: 1 1 auto; /* 矮卡用白底留白对齐高卡 */
  background: #ffffff;
  box-sizing: border-box;
  overflow: visible;
}
.j-row .j-card-body-placeholder {
  min-height: 20px;
  width: 100%;
}
.j-row .j-card-badges,
.j-row .col-badge,
.j-row .col-cross {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px; /* V10 bline 行距紧凑 */
  width: 100%;
  min-width: 0;
  max-height: none !important;
  overflow: visible !important;
}
/* 地区站若直接塞 badge 子节点：按行内 pill 换行，禁止拉成整条色块 */
.j-row .j-card-badges:not(:has(.badges)) {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 3px;
}
.j-row .j-card-badges .badge-cell,
.j-row .j-card-badges .badge-line {
  display: contents;
}
.j-row .j-card-badges .badges,
.j-row .j-card-badges .badges-idx,
.j-row .j-card-badges .badges-rank,
.j-row .j-card-badges .badges-access,
.j-row .j-card-badges .badges-risk,
.j-row .col-badge .badges,
.j-row .col-badge .badges-idx,
.j-row .col-badge .badges-rank,
.j-row .col-badge .badges-access,
.j-row .col-badge .badges-risk {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 3px;
  width: 100%;
  min-width: 0;
}
/* 徽章分行：仅 pills，不显示「收录 / 分区 / 风险」左侧文字 */
.j-row .j-card-badges .badges-idx,
.j-row .j-card-badges .badges-rank,
.j-row .j-card-badges .badges-access,
.j-row .j-card-badges .badges-risk {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 3px;
  width: 100%;
}
/* 开放 | 风险：同一行，中间细竖线，压低卡片高度 */
.j-row .j-card-badges .badges-oa-risk {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.j-row .j-card-badges .badges-oa-risk .badges-access,
.j-row .j-card-badges .badges-oa-risk .badges-risk {
  width: auto !important;
  flex: 1 1 0;
  min-width: 0;
}
.j-row .j-card-badges .badge-vsep {
  flex: 0 0 1px;
  align-self: stretch;
  width: 1px;
  min-height: 16px;
  margin: 1px 0;
  background: rgba(90, 70, 50, 0.16);
  border-radius: 1px;
}
.j-row .j-card-badges .badges-idx::before,
.j-row .j-card-badges .badges-rank::before,
.j-row .j-card-badges .badges-access::before,
.j-row .j-card-badges .badges-risk::before {
  content: none !important;
  display: none !important;
}
/* 列表卡徽章：iOS 扁平芯片（与详情一致，去掉拟物阴影/深色底） */
.j-row .j-card-badges .badge,
.j-row .j-card-badges .zone,
.j-row .j-card-badges .xr-pill,
.j-row .j-card-badges .domsrc-pill,
.j-row .j-card-badges .abdc-pill,
.j-row .j-card-badges .abs-pill,
.j-row .j-card-badges .ccf-pill,
.j-row .j-card-badges .tier-pill,
.j-row .j-card-badges .warn-pill,
.j-row .j-card-badges .flagship-pill,
.j-row .j-card-badges .on-hold-pill,
.j-row .j-card-badges .under-review-pill,
.j-row .j-card-badges .citic-warning-pill,
.j-row .col-badge .badge,
.j-row .col-badge .zone,
.j-row .col-badge .domsrc-pill,
.j-row .col-badge .xr-pill {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100%;
  flex: 0 0 auto !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  padding: 2px 7px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: var(--badge-border) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
  box-shadow: var(--badge-edge) !important;
  background: #f5f5f4 !important;
  color: #44403c !important;
}
.j-row .j-card-badges .badge.b-scie,
.j-row .j-card-badges .badge.b-ssci,
.j-row .j-card-badges .badge.b-ahci {
  background: #eef2ff !important;
  color: #3730a3 !important;
  border-color: rgba(55, 48, 163, 0.12) !important;
}
.j-row .j-card-badges .badge.b-medline,
.j-row .j-card-badges .badge.b-pubmed,
.j-row .j-card-badges .badge.b-pmc {
  background: #e0f2fe !important;
  color: #075985 !important;
  border-color: rgba(7, 89, 133, 0.12) !important;
}
.j-row .j-card-badges .badge.b-scopus,
.j-row .j-card-badges .badge.b-esci,
.j-row .j-card-badges .badge.b-ei,
.j-row .j-card-badges .badge.b-cabi {
  background: #f1f5f9 !important;
  color: #334155 !important;
}
.j-row .j-card-badges .badge.b-doaj,
.j-row .j-card-badges .badge.b-oaj,
.j-row .j-card-badges .badge.b-free {
  background: #ecfdf5 !important;
  color: #047857 !important;
}
.j-row .j-card-badges .badge.b-cscd,
.j-row .j-card-badges .badge.b-cstpcd {
  background: #f0fdf4 !important;
  color: #166534 !important;
}
.j-row .j-card-badges .zone,
.j-row .j-card-badges .jcr-q1,
.j-row .j-card-badges .jcr-q2 {
  background: #fff7ed !important;
  color: #c2410c !important;
  border-color: rgba(194, 65, 12, 0.14) !important;
}
.j-row .j-card-badges .xr-pill {
  background: #faf5ff !important;
  color: #6b21a8 !important;
}
.j-row .j-card-badges .warn-pill,
.j-row .j-card-badges .on-hold-pill,
.j-row .j-card-badges .under-review-pill {
  background: #fef2f2 !important;
  color: #b91c1c !important;
}
.j-row .j-card-subline {
  margin-top: 2px;
  padding-top: 0;
  color: #a89a8a;
  font-size: 10px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.j-row .j-card-body-empty { display: none !important; }
/* 知网：中文期刊目录默认收录标 */
.j-row .j-card-badges .domsrc-pill.ds-cnki_major {
  background: #e6eef4 !important;
  color: #2d5568 !important;
  font-weight: 650 !important;
}

/* 旧列隐藏 */
.j-row .col-free,
.j-row .col-if,
.j-row .col-cycle,
.j-row .col-topic {
  display: none !important;
}

/* ── 国际刊：筛选在顶部（严格对照 V10 两栏芯片条）── */
.tab-panel[data-panel="int"] table.journals {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.tab-panel[data-panel="int"] table.journals thead {
  flex: none;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  position: static;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(90, 70, 50, 0.08);
  border-radius: 12px;
  padding: 10px 12px;
  max-height: none;
  overflow: visible;
  box-sizing: border-box;
}
.tab-panel[data-panel="int"] table.journals thead tr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 6px 14px;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
}
.tab-panel[data-panel="int"] table.journals thead th {
  display: block;
  width: 100%;
  white-space: normal;
  min-width: 0;
}
.tab-panel[data-panel="int"] table.journals thead .col-name,
.tab-panel[data-panel="int"] table.journals thead .col-cycle,
.tab-panel[data-panel="int"] table.journals thead .col-fav,
.tab-panel[data-panel="int"] table.journals thead .col-if {
  display: none;
}
/* V10：两栏筛选；免费已并入「开放」行，隐藏独立长条 */
.tab-panel[data-panel="int"] table.journals thead tr {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}
.tab-panel[data-panel="int"] table.journals thead .col-badge {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
  width: 100%;
  order: 1;
  align-items: start;
}
.tab-panel[data-panel="int"] table.journals thead .col-free[hidden],
.tab-panel[data-panel="int"] table.journals thead .col-free {
  display: none !important;
}
.tab-panel[data-panel="int"] table.journals thead .col-wos {
  order: 2;
  width: 100%;
}
.tab-panel[data-panel="int"] .dd-inline-k {
  flex: 0 0 auto;
  margin-left: 4px;
  font-size: 10px;
  font-weight: 750;
  color: #a8a29e;
}
.tab-panel[data-panel="int"] table.journals tbody {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  padding-top: 0;
}

/* 筛选行：固定宽左标签 + 右侧 chips，标签不被裁切 */
.tab-panel[data-panel="int"] .th-dropdown {
  display: grid;
  grid-template-columns: 3.6em minmax(0, 1fr);
  align-items: start;
  column-gap: 8px;
  row-gap: 4px;
  position: static;
  width: 100%;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.tab-panel[data-panel="int"] .th-dropdown > .th-dropdown-btn {
  pointer-events: none;
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: none;
  justify-content: flex-start;
  border: 0;
  border-bottom: 0;
  padding: 5px 0 0;
  color: #a8a29e;
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: .02em;
  background: none;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.3;
}
.tab-panel[data-panel="int"] .th-dropdown > .th-dropdown-btn .dd-label {
  display: block;
  overflow: visible;
  white-space: nowrap;
  text-overflow: clip;
  max-width: none;
}
.tab-panel[data-panel="int"] .th-dropdown > .th-dropdown-btn .dd-arrow { display: none; }
.tab-panel[data-panel="int"] .th-dropdown-panel {
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px;
  position: static;
  grid-column: 2;
  min-width: 0;
  max-height: none;
  overflow: visible;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  align-items: center;
}
/* 整行筛选（兼容旧 class；IF/预警已改为左右两栏） */
.tab-panel[data-panel="int"] .th-dropdown-wide {
  grid-column: 1 / -1;
  grid-template-columns: 3.6em minmax(0, 1fr);
}
/* IF | 预警：与上方两栏对齐（左 IF，右预警）；不要横分割线 */
.tab-panel[data-panel="int"] #if-dropdown.th-if-row,
.tab-panel[data-panel="int"] #warn-dropdown.th-warn-row {
  display: grid !important;
  grid-template-columns: 3.6em minmax(0, 1fr);
  margin-top: 2px;
  padding-top: 2px !important;
  border-top: 0 !important;
  column-gap: 8px;
  row-gap: 4px;
  min-width: 0;
}
.tab-panel[data-panel="int"] #if-dropdown.th-if-row > .th-dropdown-btn,
.tab-panel[data-panel="int"] #warn-dropdown.th-warn-row > .th-dropdown-btn {
  max-width: none;
  min-width: 0;
}
.tab-panel[data-panel="int"] #if-dropdown .th-if-chip.active,
.tab-panel[data-panel="int"] .th-if-chip.active {
  background: #fff7ed;
  border-color: transparent;
  color: #c2410c;
  font-weight: 700;
}
.tab-panel[data-panel="int"] #if-dropdown #if-slider,
.tab-panel[data-panel="int"] #if-dropdown #if-slider-val {
  display: none !important;
}
/* 学科行：搜索框已写「筛选学科」，隐藏左侧重复「学科」标签 */
.tab-panel[data-panel="int"] #topic-dropdown > .th-dropdown-btn {
  display: none !important;
}
.tab-panel[data-panel="int"] #topic-dropdown {
  /* topic is in col-wos */
}
.tab-panel[data-panel="int"] .th-chk,
.tab-panel[data-panel="int"] button.th-chk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto;
  min-width: 2.4em;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid #ebe9e6;
  border-radius: 999px;
  background: #fff !important;
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  line-height: 1;
  color: #57534e !important;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
}
.tab-panel[data-panel="int"] .th-chk:hover,
.tab-panel[data-panel="int"] button.th-chk:hover {
  border-color: #f0ddc2;
  color: #c2410c !important;
  background: #fffaf5 !important;
}
.tab-panel[data-panel="int"] .th-chk input { display: none !important; }
/* 选中：加深杏橙底 + 橙边，点选一眼可见（避免 #fff7ed 过淡） */
.tab-panel[data-panel="int"] .th-chk:has(input:checked),
.tab-panel[data-panel="int"] .th-chk.active,
.tab-panel[data-panel="int"] button.th-chk.active {
  background: #ffedd5 !important;
  border-color: #fb923c !important;
  color: #9a3412 !important;
  font-weight: 750;
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.12) !important;
}
.tab-panel[data-panel="int"] .th-chk:has(input:checked):hover,
.tab-panel[data-panel="int"] .th-chk.active:hover,
.tab-panel[data-panel="int"] button.th-chk.active:hover {
  background: #fed7aa !important;
  border-color: #f97316 !important;
  color: #9a3412 !important;
}
/* 数量默认隐藏，悬停/聚焦 chip 再显示 */
.tab-panel[data-panel="int"] .th-chk .dd-count {
  display: none !important;
  margin-left: 4px;
  font-size: 10px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #a8a29e !important;
  opacity: 1 !important;
}
.tab-panel[data-panel="int"] .th-chk:hover .dd-count,
.tab-panel[data-panel="int"] .th-chk:focus-within .dd-count,
.tab-panel[data-panel="int"] .th-chk:has(input:checked):hover .dd-count {
  display: inline !important;
  color: #b45309 !important;
}
.tab-panel[data-panel="int"] .th-chk:has(input:checked) .dd-count {
  color: #b45309 !important;
}
.tab-panel[data-panel="int"] .dd-sep {
  display: none;
}
/* IF 滑条：整段已隐藏，不再占筛选行 */
/* 学科：搜索 + 列表（可滚动） */
.tab-panel[data-panel="int"] .th-dropdown-panel-search {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  flex: 1 1 100%;
  width: 100%;
}
.tab-panel[data-panel="int"] #topic-dd-search {
  width: 100%; box-sizing: border-box; margin: 0; padding: 6px 10px;
  border: 1px solid #ebe9e6; border-radius: 8px; background: #fff; font-size: 12px;
}
.tab-panel[data-panel="int"] #topic-dd-list {
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px;
  max-height: 120px;
  overflow: auto;
  width: 100%;
}
.tab-panel[data-panel="int"] #topic-dd-list .th-chk {
  white-space: nowrap;
  text-align: center;
  min-height: 0;
  font-size: 10.5px;
}
/* 免费：与筛选 chip 同高同风格的短按钮，禁止拉成整行 */
.tab-panel[data-panel="int"] thead .col-free .free-th-filter {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  width: auto !important;
  min-width: 4.5em;
  max-width: none !important;
  height: 26px !important;
  min-height: 26px !important;
  margin: 0;
  padding: 0 12px !important;
  border: 1px solid #ebe9e6 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 650;
  line-height: 1;
  color: #57534e;
  cursor: pointer;
  white-space: nowrap;
}
.tab-panel[data-panel="int"] thead .col-free .free-th-filter:has(input:checked) {
  background: #fff7ed !important;
  border-color: transparent !important;
  color: #c2410c;
}
.tab-panel[data-panel="int"] thead .col-free .free-th-filter input {
  width: 12px;
  height: 12px;
  margin: 0;
  accent-color: #f97316;
}
.tab-panel[data-panel="int"] thead .col-free .free-th-filter span {
  font-size: 11px;
  font-weight: 650;
}

@media (max-width: 900px) {
  /* 全球列表手机：标题不 sticky，避免「全部期刊」盖住筛选芯片 */
  body.topbar-compact .results-head,
  .tab-panel[data-panel="int"] .results-head {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    margin: 0 0 10px;
    padding: 10px 12px;
    box-shadow: none !important;
    backdrop-filter: none !important;
    background: #f5ecd6;
    border: 1px solid #d4c9a8;
    border-radius: 10px;
  }
  .tab-panel[data-panel="int"] .results-head h1 {
    font-size: 14px;
    font-weight: 750;
  }
  .tab-panel[data-panel="int"] .results-count {
    font-size: 11.5px;
  }

  .tab-panel[data-panel="int"] .results {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
  }

  .tab-panel[data-panel="int"] table.journals {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
  }
  .tab-panel[data-panel="int"] table.journals thead {
    display: block !important;
    position: static !important;
    max-height: none;
    overflow: visible;
    flex: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 4px;
    padding: 10px 10px 8px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(90, 70, 50, 0.08);
    border-radius: 12px;
    z-index: 1;
  }
  .tab-panel[data-panel="int"] table.journals thead tr {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100%;
  }
  .tab-panel[data-panel="int"] table.journals thead .col-badge {
    display: grid !important;
    grid-template-columns: 1fr !important; /* 手机单列：标签+chips 纵向排 */
    gap: 8px !important;
    width: 100%;
  }
  .tab-panel[data-panel="int"] .th-dropdown {
    grid-template-columns: 3.2em minmax(0, 1fr) !important;
    column-gap: 6px !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown-panel {
    flex-wrap: wrap !important;
    gap: 5px !important;
  }
  .tab-panel[data-panel="int"] table.journals tbody {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    padding-top: 0;
  }
}
@media (max-width: 600px) {
  .tab-panel table.journals tbody tr.j-row { padding: 0; }
  .j-row .j-card-head { padding: 12px 12px 10px; }
  .j-row .j-card-body { padding: 10px 12px 12px; }
  .j-row .jname { font-size: 15px; }
  .j-row .jname-cn,
  .j-row .jname-aka { font-size: 10.5px; color: #a39382; }
}

@media (max-width: 900px) {
  body.simple-top-route .topbar {
    min-height: 54px;
    margin-bottom: 12px;
    padding: 0 142px 0 14px;
  }
  body.simple-top-route .topbar-brand {
    position: fixed !important;
    top: 14px !important;
    left: 52px !important;
    transform: none !important;
    font-size: 15px;
  }
}

/* ═══════════ 去掉期刊封面（详情页 + 荐刊卡片，很多无数据） ═══════════ */
.journal-cover { display: none !important; }
.journal-overview { display: block !important; }
.journal-overview-copy { max-width: none !important; }
.pick-cover { display: none !important; }

/* ═══════ 移动端：统一卡片保持上下分区（须在文件末尾） ═══════ */
@media (max-width: 768px) {
  .tab-panel table.journals tbody {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .tab-panel table.journals tr.j-row {
    min-height: 0;
  }
  .tab-panel table.journals .col-fav,
  .tab-panel table.journals .j-card-fav {
    position: static !important;
    width: auto;
  }
  /* legacy hooks — no-op for j-card rows */
  .tab-panel[data-panel="int"] table.journals .col-if {
    position: static; transform: none; display: none;
    margin-top: 9px; margin-right: 12px;
  }
  .tab-panel[data-panel="int"] table.journals .col-if::before { content: none; }
  .tab-panel[data-panel="int"] table.journals .col-if .if-cell { font-size: 13px; }
  .tab-panel[data-panel="int"] table.journals .col-if .if-cell::after { content: none; }
  .tab-panel[data-panel="int"] table.journals .col-if:has(.muted-cell),
  .tab-panel[data-panel="int"] table.journals .col-cycle:has(.muted-cell),
  .tab-panel[data-panel="int"] table.journals .col-topic:has(.muted-cell),
  .tab-panel[data-panel="int"] table.journals .col-free:has(.muted-cell) { display: none; }
}

/* ═══════ 语言切换：非首页落地时固定右上；首页落地嵌在 .home-top-nav 最右 ═══════ */
.lang-toggle-wrap {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 220;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  pointer-events: auto;
}
/* 离开 body 后（浮在 body 下）仍固定右上 */
body > .lang-toggle-wrap,
main.main > .lang-toggle-wrap {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 220;
}
.app-rail .lang-toggle, .lang-toggle {
  background: var(--paper); border: 1px solid var(--rule); border-radius: 999px;
  padding: 5px 15px; font-size: 13px; font-weight: 600; color: var(--ink-soft);
  box-shadow: 0 2px 8px -3px rgba(60,48,36,.25); cursor: pointer;
  white-space: nowrap;
}
.lang-toggle:hover { color: var(--ink); border-color: var(--accent); }

/* 未固定的地区站：彻底从侧栏收起（进 ··· 菜单再固定） */
.rail-nav-btn[data-station-hidden],
.rail-nav-btn[data-station-hidden="1"] { display: none !important; }

/* ═══════ 卡片徽章 · 对齐 V10 pill（小字 · 浅字 · 浅底） ═══════ */
.j-row .col-badge .badge,
.j-row .col-badge .zone,
.j-row .col-badge .xr-pill,
.j-row .col-badge .abdc-pill,
.j-row .col-badge .abs-pill,
.j-row .col-badge .warn-pill,
.j-row .col-badge .on-hold-pill,
.j-row .col-badge .citic-warning-pill {
  font-size: 9.5px !important;
  padding: 1px 5px !important;
  border-radius: 4px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  border: var(--badge-border) !important;
  box-shadow: var(--badge-edge) !important;
}
/* 收录：stone 浅灰底 + 中灰字（V10 #f5f5f4 / #57534e） */
.j-row .badges-idx .badge,
.j-row .j-card-badges .badges-idx .badge {
  background: #f5f5f4 !important;
  color: #78716c !important;
  font-weight: 650 !important;
}
.j-row .badges-idx .badge.b-scie,
.j-row .badges-idx .badge.b-ssci,
.j-row .badges-idx .badge.b-ahci,
.j-row .badges-idx .badge.b-medline {
  background: #f0f2f5 !important;
  color: #6b7280 !important;
}
.j-row .badges-idx .badge.b-nature-index { background: #f5f5f4 !important; color: #78716c !important; }
/* Nature/Science/Cell 子刊·正刊：与收录同阶，略暖 */
.j-row .j-card-badges .flagship-pill,
.j-row .badges-idx .flagship-pill,
.j-row .j-card-badges .flag-nature-main,
.j-row .j-card-badges .flag-nature-sub,
.j-row .j-card-badges .flag-science-main,
.j-row .j-card-badges .flag-science-sub,
.j-row .j-card-badges .flag-cell-main,
.j-row .j-card-badges .flag-cell-sub {
  background: #f5f5f4 !important;
  color: #78716c !important;
  font-weight: 650 !important;
  border: var(--badge-border) !important;
  box-shadow: var(--badge-edge) !important;
}
.j-row .badges-idx .badge.b-cscd { background: #f5f5f4 !important; color: #78716c !important; }
.j-row .badges-idx .badge.b-cstpcd { background: #f5f5f4 !important; color: #78716c !important; }
.j-row .badges-idx .badge.b-scd { background: #f5f5f4 !important; color: #78716c !important; }
.j-row .badges-idx .badge.b-pubmed,
.j-row .badges-idx .badge.b-pmc { background: #f0f2f5 !important; color: #6b7280 !important; }
.j-row .badges-idx .badge.b-inspec { background: #f5f5f4 !important; color: #78716c !important; }
.j-row .badges-idx .badge.b-fsta { background: #f5f5f4 !important; color: #78716c !important; }
.j-row .badges-idx .domsrc-pill { background: #f5f5f4 !important; color: #78716c !important; }

/* 分区：浅暖底 + 中灰棕字；Q1/TOP 用 V10 杏橙浅字 */
.j-row .badges-rank .zone,
.j-row .badges-rank .xr-pill,
.j-row .badges-rank .abdc-pill,
.j-row .badges-rank .abs-pill,
.j-row .badges-rank .badge,
.j-row .badges-rank .domsrc-pill {
  background: #f5f5f4 !important;
  color: #78716c !important;
  font-weight: 650 !important;
}
.j-row .badges-rank .ztop,
.j-row .badges-rank .jcr-q1,
.j-row .badges-rank .xr-top {
  background: #fff7ed !important;
  color: #c2410c !important;
}
/* 预警：浅红底 */
.j-row .badges-rank .warn-pill,
.j-row .badges-rank .b-warn,
.j-row .badges-rank .b-warn-high,
.j-row .badges-risk .warn-pill,
.j-row .badges-risk .b-warn,
.j-row .badges-risk .b-warn-high {
  background: #fdeceb !important;
  color: #a33a36 !important;
}
.j-row .badges-rank .on-hold-pill,
.j-row .badges-risk .on-hold-pill {
  background: #ffefe6 !important;
  color: #b85a28 !important;
}
.j-row .badges-rank .citic-warning-pill,
.j-row .badges-risk .citic-warning-pill {
  background: #f0eeeb !important;
  color: #5c564c !important;
}
/* 开放获取：V10 浅绿 */
.j-row .badges-access .badge {
  background: #ecfdf5 !important;
  color: #059669 !important;
}
.j-row .badges-access .badge.b-doaj,
.j-row .badges-access .badge.b-oaj {
  background: #ecfdf5 !important;
  color: #047857 !important;
}
/* 通用 domsrc / 科协：与收录同阶浅字 */
.j-row .j-card-badges .domsrc-pill {
  background: #f5f5f4 !important;
  color: #78716c !important;
  font-weight: 650 !important;
}
.j-row .j-card-badges .domsrc-pill.ds-cnkx,
.j-row .j-card-badges .tier-pill,
.j-row .j-card-badges .tier-pill.t1,
.j-row .j-card-badges .tier-pill.t2,
.j-row .j-card-badges .tier-pill.t3 {
  background: #f5f5f4 !important;
  color: #78716c !important;
  font-weight: 650 !important;
  border: var(--badge-border) !important;
  box-shadow: var(--badge-edge) !important;
}
/* 上块 meta 来源：纯文字、无色块（浅杏头已是暖底） */
.j-row .j-meta-src .src-tag,
.j-row .j-meta-src .src-tag.src-cnkx,
.j-row .j-meta-src .src-tag.src-int {
  background: transparent !important;
  color: #9a8b7a !important;
  font-weight: 500 !important;
  font-size: 10px !important;
  padding: 0 !important;
}
/* 免费发表列（若仍显示）：小号绿标 */
.j-row .col-free .badge.b-free {
  background: #ecfdf5; color: #047857; font-size: 9.5px; padding: 1px 5px; border-radius: 4px; font-weight: 700;
}
.j-row .col-if { margin-left: 2px; }

/* 列表卡片列数由上方统一规则控制（每行 2；窄屏 1） */

/* ═══════ 手机端：筛选菜单按钮(☰)固定到左上角 ═══════ */
@media (max-width: 900px) {
  .side-toggle {
    position: fixed !important; top: 10px !important; left: 10px !important; z-index: 150 !important;
    width: 36px; height: 36px; border-radius: 999px;
    background: var(--paper); border: 1px solid var(--rule);
    box-shadow: 0 2px 8px -3px rgba(60,48,36,.25);
  }
  /* 给顶部导航让位，避免和左上角按钮重叠 */
}

/* 学科：搜索 + 列表；数量仍仅悬停显示 */
.tab-panel[data-panel="int"] #topic-dd-list .th-chk {
  display: inline-flex;
  width: auto;
  gap: 4px;
  padding: 0 10px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1;
  height: 26px;
}
.tab-panel[data-panel="int"] #topic-dd-list .th-chk .count,
.tab-panel[data-panel="int"] #topic-dd-list .th-chk .dd-count {
  display: none;
}
.tab-panel[data-panel="int"] #topic-dd-list .th-chk:hover .count,
.tab-panel[data-panel="int"] #topic-dd-list .th-chk:hover .dd-count {
  display: inline;
  margin-left: 2px;
  opacity: .7;
  font-size: 10px;
  color: #b45309;
}

/* ═══════ 卡片杂项 ═══════ */
.j-row td:has(> .muted-cell:only-child) { display: none; }
.j-row .col-cross .badges { display: flex; flex-wrap: wrap; gap: 6px; }
body.journal-route .lang-toggle-wrap { display: none; }

/* ═══════ 手机端国际刊：把筛选分组显示出来（之前被隐藏，导致没有筛选按钮）═══════ */
@media (max-width: 900px) {
  .tab-panel[data-panel="int"] table.journals { display: block; }
  .tab-panel[data-panel="int"] table.journals thead { display: block !important; position: static; max-height: none; flex: none; }
  .tab-panel[data-panel="int"] table.journals thead tr {
    flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 8px 16px;
    padding: 12px 14px; margin-bottom: 12px;
    max-height: 230px; overflow-y: auto;
    border: 1px solid var(--rule); border-radius: 12px; background: var(--bg2);
    -webkit-overflow-scrolling: touch;
  }
  .tab-panel[data-panel="int"] table.journals thead th { width: auto; }
  .tab-panel[data-panel="int"] .th-dropdown { min-width: 0; }
  .tab-panel[data-panel="int"] #topic-dd-list { max-height: none; }
  .tab-panel[data-panel="int"] table.journals tbody { padding-top: 0; }
}

/* ═══════════ 手机端：iOS 风格底部标签栏 ═══════════ */
@media (max-width: 900px) {
  .app-rail {
    left: 0; right: 0; top: auto; bottom: 0;
    width: 100%; height: auto; min-height: 0;
    flex-direction: row; align-items: stretch; justify-content: flex-start;
    gap: 0;
    overflow-x: auto;
    padding: 5px 8px calc(4px + env(safe-area-inset-bottom));
    transform: none !important;
    border-right: 0; border-top: 1px solid rgba(39,35,31,.12);
    box-shadow: 0 -8px 28px rgba(39,35,31,.08);
    background: rgba(255,253,249,.9); -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px);
    z-index: 130;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .app-rail::-webkit-scrollbar { display: none; }
  .app-rail .rail-top {
    flex-direction: row; align-items: stretch; justify-content: space-around;
    flex: 0 0 auto;
    gap: 0; width: auto; padding: 0;
  }
  .app-rail .rail-close-mobile,
  .app-rail .rail-brand-mobile { display: none !important; }
  .app-rail .rail-bottom {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-around;
    flex: 0 0 auto;
    gap: 0;
    width: auto;
  }
  .app-rail .rail-top,
  .app-rail .rail-bottom {
    display: contents;
  }
  .rail-nav-btn {
    position: relative; flex: 0 0 58px; min-width: 58px; min-height: 52px; width: 58px;
    padding: 3px 0 1px; border-radius: 0; background: none !important;
    flex-direction: column; justify-content: center; align-items: center; gap: 3px;
    color: var(--ink-faint);
  }
  .rail-region-picker {
    flex: 0 0 58px;
    width: 58px;
    align-items: stretch;
  }
  .rail-region-toggle {
    flex: 0 0 58px;
    width: 58px;
  }
  .rail-region-menu {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(74px + env(safe-area-inset-bottom));
    top: auto;
    width: auto;
    max-width: calc(100vw - 20px);
    max-height: calc(100dvh - 96px - env(safe-area-inset-bottom));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 10px;
    border-radius: 16px;
    box-sizing: border-box;
    overflow-y: auto;
    pointer-events: auto;
    overscroll-behavior: contain;
  }
  .rail-region-option.rail-nav-btn {
    min-width: 0;
    min-height: 44px;
    justify-content: center;
    flex-direction: column;
    padding: 4px 6px;
  }
  .rail-region-option::after {
    position: absolute;
    right: 8px;
    top: 6px;
  }
  .app-rail .auth-btn {
    display: none !important;
  }
  .app-rail .account-credit-badge {
    flex: 0 0 58px;
    align-self: center;
    min-width: 58px;
    text-align: center;
    font-size: 10px;
    line-height: 1.1;
  }
  #fav-header-btn { order: 9; }
  #download-center-rail-link { order: 8; }
  #publication-footprint-rail-link { order: 8; }
  #account-credit-badge { order: 11; }
  #rankings-btn { order: 7; }
  .rail-nav-btn svg { width: 23px; height: 23px; }
  .rail-nav-btn span:not(.rail-flag):not(.fav-count-badge) {
    display: inline; max-width: none; font-size: 10px; line-height: 1; white-space: nowrap; font-weight: 600;
  }
  .rail-nav-btn .rail-flag {
    width: 23px; height: 19px; font-size: 11px; border-radius: 4px;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .rail-nav-btn.active { color: var(--accent); }
  .rail-nav-btn .fav-count-badge { top: 0; right: 22%; }
  /* 内容给底栏让位 */
  main.main { padding-bottom: 68px; }
  body { padding-left: 0; }
  /* 导航交给底栏，隐藏 ☰（筛选已内联在国际刊页顶部） */
  .side-toggle { display: none !important; }
  .me-page {
    width: 100%;
    margin: 8px auto 24px;
  }
  .me-hero {
    align-items: flex-start;
    padding: 18px;
    gap: 12px;
  }
  .me-avatar {
    width: 54px;
    height: 54px;
    font-size: 22px;
  }
  .me-title-block h1 { font-size: 20px; }
  .me-actions {
    flex-basis: 100%;
    justify-content: flex-start;
    margin-left: 66px;
  }
  .me-stat-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .me-stat-strip > .me-stat-item {
    border-right: 1px solid var(--rule-soft);
    border-bottom: 1px solid var(--rule-soft);
  }
  .me-stat-strip > .me-stat-item:nth-child(2n) { border-right: 0; }
  .me-grid {
    grid-template-columns: 1fr;
  }
  .me-record-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .me-record-row time {
    font-size: 11px;
  }
  .me-activity-heat {
    --activity-gap: 1.5px;
    overflow-x: hidden;
    padding-bottom: 4px;
  }
}

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--accent) !important;
  outline-offset: 3px;
}

:where(a, button, summary) {
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(180, 83, 31, .16);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ═══════ 手机端：防止横向溢出（中文卡片过长会撑宽页面→底部标签栏被挤出屏幕）═══════ */
@media (max-width: 900px) {
  html, body { overflow-x: hidden; max-width: 100%; }
  .main, .tab-panel, .tab-panel .results, .tab-panel .table-wrap { max-width: 100%; overflow-x: hidden; }
  .tab-panel table.journals, .tab-panel table.journals tbody { max-width: 100%; }
  .tab-panel table.journals tbody tr.j-row { max-width: 100%; overflow: hidden; }
  .j-row td { max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
  .j-row td[style*="width"] { width: auto !important; max-width: 100%; }
  .j-row .badges, .j-row .col-cross .badges { max-width: 100%; }
}

/* ═══════ 筛选区：顶部条已在上方定义；勿再给 th-dropdown 加独立卡片底 ═══════ */
.tab-panel[data-panel="int"] table.journals thead tr {
  background: none !important;
  border: 0 !important;
}
.tab-panel[data-panel="int"] thead .col-if { display: none !important; }
@media (max-width: 900px) {
  .tab-panel[data-panel="int"] table.journals thead .col-badge {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .tab-panel[data-panel="int"] thead .col-free {
    align-self: flex-start;
  }
}

/* ═══════ 地区站指标滑块（伊朗 H 指数等；全球 IF 滑块已移除） ═══════ */
.if-slider-row { display: flex; justify-content: flex-end; margin-bottom: 2px; }
.if-slider-val { font-size: 12.5px; font-weight: 800; color: var(--accent-deep, #c2410c); font-variant-numeric: tabular-nums; }
.reg-metric-slider {
  -webkit-appearance: none; appearance: none; width: 100%; height: 5px; border-radius: 999px;
  background: linear-gradient(90deg, var(--accent) var(--pct,0%), var(--rule) var(--pct,0%));
  outline: none; cursor: pointer; margin: 6px 0 2px;
}
.reg-metric-slider::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%;
  background: #fff; border: 2px solid var(--accent); box-shadow: 0 1px 5px rgba(60,40,20,.28); cursor: pointer; margin-top: -1px;
}
.reg-metric-slider::-moz-range-thumb {
  width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid var(--accent); box-shadow: 0 1px 5px rgba(60,40,20,.28); cursor: pointer;
}
.if-slider-ticks { display: flex; justify-content: space-between; font-size: 9px; color: var(--ink-faint); margin-top: 2px; font-variant-numeric: tabular-nums; }
/* 伊朗 H 指数滑块容器 */
.reg-slider-wrap { width: 100%; }
.isc-h-filter .dom-filter-label { margin-bottom: 6px; }

/* 学科筛选：占满筛选区宽度 */
.tab-panel[data-panel="int"] thead .col-wos { width: 100% !important; max-width: 100% !important; }
.tab-panel[data-panel="int"] #topic-dropdown { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }

/* ── header links: keep Warning List and plugin entry in the same nav flow ── */
#extension-beta-link {
  margin-left: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--ink-faint);
  padding: 2px 0;
  border-bottom: 1px solid transparent;
  line-height: 1.4;
  font-weight: 700;
}
#extension-beta-link:hover {
  color: var(--accent);
  border-color: var(--accent);
}
#plus-link {
  margin-left: 0;
  display: inline-flex;
  align-items: center;
  color: var(--ink-faint);
  padding: 2px 0;
  border-bottom: 1px solid transparent;
  line-height: 1.4;
  font-weight: 700;
}
#plus-link:hover {
  color: var(--accent);
  border-color: var(--accent);
}
#extension-beta-link .new-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 12px;
  padding: 0 4px;
  border-radius: 999px;
  background: #cf4b2f;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  transform: translateY(-5px);
}
@media (max-width: 600px) {
  /* on phones the chips wrap without hiding under the fixed language button */
  #extension-beta-link,
  #plus-link { margin-left: 0; }
}

/* ── fix: card meta chips overflow (free badge bleeding into IF), esp. EN ── */
.j-row .col-free, .j-row .col-if, .j-row .col-cycle { width: auto !important; max-width: none !important; flex: 0 0 auto; }
.j-row .col-free { margin-right: 8px; }
.j-row .col-if { margin-right: 8px; }
.j-row .col-cycle { margin-right: 8px; }
.j-row .col-free .oa-chip, .j-row .col-free .badge { white-space: nowrap; }

/* 免费独立列已隐藏；样式见上方 chip 规则 */

/* ── small experience polish: recommendation report ── */
.pick-risk {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  margin: 4px 0 0;
  padding: 1px 6px;
  border-radius: 999px;
  border: 1px solid var(--rule-soft);
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.25;
  white-space: normal;
}
.pick-risk-ok { color: #1f7a4b; background: #e9f7ef; border-color: #c8e8d3; }
.pick-risk-warn { color: #8a2c23; background: #f9e5df; border-color: #efc7ba; }
.pick-report-table .pick-apc,
.pick-report-table .pick-apc-free,
.pick-report-table .pick-apc-paid {
  background: #f7f2e8;
  color: var(--ink-faint);
  border-color: var(--rule-soft);
  font-weight: 650;
}
.pick-report-tier-table td:nth-child(3),
.pick-report-tier-table td:nth-child(4),
.pick-report-tier-table td:nth-child(5) {
  color: #5f422a;
  font-weight: 820;
}
@media (min-width: 721px) {
  .pick-report {
    background: rgba(255,253,248,.92);
    border-color: #ead7bf;
    border-radius: 10px;
    padding: 20px;
  }
  .pick-report-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }
  .pick-report-table {
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0 8px;
  }
  .pick-report-table th {
    border: 0;
    background: transparent;
    color: rgba(117,111,104,.82);
    padding: 0 10px 4px;
  }
  .pick-report-table td {
    background: #fffdf8;
    border-top: 1px solid #ead7bf;
    border-bottom: 1px solid #ead7bf;
    padding: 12px 10px;
  }
  .pick-report-table td:first-child {
    border-left: 1px solid #ead7bf;
    border-radius: 8px 0 0 8px;
  }
  .pick-report-table td:last-child {
    border-right: 1px solid #ead7bf;
    border-radius: 0 8px 8px 0;
  }
  .pick-report-tier-table th:nth-child(2),
  .pick-report-tier-table td:nth-child(2) { width: 245px; }
  .pick-report-tier-table th:nth-child(6),
  .pick-report-tier-table td:nth-child(6) { width: 108px; }
  .pick-report-tier-table th:nth-child(7),
  .pick-report-tier-table td:nth-child(7) { width: 108px; }
}

/* ── recommendation report: global repair (not scoped to mobile media) ── */
.pick-report {
  margin: 0 0 16px;
  padding: 18px;
  max-width: 100%;
  min-width: 0;
  border: 1px solid #ead7bf;
  border-radius: 10px;
  background: rgba(255,253,248,.94);
  box-shadow: 0 1px 0 rgba(43,42,39,.04), 0 12px 34px rgba(43,42,39,.08);
}
.pick-report-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}
.pick-report-kicker {
  color: var(--ink-faint);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.pick-report h2 {
  margin: 2px 0 0;
  font-size: 20px;
  line-height: 1.28;
  letter-spacing: 0;
}
.pick-report-source {
  flex: 0 1 330px;
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}
.pick-report-intro {
  margin: 8px 0 12px;
  color: var(--ink-soft);
  font-size: 13.5px;
  line-height: 1.7;
}
.pick-report-fields {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 0 0 14px;
}
.pick-report-fields-label {
  color: var(--ink-faint);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: .04em;
}
.pick-report-fields-text {
  min-width: 0;
  color: var(--ink-soft);
  font-size: 12.5px;
  font-weight: 680;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.pick-report-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--rule-soft);
}
.pick-report-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.pick-report-section-head h3 {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.35;
}
.pick-report-section-head p {
  margin: 0;
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.45;
  max-width: 560px;
}
.pick-tier-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--accent);
  vertical-align: 1px;
}
.pick-tier-backup .pick-tier-dot { background: #4f6f9b; }
.pick-tier-fallback .pick-tier-dot { background: #8a7456; }
.pick-tier-chinese .pick-tier-dot { background: #2d7a4f; }
.pick-tier-count {
  margin-left: 8px;
  color: var(--ink-faint);
  font-size: 11px;
  font-weight: 650;
}
.pick-report-table-wrap {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pick-report-table {
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0 8px;
  font-size: 12px;
}
.pick-report-table th {
  padding: 0 10px 4px;
  border: 0;
  background: transparent;
  color: rgba(117,111,104,.82);
  font-size: 11px;
  font-weight: 820;
  text-align: left;
}
.pick-report-table td {
  padding: 12px 10px;
  border-top: 1px solid #ead7bf;
  border-bottom: 1px solid #ead7bf;
  background: #fffdf8;
  text-align: left;
  vertical-align: top;
}
.pick-report-table td:first-child {
  border-left: 1px solid #ead7bf;
  border-radius: 8px 0 0 8px;
}
.pick-report-table td:last-child {
  border-right: 1px solid #ead7bf;
  border-radius: 0 8px 8px 0;
}
.pick-report-table a {
  color: var(--ink);
  font-weight: 760;
  text-decoration: none;
}
.pick-report-table a:hover { color: var(--accent); }
.pick-report-meta {
  display: block;
  margin-top: 4px;
  color: var(--ink-faint);
  font-size: 11px;
  line-height: 1.35;
}
.pick-report-journal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 9px;
  margin-top: 5px;
  color: var(--ink-faint);
  font-size: 10.5px;
  line-height: 1.35;
}
.pick-report-journal-meta-item {
  white-space: nowrap;
}
.pick-report-journal-fee .pick-apc {
  margin: 0;
  font-size: 10px;
  line-height: 1.3;
}
.pick-report-num {
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.pick-difficulty {
  color: var(--accent);
  letter-spacing: .06em;
  white-space: nowrap;
  font-size: 12px;
}
.pick-report-reason {
  color: var(--ink-soft);
  line-height: 1.58;
  overflow-wrap: anywhere;
}
.pick-report-tier-table th:nth-child(1),
.pick-report-tier-table td:nth-child(1) { width: 38px; }
.pick-report-tier-table th:nth-child(2),
.pick-report-tier-table td:nth-child(2) { width: 300px; }
.pick-report-tier-table th:nth-child(3),
.pick-report-tier-table td:nth-child(3) { width: 62px; color: #5f422a; font-weight: 820; }
.pick-report-tier-table th:nth-child(4),
.pick-report-tier-table td:nth-child(4) { width: 112px; }
.pick-report-tier-table th:nth-child(5),
.pick-report-tier-table td:nth-child(5) { width: auto; }
.pick-report-table .pick-apc,
.pick-report-table .pick-apc-free,
.pick-report-table .pick-apc-paid {
  background: #f7f2e8;
  color: var(--ink-faint);
  border-color: var(--rule-soft);
  font-weight: 650;
}
.pick-risk {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  margin: 5px 0 0;
  padding: 1px 7px;
  border-radius: 999px;
  border: 1px solid var(--rule-soft);
  font-size: 10.5px;
  font-weight: 780;
  line-height: 1.25;
  white-space: normal;
}
.pick-risk-ok { color: #1f7a4b; background: #e9f7ef; border-color: #c8e8d3; }
.pick-risk-warn { color: #8a2c23; background: #f9e5df; border-color: #efc7ba; }
.pick-report-strategy {
  margin: 0;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.65;
}
@media (max-width: 720px) {
  .pick-report { padding: 14px; border-radius: 8px; }
  .pick-report-head,
  .pick-report-section-head {
    display: block;
  }
  .pick-report-source {
    display: block;
    margin-top: 6px;
    text-align: left;
  }
  .pick-report-table {
    min-width: 640px;
    border-spacing: 0 7px;
  }
  .pick-report-tier-table th:nth-child(2),
  .pick-report-tier-table td:nth-child(2) { width: 210px; }
}

/* Final brand lock（文件末尾，压过所有 absolute/static 覆盖） */
.topbar-brand,
body.topbar-compact .topbar-brand,
body.simple-top-route .topbar-brand,
body.home-route .topbar-brand,
body.fav-route .topbar-brand {
  position: fixed !important;
  top: 20px !important;
  left: 96px !important;
  transform: none !important;
  z-index: 160 !important;
  display: inline-flex !important;
  font-size: 18px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  max-width: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* 期刊详情页：抽屉头自带标题，隐藏主区字标 */
body.journal-route .topbar-brand,
html.journal-route-pending .topbar-brand {
  display: none !important;
}
@media (max-width: 900px) {
  .topbar-brand,
  body.topbar-compact .topbar-brand,
  body.simple-top-route .topbar-brand,
  body.home-route .topbar-brand,
  body.fav-route .topbar-brand {
    top: 14px !important;
    left: 52px !important;
    font-size: 14px !important;
    max-width: calc(100vw - 148px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  /* 手机完整品牌：AILatest + Journal 斜体均显示 */
  .topbar-brand em,
  body.topbar-compact .topbar-brand em,
  body.home-route .topbar-brand em,
  body.fav-route .topbar-brand em,
  body.simple-top-route .topbar-brand em {
    display: inline !important;
    color: rgba(117,111,104,.88) !important;
    font-style: italic;
    font-weight: 650;
  }
  /* 再次压过：手机首页不要展示落地导航链接 */
  body.home-route .home-top-nav > a {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════
   Settings
   · 桌面：居中弹层（Grok / V9：圆角纸卡 + 磨砂遮罩，非全屏）
   · 手机：100dvh 全屏两级（列表 → 子页）
   ═══════════════════════════════════════════════ */
html.settings-open,
body.settings-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}
/* 桌面保留侧栏在遮罩后可见；手机再隐藏（见 max-width:900） */
.tab-panel[data-panel="me"] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 400 !important; /* 高于顶栏品牌/语言 160–165 */
  display: none !important;
  align-items: center;
  justify-content: center;
  padding: 28px 20px;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0;
  background: transparent;
  pointer-events: none;
  box-sizing: border-box;
  /* 避免被 main overflow 裁切；fixed 相对视口 */
  transform: none !important;
  visibility: hidden;
}
body.settings-open .tab-panel[data-panel="me"],
body.settings-open .tab-panel[data-panel="me"][hidden],
html.settings-open .tab-panel[data-panel="me"],
body[data-boot-tab="me"] .tab-panel[data-panel="me"] {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}
.settings-scrim {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(28, 25, 23, 0.38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
.settings-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  width: min(920px, calc(100vw - 40px));
  height: min(720px, calc(100dvh - 56px));
  max-width: 920px;
  max-height: min(720px, calc(100dvh - 56px));
  min-height: 0;
  background: #fffdf9;
  border-radius: 18px;
  box-shadow:
    0 0 0 1px rgba(28, 25, 23, 0.06),
    0 28px 64px rgba(28, 25, 23, 0.18);
  border: 0;
  overflow: hidden;
  animation: settings-pop .18s ease-out;
  box-sizing: border-box;
}
@keyframes settings-pop {
  from { opacity: .6; transform: translateY(8px) scale(.985); }
  to { opacity: 1; transform: none; }
}
.settings-handle { display: none !important; }
.settings-layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fffdf9;
}
.settings-nav {
  border-right: 1px solid #ebe9e6;
  background: #f7f4ef;
  padding: 18px 10px 20px;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  height: 100%;
}
.settings-nav-title {
  margin: 2px 10px 12px;
  font-size: 11px;
  font-weight: 700;
  color: #a8a29e;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.settings-nav button {
  appearance: none;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 9px 11px;
  border-radius: 10px;
  font: inherit;
  font-size: 13.5px;
  font-weight: 550;
  color: #57534e;
  cursor: pointer;
}
.settings-nav button:hover { background: rgba(28, 25, 23, 0.05); color: #1c1917; }
.settings-nav button.active {
  background: #fff;
  color: #1c1917;
  font-weight: 650;
  box-shadow: 0 1px 0 rgba(28, 25, 23, 0.04), 0 4px 12px rgba(28, 25, 23, 0.05);
}
.settings-body {
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 22px 26px 36px;
  min-height: 0;
  min-width: 0;
  max-width: none;
  width: 100%;
  background: #fffdf9;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}
.settings-body-inner {
  max-width: 560px;
}
.settings-back {
  display: none;
  appearance: none;
  border: 0;
  background: transparent;
  color: #c2410c;
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  padding: 0 0 12px;
  cursor: pointer;
  align-items: center;
  gap: 4px;
}
.settings-section {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}
.settings-subhead {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 650;
  color: #78716c;
  letter-spacing: 0;
}
.settings-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(28, 25, 23, 0.04);
  color: #78716c;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.settings-close:hover { background: rgba(28, 25, 23, 0.08); color: #1c1917; }
.settings-section-title {
  margin: 0 40px 16px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #ebe9e6;
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -.02em;
  color: #1c1917;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.settings-section[hidden] { display: none !important; }

/* 行式入口：仅底部分割线，无色块卡片 */
.settings-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 2px;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #ebe9e6;
  border-radius: 0;
  background: transparent;
  text-decoration: none;
  color: #1c1917;
  font-weight: 550;
  font-size: 14.5px;
  cursor: pointer;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  text-align: left;
  white-space: normal;
  line-height: 1.35;
}
.settings-link-row:last-of-type { border-bottom: 0; }
.settings-link-row:hover {
  border-color: #ebe9e6;
  background: transparent;
  color: #0c0a09;
}
.settings-link-row span {
  color: #c4c0bb;
  font-size: 15px;
  flex: 0 0 auto;
  font-weight: 400;
}
.me-page.settings-me {
  max-width: none;
  margin: 0;
  padding: 0;
  height: 100%;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}
/* 账号头：无卡片边框，底部分割 */
.me-page.settings-me .me-hero,
.me-page.settings-me .settings-account-hero {
  border: 0;
  border-bottom: 1px solid #ebe9e6;
  border-radius: 0;
  background: transparent;
  padding: 0 0 16px;
  box-shadow: none;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.me-page.settings-me .me-title-block {
  min-width: 0;
  flex: 1 1 140px;
  overflow: hidden;
}
.me-page.settings-me .me-title-block h1 {
  font-size: 16px;
  line-height: 1.3;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  max-width: 100%;
  font-weight: 700;
}
.me-page.settings-me .me-display-name {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.me-page.settings-me .me-account-meta {
  margin-top: 3px;
  font-size: 12.5px;
  line-height: 1.4;
  color: #a8a29e;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.me-page.settings-me .me-meta-sep {
  margin: 0 0.35em;
  opacity: .7;
}
.me-page.settings-me .me-actions {
  flex: 0 0 auto;
  margin-left: 0;
  justify-content: flex-start;
}
.me-page.settings-me .me-actions .btn-mini {
  border-radius: 8px;
  border: 1px solid #e7e5e4;
  background: transparent;
  box-shadow: none;
}
.me-page.settings-me .me-avatar {
  width: 44px;
  height: 44px;
  font-size: 17px;
  box-shadow: none;
  border: 1px solid #ebe9e6;
}
/* 数据条：横向数字，仅竖线分隔，无底板 */
.me-page.settings-me .me-stat-strip,
.me-page.settings-me .settings-stat-strip {
  border-radius: 0;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #ebe9e6;
  background: transparent;
  margin: 0 0 4px;
  padding: 4px 0 2px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  max-width: 100%;
  gap: 0;
}
.me-page.settings-me .me-stat-strip > .me-stat-item {
  min-height: 56px;
  padding: 12px 8px;
  gap: 3px;
  min-width: 0;
  border-right: 1px solid #ebe9e6;
  border-bottom: 0;
  background: transparent;
  border-radius: 0;
}
.me-page.settings-me .me-stat-strip > .me-stat-item:last-child { border-right: 0; }
.me-page.settings-me .me-stat-strip > .me-stat-item:hover,
.me-page.settings-me .me-stat-strip > .me-stat-item.active {
  background: transparent;
}
.me-page.settings-me .me-stat-strip strong {
  font-size: 15px;
  font-weight: 700;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #1c1917;
}
.me-page.settings-me .me-stat-strip span {
  font-size: 11px;
  line-height: 1.25;
  color: #a8a29e;
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* 内容块：去卡片，用间距 + 必要时一条顶部分割 */
.me-page.settings-me .me-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  padding: 16px 0 0;
  margin: 0;
}
.me-page.settings-me .settings-activity-card {
  margin-top: 0;
  padding-top: 16px;
  border-top: 1px solid #ebe9e6;
}
.me-page.settings-me .me-activity-months {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #a8a29e;
  margin-bottom: 10px;
}
.me-page.settings-me .me-activity-heat {
  --activity-weeks: 52;
  --activity-gap: 2px;
  width: 100%;
}
.me-page.settings-me .settings-activity-grid,
.me-page.settings-me .me-activity-grid {
  display: grid !important;
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(var(--activity-weeks), minmax(0, 1fr));
  grid-template-rows: repeat(7, auto);
  grid-auto-flow: column;
  gap: var(--activity-gap);
  overflow: visible;
  box-sizing: border-box;
}
.me-page.settings-me .me-activity-dot {
  width: 100%;
  min-width: 0;
  aspect-ratio: 1;
  height: auto;
  border-radius: 2px;
  box-sizing: border-box;
}
.me-page.settings-me .me-activity-month-row {
  width: 100%;
  grid-template-columns: repeat(var(--activity-weeks), minmax(0, 1fr));
  overflow: visible;
  margin-top: 8px;
}
.me-page.settings-me .me-activity-month-cell {
  font-size: 11px;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.me-page.settings-me .gift-code-results {
  max-width: 100%;
  overflow-x: auto;
}
.me-page.settings-me .gift-code-chip {
  max-width: min(100%, 280px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.me-page.settings-me .gift-admin-controls {
  flex-wrap: wrap;
  max-width: 100%;
}
.me-page.settings-me .gift-admin-controls select,
.me-page.settings-me .gift-admin-controls input {
  max-width: 100%;
}
.me-page.settings-me .gift-redeem-row {
  flex-wrap: wrap;
}
.me-page.settings-me .gift-redeem-row input {
  flex: 1 1 140px;
  min-width: 0;
  max-width: 100%;
}
.me-page.settings-me .me-gift-card {
  border-top: 0;
  padding-top: 4px;
}
.me-page.settings-me .gift-redeem,
.me-page.settings-me .gift-admin {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0 0 18px;
}
.me-page.settings-me .gift-admin {
  padding-top: 16px;
  border-top: 1px solid #ebe9e6;
}

/* 设置 · 语言：行选择，无色块芯片 */
.settings-hint {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: #78716c;
}
.settings-hint-soft {
  color: #a8a29e;
  font-size: 12.5px;
  margin-bottom: 14px;
}
.settings-lang-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 100%;
  border-top: 1px solid #ebe9e6;
}
.settings-lang-chip {
  appearance: none;
  border: 0;
  border-bottom: 1px solid #ebe9e6;
  border-radius: 0;
  background: transparent;
  padding: 13px 2px;
  font: inherit;
  font-size: 14.5px;
  font-weight: 550;
  color: #1c1917;
  cursor: pointer;
  text-align: left;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.settings-lang-chip:hover {
  border-color: #ebe9e6;
  background: transparent;
  color: #0c0a09;
}
.settings-lang-chip.active {
  border-color: #ebe9e6;
  background: transparent;
  color: #1c1917;
  box-shadow: none;
  font-weight: 650;
}
.settings-lang-chip.active::after {
  content: "✓";
  color: #f97316;
  font-weight: 700;
  font-size: 14px;
}

/* 设置 · 地区站：列表 + 底线，无橙色底板 */
.settings-region-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 100%;
  border-top: 1px solid #ebe9e6;
}
.settings-region-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 2px;
  border: 0;
  border-bottom: 1px solid #ebe9e6;
  border-radius: 0;
  background: transparent;
  min-width: 0;
}
.settings-region-row:last-child { border-bottom: 0; }
.settings-region-row.is-pinned {
  border-color: #ebe9e6;
  background: transparent;
}
.settings-region-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.settings-region-flag {
  flex: 0 0 auto;
  width: 28px;
  height: 22px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .03em;
  color: #78716c;
  background: transparent;
  border: 1px solid #e7e5e4;
}
.settings-region-meta strong {
  font-size: 14px;
  font-weight: 600;
  color: #1c1917;
  overflow-wrap: anywhere;
}
.settings-region-toggle {
  flex: 0 0 auto;
  appearance: none;
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 4px 0;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: #a8a29e;
  cursor: pointer;
  white-space: nowrap;
  max-width: 48%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.settings-region-row.is-pinned .settings-region-toggle {
  border-color: transparent;
  color: #f97316;
  background: transparent;
}
.settings-region-toggle:hover {
  filter: none;
  color: #57534e;
}
.settings-region-row.is-pinned .settings-region-toggle:hover {
  color: #c2410c;
}

/* 地区站管理已迁入设置：隐藏侧栏「···地区」入口 */
.rail-region-picker {
  display: none !important;
}

@media (max-width: 900px) {
  /* 设置：手机全屏两级（非桌面弹层） */
  body.settings-open .sidebar-scrim,
  body.settings-open #sidebar-scrim {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  /* 设置页仍保留底部主导航；点击其它按钮即可直接切换页面。 */
  body.settings-open .app-rail {
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 600 !important;
  }
  /* 打开时一并藏顶栏品牌/语言，避免叠在设置白屏上像「没打开」 */
  body.settings-open .topbar-brand,
  body.settings-open .home-top-nav,
  body.settings-open .lang-toggle-wrap {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.settings-open .tab-panel[data-panel="me"],
  body.settings-open .tab-panel[data-panel="me"][hidden] {
    align-items: stretch !important;
    justify-content: stretch !important;
    flex-direction: column !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 0 !important;
    width: 100vw !important;
    width: 100dvw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    background: #fff !important;
    z-index: 500 !important;
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: hidden !important;
  }
  /* 关键：#me-content 必须有实高，否则内部 absolute 导航高度为 0 → 全白屏 */
  body.settings-open .tab-panel[data-panel="me"] #me-content {
    display: block !important;
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }
  .settings-scrim {
    display: none !important; /* 全屏无需遮罩 */
  }
  body.settings-open .tab-panel[data-panel="me"] .settings-panel {
    display: flex !important;
    flex-direction: column !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    animation: none !important;
    transform: none !important;
    background: #fff !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  .settings-handle { display: none !important; }
  body.settings-open .tab-panel[data-panel="me"] .settings-layout {
    display: block !important;
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }
  /* 一级：全屏设置列表（不是侧边栏） */
  body.settings-open .settings-layout:not(.settings-subpage) .settings-nav,
  .settings-layout:not(.settings-subpage) .settings-nav {
    display: flex !important;
    position: absolute !important;
    inset: 0 !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    background: #ffffff !important;
    gap: 0 !important;
    padding: calc(12px + env(safe-area-inset-top, 0px)) 16px calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch;
    z-index: 2 !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #1c1917 !important;
  }
  .settings-layout:not(.settings-subpage) .settings-body {
    display: none !important;
  }
  .settings-layout:not(.settings-subpage) .settings-nav-title {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: #1c1917;
    text-transform: none;
    letter-spacing: -.03em;
    margin: 8px 4px 20px;
    line-height: 1.15;
  }
  .settings-layout:not(.settings-subpage) .settings-nav button {
    flex: 0 0 auto;
    width: 100%;
    white-space: normal;
    padding: 16px 4px;
    font-size: 16px;
    font-weight: 550;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid #ebe9e6;
    background: transparent;
    margin: 0;
    color: #1c1917;
  }
  .settings-layout:not(.settings-subpage) .settings-nav button.active,
  .settings-layout:not(.settings-subpage) .settings-nav button:hover {
    background: transparent;
    color: #1c1917;
    box-shadow: none;
  }
  /* 二级：全屏内容 + 返回（与一级同高度，不半屏） */
  .settings-layout.settings-subpage .settings-nav {
    display: none !important;
  }
  body.settings-open .settings-layout.settings-subpage .settings-body,
  .settings-layout.settings-subpage .settings-body {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: calc(12px + env(safe-area-inset-top, 0px)) 16px calc(92px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch;
    background: #ffffff !important;
    z-index: 2 !important;
    visibility: visible !important;
  }
  .settings-layout.settings-subpage .settings-back {
    display: inline-flex;
    position: sticky;
    top: 0;
    z-index: 2;
    margin: 0 0 8px;
    padding: 8px 0 12px;
    background: #ffffff;
  }
  /* 手机端不再提供右上角关闭；用底部导航切换即可。 */
  .settings-close { display: none !important; }
  .settings-body {
    max-width: none;
    padding: 14px 16px calc(28px + env(safe-area-inset-bottom, 0px));
  }
  .me-page.settings-me .settings-stat-strip,
  .me-page.settings-me .me-stat-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .me-page.settings-me .me-stat-strip > .me-stat-item {
    border-right: 1px solid #ebe9e6;
    border-bottom: 1px solid #ebe9e6;
  }
  .me-page.settings-me .me-stat-strip > .me-stat-item:nth-child(2n) { border-right: 0; }
  .me-page.settings-me .me-stat-strip > .me-stat-item:nth-last-child(-n+2) {
    border-bottom: 0;
  }
  .me-page.settings-me .me-actions {
    flex-basis: auto;
    width: 100%;
  }
  /* 手机全宽抽屉：必须留在本 media query 内，切勿泄漏为全局 */
  .app-rail {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }
  .j-drawer {
    width: 100% !important;
    max-width: 100% !important;
    border-left: 0;
  }
  body.journal-route .j-drawer.journal-page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
    padding: 0 12px !important;
  }
}

/* ═══════════ 详情页铺满：最终覆盖（主列 + 侧栏贴右，无右侧空白） ═══════════ */
html.journal-route,
html.journal-route body,
body.journal-route {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
body.journal-route {
  padding-left: 72px !important;
  margin: 0 !important;
}
body.journal-route .app-rail {
  display: flex !important;
  visibility: visible !important;
}
body.journal-route .j-drawer,
body.journal-route .j-drawer.open,
body.journal-route .j-drawer.journal-page {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 12px !important;
  padding-right: 16px !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
body.journal-route .drawer-body,
body.journal-route #drawer-body {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
body.journal-route .detail-layout,
body.journal-route .detail-layout.is-page {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
body.journal-route .detail-layout.is-page {
  grid-template-columns: minmax(0, 1fr) 280px !important;
  column-gap: 28px !important;
}
body.journal-route .detail-main-col {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}
body.journal-route .detail-side-col {
  width: 280px !important;
  max-width: 280px !important;
}
body.journal-route .d-hero,
body.journal-route .info-grid,
body.journal-route .detail-more,
body.journal-route .detail-charts,
body.journal-route .journal-detail-masonry,
body.journal-route .drawer-head {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
/* 大屏：侧栏略宽，主列继续吃满 */
@media (min-width: 1280px) {
  body.journal-route .detail-layout.is-page {
    grid-template-columns: minmax(0, 1fr) 300px !important;
    column-gap: 36px !important;
  }
  body.journal-route .detail-side-col {
    width: 300px !important;
    max-width: 300px !important;
  }
  body.journal-route .j-drawer.journal-page {
    padding-left: 16px !important;
    padding-right: 20px !important;
  }
}
@media (min-width: 1600px) {
  body.journal-route .detail-layout.is-page {
    grid-template-columns: minmax(0, 1fr) 320px !important;
    column-gap: 40px !important;
  }
  body.journal-route .detail-side-col {
    width: 320px !important;
    max-width: 320px !important;
  }
}
@media (max-width: 1100px) {
  body.journal-route .detail-layout.is-page {
    grid-template-columns: 1fr !important;
  }
  body.journal-route .detail-layout.is-page .detail-side-col {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    position: static !important;
  }
}
@media (max-width: 900px) {
  body.journal-route {
    padding-left: 0 !important;
  }
  body.journal-route .j-drawer.journal-page {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* ═══════ 手机端国际刊筛选：每组按上下流排列，避免右侧选项被误认为隐藏 ═══════ */
@media (max-width: 900px) {
  .tab-panel[data-panel="int"] table.journals thead,
  .tab-panel[data-panel="int"] table.journals thead tr {
    overflow: visible !important;
  }
  .tab-panel[data-panel="int"] table.journals thead .col-badge {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown,
  .tab-panel[data-panel="int"] #if-dropdown.th-if-row,
  .tab-panel[data-panel="int"] #warn-dropdown.th-warn-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 6px !important;
    column-gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(90, 70, 50, 0.08) !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown:last-child,
  .tab-panel[data-panel="int"] #warn-dropdown.th-warn-row {
    border-bottom: 0 !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown > .th-dropdown-btn,
  .tab-panel[data-panel="int"] #if-dropdown.th-if-row > .th-dropdown-btn,
  .tab-panel[data-panel="int"] #warn-dropdown.th-warn-row > .th-dropdown-btn {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    justify-content: flex-start !important;
    text-align: left !important;
    border: 0 !important;
    background: transparent !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown-panel,
  .tab-panel[data-panel="int"] #if-dropdown.th-if-row .th-dropdown-panel,
  .tab-panel[data-panel="int"] #warn-dropdown.th-warn-row .th-dropdown-panel {
    grid-column: 1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

/* ═══════ 期刊徽章对比度：卡片/详情页统一主页色板 ═══════
   详情页和列表卡之前单独覆写成接近底色的浅芯片，扫描期刊信息时不易分辨。
   这里沿用主页的色板，只提升信息层级，不改变字号、间距或布局。 */
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-rank,
  .j-row .badges-access,
  .j-row .badges-risk
) :is(
  .badge,
  .zone,
  .xr-pill,
  .if-pill,
  .domsrc-pill,
  .abdc-pill,
  .abs-pill,
  .ccf-pill,
  .tier-pill,
  .warn-pill,
  .flagship-pill,
  .on-hold-pill,
  .under-review-pill,
  .citic-warning-pill,
  .retraction-pill
) {
  background: #735a3e !important;
  color: #fff !important;
  border-color: rgba(90, 70, 50, 0.3) !important;
}

/* 收录类：与主页 .badge.* 保持一一对应 */
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-access
) :is(.badge.b-scie, .badge.b-ssci, .badge.b-ahci) {
  background: #1f3a5f !important;
  color: #fff !important;
}
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-access
) .badge.b-esci { background: #6a7a6a !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-access
) .badge.b-ei { background: #7a7a6a !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-access
) :is(.badge.b-scopus, .badge.b-cabi) { background: #8a706a !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-access
) .badge.b-inspec { background: #395f78 !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-access
) :is(.badge.b-medline, .badge.b-pubmed, .badge.b-pmc) {
  background: #285f7a !important;
  color: #fff !important;
}
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-access
) :is(.badge.b-doaj, .badge.b-oaj, .badge.b-free) {
  background: #2d8a4e !important;
  color: #fff !important;
}
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx,
  .j-row .badges-access
) :is(.badge.b-cscd, .badge.b-cstpcd, .badge.b-scd) {
  background: #4f6f7c !important;
  color: #fff !important;
}

/* 分区与跨源标签：沿用主页的暖棕、酒红、钢蓝灰和紫灰 */
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) :is(.abdc-pill, .abs-pill) { background: #724a58 !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) .zone.fms-tier { background: #7b4f24 !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) .zone.vhb-tier { background: #624a82 !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) :is(.tier-pill, .domsrc-pill.ds-cnki_major) { background: #72849b !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) :is(.ccf-pill, .xr-pill, .if-pill, .flagship-pill) { background: #735a3e !important; color: #fff !important; }

/* 风险/预警也使用主页的高对比色，避免与底色混成一片 */
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank,
  .j-row .badges-risk
) .warn-pill { background: var(--crimson) !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank,
  .j-row .badges-risk
) .under-review-pill { background: #e67e22 !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank,
  .j-row .badges-risk
) .on-hold-pill { background: #d94a1e !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank,
  .j-row .badges-risk
) :is(.citic-warning-pill, .retraction-pill) { background: #6f665d !important; color: #fff !important; }

/* 主页色板中的少数细分标签在详情/列表里也保持原有专色 */
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) :is(.zone.abs-g4s, .zone.abs-g4, .zone.abs-g3, .zone.abs-g2, .zone.abs-g1, .abdc-pill) {
  background: #724a58 !important;
  color: #fff !important;
}
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) .zone.cnrs-tier { background: #5f6470 !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) .domsrc-pill.ds-cnkx { background: #8b4513 !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-rank
) .ccf-pill { background: #72728d !important; color: #fff !important; }
:is(
  .info-grid .pills,
  .info-grid .badges,
  body.journal-route .pills,
  body.journal-route .badges,
  .j-drawer .pills,
  .j-drawer .badges,
  .j-row .j-card-badges,
  .j-row .col-badge,
  .j-row .badges-idx
) .badge.b-pmc { background: #2f6f68 !important; color: #fff !important; }

/* ═══════ 徽章扁平浅色层（2026-08） ═══════
   徽章只做信息分组，不使用深色实心块、内侧高光或投影。这里放在
   文件末尾，统一覆盖历史页面、详情抽屉、列表卡和荐刊卡的旧色板。 */
:root {
  --badge-edge: none;
  --badge-border: 1px solid rgba(90, 70, 50, 0.16);
}

html[lang] body :is(
  .badge,
  .zone,
  .xr-pill,
  .if-pill,
  .domsrc-pill,
  .abdc-pill,
  .abs-pill,
  .ccf-pill,
  .tier-pill,
  .warn-pill,
  .flagship-pill,
  .on-hold-pill,
  .under-review-pill,
  .citic-warning-pill,
  .retraction-pill,
  .share-idx,
  .share-jcr,
  .pick-zone-badge,
  .oa-pill,
  .oa-chip,
  .badge-oa,
  .rank-pill,
  .pill-under-review,
  .pill-on-hold,
  .pill-warning,
  .pill-citic-warning,
  .home-more-badge
)[class] {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 21px;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  font-family: var(--sans);
  font-size: 10.5px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
  box-shadow: none !important;
  text-shadow: none !important;
  border: 1px solid rgba(90, 70, 50, 0.16) !important;
  background: #f4f2ee !important;
  color: #655f58 !important;
}

/* 收录：浅蓝 / 浅灰蓝 */
html[lang] body :is(.badge.b-scie, .badge.b-ssci, .badge.b-ahci, .share-idx.idx-scie, .share-idx.idx-ssci, .share-idx.idx-ahci)[class] {
  background: #e8eef8 !important;
  color: #3e5a7a !important;
  border-color: #cbd8eb !important;
}
html[lang] body :is(.badge.b-esci, .badge.b-ei, .badge.b-scopus, .badge.b-inspec, .badge.b-fsta, .badge.b-cabi, .share-idx.idx-esci, .share-idx.idx-ei)[class] {
  background: #edf2f4 !important;
  color: #506372 !important;
  border-color: #d3dfe4 !important;
}
html[lang] body :is(.badge.b-medline, .badge.b-pubmed, .badge.b-pmc)[class] {
  background: #e7f1f4 !important;
  color: #356574 !important;
  border-color: #c9dfe5 !important;
}
html[lang] body :is(.badge.b-cscd, .badge.b-cstpcd, .badge.b-scd)[class] {
  background: #edf6ef !important;
  color: #467055 !important;
  border-color: #cfe4d4 !important;
}
html[lang] body :is(.badge.b-doaj, .badge.b-oaj, .badge.b-free)[class] {
  background: #eaf6ec !important;
  color: #32764a !important;
  border-color: #cce5d2 !important;
}
html[lang] body :is(.oa-pill, .oa-chip, .badge-oa)[class] {
  background: #eaf6ec !important;
  color: #32764a !important;
  border-color: #cce5d2 !important;
}
html[lang] body :is(.oa-pill.oa-gold, .oa-chip.oa-isoa, .badge-oa.oa-gold)[class] {
  background: #fbf1d9 !important;
  color: #806227 !important;
  border-color: #ead9a9 !important;
}
html[lang] body :is(.oa-pill.oa-hybrid, .badge-oa.oa-hybrid)[class] {
  background: #edf1fa !important;
  color: #50658b !important;
  border-color: #d3dcef !important;
}
html[lang] body :is(.oa-pill.oa-sub, .oa-pill.oa-unk)[class] {
  background: #f4f2ee !important;
  color: #655f58 !important;
  border-color: #ded8cf !important;
}

/* 分区、等级：浅暖色 / 浅紫色 */
html[lang] body :is(.zone, .if-pill, .badge.b-jcr, .flagship-pill, .share-idx.jcr-q1, .share-idx.jcr-q2, .share-idx.jcr-q3, .share-idx.jcr-q4, .share-jcr.jcr-q1, .share-jcr.jcr-q2, .share-jcr.jcr-q3, .share-jcr.jcr-q4)[class] {
  background: #f8efe2 !important;
  color: #7b603e !important;
  border-color: #ead7bd !important;
}
html[lang] body :is(.zone.z1, .pick-zone-badge.z1)[class] {
  background: #e8eef8 !important;
  color: #3e5a7a !important;
  border-color: #cbd8eb !important;
}
html[lang] body :is(.zone.z2, .pick-zone-badge.z2)[class] {
  background: #edf2f4 !important;
  color: #506372 !important;
  border-color: #d3dfe4 !important;
}
html[lang] body :is(.zone.z3, .zone.z4, .pick-zone-badge.z3, .pick-zone-badge.z4)[class] {
  background: #f4f2ee !important;
  color: #655f58 !important;
  border-color: #ded8cf !important;
}
html[lang] body :is(.zone.ztop, .pick-zone-badge.ztop)[class] {
  background: #f8efe2 !important;
  color: #7b603e !important;
  border-color: #ead7bd !important;
}
html[lang] body :is(.xr-pill, .ccf-pill, .zone.vhb-tier)[class] {
  background: #f0edf8 !important;
  color: #67598d !important;
  border-color: #ddd5ef !important;
}
html[lang] body :is(.abdc-pill, .abs-pill, .zone.abs-g4s, .zone.abs-g4, .zone.abs-g3, .zone.abs-g2, .zone.abs-g1)[class] {
  background: #f5eaee !important;
  color: #7b5260 !important;
  border-color: #ead3db !important;
}
html[lang] body :is(.tier-pill, .domsrc-pill, .zone.cnrs-tier)[class] {
  background: #edf1f4 !important;
  color: #5c6c79 !important;
  border-color: #d5dfe5 !important;
}
html[lang] body :is(.zone.fms-tier, .domsrc-pill.ds-cnkx)[class] {
  background: #f5ece3 !important;
  color: #8a5b3c !important;
  border-color: #ead6c3 !important;
}

/* ─────────── 手机全球站最终布局修正 ───────────
   筛选器改为单列自然流，避免末尾旧的横向规则把 thead 压到首张卡片上。 */
@media (max-width: 900px) {
  .tab-panel[data-panel="int"] .table-wrap {
    overflow: visible !important;
    isolation: isolate;
  }
  .tab-panel[data-panel="int"] table.journals {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .tab-panel[data-panel="int"] table.journals thead {
    display: block !important;
    position: relative !important;
    z-index: 4;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 10px !important;
    box-sizing: border-box;
  }
  .tab-panel[data-panel="int"] table.journals thead tr {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .tab-panel[data-panel="int"] table.journals thead .col-badge {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .tab-panel[data-panel="int"] table.journals thead .col-wos {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown {
    position: static !important;
    display: grid !important;
    grid-template-columns: 3.2em minmax(0, 1fr) !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown-panel {
    position: static !important;
    display: flex !important;
    grid-column: 2 !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: flex-start !important;
    gap: 5px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    box-sizing: border-box;
  }
  .tab-panel[data-panel="int"] #topic-dropdown {
    display: block !important;
    width: 100% !important;
  }
  .tab-panel[data-panel="int"] #topic-dropdown .th-dropdown-panel {
    display: flex !important;
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .tab-panel[data-panel="int"] #topic-dd-list {
    max-height: 180px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .tab-panel[data-panel="int"] table.journals tbody {
    display: grid !important;
    position: relative;
    z-index: 1;
    clear: both;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ═══════ 手机端筛选标签与选项留出明确间距 ═══════
   中文分类词（收录 / 中科院 / 新锐）不能和右侧徽章共用过窄的固定列。
   让标签按自身文字取宽，并给选项保留间隔，避免不同字体或系统字号下重叠。 */
@media (max-width: 900px) {
  .tab-panel[data-panel="int"] .th-dropdown:not(#if-dropdown):not(#warn-dropdown):not(#topic-dropdown) {
    grid-template-columns: max-content minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown:not(#if-dropdown):not(#warn-dropdown):not(#topic-dropdown) > .th-dropdown-btn {
    width: auto !important;
    min-width: max-content !important;
    max-width: max-content !important;
    justify-content: flex-start !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
  .tab-panel[data-panel="int"] .th-dropdown:not(#if-dropdown):not(#warn-dropdown):not(#topic-dropdown) > .th-dropdown-panel {
    min-width: 0 !important;
    width: auto !important;
  }

  /* 详情页移动端快捷区改为单列，收藏、评分和相关期刊都撑满内容区。 */
  body.journal-route .detail-layout.is-page .detail-side-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-template-columns: none !important;
  }
  body.journal-route .detail-layout.is-page .detail-side-col > .side-h,
  body.journal-route .detail-layout.is-page .detail-side-col > .side-card,
  body.journal-route .detail-layout.is-page .detail-side-col > .side-rating-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* 分享名片：移动端内容可滚动，但关闭按钮始终留在卡片顶部。 */
.share-modal-card {
  display: flex;
  flex-direction: column;
  max-height: min(760px, calc(100dvh - 32px));
  overflow: hidden;
}
.share-modal-card .share-modal-body {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.share-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 5;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(90, 70, 50, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: #6e6256;
  font: 500 22px/27px var(--sans);
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(60, 40, 20, 0.12);
}
.share-modal-close:hover {
  background: #fff;
  color: #1f1a10;
}
@media (max-width: 600px) {
  .share-modal {
    align-items: flex-start;
    overflow-y: auto;
    padding: 12px;
  }
  .share-modal-card {
    width: 100%;
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
  }
  .share-modal-card .share-modal-body,
  .jcard-modal .share-modal-body {
    padding-top: 44px;
  }
  .jcard-export { padding: 14px 12px 11px; }
  .jcard { padding: 16px 14px 14px; }
  .jcard-title { font-size: 18px; }
  .jcard-meta-row { gap: 8px; font-size: 12px; line-height: 1.55; }
  .jcard-meta-k { min-width: 68px; }
  .jcard-stats { gap: 6px; margin: 8px 0; padding: 8px 0; }
  .jcard-stat-v { font-size: 17px; }
}

/* 风险：保留红/橙语义，但改成浅底；撤稿数量不再使用拟物高光。 */
html[lang] body :is(.warn-pill, .badge.b-warn, .badge.b-warn-high, .badge.b-retraction, .retraction-pill, .rank-pill-risk, .pill-warning, .pill-citic-warning)[class] {
  background: #faecea !important;
  color: #9e4e47 !important;
  border-color: #efcfcb !important;
}
html[lang] body :is(.under-review-pill, .on-hold-pill, .pill-under-review, .pill-on-hold)[class] {
  background: #fbefe3 !important;
  color: #9a623f !important;
  border-color: #ecd6c2 !important;
}
html[lang] body :is(.rank-pill-info)[class] {
  background: #edf2f8 !important;
  color: #526b83 !important;
  border-color: #d3dfe9 !important;
}
html[lang] body :is(.citic-warning-pill)[class] {
  background: #f1efeb !important;
  color: #6e665d !important;
  border-color: #ded8cf !important;
}

/* ─────────── Persistent rail states ───────────
   All four bottom entries use the same geometry and state treatment.  Older
   page-specific rules gave 收藏, 足迹 and 设置 different filled cards and
   shadows, which made a click look like a new sidebar/page shell. */
.app-rail .rail-nav-btn,
.app-rail .account-credit-badge {
  transform: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.app-rail .rail-nav-btn:hover,
.app-rail .rail-nav-btn.active,
.app-rail .rail-nav-btn[aria-current="page"],
.app-rail .account-credit-badge:hover,
.app-rail .account-credit-badge.active,
.app-rail .account-credit-badge[aria-current="page"] {
  transform: none;
  color: var(--accent);
  background: rgba(249, 115, 22, .065) !important;
  border-color: rgba(249, 115, 22, .20) !important;
  box-shadow: none !important;
}
.app-rail .rail-nav-btn:focus-visible,
.app-rail .account-credit-badge:focus-visible {
  transform: none;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, .28) !important;
}

@media (max-width: 900px) {
  /* The bottom rail stays a flat, fixed bar; active state must not become a
     floating card or change the height of the navigation row. */
  .app-rail .rail-nav-btn,
  .app-rail .account-credit-badge {
    transform: none !important;
    border-radius: 12px !important;
  }
  .app-rail .rail-nav-btn:hover,
  .app-rail .rail-nav-btn.active,
  .app-rail .rail-nav-btn[aria-current="page"],
  .app-rail .account-credit-badge:hover,
  .app-rail .account-credit-badge.active,
  .app-rail .account-credit-badge[aria-current="page"] {
    background: rgba(249, 115, 22, .065) !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  /* Keep the mobile rail geometry independent of how many station/region
     entries a route exposes.  The previous flex:1 rule stretched each
     button differently on home, favorites and footprint pages. */
  .app-rail .rail-nav-btn,
  .app-rail .account-credit-badge,
  .app-rail .rail-region-picker {
    flex: 0 0 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }
}
