/**
 * 框架自带模块视觉统一覆写样式（PC端）
 * 覆写登录注册、个人中心、短消息、积分等页面
 * 主色调 #009fe8（渐变 #4cbaee → #009fe8）与设计稿统一
 */

/* ============================
   CSS 变量定义
   ============================ */
:root {
  --dz-primary: #009fe8;
  --dz-primary-start: #4cbaee;
  --dz-primary-end: #009fe8;
  --dz-primary-hover: #0088cc;
  --dz-primary-light: #e6f7ff;
  --dz-text-primary: #282828;
  --dz-text-secondary: #666;
  --dz-text-muted: #999;
  --dz-border: #e6e6e6;
  --dz-bg-page: #f8f8f8;
  --dz-bg-card: #fff;
  --dz-radius: 8px;
  --dz-radius-sm: 6px;
  --dz-radius-lg: 12px;
  --dz-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  --dz-shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.1);
  --dz-gradient: linear-gradient(90deg, #4cbaee 0%, #009fe8 100%);
}

/* ============================
   全局字体覆写
   ============================ */
body, .bm, .bm_h, .rfm, #ct, #nv, #hd, .wp,
input, select, textarea, button {
  font-family: 'MiSans-Regular', 'Microsoft YaHei', 'PingFang SC',
    -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ============================
   登录页面样式覆写
   ============================ */

/* 登录页面主容器 */
#ct.ptm {
  padding-top: 60px;
  padding-bottom: 60px;
}

/* 登录卡片容器 */
#ct .mn .bm {
  max-width: 480px;
  margin: 0 auto;
  background: var(--dz-bg-card);
  border-radius: var(--dz-radius-lg);
  box-shadow: var(--dz-shadow);
  border: none;
  overflow: hidden;
}

/* 登录标题栏 */
.bm .bm_h.bbs {
  border-bottom: 1px solid var(--dz-border);
  padding: 24px 30px 16px;
  background: var(--dz-bg-card);
}

.bm .bm_h.bbs h3.xs2 {
  font-family: 'MiSans-Semibold', sans-serif !important;
  font-size: 22px;
  color: var(--dz-text-primary);
  font-weight: 600;
}

.bm .bm_h.bbs .y a.xi2 {
  font-size: 14px;
  color: var(--dz-primary) !important;
  transition: 0.3s;
}

.bm .bm_h.bbs .y a.xi2:hover {
  color: var(--dz-primary-hover) !important;
}

/* 表单区域 */
.bm .bm_c,
#main_message .bm > div {
  padding: 24px 30px 30px;
}

/* 表单行 */
.rfm {
  margin-bottom: 18px;
}

.rfm table {
  width: 100%;
}

.rfm table th {
  font-size: 14px;
  color: var(--dz-text-secondary);
  padding-bottom: 8px;
  font-weight: normal;
  text-align: left;
  white-space: nowrap;
}

.rfm table td {
  padding-bottom: 4px;
}

/* 表单输入框 */
.rfm input.px,
.rfm input.p_fre,
input.px.p_fre,
.fastlg input.px {
  height: 44px;
  line-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--dz-border);
  border-radius: var(--dz-radius);
  font-size: 14px;
  color: var(--dz-text-primary);
  background: var(--dz-bg-card);
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  width: 100%;
  box-sizing: border-box;
}

.rfm input.px:focus,
.rfm input.p_fre:focus,
input.px.p_fre:focus {
  border-color: var(--dz-primary);
  box-shadow: 0 0 0 3px rgba(0, 159, 232, 0.1);
}

/* Select 下拉框 */
.rfm select,
.login_slct select {
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--dz-border);
  border-radius: var(--dz-radius);
  font-size: 14px;
  color: var(--dz-text-primary);
  background: var(--dz-bg-card);
  cursor: pointer;
  transition: border-color 0.2s;
  outline: none;
}

.rfm select:focus,
.login_slct select:focus {
  border-color: var(--dz-primary);
  box-shadow: 0 0 0 3px rgba(0, 159, 232, 0.1);
}

/* 登录/注册主按钮 */
.rfm button.pn.pnc,
button.pn.pnc,
.fastlg button.pn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  min-width: 120px;
  padding: 0 32px;
  background: var(--dz-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 22px;
  font-size: 16px;
  font-family: 'MiSans-Regular', sans-serif !important;
  cursor: pointer;
  transition: opacity 0.3s, transform 0.1s;
  text-decoration: none;
  line-height: 1;
}

.rfm button.pn.pnc:hover,
button.pn.pnc:hover,
.fastlg button.pn:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}

.rfm button.pn.pnc:active,
button.pn.pnc:active {
  transform: translateY(0);
  opacity: 1;
}

/* 登录页提示链接 */
.rfm .tipcol a {
  color: var(--dz-primary) !important;
  font-size: 14px;
  transition: 0.3s;
}

.rfm .tipcol a:hover {
  color: var(--dz-primary-hover) !important;
}

/* 记住登录 checkbox */
.rfm input[type="checkbox"].pc {
  width: 16px;
  height: 16px;
  accent-color: var(--dz-primary);
  vertical-align: middle;
  margin-right: 6px;
}

/* 弹窗登录框 */
.flb {
  background: var(--dz-bg-card) !important;
  border-bottom: 1px solid var(--dz-border) !important;
  border-radius: var(--dz-radius-lg) var(--dz-radius-lg) 0 0;
  padding: 16px 24px !important;
}

.flb em {
  font-size: 18px;
  color: var(--dz-text-primary);
  font-family: 'MiSans-Semibold', sans-serif !important;
  font-style: normal;
}

.flb .flbc {
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  border-radius: 50%;
  color: var(--dz-text-muted);
  transition: 0.2s;
  text-decoration: none;
}

.flb .flbc:hover {
  background: #f0f0f0;
  color: var(--dz-text-primary);
}

/* ============================
   注册页面样式覆写
   ============================ */

/* 注册页面标题 */
#main_hnav {
  padding: 24px 30px 16px;
}

#main_hnav h3.xs2,
#layer_reginfo_t {
  font-family: 'MiSans-Semibold', sans-serif !important;
  font-size: 22px;
  color: var(--dz-text-primary);
}

/* 注册表单提示文字 */
.rfm .p_tip {
  font-size: 12px;
  color: var(--dz-text-muted);
  font-style: normal;
}

.rfm .p_chk {
  font-size: 12px;
}

/* 注册必填星号 */
.rfm .rq {
  color: #ef4444;
  margin-right: 2px;
}

/* ============================
   个人中心/家园页面样式覆写
   ============================ */

/* 个人中心整体容器 */
#ct .mn .bm,
.tbn,
.bm {
  border-radius: var(--dz-radius);
  border: none;
  box-shadow: var(--dz-shadow);
}

/* 个人中心 Tab 导航 */
.mn .bm .tb,
.tb.cl {
  border-bottom: 1px solid var(--dz-border);
  padding: 0 20px;
  background: var(--dz-bg-card);
}

.tb.cl li a {
  display: inline-block;
  padding: 12px 16px;
  font-size: 15px;
  color: var(--dz-text-secondary);
  transition: 0.3s;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.tb.cl li a:hover,
.tb.cl li a.a,
.mn_nf li a.nw {
  color: var(--dz-primary) !important;
  border-bottom-color: var(--dz-primary) !important;
}

/* 个人中心侧边栏 */
#pcd .sd,
.bm_c .sd {
  background: var(--dz-bg-card);
  border-radius: var(--dz-radius);
  padding: 16px;
}

/* 侧边栏菜单 */
#pcd .sd .mn_nf li,
.sd .mn_nf li {
  margin-bottom: 4px;
}

#pcd .sd .mn_nf li a,
.sd .mn_nf li a {
  display: block;
  padding: 10px 16px;
  font-size: 15px;
  color: var(--dz-text-primary);
  border-radius: var(--dz-radius);
  transition: 0.3s;
}

#pcd .sd .mn_nf li a:hover,
.sd .mn_nf li a:hover {
  background: var(--dz-primary-light);
  color: var(--dz-primary);
}

#pcd .sd .mn_nf li a.nw,
.sd .mn_nf li a.nw {
  background: var(--dz-gradient);
  color: #fff !important;
  border-bottom: none !important;
}

/* 个人资料头像区域 */
.h_profile .avt img,
.avt img,
.icn_per img {
  border-radius: 50%;
  object-fit: cover;
}

/* 用户名 */
.h_profile .xi2,
.h_profile h2 a {
  font-family: 'MiSans-Semibold', sans-serif !important;
  font-size: 20px;
  color: var(--dz-text-primary) !important;
}

/* 个人中心统计区域 */
.pf_stat dt {
  font-size: 13px;
  color: var(--dz-text-muted);
}

.pf_stat dd {
  font-size: 18px;
  font-family: 'DIN-Regular', sans-serif !important;
  color: var(--dz-text-primary);
}

/* 个人中心编辑按钮 */
.o .btn,
.tbmu a.btn,
.spcp_btn a {
  display: inline-block;
  line-height: 34px;
  padding: 0 18px;
  border: 1px solid var(--dz-border);
  border-radius: 17px;
  font-size: 14px;
  color: var(--dz-text-primary);
  transition: 0.3s;
  background: var(--dz-bg-card);
}

.o .btn:hover,
.tbmu a.btn:hover,
.spcp_btn a:hover {
  border-color: var(--dz-primary);
  color: var(--dz-primary);
}

/* 个人中心设置表单 */
.spacecp_profile .rfm th,
.spacecp_profile .rfm td {
  padding: 8px 0;
}

.spacecp_profile .rfm th label {
  font-size: 14px;
  color: var(--dz-text-secondary);
}

/* ============================
   短消息/私信页面样式
   ============================ */

/* 私信列表 */
.pmb dl {
  padding: 16px 20px;
  border-bottom: 1px solid var(--dz-border);
  transition: background 0.15s;
}

.pmb dl:hover {
  background: var(--dz-primary-light);
}

.pmb dl:last-child {
  border-bottom: none;
}

.pmb dl dt img,
.pmb .avt img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

/* 消息发送框 */
#pmform textarea,
.pmb textarea {
  width: 100%;
  min-height: 100px;
  padding: 14px 16px;
  border: 1px solid var(--dz-border);
  border-radius: var(--dz-radius);
  font-size: 14px;
  color: var(--dz-text-primary);
  resize: vertical;
  transition: border-color 0.2s;
  outline: none;
}

#pmform textarea:focus,
.pmb textarea:focus {
  border-color: var(--dz-primary);
  box-shadow: 0 0 0 3px rgba(0, 159, 232, 0.1);
}

/* ============================
   积分/等级页面样式
   ============================ */

/* 积分数字 */
.credits_list .xi1,
.creditl .xi1,
.spacecp_credit .xi1 {
  font-family: 'DIN-Bold', sans-serif !important;
  font-size: 20px;
  color: var(--dz-primary);
}

/* 等级进度条 */
.pbm .pgs .pgb,
.creditc .pbr {
  height: 6px;
  background: #e6e6e6;
  border-radius: 3px;
  overflow: hidden;
  margin: 8px 0;
}

.pbm .pgs .pgb span,
.creditc .pbr span {
  display: block;
  height: 100%;
  background: var(--dz-gradient);
  border-radius: 3px;
}

/* 积分表格 */
.credits_list th,
.creditl th {
  padding: 12px 16px;
  font-size: 14px;
  color: var(--dz-text-secondary);
  background: #f6f6f6;
  font-family: 'MiSans-Demibold', sans-serif !important;
  border-bottom: 1px solid var(--dz-border);
}

.credits_list td,
.creditl td {
  padding: 12px 16px;
  font-size: 14px;
  color: var(--dz-text-primary);
  border-bottom: 1px solid var(--dz-border);
}

/* ============================
   通用 UI 元素覆写
   ============================ */

/* 通用链接色 */
a.xi2, .xi2 a {
  color: var(--dz-primary) !important;
}

a.xi2:hover, .xi2 a:hover {
  color: var(--dz-primary-hover) !important;
}

/* 分页组件 */
.pg a, .pg strong, .pg label {
  border-radius: var(--dz-radius-sm) !important;
  font-size: 13px;
}

.pg strong {
  background: var(--dz-gradient) !important;
  color: #fff !important;
  border-color: var(--dz-primary) !important;
}

.pg a:hover {
  background: var(--dz-primary-light) !important;
  color: var(--dz-primary) !important;
  border-color: var(--dz-primary) !important;
}

/* 面板/卡片圆角 */
.bm, .bm_c {
  border-radius: var(--dz-radius);
}

/* 通用按钮 .pn */
.pn, .pns .pn {
  border-radius: var(--dz-radius) !important;
  font-family: 'MiSans-Regular', sans-serif !important;
  transition: all 0.2s;
}

/* 无权限/提示页面 */
.nfl, #messagetext, .alert_error, .alert_info {
  background: var(--dz-bg-card);
  border-radius: var(--dz-radius-lg);
  border: 1px solid var(--dz-border);
  padding: 50px 40px;
  text-align: center;
  margin: 30px auto;
  max-width: 550px;
  box-shadow: var(--dz-shadow);
}

.nfl h2, #messagetext .alert_right h3 {
  font-size: 20px;
  font-family: 'MiSans-Semibold', sans-serif !important;
  color: var(--dz-text-primary);
  margin-bottom: 12px;
}

.nfl p, #messagetext p, .alert_info p {
  font-size: 14px;
  color: var(--dz-text-secondary);
  line-height: 1.7;
  margin-bottom: 8px;
}

.nfl .o a, #messagetext .alert_btnleft a {
  display: inline-block;
  height: 40px;
  line-height: 40px;
  padding: 0 28px;
  background: var(--dz-gradient);
  color: #fff !important;
  border-radius: 20px;
  font-size: 14px;
  text-decoration: none;
  transition: opacity 0.3s;
}

.nfl .o a:hover, #messagetext .alert_btnleft a:hover {
  opacity: 0.85;
}

/* 举报弹窗 - 基础样式 */
.fwinmask {
  z-index: 10001 !important;
  max-width: 90vw;
}

.fwinmask table.fwin {
  background: #fff;
  border-radius: var(--dz-radius-lg);
  box-shadow: 0 12px 48px rgba(0,0,0,0.18);
  border: none;
  border-collapse: collapse;
  min-width: 400px;
  max-width: 90vw;
}

.fwinmask table.fwin tr:first-child,
.fwinmask table.fwin tr:last-child {
  display: none;
}

.fwinmask table.fwin .t_l,
.fwinmask table.fwin .t_c,
.fwinmask table.fwin .t_r,
.fwinmask table.fwin .m_l,
.fwinmask table.fwin .m_r,
.fwinmask table.fwin .b_l,
.fwinmask table.fwin .b_c,
.fwinmask table.fwin .b_r {
  background: transparent;
  opacity: 1;
  filter: none;
  padding: 0;
  font-size: 0;
  line-height: 0;
  width: 0;
  height: 0;
}

.fwinmask table.fwin .m_c {
  padding: 0;
  background: #fff;
  border-radius: var(--dz-radius-lg);
  min-width: 400px;
}

/* 弹窗遮罩层 */
#fwin_report_cover,
#fwin_dialog_cover,
[id$="_cover"] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,0.5) !important;
  z-index: 10000 !important;
  opacity: 1 !important;
  filter: none !important;
}

/* 弹窗标题栏 */
.fwinmask .flb {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid var(--dz-border);
  background: var(--dz-bg-card);
  border-radius: var(--dz-radius-lg) var(--dz-radius-lg) 0 0;
}

.fwinmask .flb em {
  font-size: 16px;
  font-weight: 600;
  color: var(--dz-text-primary);
  font-style: normal;
}

.fwinmask .flb .flbc {
  float: right;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  border-radius: 50%;
  color: var(--dz-text-muted);
  text-decoration: none;
  font-size: 18px;
  cursor: pointer;
  transition: 0.2s;
}

.fwinmask .flb .flbc:hover {
  background: #f0f0f0;
  color: var(--dz-text-primary);
}

/* 弹窗内容区 */
.fwinmask .m_c .c {
  padding: 20px 24px;
}

.fwinmask .m_c .o {
  padding: 12px 24px 20px;
  text-align: right;
}

/* 举报表单 */
.fwinmask select,
#fwin_report select {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--dz-border);
  border-radius: var(--dz-radius);
  font-size: 14px;
  margin-bottom: 12px;
  appearance: auto;
}

.fwinmask textarea,
#fwin_report textarea {
  width: 100%;
  min-height: 80px;
  padding: 10px 12px;
  border: 1px solid var(--dz-border);
  border-radius: var(--dz-radius);
  font-size: 14px;
  resize: vertical;
  box-sizing: border-box;
}

.fwinmask textarea:focus,
#fwin_report textarea:focus {
  border-color: var(--dz-primary);
  outline: none;
}

/* 举报提交按钮 */
.fwinmask button.pn,
.fwinmask input[type="submit"],
#fwin_report button.pn,
#fwin_report input[type="submit"] {
  display: inline-block;
  min-width: 80px;
  height: 36px;
  padding: 0 20px;
  border: none;
  border-radius: var(--dz-radius);
  background: var(--dz-primary);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: 0.2s;
}

.fwinmask button.pn:hover,
.fwinmask input[type="submit"]:hover {
  background: var(--dz-primary-hover, #0086c8);
}

/* 弹窗内的提示信息样式 */
.fwinmask .alert_error,
.fwinmask .alert_right,
.fwinmask .alert_info {
  padding: 12px 0 12px 48px;
  min-height: 32px;
  line-height: 1.6;
  font-size: 14px;
  position: relative;
}

.fwinmask .alert_error:before,
.fwinmask .alert_right:before,
.fwinmask .alert_info:before {
  position: absolute;
  left: 0;
  font-size: 32px;
}

/* showDialog 对话框 */
#fwin_dialog {
  z-index: 10002 !important;
}

#fwin_dialog table.fwin {
  background: #fff;
  border-radius: var(--dz-radius-lg);
  box-shadow: 0 12px 48px rgba(0,0,0,0.18);
  border: none;
  border-collapse: collapse;
  min-width: 360px;
}

#fwin_dialog table.fwin tr:first-child,
#fwin_dialog table.fwin tr:last-child {
  display: none;
}

#fwin_dialog .m_c {
  padding: 0;
  background: #fff;
  border-radius: var(--dz-radius-lg);
}

#fwin_dialog .t_l,
#fwin_dialog .t_c,
#fwin_dialog .t_r,
#fwin_dialog .m_l,
#fwin_dialog .m_r,
#fwin_dialog .b_l,
#fwin_dialog .b_c,
#fwin_dialog .b_r {
  background: transparent;
  padding: 0;
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 0;
}

#fwin_dialog .altw {
  width: auto;
  min-width: 300px;
}

#fwin_dialog .pns {
  padding: 12px 24px 20px;
  text-align: right;
}

/* 验证码区域 */
.seccodecheck input,
.seccode input.px {
  height: 40px;
  border-radius: var(--dz-radius);
  border: 1px solid var(--dz-border);
  padding: 0 12px;
}

/* 表格通用样式 */
.dt th {
  background: #f6f6f6;
  color: var(--dz-text-secondary);
  font-size: 13px;
  padding: 10px 16px;
  font-family: 'MiSans-Demibold', sans-serif !important;
  border-bottom: 1px solid var(--dz-border);
}

.dt td {
  padding: 10px 16px;
  font-size: 14px;
  color: var(--dz-text-primary);
  border-bottom: 1px solid var(--dz-border);
}

/* ============================
   底部版权区域样式
   ============================ */
#ft {
  padding: 20px 0;
  border-top: 1px solid var(--dz-border);
  margin-top: 40px;
}

#ft #frt {
  text-align: center;
  font-size: 13px;
  color: var(--dz-text-muted);
}

#ft #frt p {
  margin: 4px 0;
}

#ft #flk {
  text-align: center;
  float: none;
}

#ft #flk p {
  font-size: 13px;
  color: var(--dz-text-muted);
}

#ft #flk a {
  color: var(--dz-text-secondary);
  transition: 0.3s;
}

#ft #flk a:hover {
  color: var(--dz-primary);
}

/* ============================
   顶部导航栏覆写
   ============================ */
#toptb {
  background: var(--dz-bg-card);
  border-bottom: 1px solid var(--dz-border);
  font-size: 13px;
}

#toptb a {
  color: var(--dz-text-secondary);
  transition: 0.3s;
}

#toptb a:hover {
  color: var(--dz-primary);
}

/* 导航栏 */
#nv {
  border-bottom: none;
}

#nv ul li a {
  font-size: 15px;
  color: var(--dz-text-secondary);
  padding: 10px 16px;
  border-radius: 20px;
  transition: 0.3s;
}

#nv ul li a:hover,
#nv ul li.a a {
  background: var(--dz-gradient);
  color: #fff;
}

/* 搜索栏 */
#scbar .scbar_txt_td input {
  height: 38px;
  border: 1px solid var(--dz-border);
  border-radius: var(--dz-radius) 0 0 var(--dz-radius);
  padding: 0 14px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}

#scbar .scbar_txt_td input:focus {
  border-color: var(--dz-primary);
}

#scbar .scbar_btn_td .pn.pnc {
  height: 38px;
  border-radius: 0 var(--dz-radius) var(--dz-radius) 0 !important;
  background: var(--dz-gradient) !important;
}

/* ============================
   用户空间/个人主页覆写
   ============================ */

/* 用户主页头部 */
#uhd {
  background: var(--dz-bg-card);
  border-radius: var(--dz-radius-lg);
  box-shadow: var(--dz-shadow);
  margin-bottom: 16px;
  overflow: hidden;
}

/* 用户操作按钮 */
.o a.btn,
#pcd a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 16px;
  border: 1px solid var(--dz-border);
  border-radius: 17px;
  font-size: 13px;
  color: var(--dz-text-primary);
  transition: 0.3s;
  text-decoration: none;
}

.o a.btn:hover,
#pcd a.btn:hover {
  border-color: var(--dz-primary);
  color: var(--dz-primary);
}

/* 关注按钮特殊样式 */
.o a.btn.follow,
.o a.btn_follow {
  background: var(--dz-gradient);
  color: #fff !important;
  border: none;
}

.o a.btn.follow:hover,
.o a.btn_follow:hover {
  opacity: 0.85;
}

/* ============================
   收藏/帖子列表/我的帖子
   ============================ */

/* 帖子列表项 */
#threadlist .pbw,
.tl .pbw,
.favt .bm_c dl {
  padding: 16px 20px;
  border-bottom: 1px solid var(--dz-border);
  transition: background 0.15s;
}

#threadlist .pbw:hover,
.tl .pbw:hover,
.favt .bm_c dl:hover {
  background: var(--dz-primary-light);
}

/* 收藏列表 */
.favt .bm_c dl dt a {
  font-size: 15px;
  color: var(--dz-text-primary);
  transition: 0.3s;
}

.favt .bm_c dl dt a:hover {
  color: var(--dz-primary);
}

/* ============================
   设置/编辑资料页面
   ============================ */

/* 设置页面布局 */
.spacecp_profile .bm_c,
.spacecp_password .bm_c {
  padding: 30px;
}

/* 设置页面 label */
.spacecp_profile .pfm th,
.spacecp_password .pfm th {
  width: 120px;
  font-size: 14px;
  color: var(--dz-text-secondary);
  padding: 12px 16px 12px 0;
  text-align: right;
  vertical-align: middle;
}

/* 设置页面输入框 */
.spacecp_profile .pfm input.px,
.spacecp_password .pfm input.px {
  height: 40px;
  line-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--dz-border);
  border-radius: var(--dz-radius-sm);
  font-size: 14px;
  width: 300px;
  max-width: 100%;
  transition: border-color 0.2s;
  outline: none;
}

.spacecp_profile .pfm input.px:focus,
.spacecp_password .pfm input.px:focus {
  border-color: var(--dz-primary);
  box-shadow: 0 0 0 3px rgba(0, 159, 232, 0.1);
}

/* 设置页面保存按钮 */
.spacecp_profile .tfm .pn.pnc,
.spacecp_password .tfm .pn.pnc {
  height: 40px;
  padding: 0 32px;
  background: var(--dz-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 20px;
  font-size: 15px;
  cursor: pointer;
  transition: opacity 0.3s;
}

.spacecp_profile .tfm .pn.pnc:hover,
.spacecp_password .tfm .pn.pnc:hover {
  opacity: 0.85;
}

/* ============================
   消息通知页面
   ============================ */

/* 通知列表 */
.ntc_body {
  padding: 14px 0;
  border-bottom: 1px solid var(--dz-border);
  font-size: 14px;
  color: var(--dz-text-secondary);
  line-height: 1.6;
}

.ntc_body a {
  color: var(--dz-primary) !important;
}

.ntc_body a:hover {
  color: var(--dz-primary-hover) !important;
}

/* 通知时间 */
.ntc_body .xg1 {
  font-size: 12px;
  color: var(--dz-text-muted);
}

/* ============================
   头部导航 - 板块下拉子版块面板
   ============================ */
.nav-category-wrap {
  position: relative;
}
.nav-category-dropdown {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  top: 100%;
  padding-top: 10px;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all .3s ease;
}
.nav-category-wrap:hover .nav-category-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.nav-category-inner {
  background: transparent;
  padding: 6px 0;
  min-width: 100px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
}
.nav-cat-forum-item {
  display: block;
  padding: 8px 18px;
  font-size: 14px;
  color: #333;
  background: #f0f0f0;
  border-radius: 20px;
  transition: all .3s;
  white-space: nowrap;
  text-align: center;
}
.nav-cat-forum-item:hover {
  color: #fff;
  background: linear-gradient(90deg, #4cbaee 0%, #009fe8 100%);
}

/* ============================
   帖子详情 - 分享气泡样式
   ============================ */
.share-bubble {
  position: absolute;
  z-index: 99999;
  display: none;
  transform: translateY(-100%);
}
.share-bubble.open {
  display: block;
}
.share-bubble-arrow {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #fff;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.1));
}
.share-bubble-content {
  background: #fff;
  border-radius: 12px;
  padding: 24px 30px;
  min-width: 320px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.share-bubble-title {
  font-size: 16px;
  font-weight: 600;
  color: #282828;
  text-align: center;
  margin-bottom: 20px;
}
.share-bubble-items {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 16px;
}
.share-bubble-close {
  text-align: center;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #eee;
  font-size: 14px;
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}
.share-bubble-close:hover {
  color: #333;
}
/* 点击页面其他位置关闭气泡 */
.share-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.share-item:hover {
  opacity: 0.7;
}
.share-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.share-icon.wechat {
  background: #07c160;
}
.share-icon.timeline {
  background: #07c160;
}
.share-icon.copylink {
  background: #009fe8;
}
.share-item span {
  font-size: 12px;
  color: #666;
}
.share-qrcode {
  text-align: center;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}
.share-qrcode p {
  font-size: 13px;
  color: #999;
  margin-bottom: 12px;
}

/* ============================
   帖子详情 - 三点菜单样式
   ============================ */
.post-more-menu {
  position: relative;
}
.more-btn {
  font-size: 20px;
  color: #999;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background 0.2s;
  letter-spacing: 2px;
}
.more-btn:hover {
  background: #f0f0f0;
  color: #333;
}
.more-menu-list {
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  padding: 6px 0;
  min-width: 100px;
  z-index: 100;
  list-style: none;
  margin: 0;
}
.more-menu-list li {
  list-style: none;
}
.more-menu-list li a {
  display: block;
  padding: 8px 16px;
  font-size: 14px;
  color: #333;
  white-space: nowrap;
  transition: background 0.15s;
}
.more-menu-list li a:hover {
  background: #f5f5f5;
  color: #009fe8;
}

/* ============================
   帖子详情 - 悬浮侧边栏图标居中
   ============================ */
.jl-snv .icn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.jl-snv .icn svg {
  display: block;
}

/* ============================
   帖子详情 - 评论操作按钮样式
   ============================ */
.jl-list2 .icns {
  display: flex;
  align-items: center;
  gap: 0.16rem;
  margin-top: 0.1rem;
}
.jl-list2 .icns .item {
  display: flex;
  align-items: center;
  gap: 0.04rem;
  cursor: pointer;
}
.jl-list2 .icns .item .i {
  width: 0.2rem;
  height: 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.jl-list2 .icns .item .i img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.jl-list2 .icns .item .num {
  font-size: 0.12rem;
  color: #999;
}
.jl-list2 .icns .item.on .img1 { display: none; }
.jl-list2 .icns .item.on .img2 { display: block; }
.jl-list2 .icns .item .img2 { display: none; }


/* ===== 修改头像页 ===== */
.m-avatar { padding: .1rem .1rem .3rem; }
.m-avatar .avatar-cur,
.m-avatar .avatar-new { display: flex; align-items: flex-start; margin-bottom: .3rem; }
.m-avatar .avatar-cur .info,
.m-avatar .avatar-new .info { width: 1rem; flex: 0 0 1rem; font-size: .16rem; color: #333; line-height: .4rem; }
.m-avatar .avatar-cur .box img { width: 1.2rem; height: 1.2rem; border-radius: 50%; object-fit: cover; border: 1px solid #eee; }
.m-avatar .avatar-new .box { flex: 1; }
.m-avatar .avatar-tip { color: #999; font-size: .14rem; line-height: 1.8; margin-top: .1rem; }
/* 头像裁剪器容器适配 */
.m-avatar #avatardesigner { position: relative; }
.m-avatar #avatarfileselector { margin-bottom: .15rem; }
.m-avatar .saveAvatar,
.m-avatar .finishbutton,
.m-avatar .backfileselection {
    display: inline-block; padding: 0 .24rem; height: .4rem; line-height: .4rem;
    background: linear-gradient(90deg, #4cbaee 0, #009fe8 100%); color: #fff;
    border: none; border-radius: .06rem; cursor: pointer; font-size: .15rem; margin-top: .12rem;
}
.m-avatar .saveAvatar:hover,
.m-avatar .finishbutton:hover,
.m-avatar .backfileselection:hover { opacity: .9; }


/* ===== 登录 / 注册页（品牌风格） ===== */
.auth-page { background: #f5f7fa; min-height: 6rem; padding: .7rem 0 .9rem; }
.auth-page .auth-wrap { width: 5.4rem; max-width: 92%; margin: 0 auto; }
.auth-page .auth-card {
    background: #fff; border-radius: .12rem; box-shadow: 0 .08rem .3rem rgba(0,0,0,.06);
    overflow: hidden; border: none;
}
.auth-page .auth-card-h {
    display: flex; align-items: center; justify-content: space-between;
    padding: .28rem .36rem; border-bottom: 1px solid #f0f0f0; background: none;
}
.auth-page .auth-card-h h3 { font-size: .24rem; color: #222; font-weight: 600; }
.auth-page .auth-switch { font-size: .14rem; color: #999; }
.auth-page .auth-switch a { color: #009fe8; }
.auth-page .auth-card .c { padding: .3rem .36rem .1rem; }
.auth-page h3.flb { display: none; }            /* 隐藏原生表单内重复标题 */
/* 表单行 */
.auth-page .rfm { margin-bottom: .2rem; border: none; }
.auth-page .rfm table { width: 100%; }
.auth-page .rfm th {
    display: block; text-align: left; font-weight: 400; color: #666;
    font-size: .15rem; padding: 0 0 .08rem; width: auto;
}
.auth-page .rfm td { display: block; padding: 0; }
.auth-page .rfm td.tipcol { text-align: right; padding-top: .06rem; }
.auth-page .rfm td.tipcol a { color: #009fe8; font-size: .13rem; }
/* 输入框 */
.auth-page .px, .auth-page input.px {
    width: 100%; box-sizing: border-box; height: .48rem; line-height: .48rem;
    padding: 0 .16rem; border: 1px solid #e3e6eb; border-radius: .08rem;
    font-size: .15rem; background: #fafbfc; outline: none;
}
.auth-page .px:focus { border-color: #009fe8; background: #fff; }
.auth-page select.px, .auth-page .login_slct select {
    height: .48rem; border: 1px solid #e3e6eb; border-radius: .08rem; padding: 0 .1rem; background: #fafbfc;
}
/* 提交按钮 */
.auth-page .pn.pnc, .auth-page button.pn {
    display: block; width: 100%; height: .5rem; line-height: .5rem; border: none;
    border-radius: .08rem; cursor: pointer; padding: 0;
    background: linear-gradient(90deg, #4cbaee 0, #009fe8 100%); margin-top: .1rem;
}
.auth-page .pn.pnc strong, .auth-page .pn.pnc span { color: #fff; font-size: .17rem; font-weight: 500; }
.auth-page .pn.pnc:hover { opacity: .92; }
/* 记住登录 / 复选 */
.auth-page .pc { vertical-align: middle; margin-right: .06rem; }
.auth-page label { color: #666; font-size: .14rem; }
/* 验证码 */
.auth-page .rfm img { vertical-align: middle; border-radius: .06rem; }
/* 找回密码层、消息层 */
.auth-page #returnmessage_L,
.auth-page [id^="returnmessage"] { color: #e74c3c; font-size: .14rem; }


/* 头部未登录按钮：防止文字竖排换行 */
.h-user .btn { white-space: nowrap; flex-shrink: 0; }
.h-user.nolog { flex-shrink: 0; }


/* ============================
   附件上传区域样式
   ============================ */
.form-attach { margin-top: .2rem; }
.form-attach .form-label { display: block; font-size: .14rem; color: var(--dz-text-secondary); margin-bottom: .1rem; }
.attach-upload-area { background: var(--dz-bg-page); border: 1px dashed var(--dz-border); border-radius: var(--dz-radius); padding: .2rem; }
.attach-btn-wrap { display: flex; align-items: center; gap: .15rem; }
.btn-attach-upload { display: inline-flex; align-items: center; padding: 0 .2rem; height: .4rem; background: var(--dz-gradient); color: #fff; border: none; border-radius: var(--dz-radius-sm); font-size: .14rem; cursor: pointer; transition: .3s; }
.btn-attach-upload:hover { opacity: .85; }
.attach-tip { font-size: .12rem; color: var(--dz-text-muted); }
.attach-list { list-style: none; margin: 0; padding: 0; margin-top: .1rem; }
.attach-list:empty { margin-top: 0; }
.attach-item { display: flex; align-items: center; justify-content: space-between; padding: .1rem .15rem; background: #fff; border-radius: var(--dz-radius-sm); margin-bottom: .08rem; border: 1px solid var(--dz-border); }
.attach-item.uploading { opacity: .7; }
.attach-item.error { border-color: #e74c3c; }
.attach-info { display: flex; align-items: center; gap: .1rem; flex: 1; overflow: hidden; }
.attach-name { font-size: .14rem; color: var(--dz-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 3rem; }
.attach-size { font-size: .12rem; color: var(--dz-text-muted); flex-shrink: 0; }
.attach-error { font-size: .12rem; color: #e74c3c; }
.attach-status { font-size: .12rem; color: var(--dz-primary); }
.attach-del { border: none; background: none; color: #e74c3c; font-size: .12rem; cursor: pointer; padding: .02rem .08rem; border-radius: .04rem; transition: .3s; }
.attach-del:hover { background: rgba(231, 76, 60, .1); }

/* ============================
   帖子详情附件列表样式
   ============================ */
.thread-attach-box { margin-top: .2rem; padding: .2rem; background: var(--dz-bg-page); border-radius: var(--dz-radius); }
.thread-attach-box .attach-title { font-size: .16rem; color: var(--dz-text-primary); font-weight: 700; margin-bottom: .15rem; }
.thread-attach-list { list-style: none; margin: 0; padding: 0; }
.thread-attach-list li { display: flex; align-items: center; justify-content: space-between; padding: .12rem .15rem; background: #fff; border-radius: var(--dz-radius-sm); margin-bottom: .08rem; border: 1px solid var(--dz-border); }
.thread-attach-list li:last-child { margin-bottom: 0; }
.thread-attach-list .file-info { display: flex; align-items: center; gap: .1rem; flex: 1; overflow: hidden; }
.thread-attach-list .file-icon { width: .3rem; height: .3rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--dz-primary-light); border-radius: var(--dz-radius-sm); font-size: .12rem; color: var(--dz-primary); font-weight: 700; text-transform: uppercase; }
.thread-attach-list .file-name { font-size: .14rem; color: var(--dz-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.thread-attach-list .file-meta { font-size: .12rem; color: var(--dz-text-muted); margin-left: .1rem; flex-shrink: 0; }
.thread-attach-list .file-dl { display: inline-flex; align-items: center; padding: 0 .15rem; height: .3rem; background: var(--dz-gradient); color: #fff; border-radius: .04rem; font-size: .12rem; text-decoration: none; transition: .3s; flex-shrink: 0; }
.thread-attach-list .file-dl:hover { opacity: .85; }

/* ============================
   自定义举报弹窗（不依赖 Discuz showWindow）
   ============================ */
.report-mask {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 100000;
  align-items: center;
  justify-content: center;
}

.report-mask.open {
  display: flex;
}

.report-dialog {
  width: 460px;
  max-width: 90vw;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  animation: reportFadeIn 0.2s ease;
}

@keyframes reportFadeIn {
  from { opacity: 0; transform: translateY(-16px); }
  to { opacity: 1; transform: translateY(0); }
}

.report-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid #eee;
}

.report-title {
  font-size: 17px;
  font-weight: 600;
  color: #282828;
}

.report-close {
  font-size: 24px;
  line-height: 1;
  color: #999;
  text-decoration: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: 0.2s;
}

.report-close:hover {
  background: #f2f2f2;
  color: #282828;
}

.report-body {
  padding: 20px 24px;
}

.report-label {
  font-size: 14px;
  color: #666;
  margin-bottom: 14px;
}

.report-reasons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  margin-bottom: 16px;
}

.report-reasons label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  color: #333;
}

.report-reasons label input[type="radio"] {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  cursor: pointer;
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
  flex-shrink: 0;
}

.report-reasons label span {
  user-select: none;
}

.report-textarea {
  width: 100%;
  min-height: 80px;
  padding: 10px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  resize: vertical;
  box-sizing: border-box;
  font-family: inherit;
  color: #333;
}

.report-textarea:focus {
  outline: none;
  border-color: #009fe8;
}

.report-foot {
  display: flex;
  gap: 12px;
  padding: 0 24px 20px;
  justify-content: flex-end;
}

.report-btn {
  display: inline-block;
  min-width: 88px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: 0.2s;
}

.report-btn.cancel {
  background: #f2f2f2;
  color: #666;
}

.report-btn.cancel:hover {
  background: #e6e6e6;
}

.report-btn.submit {
  background: linear-gradient(90deg, #4cbaee 0, #009fe8 100%);
  color: #fff;
}

.report-btn.submit:hover {
  opacity: 0.9;
}
