/* ===========================
   DZ 全局重写 v4.0 · 塾饭 SNS
   覆盖全部 DZ 页面 — 论坛/帖子/会员/搜索/门户/群组
   =========================== */

/* ===== 1. 基础容器 ===== */
.wp { max-width: 1180px; margin: 0 auto; }
#wp.wp { background: transparent; padding: 0 0 20px; }

/* ===== 2. 面包屑 ===== */
#pt {
  margin: 0 auto !important;
  max-width: 1180px;
  padding: 12px 16px 0 !important;
  background: transparent !important;
  border: none !important;
  font-size: 12px !important;
  color: var(--text-tertiary) !important;
}
#pt .z { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
#pt .z a { color: var(--text-tertiary) !important; }
#pt .z a:hover { color: var(--primary) !important; }
#pt .z .nvhm { background: none !important; padding-left: 0 !important; font-size: 14px; }
#pt em { font-style: normal; color: var(--text-fourth); }

/* ===== 3. 页面标题/操作栏 ===== */
#pgt { margin-bottom: 14px !important; }
.pgs { display: flex; align-items: center; justify-content: space-between; padding: 0; }
.pgs .pgt { margin: 0; }

/* 新帖/回复按钮 */
.pgsbtn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 10px 22px !important;
  background: var(--primary-gradient) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s cubic-bezier(.22,1,.36,1) !important;
  border: none !important;
}
.pgsbtn:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(67,97,238,.3) !important; }

.pgs .pgb a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 18px !important;
  background: var(--bg-card) !important;
  color: var(--text-secondary) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: all .2s !important;
}
.pgs .pgb a:hover {
  border-color: var(--primary) !important;
  color: var(--primary) !important;
  background: var(--primary-light) !important;
}

/* 按钮通用 */
button.pn, a.pn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 8px 20px !important;
  background: var(--bg-card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all .2s !important;
  font-family: var(--font) !important;
}
button.pn:hover, a.pn:hover {
  border-color: var(--primary) !important;
  color: var(--primary) !important;
  background: var(--primary-light) !important;
}
button.pnc, a.pnc {
  background: var(--primary-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
}
button.pnc:hover, a.pnc:hover {
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(67,97,238,.3) !important;
}

/* ===== 4. 内容区域卡片 ===== */
#ct {
  max-width: 1180px;
  margin: 0 auto !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: none !important;
}
#ct.ct2 .mn { width: 100%; }

.bm, .bm_c, .bm_c tbody, .bm_c td, .bm_th {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-sm) !important;
}
.bm { margin-bottom: 14px !important; overflow: hidden; }

.bm_h {
  display: flex !important;
  align-items: center !important;
  padding: 14px 20px !important;
  background: var(--bg-card) !important;
  border-bottom: 1px solid var(--border-light) !important;
  margin: 0 !important;
}
.bm_h .o { margin-left: auto !important; display: flex !important; gap: 6px !important; }
.bm_h h2, .bm_h span, .bm_h label { font-size: 14px !important; font-weight: 700 !important; color: var(--text) !important; }
.bm_h .xs2 { font-size: 14px !important; }

.bml { margin-bottom: 14px !important; }
.bml, .bml .bm_h { border-radius: var(--radius) var(--radius) 0 0 !important; }

/* ===== 5. 表格 ===== */
.list, table.list {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.list th {
  padding: 12px 16px !important;
  background: var(--bg) !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--text-secondary) !important;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.list td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--border-light) !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}
.list tr:last-child td { border-bottom: none !important; }
.list tr:hover td { background: rgba(0,0,0,.015) !important; }

/* ===== 6. 论坛列表 ===== */
.fl_tb { width: 100% !important; }
.fl_tb td { padding: 14px 16px !important; vertical-align: middle !important; }
.fl_icn { font-size: 32px !important; text-align: center !important; }
.fl_icn_g { font-size: 28px !important; }

/* 版块图标列 */
.fl_tb td.icn { width: 52px !important; text-align: center !important; }

/* ===== 7. 帖子列表（forumdisplay）===== */
.threadlist .list td { border-bottom: 1px solid var(--border-light) !important; }
.threadlist .list .xg1 { color: var(--text-tertiary) !important; }
.threadlist .list a.xst {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--text) !important;
}
.threadlist .list a.xst:hover { color: var(--primary) !important; }
.threadlist .list .by { font-size: 12px !important; color: var(--text-tertiary) !important; }
.threadlist .list .num {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
}

/* 置顶 */
.threadlist .list .ico .i_font { font-size: 14px !important; }
.list th.by, .list td.by {
  width: 120px !important;
  font-size: 12px !important;
  color: var(--text-tertiary) !important;
}
.list th.nums, .list td.nums { width: 100px !important; text-align: center !important; }

/* 最后发表 */
.lastpost { font-size: 11px !important; color: var(--text-tertiary) !important; }
.lastpost a { color: var(--text-secondary) !important; }
.lastpost a:hover { color: var(--primary) !important; }

/* 精华/热门标记 */
.ico .i_font, .stick .i_font { font-size: 16px !important; }
.locked { opacity: .5 !important; }

/* ===== 8. 帖子视图 ===== */
.pl { padding: 0 !important; margin-bottom: 14px !important; }
#postlist { border-collapse: separate; border-spacing: 0; }

/* 单个帖子容器 */
.plhin {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  margin-bottom: 14px !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
}

/* 帖子头部 — 作者侧栏 */
.pls {
  width: 120px !important;
  padding: 20px 14px !important;
  text-align: center !important;
  vertical-align: top !important;
  border-right: 1px solid var(--border-light) !important;
}
.pls .avatar { margin-bottom: 8px !important; }
.pls .avatar img {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3px solid var(--bg-card) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}
.pls .xg1, .pls .xg2 { font-size: 11px !important; color: var(--text-tertiary) !important; }
.pls .authi { font-size: 13px !important; font-weight: 600 !important; margin-bottom: 4px !important; }
.pls .p_pop { text-align: left !important; }

/* 帖子内容区 */
.plc {
  padding: 20px 24px !important;
  vertical-align: top !important;
}
.pstre .pi {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--border-light) !important;
}
.pstre .pi strong a {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
}
.pstre .pi strong a:hover { color: var(--primary) !important; }
.pstre .pi .authi { font-size: 12px !important; color: var(--text-tertiary) !important; margin-left: auto !important; }
.pstre .pi .authi a { color: var(--text-tertiary) !important; }

/* 帖子正文 */
.postmessage, .pstre .t_fsz,
.t_fsz, .t_fsz fieldset {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--text-secondary) !important;
}
.postmessage a, .t_fsz a { color: var(--primary) !important; }

/* 快速回复 */
.fastreply, #fastpostform {
  margin-top: 14px !important;
  padding: 16px !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
}
.fastreply textarea, #fastpostform textarea {
  width: 100% !important;
  padding: 12px !important;
  border: 2px solid var(--border) !important;
  border-radius: 8px !important;
  background: var(--bg) !important;
  font-size: 14px !important;
  color: var(--text) !important;
  outline: none !important;
  resize: vertical !important;
  min-height: 80px !important;
  font-family: var(--font) !important;
  transition: all .2s !important;
}
.fastreply textarea:focus, #fastpostform textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px var(--primary-light) !important;
  background: var(--bg-card) !important;
}

/* 快捷回复提交区 */
.fastreply .pn, #fastpostsubmit {
  margin-top: 8px !important;
  padding: 10px 28px !important;
  background: var(--primary-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .2s cubic-bezier(.22,1,.36,1) !important;
}
.fastreply .pn:hover, #fastpostsubmit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(67,97,238,.3) !important;
}

/* ===== 9. 翻页 ===== */
.pg {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 20px 0 !important;
  padding: 12px 0 !important;
}
.pg a, .pg strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 14px !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  background: var(--bg-card) !important;
  color: var(--text-secondary) !important;
  transition: all .2s ease !important;
}
.pg a:hover {
  border-color: var(--primary) !important;
  color: var(--primary) !important;
  background: var(--primary-light) !important;
  transform: translateY(-2px) !important;
}
.pg strong {
  background: var(--primary) !important;
  color: #fff !important;
  border-color: var(--primary) !important;
  box-shadow: 0 4px 12px rgba(67,97,238,.2) !important;
}
.pg .pgb { display: inline-flex !important; }

/* ===== 10. 标签页/选项卡 ===== */
.tb {
  display: flex !important;
  gap: 2px !important;
  border-bottom: 2px solid var(--border) !important;
  margin-bottom: 14px !important;
  padding: 0 !important;
  background: transparent !important;
}
.tb li { list-style: none !important; margin: 0 !important; }
.tb a {
  display: block !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--text-secondary) !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all .2s !important;
}
.tb a:hover {
  color: var(--primary) !important;
  border-bottom-color: var(--primary) !important;
}
.tb .a a, .tb_th a {
  color: var(--primary) !important;
  font-weight: 700 !important;
  border-bottom-color: var(--primary) !important;
}

/* ===== 11. 弹出菜单 ===== */
.p_pop {
  background: var(--bg-card) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-lg) !important;
  border: 1px solid var(--border) !important;
  padding: 8px !important;
  min-width: 140px !important;
  margin-top: 4px !important;
}
.p_pop a {
  display: block !important;
  padding: 10px 16px !important;
  border-radius: var(--radius-sm) !important;
  font-size: 13px !important;
  color: var(--text-secondary) !important;
  text-decoration: none !important;
  transition: all .15s !important;
}
.p_pop a:hover {
  background: var(--primary-light) !important;
  color: var(--primary) !important;
}
.p_pop li { list-style: none !important; }

/* ===== 12. 表单 ===== */
form table td, form table th {
  padding: 10px 12px !important;
  font-size: 13px !important;
  border-bottom: 1px solid var(--border-light) !important;
}
form input[type="text"],
form input[type="password"],
form input[type="email"],
form textarea:not(.editor_textarea) {
  padding: 10px 14px !important;
  border: 2px solid var(--border) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  color: var(--text) !important;
  background: var(--bg) !important;
  outline: none !important;
  transition: all .2s !important;
  font-family: var(--font) !important;
}
form input[type="text"]:focus,
form input[type="password"]:focus,
form input[type="email"]:focus,
form textarea:not(.editor_textarea):focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px var(--primary-light) !important;
  background: var(--bg-card) !important;
}
form input[type="checkbox"], form input[type="radio"] {
  accent-color: var(--primary) !important;
}
form select {
  padding: 10px 14px !important;
  border: 2px solid var(--border) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  color: var(--text) !important;
  background: var(--bg-card) !important;
  outline: none !important;
  font-family: var(--font) !important;
}
form select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px var(--primary-light) !important;
}

/* ===== 13. 文本颜色兼容 ===== */
.xg1 { color: var(--text-tertiary) !important; }
.xg2 { color: var(--text-tertiary) !important; }
.xg3 { color: var(--text-fourth) !important; }
.xi1 { color: var(--primary) !important; }
.xi2 { color: var(--accent) !important; }
.xi3 { color: var(--success) !important; }
.xw0 { font-weight: 100 !important; }
.xw1 { font-weight: 400 !important; }
.xw2 { font-weight: 700 !important; }
.xs0 { font-size: 9px !important; }
.xs1 { font-size: 11px !important; }
.xs2 { font-size: 13px !important; }
.xs3 { font-size: 15px !important; }

/* ===== 14. 进度条 ===== */
.pbg {
  height: 8px !important;
  background: var(--border-light) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
.pbr {
  height: 100% !important;
  background: var(--primary-gradient) !important;
  border-radius: 4px !important;
  transition: width .6s cubic-bezier(.22,1,.36,1) !important;
}

/* ===== 15. 提醒/通知 ===== */
.alert_info, .alert_error, .alert_warning, .alert_success {
  padding: 14px 20px !important;
  border-radius: var(--radius) !important;
  margin-bottom: 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  border: 1px solid transparent !important;
}
.alert_info {
  background: var(--primary-light) !important;
  color: var(--primary) !important;
  border-color: rgba(67,97,238,.2) !important;
}
.alert_error {
  background: var(--danger-light) !important;
  color: var(--danger) !important;
  border-color: rgba(239,71,111,.2) !important;
}
.alert_warning {
  background: var(--warning-light) !important;
  color: #8a6500 !important;
  border-color: rgba(255,209,102,.3) !important;
}
.alert_success {
  background: var(--success-light) !important;
  color: var(--success) !important;
  border-color: rgba(6,214,160,.2) !important;
}

/* ===== 16. 付费/回复可见 ===== */
.tip {
  padding: 16px !important;
  background: var(--primary-light) !important;
  border: 1px dashed rgba(67,97,238,.3) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 13px !important;
  color: var(--text-secondary) !important;
  margin: 12px 0 !important;
}
.tip em { font-style: normal; color: var(--primary); font-weight: 600; }

/* ===== 17. 代码块 & 引用 ===== */
.blockcode {
  background: #1e1e2e !important;
  border-radius: var(--radius-sm) !important;
  padding: 16px !important;
  margin: 12px 0 !important;
  overflow-x: auto !important;
}
.blockcode code, .blockcode ol, .blockcode li {
  font-family: var(--mono) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #cdd6f4 !important;
}
.blockcode .blockcodebody { color: #a6e3a1 !important; }

blockquote, .quote {
  border-left: 3px solid var(--primary) !important;
  background: var(--primary-light) !important;
  padding: 14px 18px !important;
  margin: 12px 0 !important;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
  font-size: 14px !important;
  color: var(--text-secondary) !important;
}

/* ===== 18. 侧边栏 (portal/home) ===== */
.sd {
  width: 260px !important;
  padding-right: 0 !important;
  margin-left: 16px !important;
}
.sd .bm, .sd .bm_c {
  margin-bottom: 14px !important;
  padding: 16px !important;
}
.sd .bm_h { padding: 12px 16px !important; }

/* ===== 19. 在线会员列表 ===== */
#online { margin-bottom: 14px !important; }
#online .bm_c { padding: 16px 20px !important; }
#online .bm_c a { font-size: 12px !important; margin: 0 4px 4px 0 !important; }
#online .ol_by { display: flex; gap: 4px; flex-wrap: wrap; }
#online .bt { font-size: 12px !important; color: var(--text-tertiary) !important; }

/* ===== 20. 论坛统计 ===== */
#stats { padding: 12px 16px !important; }
#stats .xg1 { font-size: 12px !important; }

/* ===== 21. 会员登录/注册表单 ===== */
#loginform, .registerform {
  max-width: 420px !important;
  margin: 40px auto !important;
  background: var(--bg-card) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 36px !important;
  animation: fadeUp .5s ease-out !important;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
#loginform h2, .registerform h2 {
  font-size: 24px !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin: 0 0 24px !important;
  color: var(--text) !important;
}
#loginform .pnc, .registerform .pnc {
  width: 100% !important;
  padding: 14px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* ===== 22. 用户头像 ===== */
.avt img, .avtm img {
  border-radius: 50% !important;
  object-fit: cover !important;
}
.avt img { width: 40px !important; height: 40px !important; }
.avtm img { width: 60px !important; height: 60px !important; }

/* ===== 23. DIY 区域 ===== */
.area { margin-bottom: 0 !important; }
.area .bm, .area .bm_c { animation: fadeIn .3s ease-out; }

/* ===== 24. 消息提示 ===== */
#ajaxwaitid {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  padding: 10px !important;
  background: var(--primary) !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  animation: slideDown .3s ease-out !important;
}
@keyframes slideDown {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}

/* ===== 25. 版块收藏/操作悬浮 ===== */
.fa_fav, .fa_rss, .fa_bin, .fa_achv {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 12px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  color: var(--text-tertiary) !important;
  text-decoration: none !important;
  transition: all .15s !important;
}
.fa_fav:hover, .fa_rss:hover, .fa_bin:hover, .fa_achv:hover {
  background: var(--primary-light) !important;
  color: var(--primary) !important;
}

/* ===== 26. 分隔符 ===== */
.pipe {
  display: inline-block !important;
  width: 1px !important;
  height: 12px !important;
  background: var(--border) !important;
  margin: 0 8px !important;
  color: transparent !important;
  overflow: hidden !important;
}

/* ===== 27. 浮动补丁 ===== */
.z { float: left !important; }
.y { float: right !important; }
.cl::after { content: ''; display: table; clear: both; }
.cl { zoom: 1; }

/* ===== 28. 版块横幅 ===== */
#diynavtop .bm { border: none !important; box-shadow: none !important; }

/* ===== 29. 帖子视图特殊优化 ===== */
.vwth { margin-top: 0 !important; }
.vwth .bm_h { border-bottom: none !important; }

/* 帖子操作 */
.pstre .pi .y a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  color: var(--text-tertiary) !important;
  transition: all .15s !important;
}
.pstre .pi .y a:hover { background: var(--primary-light) !important; color: var(--primary) !important; }

/* 评分 */
.rate {
  display: inline-flex !important;
  gap: 6px !important;
  font-size: 12px !important;
  margin: 8px 0 !important;
}

/* 签名 */
.sign {
  margin-top: 16px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--border-light) !important;
  font-size: 12px !important;
  color: var(--text-tertiary) !important;
}

/* ===== 30. 图片 hover 效果 ===== */
.zoomfile, img[zoomfile] {
  cursor: zoom-in !important;
  transition: opacity .2s !important;
  border-radius: var(--radius-sm) !important;
}
.zoomfile:hover, img[zoomfile]:hover { opacity: .85 !important; }

/* ===== 31. 附件列表 ===== */
.attach_list { margin: 12px 0 !important; }
.attach_list .atc {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  margin: 4px !important;
  font-size: 13px !important;
  transition: all .15s !important;
}
.attach_list .atc:hover {
  border-color: var(--primary) !important;
  background: var(--primary-light) !important;
}

/* ===== 32. 精华/置顶图标 ===== */
.ico .i_stick, .ico .i_digest,
.stick .i_stick, .digest .i_digest {
  font-size: 16px !important;
}

/* ===== 33. 快速发帖工具栏 ===== */
#fastsmilies { margin: 8px 0 !important; }
#fastsmilies img { cursor: pointer !important; transition: transform .15s !important; }
#fastsmilies img:hover { transform: scale(1.2) !important; }

/* ===== 34. 版规弹出 ===== */
.forum_rules {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 16px !important;
  margin-bottom: 14px !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: var(--text-secondary) !important;
}

/* ===== 35. 搜索框补充 ===== */
#scbar_form { display: flex !important; align-items: center !important; }
.scbar_txt_td { padding: 0 !important; }
.scbar_btn_td, .scbar_type_td { padding: 0 0 0 4px !important; }
#scbar_type_menu {
  background: var(--bg-card) !important;
  border-radius: var(--radius) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-lg) !important;
}

/* ===== 36. 版块子版 ===== */
.subfs .subfl {
  display: inline-flex !important;
  gap: 4px !important;
  font-size: 12px !important;
  color: var(--text-tertiary) !important;
}
.subfs a { color: var(--text-secondary) !important; font-weight: 500 !important; }
.subfs a:hover { color: var(--primary) !important; }

/* ===== 37. 统计页面 ===== */
.stat .bm_c { padding: 20px !important; }
.stat .bms { margin-bottom: 0 !important; }

/* ===== 38. 图片列表 ===== */
.imgl { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important; gap: 8px !important; }
.imgl a { display: block !important; border-radius: var(--radius-sm) !important; overflow: hidden !important; transition: var(--transition) !important; }
.imgl a:hover { transform: scale(1.03) !important; }
.imgl img { width: 100% !important; height: 100px !important; object-fit: cover !important; border-radius: var(--radius-sm) !important; }

/* ===== 39. 发帖编辑器 ===== */
.editor_toolbar { border: 1px solid var(--border) !important; border-bottom: none !important; border-radius: var(--radius) var(--radius) 0 0 !important; }
.editor_textarea {
  border: 1px solid var(--border) !important;
  border-radius: 0 0 var(--radius) var(--radius) !important;
  min-height: 200px !important;
}
.editor_textarea:focus { border-color: var(--primary) !important; }

/* ===== 40. 可点击展开 ===== */
.tg_s { background: var(--primary-light) !important; border-radius: 3px !important; }
.tg_c { background: var(--border) !important; border-radius: 3px !important; }

/* ===== 41. 排行榜 ===== */
.ranklist .bm_c { padding: 20px !important; }
.ranklist .tb { margin-bottom: 20px !important; }

/* ===== 42. 群组页面 ===== */
.g_main { margin: 0 auto; max-width: 1180px; }
.g_main .bm, .g_main .bm_c { background: var(--bg-card) !important; }

/* ===== 43. 门户文章 ===== */
.article_content {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: var(--text-secondary) !important;
}
.article_title {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin-bottom: 16px !important;
}

/* ===== 44. 宽窄屏切换 ===== */
.wp { max-width: 1180px !important; }
.widthauto .wp { max-width: 98% !important; }
.switchwidth {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--text-tertiary) !important;
  font-size: 12px !important;
}

/* ===== 45. 附件下载面板 ===== */
.tatt, .patt { padding: 12px !important; }
.tatt a, .patt a { color: var(--primary) !important; }

/* ===== 46. 勋章列表 ===== */
.md_ctrl img { border-radius: 50% !important; transition: transform .2s !important; }
.md_ctrl img:hover { transform: scale(1.1) !important; }

/* ===== 47. 收藏页面 ===== */
.favlist td { padding: 12px 16px !important; }

/* ===== 48. 扁平化表单项 ===== */
#scbar .scbar_btn_td { padding: 0 !important; }
#scbar .scbar_type_td { padding: 0 !important; }

/* ===== 49. 积分/任务进度 ===== */
.credit_balance { font-size: 28px !important; font-weight: 800 !important; color: var(--primary) !important; }

/* ===== 50. 版块图标替换 ===== */
.fl_tb .fl_icn [class*="forum_"], .fl_tb .fl_icn [class*="fl_"] {
  font-size: 28px !important;
  line-height: 1 !important;
}

/* ===== 响应式统一 ===== */
@media (max-width: 920px) {
  #ct { padding: 0 12px !important; }
  .pls { width: 80px !important; padding: 14px 8px !important; }
  .pls .avatar img { width: 44px !important; height: 44px !important; }
  .plc { padding: 16px !important; }
  .bm, .bm_c { border-radius: var(--radius-sm) !important; }
  #loginform, .registerform { margin: 20px 12px !important; padding: 24px !important; }
}

@media (max-width: 640px) {
  #pt { padding: 8px 12px 0 !important; }
  .pgs { flex-direction: column; gap: 8px; }
  .pgsbtn { padding: 8px 16px !important; font-size: 12px !important; }
  .pls { width: 60px !important; padding: 10px 6px !important; }
  .pls .avatar img { width: 36px !important; height: 36px !important; }
  .plc { padding: 12px !important; }
  .postmessage { font-size: 14px !important; }
  .pg { gap: 4px !important; }
  .pg a, .pg strong { min-width: 32px !important; height: 32px !important; font-size: 12px !important; padding: 0 8px !important; }
  .tb a { padding: 8px 12px !important; font-size: 12px !important; }
  .list th, .list td { padding: 8px 10px !important; }
}

/* ===== 51. 暗色模式覆盖 ===== */
@media (prefers-color-scheme: dark) {
  :root {
    --text: #eeeff1;
    --text-secondary: #b0b2c0;
    --text-tertiary: #6e7080;
    --text-fourth: #4a4c58;
    --border: #2e3040;
    --border-light: #242638;
    --bg: #13151e;
    --bg-card: #1b1d2a;
    --primary-light: #1e2050;
    --accent-light: #2e1030;
    --success-light: #082a20;
    --warning-light: #2a2410;
    --danger-light: #2c101c;
    --shadow-sm: 0 1px 3px rgba(0,0,0,.2);
    --shadow: 0 4px 12px rgba(0,0,0,.3);
    --shadow-lg: 0 12px 28px rgba(0,0,0,.4);
    --shadow-hover: 0 8px 24px rgba(67,97,238,.2);
  }

  body { background: var(--bg) !important; color: var(--text) !important; }
  .bm, .bm_c { background: var(--bg-card) !important; }
  .list th { background: var(--bg) !important; }
  .blockcode { background: #0d0e15 !important; }
  .blockcode code { color: #cdd6f4 !important; }
  blockquote, .quote { background: var(--primary-light) !important; }

  /* 图片在暗色下稍微降低亮度 */
  img { opacity: 0.95; }
}

/* ===== 52. 手动主题覆盖（cookie 控制）===== */
/* 亮色强制 */
:root[data-theme="light"] {
  --text: #1f2330;
  --text-secondary: #5a5f6e;
  --text-tertiary: #8e92a0;
  --text-fourth: #b8bcc4;
  --border: #e6e8ee;
  --border-light: #f1f3f7;
  --bg: #f7f8fb;
  --bg-card: #ffffff;
  --primary-light: #eef0fc;
  --accent-light: #fde7f1;
  --success-light: #dff8ee;
  --warning-light: #fff4d4;
  --danger-light: #fde0e9;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.05);
  --shadow: 0 4px 12px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 28px rgba(0,0,0,.12);
  --shadow-hover: 0 8px 24px rgba(67,97,238,.15);
}
html[data-theme="light"] body { background: var(--bg) !important; color: var(--text) !important; }

/* 暗色强制（即使 OS 是亮色） */
:root[data-theme="dark"] {
  --text: #eeeff1;
  --text-secondary: #b0b2c0;
  --text-tertiary: #6e7080;
  --text-fourth: #4a4c58;
  --border: #2e3040;
  --border-light: #242638;
  --bg: #13151e;
  --bg-card: #1b1d2a;
  --primary-light: #1e2050;
  --accent-light: #2e1030;
  --success-light: #082a20;
  --warning-light: #2a2410;
  --danger-light: #2c101c;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.2);
  --shadow: 0 4px 12px rgba(0,0,0,.3);
  --shadow-lg: 0 12px 28px rgba(0,0,0,.4);
  --shadow-hover: 0 8px 24px rgba(67,97,238,.2);
}
html[data-theme="dark"] body { background: var(--bg) !important; color: var(--text) !important; }
html[data-theme="dark"] .bm,
html[data-theme="dark"] .bm_c { background: var(--bg-card) !important; }
html[data-theme="dark"] .list th { background: var(--bg) !important; }
html[data-theme="dark"] blockquote,
html[data-theme="dark"] .quote { background: var(--primary-light) !important; }
html[data-theme="dark"] .blockcode { background: #0d0e15 !important; }
html[data-theme="dark"] .blockcode code { color: #cdd6f4 !important; }
html[data-theme="dark"] img { opacity: 0.95; }

/* ===== 53. 主题切换按钮 ===== */
#sns-theme-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all .2s cubic-bezier(.22,1,.36,1) !important;
  margin-left: 8px !important;
  vertical-align: middle !important;
  text-decoration: none !important;
  user-select: none !important;
}
#sns-theme-toggle:hover {
  background: var(--primary-light) !important;
  border-color: var(--primary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(67,97,238,.15) !important;
}
#sns-theme-toggle .sns-theme-icon {
  font-size: 16px !important;
  line-height: 1 !important;
  display: inline-block !important;
  transition: transform .3s ease !important;
}
#sns-theme-toggle:hover .sns-theme-icon { transform: rotate(20deg) scale(1.1); }

/* ===== 54. 主题切换按钮 fallback 固定版 ===== */
#sns-theme-toggle.sns-theme-btn-fixed {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  z-index: 9998 !important;
  box-shadow: 0 6px 20px rgba(67,97,238,.3) !important;
  margin: 0 !important;
}

/* toptb 内联版本（不加 fixed） */
#sns-theme-toggle.sns-theme-btn-top { margin-left: 8px !important; }

/* 浅色背景下 fallback 按钮更醒目 */
html:not([data-theme]) #sns-theme-toggle.sns-theme-btn-fixed {
  background: var(--bg-card) !important;
  border-color: var(--primary) !important;
  color: var(--primary) !important;
}

/* ===== 55. 全局动画 keyframes ===== */
@keyframes m-ripple {
  to { transform: scale(2.5); opacity: 0; }
}
@keyframes m-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes m-fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes m-slide-down {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes m-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}
@keyframes m-shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: 200px 0; }
}
@keyframes m-spin {
  to { transform: rotate(360deg); }
}

/* ===== 56. 骨架屏 ===== */
.sk {
  position: relative !important;
  background: linear-gradient(90deg, var(--border-light) 0%, var(--border) 50%, var(--border-light) 100%) !important;
  background-size: 400px 100% !important;
  animation: m-shimmer 1.4s ease-in-out infinite !important;
  color: transparent !important;
  border-radius: 8px !important;
}
.sk::after { display: none !important; }

/* ===== 57. 页面过渡 ===== */
html.page-loading body {
  animation: m-fade-in .4s ease;
}
html:not(.page-loading) #wp > * {
  animation: m-fade-up .35s cubic-bezier(.22,1,.36,1);
}

/* ===== 58. 焦点环优化（无障碍） ===== */
:focus-visible {
  outline: 2px solid var(--primary) !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}
