/* ══════════════════════════════════════════════════════════════════
   WAKE webapp v2 · 设计系统底层
   参考（GitHub 高星成熟项目，取其「已经过大流量验证」的数值与结构，不自创）：
   · Ionic ★52.7k      安全区 / 触摸目标 / 页面容器
   · daisyUI ★42.7k    组件语义化命名与状态（.btn/.card/.badge）
   · Vant ★24.4k       移动端尺寸：cell 44 / 字阶 10·12·14·16 / 圆角 2·4·8
   · Framework7 ★18.8k App 外壳：navbar 44 / tabbar 50 / 路由页滑动
   · shadcn/ui ★127k   圆角基数 10、focus ring 3px、语义色分层
   · Tailwind ★98k     4pt 间距体系（4·8·12·16·24·32）
   ══════════════════════════════════════════════════════════════════ */

:root {
  /* —— 间距：4pt 栅格 —— */
  --s1: 4px;  --s2: 8px;  --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px;
  /* —— 圆角 —— */
  --r1: 4px; --r2: 8px; --r3: 10px; --r4: 12px; --r-full: 999px;
  /* —— 字阶（Vant 口径） —— */
  --f10: 10px; --f11: 11px; --f12: 12px; --f14: 14px; --f16: 16px; --f20: 20px;
  --lh12: 16px; --lh14: 20px; --lh16: 23px; --lh20: 28px;
  /* —— 控件高度 —— */
  --h-cell: 48px; --h-btn: 36px; --h-btn-sm: 28px; --h-input: 40px; --h-nav: 44px; --h-tab: 50px;
}

/* 页面容器：安全区 + 统一页边距（Ionic 的 ion-content 思路） */
.hp-page { padding: var(--s3) var(--s3) calc(var(--h-tab) + var(--s5) + env(safe-area-inset-bottom)); }

/* 区块标题 */
.hp-sec { margin-top: var(--s5); }
.hp-sec:first-child { margin-top: 0; }
.hp-sec__hd { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: var(--s2); }
.hp-sec__hd h3 { margin: 0; font-size: var(--f16); line-height: var(--lh20); font-weight: 600; letter-spacing: -.2px; color: var(--wk-ink); }
.hp-sec__hd a { font-size: var(--f12); color: var(--wk-ink-3); text-decoration: none; }

/* 卡片 */
.hp-card { background: var(--wk-card); border: 1px solid var(--wk-line); border-radius: var(--r4); overflow: hidden; }
.hp-cell + .hp-cell { border-top: 1px solid var(--wk-line); }
.hp-btn:focus-visible { outline: 3px solid rgba(53, 99, 224, .35); outline-offset: 1px; }

/* 徽标 / 标签 */
.hp-badge { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: var(--r1); font-size: var(--f10); line-height: 1; background: rgba(53, 99, 224, .1); color: var(--wk-brand); }

/* 价格 */
.hp-price { display: inline-flex; align-items: baseline; gap: 1px; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
.hp-price em { font-style: normal; font-size: var(--f11); }
.hp-price b { font-size: 17px; font-weight: 700; letter-spacing: -.3px; }
.hp-price i { font-style: normal; font-size: var(--f10); color: var(--wk-ink-3); }
.hp-skel::after { content: ''; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .5), transparent); animation: v2shimmer 1.2s ease-in-out infinite; }
:root[data-theme="dark"] .hp-skel::after { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .07), transparent); }
@keyframes v2shimmer { 100% { transform: translateX(100%); } }
/* 横滑条 */
.hp-strip { display: flex; gap: var(--s2); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.hp-strip::-webkit-scrollbar { display: none; }
.hp-strip > * { scroll-snap-align: start; flex: none; }

@media (prefers-reduced-motion: reduce) {
  .hp-skel::after { animation: none; }}

/* —— 人卡（一行一人） —— */
.hp-person { display: flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s3); background: var(--wk-card); border: 1px solid var(--wk-line); border-radius: var(--r4); text-align: left; width: 100%; }
.hp-person__av { width: 42px; height: 42px; border-radius: 50%; overflow: hidden; flex: none; display: grid; place-items: center; background: linear-gradient(135deg, #4b74e8, #2f56c8); color: #fff; font-size: var(--f16); font-weight: 600; }
.hp-person__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hp-person__bd { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.hp-person__top { display: flex; align-items: center; gap: 6px; min-width: 0; }
.hp-person__top b { font-size: var(--f14); font-weight: 600; color: var(--wk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hp-person__s { font-size: var(--f11); color: var(--wk-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* —— 服务卡（双列） —— */
.hp-prod { display: flex; flex-direction: column; background: var(--wk-card); border: 1px solid var(--wk-line); border-radius: var(--r4); overflow: hidden; text-align: left; }
.hp-prod__img { width: 100%; aspect-ratio: 16 / 10; display: grid; place-items: center; background: var(--wk-fill); color: var(--wk-brand); font-size: 15px; font-weight: 600; }
.hp-prod__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hp-prod__bd { padding: var(--s2) var(--s3) var(--s3); display: flex; flex-direction: column; gap: var(--s1); }
.hp-prod__t { font-size: 12.5px; line-height: 17px; color: var(--wk-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hp-prod__b { display: flex; align-items: baseline; gap: 2px; font-variant-numeric: tabular-nums; color: var(--wk-ink); }
.hp-prod__b u { margin-left: auto; font-size: var(--f10); color: var(--wk-ink-3); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* —— 公告条 —— */
.hp-notice { display: flex; align-items: center; gap: var(--s2); height: 34px; padding: 0 var(--s3); background: var(--wk-card); border: 1px solid var(--wk-line); border-radius: var(--r3); font-size: var(--f12); color: var(--wk-ink-2); text-align: left; width: 100%; }
.hp-notice i, .hp-notice svg { width: 14px; height: 14px; flex: none; color: var(--wk-brand); }
.hp-notice span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .hp-list .hp-person { border: 0; border-radius: 0; background: transparent; }
#view .hp-list .hp-person + .hp-person { border-top: 1px solid var(--wk-line); }
#view .hp-list .hp-person:active { background: rgba(17, 20, 25, .04); }

/* 服务卡：去掉描边，改用极浅投影 + 4:3 图，避免满屏 1px 线把页面切碎 */

#view .hp-prod__img {}
#view .hp-prod__t { font-size: 13px; line-height: 18px; }
:root[data-theme="dark"] #view .hp-prod { box-shadow: 0 1px 2px rgba(0, 0, 0, .5); }

/* 快捷入口：图标砖 36、品牌淡底 */


/* 区块节奏：标题与内容 8，区块之间 20 */




/* 价格：主数值 18，货币符与单位缩小 */


/* ══ v=663 首页多轮播：热榜 / 热门服务 / 推荐大神 / 大神榜 四条横滑 ══ */
.hp-strip { padding-bottom: 2px; }

/* 榜单卡 */
.hp-strip--rk > * { width: 148px; }
.hp-rk { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; background: var(--wk-card); border: 1px solid var(--wk-line); border-radius: var(--r3); text-align: left; }
.hp-rk__no { font-size: 15px; font-weight: 700; color: var(--wk-ink-4); font-variant-numeric: tabular-nums; line-height: 1; }
.hp-rk.is-top1 .hp-rk__no { color: #d0021b; }
.hp-rk.is-top2 .hp-rk__no { color: #f5a623; }
.hp-rk.is-top3 .hp-rk__no { color: #4a90e2; }
.hp-rk__t { font-size: 13px; color: var(--wk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hp-rk__v { font-size: 11px; color: var(--wk-ink-3); }

/* 服务卡（横滑） */
.hp-strip--svc > * { width: 146px; }
.hp-svc { display: flex; flex-direction: column; gap: 6px; text-align: left; }
.hp-svc__img { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--r3); overflow: hidden; display: grid; place-items: center; background: var(--wk-fill); color: var(--wk-brand); font-size: 15px; font-weight: 600; }
.hp-svc__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hp-svc__t { font-size: 12.5px; line-height: 17px; color: var(--wk-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 人 / 俱乐部卡（横滑） */
.hp-strip--ppl > * { width: 92px; }
.hp-ppl { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.hp-ppl__av { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, #4b74e8, #2f56c8); color: #fff; font-size: 18px; font-weight: 600; }
.hp-ppl__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hp-ppl__n { font-size: 12px; color: var(--wk-ink); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hp-ppl__s { font-size: 10px; color: var(--wk-ink-3); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 3px; min-height: 14px; }
.hp-ppl__lv { font-style: normal; font-size: 9.5px; line-height: 13px; padding: 0 4px; border-radius: 4px; color: var(--lv, #8a8f99); background: color-mix(in srgb, var(--lv, #8a8f99) 12%, transparent); border: 1px solid color-mix(in srgb, var(--lv, #8a8f99) 30%, transparent); white-space: nowrap; }
.hp-ppl__done { font-style: normal; color: var(--wk-ink-3); white-space: nowrap; }

/* ══ v=664 按小黑盒 p09 实测数（360dp）重排首页节奏 ══
   p09 实测：左右 12 · 分类图标 40×40 r6 间距 18 · 区块标题 17/22 · 正文 14/18 ·
   图 16:9（132×72）间距 6 · 条目内距 4 · 条目间 21 · 交互条 24 */
#view .hp-page { padding: 8px 12px calc(50px + 24px + env(safe-area-inset-bottom)); }
#view .hp-sec { margin-top: 18px; }
#view .hp-sec__hd { margin-bottom: 8px; }
#view .hp-sec__hd h3 { font-size: 17px; line-height: 22px; font-weight: 600; }
#view .hp-sec__hd a { font-size: 11px; }
#view .hp-list .hp-person { padding: 10px 12px; gap: 8px; }
#view .hp-person__av { width: 40px; height: 40px; }
#view .hp-person__bd { gap: 4px; }
#view .hp-person__top b { font-size: 14px; }
#view .hp-person__s { font-size: 11px; }
#view .hp-prod__img, #view .hp-svc__img { aspect-ratio: 16 / 9; }
#view .hp-prod__t, #view .hp-svc__t { font-size: 14px; line-height: 18px; }
#view .hp-prod__bd { padding: 6px 0 0; gap: 4px; }
#view .hp-prod { border-radius: 10px; box-shadow: none; border: 0; background: transparent; }
#view .hp-prod__img { border-radius: 10px; }
#view .hp-price b { font-size: 17px; }

/* 横滑条：露出的下一张卡提示可滑（小黑盒风格：卡片间距 6、右侧留 12） */
#view .hp-strip { gap: 6px; margin-right: -12px; padding-right: 12px; }
#view .hp-strip--svc > *, #view .hp-strip--rk > * { width: 132px; }
#view .hp-svc { gap: 4px; }
#view .hp-svc__img { border-radius: 8px; }

/* ══ v=665 小黑盒跨页通用语法（p09 首页 / p11 消息页 / p14 通知页 实测）══
   页边距按页面类型分档：信息流 12 · 列表页 16 · 通知/详情 10（不是全站一个数）
   页标题 18 · 列表行 56（标题 15/20、摘要 12/16、时间 11/14）· 快捷入口 40 圆 r20 标签 12 */

/* 页标题统一 18 */
#view .p-head h1, #view .p-head__t, .wk-nav__title, #view .wapp-h1 { font-size: 18px; }

/* 列表行：小黑盒 56 行高 */
#view .p-row, #view .hp-cell, #view .wapp-srow { min-height: 56px; }
#view .p-row__t, #view .hp-cell__t { font-size: 15px; line-height: 20px; }
#view .p-row__s, #view .hp-cell__s, #view .hp-cell__v { font-size: 12px; line-height: 16px; }
#view .p-row__ico { width: 36px; height: 36px; border-radius: 8px; }

/* 通知/消息类条目：头像 36、时间 11 */
#view .wapp-conv .wk-avatar { width: 36px; height: 36px; }
#view .wapp-conv time, #view .wapp-conv__t { font-size: 11px; }

/* 快捷入口：圆形 40 */
#view .wapp-quick .wapp-q svg, #view .wapp-quick .wapp-q i { width: 22px; height: 22px; }
#view .wapp-quick .wapp-q span { font-size: 12px; }

/* 页面类型分档页边距 */
#view:has(.p-filter) { padding-left: 16px; padding-right: 16px; }

#view .wapp-panel-pad { padding-left: 10px; padding-right: 10px; }

/* v=666 三处收口 */
/* ① 服务卡图按小黑盒 16:9 定死高度（aspect-ratio 会被父级 flex 撑回方形） */
#view .hp-svc__img { aspect-ratio: auto; height: 74px; }
#view .hp-prod__img { aspect-ratio: auto; height: 112px; }
/* ③ 详情/会话类页面边距 10（小黑盒通知页口径） */
#view:has(.wapp-cbar), #view:has(.wapp-buybar) { padding-left: 10px; padding-right: 10px; }
/* ② 消息页四宫格快捷：40 圆 r20、标签 12/16 */
#view .hp-msquick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 8px 0 10px; }
#view .hp-msquick > button { display: flex; flex-direction: column; align-items: center; gap: 8px; background: none; border: 0; padding: 0; }
#view .hp-msquick i { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--wk-fill); color: var(--wk-ink-2); }
#view .hp-msquick i svg, #view .hp-msquick i .xi { width: 22px; height: 22px; }
#view .hp-msquick em { font-style: normal; font-size: 12px; line-height: 16px; color: var(--wk-ink-2); }

/* v=669 轮播与下方区块左边缘对齐（页 padding 12 + 12 = 24，与 v2-sec/v2-quick 同列） */


/* v=671 ① 轮播图铺满外层容器（原来 .wapp-banner 固定 317，右侧留白）② 热门服务改双列网格（原三列挤爆文字） */

#view .hp-strip--svc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; overflow: visible; padding: 0 }
#view .hp-strip--svc > * { width: auto; min-width: 0; }

/* v=709 轮播改用实拍海报：高度提到 160（2.69:1，匹配 2048×768 素材） */


/* v=710 强制轮播高度 160（更高特异性 + 轨道同步） */



/* v=711 轮播高度回到之前的 88px（沿用实拍海报，只改高度） */



/* v=712 轮播改小黑盒浅色风：深色文字 + 品牌蓝实心 CTA + 深色指示器 */

 /* 2026-11-03 底色改浅了但忘了摘阴影：深灰字 + 黑影 = 一圈脏边 */



#view .hp-page > .hp-hero, #view .hp-page > .hp-hero {
  margin: 0 calc(var(--s3) * -1);
  border-radius: 0;
}
#view:has(.hp-hero), #view:has(.hp-page) {
  padding-left: 12px;
  padding-right: 12px;
}

#view:has(.hp-hero) .hp-page {
  padding-top: 0;
}
#view .hp-page > .hp-hero {
  margin-left: -24px;
  margin-right: -24px;
  margin-top: 0;
}








#view .hp-page > .hp-hero #btrack {
  height: 88px;
}





#view .hp-page > .hp-hero .wapp-banner {
  border-radius: 0;
}
#view .hp-hero .wapp-banner,
#view .hp-hero .wapp-banner img,
#view .hp-hero .wapp-banner * {
  border-radius: 0 !important;
}
#view .hp-hero .wapp-banner-track {
  scroll-snap-align: start;
}
#view .hp-hero .wapp-banner-slide {
  scroll-snap-align: start;
}
#view .hp-hero .wapp-banner-slide::after {
  display: none;
}
#view .hp-hero .wapp-banner-t {
  background: none;
  padding: 0 16px 14px;
}
#view .hp-hero .wapp-banner-cta:active {
  background: rgba(0, 0, 0, .52);
}
#view .hp-hero .wapp-banner-dots {
  margin: 0;
  border: 0;
  min-height: 0;
  position: absolute;
  inset: auto 0 0 0;
  top: auto;
  display: flex;
  align-items: center;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  overflow: visible;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  width: auto;
  gap: 3px;
  background: none;
  padding: 0;
  height: 3px;
  bottom: 6px;
}
#view .hp-hero .wapp-banner {
  width: 100%;
  max-width: none;
  overflow: hidden;
  touch-action: pan-y;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  height: 160px;
  aspect-ratio: auto;
}
#view .hp-page > .hp-hero #banner,
#view .hp-page > .hp-hero .wapp-banner {
  height: 88px;
  min-height: 88px;
  max-height: 88px;
}
#view .hp-hero .wapp-banner-t b {
  color: var(--wk-ink);
  text-shadow: none;
}
#view .hp-hero .wapp-banner-t em {
  color: var(--wk-ink-3);
  text-shadow: none;
}
#view .hp-hero .wapp-banner-cta {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 999px;
  background: var(--wk-brand-fill);
  color: #fff;
  border: 0;
  box-shadow: 0 2px 8px rgba(53, 99, 224, .28);
}
#view .hp-hero .wapp-banner-tag {
  background: rgba(53, 99, 224, .10);
  color: var(--wk-brand);
  font-weight: 600;
}
#view .hp-hero .wapp-banner-dot {
  padding: 0;
  margin: 0;
  border: 0;
  transition: background .2s ease-out;
  min-height: 0;
  height: 3px;
  border-radius: 2px !important;
  flex: 0 0 14px;
  width: 14px;
  background: rgba(17, 20, 25, .18);
}
#view .hp-hero .wapp-banner-dot.is-on {
  width: auto;
  background: rgba(17, 20, 25, .62);
}
#view .hp-games::-webkit-scrollbar { display: none; }
#view .hp-game.is-on .hp-game__ic { background: rgba(53,99,224,.10); box-shadow: inset 0 0 0 1px rgba(53,99,224,.35); }
#view .hp-game.is-on em { color: var(--wk-brand); font-weight: 600; }

#view .hp-svc__rk {
  position: absolute; left: 6px; top: 6px; z-index: 2;
  font: 700 10px/1 var(--wk-font); color: #fff; font-style: normal;
  background: rgba(17,20,25,.62); padding: 4px 6px; border-radius: 5px;
  backdrop-filter: blur(4px);
}
#view .hp-svc__img { position: relative; }
#view .hp-notice--pin { margin-top: 10px; height: 34px; gap: 8px; }
#view .hp-notice__pin {
  flex: none; font: 600 10px/1 var(--wk-font); font-style: normal; border: 1px solid rgba(53,99,224,.45); border-radius: 3px}
#view .hp-notice--pin > em {
  flex: none; font: 11px/1 var(--wk-font); font-style: normal
}

/* v=719 公告条直角 + 通栏顶住两边（与轮播同宽） */


/* v=720 修正：width:100% 抵消了负边距，显式加宽 48 让公告真正通栏 */


/* v=721 「置顶」方框：修掉 .hp-notice i 的 14×14 固定尺寸导致文字溢框 */
#view .hp-notice__pin { display: inline-flex; align-items: center; justify-content: center; padding: 0; box-sizing: border-box; line-height: 1; font-size: 10px; letter-spacing: 0 }

/* v=722 公告条改棕黄：底色棕黄透明 + 置顶方框棕黄 */
#view .hp-page > .hp-notice--pin {
  background: rgba(176, 122, 28, .10);
  border-top-color: rgba(176, 122, 28, .18);
  border-bottom-color: rgba(176, 122, 28, .18);
}
#view .hp-notice--pin span { color: #7a5312; }
#view .hp-notice__pin {
  color: #9a6b00;
  border-color: rgba(154, 107, 0, .48);
  background: rgba(176, 122, 28, .14);
}
#view .hp-notice--pin > em { color: rgba(122, 83, 18, .62); }

/* v=723 公告条：高度 36→30，左右恢复圆弧（仍通栏） */
#view .hp-page > .hp-notice--pin {
  height: 30px;
  border-radius: 12px;
  border-left: 1px solid rgba(176,122,28,.18);
  border-right: 1px solid rgba(176,122,28,.18);
  padding: 0 16px;
}
#view .hp-notice__pin { width: 28px; height: 17px; min-width: 28px; }

/* v=724 公告条左右各缩进 12（不再顶住屏幕两边） */
#view .hp-page > .hp-notice--pin { margin: 10px -12px 0 }

/* v=725 首页入口改「左右交替贴边卡片」，8 张，带美术底图 */
#view .hp-cards { flex-direction: column }













/* v=726 入口卡片排版打磨：字号分级 / 对比度 / 内距 / 色彩锚点 / 箭头 */



/* 文字块：左对齐卡留左侧呼吸，右对齐卡镜像 */



/* 标题：16/600，深墨，字距收紧 */

/* 副标题：12/400，提到 ink-3，可读性优先 */


/* 贴边侧加 3px 品牌色竖条做视觉锚点 */



/* 箭头：22px，白底 + 品牌色描边，位置与文字基线对齐 */



/* 底图：靠外侧，避免压住文字 */



/* v=727 交错大卡只保留 2 张（主推区），其余 6 个入口收成紧凑小格，不再填满整屏 */
#view .hp-mini {
  display: grid;
  margin: 12px -12px 0; padding: 0 12px}
#view .hp-mini__i {
  display: flex; flex-direction: column; align-items: center; background: var(--wk-card); border: 0}
#view .hp-mini__ic {
  overflow: hidden; display: block}
#view .hp-mini__ic img { width: 100%; height: 100%; display: block }
#view .hp-mini__i em {
  font: 500 12px/1 var(--wk-font); font-style: normal
}

/* v=728 主推卡片改「一行两张」，交错靠行错位实现；剩余 4 入口单行四列 */
#view .hp-cards {}


/* 第二行整体右移 10px，形成节奏错位而不破坏两列 */











#view .hp-mini { grid-template-columns: repeat(4, 1fr); }

/* v=729 主推区左边缘与下方小格/区块标题对齐（24） */


/* v=730 入口区美术优化：插画收到右侧 46%（不再整卡铺图）、主题色淡底、统一描边与投影 */

/* 主题色淡底（左上角向外扩散） */

/* 插画：收到一侧，圆角裁切 */


/* 右列镜像：插画在左 */





/* 小格：图标放大到 44，主题色淡底 */
#view .hp-mini__ic { box-shadow: 0 0 0 .5px rgba(17,20,25,.05) }
#view .hp-mini__i { box-shadow: 0 0 0 .5px rgba(17,20,25,.06), 0 2px 8px -5px rgba(17,20,25,.16) }
#view .hp-mini__i em { color: var(--wk-ink-2); letter-spacing: -.1px; }

/* v=731 美术修正：插画放大取主体 + 提饱和（生成的插画底色太白，缩到 46% 后几乎看不见） */


#view .hp-mini__ic img {
  transform-origin: 50% 48%}

/* v=732 插画改 contain 完整显示（cover+缩放把主体裁掉了，右侧两张看着像空白） */

#view .hp-mini__ic img { object-fit: contain; transform: none; background: #fff; box-sizing: border-box }

/* v=733 关键修正：插画是「白底浅色线稿」，直接贴白卡=看不见。
   改用 mix-blend-mode:multiply + 主题色淡底，白色背景自动消失、线条/色块留在色底上 */




#view .hp-mini__ic img {}

/* v=734 插画对比度拉满（原图是大面积白底的淡彩线稿，小尺寸下几乎不可见） */



/* v=735 入口卡改「色底 + 专业线性图标」（生成的淡彩插画在 46px 尺寸下不可辨，弃用在卡片上） */






#view .hp-mini__ic { background: color-mix(in srgb, var(--qc) 10%, #fff); }
#view .hp-mini__ic img { filter: none; mix-blend-mode: normal
}

/* v=739 打破等分：6 列 bento（4+2 / 2+4 交错），并启用插画（插画放色盘上，浅彩也能看见） */
#view .hp-cards {
  display: grid; grid-template-columns: repeat(6, 1fr);
  gap: 8px; margin: 12px 0 0; padding: 0;
}






/* 插画：贴在空白侧的色盘里，multiply 让白底融入色盘 */



/* 线性图标：左侧小胶囊 */









/* v=740 插画放进取景框：放大到主体、裁掉四周大片白（q2/q4 之前只剩白边） */




/* v=741 插画重做（深色底高对比）后：去掉 multiply 与压暗，直接圆形展示 */



/* v=742 收口：插画完整落在圆内、去掉外溢；卡片高度收紧减少空白 */








/* v=743 宫格压矮 + 美术占大面积：插画改成卡片右侧满高面板（占比约 42%），不再是小红点 */
#view .hp-cards {}






/* 插画左侧蒙一层白渐隐，与文字区自然衔接 */







/* v=744 修 v=743 的塌陷：grid-auto-rows:0 让两行重叠（容器只剩 8px） */
#view .hp-cards { grid-auto-rows: max-content; align-items: stretch; }

/* v=745 窄卡（span2）插画改右上角小块，别把文字挤断 */






/* v=746 宽卡插画再放大、白渐隐收窄（原来渐隐把插画左侧洗白了） */




/* v=747 美术统一：8 张全部重出（同色系渐变底 + 白色主体），卡片右侧满高面板，不再洗白 */





/* v=748 收口：四张卡插画面板统一 44%，文字留足安全距离 */




/* v=749 美术占满整卡：全幅插画做底 + 底部深色渐隐 + 白色文字（艺术卡） */






/* 深色渐隐，保证白字可读 */







/* v=750 修正：正方形插画被 2.6:1 裁成只看见背景条。改 contain 完整显示 + 卡片底色取主题色 */




/* v=751 修：v=735 里 `.hp-cards .hp-cardx:nth-child(even){background:#fff!important}` 特异性更高，
   把右列两张卡（找大神/接单）又刷成了白底 → 白字消失。这里同级覆盖回主题色 */



/* v=752 让插画真正铺满：全部改 cover（窄卡近方形裁切损失小；宽卡取中心带） */



/* v=753 素材按卡片比例生成（宽卡 2.4:1 / 窄卡 1.25:1），插画现在能真正铺满 */


/* v=754 3D 拟物素材上线：素材自带暗底渐隐，遮罩减弱，文字改为左中垂直居中 */




/* v=755 橙卡白字对比不足 → 左侧暗渐隐加强 + 文字加影 */




/* v=756 去掉卡内插画，只保留配色底 + 重排文字 */


/* 右上角一圈柔光，补一点层次（纯 CSS，不是图） */

/* 文字排版：只保留标题 + 副标题，左对齐、垂直居中，标题 17 */





/* 窄卡：文字居中更紧凑 */




/* v=757 修特异性：v=751 的 `.hp-cards .hp-cardx:nth-child(odd/even){background:var(--qc)}` 覆盖了渐变 */


/* v=758 四个小格压小压矮：图标 44→32，内距收紧，高度约 58 */
#view .hp-mini { gap: 8px; }
#view .hp-mini__i { border-radius: 10px }
#view .hp-mini__ic { border-radius: 9px }

#view .hp-mini__i em { font-size: 11px; }

/* v=759 ① 小格再压 10%  ② 四张卡统一左对齐 + 右侧 chevron 填空白 */
#view .hp-mini__i { padding: 6px 4px 6px; gap: 3px; }
#view .hp-mini__ic { width: 30px; height: 30px; }
#view .hp-mini__ic img { padding: 6px; }






/* v=760 四张大卡重排：图标左置 + 文字列 + 右侧箭头（之前图标和箭头都在右边中心，重叠） */






/* 宽卡：箭头固定在右端 */



/* 窄卡：收一档，图标 28，标题 14 */







/* v=761 四卡统一：等高 92、窄卡文案缩短后可完整显示、箭头恢复显示 */





/* v=762 首页横向统一：除轮播 / 顶栏 / 底栏外，所有区块左右边距一律 24（内容宽 382） */
#view .hp-page > .hp-notice--pin {
  margin-left: 0; margin-right: 0;
  width: 100%; max-width: 100%;
  padding-left: 14px; padding-right: 14px;
}
#view .hp-cards { margin-left: 0; margin-right: 0; }
#view .hp-mini { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }

/* v=763 热门服务网格右边缘溢出 12px（418）→ 收到 406 */
#view .hp-strip--svc {
  margin-left: 0; margin-right: 0;
  padding-left: 0; padding-right: 0;
  width: 100%;
}

/* v=765 四张大卡图文排版精修：图标胶囊 + 文字列 + 圆形箭头，三段式节奏统一 */

/* 图标胶囊：加内高光与描边，像一块小徽章 */


/* 文字列 */



/* 箭头做成圆形按钮 */

/* 窄卡：图标 30 / 标题 14.5 / 副标 9.5，箭头隐藏 */





#view .hp-cardx.is-l {
  align-self: flex-start;
  border-radius: 0 16px 16px 0;
}
#view .hp-cardx.is-r {
  align-self: flex-end;
  border-radius: 16px 0 0 16px;
}
#view .hp-cardx.is-r .hp-cardx__bd {
  align-items: flex-end;
  padding: 0 20px 0 0;
}
#view .hp-cardx.is-l::after {
  content: '';
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 3px;
  background: var(--qc);
  border-radius: 0 3px 3px 0;
  z-index: 3;
}
#view .hp-cardx.is-r::after {
  content: '';
  position: absolute;
  right: 0;
  top: 18px;
  bottom: 18px;
  width: 3px;
  background: var(--qc);
  border-radius: 3px 0 0 3px;
  z-index: 3;
}
#view .hp-cardx.is-r .hp-cardx__go {
  left: 16px;
  right: auto;
}
#view .hp-cardx.is-late {
  transform: translateY(0);
  margin-left: 0;
}
/* 第二排原先把 3/4 号卡整体右移 10px 做"错位"，结果右边缘顶到 376（超出 366 的内容边界）。
   交错本身靠 225/109 的宽度交替就够了，位移去掉后左右两边都落在 24 / 366，跟公告条、游戏条、栏目同一把尺。 */
#view .hp-cardx.is-r .hp-cardx__ov {
  background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.72) 58%, rgba(255,255,255,.10) 100%);
}
#view .hp-cardx.is-r .hp-cardx__bg {
  object-position: center 70%;
}
#view .hp-cards .hp-cardx:nth-child(even) .hp-cardx__ov {
  background: linear-gradient(270deg, #fff 0%, #fff 40%, rgba(255,255,255,.72) 54%, rgba(255,255,255,0) 78%) !important;
}
#view .hp-cards .hp-cardx:nth-child(4) .hp-cardx__bd {
  padding: 0 0 0 12px !important;
  align-items: flex-start !important;
  margin-left: 44%;
}
#view .hp-cards .hp-cardx:nth-child(even) .hp-cardx__bg {
  left: 0 !important;
  right: auto !important;
  transform-origin: 50% 48%;
}
#view .hp-cards .hp-cardx:nth-child(even)::before {
  background: radial-gradient(120% 130% at 100% 0%, color-mix(in srgb, var(--qc) 13%, transparent) 0%, transparent 66%) !important;
}
#view .hp-cardx:nth-child(1) {
  grid-column: span 4
}
#view .hp-cardx:nth-child(2) {
  grid-column: span 2
}
#view .hp-cardx:nth-child(3) {
  grid-column: span 2
}
#view .hp-cardx:nth-child(4) {
  grid-column: span 4
}
#view .hp-cardx:nth-child(2) .hp-cardx__art,
#view .hp-cardx:nth-child(3) .hp-cardx__art {
  top: 8px; right: 8px; bottom: auto
}
#view .hp-cardx:nth-child(2) .hp-cardx__art::before,
#view .hp-cardx:nth-child(3) .hp-cardx__art::before {
  display: none;
}
#view .hp-cardx:nth-child(1) .hp-cardx__art,
#view .hp-cardx:nth-child(4) .hp-cardx__art {
  width: 44%;
}
#view .hp-cardx:nth-child(1), #view .hp-cardx:nth-child(2) {
  height: 96px;
}
#view .hp-cardx:nth-child(3), #view .hp-cardx:nth-child(4) {
  height: 84px;
}
#view .hp-cardx__art,
#view .hp-cardx:nth-child(1) .hp-cardx__art,
#view .hp-cardx:nth-child(2) .hp-cardx__art,
#view .hp-cardx:nth-child(3) .hp-cardx__art,
#view .hp-cardx:nth-child(4) .hp-cardx__art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  box-shadow: none;
}
#view .hp-cards .hp-cardx:nth-child(even) {
  background: var(--qc) !important;
}
#view .hp-cards .hp-cardx:nth-child(odd) {
  background: var(--qc) !important;
}
#view .hp-cardx:nth-child(2) .hp-cardx__art img,
#view .hp-cardx:nth-child(3) .hp-cardx__art img {
  object-position: 50% 46%;
  transform: scale(1.02);
}
#view .hp-cardx__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  mix-blend-mode: normal;
  filter: saturate(1.05) contrast(1.03);
  border-radius: 50%;
  display: block;
  object-position: 50% 50%;
}
#view .hp-cardx__art::before {
  pointer-events: none;
  background: linear-gradient(90deg, rgba(6,8,12,.52) 0%, rgba(6,8,12,.28) 46%, rgba(6,8,12,.04) 72%, rgba(6,8,12,0) 100%);
  display: block;
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
}
#view .hp-cardx__art {
  position: absolute;
  z-index: 1;
  display: none;
  width: 42%;
  height: auto;
  border-radius: 0 16px 16px 0;
  background: transparent;
  right: 0;
  bottom: 0;
  overflow: hidden;
  box-shadow: inset 6px 0 12px -8px rgba(17,20,25,.25);
  top: 0;
  left: auto;
}
#view .hp-cardx::before {
  background:
    radial-gradient(120% 120% at 88% 8%, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 52%),
    radial-gradient(90% 90% at 8% 100%, rgba(0,0,0,.16) 0%, rgba(0,0,0,0) 60%);
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
#view .hp-cards .hp-cardx:nth-child(n) {
  background: linear-gradient(135deg,
      color-mix(in srgb, var(--qc) 86%, #fff) 0%,
      var(--qc) 46%,
      color-mix(in srgb, var(--qc) 76%, #000) 100%) !important;
}
#view .hp-cardx:nth-child(2),
#view .hp-cardx:nth-child(3) {}
#view .hp-cardx:nth-child(1), #view .hp-cardx:nth-child(2),
#view .hp-cardx:nth-child(3), #view .hp-cardx:nth-child(4) {
  height: 92px;
}
#view .hp-cardx:nth-child(2)::after,
#view .hp-cardx:nth-child(3)::after {
  display: none;
}
#view .hp-cardx {
  width: auto;
  border: 0;
  padding: 0 14px 0 14px;
  background: linear-gradient(135deg,
      color-mix(in srgb, var(--qc) 88%, #fff) 0%,
      var(--qc) 42%,
      color-mix(in srgb, var(--qc) 78%, #000) 100%);
  box-shadow: 0 6px 18px -10px color-mix(in srgb, var(--qc) 70%, transparent);
  display: flex;
  align-items: center;
  height: 92px;
  transform: none;
  position: relative;
  overflow: hidden;
  gap: 11px;
  border-radius: 16px;
}
#view .hp-cardx__ic {
  position: static;
  left: auto;
  top: 50%;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(160deg, rgba(255,255,255,.30), rgba(255,255,255,.12));
  z-index: 3;
  right: 12px;
  transform: none;
  flex: none;
  margin: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 0 0 1px rgba(255,255,255,.22), 0 2px 6px -2px rgba(0,0,0,.28);
  backdrop-filter: blur(6px);
}
#view .hp-cardx__ic img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
}
#view .hp-cardx__bd {
  padding: 0 18px 0 0;
  margin-top: 24px;
  position: static;
  max-width: none;
  left: 0;
  right: 0;
  bottom: auto;
  z-index: 3;
  margin: 0 !important;
  top: 50%;
  transform: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  text-align: left;
  align-items: flex-start;
}
#view .hp-cardx__bd b {
  font: 600 17px/1.05 var(--wk-font) !important;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.18);
  letter-spacing: -.45px;
  white-space: nowrap;
}
#view .hp-cardx__bd em {
  font: 400 11.5px/1.2 var(--wk-font) !important;
  color: rgba(255,255,255,.72);
  font-style: normal;
  line-height: 1.25;
  text-shadow: none;
  letter-spacing: .05px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
#view .hp-cardx::after {
  content: '›';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.16);
  color: rgba(255,255,255,.9);
  font: 600 13px/1 var(--wk-font);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
/* 窄卡（109×92）：原来是「左图标 + 右文字」的横排，文字列只剩 50px，
   副标题「按段位挑人」被 nowrap+overflow:hidden 截成「按段位挑」。
   改成上图标、下文字的竖排：文字拿到整卡 85px 宽，标题 15 / 副标 10 都不再截断，
   图标与标题左边缘同一条线。宽卡保持横排，两者形成大小节奏差。 */
#view .hp-cardx:nth-child(2),
#view .hp-cardx:nth-child(3) {
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0;
  padding: 12px 12px 11px;
}
#view .hp-cardx:nth-child(2)::after,
#view .hp-cardx:nth-child(3)::after { display: none; }
#view .hp-cardx:nth-child(2) .hp-cardx__ic,
#view .hp-cardx:nth-child(3) .hp-cardx__ic {
  width: 30px;
  height: 30px;
  border-radius: 10px;
}
#view .hp-cardx:nth-child(2) .hp-cardx__ic img,
#view .hp-cardx:nth-child(3) .hp-cardx__ic img {
  width: 17px;
  height: 17px;
}
#view .hp-cardx:nth-child(2) .hp-cardx__bd,
#view .hp-cardx:nth-child(3) .hp-cardx__bd {
  margin: 0;
  padding: 0;
  top: auto;
  bottom: auto;
  width: 100%;
  gap: 2px;
}
#view .hp-cardx:nth-child(2) .hp-cardx__bd b,
#view .hp-cardx:nth-child(3) .hp-cardx__bd b {
  font-size: 15px;
  letter-spacing: -.35px;
}
#view .hp-cardx:nth-child(2) .hp-cardx__bd em,
#view .hp-cardx:nth-child(3) .hp-cardx__bd em {
  font-size: 10px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}


/* v=767 公告条文字自动滑动（跑马灯），只在不溢出时才静止 */
#view .hp-notice__vp {
  flex: 1 1 auto; min-width: 0; overflow: hidden; position: relative;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 8px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 8px), transparent 100%);
}
#view .hp-notice__track {
  display: inline-flex; align-items: center; gap: 40px; white-space: nowrap;
  will-change: transform;
}
#view .hp-notice__track b {
  font: 400 12px/1 var(--wk-font); color: #7a5312; font-weight: 400;
}
@keyframes v2NoticeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - 20px)); }
}
@media (prefers-reduced-motion: reduce) {
  #view .hp-notice__track { animation: none; }}

/* v=769 悬浮下单按钮改「胶囊 + 文字」：更明确、更好看 */







/* v=770 悬浮按钮改 3D 手柄：白胶囊 + 立体手柄 + 深蓝文字（蓝底放蓝手柄会糊） */





/* v=771 悬浮按钮直接用手柄本体：无胶囊、无文字、无底色 */





/* v=772 手柄 + 下方「自助下单」艺术字（描边+发光，任何底色上都清晰） */





/* v=773 抠图去边 + 文字放大加强 */




/* v=774 艺术字精修：白→浅蓝渐变填充 + 细描边 + 上移贴合手柄 */



/* v=775 手柄下方文字在深色卡上会被吃 → 加一层柔和暗晕（不是胶囊底） */



/* v=776 霓虹玻璃：手柄换透明底霓虹素材，文字改霓虹玻璃发光字 */





/* v=778 ① 手柄与文字拉开 6px 不再压到字 ② 手柄用 screen 混合，黑底与硬边自然消失（霓虹发光特性） */




/* v=779 间距呼吸：手柄 56 / 间距 8 / 字 14px */




/* v=780 ① 文字垫一块霓虹底板，去掉下方那团散投影 ② 整个按钮缩小 */





/* v=781 再去掉按钮整体的暗晕，只留文字底板（用户嫌投影成一团） */


/* v=782 手柄+文字合成一张彩色霓虹图，整图作为悬浮按钮 */





/* v=783 悬浮控件整体缩小 96×78 → 70×57 */

#wake-fab.is-snap {
  transform: scale(.92);
}
#wake-fab i svg {
  width: 16px !important;
  height: 16px !important;
  color: #fff !important;
}
#wake-fab:active {
  transform: scale(.96) !important;
}
#wake-fab.is-drag {
  transform: scale(1.05) !important;
  opacity: .94 !important;
}
#wake-fab i {
  display: none !important;
  width: 16px !important;
  height: 16px !important;
  color: #fff !important;
}
#wake-fab:active .fab-pad {
  transform: scale(.94);
}
#wake-fab em {
  font: 600 12.5px/1 var(--wk-font, -apple-system, sans-serif) !important;
  font-style: normal;
  white-space: nowrap;
  color: #22409e !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .2px;
  display: block !important;
}
#wake-fab::before {
  content: '';
  position: absolute;
  inset: -6px -4px -4px !important;
  z-index: -1;
  background: radial-gradient(56% 60% at 50% 56%, rgba(8,20,48,.42), rgba(8,20,48,.16) 62%, transparent 80%) !important;
  filter: blur(3px);
  pointer-events: none;
  display: none !important;
}
#wake-fab {
  position: fixed;
  z-index: 60;
  display: grid !important;
  gap: 0 !important;
  height: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none !important;
  touch-action: none;
  user-select: none;
  justify-content: flex-start !important;
  transition: transform .16s ease-out, left .18s ease-out;
  min-width: 0 !important;
  place-items: center !important;
  flex-direction: column !important;
  overflow: visible !important;
  width: 70px !important;
}
#wake-fab .fab-neon {
  height: auto !important;
  display: block;
  filter: drop-shadow(0 3px 10px rgba(10,16,36,.5));
  width: 70px !important;
}
#view .wapp-list__grp:first-child { padding-top: 4px; margin-top: -4px; }
#view .p-row {}
#view .p-row__t { font-size: 14px; font-weight: 500; }

/* v=788 我的页底部安全留白：不被系统栏 + 中央 + 遮挡 */
#view .hp-page[data-v="mine"], #view .wapp-body { padding-bottom: 96px; }

/* v=789 全局底部留白 68 → 88：修「我的」等长页面最后一行被底栏/中央 + 遮挡 */
#view { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important; }

/* ===== v=790 设置页样式优化 ===== */
#view .wapp-ssec { margin: 18px 0 6px !important; }
#view .wapp-ssec:first-child { margin-top: 6px !important; }
#view .wapp-ssec h2 { font-size: 13px !important; font-weight: 600 !important; color: var(--wk-ink-2) !important; }

#view .wapp-srow {
  min-height: 62px !important; padding: 10px 14px !important; gap: 11px !important;
  align-items: center !important; border-radius: 12px;
}
#view .wapp-srow:active { background: var(--wk-fill); }
#view .wapp-srow + .wapp-srow { box-shadow: inset 0 1px 0 var(--wk-line); }
#view .wapp-sico {
  flex: none; width: 32px; height: 32px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(53,99,224,.10); color: #3563e0;
}
#view .wapp-sico svg { width: 17px; height: 17px; }
#view .wapp-srow .wapp-row-t { font-size: 14.5px !important; font-weight: 500; color: var(--wk-ink); }
#view .wapp-srow .wapp-row-s { font-size: 11.5px !important; color: var(--wk-ink-3) !important; margin-top: 2px; }
#view .wapp-srow__v { max-width: 42%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
/* 设置页每行右侧的 chevron：`<i class="wapp-cell__arrow"></i>` 是个空标签，全站只有设置页在用，
   却没有任何图形（宽高 14 但背景/内容/边框都没有）→ 每一行都看不出能点。补一个 mask 形状箭头。 */
#view .wapp-cell__arrow:empty {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  color: var(--wk-ink-4);
  opacity: 1;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 5l7 7-7 7' stroke='black'/></svg>") center / 14px 14px no-repeat;
  mask: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 5l7 7-7 7' stroke='black'/></svg>") center / 14px 14px no-repeat;
}
/* 顶部个人卡：更大头像、更清晰的层级 */
#view .wapp-srow__av { flex: none; }
#view .wapp-srow__av .wk-avatar { width: 44px !important; height: 44px !important; }
/* 底部：退出按钮与版本号 */
#view .wapp-slogout {
  height: 44px !important; border-radius: 12px !important;
  color: #e5484d !important; background: rgba(229,72,77,.08) !important;
  box-shadow: inset 0 0 0 1px rgba(229,72,77,.18) !important; font-weight: 600 !important;
}
#view .wapp-sver { text-align: center; font-size: 11px; color: var(--wk-ink-4); padding: 14px 0 4px; }

/* v=792 设置页收尾：退出按钮留白 + 状态值弱化 */
#view .wapp-sfoot { margin-top: 22px !important; }
#view .wapp-srow__v { color: var(--wk-ink-4) !important; font-size: 12px !important; }

/* v=793 我的页排版：资质/组织上移、内容区折叠、区块标题统一 */
#view .wapp-mlist-toggle {
  width: 100%; height: 46px; display: flex; align-items: center; justify-content: center; gap: 4px;
  border: 0; background: transparent; color: var(--wk-accent); font-size: 12.5px; font-weight: 500;
  box-shadow: inset 0 1px 0 var(--wk-line);
}
#view .wapp-mlist-toggle:active { background: var(--wk-fill); }
#view .wapp-sec-hd { margin: 18px 0 8px !important; }
#view .wapp-sec-hd h2 { font-size: 14px !important; font-weight: 600 !important; color: var(--wk-ink) !important; }
#view .wapp-sec-hd a { font-size: 12px !important; color: var(--wk-ink-3) !important; }
#view .wapp-panel { border-radius: 14px !important; }
/* 我的页卡片间距节奏：同组紧、跨组松 */
#view .wapp-body > .wapp-panel { margin-bottom: 10px; }

/* v=794 修：滚动容器是 main（不是 #view），底部留白要打在 main 上；列表行改上下两行 */

#view .p-row { min-height: 58px !important; }
#view .p-row__bd { display: flex !important; flex-direction: column !important; gap: 2px !important; align-items: flex-start; }
#view .p-row__s { font-size: 11.5px !important; color: var(--wk-ink-3) !important; line-height: 15px; }
#view .p-row__t { line-height: 19px; }
#view .wapp-mlist-toggle .p-row__chev { transform: rotate(90deg); }
/* 游戏选择器（复用找大神样式，统一圆角与选中态） */
#view .wapp-gwrap { margin: 2px 0 6px; }
#view .wapp-gscroller { display: flex; padding-bottom: 2px}
#view .wapp-gpage {}







#view .wapp-gdots { display: flex; justify-content: center; gap: 5px}
#view .wapp-gdot { width: 5px; height: 5px; border-radius: 999px; border: 0; background: var(--wk-line); }
#view .wapp-gdot.is-on { width: 14px; background: #3563e0; }
/* 排序条 */
#view .wapp-hsort { display: flex; gap: 8px; overflow-x: auto; padding: 6px 0 12px; }
#view .wapp-hsort::-webkit-scrollbar { display: none; }
#view .wapp-hsort .wk-chip { flex: none; height: 28px; font-size: 12px; }
/* 双列服务卡 */
#view .wapp-hgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#view .wapp-hcard {
  display: flex; flex-direction: column; padding: 0; border: 0; text-align: left;
  background: var(--wk-card); border-radius: 14px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(17,20,25,.05); width: 100%;
}
#view .wapp-hcard:active { transform: scale(.985); }
#view .wapp-hcard__pic { display: block; width: 100%; overflow: hidden; background: var(--wk-fill)}
#view .wapp-hcard__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .wapp-hcard__bd { display: flex; flex-direction: column; gap: 4px; padding: 9px 10px 11px; }
#view .wapp-hcard__t {
  font-size: 13.5px; font-weight: 600; line-height: 18px; color: var(--wk-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
#view .wapp-hcard__s { font-size: 11px; color: var(--wk-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .wapp-hcard__ft { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; margin-top: 2px; }
#view .wapp-hcard .wapp-price b { font-size: 16px; font-weight: 700; color: #e5484d; }
#view .wapp-hcard .wapp-price i { font-size: 11px; color: #e5484d; }
#view .wapp-hcard .wapp-price em { font-size: 10px; color: var(--wk-ink-3); }
#view .wapp-hcard__u { font-style: normal; font-size: 10px; color: var(--wk-ink-4); }
#view .wapp-hmore { text-align: center}
#view .wapp-hmore span { font-size: 11.5px; color: var(--wk-ink-4); }

/* v=797 修：游戏名高度被压成 0（继承旧规则） */



/* v=798 下单大厅底部再留一点，最后一行卡片不被底栏切断 */
#view .wapp-hmore { padding: 20px 0 24px !important; }
#view main { padding-bottom: 112px !important; }

/* v=799 下单大厅游戏方格：与找大神一致，未开放的游戏置灰占位 */




/* v=800 方格对齐：4 格列宽与双列卡片同轴（间隙统一 12），「全部」图标也做成 44 方块 */






/* v=801 「全部」的九宫格图标也要落在 44 方块里 */



/* v=802 方格统一成「方块卡」：每格白底+1px 描边+内嵌 40 图标，尺寸完全一致 */












/* v=803 图标容器统一：底色/描边/圆角一致，字母占位也按图标规格做 */






/* v=804 方格细节对齐：选中态不撑大、图标视觉重量统一、文字基线统一 */







/* v=805 游戏图标改回铺满（原来 contain+白底把 logo 缩得很小） */


/* v=806 收尾：选中态只在同一内描边上换色，绝不改变盒子尺寸；长名省略号 */





/* v=807 方格改横向：图标在前、名字在后；未开放用虚线框 */









/* v=808 方格尺寸调整：一行 4 个、一页 2 行（共 8 个），横条更紧凑 */
#view .wapp-gpage { gap: 8px !important}

/* ===== v=814 交易行重做 ===== */
#view .wapp-tr-secs { display: flex; gap: 8px; overflow-x: auto; margin: 0; scrollbar-width: none }
#view .wapp-tr-secs::-webkit-scrollbar { display: none; }
#view .wapp-tr-sec {
  flex: none; display: inline-flex; align-items: center; gap: 6px; height: 34px;
  padding: 0 12px 0 6px; border-radius: 17px; border: 1px solid var(--wk-line);
  background: var(--wk-card); color: var(--wk-ink-2); font-size: 12px; font-weight: 500;
}
#view .wapp-tr-sec img { width: 22px; height: 22px; border-radius: 6px; object-fit: cover; }

#view .wapp-tr-sec.is-on { border-color: #3563e0; background: rgba(53,99,224,.06); color: #3563e0; font-weight: 600; }

/* 数据看板 */
#view .wapp-tr-dash { background: var(--wk-card)}
#view .wapp-tr-dash__hd {}


#view .wapp-tr-dash__main { flex-wrap: wrap }
#view .wapp-tr-dash__num {
  font-variant-numeric: tabular-nums; color: var(--wk-ink)
}


#view .wapp-tr-dash__delta.is-up { background: rgba(229,72,77,.10) }
#view .wapp-tr-dash__delta.is-down { background: rgba(22,163,74,.10) }
#view .wapp-tr-dash__spark {}

/* 分类 chips */
#view .wapp-tr-cats { display: flex; gap: 6px; overflow-x: auto; padding: 0 0 10px; scrollbar-width: none; }
#view .wapp-tr-cats::-webkit-scrollbar { display: none; }
#view .wapp-tr-cats .wk-chip { flex: none; height: 26px; padding: 0 11px; font-size: 11.5px; }

/* 段落标题 */
#view .wapp-tr-listhd { display: flex; align-items: center; justify-content: space-between; padding: 8px 2px 8px; }
#view .wapp-tr-listhd > span:first-child { font-size: 13px; font-weight: 600; color: var(--wk-ink); }
#view .wapp-tr-more { font-size: 11px; color: var(--wk-ink-4); }

/* 挂牌列表 */
#view .wapp-tr-items { background: var(--wk-card); border-radius: 14px; box-shadow: inset 0 0 0 1px var(--wk-line); overflow: hidden; }
#view .wapp-tr-it {
  width: 100%; display: flex; align-items: center; gap: 10px; text-align: left;
  padding: 12px 12px; background: none; border: 0; border-bottom: 1px solid var(--wk-line);
}
#view .wapp-tr-it:last-child { border-bottom: 0; }
#view .wapp-tr-it:active { background: var(--wk-fill); }
#view .wapp-tr-it__l { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
#view .wapp-tr-it__t { font-size: 13.5px; font-weight: 600; color: var(--wk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .wapp-tr-it__m { font-size: 11px; color: var(--wk-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; gap: 5px; align-items: center; }
#view .wapp-tr-it__r { flex: none; text-align: right; display: flex; flex-direction: column; gap: 2px; }
#view .wapp-tr-it__r b { font-weight: 700; color: #c4251a; font-variant-numeric: tabular-nums }
#view .wapp-tr-it__r b i { font-style: normal; font-size: 10px; font-weight: 500; color: var(--wk-ink-4); }
#view .wapp-tr-it__r span { font-size: 10.5px; color: var(--wk-ink-4); }

/* 成交列表 */
#view .wapp-tr-tds { background: var(--wk-card); border-radius: 14px; box-shadow: inset 0 0 0 1px var(--wk-line); overflow: hidden; }
#view .wapp-tr-td { display: flex; align-items: baseline; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--wk-line); }
#view .wapp-tr-td:last-child { border-bottom: 0; }
#view .wapp-tr-td__c { font-size: 13px; font-weight: 600; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .wapp-tr-td__p { font-size: 13px; font-weight: 700; color: #c4251a; font-variant-numeric: tabular-nums; }
#view .wapp-tr-td__u { font-size: 10.5px; color: var(--wk-ink-4) }
#view .wapp-tr-td__t { font-size: 10.5px; color: var(--wk-ink-4); font-variant-numeric: tabular-nums; }
#view .wapp-tr-empty { padding: 18px 12px; text-align: center; font-size: 11.5px; color: var(--wk-ink-4); background: var(--wk-card); border-radius: 14px; box-shadow: inset 0 0 0 1px var(--wk-line); }
#view .wapp-tr-tag { font-style: normal; font-size: 9.5px; padding: 1px 5px; border-radius: 4px; background: var(--wk-fill); color: var(--wk-ink-3); }
#view .wapp-tr-tag.is-good { background: rgba(22,163,74,.10); color: #0b7a34; }

/* v=815 挂牌价格主次 + 押金标签 */
#view .wapp-tr-it__r b { font-size: 15px; }
#view .wapp-tr-dep {
  font-style: normal; font-size: 9.5px; padding: 1px 5px; border-radius: 4px;
  background: rgba(245,165,36,.14); color: #8a5a00; font-weight: 600;
}

/* v=816 单价标签 + 成交价差提示 */
#view .wapp-tr-unit {
  font-style: normal; font-size: 9.5px; padding: 1px 5px; border-radius: 4px;
  background: var(--wk-fill); color: var(--wk-ink-3); font-variant-numeric: tabular-nums;
}
#view .wapp-tr-td__d { font-style: normal; font-size: 9.5px; padding: 1px 5px; border-radius: 4px; }
#view .wapp-tr-td__d.is-hi { background: rgba(229,72,77,.10); color: #c4251a; }
#view .wapp-tr-td__d.is-lo { background: rgba(22,163,74,.10); color: #0b7a34; }
#view .wapp-tr-td__u { flex: 0 0 auto; }
#view .wapp-tr-td__t { margin-left: auto; }

/* v=818 交易行顺序：实时比例在上、选择游戏在下 */
#view .wapp-tr-dash {}
#view .wapp-tr-secs { padding: 0 0 10px; }

/* v=819 涨跌幅异常（>500%）时不显示假数字 */
#view .wapp-tr-dash__delta.is-na { color: var(--wk-ink-3); background: var(--wk-fill); font-weight: 500; }

/* v=820 实时比例卡升级为股票式面板（更高、带网格与面积） */




#view .wapp-tr-dash__spark { margin: 0 }
#view .wapp-tr-rc.is-empty { font-size: 10.5px; color: var(--wk-ink-4); border-top: 0; }

/* ===== v=831 实时比例板块整体优化 ===== */


#view .wapp-tr-dash__label { font-size: 12.5px; display: inline-flex; align-items: center; gap: 5px }
#view .wapp-tr-dash__badge { font-style: normal; line-height: 14px; border-radius: 4px; background: rgba(53,99,224,.10); color: #3563e0; font-weight: 600; letter-spacing: .2px }
#view .wapp-tr-dash__badge.is-sim { background: rgba(217,119,6,.12); color: #8a5a00; }
#view .wapp-tr-dash__num {}
#view .wapp-tr-dash__unit { font-size: 11.5px }
#view .wapp-tr-chart {}
#view .wapp-tr-dash__spark { overflow: visible }
#view .wapp-tr-dash__delta { background: var(--wk-fill) }

/* v=834 行情时间改相对时间，陈旧数据标警示色 */
#view .wapp-tr-dash__time.is-stale { border-radius: 4px}

/* v=835 去掉「数据较旧」橙色标识，时间保持纯灰文字 */
#view .wapp-tr-dash__time.is-stale { color: var(--wk-ink-4) !important; background: none !important; padding: 0 !important; font-weight: 400 !important; }

/* ===== v=837 交易行情：标题/游戏名/历史行情入口 ===== */
#view .wapp-tr-dash__hd { align-items: center }

#view .wapp-tr-dash__sub {
  margin-bottom: 6px; display: flex; align-items: center; gap: 4px
}
#view .wapp-tr-dash__sub em { color: var(--wk-ink-4) }

/* 历史行情页 */
#view .wapp-th-hd { display: flex; align-items: flex-start; justify-content: space-between; padding: 4px 2px 10px; }
#view .wapp-th-hd b { font-size: 15px; font-weight: 700; color: var(--wk-ink); display: block; }
#view .wapp-th-hd span { font-size: 11px; color: var(--wk-ink-4); }
#view .wapp-th-now { text-align: right; }
#view .wapp-th-now b { font-size: 20px; font-variant-numeric: tabular-nums; }
#view .wapp-th-chart { background: var(--wk-card); border-radius: 14px; padding: 10px 8px 6px; box-shadow: inset 0 0 0 1px var(--wk-line); }
#view .wapp-th-chart svg { width: 100%; height: 176px; display: block; }
#view .wapp-th-axis { display: flex; justify-content: space-between; font-size: 9.5px; color: var(--wk-ink-4); padding: 2px 4px 0; font-variant-numeric: tabular-nums; }
#view .wapp-th-cap { font-size: 10px; color: var(--wk-ink-4); padding: 8px 2px 6px; }
#view .wapp-th-list { background: var(--wk-card); border-radius: 14px; box-shadow: inset 0 0 0 1px var(--wk-line); overflow: hidden; }
#view .wapp-th-row { display: flex; align-items: baseline; gap: 8px; padding: 9px 12px; border-bottom: 1px solid var(--wk-line); }
#view .wapp-th-row:last-child { border-bottom: 0; }
#view .wapp-th-t { font-size: 11.5px; color: var(--wk-ink-2); font-variant-numeric: tabular-nums; width: 74px; flex: none; }
#view .wapp-th-s { font-size: 10px; color: var(--wk-ink-4); flex: 1 1 auto; }
#view .wapp-th-v { font-size: 13px; font-weight: 600; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .wapp-th-c { font-style: normal; font-size: 10px; width: 52px; text-align: right; color: var(--wk-ink-4); font-variant-numeric: tabular-nums; }
#view .wapp-th-c.is-up { color: #c4251a; }
#view .wapp-th-c.is-down { color: #0b7a34; }
#view .wapp-th-empty { padding: 20px 14px; text-align: center; font-size: 11.5px; color: var(--wk-ink-4); background: var(--wk-card); border-radius: 14px; box-shadow: inset 0 0 0 1px var(--wk-line); }

/* v=840 十字线 + 时间轴 */
#view .wapp-tr-chart { position: relative; touch-action: pan-y; }
#view .wapp-tr-cross { position: absolute; inset: 0; pointer-events: none; }
#view .wapp-tr-cross__line {
  position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(20,24,33,.30);
  transform: translateX(-.5px); transition: left .06s linear;
}
#view .wapp-tr-cross__dot {
  position: absolute; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; border-radius: 50%;
  background: #fff; border: 2px solid #3563e0; transition: left .06s linear, top .06s linear;
}
#view .wapp-tr-cross__tip {
  position: absolute; top: -2px; font-size: 9.5px; font-weight: 600; white-space: nowrap;
  background: rgba(20,24,33,.86); color: #fff; padding: 2px 6px; border-radius: 5px;
  font-variant-numeric: tabular-nums;
}
#view .wapp-tr-axis { font-variant-numeric: tabular-nums }

/* v=841 交易行情贴边通栏 + 去掉顶部空白 */
#view .wapp-tr-dash { margin: 0 -14px 10px; border-radius: 0; box-shadow: none; border-bottom: 1px solid var(--wk-line); position: relative }
#view .wapp-tr-dash > svg { position: absolute; width: 0; height: 0; overflow: hidden; } /* defs 用的 0 尺寸 svg 不再占行高 */
#view .wapp-tr-dash__hd { margin: 0 0 1px; }


#view .wapp-tr-chart { margin: 6px 0 0; }
#view .wapp-tr-morebtn { border-radius: 9px; font-weight: 500 }
#view .wapp-tr-morebtn:active { background: var(--wk-line); }

/* v=844 再收一点高度 */



#view .wapp-tr-morebtn { height: 28px }
#view .wapp-tr-strip__it.is-empty { font-size: 10.5px; color: var(--wk-ink-4); }
#view .wapp-tr-strip.is-open { height: auto !important; max-height: 62px; }
#view .wapp-tr-strip.is-open .wapp-tr-strip__items { flex-wrap: wrap !important; height: auto; align-items: center; }

/* ===== v=851 按参考图重排：大字报价 + 大曲线 + 三列数据条 ===== */
#view .wapp-tr-dash__hd { justify-content: space-between }
#view .wapp-tr-dash__label { font-weight: 600; color: var(--wk-ink-2); letter-spacing: 0}
#view .wapp-tr-dash__badge { font-size: 9px; padding: 1px 5px; margin-left: 5px; }
#view .wapp-tr-dash__sub { color: var(--wk-ink-4) }
#view .wapp-tr-dash__sub em { font-style: normal; margin: 0 4px; opacity: .6; }
#view .wapp-tr-dash__main { display: flex; align-items: baseline; gap: 6px; margin: 2px 0 0; }
#view .wapp-tr-dash__num { font-weight: 700 }
#view .wapp-tr-dash__unit { color: var(--wk-ink-4); margin-left: 1px}
#view .wapp-tr-dash__delta { margin-left: auto; font-size: 12px; font-weight: 600; font-style: normal;
  padding: 3px 8px; border-radius: 6px; border: 1px solid var(--wk-line); color: var(--wk-ink-2); }
#view .wapp-tr-dash__delta.is-up { color: #c4251a; border-color: rgba(229,72,77,.35); }
#view .wapp-tr-dash__delta.is-down { color: #0b7a34; border-color: rgba(22,163,74,.35); }

#view .wapp-tr-dash__spark { width: 100%; display: block }
#view .wapp-tr-axis {
  display: flex; justify-content: space-between; color: var(--wk-ink-4)
}
#view .wapp-tr-sum__c:first-child { padding-left: 0; }
#view .wapp-tr-sum__c + .wapp-tr-sum__c:before {
  content: ''; position: absolute; left: 0; top: 2px; bottom: 2px; width: 1px; background: var(--wk-line);
}
#view .wapp-tr-tlist { margin-top: 8px; border-top: 1px dashed var(--wk-line); padding-top: 6px; }
#view .wapp-tr-tlist__r { display: grid; grid-template-columns: 46px 1fr 96px; align-items: center; height: 20px; font-size: 10.5px; color: var(--wk-ink-3); }
#view .wapp-tr-tlist__r b { font-weight: 600; color: var(--wk-ink-2); }
#view .wapp-tr-tlist__r em { font-style: normal; font-weight: 700; color: #c4251a; text-align: right; }
#view .wapp-tr-tlist__r.is-empty { display: block; text-align: center; color: var(--wk-ink-4); }
/* 旧结构隐藏 */
#view .wapp-tr-dash__ft, #view .wapp-tr-strip, #view .wapp-tr-kv, #view .wapp-tr-morebtn,
#view .wapp-tr-chart__cap, #view .wapp-tr-chart__hi, #view .wapp-tr-chart__lo { display: none; }

/* ===== v=852 对齐百度股市通分时样式 ===== */
#view .wapp-tr-tabs { display: flex; gap: 6px}
#view .wapp-tr-tabs button {
  border: 0; background: none; font-family: inherit; color: var(--wk-ink-3)
}
#view .wapp-tr-tabs button.is-on { background: rgba(53,99,224,.10); color: #3563e0; font-weight: 600; }
#view .wapp-tr-grid {
  display: grid
}
#view .wapp-tr-grid__c { display: flex; flex-direction: column; gap: 1px }
#view .wapp-tr-grid__c i {
  font-style: normal; color: var(--wk-ink-4)
}
#view .wapp-tr-grid__c b {
  font-weight: 600; color: var(--wk-ink); font-variant-numeric: tabular-nums
}
#view .wapp-tr-grid__c b.is-up { color: #c4251a; }
#view .wapp-tr-grid__c b.is-down { color: #0b7a34; }
#view .wapp-tr-morebtn { width: 100%; border: 0; border-top: 1px solid var(--wk-line); background: none; font-family: inherit; color: var(--wk-ink-3); text-align: right
}

#view .wapp-tr-axis {}

/* v=853 修复：历史行情按钮回归 + 端点 */
#view .wapp-tr-morebtn { display: block !important; }

/* v=854 涨跌胶囊成组 */
#view .wapp-tr-dash__delta em { font-style: normal; font-size: 11px; margin-left: 5px; opacity: .85; }
#view .wapp-tr-dash__hd { min-height: 16px; }

/* ===== v=856 热门行情讨论 ===== */
#view .wapp-tr-disc { background: #fff; margin: 0 -14px 10px; border-radius: 0}
#view .wapp-tr-disc__hd { display: flex; justify-content: space-between}
#view .wapp-tr-disc__hd b { font-weight: 700; color: var(--wk-ink)}
#view .wapp-tr-disc__hd span { font-size: 10px; color: var(--wk-ink-4); }
#view .wapp-tr-senti { position: relative; }
#view .wapp-tr-senti__b + .wapp-tr-senti__b { margin-left: 8px; }
#view .wapp-tr-senti__b i.up { color: #e5484d; }
#view .wapp-tr-senti__b i.down { color: #16a34a; }
#view .wapp-tr-senti__b.is-on { border-color: rgba(229,72,77,.5); background: rgba(229,72,77,.06); }
#view .wapp-tr-senti__b.is-bear.is-on { border-color: rgba(22,163,74,.5); background: rgba(22,163,74,.06); }
#view .wapp-tr-senti__bar i.up { background: #e5484d; }
#view .wapp-tr-senti__bar i.down { background: #16a34a; }
#view .wapp-tr-disc__list {}
#view .wapp-tr-dc {
  display: flex; border-top: 1px solid var(--wk-line)
}
#view .wapp-tr-dc:first-child { border-top: 0; }
#view .wapp-tr-dc img, #view .wapp-tr-dc__ava {
  flex: none; object-fit: cover; background: var(--wk-fill); display: flex; align-items: center; justify-content: center; font-weight: 600; color: var(--wk-ink-3); font-style: normal
}
#view .wapp-tr-dc__m { flex: 1 1 auto; min-width: 0; }
#view .wapp-tr-dc__t { display: flex; align-items: baseline; gap: 6px; }
#view .wapp-tr-dc__t b {
  font-weight: 600; color: var(--wk-ink-2)
}
#view .wapp-tr-dc__t span {
  color: var(--wk-ink-4)
}
#view .wapp-tr-dc__m p {
  margin: 3px 0 0; word-break: break-word
}
#view .wapp-tr-dc.is-empty {
  justify-content: center; color: var(--wk-ink-4)
}
#view .wapp-tr-say { display: flex}
#view .wapp-tr-say input {
  flex: 1 1 auto; min-width: 0; border: 1px solid var(--wk-line); background: var(--wk-fill); font-family: inherit; color: var(--wk-ink)
}
#view .wapp-tr-say input::placeholder { color: var(--wk-ink-4); }
#view .wapp-tr-say button {
  flex: none; border: 0; background: #3563e0; color: #fff; font-family: inherit; font-weight: 600
}

/* v=857 投票并排 + 标题基线 */
#view .wapp-tr-disc__hd { align-items: center; }
#view .wapp-tr-senti { flex-wrap: wrap }

/* v=858 投票与比例条合并为一条 */
#view .wapp-tr-senti { display: flex; overflow: hidden}
#view .wapp-tr-senti__s {
  display: flex; justify-content: center; border: 0; min-width: 0; text-align: left; font-family: inherit; transition: background .15s
}
#view .wapp-tr-senti__s.is-bull { background: rgba(229,72,77,.10); }
#view .wapp-tr-senti__s.is-bear { background: rgba(22,163,74,.10); align-items: flex-end; text-align: right; }
#view .wapp-tr-senti__s b {
  font-weight: 700; white-space: nowrap
}
#view .wapp-tr-senti__s.is-bull b { color: #c4251a; }
#view .wapp-tr-senti__s.is-bear b { color: #0b7a34; }
#view .wapp-tr-senti__s span { white-space: nowrap
}
#view .wapp-tr-senti__s.is-on {}
#view .wapp-tr-senti__s.is-bull.is-on {}
#view .wapp-tr-senti__s.is-bear.is-on {}

/* ===== v=859 整体压缩间距 ===== */
#view .wapp-tr-dash { padding: 8px 14px 6px; }

#view .wapp-tr-dash__num { letter-spacing: -1.1px }
#view .wapp-tr-dash__main { margin-top: 0; }

#view .wapp-tr-chart { margin-top: 3px; }
#view .wapp-tr-axis { padding: 1px 2px 0; font-size: 9px; }
#view .wapp-tr-tabs { margin: 4px 0 0; }

#view .wapp-tr-grid { margin: 6px 0 0 }
#view .wapp-tr-morebtn { padding: 6px 0 0 }
/* 讨论区 */
#view .wapp-tr-disc { margin-bottom: 8px }






#view .wapp-tr-say input {}
#view .wapp-tr-say button {}

/* v=860 再压：标题与副标题同行、图再矮、网格更紧 */
#view .wapp-tr-dash__hd { display: flex; gap: 8px; margin-bottom: 0}
#view .wapp-tr-dash__sub { font-size: 10.5px; margin: 0; opacity: .85; }

#view .wapp-tr-dash__num { font-size: 29px; line-height: 33px; }
#view .wapp-tr-dash__main { height: 34px; }
#view .wapp-tr-tabs { margin-top: 3px; }
#view .wapp-tr-tabs button { padding: 2px 8px; font-size: 11px; border-radius: 11px; }



#view .wapp-tr-morebtn { margin-top: 4px; padding-top: 5px; font-size: 11px; }

/* v=863 六项数据排成一排 + 图表恢复高度 */
#view .wapp-tr-dash__spark { height: 132px; }
#view .wapp-tr-grid { grid-template-columns: repeat(6, 1fr); row-gap: 0; column-gap: 4px; margin-top: 6px; }
#view .wapp-tr-grid__c { min-width: 0; }
#view .wapp-tr-grid__c i { font-size: 8.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .wapp-tr-grid__c b { font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* v=864 比例条去圆角 + 交界斜切 */
#view .wapp-tr-senti { border-radius: 0; gap: 0; background: #fff }
#view .wapp-tr-senti__s { border-radius: 0; }
#view .wapp-tr-senti__s.is-bull { clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
#view .wapp-tr-senti__s.is-bear { clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%); }
#view .wapp-tr-senti__s.is-on { box-shadow: none; }
#view .wapp-tr-senti__s.is-on b {
  text-decoration-thickness: 2px; text-underline-offset: 3px
}

/* v=865 讨论区压缩 */

#view .wapp-tr-disc__hd { margin-bottom: 6px; }





#view .wapp-tr-disc__list { margin-top: 5px; }
#view .wapp-tr-dc { gap: 8px }



#view .wapp-tr-dc__m p { margin-top: 2px }
#view .wapp-tr-dc.is-empty { padding: 10px 0 !important; font-size: 11.5px !important; }

#view .wapp-tr-say input, #view .wapp-tr-say button { height: 32px; }

/* v=866 讨论区再压：单条评论 */
#view .wapp-tr-disc { padding: 8px 14px 7px; }
#view .wapp-tr-dc { padding: 5px 0; }



/* v=867 人数提高对比度 */
#view .wapp-tr-senti__s span { color: #5f6673 }

/* v=868 比例条单行 */
#view .wapp-tr-senti { height: 30px; }
#view .wapp-tr-senti__s { flex-direction: row; align-items: center !important; gap: 5px; padding: 0 10px; }
#view .wapp-tr-senti__s.is-bear { justify-content: flex-end; }
#view .wapp-tr-senti__s b { font-size: 12px; }
#view .wapp-tr-senti__s span { font-size: 10px; }

/* v=869 比例条图标 + 取消下划线 */
#view .wapp-tr-senti__s b { display: inline-flex; align-items: center; gap: 4px; text-decoration: none; }
#view .wapp-tr-senti__s b span { font-size: inherit !important; color: inherit !important; }
#view .wapp-tr-senti__ico { width: 10px; height: 10px; flex: none; display: block; transform: translateY(.5px); }
#view .wapp-tr-senti__s.is-on b { text-decoration: none; }
#view .wapp-tr-senti__s.is-bull.is-on { background: rgba(229,72,77,.17) !important; box-shadow: inset 0 -2px 0 #e5484d !important; }
#view .wapp-tr-senti__s.is-bear.is-on { background: rgba(22,163,74,.17); box-shadow: inset 0 -2px 0 #16a34a !important; }

/* v=870 标题右侧「看更多讨论」 */
#view .wapp-tr-disc__more {
  border: 0; background: none; padding: 0; font-family: inherit;
  font-size: 11px; color: var(--wk-ink-3); display: inline-flex; align-items: center; gap: 2px;
}
#view .wapp-tr-disc__more em { font-style: normal; font-size: 9.5px; opacity: .7; }

/* v=871 热门讨论 + 火图标，评论内容缩小 */
#view .wapp-tr-disc__hd b { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
#view .wapp-tr-fire { width: 13px; height: 13px; color: #f4511e; flex: none; }
#view .wapp-tr-dc__m p { font-size: 11.5px; line-height: 15px; color: var(--wk-ink-2); }
#view .wapp-tr-dc__t b { font-size: 11px; }
#view .wapp-tr-dc__t span { font-size: 9px; }
#view .wapp-tr-dc img, #view .wapp-tr-dc__ava { width: 22px; height: 22px; border-radius: 11px; font-size: 10px; }

/* v=872 输入框/按钮压扁 */
#view .wapp-tr-say { margin-top: 5px; gap: 6px; }
#view .wapp-tr-say input { height: 28px !important; font-size: 12px; padding: 0 11px; border-radius: 14px; }
#view .wapp-tr-say button { height: 28px !important; font-size: 12px; padding: 0 12px; border-radius: 14px; }

/* ===== v=875 讨论：点赞/回复/举报/盖楼 ===== */
#view .wapp-tr-dc__act { display: flex; align-items: center; gap: 14px; margin-top: 4px; }
#view .wapp-tr-dc__b {
  border: 0; background: none; padding: 0; font-family: inherit; cursor: pointer;
  display: inline-flex; align-items: center; gap: 3px; font-size: 10.5px; color: var(--wk-ink-4);
}
#view .wapp-tr-dc__b svg { width: 12px; height: 12px; }
#view .wapp-tr-dc__b em { font-style: normal; }
#view .wapp-tr-dc__b.is-on { color: #c4251a; }
#view .wapp-tr-dc__b.is-on svg { fill: rgba(229,72,77,.15); }
#view .wapp-tr-dc__more2 { border: 0; background: none; padding: 0; font-family: inherit; font-size: 10.5px; color: #3563e0; }
#view .wapp-tr-dc__replies { margin-top: 6px; padding: 7px 9px; background: var(--wk-fill); border-radius: 8px; }
#view .wapp-tr-drwrap { display: flex; gap: 6px; margin-bottom: 6px; }
#view .wapp-tr-drwrap input { flex: 1 1 auto; min-width: 0; height: 26px; border: 1px solid var(--wk-line); background: #fff; border-radius: 13px; padding: 0 10px; font-family: inherit; font-size: 11.5px; }
#view .wapp-tr-drwrap button { flex: none; height: 26px; padding: 0 11px; border: 0; border-radius: 13px; background: #3563e0; color: #fff; font-family: inherit; font-size: 11.5px; }
#view .wapp-tr-rp { display: flex; align-items: baseline; gap: 5px; padding: 3px 0; font-size: 11.5px; line-height: 16px; }
#view .wapp-tr-rp b { flex: none; font-weight: 600; color: var(--wk-ink-2); }
#view .wapp-tr-rp span { flex: 1 1 auto; color: var(--wk-ink); }
#view .wapp-tr-rp em { flex: none; font-style: normal; font-size: 9.5px; color: var(--wk-ink-4); }
#view .wapp-tr-rp.is-empty { color: var(--wk-ink-4); }

/* ══ v=876 我的页：封面通栏无白边 / 头像框套正 / 去头像下白底 ══ */







#view .wk-avatar-fr {
  max-width: none !important; max-height: none !important;
  width: calc(100% / var(--av-hole, .615)) !important;
  height: calc(100% / var(--av-hole, .615)) !important;
  left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important;
  object-fit: contain !important; border-radius: 0 !important; overflow: visible !important;
}



/* ══ v=877 我的页封面：底部渐变改为纯白收口（原来用 92% 卡色半透明，压在深色图上发灰发脏）══ */


/* ══ v=878 首页「选择游戏」：与下单大厅同款方格，单行横滑 ══ */
#view .hp-grow {
  display: flex; align-items: center; gap: 8px;
  padding: 2px 0 6px; margin: 0;
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
#view .hp-grow::-webkit-scrollbar { display: none; }

#view .wapp-game img, #view .wapp-game .wapp-gamegl {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  object-fit: cover;
  background: var(--wk-fill);
  display: grid;
  place-items: center;
  font-size: 15px;
  font-weight: 700;
  color: var(--wk-ink-3);
}
#view .wapp-game svg {
  width: 22px;
  height: 22px;
  color: var(--wk-ink-3);
}
#view .wapp-game.is-on img, #view .wapp-game.is-on .wapp-gamegl {
  box-shadow: 0 0 0 2px #3563e0, 0 4px 12px -4px rgba(53,99,224,.5);
}
#view .wapp-game.is-on svg {
  color: #3563e0;
}
#view .wapp-game.is-soon .wapp-gamegl {
  background: var(--wk-fill) !important;
  color: var(--wk-ink-4) !important;
}
#view .wapp-game > img, #view .wapp-game > svg, #view .wapp-game > i.wapp-gamegl {
  border-radius: 13px !important; box-sizing: border-box; display: grid !important; place-items: center !important; background: var(--wk-fill); object-fit: cover
}
#view .wapp-game > svg {
  padding: 11px;
  width: 44px !important;
  height: 44px !important;
}
#view .wapp-game > i.wapp-i {
  display: grid; place-items: center !important; box-sizing: border-box}
#view .wapp-game > i.wapp-gamegl {
  font-weight: 700; box-shadow: inset 0 0 0 1px rgba(53,99,224,.16); background: rgba(53,99,224,.08) !important; color: #3563e0 !important; text-align: center; letter-spacing: 0
}
#view .wapp-game.is-on span {
  color: #3563e0 !important;
  font-weight: 600 !important;
}
#view .wapp-game.is-soon span {
  color: var(--wk-ink-3) !important;
}
#view .wapp-game > img {
  padding: 0 !important;
  object-fit: cover !important;
  background: var(--wk-fill) !important;
  box-shadow: inset 0 0 0 1px var(--wk-line);
}
#view .wapp-game:not(.is-on) {
  box-shadow: inset 0 0 0 1px var(--wk-line) !important;
}
#view .wapp-game.is-on {
  border-color: #3563e0 !important;
  background: rgba(53,99,224,.05) !important;
  box-shadow: none;
}
#view .wapp-game.is-soon {
  opacity: 1;
  border-style: dashed !important;
  border-color: #b9c0cf !important;
}
#view .wapp-game.is-soon > i.wapp-gamegl {
  box-shadow: none !important;
  background: transparent !important;
  color: var(--wk-ink-3) !important;
}
#view .wapp-game > img, #view .wapp-game > i.wapp-i, #view .wapp-game > i.wapp-gamegl {
  flex: none;
  width: 24px;
  height: 24px;
  border-radius: 7px !important;
  font-size: 12px;
  line-height: 24px;
}
#view .wapp-game > i.wapp-i svg {
  padding: 0 !important; background: transparent !important
}
#view .wapp-game {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px !important;
  padding: 0 6px !important;
  border: 1px solid var(--wk-line) !important;
  background: var(--wk-card) !important;
  border-radius: 10px !important;
  justify-content: center !important;
  box-shadow: none !important;
  height: 40px;
}
#view .wapp-game span {
  font-size: 10px !important;
  color: var(--wk-ink-2) !important;
  max-width: 100% !important;
  display: block !important;
  height: 15px;
  min-height: 15px;
  width: 100%;
  text-align: left !important;
  line-height: 14px !important;
  font-weight: 500 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  letter-spacing: -.1px;
}
#view .wapp-tr-sec .wapp-gamegl--sm {
  width: 22px;
  height: 22px;
  line-height: 22px;
  border-radius: 6px;
  font-size: 11px;
}
#view .hp-grow .wapp-game {
  /* 首页这排只有 3 个胶囊，按内容自适应宽度即可（原来均分 95px，
     「暗区突围无限」59px 塞不进 52px，只能靠删字）。 */
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  max-width: none;
  height: 40px;
  scroll-snap-align: start;
  box-sizing: border-box;
}
#view .hp-grow .wapp-game span {
  white-space: nowrap;
}


/* ══ v=881 背景图大图查看器（横滑 / 设为封面 / 调整位置 / 上传 / 删除）══ */
.wapp-cvw { position: fixed; inset: 0; z-index: 980; background: #0b0d12; display: flex; flex-direction: column; }
.wapp-cvw__top { position: absolute; left: 0; right: 0; top: 0; height: 46px; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 13px; padding: 0 12px; z-index: 3; }
.wapp-cvw__x { position: absolute; right: 8px; top: 6px; width: 34px; height: 34px; border: 0; background: none; color: #fff; font-size: 17px; line-height: 34px; }
.wapp-cvw__vp { flex: 1 1 auto; overflow: hidden; display: flex; align-items: center; }
.wapp-cvw__track { display: flex; width: 100%; height: 100%; transition: transform .22s ease; }
.wapp-cvw__slide { flex: 0 0 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.wapp-cvw__slide img { max-width: 100%; max-height: 100%; object-fit: contain; }
.wapp-cvw__bar { flex: none; display: flex; align-items: center; justify-content: space-around; padding: 10px 8px calc(12px + env(safe-area-inset-bottom)); background: rgba(0,0,0,.55); }
.wapp-cvw__bar button { border: 0; background: none; color: #fff; display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 11px; font-family: inherit; }
.wapp-cvw__bar button svg { width: 21px; height: 21px; }
.wapp-cvw__bar em { font-style: normal; }
.wapp-cvw__adj { flex: none; padding: 12px 14px calc(14px + env(safe-area-inset-bottom)); background: rgba(0,0,0,.6); }
.wapp-cvw__prev { height: 132px; border-radius: 10px; background-size: cover; background-repeat: no-repeat; background-position: center 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); touch-action: none; }
.wapp-cvw__adj p { color: rgba(255,255,255,.72); font-size: 11px; text-align: center; margin: 8px 0 10px; }
.wapp-cvw__adjbtns { display: flex; gap: 10px; }
.wapp-cvw__adjbtns button { flex: 1 1 0; height: 38px; border-radius: 19px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; font-family: inherit; font-size: 13px; }
.wapp-cvw__adjbtns button.is-main { border-color: transparent; background: #3563e0; }
#view .wapp-sec-hd a[data-act="minemore"] { font-size: 12px; color: var(--wk-ink-3); }

/* ══ v=893 服务详情页：淘宝式四 Tab（服务/评价/详情/推荐）+ 大图 + 价格标题 + 底部操作栏 ══ */
#view .wapp-pd-hero { position: relative; background: var(--wk-fill); overflow: hidden }
#view .wapp-pd-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .wapp-pd-hero__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 44px; color: var(--wk-ink-4); }
#view .wapp-pd-hero__n { position: absolute; right: 10px; height: 20px; padding: 0 8px; border-radius: 10px; background: rgba(0,0,0,.45); color: #fff; font-size: 11px; line-height: 20px }
#view .wapp-pd-tabs { position: sticky; top: 0; z-index: 6; display: flex; background: var(--wk-card); border-bottom: 1px solid var(--wk-line); }
#view .wapp-pd-tab { flex: 1 1 0; height: 42px; border: 0; background: none; font-family: inherit; font-size: 13.5px; color: var(--wk-ink-3); position: relative; }
#view .wapp-pd-tab.is-on { color: var(--wk-ink); font-weight: 700; }
#view .wapp-pd-tab.is-on::after { content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 22px; height: 2.5px; border-radius: 2px; background: #3563e0; }
#view .wapp-pd-info h3 { font-size: 13.5px; font-weight: 600; color: var(--wk-ink); margin: 16px 0 8px; }
#view .wapp-pd-info h3:first-child { margin-top: 0; }
#view .wapp-pd-info p { font-size: 13px; line-height: 21px; color: var(--wk-ink-2); margin: 0; }
#view .wapp-pd-steps, #view .wapp-pd-rule { margin: 0; padding-left: 18px; }
#view .wapp-pd-steps li, #view .wapp-pd-rule li { font-size: 12.5px; line-height: 20px; color: var(--wk-ink-2); margin-bottom: 6px; }
#view .wapp-pd-rec { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 14px 0; }
#view .wapp-pd-reccard { border: 0; background: var(--wk-card); border-radius: 10px; overflow: hidden; text-align: left; padding: 0 0 10px; font-family: inherit; }
#view .wapp-pd-reccard__pic { width: 100%; aspect-ratio: 1 / 1; background: var(--wk-fill) }
#view .wapp-pd-reccard__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .wapp-pd-reccard__t { display: block; padding: 8px 8px 0; font-size: 12.5px; line-height: 17px; color: var(--wk-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#view .wapp-pd-reccard__p { display: block; padding: 4px 8px 0 }
#view .wapp-pd-empty { grid-column: 1 / -1; text-align: center; color: var(--wk-ink-4); font-size: 12.5px; padding: 26px 0; }
#view .wapp-buybar--pd { gap: 10px; align-items: center; }
#view .wapp-buybar__ico { flex: none; display: flex; flex-direction: column; align-items: center; gap: 2px; border: 0; background: none; font-family: inherit; color: var(--wk-ink-3); font-size: 10px; padding: 0 2px; }
#view .wapp-buybar__ico svg { width: 20px; height: 20px; }
#view .wapp-buybar__ico em { font-style: normal; }
#view .wapp-buybar__ico.is-on { color: #e5484d; }
#view .wapp-buybar__ico.is-on svg { fill: rgba(229,72,77,.16); }

/* v=894 服务详情：价格/标签行（对齐淘宝式信息区）*/
#view .wapp-pd-pricerow { display: flex; align-items: baseline; justify-content: space-between; margin-top: 12px; }
#view .wapp-pd-price { color: #e5484d; display: inline-flex; align-items: baseline; }
#view .wapp-pd-price i { font-style: normal; font-size: 14px; font-weight: 700; margin-right: 1px; }
#view .wapp-pd-price b { font-size: 26px; line-height: 30px; font-weight: 800; letter-spacing: -.5px; }
#view .wapp-pd-price em { font-style: normal; font-size: 11px; color: #e5484d; margin-left: 2px; }
#view .wapp-pd-sold { font-size: 11.5px; color: var(--wk-ink-4); }
#view .wapp-pd-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
#view .wapp-pd-tag { height: 22px; padding: 0 8px; border-radius: 4px; background: var(--wk-fill); color: var(--wk-ink-3);
  font-size: 11px; line-height: 22px; border: 0; font-family: inherit; }
#view .wapp-pd-tag.is-link { color: #3563e0; }
#view .wapp-pd-reccard__p { color: var(--wk-ink-4); font-size: 11.5px; font-weight: 500; }

/* v=895 服务详情：底部合计单行 + 表单不再被操作栏压住 */
#view .wapp-buybar--pd .wapp-buybar-amt { flex-direction: row; align-items: baseline; gap: 4px; }
#view .wapp-buybar--pd .wapp-buybar-amt .wapp-price b { font-size: 20px; }

#view .wapp-pd-reccard__pic { display: flex; align-items: center; justify-content: center; }
#view .wapp-pd-reccard__ph { font-size: 30px; font-weight: 700; color: var(--wk-ink-4); }

/* ══ v=897 服务详情：规格横排卡 / 问大家 / 富文本详情 ══ */
#view .wapp-pd-specs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
#view .wapp-pd-specs::-webkit-scrollbar { display: none; }
#view .wapp-pd-spec { flex: 0 0 auto; min-width: 76px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--wk-line);
  background: var(--wk-fill); font-family: inherit; text-align: left; margin: 0; }
#view .wapp-pd-spec b { display: block; font-size: 12.5px; font-weight: 600; color: var(--wk-ink); }
#view .wapp-pd-spec em { display: block; font-style: normal; font-size: 11.5px; color: #e5484d; margin-top: 2px; }
#view .wapp-pd-spec.is-on { border-color: #3563e0; background: rgba(53,99,224,.07); }
#view .wapp-pd-spec.is-on b { color: #3563e0; }
#view .wapp-pd-specs__all { flex: 0 0 auto; min-width: 52px; border: 1px dashed var(--wk-line); background: none; border-radius: 8px;
  font-family: inherit; font-size: 11.5px; color: var(--wk-ink-3); line-height: 16px; }
#view .wapp-specall { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 4px 0 8px; }
#view .wapp-specall__i { border: 1px solid var(--wk-line); background: var(--wk-fill); border-radius: 8px; padding: 9px 10px; font-family: inherit; text-align: left; }
#view .wapp-specall__i b { display: block; font-size: 13px; font-weight: 600; }
#view .wapp-specall__i em { font-style: normal; font-size: 11.5px; color: #e5484d; }
#view .wapp-pd-qa__ask { border: 0; background: rgba(53,99,224,.08); color: #3563e0; font-family: inherit; font-size: 11.5px;
  height: 24px; padding: 0 10px; border-radius: 12px; }
#view .wapp-qa { padding: 10px 0; border-bottom: 1px solid var(--wk-line); }
#view .wapp-qa:last-child { border-bottom: 0; }
#view .wapp-qa__q, #view .wapp-qa__a { display: flex; gap: 6px; font-size: 12.5px; line-height: 19px; }
#view .wapp-qa__q b { flex: none; width: 16px; height: 16px; border-radius: 4px; background: #3563e0; color: #fff; font-size: 10px;
  line-height: 16px; text-align: center; margin-top: 1px; font-weight: 600; }
#view .wapp-qa__a b { flex: none; width: 16px; height: 16px; border-radius: 4px; background: #16a34a; color: #fff; font-size: 10px;
  line-height: 16px; text-align: center; margin-top: 1px; font-weight: 600; }
#view .wapp-qa__q span { flex: 1; color: var(--wk-ink); }
#view .wapp-qa__q em { flex: none; font-style: normal; font-size: 10.5px; color: var(--wk-ink-4); }
#view .wapp-qa__a { margin-top: 6px; padding-left: 0; }
#view .wapp-qa__a span { flex: 1; color: var(--wk-ink-2); }
#view .wapp-qa__do { margin-top: 6px; border: 0; background: none; color: #3563e0; font-family: inherit; font-size: 11.5px; padding: 0; }
#view .wapp-qa__ta { width: 100%; box-sizing: border-box; font-family: inherit; font-size: 13px; line-height: 20px;
  border: 1px solid var(--wk-line); border-radius: 8px; padding: 9px 10px; resize: none; background: var(--wk-fill); color: var(--wk-ink); }
#view .wapp-pd-rich { font-size: 13px; line-height: 21px; color: var(--wk-ink-2); }
#view .wapp-pd-rich img { max-width: 100%; border-radius: 8px; display: block; margin: 8px 0; }

/* ══ v=898 问大家：排序/点赞/追问 + 推荐筛选 ══ */
#view .wapp-qa__sorts { display: inline-flex; gap: 6px; margin-left: auto; margin-right: 8px; }
#view .wapp-qa__sort { border: 0; background: none; font-family: inherit; font-size: 11.5px; color: var(--wk-ink-4); padding: 2px 4px; }
#view .wapp-qa__sort.is-on { color: #3563e0; font-weight: 600; }
#view .wapp-qa__acts { display: flex; gap: 14px; margin-top: 7px; }
#view .wapp-qa__act { border: 0; background: none; font-family: inherit; font-size: 11.5px; color: var(--wk-ink-3); padding: 0; }
#view .wapp-qa__act.is-on { color: #e5484d; }
#view .wapp-qa__fu { display: flex; gap: 6px; margin-top: 6px; padding-left: 22px; font-size: 12px; line-height: 18px; }
#view .wapp-qa__fu b { flex: none; width: 16px; height: 16px; border-radius: 4px; background: #f5a524; color: #fff; font-size: 10px; line-height: 16px; text-align: center; margin-top: 1px; font-weight: 600; }
#view .wapp-qa__fu span { flex: 1; color: var(--wk-ink-2); }
#view .wapp-qa__a--fu { padding-left: 22px; }
#view .wapp-pd-recbar { display: flex; gap: 8px; padding: 12px 14px 0; }
#view .wapp-pd-chip { height: 26px; padding: 0 12px; border-radius: 13px; border: 1px solid var(--wk-line); background: var(--wk-card);
  font-family: inherit; font-size: 12px; color: var(--wk-ink-3); }
#view .wapp-pd-chip.is-on { border-color: #3563e0; color: #3563e0; background: rgba(53,99,224,.07); font-weight: 600; }

/* ══ v=899 服务详情：多图/视频横滑首图 + 官方答标识 ══ */
#view .wapp-pd-hero { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
#view .wapp-pd-hero::-webkit-scrollbar { display: none; }
#view .wapp-pd-slide { flex: 0 0 100%; scroll-snap-align: center; position: relative; background: var(--wk-fill) }
#view .wapp-pd-slide > img, #view .wapp-pd-video { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .wapp-pd-video { background: #000; }
#view .wapp-pd-hero__dots i.is-on { background: #fff; width: 12px; border-radius: 3px; }
#view .wapp-qa__off { flex: none; font-style: normal; font-size: 10px; line-height: 15px; height: 15px; padding: 0 5px;
  border-radius: 3px; background: rgba(22,163,74,.12); color: #0b7a34; margin-left: 6px; }

/* v=900 首图通栏：抵消 .wapp-body 的 10px 内边距 */
#view .wapp-pd-hero { margin-left: -10px; margin-right: -10px; width: calc(100% + 20px); }

/* v=901 首图：计数改右上角，视频页隐藏圆点避免压控件 */
#view .wapp-pd-hero__n { top: 8px; bottom: auto; }
#view .wapp-pd-hero.on-video .wapp-pd-hero__dots { opacity: 0; }

/* ══ v=903 服务详情顶栏：分享 + 更多（替换单一客服电话） ══ */

#view .wk-nav .wapp-nav-ico i, #view .wk-nav .wapp-nav-ico svg, #view .wk-nav .wapp-nav-ico img { width: 21px; height: 21px; }
#view .wk-nav .wapp-nav-acts { gap: 2px; }
#view .wapp-cellgroup { border-radius: 10px; overflow: hidden; }

/* v=904 顶栏：面性客服气泡 + 面性更多，分享收进弹层 */
#view .wk-nav .wapp-nav-ico svg { width: 22px; height: 22px; display: block; }
#view .wk-nav .wapp-nav-ico { color: #2b3340; }
#view .wk-nav .wapp-nav-ico:active { color: #3563e0; }

/* v=905 顶栏图标尺寸（覆盖 .wapp-nav-ico i 的 18px） */
#view .wk-nav .wapp-nav-ico i, #view .wk-nav .wapp-nav-ico i > svg { width: 22px !important; height: 22px !important; }

/* v=907 顶栏图标尺寸（导航栏在 #view 之外，不能带 #view 前缀） */




/* ══ v=910 服务详情精简：单规格一行 + 更多选项折叠 + 首图 3:2 ══ */
#view .wapp-pd-hero { aspect-ratio: 3 / 2; }
#view .wapp-pd-slide { aspect-ratio: 3 / 2; }
#view .wapp-pd-specpanel { margin-top: 10px; }
#view .wapp-pd-row { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 14px; }
#view .wapp-pd-row__k { font-size: 13px; color: var(--wk-ink-3); flex: none; }
#view .wapp-pd-row__v { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 600; color: var(--wk-ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .wapp-pd-row__s { flex: none; font-size: 11.5px; color: var(--wk-ink-4); }
#view .wk-stepper--sm { transform-origin: right center }
#view .wapp-pd-more { border: 0; background: none; font-family: inherit; font-size: 12.5px; color: var(--wk-ink-3);
  padding: 10px 0 2px; text-align: left; display: flex; align-items: center; gap: 4px; }
#view .wapp-pd-more span { font-size: 10px; }

/* v=912 首图 16:10 + 步进器不再缩放（保证减号清晰） */
#view .wapp-pd-hero, #view .wapp-pd-slide { aspect-ratio: 16 / 10; }
#view .wk-stepper--sm { transform: none; }
#view .wk-stepper--sm .wk-stepper__btn i, #view .wk-stepper--sm .wk-stepper__btn svg { width: 15px; height: 15px; }
#view .wk-stepper--sm .wk-stepper__val { font-size: 13px; }

/* v=913 保障条：一条替代多余标签 */
#view .wapp-pd-assure { display: flex; align-items: center; gap: 6px; width: 100%; margin-top: 10px; padding: 7px 10px;
  border: 0; border-radius: 8px; background: rgba(22,163,74,.07); font-family: inherit; text-align: left; }
#view .wapp-pd-assure i { flex: none; display: inline-flex; color: #0b7a34; }
#view .wapp-pd-assure i svg, #view .wapp-pd-assure i .wapp-i { width: 14px; height: 14px; }
#view .wapp-pd-assure span { flex: 1; font-size: 11.5px; color: #0b7a34; line-height: 16px; }
#view .wapp-pd-assure em { flex: none; font-style: normal; font-size: 11px; color: #0b7a34; opacity: .75; }

/* ══ v=914 接单人卡 / 评价空态 / 常见问题 / 多规格头部步进器 ══ */
#view .wapp-pd-seller { margin-top: 10px; }
#view .wapp-pd-seller__main { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px; border: 0; background: none; font-family: inherit; text-align: left; }
#view .wapp-pd-seller__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
#view .wapp-pd-seller__n { font-size: 13.5px; font-weight: 600; color: var(--wk-ink); display: flex; align-items: center; gap: 5px; }
#view .wapp-pd-seller__v { font-style: normal; font-size: 10px; line-height: 15px; height: 15px; padding: 0 5px; border-radius: 3px; background: rgba(53,99,224,.1); color: #3563e0; }
#view .wapp-pd-seller__on { font-style: normal; font-size: 10px; line-height: 15px; height: 15px; padding: 0 5px; border-radius: 3px; background: rgba(22,163,74,.12); color: #0b7a34; }
#view .wapp-pd-seller__m { font-size: 11.5px; color: var(--wk-ink-4); }
#view .wapp-pd-seller__go { flex: none; font-style: normal; font-size: 11.5px; color: #3563e0; }
#view .wapp-rev-empty--rich { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 18px 18px; text-align: center; }
#view .wapp-rev-empty__stars { font-size: 15px; letter-spacing: 3px; color: #f5a524; }
#view .wapp-rev-empty--rich b { font-size: 13px; color: var(--wk-ink); }
#view .wapp-rev-empty--rich span { font-size: 11.5px; color: var(--wk-ink-4); line-height: 17px; }
#view .wapp-rev-empty--rich .wk-btn { height: 28px; font-size: 12.5px; }
#view .wapp-pd-faq details { border-bottom: 1px solid var(--wk-line); padding: 10px 0; }
#view .wapp-pd-faq details:last-child { border-bottom: 0; }
#view .wapp-pd-faq summary { font-size: 12.5px; color: var(--wk-ink); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 8px; }
#view .wapp-pd-faq summary::-webkit-details-marker { display: none; }
#view .wapp-pd-faq summary::after { content: '▾'; flex: none; color: var(--wk-ink-4); }
#view .wapp-pd-faq details[open] summary::after { content: '▴'; }
#view .wapp-pd-faq p { margin: 8px 0 0; font-size: 12px; line-height: 18px; color: var(--wk-ink-2); }
#view .wapp-pd-specpanel .wapp-sec-hd { min-height: 44px; }

/* ══ v=915 修复：步进器库样式自带 ::before/::after 横竖两条，与我方内联 SVG 叠加成「两个加号」══ */
.wk-stepper__btn::before, .wk-stepper__btn::after { display: none !important; content: none !important; }

/* v=916 选填字段统一收进「更多选项」，面板内间距对齐 */
#view .pd-adv .wk-field:first-child { margin-top: 2px; }
#view .pd-adv:not([hidden]) { display: flex; flex-direction: column; gap: 12px; }
#view .pd-adv[hidden] { display: none !important; }

/* ══ v=918 首图缩略图条（替代圆点）══ */
#view .wapp-pd-thumbs { display: flex; gap: 6px; overflow-x: auto; padding: 8px 0 2px; scrollbar-width: none; }
#view .wapp-pd-thumbs::-webkit-scrollbar { display: none; }
#view .wapp-pd-thumb { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 8px; overflow: hidden; padding: 0; border: 1.5px solid transparent; background: var(--wk-fill); position: relative; }
#view .wapp-pd-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .wapp-pd-thumb.is-on { border-color: var(--wk-brand); }
#view .wapp-pd-thumb__v { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--wk-ink-3); }
#view .wapp-pd-thumb__v svg { width: 16px; height: 16px; }

/* v=922 必填未填高亮 + 详情锚点留出吸顶高度 */
#view .wk-input.is-err { border-color: var(--wk-danger) !important; box-shadow: 0 0 0 3px rgba(229,72,77,.12); }
#view #pdInsure { scroll-margin-top: 96px; }

/* ══ v=923 评价：汇总 + 卡片时间不再竖排 ══ */
#view .wapp-rev-sum { display: flex; gap: 16px; padding: 12px 0 14px; border-bottom: 1px solid var(--wk-line); margin-bottom: 4px; }
#view .wapp-rev-sum__l { flex: 0 0 92px; text-align: center; }
#view .wapp-rev-sum__l b { display: block; font-size: 30px; line-height: 1.05; font-weight: 700; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .wapp-rev-sum__l span { display: block; font-size: 11px; color: #f5a524; letter-spacing: 1px; margin-top: 2px; }
#view .wapp-rev-sum__l em { display: block; font-style: normal; font-size: 11px; color: var(--wk-ink-4); margin-top: 3px; }
#view .wapp-rev-sum__r { flex: 1; display: flex; flex-direction: column; gap: 4px; justify-content: center; }
#view .wapp-rev-bar { display: flex; align-items: center; gap: 6px; font-size: 10.5px; color: var(--wk-ink-4); }
#view .wapp-rev-bar i { font-style: normal; width: 8px; text-align: right; }
#view .wapp-rev-bar span { flex: 1; height: 4px; border-radius: 2px; background: var(--wk-fill); overflow: hidden; }
#view .wapp-rev-bar span b { display: block; height: 100%; background: #f5a524; border-radius: 2px; }
#view .wapp-rev-bar em { font-style: normal; width: 16px; text-align: right; font-variant-numeric: tabular-nums; }
#view .wapp-rev-hd { display: flex; align-items: center; gap: 6px; }
#view .wapp-rev-hd b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46%; }
#view .wapp-rev-hd i { font-style: normal; color: #f5a524; font-size: 11px; letter-spacing: -0.5px; flex: 0 0 auto; }
#view .wapp-rev-hd em { font-style: normal; margin-left: auto; color: var(--wk-ink-4); font-size: 11px; white-space: nowrap; flex: 0 0 auto; }

/* v=924 评价卡片：正文独占一行 + 星级补空星对齐 */
#view .wapp-rev { display: block; padding: 10px 0 12px; }
#view .wapp-rev p { display: block; width: 100%; margin: 6px 0 0; line-height: 1.55; }
#view .wapp-rev-hd i { min-width: 56px; display: inline-flex; align-items: center; }
#view .wapp-rev-hd i u { text-decoration: none; color: var(--wk-ink-4); opacity: .45; font-size: 11px; }

/* ══ 俱乐部推荐：卡片 + 标签 ══ */
#view .wapp-club { align-items: flex-start; }
#view .wapp-club__logo { width: 46px; height: 46px; border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--wk-fill); flex: 0 0 auto; }
#view .wapp-club__logo img { width: 100%; height: 100%; object-fit: cover; }
#view .wapp-club__logo b { font-size: 18px; font-weight: 700; color: var(--wk-brand); }
#view .wapp-club__tags { display: flex; flex-wrap: wrap; gap: 4px; margin: 3px 0 2px; }
#view .wapp-club__tags i { font-style: normal; font-size: 10.5px; line-height: 17px; padding: 0 6px; border-radius: 4px; background: var(--wk-fill); color: var(--wk-ink-3); }
#view .wapp-club__tags i.is-game { background: rgba(53,99,224,.08); color: var(--wk-brand); }
#view .wapp-club__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; color: var(--wk-ink-3); line-height: 1.5; margin-top: 2px; }
#view .wapp-club .wapp-mc-cta { align-self: center; }

/* ══ v=926 找大神：接单人卡片重做（统一状态 / 单行资质 / 价格靠右 / 等高）══ */
#view .wapp-mc2 { display: flex; flex-direction: column; gap: 7px; width: 100%; padding: 12px 12px 10px; margin-bottom: 10px;
  background: var(--wk-card); border: 0; border-radius: 12px; text-align: left; position: relative; font: inherit; color: var(--wk-ink); }
#view .wapp-mc2:active { background: var(--wk-fill); }
#view .wapp-mc2__rank { position: absolute; left: 0; top: 0; width: 22px; height: 16px; border-radius: 12px 0 12px 0; font-size: 10px; font-style: normal; font-weight: 700;
  color: #fff; display: flex; align-items: center; justify-content: center; background: #c9ced8; }
#view .wapp-mc2__rank.r1 { background: linear-gradient(135deg,#ff9f2e,#ff7a00); }
#view .wapp-mc2__rank.r2 { background: linear-gradient(135deg,#8f9bb3,#6b7794); }
#view .wapp-mc2__rank.r3 { background: linear-gradient(135deg,#d09a58,#b97b34); }

#view .wapp-mc2__hd { display: flex; align-items: center; gap: 10px; }
#view .wapp-mc2__av { position: relative; flex: 0 0 auto; }
#view .wapp-mc2__av .wk-avatar { width: 42px; height: 42px; }
#view .wapp-mc2__dot.is-online { background: #16a34a; }
#view .wapp-mc2__dot.is-pause { background: #f5a524; }
#view .wapp-mc2__id { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
#view .wapp-mc2__name { display: flex; align-items: center; gap: 5px; min-width: 0; }
#view .wapp-mc2__name b { font-size: 14.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 62%; }
#view .wapp-mc2__sex { font-style: normal; font-size: 10px; line-height: 14px; padding: 0 4px; border-radius: 3px; background: var(--wk-fill); color: var(--wk-ink-3); flex: 0 0 auto; }
#view .wapp-mc2__st { font-style: normal; font-size: 10.5px; line-height: 15px; padding: 0 5px; border-radius: 4px; flex: 0 0 auto; }
#view .wapp-mc2__st.is-online { background: rgba(22,163,74,.10); color: #0b7a34; }
#view .wapp-mc2__st.is-pause { background: rgba(245,165,36,.12); color: #8a5a00; }
#view .wapp-mc2__st.is-off { background: var(--wk-fill); color: var(--wk-ink-4); }
#view .wapp-mc2__meta { font-size: 11.5px; color: var(--wk-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .wapp-mc2__price { flex: 0 0 auto; text-align: right; display: flex; align-items: baseline; gap: 1px }
#view .wapp-mc2__price em { font-style: normal; font-size: 11px; }
#view .wapp-mc2__price b { font-weight: 700; font-variant-numeric: tabular-nums }
#view .wapp-mc2__price i { font-style: normal; font-size: 10.5px; color: var(--wk-ink-4); }
#view .wapp-mc2__price u { text-decoration: none; font-size: 12px; color: var(--wk-ink-4); }

#view .wapp-mc2__quals { display: flex; gap: 6px; overflow: hidden; }
#view .wapp-mc2__q { font-style: normal; font-size: 11px; line-height: 22px; padding: 0 8px; border-radius: 6px; background: var(--wk-fill); color: var(--wk-ink-2); white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; }
#view .wapp-mc2__q em { font-style: normal; color: var(--wk-brand); font-weight: 600; }
#view .wapp-mc2__q.more { color: var(--wk-ink-4); }
#view .wapp-mc2__q.none { color: var(--wk-ink-4); }

#view .wapp-mc2__ft { display: flex; padding-top: 7px; border-top: 1px solid var(--wk-line) }
#view .wapp-mc2__hint { font-size: 11.5px; color: var(--wk-ink-4); }
#view .wapp-mc2__cta { font-size: 12.5px; font-weight: 600; color: var(--wk-brand); background: rgba(53,99,224,.08); padding: 5px 12px; border-radius: 999px; }
#view .wapp-mc2__cta.is-off { color: var(--wk-ink-3); background: var(--wk-fill); }
/* 列表底部给 tabbar 留白 */
#view .wapp-mlist { padding-bottom: 8px; }

/* v=927 卡片底部：左提示 / 右「价格 + 立即约」 */
#view .wapp-mc2__ft { align-items: center; }
#view .wapp-mc2__right { display: flex; align-items: baseline; gap: 10px; }
#view .wapp-mc2__price { color: var(--wk-danger); }
#view .wapp-mc2__price b { font-size: 17px; }
#view .wapp-mc2__cta { align-self: center; }
#view .wapp-mc2__hint { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* v=928 底部左提示为空时右侧自动靠右 */
#view .wapp-mc2__ft { justify-content: space-between; }
#view .wapp-mc2__hint:empty { display: none; }
#view .wapp-mc2__right { margin-left: auto; }

/* ══ v=930 俱乐部名号角标 ══ */
#view .wapp-club__logow { position: relative; flex: 0 0 auto; width: 46px; }
#view .wapp-club__logow .wapp-club__logo { width: 46px; height: 46px; }
#view .wapp-honor { position: absolute; left: -5px; top: -5px; height: 15px; line-height: 15px; padding: 0 5px; border-radius: 4px 4px 4px 0;
  font-style: normal; font-size: 9.5px; font-weight: 700; color: #fff; letter-spacing: .2px; box-shadow: 0 1px 3px rgba(15,23,42,.18); white-space: nowrap; }
#view .wapp-honor.is-gold { background: linear-gradient(135deg,#ffcf5c,#f0a318); color: #6b3f00; }
#view .wapp-honor.is-violet { background: linear-gradient(135deg,#a78bfa,#7c5cfc); }
#view .wapp-honor.is-blue { background: linear-gradient(135deg,#5b8cff,#3563e0); }
#view .wapp-honor.is-gray { background: #98a1b0; }
#view .wapp-honor.is-hot { background: linear-gradient(135deg,#ff8a5b,#ef4b3f); }
#view .wapp-honor.is-green { background: linear-gradient(135deg,#34d399,#0f9d58); }
#view .wapp-honor.is-steel { background: linear-gradient(135deg,#94a3b8,#4b5563); }
#view .wapp-honor.is-pink { background: linear-gradient(135deg,#f472b6,#db2777); }
#view .wapp-honor.is-cyan { background: linear-gradient(135deg,#22d3ee,#0891b2); }

#view .wapp-honor2 { font-style: normal; font-size: 10px; line-height: 15px; padding: 0 5px; border-radius: 4px; margin-left: 2px; font-weight: 600; }
#view .wapp-honor2.is-gold { background: rgba(240,163,24,.14); color: #8a5a00; }
#view .wapp-honor2.is-violet { background: rgba(124,92,252,.12); color: #5b3fd6; }
#view .wapp-honor2.is-blue { background: rgba(53,99,224,.10); color: #3563e0; }
#view .wapp-honor2.is-gray { background: var(--wk-fill); color: var(--wk-ink-4); }
#view .wapp-honor2.is-hot { background: rgba(239,75,63,.12); color: #c4251a; }
#view .wapp-honor2.is-green { background: rgba(15,157,88,.12); color: #0b7a34; }
#view .wapp-honor2.is-steel { background: rgba(75,85,99,.12); color: #475569; }
#view .wapp-honor2.is-pink { background: rgba(219,39,119,.12); color: #be185d; }


/* 首页俱乐部行：角标同样贴头像左上 */
#view .hp-person__avw { position: relative; }
#view .hp-person__avw .wapp-honor { left: -6px; top: -4px; height: 14px; line-height: 14px; font-size: 9px; padding: 0 4px; }

/* v=931 低阶名号改描边款，不再像「不可用」状态 */
#view .wapp-honor.is-line { background: #fff; color: #3563e0; border: 1px solid rgba(53,99,224,.45); box-shadow: 0 1px 3px rgba(15,23,42,.10); }
#view .wapp-honor2.is-cyan { background: rgba(8,145,178,.12); color: #0e7490; }

/* 首页推荐俱乐部横排：头像角标 */
#view .hp-ppl__avw { position: relative; }
#view .hp-ppl__avw .wapp-honor { left: -4px; top: -3px; height: 13px; line-height: 13px; font-size: 8.5px; padding: 0 4px; border-radius: 3px 3px 3px 0; }

/* ══ v=935 俱乐部主页（封面 + 身份卡 + 数据 + 四 tab）══ */
#view .wcl { padding-bottom: 8px; }
#view .wcl-cover { position: relative; margin: -10px -10px 0; border-radius: 0; overflow: hidden }
#view .wcl-cover__mask { position: absolute; font-weight: 800; color: rgba(255,255,255,.10); line-height: 1 }
#view .wcl-cover__honor { position: absolute; left: 12px; top: 12px; }
#view .wcl-id { display: flex; gap: 12px; align-items: flex-end; margin-top: -30px; padding: 0 2px 0 4px; }
#view .wcl-logo { flex: 0 0 auto; width: 74px; height: 74px; border-radius: 18px; background: var(--wk-fill); display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; color: var(--wk-brand); overflow: hidden }
#view .wcl-logo img { width: 100%; height: 100%; object-fit: cover; }
#view .wcl-id__bd { flex: 1; min-width: 0; padding-bottom: 4px; }
#view .wcl-id__n { display: flex; align-items: center; gap: 6px; }
#view .wcl-id__n h1 { font-size: 18px; font-weight: 700; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .wcl-id__m { font-size: 11.5px; color: var(--wk-ink-3); margin-top: 3px; }

#view .wcl-acts { display: flex; gap: 8px; margin: 12px 0 4px; }
#view .wcl-btn { flex: 1; height: 36px; border: 1px solid var(--wk-line); background: var(--wk-card); color: var(--wk-ink-2); border-radius: 10px; font-size: 13px; font-weight: 600; }
#view .wcl-btn--pri { background: var(--wk-brand); border-color: var(--wk-brand); color: #fff; }

#view .wcl-tabs { position: sticky; top: 0; z-index: 3; display: flex; margin: 10px -10px 0; padding: 0 12px; background: var(--wk-bg); border-bottom: 1px solid var(--wk-line) }
#view .wcl-tab { position: relative; height: 42px; background: none; border: 0; font-size: 14px; color: var(--wk-ink-3); font-family: inherit; }
#view .wcl-tab.is-on { color: var(--wk-ink); font-weight: 700; }
#view .wcl-tab.is-on::after { content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 18px; height: 3px; border-radius: 2px; background: var(--wk-brand); }
#view .wcl-tab em { font-style: normal }


#view .wcl-panel { padding-top: 10px; }
#view .wcl-card { background: var(--wk-card); border-radius: 12px; padding: 14px; margin-bottom: 10px; }
#view .wcl-card--flat { padding: 4px 12px; }
#view .wcl-card__hd { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
#view .wcl-card__hd b { font-weight: 700 }
#view .wcl-card__hd span { font-size: 11px; color: var(--wk-ink-4); }
#view .wcl-desc { margin: 0 0 10px; font-size: 13px; line-height: 1.6; color: var(--wk-ink-2); }
#view .wcl-chip { font-size: 11.5px; line-height: 24px; padding: 0 9px; border-radius: 6px; background: rgba(53,99,224,.08); color: var(--wk-brand); border: 0; }
#view .wcl-chip.is-tag { font-style: normal; background: var(--wk-fill); color: var(--wk-ink-3); }
#view .wcl-honors { display: flex; flex-wrap: wrap; gap: 8px; }
#view .wcl-honor { font-size: 12px; font-weight: 700; line-height: 26px; padding: 0 12px; border-radius: 8px; color: #fff; }
#view .wcl-honor.is-gold { background: linear-gradient(135deg,#ffcf5c,#f0a318); color: #6b3f00; }
#view .wcl-honor.is-violet { background: linear-gradient(135deg,#a78bfa,#7c5cfc); }
#view .wcl-honor.is-blue { background: linear-gradient(135deg,#5b8cff,#3563e0); }
#view .wcl-honor.is-hot { background: linear-gradient(135deg,#ff8a5b,#ef4b3f); }
#view .wcl-honor.is-cyan { background: linear-gradient(135deg,#22d3ee,#0891b2); }
#view .wcl-honor.is-steel { background: linear-gradient(135deg,#94a3b8,#4b5563); }
#view .wcl-honor.is-pink { background: linear-gradient(135deg,#f472b6,#db2777); }
#view .wcl-honor.is-line { background: #fff; border: 1px solid rgba(53,99,224,.35); color: var(--wk-brand); font-weight: 600; }

#view .wcl-data { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; text-align: center; }
#view .wcl-stat b { display: block; font-weight: 700; font-variant-numeric: tabular-nums }
#view .wcl-stat span { font-size: 10.5px; color: var(--wk-ink-4); }
#view .wcl-note { margin: 10px 0 0; font-size: 11px; color: var(--wk-ink-4); line-height: 1.5; }

#view .wcl-tk { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 0; background: none; border: 0; border-bottom: 1px solid var(--wk-line); text-align: left; font: inherit; color: var(--wk-ink); }
#view .wcl-tk:last-child { border-bottom: 0; }
#view .wcl-tk__av .wk-avatar { width: 40px; height: 40px; }
#view .wcl-tk__bd { flex: 1; min-width: 0; }
#view .wcl-tk__n { display: flex; align-items: center; gap: 5px; }
#view .wcl-tk__n b { font-size: 14px; font-weight: 600; }
#view .wcl-role { font-style: normal; font-size: 9.5px; line-height: 15px; padding: 0 5px; border-radius: 4px; background: var(--wk-fill); color: var(--wk-ink-3); }
#view .wcl-role.is-owner { background: rgba(240,163,24,.14); color: #8a5a00; }
#view .wcl-tk__s { display: block; font-size: 11.5px; color: var(--wk-ink-3); margin-top: 2px; }
#view .wcl-tk__go { font-size: 12px; color: var(--wk-brand); }

#view .wcl-pds { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#view .wcl-pd { background: var(--wk-card); border: 0; border-radius: 12px; overflow: hidden; text-align: left; padding: 0 0 10px; font: inherit; color: var(--wk-ink); }
#view .wcl-pd__pic { display: block; width: 100%; aspect-ratio: 4 / 3; background: var(--wk-fill); }
#view .wcl-pd__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .wcl-pd__pic b { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 22px; color: var(--wk-brand); }
#view .wcl-pd__bd { display: block; padding: 8px 10px 0; }
#view .wcl-pd__n { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12.5px; line-height: 1.4; }
#view .wcl-pd__m { display: flex; align-items: baseline; gap: 2px; margin-top: 6px; color: var(--wk-danger); }
#view .wcl-pd__m b { font-size: 16px; font-weight: 700; }
#view .wcl-pd__m i { font-style: normal; font-size: 10.5px; color: var(--wk-ink-4); }
#view .wcl-pd__m u { text-decoration: none; margin-left: auto; font-size: 10.5px; color: var(--wk-ink-4); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 56%; }

#view .wcl-score { display: flex; gap: 16px; padding-top: 2px; }
#view .wcl-score__l { flex: 0 0 92px; text-align: center; }
#view .wcl-score__l b { display: block; font-size: 30px; font-weight: 700; line-height: 1.05; }
#view .wcl-score__l span { font-size: 11px; color: #f5a524; letter-spacing: 1px; }
#view .wcl-score__l em { display: block; font-style: normal; font-size: 10.5px; color: var(--wk-ink-4); margin-top: 2px; }
#view .wcl-score__r { flex: 1; display: flex; flex-direction: column; gap: 4px; justify-content: center; }
#view .wcl-bar { display: flex; align-items: center; gap: 6px; font-size: 10.5px; color: var(--wk-ink-4); }
#view .wcl-bar i { font-style: normal; width: 8px; text-align: right; }
#view .wcl-bar span { flex: 1; height: 4px; border-radius: 2px; background: var(--wk-fill); overflow: hidden; }
#view .wcl-bar span b { display: block; height: 100%; background: #f5a524; }
#view .wcl-bar em { font-style: normal; width: 30px; text-align: right; }
#view .wcl-rv { padding: 11px 0; border-bottom: 1px solid var(--wk-line); }
#view .wcl-rv:last-child { border-bottom: 0; }
#view .wcl-rv__hd { display: flex; align-items: center; gap: 6px; }
#view .wcl-rv__hd b { font-size: 12.5px; }
#view .wcl-rv__hd i { font-style: normal; font-size: 10.5px; color: #f5a524; }
#view .wcl-rv__hd em { font-style: normal; margin-left: auto; font-size: 10.5px; color: var(--wk-ink-4); }
#view .wcl-rv p { margin: 5px 0 0; font-size: 12.5px; line-height: 1.55; color: var(--wk-ink-2); }

/* v=937 俱乐部主页细化：tab 等分 / 标签分组 / 按钮等宽 / 覆盖层去掉硬边 */
#view .wcl-tabs { gap: 0; }
#view .wcl-tab { flex: 1; text-align: center; }

#view .wcl-acts .wcl-btn { flex: 1; }
#view .wcl-chiprow { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
#view .wcl-chiplab { font-size: 11px; color: var(--wk-ink-4); width: 56px; flex: 0 0 56px; }
#view .wcl-logo { border: 0; box-shadow: 0 2px 12px rgba(15,23,42,.14); }
#view .wcl-cover { height: 140px; }
#view .wcl-cover::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 40px; background: linear-gradient(180deg, rgba(15,23,42,0), rgba(15,23,42,.25)); }
#view .wcl-stat b { font-size: 18px; }
#view .wcl-card__hd b { font-size: 14px; }

/* v=938 封面水印不压 logo / tab 数字胶囊化 */
#view .wcl-cover__mask { right: 10px; bottom: -26px; font-size: 124px; opacity: .55; }
#view .wcl-cover { isolation: isolate; }
#view .wcl-cover__mask { z-index: 0; }
#view .wcl-tab em { display: inline-block; min-width: 16px; height: 15px; line-height: 15px; padding: 0 4px; border-radius: 8px; background: var(--wk-fill); color: var(--wk-ink-3); font-size: 9.5px; margin-left: 3px; vertical-align: 1px; }
#view .wcl-tab.is-on em { background: rgba(53,99,224,.12); color: var(--wk-brand); }

/* v=939 tab 计数统一为灰胶囊（不再随选中变色） */
#view .wcl-tab em, #view .wcl-tab.is-on em { background: var(--wk-fill); color: var(--wk-ink-3); font-weight: 400; }

/* ══ v=940 俱乐部店铺页 ══ */
#view .shop-hd { display: flex; align-items: center; gap: 10px }
#view .shop-hd__logo { background: var(--wk-fill); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--wk-brand); overflow: hidden; flex: 0 0 auto }
#view .shop-hd__logo img { width: 100%; height: 100%; object-fit: cover; }
#view .shop-hd__bd { flex: 1; min-width: 0; }
#view .shop-hd__n { display: flex; align-items: center; gap: 6px; }
#view .shop-hd__n b { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
#view .shop-hd__score { font-style: normal; font-size: 10.5px; line-height: 16px; padding: 0 6px; border-radius: 4px }
#view .shop-hd__m { margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
#view .shop-hd__back { flex: 0 0 auto; color: var(--wk-brand); border: 0 }

#view .shop-cats { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0 6px; scrollbar-width: none; }
#view .shop-cats::-webkit-scrollbar { display: none; }
#view .shop-cat { flex: 0 0 auto; font-size: 12.5px; line-height: 30px; padding: 0 12px; border-radius: 8px; background: var(--wk-card); border: 1px solid transparent; color: var(--wk-ink-2); }
#view .shop-cat em { font-style: normal; font-size: 10px; color: var(--wk-ink-4); margin-left: 3px; }



#view .shop-sorts { display: flex; padding: 2px 0 10px }
#view .shop-sort { flex: 1; height: 30px; border-radius: 8px; border: 0; background: var(--wk-card); color: var(--wk-ink-3); font-size: 12px; }


#view .shop-grid { display: grid; grid-template-columns: 1fr 1fr }
#view .shop-pd { background: var(--wk-card); border: 0; overflow: hidden; text-align: left; padding: 0 0 10px; font: inherit; color: var(--wk-ink) }
#view .shop-pd__pic { display: block; width: 100%; aspect-ratio: 4 / 3; background: var(--wk-fill); }
#view .shop-pd__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .shop-pd__pic b { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 22px; color: var(--wk-brand); }
#view .shop-pd__bd { display: block }
#view .shop-pd__n { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 35px }
#view .shop-pd__m { display: flex; align-items: baseline; gap: 2px; margin-top: 4px; color: var(--wk-danger); }
#view .shop-pd__m em { font-style: normal; font-size: 11px; }
#view .shop-pd__m b { font-weight: 700; font-variant-numeric: tabular-nums }
#view .shop-pd__m i { font-style: normal; font-size: 10.5px; color: var(--wk-ink-4); }
#view .shop-pd__s { display: block; margin-top: 2px; font-size: 10.5px; color: var(--wk-ink-4); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#view .shop-more { width: 100%; height: 40px; margin-top: 12px; border-radius: 10px; border: 1px solid var(--wk-line); background: var(--wk-card); color: var(--wk-ink-2); font-size: 13px; }


/* 俱乐部主页「进入店铺」入口 */
#view .wcl-entry { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px; background: none; border: 0; text-align: left; font: inherit; color: var(--wk-ink); }
#view .wcl-entry__ico { width: 32px; height: 32px; border-radius: 9px; background: rgba(53,99,224,.10); color: var(--wk-brand); display: flex; align-items: center; justify-content: center; }
#view .wcl-entry__ico svg { width: 18px; height: 18px; }
#view .wcl-entry__bd { flex: 1; min-width: 0; }
#view .wcl-entry__bd b { display: block; font-size: 13.5px; font-weight: 600; }
#view .wcl-entry__bd em { display: block; font-style: normal; font-size: 11px; color: var(--wk-ink-4); margin-top: 2px; }
#view .wcl-entry__go { font-size: 12px; color: var(--wk-brand); }

/* v=941 店铺页细化 */
#view .shop-sort.is-on { background: var(--wk-brand); color: #fff; font-weight: 600; }
#view .shop-pd { position: relative; }
#view .shop-pd__tag { position: absolute; left: 6px; top: 6px; font-style: normal; font-size: 9.5px; line-height: 16px; padding: 0 5px; border-radius: 4px; background: rgba(15,23,42,.55); color: #fff; backdrop-filter: blur(2px); max-width: calc(100% - 12px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .shop-pd__m u { margin-left: auto; text-decoration: none; font-size: 10.5px; color: var(--wk-brand); }

/* 服务少的店：单列横向卡，避免两列留空洞 */
#view .shop-grid.is-list { grid-template-columns: 1fr; }
#view .shop-pd--wide { display: flex; gap: 10px; align-items: stretch }
#view .shop-pd--wide .shop-pd__pic { aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; position: relative }
#view .shop-pd--wide .shop-pd__bd { flex: 1; min-width: 0; padding: 2px 0 0; display: flex; flex-direction: column; }
#view .shop-pd--wide .shop-pd__n { font-size: 13.5px; min-height: 0; }
#view .shop-pd--wide .shop-pd__m { margin-top: auto; }
#view .shop-pd--wide .shop-pd__m b { font-size: 18px; }
#view .shop-pd--wide .shop-pd__s { margin-top: 4px; }

/* v=942 店铺页：激活态统一 / 图更大 */
#view .shop-cat.is-on { background: var(--wk-brand); border-color: var(--wk-brand); color: #fff; font-weight: 600; }
#view .shop-cat.is-on em { color: rgba(255,255,255,.8); }
#view .shop-pd--wide .shop-pd__pic { width: 118px; flex: 0 0 118px; }
#view .shop-sorts { gap: 8px; }

/* ══ v=947 俱乐部店铺 v2（Banner / 店铺卡 / 跑马灯 / tabs / 达人卡 / 榜单 / 底栏）══ */
#view .shop { padding-bottom: 6px; }

/* Banner */
#view .shop-banner { position: relative; color: #fff; overflow: hidden }
#view .shop-banner::after { width: 132px; height: 132px; border-radius: 50%; background: rgba(255,255,255,.07) }
#view .shop-banner__txt b { display: block }
#view .shop-banner__txt i { display: inline-block; font-style: normal; font-weight: 700 }
#view .shop-banner__btn { position: absolute }

/* 店铺信息卡（压住 banner 下沿） */
#view .shop-hd { position: relative; background: var(--wk-card); z-index: 2 }

#view .shop-hd__back { background: rgba(53,99,224,.10); }

/* 跑马灯 */
#view .shop-marquee { display: flex; align-items: center; overflow: hidden }
#view .shop-marquee > span { display: flex; align-items: center; gap: 6px; white-space: nowrap; animation: shoprun 18s linear infinite }
#view .shop-marquee svg { width: 13px; height: 13px; color: var(--wk-brand); flex: 0 0 auto; }
#view .shop-marquee b { font-weight: 500; color: var(--wk-brand) }
@keyframes shoprun { 0% { transform: translateX(0); } 100% { transform: translateX(-40%); } }

/* tabs */
#view .shop-tabs { position: sticky; top: 0; z-index: 4; display: flex }
#view .shop-tab { border: 0; background: none; font-family: inherit; position: relative }
#view .shop-tab em { font-style: normal; color: var(--wk-ink-4) }

#view .shop-tab.is-on em { color: var(--wk-brand); }
#view .shop-tab.is-on::after { content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 20px; height: 3px; border-radius: 2px; background: var(--wk-brand); }

/* 达人卡 */
#view .shop-tks { display: flex; flex-direction: column }
#view .shop-tk { display: flex; gap: 10px; width: 100%; background: var(--wk-card); text-align: left; font: inherit; color: var(--wk-ink) }
#view .shop-tk__av { position: relative; flex: 0 0 auto; }

#view .shop-tk__dot { position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; border-radius: 50%; background: #16a34a; border: 2px solid var(--wk-card); }
#view .shop-tk__bd { flex: 1; min-width: 0; }
#view .shop-tk__n { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
#view .shop-tk__n b { font-weight: 600; max-width: 9em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
#view .shop-tk__role {
  font-style: normal
}
#view .shop-tk__role.is-owner { background: rgba(240,163,24,.16); color: #8a5a00; }
#view .shop-tk__free {
  font-style: normal; background: rgba(22,163,74,.12); color: #0b7a34
}
#view .shop-tk__idle {
  font-style: normal; background: var(--wk-fill); color: var(--wk-ink-4)
}
#view .shop-tk__tags { display: flex; overflow: hidden }
#view .shop-tk__tags i { font-style: normal; padding: 0 6px; background: rgba(53,99,224,.08); color: var(--wk-brand); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 8em }
#view .shop-tk__tags i.is-svc { background: var(--wk-fill); color: var(--wk-ink-3); }
#view .shop-tk__m { display: block }
#view .shop-tk__r { text-align: right; display: flex; flex-direction: column }
#view .shop-tk__r b { font-weight: 700; color: var(--wk-danger); font-variant-numeric: tabular-nums }
#view .shop-tk__r em { font-style: normal; color: var(--wk-ink-4) }


/* 榜单 */
#view .shop-card { background: var(--wk-card); border-radius: 12px; padding: 12px 14px; margin-top: 10px; }
#view .shop-card__hd { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 4px; }
#view .shop-card__hd b { font-size: 14px; font-weight: 700; }
#view .shop-card__hd span { font-size: 10.5px; color: var(--wk-ink-4); }
#view .shop-rank__row { display: flex; align-items: center; gap: 9px; width: 100%; padding: 9px 0; border: 0; border-bottom: 1px solid var(--wk-line); background: none; font: inherit; color: var(--wk-ink); text-align: left; }
#view .shop-rank__row:last-child { border-bottom: 0; }
#view .shop-rank__no { width: 18px; text-align: center; font-size: 13px; font-weight: 700; font-style: normal; color: var(--wk-ink-4); }
#view .shop-rank__no.is-top { color: #f0a318; }
#view .shop-rank__av .wk-avatar { width: 34px; height: 34px; }
#view .shop-rank__bd { flex: 1; min-width: 0; }
#view .shop-rank__bd b { display: block; font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .shop-rank__bd em { font-style: normal; font-size: 10.5px; color: var(--wk-ink-4); }
#view .shop-rank__v { font-size: 11px; color: var(--wk-brand); }
#view .shop-empty-line { padding: 22px 0; text-align: center; font-size: 11.5px; color: var(--wk-ink-4); }

/* 底栏 */
#view .shop-bar { position: fixed; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 4px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: var(--wk-card); border-top: 1px solid var(--wk-line) }
#view .shop-bar__i { flex: 0 0 52px; display: flex; flex-direction: column; align-items: center; gap: 2px; border: 0; background: none; color: var(--wk-ink-3); font: inherit; }
#view .shop-bar__i svg { width: 19px; height: 19px; }
#view .shop-bar__i em { font-style: normal; font-size: 9.5px; }
#view .shop-bar__cta { flex: 1; height: 40px; margin-left: 4px; border: 0; color: #fff; font-weight: 600 }

/* v=948 banner 按钮不被压边卡遮住 + 底栏压在导航之上 */


#view .shop-bar { z-index: 30; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }

/* ══ v=949 社区首页（帖子 / 视频 / 攻略 / 热榜）══ */
#view .cm-tabs { position: sticky; top: 0; z-index: 5; display: flex; margin: -10px -10px 0; background: var(--wk-bg) }
#view .cm-tab { border: 0; background: none; font-family: inherit; color: var(--wk-ink-3); position: relative }
#view .cm-tab.is-on { color: var(--wk-ink); font-weight: 700 }
#view .cm-tab.is-on::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); border-radius: 2px; background: var(--wk-brand) }

#view .cm-pins { background: var(--wk-card) }
#view .cm-pin { display: flex; align-items: center; gap: 8px; width: 100%; border: 0; border-bottom: 1px solid var(--wk-line); background: none; font: inherit; color: var(--wk-ink); text-align: left }
#view .cm-pin:last-child { border-bottom: 0; }
#view .cm-pin i { flex: 0 0 auto; font-style: normal; font-size: 9.5px; line-height: 16px; padding: 0 5px; border-radius: 4px; background: rgba(124,92,252,.14); color: #6d4bd8; font-weight: 600; }
#view .cm-pin b { flex: 1; min-width: 0; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
#view .cm-pin svg { width: 14px; height: 14px; color: var(--wk-ink-4); transform: rotate(-90deg); flex: 0 0 auto; }

#view .cm-feed { margin-top: 10px; display: flex; flex-direction: column }
#view .cm-p { background: var(--wk-card) }
#view .cm-p__hd { display: flex; align-items: center; gap: 8px; }
#view .cm-p__who { flex: 1; min-width: 0; }
#view .cm-p__name { display: flex; align-items: center; gap: 4px; font-weight: 600; color: var(--wk-ink); overflow: hidden }
#view .cm-p__lv { font-style: normal; font-size: 9px; line-height: 14px; padding: 0 4px; border-radius: 3px; background: rgba(53,99,224,.12); color: var(--wk-brand); font-weight: 600; }
#view .cm-p__tm { display: block; font-size: 10.5px; color: var(--wk-ink-4); margin-top: 2px; }
#view .cm-p__more { flex: 0 0 auto; width: 26px; height: 26px; border: 0; background: none; color: var(--wk-ink-4); display: flex; align-items: center; justify-content: center; }
#view .cm-p__more svg { width: 16px; height: 16px; }
#view .cm-p__bd { margin-top: 8px; }
#view .cm-p__t { margin: 0 0 4px }
#view .cm-p__b { margin: 0; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-wrap }
#view .cm-p__tps { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
#view .cm-p__tp { border: 0; font-size: 11.5px; line-height: 22px; padding: 0 8px; border-radius: 5px; font-family: inherit }

#view .cm-p__imgs { display: grid; gap: 4px; margin-top: 9px; }
#view .cm-p__imgs.is-one { grid-template-columns: 1fr; }
#view .cm-p__imgs.is-two { grid-template-columns: 1fr 1fr; }
#view .cm-p__imgs.is-many { grid-template-columns: repeat(3, 1fr); }
#view .cm-p__img {
  display: block; overflow: hidden; aspect-ratio: 4 / 3
}
#view .cm-p__imgs.is-one .cm-p__img { aspect-ratio: 16 / 10; }
#view .cm-p__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

#view .cm-p__ft { display: flex; align-items: center }
#view .cm-p__ab { display: flex; align-items: center; border: 0; background: none; font: inherit; padding: 2px 0 }


#view .cm-p__kind { margin-left: auto; font-style: normal; font-size: 9.5px; line-height: 17px; padding: 0 6px; border-radius: 4px; background: var(--wk-fill); color: var(--wk-ink-3); }

/* 热榜 */
#view .cm-search-hd { padding: 16px 2px 10px; }
#view .cm-search-hd b { display: block; font-weight: 800 }
#view .cm-search-hd em { display: block; margin-top: 4px; font-style: normal; font-size: 11px; color: var(--wk-ink-4); }
#view .cm-rk-sw { display: flex; gap: 8px; margin-bottom: 10px; }
#view .cm-rk-sw__i { flex: 1; border: 1px solid var(--wk-line); background: var(--wk-card); font: inherit; color: var(--wk-ink-3) }
#view .cm-rk-sw__i.is-on { background: rgba(124,92,252,.10); border-color: rgba(124,92,252,.4); color: #6d4bd8; font-weight: 600; }
#view .cm-rk-list { background: var(--wk-card) }
#view .cm-rk { display: flex; align-items: center; width: 100%; border: 0; border-bottom: 1px solid var(--wk-line); background: none; font: inherit; color: var(--wk-ink); text-align: left }
#view .cm-rk:last-child { border-bottom: 0; }
#view .cm-rk__no { text-align: center; font-style: normal; font-weight: 800; color: var(--wk-ink-4) }
#view .cm-rk__no.is-top { color: #ef4b3f; }
#view .cm-rk__bd { flex: 1; min-width: 0; }
#view .cm-rk__bd b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; line-height: 1.45 }
#view .cm-rk__bd em { display: block; margin-top: 3px; font-style: normal; font-size: 10.5px; color: var(--wk-brand); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .cm-rk__m { display: inline-flex; align-items: center; margin-top: 3px; font-size: 10.5px; color: var(--wk-ink-4) }
#view .cm-rk__m svg { width: 12px; height: 12px; }

#view .cm-rk__pic img { width: 100%; height: 100%; object-fit: cover; }

#view .cm-empty { padding: 30px 0; text-align: center; font-size: 12px; color: var(--wk-ink-4); }

/* v=950 社区：视频帖 / 互动加强 */
#view .cm-p__video { position: relative; margin-top: 9px; border-radius: 10px; overflow: hidden; aspect-ratio: 16 / 10 }
#view .cm-p__video video { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .cm-p__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 50%; display: flex; align-items: center; justify-content: center }
#view .cm-p__play svg { color: #fff }
#view .cm-p__video em { position: absolute; right: 8px; bottom: 8px; font-style: normal; font-size: 10.5px; color: #fff; background: rgba(0,0,0,.5); border-radius: 4px; padding: 0 5px; line-height: 16px; }
#view .cm-p__ab { font-size: 12.5px }
#view .cm-p__ab svg { width: 18px; height: 18px; }

/* v=951 热榜：热度列与缩略图列统一 */
#view .cm-rk__pic { display: flex; align-items: center; justify-content: center; flex: 0 0 58px; width: 58px; height: 58px; border-radius: 8px; overflow: hidden; background: var(--wk-fill); }
#view .cm-rk__pic b { font-size: 20px; color: var(--wk-brand); font-weight: 700; }
#view .cm-rk__v { flex: 0 0 56px; text-align: right; font-weight: 700; color: var(--wk-danger); font-variant-numeric: tabular-nums }
#view .cm-rk__v i {
  display: block; font-style: normal; font-size: 9.5px; font-weight: 400
}
#view .cm-rk__m { gap: 8px; }

/* ═══════════ v=952 视觉精修：店铺页 + 社区 统一设计语言 ═══════════ */
/* 1) 店铺 Hero：深色渐变 + 水印 + 名号缎带 */
#view .shop-banner { margin: -10px -10px 0; padding: 18px 16px 46px; border-radius: 0 0 22px 22px;
  background: radial-gradient(120% 90% at 88% 6%, #3d5bd9 0%, rgba(61,91,217,0) 58%),
              linear-gradient(150deg, #0d1424 0%, #17233f 48%, #1f2c50 100%); }
#view .shop-banner::after { content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.055) 1px, transparent 1px); background-size: 14px 14px; opacity: .8; pointer-events: none; }
#view .shop-banner__txt { position: relative; z-index: 1; }
#view .shop-banner__txt b { font-weight: 800; letter-spacing: .5px; text-shadow: 0 2px 12px rgba(0,0,0,.35) }
#view .shop-banner__txt i { margin-top: 8px; height: 20px; line-height: 20px; border-radius: 4px; font-size: 10px; letter-spacing: .5px;
  background: linear-gradient(100deg, #ffe08a, #e8a92a); color: #4a2c00; padding: 0 9px; }
#view .shop-banner__btn { z-index: 1; right: 16px; top: 18px; bottom: auto; height: 28px; padding: 0 12px; border-radius: 999px;
  background: rgba(255,255,255,.16); color: #fff; border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(6px); font-size: 11px; font-weight: 600; }

/* 2) 店铺卡：更紧的层级 */
#view .shop-hd { margin-top: -30px; border-radius: 16px; padding: 13px 14px }
#view .shop-hd__logo { width: 54px; height: 54px; border-radius: 15px; font-size: 22px; }
#view .shop-hd__n b { font-size: 16.5px; letter-spacing: .2px; }
#view .shop-hd__score { background: linear-gradient(135deg,#ffe08a,#f0a318); color: #4a2c00; font-weight: 800; }
#view .shop-hd__m { font-size: 11px; letter-spacing: .1px; }
#view .shop-hd__back { font-size: 11px; padding: 7px 11px; border-radius: 999px; }

/* 3) 跑马灯：胶囊化 */
#view .shop-marquee { height: 32px; border-radius: 10px; background: rgba(53,99,224,.06) }
#view .shop-marquee b { font-size: 11px; letter-spacing: .2px; }

/* 4) Tabs：分段滑块感 */
#view .shop-tabs { margin: 12px -10px 0; padding: 0 10px; gap: 4px; background: var(--wk-bg); border-bottom: 0; }
#view .shop-tab { height: 40px; font-size: 13.5px; border-radius: 9px; margin-bottom: 6px }

#view .shop-tab.is-on::after { display: none; }
#view .shop-tab em { margin-left: 3px; font-size: 9.5px; }

/* 5) 达人卡：更精致的层级 */
#view .shop-tks { gap: 9px; margin-top: 8px; }
#view .shop-tk { border-radius: 14px }
#view .shop-tk__av .wk-avatar { width: 48px; height: 48px; border-radius: 14px; }
#view .shop-tk__n b { font-size: 14.5px; letter-spacing: .2px; }
#view .shop-tk__role, #view .shop-tk__free, #view .shop-tk__idle { font-size: 9px; line-height: 16px; padding: 0 6px; border-radius: 999px; }
#view .shop-tk__tags { margin-top: 6px; gap: 4px; }
#view .shop-tk__tags i { font-size: 10px; line-height: 19px; border-radius: 5px; font-weight: 500; }
#view .shop-tk__m { font-size: 10.5px; margin-top: 6px; letter-spacing: .1px; }
#view .shop-tk__r { padding-top: 2px }
#view .shop-tk__r b { font-size: 18px; letter-spacing: -.2px; }
#view .shop-tk__r b::before { content: '¥'; font-size: 11px; margin-right: 1px; }

#view .shop-tk__r em { font-size: 9.5px; }

/* 6) 服务网格卡 */
#view .shop-grid { gap: 9px; }
#view .shop-pd { border-radius: 14px; padding-bottom: 9px; box-shadow: 0 1px 3px rgba(16,24,40,.05); }
#view .shop-pd__bd { padding: 8px 10px 0; }
#view .shop-pd__n { font-size: 12.5px; line-height: 1.42; }
#view .shop-pd__m b { font-size: 17px; }
#view .shop-pd--wide { padding: 11px; }

/* 7) 底栏 */
#view .shop-bar { box-shadow: 0 -4px 16px rgba(13,20,36,.06); }
#view .shop-bar__cta { border-radius: 12px; background: linear-gradient(135deg,#4a7bf5,#2f56d0); box-shadow: 0 4px 12px rgba(53,99,224,.28); font-size: 14.5px; letter-spacing: .5px; }

/* 8) 社区 tabs：更轻 */
#view .cm-tabs { gap: 20px; padding: 0 14px; border-bottom: 0; }
#view .cm-tab { height: 44px; font-size: 15px; }
#view .cm-tab.is-on { font-size: 16.5px; }
#view .cm-tab.is-on::after { bottom: 5px; width: 18px; height: 3.5px; }

/* 9) 社区置顶：紧凑列表 */
#view .cm-pins { margin-top: 8px; padding: 0 12px; border-radius: 12px; }
#view .cm-pin { padding: 9px 0; }
#view .cm-pin b { font-size: 12.5px; }

/* 10) 帖子卡 */
#view .cm-feed { gap: 9px; }
#view .cm-p { border-radius: 16px; padding: 13px 13px 7px }
#view .cm-p__name { font-size: 13.5px; letter-spacing: .1px; }
#view .cm-p__t { line-height: 1.45 }

#view .cm-p__img, #view .cm-p__imgs.is-one .cm-p__img { border-radius: 10px; }
#view .cm-p__ft { gap: 20px; padding: 10px 2px 5px; }
#view .cm-p__ab { gap: 5px; }


/* 11) 热榜 */
#view .cm-search-hd b { font-size: 21px; letter-spacing: .5px; }
#view .cm-rk-sw__i { height: 34px; border-radius: 999px; font-size: 12.5px; }
#view .cm-rk-list { padding: 6px 14px; border-radius: 16px; }
#view .cm-rk { padding: 12px 0; gap: 12px; }
#view .cm-rk__no { font-size: 15px; flex: 0 0 22px; }
#view .cm-rk__bd b { font-size: 13.5px; }
#view .cm-rk__v { font-size: 14px; }

/* ══ v=953 视觉规范收紧 ══ */
#view .shop-tk { align-items: center; border: 1px solid #eaeef6 }
#view .shop-tk__bd { padding-right: 6px; }
#view .shop-tk__r { flex: 0 0 84px; width: 84px; align-items: flex-end; gap: 7px; }
#view .shop-tk__price { display: flex; align-items: baseline; gap: 1px; color: var(--wk-danger); }
#view .shop-tk__price::before { content: '¥'; font-size: 11px; font-weight: 600; }
#view .shop-tk__price b { font-size: 19px; font-weight: 800; letter-spacing: -.3px; font-variant-numeric: tabular-nums; }
#view .shop-tk__price i { font-style: normal; font-size: 10px; color: var(--wk-ink-4); margin-left: 2px; }
#view .shop-tk__price.is-off { color: var(--wk-ink-4); font-size: 13px; font-weight: 500; }
#view .shop-tk__price.is-off::before { content: ''; }
#view .shop-tk__r u { text-decoration: none; display: inline-block; font-size: 11px; line-height: 24px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(53,99,224,.22) }
#view .shop-tk__r u.is-off { color: var(--wk-ink-4); background: var(--wk-fill); border-color: transparent; }
#view .shop-tk.is-off { opacity: .82; }
#view .shop-tk.is-off .shop-tk__n b { color: var(--wk-ink-2); }
#view .shop-tk__tags i.is-more { background: var(--wk-fill); color: var(--wk-ink-4); }
#view .shop-hd { border: 1px solid #eef1f7; }
#view .shop-end { text-align: center; font-size: 11px; padding: 16px 0 6px; letter-spacing: .3px }
#view .shop-safe { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 4px; padding: 10px; font-size: 10.5px }
#view .shop-safe svg { width: 13px; height: 13px; opacity: .7; }
#view .shop-banner__txt b { font-size: 22px; }

/* ══ v=954 对比度 / 间距 / 阴影统一 ══ */
#view .shop-tk__m { color: #667085; }
#view .shop-tk__role { background: #f2f4f7; color: #475467; }
#view .shop-end { color: #98a2b3; }
#view .shop-safe { color: #98a2b3; }
#view .shop-hd__m { color: #667085; }
#view .shop-marquee { margin-top: 14px; }
#view .shop-marquee > span { padding-left: 12px; }
#view .shop-tk { padding: 12px 14px; }
#view .shop-tk__r u { background: var(--wk-brand); border-color: var(--wk-brand); color: #fff; font-weight: 600; }
#view .shop-hd { box-shadow: 0 8px 24px rgba(17,24,39,.07); }
#view .shop-tk { box-shadow: 0 2px 8px rgba(17,24,39,.05); }
#view .shop-tab { color: #667085; }
#view .shop-tab.is-on { background: rgba(53,99,224,.10); color: #2f56d0; font-weight: 600; }
/* 社区对比度 */
#view .cm-p__tm, #view .cm-rk__v i { color: #98a2b3; }

#view .cm-pin b { color: #1f2430; }
#view .cm-p__ab { color: #667085; }

/* ══ v=955 社区帖子卡质感 ══ */
#view .cm-p { box-shadow: 0 2px 10px rgba(16,24,40,.045); border: 1px solid #f0f2f7; }
#view .cm-p__t { font-size: 15.5px; font-weight: 700; color: #101828; letter-spacing: -.1px; }
#view .cm-p__b { color: #4a5462; line-height: 1.58; font-size: 13.5px; }
#view .cm-p__tp { background: rgba(47,86,208,.085); color: #2f56d0; font-weight: 500; }
#view .cm-p__off { font-style: normal; font-size: 9px; line-height: 15px; padding: 0 5px; border-radius: 3px; font-weight: 700;
  background: linear-gradient(135deg,#ffe08a,#efab25); color: #4a2c00; }
#view .cm-p__img { background: linear-gradient(135deg,#eef2f8,#e3e9f3); }
#view .cm-p__video { background: #12161f; }
#view .cm-p__video img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .cm-p__play { width: 46px; height: 46px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35); backdrop-filter: blur(6px); }
#view .cm-p__play svg { width: 20px; height: 20px; filter: drop-shadow(0 1px 3px rgba(0,0,0,.4)); }
#view .cm-p__ft { border-top: 1px solid #f4f6fa; margin-top: 2px; padding-top: 8px; }
#view .cm-p__ab.is-on { color: #e5484d; }

/* ══ v=956 俱乐部公告（列表 / 详情）+ 独立客服 ══ */
#view .cn-wrap { padding-bottom: 10px; }
#view .cn-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 10px; scrollbar-width: none; }
#view .cn-tabs::-webkit-scrollbar { display: none; }
#view .cn-tab { flex: 0 0 auto; height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--wk-line); background: var(--wk-card);
  color: #5b6472; font: inherit; font-size: 12px; }
#view .cn-tab em { font-style: normal; font-size: 9.5px; color: #98a2b3; margin-left: 3px; }
#view .cn-tab.is-on { background: var(--wk-brand); border-color: var(--wk-brand); color: #fff; font-weight: 600; }
#view .cn-tab.is-on em { color: rgba(255,255,255,.8); }

#view .cn-list { display: flex; flex-direction: column; gap: 9px; }
#view .cn-card { display: flex; gap: 11px; width: 100%; padding: 13px; background: var(--wk-card); border: 1px solid #f0f2f7;
  border-radius: 14px; box-shadow: 0 2px 8px rgba(17,24,39,.045); text-align: left; font: inherit; color: var(--wk-ink); }
#view .cn-card__ic { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
#view .cn-card__ic svg { width: 17px; height: 17px; }
#view .cn-card__ic.is-red { background: rgba(229,72,77,.10); color: #d9363e; }
#view .cn-card__ic.is-blue { background: rgba(53,99,224,.10); color: var(--wk-brand); }
#view .cn-card__ic.is-gold { background: rgba(240,163,24,.14); color: #b47407; }
#view .cn-card__bd { flex: 1; min-width: 0; }
#view .cn-card__hd { display: flex; align-items: center; gap: 5px; }
#view .cn-card__hd b { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .cn-card__hd i { flex: 0 0 auto; font-style: normal; font-size: 9px; line-height: 15px; padding: 0 5px; border-radius: 3px }
#view .cn-card__tm { display: block; font-size: 10px; color: #98a2b3; margin-top: 3px; }
#view .cn-card__body { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 5px; font-size: 12px; line-height: 1.55; color: #4a5462; }

#view .cn-card__go svg { width: 15px; height: 15px; }

#view .cn-detail { background: var(--wk-card); border-radius: 16px; padding: 16px 16px 18px; margin-top: 2px; }
#view .cn-detail__kind { display: inline-block; font-size: 10.5px; line-height: 20px; padding: 0 8px; border-radius: 5px; font-weight: 600; }
#view .cn-detail__kind.is-red { background: rgba(229,72,77,.10); color: #d9363e; }
#view .cn-detail__kind.is-blue { background: rgba(53,99,224,.10); color: var(--wk-brand); }
#view .cn-detail__kind.is-gold { background: rgba(240,163,24,.14); color: #b47407; }
#view .cn-detail h1 { margin: 12px 0 8px; font-size: 19px; line-height: 1.45; font-weight: 700; letter-spacing: -.2px; color: #101828; }
#view .cn-detail__meta { font-size: 11px; color: #98a2b3; }
#view .cn-detail__body { margin-top: 14px; padding-top: 14px; border-top: 1px solid #f2f4f8; }
#view .cn-detail__body p { margin: 0 0 10px; font-size: 14px; line-height: 1.75; color: #344054; }
#view .cn-detail__back { width: 100%; height: 42px; margin-top: 10px; border-radius: 11px; border: 1px solid var(--wk-line); background: var(--wk-card); color: #344054; font: inherit; font-size: 14px; }

/* v=957 公告卡箭头 + 图标补齐 */
#view .cn-card__go { align-self: center; color: #c3cad6; font-size: 20px; line-height: 1; transform: none; font-family: -apple-system, sans-serif; }
#view .cn-card__go svg { display: none; }
#view .cn-card__hd i { background: rgba(240,163,24,.14); color: #a06a00; }

/* v=958 公告卡：字符图标（不依赖图片资源，永远可见） */
#view .cn-card__ic { font-size: 15px; font-weight: 700; letter-spacing: 0; }

/* ══ v=959 社区活动位 ══ */
#view .cm-promo { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 10px; padding: 12px 14px; border: 0;
  border-radius: 14px; text-align: left; font: inherit; color: #fff;
  background: radial-gradient(120% 120% at 92% 0%, #4a5bd6 0%, rgba(74,91,214,0) 60%), linear-gradient(120deg, #1a2244, #2b2f66 60%, #3a2d63); }
#view .cm-promo__tag { flex: 0 0 auto; font-size: 9.5px; line-height: 18px; padding: 0 7px; border-radius: 4px;
  background: linear-gradient(135deg,#ffe08a,#efab25); color: #4a2c00; font-weight: 700; }
#view .cm-promo__bd { flex: 1; min-width: 0; }
#view .cm-promo__bd b { display: block; font-size: 13.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .cm-promo__bd em { display: block; margin-top: 3px; font-style: normal; font-size: 10.5px; color: rgba(255,255,255,.66); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .cm-promo__go { flex: 0 0 auto; font-size: 11px; color: #fff; opacity: .85; }

/* ══ v=962 发帖器 ══ */
#view .pn { background: var(--wk-card); border-radius: 16px; padding: 14px; margin-top: 2px; }
#view .pn-title { width: 100%; border: 0; font: inherit; font-size: 17px; font-weight: 700; color: #101828; padding: 6px 0 10px; border-bottom: 1px solid #f2f4f8; }
#view .pn-title::placeholder { color: #c3cad6; font-weight: 600; }
#view .pn-body { width: 100%; border: 0; font: inherit; font-size: 14.5px; line-height: 1.7; color: #344054; padding: 12px 0; resize: none; }
#view .pn-body::placeholder { color: #c3cad6; }
#view .pn-imgs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 4px 0 12px; }
#view .pn-img { position: relative; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--wk-fill); }
#view .pn-img img { width: 100%; height: 100%; object-fit: cover; }
#view .pn-img button { position: absolute; right: 3px; top: 3px; width: 20px; height: 20px; border: 0; border-radius: 50%; background: rgba(0,0,0,.5); color: #fff; font-size: 13px; line-height: 1; }
#view .pn-add { aspect-ratio: 1; border: 1px dashed #d3dae6; border-radius: 10px; background: #fafbfd; color: #98a2b3; font-size: 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
#view .pn-add em { font-style: normal; font-size: 10px; }
#view .pn-row { margin-top: 4px; }
#view .pn-input { width: 100%; height: 40px; border: 1px solid var(--wk-line); border-radius: 10px; padding: 0 12px; font: inherit; font-size: 13px; }
#view .pn-tip { margin-top: 12px; font-size: 11px; color: #98a2b3; line-height: 1.6; }
#view .pn-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: var(--wk-card); border-top: 1px solid var(--wk-line); }
#view .pn-pub { width: 100%; height: 44px; border: 0; border-radius: 12px; background: linear-gradient(135deg,#4a7bf5,#2f56d0); color: #fff; font: inherit; font-size: 15px; font-weight: 700; letter-spacing: .5px; }

/* ══ v=962 俱乐部公告管理 ══ */
#view .cmg { padding-bottom: 14px; }
#view .cmg-new { width: 100%; height: 42px; border: 1px dashed rgba(53,99,224,.4); border-radius: 12px; background: rgba(53,99,224,.05); color: var(--wk-brand); font: inherit; font-size: 13.5px; font-weight: 600; margin: 2px 0 12px; }
#view .cmg-form { background: var(--wk-card); border-radius: 14px; padding: 14px; margin-bottom: 12px; border: 1px solid #eef1f7; }
#view .cmg-form__hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
#view .cmg-form__hd b { font-size: 15px; }
#view .cmg-form__hd button { border: 0; background: none; color: #667085; font: inherit; font-size: 12.5px; }
#view .cmg-kinds { display: flex; gap: 6px; margin-bottom: 10px; flex-wrap: wrap; }
#view .cmg-kind { height: 28px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--wk-line); background: var(--wk-card); font: inherit; font-size: 11.5px; color: #5b6472; }
#view .cmg-kind.is-on { background: var(--wk-brand); border-color: var(--wk-brand); color: #fff; font-weight: 600; }
#view .cmg-input, #view .cmg-textarea { width: 100%; border: 1px solid var(--wk-line); border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 13.5px; margin-bottom: 8px; }
#view .cmg-textarea { line-height: 1.65; resize: vertical; }
#view .cmg-pin { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: #475467; margin: 2px 0 12px; }
#view .cmg-save { width: 100%; height: 40px; border: 0; border-radius: 10px; background: var(--wk-brand); color: #fff; font: inherit; font-size: 14px; font-weight: 600; }
#view .cmg-list { display: flex; flex-direction: column; gap: 9px; }
#view .cmg-item { background: var(--wk-card); border: 1px solid #f0f2f7; border-radius: 13px; padding: 12px 13px; box-shadow: 0 2px 8px rgba(17,24,39,.04); }
#view .cmg-item.is-off { opacity: .6; }
#view .cmg-item__hd { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
#view .cmg-item__hd b { font-size: 13.5px; font-weight: 600; }
#view .cmg-item__hd i { font-style: normal; font-size: 9px; line-height: 15px; padding: 0 5px; border-radius: 3px; background: rgba(240,163,24,.14); color: #a06a00; }
#view .cmg-item__hd i.is-off { background: var(--wk-fill); color: #98a2b3; }
#view .cmg-item__m { margin-top: 4px; font-size: 10.5px; color: #98a2b3; }
#view .cmg-item__ops { display: flex; gap: 8px; margin-top: 9px; }
#view .cmg-item__ops button { height: 28px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--wk-line); background: var(--wk-card); font: inherit; font-size: 11.5px; color: #475467; }
#view .cmg-empty { text-align: center; font-size: 12px; color: #98a2b3; padding: 24px 0; }
#view .cmg-pick { display: flex; flex-direction: column; gap: 9px; }
#view .cmg-pick__i { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 13px; border: 1px solid #f0f2f7; background: var(--wk-card); font: inherit; text-align: left; }
#view .cmg-pick__lg { width: 40px; height: 40px; border-radius: 11px; background: rgba(53,99,224,.10); color: var(--wk-brand); display: flex; align-items: center; justify-content: center; font-weight: 700; overflow: hidden; }
#view .cmg-pick__lg img { width: 100%; height: 100%; object-fit: cover; }
#view .cmg-pick__i b { flex: 1; font-size: 14px; }
#view .cmg-pick__i em { font-style: normal; font-size: 11.5px; color: var(--wk-brand); }

/* v=963 发帖器板块选择 */
#view .pn-secs { display: flex; gap: 6px; overflow-x: auto; padding: 8px 0 10px; scrollbar-width: none; border-bottom: 1px solid #f2f4f8; }
#view .pn-secs::-webkit-scrollbar { display: none; }
#view .pn-sec { flex: 0 0 auto; height: 28px; padding: 0 11px; border-radius: 999px; border: 1px solid var(--wk-line); background: var(--wk-card); font: inherit; font-size: 11.5px; color: #5b6472; }
#view .pn-sec.is-on { background: rgba(53,99,224,.10); border-color: rgba(53,99,224,.35); color: var(--wk-brand); font-weight: 600; }

/* ══ v=965 店铺：群聊 / 优惠券 ══ */
#view .shop-tabs { overflow-x: auto; scrollbar-width: none; }
#view .shop-tabs::-webkit-scrollbar { display: none; }
#view .shop-tab { flex: 0 0 auto; padding: 0 12px; min-width: 64px; }

#view .shop-groups { display: flex; flex-direction: column; gap: 9px; margin-top: 8px; }
#view .shop-grp { display: flex; align-items: center; gap: 11px; padding: 12px 13px; background: var(--wk-card); border: 1px solid #f0f2f7; border-radius: 14px; box-shadow: 0 2px 8px rgba(17,24,39,.045); }
#view .shop-grp__av { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 12px; background: rgba(53,99,224,.10); color: var(--wk-brand); display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 700; }
#view .shop-grp__bd { flex: 1; min-width: 0; }
#view .shop-grp__bd b { display: block; font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .shop-grp__bd em { display: block; margin-top: 3px; font-style: normal; font-size: 11px; color: #667085; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .shop-grp__m { display: block; margin-top: 3px; font-size: 10.5px; color: #98a2b3; }
#view .shop-grp__btn { flex: 0 0 auto; height: 30px; padding: 0 12px; border-radius: 999px; border: 0; background: var(--wk-brand); color: #fff; font: inherit; font-size: 11.5px; font-weight: 600; }
#view .shop-grp__btn.is-off { background: var(--wk-fill); color: #98a2b3; }

#view .shop-cps { display: flex; flex-direction: column; gap: 9px; margin-top: 8px; }
#view .shop-cp { display: flex; align-items: center; gap: 11px; padding: 12px 13px; background: var(--wk-card); border: 1px solid #fde9d3;
  border-radius: 14px; background-image: linear-gradient(90deg, rgba(255,236,214,.55), rgba(255,255,255,0) 42%); }
#view .shop-cp__amt { flex: 0 0 58px; text-align: center; color: var(--wk-danger); }
#view .shop-cp__amt b { font-size: 26px; font-weight: 800; letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
#view .shop-cp__amt i { font-style: normal; font-size: 11px; margin-left: 1px; }
#view .shop-cp__bd { flex: 1; min-width: 0; }
#view .shop-cp__bd b { display: block; font-size: 13.5px; font-weight: 600; }
#view .shop-cp__bd em { display: block; margin-top: 3px; font-style: normal; font-size: 11px; color: #667085; }
#view .shop-cp__m { display: block; margin-top: 3px; font-size: 10.5px; color: #98a2b3; }
#view .shop-cp__btn { flex: 0 0 auto; height: 30px; padding: 0 14px; border-radius: 999px; border: 0;
  background: linear-gradient(135deg, #ff8a5b, #ef4b3f); color: #fff; font: inherit; font-size: 12px; font-weight: 700; }
#view .shop-cp__btn.is-off { background: var(--wk-fill); color: #98a2b3; }

/* v=970 公告管理：状态筛选 */
#view .cmg-filters { display: flex; gap: 6px; margin: 0 0 10px; }
#view .cmg-filter { height: 28px; padding: 0 11px; border-radius: 999px; border: 1px solid var(--wk-line); background: var(--wk-card); font: inherit; font-size: 11.5px; color: #5b6472; }
#view .cmg-filter.is-on { background: rgba(53,99,224,.10); border-color: rgba(53,99,224,.32); color: var(--wk-brand); font-weight: 600; }

/* ══ v=971 俱乐部管理系统 ══ */
#view .ca-hd { display: flex; align-items: center; gap: 10px; padding: 4px 2px 12px; }
#view .ca-hd__t { flex: 1; min-width: 0; }
#view .ca-hd__t b { display: block; font-size: 18px; font-weight: 700; color: #101828; letter-spacing: -.2px; }
#view .ca-hd__t em { display: inline-block; margin-top: 4px; font-style: normal; font-size: 10.5px; padding: 1px 7px; border-radius: 4px; background: rgba(53,99,224,.10); color: var(--wk-brand); font-weight: 600; }
#view .ca-hd__btn { height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--wk-line); background: var(--wk-card); font: inherit; font-size: 11.5px; color: #475467; }
#view .ca-tabs { display: flex; gap: 16px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--wk-line) }
#view .ca-tabs::-webkit-scrollbar { display: none; }
#view .ca-tab { flex: 0 0 auto; position: relative; padding: 0 0 9px; border: 0; background: none; font: inherit; font-size: 13.5px; color: #667085; }
#view .ca-tab.is-on { color: #101828; font-weight: 700; }
#view .ca-tab.is-on::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); bottom: -1px; width: 18px; height: 2.5px; border-radius: 2px; background: var(--wk-brand); }
#view .ca-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
#view .ca-stat { background: var(--wk-card); border: 1px solid #f0f2f7; border-radius: 12px; text-align: center; box-shadow: 0 1px 4px rgba(17,24,39,.03) }
#view .ca-stat b { display: block; font-size: 19px; font-weight: 700; color: #101828; font-variant-numeric: tabular-nums; letter-spacing: -.3px; }
#view .ca-stat em {
  display: block; margin-top: 3px; font-style: normal; font-size: 10px
}
#view .ca-card { border: 1px solid #f0f2f7; border-radius: 14px; box-shadow: 0 2px 8px rgba(17,24,39,.04) }
#view .ca-card__hd { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 9px; }
#view .ca-card__hd b { font-size: 14px; font-weight: 700; }
#view .ca-card__hd em { font-style: normal; font-size: 11px; color: #98a2b3; }
#view .ca-card__hd button { border: 0; background: none; color: #667085; font: inherit; font-size: 12px; }
#view .ca-kv { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px dashed #f2f4f8; font-size: 12.5px; color: #475467 }
#view .ca-kv:last-child { border-bottom: 0; }
#view .ca-kv b { font-size: 13.5px; color: #101828; font-variant-numeric: tabular-nums; }
#view .ca-quick { display: grid; margin-top: 10px }
#view .ca-quick button { display: flex; border-radius: 13px; border: 1px solid #f0f2f7; font: inherit; text-align: left; box-shadow: 0 1px 4px rgba(17,24,39,.03) }
#view .ca-quick i { font-style: normal; font-size: 12px; font-weight: 700 }

#view .ca-search { display: flex; gap: 8px; margin-bottom: 10px; }
#view .ca-search input { flex: 1; height: 36px; border: 1px solid var(--wk-line); border-radius: 10px; padding: 0 12px; font: inherit; font-size: 12.5px; }
#view .ca-search button { height: 36px; padding: 0 14px; border-radius: 10px; border: 0; background: var(--wk-brand); color: #fff; font: inherit; font-size: 12.5px; }
#view .ca-list { display: flex; flex-direction: column; gap: 8px; }
#view .ca-mb { display: flex; align-items: center; gap: 10px; padding: 11px 12px; background: var(--wk-card); border: 1px solid #f0f2f7; border-radius: 13px; }
#view .ca-mb.is-edit { border-color: rgba(53,99,224,.35); }
#view .ca-mb__bd { flex: 1; min-width: 0; }
#view .ca-mb__n { display: flex; align-items: center; gap: 5px; }
#view .ca-mb__n b { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 120px; }
#view .ca-role { font-style: normal; font-size: 9px; line-height: 15px; padding: 0 5px; border-radius: 3px; background: var(--wk-fill); color: #667085; }
#view .ca-role.is-admin { background: rgba(53,99,224,.10); color: var(--wk-brand); }
#view .ca-off { font-style: normal; font-size: 9px; line-height: 15px; padding: 0 5px; border-radius: 3px; background: rgba(229,72,77,.10); color: var(--wk-danger); }
#view .ca-mb__m { display: block; margin-top: 4px; font-size: 10.5px; color: #98a2b3; }
#view .ca-mb__ops { display: flex; gap: 6px; }
#view .ca-mb__ops button { height: 26px; padding: 0 9px; border-radius: 7px; border: 1px solid var(--wk-line); background: var(--wk-card); font: inherit; font-size: 11px; color: #475467; }
#view .ca-roles { display: flex; gap: 6px; flex-wrap: wrap; margin: -3px 0 4px; padding: 8px 12px; background: #fafbfd; border: 1px solid #eef1f7; border-radius: 10px; }
#view .ca-rolechip { height: 26px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--wk-line); background: #fff; font: inherit; font-size: 11px; color: #5b6472; }
#view .ca-rolechip.is-on { background: var(--wk-brand); border-color: var(--wk-brand); color: #fff; font-weight: 600; }
#view .ca-pd { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--wk-card); border: 1px solid #f0f2f7; border-radius: 13px; }
#view .ca-pd__cv { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 10px; overflow: hidden; background: var(--wk-fill); }
#view .ca-pd__cv img { width: 100%; height: 100%; object-fit: cover; }
#view .ca-pd__bd { flex: 1; min-width: 0; }
#view .ca-pd__bd b {
  display: block; font-size: 13px; font-weight: 600
}
#view .ca-pd__m { display: block; margin-top: 3px; font-size: 10.5px; color: #98a2b3; }
#view .ca-pd__st { display: inline-block; margin-top: 4px; font-style: normal; font-size: 9px; padding: 0 5px; line-height: 15px; border-radius: 3px; background: var(--wk-fill); color: #667085; }
#view .ca-pd__st.is-on { background: rgba(22,163,74,.10); color: #0b7a34; }
#view .ca-pd__btn { flex: 0 0 auto; height: 28px; padding: 0 11px; border-radius: 8px; border: 1px solid var(--wk-line); background: var(--wk-card); font: inherit; font-size: 11.5px; color: #475467; }
#view .ca-pd__btn.is-off { color: var(--wk-brand); border-color: rgba(53,99,224,.3); }
#view .ca-od { padding: 11px 12px; background: var(--wk-card); border: 1px solid #f0f2f7; border-radius: 13px; }
#view .ca-od__hd { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
#view .ca-od__hd b { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .ca-od__hd em { font-style: normal; font-size: 13.5px; font-weight: 700; color: var(--wk-danger); font-variant-numeric: tabular-nums; }
#view .ca-od__m { display: flex; justify-content: space-between; margin-top: 5px; font-size: 10px; color: #98a2b3; }
#view .ca-od__f { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; font-size: 10.5px; color: #667085; }
#view .ca-od__st { font-style: normal; font-size: 9px; padding: 0 6px; line-height: 16px; border-radius: 3px; background: var(--wk-fill); color: #475467; }
#view .ca-new { width: 100%; height: 40px; border: 1px dashed rgba(53,99,224,.4); border-radius: 11px; background: rgba(53,99,224,.05); color: var(--wk-brand); font: inherit; font-size: 13px; font-weight: 600; margin-bottom: 10px; }
#view .ca-input, #view .ca-textarea { width: 100%; border: 1px solid var(--wk-line); border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 13px; margin-bottom: 8px; }
#view .ca-textarea { line-height: 1.6; resize: vertical; }
#view .ca-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#view .ca-lb { display: block; font-size: 11px; color: #667085; margin: 2px 0 5px; }
#view .ca-save { width: 100%; height: 40px; border: 0; border-radius: 10px; background: var(--wk-brand); color: #fff; font: inherit; font-size: 13.5px; font-weight: 600; }
#view .ca-tip {
  margin-top: 8px; font-size: 10.5px; line-height: 1.6
}
#view .ca-empty {
  text-align: center; font-size: 12px; padding: 26px 0
}
#view .ca-cp { display: flex; align-items: center; gap: 10px; padding: 11px 12px; background: var(--wk-card); border: 1px solid #fde9d3; border-radius: 13px; }
#view .ca-cp__amt { flex: 0 0 46px; font-size: 17px; font-weight: 800; color: var(--wk-danger); text-align: center; }
#view .ca-cp__bd { flex: 1; min-width: 0; }
#view .ca-cp__bd b { display: block; font-size: 13px; font-weight: 600; }
#view .ca-cp__bd span { display: block; margin-top: 3px; font-size: 10.5px; color: #98a2b3; }
#view .ca-cp__v { font-style: normal; font-size: 10px; color: #98a2b3; }

/* v=972 概览：更亮的底 + 纯白卡 + 趋势条 + 线性图标 */
#view .ca-quick button { background: #fff; }
#view .ca-quick i { background: rgba(53,99,224,.09); color: var(--wk-brand); display: flex; align-items: center; justify-content: center }

#view .ca-quick span { display: flex; flex-direction: column; color: #1d2939 }
#view .ca-quick span em { font-style: normal; font-size: 10px; font-weight: 400; color: #98a2b3; }
#view .ca-trend { display: flex; align-items: flex-end; justify-content: space-between; gap: 6px; padding: 6px 2px 2px; }
#view .ca-bar { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; }
#view .ca-bar i { width: 100%; max-width: 26px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg,#7ea2ff,#4a7bf5); min-height: 3px; }
#view .ca-bar:nth-last-child(-n+2) i { background: linear-gradient(180deg,#4a7bf5,#2f56d0); }
#view .ca-bar__v { font-size: 9.5px; color: #667085; line-height: 1; font-variant-numeric: tabular-nums; }
#view .ca-bar em {
  font-size: 9.5px; font-style: normal
}
#view .ca-card { background: #fff; }

/* v=973 概览：今日待办 + 趋势空态 */
#view .ca-todo__row { display: flex; align-items: center; gap: 9px; width: 100%; border: 0; border-bottom: 1px dashed #f2f4f8; background: none; font: inherit; text-align: left }
#view .ca-todo__row:last-child { border-bottom: 0; }
#view .ca-todo__row i { flex: 0 0 20px; width: 20px; height: 20px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 11px; font-weight: 700; background: var(--wk-fill); color: #667085; }
#view .ca-todo__row i.is-warn { background: rgba(245,165,36,.16); color: #8a5a00; }
#view .ca-todo__row span { flex: 1; font-size: 12.5px; color: #344054; }
#view .ca-todo__row b { font-size: 13px; color: #101828; font-variant-numeric: tabular-nums; }
#view .ca-todo__row em { font-style: normal; color: #c3cad6; font-size: 13px; margin-left: 2px; }
#view .ca-trend--empty { display: block; padding: 14px 2px 6px; font-size: 11.5px; color: #98a2b3; line-height: 1.6; }

/* v=974 修横向溢出：服务/成员行右侧按钮被挤出视口 */
#view .ca-body { overflow-x: hidden; }
#view .ca-pd, #view .ca-mb, #view .ca-cp, #view .ca-od { max-width: 100%; box-sizing: border-box; }
#view .ca-pd__bd { overflow: hidden; }
#view .ca-pd__bd b, #view .ca-pd__m { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .ca-mb__bd { overflow: hidden; }
#view .ca-mb__ops { flex: 0 0 auto; }
#view .ca-pd__btn { white-space: nowrap; }
#view .ca-tabs { max-width: 100%; }

/* v=975 概览首屏压缩：快捷入口四列一行，让趋势条进首屏 */
#view .ca-quick { grid-template-columns: repeat(4, 1fr); gap: 7px; }
#view .ca-quick button { flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 9px; }
#view .ca-quick i { width: 26px; height: 26px; border-radius: 8px; }
#view .ca-quick i svg { width: 15px; height: 15px; }
#view .ca-quick span { font-size: 11.5px; font-weight: 600; gap: 0; line-height: 1.3; }
#view .ca-quick span em { display: none; }
#view .ca-stat { padding: 10px 6px; }
#view .ca-card { margin-top: 9px; padding: 12px; }
#view .ca-kv { padding: 6px 0; }
#view .ca-todo__row { padding: 8px 0; }
#view .ca-hd { padding-bottom: 9px; }
#view .ca-tabs { margin-bottom: 10px; }
#view .ca-stat em, #view .ca-bar em, #view .ca-tip, #view .ca-empty { color: #7a8494; }

/* v=976 概览：经营数据 2x2 */
#view .ca-kv2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; margin: 4px 0 6px; }
#view .ca-kv2 span { display: flex; flex-direction: column; gap: 3px; padding: 8px 9px; background: #fafbfd; border-radius: 9px; }
#view .ca-kv2 em { font-style: normal; font-size: 10px; color: #7a8494; }
#view .ca-kv2 b { font-size: 14px; color: #101828; font-variant-numeric: tabular-nums; }


/* ══════════════════════════════════════════════════════════
   皮肤：古风 ink（墨黑 + 朱砂 + 鎏金；货币名：银票 / 银子）
   切换方式：html[data-skin="ink"]，由 app.js applySkin() 设置
   ══════════════════════════════════════════════════════════ */
html[data-skin="ink"]{
  --wk-bg:#14110f; --wk-card:#1b1714; --wk-card-2:#171310;
  --wk-line:#352c23; --wk-fill:#241f19;
  --wk-ink:#f2e8d5; --wk-ink-2:#c9ba9f; --wk-ink-3:#96876f; --wk-ink-4:#4a3f33;
  --wk-brand:#b23a2f; --wk-accent:#b23a2f; --wk-on-accent:#fdf6ea;
  --wk-accent-weak:rgba(178,58,47,.16); --wk-accent-ink:#e6b7ae;
  --wk-ok:#8a9a5b; --wk-warn:#d4a24c; --wk-danger:#c0392b;
}
html[data-skin="ink"] body{ background:var(--wk-bg); }
html[data-skin="ink"] h1,
html[data-skin="ink"] h2,
html[data-skin="ink"] .wapp-sec-hd h2,
html[data-skin="ink"] .wapp-econ-hd h2{
  font-family:"Songti SC","STSong","Noto Serif SC",serif; letter-spacing:.04em;
}
html[data-skin="ink"] .wk-btn--primary{ background:#b23a2f; color:#fdf6ea; border-color:#b23a2f; }
html[data-skin="ink"] .wk-tabbar{ background:rgba(20,17,15,.94); border-top-color:var(--wk-line); }

/* 实名认证：已认证态 */
.wapp-rn-done { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: var(--r3); background: color-mix(in srgb, var(--wk-ok, #16a34a) 8%, transparent); border: 1px solid color-mix(in srgb, var(--wk-ok, #16a34a) 24%, transparent); }
.wapp-rn-done i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--wk-ok, #16a34a) 16%, transparent); color: var(--wk-ok, #16a34a); flex: none; }
.wapp-rn-done i svg { width: 18px; height: 18px; }
.wapp-rn-done b { display: block; font-size: 15px; color: var(--wk-ink); margin-bottom: 4px; }
.wapp-rn-done span { display: block; font-size: 12px; line-height: 18px; color: var(--wk-ink-3); }

/* 只读信息行（键值表） */
.wapp-kv { margin-top: 14px; border-radius: var(--r3); overflow: hidden; border: 1px solid var(--wk-line); }
.wapp-kv__r { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 11px 12px; background: var(--wk-card); font-size: 13px; }
.wapp-kv__r + .wapp-kv__r { border-top: 1px solid var(--wk-line); }
.wapp-kv__r span { color: var(--wk-ink-3); flex: none; }
.wapp-kv__r b { font-weight: 500; color: var(--wk-ink); text-align: right; word-break: break-all; }

/* 推荐大神头像 56px 坑（2026-11-03）：卡片头像改用 avatar() 输出 span.wk-avatar--md(28px)，
   而 `.hp-ppl__av img{width:100%}` 只匹配直接子 img ⇒ 头像缩在 56px 圈里小一圈。
   让内层头像撑满外框。 */
#view .hp-ppl__av > .wk-avatar { width: 56px; height: 56px; font-size: 20px; }
#view .hp-ppl__av > .wk-avatar > img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 实名页：手机号取自账号绑定，只读展示 */
.wapp-rn-ro { background: var(--wk-fill-2, #f2f4f7) !important; color: var(--wk-ink-3) !important; }

/* 实名页：手机号旁「换绑手机号」胶囊链接 */
.wapp-rn-hint { display: flex; align-items: center; justify-content: space-between; gap: 10px; row-gap: 6px; flex-wrap: wrap; margin-top: 9px; }
.wapp-rn-hint > span { color: var(--wk-ink-3); font-size: 11.5px; line-height: 1.5; }
.wapp-rn-link {
  flex: none; display: inline-flex; align-items: center; gap: 2px;
  height: 28px; padding: 0 12px; border: 0; border-radius: 999px;
  background: rgba(53, 99, 224, .09); color: var(--wk-brand);
  font-size: 11.5px; font-weight: 600; letter-spacing: .2px;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: background .16s ease, transform .12s ease;
}
.wapp-rn-link i { font-style: normal; font-size: 14px; line-height: 1; opacity: .65; transform: translateY(-.5px); }
.wapp-rn-link:active { background: rgba(53, 99, 224, .18); transform: scale(.97); }
@media (hover: hover) { .wapp-rn-link:hover { background: rgba(53, 99, 224, .15); }}

/* 实名页说明文字：允许折行（.wapp-row-s 是单行省略，长句会被截成「…」） */
.wapp-rn-sub { margin: 6px 0 14px; color: var(--wk-ink-3); font-size: 12px; line-height: 1.62; white-space: normal; word-break: break-word; }

.wapp-rn-ro { cursor: pointer; }

/* 换绑手机号向导 */
.ph-steps { display:flex; gap:8px; margin-bottom:12px; }
.ph-steps span { flex:1; text-align:center; font-size:11.5px; font-weight:600; color:var(--wk-ink-3); padding:6px 0; border-radius:8px; background:var(--wk-fill,#f2f4f7); }
.ph-steps span.is-on { color:#fff; background:var(--wk-brand,#3563e0); }
.ph-steps span.is-done { color:var(--wk-brand,#3563e0); background:rgba(53,99,224,.1); }
.ph-cur { font-size:12.5px; color:var(--wk-ink-3); margin-bottom:12px; }
.ph-cur b { color:var(--wk-ink); font-weight:600; }
.ph-err { font-size:12px; color:#d93025; background:rgba(217,48,37,.07); border-radius:8px; padding:8px 10px; margin-bottom:10px; }
.ph-ok { font-size:12.5px; color:#0f8a4c; background:rgba(15,138,76,.08); border-radius:8px; padding:8px 10px; margin-bottom:12px; }
.ph-loading { font-size:12.5px; color:var(--wk-ink-3); padding:18px 0; text-align:center; }
.ph-more { display:block; width:100%; margin-top:12px; border:0; background:none; color:var(--wk-ink-3); font-size:12px; text-decoration:underline; text-underline-offset:2px; }
.ph-fbs { margin-top:10px; display:flex; flex-direction:column; gap:8px; }
/* 兜底卡片：右侧chevron 明确"可点"，说明文字吃掉剩余宽度，避免长句顶到边缘 */
.ph-fb span { flex:1; min-width:0; line-height:1.45; }
.ph-fb::after { content:'›'; flex:none; color:var(--wk-ink-3,#98a2b3); font-size:17px; line-height:1; }
.ph-fb { display:flex; align-items:center; gap:10px; width:100%; padding:11px 12px; border:1px solid var(--wk-line,#e9ecf2); border-radius:12px; background:#fff; text-align:left; }
.ph-fb i { font-style:normal; flex:none; width:34px; height:34px; border-radius:10px; display:grid; place-items:center; font-size:11px; font-weight:700; color:var(--wk-brand,#3563e0); background:rgba(53,99,224,.09); }
.ph-fb span { font-size:13px; color:var(--wk-ink); }
.ph-fb:active { background:#f7f9fd; }



/* ============================================================================
   顶栏 / 底栏 —— 终局层（唯一真源 · 2026-11-04 收敛）

   历史：app.css 里这两个部件被 140+ 条「v=NNN 修一点」的规则反复覆盖，
         !important 层层叠加，最后谁生效全靠谁写在后面。
         —— 现在全部合并到这里，删掉了源文件里的重复层。

   ★以后改顶栏/底栏只改这一段。不要再往 app.css / app2.css 别处追规则。
   ★新加需求先在浏览器量出目标值，再改这里，然后用 tools/css_ledger 验。

   规格：顶栏 44px，中线 22；主页标题 16/700，子页 15/600；
        图标 20px 画在 40×40 热区里；底栏 52px。
   ============================================================================ */

/* ---------- 顶栏：容器 ---------- */
.wk-nav {
  height: 44px;
  min-height: 44px;
  /* 版心 14：正文 .wapp-body 用的是 --v5-pad:14，顶栏原来写死 16，
     导致标题/图标比下面的卡片、分类条整体外凸 2px（最后一列看着"贴边"）。 */
  padding: 0 var(--v5-pad, 14px);
  align-items: center;
  border-bottom: 1px solid var(--wk-line);
  background: color-mix(in srgb, var(--wk-card) 90%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
}
.wk-nav.is-headless { border-bottom: 0; background: var(--wk-bg); }
.wk-nav.is-headless .wapp-brand,
.wk-nav.is-headless .wapp-navt-wrap,
.wk-nav.is-headless .wk-nav__title { opacity: 0; pointer-events: none; }

/* ---------- 顶栏：标题 ---------- */
.wk-nav .wapp-brand { display: flex; align-items: center; gap: 0; min-width: 0; height: 44px; }
.wk-nav .wapp-brand img,
.wk-nav .wapp-logo,
.wk-nav .wapp-brand__ico { display: none; }

.wk-nav .wapp-h1,
.wk-nav.wapp-nav--lead .wapp-h1 {
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: -.2px;
  margin: 0;
  padding: 0;
}

/* 子页：返回 + 居中标题 + 右侧动作 */
.wk-nav.wapp-nav--sub { position: relative; justify-content: center; }
.wk-nav.wapp-nav--sub .wapp-brand {
  position: absolute; top: 0; bottom: 0; left: 50%;
  transform: translateX(-50%); max-width: 62%; height: 44px;
  justify-content: center;
}
.wk-nav.wapp-nav--sub .wapp-h1 {
  font-size: 15px; line-height: 20px; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wk-nav.wapp-nav--sub .wk-nav__acts { margin-left: auto; }

/* ---------- 顶栏：图标与返回 ---------- */
.wk-nav .wapp-nav-ico,
.wk-nav .wk-nav__back {
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; background: transparent; color: var(--wk-ink);
  border-radius: 8px; padding: 0; cursor: pointer;
}
.wk-nav .wapp-nav-ico:active { background: var(--wk-fill); }
.wk-nav .wapp-nav-ico i,
.wk-nav .wapp-nav-ico i > svg,
.wk-nav .wapp-nav-ico svg,
.wk-nav .wapp-nav-ico .xi { width: 20px; height: 20px; font-size: 20px; }
.wk-nav .wk-nav__acts { display: flex; align-items: center; gap: 2px; height: 44px; margin-left: auto; }

.wk-nav .wk-nav__back,
.wk-nav.wapp-nav--sub .wk-nav__back {
  position: absolute; top: 50%; left: 8px;
  transform: translateY(-50%); margin: 0;
}
.wk-nav .wk-nav__back i,
.wk-nav .wk-nav__back .xi,
.wk-nav .wk-nav__back svg { width: 20px; height: 20px; font-size: 20px; }

/* ---------- 顶栏：首页 tab（大神 / 俱乐部） ---------- */
.wk-nav .wapp-navtabs { display: flex; align-items: center; height: 44px; min-width: 0; gap: 14px; }
.wk-nav .wapp-navtab {
  border: 0; background: none; padding: 0; margin: 0; cursor: pointer;
  white-space: nowrap; color: var(--wk-ink-3);
  font-size: 13px; line-height: 16px; font-weight: 400;
}
.wk-nav .wapp-navtab.is-on { color: var(--wk-ink); font-size: 15px; font-weight: 700; }

/* ---------- 底栏 ---------- */
/* ── 底栏（收敛层，2026-11-04）
   历史：组件库默认 → `.wk-tabbar > *` 原样重抄一遍 → `.wk-tabbar__item` 又改成 flex-start/gap 11
   → 选中色 3 条互相打架 → v=683/685/686 三轮加号 !important。共 7 层叠加、41 处被覆盖的声明。
   现在只留真正需要的差异，其余交回 components.css 默认值。 */
.wk-tabbar {
  height: auto; min-height: 52px;
  align-items: center; overflow: visible;
  padding: 4px 0 calc(4px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--wk-fill);
  background: color-mix(in srgb, var(--wk-card) 88%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
          backdrop-filter: saturate(180%) blur(14px);
}
.wk-tabbar__item { gap: 3px; color: var(--wk-ink-3); }
/* 选中用品牌蓝；原来用 --wk-accent-ink（反白字色 #000），和未选中 #414a5c 只差明度，看着像没选中 */
/* 深色主题里 app.css 有一条 `html[data-theme="dark"] .wk-tabbar__item`（ink-2）会压掉这条，
   所以这里多带一层类把权重抬到 0,3,0。 */
.wk-tabbar .wk-tabbar__item.is-on { color: var(--wk-brand, #3563e0); }
.wk-tabbar__item span,
.wk-tabbar__item em { font-size: 10px; line-height: 11px; font-weight: 500; }
.wk-tabbar svg, .wk-tabbar i, .wk-tabbar .wapp-xhh { width: 20px; height: 20px; }
.wk-tabbar svg { stroke-width: 1.6; }

/* 中间加号：32×32 固定，与 tab 内容同中线（以前靠 align-items:flex-end 贴底，偏低 5px） */
.wk-tabbar .wapp-tabplus {
  flex: 0 0 32px; width: 32px; height: 32px; min-height: 32px; max-height: 32px;
  display: flex; align-items: center; justify-content: center;
  margin: 0; padding: 0; position: static; transform: none; top: auto;
  background: transparent; border: 0; border-radius: 0;
}
.wk-tabbar .wapp-tabplus > i,
.wk-tabbar .wapp-tabplus i {
  flex: 0 0 32px; width: 32px; height: 32px; min-height: 32px; max-height: 32px;
  margin: 0; padding: 0; position: static; transform: none; top: auto;
  display: flex; align-items: center; justify-content: center;
  border-radius: 10px; border: 2px solid var(--wk-card);
  background: var(--wk-brand-fill, #3563e0); color: #fff;
  box-shadow: 0 2px 8px rgba(53, 99, 224, .28);
}
.wk-tabbar .wapp-tabplus i svg,
.wk-tabbar .wapp-tabplus i .wapp-i,
.wk-tabbar .wapp-tabplus i .xi { width: 18px; height: 18px; }
.wk-tabbar .wapp-tabplus:active i { opacity: .88; }
.wk-tabbar .wapp-tabplus__t { display: none; }
/* ════════════════════════════════════════════════════════════════
   下单大厅 / 找大神 / 俱乐部 —— 游戏选择器 + 卡片排版（2026-11-04 定稿）
   规矩：不缩字号、不砍名字。名字是官方叫法（「暗区突围无限」），
        放不下就改布局，不许用省略号糊过去。
   ════════════════════════════════════════════════════════════════ */

/* ① 游戏选择器：单行横滑（图标在前、名字在后）
   4 列横排每格只有 84px，图标 24 + 间距 + 名字 60 放不下；
   不再分列，改成一行铺开按内容定宽，超出就横滑 —— 名字永远完整。 */
#view .wapp-gpage {
  flex-wrap: nowrap}
#view .wapp-gpage .wapp-game {}
#view .wapp-gpage .wapp-game > span {
  width: auto;
  font-size: 10px;
  /* 旧样式给名字加了一层「右侧渐隐」遮罩（62% → 99% 透明），
     本意是让截断看起来柔和，但名字现在能放全，遮罩会把最后一个字擦淡。 */
  -webkit-mask-image: none;
  mask-image: none;
  text-overflow: clip;
}

/* ③ 卡片标题断行：只在分隔符处断，不留孤字
   「卡莫纳夜图带打 · 两小时起」→「卡莫纳夜图带打」/「· 两小时起」 */
#view .wapp-hcard__t,
#view .hp-cardx__t { word-break: keep-all; overflow-wrap: anywhere; }

/* ④ 服务卡封面 4:3 → 5:4
   750×750 方图在 4:3 下上下各切 12.5%，封面里靠底的标签（距底 13.5%）正好卡在裁切线上。 */
#view .wapp-hcard__pic { aspect-ratio: 5 / 4; }

/* ④.5 单行横滑：右边缘做 16px 渐隐，暗示"右边还有"，避免半个胶囊像被裁断 */
/* 一页两行 × 四列，整块翻页（v=1119）
   列宽用 max-content：每列按该列最长的名字定宽，四列一起对齐，
   名字永远完整（不缩字号、不省略）；行高固定 40，两行等高。 */
#view .wapp-gscroller {
  /* 整页翻页 + 分页点，不再需要右缘渐隐（渐隐会把第一页第 4 格擦掉一半，看着像截断） */
  -webkit-mask-image: none;
          mask-image: none;
  flex-direction: row;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#view .wapp-gscroller::-webkit-scrollbar { display: none; }
#view .wapp-gpage {
  flex: 0 0 100%;
  scroll-snap-align: start;
  display: grid;
  grid-template-columns: repeat(4, max-content) !important;
  grid-auto-rows: 40px;
  column-gap: 4px !important;
  row-gap: 8px;
  justify-content: space-between;
  align-content: start;
}
#view .wapp-gpage .wapp-game {
  flex: none;
  width: auto;
  flex-direction: row;
  justify-content: center;
  /* 上面 #view .wapp-game 的基础层用了 !important（gap 5 / padding 0 6），
     四列一排装不下会溢出被裁，这里只能同样 !important 压回去 */
  gap: 4px !important;
  height: 40px;
  padding: 0 5px !important;
  box-sizing: border-box;
}

/* ⑤ 分类条内缩 2px
   胶囊是描边色块、顶栏图标只有 20px 字形，盒子同宽但视觉右边缘差 ~10px，色块看着顶出去。 */
#view .wapp-gwrap { padding: 0 2px; }


/* ── 滚动容器底部留白（2026-11-04）
   组件库给 56px（底栏 52 + 4），滚到底时最后一块内容底边正好压住底栏 1px。
   这里放到 64px（底栏 52 + 12 呼吸），并带上安全区。 */
.wk-page--tabbar .wk-page__body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }


/* ══════════════════════════════════════════════════════════════
   我的页（v=1086 重做）
   独立命名空间 mp-*：不继承 .wapp-me-* / .wapp-mstats / .wapp-wal-*
   那三套历史层，所以这里每条声明都是唯一一份，没有覆盖链。
   口径：圆角 14 · 卡片间距 12 · 内边距 14 · 标题 13/600 · 正文 12.5
   ══════════════════════════════════════════════════════════════ */
#view .mp-card {
  position: relative; margin: 0 0 12px;
  background: var(--wk-card, #fff); border-radius: 14px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(17, 20, 25, .04);
}
#view .mp-cover {
  display: block; height: 150px; position: relative;
  background-color: var(--wk-fill, #eef1f7);
  background-image: linear-gradient(135deg, rgba(53,99,224,.22), rgba(53,99,224,.06));
  background-size: cover; background-position: center; background-repeat: no-repeat;
  -webkit-tap-highlight-color: transparent; touch-action: pan-y;
}
#view .mp-cover.is-img::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,.20) 100%);
}
#view .mp-dots { position: absolute; left: 0; right: 0; bottom: 8px; display: flex; justify-content: center; gap: 4px; z-index: 2; }
#view .mp-dots i { width: 5px; height: 5px; border-radius: 999px; background: rgba(255,255,255,.55); transition: width .18s ease; }
#view .mp-dots i.is-on { width: 14px; background: #fff; }

#view .mp-me { display: flex; align-items: flex-start; gap: 12px; padding: 0 14px; }
#view .mp-ava {
  position: relative; flex: 0 0 auto; width: 72px; height: 72px; margin-top: -34px;
  padding: 0; border: 3px solid var(--wk-card, #fff); border-radius: 999px; background: var(--wk-fill, #eef1f7);
  box-shadow: 0 2px 8px rgba(17,20,25,.10); overflow: visible; line-height: 0;
}
#view .mp-ava .wk-avatar-wrap, #view .mp-ava .wk-avatar { width: 100%; height: 100%; border-radius: 999px; box-shadow: none; }
#view .mp-avafr {
  position: absolute; right: -2px; bottom: -2px; width: 20px; height: 20px;
  display: flex; align-items: center; justify-content: center; font-size: 10px;
  border-radius: 999px; background: var(--wk-card, #fff); border: 1px solid var(--wk-line, rgba(17,20,25,.08));
  color: var(--wk-ink-3, #6b7280); box-shadow: 0 1px 3px rgba(17,20,25,.12);
}
#view .mp-id { flex: 1; min-width: 0; padding-top: 2px; }
#view .mp-nick {
  display: flex; align-items: center; gap: 8px; min-width: 0;
  font-size: 18px; font-weight: 700; line-height: 22px; letter-spacing: -.2px; color: var(--wk-ink, #141821);
}
#view .mp-nick__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .mp-tag {
  flex: none; display: inline-flex; align-items: center; height: 16px; padding: 0 5px; border-radius: 4px;
  background: rgba(53,99,224,.10); color: var(--wk-brand, #3563e0); font-size: 10px; font-weight: 500; letter-spacing: 0; font-style: normal;
}
#view .mp-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }
#view .mp-meta__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; line-height: 16px; color: var(--wk-ink-3, #6b7280); }
#view .mp-edit {
  flex: none; height: 24px; padding: 0 10px; border: 0; border-radius: 999px;
  font-size: 11.5px; font-weight: 500; line-height: 24px; color: var(--wk-ink-2, #414a5c); background: var(--wk-fill, #eef1f7);
}
#view .mp-bio { padding: 8px 14px 0 98px; font-size: 12.5px; line-height: 18px; color: var(--wk-ink-2, #414a5c); }
#view .mp-bio.is-empty { color: var(--wk-ink-3, #6b7280); }
#view .mp-stats {
  display: grid; grid-template-columns: repeat(4, 1fr);
  margin-top: 12px; padding: 10px 0 12px; border-top: 1px solid var(--wk-line, rgba(17,20,25,.07));
}
#view .mp-stat { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 0; border: 0; background: none; }
#view .mp-stat b { font-size: 16px; font-weight: 700; line-height: 20px; color: var(--wk-ink, #141821); font-variant-numeric: tabular-nums; }
#view .mp-stat span { font-size: 10.5px; line-height: 14px; color: var(--wk-ink-3, #6b7280); }

#view .mp-wallet {
  margin: 0 0 12px; padding: 12px 14px 14px;
  background: var(--wk-card, #fff); border-radius: 14px; box-shadow: 0 1px 2px rgba(17,20,25,.04);
}
#view .mp-wal-hd { display: flex; align-items: center; justify-content: space-between; }
#view .mp-wal-t { font-size: 14px; font-weight: 600; color: var(--wk-ink, #141821); }
#view .mp-wal-more { font-size: 12px; font-weight: 500; color: #5f6673; }
#view .mp-assets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
#view .mp-asset {
  display: flex; flex-direction: column; align-items: flex-start; gap: 1px;
  padding: 10px 12px; border: 0; border-radius: 12px; background: var(--wk-bg, #f5f6f8);
}
#view .mp-asset-ico { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }
#view .mp-asset-ico svg { width: 22px; height: 22px; }
#view .mp-asset-ico--cash {
  border-radius: 999px; background: rgba(53,99,224,.10); color: var(--wk-brand, #3563e0);
  font-size: 13px; font-weight: 700;
}
#view .mp-asset b { font-size: 17px; font-weight: 700; line-height: 21px; color: var(--wk-ink, #141821); font-variant-numeric: tabular-nums; }
#view .mp-asset em { font-size: 10.5px; font-style: normal; color: var(--wk-ink-3, #6b7280); }
#view .mp-wal-sub { display: flex; gap: 16px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--wk-line, rgba(17,20,25,.07)); }
#view .mp-wal-sub span { display: flex; flex-direction: column; gap: 1px; }
#view .mp-wal-sub b { font-size: 12.5px; font-weight: 600; color: var(--wk-ink-2, #414a5c); font-variant-numeric: tabular-nums; }
#view .mp-wal-sub em { font-size: 10px; font-style: normal; color: var(--wk-ink-3, #6b7280); }
#view .mp-wal-ops { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
#view .mp-btn { height: 36px; border: 0; border-radius: 10px; font-size: 13px; font-weight: 600; }
#view .mp-btn--primary { background: var(--wk-brand, #3563e0); color: #fff; }
#view .mp-btn--ghost { background: var(--wk-fill, #eef1f7); color: var(--wk-ink-2, #414a5c); }
html[data-theme="dark"] #view .mp-card,
html[data-theme="dark"] #view .mp-wallet { border: 1px solid rgba(255,255,255,.07); }
html[data-theme="dark"] #view .mp-asset { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.05); }
html[data-theme="dark"] #view .mp-ava { border-color: var(--wk-card, #171b23); }
html[data-theme="dark"] #view .mp-wal-more { color: #9aa5b8; }
html[data-theme="dark"] #view .mp-btn--ghost { background: rgba(255,255,255,.10); color: #e6ebf3; }
html[data-theme="dark"] #view .mp-edit { background: rgba(255,255,255,.10); color: #cfd6e2; }
html[data-theme="dark"] #view .mp-cover { background-image: linear-gradient(135deg, rgba(107,147,255,.26), rgba(107,147,255,.06)); }


/* ── 我的页 · 分组块（v=1093 跟进「接单与资质 / 组织 / 内容 / 更多」）
   与 mp-card / mp-wallet 同一套口径：圆角 14 · 内边距 14 · 行高 56 · 标题 14/600
   ────────────────────────────────────────────────────────────── */
#view .mp-sec { display: flex; align-items: baseline; justify-content: space-between; margin: 18px 0 8px; }
#view .mp-sec h2 { margin: 0; font-size: 14px; font-weight: 600; color: var(--wk-ink, #141821); }
#view .mp-sec a { font-size: 12px; font-weight: 500; color: #5f6673; text-decoration: none; }

#view .mp-panel {
  margin: 0 0 4px; background: var(--wk-card, #fff); border-radius: 14px;
  box-shadow: 0 1px 2px rgba(17, 20, 25, .04); overflow: hidden;
}
#view .mp-panel--pad { padding: 14px; }

#view .mp-sum { display: grid; grid-template-columns: repeat(4, 1fr); padding: 12px 0; border-bottom: 1px solid var(--wk-line, rgba(17,20,25,.07)); }
#view .mp-sum > div { display: flex; flex-direction: column; align-items: center; gap: 2px; }
#view .mp-sum b { font-size: 16px; font-weight: 700; line-height: 20px; color: var(--wk-ink, #141821); font-variant-numeric: tabular-nums; }
#view .mp-sum span { font-size: 10.5px; line-height: 14px; color: var(--wk-ink-3, #6b7280); }

#view .mp-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0; background: none; text-align: left; }
#view .mp-row + .mp-row { border-top: 1px solid var(--wk-line, rgba(17,20,25,.07)); }
#view .mp-row:active { background: rgba(17, 20, 25, .03); }
#view .mp-row__ico {
  flex: none; width: 36px; height: 36px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--wk-bg, #f5f6f8); color: var(--wk-ink-2, #414a5c)
}
#view .mp-row__ico img { width: 100%; height: 100%; object-fit: cover; }
#view .mp-row__ico svg { width: 18px; height: 18px; }
#view .mp-row__ico--org { background: var(--wk-fill, #eef1f7); font-size: 14px; font-weight: 700; }
#view .mp-gl { font-style: normal; font-size: 14px; font-weight: 700; color: var(--wk-ink-2, #414a5c); }
#view .mp-row__bd { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#view .mp-row__t {
  display: flex; align-items: center; gap: 6px; min-width: 0;
  font-size: 13.5px; font-weight: 600; line-height: 18px; color: var(--wk-ink, #141821);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#view .mp-row__s { font-size: 11.5px; line-height: 15px; color: var(--wk-ink-3, #6b7280); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .mp-chip {
  flex: none; display: inline-flex; align-items: center; height: 16px; padding: 0 5px; border-radius: 4px;
  background: rgba(53, 99, 224, .10); color: var(--wk-brand, #3563e0);
  font-size: 10px; font-weight: 500; font-style: normal; letter-spacing: 0;
}
#view .mp-arrow {
  flex: none; width: 6px; height: 6px; margin-left: 4px;
  border-top: 1.5px solid #b6bdca; border-right: 1.5px solid #b6bdca; transform: rotate(45deg);
}

#view .mp-panel__ft {
  display: flex; align-items: center; justify-content: center; gap: 4px; width: 100%; height: 42px;
  border: 0; border-top: 1px solid var(--wk-line, rgba(17,20,25,.07)); background: none;
  font-size: 12px; font-weight: 500; color: var(--wk-brand, #3563e0);
}


#view .mp-empty { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 16px 14px; text-align: center; }
#view .mp-empty b { font-size: 13px; font-weight: 600; color: var(--wk-ink, #141821); }
#view .mp-empty span { font-size: 11.5px; line-height: 16px; color: var(--wk-ink-3, #6b7280); }
#view .mp-btn--block { display: block; width: 100%; margin-top: 10px; text-align: center; line-height: 36px; text-decoration: none; }

html[data-theme="dark"] #view .mp-panel { border: 1px solid rgba(255,255,255,.07); }
html[data-theme="dark"] #view .mp-row__ico { background: rgba(255,255,255,.05); }
html[data-theme="dark"] #view .mp-row__ico--org { background: rgba(255,255,255,.08); }
html[data-theme="dark"] #view .mp-sec a { color: #9aa5b8; }
html[data-theme="dark"] #view .mp-arrow { border-color: #6b7688; }
html[data-theme="dark"] #view .mp-row:active { background: rgba(255,255,255,.04); }


/* 未登录态（我的页） */
#view .mp-guest { display: flex; align-items: center; gap: 12px; }
#view .mp-guest__t { font-size: 18px; font-weight: 700; color: var(--wk-ink, #141821); }
#view .mp-guest__s { margin-top: 4px; font-size: 11.5px; color: var(--wk-ink-3, #6b7280); }

html[data-theme="dark"] #view .mp-chip { background: rgba(107,147,255,.18); color: #a8c0ff; }
html[data-theme="dark"] #view .mp-tag { background: rgba(107,147,255,.18); color: #a8c0ff; }

/* ── 端游 / 手游 角标：贴在游戏图标右下角（真正的"角标"） ── */
#view .wapp-game > .wk-ico { position: relative; flex: none; width: 24px; height: 24px; display: block; }
#view .wapp-game > .wk-ico > img,
#view .wapp-game > .wk-ico > svg,
#view .wapp-game > .wk-ico > i.wapp-gamegl {
  width: 24px !important; height: 24px !important; border-radius: 7px !important;
  font-size: 12px !important; line-height: 24px !important;
  object-fit: cover; display: grid; place-items: center;
  background: var(--wk-fill); color: var(--wk-ink-3);
  box-shadow: inset 0 0 0 1px var(--wk-line);
}
#view .wapp-game > .wk-ico > i.wapp-gamegl { font-style: normal; font-weight: 600; }
#view .wk-corner {
  position: absolute; right: -4px; bottom: -4px;
  min-width: 12px; height: 12px; padding: 0 2px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 3px; background: var(--wk-brand, #3563e0); color: #fff;
  font-size: 8px; font-weight: 700; font-style: normal; line-height: 1; letter-spacing: 0;
  box-shadow: 0 0 0 1px var(--wk-card, #fff);
  pointer-events: none; z-index: 2;
}
#view .wk-corner--pc { background: #5f6673; }
#view .wk-corner--m { background: var(--wk-brand, #3563e0); }
#view .mp-row__ico { position: relative; overflow: visible; }
#view .mp-row__ico img { border-radius: 10px; }
html[data-theme="dark"] #view .wk-corner { box-shadow: 0 0 0 1px #1b1f29; }
html[data-theme="dark"] #view .wk-corner--pc { background: #6b7280; }
html[data-theme="dark"] #view .wk-corner--m { background: #4f7bf5; }

/* 「全部游戏 / 全部」聚合入口：去掉方块底（否则胶囊框里再套一层方块，三层矩形叠着很脏），
   点阵图标直接落在胶囊底色上 */
#view .wapp-game > i.wapp-i { background: transparent !important; box-shadow: none !important; }
/* ICON('grid') 的画形只占 viewBox 的 17/24，直接按 24px 渲染会比封面小一圈；
   放大到 34px（溢出容器但居中）后，实际画形正好 24px，与游戏封面同边同宽 */
#view .wapp-game > i.wapp-i { position: relative; }
#view .wapp-game > i.wapp-i svg {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 15px !important; height: 15px !important; stroke-width: 1.7;
}
#view .wapp-game.is-on > i.wapp-i svg { color: var(--wk-brand, #3563e0); }
html[data-theme="dark"] #view .wapp-game.is-on > i.wapp-i svg { color: #a8c0ff; }

/* 分页点（滑动条）收紧：原来上下 padding 4/2 + 6px 外边距，和上下两块之间空 17px，显得悬空。
   改成点本身 5px 高、上距 2px、下距 4px（v=1128） */
#view .wapp-gdots {
  padding: 0 !important;
  margin: 0 0 6px !important;
  height: 5px;
  align-items: center;
}
#view .wapp-gwrap { margin-bottom: 4px; }


/* ==================================================================
   设置页整页重做（st-*）：独立命名空间，不覆盖任何旧规则。
   旧版问题是同一页两套缩进、9 个空箭头、图标线性/实心混排。
   ================================================================== */
#view {
  --st-chev: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M9 5l7 7-7 7' stroke='black'/></svg>");
}
#view .st-page { margin: 0 -14px; padding: 6px 0 calc(20px + env(safe-area-inset-bottom, 0px)); }

#view .st-hero {
  display: flex; align-items: center; gap: 12px; width: 100%;
  padding: 14px 16px; margin: 0;
  background: var(--wk-card); border: 0; border-radius: 0;
  text-align: left; font: inherit; color: inherit;
}
#view .st-hero:active { background: var(--wk-fill); }
#view .st-hero__av { flex: 0 0 50px; width: 50px; height: 50px; border-radius: 50%; overflow: hidden; display: block; }
#view .st-hero__av img, #view .st-hero__av .wk-avatar { width: 50px !important; height: 50px !important; border-radius: 50% !important; display: block; }
#view .st-hero__bd { flex: 1 1 auto; min-width: 0; display: block; }
#view .st-hero__n { display: block; font: 700 17px/1.25 var(--wk-font); color: var(--wk-ink); letter-spacing: -.3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .st-hero__id { display: block; margin-top: 4px; font: 400 12px/1.2 var(--wk-font); color: var(--wk-ink-3); letter-spacing: .2px; font-style: normal; }
#view .st-hero__chev { flex: 0 0 16px; width: 16px; height: 16px; color: var(--wk-ink-4); opacity: .8; background: currentColor;
  -webkit-mask: var(--st-chev) center / 16px 16px no-repeat; mask: var(--st-chev) center / 16px 16px no-repeat; }

#view .st-sec { margin: 18px 16px 6px; font: 600 12.5px/1 var(--wk-font); color: var(--wk-ink-3); letter-spacing: .3px; }
#view .st-card { background: var(--wk-card); border-radius: 0; overflow: hidden; box-shadow: none; }

#view .st-row {
  position: relative; display: flex; align-items: center; gap: 12px;
  width: 100%; min-height: 46px; padding: 6px 16px;
  background: none; border: 0; border-radius: 0;
  text-align: left; font: inherit; color: inherit;
}
#view .st-row + .st-row::before { content: ''; position: absolute; left: 60px; right: 0; top: 0; height: 1px; background: var(--wk-line); }
/* 子页没有图标，分隔线从行首开始 */
#view .st-card--plain .st-row + .st-row::before { left: 16px; }
#view .st-card--plain .st-row { min-height: 48px; }
#view .st-row:active { background: var(--wk-fill); }

#view .st-row__ic {
  flex: 0 0 32px; width: 32px; height: 32px; border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in srgb, var(--st-c, #3563e0) 14%, transparent);
}
/* 小黑盒图标是着色 PNG：用 alpha 当遮罩，让每行图标跟自己的主色走 */
#view .st-row__ic i { width: 17px; height: 17px; display: block; background-color: var(--st-c, #3563e0); background-image: none !important;
  -webkit-mask-image: var(--xi); mask-image: var(--xi);
  -webkit-mask-size: 17px 17px; mask-size: 17px 17px;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  opacity: 1; filter: none !important; }
#view .st-row__ic svg { width: 17px; height: 17px; }

#view .st-row__bd { flex: 1 1 auto; min-width: 0; display: block; }
#view .st-row__t { display: block; font: 600 14.5px/1.25 var(--wk-font); color: var(--wk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .st-row__s { display: block; margin-top: 1px; font: 400 11px/1.3 var(--wk-font); color: var(--wk-ink-3); font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .st-row__v { flex: 0 0 auto; max-width: 40%; font: 400 12.5px/1 var(--wk-font); color: var(--wk-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* 当前标签这类"值"用胶囊显示，避免被读成状态 */
#view .st-row__v--chip { padding: 4px 8px; border-radius: 8px; font-size: 11.5px; font-weight: 500; color: #7c5cfc; background: rgba(124, 92, 252, .12); max-width: 46%; }
#view .st-row__chev { flex: 0 0 15px; width: 15px; height: 15px; color: var(--wk-ink-4); opacity: .7; background: currentColor;
  -webkit-mask: var(--st-chev) center / 15px 15px no-repeat; mask: var(--st-chev) center / 15px 15px no-repeat; }

#view .st-row.is-danger .st-row__t, #view .st-row.is-danger .st-row__v { color: var(--wk-danger, #e5484d); }

#view .st-card--out { margin-top: 12px; background: var(--wk-card); }
#view .st-card--out .st-row { min-height: 48px; justify-content: center; padding: 11px 16px; }
#view .st-card--out .st-row__bd { flex: 0 0 auto; }
#view .st-card--out .st-row__t { color: var(--wk-danger, #e5484d); }
#view .st-card--out .st-row__chev { display: none; }

html[data-theme="dark"] #view .st-row__v--chip { color: #b9a6ff; background: rgba(167, 139, 250, .20); }
html[data-theme="dark"] #view .st-card { box-shadow: none; }
#view .st-ver { margin: 12px 0 0; text-align: center; font: 400 11.5px/1.5 var(--wk-font); color: var(--wk-ink-4); }

/* ===== 消息页整页重做（ms-*）：独立命名空间，不覆盖任何旧规则（2026-11） ===== */
#view .ms-page { margin: 0 -14px; padding: 4px 0 calc(18px + env(safe-area-inset-bottom, 0px)); }

/* 互动消息 / 新关注我的 / 客服：像普通会话一样排在列表最前面 */
#view .ms-row--sys { align-items: center; }
#view .ms-row--sys::after { content: ''; position: absolute; left: 65px; right: 0; bottom: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink, #14161a) 6%, transparent); pointer-events: none; }
#view .ms-sys__tap { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px;
  padding: 0; border: 0; background: none; text-align: left; cursor: pointer; }
#view .ms-av--brand { color: #fff; background: linear-gradient(140deg, #7aa2ff, var(--wk-brand, #3563e0)); }
#view .ms-av--brand .xi { width: 18px; height: 18px; }
#view .ms-list { background: var(--wk-card, #fff); }
#view .ms-sw { position: relative; overflow: hidden; background: var(--wk-card, #fff); }
#view .ms-sw__acts { position: absolute; top: 0; bottom: 0; display: flex; width: 204px; }
#view .ms-sw__acts.at-l { left: 0; }
#view .ms-sw__acts.at-r { right: 0; }
#view .ms-sw__act { flex: 1; border: 0; background: var(--wk-ink-3, #98a2b3); color: #fff; font: 600 12.5px/1 var(--wk-font); cursor: pointer; }
#view .ms-sw__act.is-danger { background: var(--wk-danger, #e5484d); }

#view .ms-row { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; width: 100%;
  padding: 9px 14px; border: 0; background: var(--wk-card, #fff); text-align: left; cursor: pointer; }
#view .ms-sw + .ms-sw .ms-row::before { content: ''; position: absolute; top: 0; left: 65px; right: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink, #14161a) 6%, transparent); pointer-events: none; }
#view .ms-row:active { background: var(--wk-active, #f2f4f7); }
#view .ms-row.is-pin { background: color-mix(in srgb, var(--wk-brand, #3563e0) 7%, var(--wk-card, #fff)); }

#view .ms-av { flex: none; width: 40px; height: 40px; border-radius: 12px; overflow: hidden; display: grid; place-items: center;
  background: var(--wk-fill, #f2f4f7); }
#view .ms-row .ms-av .wk-avatar { width: 40px; height: 40px; border-radius: 12px; font-size: 15px; }
#view .ms-row .ms-av .wk-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .ms-av--sys { color: #fff; background: linear-gradient(140deg, #5b8cff, #3563e0); }
#view .ms-av--sys .xi { width: 18px; height: 18px; }

#view .ms-bd { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#view .ms-t { font: 600 14.5px/1.25 var(--wk-font); color: var(--wk-ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .ms-t .wk-chip { vertical-align: 1px; }
#view .ms-pin { flex: none; margin-right: 5px; padding: 0 4px; border-radius: 4px; font: 600 9px/14px var(--wk-font); font-style: normal;
  color: var(--wk-brand, #3563e0); background: color-mix(in srgb, var(--wk-brand, #3563e0) 13%, transparent); }
#view .ms-mute { display: inline-block; margin-left: 6px; color: var(--wk-ink-4); vertical-align: -2px; }
#view .ms-mute .xi { width: 13px; height: 13px; }
#view .ms-s { font: 400 12px/1.35 var(--wk-font); color: var(--wk-ink-3);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

#view .ms-ft { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; padding-top: 1px; }
#view .ms-time { font: 400 11.5px/1 var(--wk-font); color: var(--wk-ink-3); }
#view .ms-n { min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--wk-danger, #f43f5e);
  color: #fff; font: 600 10.5px/17px var(--wk-font); font-style: normal; text-align: center; }
#view .ms-n.is-mute { background: var(--wk-ink-4, #98a2b3); }

/* 搜索结果 */
#view .ms-hitbar { padding: 6px 16px 8px; font: 500 11.5px/1 var(--wk-font); color: var(--wk-ink-3); }
#view .ms-hit { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0;
  background: var(--wk-card, #fff); text-align: left; cursor: pointer; }
#view .ms-hit { position: relative; }
#view .ms-hit + .ms-hit::before { content: ''; position: absolute; top: 0; left: 14px; right: 0; height: 1px; background: var(--wk-line, #eef0f3); pointer-events: none; }
#view .ms-hit .ms-bd { gap: 4px; }
#view .ms-hit .ms-t { font-size: 14px; }
#view .ms-hit .ms-ft { align-self: center; padding-top: 0; }

/* ---- 消息搜索页 + 发起菜单 + 新建群聊 ---- */
#view .ms-search--page { margin-top: 10px; }
#view .ms-hit .ms-av .wk-avatar { width: 36px; height: 36px; border-radius: 11px; font-size: 14px; }
#view .ms-hit .ms-av .wk-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .ms-hit:active { background: var(--wk-active, #f2f4f7); }

.ms-sheet { padding: 4px 0 8px; }
.ms-sheet__i { display: flex; align-items: center; gap: 10px; width: 100%; height: 52px; padding: 0 16px;
  border: 0; background: none; text-align: left; cursor: pointer; }
.ms-sheet__i + .ms-sheet__i { box-shadow: inset 0 1px 0 var(--wk-line, #eef0f3); }
.ms-sheet__i .ms-en__t { flex: 1; min-width: 0; font: 600 14.5px/1.2 var(--wk-font); color: var(--wk-ink); }

.ms-ng { padding: 4px 16px 8px; }
.ms-ng__name { width: 100%; height: 42px; padding: 0 12px; border: 0; border-radius: 10px; background: var(--wk-fill, #f2f4f7);
  font: 400 14px/1.2 var(--wk-font); color: var(--wk-ink); outline: none; }
.ms-ng__list { margin-top: 10px; max-height: 46vh; overflow-y: auto; }
.ms-ng__i { display: flex; align-items: center; gap: 10px; width: 100%; height: 52px; padding: 0 4px;
  border: 0; background: none; text-align: left; cursor: pointer; }
.ms-ng__i + .ms-ng__i { box-shadow: inset 0 1px 0 var(--wk-line, #eef0f3); }
.ms-ng__av { flex: none; width: 34px; height: 34px; border-radius: 10px; overflow: hidden; display: grid; place-items: center; }
.ms-ng__av .wk-avatar { width: 34px; height: 34px; border-radius: 10px; font-size: 13px; }
.ms-ng__av .wk-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ms-ng__b { flex: 1; min-width: 0; font: 600 14px/1.2 var(--wk-font); color: var(--wk-ink); }
.ms-ng__b em { display: block; margin-top: 2px; font: 400 11px/1.2 var(--wk-font); font-style: normal; color: var(--wk-ink-3); }
.ms-ng__ck { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--wk-line-strong, #d5dae3); }
.ms-ng__i.is-on .ms-ng__ck { border-color: var(--wk-brand, #3563e0); background: var(--wk-brand, #3563e0); position: relative; }
.ms-ng__i.is-on .ms-ng__ck::after { content: ''; position: absolute; left: 6px; top: 3.5px; width: 5px; height: 9px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(40deg); }
.ms-ng__empty { padding: 26px 0; text-align: center; font: 400 13px/1.5 var(--wk-font); color: var(--wk-ink-3); }
.ms-ng__ok { width: 100%; margin-top: 14px; }
.ms-ng__tip { margin: 8px 0 0; text-align: center; font: 400 11.5px/1.3 var(--wk-font); color: var(--wk-ink-4); }

/* ---- 互动消息页（顶栏双 tab + 下拉筛选 + 通栏列表） ---- */
.wk-nav .mi-nav { flex: 1; min-width: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; justify-items: center; gap: 0;
  margin-left: 40px; margin-right: -8px; }  /* 返回键绝对定位占 8~48：tab 区从它右侧算起，再吃掉右侧 gap，使右边界落在 14 版心 */
.wk-nav .mi-nav .wapp-navtab { position: relative; padding: 0 0 3px; font-size: 14px; color: var(--wk-ink-3); }
.wk-nav .mi-nav .wapp-navtab.is-on { font-size: 15px; font-weight: 700; color: var(--wk-ink); }
.wk-nav .mi-nav .wapp-navtab.is-on::after { content: ''; position: absolute; left: 50%; bottom: -2px; width: 18px; height: 3px;
  margin-left: -9px; border-radius: 2px; background: var(--wk-ink); }
.mi-caret { display: inline-block; width: 0; height: 0; margin-left: 5px; vertical-align: 2px;
  border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor;
  transition: transform .18s ease; }
.mi-caret.is-open { transform: rotate(180deg); }
.mi-badge { flex: none; margin-left: -4px; padding: 0 6px; height: 18px; border-radius: 9px;
  background: var(--wk-fill, #eef1f7); color: var(--wk-ink-2); font: 600 11px/18px var(--wk-font); }

#view .mi-page { padding-top: 0; }
#view .mi-hd { display: flex; align-items: center; gap: 8px; padding: 10px 16px 6px; }
#view .mi-hd > span { font: 600 12px/1.2 var(--wk-font); color: var(--wk-ink-2); }
#view .mi-hd > em { flex: 1; min-width: 0; font: 400 11.5px/1.2 var(--wk-font); font-style: normal; color: var(--wk-ink-4); }
#view .mi-readall { flex: none; padding: 0; border: 0; background: none; font: 500 12px/1.2 var(--wk-font);
  color: var(--wk-brand, #3563e0); cursor: pointer; }

#view .mi-item { position: relative; background: var(--wk-card, #fff); }
#view .mi-item + .mi-item::before { content: ''; position: absolute; top: 0; left: 14px; right: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink, #14161a) 6%, transparent); pointer-events: none; }
#view .mi-main { display: flex; align-items: flex-start; gap: 11px; width: 100%; padding: 12px 14px;
  border: 0; background: none; text-align: left; cursor: pointer; }
#view .mi-main:active { background: var(--wk-active, #f2f4f7); }
#view .mi-av { position: relative; flex: none; width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center; color: #fff; background: color-mix(in srgb, var(--c, #3563e0) 88%, #fff); }
#view .mi-av > .xi { width: 20px; height: 20px; }
#view .mi-av > img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
#view .mi-av__ch { font: 600 15px/1 var(--wk-font); color: #fff; }
#view .mi-av__tag { position: absolute; right: -3px; bottom: -3px; width: 15px; height: 15px; border-radius: 50%;
  display: grid; place-items: center; background: var(--c, #3563e0); box-shadow: 0 0 0 2px var(--wk-card, #fff); }
#view .mi-av__tag .xi { width: 9px; height: 9px; }
#view .mi-av__n { position: absolute; right: -7px; top: -5px; min-width: 18px; height: 16px; padding: 0 4px;
  border-radius: 8px; background: var(--wk-ink, #14161a); color: #fff; box-shadow: 0 0 0 2px var(--wk-card, #fff);
  font: 600 10px/16px var(--wk-font); font-style: normal; text-align: center; }
#view .mi-bd { flex: 1; min-width: 0; display: block; }
#view .mi-top { display: flex; align-items: baseline; gap: 8px; }
#view .mi-t { flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px; font: 600 14.5px/1.3 var(--wk-font);
  color: var(--wk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .mi-s { margin-top: 2px; font: 400 13px/1.4 var(--wk-font); color: var(--wk-ink-2);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#view .mi-ex { display: block; margin-top: 6px; padding: 7px 9px; border-radius: 8px; background: var(--wk-fill, #f4f5f8);
  font: 400 12.5px/1.45 var(--wk-font); color: var(--wk-ink-2);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#view .mi-time { flex: none; font: 400 11.5px/1.4 var(--wk-font); font-style: normal; color: var(--wk-ink-4); }
#view .mi-acts { display: flex; gap: 8px; margin-top: 8px; }
#view .mi-btn { display: inline-grid; place-items: center; min-width: 56px; height: 28px; padding: 0 12px;
  border-radius: 8px; background: var(--wk-fill, #f2f4f7);
  font: 500 12.5px/1 var(--wk-font); font-style: normal; color: var(--wk-ink-2); }
#view .mi-dot { display: block; width: 7px; height: 7px; border-radius: 50%; background: var(--wk-danger, #f43f5e); }

#view .mi-menu { margin: 8px 12px 2px; border-radius: 12px; background: var(--wk-card, #fff);
  box-shadow: 0 8px 24px rgba(17, 20, 25, .10), 0 0 0 1px var(--wk-line, #eef0f3); overflow: hidden; }
#view .mi-menu__i { position: relative; display: flex; align-items: center; gap: 10px; width: 100%; height: 44px;
  padding: 0 14px; border: 0; background: none; text-align: left; cursor: pointer; }
#view .mi-menu__i + .mi-menu__i::before { content: ''; position: absolute; top: 0; left: 48px; right: 0; height: 1px;
  background: var(--wk-line, #eef0f3); }
#view .mi-menu__i.is-on { background: color-mix(in srgb, var(--wk-brand, #3563e0) 7%, transparent); }
#view .mi-menu__i.is-off { opacity: .55; }
#view .mi-menu__t { flex: 1; min-width: 0; font: 500 13.5px/1.2 var(--wk-font); color: var(--wk-ink); }
#view .mi-check { flex: none; width: 14px; height: 8px; border-left: 2px solid var(--wk-brand, #3563e0);
  border-bottom: 2px solid var(--wk-brand, #3563e0); transform: rotate(-45deg) translateY(-2px); }

/* 客服消息页底部操作 */
#view .sup-msgs__foot { display: flex; gap: 10px; padding: 14px 16px calc(18px + env(safe-area-inset-bottom, 0px)); }
#view .sup-msgs__foot .wk-btn { flex: 1; }

/* ===== 编辑资料页（ep-*）整页重做 ===== */
#view .ep-page { margin: 0 -14px; padding-bottom: 26px; background: var(--wk-bg); }
#view .ep-hero { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px 20px; background: var(--wk-card); }
#view .ep-hero__av { position: relative; padding: 0; border: 0; background: none; line-height: 0; cursor: pointer; }
#view .ep-hero__av .wk-avatar { width: 74px; height: 74px; font-size: 26px; border-radius: 50%; }
#view .ep-hero__av .wk-avatar img { border-radius: 50%; }
#view .ep-hero__cam { position: absolute; right: -3px; bottom: -3px; width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; background: var(--wk-ink); color: var(--wk-card); border: 2px solid var(--wk-card); }
#view .ep-hero__cam svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
#view .ep-hero__t { font-size: 14.5px; font-weight: 600; color: var(--wk-ink); }
#view .ep-hero__s { font-size: 11.5px; line-height: 1.4; color: var(--wk-ink-3); }
#view .ep-sec { margin-top: 10px; background: var(--wk-card); }
#view .ep-sec__t { margin: 0; padding: 14px 16px 2px; font-size: 12px; font-weight: 600; color: var(--wk-ink-3); }
#view .ep-row { position: relative; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px;
  padding: 0 16px; border: 0; background: none; text-align: left; font-family: inherit; cursor: pointer; }
#view .ep-row + .ep-row::before { content: ''; position: absolute; left: 16px; right: 0; top: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .ep-row:active { background: color-mix(in srgb, var(--wk-ink) 4%, transparent); }
#view .ep-row[disabled] { cursor: default; }
#view .ep-row[disabled]:active { background: none; }
#view .ep-k { flex: none; font-size: 14.5px; font-weight: 600; color: var(--wk-ink); }
#view .ep-v { margin-left: auto; max-width: 56%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  text-align: right; font-size: 13.5px; color: var(--wk-ink-2); }
#view .ep-v.is-empty { color: var(--wk-ink-4); }
#view .ep-lock { flex: none; margin-left: 2px; padding: 4px 6px; border-radius: 5px; font-size: 10.5px; line-height: 1;
  color: var(--wk-ink-3); background: color-mix(in srgb, var(--wk-ink) 7%, transparent); }
#view .ep-arrow { flex: none; width: 7px; height: 7px; margin-left: 2px; transform: rotate(45deg);
  border-top: 1.5px solid var(--wk-ink-4); border-right: 1.5px solid var(--wk-ink-4); }
#view .ep-thumbs { display: flex; gap: 4px; margin-left: auto; }
#view .ep-thumbs i { width: 26px; height: 34px; border-radius: 5px; background: var(--wk-fill) center/cover no-repeat; }
#view .ep-thumbs i.is-none { border: 1px dashed var(--wk-line); background: none; }
#view .ep-thumbs + .ep-v { margin-left: 8px; }
#view .ep-tip { margin: 12px 16px 0; font-size: 11.5px; line-height: 1.6; color: var(--wk-ink-3); }

/* ===== 钱包页（wa-*）整页重写：钻石/金币为主，与「我的」页同一套口径 ===== */
#view .wa-page { margin: 0 -14px; padding: 0 0 26px; }
#view .wa-warn { margin: 12px 14px 0; padding: 11px 12px; border-radius: 12px;
  font-size: 12.5px; color: #b45309; background: color-mix(in srgb, #f59e0b 14%, transparent);
  border: 1px solid color-mix(in srgb, #f59e0b 26%, transparent); cursor: pointer; }
html[data-theme="dark"] #view .wa-warn { color: #fbbf24; }

#view .wa-hero { margin: 12px 14px 0; padding: 15px 14px 14px; border-radius: 16px;
  background: var(--wk-card); border: 1px solid color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .wa-hero__hd { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
#view .wa-hero__hd h3 { margin: 0; font-size: 14px; font-weight: 600; color: var(--wk-ink); }
#view .wa-hero__hd span { font-size: 11.5px; color: var(--wk-ink-3); }

#view .wa-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
#view .wa-duo { position: relative; padding: 13px 12px 12px; border-radius: 13px;
  background: var(--wk-fill-2, #f2f4f7); }
#view .wa-duo__i { position: absolute; right: 12px; top: 12px; width: 20px; height: 20px;
  display: flex; align-items: center; justify-content: center; color: var(--wk-ink-4, #98a2b3); }
#view .wa-duo__i svg { width: 20px; height: 20px; }
#view .wa-duo__k { display: block; font-size: 12px; color: var(--wk-ink-3); }
#view .wa-duo__v { display: block; margin-top: 4px; font-size: 28px; font-weight: 700; line-height: 1.1;
  letter-spacing: -.6px; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .wa-duo__s { display: block; margin-top: 5px; font-size: 11px; color: var(--wk-ink-3); }
html[data-theme="dark"] #view .wa-duo { background: rgba(255, 255, 255, .06); }

#view .wa-ops { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 13px; }
#view .wa-btn { height: 42px; border-radius: 11px; border: 0; font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
#view .wa-btn--p { background: var(--wk-brand, #3563e0); color: #fff; }
#view .wa-btn--g { background: transparent; color: var(--wk-ink);
  border: 1px solid color-mix(in srgb, var(--wk-ink) 18%, transparent); }
#view .wa-hint { margin: 11px 0 0; font-size: 11px; line-height: 1.65; color: var(--wk-ink-3); }

#view .wa-sec { margin: 12px 14px 0; border-radius: 16px; overflow: hidden; background: var(--wk-card);
  border: 1px solid color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .wa-sec__hd { padding: 13px 14px 3px; font-size: 13px; font-weight: 600; color: var(--wk-ink); }
#view .wa-row { position: relative; display: flex; align-items: center; gap: 10px; padding: 12px 14px; }
#view .wa-row + .wa-row::before { content: ''; position: absolute; left: 14px; right: 14px; top: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .wa-row__b { flex: 1; min-width: 0; }
#view .wa-row__t { font-size: 14px; color: var(--wk-ink); }
#view .wa-row__s { margin-top: 2px; font-size: 11px; color: var(--wk-ink-3); }
#view .wa-row__a { flex: none; font-size: 14.5px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--wk-ink); }
#view .wa-row__a.is-in { color: var(--wk-success, #16a34a); }
#view .wa-sec__ops { display: flex; gap: 10px; padding: 6px 14px 14px; }
#view .wa-mini { flex: 1; height: 36px; border-radius: 10px; font-family: inherit; font-size: 12.5px; cursor: pointer;
  color: var(--wk-ink-2); background: var(--wk-fill-2, #f2f4f7);
  border: 1px solid color-mix(in srgb, var(--wk-ink) 8%, transparent); }

#view .wa-flow { margin: 12px 14px 0; border-radius: 16px; overflow: hidden; background: var(--wk-card);
  border: 1px solid color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .wa-flow__hd { padding: 13px 14px 6px; font-size: 13px; font-weight: 600; color: var(--wk-ink); }
#view .wa-tabs { display: flex; gap: 18px; padding: 13px 14px 8px; }
#view .wa-tab { position: relative; padding: 0 0 8px; border: 0; background: none; font-family: inherit;
  font-size: 13.5px; color: var(--wk-ink-3); cursor: pointer; }
#view .wa-tab.is-on { color: var(--wk-ink); font-weight: 600; }
#view .wa-tab.is-on::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  border-radius: 1px; background: var(--wk-ink); }
#view .wa-flow .wa-row__t { font-size: 13.5px; }
#view .wa-flow .wa-row { padding: 11px 14px; }
#view .wa-more { display: block; width: 100%; padding: 13px; border: 0; background: none; font-family: inherit;
  font-size: 12.5px; color: var(--wk-ink-3); cursor: pointer; }

/* 深色：填充类元素统一半透明白（--wk-fill-2 是浅色常量，直接用在深色会变白块） */
html[data-theme="dark"] #view .wa-mini { background: rgba(255, 255, 255, .07); }
html[data-theme="dark"] #view .wa-btn--g { border-color: rgba(255, 255, 255, .22); }

/* ===== 收款账户（pa-*）：提现前必须先绑定 ===== */
#view .pa-page { margin: 0 -14px; padding: 0 0 26px; }
#view .pa-tip { margin: 12px 16px 0; font-size: 12px; line-height: 1.6; color: var(--wk-ink-3); }
#view .pa-sec { margin: 12px 14px 0; border-radius: 16px; overflow: hidden; background: var(--wk-card);
  border: 1px solid color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .pa-row { position: relative; display: flex; align-items: center; gap: 11px; padding: 13px 14px; }
#view .pa-row + .pa-row::before { content: ''; position: absolute; left: 55px; right: 14px; top: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .pa-ico { flex: none; width: 30px; height: 30px; border-radius: 9px; display: flex; align-items: center;
  justify-content: center; font-size: 13px; font-weight: 700; color: #fff; background: #64748b; }
#view .pa-ico--wallet { background: #3563e0; }
#view .pa-ico--alipay { background: #1677ff; }
#view .pa-ico--wechat { background: #07c160; }
#view .pa-ico--bank { background: #d97706; }
#view .pa-b { flex: 1; min-width: 0; }
#view .pa-t { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--wk-ink); }
#view .pa-def { font-style: normal; font-size: 10px; padding: 1px 5px; border-radius: 4px;
  color: #3563e0; background: color-mix(in srgb, #3563e0 12%, transparent); }
#view .pa-s { margin-top: 3px; font-size: 11.5px; color: var(--wk-ink-3); }
#view .pa-del { flex: none; padding: 6px 10px; border-radius: 8px; font-family: inherit; font-size: 12px;
  color: var(--wk-ink-3); background: none; border: 1px solid color-mix(in srgb, var(--wk-ink) 12%, transparent); cursor: pointer; }
#view .pa-empty { padding: 26px 16px; text-align: center; font-size: 12.5px; color: var(--wk-ink-3); }
#view .pa-add { margin: 14px 14px 0; width: calc(100% - 28px); }
#view .pa-note { margin: 10px 16px 0; font-size: 11px; line-height: 1.6; color: var(--wk-ink-4, var(--wk-ink-3)); }

/* 弹层内（收款方式选择 / 表单 / 提现账户选择） */
.wk-sheet .pa-kinds { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.wk-sheet .pa-kind { padding: 9px 8px; border-radius: 10px; font-family: inherit; font-size: 13px; text-align: center; cursor: pointer;
  color: #414a5c; background: none; border: 1px solid rgba(20, 24, 33, .12); }
.wk-sheet .pa-kind.is-on { color: #fff; background: #3563e0; border-color: #3563e0; }
.wk-sheet .pa-f { margin-top: 12px; }
.wk-sheet .pa-f label { display: block; margin-bottom: 5px; font-size: 12px; color: #6b7280; }
/* 户名只读：必须一眼看出改不了（灰底灰字，不是普通输入框） */
.wk-sheet .pa-f input[readonly] { background: #f3f4f6; color: #6b7280; border-color: #e5e7eb; }
.wk-sheet .pa-hint { margin: 8px 0 0; font-size: 11.5px; line-height: 1.55; color: #6b7280; }
.wk-sheet .pa-pick { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.wk-sheet .pa-pick__i { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px;
  font-size: 13.5px; border: 1px solid rgba(20, 24, 33, .1); }
.wk-sheet .pa-pick__i i { font-style: normal; margin-left: 6px; font-size: 11.5px; color: #6b7280; }
html[data-theme="dark"] .wk-sheet .pa-kind { color: #d7dbe3; border-color: rgba(255, 255, 255, .18); }
html[data-theme="dark"] .wk-sheet .pa-f label,
html[data-theme="dark"] .wk-sheet .pa-hint { color: #9aa5b8; }
html[data-theme="dark"] .wk-sheet .pa-pick__i { border-color: rgba(255, 255, 255, .12); }
html[data-theme="dark"] .wk-sheet .pa-f input[readonly] { background: rgba(255, 255, 255, .06); color: #9aa5b8; border-color: rgba(255, 255, 255, .1); }

/* 提现门槛提示（弹层内） */
.wk-sheet .wa-warn { margin: 10px 0 0; padding: 9px 11px; border-radius: 10px; font-size: 12px; line-height: 1.55;
  color: #b45309; background: #fff7ed; }
.wk-sheet .wa-warn a { color: #b45309; font-weight: 600; text-decoration: none; }
.wk-sheet .wa-warn b { font-weight: 700; }
html[data-theme="dark"] .wk-sheet .wa-warn { color: #fbbf24; background: rgba(251, 191, 36, .12); }

/* 提现试算（wd-calc）：金额 / 代扣个税 / 实际到账 */
.wk-sheet .wd-calc { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: #f7f8fa; }
.wk-sheet .wd-calc__r { display: flex; align-items: center; justify-content: space-between; font-size: 12.5px;
  line-height: 1.9; color: #6b7280; }
.wk-sheet .wd-calc__r b { font-size: 13px; font-weight: 600; color: #141821; font-variant-numeric: tabular-nums; }
.wk-sheet .wd-calc__r--sum { margin-top: 4px; padding-top: 6px; border-top: 1px dashed rgba(20, 24, 33, .1); }
.wk-sheet .wd-calc__r--sum b { font-size: 16px; font-weight: 700; color: #3563e0; }
.wk-sheet .wd-calc__e { margin: 0; font-size: 12px; color: #b45309; }
html[data-theme="dark"] .wk-sheet .wd-calc { background: rgba(255, 255, 255, .06); }
html[data-theme="dark"] .wk-sheet .wd-calc__r { color: #9aa5b8; }
html[data-theme="dark"] .wk-sheet .wd-calc__r b { color: #e8ebf2; }
html[data-theme="dark"] .wk-sheet .wd-calc__r--sum b { color: #6b93ff; }

/* ===== 提现记录（wr-*） ===== */
#view .wr-page { margin: 0 -14px; padding: 0 0 26px; }
#view .wr-sec { margin: 12px 14px 0; border-radius: 16px; overflow: hidden; background: var(--wk-card);
  border: 1px solid color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .wr-row { position: relative; display: flex; align-items: center; gap: 12px; padding: 13px 14px; }
#view .wr-row + .wr-row::before { content: ''; position: absolute; left: 14px; right: 14px; top: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .wr-b { flex: 1; min-width: 0; }
#view .wr-t { display: flex; align-items: center; gap: 7px; font-size: 14px; color: var(--wk-ink); }
#view .wr-st { font-style: normal; font-size: 10.5px; padding: 1.5px 6px; border-radius: 4px; font-weight: 600; }
#view .wr-st--p { color: #b45309; background: color-mix(in srgb, #f59e0b 14%, transparent); }
#view .wr-st--a { color: #1677ff; background: color-mix(in srgb, #1677ff 12%, transparent); }
#view .wr-st--ok { color: #0f9d58; background: color-mix(in srgb, #0f9d58 12%, transparent); }
#view .wr-st--no { color: #dc2626; background: color-mix(in srgb, #dc2626 12%, transparent); }
#view .wr-s { margin-top: 3px; font-size: 11.5px; color: var(--wk-ink-3); }
#view .wr-a { flex: none; font-size: 14.5px; font-weight: 600; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .wr-empty { padding: 30px 16px; text-align: center; font-size: 12.5px; color: var(--wk-ink-3); }
#view .wr-note { margin: 10px 16px 0; font-size: 11px; line-height: 1.6; color: var(--wk-ink-4, var(--wk-ink-3)); }

/* ===== 我的页三段重做：我的组织 mo-* / 交易与服务 mv-* / 我的内容 mc-* / 更多 mm-* ===== */
#view .mo-panel { background: var(--wk-card); border-radius: 16px; overflow: hidden; }
#view .mo-hd { display: flex; align-items: center; gap: 6px; padding: 11px 14px 6px; font-size: 11.5px; font-weight: 600; color: var(--wk-ink-3); }
#view .mo-hd i { font-style: normal; font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 4px;
  color: #3563e0; background: color-mix(in srgb, #3563e0 12%, transparent); }
#view .mo-row { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 14px;
  border: 0; background: none; text-align: left; }
#view .mo-row + .mo-row::before { content: ''; position: absolute; left: 59px; right: 14px; top: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .mo-logo { flex: none; width: 34px; height: 34px; border-radius: 10px; overflow: hidden; display: flex;
  align-items: center; justify-content: center; font-size: 14px; font-weight: 600;
  background: var(--wk-fill, #eef1f7); color: #414a5c; }
#view .mo-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .mo-bd { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
#view .mo-t { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--wk-ink); }
#view .mo-type { font-style: normal; font-size: 10px; font-weight: 500; padding: 1px 5px; border-radius: 4px;
  color: #5f6673; background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .mo-s { font-size: 11.5px; color: var(--wk-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .mo-go { flex: none; font-size: 12px; color: #3563e0; }
#view .mo-add { display: block; width: 100%; padding: 11px 14px; border: 0; background: none; font-family: inherit;
  font-size: 12.5px; color: #3563e0; text-align: center;
  border-top: 1px solid color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .mo-panel--empty { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 18px 14px 0; text-align: center; }
#view .mo-panel--empty b { font-size: 13.5px; font-weight: 600; color: var(--wk-ink); }
#view .mo-panel--empty span { font-size: 11.5px; line-height: 16px; color: var(--wk-ink-3); }
#view .mo-panel--empty .mo-add { margin-top: 12px; }

#view .mv-panel { display: grid; grid-template-columns: repeat(4, 1fr); padding: 6px 2px 8px;
  background: var(--wk-card); border-radius: 16px; }
#view .mv-tile { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 11px 2px; border: 0; background: none; }
#view .mv-ic { width: 34px; height: 34px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
  background: var(--wk-fill, #eef1f7); color: var(--wk-ink-2, #414a5c); }
#view .mv-ic svg { width: 18px; height: 18px; }
#view .mv-tile span { font-size: 11px; line-height: 14px; color: var(--wk-ink-2, #414a5c); white-space: nowrap; }
#view .mv-cnt { position: absolute; top: 7px; left: calc(50% + 8px); min-width: 15px; height: 15px; padding: 0 4px;
  border-radius: 8px; font-size: 9.5px; line-height: 15px; font-weight: 600; text-align: center;
  color: #fff; background: #f04438; }

#view .mc-panel { background: var(--wk-card); border-radius: 16px; overflow: hidden; }
#view .mc-row { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; padding: 12px 14px;
  border: 0; background: none; text-align: left; }
#view .mc-row + .mc-row::before { content: ''; position: absolute; left: 55px; right: 14px; top: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .mc-ic { flex: none; width: 30px; height: 30px; border-radius: 9px; display: flex; align-items: center; justify-content: center;
  background: var(--wk-fill, #eef1f7); color: var(--wk-ink-2, #414a5c); }
#view .mc-ic svg { width: 17px; height: 17px; }
#view .mc-bd { flex: 1; min-width: 0; }
#view .mc-t { display: block; font-size: 14px; color: var(--wk-ink); }
#view .mc-s { display: block; margin-top: 2px; font-size: 11.5px; color: var(--wk-ink-3); }
#view .mc-n { font-size: 13px; font-weight: 600; color: var(--wk-ink-2, #414a5c); font-variant-numeric: tabular-nums; }
#view .mc-go, #view .mm-go { margin-left: 2px; font-size: 15px; color: var(--wk-ink-4, #98a2b3); }

#view .mm-panel { background: var(--wk-card); border-radius: 16px; overflow: hidden; }
#view .mm-row { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; padding: 12px 14px;
  border: 0; background: none; text-align: left; }
#view .mm-row + .mm-row::before { content: ''; position: absolute; left: 57px; right: 14px; top: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .mm-ic { flex: none; width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
  background: var(--wk-fill, #eef1f7); color: var(--wk-ink-2, #414a5c); }
#view .mm-ic svg { width: 17px; height: 17px; }
#view .mm-bd { flex: 1; min-width: 0; }
#view .mm-t { display: block; font-size: 14px; color: var(--wk-ink); }
#view .mm-s { display: block; margin-top: 2px; font-size: 11.5px; color: var(--wk-ink-3); }
#view .mm-tag { font-style: normal; font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 4px;
  color: #b45309; background: color-mix(in srgb, #f59e0b 16%, transparent); }

html[data-theme="dark"] #view .mo-logo,
html[data-theme="dark"] #view .mv-ic,
html[data-theme="dark"] #view .mc-ic,
html[data-theme="dark"] #view .mm-ic { background: rgba(255, 255, 255, .07); color: #cfd6e2; }
html[data-theme="dark"] #view .mo-type { color: #9aa5b8; background: rgba(255, 255, 255, .08); }
html[data-theme="dark"] #view .mo-go,
html[data-theme="dark"] #view .mo-add { color: #6b93ff; }
html[data-theme="dark"] #view .mo-row:active,
html[data-theme="dark"] #view .mc-row:active,
html[data-theme="dark"] #view .mm-row:active { background: rgba(255, 255, 255, .04); }

/* ===== 游戏资料库重做（gd-*）：游戏切换 / 分类卡 / 资料列表 / 详情 ===== */
#view .gd-games { display: flex; gap: 8px; overflow-x: auto; padding: 2px 14px 4px; margin: 0 -14px;
  scrollbar-width: none; -webkit-overflow-scrolling: touch; }
#view .gd-games::-webkit-scrollbar { display: none; }
#view .gd-game { flex: none; display: flex; align-items: center; gap: 6px; padding: 6px 12px 6px 6px; border: 0;
  border-radius: 999px; background: var(--wk-card); font-family: inherit; font-size: 12.5px; color: var(--wk-ink-2, #414a5c); }
#view .gd-game__ic { width: 22px; height: 22px; border-radius: 7px; overflow: hidden; display: flex; align-items: center;
  justify-content: center; font-size: 11px; font-weight: 700; color: #5f6673; background: var(--wk-fill, #eef1f7); }
#view .gd-game__ic img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .gd-game.is-on { background: #3563e0; color: #fff; }
#view .gd-game.is-on .gd-game__ic { background: rgba(255, 255, 255, .22); color: #fff; }

#view .gd-search, #view .gd-bar { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 0 12px;
  height: 40px; border-radius: 12px; background: var(--wk-card); }
#view .gd-bar { position: sticky; top: 0; z-index: 3; margin-top: 0; }
#view .gd-search__i, #view .gd-bar__i { flex: none; width: 16px; height: 16px; color: var(--wk-ink-4, #98a2b3); display: block; }
#view .gd-search__i svg, #view .gd-bar__i svg { width: 16px; height: 16px; }
#view .gd-search__in, #view .gd-bar__in { flex: 1; min-width: 0; height: 100%; border: 0; background: none; outline: none;
  font-family: inherit; font-size: 13.5px; color: var(--wk-ink); }
#view .gd-search__in::placeholder, #view .gd-bar__in::placeholder { color: var(--wk-ink-4, #98a2b3); }
#view .gd-search__go, #view .gd-bar__go { flex: none; border: 0; background: none; font-family: inherit; font-size: 13px;
  font-weight: 600; color: #3563e0; padding: 0 2px; }

#view .gd-sec { margin-top: 16px; }
#view .gd-hd { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
#view .gd-hd b { font-size: 14px; font-weight: 600; color: var(--wk-ink); }
#view .gd-hd span { font-size: 11.5px; color: var(--wk-ink-3); }
#view .gd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#view .gd-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 13px 12px 11px;
  border: 0; border-radius: 14px; background: var(--wk-card); text-align: left; }
#view .gd-card__ic { width: 34px; height: 34px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
  margin-bottom: 4px; background: var(--wk-fill, #eef1f7); color: var(--wk-ink-2, #414a5c); }
#view .gd-card__ic svg { width: 18px; height: 18px; }
#view .gd-card b { font-size: 14.5px; font-weight: 600; color: var(--wk-ink); }
#view .gd-card em { font-style: normal; font-size: 11.5px; line-height: 15px; color: var(--wk-ink-3);
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
#view .gd-card__n { margin-top: 3px; font-size: 11.5px; color: #3563e0; }
#view .gd-note { margin: 14px 2px 4px; font-size: 11px; line-height: 1.6; color: var(--wk-ink-4, var(--wk-ink-3)); }

#view .gd-chips { display: flex; gap: 8px; overflow-x: auto; margin-top: 10px; padding-bottom: 2px; scrollbar-width: none; }
#view .gd-chips::-webkit-scrollbar { display: none; }
#view .gd-chip { flex: none; padding: 6px 12px; border-radius: 999px; border: 1px solid transparent; background: var(--wk-card);
  font-family: inherit; font-size: 12.5px; color: var(--wk-ink-2, #414a5c); }
#view .gd-chip.is-on { background: color-mix(in srgb, #3563e0 12%, transparent); border-color: color-mix(in srgb, #3563e0 30%, transparent); color: #3563e0; font-weight: 600; }
#view .gd-count { margin: 12px 2px 8px; font-size: 11.5px; color: var(--wk-ink-3); }

#view .gd-list { border-radius: 16px; overflow: hidden; background: var(--wk-card); }
#view .gd-row { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 13px;
  border: 0; background: none; text-align: left; }
#view .gd-row + .gd-row::before { content: ''; position: absolute; left: 62px; right: 13px; top: 0; height: 1px;
  background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
#view .gd-ico { flex: none; width: 44px; height: 44px; border-radius: 11px; overflow: hidden; display: flex;
  align-items: center; justify-content: center; background: var(--wk-fill, #eef1f7);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rc, #8C9198) 45%, transparent); }
#view .gd-ico img { width: 100%; height: 100%; object-fit: contain; display: block; }
#view .gd-bd { flex: 1; min-width: 0; }
#view .gd-t { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--wk-ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .gd-rar { flex: none; font-style: normal; font-size: 10px; font-weight: 600; padding: 1px 5px; border-radius: 4px;
  color: var(--rc, #8C9198); background: color-mix(in srgb, var(--rc, #8C9198) 14%, transparent); }
#view .gd-s { margin-top: 3px; font-size: 11.5px; color: var(--wk-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .gd-r { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
#view .gd-r b { font-size: 13.5px; font-weight: 600; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .gd-r em { font-style: normal; font-size: 11px; font-variant-numeric: tabular-nums; }
#view .gd-r em.up { color: #c4251a; }
#view .gd-r em.down { color: #0b7a34; }
#view .gd-more { margin-top: 12px; }

/* 详情弹层 */
.wk-sheet .gd-dt__hd { display: flex; align-items: center; gap: 12px; }
.wk-sheet .gd-dt__ico { width: 64px; height: 64px; border-radius: 14px; overflow: hidden; display: flex; align-items: center;
  justify-content: center; background: #f3f4f6; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--rc, #8C9198) 50%, transparent); }
.wk-sheet .gd-dt__ico img { width: 100%; height: 100%; object-fit: contain; }
.wk-sheet .gd-dt__b { flex: 1; min-width: 0; }
.wk-sheet .gd-dt__b b { display: block; font-size: 16px; font-weight: 700; color: #141821; line-height: 22px; }
.wk-sheet .gd-dt__tags { display: flex; gap: 6px; margin-top: 6px; }
.wk-sheet .gd-dt__price { display: flex; align-items: baseline; gap: 8px; margin-top: 14px; padding: 12px 13px;
  border-radius: 12px; background: #f7f8fa; }
.wk-sheet .gd-dt__price b { font-size: 20px; font-weight: 700; color: #141821; font-variant-numeric: tabular-nums; }
.wk-sheet .gd-dt__price em { font-style: normal; font-size: 12px; font-weight: 600; }
.wk-sheet .gd-dt__price em.up { color: #c4251a; }
.wk-sheet .gd-dt__price em.down { color: #0b7a34; }
.wk-sheet .gd-dt__price span { margin-left: auto; font-size: 11px; color: #98a2b3; }
.wk-sheet .gd-dt__kv { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 12px; border-radius: 12px;
  overflow: hidden; background: rgba(20, 24, 33, .06); }
.wk-sheet .gd-dt__kv div { display: flex; flex-direction: column; gap: 2px; padding: 9px 12px; background: #fff; }
.wk-sheet .gd-dt__kv span { font-size: 11px; color: #98a2b3; }
.wk-sheet .gd-dt__kv b { font-size: 12.5px; font-weight: 500; color: #141821; }
.wk-sheet .gd-tagx { font-style: normal; font-size: 10.5px; padding: 1.5px 6px; border-radius: 4px; color: #5f6673;
  background: rgba(20, 24, 33, .06); }

html[data-theme="dark"] #view .gd-game { background: rgba(255, 255, 255, .06); color: #d7dbe3; }
html[data-theme="dark"] #view .gd-game__ic { background: rgba(255, 255, 255, .1); color: #cfd6e2; }
html[data-theme="dark"] #view .gd-game.is-on { background: #3563e0; color: #fff; }
html[data-theme="dark"] #view .gd-card__ic,
html[data-theme="dark"] #view .gd-ico { background: rgba(255, 255, 255, .07); }
html[data-theme="dark"] #view .gd-chip { background: rgba(255, 255, 255, .06); color: #d7dbe3; }
html[data-theme="dark"] #view .gd-chip.is-on { background: rgba(107, 147, 255, .18); border-color: rgba(107, 147, 255, .35); color: #a8c0ff; }
html[data-theme="dark"] .wk-sheet .gd-dt__ico { background: rgba(255, 255, 255, .08); }
html[data-theme="dark"] .wk-sheet .gd-dt__b b,
html[data-theme="dark"] .wk-sheet .gd-dt__price b,
html[data-theme="dark"] .wk-sheet .gd-dt__kv b { color: #e8ebf2; }
html[data-theme="dark"] .wk-sheet .gd-dt__price { background: rgba(255, 255, 255, .06); }
html[data-theme="dark"] .wk-sheet .gd-dt__kv { background: rgba(255, 255, 255, .1); }
html[data-theme="dark"] .wk-sheet .gd-dt__kv div { background: #1b1f27; }
html[data-theme="dark"] .wk-sheet .gd-tagx { color: #9aa5b8; background: rgba(255, 255, 255, .08); }

/* 资料库·二期：文章型行 / 条目型行 / 分组头 / 排序 / 详情补充 */
#view .gd-t--2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  white-space: normal; line-height: 19px; font-size: 14px; }
#view .gd-row--art { align-items: flex-start; gap: 11px; padding: 12px 13px; }
#view .gd-art { flex: none; width: 104px; height: 64px; border-radius: 10px; overflow: hidden; background: var(--wk-fill, #eef1f7); }
#view .gd-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .gd-row--art + .gd-row--art::before, #view .gd-row--art + .gd-row::before { left: 13px; }
#view .gd-meta { display: block; margin-top: 4px; font-size: 11px; color: var(--wk-ink-4, #98a2b3); }
#view .gd-ico--sq { font-size: 15px; font-weight: 600; color: var(--wk-ink-3, #667085); }
#view .gd-go { flex: none; font-size: 15px; color: var(--wk-ink-4, #98a2b3); }
#view .gd-hd__more { border: 0; background: none; font-family: inherit; font-size: 12px; color: #3563e0; padding: 0; }
#view .gd-chips--sort { margin-top: 12px; }
#view .gd-chips--sort .gd-chip { font-size: 12px; padding: 5px 11px; }
.wk-sheet .gd-dt__desc { margin: 12px 0 0; font-size: 13px; line-height: 21px; color: #414a5c; }
.wk-sheet .gd-dt__list { margin-top: 12px; }
.wk-sheet .gd-dt__list > span { font-size: 11px; color: #98a2b3; }
.wk-sheet .gd-dt__list > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.wk-sheet .gd-dt__list i { font-style: normal; font-size: 11.5px; padding: 3px 9px; border-radius: 7px;
  background: rgba(20, 24, 33, .06); color: #414a5c; }
html[data-theme="dark"] .wk-sheet .gd-dt__desc { color: #c3cbd8; }
html[data-theme="dark"] .wk-sheet .gd-dt__list i { background: rgba(255, 255, 255, .09); color: #d7dbe3; }
html[data-theme="dark"] #view .gd-art { background: rgba(255, 255, 255, .07); }
.wk-sheet .gd-dt__cover { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden;
  background: #f3f4f6; margin-bottom: 12px; }
.wk-sheet .gd-dt__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
html[data-theme="dark"] .wk-sheet .gd-dt__cover { background: rgba(255, 255, 255, .08); }
.wk-sheet .gd-dt__kv > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
#view .gd-count__x { border: 0; background: none; font-family: inherit; font-size: 11.5px; color: #3563e0; padding: 0 0 0 4px; }
#view .gd-chips--cat .gd-chip i { font-style: normal; margin-left: 5px; font-size: 10.5px; color: var(--wk-ink-4, #98a2b3); }
#view .gd-chips--cat .gd-chip.is-on i { color: inherit; opacity: .75; }

/* 排序条改成轻量文字式，与分类胶囊区分开 */
#view .gd-chips--sort { gap: 14px; margin-top: 12px; padding-bottom: 0; }
#view .gd-chips--sort .gd-chip { background: none; padding: 2px 0 4px; border: 0; border-radius: 0; font-size: 12.5px;
  color: var(--wk-ink-3, #667085); border-bottom: 2px solid transparent; }
#view .gd-chips--sort .gd-chip.is-on { background: none; border-bottom-color: #3563e0; color: #3563e0; font-weight: 600; }
#view .gd-chips--cat { margin-top: 8px; }

/* 二级分类条 + 品质选择 */
#view .gd-chips--sub { margin-top: 6px; }
#view .gd-chips--sub .gd-chip { background: none; border: 1px solid color-mix(in srgb, var(--wk-ink) 10%, transparent);
  font-size: 12px; padding: 4px 10px; color: var(--wk-ink-3, #667085); }
#view .gd-chips--sub .gd-chip.is-on { background: color-mix(in srgb, #3563e0 10%, transparent); border-color: color-mix(in srgb, #3563e0 32%, transparent);
  color: #3563e0; font-weight: 600; }
#view .gd-chips--sub .gd-chip i { font-style: normal; margin-left: 4px; font-size: 10px; color: var(--wk-ink-4, #98a2b3); }
#view .gd-chips--sort .gd-chip--rar { margin-left: auto; border: 1px solid color-mix(in srgb, var(--wk-ink) 12%, transparent);
  border-radius: 999px; padding: 3px 10px; }
#view .gd-chips--sort .gd-chip--rar.is-on { color: #3563e0; border-color: color-mix(in srgb, #3563e0 32%, transparent); font-weight: 600; }
/* 品质选择弹层 */
.wk-sheet .gd-rarsel { display: flex; flex-direction: column; }
.wk-sheet .gd-rarsel__r { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 13px 4px;
  border: 0; border-bottom: 1px solid rgba(20, 24, 33, .06); background: none; font-family: inherit; font-size: 14px; color: #141821; }
.wk-sheet .gd-rarsel__r:last-child { border-bottom: 0; }
.wk-sheet .gd-rarsel__r i { font-style: normal; font-size: 12px; color: #98a2b3; }
.wk-sheet .gd-rarsel__r.is-on { color: #3563e0; font-weight: 600; }
.wk-sheet .gd-rarsel__r.is-on i { color: #3563e0; }
html[data-theme="dark"] #view .gd-chips--sub .gd-chip { border-color: rgba(255,255,255,.14); color: #b9c1cf; }
html[data-theme="dark"] #view .gd-chips--sub .gd-chip.is-on { background: rgba(107,147,255,.18); border-color: rgba(107,147,255,.35); color: #a8c0ff; }
html[data-theme="dark"] .wk-sheet .gd-rarsel__r { color: #e8ebf2; border-bottom-color: rgba(255,255,255,.08); }


/* ================= 接单大厅（gh-* 整页重做） ================= */
#view .gh-hero { margin: 0 -14px; padding: 12px 14px; background: #14181f; color: #fff; }
html[data-theme="dark"] #view .gh-hero { background: #1c2230; }
#view .gh-hero__top { display: flex; align-items: center; justify-content: space-between; }
#view .gh-st { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 9px 0 8px; border-radius: 13px;
  border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); font-family: inherit;
  font-size: 12.5px; font-weight: 600; color: #e9edf5; }
#view .gh-st i { width: 7px; height: 7px; border-radius: 50%; background: #8b95a8; flex: none; }
#view .gh-st.is-on i { background: #37d07b; box-shadow: 0 0 0 3px rgba(55,208,123,.18); }
#view .gh-st.is-half i { background: #f5b544; box-shadow: 0 0 0 3px rgba(245,181,68,.18); }
#view .gh-st em { font-style: normal; font-weight: 400; font-size: 11px; color: #b3bccd; }
#view .gh-hero__link { border: 0; background: none; padding: 0; font-family: inherit; font-size: 12px; color: #b3bccd; }
#view .gh-hero__main { display: flex; align-items: flex-end; justify-content: space-between; margin-top: 10px; }
#view .gh-hero__big span { display: block; font-size: 11.5px; color: #b3bccd; }
#view .gh-hero__big b { display: block; margin-top: 2px; font-size: 32px; line-height: 36px; font-weight: 700;
  letter-spacing: -.8px; font-variant-numeric: tabular-nums; color: #fff; }
#view .gh-hero__big b i { font-style: normal; font-size: 13px; font-weight: 500; margin-left: 4px; color: #b3bccd; }
#view .gh-hero__kv { display: flex; gap: 22px; padding-bottom: 3px; }
#view .gh-hero__kv div { text-align: right; }
#view .gh-hero__kv b { display: block; font-size: 17px; font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
#view .gh-hero__kv b i { font-style: normal; font-size: 11px; font-weight: 500; color: #8b95a8; }
#view .gh-hero__kv span { display: block; margin-top: 1px; font-size: 11px; color: #b3bccd; }
#view .gh-hero__alert { display: block; width: 100%; margin-top: 10px; padding: 8px 10px; border: 0; border-radius: 8px;
  background: rgba(245,181,68,.14); color: #ffc663; font-family: inherit; font-size: 12px; text-align: left; }
  border: 0; border-radius: 8px; font-family: inherit; font-size: 12px; text-align: left; }
  line-height: 14px; text-align: center; font-weight: 700; }
  background: #f5b544; color: #1a1f28; font-size: 11.5px; font-weight: 600; line-height: 22px; }
#view .gh-hero__foot { display: flex; align-items: center; gap: 8px; margin-top: 11px; padding-top: 9px;
  border-top: 1px solid rgba(255,255,255,.1); font-size: 11px; color: #aab3c4; }
#view .gh-hero__foot span { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
#view .gh-hero__foot span + span::before { content: '·'; margin-right: 5px; color: #4a5364; }
#view .gh-hero__foot b { font-weight: 600; color: #dfe5ef; }
#view .gh-hero__foot i { font-style: normal; font-size: 10.5px; color: #8d97a9; }
/* tabs */
#view .gh-tabs { display: flex; gap: 20px; margin-top: 12px; }
#view .gh-tab { position: relative; border: 0; background: none; padding: 0 0 9px; font-family: inherit;
  font-size: 14px; color: var(--wk-ink-3, #667085); }
#view .gh-tab.is-on { color: var(--wk-ink); font-weight: 600; font-size: 15px; }
#view .gh-tab.is-on::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 18px; height: 3px;
  margin-left: -9px; border-radius: 2px; background: #3563e0; }
#view .gh-tab i { font-style: normal; margin-left: 3px; font-size: 10.5px; color: var(--wk-ink-4, #98a2b3); }
/* 筛选条 */
#view .gh-bar { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
#view .gh-bar__chips { flex: 1; min-width: 0; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
#view .gh-bar__chips::-webkit-scrollbar { display: none; }
#view .gh-chip { flex: none; height: 28px; padding: 0 11px; border-radius: 14px; font-family: inherit; font-size: 12.5px;
  color: var(--wk-ink-2, #475467); border: 1px solid color-mix(in srgb, var(--wk-ink) 16%, transparent); background: none; }
#view .gh-chip i { font-style: normal; margin-left: 3px; font-size: 10.5px; color: var(--wk-ink-4, #98a2b3); }
#view .gh-chip.is-on { background: rgba(53,99,224,.1); border-color: transparent; color: #2f5fd8; font-weight: 600; }
#view .gh-chip.is-on i { color: #6f8ee6; }
html[data-theme="dark"] #view .gh-chip.is-on { background: rgba(107,147,255,.16); color: #8fb6ff; }
html[data-theme="dark"] #view .gh-chip.is-on i { color: #7f9de0; }
#view .gh-chip.is-clear { border-style: dashed; color: #c2410c; border-color: #f0b060; }
#view .gh-bar__sort { flex: none; display: inline-flex; align-items: center; gap: 1px; height: 27px; padding: 0 8px;
  border-radius: 14px; border: 1px solid color-mix(in srgb, var(--wk-ink) 12%, transparent); background: none;
  font-family: inherit; font-size: 12px; color: var(--wk-ink-3, #667085); }
#view .gh-bar__sort svg { width: 13px; height: 13px; }
#view .gh-bar__sort.is-on { color: #3563e0; border-color: #b9d0ff; }
/* 卡片 */
#view .gh-list { display: flex; flex-direction: column; gap: 9px; margin-top: 10px; }
#view .gh-c { position: relative; padding: 12px 13px 10px; border-radius: 12px; background: var(--wk-card);
  border: 1px solid color-mix(in srgb, var(--wk-ink) 7%, transparent); }
#view .gh-c::before { content: ''; position: absolute; left: -1px; top: 14px; bottom: 14px; width: 3px;
  border-radius: 0 3px 3px 0; background: transparent; }
#view .gh-c.is-dispatch::before { background: #3563e0; }
#view .gh-c.is-hot::before { background: #f0762f; }
#view .gh-c__hd { display: flex; align-items: flex-start; gap: 10px; }
#view .gh-c__t { flex: 1; min-width: 0; margin: 0; font-size: 15px; line-height: 20px; font-weight: 600;
  color: var(--wk-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#view .gh-c__t i { margin-left: 3px; font-style: normal; font-weight: 400; font-size: 12px; color: var(--wk-ink-4, #98a2b3); }
#view .gh-c__p { flex: none; margin: 0; font-size: 20px; line-height: 22px; font-weight: 700; color: #d9463a;
  letter-spacing: -.3px; font-variant-numeric: tabular-nums; }
#view .gh-c__p em { margin-left: 2px; font-style: normal; font-size: 11px; font-weight: 500; color: var(--wk-ink-4, #98a2b3); }
html[data-theme="dark"] #view .gh-c__p { color: #ff8d7e; }
#view .gh-c__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; font-size: 11px; line-height: 17px;
  color: var(--wk-ink-2, #475467); }
#view .gh-c__meta span { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: 4px;
  background: color-mix(in srgb, var(--wk-ink) 5%, transparent); }
#view .gh-c__game { color: #2f6bd8; background: rgba(47,107,216,.09); }
#view .gh-c__cd { color: #fff; background: #e0483c; font-weight: 600; font-variant-numeric: tabular-nums; }
#view .gh-c__cd.is-over { background: #8b95a8; font-weight: 400; }
#view .gh-c__new { color: #c2410c; background: #fff1e8; }
#view .gh-c__meta span.is-hot { color: #c2410c; background: #fdece2; font-weight: 600; }
#view .gh-c__st { color: #0f8a4d; background: #e9f8ef; }
html[data-theme="dark"] #view .gh-c__game { color: #8fb6ff; background: rgba(143,182,255,.12); }
html[data-theme="dark"] #view .gh-c__new { color: #ffab7b; background: rgba(255,171,123,.14); }
html[data-theme="dark"] #view .gh-c__meta span.is-hot { color: #ffab7b; background: rgba(255,171,123,.14); }
html[data-theme="dark"] #view .gh-c__st { color: #5fe39b; background: rgba(55,208,123,.14); }
#view .gh-c__ex { margin: 6px 0 0; font-size: 11.5px; line-height: 17px; color: var(--wk-ink-3, #667085);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .gh-c__ft { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 9px; }
#view .gh-c__time { font-size: 11px; color: var(--wk-ink-3, #667085); }
#view .gh-c__act { display: flex; align-items: center; gap: 6px; }
#view .gh-c__hintbtn { border: 1px solid #e6b97a; background: none; border-radius: 6px; height: 26px; padding: 0 8px;
  font-family: inherit; font-size: 11.5px; color: #b26a00; }
html[data-theme="dark"] #view .gh-c__hintbtn { border-color: rgba(240,177,74,.4); color: #f0b14a; }
/* 空态 / 加载 */
#view .gh-empty { margin-top: 26px; padding: 0 26px; text-align: center; }
#view .gh-empty h4 { margin: 0 0 6px; font-size: 15px; font-weight: 600; color: var(--wk-ink); }
#view .gh-empty p { margin: 0 0 14px; font-size: 12.5px; line-height: 19px; color: var(--wk-ink-3, #667085); }
#view .gh-load { padding: 40px 0; text-align: center; font-size: 13px; color: var(--wk-ink-4, #98a2b3); }
#view .gh-more { padding: 16px 0 6px; text-align: center; font-size: 12px; color: var(--wk-ink-4, #98a2b3); }
/* 弹层 */
.wk-sheet .gh-opts__tip { margin: 4px 0 8px; font-size: 11.5px; line-height: 17px; color: #98a2b3; }
.wk-sheet .gh-opt { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 2px; border: 0;
  border-bottom: 1px solid rgba(16,24,40,.06); background: none; font-family: inherit; text-align: left; }
.wk-sheet .gh-opt:last-of-type { border-bottom: 0; }
.wk-sheet .gh-opt__tx { flex: 1; min-width: 0; }
.wk-sheet .gh-opt__tx b { display: block; font-size: 14px; font-weight: 500; color: #141821; }
.wk-sheet .gh-opt__tx i { display: block; margin-top: 2px; font-style: normal; font-size: 11.5px; color: #98a2b3; }
.wk-sheet .gh-opt.is-on .gh-opt__tx b { color: #3563e0; font-weight: 600; }
.wk-sheet .gh-opt__ck { flex: none; width: 14px; text-align: right; font-size: 14px; color: #3563e0; }
.wk-sheet .gh-opt__amt { flex: none; font-size: 13px; font-weight: 600; color: #3563e0; }
.wk-sheet .gh-opt__dot { flex: none; width: 8px; height: 8px; border-radius: 50%; }
.wk-sheet .gh-opt__dot.is-accepting { background: #16a34a; }
.wk-sheet .gh-opt__dot.is-assign_only { background: #f59e0b; }
.wk-sheet .gh-opt__dot.is-off { background: #98a2b3; }
.wk-sheet .gh-rule p { margin: 0 0 10px; font-size: 12.5px; line-height: 19px; color: #475467; }
.wk-sheet .gh-rule b { display: inline-block; min-width: 34px; margin-right: 6px; color: #141821; }
.wk-sheet .gh-dt__amt { display: flex; align-items: baseline; justify-content: space-between; padding: 10px 12px;
  border-radius: 10px; background: #f7f8fa; }
.wk-sheet .gh-dt__amt span { font-size: 12px; color: #667085; }
.wk-sheet .gh-dt__amt b { font-size: 22px; font-weight: 700; color: #d9463a; font-variant-numeric: tabular-nums; }
.wk-sheet .gh-dt__kv { margin: 10px 0 0; }
.wk-sheet .gh-dt__kv div { display: flex; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(16,24,40,.05); }
.wk-sheet .gh-dt__kv dt { flex: none; width: 68px; font-size: 12.5px; color: #98a2b3; }
.wk-sheet .gh-dt__kv dd { flex: 1; margin: 0; font-size: 12.5px; color: #141821; }
.wk-sheet .gh-dt__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.wk-sheet .gh-dt__tags span { padding: 2px 7px; border-radius: 4px; background: #f2f4f7; font-size: 11px; color: #475467; }
.wk-sheet .gh-cf { text-align: center; padding-top: 4px; }
.wk-sheet .gh-cf > b { display: block; font-size: 15px; font-weight: 600; color: #141821; }
.wk-sheet .gh-cf__amt { margin: 10px 0 12px; font-size: 34px; line-height: 38px; font-weight: 700; color: #d9463a;
  letter-spacing: -.8px; font-variant-numeric: tabular-nums; }
.wk-sheet .gh-cf__amt em { margin-left: 3px; font-style: normal; font-size: 14px; font-weight: 500; color: #98a2b3; }
.wk-sheet .gh-cf p { margin: 0 0 8px; font-size: 12.5px; line-height: 19px; color: #667085; }
.wk-sheet .gh-cf__warn { color: #0f8a4d; }
html[data-theme="dark"] .wk-sheet .gh-opt__tx b { color: #e8ebf2; }
html[data-theme="dark"] .wk-sheet .gh-opt.is-on .gh-opt__tx b { color: #6b93ff; }
html[data-theme="dark"] .wk-sheet .gh-opt { border-bottom-color: rgba(255,255,255,.08); }
html[data-theme="dark"] .wk-sheet .gh-rule p { color: #b6bfd0; }
html[data-theme="dark"] .wk-sheet .gh-rule b { color: #e8ebf2; }
html[data-theme="dark"] .wk-sheet .gh-dt__amt { background: rgba(255,255,255,.05); }
html[data-theme="dark"] .wk-sheet .gh-dt__kv dd { color: #e8ebf2; }
html[data-theme="dark"] .wk-sheet .gh-dt__kv div { border-bottom-color: rgba(255,255,255,.07); }
html[data-theme="dark"] .wk-sheet .gh-cf > b { color: #e8ebf2; }

/* 吸顶：tabs + 筛选跟着滚 */
#view .gh-sticky { position: sticky; top: 0; z-index: 6; margin: 0 -14px; padding: 0 14px;
  background: var(--wk-bg, #f5f6f8); }
#view .gh-sticky::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px;
  background: var(--wk-bg, #f5f6f8); }
html[data-theme="dark"] #view .gh-sticky { background: #151a22; }
html[data-theme="dark"] #view .gh-sticky::before { background: #151a22; }
/* 有新单 */
#view .gh-new { display: block; width: 100%; margin: 8px 0 0; padding: 7px 0; border: 0; border-radius: 8px;
  background: rgba(53,99,224,.1); color: #2f5fd8; font-family: inherit; font-size: 12px; font-weight: 600; }
/* 下单方 */
#view .gh-c__buyer { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 11.5px;
  color: var(--wk-ink-3, #667085); }
#view .gh-c__buyer .wk-ava, #view .gh-c__buyer img, #view .gh-c__buyer > span:first-child { flex: none; }
#view .gh-c__buyer span { font-weight: 500; color: var(--wk-ink-2, #475467); }
#view .gh-c__buyer i { font-style: normal; margin-left: 2px; padding-left: 7px; border-left: 1px solid color-mix(in srgb, var(--wk-ink) 14%, transparent); font-size: 11px; color: var(--wk-ink-4, #98a2b3); }
/* 深色下工作台与页面要分得出来 */
html[data-theme="dark"] #view .gh-hero { background: #1f2634; box-shadow: inset 0 -1px 0 rgba(255,255,255,.08); }

#view .gh-hero__todo { margin-left: auto; flex: none; border: 0; background: none; padding: 0;
  font-family: inherit; font-size: 11px; font-weight: 600; color: #ffc663; }

/* ===== 大神主页（mst-*）· 整页重构 v=1440 ===== */
#view .mst { padding-bottom: 96px; }

/* 封面：通栏顶边，180 高；无图时纯色深底 + 段位水印（不做渐变贴纸） */
#view .mst-cover { position: relative; margin: 0 -14px; height: 120px; background: #171b23; overflow: hidden; }
#view .mst-cover__img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .mst-cover__top { position: absolute; inset: 0 0 auto 0; height: 64px; background: linear-gradient(180deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,0) 100%); pointer-events: none; }
#view .mst-cover__fade { position: absolute; inset: auto 0 0 0; height: 96px; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%); pointer-events: none; }
#view .mst-cover__mark { position: absolute; right: 12px; bottom: 8px; font-size: 62px; font-weight: 800; letter-spacing: -2px; color: rgba(255,255,255,.07); line-height: 1; user-select: none; }
#view .mst-cover__chips { position: absolute; left: 14px; bottom: 10px; display: flex; gap: 6px; flex-wrap: wrap; }
#view .mst-chip { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 7px; border-radius: 6px; font-size: 10px; font-style: normal; color: rgba(255,255,255,.86); background: rgba(0,0,0,.42); backdrop-filter: blur(6px); }
#view .mst-chip i { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.5); }
#view .mst-chip.is-on { color: #7ee2a8; }
#view .mst-chip.is-on i { background: #37d67a; box-shadow: 0 0 0 3px rgba(55,214,122,.18); }
#view .mst-chip.is-ok i { background: #f0b14a; }
#view .mst-chip.is-lv { color: #d8c9ff; }

/* 身份区：头像压封面下缘 */
#view .mst-id { display: flex; align-items: flex-start; gap: 12px; margin-top: -26px; position: relative; z-index: 2; }
#view .mst-id__av { position: relative; display: block; width: 68px; height: 68px; border-radius: 50%; background: var(--wk-card); padding: 3px; box-shadow: 0 2px 10px rgba(0,0,0,.10); flex: none; }
#view .mst-id__av img, #view .mst-id__av > span { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
#view .mst-id__dot { position: absolute; right: 3px; bottom: 3px; width: 12px; height: 12px; border-radius: 50%; background: #37d67a; border: 2.5px solid var(--wk-card); }
#view .mst-id__b { min-width: 0; padding-top: 28px; }
#view .mst-id__n { margin: 0; font-size: 19px; font-weight: 700; line-height: 1.25; color: var(--wk-ink); display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
#view .mst-sex { font-size: 11px; font-style: normal; color: var(--wk-ink-4); }
#view .mst-ok { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; border-radius: 50%; background: color-mix(in srgb, var(--wk-brand) 14%, transparent); color: var(--wk-brand); font-size: 9px; font-style: normal; font-weight: 700; }
#view .mst-id__m { margin: 2px 0 0; font-size: 11px; line-height: 1.5; color: var(--wk-ink-4); }
#view .mst-bio { margin: 8px 0 0; font-size: 13px; line-height: 1.6; color: var(--wk-ink-2); word-break: break-word; }

/* 四项数据：评分/完成单/好评率/评价 */
#view .mst-kpi { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 12px; padding: 0; border-radius: 12px; background: var(--wk-card); }
#view .mst-kpi > div { display: flex; align-items: baseline; justify-content: center; gap: 4px; padding: 12px 0; position: relative; }
#view .mst-kpi > div + div::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 1px; background: var(--wk-line); }
#view .mst-kpi b { font-size: 15px; font-weight: 700; line-height: 20px; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .mst-kpi span { margin: 0; font-size: 10px; line-height: 20px; color: var(--wk-ink-4); }

/* 分区 */
#view .mst-sec { margin-top: 12px; }
#view .mst-sec__hd { display: flex; align-items: baseline; justify-content: space-between; padding: 0 2px 6px; }
#view .mst-sec__hd h2 { margin: 0; font-size: 13px; line-height: 18px; font-weight: 650; color: var(--wk-ink); }
#view .mst-sec__hd span { font-size: 11px; color: var(--wk-ink-4); }
#view .mst-list { border-radius: 12px; background: var(--wk-card); overflow: hidden; }
#view .mst-empty { padding: 18px 14px; font-size: 12px; color: var(--wk-ink-4); text-align: center; }
#view .mst-empty--wide { grid-column: 1 / -1; padding: 22px 10px; }

/* 服务行 */
#view .mst-svc { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 14px; background: none; border: 0; text-align: left; color: inherit; font: inherit; position: relative; }
#view .mst-svc + .mst-svc::before { content: ""; position: absolute; left: 14px; right: 0; top: 0; height: 1px; background: color-mix(in srgb, var(--wk-ink) 9%, transparent); }
#view .mst-svc__b { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 1px; }
#view .mst-svc__l1 { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
#view .mst-svc__d { font-size: 10.5px; line-height: 14px; font-style: normal; color: var(--wk-ink-4); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .mst-svc__b b { font-size: 13.5px; line-height: 20px; font-weight: 550; color: var(--wk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
#view .mst-svc__b em { font-size: 10.5px; line-height: 20px; font-style: normal; color: var(--wk-ink-4); flex: none; }
#view .mst-svc__r { display: flex; align-items: baseline; gap: 2px; flex: none; color: var(--wk-ink-3); }
#view .mst-svc__r b { font-size: 15px; font-weight: 700; color: var(--wk-brand); font-variant-numeric: tabular-nums; }
#view .mst-svc__r em { font-size: 10px; font-style: normal; color: var(--wk-ink-4); margin-right: 2px; }
#view .mst-svc__r svg { width: 14px; height: 14px; align-self: center; opacity: .35; }
#view .mst-svc.is-static { cursor: default; }

/* 游戏行 */
#view .mst-game { display: flex; align-items: center; gap: 10px; padding: 9px 14px; position: relative; }
#view .mst-game + .mst-game::before { content: ""; position: absolute; left: 52px; right: 14px; top: 0; height: 1px; background: color-mix(in srgb, var(--wk-ink) 9%, transparent); }
#view .mst-game__ic { width: 26px; height: 26px; border-radius: 8px; object-fit: cover; flex: none; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
#view .mst-game__b { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: 6px; }
#view .mst-game__b b { font-size: 13px; line-height: 20px; font-weight: 550; color: var(--wk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
#view .mst-game__b em { font-size: 10.5px; line-height: 20px; font-style: normal; color: var(--wk-ink-3); flex: none; }
#view .mst-game__s { flex: none; font-size: 10px; color: var(--wk-ink-4); padding: 2px 6px; border-radius: 5px; background: var(--wk-fill); }
#view .mst-game__s.is-on { color: var(--wk-brand); background: color-mix(in srgb, var(--wk-brand) 10%, transparent); }

/* 评价 */
#view .mst-list--rv { padding: 10px 14px; }
#view .mst-rv__sum { display: flex; gap: 14px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid var(--wk-line); }
#view .mst-rv__big { flex: none; display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 76px; }
#view .mst-rv__big b { font-size: 26px; font-weight: 750; line-height: 1; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .mst-rv__big em { font-size: 10px; font-style: normal; color: var(--wk-ink-4); }
#view .mst-stars { font-size: 10px; letter-spacing: 1px; color: #f5a623; }
#view .mst-rv__dist { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
#view .mst-rv__drow { display: flex; align-items: center; gap: 6px; font-size: 10px; color: var(--wk-ink-4); }
#view .mst-rv__drow span { width: 24px; flex: none; }
#view .mst-rv__drow i { flex: 1; height: 4px; border-radius: 2px; background: var(--wk-fill); overflow: hidden; }
#view .mst-rv__drow i b { display: block; height: 100%; border-radius: 2px; background: #f5a623; }
#view .mst-rv__drow em { width: 16px; text-align: right; font-style: normal; flex: none; }
#view .mst-rv { display: flex; gap: 9px; padding: 9px 0; }
#view .mst-rv + .mst-rv { border-top: 1px solid color-mix(in srgb, var(--wk-ink) 9%, transparent); }
#view .mst-rv__b { min-width: 0; flex: 1; }
#view .mst-rv__h { display: flex; align-items: center; gap: 6px; }
#view .mst-rv__h b { font-size: 11.5px; font-weight: 550; color: var(--wk-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .mst-rv__h em { margin-left: auto; font-size: 10px; font-style: normal; color: var(--wk-ink-4); flex: none; }
#view .mst-rv__t { margin: 3px 0 0; font-size: 12px; line-height: 1.55; color: var(--wk-ink-2); word-break: break-word; }

/* 相册：三列方图 */
#view .mst-gal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
#view .mst-gal__i { position: relative; padding: 0; border: 0; background: var(--wk-fill); border-radius: 8px; overflow: hidden; aspect-ratio: 1 / 1; }
#view .mst-gal__i img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .mst-gal__x { position: absolute; right: 4px; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff; font-size: 12px; line-height: 18px; text-align: center; }
#view .mst-gal__add { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; aspect-ratio: 1 / 1; border: 1px dashed var(--wk-line); border-radius: 8px; background: none; color: var(--wk-ink-4); }
#view .mst-gal__add i { font-size: 20px; font-style: normal; line-height: 1; }
#view .mst-gal__add em { font-size: 10px; font-style: normal; }

/* 底部操作条 */
#view .mst-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: flex; align-items: center; gap: 8px; padding: 8px 14px calc(8px + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--wk-card) 92%, transparent); backdrop-filter: blur(10px); border-top: 1px solid var(--wk-line); }
#view .mst-dock__p { display: flex; align-items: baseline; gap: 2px; flex: none; min-width: 62px; max-width: 96px; white-space: nowrap; overflow: hidden; }
#view .mst-dock__p b { font-size: 17px; font-weight: 700; color: var(--wk-brand); line-height: 1.15; font-variant-numeric: tabular-nums; }
#view .mst-dock__p em { font-size: 10px; font-style: normal; color: var(--wk-ink-4); }
#view .mst-dock__dm { flex: 0 0 76px; height: 38px; }
#view .mst-dock__cta { flex: 1; height: 38px; }
#view .mst .wk-btn--block { height: 40px; }

/* 深色 */
html[data-theme="dark"] #view .mst-cover.is-plain { background: #0f1218; }
html[data-theme="dark"] #view .mst-rv__drow i b { background: #e0a03a; }
html[data-theme="dark"] #view .mst-stars { color: #f0b14a; }
/* 深色：卡片抬一档 + 微弱描边，次要文字提亮，进度条空槽可见 */
html[data-theme="dark"] #view .mst-kpi,
html[data-theme="dark"] #view .mst-list { background: #202634; box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }
html[data-theme="dark"] #view .mst-id__m,
html[data-theme="dark"] #view .mst-sec__hd span,
html[data-theme="dark"] #view .mst-kpi span,
html[data-theme="dark"] #view .mst-svc__b em,
html[data-theme="dark"] #view .mst-svc__r em,
html[data-theme="dark"] #view .mst-game__b em,
html[data-theme="dark"] #view .mst-rv__big em,
html[data-theme="dark"] #view .mst-rv__h em,
html[data-theme="dark"] #view .mst-dock__p em { color: rgba(255,255,255,.56); }
html[data-theme="dark"] #view .mst-rv__drow { color: rgba(255,255,255,.5); }
html[data-theme="dark"] #view .mst-rv__drow i { background: rgba(255,255,255,.10); }
html[data-theme="dark"] #view .mst-game__s { color: rgba(255,255,255,.55); background: rgba(255,255,255,.07); }
html[data-theme="dark"] #view .mst-game__s.is-on { color: #8fb4ff; background: rgba(107,147,255,.16); }
html[data-theme="dark"] #view .mst-empty { color: rgba(255,255,255,.45); }
html[data-theme="dark"] #view .mst-dock { background: rgba(20,24,31,.92); }
/* 迷你吸顶条：上滑 110px 后出现（固定在高 44 的顶栏下方，不占布局） */
#view .mst-mini { position: fixed; left: 0; right: 0; top: 44px; z-index: 40; display: flex; align-items: center; gap: 8px;
  height: 46px; padding: 0 14px; background: var(--wk-bg); border-bottom: 1px solid color-mix(in srgb, var(--wk-ink) 8%, transparent);
  opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity .16s ease, transform .16s ease; }
#view .mst-mini.is-on { opacity: 1; transform: none; pointer-events: auto; box-shadow: 0 6px 14px -10px rgba(15,20,30,.35); }
#view .mst-mini__n { flex: 1; min-width: 0; font-size: 13px; font-weight: 600; color: var(--wk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .mst-mini__p { flex: none; font-size: 11px; color: var(--wk-ink-4); }
#view .mst-mini__b { flex: none; height: 30px; padding: 0 12px; font-size: 12px; border-radius: 15px; }

/* 查看全部评价 */
#view .mst-more { display: flex; align-items: center; justify-content: center; gap: 2px; width: 100%; height: 42px; margin-top: 8px;
  font-size: 12px; color: var(--wk-ink-3); background: var(--wk-card, #fff); border: 0; border-radius: 10px; }
#view .mst-more svg { width: 14px; height: 14px; opacity: .6; }

/* 全部评价页 */
#view .mst-rvpage { padding-bottom: 12px; }
#view .mst-rvsum { display: flex; align-items: center; gap: 14px; padding: 14px; background: var(--wk-card, #fff); border-radius: 12px; }
#view .mst-rvsum__l { flex: none; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 86px; }
#view .mst-rvsum__l b { font-size: 30px; font-weight: 700; line-height: 1.05; letter-spacing: -.5px; }
#view .mst-rvsum__l em { font-size: 10.5px; font-style: normal; color: var(--wk-ink-4); }
#view .mst-rvsum .mst-rv__dist { flex: 1; min-width: 0; }
#view .mst-rvpage .mst-list--rv { margin-top: 10px; }

/* 小数星：灰底 + 按百分比裁切的实心层 */
#view .mst-stars--frac { position: relative; display: inline-block; line-height: 1; letter-spacing: 1px; font-size: 11px; }
#view .mst-stars--frac b { font-weight: 400; color: color-mix(in srgb, var(--wk-ink) 16%, transparent); }
#view .mst-stars--frac i { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; font-style: normal; color: #f5a524; }

/* ===== 我的订单（ord2-*）· 整页重构 v=1460 ===== */
#view .ord2 { padding-bottom: 6px; }

/* 双视角分段 */
#view .ord2-seg { display: flex; gap: 2px; padding: 3px; background: color-mix(in srgb, var(--wk-ink) 6%, transparent); border-radius: 10px; margin-top: 2px; }
#view .ord2-seg__b { flex: 1; height: 32px; border: 0; border-radius: 8px; background: transparent; font-size: 13px; font-weight: 550; color: var(--wk-ink-3); }
#view .ord2-seg__b.is-on { background: var(--wk-card, #fff); color: var(--wk-ink); box-shadow: 0 1px 3px rgba(16, 22, 33, .10); }

/* 待办提示 */
#view .ord2-todo { margin-top: 10px; border-radius: 10px; overflow: hidden; background: rgba(217, 131, 36, .09); }
#view .ord2-todo__i { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 12px; border: 0; background: transparent; text-align: left; }
#view .ord2-todo__i + .ord2-todo__i { border-top: 1px solid rgba(217, 131, 36, .16); }
#view .ord2-todo__i b { font-size: 12.5px; font-weight: 600; color: #a9631a; flex: none; }
#view .ord2-todo__i em { flex: 1; min-width: 0; font-size: 11px; font-style: normal; color: #a9631a; opacity: .72; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .ord2-todo__i svg { width: 14px; height: 14px; color: #a9631a; opacity: .6; flex: none; }

/* 状态 tabs：横滑 + 下划线 */
#view .ord2-tabs { display: flex; gap: 18px; margin: 10px -14px 0; padding: 0 14px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid color-mix(in srgb, var(--wk-ink) 7%, transparent); }
#view .ord2-tabs::-webkit-scrollbar { display: none; }
#view .ord2-tabs__b { flex: none; position: relative; height: 38px; padding: 0; border: 0; background: transparent; font-size: 13px; color: var(--wk-ink-3); white-space: nowrap; }
#view .ord2-tabs__b i { margin-left: 3px; font-size: 10.5px; font-style: normal; color: var(--wk-ink-4); }
#view .ord2-tabs__b.is-on { color: var(--wk-ink); font-weight: 650; }
#view .ord2-tabs__b.is-on::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px; background: var(--wk-ink); }
#view .ord2-tabs__b.is-on i { color: var(--wk-ink-2); }

/* 订单卡 */
#view .ord2-list { padding-top: 10px; }
#view .ord2-c { background: var(--wk-card, #fff); border-radius: 12px; padding: 10px 12px 8px; margin-bottom: 8px; }
#view .ord2-c.is-focus { outline: 2px solid #3563e0; outline-offset: -2px; }
#view .ord2-c__hd { display: flex; align-items: center; gap: 8px; }
#view .ord2-c__t { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 600; color: var(--wk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .ord2-c__st { flex: none; padding: 2px 6px; border-radius: 4px; font-size: 10.5px; font-style: normal; font-weight: 600; line-height: 14px; }
#view .ord2-c__st.is-warn { color: #b4671a; background: rgba(217, 131, 36, .13); }
#view .ord2-c__st.is-info { color: #2f5fd0; background: rgba(53, 99, 224, .11); }
#view .ord2-c__st.is-wait { color: #6749d8; background: rgba(124, 92, 252, .12); }
#view .ord2-c__st.is-ok { color: #14804a; background: rgba(22, 163, 74, .12); }
#view .ord2-c__st.is-off { color: var(--wk-ink-3); background: color-mix(in srgb, var(--wk-ink) 8%, transparent); }

#view .ord2-c__main { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
#view .ord2-c__th { flex: none; width: 52px; height: 52px; border-radius: 8px; overflow: hidden; background: color-mix(in srgb, var(--wk-ink) 5%, transparent); display: flex; align-items: center; justify-content: center; color: var(--wk-ink-4); }
#view .ord2-c__th img { width: 100%; height: 100%; object-fit: cover; display: block; }
#view .ord2-c__th svg { width: 22px; height: 22px; }
#view .ord2-c__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
#view .ord2-c__sp { margin: 0; display: flex; flex-wrap: wrap; gap: 0 6px; font-size: 11px; line-height: 15px; color: var(--wk-ink-3); }
#view .ord2-c__sp span { position: relative; }
#view .ord2-c__sp span + span::before { content: "·"; position: absolute; left: -4px; color: var(--wk-ink-4); }
#view .ord2-c__peer { margin: 0; display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--wk-ink-3); min-width: 0; }
#view .ord2-c__peer b { font-weight: 500; color: var(--wk-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .ord2-c__pav { flex: none; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: -6px 0; border-radius: 50%; border: 1px dashed color-mix(in srgb, var(--wk-ink) 18%, transparent); color: var(--wk-ink-4); }
#view .ord2-c__pav svg { width: 13px; height: 13px; }
#view .ord2-c__peer em { font-style: normal; font-size: 10px; color: var(--wk-ink-4); flex: none; }
#view .ord2-c__amt { flex: none; text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
#view .ord2-c__amt b { font-size: 15px; font-weight: 700; line-height: 1.1; color: var(--wk-ink); font-variant-numeric: tabular-nums; }
#view .ord2-c__amt b i { margin-left: 1px; font-size: 10px; font-style: normal; font-weight: 500; color: var(--wk-ink-3); }
#view .ord2-c__amt b.is-quiet { color: var(--wk-ink-3); }
#view .ord2-c__amt b.is-refund { color: #14804a; }
#view .ord2-c__amt em { font-size: 10px; font-style: normal; color: var(--wk-ink-4); }

#view .ord2-c__note { margin: 7px 0 0; padding: 4px 8px; border-radius: 6px; background: color-mix(in srgb, var(--wk-ink) 4%, transparent); font-size: 10.5px; line-height: 15px; color: var(--wk-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#view .ord2-c__ft { display: flex; align-items: center; gap: 8px; margin-top: 9px; }
#view .ord2-c__no { flex: 1; min-width: 0; font-size: 10.5px; color: var(--wk-ink-4); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .ord2-c__acts { flex: none; display: flex; align-items: center; gap: 6px; }
#view .ord2-c__acts .wk-btn { height: 28px; padding: 0 10px; font-size: 12px; border-radius: 14px; }
#view .ord2-c__link { height: 28px; padding: 0 2px; border: 0; background: none; font-size: 11.5px; color: var(--wk-ink-3); }

#view .ord2-empty { padding: 56px 16px; text-align: center; }
#view .ord2-empty b { display: block; font-size: 14px; font-weight: 600; color: var(--wk-ink-2); }
#view .ord2-empty span { display: block; margin-top: 6px; font-size: 12px; color: var(--wk-ink-4); }
#view .ord2-empty .wk-btn { margin-top: 14px; }

#view .ord2-more { display: block; width: 100%; height: 40px; margin: 2px 0 8px; border: 0; border-radius: 10px; background: var(--wk-card, #fff); font-size: 12px; color: var(--wk-ink-3); }

/* 深色 */
html[data-theme="dark"] #view .ord2-c,
html[data-theme="dark"] #view .ord2-more { background: #202634; }
html[data-theme="dark"] #view .ord2-seg { background: rgba(255, 255, 255, .06); }
html[data-theme="dark"] #view .ord2-seg__b.is-on { background: #2b3444; color: #eef1f6; }
html[data-theme="dark"] #view .ord2-todo { background: rgba(217, 131, 36, .13); }
html[data-theme="dark"] #view .ord2-todo__i b,
html[data-theme="dark"] #view .ord2-todo__i em,
html[data-theme="dark"] #view .ord2-todo__i svg { color: #e0a463; }
html[data-theme="dark"] #view .ord2-c__st.is-warn { color: #e0a463; background: rgba(217, 131, 36, .18); }
html[data-theme="dark"] #view .ord2-c__st.is-info { color: #8fb4ff; background: rgba(107, 147, 255, .18); }
html[data-theme="dark"] #view .ord2-c__st.is-wait { color: #b29cff; background: rgba(124, 92, 252, .2); }
html[data-theme="dark"] #view .ord2-c__st.is-ok { color: #5fd08a; background: rgba(22, 163, 74, .2); }
html[data-theme="dark"] #view .ord2-c__st.is-off { color: rgba(255, 255, 255, .74); background: rgba(255, 255, 255, .10); }
html[data-theme="dark"] #view .ord2-c__note { background: rgba(255, 255, 255, .05); }

/* 搜索框 */
#view .ord2-search { display: flex; align-items: center; gap: 6px; height: 34px; margin-top: 2px; padding: 0 10px; border-radius: 9px; background: color-mix(in srgb, var(--wk-ink) 5%, transparent); }
#view .ord2-search svg { width: 15px; height: 15px; color: var(--wk-ink-4); flex: none; }
#view .ord2-search input { flex: 1; min-width: 0; height: 100%; border: 0; background: none; font-size: 13px; color: var(--wk-ink); outline: none; -webkit-appearance: none; }
#view .ord2-search input::placeholder { color: var(--wk-ink-4); }
#view .ord2-search input::-webkit-search-cancel-button { display: none; }
#view .ord2-search__x { flex: none; border: 0; background: none; padding: 0 2px; font-size: 11.5px; color: var(--wk-ink-3); }
#view .ord2-seg { margin-top: 10px; }

/* 待验收提示条 */
#view .ord2-c__note.is-wait { background: rgba(124, 92, 252, .1); color: #6749d8; }

/* ===== 订单详情（odt-*） ===== */
#view .odt { padding-bottom: 76px; }
#view .odt-hd { background: var(--wk-card, #fff); border-radius: 12px; padding: 12px 14px; }
#view .odt-hd__r { display: flex; justify-content: flex-end; }
#view .odt-hd__t { margin: 4px 0 0; font-size: 16px; font-weight: 650; line-height: 1.35; color: var(--wk-ink); }
#view .odt-hd__m { margin: 5px 0 0; font-size: 11.5px; line-height: 16px; color: var(--wk-ink-3); }
#view .odt-hd__w { margin: 8px 0 0; padding: 5px 8px; border-radius: 6px; font-size: 11px; line-height: 15px; color: #6749d8; background: rgba(124, 92, 252, .1); }
#view .odt-hd__w.is-off { color: var(--wk-ink-3); background: color-mix(in srgb, var(--wk-ink) 5%, transparent); }

#view .odt-card { margin-top: 10px; background: var(--wk-card, #fff); border-radius: 12px; padding: 2px 14px 8px; }
#view .odt-card__hd { display: flex; align-items: center; justify-content: space-between; padding: 10px 0 4px; }
#view .odt-card__hd h2 { margin: 0; font-size: 12.5px; font-weight: 600; color: var(--wk-ink-3); }
#view .odt-mrow { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 6px 0; font-size: 12.5px; color: var(--wk-ink-3); }
#view .odt-mrow span { flex: none; }
#view .odt-mrow b { font-weight: 500; color: var(--wk-ink); text-align: right; font-variant-numeric: tabular-nums; }
#view .odt-mrow.is-sum { border-top: 1px solid color-mix(in srgb, var(--wk-ink) 7%, transparent); margin-top: 2px; padding-top: 9px; }
#view .odt-mrow.is-sum b { font-size: 15px; font-weight: 700; }
#view .odt-mrow.is-sum b b { font-size: inherit; }
#view .odt-copy { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; }

#view .odt-peer { display: flex; align-items: center; gap: 10px; padding: 6px 0 8px; }
#view .odt-peer__b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#view .odt-peer__b b { font-size: 13.5px; font-weight: 600; color: var(--wk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .odt-peer__b em { font-size: 10.5px; font-style: normal; color: var(--wk-ink-4); }

#view .odt-tl { list-style: none; margin: 2px 0 0; padding: 0 0 2px; }
#view .odt-tl li { position: relative; display: flex; gap: 10px; padding: 7px 0 7px 2px; }
#view .odt-tl li::before { content: ""; position: absolute; left: 5px; top: 22px; bottom: -4px; width: 1px; background: color-mix(in srgb, var(--wk-ink) 9%, transparent); }
#view .odt-tl li:last-child::before { display: none; }
#view .odt-tl i { flex: none; width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: color-mix(in srgb, var(--wk-ink) 22%, transparent); }
#view .odt-tl li:last-child i { background: #3563e0; box-shadow: 0 0 0 3px rgba(53, 99, 224, .14); }
#view .odt-tl.is-off li:last-child i { background: color-mix(in srgb, var(--wk-ink) 30%, transparent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--wk-ink) 8%, transparent); }
#view .odt-tl.is-ok li:last-child i { background: #16a34a; box-shadow: 0 0 0 3px rgba(22, 163, 74, .15); }
#view .odt-tl div { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
#view .odt-tl b { font-size: 12.5px; font-weight: 550; color: var(--wk-ink); }
#view .odt-tl span { font-size: 10.5px; color: var(--wk-ink-4); }
#view .odt-tl em { font-size: 11px; font-style: normal; color: var(--wk-ink-3); }

#view .odt-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; align-items: center; gap: 8px;
  padding: 8px 14px calc(8px + env(safe-area-inset-bottom)); background: var(--wk-bg); border-top: 1px solid color-mix(in srgb, var(--wk-ink) 8%, transparent); }
#view .odt-dock .wk-btn { flex: 1; height: 38px; font-size: 13px; }
#view .odt-dock .wk-btn--ghost { flex: none; min-width: 72px; }
#view .odt-dock .wk-btn--secondary { flex: none; min-width: 84px; }
#view .odt-dock__del { flex: none; border: 0; background: none; padding: 0 6px; height: 38px; font-size: 12px; color: var(--wk-ink-4); }

/* 深色 */
html[data-theme="dark"] #view .ord2-search { background: rgba(255, 255, 255, .06); }
html[data-theme="dark"] #view .odt-hd,
html[data-theme="dark"] #view .odt-card { background: #202634; }
html[data-theme="dark"] #view .ord2-c__note.is-wait { background: rgba(124, 92, 252, .18); color: #b29cff; }
html[data-theme="dark"] #view .odt-hd__w { background: rgba(124, 92, 252, .18); color: #b29cff; }
html[data-theme="dark"] #view .odt-dock { background: rgba(20, 24, 31, .96); }
html[data-theme="dark"] #view .odt-tl li:last-child i { background: #6b93ff; }


/* ===== 收银台（支付页）· csh-* v=1480 ===== */
#view .csh { padding: 6px 0 84px; }
#view .csh-hero { padding: 10px 2px 14px; }
#view .csh-hero__l { font-size: 12px; color: var(--wk-ink-3); margin: 0 0 4px; }
#view .csh-hero__v { font-size: 34px; font-weight: 800; letter-spacing: -.6px; color: var(--wk-ink); line-height: 1.1; }
#view .csh-hero__v span { font-size: 18px; font-weight: 700; margin-right: 2px; }
#view .csh-hero__d { font-size: 12px; color: var(--wk-ink-3); margin: 6px 0 0; }
#view .csh-hero__t { font-size: 12px; color: var(--wk-ink-3); margin: 8px 0 0; }
#view .csh-hero__t b { color: #e8811b; font-variant-numeric: tabular-nums; font-weight: 700; }

#view .csh-card { background: var(--wk-card, #fff); border-radius: 12px; padding: 12px; margin-bottom: 9px; }
#view .csh-card__hd { font-size: 12px; color: var(--wk-ink-3); margin-bottom: 8px; }
#view .csh-od { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid color-mix(in srgb, var(--wk-ink) 7%, transparent); margin-bottom: 8px; }
#view .csh-od__b { min-width: 0; }
#view .csh-od__b b { display: block; font-size: 14px; font-weight: 600; color: var(--wk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view .csh-od__b em { display: block; font-style: normal; font-size: 11px; color: var(--wk-ink-3); margin-top: 2px; }
#view .csh-od > span { font-size: 13px; color: var(--wk-ink-2); }
#view .csh-row { display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: var(--wk-ink-2); padding: 4px 0; }
#view .csh-row b { font-weight: 500; color: var(--wk-ink); }
#view .csh-row b.is-cut { color: #e8811b; }
#view .csh-row.is-sum b { font-size: 15px; font-weight: 700; }

#view .csh-way { display: flex; align-items: center; gap: 10px; padding: 4px 0; }
#view .csh-way__ic { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: color-mix(in srgb, #3563e0 12%, transparent); color: #3563e0; }
#view .csh-way__ic svg { width: 18px; height: 18px; }
#view .csh-way__b { flex: 1; min-width: 0; }
#view .csh-way__b b { display: block; font-size: 14px; font-weight: 600; color: var(--wk-ink); }
#view .csh-way__b em { display: block; font-style: normal; font-size: 12px; color: var(--wk-ink-3); margin-top: 2px; }
#view .csh-way__ck { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: #3563e0; color: #fff; }
#view .csh-way__ck svg { width: 12px; height: 12px; }
#view .csh-tip { margin: 8px 0 0; font-size: 11px; color: var(--wk-ink-3); line-height: 1.5; }
#view .csh-safe { margin: 4px 2px 0; font-size: 11px; color: var(--wk-ink-3); line-height: 1.6; }
#view .csh-dock { position: fixed; left: 0; right: 0; bottom: 0; padding: 8px 14px calc(8px + env(safe-area-inset-bottom)); background: var(--wk-bg); border-top: 1px solid color-mix(in srgb, var(--wk-ink) 7%, transparent); }
#view .csh-btn { width: 100%; height: 46px; border: 0; border-radius: 23px; background: #3563e0; color: #fff; font-size: 15px; font-weight: 700; }
#view .csh-btn:disabled { opacity: .6; }

/* 列表「清空」条 / 时间轴凭证图 */
#view .ord2-bar { display: flex; align-items: center; justify-content: space-between; padding: 6px 2px 8px; font-size: 12px; color: var(--wk-ink-3); }
#view .ord2-bar__b { border: 0; background: none; padding: 4px 8px; color: #e8811b; font-size: 12px; font-weight: 600; }
#view .odt-tl li .odt-tl__imgs { display: grid; grid-template-columns: repeat(3, 58px); grid-auto-flow: column; gap: 5px; margin-top: 7px; }
#view .odt-tl li .odt-tl__imgs img { width: 58px; height: 58px; object-fit: cover; border-radius: 6px; display: block; }
#view .odt-tl li .odt-tl__imgs img:only-child { grid-column: span 1; }
#view .odt-tl__imgs img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; display: block; }

html[data-theme="dark"] #view .csh-card { background: #202634; }
html[data-theme="dark"] #view .csh-dock { background: #171c25; border-top-color: rgba(255, 255, 255, .07); }
html[data-theme="dark"] #view .csh-way__ck { background: #6b93ff; }
html[data-theme="dark"] #view .csh-btn { background: #6b93ff; color: #0f141c; }


/* 收银台：优惠券行 / 券列表 / 支付密码 */
#view .csh-row--cp { cursor: pointer; }
#view .csh-row--cp > span { color: var(--wk-ink-2); }
#view .csh-row--cp b { display: inline-flex; align-items: center; gap: 2px; }
#view .csh-row--cp b.is-link { color: #3563e0; }
#view .csh-row--cp b.is-dim { color: var(--wk-ink-3); font-weight: 400; }
#view .csh-row--cp svg { width: 13px; height: 13px; opacity: .55; }
#view .csh-pwdhint { margin: 6px 0 0; text-align: center; font-size: 11px; color: var(--wk-ink-3); }

#view .csh-cplist { display: grid; grid-template-columns: 1fr; gap: 8px; }
#view .csh-cplist > button { justify-self: stretch; width: 100%; }
#view .csh-cp { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; text-align: left; border: 1px solid color-mix(in srgb, var(--wk-ink) 8%, transparent); background: transparent; border-radius: 10px; padding: 10px 12px; }
#view .csh-cp.is-on { border-color: #3563e0; background: color-mix(in srgb, #3563e0 6%, transparent); }
#view .csh-cp__l b { display: block; font-size: 17px; font-weight: 800; color: #e8811b; }
#view .csh-cp__l em { display: block; font-style: normal; font-size: 12px; color: var(--wk-ink-2); margin-top: 2px; }
#view .csh-cp__r { font-size: 11px; color: var(--wk-ink-3); white-space: nowrap; }
#view .csh-cp__empty { margin: 4px 0; font-size: 12px; color: var(--wk-ink-3); line-height: 1.6; }

#view .csh-pwd { text-align: center; }
#view .csh-pwd__i { width: 100%; max-width: 220px; height: 44px; border: 1px solid color-mix(in srgb, var(--wk-ink) 14%, transparent); border-radius: 10px; background: transparent; color: var(--wk-ink); font-size: 22px; letter-spacing: 10px; text-align: center; padding-left: 10px; }
#view .csh-pwd__t { margin: 8px 0 0; font-size: 11px; color: var(--wk-ink-3); }

html[data-theme="dark"] #view .csh-cp { border-color: rgba(255, 255, 255, .1); }
html[data-theme="dark"] #view .csh-cp.is-on { border-color: #6b93ff; background: rgba(107, 147, 255, .1); }
html[data-theme="dark"] #view .csh-row--cp b.is-link { color: #6b93ff; }
html[data-theme="dark"] #view .csh-pwd__i { border-color: rgba(255, 255, 255, .16); }

/* 选券弹层用的是 body 级 overlay，不走 #view 作用域 */
.csh-cplist { display: grid; grid-template-columns: 1fr; gap: 8px; }
.csh-cplist > button { justify-self: stretch; width: 100%; }
.csh-cp { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; text-align: left; border: 1px solid color-mix(in srgb, var(--wk-ink) 8%, transparent); background: transparent; border-radius: 10px; padding: 10px 12px; }
.csh-cp.is-on { border-color: #3563e0; background: color-mix(in srgb, #3563e0 6%, transparent); }
.csh-cp__l b { display: block; font-size: 17px; font-weight: 800; color: #e8811b; }
.csh-cp__l em { display: block; font-style: normal; font-size: 12px; color: var(--wk-ink-2); margin-top: 2px; }
.csh-cp__r { font-size: 11px; color: var(--wk-ink-3); white-space: nowrap; }
.csh-cp__empty { margin: 4px 0; font-size: 12px; color: var(--wk-ink-3); line-height: 1.6; }
.csh-pwd { text-align: center; }
.csh-pwd__i { width: 100%; max-width: 220px; height: 44px; border: 1px solid color-mix(in srgb, var(--wk-ink) 14%, transparent); border-radius: 10px; background: transparent; color: var(--wk-ink); font-size: 22px; letter-spacing: 10px; text-align: center; padding-left: 10px; }
.csh-pwd__t { margin: 8px 0 0; font-size: 11px; color: var(--wk-ink-3); }
html[data-theme="dark"] .csh-cp { border-color: rgba(255, 255, 255, .1); }
html[data-theme="dark"] .csh-cp.is-on { border-color: #6b93ff; background: rgba(107, 147, 255, .1); }
html[data-theme="dark"] .csh-pwd__i { border-color: rgba(255, 255, 255, .16); }

/* 深色收银台：降按钮眩光 + 提次要文字 + 卡片加一层边 */
html[data-theme="dark"] #view .csh-btn { background: #4a6dd0; color: #fff; }  /* 白字对比 4.78:1 */
html[data-theme="dark"] #view .csh-hero__l,
html[data-theme="dark"] #view .csh-hero__d,
html[data-theme="dark"] #view .csh-hero__t,
html[data-theme="dark"] #view .csh-card__hd,
html[data-theme="dark"] #view .csh-safe,
html[data-theme="dark"] #view .csh-pwdhint,
html[data-theme="dark"] #view .csh-row > span,
html[data-theme="dark"] #view .csh-od__b em,
html[data-theme="dark"] #view .csh-way__b em,
html[data-theme="dark"] #view .csh-tip { color: rgba(255, 255, 255, .64); }
html[data-theme="dark"] #view .csh-card { background: #232a39; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
html[data-theme="dark"] #view .csh-od { border-bottom-color: rgba(255, 255, 255, .08); }

/* ===== 支付密码弹窗（wxp-* · 底部上滑）v=1530 ===== */
.wk-mask.wxp-mask { background: rgba(0, 0, 0, .45); }
html[data-theme="dark"] .wk-mask.wxp-mask { background: rgba(0, 0, 0, .62); }

.wxp-sheet .wk-sheet__head { padding: 14px 18px 0; font-size: 15px; font-weight: 600; }
.wxp-sheet .wk-sheet__close { width: 28px; height: 28px; right: 12px; background: transparent; color: var(--wk-ink-3); opacity: .55; }
.wxp-sheet .wk-sheet__body { padding: 0; overflow: visible; }

.wxp-hd { padding-top: 6px; }
.wxp-amt { padding: 6px 16px 0; text-align: center; font-size: 26px; font-weight: 600; color: var(--wk-ink); font-variant-numeric: tabular-nums; letter-spacing: -.2px; }
.wxp-amt i { font-style: normal; font-size: 15px; font-weight: 500; margin-right: 1px; }
.wxp-svc { padding: 5px 20px 0; text-align: center; font-size: 11.5px; color: var(--wk-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.wxp-cells { display: grid; grid-template-columns: repeat(6, 1fr); margin: 14px 18px 0; height: 48px; border: 1px solid color-mix(in srgb, var(--wk-ink) 14%, transparent); border-radius: 8px; overflow: hidden; background: var(--wk-card, #fff); }
.wxp-cells i { position: relative; border-left: 1px solid color-mix(in srgb, var(--wk-ink) 12%, transparent); }
.wxp-cells i:first-child { border-left: 0; }
.wxp-cells i.is-cur { background: color-mix(in srgb, var(--wk-ink) 2%, transparent); }
.wxp-cells i.is-cur::before { content: ""; position: absolute; left: 50%; top: 50%; width: 2px; height: 20px; margin: -10px 0 0 -1px; border-radius: 1px; background: #3563e0; }
.wxp-cells i.is-on::after { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: var(--wk-ink); }
.wxp-cells.is-check i.is-on::after { animation: wxpPulse .9s ease-in-out infinite; }
.wxp-cells.is-shake { animation: wxpShake .4s cubic-bezier(.36, .07, .19, .97); }
@keyframes wxpShake { 10%,90% { transform: translateX(-1px); } 20%,80% { transform: translateX(2px); } 30%,50%,70% { transform: translateX(-4px); } 40%,60% { transform: translateX(4px); } }
@keyframes wxpPulse { 0%,100% { opacity: 1; } 50% { opacity: .25; } }

.wxp-err { min-height: 15px; margin: 6px 18px 0; text-align: center; font-size: 11.5px; line-height: 1.4; color: #fa5151; }
.wxp-forgot { display: block; margin: 4px auto 8px; padding: 4px 8px; border: 0; background: transparent; font-size: 13px; color: #576b95; }
.wxp-forgot:active { opacity: .6; }

.wxp-pad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: color-mix(in srgb, var(--wk-ink) 12%, transparent); border-top: 1px solid color-mix(in srgb, var(--wk-ink) 12%, transparent); padding-bottom: env(safe-area-inset-bottom, 0px); }
.wxp-k { height: 54px; border: 0; background: var(--wk-card, #fff); color: var(--wk-ink); font-size: 23px; font-weight: 500; font-variant-numeric: tabular-nums; touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none; transition: background .1s; }
.wxp-k:active { background: color-mix(in srgb, var(--wk-ink) 8%, transparent); }
.wxp-k:focus-visible { outline: 2px solid #3563e0; outline-offset: -2px; }
.wxp-k.is-blank { pointer-events: none; }
.wxp-k--del { display: inline-flex; align-items: center; justify-content: center; color: var(--wk-ink-2); }
.wxp-k--del svg { width: 24px; height: 24px; }

html[data-theme="dark"] .wxp-sheet { background: #1f2530; }
html[data-theme="dark"] .wxp-sheet .wk-sheet__close { color: rgba(255, 255, 255, .6); }
html[data-theme="dark"] .wxp-cells { border-color: rgba(255, 255, 255, .16); background: #232a39; }
html[data-theme="dark"] .wxp-cells i { border-left-color: rgba(255, 255, 255, .12); }
html[data-theme="dark"] .wxp-cells i.is-on::after { background: #fff; }
html[data-theme="dark"] .wxp-cells i.is-cur::before { background: #6b93ff; }
html[data-theme="dark"] .wxp-err { color: #ff7a7a; }
html[data-theme="dark"] .wxp-forgot { color: #7f9cd9; }
html[data-theme="dark"] .wxp-pad { background: rgba(255, 255, 255, .14); border-top-color: rgba(255, 255, 255, .14); }
html[data-theme="dark"] .wxp-k { background: #2b3446; }
html[data-theme="dark"] .wxp-k:active { background: #3a465c; }
html[data-theme="dark"] .wxp-k--del { color: rgba(255, 255, 255, .8); }

/* v=1531 多步骤 + 下拉关闭 + 键盘让位 */
.wxp-sheet .wk-sheet__head { padding: 8px 18px 0; }
.wxp-title { margin: 0; padding: 12px 16px 0; text-align: center; font-size: 15px; font-weight: 600; color: var(--wk-ink); }
.wxp-step { margin: 6px 16px 0; text-align: center; font-size: 11px; color: var(--wk-ink-3); }
.wxp-links { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 4px 18px 8px; }
.wxp-links:empty { display: none; }
.wxp-back { border: 0; background: transparent; font-size: 13px; color: var(--wk-ink-3); padding: 4px 8px; }
.wxp-forgot { margin: 0; }
/* 系统键盘/地址栏变化：弹层整体上移，键盘不会盖住输入区 */
.wk-mask.is-kb .wxp-sheet { bottom: var(--kb, 0px); }

/* v=1533 多步骤：上一步靠左 + 自动继续提示 */
.wxp-links { justify-content: space-between; padding: 0 18px; margin: 2px 0 8px; }
.wxp-links:has(.wxp-forgot:only-child) { justify-content: center; }
.wxp-back { display: inline-flex; align-items: center; gap: 2px; }
.wxp-back::before { content: "‹"; font-size: 15px; line-height: 1; }
.wxp-err.is-hint { color: var(--wk-ink-3); font-size: 11px; }
html[data-theme="dark"] .wxp-err.is-hint { color: rgba(255, 255, 255, .45); }

/* v=1534 上一步热区 + 关闭按钮可辨 + 上滑 180ms */
.wxp-back { padding: 6px 10px; min-height: 32px; border-radius: 8px; }
.wxp-back:active { background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
.wxp-sheet .wk-sheet__close { background: color-mix(in srgb, var(--wk-ink) 6%, transparent); color: var(--wk-ink-2); opacity: .8; }
.wxp-sheet { transition-duration: .18s !important; }
html[data-theme="dark"] .wxp-back:active { background: rgba(255, 255, 255, .08); }
html[data-theme="dark"] .wxp-sheet .wk-sheet__close { background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .72); }

/* v=1540 上一步移到标题左侧 + 重发倒计时 */
.wxp-tline { position: relative; display: flex; align-items: center; justify-content: center; padding: 0 16px; }
.wxp-tline .wxp-title { padding: 0; margin: 0; }
.wxp-tline .wxp-back { position: absolute; left: 0; top: 50%; transform: translateY(-50%); padding: 6px 10px; min-height: 32px; border-radius: 8px; }
.wxp-resend { border: 0; background: transparent; font-size: 13px; color: var(--wk-ink-3); padding: 4px 8px; }
.wxp-resend[disabled] { color: var(--wk-ink-4); }
html[data-theme="dark"] .wxp-resend { color: rgba(255, 255, 255, .45); }
html[data-theme="dark"] .wxp-resend[disabled] { color: rgba(255, 255, 255, .28); }

/* v=1541 上一步离屏幕边 12px（原 left:0 贴边） */
.wxp-tline .wxp-back { left: 4px; }
.wxp-sheet .wxp-tline { padding: 0 20px; }

/* v=1542 上一步左边距 8px（文字对齐六格 18px） */
.wxp-tline .wxp-back { left: 8px; }

/* v=1551 收银台：券名/取消按钮/余额刷新 + 支付成功开屏 + 锁定倒计时 */
.csh-cpname { font-style: normal; font-weight: 400; font-size: 11px; color: var(--wk-ink-3); margin-left: 4px; }
.csh-dock__row { display: flex; gap: 10px; }
.csh-dock__row .csh-btn { flex: 1; }
.csh-btn--ghost { flex: 0 0 96px !important; background: transparent; color: var(--wk-ink-2); border: 1px solid var(--wk-line); }
.csh-btn--ghost:active { background: color-mix(in srgb, var(--wk-ink) 6%, transparent); }
/* 支付成功开屏 */
.paydone { padding: 8px 4px 2px; text-align: center; }
.paydone__ck { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #e8f7ee; color: #16a34a; margin: 6px auto 12px; }
.paydone__ck svg { width: 30px; height: 30px; }
.paydone__t { margin: 0; font-size: 17px; font-weight: 600; color: var(--wk-ink); }
.paydone__v { margin: 6px 0 2px; font-size: 24px; font-weight: 700; color: var(--wk-ink); letter-spacing: -.3px; }
.paydone__s { margin: 0 0 16px; font-size: 12px; color: var(--wk-ink-3); }
html[data-theme="dark"] .paydone__ck { background: rgba(22, 163, 74, .16); color: #4ade80; }
/* 密码锁定：键盘变灰不可点 */
.wk-mask.is-locked .wxp-pad { opacity: .45; pointer-events: none; }
.wxp-err.is-lock { color: var(--wapp-danger, #e5484d); font-variant-numeric: tabular-nums; }

/* v=1553 支付成功开屏：标题/金额呼吸 + 主按钮 */
.paydone__t { margin: 0 0 12px; }
.paydone__v { margin: 0 0 4px; font-size: 22px; }
.paydone .wk-btn--block { margin-top: 4px; }

/* ===== 终端层：桌面端收窄成手机宽度（desk-frame · v=1597） ===== */
/* /webapp/ 是手机版用户端：桌面浏览器不要拉到 1040px 显得稀疏，改为居中手机列。
   宽度收到 430px（--df-w）；贴边/贴底的固定条也一起收进列里，否则底栏会横跨整个屏幕。
   这里用 `html body` 提权重来盖 app.css，不靠 !important（预算只剩 7 个）。 */
:root { --df-w: 430px; }
@media (min-width: 900px) {
  body { background: #eceef2; }
  html[data-theme="dark"] body { background: #14171d; }
  .wapp-frame { max-width: var(--df-w); background: var(--wk-bg); box-shadow: 0 0 0 1px rgba(0,0,0,.04), 0 10px 40px rgba(0,0,0,.08); }
  .wapp-frame > .wk-page { min-height: 100dvh; }
  .wapp-two { display: block; }
  .wapp-two > .wapp-col-r { position: static; }
  .wapp-feed { display: block; }
  .wapp-banner { aspect-ratio: auto; }
  .wapp-hide-mob { display: block !important; }
  .wapp-hide-desk { display: none !important; }

  /* 通栏固定条：底栏 / 购买条 / 评论条 / 选择条 / 楼层条 / 表情面板 / 聊天条 —— 一律收进列 */
  html body .wk-tabbar, html body .wapp-buybar, html body .wapp-cbar, html body .wapp-selbar,
  html body .wapp-thr-bar, html body .wapp-mutebar, html body .wapp-chatbar,
  html body .wapp-emojis-panel, html body #view .shop-bar, html body #view .pn-bar,
  html body #view .mst-dock, html body #view .mst-mini,
  /* ★ 订单详情的按钮条 / 收银台底部条：漏掉它们就只剩中间窄、底栏横跨整屏（已踩） */
  html body #view .odt-dock, html body #view .csh-dock {
    left: calc(50% - var(--df-w) / 2);
    right: auto;
    width: var(--df-w);
    max-width: var(--df-w);
  }
  /* 贴左右边的悬浮件，跟着列的边往里挪 */
  html body .wapp-fab { right: calc(50% - var(--df-w) / 2 + 14px); }
  html body .wapp-chat-jump { right: calc(50% - var(--df-w) / 2 + 16px); }
  html body .wapp-pullft { left: calc(50% - var(--df-w) / 2); right: auto; width: var(--df-w); }
  /* 横屏手机：只有竖屏支持（用户 2026-11-06 口径） */
}
@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse) {
  html body::after {
    content: '请把手机竖过来使用';
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wk-bg);
    color: var(--wk-ink-2);
    font-size: 15px;
    letter-spacing: .02em;
  }
}
@media (min-width: 640px) {
  /* 整屏级浮层（扫码 / 看图 / 语音通话视图）：它们也是 inset:0 全屏，
     不收进来就会在桌面上铺满整屏 —— 这是「又变宽屏」最容易被忽略的一处 */
  html body .wapp-scanfull, html body .wapp-iv, html body .wapp-cvw {
    left: calc(50% - var(--df-w) / 2);
    right: auto;
    width: var(--df-w);
  }
  /* 弹层：遮罩铺满（点外部关闭的区域要大），面板本身收进列宽 */
  .wk-sheet, .wk-dialog { max-width: var(--df-w); margin-left: auto; margin-right: auto; }
}

/* ===== 时间轴合并行的明细展开（odt-tl__det · v=1594） ===== */
.odt-tl__det { margin-top: 4px; }
.odt-tl__det > summary { font-size: 11px; color: var(--wk-ink-3); cursor: pointer; list-style: none; }
.odt-tl__det > summary::-webkit-details-marker { display: none; }
.odt-tl__det > summary::after { content: " ›"; }
.odt-tl__det[open] > summary::after { content: " ⌄"; }
.odt-tl__det > p { margin: 4px 0 0; font-size: 11px; line-height: 16px; color: var(--wk-ink-3); }

/* ===== 通知中心（v=1599）：按类型分类看，不再全堆在「互动消息」 ===== */
.ntf-page { padding: 4px 0 20px; }
.ntf-chips { display: flex; gap: 8px; overflow-x: auto; padding: 8px 2px 12px; scrollbar-width: none; }
.ntf-chips::-webkit-scrollbar { display: none; }
.ntf-chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; height: 30px; padding: 0 12px;
  border-radius: 15px; border: 1px solid var(--wk-line); background: var(--wk-card); color: var(--wk-ink-2);
  font-size: 12px; }
.ntf-chip.is-on { background: var(--wk-brand); border-color: var(--wk-brand); color: #fff; }
.ntf-chip b { font-size: 10px; font-weight: 600; }
.ntf-row { display: flex; gap: 10px; width: 100%; text-align: left; padding: 12px 12px; margin-bottom: 8px;
  border-radius: 12px; background: var(--wk-card); border: 1px solid var(--wk-line); }
.ntf-row__ic { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center;
  justify-content: center; font-size: 11px; color: #fff; background: #64748b; }
.ntf-row__ic.is-order { background: #f59e0b; }
.ntf-row__ic.is-settle { background: #10b981; }
.ntf-row__ic.is-ruling { background: #ef4444; }
.ntf-row__ic.is-dispatch { background: #3b82f6; }
.ntf-row__ic.is-system { background: #64748b; }
.ntf-row__b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ntf-row__b b { font-size: 13px; font-weight: 600; color: var(--wk-ink); display: flex; align-items: center; gap: 6px; }
.ntf-row__b em { font-size: 12px; font-style: normal; color: var(--wk-ink-3); line-height: 1.45; }
.ntf-row__b s { font-size: 11px; text-decoration: none; color: var(--wk-ink-4); }
.ntf-row.is-unread .ntf-row__b b { color: var(--wk-brand); }
.ntf-dot { width: 6px; height: 6px; border-radius: 3px; background: var(--wk-brand); }
.ntf-empty { padding: 48px 0; text-align: center; color: var(--wk-ink-3); font-size: 13px; }
.ms-ntf { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 10px 0 4px;
  padding: 12px 14px; border-radius: 12px; background: var(--wk-card); border: 1px solid var(--wk-line); }
.ms-ntf span { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--wk-ink); }
.ms-ntf i { font-size: 12px; font-style: normal; color: var(--wk-ink-3); }

.ntf-tag { margin-left: 6px; padding: 1px 6px; border-radius: 4px; font-style: normal; font-size: 10px;
  font-weight: 500; color: var(--wk-brand); background: color-mix(in srgb, var(--wk-brand) 12%, transparent); }
.ntf-bar { display: flex; justify-content: flex-end; padding: 0 2px 8px; }
.ntf-readall { height: 28px; padding: 0 12px; border-radius: 14px; border: 1px solid var(--wk-line);
  background: var(--wk-card); color: var(--wk-ink-2); font-size: 12px; }
.ntf-more { width: 100%; height: 38px; margin-top: 4px; border-radius: 12px; border: 1px solid var(--wk-line);
  background: var(--wk-card); color: var(--wk-ink-2); font-size: 13px; }

.ntf-search { display: flex; align-items: center; gap: 6px; margin: 4px 2px 8px; padding: 0 12px;
  height: 34px; border-radius: 17px; background: var(--wk-card); border: 1px solid var(--wk-line); }
.ntf-search svg, .ntf-search i { width: 15px; height: 15px; color: var(--wk-ink-3); flex: 0 0 auto; }
.ntf-search input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--wk-ink);
  font-size: 13px; outline: none; }
.ntf-search input::placeholder { color: var(--wk-ink-4); }

.ntf-row.is-picked { border-color: var(--wk-brand); }
.ntf-ck { flex: 0 0 auto; width: 18px; height: 18px; border-radius: 9px; border: 1.5px solid var(--wk-line);
  align-self: center; }
.ntf-ck.is-on { border-color: var(--wk-brand); background: var(--wk-brand); box-shadow: inset 0 0 0 3px var(--wk-card); }
.ntf-row__b mark { background: color-mix(in srgb, var(--wk-brand) 22%, transparent); color: inherit; border-radius: 3px; padding: 0 1px; }
.ntf-delbar { position: sticky; bottom: 8px; display: flex; justify-content: center; padding: 8px 0; }
.ntf-del { height: 36px; padding: 0 18px; border-radius: 18px; border: 0; background: #ef4444; color: #fff; font-size: 13px; }

.ntf-hist { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 2px 8px; }
.ntf-hist button { height: 26px; padding: 0 10px; border-radius: 13px; border: 1px dashed var(--wk-line);
  background: transparent; color: var(--wk-ink-3); font-size: 12px; }
.ntf-tip { padding: 6px 2px 10px; font-size: 12px; color: var(--wk-ink-3); }
.ntf-undo { align-self: center; flex: 0 0 auto; height: 28px; padding: 0 12px; border-radius: 14px;
  border: 1px solid var(--wk-brand); background: transparent; color: var(--wk-brand); font-size: 12px; }
.ntf-delbar { position: sticky; bottom: 8px; display: flex; gap: 8px; justify-content: center; padding: 8px 0; }
.ntf-all { height: 36px; padding: 0 16px; border-radius: 18px; border: 1px solid var(--wk-line);
  background: var(--wk-card); color: var(--wk-ink); font-size: 13px; }

/* 通知中心 v=1607：历史可删、按单聚合、最近删除可清空、底栏未读角标 */
.ntf-hist__i { display: inline-flex; align-items: center; border: 1px dashed var(--wk-line); border-radius: 13px; overflow: hidden; }
.ntf-hist__i > button { border: 0; background: transparent; color: var(--wk-ink-3); font-size: 12px; height: 24px; padding: 0 8px; }
.ntf-hist__i > .ntf-hist__x { font-size: 14px; color: var(--wk-ink-4); padding: 0 6px 0 2px; }
.ntf-hist__clr { height: 24px; padding: 0 8px; border: 0; background: transparent; color: var(--wk-ink-4); font-size: 12px; }
.ntf-grp { display: block; width: calc(100% - 8px); margin: -4px 4px 8px; height: 30px; border-radius: 8px;
  border: 1px dashed var(--wk-line); background: transparent; color: var(--wk-brand); font-size: 12px; }
.ntf-row__act { display: flex; flex-direction: column; gap: 4px; align-self: center; }
.ntf-undo.is-danger { border-color: #ef4444; color: #ef4444; }
.wk-tabbar__badge { position: absolute; top: 3px; right: 50%; margin-right: -22px; min-width: 16px; height: 16px;
  padding: 0 4px; border-radius: 8px; background: #ef4444; color: #fff; font-size: 10px; line-height: 16px;
  text-align: center; font-style: normal; }
.wk-tabbar__item { position: relative; }

.ntf-cfm { padding: 4px 2px 10px; font-size: 14px; color: var(--wk-ink); line-height: 1.6; }

/* v=1612：聚合组未读数 + 最近删除加载更多 + 6 格底栏（多一个「消息」） */
.ntf-grp b { color: var(--wk-brand); font-weight: 600; }
.ntf-morewrap { display: flex; justify-content: center; padding: 10px 0 16px; }
.wk-tabbar .wk-tabbar__item { min-width: 0; }
.wk-tabbar .wk-tabbar__item span { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

/* v=1613：底栏六格（首页/下单/发布/交易行/消息/我的）在 320~360 窄屏别把标签挤掉 */
@media (max-width: 340px) {
  .wk-tabbar__item { padding-left: 0; padding-right: 0; }
  .wk-tabbar__item span { font-size: 10px; letter-spacing: -.2px; }
  .wk-tabbar .wapp-tabplus__t { font-size: 10px; }
}

/* v=1614：免打扰时间自选（HH:MM） */
.st-time { padding: 6px 2px 12px; }
.st-time input { width: 100%; height: 44px; border-radius: 10px; border: 1px solid var(--wk-line);
  background: var(--wk-card-2, var(--wk-card)); color: var(--wk-ink); font-size: 16px; padding: 0 12px; }
.st-time__tip { margin: 8px 2px 0; font-size: 12px; color: var(--wk-ink-3); line-height: 1.5; }

/* v=1614：静音期汇总条 */
.ntf-quiet { margin: 2px 2px 8px; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--wk-brand) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wk-brand) 26%, transparent); position: relative; }
.ntf-quiet b { font-size: 13px; color: var(--wk-ink); }
.ntf-quiet em { display: block; margin-top: 2px; font-size: 12px; color: var(--wk-ink-3); font-style: normal;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: 56px; }
.ntf-quiet button { position: absolute; right: 8px; top: 8px; height: 24px; padding: 0 10px; border-radius: 12px;
  border: 0; background: var(--wk-brand); color: #fff; font-size: 11px; }

/* v=1618：静音汇总时间范围 */
.ntf-qrange { display: flex; gap: 6px; margin-top: 8px; }
.ntf-qrange button { height: 24px; padding: 0 10px; border-radius: 12px; border: 1px solid var(--wk-line);
  background: transparent; color: var(--wk-ink-3); font-size: 11px; }
.ntf-qrange button.is-on { border-color: var(--wk-brand); color: var(--wk-brand); font-weight: 600; }
.ntf-quiet .ntf-quiet__ok { position: static; margin-top: 8px; height: 26px; padding: 0 12px; border-radius: 13px; }
.ntf-quiet.is-empty { background: color-mix(in srgb, var(--wk-ink-3) 6%, transparent); border-color: var(--wk-line); }
.ntf-quiet.ntf-quiet em { padding-right: 0; }

/* ===== 终局层 · 帖子详情视频 / 话题 / 外链卡片 ===== */
.wapp-post-video{margin:12px 0 4px;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:16/9;position:relative}
.wapp-post-video>video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.wapp-post-vlink{display:block;position:relative;margin:12px 0 4px;border-radius:12px;overflow:hidden;background:#0f1218;text-decoration:none}
.wapp-post-vlink>img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;opacity:.62}
.wapp-post-vlink__t{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:13px;white-space:nowrap}
.wapp-post-vlink__t svg{width:16px;height:16px}
.wapp-post-topic,.wapp-post-at{color:#5b8def}
.wapp-post-topic{font-weight:500}

/* ===== 终局层 · 外链视频来源/时长角标 ===== */
.cm-p__imgs{position:relative}
.cm-p__imgs>em{position:absolute;right:8px;bottom:8px;padding:1px 6px;border-radius:6px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-style:normal;line-height:16px}
.cm-p__src{position:absolute;left:8px;bottom:8px;padding:1px 6px;border-radius:6px;background:rgba(251,114,153,.92);color:#fff;font-size:11px;font-weight:500;line-height:16px}
.wapp-card-media,.wapp-pgrid{position:relative}
.wapp-card-dur{position:absolute;right:8px;bottom:8px;padding:1px 6px;border-radius:6px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-style:normal;line-height:16px}
.wapp-card-src{position:absolute;left:8px;bottom:8px;padding:1px 6px;border-radius:6px;background:rgba(251,114,153,.92);color:#fff;font-size:11px;font-weight:500;line-height:16px}

/* ===== 终局层 · 会话内 @ 与视频兜底 ===== */
.wapp-at{color:#5b8def;text-decoration:none}
a.wapp-at{border-bottom:1px dotted rgba(91,141,239,.6)}
.wapp-post-video{position:relative}
.wapp-post-vdl{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.66);color:#fff;font-size:12px;text-decoration:none;white-space:nowrap}

/* 深链定位到的那条评论 */
[data-cid].is-hl{background:rgba(91,141,239,.12);border-radius:10px;box-shadow:0 0 0 6px rgba(91,141,239,.12)}

/* 顶栏消息气泡上的数字角标（底栏已去掉消息 tab） */
.wapp-nav-ico{position:relative}
.wk-ico-badge{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:#e5484d;color:#fff;font:600 10px/15px var(--wk-font);text-align:center;box-sizing:border-box}

/* 消息页三条系统行：互动消息=红、通知=琥珀、客服=蓝，图标上色不再一片蓝 */
#view .ms-av--inter { color: #f2545b; background: #fff0f2; }
#view .ms-av--inter .xi, #view .ms-av--inter svg { color: #f2545b; }
#view .ms-av--ntf { color: #f59e0b; background: #fff6e6; }
#view .ms-av--ntf .xi, #view .ms-av--ntf svg { color: #f59e0b; }
html[data-theme="dark"] #view .ms-av--inter { color: #ff7a88; background: rgba(242,84,91,.16); }
html[data-theme="dark"] #view .ms-av--ntf { color: #ffc25c; background: rgba(245,158,11,.16); }

/* 客服中心 · 在线状态 / 联想 / 分类 / 行内展开 */
#view .wapp-sup-hero__t { display: flex; align-items: center; gap: 6px; }
#view .wapp-sup-live { font-style: normal; font-size: 9.5px; font-weight: 700; line-height: 15px; padding: 0 6px;
  border-radius: 5px; }
#view .wapp-sup-live.is-on { color: #0b7a34; background: rgba(22,163,74,.10); }
#view .wapp-sup-live.is-off { color: #7a5312; background: rgba(245,158,11,.14); }
#view .wapp-sup-ai { font-style: normal; font-size: 9.5px; font-weight: 600; line-height: 15px; padding: 0 6px;
  border-radius: 5px; color: #3563e0; background: rgba(53,99,224,.10); }
#view .wapp-sup-sug { margin: 8px 0 0; }
#view .wapp-sup-sug__hd { font-size: 10.5px; color: var(--wk-ink-3); margin-bottom: 6px; }
#view .wapp-sup-sug__b { display: block; width: 100%; text-align: left; border: 0; background: var(--wk-fill);
  color: var(--wk-ink); font-size: 12.5px; line-height: 32px; padding: 0 10px; border-radius: 8px; margin-bottom: 6px; }
#view .wapp-sup-sug__b:active { background: rgba(53,99,224,.08); }
#view .wapp-sup-cats { display: flex; gap: 6px; overflow-x: auto; padding: 2px 14px 8px; -webkit-overflow-scrolling: touch; }
#view .wapp-sup-cats::-webkit-scrollbar { display: none; }
#view .wapp-sup-cat { flex: none; }
#view .wapp-sup-cat em { font-style: normal; opacity: .55; margin-left: 3px; }
#view .wapp-supfaq__a { display: none; font-size: 12px; line-height: 18px; color: var(--wk-ink-2);
  padding-top: 8px; }
#view .wapp-supfaq.is-open .wapp-supfaq__a { display: block; }
#view .wapp-supfaq.is-open .wk-cell__arrow { transform: rotate(90deg); }
#view .wapp-sup-cnt { font-size: 11px; color: var(--wk-ink-3); text-align: center; padding: 2px 0 10px; }
#view .wapp-sup-note { font-size: 11px; line-height: 16px; color: var(--wk-ink-3); padding: 8px 0 12px; }
#view .wapp-sup-empty .wapp-sup-start { display: inline-block; margin-top: 12px; }


/* ===== 派单弹窗（接单人邀请卡）：底部上滑、盖住全屏、不点不走 ===== */
.offer-pop{position:fixed;inset:0;z-index:9990;display:flex;align-items:flex-end;justify-content:center;background:rgba(12,16,24,.44);opacity:0;transition:opacity .18s ease}
.offer-pop.is-on{opacity:1}
.offer-card{width:100%;max-width:480px;background:#fff;border-radius:18px 18px 0 0;padding:18px 18px 20px;transform:translateY(18px);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:0 -10px 34px rgba(15,23,42,.2);max-height:88vh;overflow:auto;overscroll-behavior:contain}
.offer-pop.is-on .offer-card{transform:translateY(0)}
.offer-head{display:flex;align-items:center;justify-content:space-between}
.offer-badge{background:#fff1e6;color:#e0413e;font-size:12px;font-weight:800;padding:4px 9px;border-radius:7px;letter-spacing:.2px}
.offer-cd{display:flex;align-items:baseline;gap:4px}
.offer-cd b{font-size:20px;font-weight:900;color:#e0413e;font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.offer-cd i{font-size:11px;color:#8b93a3;font-style:normal}
.offer-title{margin-top:14px;font-size:16px;font-weight:800;color:#141821;line-height:1.35}
.offer-money{margin-top:6px;font-size:26px;font-weight:900;color:#141821;letter-spacing:-.6px}
.offer-no{margin-top:2px;font-size:11px;color:#8b93a3}
.offer-user{margin-top:14px;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f6f7fb;border-radius:12px}
.offer-ava{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#e7ecf7;flex:0 0 36px}
.offer-ava--txt{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#3563e0}
.offer-uinfo{display:flex;flex-direction:column;gap:2px;min-width:0}
.offer-uinfo b{font-size:13px;color:#141821;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.offer-uinfo i{font-size:11px;color:#8b93a3;font-style:normal}
.offer-fields{margin-top:12px;border-top:1px solid #eef1f7}
.offer-row{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #f3f5f9;font-size:13px;line-height:1.5}
.offer-k{flex:0 0 92px;width:92px;color:#8b93a3}
.offer-v{flex:1;color:#141821;word-break:break-word}
.offer-more{margin-top:8px;font-size:11px;color:#8b93a3}
.offer-acts{margin-top:16px;display:flex;gap:10px}
.offer-acts .wk-btn{flex:1}
.offer-cs{margin-top:10px;width:100%;background:none;border:0;font-size:12px;color:#5f6673;text-decoration:underline;padding:8px 0 2px;cursor:pointer}
.offer-pop.is-expired .offer-cd b{color:#8b93a3}
.offer-pop.is-expired .offer-title::after{content:'（已超时，这单已派给别人）';font-size:11px;color:#8b93a3;font-weight:400}

.offer-card{display:flex;flex-direction:column;padding:0}
.offer-head{padding:18px 18px 0}
.offer-body{overflow-y:auto;overscroll-behavior:contain;padding:0 18px;max-height:calc(88vh - 172px)}
.offer-acts{padding:0 18px}
.offer-cs{padding-bottom:18px}
.offer-card > .offer-head{flex:0 0 auto}
.offer-card > .offer-more,.offer-card > .offer-acts,.offer-card > .offer-cs{flex:0 0 auto}

.offer-k{flex:0 0 106px;width:106px}          /* 标签列加宽：避免「想玩的角色或英雄」孤字换行 */
.offer-cs{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}

.offer-no{margin-top:7px}
.offer-cd{gap:6px}
.offer-cs{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));margin-top:6px}
.offer-card{padding-bottom:0}

/* 页面级下拉交给 WAKE 自己处理：禁掉浏览器自带的下拉刷新/橡皮筋，避免两套手势打架 */
html, body { overscroll-behavior-y: none; }
.wk-page__body { overscroll-behavior-y: contain; }

.wapp-dlg__pay{display:flex;flex-direction:column;gap:10px;margin:6px 0 2px}
.wapp-payrow{display:block;width:100%;text-align:left;padding:14px 16px;border:1.5px solid #e6e9f2;border-radius:14px;background:#fff}
.wapp-payrow.is-on{border-color:#3563e0;background:#f5f8ff}
.wapp-payrow b{display:block;font-size:15px;color:#141821}
.wapp-payrow em{display:block;margin-top:2px;font-size:12px;color:#8b93a3;font-style:normal}

.csh-way.is-off{opacity:.55}
.csh-way.is-off .csh-way__ck{display:none}

.fld-lock__v{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:#f6f7fb;border-radius:12px}
.fld-lock__v b{font-size:15px;color:#141821;letter-spacing:.5px}
.fld-lock__v em{font-size:11px;color:#8b93a3;font-style:normal}
