/* ═══════════════════════════════════════════════════════════════════════
   v4b.css — 4b「霜蓝精修」排版层(2026-08-25 · 设计交接包 design_handoff_ui_refresh_4b)
   叠加在 styles/frost/alliance/kingdom 之后、最后加载。只做三件事:
   ① 把设计稿里硬编码的值命名成 --fz-* 令牌(不新增任何色相,全是现有值的命名化);
   ② 通用基元:细线 SVG 图标、字母徽、发丝线行、分组头、ghost 胶囊、实底卡、tabular 数字;
   ③ 壳层(顶栏/底栏/公告条)的 4b 覆盖。各页覆盖写在各页 css 或模板 style 块。
   回滚 = base.html 去掉这一行 <link>。
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  /* 4b 色令牌(--fz-hero-g / --fz-hair-lo / --fz-hair-hi / --fz-dim-lo / --fz-ember-g / --fz-ember-soft / --fz-ember-line /
     --fz-gold-line / --fz-gold-line-soft / --fz-well / --fz-hover / --fz-glyph-g)0908 起由 theme.css 按深浅两档给(旧名别名),这里只剩圆角 */
  --fz-r-card: 18px;
  --fz-r-item: 12px;
  --fz-r-pill: 999px;
}

/* 数字一律等宽(4b 规则 3) */
body { font-variant-numeric: tabular-nums; }
.fz-num { font-variant-numeric: tabular-nums; }

/* ── 细线 SVG 图标(24 viewBox / 1.8 stroke / round):<svg class="fz-ico"><use href="#i-xxx"/></svg> ── */
.fz-ico {
  width: 18px; height: 18px; flex: none; display: inline-block; vertical-align: -3px;
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.fz-ico.lg { width: 20px; height: 20px; }
.fz-ico.xl { width: 22px; height: 22px; }
.fz-ico.sm { width: 16px; height: 16px; vertical-align: -2px; }

/* ── 字母徽(联盟旗徽/成员头像:首字或盟标,取代 emoji 方块)────────────── */
.fz-glyph {
  width: 44px; height: 44px; flex: none; border-radius: var(--fz-r-item);
  display: grid; place-items: center; overflow: hidden; text-decoration: none;
  background: var(--fz-glyph-g); border: 1px solid var(--fz-hair);
  color: var(--fz-dim); font-size: 12px; font-weight: 800; letter-spacing: .02em; line-height: 1;
  white-space: nowrap;
}
.fz-glyph.is-hi { border-color: var(--line-hi); color: var(--fz-ice); }
.fz-glyph.is-gold { border-color: var(--fz-gold-line-soft); color: var(--fz-gold); }
.fz-glyph.is-empty { border-style: dashed; background: transparent; color: var(--fz-dim-lo); }
.fz-glyph.xs { width: 34px; height: 34px; border-radius: 10px; font-size: 11px; }
.fz-glyph.sm { width: 40px; height: 40px; border-radius: 11px; }
.fz-glyph.lg { width: 48px; height: 48px; border-radius: 13px; font-size: 13px; }
.fz-glyph.cjk { font-size: 15px; }

/* ── 发丝线行列表(取代「卡片套卡片」)───────────────────────────────── */
.fz-rows { display: flex; flex-direction: column; }
.fz-row {
  display: grid; align-items: center; gap: 12px; padding: 14px 2px;
  border-bottom: 1px solid var(--fz-hair-lo); color: var(--fz-snow); text-decoration: none;
}
.fz-row:hover { background: var(--fz-hover); }
.fz-rows > .fz-row:last-child { border-bottom: 0; }

/* ── 分组头:11px/800/.12em + 右侧计数或入口 ───────────────────────── */
.fz-grouphd {
  display: flex; align-items: baseline; gap: 8px; margin: 22px 2px 4px;
  font-size: 11px; font-weight: 800; letter-spacing: .12em; color: var(--fz-dim);
}
.fz-grouphd .t { flex: 1; }
.fz-grouphd a, .fz-grouphd .r { font-size: 11.5px; letter-spacing: 0; color: var(--fz-ice); text-decoration: none; font-weight: 700; }

/* ── 按钮:主行动(橙渐变胶囊,每屏最多一个) / 次级 ghost(透明底 + 冰蓝细边 + 胶囊)── */
.fz-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 10px 20px; border: 0; border-radius: var(--fz-r-pill); cursor: pointer;
  background: var(--fz-ember-g); color: var(--on-ember); font-size: 14px; font-weight: 800; text-decoration: none;
  box-shadow: 0 8px 18px -10px rgba(224, 110, 31, .5); white-space: nowrap;
}
.fz-primary:hover { filter: brightness(1.06); }
.fz-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 14px; border-radius: var(--fz-r-pill); cursor: pointer; white-space: nowrap;
  background: transparent; border: 1px solid var(--line-hi);
  color: var(--fz-ice); font-size: 13px; font-weight: 700; text-decoration: none;
}
.fz-ghost:hover { background: var(--ice-bg); }
.fz-ghost.is-ember { border-color: var(--fz-ember-line); color: var(--fz-ember-hi); }
.fz-ghost.is-ember:hover { background: var(--fz-ember-soft); }
.fz-ghost.is-dim { border-color: var(--fz-hair); color: var(--fz-dim); }

/* ── 实底卡(一屏一张):渐变底 + 顶边提亮 ──────────────────────────── */
.fz-solid {
  border-radius: var(--fz-r-card); padding: 20px;
  background: var(--fz-hero-g); border: 1px solid var(--hair); border-top-color: var(--fz-hair-hi);
}

/* ── 在线绿点(发光)───────────────────────────────────────────────── */
.fz-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--fz-ok); box-shadow: 0 0 8px rgba(111, 207, 151, .8); vertical-align: 1px; }
.fz-dot.is-off { background: var(--fz-dim-lo); box-shadow: none; }

/* ══ 壳层:顶栏(手机 = logo 24 + 站名 15/700 + 右侧当前王国 12 dim + 底边发丝线)══ */
.topbar-kingdom { display: none; }
@media (max-width: 860px) {
  .topbar {
    display: flex; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: nowrap; row-gap: 0;
    top: 0; width: 100%; margin: 0;
    padding: 13px 18px; background: var(--fz-ink); box-shadow: none; backdrop-filter: none;
    border-bottom: 1px solid var(--hair-soft);
  }
  .topbar .brand { flex: 0 1 auto; width: auto; justify-content: flex-start; min-height: 0; gap: 8px; font-size: 15px; font-weight: 700; text-shadow: none; }
  .topbar .brand-logo { width: 24px; height: 24px; filter: none; }
  .topbar-kingdom {
    display: block; font-size: 12px; color: var(--fz-dim); max-width: 46%;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  }
  main { padding-top: 22px; }
}

/* ══ 壳层:桌面顶栏(≥861px · W1/W2):logo 26 + 站名 15/700 + pills(激活 = 冰蓝淡底 700)+ 右侧当前王国 ══ */
@media (min-width: 861px) {
  .topbar {
    padding: 14px max(28px, calc((100vw - 1180px) / 2 + 28px)); gap: 22px;
    background: var(--fz-ink); box-shadow: none; backdrop-filter: none; border-bottom: 1px solid var(--hair-soft);
  }
  .topbar .brand { gap: 9px; font-size: 15px; font-weight: 700; text-shadow: none; }
  .topbar .brand-logo { width: 26px; height: 26px; filter: none; }
  .nav { gap: 4px; }
  .nav a { min-height: 0; padding: 7px 14px; border-radius: 9px; font-size: 13.5px; font-weight: 600; color: var(--fz-dim); border: 0; }
  .nav a:hover { background: var(--ice-bg); color: var(--fz-snow); }
  .nav a.is-active:not(.primary-link) {
    color: var(--fz-snow); font-weight: 700; background: var(--hair-soft); box-shadow: none; text-decoration: none;
  }
  .nav .primary-link { border-radius: 999px; background: var(--fz-ember-g); color: var(--on-ember); font-weight: 800; box-shadow: none; border: 0; }
  .nav .primary-link.is-active { background: var(--fz-ember-g); }
  main { padding-top: 26px; }
}

/* ══ 壳层:底栏(细线图标 20px;激活 = 冰蓝 700;中央 46px 橙渐变 ＋)══ */
@media (max-width: 860px) {
  .tabbar {
    background: var(--bg); border-top: 1px solid var(--fz-line); box-shadow: none; backdrop-filter: none;
    padding: 10px 6px calc(12px + env(safe-area-inset-bottom));
  }
  .tabbar a { font-size: 11px; font-weight: 600; color: var(--fz-dim); gap: 4px; }
  .tabbar a .tb-i { display: block; line-height: 0; font-size: 0; }
  .tabbar a .tb-i .fz-ico { width: 20px; height: 20px; }
  .tabbar a.is-active { color: var(--fz-ice); font-weight: 700; }
  .tabbar a.is-active .tb-i { filter: none; }
  .tabbar .tabbar-share { flex: 0 0 64px; margin-top: -20px; }
  .tabbar .tb-plus {
    width: 46px; height: 46px; font-size: 24px; font-weight: 800; color: var(--on-ember);
    background: var(--fz-ember-g); border: 3px solid var(--fz-ink); box-shadow: none;
  }
}

/* ══ 壳层:公告条图标 ══ */
.flash .fz-ico { margin-right: 4px; }

/* ══ 页级顶栏 .fz-pagebar:‹ / ⌕ 改细线图标 ══ */
/* 0906 修:这条原本是给换成 SVG 图标的 back/right 用的,但只有 3 页换了图标,其余 33 页的文字「‹」被它隐形了两周;
   改成只对含 svg 的生效(老内核不认 :has 就整条丢弃 = 文字键照常显示,SVG 键旁本来也没文字) */
.fz-pagebar .pb-back:has(svg), .fz-pagebar .pb-right:has(svg) { font-size: 0; }

/* ══ B 联盟成员榜(templates/alliance/members.html)——行为不变,只换皮 ══
   现状:每行独立卡片 + 分组卡片 + 盟主卡金渐变头像;4b:一屏一张实底卡(盟主卡),
   其余发丝线行,字母徽,阶徽小方块,战力橙 tabular。作用域 .rs-wrap 防串到别页。 */
.rs-wrap { gap: 12px; }
.rs-wrap .fz-search input { padding: 11px 14px; font-size: 13.5px; border-radius: var(--fz-r-item); background: var(--fz-well); }
.rs-wrap .fz-strip {
  display: flex; align-items: center; gap: 6px; padding: 0 2px; text-align: left;
  background: none; border: 0; border-radius: 0; font-size: 12.5px; color: var(--fz-dim);
}
.rs-wrap .fz-strip b { color: var(--fz-snow); }
/* 盟主卡 = 本屏唯一实底卡:渐变底 + 金边;徽章右上角;内容行让位 26px */
.rs-wrap .fz-lead-card {
  margin-top: 0; padding: 16px; gap: 12px; border-radius: var(--fz-r-card);
  background: var(--fz-hero-g); border: 1px solid var(--fz-gold-line-soft); box-shadow: none;
}
.rs-wrap .fz-lead-chip {
  top: 12px; right: 14px; left: auto; font-size: 10.5px; padding: 3px 10px; border-radius: 999px; box-shadow: none;
}
.rs-wrap .fz-lead-card .fz-avatar, .rs-wrap .fz-lead-main, .rs-wrap .fz-lead-side { margin-top: 26px; }
.rs-wrap .fz-lead-card .fz-avatar {
  width: 48px; height: 48px; border-radius: 14px; background: var(--fz-glyph-g);
  border: 1px solid var(--gold-line); color: var(--fz-gold); font-size: 17px; font-weight: 800;
}
.rs-wrap .fz-lead-name { font-size: 15.5px; }
.rs-wrap .fz-lead-meta { font-size: 12px; color: var(--fz-dim); flex-wrap: wrap; row-gap: 4px; }
.rs-wrap .fz-lead-side .pw { font-size: 16px; color: var(--fz-peach); }
/* 阶位分组:去卡片,组头 = 小方阶徽 + 12.5/800 组名 + 计数 › */
.rs-wrap .fz-rank-group { background: none; border: 0; border-radius: 0; overflow: visible; }
.rs-wrap .fz-rank-group-head { padding: 12px 2px 4px; gap: 10px; }
.rs-wrap .fz-rank-badge {
  min-width: 0; height: auto; padding: 2px 8px; border-radius: 7px; font-size: 11px;
  background: none; border: 1px solid var(--line-hi);
}
.rs-wrap .fz-rank-group.is-lead .fz-rank-badge { background: var(--fz-gold-g); border-color: transparent; }
.rs-wrap .fz-rank-name { font-size: 12.5px; font-weight: 800; }
.rs-wrap .fz-rank-count { font-size: 12px; }
.rs-wrap .fz-rank-group-head .fz-chev { color: var(--fz-dim); }
.rs-wrap .fz-rank-group-body { border-top: 0; padding: 0; }
/* 成员行:grid 40 / 1fr / auto,发丝线分隔,字母徽首字 */
.rs-wrap .fz-member-row {
  display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px;
  padding: 13px 2px; border-radius: 0; border-bottom: 1px solid var(--fz-hair-lo);
}
.rs-wrap .fz-member-row + .fz-member-row { border-top: 0; }
.rs-wrap .fz-member-row .fz-avatar {
  width: 40px; height: 40px; border-radius: 12px; background: var(--fz-glyph-g);
  color: var(--fz-ice); font-size: 15px; font-weight: 800;
}
.rs-wrap .fz-member-row.is-placeholder { opacity: 1; }
.rs-wrap .fz-member-row.is-placeholder .fz-avatar { background: var(--fz-well); border: 1px dashed var(--line-hi); color: var(--fz-dim-lo); font-size: 15px; }
.rs-wrap .fz-member-row.is-placeholder .fz-member-name { color: var(--fz-snow); font-weight: 700; }
.rs-wrap .fz-member-name { font-size: 14px; }
.rs-wrap .fz-member-meta { font-size: 12px; margin-top: 2px; }
.rs-wrap .fz-member-side { gap: 6px; }
/* 管理视角的行带调阶/改战力/删除表单——手机宽度放不下右列,表单换到名字下方一整行 */
.rs-wrap .fz-member-row.is-manage { grid-template-columns: 40px minmax(0, 1fr); }
.rs-wrap .fz-member-row.is-manage .fz-member-side {
  grid-column: 2; margin-left: 0; text-align: left;
  flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 8px;
}
.rs-wrap .fz-member-row.is-manage .fz-member-side .fz-invite { margin-left: 0; }
/* 管理小表单:调阶/改战力/编辑地心 全部 ghost(一屏只留「地心录入」一个暖色);删除保持红边 */
.rs-wrap .fz-rankform button, .rs-wrap .ec-edit-btn {
  background: transparent; border: 1px solid var(--line-hi); color: var(--fz-ice);
  border-radius: 999px; font-weight: 700; padding: 6px 12px; white-space: nowrap;
}
.rs-wrap .fz-rankform button:hover, .rs-wrap .ec-edit-btn:hover { background: var(--ice-bg); }
.rs-wrap .fz-rankform button.fz-del-btn { border-color: var(--danger-line); color: var(--danger); font-weight: 400; }
.rs-wrap .fz-rankform select, .rs-wrap .fz-rankform input[type=number] { background: var(--fz-well); border-color: var(--fz-hair); border-radius: 999px; padding: 6px 10px; }
.rs-wrap .fz-rankform input[type=number] { width: 96px; }
/* 「等你点头」块:去实底卡,橙边留作提醒 */
.rs-wrap .rs-pending { background: transparent; border-radius: var(--fz-r-item); }
.rs-wrap .rs-pending button.no { border-radius: 999px; }
/* 认领汇总行 */
.rs-wrap .claim-summary { margin: 4px 0 6px; font-size: 12px; }
.rs-wrap .claim-summary a.on { color: var(--set); }
.rs-wrap .fz-member-side .pw { font-size: 14.5px; color: var(--fz-peach); }
.rs-wrap .fz-livetag { font-size: 11px; }
.rs-wrap .fz-livetag.is-off { color: var(--fz-dim-lo); }
.rs-wrap .fz-invite { color: var(--set); background: var(--fz-ember-soft); border-color: var(--ember-line); font-size: 12px; }
.rs-wrap .rs-hint { color: var(--fz-dim-lo); }
.rs-wrap .rs-empty { padding: 20px 2px; }

/* ══ C 我的主页(templates/_profile_header.html · me.html)══
   统帅卡 = 本屏唯一实底卡(霜蓝渐变取代紫黑卡 + 内框线);chip 右上角冰蓝描边;
   名 19/800 无衬线;三指标标签在上、数值 20/800 无格子;身份行字母徽;地心条 #N 圆徽;
   属性格 2 列独立小格;操作行 主橙 + ghost。 */
.fz-profile .fz-cc-hero {
  padding: 18px; border-radius: var(--fz-r-card);
  background: var(--fz-hero-g); border: 1px solid var(--hair); border-top-color: var(--fz-hair-hi);
  box-shadow: none; overflow: visible;
}
.fz-profile .fz-cc-hero::after { display: none; }
.fz-profile .fz-cc-chip {
  position: absolute; top: 14px; right: 16px; font-size: 10.5px; font-weight: 800; letter-spacing: 0;
  color: var(--fz-ice); border: 1px solid var(--line-hi); background: none; padding: 2px 9px;
}
.fz-profile .fz-cc-name {
  margin: 0; padding-right: 96px; font-family: inherit; font-size: 19px; font-weight: 800; letter-spacing: 0; text-shadow: none;
}
.fz-profile .fz-cc-name .fz-ally-tag {
  color: var(--fz-ice); font-size: 13px; border: 1px solid var(--line-hi); border-radius: 6px; padding: 1px 6px; margin-right: 4px; vertical-align: 3px;
}
.fz-profile .fz-cc-stats { display: flex; gap: 0; margin-top: 14px; border-top: 1px solid var(--hair-soft); padding-top: 13px; }
.fz-profile .fz-cc-stats .fz-stat { flex: 1; text-align: left; padding: 0; background: none; border: 0; border-radius: 0; }
.fz-profile .fz-cc-stats .fz-stat:first-child { flex: 1.2; }
.fz-profile .fz-cc-stats .fz-stat .k { font-size: 11px; margin-bottom: 2px; }
.fz-profile .fz-cc-stats .fz-stat .v { font-size: 20px; font-weight: 800; }
.fz-profile .fz-cc-stats .fz-stat.is-power .v { color: var(--fz-peach); }
.fz-profile .fz-cc-verify { margin-top: 12px; font-size: 11.5px; }
.fz-profile .fz-cc-verify .serial { color: var(--fz-ok); font-weight: 600; }
.fz-profile .fz-cc-empty .fz-cc-name { padding-right: 0; color: var(--fz-gold); }
/* 身份行 */
.fz-profile .fz-id-row .fz-avatar {
  width: 44px; height: 44px; border-radius: 14px; background: var(--fz-glyph-g);
  border: 1px solid var(--hair); color: var(--fz-ice); font-size: 16px; font-weight: 800;
}
.fz-profile .fz-id-name { font-size: 15px; }
.fz-profile .fz-id-keys a { font-weight: 700; }
.fz-profile .fz-id-row .button {
  padding: 6px 13px; border-radius: 999px; background: transparent; border: 1px solid var(--line-hi);
  color: var(--fz-ice); font-size: 12px; font-weight: 700; box-shadow: none; min-height: 0;
}
.fz-profile .fz-status { font-size: 12px; padding: 4px 11px; }
/* 地心条:橙淡底 + 橙边 + #N 圆徽 */
.fz-profile .fz-earthcore { box-shadow: none; border-color: var(--ember-line); background: linear-gradient(135deg, var(--ember-bg), var(--fz-card)); }
.fz-profile .fz-earthcore .main strong { font-size: 15.5px; }
.fz-profile .fz-earthcore .side { font-size: 12.5px; }
/* 属性格:2 列独立小格 */
.fz-profile .fz-info-grid { gap: 8px; background: none; border: 0; border-radius: 0; overflow: visible; }
.fz-profile .fz-info { border-radius: 13px; border: 1px solid var(--hair-soft); }
.fz-profile .fz-info .k { font-size: 11px; }
.fz-profile .fz-info .v { font-size: 15px; font-weight: 800; }
.fz-profile .fz-eye { color: var(--fz-dim-lo); opacity: 1; }
/* 操作行:主橙 + ghost */
.fz-profile .fz-profile-actions .button {
  min-height: 0; padding: 12px; border-radius: var(--fz-r-item); font-size: 14px; font-weight: 800;
  background: var(--fz-ember-g); color: var(--on-ember); border: 0; box-shadow: 0 12px 24px -14px rgba(240, 127, 45, .8);
}
.fz-profile .fz-profile-actions .button.button-muted {
  background: transparent; color: var(--text-2); border: 1px solid var(--line-hi); font-weight: 600; box-shadow: none;
}
/* me.html 工具行(更新数据/退出/后台/删档案)= ghost 胶囊;页内 .me-card 实底卡改发丝线描边,只留主 CTA 一处橙 */
.fz-me-tools .button {
  min-height: 0; padding: 9px 12px; border-radius: 999px; background: transparent;
  border: 1px solid var(--line-hi); color: var(--fz-ice); font-size: 13px; font-weight: 700; box-shadow: none;
}
.me-wrap .me-card { background: transparent; border-color: var(--hair); }
.me-wrap .me-fold { background: transparent; border-color: var(--hair); }
.me-wrap .me-eyebrow { font-size: 11px; letter-spacing: .12em; color: var(--fz-dim); }
.me-wrap .me-ghost { background: transparent; border-radius: 999px; }
.me-wrap .me-btn { border-radius: 999px; }

/* ══ 联盟主页(templates/alliance/home.html):名片卡 = 唯一实底卡;频道细线图标;管理台 ghost ══ */
.as-wrap .fz-ally-card { background: var(--fz-hero-g); border-color: var(--hair); box-shadow: none; }
.as-wrap .fz-ally-flag { font-size: 0; }
.as-wrap .fz-ally-flag .fz-ally-flag-tag { font-size: 12px; font-weight: 800; color: var(--fz-ice); letter-spacing: .02em; }
.as-wrap .fz-ally-flag img { font-size: 12px; }
.as-wrap .fz-channels { background: var(--fz-card); }
.as-wrap .fz-channel-ico { display: grid; place-items: center; font-size: 0; color: var(--fz-ice); background: none; border: 0; width: 28px; height: 28px; }
.as-wrap .fz-channel-ico .fz-ico { width: 18px; height: 18px; }
.as-wrap .fz-channel.is-hot .fz-channel-ico { color: var(--fz-ember-hi); filter: none; }
.as-wrap .as-manage { background: transparent; border-color: var(--hair); }
.as-wrap .as-manage-link { background: transparent; border: 1px solid var(--hair); border-radius: var(--fz-r-item); }
.as-wrap .as-manage-link:first-child { background: var(--fz-ember-soft); }
.as-wrap .as-pull { background: transparent; }
.as-wrap .fz-mood-like { display: inline-flex; align-items: center; gap: 3px; }
.as-wrap .fz-entry { background: transparent; border-color: var(--hair); }
.as-wrap .fz-entry-ico { display: grid; place-items: center; font-size: 0; color: var(--fz-ice); }

/* ══ E 作战部署 · 车头车身(templates/deploy.html)——定稿 E2 座位图 ══ */
.dc-wrap .dc-card { border-radius: var(--fz-r-card); }
.dc-wrap .dc-card:not(.is-mine) { background: transparent; border-color: var(--hair); }
.dc-wrap .dc-pe { font-size: 11px; letter-spacing: .12em; }
.dc-wrap .dc-ghost, .dc-wrap .dc-btn { border-radius: 999px; }
.dc-wrap .dc-ghost { background: transparent; }
/* 你的位置:一行横幅 */
.dc-mine {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 14px; border-radius: var(--fz-r-item);
  background: linear-gradient(90deg, var(--fz-ember-soft), var(--fz-card)); border: 1px solid var(--ember-line);
  font-size: 12.5px; color: var(--fz-dim);
}
.dc-mine .t { flex: none; font-size: 11px; font-weight: 800; letter-spacing: .1em; color: var(--fz-ember-hi); }
.dc-mine .m { flex: 1; min-width: 0; }
.dc-mine .m b { color: var(--fz-ember-hi); font-weight: 800; }
.dc-mine .r { flex: none; margin-left: auto; color: var(--fz-ice); text-decoration: none; font-weight: 700; }
/* 车队总览区头 */
.dc-ovhd { display: flex; align-items: baseline; gap: 10px; margin: 6px 2px 0; }
.dc-ovhd h2 { margin: 0; flex: 1; font-size: 15px; font-weight: 800; color: var(--fz-snow); }
.dc-ovhd span { font-size: 12px; color: var(--fz-dim); }
.dc-ovhd span b { color: var(--fz-snow); }
/* 每辆车一张实底卡 */
.dc-seatcar { border-radius: var(--fz-r-card); padding: 16px; background: var(--fz-card); border: 1px solid var(--fz-hair); }
.dc-seathd { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.dc-seathd .no {
  flex: none; font-size: 11px; font-weight: 800; color: var(--fz-ice); border: 1px solid var(--line-hi);
  border-radius: 7px; padding: 2px 8px;
}
.dc-seatcar.is-first .dc-seathd .no { color: #2a1c08; background: var(--fz-gold-g); border-color: transparent; }
.dc-seathd b { flex: 1; min-width: 0; font-size: 14px; font-weight: 800; color: var(--fz-snow); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dc-seathd .dc-ovedit { margin-left: 0; border: 0; padding: 0; font-size: 12px; color: var(--fz-ice); }
/* 座位格:grid 5 列 */
.dc-seats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.dc-seat {
  grid-column: span 2; display: block; padding: 10px; border-radius: var(--fz-r-item); text-align: center; text-decoration: none;
  background: var(--fz-well); border: 1px solid var(--hair); min-width: 0;
}
.dc-seat b { display: block; font-size: 12.5px; font-weight: 700; color: var(--fz-snow); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dc-seat small { display: block; font-size: 10.5px; color: var(--fz-dim); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dc-seat .dc-skillon { display: block; font-size: 10px; font-weight: 700; color: var(--fz-ember-hi); font-style: normal; margin-top: 2px; border: 0; padding: 0; background: none; }
.dc-seat.is-mine { background: var(--ember-bg); border-color: var(--ember-line); }
.dc-seat.is-mine b { color: var(--fz-ember-hi); font-weight: 800; }
.dc-seat.is-mine small { color: var(--ember-hi); }
.dc-seat.is-empty { background: transparent; border: 1px dashed var(--line-hi); color: var(--fz-dim-lo); }
.dc-seat.is-empty b { font-size: 16px; font-weight: 400; color: var(--fz-dim-lo); }
.dc-seat.is-empty small { color: var(--fz-dim-lo); }
/* 车头 = 整行金卡 */
.dc-seat.is-head {
  grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; text-align: left; padding: 11px 12px;
  background: linear-gradient(150deg, var(--card-hi), var(--well)); border-color: var(--gold-line);
}
.dc-seat.is-head .dc-seat-glyph {
  flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center;
  background: var(--gold-bg); color: var(--fz-gold); font-size: 13px; font-weight: 800;
}
.dc-seat.is-head .dc-seat-main { flex: 1; min-width: 0; }
.dc-seat.is-head b { font-size: 13px; font-weight: 800; color: var(--gold); }
.dc-seat.is-head small { font-size: 11px; color: var(--gold); margin-top: 1px; }
.dc-seat.is-head.is-mine { border-color: var(--ember-line); }
.dc-seat.is-head.is-empty { background: transparent; border-style: dashed; }
.dc-seat.is-head.is-empty b { font-size: 13px; color: var(--fz-dim-lo); }
@media (max-width: 380px) { .dc-seats { grid-template-columns: repeat(4, 1fr); } }

/* ══ 0902 审查 P2:iOS 聚焦自动放大——表单控件字号 <16px 时 Safari 会整页放大且不回弹。
   手机断点 / 纯触屏设备下,可输入控件(文本/数字/搜索/日期/下拉/多行)统一 16px;只改字号、不动其它属性;
   勾选/单选/滑块/文件/按钮不触发缩放,不在此列。各处零散的 12–14.5px 声明保留给桌面。 ══ */
@media (max-width: 640px), (hover: none) and (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="color"]),
  select, textarea { font-size: 16px !important; }
}
