/*
 * RiPro 前端重写 · 账户 / 工具页 / 认证（Stage S5）
 * 作用域限定，仅重构表现，不改任何表单字段名/ID/action/nonce/AJAX 选择器/查询/业务函数。
 * 组件级换肤限定在 .mm-account（用户中心）、.mm-page（页面/工具页）、.mm-auth/.login-and-register（登录页），
 *   避免泄漏到 single/archive/home（它们使用各自的 .mm-* 组件）。
 * 工具页专属类（.archive-hero.text-center / .tag-item / .link-item 等）仅出现在这些页面，故全局换肤。
 */

/* ============ 用户中心布局 ============ */
.mm-account { padding-block: var(--mm-space-4) var(--mm-space-6); }
.mm-account__grid {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: start;
}
.mm-account__side { min-width: 0; }
.mm-account__body { min-width: 0; display: grid; gap: var(--mm-space-4); }
@media (max-width: 991.98px) {
  .mm-account__grid { grid-template-columns: 1fr; }
}

/* 侧栏用户名片 */
.mm-uc-card {
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  overflow: hidden;
  text-align: center;
  padding: var(--mm-space-5) var(--mm-space-4);
}
.mm-uc-card__avatar { width: 76px; height: 76px; border-radius: 50%; margin: 0 auto var(--mm-space-3); display: block; object-fit: cover; box-shadow: var(--mm-shadow-md); }
.mm-uc-card__name { font-size: var(--mm-fs-500); font-weight: var(--mm-fw-bold); color: var(--mm-ink); margin: 0 0 0.25rem; }
.mm-uc-card__login { color: var(--mm-ink-faint); font-size: var(--mm-fs-200); margin: 0 0 var(--mm-space-2); }
.mm-uc-card__sub { color: var(--mm-ink-faint); font-size: var(--mm-fs-100); }
.mm-uc-card__downs {
  margin-top: var(--mm-space-3);
  padding-top: var(--mm-space-3);
  border-top: var(--mm-border) solid var(--mm-line);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--mm-space-2);
  font-size: var(--mm-fs-100);
  color: var(--mm-ink-soft);
}
.mm-uc-card__downs b { color: var(--mm-accent); font-family: var(--mm-font-mono); }

/* 菜单（保留 .uc-menu-warp：slicknav 移动端克隆源） */
.uc-menu-warp {
  list-style: none;
  margin: var(--mm-space-4) 0 0;
  padding: var(--mm-space-2);
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  display: grid;
  gap: 2px;
}
.uc-menu-warp .menu-item a {
  display: flex;
  align-items: center;
  gap: 0.6em;
  padding: 0.7rem 0.9rem;
  border-radius: var(--mm-radius-sm);
  color: var(--mm-ink-soft);
  text-decoration: none;
  font-size: var(--mm-fs-300);
  font-weight: var(--mm-fw-medium);
  transition: background var(--mm-dur-1) var(--mm-ease), color var(--mm-dur-1) var(--mm-ease);
}
.uc-menu-warp .menu-item a:hover { background: var(--mm-surface-2); color: var(--mm-ink); }
/* 选中态：强制高对比白色文字/图标，覆盖全局链接色（红底蓝字问题修复） */
.uc-menu-warp .menu-item.current-menu-item > a,
.uc-menu-warp .menu-item.current-menu-item > a:link,
.uc-menu-warp .menu-item.current-menu-item > a:visited,
.uc-menu-warp .menu-item.current-menu-item > a:hover,
.uc-menu-warp .menu-item.current-menu-item > a:focus {
  background: var(--mm-accent);
  color: #fff !important;
  box-shadow: var(--mm-shadow-accent);
}
.uc-menu-warp .menu-item.current-menu-item > a i { color: #fff !important; }
.uc-menu-warp .menu-item a i { width: 1.2em; text-align: center; }

/* ============ 组件级换肤（限 .mm-account / .mm-page） ============ */
.mm-account .card,
.mm-page .card {
  position: relative;
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  padding: clamp(1rem, 2.5vw, 1.75rem);
  box-shadow: var(--mm-shadow-sm);
  overflow: visible;
}
.mm-account .card .card,
.mm-page .card .card { box-shadow: none; }
.mm-account .card-header,
.mm-page .card-header {
  padding: 0 0 var(--mm-space-3);
  margin-bottom: var(--mm-space-3);
  border-bottom: var(--mm-border) solid var(--mm-line);
  background: transparent;
}
.mm-account .card-header h5,
.mm-page .card-header h5 { color: var(--mm-ink); font-weight: var(--mm-fw-bold); }
.mm-account .card-body,
.mm-page .card-body { padding: 0; }

/* 统计小卡（bg-<color> bg-opacity-25） */
.mm-account .card .card,
.mm-page .card .card { border-radius: var(--mm-radius-md); padding: var(--mm-space-4); }

/* 表单控件 */
.mm-account .form-label,
.mm-page .form-label,
.mm-auth .form-label { color: var(--mm-ink-soft); font-size: var(--mm-fs-200); font-weight: var(--mm-fw-medium); margin-bottom: 0.4rem; }
.mm-account .form-control,
.mm-account .form-select,
.mm-page .form-control,
.mm-page .form-select,
.mm-auth .form-control {
  width: 100%;
  min-height: 46px;
  padding: 0.55rem 0.9rem;
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line-strong);
  border-radius: var(--mm-radius-md);
  color: var(--mm-ink);
  font-size: var(--mm-fs-300);
  outline: none;
  transition: border-color var(--mm-dur-1) var(--mm-ease), box-shadow var(--mm-dur-1) var(--mm-ease);
}
.mm-account .form-control:focus,
.mm-account .form-select:focus,
.mm-page .form-control:focus,
.mm-page .form-select:focus,
.mm-auth .form-control:focus { border-color: var(--mm-accent); box-shadow: 0 0 0 3px var(--mm-accent-soft); }
.mm-account textarea.form-control,
.mm-page textarea.form-control { min-height: auto; }
.mm-account .form-control:disabled,
.mm-page .form-control:disabled { background: var(--mm-surface-2); color: var(--mm-ink-faint); }
.mm-account .input-group,
.mm-page .input-group,
.mm-auth .input-group { display: flex; align-items: stretch; }
.mm-account .input-group .form-control,
.mm-page .input-group .form-control { flex: 1 1 auto; }
.mm-account .input-group-text,
.mm-page .input-group-text {
  display: inline-flex;
  align-items: center;
  padding: 0 0.9rem;
  background: var(--mm-surface-2);
  border: var(--mm-border) solid var(--mm-line-strong);
  color: var(--mm-ink-soft);
  font-size: var(--mm-fs-200);
}
.mm-account .form-check-input,
.mm-page .form-check-input,
.mm-auth .form-check-input { accent-color: var(--mm-accent); }
.mm-account .form-check-label,
.mm-page .form-check-label { color: var(--mm-ink-soft); font-size: var(--mm-fs-300); }

/* 按钮映射（保留 Bootstrap 颜色类名，映射到品牌令牌） */
.mm-account .btn,
.mm-page .btn,
.mm-auth .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  min-height: 42px;
  padding: 0.5rem 1.25rem;
  border: var(--mm-border) solid transparent;
  border-radius: var(--mm-radius-pill);
  font-size: var(--mm-fs-300);
  font-weight: var(--mm-fw-bold);
  cursor: pointer;
  text-decoration: none;
  transition: filter var(--mm-dur-1) var(--mm-ease), transform var(--mm-dur-1) var(--mm-ease), background var(--mm-dur-1) var(--mm-ease);
}
.mm-account .btn:hover,
.mm-page .btn:hover,
.mm-auth .btn:hover { transform: translateY(-1px); }
.mm-account .btn-primary, .mm-page .btn-primary, .mm-auth .btn-primary,
.mm-account .btn-info, .mm-page .btn-info { background: var(--mm-accent); border-color: var(--mm-accent); color: var(--mm-accent-ink); box-shadow: var(--mm-shadow-accent); }
.mm-account .btn-dark, .mm-page .btn-dark, .mm-auth .btn-dark { background: var(--mm-ink); border-color: var(--mm-ink); color: var(--mm-surface); }
.mm-account .btn-danger, .mm-page .btn-danger, .mm-auth .btn-danger { background: var(--mm-danger); border-color: var(--mm-danger); color: #fff; }
.mm-account .btn-success, .mm-page .btn-success, .mm-auth .btn-success { background: var(--mm-success); border-color: var(--mm-success); color: #fff; }
.mm-account .btn-outline-info, .mm-account .btn-outline-secondary,
.mm-page .btn-outline-info, .mm-page .btn-outline-secondary { background: transparent; border-color: var(--mm-line-strong); color: var(--mm-ink-soft); box-shadow: none; }
.mm-account .btn-outline-info:hover, .mm-page .btn-outline-info:hover { border-color: var(--mm-accent); color: var(--mm-accent); }
.mm-account [class*="btn-"][class*="-soft"],
.mm-page [class*="btn-"][class*="-soft"] { background: var(--mm-surface-2); color: var(--mm-ink); border-color: transparent; box-shadow: none; }
.mm-account .btn-link, .mm-page .btn-link, .mm-auth .btn-link { background: transparent; border: none; box-shadow: none; color: var(--mm-accent); min-height: auto; padding: 0; }

/* 列表组 */
.mm-account .list-group,
.mm-page .list-group { display: grid; gap: var(--mm-space-2); }
.mm-account .list-group-item,
.mm-page .list-group-item {
  padding: var(--mm-space-3);
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-md);
  color: var(--mm-ink-soft);
  font-size: var(--mm-fs-200);
}
.mm-account a.list-group-item-action:hover,
.mm-page a.list-group-item-action:hover { border-color: var(--mm-accent); box-shadow: var(--mm-shadow-sm); }
.mm-account .list-group-item h6,
.mm-page .list-group-item h6 { color: var(--mm-ink); }
.mm-account .list-group-numbered,
.mm-page .list-group-numbered { list-style: decimal inside; }

/* 徽章 */
.mm-account .badge,
.mm-page .badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25em 0.7em;
  border-radius: var(--mm-radius-pill);
  font-size: var(--mm-fs-100);
  font-weight: var(--mm-fw-bold);
}

/* 表格 */
.mm-account .table,
.mm-page .table { width: 100%; border-collapse: collapse; font-size: var(--mm-fs-200); color: var(--mm-ink); }
.mm-account .table th, .mm-account .table td,
.mm-page .table th, .mm-page .table td { padding: 0.6rem 0.8rem; border-bottom: var(--mm-border) solid var(--mm-line); text-align: start; }
.mm-account .table th, .mm-page .table th { color: var(--mm-ink-soft); font-weight: var(--mm-fw-bold); }

/* 头像 */
.mm-account .avatar-img { border-radius: 50%; object-fit: cover; }
.mm-account .avatar-xl .avatar-img { width: 64px; height: 64px; }
.mm-account .avatar-sm .avatar-img, .mm-account .avatar-xs .avatar-img { width: 30px; height: 30px; }

/* 余额 / 签到 */
.coin-balance-body { position: relative; }
.balance-info { text-align: center; }
.balance-info .fs-2 { color: var(--mm-accent); font-family: var(--mm-font-mono); font-weight: var(--mm-fw-black); }
.balance-qiandao { position: absolute; top: var(--mm-space-3); inset-inline-end: var(--mm-space-3); }

/* ============ 认证页（登录 / 注册 / 找回） ============ */
.login-and-register {
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--mm-space-4);
  background-color: var(--mm-bg);
  background-size: cover;
  background-position: center;
}
/* 图片背景：叠加纸色渐变压暗 + 微弱口音，保证卡片可读（vanta 动态背景不叠加） */
.login-and-register.bg-type-img::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(var(--mm-bg-rgb), 0.5), rgba(var(--mm-bg-rgb), 0.8)),
    radial-gradient(120% 120% at 50% 0%, rgba(var(--mm-accent-rgb), 0.14), transparent 60%);
  pointer-events: none;
}
.mm-auth {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 440px;
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  box-shadow: var(--mm-shadow-lg);
  padding: clamp(1.5rem, 4vw, 2.5rem);
}
.mm-auth__logo { display: block; text-align: center; margin-bottom: var(--mm-space-4); }
.mm-auth__logo img { max-height: 52px; width: auto; }
/* S9 认证页精修：卡片顶部口音条 + 移动端顶部对齐（避免注册长表单在小屏被垂直居中裁切）。结构/字段/AJAX 契约不变。 */
.mm-auth::before {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 0 auto var(--mm-space-4);
  border-radius: var(--mm-radius-pill);
  background: var(--mm-accent);
}
@media (max-width: 575.98px) {
  .login-and-register {
    align-items: flex-start;
    padding: clamp(2rem, 12vh, 4rem) var(--mm-space-3) var(--mm-space-4);
  }
  .mm-auth { padding: var(--mm-space-4); }
}
.account-from .form-label a { float: right; font-size: var(--mm-fs-100); }
.account-from .mb-3 { margin-bottom: var(--mm-space-3); }
.account-from button[type="submit"],
.account-from #click-submit {
  width: 100%;
  min-height: 48px;
  border: none;
  border-radius: var(--mm-radius-pill);
  background: var(--mm-accent);
  color: var(--mm-accent-ink);
  font-weight: var(--mm-fw-bold);
  font-size: var(--mm-fs-400);
  cursor: pointer;
  box-shadow: var(--mm-shadow-accent);
}
.account-from #captcha-img,
.mm-cdk-captcha { height: 46px; width: auto; min-width: 110px; border-radius: var(--mm-radius-md); cursor: pointer; object-fit: cover; }
.account-from hr { border-color: var(--mm-line); }
.account-from a { color: var(--mm-accent); }
/* 弹窗登录（ri.popup 里的 .account-from 无 .mm-auth 祖先，单独覆盖表单控件） */
.account-from .form-control,
.account-from .form-select {
  width: 100%;
  min-height: 46px;
  padding: 0.55rem 0.9rem;
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line-strong);
  border-radius: var(--mm-radius-md);
  color: var(--mm-ink);
  font-size: var(--mm-fs-300);
  outline: none;
}
.account-from .form-control:focus,
.account-from .form-select:focus { border-color: var(--mm-accent); box-shadow: 0 0 0 3px var(--mm-accent-soft); }
.account-from .form-label { color: var(--mm-ink-soft); font-size: var(--mm-fs-200); font-weight: var(--mm-fw-medium); }
.account-from .input-group { display: flex; align-items: stretch; gap: 0; }
.account-from .input-group .form-control { flex: 1 1 auto; }
.account-from .btn-outline-info { background: transparent; border: var(--mm-border) solid var(--mm-line-strong); color: var(--mm-ink-soft); border-radius: var(--mm-radius-md); padding-inline: 0.9rem; }
.account-from .btn-info, .account-from .btn-success { display: inline-flex; align-items: center; gap: 0.35em; padding: 0.4rem 0.9rem; border-radius: var(--mm-radius-pill); color: #fff; }
.account-from .btn-info { background: var(--mm-info); }
.account-from .btn-success { background: var(--mm-success); }

/* ============ 工具页 Hero（vip-prices / tags / links） ============ */
.archive-hero.text-center {
  position: relative;
  overflow: hidden;
  background: var(--mm-surface-2);
  border-bottom: var(--mm-border) solid var(--mm-line);
  text-align: center;
}
.archive-hero.text-center .archive-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.06);
  filter: saturate(0.9);
}
.archive-hero.text-center .archive-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(var(--mm-bg-rgb), 0.4), rgba(var(--mm-bg-rgb), 0.9) 90%);
}
.archive-hero.text-center .container { position: relative; z-index: 2; }
.archive-hero .archive-title {
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-800);
  font-weight: var(--mm-fw-black);
  letter-spacing: -0.02em;
  color: var(--mm-ink);
  margin: 0;
}
.archive-hero .archive-title i { color: var(--mm-accent); }
.archive-hero .archive-desc { color: var(--mm-ink-soft); font-size: var(--mm-fs-300); margin-top: var(--mm-space-2); }

/* 通用区块标题（tags 排序等） */
.section-title { text-align: center; margin-bottom: var(--mm-space-5); }
.section-title h3 { font-family: var(--mm-font-display); font-weight: var(--mm-fw-black); color: var(--mm-ink); }

/* 标签云卡片 */
.tag-item, .link-item {
  display: block;
  height: 100%;
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-md);
  text-decoration: none;
  transition: transform var(--mm-dur-1) var(--mm-ease), border-color var(--mm-dur-1) var(--mm-ease), box-shadow var(--mm-dur-1) var(--mm-ease);
}
.tag-item:hover, .link-item:hover { transform: translateY(-3px); border-color: var(--mm-line-strong); box-shadow: var(--mm-shadow-md); }
.tag-substr, .link-img {
  flex: none;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: var(--mm-radius-sm);
  background-size: cover;
  background-position: center;
  font-weight: var(--mm-fw-black);
  font-size: var(--mm-fs-500);
  color: var(--mm-accent);
}
.tag-item b, .link-item b { color: var(--mm-ink); }
.tag-item .text-muted, .link-item .text-muted { color: var(--mm-ink-faint) !important; }

/* 网址导航分类标题 */
.links-page-warp + h2, section h2.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}

/* ============ 投稿 tougao 专属 ============ */
.mm-page .tougao_thumbnail {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 10;
  border: 1px dashed var(--mm-line-strong);
  border-radius: var(--mm-radius-md);
  background: var(--mm-surface-2);
  color: var(--mm-ink-faint);
  overflow: hidden;
  cursor: pointer;
}
.mm-page .tougao_thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.mm-page .meta-input-item-add,
.mm-page .meta-input-item-remove { cursor: pointer; color: var(--mm-accent); }
.mm-page .meta-input-item-add { border-style: dashed !important; }
.mm-page .sidebar .widget {
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  padding: var(--mm-space-4);
}
.mm-page .widget-title { font-size: var(--mm-fs-400); font-weight: var(--mm-fw-bold); color: var(--mm-ink); margin-bottom: var(--mm-space-3); }

/* ============ 页面（page.php）正文 ============ */
.mm-page .article-header .post-title {
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-700);
  font-weight: var(--mm-fw-black);
  color: var(--mm-ink);
  word-break: break-word;
}
.mm-page .single-page-link {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mm-space-2);
  margin-top: var(--mm-space-5);
  padding-top: var(--mm-space-4);
  border-top: var(--mm-border) solid var(--mm-line);
  align-items: center;
}
.mm-page .single-page-link a,
.mm-page .single-page-link > span:not(.post-page-numbers) {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 0.6rem;
  border-radius: var(--mm-radius-sm); background: var(--mm-surface-2);
  color: var(--mm-ink-soft); text-decoration: none; font-family: var(--mm-font-mono);
}
.mm-page .post-page-numbers { color: var(--mm-ink-faint); font-size: var(--mm-fs-200); }

/* ============ 404 ============ */
.mm-404 { text-align: center; padding: clamp(3rem, 12vw, 7rem) 1rem; }
.mm-404__code {
  font-family: var(--mm-font-display);
  font-size: clamp(4rem, 18vw, 9rem);
  font-weight: var(--mm-fw-black);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--mm-accent);
}
.mm-404__title { font-size: var(--mm-fs-600); font-weight: var(--mm-fw-bold); color: var(--mm-ink); margin: var(--mm-space-3) 0 var(--mm-space-2); }
.mm-404__desc { color: var(--mm-ink-soft); margin-bottom: var(--mm-space-5); }
.mm-404__btn {
  display: inline-flex; align-items: center; gap: 0.4em;
  padding: 0.7rem 1.75rem; border-radius: var(--mm-radius-pill);
  background: var(--mm-accent); color: var(--mm-accent-ink);
  text-decoration: none; font-weight: var(--mm-fw-bold); box-shadow: var(--mm-shadow-accent);
}

/* ============ 账户组件（面板 / 磁贴 / 记录 / 表单） ============ */
.mm-panel {
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  padding: clamp(1rem, 2.5vw, 1.75rem);
  box-shadow: var(--mm-shadow-sm);
}
.mm-panel + .mm-panel { margin-top: var(--mm-space-4); }
.mm-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--mm-space-2) var(--mm-space-3);
  padding-bottom: var(--mm-space-3);
  margin-bottom: var(--mm-space-4);
  border-bottom: var(--mm-border) solid var(--mm-line);
}
.mm-panel__title {
  margin: 0;
  font-family: var(--mm-font-display);
  font-weight: var(--mm-fw-black);
  font-size: var(--mm-fs-500);
  color: var(--mm-ink);
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
}
.mm-panel__title i { color: var(--mm-accent); }
.mm-panel__sub {
  margin: var(--mm-space-4) 0 var(--mm-space-2);
  color: var(--mm-ink-faint);
  font-size: var(--mm-fs-200);
  font-weight: var(--mm-fw-medium);
  letter-spacing: 0.02em;
}
.mm-panel__actions { display: flex; flex-wrap: wrap; gap: var(--mm-space-2); }

/* 顶部小标签链接（投稿筛选、工单标签导航） */
.mm-subnav { display: flex; flex-wrap: wrap; gap: var(--mm-space-3); margin-top: var(--mm-space-2); }
.mm-subnav a { color: var(--mm-ink-faint); text-decoration: none; font-size: var(--mm-fs-200); display: inline-flex; align-items: center; gap: 0.35em; }
.mm-subnav a.is-active, .mm-subnav a:hover { color: var(--mm-accent); }

/* 统计磁贴 */
.mm-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--mm-space-3); }
.mm-stat {
  padding: var(--mm-space-4);
  border-radius: var(--mm-radius-md);
  background: var(--mm-surface-2);
  border: var(--mm-border) solid var(--mm-line);
  text-align: center;
}
.mm-stat__value { font-family: var(--mm-font-mono); font-weight: var(--mm-fw-black); font-size: var(--mm-fs-600); line-height: 1.1; color: var(--mm-ink); }
.mm-stat__label { display: block; margin-top: 0.35rem; color: var(--mm-ink-soft); font-size: var(--mm-fs-200); }
.mm-stat--accent .mm-stat__value { color: var(--mm-accent); }
.mm-stat--gold .mm-stat__value { color: var(--mm-gold); }
.mm-stat--success .mm-stat__value { color: var(--mm-success); }
.mm-stat--info .mm-stat__value { color: var(--mm-info); }
@media (max-width: 575.98px) { .mm-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 记录列表（订单 / 下载 / 佣金 / 工单） */
.mm-record { display: grid; gap: var(--mm-space-2); }
.mm-record__item {
  display: block;
  padding: var(--mm-space-3) var(--mm-space-4);
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-md);
  color: var(--mm-ink-soft);
  text-decoration: none;
  transition: border-color var(--mm-dur-1) var(--mm-ease), box-shadow var(--mm-dur-1) var(--mm-ease);
}
a.mm-record__item:hover { border-color: var(--mm-accent); box-shadow: var(--mm-shadow-sm); }
.mm-record__top { display: flex; justify-content: space-between; gap: var(--mm-space-2); flex-wrap: wrap; align-items: baseline; }
.mm-record__title { margin: 0; color: var(--mm-ink); font-weight: var(--mm-fw-bold); font-size: var(--mm-fs-300); word-break: break-word; }
.mm-record__time { color: var(--mm-ink-faint); font-size: var(--mm-fs-100); flex: none; }
.mm-record__meta { display: flex; flex-wrap: wrap; gap: 0.15rem var(--mm-space-3); margin-top: 0.35rem; color: var(--mm-ink-faint); font-size: var(--mm-fs-100); }
.mm-record__meta b { color: var(--mm-accent); font-family: var(--mm-font-mono); }

/* 状态标记 */
.mm-tag { display: inline-flex; align-items: center; padding: 0.2em 0.7em; border-radius: var(--mm-radius-pill); font-size: var(--mm-fs-100); font-weight: var(--mm-fw-bold); background: var(--mm-surface-2); color: var(--mm-ink-soft); }
.mm-tag--success { background: rgba(47, 158, 95, 0.14); color: var(--mm-success); }
.mm-tag--danger { background: rgba(209, 70, 47, 0.14); color: var(--mm-danger); }
.mm-tag--dark { background: var(--mm-ink); color: var(--mm-surface); }
.mm-tag--muted { background: var(--mm-surface-2); color: var(--mm-ink-faint); }

/* 表单 */
.mm-form { display: grid; gap: var(--mm-space-4); }
.mm-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mm-space-4); }
.mm-field { display: grid; gap: 0.4rem; min-width: 0; }
.mm-field--full { grid-column: 1 / -1; }
.mm-field__label { color: var(--mm-ink-soft); font-size: var(--mm-fs-200); font-weight: var(--mm-fw-medium); }
.mm-field__label a { float: right; font-size: var(--mm-fs-100); }
.mm-form__actions { display: flex; justify-content: flex-end; gap: var(--mm-space-2); grid-column: 1 / -1; }
@media (max-width: 575.98px) { .mm-form-grid { grid-template-columns: 1fr; } }

/* 头像上传 */
.mm-avatar-edit { display: flex; align-items: center; gap: var(--mm-space-4); margin-bottom: var(--mm-space-4); }
.mm-avatar-edit__img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; box-shadow: var(--mm-shadow-md); }

/* 说明列表 */
.mm-guide { list-style: none; counter-reset: mmg; margin: 0; padding: 0; display: grid; gap: var(--mm-space-2); }
.mm-guide li { position: relative; padding-inline-start: 2em; color: var(--mm-ink-soft); font-size: var(--mm-fs-200); line-height: var(--mm-lh-snug); counter-increment: mmg; }
.mm-guide li::before {
  content: counter(mmg);
  position: absolute;
  inset-inline-start: 0;
  top: 0.05em;
  width: 1.4em;
  height: 1.4em;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mm-accent-soft);
  color: var(--mm-accent);
  font-size: 0.75em;
  font-weight: var(--mm-fw-bold);
}

/* 余额 / 签到 */
.mm-balance { position: relative; text-align: center; padding: var(--mm-space-5) var(--mm-space-4); }
.mm-balance__label { color: var(--mm-ink-soft); font-size: var(--mm-fs-300); }
.mm-balance__value { font-family: var(--mm-font-mono); font-weight: var(--mm-fw-black); color: var(--mm-accent); font-size: var(--mm-fs-800); line-height: 1.1; margin-top: var(--mm-space-2); }
.mm-balance__qiandao { position: absolute; top: var(--mm-space-3); inset-inline-end: var(--mm-space-3); }
.mm-balance__qiandao a { display: inline-flex; align-items: center; gap: 0.35em; padding: 0.35rem 0.9rem; border-radius: var(--mm-radius-pill); background: var(--mm-accent-soft); color: var(--mm-accent); text-decoration: none; font-size: var(--mm-fs-200); font-weight: var(--mm-fw-bold); }

/* 推广链接 */
.mm-aff-link { text-align: center; padding: var(--mm-space-4); margin-bottom: var(--mm-space-4); }
.mm-aff-link__label { color: var(--mm-ink-soft); font-size: var(--mm-fs-300); margin-bottom: var(--mm-space-2); }
.mm-aff-link__url {
  display: inline-block;
  max-width: 100%;
  padding: 0.6rem 1.2rem;
  border-radius: var(--mm-radius-pill);
  border: 1px dashed var(--mm-accent);
  background: var(--mm-accent-soft);
  color: var(--mm-accent);
  font-weight: var(--mm-fw-bold);
  word-break: break-all;
}
.mm-aff-refs { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.mm-aff-refs img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }

/* 投稿管理卡 */
.mm-tougao-item {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: var(--mm-space-3);
  padding: var(--mm-space-3);
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-md);
}
.mm-tougao-item__cover { position: relative; border-radius: var(--mm-radius-sm); overflow: hidden; aspect-ratio: 3 / 2; background: var(--mm-surface-sunken); }
.mm-tougao-item__cover img, .mm-tougao-item__cover .mm-fleet-cover { width: 100%; height: 100%; object-fit: cover; }
.mm-tougao-item__body { min-width: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.mm-tougao-item__title { margin: 0; font-size: var(--mm-fs-400); font-weight: var(--mm-fw-bold); }
.mm-tougao-item__title a { color: var(--mm-ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mm-tougao-item__meta { display: flex; flex-wrap: wrap; gap: 0.15rem var(--mm-space-3); margin-top: auto; color: var(--mm-ink-faint); font-size: var(--mm-fs-100); }
.mm-tougao-item__meta a { text-decoration: none; }
.mm-tougao-item__meta .text-info { color: var(--mm-info); }
.mm-tougao-item__meta .text-danger { color: var(--mm-danger); }
@media (max-width: 400px) { .mm-tougao-item { grid-template-columns: 96px minmax(0, 1fr); } }

/* 工单详情气泡 */
.mm-ticket-bubble { padding: var(--mm-space-3) var(--mm-space-4); border-radius: var(--mm-radius-md); background: var(--mm-surface-2); color: var(--mm-ink-soft); }
.mm-ticket-bubble--reply { background: rgba(47, 158, 95, 0.12); }
.mm-ticket-byline { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; color: var(--mm-ink-faint); font-size: var(--mm-fs-100); margin-bottom: var(--mm-space-2); }
.mm-ticket-byline img { width: 26px; height: 26px; border-radius: 50%; }

/* ============ 评论 ============ */
.mm-comments {
  margin-top: var(--mm-space-6);
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  padding: clamp(1rem, 3vw, 2rem);
  scroll-margin-top: calc(72px + var(--mm-sticky-top, 0px) + 12px);
}
.mm-comments__title { display: flex; align-items: center; gap: 0.4em; margin: 0 0 var(--mm-space-4); font-family: var(--mm-font-display); font-size: var(--mm-fs-500); font-weight: var(--mm-fw-black); color: var(--mm-ink); }
.mm-comments__title i { color: var(--mm-accent); }
.mm-comment-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mm-space-2); }
@media (max-width: 575.98px) { .mm-comment-fields { grid-template-columns: 1fr; } }
.mm-comments input[type="text"], .mm-comments input[type="email"], .mm-comments input[type="url"], .mm-comments textarea {
  width: 100%;
  padding: 0.65rem 1rem;
  background: var(--mm-surface-2);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-md);
  color: var(--mm-ink);
  outline: none;
  font-family: inherit;
}
.mm-comments input:focus, .mm-comments textarea:focus { border-color: var(--mm-accent); box-shadow: 0 0 0 3px var(--mm-accent-soft); }
.mm-comments .comment-form-comment { margin-top: var(--mm-space-2); }
.mm-comments .form-submit { margin-top: var(--mm-space-3); }
.mm-comments .form-submit .submit, .mm-comments input.submit {
  min-height: 44px; padding: 0.5rem 1.75rem; border: none; border-radius: var(--mm-radius-pill);
  background: var(--mm-accent); color: var(--mm-accent-ink); font-weight: var(--mm-fw-bold); cursor: pointer;
}
.mm-comments .must-log-in, .mm-comments .logged-in-as { color: var(--mm-ink-soft); font-size: var(--mm-fs-200); }
.mm-comments .comments-list { list-style: none; margin: var(--mm-space-5) 0 0; padding: 0; }
.mm-comments .comments-list ul.children { list-style: none; margin: 0; padding-inline-start: var(--mm-space-4); }
.mm-comments .comment-body { padding: var(--mm-space-3) 0; border-bottom: var(--mm-border) solid var(--mm-line); }
.mm-comments .comment-author { display: flex; align-items: center; gap: var(--mm-space-2); color: var(--mm-ink); font-weight: var(--mm-fw-medium); }
.mm-comments .comment-author .avatar { border-radius: 50%; }
.mm-comments .comment-meta { color: var(--mm-ink-faint); font-size: var(--mm-fs-100); }
.mm-comments .comment-content { margin-top: var(--mm-space-2); color: var(--mm-ink-soft); font-size: var(--mm-fs-300); line-height: var(--mm-lh-body); word-break: break-word; }
.mm-comments .comment-reply-link { color: var(--mm-accent); text-decoration: none; font-size: var(--mm-fs-100); }
.mm-comments .comments-nav { margin-top: var(--mm-space-4); display: flex; flex-direction: column; align-items: center; gap: var(--mm-space-3); }
.mm-comments .comments-pagination { display: flex; flex-wrap: wrap; gap: var(--mm-space-1); justify-content: center; }
.mm-comments .comments-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 0.6rem;
  border-radius: var(--mm-radius-sm); background: var(--mm-surface-2); border: var(--mm-border) solid var(--mm-line);
  color: var(--mm-ink-soft); text-decoration: none; font-family: var(--mm-font-mono);
}
.mm-comments .comments-pagination .page-numbers.current { background: var(--mm-accent); color: var(--mm-accent-ink); border-color: var(--mm-accent); }

/* ============ Instagram 图片墙（新设计系统换肤，保留 .ig-* / #ig* 钩子） ============ */
#ig-wall { width: 100%; position: relative; }
.ig-grid { column-count: 4; column-gap: var(--mm-space-2); width: 100%; }
.ig-item {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  break-inside: avoid;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  margin: 0 0 var(--mm-space-2);
  border-radius: var(--mm-radius-md);
  background: var(--mm-surface-sunken);
  box-shadow: var(--mm-shadow-sm);
}
.ig-item img { display: block; width: 100%; height: auto; transition: transform var(--mm-dur-3) var(--mm-ease-out); }
.ig-item:hover img { transform: scale(1.05); }
.ig-overlay {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 2.5rem 0.75rem 0.75rem;
  background: linear-gradient(to top, rgba(8, 7, 5, 0.85) 0%, rgba(8, 7, 5, 0.35) 45%, transparent 100%);
  color: #fff; opacity: 0; transition: opacity var(--mm-dur-2) var(--mm-ease); pointer-events: none;
}
.ig-item:hover .ig-overlay { opacity: 1; }
.ig-title { font-size: var(--mm-fs-100); font-weight: var(--mm-fw-bold); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 0.25rem; }
.ig-views { font-size: 0.6875rem; display: flex; align-items: center; gap: 4px; opacity: 0.9; }
.ig-loading, .ig-end-msg { text-align: center; padding: var(--mm-space-4) 0; font-size: var(--mm-fs-200); color: var(--mm-ink-faint); display: none; }
.ig-current-cat {
  display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: var(--mm-space-2);
  padding: var(--mm-space-3); margin-bottom: var(--mm-space-3);
  background: var(--mm-surface); border: var(--mm-border) solid var(--mm-line); border-radius: var(--mm-radius-md);
  color: var(--mm-ink-soft); font-size: var(--mm-fs-200);
}
.ig-current-cat span { font-weight: var(--mm-fw-bold); color: var(--mm-ink); }
.ig-current-cat a { display: inline-flex; align-items: center; padding: 0.25rem 0.75rem; border-radius: var(--mm-radius-pill); background: var(--mm-surface-2); color: var(--mm-ink-soft); text-decoration: none; }
.ig-current-cat a:hover { color: var(--mm-accent); }
#ig-gate {
  position: fixed; bottom: 0; left: 0; right: 0; height: 52vh; z-index: 200;
  background: linear-gradient(to bottom, transparent 0%, rgba(var(--mm-bg-rgb), 0.96) 48%);
  display: flex; align-items: flex-end; justify-content: center; padding-bottom: 48px;
  opacity: 0; transform: translateY(100%); transition: opacity 0.4s, transform 0.4s; pointer-events: none;
}
#ig-gate.show { opacity: 1; transform: translateY(0); pointer-events: all; }
.ig-gate-inner { text-align: center; padding: 0 20px; }
.ig-gate-inner p { font-size: var(--mm-fs-400); font-weight: var(--mm-fw-bold); margin-bottom: var(--mm-space-3); color: var(--mm-ink); }
.ig-gate-inner .login-btn {
  display: inline-flex; align-items: center; gap: 0.4em; padding: 0.7rem 1.75rem;
  border-radius: var(--mm-radius-pill); background: var(--mm-accent); color: var(--mm-accent-ink);
  text-decoration: none; font-weight: var(--mm-fw-bold); box-shadow: var(--mm-shadow-accent);
}
@media (max-width: 991.98px) { .ig-grid { column-count: 3; } }
@media (max-width: 575.98px) { .ig-grid { column-count: 2; } }

/* ============ 侧栏小工具（作者 / 排行 / 文章列表） ============ */
.mm-author { text-align: center; }
.mm-author__head { display: flex; align-items: center; gap: var(--mm-space-3); text-align: start; }
.mm-author__avatar { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; box-shadow: var(--mm-shadow-sm); flex: none; }
.mm-author__name { display: block; font-weight: var(--mm-fw-bold); color: var(--mm-ink); font-size: var(--mm-fs-400); }
.mm-author__lv { display: block; color: var(--mm-ink-faint); font-size: var(--mm-fs-100); }
.mm-author__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mm-space-2); margin: var(--mm-space-4) 0; }
.mm-author__stats > div { display: flex; flex-direction: column; padding: var(--mm-space-2); background: var(--mm-surface-2); border-radius: var(--mm-radius-sm); }
.mm-author__stats b { color: var(--mm-ink); font-family: var(--mm-font-mono); font-size: var(--mm-fs-400); }
.mm-author__stats span { color: var(--mm-ink-faint); font-size: var(--mm-fs-100); }
.mm-author__more { display: inline-block; color: var(--mm-accent); text-decoration: none; font-size: var(--mm-fs-200); font-weight: var(--mm-fw-medium); }

.mm-rank { display: grid; gap: var(--mm-space-1); }
.mm-rank__item { display: flex; align-items: center; gap: var(--mm-space-3); padding: 0.5rem 0.25rem; text-decoration: none; border-radius: var(--mm-radius-sm); transition: background var(--mm-dur-1) var(--mm-ease); }
.mm-rank__item:hover { background: var(--mm-surface-2); }
.mm-rank__num { flex: none; width: 24px; height: 24px; display: grid; place-items: center; border-radius: var(--mm-radius-xs); background: var(--mm-surface-2); color: var(--mm-ink-faint); font-family: var(--mm-font-mono); font-weight: var(--mm-fw-bold); font-size: var(--mm-fs-100); }
.mm-rank__num--top { background: var(--mm-accent); color: var(--mm-accent-ink); }
.mm-rank__title { min-width: 0; color: var(--mm-ink-soft); font-size: var(--mm-fs-200); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.mm-rank__item:hover .mm-rank__title { color: var(--mm-accent); }

.mm-sidelist { display: grid; gap: var(--mm-space-3); }
.mm-sidelist__item { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: var(--mm-space-3); align-items: center; }
.mm-sidelist__cover { position: relative; display: block; aspect-ratio: 3 / 2; border-radius: var(--mm-radius-sm); overflow: hidden; background: var(--mm-surface-sunken); }
.mm-sidelist__cover img, .mm-sidelist__cover .mm-fleet-cover { width: 100%; height: 100%; object-fit: cover; }
.mm-sidelist__title { margin: 0; font-size: var(--mm-fs-300); font-weight: var(--mm-fw-medium); }
.mm-sidelist__title a { color: var(--mm-ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mm-sidelist__title a:hover { color: var(--mm-accent); }

/* ============ 响应式 / 减弱动效 ============ */
@media (max-width: 575.98px) {
  .mm-account .card, .mm-page .card { padding: var(--mm-space-4); }
  .mm-panel { padding: var(--mm-space-4); }
}
@media (prefers-reduced-motion: reduce) {
  .archive-hero.text-center .archive-hero-bg { transform: none; }
  .tag-item:hover, .link-item:hover,
  .mm-account .btn:hover, .mm-page .btn:hover, .mm-auth .btn:hover { transform: none; }
}

/* ============================================================
 * S17 · Meimo 品牌登录/注册换肤层（CSS-only）
 * 认证页左下角吉祥物装饰（mascot-login），置于卡片下层不遮挡表单；
 * 品牌面板顶部维持既有品红口音条。装饰 <992px 隐藏保证移动端干净。
 * 静态无动画，尊重 prefers-reduced-motion。
 * ============================================================ */
.login-and-register::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: clamp(200px, 24vw, 340px);
  height: clamp(240px, 42vh, 460px);
  background: url(../images/meimo-brand/mascot-login-transparent-v1.webp) no-repeat left bottom;
  background-size: contain;
  opacity: 0.85;
  pointer-events: none;
  filter: drop-shadow(0 12px 30px rgba(0, 0, 0, 0.35));
}
@media (max-width: 991.98px) {
  .login-and-register::before { display: none; }
}
