/* ============================================================
   forum-dz.css — Discuz biaoqi_x5 论坛风组件（暗色军旅风适配）
   参考 http://124.222.179.26:8021/biaoqi/x50/bx/forum-10-1.html
   - 板块页：bq_flisti 卡片流列表 + bq_tlist_pgsbtn 发新帖按钮
   - 详情页：plhin 楼层两栏（左作者栏 + 右内容）+ tedt 快速回复编辑器
   ============================================================ */

/* ---------- FontAwesome 图标（本地化，仅取用到的字形） ---------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('fonts/fontawesome-webfont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fa-eye:before { content: "\f06e"; }
.fa-comments-o:before { content: "\f0e6"; }
.fa-thumbs-o-up:before { content: "\f087"; }
.fa-heart-o:before { content: "\f08a"; }
.fa-pencil:before { content: "\f040"; }
.fa-user:before { content: "\f007"; }
.fa-lock:before { content: "\f023"; }
.fa-fire:before { content: "\f06d"; }
.fa-check-circle-o:before { content: "\f05d"; }
.fa-star:before { content: "\f005"; }
.fa-arrow-left:before { content: "\f060"; }
.fa-commenting-o:before { content: "\f27a"; }

/* ============================================================
   板块页：卡片流列表（参考 bq_threadlists / bq_flisti）
   ============================================================ */
.fdz-board { max-width: 960px; margin: 0 auto; padding: 28px 24px 80px; }

/* ---- 板块头（标题 + 简介 + 统计 + 发新帖按钮） ---- */
.fdz-board-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  padding: 22px 24px 20px;
  margin-bottom: 18px;
  border: 1px solid var(--line, #3A4128);
  border-left: 3px solid var(--red, #D5382C);
  background: linear-gradient(180deg, #1C2112 0%, var(--panel, #202516) 100%);
}
.fdz-board-head h1 {
  font-family: var(--disp, inherit);
  font-weight: 600;
  font-size: 24px;
  letter-spacing: .02em;
  color: var(--ink, #E9E2CC);
  margin: 0 0 6px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.fdz-board-head .fdz-bslogan { font-size: 12px; color: var(--muted, #9AA085); letter-spacing: .04em; }
.fdz-board-head .fdz-bstats {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--muted, #9AA085);
  letter-spacing: .05em;
}
.fdz-board-head .fdz-bstats b { color: var(--gold, #D9A441); font-weight: 600; }
.fdz-board-head .fdz-bstats .sep { color: var(--line, #3A4128); }

/* 发新帖按钮（参考 .bq_tlist_pgsbtn：色块 + 圆角 + hover 透明度） */
.fdz-newbtn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  color: #fff;
  background: linear-gradient(135deg, #C9302A 0%, #8E1F1A 100%);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
  cursor: pointer;
  transition: opacity .2s, transform .15s, box-shadow .2s;
  box-shadow: 0 4px 14px rgba(142, 31, 26, .35);
}
.fdz-newbtn:hover { opacity: .88; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(142, 31, 26, .45); }
.fdz-newbtn:active { transform: translateY(0); }
.fdz-newbtn .fa { font-size: 13px; }

/* ---- 主题卡片列表 ---- */
.fdz-threadlist { list-style: none; margin: 0; padding: 0; }

.fdz-thread {
  background: var(--panel, #202516);
  border: 1px solid var(--line, #3A4128);
  border-radius: 8px;
  margin-bottom: 14px;
  padding: 16px 18px 14px;
  transition: border-color .18s, box-shadow .18s, transform .15s;
}
.fdz-thread:hover {
  border-color: rgba(217, 164, 65, .55);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .35);
  transform: translateY(-1px);
}
.fdz-thread.is-top { border-left: 3px solid var(--red, #D5382C); }
.fdz-thread.is-essence { border-left: 3px solid var(--gold, #D9A441); }

/* 卡片头：作者 + 日期（参考 .bq_flisti_hd / .bq_flisti_author） */
.fdz-t-hd {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 9px;
  font-size: 12px;
  color: var(--muted, #9AA085);
}
.fdz-t-author { display: inline-flex; align-items: center; text-decoration: none; }
.fdz-t-author:hover .fdz-t-aname { color: var(--gold, #D9A441); }
.fdz-av {
  width: 26px; height: 26px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  font-family: var(--disp, inherit);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink, #E9E2CC);
  background: linear-gradient(135deg, #2C3320 0%, #1B1F14 100%);
  border: 1px solid var(--line, #3A4128);
  flex-shrink: 0;
}
.fdz-t-aname { font-weight: 500; color: #C9C2A8; margin-left: 8px; transition: color .15s; }
.fdz-t-adot { color: var(--line, #3A4128); }
.fdz-t-atime { color: var(--muted, #9AA085); font-family: var(--mono, monospace); font-size: 11px; }
.fdz-t-flags { margin-left: auto; display: flex; gap: 6px; }
.fdz-t-flag {
  font-family: var(--mono, monospace);
  font-size: 10px;
  letter-spacing: .12em;
  padding: 1px 7px;
  border-radius: 3px;
  border: 1px solid;
}
.fdz-t-flag--top { color: #F0867E; border-color: rgba(213, 56, 44, .45); background: rgba(213, 56, 44, .10); }
.fdz-t-flag--essence { color: #E5BE6E; border-color: rgba(217, 164, 65, .4); background: rgba(217, 164, 65, .08); }
.fdz-t-flag--lock { color: var(--muted, #9AA085); border-color: var(--line, #3A4128); }

/* 卡片体：标题 + 摘要（参考 .bq_flisti_title / .bq_flisti_message） */
.fdz-t-body { min-width: 0; }
.fdz-t-title { margin-bottom: 8px; line-height: 1.45; }
.fdz-t-title a {
  font-size: 17px;
  font-weight: 700;
  color: var(--ink, #E9E2CC);
  text-decoration: none;
  word-break: break-all;
  text-align: justify;
  transition: color .15s;
}
.fdz-t-title a:hover { color: var(--red, #D5382C); }
.fdz-thread.is-top .fdz-t-title a { color: #F0867E; }
.fdz-thread.is-top .fdz-t-title a:hover { color: var(--red, #D5382C); }
.fdz-thread.is-essence .fdz-t-title a::after {
  content: "\f005";
  font-family: FontAwesome;
  font-size: 12px;
  color: var(--gold, #D9A441);
  margin-left: 8px;
  vertical-align: 1px;
}
.fdz-t-summary {
  color: var(--muted, #9AA085);
  font-size: 13.5px;
  line-height: 1.7;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  margin: 0 0 12px;
  word-break: break-all;
  text-align: justify;
}

/* 卡片尾：统计 + 板块标签（参考 .bq_flisti_footer / .bq_flisti_stats） */
.fdz-t-ft { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fdz-t-stats { display: flex; gap: 22px; font-size: 12px; font-weight: 500; color: var(--muted, #9AA085); }
.fdz-t-stat { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; transition: color .15s; }
.fdz-t-stat:hover { color: var(--gold, #D9A441); }
.fdz-t-stat .fa { font-size: 12.5px; }
.fdz-t-label a {
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: #C9C2A8;
  text-decoration: none;
  border: 1px solid var(--line, #3A4128);
  padding: 2px 9px;
  border-radius: 3px;
  transition: .15s;
}
.fdz-t-label a:hover { color: var(--gold, #D9A441); border-color: rgba(217, 164, 65, .5); }

/* 空态 / 错误 / 加载 */
.fdz-empty, .fdz-err, .fdz-loading {
  padding: 52px 16px;
  text-align: center;
  color: var(--muted, #9AA085);
  font-size: 13.5px;
}
.fdz-err { color: var(--red, #D5382C); }

/* ============================================================
   详情页：楼层（参考 plhin 两栏）+ 内嵌快速回复编辑器
   ============================================================ */
.fdz-detail { max-width: 940px; margin: 0 auto; padding: 4px 0 60px; }

/* 楼层卡片（楼主 / 回复） */
.fdz-post {
  display: flex;
  gap: 0;
  background: var(--panel, #202516);
  border: 1px solid var(--line, #3A4128);
  border-radius: 8px;
  margin-bottom: 14px;
  overflow: hidden;
}
.fdz-post.is-main { border-top: 3px solid var(--red, #D5382C); }

/* 左：作者信息栏（参考 td.pls） */
.fdz-post-side {
  flex: 0 0 132px;
  padding: 20px 14px 16px;
  text-align: center;
  background: rgba(0, 0, 0, .18);
  border-right: 1px solid var(--line, #3A4128);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fdz-av-lg {
  width: 54px; height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--disp, inherit);
  font-size: 22px;
  font-weight: 600;
  color: var(--ink, #E9E2CC);
  background: linear-gradient(135deg, #2C3320 0%, #14170F 100%);
  border: 2px solid var(--line, #3A4128);
  margin-bottom: 10px;
}
.fdz-p-name {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink, #E9E2CC);
  text-decoration: none;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fdz-p-name:hover { color: var(--gold, #D9A441); }
.fdz-p-role {
  display: inline-block;
  margin-top: 8px;
  font-family: var(--mono, monospace);
  font-size: 10px;
  letter-spacing: .1em;
  padding: 1px 8px;
  border-radius: 3px;
  color: #F0867E;
  border: 1px solid rgba(213, 56, 44, .45);
  background: rgba(213, 56, 44, .10);
}
.fdz-p-role.is-user { color: #E5BE6E; border-color: rgba(217, 164, 65, .4); background: rgba(217, 164, 65, .08); }
.fdz-p-tns {
  margin-top: 12px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  font-size: 10px;
  color: var(--muted, #9AA085);
  border-top: 1px dashed var(--line, #3A4128);
  padding-top: 10px;
}
.fdz-p-tns b { display: block; font-family: var(--mono, monospace); font-size: 13px; color: var(--ink, #E9E2CC); font-weight: 600; line-height: 1.4; }
.fdz-p-tns span { letter-spacing: .05em; }

/* 右：内容区（参考 td.plc） */
.fdz-post-main { flex: 1; min-width: 0; padding: 18px 22px 20px; }

.fdz-p-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line, #3A4128);
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--muted, #9AA085);
}
.fdz-p-floor {
  color: #fff;
  background: linear-gradient(135deg, #C9302A 0%, #8E1F1A 100%);
  border-radius: 3px;
  padding: 1px 8px;
  font-size: 11px;
  letter-spacing: .06em;
}
.fdz-p-floor.is-reply { background: linear-gradient(135deg, #3A4128 0%, #262C1A 100%); }
.fdz-p-time { letter-spacing: .03em; }
.fdz-p-meta .fdz-like {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid var(--line, #3A4128);
  color: var(--muted, #9AA085);
  padding: 4px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  transition: .15s;
}
.fdz-p-meta .fdz-like:hover:not(:disabled) { border-color: var(--red, #D5382C); color: var(--red, #D5382C); }
.fdz-p-meta .fdz-like.is-on { border-color: var(--red, #D5382C); color: var(--red, #D5382C); background: rgba(213, 56, 44, .08); }
.fdz-p-meta .fdz-like b { font-family: var(--mono, monospace); font-weight: 600; }

.fdz-p-title {
  font-family: var(--disp, inherit);
  font-weight: 600;
  font-size: 25px;
  letter-spacing: .01em;
  line-height: 1.4;
  color: var(--ink, #E9E2CC);
  margin: 14px 0 6px;
  word-break: break-word;
}
.fdz-p-tag {
  display: inline-block;
  font-family: var(--mono, monospace);
  font-size: 10px;
  letter-spacing: .12em;
  padding: 2px 8px;
  border: 1px solid var(--accent, var(--line, #3A4128));
  color: var(--accent, var(--muted, #9AA085));
  margin-right: 8px;
}
.fdz-p-tag.k-red { --accent: var(--red, #D5382C); }
.fdz-p-tag.k-gold { --accent: var(--gold, #D9A441); }
.fdz-p-tag.k-green { --accent: var(--green, #A6C94A); }
.fdz-p-tag.k-blue { --accent: var(--blue, #5B9BD5); }
.fdz-p-tag.k-purple { --accent: var(--purple, #9B6FD8); }
.fdz-p-tag.k-muted { --accent: var(--muted, #9AA085); }

/* 正文（沿用 pd-body 的排版语义，暗色适配） */
.fdz-p-body { font-size: 15px; line-height: 1.9; color: var(--ink, #E9E2CC); word-break: break-word; margin: 16px 0 8px; }
.fdz-p-body h3 { font-size: 19px; margin: 18px 0 8px; font-weight: 600; }
.fdz-p-body blockquote { margin: 14px 0; padding: 10px 16px; border-left: 3px solid var(--red, #D5382C); background: rgba(213, 56, 44, .07); color: var(--muted, #9AA085); }
.fdz-p-body ul, .fdz-p-body ol { margin: 10px 0; padding-left: 24px; }
.fdz-p-body li { margin: 4px 0; }
.fdz-p-body pre { background: rgba(0, 0, 0, .35); padding: 12px 14px; border-radius: 4px; overflow-x: auto; font-family: var(--mono, monospace); font-size: 12.5px; line-height: 1.7; margin: 12px 0; }
.fdz-p-body code { font-family: var(--mono, monospace); font-size: 13px; }
.fdz-p-body a { color: var(--red, #D5382C); text-decoration: underline; }
.fdz-p-body img { max-width: 100%; height: auto; border-radius: 4px; margin: 12px 0; display: block; }
.fdz-p-body p { margin: 10px 0; }

/* 回复区标题 */
.fdz-reply-head {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--disp, inherit);
  font-weight: 600;
  font-size: 17px;
  color: var(--ink, #E9E2CC);
  margin: 30px 0 16px;
}
.fdz-reply-head .fdz-reply-cnt { font-family: var(--mono, monospace); font-size: 12px; color: var(--muted, #9AA085); font-weight: 400; }

/* ============================================================
   内嵌快速回复编辑器（参考 .tedt + .bq_vpst_editor + .pn.pnc）
   ============================================================ */
.fdz-fastpost {
  margin-top: 26px;
  background: var(--panel, #202516);
  border: 1px solid var(--line, #3A4128);
  border-radius: 8px;
  padding: 16px 18px 18px;
}
.fdz-fastpost-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink, #E9E2CC);
  margin-bottom: 12px;
}
.fdz-fastpost-title .fa { color: var(--red, #D5382C); font-size: 13px; }

/* 登录提示条（参考 Discuz .pt.hm "您需要登录后才可以回帖"） */
.fdz-fp-login {
  padding: 26px 18px;
  text-align: center;
  font-size: 14px;
  color: var(--muted, #9AA085);
  border: 1px dashed var(--line, #3A4128);
  border-radius: 6px;
}
.fdz-fp-login a { color: var(--gold, #D9A441); text-decoration: none; margin: 0 4px; }
.fdz-fp-login a:hover { text-decoration: underline; }

/* 编辑器壳（参考 .tedt：边框 + 顶栏 + 内容区） */
.fdz-editor-shell .ra-editor {
  border: 1px solid var(--line, #3A4128);
  border-radius: 6px;
  background: #14170F;
  overflow: hidden;
}
.fdz-editor-shell .ra-editor__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 6px 8px;
  background: linear-gradient(180deg, #242A17 0%, #1B1F14 100%);
  border-bottom: 1px solid var(--line, #3A4128);
}
.fdz-editor-shell .ra-editor__btn {
  min-width: 26px;
  height: 26px;
  padding: 0 6px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--muted, #9AA085);
  font-size: 12.5px;
  cursor: pointer;
  transition: .12s;
  font-family: inherit;
}
.fdz-editor-shell .ra-editor__btn:hover { background: rgba(217, 164, 65, .12); color: var(--gold, #D9A441); }
.fdz-editor-shell .ra-editor__btn.is-active { background: rgba(213, 56, 44, .18); color: var(--red, #D5382C); border-color: rgba(213, 56, 44, .35); }
.fdz-editor-shell .ra-editor__area {
  min-height: 128px;
  padding: 10px 12px;
  outline: none;
  color: var(--ink, #E9E2CC);
  font-size: 14px;
  line-height: 1.8;
}
.fdz-editor-shell .ra-editor__area:focus { box-shadow: inset 0 0 0 1px rgba(213, 56, 44, .3); }
.fdz-editor-shell .ra-editor__area[data-placeholder]:empty::before {
  content: attr(data-placeholder);
  color: #4F573D;
}
.fdz-editor-shell .ra-editor__uploading { color: var(--muted, #9AA085); font-style: italic; }

/* 验证码行 + 提交按钮（参考 .pnpost） */
.fdz-fp-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.fdz-cap {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--muted, #9AA085);
}
.fdz-cap img {
  height: 34px;
  border: 1px solid var(--line, #3A4128);
  border-radius: 4px;
  background: #14170F;
  cursor: pointer;
}
.fdz-cap input {
  width: 96px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid var(--line, #3A4128);
  border-radius: 4px;
  background: #14170F;
  color: var(--ink, #E9E2CC);
  font-family: var(--mono, monospace);
  font-size: 13px;
  outline: none;
}
.fdz-cap input:focus { border-color: rgba(213, 56, 44, .55); }
.fdz-cap input::placeholder { color: #4F573D; }
.fdz-cap .fdz-cap-tip { cursor: pointer; transition: color .15s; }
.fdz-cap .fdz-cap-tip:hover { color: var(--gold, #D9A441); }

/* 发表回复按钮（参考 .pn.pnc：实底高亮 + 白字） */
.fdz-submit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 26px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .1em;
  color: #fff;
  background: linear-gradient(135deg, #C9302A 0%, #8E1F1A 100%);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
  cursor: pointer;
  transition: opacity .18s, transform .12s;
  box-shadow: 0 4px 14px rgba(142, 31, 26, .35);
}
.fdz-submit:hover { opacity: .9; }
.fdz-submit:active { transform: translateY(1px); }
.fdz-submit:disabled { opacity: .55; cursor: default; }
.fdz-submit .fa { font-size: 13px; }

/* 楼中楼回复（父回复被回复提示） */
.fdz-r-quote {
  margin: 10px 0 6px;
  padding: 8px 12px;
  background: rgba(0, 0, 0, .22);
  border-left: 2px solid var(--gold, #D9A441);
  font-size: 12.5px;
  color: var(--muted, #9AA085);
  line-height: 1.6;
}

/* 移动端适配 */
@media (max-width: 640px) {
  .fdz-post { flex-direction: column; }
  .fdz-post-side {
    flex: none;
    flex-direction: row;
    justify-content: flex-start;
    gap: 10px;
    padding: 12px 16px;
    text-align: left;
    border-right: none;
    border-bottom: 1px solid var(--line, #3A4128);
  }
  .fdz-av-lg { width: 40px; height: 40px; font-size: 17px; margin-bottom: 0; }
  .fdz-p-tns { margin-top: 0; width: auto; border-top: none; padding-top: 0; }
  .fdz-post-main { padding: 14px 16px 16px; }
  .fdz-board-head { padding: 18px 16px; }
  .fdz-board-head h1 { font-size: 20px; }
  .fdz-t-title a { font-size: 15.5px; }
  .fdz-t-stats { gap: 14px; }
  .fdz-p-title { font-size: 20px; }
}
