/* ══════════════════════════════════════════════════════════
   嗨搭 Web · 个人中心（头像弹层） + 达人详情/下单弹窗
   与 index.html 的暗色 + 淡红配色保持一致
   ══════════════════════════════════════════════════════════ */

.uc-mask,
.gd-mask {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(6, 4, 6, .74);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  animation: ucFade .16s ease;
}
.uc-mask[hidden],
.gd-mask[hidden] { display: none !important; }
@keyframes ucFade { from { opacity: 0 } to { opacity: 1 } }
@keyframes ucUp { from { opacity: 0; transform: translateY(14px) } to { opacity: 1; transform: none } }

/* ══════ 外框 ══════ */
.uc {
  position: relative;
  width: min(1160px, 100%);
  height: min(760px, 88dvh);
  display: grid;
  grid-template-columns: 232px 1fr;
  background: #120E11;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(0, 0, 0, .72);
  animation: ucUp .2s ease;
}
.uc-close,
.gd-close {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 8;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .72);
  font-size: 15px;
  line-height: 1;
  transition: .16s;
}
.uc-close:hover,
.gd-close:hover { background: rgba(255, 107, 126, .22); color: #fff; }

/* ══════ 左栏 ══════ */
.uc-side {
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(120% 60% at 0% 0%, #4A1E28 0%, transparent 62%),
    linear-gradient(180deg, #2A1A20, #1A1216 62%, #150F13);
  border-right: 1px solid rgba(255, 255, 255, .07);
  padding: 22px 12px 14px;
  overflow-y: auto;
}
.uc-me { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 6px 0 16px; }
.uc-me .ava {
  position: relative;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  padding: 2px;
  background: linear-gradient(135deg, #FF5C72, #FF8A9B);
  flex: none;
}
.uc-me .ava img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  background: #2A1D22;
  display: block;
}
.uc-me .ava .crown {
  position: absolute;
  left: 50%;
  top: -9px;
  transform: translateX(-50%);
  font-size: 13px;
  line-height: 1;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .5));
}
.uc-me b {
  margin-top: 9px;
  font-size: 14px;
  font-weight: 700;
  color: #FAF1F3;
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.uc-badges { display: flex; align-items: center; justify-content: center; gap: 5px; margin-top: 6px; flex-wrap: wrap; }
.uc-tag {
  height: 18px;
  padding: 0 6px;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #FFC9D0;
  background: rgba(255, 107, 126, .16);
  border: 1px solid rgba(255, 107, 126, .28);
}
.uc-tag.gold { color: #3A2408; background: linear-gradient(135deg, #FFD37A, #E8A33D); border-color: transparent; }
.uc-tag.vip { color: #FFE9B0; background: linear-gradient(135deg, #7A4E12, #5A3708); border-color: rgba(245, 219, 117, .5); }
.uc-me .hid {
  margin-top: 7px;
  font-size: 10.5px;
  color: rgba(255, 255, 255, .42);
  font-variant-numeric: tabular-nums;
  letter-spacing: .3px;
}

.uc-nav { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; }
.uc-nav button {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 42px;
  padding: 0 12px;
  border-radius: 9px;
  color: rgba(255, 255, 255, .64);
  font-size: 13px;
  font-weight: 500;
  text-align: left;
  transition: .16s;
}
.uc-nav button svg {
  width: 17px;
  height: 17px;
  flex: none;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.uc-nav button:hover { background: rgba(255, 255, 255, .06); color: #FAF1F3; }
.uc-nav button.on {
  background: linear-gradient(135deg, #FF5C72, #FF6B7E 55%, #FF8A9B);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 12px 26px rgba(255, 92, 114, .30);
}
.uc-nav button .dot {
  margin-left: auto;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(255, 92, 114, .92);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  display: none;
  align-items: center;
  justify-content: center;
}
.uc-nav button .dot.on { display: inline-flex; }
.uc-side .spacer { flex: 1; min-height: 10px; }
.uc-logout {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 38px;
  padding: 0 12px;
  border-radius: 9px;
  color: rgba(255, 255, 255, .45);
  font-size: 12.5px;
  border: 1px solid rgba(255, 255, 255, .08);
  transition: .16s;
}
.uc-logout:hover { color: #FFB3BE; border-color: rgba(255, 107, 126, .35); background: rgba(255, 107, 126, .10); }
.uc-logout svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; }

/* ══════ 右内容区 ══════ */
.uc-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  background: #171114;
  overflow: hidden;
}
.uc-head {
  flex: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 24px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.uc-head h3 { font-size: 16px; font-weight: 800; letter-spacing: .2px; }
.uc-head .sub { font-size: 11.5px; color: rgba(255, 255, 255, .38); margin-left: 2px; }
.uc-head .acts { margin-left: auto; display: flex; gap: 8px; }
.uc-body { flex: 1; overflow-y: auto; padding: 18px 24px 26px; }
.uc-body::-webkit-scrollbar { width: 8px }
.uc-body::-webkit-scrollbar-thumb { background: #33242A; border-radius: 4px }

.uc-btn {
  height: 30px;
  padding: 0 13px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .78);
  transition: .16s;
}
.uc-btn:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.uc-btn.primary { background: linear-gradient(135deg, #FF5C72, #FF8A9B); border-color: transparent; color: #fff; box-shadow: 0 8px 18px rgba(255, 92, 114, .28); }
.uc-btn.primary:hover { filter: brightness(1.06); }
.uc-btn.ghost { background: transparent; }
.uc-btn:disabled { opacity: .5; cursor: not-allowed; }

/* 统计卡 */
.uc-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.uc-stat {
  position: relative;
  overflow: hidden;
  padding: 15px 16px;
  border-radius: 12px;
  background: linear-gradient(150deg, #241A1F, #1B1317);
  border: 1px solid rgba(255, 255, 255, .07);
}
.uc-stat.hot {
  background: linear-gradient(140deg, #7A2536, #3D1A22 68%);
  border-color: rgba(255, 107, 126, .30);
}
.uc-stat .k { font-size: 11.5px; color: rgba(255, 255, 255, .50); letter-spacing: .3px; }
.uc-stat.hot .k { color: rgba(255, 255, 255, .72); }
.uc-stat .v { margin-top: 6px; font-size: 24px; font-weight: 900; letter-spacing: -.6px; color: #fff; font-variant-numeric: tabular-nums; }
.uc-stat .v small { font-size: 12px; font-weight: 700; margin-left: 2px; opacity: .8 }
.uc-stat .t { margin-top: 4px; font-size: 10.5px; color: rgba(255, 255, 255, .35); }

/* 区块 */
.uc-sec { margin-top: 20px; }
.uc-sec > .h {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #FAF1F3;
  margin-bottom: 10px;
}
.uc-sec > .h::before { content: ""; width: 3px; height: 13px; border-radius: 2px; background: linear-gradient(#FF5C72, #FF8A9B); }
.uc-sec > .h .more { margin-left: auto; font-size: 11.5px; font-weight: 500; color: rgba(255, 255, 255, .4); }
.uc-sec > .h .more:hover { color: #FFB3BE; }

/* 列表/表格 */
.uc-panel {
  background: #1C151A;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 12px;
  overflow: hidden;
}
.uc-tbl { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.uc-tbl th {
  text-align: left;
  padding: 11px 14px;
  font-size: 11.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, .42);
  background: rgba(255, 255, 255, .03);
  white-space: nowrap;
}
.uc-tbl td { padding: 12px 14px; border-top: 1px solid rgba(255, 255, 255, .05); color: rgba(255, 255, 255, .80); vertical-align: middle; }
.uc-tbl td.num { font-variant-numeric: tabular-nums; }
.uc-tbl .up { color: #FF8A9B; font-weight: 700 }
.uc-tbl .down { color: #7EE0A2; font-weight: 700 }
.uc-tbl .mono { font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, .55); font-size: 11.5px }

/* 空态 */
.uc-empty { padding: 46px 20px; text-align: center; }
.uc-empty .e { font-size: 34px; opacity: .55; line-height: 1 }
.uc-empty p { margin-top: 10px; font-size: 12.5px; color: rgba(255, 255, 255, .38); }
.uc-empty a,
.uc-empty button.link { margin-top: 12px; display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 8px; background: linear-gradient(135deg, #FF5C72, #FF8A9B); color: #fff; font-size: 12px; font-weight: 700; }

/* 订单 */
.uc-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.uc-tabs button {
  height: 30px;
  padding: 0 13px;
  border-radius: 999px;
  font-size: 12px;
  color: rgba(255, 255, 255, .58);
  background: #1C151A;
  border: 1px solid rgba(255, 255, 255, .08);
  transition: .16s;
}
.uc-tabs button:hover { color: #fff; border-color: rgba(255, 255, 255, .16) }
.uc-tabs button.on { background: linear-gradient(135deg, #FF5C72, #FF8A9B); border-color: transparent; color: #fff; font-weight: 700; }

.uc-ord { display: flex; flex-direction: column; gap: 10px; }
.uc-ord-card {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 11px;
  background: #1C151A;
  border: 1px solid rgba(255, 255, 255, .07);
  transition: .16s;
}
.uc-ord-card:hover { border-color: rgba(255, 107, 126, .28); background: #201820; }
.uc-ord-card > img { width: 46px; height: 46px; border-radius: 10px; object-fit: cover; background: #2A1D22; }
.uc-ord-card .tx { min-width: 0 }
.uc-ord-card .tx b { font-size: 13px; font-weight: 700; color: #FAF1F3; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.uc-ord-card .tx .m { margin-top: 4px; font-size: 11.5px; color: rgba(255, 255, 255, .42); display: flex; gap: 10px; flex-wrap: wrap }
.uc-ord-card .tx .m span { white-space: nowrap }
.uc-ord-card .rt { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 6px }
.uc-ord-card .amt { font-size: 15px; font-weight: 900; color: #fff; font-variant-numeric: tabular-nums }
.uc-ord-card .badge {
  height: 20px;
  padding: 0 8px;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .72);
}
.uc-ord-card .badge.warn { background: rgba(255, 176, 66, .16); color: #FFC062 }
.uc-ord-card .badge.info { background: rgba(96, 165, 250, .16); color: #93C5FD }
.uc-ord-card .badge.ok { background: rgba(126, 224, 162, .16); color: #8FE8AE }
.uc-ord-card .ops { display: flex; gap: 6px; }
.uc-ord-card .ops button {
  height: 26px;
  padding: 0 11px;
  border-radius: 7px;
  font-size: 11.5px;
  font-weight: 600;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .10);
  color: rgba(255, 255, 255, .80);
}
.uc-ord-card .ops button.p { background: linear-gradient(135deg, #FF5C72, #FF8A9B); border-color: transparent; color: #fff }
.uc-ord-card .ops button:hover { filter: brightness(1.12) }

/* 资料 */
.uc-pf { display: grid; grid-template-columns: 300px 1fr; gap: 16px; align-items: start }
.uc-pf-card { padding: 20px; border-radius: 12px; background: linear-gradient(160deg, #2A1B22, #1B1317); border: 1px solid rgba(255, 255, 255, .08); text-align: center }
.uc-pf-card .ava { width: 74px; height: 74px; border-radius: 50%; margin: 0 auto; padding: 2px; background: linear-gradient(135deg, #FF5C72, #FF8A9B) }
.uc-pf-card .ava img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: #2A1D22 }
.uc-pf-card b { display: block; margin-top: 10px; font-size: 15px; font-weight: 800 }
.uc-pf-card .id { margin-top: 5px; font-size: 11.5px; color: rgba(255, 255, 255, .42); font-variant-numeric: tabular-nums }
.uc-pf-card .bio { margin-top: 12px; font-size: 12px; color: rgba(255, 255, 255, .55); line-height: 1.65 }
.uc-rows { border-radius: 12px; overflow: hidden; background: #1C151A; border: 1px solid rgba(255, 255, 255, .07) }
.uc-row { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 13px 16px; border-top: 1px solid rgba(255, 255, 255, .05); font-size: 12.5px }
.uc-row:first-child { border-top: none }
.uc-row .k { color: rgba(255, 255, 255, .40) }
.uc-row .v { color: rgba(255, 255, 255, .86); min-width: 0; overflow: hidden; text-overflow: ellipsis }

/* 表单 */
.uc-form { display: grid; gap: 12px }
.uc-field { display: grid; gap: 6px }
.uc-field > label { font-size: 11.5px; color: rgba(255, 255, 255, .48) }
.uc-field input,
.uc-field select,
.uc-field textarea {
  width: 100%;
  background: #120E11;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 9px;
  padding: 10px 12px;
  color: #FAF1F3;
  font-size: 12.5px;
  font-family: inherit;
  outline: none;
  transition: .16s;
}
.uc-field input:focus,
.uc-field select:focus,
.uc-field textarea:focus { border-color: rgba(255, 107, 126, .5); background: #171114 }
.uc-field textarea { resize: vertical; min-height: 74px; line-height: 1.6 }
.uc-field .hint { font-size: 10.5px; color: rgba(255, 255, 255, .32) }
.uc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px }

/* 联系人 */
.uc-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 10px }
.uc-person {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border-radius: 11px;
  background: #1C151A;
  border: 1px solid rgba(255, 255, 255, .07);
  transition: .16s;
}
.uc-person:hover { border-color: rgba(255, 107, 126, .3); background: #201820 }
.uc-person img { width: 38px; height: 38px; border-radius: 10px; object-fit: cover; flex: none; background: #2A1D22 }
.uc-person .tx { min-width: 0; flex: 1 }
.uc-person .tx b { display: block; font-size: 12.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.uc-person .tx span { display: block; margin-top: 2px; font-size: 10.5px; color: rgba(255, 255, 255, .35) }
.uc-person .go {
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .07);
  color: rgba(255, 255, 255, .6);
  font-size: 14px;
  line-height: 1;
}
.uc-person .go:hover { background: rgba(255, 107, 126, .22); color: #fff }

/* ══════ 达人详情 / 下单 ══════ */
.gd {
  position: relative;
  width: min(940px, 100%);
  height: min(780px, 90dvh);
  display: grid;
  grid-template-columns: 300px 1fr;
  background: #120E11;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(0, 0, 0, .74);
  animation: ucUp .2s ease;
}
.gd-left { position: relative; background: #241A1E; overflow-y: auto }
.gd-left .cover { position: relative; aspect-ratio: 3 / 4; overflow: hidden }
.gd-left .cover img { width: 100%; height: 100%; object-fit: cover }
.gd-left .cover::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(180deg, transparent, rgba(8, 6, 8, .82)) }
.gd-left .cover .lv { position: absolute; left: 10px; bottom: 10px; z-index: 2; display: flex; gap: 6px }
.gd-left .thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; padding: 3px }
.gd-left .thumbs img { aspect-ratio: 1; object-fit: cover; border-radius: 4px; background: #2A1D22 }
.gd-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 3px; border-radius: 8px; overflow: hidden; background: rgba(255, 255, 255, .06) }
.gd-facts .f { background: #1C151A; padding: 10px 4px; text-align: center }
.gd-facts .f b { display: block; font-size: 15px; font-weight: 900; color: #fff; font-variant-numeric: tabular-nums }
.gd-facts .f span { display: block; margin-top: 2px; font-size: 10px; color: rgba(255, 255, 255, .35) }
.gd-side-sec { padding: 10px 12px 2px }
.gd-side-sec .h { font-size: 11.5px; font-weight: 700; color: rgba(255, 255, 255, .55); margin-bottom: 7px }
.gd-side-sec .chips { display: flex; flex-wrap: wrap; gap: 5px }
.gd-side-sec .chips span { height: 20px; padding: 0 8px; border-radius: 5px; display: inline-flex; align-items: center; font-size: 10.5px; color: rgba(255, 255, 255, .62); background: rgba(255, 255, 255, .06) }
.gd-side-sec .li { font-size: 11.5px; color: rgba(255, 255, 255, .45); line-height: 1.9 }
.gd-right { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: #171114 }
.gd-head { padding: 20px 22px 14px; border-bottom: 1px solid rgba(255, 255, 255, .07); flex: none }
.gd-head h2 { font-size: 18px; font-weight: 900; letter-spacing: .2px; display: flex; align-items: center; gap: 8px }
.gd-head h2 .sex { height: 17px; padding: 0 5px; border-radius: 4px; font-size: 10px; font-weight: 700; display: inline-flex; align-items: center; background: linear-gradient(135deg, #FF6B7E, #FF8A9B); color: #fff }
.gd-head .meta { margin-top: 7px; display: flex; align-items: center; gap: 10px; font-size: 11.5px; color: rgba(255, 255, 255, .45); flex-wrap: wrap }
.gd-head .meta .p { color: #FF8A9B; font-weight: 800; font-size: 14px }
.gd-head .tags { margin-top: 9px; display: flex; gap: 5px; flex-wrap: wrap }
.gd-body { flex: 1; min-height: 0; overflow-y: auto; padding: 16px 22px 22px }
.gd-pay {
  flex: none;
  padding: 12px 22px calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(255, 255, 255, .07);
  background: #150F13;
  display: flex;
  align-items: center;
  gap: 12px;
}
.gd-pay .sum { font-size: 11.5px; color: rgba(255, 255, 255, .45) }
.gd-pay .sum b { display: block; font-size: 20px; font-weight: 900; color: #fff; letter-spacing: -.5px; font-variant-numeric: tabular-nums }
.gd-pay .go { margin-left: auto; height: 40px; padding: 0 26px; border-radius: 10px; background: linear-gradient(135deg, #FF5C72, #FF8A9B); color: #fff; font-size: 13.5px; font-weight: 800; box-shadow: 0 12px 26px rgba(255, 92, 114, .34) }
.gd-pay .go:disabled { opacity: .55; cursor: not-allowed }

.gd-svc { display: flex; flex-direction: column; gap: 8px }
.gd-svc label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border-radius: 10px;
  background: #1C151A;
  border: 1px solid rgba(255, 255, 255, .08);
  cursor: pointer;
  transition: .16s;
}
.gd-svc label:hover { border-color: rgba(255, 255, 255, .18) }
.gd-svc label.on { border-color: rgba(255, 107, 126, .55); background: rgba(255, 107, 126, .10) }
.gd-svc input { display: none }
.gd-svc .nm { font-size: 12.5px; font-weight: 600; color: #FAF1F3 }
.gd-svc .ds { font-size: 10.5px; color: rgba(255, 255, 255, .35); margin-top: 2px }
.gd-svc .pr { margin-left: auto; font-size: 13px; font-weight: 800; color: #FF8A9B; font-variant-numeric: tabular-nums }
.gd-chips { display: flex; gap: 7px; flex-wrap: wrap }
.gd-chips button {
  height: 32px;
  min-width: 54px;
  padding: 0 13px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 600;
  background: #1C151A;
  border: 1px solid rgba(255, 255, 255, .09);
  color: rgba(255, 255, 255, .72);
}
.gd-chips button.on { background: linear-gradient(135deg, #FF5C72, #FF8A9B); border-color: transparent; color: #fff }

/* 支付方式 */
.gd-methods { display: grid; gap: 8px }
.gd-methods label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border-radius: 10px;
  background: #1C151A;
  border: 1px solid rgba(255, 255, 255, .08);
  cursor: pointer;
}
.gd-methods label.on { border-color: rgba(255, 107, 126, .55); background: rgba(255, 107, 126, .10) }
.gd-methods input { display: none }
.gd-methods .ic { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; font-size: 14px; background: rgba(255, 255, 255, .07) }
.gd-methods .nm { font-size: 12.5px; font-weight: 600 }
.gd-methods .ds { font-size: 10.5px; color: rgba(255, 255, 255, .35); margin-top: 2px }

/* 移动端 */
@media (max-width: 900px) {
  .uc-mask, .gd-mask { padding: 0; align-items: stretch; overflow: hidden }
  .uc, .gd { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; border: none; grid-template-columns: 1fr; overflow: hidden }
  .gd { display: flex; flex-direction: column; height: 100dvh; }
  .gd-left { display: none }
  .gd-right { flex: 1; min-height: 0 }
  .uc-side {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 10px 18px 10px 12px;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    overflow-x: auto;
    overflow-y: hidden;
    flex: none;
    min-width: 0;
    max-width: 100vw;
  }
  .uc-nav { min-width: 0 }
  .uc { grid-template-rows: auto 1fr; }
  .uc-me { flex-direction: row; text-align: left; padding: 0; gap: 9px; flex: none }
  .uc-me .ava { width: 38px; height: 38px }
  .uc-me b { margin-top: 0; font-size: 12.5px; max-width: 92px }
  .uc-me .hid, .uc-badges { display: none }
  .uc-nav { flex-direction: row; margin: 0; gap: 4px }
  .uc-nav button { height: 34px; padding: 0 11px; font-size: 12px; white-space: nowrap }
  .uc-nav button svg { display: none }
  .uc-side .spacer, .uc-logout { display: none }
  .uc-head { padding: 13px 16px 11px }
  .uc-body { padding: 14px 16px 22px; overflow-x: hidden }
  .uc-stats { grid-template-columns: 1fr 1fr; gap: 9px }
  .uc-stat { min-width: 0; padding: 13px 12px }
  .uc-stat .v { font-size: 19px }
  .uc-pf { grid-template-columns: 1fr }
  /* 小屏表格只留「类型 / 金额 / 时间」三列，避免横向溢出 */
  .uc-tbl { table-layout: fixed }
  .uc-tbl th:nth-child(3), .uc-tbl td:nth-child(3),
  .uc-tbl th:nth-child(5), .uc-tbl td:nth-child(5) { display: none }
  .uc-tbl th:nth-child(1) { width: 30% }
  .uc-tbl th:nth-child(4) { width: 34% }
  .uc-tbl th, .uc-tbl td { padding: 10px 8px; font-size: 11.5px; word-break: break-word }
  .uc-ord-card { grid-template-columns: 40px 1fr; }
  .uc-ord-card .rt { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.05); padding-top: 8px }
  .gd-head { padding: 16px 16px 12px }
  .gd-body { padding: 14px 16px 18px }
  .gd-pay { padding: 10px 16px calc(10px + env(safe-area-inset-bottom)) }
}

/* ══════════════════════════════════════════════════════════
   R38 · 个人资料增强：封面色 / 头像框 / 会员昵称配色 / 标签 / 语音条 / 相册 / 动态
   ══════════════════════════════════════════════════════════ */
.pf-hero{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(140deg,#2A1B22,#171114)}
.pf-cover{height:104px;background:linear-gradient(120deg,#4A1E28,#2A1620 55%,#1A1216);
  background-size:cover;background-position:center;position:relative}
.pf-cover::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,8,10,.15),rgba(10,8,10,.82))}
.pf-heroin{display:flex;gap:14px;align-items:flex-end;padding:0 18px 16px;margin-top:-40px;position:relative;z-index:2}
.pf-ava{position:relative;flex:none;width:76px;height:76px;border-radius:50%;padding:2px;background:#241A20}
.pf-ava.ring{background:linear-gradient(135deg,#FF5C72,#FF8A9B)}
.pf-ava img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#2A1D22;border:2px solid #171114}
.pf-crown{position:absolute;right:-6px;bottom:-4px;height:17px;padding:0 6px;border-radius:5px;
  background:linear-gradient(135deg,#C79A2E,#F5DB75);color:#3A2408;font-size:9px;font-weight:900;
  display:flex;align-items:center;letter-spacing:.4px;box-shadow:0 3px 8px rgba(0,0,0,.5)}
.pf-crown.vip{background:linear-gradient(135deg,#FF5C72,#FF8A9B);color:#fff}
.pf-idbox{min-width:0;flex:1;padding-bottom:2px}
.pf-namerow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pf-name{font-size:17px;font-weight:900;letter-spacing:.3px;color:#FAF1F3;line-height:1.3}
/* VIP：纯红（与 App .vip-name 一致，不用渐变，低端 WebView 更稳） */
.pf-name.vip{color:#e0322f;text-shadow:0 0 14px rgba(224,50,47,.35)}
/* SVIP：炫彩流光（与 App .vip-name--svip 同一套配色与关键帧） */
.pf-name.svip{color:#e0322f}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .pf-name.svip{background-image:linear-gradient(100deg,#b45cff 0%,#ff2e63 16.6%,#ffb02e 33.3%,
      #b45cff 50%,#ff2e63 66.6%,#ffb02e 83.3%,#b45cff 100%);
    background-size:200% 100%;background-position:0% 50%;background-repeat:repeat;
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
    animation:uc-name-flow 3.6s linear infinite}
  @media (prefers-reduced-motion:reduce){.pf-name.svip{animation:none}}
}
@keyframes uc-name-flow{from{background-position:100% 50%}to{background-position:0% 50%}}
.pf-badge{height:18px;padding:0 6px;border-radius:5px;font-size:10px;font-weight:800;
  display:inline-flex;align-items:center;gap:3px;color:#FFC9D0;
  background:rgba(255,107,126,.16);border:1px solid rgba(255,107,126,.3)}
.pf-badge.gold{color:#3A2408;background:linear-gradient(135deg,#FFD37A,#E8A33D);border-color:transparent}
.pf-badge.blue{color:#9EC5FF;background:rgba(96,165,250,.16);border-color:rgba(96,165,250,.3)}
.pf-meta{margin-top:5px;font-size:11.5px;color:rgba(255,255,255,.44);font-variant-numeric:tabular-nums}
.pf-tags{margin-top:7px;display:flex;flex-wrap:wrap;gap:5px}
.pf-tag{height:21px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;
  font-size:10.5px;font-weight:600;color:#FFC9D0;background:rgba(255,107,126,.13);
  border:1px solid rgba(255,107,126,.24)}
/* 语音条 */
.pf-voice{margin-top:9px;display:flex;align-items:center;gap:9px;height:34px;padding:0 12px 0 6px;
  border-radius:999px;width:fit-content;max-width:100%;
  background:linear-gradient(120deg,rgba(255,92,114,.20),rgba(255,92,114,.06));
  border:1px solid rgba(255,107,126,.28);cursor:pointer;transition:.16s}
.pf-voice:hover{border-color:rgba(255,107,126,.5)}
.pf-voice .play{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:var(--grad);flex:none}
.pf-voice .play svg{width:11px;height:11px;fill:#fff;stroke:none}
.pf-voice .wave{display:flex;align-items:center;gap:2px;height:16px}
.pf-voice .wave i{width:2px;border-radius:2px;background:#FF8A9B;opacity:.75;display:block}
.pf-voice.playing .wave i{animation:pf-wave .9s ease-in-out infinite}
.pf-voice.playing .wave i:nth-child(2n){animation-delay:.15s}
.pf-voice.playing .wave i:nth-child(3n){animation-delay:.3s}
@keyframes pf-wave{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1.25)}}
.pf-voice .dur{font-size:11px;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
/* 相册 */
.pf-album{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.pf-ph{position:relative;aspect-ratio:1;border-radius:9px;overflow:hidden;background:#241A1E;
  border:1px solid rgba(255,255,255,.07);padding:0}
.pf-ph:hover{border-color:rgba(255,107,126,.4)}
.pf-ph img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.pf-ph:hover img{transform:scale(1.06)}
/* 空态 */
.pf-empty{padding:22px 16px;text-align:center;border-radius:12px;background:#1C151A;
  border:1px dashed rgba(255,255,255,.12)}
.pf-empty span{font-size:22px;opacity:.6}
.pf-empty p{margin-top:8px;font-size:11.5px;color:rgba(255,255,255,.36);line-height:1.7}
/* 动态 */
.pf-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.pf-post{position:relative;padding:12px;border-radius:12px;background:#1C151A;border:1px solid rgba(255,255,255,.07);
  transition:.16s}
.pf-post:hover{border-color:rgba(255,107,126,.28)}
.pf-post .hd b{font-size:12.5px;font-weight:600;color:#EDE3E7;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pf-post .imgs{margin-top:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.pf-post .imgs img{aspect-ratio:1;object-fit:cover;border-radius:5px;background:#2A1D22}
.pf-post .ft{margin-top:9px;display:flex;gap:12px;font-size:10.5px;color:rgba(255,255,255,.34)}
.pf-post .ft span:first-child{margin-right:auto}
.pf-post .more{position:absolute}

@media (max-width:900px){
  .pf-album{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pf-cover{height:86px}
  .pf-ava{width:64px;height:64px}
  .pf-name{font-size:15.5px}
  .pf-posts{grid-template-columns:1fr}
  .pf-heroin{padding:0 14px 14px;margin-top:-34px}
}

/* 达人详情底部「聊一聊」次要按钮 */
.gd-pay .chat{height:40px;padding:0 20px;border-radius:10px;font-size:13px;font-weight:700;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.8);
  margin-left:auto;transition:.16s}
.gd-pay .chat:hover{background:rgba(255,107,126,.18);border-color:rgba(255,107,126,.42);color:#fff}
.gd-pay .go{margin-left:10px}
@media (max-width:900px){.gd-pay .chat{padding:0 14px;font-size:12.5px}}

/* ══════════════════════════════════════════════════════════
   R39 · 达人详情改为「资料卡（共用组件）+ 下单表单」
   ══════════════════════════════════════════════════════════ */
.gd{grid-template-columns:342px minmax(0,1fr)}
.gd-left{background:#161114;padding:12px 12px 18px}
.gd-left .pf-hero{margin-bottom:4px}
.gd-left .pf-cover{height:88px}
.gd-left .pf-heroin{padding:0 14px 14px;margin-top:-36px;gap:11px}
.gd-left .pf-ava{width:62px;height:62px}
.gd-left .pf-name{font-size:15px}
.gd-left .pf-bio{margin:0 14px 12px;font-size:11px;color:rgba(255,255,255,.5);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gd-left .pf-album{grid-template-columns:repeat(3,minmax(0,1fr))}
.gd-left .uc-sec{margin-top:14px}
.gd-left .uc-sec > .h{font-size:12px;margin-bottom:8px}
.gd-left .pf-posts{grid-template-columns:1fr;gap:8px}
.gd-left .pf-post .hd b{font-size:11.5px}
.gd-left .uc-row{grid-template-columns:76px 1fr;font-size:11.5px;padding:9px 12px}
.gd-left .pf-empty{padding:16px 12px}
.gd-left .pf-empty p{font-size:10.5px}
.gd-left::-webkit-scrollbar{width:6px}
.gd-left::-webkit-scrollbar-thumb{background:#33242A;border-radius:3px}

/* 右侧顶部一行指标（原 gd-head 的昵称/标签已并入左侧资料卡） */
.gd-head{padding:14px 22px 12px}
.gd-only-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11.5px;
  color:rgba(255,255,255,.45)}
.gd-only-meta .p{font-size:15px;font-weight:900;color:#FF8A9B;font-variant-numeric:tabular-nums}
.gd-only-meta .p i{font-size:10.5px;font-weight:600;font-style:normal;color:rgba(255,255,255,.4);margin-left:2px}
.gd-only-meta .on{color:#8FE8AE}
@media (max-width:900px){
  .gd{grid-template-columns:1fr}
  .gd-left{display:none}
  .gd-left .pf-album{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ══════════════════════════════════════════════════════════
   R40 · 全局会员昵称配色（唯一实现，所有出现昵称的地方都复用这两个类）
   VIP  → 纯红 #e0322f（与 App index.css .vip-name 一致）
   SVIP → 炫彩流光（同一套渐变与关键帧）
   ══════════════════════════════════════════════════════════ */
.nm-vip{color:#e0322f!important;text-shadow:0 0 10px rgba(224,50,47,.28)}
.nm-svip{color:#e0322f!important}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .nm-svip{background-image:linear-gradient(100deg,#b45cff 0%,#ff2e63 16.6%,#ffb02e 33.3%,
      #b45cff 50%,#ff2e63 66.6%,#ffb02e 83.3%,#b45cff 100%)!important;
    background-size:200% 100%;background-position:0% 50%;background-repeat:repeat;
    -webkit-background-clip:text!important;background-clip:text!important;
    -webkit-text-fill-color:transparent!important;color:transparent!important;
    animation:uc-name-flow 3.6s linear infinite}
  @media (prefers-reduced-motion:reduce){.nm-svip{animation:none}}
}

/* ══════════════════════════════════════════════════════════
   R40 · 大厅达人卡片：hover 露出「聊一聊 / 立即下单」
   ══════════════════════════════════════════════════════════ */
.card .hover-acts{position:absolute;left:8px;right:8px;bottom:70px;z-index:4;
  display:flex;gap:6px;opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity .18s ease,transform .18s cubic-bezier(.2,.7,.3,1)}
.card:hover .hover-acts,.card:focus-within .hover-acts{opacity:1;transform:none;pointer-events:auto}
.card .hover-acts button{flex:1;height:30px;border-radius:8px;font-size:11.5px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:.16s}
.card .hover-acts .hchat{background:rgba(255,255,255,.9);color:#3A1620;
  border:1px solid rgba(255,255,255,.7)}
.card .hover-acts .hchat:hover{background:#fff;transform:translateY(-1px)}
.card .hover-acts .horder{background:linear-gradient(135deg,#FF5C72,#FF8A9B);color:#fff;
  box-shadow:0 6px 16px rgba(255,92,114,.4)}
.card .hover-acts .horder:hover{filter:brightness(1.06);transform:translateY(-1px)}
/* 卡片昵称会员配色（.nm-vip/.nm-svip 覆盖 .card .row1 b 的白色） */
.card .row1 b.nm-vip,.card .row1 b.nm-svip{font-weight:800}

/* ══════════════════════════════════════════════════════════
   R40 · 首页右栏：会话列表限高，"世界大神"重新可见
   ══════════════════════════════════════════════════════════ */
#rightBody{padding:10px 10px 8px!important;align-items:stretch!important}
#rightBody .im-body{max-height:264px;overflow-y:auto;overflow-x:hidden}
#rightBody .im-body::-webkit-scrollbar{width:5px}
#rightBody .im-body::-webkit-scrollbar-thumb{background:#33242A;border-radius:3px}
#rightBody .im-ptabs{margin-bottom:6px}
