:root {
  /* 浅色为全站默认（2026-09-01 收尾批）：改版期间深色值已随批次全部退役；
     .home-light/.home-light-body 作用域类保留为挂皮机制不再承载变量 */
  --bg:           #f2f6f4;
  --bg-2:         #e6efeb;
  --bg-card:      #ffffff;
  --bg-hover:     #f4faf7;
  --border:       #d5e1dc;
  --border-hi:    #a9c0b7;

  --blue:         #087f8c;
  --blue-dim:     rgba(8, 127, 140, .10);
  --blue-glow:    rgba(8, 127, 140, .18);

  --green:        #147a4b;
  --green-dim:    rgba(20, 122, 75, .10);
  --cyan:         #087f8c;
  --cyan-dim:     rgba(8, 127, 140, .10);
  --yellow:       #9a6200;
  --red:          #a63c3c;
  --red-dim:      rgba(166, 60, 60, .10);
  --yellow-dim:   rgba(154, 98, 0, .10);

  --gold:         #9a6200;
  --silver:       #64748b;
  --silver-dim:   rgba(100, 116, 139, .10);
  --bronze:       #cd7f42;

  --text-1:       #17221f;
  --text-2:       #4f625b;
  --text-3:       #71837c;

  /* 系统字体栈，避免依赖 Google Fonts（大陆访问受限）。
     上线后若需要 JetBrains Mono 品牌字体，自托管到 STATIC_CDN_BASE 即可，无需改 CSS。 */
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', 'Cascadia Code', 'Roboto Mono', Menlo, Consolas, 'Courier New', monospace;
  --sans: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', 'Noto Sans SC', 'Segoe UI', Roboto, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  background: var(--bg);
  color: var(--text-1);
  font-family: var(--sans);
  font-size: 15px;
  min-height: 100vh;
  background-image:
    radial-gradient(ellipse 60% 40% at 15% 0%, rgba(79,142,247,.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 35% at 85% 100%, rgba(0,201,123,.05) 0%, transparent 60%);
}

.top-bar {
  height: 2px;
  background: linear-gradient(90deg, var(--blue) 0%, #6366f1 35%, var(--green) 70%, transparent 100%);
}

/* ── 顶部公告条（域名变更提示，2026-08-05）── */
.nb-hidden .notice-bar { display: none; }
.notice-bar {
  background: linear-gradient(90deg, rgba(251,191,36,.11) 0%, rgba(251,191,36,.05) 55%, transparent 100%);
  border-bottom: 1px solid rgba(251,191,36,.16);
}
.notice-bar-inner {
  max-width: 1040px; margin: 0 auto;
  padding: 7px 20px;
  display: flex; align-items: center; gap: 12px;
  font-size: 12.5px; line-height: 1.5; color: #e8d4a0;
}
.notice-bar-text { flex: 1; min-width: 0; }
.notice-bar-bk {
  font: inherit; color: var(--yellow); background: none; border: none;
  padding: 0; cursor: pointer;
  text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px;
}
.notice-bar-bk:hover { color: #fde68a; }
.notice-bar-close {
  flex: none; background: none; border: none; cursor: pointer;
  color: rgba(251,191,36,.5); font-size: 16px; line-height: 1;
  padding: 2px 2px;
  transition: color .15s;
}
.notice-bar-close:hover { color: var(--yellow); }

/* ══ 导航 ══ */
header {
  border-bottom: 1px solid var(--border);
  background: rgba(7,11,20,.93);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  position: sticky; top: 0; z-index: 100;
}
.header-inner {
  max-width: 1040px; margin: 0 auto;
  padding: 0 20px; height: 62px;
  display: flex; align-items: center; justify-content: space-between;
}
.logo {
  font-family: var(--mono);
  font-size: 13px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-1);
  display: flex; align-items: center; gap: 10px;
  text-decoration: none;
}
.logo-mark {
  width: 30px; height: 30px;
  background: linear-gradient(135deg, #4f8ef7, #6366f1);
  border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 13px; font-weight: 900;
  color: #fff; letter-spacing: 0;
  box-shadow: 0 0 18px rgba(79,142,247,.35), inset 0 1px 0 rgba(255,255,255,.15);
}
.main-nav { display: flex; flex-wrap: nowrap; }
.nav-link {
  font-family: var(--sans);
  font-size: 13px; letter-spacing: .02em;
  padding: 0 14px; height: 62px;
  display: flex; align-items: center;
  color: var(--text-2);
  text-decoration: none;
  position: relative;
  transition: color .2s;
  white-space: nowrap;     /* 防"选站避雷"被压成 2 行 */
  flex-shrink: 0;
}
.nav-link:hover { color: var(--text-1); }
/* 选中蓝条：原来是整个 62px 高盒子的 border-bottom，文字垂直居中 → 字和条之间空了 ~22px。
   改成绝对定位的 ::after 贴到文字下方，保留 62px 点击热区和与 logo 的垂直对齐不变。 */
.nav-link.active { color: var(--blue); }
.nav-link.active::after {
  content: ""; position: absolute;
  left: 12px; right: 12px; bottom: 14px;
  height: 2px; border-radius: 1px; background: var(--blue);
}
/* 申请收录：服务站方非访客，视觉弱化（不抢访客注意力） */
.nav-link-muted { color: var(--text-3); opacity: .75; }
.nav-link-muted:hover { color: var(--text-2); opacity: 1; }
/* 导航「模型比价」下拉（2026-08-31）：17 个型号 SSR 真链接；
   菜单 fixed 定位由 JS 摆（初始化即挪到 body 下，见 base.html 页尾脚本） */
.nav-drop { display: flex; flex-shrink: 0; }
.nav-drop-btn { background: none; border: none; cursor: pointer; font: inherit; letter-spacing: .02em; }
.nav-drop-btn:hover, .nav-drop-btn.nd-open { color: var(--text-1); }
.nav-drop-btn.active { color: var(--blue); }
.nd-caret { font-size: 9px; margin-left: 3px; opacity: .7; }
.nav-drop-menu {
  position: fixed; z-index: 80;
  background: var(--bg-card); border: 1px solid var(--border-hi); border-radius: 10px;
  padding: 12px 14px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .5);
  display: flex; flex-direction: column; gap: 7px;
  max-width: min(600px, calc(100vw - 16px));
  max-height: calc(100vh - 90px); overflow-y: auto;
}
.nd-row { display: flex; align-items: baseline; gap: 10px; }
.nd-brand {
  flex: 0 0 64px; font-family: var(--mono); font-size: 10px;
  color: var(--text-3); letter-spacing: .08em; text-transform: uppercase;
}
.nd-links { display: flex; flex-wrap: wrap; gap: 4px 6px; min-width: 0; }
.nd-links a {
  padding: 3px 10px; border: 1px solid var(--border); border-radius: 4px;
  background: var(--bg-2); color: var(--text-1); text-decoration: none;
  font-size: 12.5px; white-space: nowrap;
}
.nd-links a:hover { border-color: var(--blue); color: var(--blue); }
.header-meta {
  font-family: var(--mono);
  font-size: 10px; color: var(--text-2);
  letter-spacing: .05em;
  display: flex; align-items: center; gap: 8px;
  flex-shrink: 0;
}
.live-badge {
  display: flex; align-items: center; gap: 5px;
  background: var(--green-dim);
  border: 1px solid rgba(0,201,123,.22);
  color: var(--green);
  padding: 3px 9px; border-radius: 3px;
  font-size: 10px; font-weight: 600;
}
.live-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 5px var(--green);
  animation: blink 2.5s ease-in-out infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }

/* ══ 主体 ══ */
main { max-width: 1100px; margin: 0 auto; padding: 36px 28px 100px; }

.page-title { margin-bottom: 32px; }
.page-title h1 {
  font-family: var(--mono);
  font-size: 24px; font-weight: 700;
  letter-spacing: .02em; line-height: 1.2;
  margin-bottom: 8px;
}
.page-title h1 em {
  font-style: normal;
  background: linear-gradient(90deg, var(--blue) 0%, #818cf8 50%, var(--green) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.page-title p {
  font-family: var(--mono); font-size: 12px;
  color: var(--text-2); letter-spacing: .06em;
}

/* ── 工具栏 ── */
.toolbar {
  display: flex; align-items: center; gap: 6px;
  margin-bottom: 18px; flex-wrap: wrap;
}
.toolbar-label {
  font-family: var(--sans); font-size: 12px;
  color: var(--text-2); letter-spacing: .02em;
  margin-right: 2px;
}
.chip {
  font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
  padding: 5px 12px;
  border: 1px solid var(--border-hi); border-radius: 3px;
  background: transparent; color: var(--text-2);
  cursor: pointer; transition: all .15s;
  text-decoration: none;
  display: inline-flex; align-items: center;
}
.chip:hover { border-color: var(--blue); color: var(--blue); }
.chip.active { border-color: var(--blue); color: var(--blue); background: var(--blue-dim); }
.divider-v { width: 1px; height: 16px; background: var(--border-hi); margin: 0 6px; }
.sort-group { margin-left: auto; display: flex; align-items: center; gap: 5px; }
.sort-btn {
  font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
  padding: 5px 12px;
  border: 1px solid var(--border-hi); border-radius: 3px;
  background: transparent; color: var(--text-2);
  cursor: pointer; transition: all .15s;
  text-decoration: none;
  display: inline-flex; align-items: center;
}
.sort-btn:hover { color: var(--cyan); border-color: var(--cyan); }
.sort-btn.active { color: var(--cyan); border-color: var(--cyan); background: var(--cyan-dim); }

/* ── 表头 ── */
.table-header {
  display: grid;
  grid-template-columns: 372px 108px 84px 62px 76px 76px 72px 86px;
  gap: 0 10px;
  max-width: 1080px;
  padding: 8px 20px 8px 26px;
  margin-bottom: 6px;
  border-bottom: 1px solid var(--border);
}
.th {
  font-family: var(--sans); font-size: 12px;
  color: var(--text-2); letter-spacing: .02em;
  font-weight: 500; white-space: nowrap;
}
.th.center { text-align: center; }

/* ══ 卡片 ══ */
.card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  margin-bottom: 5px;
  max-width: 1080px;
  overflow: hidden;
  transition: border-color .2s, background .2s, transform .15s;
  position: relative;
  animation: fadeUp .35s ease both;
}
.card:hover {
  border-color: var(--border-hi);
  background: var(--bg-hover);
  transform: translateX(3px);
}
.card::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
}
.card.tier-s::before, .card.tier-a::before { background: var(--blue); box-shadow: 0 0 8px rgba(79,142,247,.5); }
.card.tier-b::before { background: var(--green); }
.card.tier-c::before { background: var(--border); }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(8px); }
  to   { opacity:1; transform:translateY(0); }
}
.card:nth-child(-n+8) { animation-delay: calc(.04s * var(--i, 1)); }

.card-row {
  display: grid;
  grid-template-columns: 372px 108px 84px 62px 76px 76px 72px 86px;
  gap: 0 10px;
  align-items: center;
  padding: 14px 18px 14px 24px;
  min-height: 72px;
}

/* ── 排名 ── */
.rank-col { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.rank-tier {
  font-family: var(--mono); font-size: 13px; font-weight: 800;
  letter-spacing: .04em; line-height: 1;
  width: 26px; height: 26px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 5px;
}
.rank-tier.rt-s { background: rgba(79,142,247,.15); color: var(--blue); border: 1px solid rgba(79,142,247,.35); }
.rank-tier.rt-a { background: rgba(0,201,123,.12); color: var(--green); border: 1px solid rgba(0,201,123,.28); }
.rank-tier.rt-b { background: rgba(255,255,255,.04); color: var(--text-3); border: 1px solid var(--border-hi); }
.rank-tier.rt-c { background: rgba(248,113,113,.06); color: #7a4040; border: 1px solid rgba(248,113,113,.15); }
.rank-num {
  font-family: var(--mono); font-size: 10px; font-weight: 400;
  letter-spacing: .04em; line-height: 1;
  color: var(--text-3);
}

/* ── 服务商 ── */
/* .provider-col 是 grid item，grid item 默认 min-width: auto 会被内容撑开。
   配合 .provider-name 的 ellipsis，需要这里也允许收缩到 0 才能正确截断长名字。
   桌面端列宽 minmax(240,300px)，触发场景=站名超 300px；mobile 重新覆盖。 */
.provider-col { min-width: 0; }
.provider-link {
  text-decoration: none; color: inherit;
  display: inline-flex; align-items: center; gap: 5px;
  margin-bottom: 4px;
  max-width: 100%; min-width: 0;
}
.provider-name {
  font-size: 17px; font-weight: 800;
  /* 2026-07-08 回归白色：标签压暗+竖条上线后，白色在深色底上亮度本就高于品牌蓝，
     周围安静了白色粗体反而最突出（用户实看反馈）；蓝色留给竖条当标题标记。 */
  color: var(--text-1); letter-spacing: .01em;
  transition: color .15s;
  /* 中文 default 允许逐字断行，名字过长在窄列里会换 4-5 行；强制不换行+省略 */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.card:hover .provider-name { color: var(--blue); }
.ext-icon {
  font-family: var(--mono); font-size: 10px;
  color: var(--text-3); opacity: 0; transition: opacity .15s;
}
.card:hover .ext-icon { opacity: 1; color: var(--blue); }
.tag {
  font-family: var(--mono); font-size: 9px;
  padding: 2px 5px; border-radius: 2px; letter-spacing: .04em;
}
.tag-company { background: rgba(79,142,247,.1); color: var(--blue); border: 1px solid rgba(79,142,247,.2); }
.tag-person  { background: rgba(251,191,36,.08); color: var(--yellow); border: 1px solid rgba(251,191,36,.18); }
.tag-stars   { background: rgba(245,158,11,.08); color: var(--gold); border: 1px solid rgba(245,158,11,.25); }
.tag-unreach {
  display: inline-block; margin-top: 3px;
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  letter-spacing: .04em;
  background: var(--red-dim); color: var(--red);
  border: 1px solid rgba(248,113,113,.3);
  padding: 2px 7px; border-radius: 3px;
}

/* 不可达卡片整体淡化 */
.card.unreachable { opacity: .55; }
.card.unreachable:hover { opacity: .85; }
.card.unreachable .provider-name { color: var(--text-2); }

/* C 级已下线/异常站点折叠区（默认收起）*/
.dead-fold { margin-top: 16px; }
.dead-fold > summary {
  cursor: pointer; list-style: none; user-select: none;
  padding: 11px 16px; text-align: center;
  font-family: var(--mono); font-size: 12px; color: var(--text-2);
  letter-spacing: .04em;
  border: 1px dashed var(--border-hi); border-radius: 6px;
  background: var(--bg-card); transition: all .15s;
}
.dead-fold > summary::-webkit-details-marker { display: none; }
.dead-fold > summary::after { content: " ▾"; }
.dead-fold[open] > summary::after { content: " ▴"; }
.dead-fold > summary:hover { color: var(--text-1); border-color: var(--border-hi); background: var(--bg-hover); }
.dead-fold[open] > summary { margin-bottom: 8px; }
.card.unreachable .visit-btn {
  border-color: var(--border-hi);
  background: transparent; color: var(--text-3);
}
/* 异常折叠区禁用的官网按钮（已下线/已关闭/已停止注册）*/
.visit-btn.disabled {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 9px 14px; cursor: not-allowed;
  border: 1px solid var(--border); border-radius: 5px;
  background: transparent; color: var(--text-3);
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  letter-spacing: .04em; user-select: none;
  pointer-events: none;
}
.muted {
  font-family: var(--mono); font-size: 12px;
  color: var(--text-3); display: inline-block;
}
.provider-note {
  font-size: 11px; color: var(--text-3); margin-top: 3px;
  line-height: 1.4; max-width: 95%;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.provider-domain {
  font-family: var(--mono); font-size: 10px;
  color: var(--text-3); margin-top: 3px;
  letter-spacing: .02em;
  display: flex; align-items: center; gap: 8px;
}
.provider-meta {
  display: flex; align-items: center; gap: 6px; margin-top: 3px;
  flex-wrap: wrap;
}

/* ── 稳定性（5档 + unknown） ── */
.uptime-col { text-align: center; }
.uptime-val { display: none; }
.uptime-grade {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  letter-spacing: .04em; margin-bottom: 5px;
}
.uptime-bar { width: 50%; height: 3px; background: var(--border); border-radius: 2px; overflow: hidden; margin: 0 auto; }
.uptime-fill { height: 100%; border-radius: 2px; }
.uptime-col.s1 .uptime-grade { color: var(--green); }
.uptime-col.s1 .uptime-fill  { background: var(--green); box-shadow: 0 0 4px var(--green); }
.uptime-col.s2 .uptime-grade { color: #34d399; }
.uptime-col.s2 .uptime-fill  { background: #34d399; }
.uptime-col.s3 .uptime-grade { color: var(--cyan); }
.uptime-col.s3 .uptime-fill  { background: var(--cyan); }
.uptime-col.s4 .uptime-grade { color: var(--yellow); }
.uptime-col.s4 .uptime-fill  { background: var(--yellow); }
.uptime-col.s5 .uptime-grade { color: var(--red); }
.uptime-col.s5 .uptime-fill  { background: var(--red); }
.uptime-col.unknown .uptime-grade { color: var(--text-3); }
.uptime-col.unknown .uptime-bar { background: transparent; }

/* ── 掺水率 ── */
.water-col { text-align: center; }
/* 真假/降智格里的鹈鹕缩略图（2026-10-12）：点开=展开本行实测详情 */
.pv-pel-thumb { display: block; margin: 6px auto 0; padding: 0; border: 0; background: none; cursor: pointer; line-height: 0; }
.pv-pel-thumb img { width: 56px; height: 56px; object-fit: contain; background: #fff; border: 1px solid var(--border); border-radius: 6px; }
.pv-pel-thumb:hover img { border-color: var(--accent, #3b82f6); }
.water-badge {
  font-family: var(--sans); font-size: 12px; font-weight: 600;
  padding: 3px 8px; border-radius: 3px;
  display: inline-block; letter-spacing: 0; white-space: nowrap;
  text-decoration: none; cursor: pointer; transition: opacity .15s;
}
a.water-badge:hover { opacity: .72; text-decoration: none; }
.water-badge.clean      { background: var(--green-dim); color: var(--green); border: 1px solid rgba(0,201,123,.22); }
.water-badge.low        { background: rgba(251,191,36,.08); color: var(--yellow); border: 1px solid rgba(251,191,36,.2); }
.water-badge.high       { background: var(--red-dim); color: var(--red); border: 1px solid rgba(248,113,113,.2); }
.water-badge.unverified { background: rgba(255,255,255,.04); color: var(--text-3); border: 1px solid var(--border-hi); }

/* ── 价格 ── */
.price-col { display: flex; flex-direction: column; gap: 2px; }
.price-tags { display: flex; flex-wrap: wrap; gap: 3px; }
.price-grade {
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  padding: 2px 6px; border-radius: 2px; letter-spacing: .06em;
  display: inline-block;
}
/* 价格 5 档：低 → 较低 → 中等 → 较高 → 高（绿 → 浅绿 → 青 → 黄 → 红） */
.price-grade        { opacity: 0.5; transition: opacity .15s; }
.price-grade.best   { opacity: 1; font-weight: 700; box-shadow: 0 0 0 1px currentColor; }
.price-grade.low    { background: var(--green-dim); color: var(--green); border: 1px solid rgba(0,201,123,.2); }
.price-grade.lower  { background: rgba(110,231,183,.06); color: #6ee7b7; border: 1px solid rgba(110,231,183,.2); }
.price-grade.mid    { background: var(--cyan-dim);  color: var(--cyan);  border: 1px solid rgba(34,211,238,.2); }
.price-grade.higher { background: rgba(251,191,36,.08); color: var(--yellow); border: 1px solid rgba(251,191,36,.2); }
.price-grade.high   { background: var(--red-dim);   color: var(--red);   border: 1px solid rgba(248,113,113,.2); }


/* ── 开票列 / 退款政策列 ── */
.invoice-col, .refund-col { text-align: center; min-width: 0; }
.invoice-yes { color: var(--green); font-weight: 700; font-size: 14px; }
.invoice-no  { color: var(--text-3); font-size: 13px; }
.invoice-note {
  display: inline-block;
  font-family: var(--sans); font-size: 10px; line-height: 1.35;
  color: var(--text-2); word-break: break-all;
}
.img-yes {
  font-family: var(--mono); font-size: 12px; font-weight: 700;
  color: var(--green); letter-spacing: .04em;
}
.cat-tag {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--sans);
  font-size: 11px; font-weight: 600;
  padding: 3px 9px 3px 7px;
  border-radius: 12px;             /* 胶囊型 */
  letter-spacing: .02em;
  white-space: nowrap;
  line-height: 1.4;
  transition: transform .15s, box-shadow .15s;
}
.cat-tag:hover { transform: translateY(-1px); }
.cat-icon { font-size: 11px; line-height: 1; }

.cat-tag.cat-code {
  background: linear-gradient(135deg, rgba(79,142,247,.18), rgba(79,142,247,.08));
  color: #93b8ff;
  border: 1px solid rgba(79,142,247,.4);
  box-shadow: inset 0 1px 0 rgba(79,142,247,.15);
}
.cat-tag.cat-code:hover {
  box-shadow: 0 2px 8px rgba(79,142,247,.25), inset 0 1px 0 rgba(79,142,247,.15);
  color: #b8d0ff;
}

.cat-tag.cat-image {
  background: linear-gradient(135deg, rgba(168,85,247,.18), rgba(168,85,247,.08));
  color: #d8b4fe;
  border: 1px solid rgba(168,85,247,.4);
  box-shadow: inset 0 1px 0 rgba(168,85,247,.15);
}
.cat-tag.cat-image:hover {
  box-shadow: 0 2px 8px rgba(168,85,247,.25), inset 0 1px 0 rgba(168,85,247,.15);
  color: #e9d5ff;
}

.cat-tag.cat-video {
  background: linear-gradient(135deg, rgba(251,113,133,.18), rgba(251,113,133,.08));
  color: #fda4af;
  border: 1px solid rgba(251,113,133,.4);
  box-shadow: inset 0 1px 0 rgba(251,113,133,.15);
}
.cat-tag.cat-video:hover {
  box-shadow: 0 2px 8px rgba(251,113,133,.25), inset 0 1px 0 rgba(251,113,133,.15);
  color: #fecdd3;
}
.price-text {
  font-family: var(--mono); font-size: 10px;
  color: var(--text-3); margin-top: 2px;
}

/* ── 模型数 ── */
.models-col { text-align: center; }
.models-num {
  font-family: var(--mono); font-size: 18px; font-weight: 700;
  color: var(--text-2); line-height: 1;
}
.models-label {
  font-family: var(--mono); font-size: 9px;
  color: var(--text-3); letter-spacing: .04em; margin-top: 2px;
}

/* ── API 来源 ── */
.source-col { text-align: center; }
.source-badge {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  padding: 3px 8px; border-radius: 3px;
  display: inline-block; letter-spacing: .04em;
}
.source-badge.rich   { background: rgba(79,142,247,.1); color: var(--blue); border: 1px solid rgba(79,142,247,.25); }
.source-badge.normal { background: rgba(255,255,255,.04); color: var(--text-2); border: 1px solid var(--border-hi); }
.source-badge.single { background: rgba(248,113,113,.07); color: var(--red); border: 1px solid rgba(248,113,113,.18); }

/* ── 收藏 ── */
.bookmark-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--sans); font-size: 10px; font-weight: 500;
  letter-spacing: .02em; color: var(--text-2);
  background: none; border: 1px solid var(--border-hi);
  border-radius: 4px; padding: 3px 9px; cursor: pointer;
  transition: color .15s, border-color .15s, background .15s;
  white-space: nowrap;
}
.bookmark-btn:hover { color: var(--yellow); border-color: var(--yellow); background: rgba(251,191,36,.06); }

/* ── 复制链接（ROI 4：拆 direct 流量；样式参照 bookmark-btn 但用蓝色高亮区分）── */
.copy-link-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--sans); font-size: 10px; font-weight: 500;
  letter-spacing: .02em; color: var(--text-2);
  background: none; border: 1px solid var(--border-hi);
  border-radius: 4px; padding: 3px 9px; cursor: pointer;
  transition: color .15s, border-color .15s, background .15s;
  white-space: nowrap;
}
.copy-link-btn:hover { color: var(--blue); border-color: var(--blue); background: rgba(96,165,250,.06); }
.copy-link-btn.copied { color: var(--green); border-color: var(--green); background: rgba(52,211,153,.08); }

/* ── ROI 5：verify-yourself 底部 1 行问卷按钮 ── */
.se-poll-btn {
  display: inline-flex; align-items: center;
  font-family: var(--sans); font-size: 12px;
  color: var(--text-1); background: var(--bg-card);
  border: 1px solid var(--border-hi); border-radius: 4px;
  padding: 4px 12px; cursor: pointer;
  transition: color .15s, border-color .15s, background .15s;
}
.se-poll-btn:hover { color: var(--blue); border-color: var(--blue); background: rgba(96,165,250,.06); }
.se-poll-btn:disabled { cursor: default; opacity: .55; }

/* ── tab2 实测报告·分享行（2026-09-04）：复制链接/复制报告/保存图片 ──
   原为透明底+细边框+13px 小字，浅色下几乎看不清；改为实心蓝渐变 CTA（沿用
   visit-btn 取色），存图只截 #vyb-card，此区不进图片，改样式无副作用。 */
.vyb-action-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  font-family: var(--sans); font-size: 13px; font-weight: 700;
  letter-spacing: .03em; color: #fff;
  background: linear-gradient(135deg, #4f8ef7, #6366f1);
  border: 0; border-radius: 7px; padding: 9px 18px; cursor: pointer;
  transition: all .15s; white-space: nowrap;
  box-shadow: 0 2px 8px rgba(79,142,247,.25);
}
.vyb-action-btn:hover {
  color: #fff; box-shadow: 0 0 18px rgba(79,142,247,.55);
  transform: translateY(-1px);
}
.vyb-action-btn:active { transform: translateY(0); }

/* ── 加密级签名校验·认证行（方案 B · 2026-06-04 用户拍板）── */
/* 仅在全 ok 时显示（半透传/不适用全部隐藏），所以这一行出现 = "加密级真透传" 加分项。
   不强抢视觉，但给一个轻微的小绿色 chip 与对应行底色，让奖章感稍微出来。 */
.vy-cert-row { background: rgba(0,201,123,.04); border-radius: 3px; }
.vy-cert-tag {
  display: inline-block;
  font-family: var(--mono); font-size: 9px;
  letter-spacing: .08em;
  color: var(--green);
  background: rgba(0,201,123,.10);
  border: 1px solid rgba(0,201,123,.28);
  padding: 1px 5px; border-radius: 3px;
  margin-right: 6px; vertical-align: middle;
}

/* ── ROI 2：信任声明 TL;DR 折叠块（首页/排行/工具页统一） ── */
.trust-tldr {
  margin: 10px 0 18px; padding: 10px 14px;
  background: rgba(96,165,250,.04);
  border: 1px solid var(--border);
  border-left: 3px solid var(--blue);
  border-radius: 4px;
  font-size: 13px;
}
.trust-tldr summary {
  cursor: pointer; color: var(--text-2);
  font-size: 13px; user-select: none;
  padding: 2px 0;
}
.trust-tldr summary strong { color: var(--text-1); }
.trust-tldr summary::-webkit-details-marker { color: var(--text-3); }
.trust-tldr[open] summary { margin-bottom: 8px; border-bottom: 1px dashed var(--border); padding-bottom: 6px; }
.trust-tldr ul { margin: 4px 0 0; padding-left: 20px; line-height: 1.9; color: var(--text-2); }
.trust-tldr ul li { margin: 0; }
.trust-tldr a { color: var(--blue); }

/* ── 模型排行快速导航（2026-10-03 中转站词族 SEO 内链优化）── */
.model-rankings-nav {
  margin: 32px 0 24px;
  padding: 24px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
}
.mrn-title {
  font-size: 15px;
  color: var(--text-1);
  margin: 0 0 16px;
  font-weight: 600;
}
.mrn-links {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.mrn-link {
  display: flex;
  flex-direction: column;
  padding: 14px 16px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: 6px;
  text-decoration: none;
  transition: border-color .15s, background .15s, transform .1s;
}
.mrn-link:hover {
  border-color: var(--blue);
  background: var(--bg-3);
  transform: translateY(-1px);
}
.mrn-link strong {
  color: var(--text-1);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
}
.mrn-desc {
  color: var(--text-3);
  font-size: 12px;
  line-height: 1.5;
}
/* 浅色主题适配 */
.home-light .mrn-link:hover {
  border-color: var(--blue);
  background: rgba(8, 127, 140, .04);
}

/* ── 首页 FAQ（叫法澄清 + 真假/选站引流），复用 trust-tldr 卡片样式 ── */
.faq-section { margin: 26px 0 8px; }
.faq-h { font-size: 15px; color: var(--text-1); margin: 0 0 10px; font-weight: 600; }
.faq-section .trust-tldr { margin: 8px 0; }
.faq-a { margin-top: 4px; color: var(--text-2); line-height: 1.8; }
.faq-a a { color: var(--blue); }

/* ── ROI 2：科普/方法学页文末漏斗 CTA 卡片 ── */
.guide-cta-panel {
  margin: 40px 0 24px; padding: 22px 24px;
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 8px;
}
.guide-cta-title {
  font-family: var(--mono); font-size: 11px;
  color: var(--text-3); letter-spacing: .2em;
  margin: 0 0 14px; text-transform: uppercase;
}
.guide-cta-grid {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.guide-cta-card {
  display: block; padding: 14px 16px;
  background: var(--bg-2); border: 1px solid var(--border);
  border-radius: 6px; text-decoration: none;
  transition: border-color .15s, background .15s, transform .1s;
}
.guide-cta-card:hover { border-color: var(--blue); background: rgba(96,165,250,.06); transform: translateY(-1px); }
.guide-cta-card.guide-cta-primary { border-color: var(--blue); background: rgba(96,165,250,.08); }
.guide-cta-card-title { font-size: 14px; font-weight: 600; color: var(--text-1); margin-bottom: 4px; }
.guide-cta-card-desc { font-size: 12px; color: var(--text-3); line-height: 1.5; }

.bk-toast {
  position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%) translateY(12px);
  background: var(--bg-card); border: 1px solid var(--border-hi);
  border-radius: 8px; padding: 12px 20px;
  font-family: var(--mono); font-size: 12px; color: var(--text-2);
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  opacity: 0; pointer-events: none;
  transition: opacity .2s, transform .2s;
  z-index: 999;
}
.bk-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ── 起充 / 赠送额度 列（2026-05 新增；支付方式列 2026-07-26 撤下，pay-tag 详情/比价页仍用）── */
.topup-col, .bonus-col {
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 3px; min-width: 0;
}
.pay-tags { display: flex; gap: 3px; flex-wrap: wrap; justify-content: center; }
.pay-tag {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 4px;
  font-family: var(--sans); font-size: 11px; font-weight: 600;
  line-height: 1; user-select: none;
}
.pay-tag.pay-alipay  { background: #e6f4ff; color: #0078d4; }
.pay-tag.pay-wechat  { background: #dff6e0; color: #1aad19; }
.pay-tag.pay-usdt    { background: #fff3cd; color: #b8860b; }
.pay-tag.pay-stripe  { background: #f0e6ff; color: #6f3ad6; }
.pay-tag.pay-credit  { background: #fce4ec; color: #ad1457; }
.pay-tag.pay-invoice { background: #f0f0f0; color: #555; }
.pay-tag.pay-other   { background: #f5f5f5; color: #888; }

/* 非首页标签 feature_tags（详情页 + 比价页）：与首页同款两级——
   默认＝浅灰安静（模型少/折算说明等中性信息）；💬推荐语＝靛蓝醒目。
   block 级 flex → 比价页里换行落到网站名下方，而非挤在右边。 */
.feature-tags { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0 0; }
.feat-tag {
  display: inline-flex; align-items: center;
  padding: 3px 9px; border-radius: 6px;
  background: #f4f4f5; color: #52525b;
  font-size: 12px; font-weight: 500; line-height: 1.3;
  border: 1px solid #e4e4e7;
}
.feat-tag.quote {
  background: #eef2ff; color: #4338ca;
  font-weight: 600;
  border: 1px solid #c7d2fe;
}
/* 比价页作用域内改深色安静版（2026-07-08 讨论定稿）：原白底 #f4f4f5 在深色主题里
   是全卡片最亮色块，抢掉站名的标题锚点；换深色系才真正实现"安静不抢戏"的原意图。
   💬quote 保留醒目定位，换深底浅字靛蓝（不再是浅色灯泡）。详情页 .feat-tag 不动。 */
.price-table .feat-tag {
  background: rgba(255,255,255,.045); color: var(--text-2);
  border-color: rgba(255,255,255,.10);
}
.price-table .feat-tag.quote {
  /* 同首页 .home-tag.quote：恢复原浅底亮块（深底版不够醒目，2026-07-08） */
  background: #eef2ff; color: #4338ca;
  border-color: #c7d2fe;
}

/* ── 优惠码（详情页大版 + 首页/排行榜卡片紧凑版，同一套说明+码+按钮，只是字号不同），
   琥珀色区别于蓝色 copy-link-btn / 靛蓝 feat-tag。说明文案 + 码全部直接暴露在外面，
   不藏进 title 提示（2026-07-05 用户反馈：之前卡片版用 title 悬浮说明+紧凑 chip 太隐蔽）。 */
.coupon-box {
  display: flex; align-items: center; flex-wrap: nowrap; gap: 8px;
  margin: 10px 0; padding: 9px 14px;
  background: rgba(245,158,11,.06); border: 1px solid rgba(245,158,11,.28);
  border-radius: 6px; font-size: 13px;
}
.coupon-icon { font-size: 15px; line-height: 1; flex: none; }
.coupon-note { color: var(--text-2); white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.coupon-code {
  font-family: var(--mono); font-weight: 700; letter-spacing: .02em;
  color: #b45309; background: rgba(245,158,11,.14);
  padding: 2px 8px; border-radius: 4px;
  flex: none;
}
.copy-code-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--sans); font-size: 12px; font-weight: 600;
  color: #fff; background: #d97706; border: 1px solid #d97706;
  border-radius: 6px; padding: 4px 12px; cursor: pointer;
  box-shadow: 0 1px 2px rgba(180,83,9,.25);
  transition: background .15s, border-color .15s, box-shadow .15s, transform .05s;
  white-space: nowrap; flex: none;
}
.copy-code-btn:hover { background: #b45309; border-color: #b45309; box-shadow: 0 2px 5px rgba(180,83,9,.3); }
.copy-code-btn:active { transform: translateY(1px); box-shadow: none; }
.copy-code-btn.copied { color: #fff; background: var(--green); border-color: var(--green); box-shadow: none; }
/* 首页/排行榜卡片版：说明+码+按钮同一行内联展示，缩小字号适配密集表格行 */
.coupon-inline {
  display: flex; align-items: center; flex-wrap: nowrap; gap: 5px;
  margin-top: 4px; font-size: 11px;
}
.coupon-inline .coupon-icon { font-size: 12px; flex: none; }
.coupon-inline .coupon-note { color: var(--text-3); white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.coupon-inline .coupon-code { font-size: 11px; padding: 1px 6px; flex: none; }
.coupon-inline .copy-code-btn { font-size: 10px; padding: 2px 9px; gap: 3px; border-radius: 5px; flex: none; }
.coupon-row2 { margin-top: 3px; }

/* 首页站名下方标签：两级视觉层级——
   优惠类（默认）＝安静浅灰，不与🧧优惠码行/赠送列抢戏；
   推荐语（💬开头，模板加 .quote）＝暖琥珀醒目，像一句人话，全场稀缺 */
.home-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 5px; }
.home-tag {
  display: inline-flex; align-items: center;
  padding: 2px 7px; border-radius: 5px;
  /* 深色安静版（2026-07-08）：原白底 #f4f4f5 是深色卡片上最亮色块，压过站名；
     换深色系让标签退回 metadata 层，站名成为唯一强锚点。 */
  background: rgba(255,255,255,.045); color: var(--text-2);
  font-size: 11px; font-weight: 500; line-height: 1.3;
  border: 1px solid rgba(255,255,255,.10);
}
.home-tag.quote {
  /* 💬推荐语=全场稀缺强调（每卡至多一条），保留原浅底亮块设计——
     2026-07-08 试过深底靛蓝两档都不够醒目，用户拍板恢复原样；
     普通标签已压暗，唯一亮块=推荐语，恰好形成稀缺强调。 */
  background: #eef2ff; color: #4338ca;
  font-size: 12px; font-weight: 600;
  border: 1px solid #c7d2fe;
}

/* 运营异常提示标签（首页卡片 + 比价页共用，醒目但不情绪化；长文可换行） */
.tag-anomaly {
  display: inline-block;
  padding: 2px 8px; border-radius: 6px;
  font-size: 11px; font-weight: 600; line-height: 1.4;
  white-space: normal;
}
.tag-anomaly.warn {
  background: rgba(220,38,38,.08); color: #b91c1c;
  border: 1px solid rgba(220,38,38,.25);
}
.tag-anomaly.warn::before { content: "⚠ "; }
.tag-anomaly.closed {
  background: rgba(148,163,184,.14); color: var(--text-3);
  border: 1px solid rgba(148,163,184,.28);
}
/* 异常标签独占站名下方一行（.provider-link 是 inline-flex，
   若 tag 也是 inline-block 会挤到站名右边）；block + fit-content 让背景块只包住文字。 */
.provider-col > .tag-anomaly { display: block; width: fit-content; margin-top: 5px; }

.topup-tag {
  display: inline-block;
  padding: 2px 6px; border-radius: 3px;
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  line-height: 1.3; white-space: nowrap;
}
.topup-tag.topup-low  { background: #d4edda; color: #155724; }   /* ¥1 绿 */
.topup-tag.topup-mid  { background: #fff3cd; color: #856404; }   /* ¥10 黄 */
.topup-tag.topup-high { background: #f8d7da; color: #721c24; }   /* ¥100 红 */

.bonus-tag {
  display: inline-block;
  padding: 2px 6px; border-radius: 3px;
  background: #ffe5f0; color: #c2185b;
  font-family: var(--sans); font-size: 11px; font-weight: 600;
  line-height: 1.3; white-space: nowrap;
}

/* ── 官网按钮 ── */
/* visit-col：官网(主) + 查看详情(次) 纵向并列；高意向点官网直达，想了解的点详情 opt-in */
.visit-col { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
/* 详情按钮：次按钮，弱样式，与官网按钮等宽并列在其下 */
.detail-btn {
  flex-shrink: 0; cursor: pointer; text-align: center;
  padding: 5px 8px; border: 1px solid var(--border-hi); border-radius: 4px;
  background: transparent; color: var(--text-2);
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  letter-spacing: .04em; text-decoration: none;
  transition: all .15s; white-space: nowrap;
}
.detail-btn:hover {
  color: var(--cyan); border-color: var(--cyan); background: var(--cyan-dim);
}
.visit-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 9px 14px; cursor: pointer;
  border: 1px solid var(--blue); border-radius: 5px;
  background: linear-gradient(135deg, #4f8ef7, #6366f1); color: #fff;
  font-family: var(--mono); font-size: 12px; font-weight: 800;
  letter-spacing: .08em; text-decoration: none;
  transition: all .15s; white-space: nowrap;
  box-shadow: 0 2px 10px rgba(79,142,247,.3);
}
.visit-btn:hover {
  box-shadow: 0 0 18px rgba(79,142,247,.6);
  transform: translateY(-1px); color: #fff;
}

/* ── P0-1 首屏信任背书行 ── */
.trust-line {
  display: flex; align-items: center; gap: 8px;
  margin: -18px 0 22px; font-size: 13px; color: #9db0ce;
  line-height: 1.6;
}
.trust-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--green); box-shadow: 0 0 6px var(--green);
  flex-shrink: 0;
}
/* ── P0-2 首屏引流："不知道怎么选？看选站避雷" ── */
.pick-cta {
  display: inline-block; margin: 0 0 14px;
  font-size: 13px; color: var(--text-2); text-decoration: none;
  border-bottom: 1px dashed var(--border-hi); padding-bottom: 1px;
  transition: color .15s;
}
.pick-cta:hover { color: var(--blue); border-color: var(--blue); }
.pick-cta strong { color: var(--blue); font-weight: 700; }
/* 合并进工具栏：紧跟 chips 左侧同排，不再右推、去掉独立下边距 */
.toolbar .pick-cta { margin: 0 0 0 auto; align-self: center; }
@media (max-width: 640px) {
  .toolbar .pick-cta { margin: 6px 0 0 0; flex-basis: 100%; }
}
/* ── 榜单排序注解：破前排同质化。占原 pick-cta 位（toolbar 右端、与 chips 同排），
      灰色小字=注解语气，不是号召；移动端换行占满 ── */
/* 视觉语言刻意区别于同排的 .chip（11px mono + 边框圆角）：无边框无底色、字更大更亮、
   左侧蓝竖条做锚点——够显眼但不长得像可点的筛选项 */
.rank-hint {
  display: inline-flex; align-items: baseline; gap: 7px;
  margin: 0 0 0 auto; align-self: center;
  position: relative; padding-left: 10px;
  font-size: 13.5px; font-weight: 600; color: var(--text-1);
  letter-spacing: .01em;
}
.rank-hint::before {
  content: ""; position: absolute; left: 0; top: 50%;
  transform: translateY(-50%);
  width: 3px; height: 15px; border-radius: 2px;
  background: var(--blue); box-shadow: 0 0 6px var(--blue-glow);
}
/* 次级：建议句降一档，主句才是结论 */
.rank-hint .rh-sub { font-size: 12.5px; font-weight: 400; color: var(--text-2); }
.rank-hint .rh-sub::before { content: "· "; color: var(--text-3); }
@media (max-width: 640px) {
  .rank-hint { margin: 8px 0 0 0; flex-basis: 100%; }
}
/* 表头 ⓘ 提示标记 */
.th-i { opacity: .5; font-size: 10px; cursor: help; }
/* 折叠 summary 内容预览：不点开也知道里面讲啥 */
.sum-hint { color: var(--text-3); font-size: 12px; font-weight: 400; }
details[open] > summary .sum-hint { display: none; }
/* 选站避雷：顶部回榜 CTA + 买前检查清单 */
.pick-cta-row { margin: 0 0 20px; }
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li {
  position: relative; padding: 7px 0 7px 26px;
  line-height: 1.7; color: var(--text-1);
  border-bottom: 1px solid var(--border);
}
.check-list li:last-child { border-bottom: 0; }
.check-list li::before {
  content: "▢"; position: absolute; left: 4px; top: 7px;
  color: var(--blue); font-size: 13px;
}

/* ── 分页 ── */
.pagination {
  margin-top: 24px; display: flex; gap: 6px; justify-content: center; align-items: center;
}
.pagination a, .pagination span {
  font-family: var(--mono); font-size: 12px;
  padding: 6px 12px;
  border: 1px solid var(--border-hi); border-radius: 3px;
  color: var(--text-2); text-decoration: none;
  transition: all .15s;
}
.pagination a:hover { color: var(--blue); border-color: var(--blue); }
.pagination .current {
  color: var(--blue); border-color: var(--blue); background: var(--blue-dim);
}
.pagination .disabled { color: var(--text-3); cursor: not-allowed; opacity: .5; }

/* ── 页脚 ── */
.footer-divider {
  margin-top: 48px; padding-top: 24px;
  border-top: 1px solid var(--border);
  display: flex; gap: 24px; flex-wrap: wrap;
  font-family: var(--mono); font-size: 10px; color: var(--text-3);
  letter-spacing: .04em;
}
.footer-divider span { color: var(--text-2); }
.footer-legal {
  margin-top: 16px; padding-top: 16px;
  border-top: 1px solid var(--border);
  font-size: 11px; color: var(--text-3); line-height: 1.8;
}

/* 详情页：用户反馈（举报/纠错）2026-05 新增 */
.report-block {
  margin-top: 36px; padding: 18px 20px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px;
}
.report-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 4px 0 12px; }
.report-toast {
  display: inline-block; padding: 4px 10px; border-radius: 4px;
  background: #d4edda; color: #155724;
  font-size: 12px; font-weight: 500;
}
.report-form {
  display: flex; flex-direction: column; gap: 8px;
  padding: 14px; margin-top: 8px;
  background: var(--bg-hover); border: 1px dashed var(--border-hi); border-radius: 6px;
}
.report-form[hidden] { display: none; }
.report-label {
  font-size: 12px; color: var(--text-2); font-weight: 500;
  margin-top: 4px;
}
.report-form textarea, .report-form input[type=text] {
  width: 100%; padding: 8px 10px;
  border: 1px solid var(--border); border-radius: 4px;
  background: var(--bg-card); color: var(--text-1);
  font-family: inherit; font-size: 13px; line-height: 1.55;
  box-sizing: border-box;
}
.report-form textarea { resize: vertical; min-height: 90px; }
.report-form textarea:focus, .report-form input[type=text]:focus {
  outline: none; border-color: var(--blue);
}
.report-form button { align-self: flex-start; margin-top: 4px; }

/* 附件：贴图 / 选文件 */
.report-attach { display: flex; flex-direction: column; gap: 6px; margin-top: 2px; }
.report-attach-label { font-size: 12px; color: var(--text-2); line-height: 1.5; }
.report-file { font-size: 12px; color: var(--text-2); }
.report-attach-preview { display: flex; flex-wrap: wrap; gap: 8px; }
.report-attach-preview:empty { display: none; }
.attach-chip {
  display: inline-flex; align-items: center; gap: 6px;
  max-width: 100%; padding: 4px 6px 4px 4px;
  border: 1px solid var(--border); border-radius: 6px;
  background: var(--bg-card); font-size: 11px; color: var(--text-2);
}
.attach-chip img {
  width: 40px; height: 40px; object-fit: cover; border-radius: 4px; display: block;
}
.attach-chip .attach-ic { font-size: 22px; line-height: 1; padding: 0 4px; }
.attach-chip .attach-name {
  max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.attach-chip .attach-del {
  border: none; background: transparent; cursor: pointer;
  color: var(--text-3); font-size: 16px; line-height: 1; padding: 0 2px;
}
.attach-chip .attach-del:hover { color: var(--red, #e5484d); }

/* ══ 申请收录 ══ */
.apply-form { max-width: 580px; }
.apply-lead { max-width: 720px; font-size: 15px; line-height: 1.95; color: var(--text-1); margin-bottom: 8px; }
.apply-lead strong { color: var(--text-1); }
.apply-criteria { max-width: 720px; list-style: none; counter-reset: c; margin: 0; }
.apply-criteria li {
  counter-increment: c; position: relative;
  padding: 15px 0 15px 46px;
  border-top: 1px solid var(--border);
  font-size: 14px; line-height: 1.85; color: var(--text-2);
}
.apply-criteria li:first-child { border-top: none; }
.apply-criteria li::before {
  content: counter(c); position: absolute; left: 0; top: 14px;
  width: 27px; height: 27px; border-radius: 50%;
  background: var(--blue-dim); border: 1px solid rgba(79,142,247,.4);
  color: var(--blue); font-family: var(--mono); font-size: 12px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.apply-criteria li strong { color: var(--text-1); }
.apply-tips { max-width: 720px; list-style: none; margin: 0; padding: 0; }
.apply-tips li {
  position: relative; padding: 10px 0 10px 22px;
  font-size: 14px; line-height: 1.85; color: var(--text-2);
}
.apply-tips li::before {
  content: '→'; position: absolute; left: 0; top: 10px;
  color: var(--cyan); font-family: var(--mono); font-size: 13px;
}
.apply-tips li strong { color: var(--text-1); }
.apply-contact {
  max-width: 720px; background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 8px; padding: 22px 26px;
}
.apply-email {
  font-family: var(--mono); font-size: 18px; color: var(--blue);
  text-decoration: none; font-weight: 700; letter-spacing: .02em; word-break: break-all;
}
.apply-email:hover { text-decoration: underline; }
.apply-send-list { margin: 16px 0 0; padding-left: 20px; color: var(--text-2); font-size: 14px; line-height: 2; }
.form-section-title {
  font-family: var(--mono); font-size: 10px;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--blue);
  border-bottom: 1px solid var(--border-hi);
  padding-bottom: 8px; margin: 32px 0 20px;
  display: flex; align-items: center; gap: 8px;
}
.form-section-title::before {
  content: ''; width: 3px; height: 12px;
  background: var(--blue); border-radius: 2px; flex-shrink: 0;
}
.form-section-title:first-of-type { margin-top: 0; }

/* 「填写信息」——显眼但和谐：主标题加粗放大配蓝色竖条，附注用暖琥珀色小胶囊，
   醒目提醒「据实回答」又不喧宾夺主。 */
.form-fill-title {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
  margin: 34px 0 20px; padding-bottom: 10px;
  border-bottom: 1px solid var(--border-hi);
  font-family: var(--sans); font-size: 19px; font-weight: 700;
  letter-spacing: .01em; color: var(--text-1);
}
.form-fill-title::before {
  content: ''; width: 4px; height: 20px;
  background: linear-gradient(180deg, var(--blue), var(--cyan));
  border-radius: 2px; flex-shrink: 0;
}
.form-fill-note {
  font-family: var(--sans); font-size: 12.5px; font-weight: 600;
  letter-spacing: .02em; color: var(--gold);
  background: rgba(245,158,11,.10);
  border: 1px solid rgba(245,158,11,.28);
  border-radius: 999px; padding: 3px 11px;
}
.form-row { margin-bottom: 18px; }
.form-label {
  display: block; font-family: var(--mono); font-size: 11px;
  color: var(--text-2); letter-spacing: .08em;
  text-transform: uppercase; margin-bottom: 7px;
}
.form-input, .form-select, .form-textarea {
  width: 100%; background: var(--bg-2);
  border: 1px solid var(--border-hi); border-radius: 4px;
  padding: 10px 14px; color: var(--text-1);
  font-family: var(--mono); font-size: 13px; outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(79,142,247,.1);
}
.form-textarea { resize: vertical; min-height: 80px; }
.coop-hint {
  margin-top: 7px;
  padding: 8px 11px;
  background: var(--red-dim);
  border: 1px solid rgba(248,113,113,.28);
  border-radius: 5px;
  color: var(--red);
  font-size: 13px;
  line-height: 1.5;
}
/* 吸引力偏低的软提醒：橙色（区别于红色硬拦），仍可提交 */
.coop-hint.coop-hint-weak {
  background: rgba(245,158,11,.1);
  border-color: rgba(245,158,11,.32);
  color: #f59e0b;
}
/* AI 审核中：蓝色信息态，告知用户在等什么 */
.coop-hint.coop-hint-info {
  background: var(--blue-dim);
  border-color: var(--blue-glow);
  color: var(--blue);
}
/* 提交按钮正下方的主状态条：审核中/通过/被拦都显示在用户正盯着的位置 */
.coop-status {
  margin-top: 10px;
  padding: 10px 13px;
  border-radius: 6px;
  font-size: 13.5px;
  line-height: 1.5;
  text-align: center;
}
/* 审核中：实心蓝底白字 + 旋转 spinner，强反馈（区别于淡背景的结果态） */
.coop-status-loading {
  background: var(--blue);
  border: 1px solid var(--blue);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 2px 12px rgba(79,142,247,.35);
  animation: coop-pulse 1.2s ease-in-out infinite;
}
.coop-status-loading::before {
  content: "";
  display: inline-block;
  width: 14px; height: 14px;
  margin-right: 8px;
  vertical-align: -2px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: coop-spin .7s linear infinite;
}
.coop-status-ok {
  background: var(--green-dim);
  border: 1px solid rgba(0,201,123,.3);
  color: var(--green);
}
.coop-status-block {
  background: var(--red-dim);
  border: 1px solid rgba(248,113,113,.32);
  color: var(--red);
  font-weight: 600;
}
.coop-status-weak {
  background: rgba(245,158,11,.1);
  border: 1px solid rgba(245,158,11,.34);
  color: #f59e0b;
  font-weight: 600;
}
@keyframes coop-pulse { 0%,100% { opacity: 1; } 50% { opacity: .82; } }
@keyframes coop-spin { to { transform: rotate(360deg); } }
.form-row-inline { display: flex; gap: 8px; align-items: center; }
.form-row-inline .form-input { flex: 1; }
.form-radio-group { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; }
.form-radio { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--text-1); cursor: pointer; }
.form-radio input[type="radio"] { accent-color: var(--green); cursor: pointer; }
.date-sep { font-family: var(--mono); color: var(--text-3); font-size: 13px; }
.date-input { width: 72px; text-align: center; }
.date-input-m, .date-input-d { width: 56px; }
.textarea-wrap { position: relative; }
.char-count {
  position: absolute; bottom: 10px; right: 12px;
  font-family: var(--mono); font-size: 10px; color: var(--text-3);
  pointer-events: none;
}
.char-count.ok { color: var(--green); }
.form-hint { font-size: 11px; color: var(--text-3); line-height: 1.6; margin-top: 6px; }
.form-submit {
  padding: 11px 32px;
  background: var(--blue-dim);
  border: 1px solid rgba(79,142,247,.4); border-radius: 4px;
  color: var(--blue); font-family: var(--mono); font-size: 11px; font-weight: 700;
  letter-spacing: .08em; cursor: pointer; transition: all .15s;
}
.form-submit:hover {
  background: var(--blue-glow); border-color: var(--blue);
  box-shadow: 0 0 16px rgba(79,142,247,.2);
}

/* ══ 关于本站 ══ */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 32px; }
.about-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 8px; padding: 22px 26px; position: relative; overflow: hidden;
}
/* 顶部蓝渐变条已移除（每卡一条=视觉噪声主源，降噪改造） */
.about-card-title {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  color: var(--text-2); letter-spacing: .08em;
  text-transform: uppercase; margin-bottom: 12px;
}

/* ══ 内容页降噪版式系统（pitfalls / methodology / verify-yourself 共用）══
   纪律：功能色(green/yellow/red)只用于状态判定且只作"线/点"；
   blue 只用于链接；其余中性灰白；去装饰彩块、去 emoji、留白替代边框。 */
.cnt-narrow { max-width: 820px; }                 /* 长正文限宽，居中由父级 main 控制 */
.cnt-section { margin-top: 40px; }
.cnt-section:first-child { margin-top: 0; }

/* 中性提示框：仅左侧 3px 细线表达语气，无大面积底色 */
.callout {
  background: rgba(255,255,255,.03);
  border-left: 3px solid var(--border-hi);
  border-radius: 4px; padding: 12px 16px; margin: 14px 0;
  font-size: 14px; line-height: 1.8; color: var(--text-1);
}
.callout.info   { border-left-color: var(--blue); }
.callout.warn   { border-left-color: var(--yellow); }
.callout.danger { border-left-color: var(--red); }
.callout-label { font-weight: 700; color: var(--text-1); margin-right: 6px; }

/* 状态徽标：替代 emoji + 整块彩色判定，小面积着色 */
.status-badge {
  display: inline-block; font-size: 12px; font-weight: 600;
  padding: 2px 9px; border-radius: 4px; line-height: 1.6;
  background: rgba(255,255,255,.05); color: var(--text-2);
}
.status-badge.pass    { color: var(--green);  background: var(--green-dim); }
.status-badge.warn    { color: var(--yellow); background: rgba(251,191,36,.08); }
.status-badge.fail    { color: var(--red);    background: var(--red-dim); }
.status-badge.neutral { color: var(--text-2); background: rgba(255,255,255,.05); }

/* verdict：判定结果由"整块色"改为"中性卡 + 左 3px 状态线" */
.verdict {
  background: var(--bg-2); border: 1px solid var(--border);
  border-left: 3px solid var(--border-hi);
  border-radius: 6px; padding: 16px 18px; margin-bottom: 16px;
}
.verdict.pass    { border-left-color: var(--green); }
.verdict.warn    { border-left-color: var(--yellow); }
.verdict.fail    { border-left-color: var(--red); }
.verdict.neutral { border-left-color: var(--border-hi); }

/* 数据指标：研究数字不是错误态——中性卡，数字用浅色，不红底 */
.data-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 4px 0 14px; }
.data-card {
  background: var(--bg-2); border: 1px solid var(--border);
  border-radius: 6px; padding: 12px; text-align: center;
}
.data-card .num { font-family: var(--mono); font-size: 20px; font-weight: 700; color: var(--text-1); }
.data-card .lbl { font-size: 11px; color: var(--text-2); margin-top: 4px; line-height: 1.5; }
.data-src { font-size: 12px; color: var(--text-3); line-height: 1.7; margin: 8px 0 0; }
@media (max-width: 640px) { .data-grid { grid-template-columns: repeat(2, 1fr); } }

/* 步骤/编号列表：靠序号+留白分层，不靠彩色圆圈 */
.steps { list-style: none; padding: 0; margin: 8px 0 0; counter-reset: s; }
.steps > li {
  position: relative; padding: 10px 0 10px 34px;
  border-bottom: 1px solid var(--border); line-height: 1.8;
}
.steps > li:last-child { border-bottom: none; }
.steps > li::before {
  counter-increment: s; content: counter(s);
  position: absolute; left: 0; top: 10px;
  font-family: var(--mono); font-size: 12px; font-weight: 700;
  color: var(--text-3);
}
/* 内容页正文：13px+灰蓝低对比铺长文看着累，提到 15px + 高对比 text-1
   + 段间距（首页榜单用 .card 不受影响，锁定设计零波及）*/
.about-card-body { font-size: 15px; color: var(--text-1); line-height: 1.85; }
.about-card-body strong { color: var(--text-1); font-weight: 700; }
.about-card-body p { margin: 0 0 12px; }
.about-card-body p:last-child { margin-bottom: 0; }
.about-card-body a { text-decoration: underline; }
.about-card-body ul { margin: 10px 0 0; padding-left: 20px; }
.about-card-body li { margin: 7px 0; line-height: 1.8; }

/* 折叠手风琴（长文默认收起，原生 details，无 JS）：首屏极简、SEO 文本仍在 DOM */
details.fold {
  border: 1px solid var(--border); border-radius: 6px;
  background: var(--bg-card); margin: 10px 0;
}
details.fold > summary {
  cursor: pointer; list-style: none; user-select: none;
  padding: 13px 16px;
  font-family: var(--mono); font-size: 13px; font-weight: 600;
  color: var(--text-1);
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
details.fold > summary::-webkit-details-marker { display: none; }
details.fold > summary::after {
  content: '+'; color: var(--text-3); font-size: 16px; font-weight: 400;
}
details.fold[open] > summary::after { content: '\2212'; }
details.fold > summary:hover { color: var(--blue); }
details.fold > summary:hover::after { color: var(--blue); }
details.fold > .fold-body {
  padding: 12px 16px 16px; border-top: 1px solid var(--border);
  font-size: 14px; line-height: 1.85; color: var(--text-1);
}
details.fold > .fold-body :first-child { margin-top: 0; }

/* ── 响应式：平板 + 手机 共用的卡片三行布局（2026-05 升级）──
   第 1 行：服务商名 + 官网按钮
   第 2 行：4 列指标（Claude 真假 / 价格 / 稳定 / 生图），每列自带 ::before 表头
   第 3 行：3 列充值信息（支付 / 起充 / 赠送额度），每列自带 ::before 表头
   外部 .table-header 隐藏，表头融进每张卡内，所有字段都看得到。 */
@media (max-width: 920px) {
  .table-header { display: none; }

  .card { margin-bottom: 6px; border-radius: 8px; }
  .card:hover { transform: none; }

  .card-row {
    display: grid;
    grid-template-columns: repeat(12, 1fr) auto;
    grid-template-rows: auto auto auto;
    gap: 10px 6px;
    padding: 12px 14px 14px 18px;
    min-height: auto;
    align-items: start;
  }

  /* 第 1 行：服务商名（跨 12 列）+ 官网/详情按钮组 */
  .provider-col {
    grid-row: 1; grid-column: 1 / 13;
    min-width: 0; overflow: hidden;
  }
  .visit-col {
    grid-row: 1; grid-column: 13;
    align-self: start; gap: 5px;
  }
  .visit-btn { padding: 7px 14px; font-size: 11px; letter-spacing: .04em; }

  /* 第 2 行：3 个指标 cell（每个跨 4 列），自带表头 label（线性序与桌面一致）*/
  .water-col, .price-col, .topup-col {
    grid-row: 2;
    display: flex; flex-direction: column; align-items: center;
    justify-content: flex-start;
    gap: 4px; min-width: 0; text-align: center;
  }
  .water-col { grid-column: 1 / 5; }
  .price-col { grid-column: 5 / 9; }
  .topup-col { grid-column: 9 / 13; }

  /* 第 3 行：3 个 cell（每个跨 4 列），自带表头 label */
  .bonus-col, .refund-col, .invoice-col {
    grid-row: 3;
    display: flex; flex-direction: column; align-items: center;
    justify-content: flex-start;
    gap: 4px; min-width: 0; text-align: center;
    padding-top: 6px; border-top: 1px dashed var(--border);
  }
  .bonus-col   { grid-column: 1 / 5; }
  .refund-col  { grid-column: 5 / 9; }
  .invoice-col { grid-column: 9 / 13; }

  .water-col::before,
  .price-col::before,
  .refund-col::before,
  .topup-col::before,
  .bonus-col::before,
  .invoice-col::before {
    font-family: var(--sans); font-size: 9px; font-weight: 500;
    letter-spacing: .04em; color: var(--text-3);
    /* 允许在空格处换行——窄屏（≤360px）下"Claude 真假"54px 不 wrap 会撑爆列；
       改 normal 后会断成两行（多 12px 行高）。 */
    text-align: center; line-height: 1.15;
  }
  .water-col::before   { content: 'Claude 真假'; }
  .price-col::before   { content: '价格'; }
  .refund-col::before  { content: '退款'; }
  .topup-col::before   { content: '起充'; }
  .bonus-col::before   { content: '赠送额度'; }
  .invoice-col::before { content: '开票'; }

  /* 指标值：紧凑显示 */
  .water-badge { font-size: 11px; padding: 2px 7px; }
  .price-tags  { gap: 3px; justify-content: center; }
  .price-grade { font-size: 9px; padding: 1px 5px; }
  .muted       { font-size: 11px; }

  .about-grid { grid-template-columns: 1fr; }
  main { padding: 24px 20px 60px; }
}

/* ── 响应式：手机 ── */
@media (max-width: 680px) {
  /* 顶部导航紧凑 */
  .header-inner { flex-wrap: wrap; gap: 0; padding: 0 14px; height: auto; }
  .logo { height: 50px; font-size: 12px; }
  .logo-mark { width: 26px; height: 26px; font-size: 12px; }
  .main-nav {
    order: 3; width: 100%;
    border-top: 1px solid var(--border);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* 右边 24px 渐变淡出，暗示可横滑（手机端 nav 7+ 项一屏装不下） */
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 24px), transparent 100%);
    mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 24px), transparent 100%);
  }
  .nav-link { padding: 0 14px; height: 42px; font-size: 10px; white-space: nowrap; }
  .nav-link.active::after { left: 10px; right: 10px; bottom: 8px; }
  .header-meta { height: 50px; font-size: 10px; gap: 8px; }
  .bookmark-btn { padding: 5px 10px; font-size: 10px; }
  .live-badge { display: none; }

  /* 公告条：手机上让它换行显示完整，只砍掉键盘快捷键（手机按不了 Ctrl+D） */
  .notice-bar-inner { padding: 6px 12px; gap: 8px; font-size: 11px; line-height: 1.45; }
  .notice-bar-kbd { display: none; }

  /* 主体 */
  main { padding: 14px 12px 40px; }
  .page-title { margin-bottom: 18px; }
  .page-title h1 { font-size: 17px; line-height: 1.3; }
  .page-title p { font-size: 11px; line-height: 1.5; }

  /* 工具栏 */
  .toolbar {
    flex-wrap: wrap; gap: 6px; margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
  }
  .toolbar-label { font-size: 10px; width: 100%; margin: 4px 0 2px; }
  .chip, .sort-btn { font-size: 11px; padding: 6px 12px; flex: 1 1 auto; min-width: 56px; text-align: center; justify-content: center; }
  .sort-group { width: 100%; margin-left: 0; flex-wrap: wrap; gap: 6px; }
  .divider-v { display: none; }

  /* 卡片：进一步收紧间距，结构不变（沿用 @920 的两行布局） */
  .card-row {
    gap: 10px 6px;
    padding: 10px 12px 12px 14px;
  }
  .provider-name { font-size: 15px; font-weight: 800; }
  .provider-domain { font-size: 9px; gap: 6px; }
  .visit-btn { padding: 6px 11px; font-size: 10px; }

  /* 指标行字号再压一档，腾出横向空间防溢出 */
  .water-badge { font-size: 10px; padding: 2px 6px; }
  .price-grade { font-size: 8px; padding: 1px 4px; letter-spacing: .04em; }
  .water-col::before,
  .price-col::before,
  .refund-col::before,
  .topup-col::before { font-size: 9px; }

  /* 底部 */
  .footer-divider { gap: 12px; font-size: 9px; }
  .footer-legal { font-size: 10px; line-height: 1.7; }
  .bk-toast { width: 90%; text-align: center; font-size: 11px; left: 5%; right: 5%; transform: none; }
  .bk-toast.show { transform: translateY(0); }
}

/* ── 超小屏 ── */
@media (max-width: 380px) {
  .page-title h1 { font-size: 15px; }
  .provider-name { font-size: 14px; }
  .visit-btn { padding: 6px 10px; font-size: 9px; }
  .rank-tier { width: 24px; height: 24px; font-size: 10px; }
  .card-row { gap: 8px 4px; padding: 10px 10px 10px 12px; }
  .water-badge { font-size: 9px; padding: 2px 5px; }
  .price-grade { font-size: 8px; padding: 1px 3px; }
}

/* ══ 中转站详情页 ══ */
.detail-wrap { max-width: 920px; margin: 0 auto; }
.detail-crumb { margin-bottom: 16px; font-family: var(--mono); font-size: 12px; }
.detail-crumb a { color: var(--text-2); text-decoration: none; }
.detail-crumb a:hover { color: var(--blue); }
.detail-head {
  display: flex; justify-content: space-between; align-items: center;
  gap: 18px; padding: 22px 24px; flex-wrap: wrap;
}
.dh-main { display: flex; align-items: center; gap: 16px; }
.dh-name { font-family: var(--mono); font-size: 22px; font-weight: 700; margin: 0; }
/* 域名防顺手复制（文本仍在 DOM 给搜索引擎，仅禁选中）；点击走 /go 归因 */
.dh-domain { font-family: var(--mono); font-size: 13px; color: var(--text-2); margin-top: 4px;
  user-select: none; -webkit-user-select: none; }
.dh-domain a { color: inherit; text-decoration: none; }
.dh-domain a:hover { text-decoration: underline; }
/* 老域名：比当前域名再弱一档——搜老域名进来的人扫一眼确认"是这家"就够，不跟主入口抢视线 */
.dh-olddomain { font-family: var(--mono); font-size: 12px; color: var(--text-3); margin-top: 2px; }
.dh-side { display: flex; align-items: center; gap: 18px; }
.dh-score { font-family: var(--mono); font-size: 30px; font-weight: 800; }
.dh-score span { font-size: 14px; color: var(--text-3); font-weight: 500; }
.dh-score.hi { color: var(--green); }
.dh-score.mid { color: var(--cyan); }
.dh-score.lo { color: var(--text-2); }
.detail-note { color: var(--text-2); font-size: 14px; margin: 14px 2px; }
.detail-anomaly {
  margin: 14px 0; padding: 10px 14px; border-radius: 6px;
  background: rgba(251,191,36,.1); color: var(--yellow);
  border: 1px solid rgba(251,191,36,.3); font-size: 13px;
}
.detail-metrics {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
  margin: 22px 0 6px;
}
.dm {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 6px; padding: 14px 16px;
  display: flex; flex-direction: column; gap: 8px;
}
.dm-k { font-family: var(--mono); font-size: 11px; color: var(--text-2); letter-spacing: .06em; }
.dm-v { font-size: 14px; font-weight: 600; display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.detail-h2 {
  font-family: var(--mono); font-size: 16px; font-weight: 700;
  margin: 34px 0 10px; padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}
/* 详情页页内 tab（2026-08-13）：一级 = 价格/套餐/公告，做成文件夹页签形态——
   整排一条底线（表达"一组，选一个"）+ 上圆角 + 选中项把底线咬开、与下面内容连成
   一体 + 顶部蓝条。第一版直接用共用的 .chip 小胶囊，用户反馈"看着像三个标签，
   不知道能点"，页签才是访客认得出的"这是 tab"信号。
   二级 = 价格表厂牌，仍用 .chip 原尺寸——它确实是筛选器不是 tab。
   只用后代选择器覆盖，不动全局 .chip（比价页/生图页在用）。*/
.dtabs {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 3px;
  margin: 30px 0 0; border-bottom: 2px solid var(--border-hi);
}
.dtabs > .chip {
  font-family: var(--sans); font-size: 13.5px; font-weight: 600; letter-spacing: 0;
  padding: 9px 15px; margin-bottom: -2px;          /* 负边距压住整排那条底线 */
  border: 1px solid var(--border);
  border-top: 2px solid transparent;               /* 占好位，选中时才上色，高度不跳 */
  border-bottom: 2px solid var(--border-hi);
  border-radius: 7px 7px 0 0;
  background: var(--bg-2); color: var(--text-2);
}
.dtabs > .chip:hover:not(.active) {
  background: var(--bg-hover); color: var(--text-1); border-color: var(--border-hi);
  border-bottom-color: var(--border-hi);
}
.dtabs > .chip.active {
  background: var(--bg); color: var(--text-1);
  border-color: var(--border-hi); border-top-color: var(--blue);
  border-bottom-color: var(--bg);                  /* 咬开底线：和下面内容区同色 */
}
/* tab 上的计数：是个附注，别跟标签文字抢眼 */
.dt-n { margin-left: 5px; font-family: var(--mono); font-size: 11px; font-weight: 500; color: var(--text-3); }
.dtabs > .chip.active .dt-n { color: var(--blue); }
/* 二级厂牌条也带 .dtabs（共用 flex 布局），但**不能长成页签**——它是价格表内部的
   筛选器，页签形态会跟上面一级抢"这是主导航"的位置。所以把页签那几件事整套退回：
   底线、负边距、上圆角、大字号、hover/active 配色，全部显式覆盖成原 .chip 小胶囊。*/
.dtabs-sub {
  gap: 6px; margin: 12px 0 0; align-items: center; border-bottom: none;
}
.dtabs-sub > .chip {
  font-family: var(--mono); font-size: 11px; font-weight: 400;
  letter-spacing: .04em; padding: 5px 12px; border-radius: 3px;
  margin-bottom: 0; border: 1px solid var(--border-hi); background: transparent;
  color: var(--text-2);
}
.dtabs-sub > .chip:hover:not(.active) {
  background: transparent; color: var(--blue); border-color: var(--blue);
}
.dtabs-sub > .chip.active { background: var(--blue-dim); border-color: var(--blue); color: var(--blue); }
.dtabs-label { font-family: var(--sans); font-size: 12px; color: var(--text-2); margin-right: 2px; }
/* 面板首个 h2 紧跟 tab 条：34px 上边距会看着断开；底线也去掉——上面 tab 条已经
   有一条 2px 底线，再来一条会变成"双线夹字"。h2 标签本身保留（SEO 骨架）。*/
.dtab-panel > .detail-h2:first-child {
  margin-top: 20px; border-bottom: none; padding-bottom: 0;
}
@media (max-width: 680px) {
  /* 一级页签：不换行——换行后上排页签会悬在半空、底线只兜住下排，页签形态就塌了。
     改成三个平分宽度、字挤不下就压缩。**不用 overflow-x:auto**：它会裁掉选中页签
     那 -2px 负边距，"咬开底线"的连体感没了。*/
  .dtabs { flex-wrap: nowrap; }
  .dtabs > .chip {
    flex: 1 1 0; min-width: 0; justify-content: center;
    font-size: 12.5px; padding: 8px 7px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  /* 二级厂牌条：横滑（它是小胶囊，没有负边距要保） */
  .dtabs-sub { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .dtabs-sub::-webkit-scrollbar { display: none; }
  .dtabs-sub > .chip {
    flex: 0 0 auto; min-width: 0; white-space: nowrap;
    font-size: 11px; padding: 5px 11px; border-radius: 3px;
  }
}
.detail-hint { color: var(--text-3); font-size: 12px; margin: 6px 0 14px; line-height: 1.6; }
/* 事实摘要句（SEO 第 11 轮）：正文首句，比 detail-hint 显眼——它是给访客看的结论，
   不是免责小字。字号接近正文、颜色用主文本色。 */
.detail-summary {
  color: var(--text-1); font-size: 14px; line-height: 1.7;
  margin: 12px 0 4px;
  /* 句里含官网域名，禁选中防顺手复制绕过 /go（文本在 DOM，SEO 不受影响） */
  user-select: none; -webkit-user-select: none;
}
.detail-list { list-style: none; padding: 0; margin: 0; }
.detail-list li {
  padding: 9px 0; border-bottom: 1px solid var(--border);
  font-size: 14px; color: var(--text-1); line-height: 1.6;
}
.detail-list li:last-child { border-bottom: none; }
.detail-list b { color: var(--text-1); }

/* CMS 内容区（admin 编辑的 Markdown 渲染后的 HTML，沿用站点全局样式）*/
.cms-content { line-height: 1.85; color: var(--text-1); }
.cms-content h1 {
  font-family: var(--mono); font-size: 24px; font-weight: 700;
  letter-spacing: .02em; line-height: 1.2; margin: 0 0 18px;
}
.cms-content h2 {
  font-size: 18px; font-weight: 600; color: var(--text-1);
  margin: 28px 0 12px; padding-top: 8px;
  border-top: 1px solid var(--border);
}
.cms-content h3 { font-size: 15px; font-weight: 600; margin: 18px 0 8px; }
.cms-content p { margin: 10px 0; color: var(--text-1); }
.cms-content ul, .cms-content ol { padding-left: 22px; margin: 10px 0; }
.cms-content li { margin: 4px 0; }
.cms-content a:not([class]) { color: var(--blue); }  /* 只着色纯文字链接；visit-btn/pick-cta 等带 class 的保持自己样式 */
.cms-content code {
  font-family: var(--mono); font-size: 12px;
  background: var(--bg-hover); padding: 1px 5px; border-radius: 3px;
}
.cms-content pre {
  background: var(--bg-card); border: 1px solid var(--border);
  padding: 10px 14px; border-radius: 6px; overflow-x: auto;
  font-family: var(--mono); font-size: 12px; line-height: 1.55;
}
.cms-content blockquote {
  margin: 12px 0; padding: 6px 14px;
  border-left: 3px solid var(--border-hi);
  color: var(--text-2); font-size: 14px;
}
.cms-content table {
  width: 100%; border-collapse: collapse; margin: 12px 0;
  font-size: 13px;
}
.cms-content th, .cms-content td {
  border: 1px solid var(--border); padding: 8px 12px; text-align: left;
}
.cms-content th { background: var(--bg-card); font-weight: 600; }
.cms-content strong { font-weight: 600; }
.cms-content hr { border: none; border-top: 1px solid var(--border); margin: 24px 0; }

/* 比价页：站长推荐渠道徽章（2026-05 新增）*/
.rec-badge {
  display: inline-block; margin-left: 6px;
  padding: 1px 7px; border-radius: 3px;
  background: linear-gradient(135deg, #ff8a00, #e53935); color: #fff;
  font-family: var(--sans); font-size: 11px; font-weight: 600;
  letter-spacing: .02em; white-space: nowrap;
  vertical-align: middle;
  box-shadow: 0 1px 4px rgba(229,57,53,.25);
}

/* 详细比价页：选购 tips（沿用 price-guide-hint 风格，2026-05 新增）*/
.purchase-tips {
  background: var(--bg-card);
  border: 1px dashed var(--border-hi, var(--border));
  border-radius: 6px;
  padding: 12px 14px;
  margin: 0 0 10px;
  font-size: 13px; line-height: 1.75;
  color: var(--text-2);
}
.purchase-tips-title {
  font-weight: 600; color: var(--text-1);
  margin-right: 4px;
}
.purchase-tips strong { color: var(--text-1); font-weight: 600; }
.purchase-tips code {
  background: var(--bg-hover); padding: 1px 5px; border-radius: 3px;
  font-family: var(--mono); font-size: 12px; color: var(--text-1);
}
/* 站级折扣徽标：贴在价格表标题下面，紧邻它说的那张表 */
.mp-discount {
  display: inline-block; margin: 2px 0 8px; padding: 5px 9px; border-radius: 6px;
  font-size: 12px; font-weight: 600; color: #166534; background: #dcfce7;
}
.mp-block { margin-bottom: 18px; }
.mp-title {
  font-family: var(--mono); font-size: 14px; font-weight: 600;
  margin-bottom: 8px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap;
}
.mp-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.mp-table th, .mp-table td {
  text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border);
}
.mp-table th {
  font-family: var(--mono); font-size: 11px; color: var(--text-2);
  font-weight: 500; letter-spacing: .05em;
}
.mp-table td { color: var(--text-1); }
.mp-table td.mp-cache { color: var(--text-2); font-size: 12px; white-space: nowrap; }
.mp-table tbody tr:hover { background: var(--bg-hover); }
.mp-empty { color: var(--text-3); font-size: 13px; padding: 8px 0; }
@media (max-width: 640px) {
  .detail-metrics { grid-template-columns: repeat(2, 1fr); }
  .detail-head { flex-direction: column; align-items: flex-start; }
  .dh-side { width: 100%; justify-content: space-between; }
}

/* ─────────── 首页「模型详细比价」4 大按钮 CTA ─────────── */
.model-compare-cta {
  background: linear-gradient(135deg, rgba(79,142,247,.06) 0%, rgba(16,185,129,.04) 100%);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 18px 20px;
  margin: 0 0 20px;
}
.model-compare-header {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-bottom: 14px;
}
.model-compare-header strong { font-size: 15px; color: var(--text-1); }
.mc-tag {
  font-family: var(--mono); font-size: 10px; letter-spacing: .08em;
  padding: 2px 8px; border-radius: 3px;
  background: var(--blue-dim); color: var(--blue);
  border: 1px solid rgba(79,142,247,.3);
}
.mc-desc { color: var(--text-2); font-size: 12px; }
/* 厂牌分组行 + 紧凑按钮（2026-07-10 改版，原 4 卡 grid） */
.model-compare-groups { display: flex; flex-direction: column; gap: 9px; }
.mc-row { display: flex; align-items: center; gap: 12px; }
.mc-row-brand {
  font-family: var(--mono); font-size: 11px;
  color: var(--text-3); letter-spacing: .06em; text-transform: uppercase;
  flex: 0 0 62px;
}
.mc-links { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.mc-link {
  display: inline-block; padding: 6px 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-hi, var(--border));
  border-radius: 7px;
  font-size: 13px; font-weight: 500; color: var(--text-1);
  white-space: nowrap;
  transition: all .15s ease;
  text-decoration: none;
}
.mc-link::after {
  content: "→"; margin-left: 6px;
  font-family: var(--mono); font-size: 12px; color: var(--blue);
}
.mc-link:hover {
  border-color: var(--blue);
  box-shadow: 0 3px 10px var(--blue-glow);
  transform: translateY(-1px);
  text-decoration: none;
}
.mc-link.is-primary {
  border-color: rgba(79,142,247,.55);
  background: var(--blue-dim);
  font-weight: 600;
}

@media (max-width: 640px) {
  .mc-row { flex-direction: column; align-items: flex-start; gap: 6px; }
  .mc-links {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  .mc-link {
    text-align: center; font-size: 13px; padding: 8px 6px;
    overflow: hidden; text-overflow: ellipsis;
  }
}

/* ─────────── /price/{slug} 比价页样式 ─────────── */
.model-summary {
  background: var(--bg-card);
  border-left: 3px solid var(--blue);
  padding: 12px 16px;
  margin: 0 0 16px;
  border-radius: 0 6px 6px 0;
  font-size: 13px; line-height: 1.7; color: var(--text-1);
}
.model-summary strong { color: var(--text-1); }

.price-table-wrap {
  margin: 18px 0; overflow-x: auto;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
}
.price-table {
  width: 100%; border-collapse: collapse; font-size: 13px;
  min-width: 720px;
}
.price-table thead th {
  text-align: left; padding: 12px 14px;
  background: rgba(255,255,255,.02);
  border-bottom: 1px solid var(--border);
  font-family: var(--mono); font-size: 11px;
  color: var(--text-2); font-weight: 500; letter-spacing: .04em;
  text-transform: uppercase;
}
.price-table thead th.num { text-align: right; }
.price-table tbody td {
  padding: 11px 14px;
  border-bottom: 1px solid var(--border);
  color: var(--text-1); vertical-align: middle;
}
.price-table tbody tr:last-child td { border-bottom: none; }
.price-table tbody tr:hover { background: rgba(79,142,247,.04); }
.price-table td.num {
  text-align: right; font-family: var(--mono); font-size: 13px;
}
.price-table td.channel-cell {
  color: var(--text-2); font-size: 12px;
  max-width: 280px; word-break: break-word;
}
.price-table .provider-link {
  /* 站名=行标题：白色粗体（2026-07-08 回归白色，同首页 .provider-name） */
  color: var(--text-1); font-size: 15px; font-weight: 700; text-decoration: none;
}
.price-table .provider-link:hover { color: var(--blue); }
.price-table .dim { color: var(--text-3); }
/* 按站聚合视图：站块首行淡蓝顶边，表格呈「站块」分组，站名自然成为每块标题
   （channel 平铺视图不加——同站不相邻，线会误导分组归属） */
.price-table tbody tr.provider-group-start td {
  border-top: 1px solid rgba(79,142,247,.18);
}

.price-table td.info-cell {
  text-align: right; white-space: nowrap;
}
.price-table td.info-cell .visit-btn {
  padding: 5px 12px; font-size: 11px; letter-spacing: 0;
}
.price-table .channel-cell .ch-name {
  display: block;
}
.price-table .channel-cell .ch-tags {
  display: inline-flex; gap: 4px; flex-wrap: wrap;
  margin-top: 4px;
}
/* 其他信息列标签堆（比价页+首页共用 _biz_stack.html 宏，2026-09-02）：
   起充/赠送/开票/退款竖排，无值行整行省略；窄列里长说明允许折行。
   比价页左对齐与表头一致（.center 在比价表里本就没有生效规则），
   首页 .pvc-biz 窄列内居中，移动端各自覆盖 */
.biz-stack { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.biz-stack .ptag, .biz-stack .topup-tag, .biz-stack .bonus-tag { white-space: normal; line-height: 1.5; }
.price-table .biz-stack { align-items: flex-start; }
.pvc-biz .biz-stack { align-items: center; }

/* 价格相关派生标签 */
.ptag {
  display: inline-block;
  font-family: var(--mono);
  font-size: 10px; font-weight: 500;
  padding: 2px 7px; border-radius: 3px;
  letter-spacing: .03em;
  white-space: nowrap;
}
.ptag.tag-green  { background: rgba(16,185,129,.12); color: #10b981; border: 1px solid rgba(16,185,129,.28); }
.ptag.tag-blue   { background: rgba(79,142,247,.12); color: var(--blue);  border: 1px solid rgba(79,142,247,.28); }
.ptag.tag-yellow { background: rgba(217,119,6,.12);  color: #f59e0b; border: 1px solid rgba(217,119,6,.28); }
.ptag.tag-red    { background: rgba(220,38,38,.12);  color: #ef4444; border: 1px solid rgba(220,38,38,.28); }
.ptag.tag-purple { background: rgba(139,92,246,.12); color: #a78bfa; border: 1px solid rgba(139,92,246,.28); }
.ptag.tag-gray   { background: rgba(148,163,184,.12); color: var(--text-3); border: 1px solid rgba(148,163,184,.25); }

.price-cross {
  margin: 20px 0 10px;
  padding: 14px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 13px;
}
.price-cross .chip { margin-left: 6px; }

/* 底部互链：紧凑厂牌分组（2026-07-10） */
.pc-groups { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.pc-row { display: flex; align-items: baseline; gap: 4px; }
.pc-brand {
  font-family: var(--mono); font-size: 11px;
  color: var(--text-3); letter-spacing: .06em; text-transform: uppercase;
  flex: 0 0 58px;
}
.pc-links { display: flex; flex-wrap: wrap; gap: 6px 0; min-width: 0; }
@media (max-width: 640px) {
  .pc-row { flex-direction: column; gap: 4px; }
  .pc-links .chip:first-child { margin-left: 0; }
}

/* 顶部模型 tab 条：厂牌轻分组（2026-07-10）。独立作用域——视图/排序 toolbar
   和生图页 tab 共用 .toolbar/.chip，不能被这里的规则波及 */
.price-model-switcher .pms-group { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.price-model-switcher .pms-group + .pms-group {
  margin-left: 9px; padding-left: 12px;
  border-left: 1px solid var(--border);
}
@media (max-width: 680px) {
  /* 移动端单行横滑（10 chip 折 3-4 行会把比价表压出首屏）；竖线退化为 gap。
     断点跟 .toolbar 移动样式(680px)对齐，并压掉它的 label 整行/chip 拉伸规则 */
  .price-model-switcher {
    flex-wrap: nowrap; overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .price-model-switcher::-webkit-scrollbar { display: none; }
  .price-model-switcher .toolbar-label { width: auto; flex: 0 0 auto; }
  .price-model-switcher .chip { flex: 0 0 auto; white-space: nowrap; }
  .price-model-switcher .pms-group { flex: 0 0 auto; flex-wrap: nowrap; }
  .price-model-switcher .pms-group + .pms-group {
    margin-left: 4px; padding-left: 0; border-left: 0;
  }
}

/* ── 详细比价页：窄屏 卡片式堆叠（每条 tr → 卡片，每个 td → 一行 label:value）── */
@media (max-width: 920px) {
  .price-table-wrap {
    overflow-x: visible; background: transparent; border: none; border-radius: 0;
  }
  .price-table { min-width: 0; display: block; }
  .price-table thead { display: none; }
  .price-table tbody, .price-table tr { display: block; }
  .price-table tbody tr {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: 8px; padding: 6px 0;
  }
  .price-table tbody tr:hover { background: var(--bg-card); }
  /* 移动端 tr 已是独立卡片，站块分组线多余且会画在卡片内每个堆叠行上——关掉 */
  .price-table tbody tr.provider-group-start td { border-top: none; }
  .price-table tbody td {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 14px;
    border-bottom: 1px dashed var(--border);
    text-align: right;
    gap: 12px; min-height: 30px;
  }
  .price-table tbody tr td:last-child { border-bottom: none; }
  .price-table tbody td::before {
    content: attr(data-label);
    color: var(--text-3);
    font-family: var(--sans); font-size: 11px; font-weight: 500;
    text-align: left;
    flex-shrink: 0;
  }
  .price-table tbody td[data-label=""]::before { content: ""; display: none; }
  /* 第一行（网站名）= 卡片标题行（2026-07-08 讨论定稿）：
     隐藏「网站名:」label——key:value 形态会让 label 反客为主抢掉标题语义；
     改 block 让站名+标签自然左对齐堆叠，站名独占顶部成为卡片标题。 */
  .price-table tbody tr td:first-child {
    display: block; text-align: left;
    border-bottom: 1px solid var(--border);
    padding: 12px 14px 8px;
  }
  .price-table tbody tr td:first-child::before { display: none; }
  .price-table tbody tr td:first-child .provider-link {
    font-size: 15px; font-weight: 700;
  }
  /* 聚合视图跨行合并（2026-09-01）：站名/起充/赠送/官网只在组首行渲染，
     组内多行黏成一张卡——首行只圆顶、续行去顶边贴上去、组尾圆底收口 */
  .price-table tbody tr.pg-first:not(.pg-last) {
    border-radius: 8px 8px 0 0; margin-bottom: 0; padding-bottom: 0;
  }
  .price-table tbody tr.pg-cont {
    border-radius: 0; margin-bottom: 0; border-top: none; padding-top: 0;
  }
  .price-table tbody tr.pg-cont.pg-last {
    border-radius: 0 0 8px 8px; margin-bottom: 8px;
  }
  /* 卡内行与行的接缝补回虚线分隔（原每 tr 末 td 是 border-bottom:none 收口）*/
  .price-table tbody tr.pg-first:not(.pg-last) td:last-child,
  .price-table tbody tr.pg-cont:not(.pg-last) td:last-child {
    border-bottom: 1px dashed var(--border);
  }
  /* 续行首个 td 是分组名（非站名标题行）：回到 label:value 堆叠形态 */
  .price-table tbody tr.pg-cont td:first-child {
    display: flex; text-align: right;
    border-bottom: 1px dashed var(--border);
    padding: 8px 14px;
  }
  .price-table tbody tr.pg-cont td:first-child::before { display: block; }
  /* 站块左缘蓝条跟着黏卡延续到底 */
  .price-table tbody tr.pg-cont { border-left: 3px solid var(--blue); }
  /* 其他信息格：label「其他信息」在左、标签竖排靠右；
     渠道视图非首次行是空格（桌面保列对齐用），卡片里是纯噪音——整格藏掉 */
  .price-table tbody td .biz-stack { align-items: flex-end; }
  .price-table tbody td.biz-empty { display: none; }
  /* channel-cell 允许换行（多个 ptag） */
  .price-table tbody td.channel-cell {
    max-width: none;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .price-table tbody td.channel-cell .ch-name { text-align: right; }
  .price-table tbody td.channel-cell .ch-tags {
    width: 100%; justify-content: flex-end; margin-top: 4px;
  }
  /* num 列右对齐数字 */
  .price-table tbody td.num { font-family: var(--mono); }
  /* info-cell（官网按钮）单独一行居中 */
  .price-table tbody td.info-cell {
    justify-content: center; padding-top: 10px;
  }
  .price-table tbody td.info-cell .visit-btn { padding: 8px 18px; font-size: 12px; }
}

/* 站行左缘竖粗条（产品方 2026-09-01：类似首页站卡左缘）——只加在带站名+标签的
   首行（site-accent），没放标签的后续渠道行不加。inset 阴影不占布局，
   各行首列文字仍对齐；颜色随主题（浅色=墨青、深色=宝蓝） */
.price-table tr.site-accent td:first-child { box-shadow: inset 3px 0 0 var(--blue); }
.home-light .price-table tr.site-accent td:first-child { box-shadow: inset 5px 0 0 var(--blue); }
@media (max-width: 920px) {
  /* 移动端 tr 已是独立卡片：竖条改画在卡片左缘（首 td 只是卡内标题块，画在那儿只描一小段）*/
  .price-table tr.site-accent td:first-child,
  .home-light .price-table tr.site-accent td:first-child { box-shadow: none; }
  .price-table tbody tr.site-accent { border-left: 3px solid var(--blue); }
}

/* 工具条右侧的「渠道科普」内联引导（2026-09-01 从页顶独立条挪进排序行右边；
   .toolbar 是 flex+wrap，窄屏放不下时自然掉到下一行右对齐）*/
.price-guide-inline {
  margin-left: auto; font-size: 12px; color: var(--text-3);
}
.price-guide-inline a { font-weight: 500; }

/* 比价页顶部「渠道科普」引导条 */
.price-guide-hint {
  background: var(--bg-card);
  border: 1px dashed var(--border-hi, var(--border));
  border-radius: 6px;
  padding: 10px 14px;
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--text-2);
}
.price-guide-hint a { font-weight: 500; }

/* ptag 作为链接时的 hover */
a.ptag {
  text-decoration: none;
  transition: opacity .15s;
}
a.ptag:hover {
  opacity: .8;
  text-decoration: none;
}

/* ── /verify-yourself 新版结论卡（vy- 前缀，避免与首页 .verdict 冲突）── */
.vy-cc {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-top: 3px solid var(--silver);
  border-radius: 10px;
  padding: 28px 26px 18px;
  display: flex; flex-direction: column; align-items: center;
  box-shadow: 0 1px 3px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.2);
}
.vy-cc.pass    { border-top-color: var(--green); }
.vy-cc.warn    { border-top-color: var(--yellow); }
.vy-cc.fail    { border-top-color: var(--red); }
.vy-cc.neutral { border-top-color: var(--silver); }

.vy-eyebrow {
  font-family: var(--mono); font-size: 10px; letter-spacing: .14em;
  color: var(--text-3); text-transform: uppercase; margin-bottom: 18px;
}

.vy-dual-gauge { display: flex; gap: 24px; justify-content: center; align-items: flex-start; margin-bottom: 4px; flex-wrap: wrap; }
.vy-mini-gauge { position: relative; width: 110px; height: 110px; text-align: center; }
.vy-mini-gauge svg { display: block; transform: rotate(-90deg); }
.vy-mini-gauge .gtrack { fill: none; stroke: var(--border); stroke-width: 10; }
.vy-mini-gauge .gfill  { fill: none; stroke-width: 10; stroke-linecap: round; }
.vy-mini-gauge.pass    .gfill { stroke: var(--green); }
.vy-mini-gauge.warn    .gfill { stroke: var(--yellow); }
.vy-mini-gauge.fail    .gfill { stroke: var(--red); }
.vy-mini-gauge.neutral .gfill { stroke: var(--silver); }
.vy-mini-inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; }
.vy-mini-num { font-family: var(--mono); font-size: 34px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.vy-mini-gauge.pass    .vy-mini-num { color: var(--green); }
.vy-mini-gauge.warn    .vy-mini-num { color: var(--yellow); }
.vy-mini-gauge.fail    .vy-mini-num { color: var(--red); }
.vy-mini-gauge.neutral .vy-mini-num { color: var(--silver); }
.vy-mini-tag { font-family: var(--mono); font-size: 11px; color: var(--text-3); margin-top: 8px; letter-spacing: .04em; }

.vy-verdict-pill {
  margin-top: 14px;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 20px; border-radius: 999px;
  font-size: 14px; font-weight: 600; letter-spacing: .02em;
  border: 1px solid;
}
.vy-cc.pass    .vy-verdict-pill { background: var(--green-dim);  color: var(--green);  border-color: rgba(0,201,123,.3); }
.vy-cc.warn    .vy-verdict-pill { background: var(--yellow-dim); color: var(--yellow); border-color: rgba(251,191,36,.3); }
.vy-cc.fail    .vy-verdict-pill { background: var(--red-dim);    color: var(--red);    border-color: rgba(248,113,113,.3); }
.vy-cc.neutral .vy-verdict-pill { background: var(--silver-dim); color: var(--text-2); border-color: var(--border-hi); }

.vy-conc-text {
  font-size: 14px; line-height: 1.7; color: var(--text-1);
  text-align: center; margin: 14px 0 16px; max-width: 440px;
}

/* Family 选择 pill（verify-yourself 表单 Step 01） */
.vy-fam-pills .vy-pill-radio {
  display: inline-flex; align-items: baseline; gap: 6px;
  padding: 7px 14px;
  border: 1px solid var(--border-hi);
  border-radius: 999px;
  cursor: pointer;
  font-size: 13px; line-height: 1.2;
  background: var(--bg-2);
  transition: border-color .15s, background .15s;
}
.vy-fam-pills .vy-pill-radio input { display: none; }
.vy-fam-pills .vy-pill-radio span { font-weight: 600; color: var(--text-1); }
.vy-fam-pills .vy-pill-radio em {
  font-style: normal; font-size: 11px; color: var(--text-3); font-family: var(--mono);
}
.vy-fam-pills .vy-pill-radio:has(input:checked) {
  background: rgba(79,142,247,.12);
  border-color: var(--blue);
}
.vy-fam-pills .vy-pill-radio:has(input:checked) span { color: var(--blue); }
.vy-fam-pills .vy-pill-radio.is-disabled {
  opacity: .45; cursor: not-allowed;
}

.vy-check-table {
  width: 100%; max-width: 440px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-2);
  overflow: hidden;
}
.vy-check-head, .vy-check-row {
  display: grid;
  padding: 6px 11px;
  font-size: 11px;
  align-items: center;
}
/* 列数动态（Claude 2 列 / GPT 1 列；Phase D 后可扩 3 列） */
.vy-check-cols-2 .vy-check-head,
.vy-check-cols-2 .vy-check-row { grid-template-columns: 1fr 32px 32px; }
.vy-check-cols-1 .vy-check-head,
.vy-check-cols-1 .vy-check-row { grid-template-columns: 1fr 48px; }
.vy-check-cols-3 .vy-check-head,
.vy-check-cols-3 .vy-check-row { grid-template-columns: 1fr 32px 32px 32px; }
.vy-check-head {
  background: var(--bg-hover); color: var(--text-3); font-family: var(--mono);
  font-size: 9px; letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 11px;
}
.vy-check-head span:not(:first-child) { text-align: center; }
.vy-check-row { border-top: 1px solid var(--border); color: var(--text-2); }
.vy-check-row span:not(:first-child) {
  text-align: center; font-family: var(--mono); font-size: 12px; font-weight: 700;
}
.vy-check-row .ok   { color: var(--green); }
.vy-check-row .weak { color: var(--yellow); }
.vy-check-row .bad  { color: var(--red); }
.vy-check-row .skp  { color: var(--text-3); }
.vy-check-name { color: var(--text-1); }
.vy-check-name-hint { color: var(--text-3); font-size: 10px; margin-left: 4px; }

.vy-neutral-note { margin-top: 10px; text-align: center; font-size: 11px; color: var(--text-3); font-family: var(--mono); }

.vy-cc-footer {
  width: 100%; max-width: 440px; margin-top: 14px; padding-top: 12px;
  border-top: 1px dashed var(--border);
  display: flex; flex-direction: column; gap: 10px; align-items: center;
}
.vy-sig {
  font-family: var(--mono); font-size: 11px; color: var(--text-3);
  letter-spacing: .02em; text-align: center; line-height: 1.6;
}
.vy-sig a { color: var(--blue); text-decoration: none; font-weight: 600; }
.vy-sig a:hover { text-decoration: underline; }
.vy-share-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.vy-share-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 12px; font-size: 12px;
  background: var(--bg-2); border: 1px solid var(--border-hi); border-radius: 6px;
  color: var(--text-2); cursor: pointer; transition: all .15s;
  font-family: var(--sans);
}
.vy-share-btn:hover { background: var(--blue-dim); border-color: var(--blue); color: var(--blue); }
.vy-share-btn .ico { font-size: 14px; }
.vy-share-btn.vy-share-primary { background: var(--blue); border-color: var(--blue); color: #fff; font-weight: 600; }
.vy-share-btn.vy-share-primary:hover { background: #3a7be0; border-color: #3a7be0; color: #fff; }

/* ── 同类站导流（详情页 B级→S级）+ 最新收录（首页爬虫入口）2026-06-18 ── */
.similar-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px; margin: 6px 0 10px;
}
.similar-card {
  display: flex; flex-direction: column; gap: 11px;
  padding: 18px 20px; border: 2px solid var(--green); border-radius: 10px;
  background: var(--bg-card); text-decoration: none;
  transition: border-color .15s, background .15s, transform .12s, box-shadow .15s;
  box-shadow: 0 4px 16px rgba(0,201,123,.15);
}
.similar-card:hover {
  border-color: var(--green); background: var(--bg-hover); transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(0,201,123,.3);
}
/* B 级站导流位强化样式 */
.similar-section-top {
  margin: 24px 0 28px; padding: 22px;
  border: 2px solid var(--green); border-radius: 12px;
  background: linear-gradient(135deg, rgba(0,201,123,.12) 0%, rgba(0,201,123,.06) 100%);
}
.similar-section-top .detail-h2 {
  color: var(--green) !important;
  font-size: 18px;
}
.similar-card-prominent {
  border: 2px solid var(--green);
  background: var(--bg-card);
  box-shadow: 0 4px 16px rgba(0,201,123,.2);
}
.similar-card-prominent:hover {
  background: var(--bg-hover);
  box-shadow: 0 6px 24px rgba(0,201,123,.35);
  transform: translateY(-3px);
  border-color: var(--green);
}
.similar-card-prominent .similar-s {
  background: var(--green);
  color: #000;
  border: none;
  font-weight: 800;
  padding: 3px 9px;
}
.similar-card-prominent .similar-go {
  color: var(--green);
  font-size: 15px;
}
.similar-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.similar-name { font-size: 17px; font-weight: 700; color: var(--text-1); }
.similar-s {
  font-size: 11px; font-weight: 800; background: var(--green); color: #000;
  border: none; border-radius: 4px; padding: 3px 9px; white-space: nowrap;
}
.similar-models { display: flex; flex-wrap: wrap; gap: 6px; }
.sm-tag {
  font-size: 12px; color: var(--text-2);
  border: 1px solid var(--border-hi); border-radius: 4px; padding: 2px 8px;
}
.similar-go { font-size: 15px; font-weight: 700; color: var(--green); margin-top: 2px; }

.recent-sites { margin: 36px 0 8px; }
.recent-sites-title {
  font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--text-2);
  margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border);
}
.recent-sites-list { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.recent-sites-list a {
  font-size: 13px; color: var(--text-2); text-decoration: none; transition: color .15s;
}
.recent-sites-list a:hover { color: var(--blue); }

/* 其他模型排行导航（rankings 页底部，2026-10-03 中转站词族 SEO 内链优化）*/
.other-rankings-nav {
  margin: 28px 0 24px;
  padding: 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
}
.orn-title {
  font-size: 14px;
  color: var(--text-2);
  margin: 0 0 12px;
  font-weight: 600;
}
.orn-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.orn-link {
  display: inline-block;
  padding: 8px 14px;
  font-size: 13px;
  color: var(--text-2);
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: 6px;
  text-decoration: none;
  transition: all .15s;
}
.orn-link:hover {
  color: var(--blue);
  border-color: var(--blue);
  background: var(--bg-3);
}
/* 浅色主题适配 */
.home-light .orn-link:hover {
  background: rgba(8, 127, 140, .04);
}

/* 首页底部低调内链（承接中转站检测等，不显眼）2026-06-18 */
.home-foot-links { display: flex; flex-wrap: wrap; gap: 16px; margin: 26px 0 10px; }
.home-foot-links a { font-size: 12px; color: var(--text-3); text-decoration: none; transition: color .15s; }
.home-foot-links a:hover { color: var(--blue); }

/* 友情链接（内容合作方自助维护，2026-08-11）：与上面的低调内链同一层级，
   更淡一档，不跟站内导航抢注意力 */
.home-friend-links { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; margin: 4px 0 10px; }
.home-friend-links .ffl-label { font-size: 12px; color: var(--text-3); opacity: .75; }
.home-friend-links a { font-size: 12px; color: var(--text-3); text-decoration: none; transition: color .15s; }
.home-friend-links a:hover { color: var(--blue); }

/* ─── 渠道类型帮助角标「?」（2026-07-24，同步自俄语站）：点击跳渠道科普对应锚点 ─── */
.ch-help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  margin-left: 4px;
  border: 1px solid var(--border-hi);
  border-radius: 50%;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  color: var(--text-3);
  text-decoration: none;
  vertical-align: 1px;
  flex-shrink: 0;
}
.ch-help:hover { color: var(--blue); border-color: var(--blue); }

/* 渠道类型悬浮气泡 */
.ch-tooltip {
  position: fixed;
  z-index: 1000;
  padding: 9px 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-hi);
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0,0,0,.35);
  font-size: 12px;
  line-height: 1.65;
  color: var(--text-1);
  pointer-events: none;
}

/* ── 站方公告（详情页，2026-08 方案）── */
.ann-list { list-style: none; padding: 0; margin: 6px 0 10px; }
.ann-item {
  display: flex; align-items: baseline; gap: 12px;
  padding: 9px 0; border-bottom: 1px solid var(--border);
  font-size: 14px; line-height: 1.6;
}
.ann-item:last-child { border-bottom: none; }
.ann-date { color: var(--text-3); font-size: 12px; white-space: nowrap; flex-shrink: 0; }
.ann-text, .ann-full {
  color: var(--text-1); white-space: pre-line;
  overflow-wrap: anywhere; word-break: break-word;
}
.ann-details { flex: 1; min-width: 0; }
.ann-details summary { cursor: pointer; list-style: none; }
.ann-details summary::-webkit-details-marker { display: none; }
.ann-details summary::after { content: "展开"; color: var(--blue); font-size: 12px; margin-left: 4px; }
.ann-details[open] summary .ann-head { display: none; }
.ann-details[open] summary::after { content: "收起"; }

/* ── 订阅套餐（详情页，2026-08-12 方案 §6）：站方订阅页原样搬运 ──
   全是站方原文（纯文本、默认转义），我方只排版。卡片等高靠 grid 拉伸，
   长文本按行数截断防单卡撑高。 */
.plans-src { font-size: 12px; font-weight: 400; color: var(--text-3); margin-left: 8px; }
.plans-group { margin: 4px 0 14px; }
.plans-group > summary { cursor: pointer; list-style: none; }
.plans-group > summary::-webkit-details-marker { display: none; }
.plans-gsum {
  font-size: 15px; font-weight: 700; color: var(--text-1);
  padding: 9px 0; border-bottom: 1px solid var(--border);
}
.plans-group > summary.plans-gsum::after {
  content: "▸ 展开"; color: var(--blue); font-size: 12px; font-weight: 400; margin-left: 8px;
}
.plans-group[open] > summary.plans-gsum::after { content: "▾ 收起"; }
.plans-gsub { margin: 8px 0 0; font-size: 12px; color: var(--text-3); line-height: 1.6; }
.plans-btitle { margin: 14px 0 0; font-size: 14px; font-weight: 600; color: var(--text-2); }
.plans-bdesc { margin: 4px 0 0; font-size: 12px; color: var(--text-3); line-height: 1.6; }
.plans-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(232px, 1fr));
  gap: 12px; margin: 10px 0 4px;
}
.plan-card {
  display: flex; flex-direction: column; gap: 6px;
  padding: 14px 16px; border: 1px solid var(--border-hi); border-radius: 10px;
  background: var(--bg-card);
}
.pc-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.pc-badge {
  font-size: 11px; padding: 1px 7px; border-radius: 999px;
  background: var(--blue-dim); color: var(--blue); white-space: nowrap;
}
.pc-name { font-size: 15px; font-weight: 700; color: var(--text-1); line-height: 1.4; }
.pc-tagline {
  font-size: 12px; color: var(--text-3); line-height: 1.5;
  /* 4 行：有的站把整段套餐说明（渠道来源/额度/倍率，实测中位 138 字）塞在这个
     字段里，2 行会砍掉大半；短宣传语不受影响（clamp 只在超出时生效）。 */
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.pc-price { font-size: 17px; font-weight: 800; color: var(--green); line-height: 1.3; }
/* 站方划掉的原价：紧贴主价、删除线灰字，一眼看出是对比价不是第二个价格 */
.pc-price-was {
  margin-left: 6px; font-size: 12px; font-weight: 500; color: var(--text-3);
  text-decoration: line-through;
}
.pc-highlight { font-size: 13px; font-weight: 600; color: var(--text-2); }
.pc-rows { list-style: none; padding: 0; margin: 4px 0 0; }
.pc-row {
  display: flex; flex-wrap: wrap; gap: 4px 8px;
  padding: 5px 0; border-top: 1px solid var(--border);
  font-size: 12.5px; line-height: 1.55; overflow-wrap: anywhere;
}
.pc-rl { color: var(--text-3); flex-shrink: 0; }
.pc-rv { color: var(--text-1); margin-left: auto; text-align: right; }
.pc-rd { color: var(--text-2); flex-basis: 100%; }
.pc-row-note .pc-rv { margin-left: 0; text-align: left; }
.pc-foot {
  margin-top: auto; padding-top: 8px;
  font-size: 12px; color: var(--text-3); line-height: 1.55;
}
.plans-more { margin: 8px 0 0; }
.plans-more-sum {
  cursor: pointer; list-style: none;
  font-size: 13px; color: var(--blue); padding: 6px 0;
}
.plans-more-sum::-webkit-details-marker { display: none; }
.plans-more-sum::after { content: " · 展开"; }
.plans-more[open] .plans-more-sum { color: var(--text-3); }
.plans-more[open] .plans-more-sum::after { content: " · 收起"; }
.plans-foot { margin: 10px 0 0; font-size: 12px; color: var(--text-3); line-height: 1.6; }
.plans-cta { margin: 14px 0 6px; }
@media (max-width: 600px) {
  .plans-grid { grid-template-columns: 1fr; }
}

/* ── 网友自测记录 + 导流卡加码（2026-08-08）────────────────────────── */
.verify-archive {
  margin: 20px 0 24px; padding: 16px 20px;
  border: 1px solid var(--border-hi); border-left: 3px solid var(--green);
  border-radius: 10px; background: var(--bg-card);
}
.verify-archive .detail-h2 { margin: 0 0 10px; font-size: 17px; }
.va-line { margin: 0; font-size: 15px; color: var(--text-1); }
.va-line b { color: var(--green); }
.va-check { color: var(--green); font-weight: 800; margin-right: 4px; }
.va-models { margin: 10px 0 0; font-size: 13px; color: var(--text-2);
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.va-pill {
  font-size: 12px; color: var(--green); font-weight: 600;
  border: 1px solid var(--green); border-radius: 999px; padding: 2px 10px;
  white-space: nowrap;
}
/* 推荐卡双 CTA 版：卡不再整卡可点 */
.rec-card { cursor: default; }
.rec-verify { font-size: 12.5px; color: var(--text-2);
  display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.rec-pill {
  font-size: 11.5px; color: var(--green); font-weight: 600;
  border: 1px solid var(--green); border-radius: 999px; padding: 1px 8px;
  white-space: nowrap;
}
.rec-pill-more { font-size: 11.5px; color: var(--text-3, #8e96a3); }
.rec-coupon { font-size: 13px; color: var(--text-1); }
.rec-coupon b { color: var(--green); }
.rec-ctas { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 2px; }
.rec-go-btn {
  display: inline-block; background: var(--green); color: #000;
  font-size: 14px; font-weight: 800; text-decoration: none;
  border-radius: 8px; padding: 9px 16px; white-space: nowrap;
  transition: filter .12s, transform .12s;
}
.rec-go-btn:hover { filter: brightness(1.1); transform: translateY(-1px); }
.rec-detail-link { font-size: 13px; color: var(--text-2); text-decoration: underline; }
.rec-detail-link:hover { color: var(--text-1); }
/* 底部收口卡：紧凑单行 */
.rec-bottom { margin: 26px 0; }
.rec-bottom-row {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 12px 16px; margin: 8px 0;
  border: 1px solid var(--border-hi); border-radius: 10px; background: var(--bg-card);
}
.rb-name { font-size: 15px; font-weight: 700; color: var(--text-1); text-decoration: none; }
.rb-name:hover { color: var(--green); }
.rb-verify { font-size: 12.5px; color: var(--green); }
.rb-go { margin-left: auto; padding: 7px 14px; font-size: 13px; }
/* 网友自测记录：最近几次通过明细 */
.va-runs { list-style: none; margin: 10px 0 0; padding: 0; }
.va-runs li {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 6px 0; font-size: 13px; border-top: 1px dashed var(--border-hi);
}
.va-run-date { color: var(--text-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.va-run-models { color: var(--text-1); }
.va-run-ok { margin-left: auto; color: var(--green); font-weight: 600; white-space: nowrap; }

/* ─────────── 首页筛选栏企业入口 + /enterprise 落地页（2026-08-10） ─────────── */
/* 筛选栏右端的企业入口：权重必须低于同排的 .rank-hint（那句是破决策瘫痪的转化句），
   所以无边框无底色、12.5px 灰字。窄屏整条换行占满，右对齐，不跟 rank-hint 抢同一行。 */
.ent-link {
  align-self: center; margin-left: 14px;
  font-size: 13px; font-weight: 500; color: var(--blue);
  text-decoration: none; white-space: nowrap;
}
.ent-link:hover { color: var(--blue); text-decoration: underline; }
@media (max-width: 640px) {
  .ent-link { flex-basis: 100%; margin: 8px 0 0 0; text-align: right; }
}

.ent-wrap { max-width: 760px; }
.ent-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 22px 0; }
.ent-card {
  padding: 16px 18px; border: 1px solid var(--border); border-radius: 10px;
  background: var(--bg-card);
}
.ent-card-h { font-size: 15px; font-weight: 700; color: var(--text-1); margin-bottom: 7px; }
.ent-card p { margin: 0; font-size: 13.5px; color: var(--text-2); line-height: 1.65; }

.ent-ask { margin: 26px 0; }
.ent-ask-h { font-size: 15px; font-weight: 700; color: var(--text-1); margin-bottom: 11px; }
.ent-ask-list { display: flex; flex-wrap: wrap; gap: 8px; }
.ent-ask-list span {
  padding: 6px 12px; border-radius: 7px;
  border: 1px solid var(--border-hi); background: var(--bg-card);
  font-size: 13px; color: var(--text-1); white-space: nowrap;
}

.ent-steps { margin: 26px 0; }
.ent-steps-h { font-size: 15px; font-weight: 700; color: var(--text-1); margin-bottom: 11px; }
.ent-steps ol { margin: 0; padding-left: 20px; }
.ent-steps li { margin-bottom: 10px; font-size: 13.5px; color: var(--text-2); line-height: 1.7; }
.ent-steps li strong { color: var(--text-1); margin-right: 8px; }

.ent-contact {
  display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
  padding: 20px; margin: 28px 0;
  border: 1px solid var(--border-hi); border-radius: 10px;
  background: linear-gradient(135deg, rgba(79,142,247,.06) 0%, rgba(16,185,129,.04) 100%);
}
.ent-contact-h { font-size: 16px; font-weight: 700; color: var(--text-1); margin-bottom: 6px; }
.ent-contact-txt p { margin: 0; font-size: 13px; color: var(--text-2); }


@media (max-width: 640px) {
  .ent-three { grid-template-columns: 1fr; }
}

/* ─────────── /partner 合作三卡 + 供应端登记表（2026-08-09） ─────────── */
.pt-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 24px 0; max-width: 900px; }
.pt-card {
  display: block; padding: 20px; text-decoration: none;
  border: 1px solid var(--border); border-radius: 10px; background: var(--bg-card);
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.pt-card:hover {
  border-color: var(--blue); box-shadow: 0 3px 12px var(--blue-glow);
  transform: translateY(-1px); text-decoration: none;
}
.pt-card-h { font-size: 16px; font-weight: 700; color: var(--text-1); margin-bottom: 8px; }
.pt-card-who { margin: 0 0 8px; font-size: 13.5px; color: var(--blue); }
.pt-card-d { margin: 0 0 12px; font-size: 13px; color: var(--text-2); line-height: 1.7; }
.pt-card-go { font-size: 13px; color: var(--blue); font-family: var(--mono); }

.apply-ok {
  background: rgba(0,201,123,.1); border: 1px solid rgba(0,201,123,.3); border-radius: 6px;
  padding: 14px 18px; margin: 22px 0; color: var(--green); font-size: 14px; max-width: 580px;
}
.pq-note { max-width: 720px; font-size: 13.5px; line-height: 1.85; color: var(--text-2); margin: 0 0 14px; }
.pq-note strong { color: var(--text-1); }

/* 报价 grid：模型 × 量级档。表格窄屏横向滚动，不塞进 .apply-form 的 580px 限宽 */
.pq-wrap { max-width: 760px; overflow-x: auto; margin: 0 0 18px; }
.pq-table { border-collapse: collapse; width: 100%; min-width: 560px; }
.pq-table th, .pq-table td { border: 1px solid var(--border); padding: 7px 9px; }
.pq-table thead th {
  background: var(--bg-2, var(--bg-card)); font-size: 12.5px; font-weight: 600;
  color: var(--text-2); white-space: nowrap;
}
.pq-table tbody th {
  text-align: left; font-size: 13px; font-weight: 500; color: var(--text-1); white-space: nowrap;
}
.pq-in {
  width: 100%; min-width: 74px; box-sizing: border-box;
  padding: 6px 8px; font-size: 13px;
  background: var(--bg-input, var(--bg-card)); color: var(--text-1);
  border: 1px solid transparent; border-radius: 5px;
}
.pq-in:focus { outline: none; border-color: var(--blue); background: var(--bg-card); }

@media (max-width: 720px) {
  .pt-cards { grid-template-columns: 1fr; }
}
/* /enterprise 留联系方式表单（2026-08-10：由二维码改为收线索给销售外呼） */
.ent-form { max-width: 420px; margin-top: 12px; }
.ent-form .form-submit { margin-top: 4px; }

/* ── 站点 logo（2026-08-13）────────────────────────────────────────
   各站官网自己的图标，抓下来压成 64×64 存本地；抓不到的用站名首字色块占位，
   保证列表里图标列是齐的。尺寸由 macro 传参写进 --lg（首页 28 / 详情页 32 /
   表格 20 / 推荐卡 20~22）。淡背景+圆角：不少站的图是白色或透明描边，
   深色底上直接放会糊成一片。 */
.site-logo {
  width: var(--lg, 28px); height: var(--lg, 28px);
  flex: 0 0 var(--lg, 28px);
  border-radius: calc(var(--lg, 28px) * .24);
  object-fit: contain;
  background: rgba(255,255,255,.05);
  vertical-align: middle;
}
/* 偏暗的 logo（黑色图标居多）在深色卡片上会糊住 → 垫一块浅底把它托出来。
   只给判定为暗的加，白色/亮色 logo 垫了反而会消失（深色底上它们本就清楚）。 */
.site-logo.lg-plate {
  background: #e8edf5;
  padding: calc(var(--lg, 28px) * .07);
  box-sizing: border-box;
}
.site-logo.lg-fb {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--sans); font-weight: 800; color: #fff;
  font-size: calc(var(--lg, 28px) * .4); letter-spacing: .01em;
  background: linear-gradient(135deg, var(--lg-c1), var(--lg-c2));
}
/* 非 S/A 档（2026-08-13）：转灰压暗，让「彩色」成为推荐档独有的信号。
   缩小走 padding 而不是改 width——外框仍占满 --lg，站名列一条竖线不歪。
   放在 lg-plate 之后，暗色 logo 同时命中两条时以这里的 padding 为准。 */
.site-logo.lg-dim {
  filter: grayscale(1);
  opacity: .55;
  padding: calc(var(--lg, 28px) * .11);
  box-sizing: border-box;
  transition: filter .2s, opacity .2s;
}
/* 鼠标划过整行时回一点色——想看清是哪家的访客不至于认不出来 */
.card:hover .site-logo.lg-dim { filter: grayscale(.25); opacity: .9; }
/* 首页卡片：.provider-link 是 inline-flex gap:5px，logo 后再补一点气口 */
.provider-link > .site-logo { margin-right: 3px; }
/* 详情页大标题：h1 里图文并排 */
.dh-name { display: flex; align-items: center; gap: 10px; }
/* 表格/推荐卡：站名是 inline 元素，图文对齐靠 inline-flex */
.price-table .provider-link { display: inline-flex; align-items: center; gap: 7px; }
.similar-name { display: inline-flex; align-items: center; gap: 7px; }
.rb-name { display: inline-flex; align-items: center; gap: 7px; }


/* ══ 首页改版 v2（首页实测整合方案.md v2.3 + B/C 两站一排，2026-08-31 转正）══
   仅首页使用：实测 5 列 + B/C 紧凑排布 + .home-light 浅色皮（挂类才生效，
   其他页零影响）。后续批次的浅色覆盖追加在本段之后、沿用 .home-light 前缀风格。
   判档在 bench_display.py，这里只管摆。 */

/* ── 容器：仅实测视图放宽（main 基准 1100 → 1320）──
   列宽单一真源 --pv-cols：表头与行共用；第 3 列（测试模型/渠道）弹性吃掉余宽 */
.main-wide { max-width: 1320px; }
main {
  /* 列序（2026-09-01 用户改）：服务商 | 测试模型/渠道 | 真假检测 | 扣费对比（应扣实扣并入）| 缓存 | 等待 | 其他信息 | 操作 */
  --pv-cols: 372px minmax(150px, 1fr) 108px 132px 112px 64px 128px 86px;
}
.main-wide .card { max-width: 1280px; }
.main-wide .toolbar { max-width: 1280px; }
/* 榜单外的区块不跟着放宽：读文字的区块拉到 1264px 行长过长 */
.main-wide .faq-section, .main-wide .trust-tldr,
.main-wide .recent-sites, .main-wide .home-foot-links,
.main-wide .home-friend-links, .main-wide .footer-legal { max-width: 1080px; }
/* 两条特色条跟卡片/工具栏同宽（2026-08-31 用户改：与上下区块右缘对齐，别短一截）*/
.main-wide .model-compare-cta, .main-wide .feat-bench-bar { max-width: 1280px; }

/* ── 比价条：发光大卡片 → 一行厂牌下拉（2026-08-31 用户改 v3）──
   一行只摆 5 个厂牌按钮，点厂牌弹出该家型号菜单；13 个链接仍是 SSR 真实 <a> */
.model-compare-cta {
  background: var(--bg-2);
  border: none;
  border-left: 4px solid var(--blue);
  border-radius: 0 6px 6px 0;
  padding: 12px 16px;
  margin: 0 0 16px;
}
.feat-line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; }
.feat-t { font-size: 13.5px; color: var(--text-1); white-space: nowrap; }
/* 厂牌按钮紧跟说明文字（2026-08-31 用户改：别推到最右）*/
.mc-drops { display: flex; gap: 8px; flex-wrap: wrap; }
.mc-drop { position: relative; }
.mc-drop-btn {
  padding: 4px 12px; border: 1px solid var(--border-hi); border-radius: 4px;
  background: none; color: var(--text-1); font-size: 12.5px;
  cursor: pointer; white-space: nowrap;
}
.mc-drop-btn:hover, .mc-drop-btn.open { border-color: var(--blue); color: var(--blue); }
.mc-drop-menu {
  position: absolute; top: calc(100% + 4px); left: 0; z-index: 50;
  min-width: 150px;
  background: var(--bg-card); border: 1px solid var(--border-hi); border-radius: 8px;
  padding: 6px; box-shadow: 0 10px 26px rgba(0, 0, 0, .45);
  display: flex; flex-direction: column; gap: 2px;
}
/* 显式兜底：自己的 display:flex 会压过浏览器默认 [hidden]（mc-full 栽过的同一坑）*/
.mc-drop-menu[hidden] { display: none; }
/* 最右一个下拉贴容器右缘，菜单向左弹避免出界 */
.mc-drop:last-child .mc-drop-menu { left: auto; right: 0; }
.mc-drop-menu a {
  padding: 5px 10px; border-radius: 4px;
  color: var(--text-1); text-decoration: none;
  font-size: 12.5px; white-space: nowrap;
}
.mc-drop-menu a:hover { background: var(--blue-dim); color: var(--blue); }
/* 扣费实测特色条（2026-08-31 用户改：放更明显的位置）：独立置顶、蓝色高亮底 + 实心按钮 */
.feat-bench-bar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  background: linear-gradient(90deg, rgba(79, 142, 247, .13), rgba(79, 142, 247, .04));
  border: 1px solid rgba(79, 142, 247, .35);
  border-left: 4px solid var(--blue);
  border-radius: 0 6px 6px 0;
  padding: 11px 16px;
  margin: 0 0 10px;
  max-width: 1080px;
}
.feat-bench-bar .feat-t { font-size: 14px; }
.feat-bench-bar .mc-desc { flex: 1; min-width: 0; }
.feat-bench-btn {
  margin-left: auto; padding: 5px 14px; border-radius: 5px;
  background: var(--blue); color: #fff; text-decoration: none;
  font-size: 12.5px; font-weight: 600; white-space: nowrap;
}
.feat-bench-btn:hover { filter: brightness(1.12); }
@media (max-width: 640px) {
  /* 移动端：厂牌按钮换行摆（不做横滑——下拉是 absolute 定位，横滑容器会把菜单裁掉）*/
  .mc-drops { width: 100%; }
}

/* ── 两行表头 ── */
.pv-thead {
  display: grid;
  grid-template-columns: var(--pv-cols);
  grid-template-rows: auto auto;
  gap: 2px 10px;
  max-width: 1280px;
  padding: 8px 18px 8px 24px;
  margin-bottom: 6px;
  border-bottom: 1px solid var(--border);
  align-items: end;
}
.pv-thead .pvh-span { grid-row: 1 / 3; align-self: end; }
.pvh-c1 { grid-column: 1; }
.pvh-c7 { grid-column: 7; }
.pvh-c8 { grid-column: 8; }
/* 组标题罩住 真假检测 + 4 个实测列（2026-09-01 合并后；其他信息列不属于实测数据组）*/
.pvh-group {
  grid-column: 2 / 7; grid-row: 1;
  display: flex; align-items: center; justify-content: center; gap: 12px;
  padding-bottom: 5px; margin-bottom: 3px;
  border-bottom: 1px solid var(--border-hi);
}
.pvh-group-t {
  font-size: 12px; font-weight: 600; color: var(--text-1);
  letter-spacing: .04em; white-space: nowrap;
}
/* 「实测用」切换器：分段控件（连体按钮+选中实心），刻意区别于上方模型筛选的
   独立描边 chips——两组开关长得像会搞混（2026-08-31 用户裁定：靠文案+样式区分）*/
.pvh-tabs-label { font-size: 11px; color: var(--text-3); white-space: nowrap; }
.pvh-tabs {
  display: inline-flex; gap: 0;
  border: 1px solid var(--border-hi); border-radius: 6px; overflow: hidden;
}
.pvh-tab {
  padding: 3px 12px;
  font-size: 11.5px; color: var(--text-2); text-decoration: none;
  transition: all .15s; white-space: nowrap;
}
.pvh-tab + .pvh-tab { border-left: 1px solid var(--border-hi); }
.pvh-tab:hover { color: var(--blue); background: var(--blue-dim); }
.pvh-tab.on { color: #fff; background: var(--blue); }
.pvh-tab.on:hover { color: #fff; background: var(--blue); }
.pvh-sub { grid-row: 2; }
/* 可排序列头：点一下按该列排 S 级卡片（JS 在 index.html），再点反向 */
.pvh-sub.sortable { cursor: pointer; user-select: none; }
.pvh-sub.sortable:hover { color: var(--text-1); }
.pvh-sub.sortable.sorted { color: var(--blue); }
/* 无实测视图（gemini/grok/生图）：单行 5 列，价格水平留在行内 + 其他信息列 */
.pv-thead-nobench {
  grid-template-columns: 372px 108px minmax(84px, 1fr) 168px 86px;
  grid-template-rows: auto;
  align-items: center;
}

/* ── S/A 行栅格 ── */
.pv-row {
  display: grid;
  grid-template-columns: var(--pv-cols);
  gap: 0 10px;
  align-items: center;
  padding: 14px 18px 14px 24px;
  min-height: 72px;
}
.pv-row-nobench { grid-template-columns: 372px 108px minmax(84px, 1fr) 168px 86px; }
.pv-id-line { display: flex; align-items: center; gap: 7px; min-width: 0; }
.pv-id-line .provider-link { margin-bottom: 0; flex: 0 1 auto; }
/* 实测详情按钮（2026-09-02 顶掉原「更多信息」的位置与样式）：
   住在操作列站详情下面，与两个兄弟按钮等宽；蓝字醒目 */
.pv-arrow {
  flex-shrink: 0; cursor: pointer; text-align: center;
  padding: 5px 8px; border: 1px solid rgba(79, 142, 247, .5); border-radius: 4px;
  background: transparent; color: var(--blue);
  font-size: 11px; font-weight: 600; letter-spacing: .04em;
  transition: all .15s; white-space: nowrap;
}
.pv-arrow:hover, .pv-arrow.open { border-color: var(--blue); background: var(--blue-dim); }

/* ── 实测 5 列 ── */
.pv-bench { text-align: center; min-width: 0; }
.pvb-model {
  font-family: var(--mono); font-size: 12px; color: var(--text-1);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pvb-group {
  font-size: 11.5px; color: var(--text-3); margin-top: 3px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pvb-rate {
  font-size: 11.5px; color: var(--text-2); margin-top: 3px;
  font-variant-numeric: tabular-nums;
}
/* 实测详情行内蓝字链接：2026-09-02 首页已改用操作列 .pv-arrow 按钮，
   现在只剩 /benchmark 历史批次表在用 */
.pvb-detail-link {
  margin-top: 4px; padding: 0; border: none; background: none;
  color: var(--blue); font-size: 11.5px; font-weight: 600;
  cursor: pointer; white-space: nowrap;
}
.pvb-detail-link:hover { text-decoration: underline; }

/* bx-* 系列：与 /benchmark 同形（从那边的内联样式移植） */
.bx-sub { color: var(--text-3); font-size: 11.5px; margin-top: 3px; }
.bx-note { line-height: 1.6; }
.bx-billing-note {
  color: var(--text-1); font-size: 12px; font-weight: 600; margin-top: 4px;
}
.bx-money { font-variant-numeric: tabular-nums; color: var(--text-1); font-size: 13px; }
.bx-diff { font-variant-numeric: tabular-nums; }
/* 合并列里的 应扣/实扣 两行（2026-09-01）：数字对齐、比说明行深一档 */
.bx-mline { font-variant-numeric: tabular-nums; color: var(--text-2); }

/* ── 其他信息列（2026-09-02 起充/赠送/开票/退款四标签，内容=_biz_stack.html 宏）── */
.pvc-biz {
  display: flex; flex-direction: column; align-items: center;
  gap: 4px; min-width: 0; text-align: center;
}
.tag-good { color: var(--green); }
.tag-warn { color: var(--yellow); }
.tag-bad { color: var(--red); }
.bx-pill {
  display: inline-block; padding: 2px 9px; border-radius: 999px;
  font-size: 11.5px; font-weight: 600; border: 1px solid; white-space: nowrap;
}
.bx-pill.good { color: var(--green); border-color: rgba(0,201,123,.35); background: rgba(0,201,123,.07); }
.bx-pill.warn { color: var(--yellow); border-color: rgba(251,191,36,.35); background: rgba(251,191,36,.07); }
.bx-pill.bad { color: var(--red); border-color: rgba(248,113,113,.35); background: rgba(248,113,113,.07); }
.bx-pill.info { color: var(--blue); border-color: rgba(79,142,247,.35); background: rgba(79,142,247,.07); }
.bx-speed { font-variant-numeric: tabular-nums; color: var(--text-1); font-size: 13px; }
.bx-help {
  display: inline-flex; align-items: center; justify-content: center;
  width: 15px; height: 15px; border-radius: 50%;
  border: 1px solid var(--border-hi); color: var(--text-3);
  font-size: 10px; margin-left: 5px; cursor: help; vertical-align: 1px;
}
.bx-help:hover { color: var(--blue); border-color: var(--blue); }
.bx-tip {
  position: fixed; z-index: 60; max-width: 290px;
  background: var(--bg-card); border: 1px solid var(--border-hi); border-radius: 8px;
  padding: 10px 13px; font-size: 12.5px; color: var(--text-2); line-height: 1.75;
  box-shadow: 0 8px 24px rgba(0,0,0,.45); white-space: normal;
}
.bx-tip b { color: var(--text-1); }

/* ── 展开区：实测明细（2026-09-02「更多信息」字段区撤掉，只剩这一个展开区）── */
.pv-expand {
  border-top: 1px dashed var(--border);
  background: var(--bg-2);
  padding: 12px 20px 14px 24px;
}
.pvx-rundata { overflow-x: auto; }

/* 降智实测（鹈鹕测试）大图：首页 / 站详情 / /benchmark 展开区共用（2026-10-12 从 benchmark.html 挪来） */
.bxd-pel { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.bxd-pel-grid { display: grid; grid-template-columns: repeat(3, 200px); gap: 8px; margin-top: 4px; }
.bxd-pel-grid img { width: 200px; height: 200px; object-fit: contain; background: #fff; border: 1px solid var(--border); border-radius: 8px; }
@media (max-width: 640px) {
  .bxd-pel-grid { grid-template-columns: repeat(3, 1fr); }
  .bxd-pel-grid img { width: 100%; height: auto; aspect-ratio: 1/1; }
}

/* 实测详情内部表格：与 /benchmark 详情区同形 */
.bxd-sec { margin-bottom: 18px; }
.bxd-sec h4 { font-size: 13px; color: var(--text-1); margin: 0 0 8px; }
.bxd-sec .hint { color: var(--text-3); font-size: 12px; margin: 4px 0 8px; line-height: 1.7; }
table.bxd { border-collapse: collapse; font-size: 12.5px; width: 100%; max-width: 860px; }
.bxd th { padding: 5px 10px; text-align: right; color: var(--text-3); font-weight: 500; border-bottom: 1px solid var(--border); font-size: 11.5px; white-space: nowrap; }
.bxd th:first-child, .bxd td:first-child { text-align: left; }
.bxd td { padding: 5px 10px; text-align: right; border-bottom: 1px solid var(--border); color: var(--text-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bxd tr.total td { color: var(--text-1); font-weight: 600; border-top: 1px solid var(--border-hi); }
.bxd .ok { color: var(--green); }
.bxd .fail { color: var(--red); }

/* ── /p/ 详情页「扣费实测」tab（2026-08-31）：每个实测单元一张卡，
   头行 = 模型 + 分组 + 关键结论 pill；明细复用上方 bxd/pvx-rundata，全 var() 深浅通吃 ── */
.dbench-unit {
  border: 1px solid var(--border); border-radius: 10px;
  background: var(--bg-2); padding: 14px 18px; margin-bottom: 14px;
}
.dbench-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 10px; }
.dbench-model { font-size: 14px; font-weight: 700; color: var(--text-1); }
.dbench-group { font-size: 12px; color: var(--text-3); }
.dbench-kv { font-size: 12.5px; color: var(--text-2); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ── B 档：桌面两站一排（fable5 比稿 .lite-grid 深色适配）── */
.list-break {
  position: relative; max-width: 1080px;
  margin: 28px 0 12px;
  display: flex; align-items: center; gap: 14px;
}
.main-wide .list-break { max-width: 1280px; }
.list-break span {
  flex: none; font-size: 12px; font-weight: 600;
  letter-spacing: .14em; color: var(--text-3);
}
.list-break::after { content: ""; flex: 1; height: 1px; background: var(--border-hi); }
.lite-grid {
  max-width: 1080px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  border-top: 1px solid var(--border);
}
.main-wide .lite-grid { max-width: 1280px; }
.main-wide .dead-fold { max-width: 1280px; }

.prow { position: relative; }
.prow::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; }
.prow.tier-b::before { background: var(--green); opacity: .55; }
.prow.tier-c::before { background: var(--border); }
.prow.row-lite { border-bottom: 1px solid var(--border); }
.prow.row-lite:hover { background: var(--bg-hover); }
.prow:hover .provider-name { color: var(--blue); }
.prow:hover .ext-icon { opacity: 1; color: var(--blue); }
.prow.unreachable { opacity: .55; }
.prow.unreachable:hover { opacity: .85; }
.prow.unreachable .provider-name { color: var(--text-2); }
.prow.unreachable .visit-btn { background: transparent; border-color: var(--border-hi); color: var(--text-3); }

.row-lite .prow-main { display: flex; align-items: center; gap: 10px; padding: 8px 6px 8px 14px; }
.row-lite .pc-id { flex: 1 1 auto; min-width: 0; }
.row-lite .pc-id .provider-link { margin-bottom: 0; }
.row-lite .pc-water, .row-lite .pc-price { flex: none; }
.row-lite .provider-name { font-size: 13px; font-weight: 600; color: var(--text-2); }
.row-lite .water-badge { font-size: 11px; padding: 2px 7px; }
.row-lite .muted { font-size: 11px; }
.row-lite .pc-actions { flex: none; display: flex; flex-direction: row; gap: 4px; margin-left: 4px; }
.row-lite .visit-btn { padding: 3px 9px; font-size: 10px; background: transparent; border: 1px solid var(--border-hi); color: var(--text-2); }
.row-lite .visit-btn:hover { color: var(--blue); border-color: var(--blue); background: transparent; }
.row-lite .visit-btn.disabled { padding: 3px 9px; font-size: 10px; }
.row-lite .detail-btn { padding: 3px 6px; font-size: 10px; }
.prow-sub {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 6px 12px;
  padding: 0 6px 8px 14px;
}
.prow-sub .home-tags { margin-top: 0; }
.prow-sub .coupon-inline { margin-top: 0; }
.prow-sub .tag-anomaly { display: inline-block; margin-top: 0; }

/* ── 移动端专用实测厂家切换器（桌面切换器在表头里，<920px 表头隐藏后用它）── */
.pv-btabs-mobile { display: none; }
.pv-btabs-label { font-size: 12px; color: var(--text-2); letter-spacing: .02em; }

/* ── 移动端（≤920px 表头隐藏，字段回到卡内）──
   .provider-col / .visit-col / .water-col / .price-col 的移动布局规则在 main.css
   里是全局类选择器，会自动作用到本页（provider 行1、water/price 行2 带 ::before
   小标题）；这里只补 .pv-row 栅格本身和实测 5 列的落位 */
@media (max-width: 920px) {
  .pv-thead { display: none; }
  .pv-btabs-mobile { display: flex; align-items: center; gap: 6px; margin: -6px 0 12px; flex-wrap: wrap; }
  /* 手机指尖热区加大一档（结构已换成 pvh-tabs 分段控件，不再用 chip）*/
  .pv-btabs-mobile .pvh-tab { padding: 6px 16px; }

  .pv-row, .pv-row-nobench {
    display: grid;
    grid-template-columns: repeat(12, 1fr) auto;
    gap: 10px 6px;
    padding: 12px 14px 14px 18px;
    min-height: auto;
    align-items: start;
  }
  /* 实测 5 列：第 3 行起两两一行，带 ::before 小标题（同 main.css 移动端指标 cell）*/
  .pv-bench {
    display: flex; flex-direction: column; align-items: center;
    justify-content: flex-start;
    gap: 4px; min-width: 0; text-align: center;
    padding-top: 6px; border-top: 1px dashed var(--border);
  }
  .pvc-model   { grid-row: 3; grid-column: 1 / 13; }
  /* 扣费对比合并列（2026-09-01）内容 4~5 行，独占一行；缓存/等待仍两两一行 */
  .pvc-billing { grid-row: 4; grid-column: 1 / 13; }
  .pvc-cache   { grid-row: 5; grid-column: 1 / 7; }
  .pvc-wait    { grid-row: 5; grid-column: 7 / 13; }
  .pv-bench::before {
    font-family: var(--sans); font-size: 9px; font-weight: 500;
    letter-spacing: .04em; color: var(--text-3);
    text-align: center; line-height: 1.15;
  }
  .pvc-model::before   { content: '测试模型 / 渠道'; }
  .pvc-billing::before { content: '扣费对比'; }
  .pvc-cache::before   { content: '缓存命中'; }
  .pvc-wait::before    { content: '平均等待'; }
  /* 其他信息列：实测卡排第 6 行；无实测数据的卡（含 gemini/grok/生图视图）
     bench 格整组 display:none，行 4/5 不存在，提到第 3 行免得空行吃 gap */
  .pvc-biz {
    grid-row: 6; grid-column: 1 / 13;
    flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 6px;
    padding-top: 6px; border-top: 1px dashed var(--border);
  }
  .pvc-biz::before {
    content: '其他信息';
    font-family: var(--sans); font-size: 9px; font-weight: 500;
    letter-spacing: .04em; color: var(--text-3);
    flex-basis: 100%; text-align: center; line-height: 1.15;
  }
  .card:not(.has-bench) .pvc-biz { grid-row: 3; }
  .pvb-model, .pvb-group { white-space: normal; }
  /* 没有实测数据的卡：移动端 5 个 `—` 格整组不摆（桌面对齐需要、手机只占屏）*/
  .card:not(.has-bench) .pv-bench { display: none; }
  /* 实测视图没有行内价格列，water 独占整行更稳 */
  .pv-row:not(.pv-row-nobench) .water-col { grid-column: 1 / 13; }

  .pv-expand { padding: 10px 14px 12px 16px; }

  .lite-grid { grid-template-columns: minmax(0, 1fr); }
  .row-lite .prow-main { flex-wrap: wrap; }
  .row-lite .pc-id { flex: 1 1 100%; }
  .row-lite .pc-actions { margin-left: auto; }
}

/* ══ ui-c 浅色皮（方案 §9.7 裁定 16）══
   色板与组件手法照搬 apirank-ui/codex redesign.css；作用域=main.home-light，
   顶部深色导航/公告条不动（与 ui-c 比稿站的组合一致）。
   变量重定义后大部分组件自动跟走，下面只逐项覆盖 main.css / 本文件里写死的深色值。 */
.home-light {
  /* ui-c 的负 margin 手法是给 main 内部的包装 div 用的；这里作用域类直接挂在
     main 上，背景天然铺满含 padding 的整个盒子——写负 margin 反而会盖掉
     main 的 margin:0 auto 居中（2026-08-31 栽过：整个榜单贴左）*/
  padding-top: 28px;
  background: var(--bg);
  color: var(--text-1);
}
.home-light a { color: var(--blue); }
.home-light a:hover { color: #075e68; }
.home-light :focus-visible { outline: 3px solid rgba(8, 127, 140, .35); outline-offset: 2px; }

/* 标题区：ui-c design-v2 的「墨黑封面块」——深色块+荧光绿左条，
   是浅色页面上唯一的深色区块，当整页封面（用户 2026-08-31 指定参照）*/
.home-light .page-title {
  margin: 0 0 22px;
  padding: 26px 30px 24px;
  border-left: 8px solid #b9d963;
  border-radius: 7px;
  background: #18231f;
  box-shadow: 0 8px 0 rgba(24, 35, 31, .08);
}
.home-light .page-title h1 {
  font-family: var(--sans); font-size: 30px; font-weight: 900;
  letter-spacing: 0; line-height: 1.25; color: #fffdf8;
}
.home-light .page-title h1 em {
  background: none; color: #b9d963;
  -webkit-text-fill-color: currentColor;
}
.home-light .page-title p {
  margin-top: 9px;
  font-family: var(--sans); font-size: 13px;
  letter-spacing: 0; line-height: 1.7; color: #cbd8d0;
}

/* 特色条：蓝系高亮改青系浅底 */
.home-light .feat-bench-bar {
  background: linear-gradient(90deg, rgba(8, 127, 140, .10), rgba(8, 127, 140, .03));
  border-color: rgba(8, 127, 140, .30);
  border-left-color: var(--blue);
}
.home-light .mc-tag {
  background: var(--blue); border-color: var(--blue); color: #fff;
  font-family: var(--sans); font-weight: 700; letter-spacing: .05em;
}
.home-light .mc-drop-menu { box-shadow: 0 10px 26px rgba(23, 34, 31, .16); }

/* 工具栏：选中 chip 实心青底白字（对比拉满的关键之一）；rank-hint 竖条换橙去 glow */
.home-light .chip.active { background: var(--blue); border-color: var(--blue); color: #fff; }
.home-light .rank-hint { font-size: 13px; }
.home-light .rank-hint::before { background: #e07855; box-shadow: none; }

/* 表头：底 2px 深实线（代替深色版的发光层级）*/
.home-light .pv-thead { border-bottom: 2px solid var(--text-1); }
.home-light .pv-thead .th { font-weight: 700; }

/* 卡片：白底独立块——1px 边 + 浅阴影 + 9px 卡间隙；hover 不位移；档位条 5px 去 glow */
.home-light .card {
  margin-bottom: 9px;
  box-shadow: 0 1px 1px rgba(23, 34, 31, .04);
}
.home-light .card:hover { transform: none; }
.home-light .card::before { width: 5px; }
.home-light .card.tier-s::before, .home-light .card.tier-a::before { background: var(--blue); box-shadow: none; }
.home-light .card.tier-c::before { background: #9aa9a3; }

/* 官网按钮：橙色实心是全页唯一暖色，锁定转化入口；hover 也不发光不位移 */
.home-light .card .visit-btn {
  border: 0; border-radius: 4px;
  background: #e07855; box-shadow: none;
  font-family: var(--sans); font-size: 12px; letter-spacing: 0;
}
.home-light .card .visit-btn:hover { background: #c75f3f; box-shadow: none; transform: none; }
.home-light .detail-btn { font-family: var(--sans); letter-spacing: 0; }
.home-light .pv-arrow { border-color: rgba(8, 127, 140, .5); }
/* B 级紧凑行的官网按钮保持描边弱样式（上面 .card 的橙色实心不该波及这里）*/
.home-light .row-lite .visit-btn { background: transparent; border: 1px solid var(--border-hi); color: var(--text-2); font-family: var(--sans); letter-spacing: 0; }
.home-light .row-lite .visit-btn:hover { background: transparent; color: var(--blue); border-color: var(--blue); }
/* 下线站（tier-c）与不可达站的按钮状态色，别被上面的重申规则盖掉 */
.home-light .row-lite .visit-btn.disabled,
.home-light .prow.unreachable .visit-btn { color: var(--text-3); border-color: var(--border-hi); }

/* 徽章/标签全套浅色可读版（main.css 里的 rgba 是按深色底调的）*/
.home-light .water-badge.clean { border-color: rgba(20, 122, 75, .28); }
.home-light .water-badge.low { background: rgba(154, 98, 0, .08); border-color: rgba(154, 98, 0, .28); }
.home-light .water-badge.high { border-color: rgba(166, 60, 60, .28); }
.home-light .water-badge.unverified { background: #edf1ef; }
.home-light .price-grade.low { border-color: rgba(20, 122, 75, .25); }
.home-light .price-grade.lower { background: rgba(16, 148, 94, .08); color: #10945e; border-color: rgba(16, 148, 94, .25); }
.home-light .price-grade.mid { border-color: rgba(8, 127, 140, .25); }
.home-light .price-grade.higher { background: rgba(154, 98, 0, .08); border-color: rgba(154, 98, 0, .25); }
.home-light .price-grade.high { border-color: rgba(166, 60, 60, .25); }
.home-light .home-tag { background: #edf3f0; border-color: #d6e2dd; color: var(--text-2); }
.home-light .home-tag.quote { background: #fff0e9; border-color: #f2c4b4; color: #9a4a32; }
.home-light .tag-anomaly.warn { background: #fff0ed; border-color: #efc0b7; color: #a63c3c; }
.home-light .tag-anomaly.closed { background: #edf1ef; border-color: #cbd7d2; }

/* 实测 5 列的 pill：边框/底色换浅色系（文字色已随变量走）*/
.home-light .bx-pill.good { border-color: rgba(20, 122, 75, .35); background: rgba(20, 122, 75, .07); }
.home-light .bx-pill.warn { border-color: rgba(154, 98, 0, .35); background: rgba(154, 98, 0, .07); }
.home-light .bx-pill.bad { border-color: rgba(166, 60, 60, .35); background: rgba(166, 60, 60, .07); }
.home-light .bx-pill.info { border-color: rgba(8, 127, 140, .35); background: rgba(8, 127, 140, .07); }
.home-light .bx-tip { box-shadow: 0 8px 24px rgba(23, 34, 31, .14); }

/* FAQ 卡：深色版的淡蓝底在浅色下几乎不可见，改白卡 */
.home-light .trust-tldr { background: var(--bg-card); }

/* 比价厂牌按钮的下拉箭头加大加色（用户 2026-08-31：搞得更明显一点）——
   main.css 的 .nd-caret 是 9px 半透明小字，这里放大成青色实心箭头 */
.home-light .mc-drop-btn .nd-caret {
  font-size: 12px; opacity: 1; margin-left: 6px; color: var(--blue);
}
.home-light .mc-drop-btn:hover .nd-caret, .home-light .mc-drop-btn.open .nd-caret { color: inherit; }

/* 按钮统一（用户 2026-08-31：底色换了、按钮字体和文字色也要跟着重设计）：
   全部换 sans 去 mono 宽字距；实心底=白字，描边=灰绿字 hover 转青 */
.home-light .chip { font-family: var(--sans); font-size: 12px; letter-spacing: 0; border-radius: 4px; }
.home-light .card .visit-btn, .home-light .feat-bench-btn, .home-light .chip.active { color: #fff; }
.home-light .pv-arrow, .home-light .mc-drop-btn, .home-light .pvb-detail-link,
.home-light .dead-fold > summary { font-family: var(--sans); letter-spacing: 0; }

/* ── /price/* 比价页（第 3 批，2026-09-01）：组件绝大部分走 var() 自动变浅，
   这里只覆盖写死深色值的 5 处。粉彩标签（topup/bonus/coupon/rec-badge/mp-discount）
   本就是浅底深字，深浅通吃不用动 ── */
/* 表头：白上叠 2% 白不可见 → 按浅色设计语言换实底 + 2px 实线（同 .pv-thead）*/
.home-light .price-table thead th { background: var(--bg-2); border-bottom: 2px solid var(--border-hi); }
/* 行 hover 与站块分组线：宝蓝换墨青系 */
.home-light .price-table tbody tr:hover { background: rgba(8, 127, 140, .05); }
.home-light .price-table tbody tr.provider-group-start td { border-top: 1px solid rgba(8, 127, 140, .28); }
/* 表内特色标签：深色版的 4.5% 白底在白卡上不可见 → 回退基础版浅灰 pastel */
.home-light .price-table .feat-tag { background: #f4f4f5; color: #52525b; border-color: #e4e4e7; }
/* 分档标签（good/warn/bad 语义）：亮色系文字在白底对比不够 → 换浅色皮同款深文字色
   （tag-blue 走 var(--blue) 自动变墨青、tag-gray 走 var(--text-3)，都不用动）*/
.home-light .ptag.tag-green  { color: #147a4b; background: rgba(20, 122, 75, .08);  border-color: rgba(20, 122, 75, .3); }
.home-light .ptag.tag-yellow { color: #9a6200; background: rgba(154, 98, 0, .08);   border-color: rgba(154, 98, 0, .3); }
.home-light .ptag.tag-red    { color: #a63c3c; background: rgba(166, 60, 60, .08);  border-color: rgba(166, 60, 60, .3); }
.home-light .ptag.tag-purple { color: #6d47b8; background: rgba(109, 71, 184, .08); border-color: rgba(109, 71, 184, .3); }
/* 表内官网按钮：橙色实心=浅色皮唯一暖色转化入口（同首页卡片按钮）*/
.home-light .price-table td.info-cell .visit-btn {
  border: 0; border-radius: 4px; background: #e07855; color: #fff;
  box-shadow: none; font-family: var(--sans); letter-spacing: 0;
}
.home-light .price-table td.info-cell .visit-btn:hover { background: #c75f3f; box-shadow: none; transform: none; }
/* 920 断点回落（任务书坑 2：高特异性会盖掉媒体查询）：移动端 tr 已是独立卡片，
   hover 底色与站块分组线都要跟基础版一样关掉 */
@media (max-width: 920px) {
  .home-light .price-table tbody tr:hover { background: var(--bg-card); }
  .home-light .price-table tbody tr.provider-group-start td { border-top: none; }
}
/* 比价页专用（.price-light，产品方 2026-09-01 裁定）：模型/视图/排序切换条回退成
   深色版的选法与排列——mono 小字 + 描边选中，只有颜色跟浅色变量走（--blue/--blue-dim
   已是墨青系）。首页/rankings 的新按钮样式不受影响（那边 main 上没有 .price-light） */
.home-light.price-light .chip { font-family: var(--mono); font-size: 11px; letter-spacing: .04em; border-radius: 3px; }
.home-light.price-light .chip.active { background: var(--blue-dim); border-color: var(--blue); color: var(--blue); }

/* 第 4 批内容页（/pitfalls、/guides/*、/methodology）：正文样式全走变量自动适配，
   只有 guide-cta 卡片写死了深色版浅蓝 tint，浅色下换墨青 tint */
.home-light .guide-cta-card:hover { background: rgba(8, 127, 140, .05); }
.home-light .guide-cta-card.guide-cta-primary { background: rgba(8, 127, 140, .08); }

/* ── 第 5 批 /verify-yourself + /verify/report/*（验真页）──
   组件大多走变量自动适配；这里只收拾写死的深色版值：
   ① 黑色重阴影换浅色轻阴影（.vy-report-card/.vy-stats-card 阴影在内联 style 上，须 !important）
   ② 亮绿 rgba(0,201,123,*) / 亮蓝 rgba(79,142,247,*) tint 换浅色版绿/墨青
   ③ 表单主按钮与进度条的蓝紫渐变（内联）换墨青，!important 压内联 */
.home-light .vy-cc { box-shadow: 0 1px 3px rgba(23, 34, 31, .10), 0 8px 24px rgba(23, 34, 31, .08); }
.home-light .vy-report-card,
.home-light .vy-stats-card { box-shadow: 0 1px 3px rgba(23, 34, 31, .10), 0 8px 24px rgba(23, 34, 31, .08) !important; }
.home-light .vy-cc.pass .vy-verdict-pill { border-color: rgba(20, 122, 75, .35); }
.home-light .vy-cc.warn .vy-verdict-pill { border-color: rgba(154, 98, 0, .35); }
.home-light .vy-cc.fail .vy-verdict-pill { border-color: rgba(166, 60, 60, .35); }
.home-light .vy-cert-row { background: rgba(20, 122, 75, .05); }
.home-light .vy-cert-tag { background: rgba(20, 122, 75, .08); border-color: rgba(20, 122, 75, .3); }
.home-light .callout { background: var(--bg-card); border: 1px solid var(--border); border-left: 3px solid var(--border-hi); }
.home-light .vy-fam-pills .vy-pill-radio:has(input:checked) { background: var(--blue-dim); }
.home-light .vy-share-btn.vy-share-primary:hover { background: #075e68; border-color: #075e68; color: #fff; }
.home-light #vy-form button[type="submit"] { background: var(--blue) !important; box-shadow: 0 2px 10px rgba(8, 127, 140, .25) !important; }
.home-light #vy-form button[type="submit"]:hover { background: #075e68 !important; }
.home-light #vy-progress-fill { background: linear-gradient(90deg, #087f8c, #0a9aa9) !important; }
.home-light #vy-loading { background: var(--blue-dim) !important; }

/* ── 第 6 批长尾页（/about /apply /enterprise /partner* /news*）──
   正文全走 var() 自动适配；这里只压深色版写死的旧蓝 rgba(79,142,247,*)、
   琥珀 #f59e0b/rgba(245,158,11,*)、亮绿 rgba(0,201,123,*) tint。
   --gold 已在上方变量块换深琥珀，.form-fill-note/.tag-stars 文字色自动跟走 */
.home-light .apply-criteria li::before { border-color: rgba(8, 127, 140, .35); }
.home-light .form-fill-note { background: rgba(154, 98, 0, .08); border-color: rgba(154, 98, 0, .3); }
.home-light .form-input:focus, .home-light .form-select:focus, .home-light .form-textarea:focus { box-shadow: 0 0 0 3px rgba(8, 127, 140, .12); }
.home-light .coop-hint.coop-hint-weak { background: rgba(154, 98, 0, .07); border-color: rgba(154, 98, 0, .3); color: var(--yellow); }
.home-light .coop-status-weak { background: rgba(154, 98, 0, .07); border-color: rgba(154, 98, 0, .3); color: var(--yellow); }
.home-light .coop-status-ok { border-color: rgba(20, 122, 75, .35); }
.home-light .form-submit { border-color: rgba(8, 127, 140, .4); }
.home-light .form-submit:hover { box-shadow: 0 0 16px rgba(8, 127, 140, .18); }
.home-light .apply-ok { background: rgba(20, 122, 75, .07); border-color: rgba(20, 122, 75, .3); }
.home-light .ent-contact { background: linear-gradient(135deg, rgba(8, 127, 140, .06) 0%, rgba(20, 122, 75, .04) 100%); }
/* news.css 写死的浅灰正文字（白底看不见）*/
.home-light .news-body { color: var(--text-1); }

/* ── 整页浅底（用户 2026-08-31：main 外的两侧/底部还黑着违和）──
   body 挂 home-light-body；公告条文字换深琥珀保对比 */
body.home-light-body { background: #f2f6f4; background-image: none; }

/* 顶部菜单整条换浅（用户 2026-08-31：黑色导航压着浅页面怪）——
   白色毛玻璃条 + 深字；logo 方块与顶部渐变线换成 hero 封面块同款
   墨绿+荧光绿，页面上下用同一套语言。深色 hero 块保留=全页唯一深色区块 */
body.home-light-body .top-bar { background: linear-gradient(90deg, #b9d963 0%, #087f8c 70%, transparent 100%); }
body.home-light-body header {
  background: rgba(255, 255, 255, .92);
  border-bottom: 1px solid #d5e1dc;
}
/* 顶栏容器对齐主体（用户 2026-08-31：logo 要和下面的板块左对齐）——
   main.css 里 header-inner 是 1040+20px，这里改成跟 main 同宽同内边距：
   普通视图 1100+28、bench 宽视图 1320+28（home-wide-body 与 main-wide 同步挂）*/
body.home-light-body .header-inner { max-width: 1100px; padding: 0 28px; }
body.home-wide-body .header-inner { max-width: 1320px; }
/* 中屏回落：920px 断点 main 内边距收到 20px，顶栏跟着收保持左对齐 */
@media (max-width: 920px) {
  body.home-light-body .header-inner { padding: 0 20px; }
}
body.home-light-body .logo { color: #17221f; font-size: 17px; letter-spacing: .08em; }
body.home-light-body .logo-mark {
  background: #18231f; color: #b9d963;
  box-shadow: none;
  width: 34px; height: 34px; font-size: 15px;
}
/* 手机窄屏回落（680px 断点原本压到 12px/14px 内边距，我的作用域规则会盖过它，这里补回）*/
@media (max-width: 680px) {
  body.home-light-body .header-inner { padding: 0 14px; }
  body.home-light-body .logo { font-size: 14px; }
  body.home-light-body .logo-mark { width: 28px; height: 28px; font-size: 13px; }
}
body.home-light-body .nav-link { color: #4f625b; }
body.home-light-body .nav-link:hover, body.home-light-body .nav-drop-btn.nd-open { color: #17221f; }
body.home-light-body .nav-link.active { color: #087f8c; }
body.home-light-body .nav-link.active::after { background: #087f8c; }
body.home-light-body .bookmark-btn { color: #4f625b; border-color: #a9c0b7; }
body.home-light-body .bookmark-btn:hover { color: #9a6200; border-color: #9a6200; background: rgba(154, 98, 0, .06); }
/* 导航比价下拉菜单被 JS 挪到 body 下，跟着 body 作用域换浅 */
body.home-light-body .nav-drop-menu {
  background: #fff; border-color: #a9c0b7;
  box-shadow: 0 12px 32px rgba(23, 34, 31, .18);
}
body.home-light-body .nd-brand { color: #71837c; }
body.home-light-body .nd-links a { background: #e6efeb; border-color: #d5e1dc; color: #17221f; }
body.home-light-body .nd-links a:hover { border-color: #087f8c; color: #087f8c; }
/* 收藏提示 toast（fixed 在 body 下）同步浅色 */
body.home-light-body .bk-toast {
  background: #fff; border-color: #a9c0b7; color: #4f625b;
  box-shadow: 0 8px 32px rgba(23, 34, 31, .18);
}
body.home-light-body .bk-toast strong { color: #17221f; }
body.home-light-body .notice-bar {
  background: #fff7e0;
  border-bottom: 1px solid #ecd9a0;
}
body.home-light-body .notice-bar-inner { color: #7a5b16; }
body.home-light-body .notice-bar-bk { color: #9a6200; }
body.home-light-body .notice-bar-bk:hover { color: #7a4d00; }
body.home-light-body .notice-bar-close { color: rgba(154, 98, 0, .55); }
body.home-light-body .notice-bar-close:hover { color: #9a6200; }

/* ══ 第 2 批浅色覆盖：/benchmark（2026-09-01）══
   页内组件几乎全走 var() 变量，挂 .home-light 自动跟浅；下面只补该页
   内联 <style> 里写死的深色值。⚠ 该页内联样式在 extra_css、顺位在本文件之后：
   同特异性会被内联盖掉，覆盖必须用 main.home-light 提一级 */
main.home-light .bx-method-body { box-shadow: 0 8px 24px rgba(23, 34, 31, .14); }
/* 厂家 tab 选中态：与首页 chip.active 同款实心青底白字（内联版只是描边变色，浅色下对比不够）*/
main.home-light .bx-tab.on { background: var(--blue); border-color: var(--blue); color: #fff; }
/* 表内按钮：官网=橙实心（与首页卡片一致，全页唯一暖色），站详情描边已随变量走只换字体 */
main.home-light .bx-actions .visit-btn {
  border: 0; border-radius: 4px;
  background: #e07855; box-shadow: none; color: #fff;
  font-family: var(--sans); font-size: 12px; letter-spacing: 0;
}
main.home-light .bx-actions .visit-btn:hover { background: #c75f3f; box-shadow: none; transform: none; }
