/*
 * SSR 页面（首页 / 结果页 / 热门榜）的补充样式
 *
 * 现网视觉全部来自 assets/style.css（Vue scoped CSS，SSR 模板逐字保留了 data-v-* 属性），
 * 这里补三类 style.css 覆盖不到的东西：
 *   1. SSR 把 SPA 里的 <button>（走 JS 交互）换成真实 <a> 链接后缺失的链接化声明；
 *   2. 分页控件、平台标签、GEO 摘要块——SPA 没有全局分页，这些是 SSR 新增的结构；
 *   3. 浅色主题的视觉基线（单色地面、去玻璃、字号与对比度下限），见文件末尾。
 * 组件配色一律引用 style.css 已有的 CSS 变量；基线段只覆盖变量的值，不引入新的组件色。
 */

a.keyword-chip,
a.top-nav__brand,
a.resource-link,
a.transfer-btn,
a.curated-link {
  text-decoration: none;
}

/* 热词格子加宽 50%：style.css 的 minmax(72px,1fr) 撑出的列数偏窄，
   放宽后 1100px 版心正好 8 列 × 4 行铺满 32 个词，首页与相关搜索一致。
   选择器带上 data-v-* 与 style.css 同特异度，靠 ssr.css 后加载取胜。 */
.keyword-list[data-v-771e45db] {
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
}

/* 32 个词铺满整行时，首尾两列会贴住版面左右边，留 2px 呼吸位 */
html .keyword-list[data-v-771e45db] {
  padding: 0 2px;
}

/* style.css 的 .keyword-chip 是 padding:10px 0（窄屏 8px 0），左右为 0，
   长词撑满格子时会贴住圆角边；这里只补左右 2px，上下沿用原值 */
html .keyword-chip[data-v-771e45db] {
  padding-left: 2px;
  padding-right: 2px;
}

/* 页脚内链：SPA 页脚没有链接，style.css 里也就没有对应规则，这里补上配色 */
.site-footer a {
  color: var(--text-secondary);
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--primary);
  text-decoration: underline;
}

/* 首页底部的友情链接区：正文末尾、页脚之前的一行内链 */
.friend-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding-top: 18px;
  border-top: 1px solid var(--border-light);
}

.friend-links__title {
  font-size: 13px;
  color: var(--text-tertiary);
}

.friend-links a {
  font-size: 13px;
  color: var(--text-secondary);
  text-decoration: none;
}

.friend-links a:hover {
  color: var(--primary);
  text-decoration: underline;
}

/* 首页底部的产品署名：与 news.phprm.com 页脚一致的一行说明 */
.powered-footer {
  padding: 18px 16px;
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-tertiary);
  background: var(--bg-primary);
  border-top: 1px solid var(--border-light);
}

.powered-footer a {
  color: var(--primary);
  font-weight: 500;
  text-decoration: none;
}

.powered-footer a:hover {
  text-decoration: underline;
}

/* 分页：上一页 / 页码 / 下一页 */
.pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 18px 12px 4px;
}

.pager__item,
.pager__gap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 36px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
}

.pager__item:hover {
  color: var(--primary);
  border-color: var(--primary);
  transform: translateY(-1px);
}

.pager__item--current,
.pager__item--current:hover {
  color: var(--text-on-primary);
  background: var(--primary);
  border-color: transparent;
  box-shadow: 0 4px 12px #0f766e4d;
  transform: none;
}

.pager__item--muted,
.pager__item--muted:hover {
  opacity: .45;
  pointer-events: none;
  color: var(--text-tertiary);
  border-color: var(--border-light);
  transform: none;
}

.pager__gap {
  min-width: 20px;
  border-color: transparent;
  background: transparent;
}

/* 结果页 / 榜单页的主标题：hero 里已用品牌词占位，页面级 h1 用这一行小标题 */
.ssr-h1 {
  margin: 18px 0 6px;
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-primary);
}

/* 面包屑（首页 / 关键词 / 页码）：与 .geo-summary 之间的一行导航 */
.ssr-crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  font-size: 12.5px;
  color: var(--text-tertiary);
}

.ssr-crumb a {
  color: var(--text-tertiary);
  text-decoration: none;
}

.ssr-crumb a:hover {
  color: var(--primary);
}

/* 结果条目上的平台标签：复用 .meta-tag 的药丸形状，只加图标尺寸 */
.meta-tag--platform {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--bg-secondary);
  border-color: var(--border-light);
  color: var(--text-secondary);
}

.platform-dot {
  width: 14px;
  height: 14px;
  border-radius: 4px;
  object-fit: contain;
}

/* GEO 摘要块：面向爬虫与 AI 引擎的结论段，视觉上做成安静的说明卡 */
.geo-summary {
  margin: 0;
  padding: 14px 16px;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--text-secondary);
  background: var(--bg-primary);
  border: 1px solid var(--border-light);
  border-left: 3px solid var(--primary);
  border-radius: var(--radius-md);
}

.geo-summary strong {
  color: var(--text-primary);
}

/* 结果页的分区小标题（SPA 用卡片头，SSR 的多区块需要自己的层级） */
.ssr-h2 {
  margin: 26px 0 12px;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text-primary);
}

/* 区块标题右侧的「查看全部」入口（首页许愿区 → /wishes.html） */
.ssr-h2 .ssr-more {
  margin-left: 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--primary);
  text-decoration: none;
  white-space: nowrap;
}

.ssr-h2 .ssr-more:hover {
  text-decoration: underline;
}

/* 卡内的区块标题（首页许愿区）：卡片自身有 20px 内边距，
   标题不再叠加 26px 上外边距，与精选资源/资源合集的卡头对齐 */
.wish-zone .ssr-h2 {
  margin-top: 0;
}

/* 热门榜表格：次数列 */
.hot-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.hot-table th,
.hot-table td {
  padding: 10px 8px;
  text-align: left;
  border-bottom: 1px solid var(--border-light);
}

.hot-table th {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-tertiary);
}

.hot-table td.hot-num {
  text-align: right;
  color: var(--primary);
  font-weight: 700;
  white-space: nowrap;
}

/* 举报按钮和词同行：style.css 把 .resource-link 定成块级 flex（占满整格），
   按钮排在它后面就掉到第二行，行高被撑开。这里只让榜单这一列按内容收缩。 */
.hot-table a.resource-link {
  display: inline-flex;
  vertical-align: middle;
}

.hot-table .kr-report,
.hot-table .kr-done {
  vertical-align: middle;
}

/* 命中敏感词的榜单行只保留脱敏文本，没有可跳转地址 */
.hot-table .link-masked {
  display: inline-flex;
  vertical-align: middle;
}

html .link-masked {
  color: var(--text-tertiary);
  cursor: default;
  text-decoration: none;
}

/* 提示条（上游不可用、页码越界等） */
.ssr-note {
  padding: 12px 16px;
  font-size: 13.5px;
  color: var(--text-secondary);
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
}

/* 复制降级用的临时输入框（非安全上下文没有 clipboard API） */
.tsd-copy-fallback {
  position: fixed;
  top: -1000px;
  left: -1000px;
  opacity: 0;
  pointer-events: none;
}

/* 我的收藏：表单和通道表格列多，版心比默认 1100px 宽 10% */
html .main.main--wide[data-v-417100a6] {
  max-width: 1210px;
}

/* 结果页右上角的「收藏」星标：形状跟 .top-nav__btn 一致，只是把图标排在文字前。
   空心/实心靠 .is-on 切 fill，图标本身不写死颜色，跟随 --text-secondary / --primary。 */
.fav-star {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 35px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  color: var(--text-secondary);
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}

.fav-star svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linejoin: round;
}

.fav-star.is-on {
  color: var(--primary);
  border-color: var(--primary);
}

.fav-star.is-on svg {
  fill: currentColor;
}

.fav-star:hover {
  color: var(--primary);
  border-color: var(--primary);
}

.fav-star[disabled] {
  opacity: .55;
  cursor: default;
}

/* 收藏列表的删除按钮：与 report.js 生成的 .kr-report 同一颗小药丸 */
.fav-del {
  padding: 3px 10px;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-tertiary);
  background: transparent;
  border: 1px solid var(--border-light);
  border-radius: 999px;
  cursor: pointer;
}

.fav-del:hover {
  color: var(--primary);
  border-color: var(--primary);
}

.fav-del[disabled] {
  opacity: .55;
  cursor: default;
}

/* 收藏提示气泡：固定在导航下方，不参与 .top-nav__auth 的弹性排版，
   免得冒出来一条提示就把右上角挤换行 */
.fav-tip {
  position: fixed;
  top: 58px;
  right: 14px;
  z-index: 999;
  max-width: 60vw;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-secondary);
  background: var(--bg-primary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
}

.fav-tip a {
  color: var(--primary);
  text-decoration: none;
}

.fav-tip a:hover {
  text-decoration: underline;
}

/* 收藏清单：每行一个关键词，右侧取消按钮 */
.fav-section {
  margin-top: 18px;
}

.fav-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

/* 空状态 / 未登录提示独占整行，别被两列网格挤成半宽而换行 */
.fav-list > .ssr-note {
  grid-column: 1 / -1;
}

.fav-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: var(--bg-primary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  transition: border-color var(--transition-fast);
}

.fav-item:hover {
  border-color: var(--primary);
}

.fav-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fav-keyword {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fav-keyword:hover {
  color: var(--primary);
}

.fav-meta {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* 「网盘搜索更新通知」：与收藏清单同一张卡片风格，底部嵌消息面板 */
.dm-notify {
  margin-top: 28px;
  padding: 18px 16px;
  background: var(--bg-primary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
}

.dm-notify__head .ssr-h2 {
  margin-top: 0;
}

.dm-notify__desc {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--text-secondary);
}

.dm-notify__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 14px;
}

/* 通知开关：轨道 + 圆点，按钮本身承担 role="switch" 语义 */
.dm-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  font-family: inherit;
  font-size: 13px;
  color: var(--text-secondary);
  background: transparent;
  border: 0;
  cursor: pointer;
}

.dm-switch[disabled] {
  opacity: .62;
  cursor: default;
}

.dm-switch__track {
  position: relative;
  width: 42px;
  height: 24px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: 999px;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}

.dm-switch__dot {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .28);
  transition: transform var(--transition-fast);
}

.dm-switch.is-on .dm-switch__track {
  background: var(--primary);
  border-color: var(--primary);
}

.dm-switch.is-on .dm-switch__dot {
  transform: translateX(18px);
}

.dm-switch.is-on .dm-switch__label {
  color: var(--primary);
}

.dm-notify__status {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--text-tertiary);
}

.dm-notify__status a {
  color: var(--primary);
  text-decoration: none;
}

.dm-notify__status a:hover {
  text-decoration: underline;
}

/* 「通道管理」表格：对齐 push-front share.html 的通道列表（浅灰表头 + 胶囊标签 + 彩色描边操作） */
.dm-channels {
  margin-top: 16px;
  --dm-border: #f0f0f0;
  --dm-head-bg: #fafafa;
  --dm-text: #444;
  --dm-muted: #999;
  --dm-pill-bg: #f2f5f7;
  --dm-pill-text: #666;
  --dm-name: #333;
}

html.dark .dm-channels {
  --dm-border: #2f2f2f;
  --dm-head-bg: #1f1f1f;
  --dm-text: #c9cdd4;
  --dm-muted: #8b8f98;
  --dm-pill-bg: #2a2a2a;
  --dm-pill-text: #c9cdd4;
  --dm-name: #f3f4f6;
}

.dm-channels[hidden] {
  display: none;
}

.dm-channels__head {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.dm-channels__title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1a2b50;
}

html.dark .dm-channels__title {
  color: #f3f4f6;
}

.dm-channels__refresh,
.dm-channels__add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  height: 30px;
  padding: 0 16px;
  font-family: inherit;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  border-radius: 3px;
  cursor: pointer;
  transition: all .3s ease;
}

.dm-channels__refresh {
  color: #4eb389;
  background: #fff;
  border: 1px solid #4eb389;
}

.dm-channels__refresh:hover {
  color: #fff;
  background: #4eb389;
}

.dm-channels__add {
  margin-left: auto;
  color: #fff;
  background: #4eb389;
  border: 1px solid #4eb389;
}

.dm-channels__add:hover {
  background: #3da076;
  border-color: #3da076;
}

html.dark .dm-channels__refresh {
  background: transparent;
}

.dm-channels__refresh[disabled],
.dm-channels__add[disabled] {
  opacity: .5;
  cursor: default;
}

.dm-channels__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--dm-border);
  border-radius: 8px;
}

.dm-channels__table {
  width: 100%;
  min-width: 1080px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  color: var(--dm-text);
}

.dm-channels__table th,
.dm-channels__table td {
  padding: 11px 14px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  border-bottom: 1px solid var(--dm-border);
}

.dm-channels__table th {
  background: var(--dm-head-bg);
  color: var(--dm-muted);
  font-size: 14px;
  font-weight: 500;
}

.dm-channels__table tbody tr:last-child td {
  border-bottom: 0;
}

.dm-channels__table th:nth-child(1) { width: 92px; }
.dm-channels__table th:nth-child(1),
.dm-channels__table td:nth-child(1) {
  padding-left: 12px;
  padding-right: 12px;
}

.dm-channels__table th:nth-child(2) { width: 150px; }
.dm-channels__table th:nth-child(3) { width: 180px; }
.dm-channels__table th:nth-child(4) { width: 160px; }
.dm-channels__table th:nth-child(5) { width: 170px; }
.dm-channels__table th:nth-child(6) { width: 320px; }

.dm-channels__table th:nth-child(3),
.dm-channels__table td:nth-child(3) {
  text-align: left;
}

.dm-channels__type {
  display: inline-block;
  max-width: 100%;
  padding: 1px 8px;
  color: var(--dm-pill-text);
  background: var(--dm-pill-bg);
  border: 0;
  border-radius: 10px;
  font-size: 13px;
  line-height: 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.dm-channels__type.is-parent {
  color: #4eb389;
  background: #eaf7f1;
}

html.dark .dm-channels__type.is-parent {
  background: rgba(78, 179, 137, .16);
}

.dm-channels__qr img {
  display: block;
  width: 44px;
  height: 44px;
  margin: 0 auto;
  border-radius: 4px;
  cursor: zoom-in;
}

.dm-channels__name {
  color: var(--dm-name);
  font-size: 15px;
  font-weight: 500;
}

.dm-channels__badge {
  margin-left: 6px;
  padding: 0 6px;
  font-size: 12px;
  line-height: 18px;
  vertical-align: middle;
  color: #4eb389;
  background: #eaf7f1;
  border: 0;
  border-radius: 8px;
}

html.dark .dm-channels__badge {
  background: rgba(78, 179, 137, .16);
}

.dm-channels__code {
  font-family: Consolas, Monaco, monospace;
  font-size: 13px;
  color: var(--dm-pill-text);
}

.dm-channels__ops .dm-channels__btn + .dm-channels__btn {
  margin-left: 6px;
}

/* 通道名右侧的「推送记录」按钮（仅浏览器类型通道），与 push-front share.html 一致 */
.dm-channels__btn--name {
  height: 24px;
  margin-left: 6px;
  padding: 0 10px;
  font-size: 12px;
  vertical-align: middle;
}

.dm-channels__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 12px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1;
  color: #4eb389;
  background: #fff;
  border: 1px solid #4eb389;
  border-radius: 3px;
  cursor: pointer;
  transition: all .3s ease;
}

.dm-channels__btn:hover {
  color: #fff;
  background: #4eb389;
}

.dm-channels__btn--primary {
  color: #fff;
  background: #4eb389;
  border-color: #4eb389;
}

.dm-channels__btn--primary:hover {
  background: #3da076;
  border-color: #3da076;
}

.dm-channels__btn--info {
  color: #1296db;
  border-color: #38a4ff;
}

.dm-channels__btn--info:hover {
  color: #fff;
  background: #38a4ff;
}

.dm-channels__btn--danger {
  color: #f44a40;
  border-color: #f44a40;
}

.dm-channels__btn--danger:hover {
  color: #fff;
  background: #f44a40;
}

html.dark .dm-channels__btn {
  background: transparent;
}

html.dark .dm-channels__btn--primary {
  background: #4eb389;
}

@media (max-width: 992px) {
  .dm-channels__table th:nth-child(2),
  .dm-channels__table td:nth-child(2),
  .dm-channels__table th:nth-child(5),
  .dm-channels__table td:nth-child(5) {
    display: none;
  }

  .dm-channels__table {
    min-width: 700px;
  }

  .dm-channels__table th:nth-child(6) {
    width: 260px;
  }
}

/* 新增/修改通道弹窗：挂在 body 上，避免被表格的横向滚动容器裁掉 */
.dm-modal[hidden] {
  display: none;
}

.dm-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.dm-modal__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .45);
}

.dm-modal__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(460px, 100%);
  max-height: calc(100vh - 40px);
  background: var(--bg-primary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .25);
}

.dm-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border-light);
}

.dm-modal__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
}

.dm-modal__close {
  width: 28px;
  height: 28px;
  padding: 0;
  font-size: 18px;
  line-height: 1;
  color: var(--text-tertiary);
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}

.dm-modal__close:hover {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

.dm-modal__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  overflow-y: auto;
}

.dm-modal__target {
  margin: 0;
  font-size: 12.5px;
  color: var(--text-tertiary);
}

.dm-modal__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12.5px;
  color: var(--text-secondary);
}

.dm-modal__field input,
.dm-modal__field select {
  height: 36px;
  padding: 0 10px;
  font-family: inherit;
  font-size: 13px;
  color: var(--text-primary);
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: 8px;
}

.dm-modal__field input:focus,
.dm-modal__field select:focus {
  outline: none;
  border-color: var(--primary);
}

.dm-modal__err {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: #dc2626;
}

/* 测试推送弹窗底部展示的免鉴权推送网址 */
.dm-modal__api {
  margin: 0;
  padding: 8px 10px;
  font-family: Consolas, Monaco, monospace;
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-tertiary);
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: 8px;
  white-space: pre-wrap;
  word-break: break-all;
}

.dm-modal__api:empty {
  display: none;
}

.dm-modal__foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--border-light);
}

.dm-modal__foot .dm-channels__btn {
  height: 32px;
  padding: 0 16px;
}

/* 二维码放大：面板尺寸跟着图片走，关闭按钮固定在右上角 */
.dm-qr__panel {
  align-items: center;
  width: auto;
  max-width: calc(100vw - 32px);
  padding: 18px 18px 14px;
}

.dm-qr__close {
  position: absolute;
  top: 6px;
  right: 6px;
  background: var(--bg-primary);
}

.dm-qr__img {
  display: block;
  width: min(360px, calc(100vw - 72px));
  height: auto;
  border-radius: 8px;
  background: #fff;
}

.dm-qr__name {
  margin: 10px 0 0;
  max-width: min(360px, calc(100vw - 72px));
  font-size: 12.5px;
  line-height: 1.5;
  text-align: center;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

/* 收藏时间这类次要说明文字 */
.fav-muted {
  color: var(--text-tertiary);
}

/* 右上角多了「我的收藏」和收藏星标后，窄屏一行放不下会顶出横向滚动：
   520px 以下让导航换行，右上角整组落到第二行右对齐（桌面端实测 493px 起才放得下） */
@media (max-width: 520px) {
  .top-nav[data-v-417100a6] {
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .top-nav__auth[data-v-417100a6] {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
  }

  .fav-star {
    height: 32px;
    padding: 0 10px;
  }
}

@media (max-width: 640px) {
  .keyword-list[data-v-771e45db] {
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  }

  .pager {
    gap: 6px;
  }

  .pager__item,
  .pager__gap {
    min-width: 34px;
    height: 32px;
    padding: 0 8px;
    font-size: 13px;
  }
}

/* ===== 浅色视觉基线（2026-11-04）=====
 * 实测来源：taste-skill 审查
 *   格子面/底色 1.09:1、三级文字 2.50:1、结果页正文 13.5px、
 *   静止阴影 6 处、3 个彩色渐变 blob；
 *   1080p Windows 上渐变会出色带，半透明/模糊层会让文本失去次像素抗锯齿。
 * 这一段只改浅色主题的壳层和字号；标题层级与强调色收敛见文件末尾「审查的另一半」。
 * 深色主题不动。 */

html:not(.dark) {
  /* 底色与文字层级取自 ce.phprm.com 的浅色主题（#e9edf4 底 / #1f1b2e 墨色 /
     #4a4560 次级 / #e8e5f0 描边），强调色仍用 kuso 自己的青绿 */
  --bg-body: #e9edf4;
  --bg-primary: #ffffff;
  --bg-secondary: #f4f2fa;
  --bg-glass: #ffffff;
  --bg-glass-strong: #ffffff;
  --bg-surface: #ffffff;
  --bg-surface-elevated: #ffffff;
  --bg-surface-subtle: #ffffff;
  --bg-input: #ffffff;
  --border-light: #e8e5f0;
  --border-medium: #d6d0ea;
  --text-primary: #1f1b2e;
  --text-secondary: #4a4560;
  --text-tertiary: #6b6480;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-xl: none;
}

/* 背景装饰是 3 个径向渐变 blob（400/300/250px，opacity .28），8bit 面板上出彩带，整体去掉 */
.bg-decoration {
  display: none;
}

/* 导航与地面靠色阶分开，不再用 1px 底线 */
html:not(.dark) .top-nav[data-v-417100a6] {
  border-bottom-color: transparent;
}

/* 搜索条去玻璃、去阴影，改成白底实面，焦点只换边框色 */
html:not(.dark) .search-box[data-v-bd525a01] {
  background: #ffffff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-color: transparent;
  box-shadow: none;
}

html:not(.dark) .search-box[data-v-bd525a01].focused {
  border-color: var(--primary);
  box-shadow: none;
  transform: none;
}

html:not(.dark) .search-box[data-v-bd525a01].loading {
  animation: none;
}

/* 静止卡片全部去阴影；结果卡 hover 只留 2px 位移 */
html:not(.dark) .hot-keyword-section[data-v-771e45db],
html:not(.dark) .curated-section[data-v-e31dcd8e],
html:not(.dark) .rcs-section[data-v-6d1bbb02],
html:not(.dark) .stats-bar[data-v-417100a6],
html:not(.dark) .empty-card[data-v-417100a6],
html:not(.dark) .result-card[data-v-214f7e8c] {
  box-shadow: none;
}

html:not(.dark) .result-card[data-v-214f7e8c]:hover {
  box-shadow: none;
  transform: translateY(-2px);
}

/* 卡头的 1px 渐变装饰线 */
html:not(.dark) .card-header[data-v-214f7e8c]::after {
  display: none;
}

/* ===== 字号下限 =====
 * 可读正文 16px，次要说明 13–15px，标签不低于 13px；
 * 中文在 400 字重下低于 14px 在 1080p ClearType 上最先糊。 */
html .hero-tagline[data-v-417100a6] {
  font-size: 16px;
  line-height: 1.65;
}

html .curated-item__name[data-v-e31dcd8e] {
  font-size: 16px;
}

html .curated-head__text[data-v-e31dcd8e] {
  font-size: 13.5px;
}

html .curated-item__note[data-v-e31dcd8e] {
  font-size: 13px;
  line-height: 1.55;
}

html .curated-item__go[data-v-e31dcd8e] {
  font-size: 13px;
}

html .rcs-item__name[data-v-6d1bbb02] {
  font-size: 15px;
}

html .rcs-item__go[data-v-6d1bbb02] {
  font-size: 13px;
}

html .resource-link[data-v-214f7e8c] {
  font-size: 15px;
}

html .resource-count[data-v-214f7e8c] {
  font-size: 13px;
}

html .meta-tag[data-v-214f7e8c] {
  font-size: 13px;
}

html .hot-table {
  font-size: 15px;
}

html .hot-table th {
  font-size: 13px;
}

html .geo-summary {
  font-size: 16px;
  line-height: 1.7;
}

html .ssr-note {
  font-size: 15px;
}

html .ssr-crumb {
  font-size: 13px;
}

html .fav-meta {
  font-size: 13px;
}

/* 手机端结果标签回到 12px，避免一行挤破 */
@media (max-width: 640px) {
  html .meta-tag[data-v-214f7e8c] {
    font-size: 12px;
  }
}

/* 通道管理表格：整体 +1px（12.5 → 14，按钮/通道码 12 → 13，角标 11 → 12） */
.dm-channels__table {
  font-size: 14px;
}

.dm-channels__code {
  font-size: 13px;
}

.dm-channels__btn {
  font-size: 13px;
}

.dm-channels__badge {
  font-size: 12px;
}

/* 首页 / 热门榜 / 相关搜索的热词格子 +1 号 */
html .keyword-list .keyword-chip[data-v-771e45db] {
  font-size: 16px;
}

@media (max-width: 640px) {
  html .keyword-list .keyword-chip[data-v-771e45db] {
    font-size: 14px;
  }
}

/* 热榜排名里的词：hover 变深 + 下划线（下划线加在内层 span 上，flex 容器不向下传递装饰线） */
.hot-table a.resource-link:hover {
  color: var(--primary-dark);
}

.hot-table a.resource-link:hover .link-text {
  text-decoration: underline;
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.18em;
}

/* ===== 清晰度（2026-11-04）===== */
/*
 * 中文改用系统字体：Windows 走雅黑、macOS 走苹方。
 * 自托管的 Noto Sans SC 是去掉 hinting 的 Web 字，在 Windows 低缩放屏（1080p/2K + 125%）上
 * 中文笔画会发虚；系统字体带 hinting，同字号下明显更实。拉丁字符仍走 Manrope。
 */
html,
body {
  font-family: Manrope, "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", sans-serif;
}

/* 雅黑的 600/700 字重在 Windows 上会发毛：统一回到 400，层级交给字号和颜色 */
html body,
html body * {
  font-weight: 400 !important;
}

/* 通道管理头部：标题与按钮固定一行，按钮文字在胶囊里垂直居中 */
.dm-channels__head {
  flex-wrap: nowrap;
  gap: 12px;
}

.dm-channels__title {
  flex: 1 1 auto;
  min-width: 0;
}

.dm-channels__refresh,
.dm-channels__add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 13.5px;
  line-height: 1;
  white-space: nowrap;
}

/* ===== 审查的另一半（2026-11-04）=====
 * taste-skill 的标题层级 + 强调色收敛，只作用于浅色主题：
 *   1. 首页第一屏最大字号原来只有 30px，跟 16px 正文拉不开；
 *      只有首页的 h1 抬到 34–44px，结果页/榜单页那个品牌 div 保持 30px 不动。
 *      字重仍是 400（Windows 上 600/700 发毛），层级靠字号、字距和留白。
 *   2. 强调色收成一支：琥珀 --secondary 并回主色，8 处 teal→amber 渐变按钮改纯色，
 *      彩色投影和 hover 抬升阴影一律去掉；青绿只剩主按钮、链接和当前项。
 *   3. 卡片的大号静止阴影（--shadow-xl）也归零，表面只留 1px 边框和色阶。
 * 深色主题不动。 */

html:not(.dark) {
  --secondary: var(--primary);
}

html:not(.dark) h1.hero-brand[data-v-417100a6] {
  font-size: clamp(34px, 4vw, 44px);
  line-height: 1.12;
  letter-spacing: -.03em;
}

/* 结果页 / 榜单页的主题标题跟着抬一档，和 17px 的分区标题拉开距离 */
html:not(.dark) .ssr-h1 {
  font-size: clamp(22px, 2.4vw, 26px);
  line-height: 1.3;
}

/* 渐变按钮 → 主色纯色 */
html:not(.dark) .top-nav__btn--primary[data-v-417100a6],
html:not(.dark) .action-btn.primary[data-v-bd525a01],
html:not(.dark) .load-more-btn[data-v-214f7e8c],
html:not(.dark) .filter-pill.active[data-v-417100a6],
html:not(.dark) .curated-head__more[data-v-e31dcd8e],
html:not(.dark) .rcs-cat--on[data-v-6d1bbb02],
html:not(.dark) .login-tab.active[data-v-18d80828],
html:not(.dark) .login-submit[data-v-18d80828] {
  background-image: none;
  background-color: var(--primary);
  box-shadow: none;
}

/* 分区标题前那根 3px 竖条是装饰，不是强调对象，跟着收成墨色 */
html:not(.dark) .curated-head__bar[data-v-e31dcd8e],
html:not(.dark) .rcs-head__bar[data-v-6d1bbb02] {
  background-image: none;
  background-color: var(--text-primary);
}

/* GEO 摘要卡的左侧 3px 青绿描边同样是装饰，回到普通 1px 边框 */
html:not(.dark) .geo-summary {
  border-left-width: 1px;
  border-left-color: var(--border-light);
}

/* 榜单的次数列：数据不需要用强调色，交给右对齐和字号 */
html:not(.dark) .hot-table td.hot-num {
  color: var(--text-primary);
}

/* 剩下的彩色投影 / hover 阴影 */
html:not(.dark) .action-btn.primary:hover:not(:disabled),
html:not(.dark) .load-more-btn:hover,
html:not(.dark) .curated-head__more:hover,
html:not(.dark) .keyword-chip[data-v-771e45db]:hover,
html:not(.dark) .empty-suggestions__tag[data-v-417100a6]:hover,
html:not(.dark) .platform-badge[data-v-214f7e8c] {
  box-shadow: none;
}

/* ===== 配色跟随 ce.phprm.com（2026-11-04）=====
 * 参考站是 淡紫灰底 + 白卡片 + 墨色文字 + 淡紫描边；
 * kuso 沿用青绿强调色，只换中性色和热词格子的灰底。 */

/* 顶部导航是链接：默认不带下划线，hover 才出现 */
a.top-nav__btn[data-v-417100a6] {
  text-decoration: none;
}

a.top-nav__btn[data-v-417100a6]:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* 提示条里的「去登录」：浏览器默认蓝 + 下划线，收到强调色体系里 */
.ssr-note a {
  color: var(--primary);
  text-decoration: none;
}

.ssr-note a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* 热词格子：灰底改白底 + 1px 淡紫描边 */
html:not(.dark) .keyword-chip[data-v-771e45db] {
  background: #ffffff;
  border-color: var(--border-light);
}

/* hover 恢复 style.css 原本的微绿底 + 青绿描边 + 青绿文字。
   基态规则带了 html:not(.dark) 前缀，特异度压过 style.css 的 :hover，所以这里必须显式写回 */
html:not(.dark) .keyword-chip[data-v-771e45db]:hover {
  background: var(--bg-active);
  border-color: #0f766e4d;
  color: var(--primary);
}

/* 许愿区里被脱敏的词没有可跳转的原文路径，去掉链接式的 hover 反馈 */
html .keyword-chip--masked[data-v-771e45db],
html .keyword-chip--masked[data-v-771e45db]:hover {
  color: var(--text-tertiary);
  background: var(--bg-secondary);
  border-color: transparent;
  transform: none;
  box-shadow: none;
  cursor: default;
}

html:not(.dark) .keyword-chip--masked[data-v-771e45db],
html:not(.dark) .keyword-chip--masked[data-v-771e45db]:hover {
  color: var(--text-tertiary);
  background: #ffffff;
}
