﻿/* ==========================================================================
   洛圣都警察局 · 门户 Demo
   配色 / 字号 / 结构取自参考站 LSPD2 主题（colors.css + stylesheet.css）
   ========================================================================== */

:root{
  --bg:#F8F8F8;
  --white:#FFFFFF;
  --text:#5A5A5A;
  --muted:#aeaeae;
  --border:#E6E6E6;
  --border-input:#dfdfdf;

  --primary:#1976D2;
  --primary-dark:#12579b;
  --primary-hover:#1976D2;

  --header-blue:#1976D2;
  --dark:#455A64;
  --footer:#2c3940;

  --link:#1e1e1e;
  --red:#F44336;
  --red-dark:#D32F2F;

  --shadow-card:0 0 6px rgba(0,0,0,.03);
  --shadow-pop:0 0 6px rgba(0,0,0,.18),0 1px 1px rgba(0,0,0,.06);
  --radius:2px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:none}

html{
  font-size:10px;
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  font-family:"Open Sans","Segoe UI",Tahoma,"Microsoft YaHei","PingFang SC",sans-serif;
  font-size:10px;
  line-height:1.6154;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
}

a{color:var(--link);text-decoration:none;transition:color .18s cubic-bezier(.6,0,.1,1)}
a:hover{color:var(--primary)}
a:active{color:#2c3940}

ul,ol{list-style:none}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer}
input{font-family:inherit;border-radius:0;-webkit-appearance:none}
p{line-height:1.6154}

.chunk{max-width:1200px;margin:0 auto;padding:0 18px}
.chunk::after{content:"";display:block;clear:both}

.muted{color:var(--muted)}

/* ---------- 顶部导航 ---------- */
#wrap-header{
  background:var(--header-blue);
  position:sticky;top:0;z-index:100;
  transition:box-shadow .18s cubic-bezier(.6,0,.1,1);
}
#wrap-header.is-stuck{box-shadow:0 2px 10px rgba(0,0,0,.22)}

.site-header{
  height:56px;min-height:56px;line-height:56px;
  font-size:1.3em;position:relative;
}
#logo{
  float:left;display:block;line-height:0;
  margin:11px 18px 11px 0;
}
.site_logo{
  display:inline-block;width:34px;height:34px;border-radius:50%;
  background:url("../img/lapd-seal.png") center/contain no-repeat;
  box-shadow:0 0 0 2px rgba(255,255,255,.35);
}

.site-nav{float:right;display:flex;align-items:center;gap:24px;height:56px}
.site-nav a{display:block;color:#FAFAFA}
.site-nav a:hover,.site-nav a:active{color:#aeaeae}
.site-nav .nav-search{display:flex;align-items:center;height:56px}

/* ---------- 首屏 ---------- */
#site-desc-full{
  position:relative;height:448px;overflow:hidden;text-align:center;
  background:
    radial-gradient(900px 420px at 50% 30%, rgba(25,118,210,.28), transparent 70%),
    linear-gradient(180deg,#33424a 0%,#2c3940 55%,#25313a 100%);
}
#site-desc-full::before{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.028) 0 1px,transparent 1px 24px);
  pointer-events:none;
}
#site-desc-full::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 120%,rgba(0,0,0,.45),transparent 65%);
  pointer-events:none;
}
#page-description{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:100%;padding:0 18px;
  z-index:1;
}
.hero-badge{
  width:140px;height:auto;margin:0 auto 16px;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.5));
}
#site-desc-full h1{
  font-size:4.8em;font-weight:600;line-height:1.3;
  color:#FAFAFA;letter-spacing:.02em;
}
#site-desc-full h2{
  font-size:2.4em;font-weight:300;line-height:1.3;
  color:#FAFAFA;margin-top:6px;
}

/* ---------- 服务导航 ---------- */
#sub-header{
  background:var(--footer);
  padding:24px 0 20px;
}
.subnav{
  display:flex;justify-content:center;flex-wrap:wrap;gap:12px;
}
.subnav .menu{position:relative}
.button-round{
  display:inline-flex;align-items:center;gap:9px;
  height:36px;line-height:34px;padding:0 18px;
  border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);
  color:#FAFAFA;font-size:1.3em;
  transition:background-color .18s cubic-bezier(.6,0,.1,1),border-color .18s;
}
.button-round:hover,.button-round:active{background:rgba(255,255,255,.1);color:#FAFAFA;border-color:rgba(255,255,255,.4)}
.menu.is-open .button-round{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}

.caret{
  width:0;height:0;border:4px solid transparent;border-top-color:currentColor;
  margin-top:3px;transition:transform .18s;
}
.menu.is-open .caret{transform:rotate(180deg)}

.dropdown-box{
  position:absolute;top:calc(100% + 6px);left:0;min-width:230px;
  background:var(--white);border-radius:var(--radius);
  box-shadow:var(--shadow-pop);
  padding:6px 0;display:none;z-index:50;text-align:left;
}
.menu.is-open .dropdown-box{display:block}
.dropdown-box a{
  display:block;padding:14px 18px;font-size:1.3rem;line-height:1;
  color:var(--text);
}
.dropdown-box a:hover{background:#ededed;color:var(--text)}
.dropdown-box a:active{background:#ededed}

.sub-header-notice{
  margin-top:18px;text-align:center;
  font-size:1.3em;color:#aeaeae;
}
.sub-header-notice a{color:#FAFAFA;border-bottom:1px solid rgba(255,255,255,.4)}
.sub-header-notice a:hover{color:#aeaeae}

/* ---------- 面包屑 ---------- */
#breadcrumbs-mid{
  font-size:1.2em;line-height:24px;margin:18px 0;
  overflow:hidden;white-space:nowrap;
}
#breadcrumbs-mid li{display:block;float:left}
#breadcrumbs-mid li::before{content:"/";display:block;float:left;padding:0 12px;color:rgba(0,0,0,.24)}
#breadcrumbs-mid li:first-child::before{display:none}

/* ---------- 两栏布局 ---------- */
#main-wrap{
  display:grid;grid-template-columns:minmax(0,1fr) 250px;
  gap:18px;align-items:start;
  padding-bottom:18px;
}

/* ---------- 版块列表 ---------- */
#forums-wrap{margin-bottom:18px}
#forums-wrap > ol > li + li{margin-top:18px}

.fora-bg{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.fora-bg h3{
  background:var(--dark);
  color:#FAFAFA;
  font-size:1.3em;font-weight:600;line-height:1.6154;
  padding:10px 18px 12px;
  border-radius:var(--radius) var(--radius) 0 0;
}
.fora-bg > ol > li{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 120px 250px;
  position:relative;
}
.fora-bg > ol > li + li{border-top:1px solid var(--border)}

.fora-icon{
  display:flex;align-items:center;justify-content:center;
  color:var(--text);
  transition:color .18s cubic-bezier(.6,0,.1,1);
}
.fora-icon a{display:block;border-radius:var(--radius)}
.fora-icon .icon{
  display:grid;place-items:center;
  width:36px;height:36px;border-radius:var(--radius);
  transition:background-color .18s cubic-bezier(.6,0,.1,1);
}
.fora-icon svg{width:19px;height:19px}
.fora-bg li:hover .fora-icon{color:#FAFAFA}
.fora-bg li:hover .fora-icon .icon{background:var(--primary)}

.fora-description{min-width:0}
.fora-description-inner{
  font-size:1.3em;line-height:1.6154;
  padding:13px 18px;
}
.fora-description-inner h4{
  font-size:1em;font-weight:600;color:var(--text);
  display:inline-block;margin-right:6px;
}
.fora-description-inner h4 a{color:var(--text)}
.fora-description-inner h4 a:hover{color:var(--primary)}
.fora-description-inner p{color:var(--muted);line-height:1.6154}
.fora-mods{font-size:.92em}

.fora-stats{
  font-size:1.3em;line-height:1.6154;
  padding:23px 0;text-align:right;
  color:var(--text);
}
.fora-stats-sm{font-size:.8461em;margin-bottom:6px;color:var(--muted);white-space:nowrap}

.fora-recent{
  font-size:1.2em;line-height:1.5;
  padding:17px 18px;border-left:1px solid var(--border);
  min-width:0;
}
.lastsubject{
  font-weight:600;color:var(--text);
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lastsubject:hover{color:var(--primary)}
.recent-meta{color:var(--muted);margin-top:2px;font-size:.95em}

/* ---------- 最新主题 ---------- */
.latest-bg{margin-top:18px}
.latest-bg .latest-list li{
  display:grid;grid-template-columns:minmax(0,1fr) auto 160px;
  align-items:center;gap:12px;
  padding:12px 18px;border-top:1px solid var(--border);
}
.latest-bg .latest-list li:first-child{border-top:0}
.latest-bg .latest-list li:hover{background:#fafafa}
.latest-title{
  font-size:1.3em;color:var(--text);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.latest-title:hover{color:var(--primary)}
.latest-tag{
  font-size:1.05rem;color:#8a6d2f;background:rgba(200,165,91,.14);
  border:1px solid rgba(200,165,91,.35);border-radius:2px;
  padding:1px 7px;white-space:nowrap;
}
.latest-meta{font-size:1.15rem;color:var(--muted);text-align:right;white-space:nowrap}

/* ---------- 侧栏 ---------- */
.sidebar{display:flex;flex-direction:column;gap:18px}
.sidebar-block{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  padding:6px 0;
}
.sidebar-head{
  font-size:1.3em;font-weight:600;line-height:1;color:var(--text);
  padding:15px 18px 0;
}
.sidebar-body{
  font-size:1.3em;line-height:1.6154;
  padding:15px 18px;
}
.sidebar-body p + p{margin-top:4px}

.online-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.online-list li{
  font-size:.92em;padding:2px 9px;
  border:1px solid var(--border);border-radius:10px;
  background:var(--bg);
}
.colour-blue{color:#2f6fae}
.colour-gold{color:#9a7b2f}

.legend{
  display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;
  padding-top:12px;border-top:1px solid var(--border);
}
.legend span{display:flex;align-items:center;gap:6px;font-size:.85em;color:var(--muted)}
.legend i{width:9px;height:9px;border-radius:1px;flex:none}

.stats li{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:8px 0;border-bottom:1px solid var(--border);
}
.stats li:last-child{border-bottom:0;padding-bottom:0}
.stats strong{color:var(--text);font-weight:600}

/* ---------- 登录 ---------- */
.login-form{display:flex;flex-direction:column}
.field{margin-bottom:12px}
.field span{display:block;font-size:.95em;color:var(--muted);margin-bottom:5px}
.input{
  width:100%;height:36px;padding:0 12px;
  background:transparent;border:1px solid var(--border-input);
  color:var(--text);font-size:1.3rem;outline:none;
  transition:border-color .18s;
}
.input:hover{border-color:var(--primary)}
.input:focus{border-color:var(--primary-dark)}

.check-row{
  display:flex;align-items:center;gap:8px;
  font-size:1.15rem;color:var(--text);margin-bottom:8px;cursor:pointer;
}
.check-row input{accent-color:var(--primary);width:14px;height:14px}

.button{
  display:block;width:100%;height:36px;line-height:34px;
  background:var(--primary);color:#FAFAFA;
  border-radius:var(--radius);font-size:1.3rem;font-weight:600;
  text-align:center;transition:box-shadow .18s,background-color .18s;
}
.button:hover{box-shadow:0 2px 5px rgba(0,0,0,.42);color:#FAFAFA}
.button:active{background:var(--primary-dark);box-shadow:none}

.login-forgot{
  display:block;margin-top:12px;font-size:1.15rem;color:var(--muted);
  text-align:center;
}
.login-forgot:hover{color:var(--primary)}

.register-link{
  display:block;margin-top:9px;height:36px;line-height:34px;
  text-align:center;font-size:1.3rem;color:var(--text);
  background:#ededed;border-radius:var(--radius);
}
.register-link:hover{background:#e4e4e4;color:var(--text)}

/* ---------- 页脚 ---------- */
#wrap-footer{
  background:var(--footer);color:var(--muted);
  font-size:1.2em;padding:18px 0 36px;
}
#wrap-footer a{color:#FAFAFA}
#wrap-footer a:hover{color:var(--muted)}

.footer-brand{
  display:flex;align-items:center;gap:12px;
  margin-bottom:18px;padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-brand img{
  width:46px;height:46px;border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 2px 8px rgba(0,0,0,.45);
}
.footer-brand strong{display:block;font-size:1.5em;color:#FAFAFA;line-height:1.3;letter-spacing:.06em}
.footer-brand span{display:block;font-size:1.05em;color:var(--muted);letter-spacing:.05em}

.footer-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:12px}
.footer-meta{display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--muted)}
.footer-text{margin-top:9px;color:var(--muted)}
.footer-text.muted{color:#8f9ba3;font-size:.95em;max-width:760px;margin-top:14px}

/* ---------- 提示条 ---------- */
.toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);
  background:#fff;border:1px solid var(--border);border-left:3px solid var(--primary);
  color:var(--text);padding:11px 18px;border-radius:var(--radius);
  font-size:1.3rem;box-shadow:var(--shadow-pop);z-index:200;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
}
.toast.is-show{opacity:1;transform:translate(-50%,0)}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  #main-wrap{grid-template-columns:1fr}
  .sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .sidebar-block:last-child{grid-column:1 / -1}
}

@media (max-width:700px){
  .chunk{padding:0 9px}
  #site-desc-full{height:340px}
  #site-desc-full h1{font-size:3.4em}
  #site-desc-full h2{font-size:1.9em}
  .hero-badge{width:96px;margin-bottom:14px}

  .site-nav{gap:16px}
  .site-nav a{font-size:1.25rem}

  .fora-bg > ol > li{grid-template-columns:56px minmax(0,1fr)}
  .fora-stats{display:none}
  .fora-recent{
    grid-column:2;border-left:0;border-top:1px solid var(--border);
    margin-top:6px;padding:10px 18px 14px;
  }
  .fora-icon{justify-content:center}
  .fora-description-inner{padding:12px 18px 6px}

  .sidebar{grid-template-columns:1fr}
  .footer-nav,.footer-meta{flex-direction:column;gap:6px}

  .latest-bg .latest-list li{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 18px}
  .latest-meta{display:none}
}

@media (max-width:500px){
  #site-desc-full{height:300px}
  #site-desc-full h1{font-size:2.8em;letter-spacing:0}
  .sub-header-notice{font-size:1.15em}
  .button-round{padding:0 12px;font-size:1.2em}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ==========================================================================
   论坛组件（服务端渲染页面）
   ========================================================================== */

/* 提示条 */
.alert{
  padding:10px 18px;margin:14px auto;max-width:1200px;
  border:1px solid;border-radius:2px;font-size:1.3em;
}
.alert-ok{background:#E8F5E9;border-color:#A5D6A7;color:#2E7D32}
.alert-error{background:#FDECEA;border-color:#F5C6C2;color:#C62828}
.alert-info{background:#E3F2FD;border-color:#90CAF9;color:#1565C0}

/* 内页标题条 */
.sub-header-compact{padding:30px 0 22px;background:var(--footer);text-align:left}
.sub-header-compact h2{font-size:2.4em;font-weight:300;color:#FAFAFA;line-height:1.4}
.sub-header-compact p{font-size:1.25em;color:#aeaeae;margin-top:6px}

/* 顶部用户区 */
.nav-user a{font-weight:600}
.nav-logout{color:#FFE3B0 !important}
.nav-logout:hover{color:#fff !important}

/* 工具条 */
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.button-inline{display:inline-block;width:auto;padding:0 18px}
.button-flat{
  display:inline-block;padding:6px 12px;font-size:1.2em;color:var(--text);
  background:#fff;border:1px solid var(--border);border-radius:2px;cursor:pointer;
}
.button-flat:hover{border-color:var(--primary);color:var(--primary)}
.button-flat.danger{color:#C62828;border-color:#F5C6C2}
.modbar{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.modbar form{display:inline}

/* 版块内主题行 */
.fora-bg > ol > li.topic-row{
  grid-template-columns:56px minmax(0,1fr) 72px 72px 250px;
  padding:12px 0;align-items:center;
}
.topic-icon{display:flex;align-items:center;justify-content:center;gap:3px;color:var(--text)}
.topic-icon a{display:block;padding:6px;border-radius:2px;color:#5A5A5A}
.topic-icon a:hover{background:var(--primary);color:#fff}
.topic-icon svg{width:18px;height:18px;display:block}
.topic-desc{min-width:0;padding:0 18px}
.topic-desc h4{font-size:1.35em;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topic-desc h4 a{color:var(--text)}
.topic-desc h4 a:hover{color:var(--primary)}
.topic-meta{font-size:1.1em;color:var(--muted)}
.topic-stats{text-align:center;font-size:1.25em;line-height:1.4}
.topic-stats .muted{font-size:.85em}
.topic-last{font-size:1.15em;border-left:1px solid var(--border);padding:0 18px;min-width:0}
.topic-last .recent-meta{font-size:.9em;color:var(--muted)}
.mark-pin,.mark-lock{font-size:10px;line-height:1}
.head-count{float:right;font-size:12px;font-weight:400;opacity:.85}
.empty-row{padding:22px 18px;color:var(--muted);font-size:1.3em}

/* 帖子 */
.post{
  display:grid;grid-template-columns:150px minmax(0,1fr);
  background:#fff;border:1px solid var(--border);border-radius:2px;
  box-shadow:var(--shadow-card);margin-bottom:18px;
}
.postprofile{
  padding:18px;border-right:1px solid var(--border);background:#fafafa;
  text-align:center;font-size:1.15em;
}
.postprofile .avatar{margin:0 auto 8px}
.postprofile .uname{display:block;font-weight:600;font-size:1.1em}
.pp-group{font-size:.95em;margin-top:2px}
.pp-stat{color:var(--muted);font-size:.85em;margin-top:6px}
.postbody{padding:16px 18px;min-width:0}
.post-head{
  display:flex;justify-content:space-between;gap:12px;
  font-size:1.1em;color:var(--muted);
  border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px;
}
.post-content{font-size:1.4em;line-height:1.75;word-wrap:break-word;overflow-wrap:break-word}
.post-content blockquote{
  background:#f5f7f9;border-left:3px solid var(--primary);
  padding:10px 14px;margin:10px 0;color:#5A5A5A;font-size:.95em;
}
.post-content pre.codebox{
  background:#fafafa;border:1px solid var(--border);border-radius:2px;
  padding:12px;overflow:auto;font-family:Consolas,monospace;font-size:12px;line-height:1.6;color:#333;
}
.post-content a{color:var(--primary);text-decoration:underline}
.post-signature{
  margin-top:16px;padding-top:10px;border-top:1px dashed var(--border);
  font-size:1.1em;color:var(--muted);
}
.post-actions{display:flex;gap:16px;margin-top:12px;font-size:1.15em}
.post-actions a{color:var(--muted)}
.post-actions a:hover{color:var(--primary)}
.post-actions .danger{color:#C62828}

/* 头像 */
.avatar{
  width:64px;height:64px;border-radius:50%;object-fit:cover;
  border:1px solid var(--border);display:inline-flex;
  align-items:center;justify-content:center;
}
.avatar-lg{width:80px;height:80px}
.avatar-none{font-size:24px;font-weight:700}

/* 表单 */
.box-form{
  background:#fff;border:1px solid var(--border);border-radius:2px;
  box-shadow:var(--shadow-card);padding:18px;margin-bottom:18px;
}
.box-form-flat{border:0;box-shadow:none;padding:0;margin:0}
.textarea{height:auto;padding:10px 12px;line-height:1.65;resize:vertical;font-size:1.3rem}
.form-actions{display:flex;align-items:center;gap:12px;margin-top:12px}
.form-foot{margin-top:14px;font-size:1.2em;text-align:center}
.chunk.narrow{max-width:680px}
.panel-body{padding:18px}

/* 快速回复 */
.quickreply{margin:18px 0 30px;background:#fff;border:1px solid var(--border);border-radius:2px;padding:18px;box-shadow:var(--shadow-card)}
.quickreply h3{font-size:1.4em;font-weight:600;color:var(--text);margin-bottom:12px}

/* 分页 */
.pagination{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.page-btn{
  display:inline-block;padding:5px 11px;border:1px solid var(--border);
  border-radius:2px;background:#fff;font-size:1.2em;color:var(--text);
}
.page-btn:hover{border-color:var(--primary);color:var(--primary)}
.page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}

/* 表格 */
.table-wrap{overflow-x:auto;margin-bottom:18px}
.table{
  width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--border);border-radius:2px;font-size:1.2em;
}
.table th{background:#455A64;color:#FAFAFA;text-align:left;padding:10px 14px;font-weight:600;white-space:nowrap}
.table td{padding:10px 14px;border-top:1px solid var(--border);vertical-align:middle}
.table .avatar{width:32px;height:32px;font-size:13px}

/* 标签页 */
.tabs{display:flex;gap:6px;margin-bottom:18px}
.tabs a{padding:9px 18px;background:#fff;border:1px solid var(--border);border-radius:2px;font-size:1.25em;color:var(--text)}
.tabs a.active{background:var(--primary);border-color:var(--primary);color:#fff}

/* 搜索 */
.search-form{display:flex;gap:10px;margin-bottom:18px}
.search-form .input{flex:1}

/* 勋章 */
.medal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-bottom:24px}
.medal-card{
  background:#fff;border:1px solid var(--border);border-top:3px solid var(--mc);
  border-radius:2px;padding:18px;box-shadow:var(--shadow-card);
}
.medal-symbol{font-size:32px;line-height:1;color:var(--mc)}
.medal-card h3{font-size:1.4em;margin:8px 0 4px;color:var(--text)}
.medal-card p{font-size:1.15em;color:var(--muted);margin-bottom:10px;line-height:1.5}
.medal-holders{display:flex;flex-wrap:wrap;gap:8px 12px}
.medal-holders a{display:flex;align-items:center;gap:6px;font-size:1.1em;color:var(--text)}
.medal-holders .avatar{width:22px;height:22px;font-size:10px}
.medal-list{display:flex;flex-direction:column;gap:8px}
.medal-chip{display:flex;align-items:center;gap:8px;font-size:1.2em;color:var(--text)}
.medal-icon{color:var(--mc);font-size:16px;line-height:1}

/* 账号面板 */
.me-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.me-row .avatar{width:52px;height:52px;font-size:20px}
.me-links{margin-bottom:8px}
.me-links li{padding:7px 0;border-bottom:1px dashed var(--border);font-size:1.2em}
.me-links li:last-child{border-bottom:0}
.danger{color:#C62828 !important}

/* 资料卡 */
.profile-card{display:flex;align-items:center;gap:18px}
.profile-name{font-size:1.8em;font-weight:600}

/* 小标签 */
.badge-red{background:#FDECEA;color:#C62828;border:1px solid #F5C6C2;font-size:10px;padding:1px 6px;border-radius:2px}
.badge-gray{background:#eee;color:#5A5A5A;border:1px solid #ddd;font-size:10px;padding:1px 6px;border-radius:2px}

/* 后台小控件 */
.inline-form{display:inline-flex;align-items:center;gap:6px}
.button-mini{font-size:11px;padding:4px 9px;border:1px solid var(--border);background:#fff;border-radius:2px;cursor:pointer;color:var(--text)}
.button-mini:hover{border-color:var(--primary);color:var(--primary)}
.button-mini.danger{color:#C62828;border-color:#F5C6C2}
.select{width:auto;height:30px;padding:0 8px;font-size:11px}

/* 静态正文 */
.prose{font-size:1.35em;line-height:1.8;color:var(--text)}
.prose h3{font-size:1.05em;margin:20px 0 8px;color:#455A64;font-weight:600}
.prose h3:first-child{margin-top:0}
.prose p{margin-bottom:10px}
.prose ul{list-style:disc;padding-left:20px;margin-bottom:10px}
.prose code{background:#f2f4f6;padding:1px 5px;border-radius:2px;font-size:.9em}

/* 简易列表 */
.latest-list li{padding:12px 18px;border-top:1px solid var(--border);font-size:1.3em}
.latest-list li:first-child{border-top:0}
.latest-list li:hover{background:#fafafa}
.latest-list li .muted{font-size:.88em}

/* 响应式补充 */
@media (max-width:700px){
  .post{grid-template-columns:1fr}
  .postprofile{border-right:0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px}
  .postprofile .avatar{width:40px;height:40px;margin:0;font-size:16px}
  .postprofile .uname{font-size:1.1em}
  .pp-stat{display:none}
  .fora-bg > ol > li.topic-row{grid-template-columns:40px minmax(0,1fr)}
  .topic-stats,.topic-last{display:none}
  .topic-desc{padding:0 12px}
  .toolbar{flex-direction:column;align-items:flex-start}
  .modbar{margin-left:0}
  .post-actions{flex-wrap:wrap}
  .sub-header-compact h2{font-size:1.9em}
  .profile-card{flex-direction:column;text-align:center;align-items:flex-start}
}

/* 字号修正：容器级基准 */
.box-form{font-size:1.3em}
.toolbar{font-size:1.3em}
.medal-card{font-size:1.3em}
.medal-card h3{font-size:1.1em}
.quickreply{font-size:1.3em}
.quickreply h3{font-size:1.15em}
.postbody{font-size:1.3em}
.postprofile{font-size:1.2em}
.topic-desc h4{font-size:1.25em}
.topic-meta{font-size:.95em}
.sub-header-compact h2{font-size:2.2em}
.sub-header-compact p{font-size:1.1em}
.form-foot{font-size:.95em}
.post-content{font-size:1.05em;line-height:1.75}
.post-head{font-size:.88em}
.post-signature{font-size:.85em}
.post-actions{font-size:.9em}
#main-wrap .fora-bg + .fora-bg{margin-top:18px}
.postprofile .uname{font-size:1.05em;line-height:1.3}

/* ==========================================================================
   开场动画 / 警衔徽记 / 身份信息
   ========================================================================== */
.intro{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 42%, #17344e 0%, #070f18 68%);
  opacity:1;transition:opacity .85s ease, visibility .85s;
}
.intro.is-hide{opacity:0;visibility:hidden}
.intro__box{text-align:center;padding:0 24px}
.intro__seal{
  width:250px;height:250px;border-radius:50%;margin:0 auto;
  box-shadow:0 0 0 3px rgba(255,255,255,.16), 0 24px 60px rgba(0,0,0,.65);
  animation:sealIn 1.15s cubic-bezier(.2,.8,.2,1) both;
}
.intro__text{
  margin-top:30px;font-size:2.4em;color:#f2e7cf;letter-spacing:.08em;
  animation:fadeUp .6s .15s both;
}
.intro__hint{
  display:block;margin-top:14px;font-size:1.05em;color:#7d90a5;letter-spacing:.25em;
  animation:fadeUp .6s .3s both;
}
@keyframes sealIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* 警衔徽记 */
.insignia{display:inline-flex;flex-direction:column;align-items:center;gap:2px;color:#8d99a6;line-height:1;vertical-align:middle}
.insignia-stars{flex-direction:row;gap:1px;color:#c8a55b}
.ins-star{font-style:normal;font-size:12px;line-height:1}
.ins-bar{display:block;width:4px;height:15px;background:currentColor;border-radius:1px}
.insignia-bars{flex-direction:row;gap:4px;color:#8d99a6}
.ins-chev{
  display:block;width:18px;height:7px;background:currentColor;
  clip-path:polygon(0 100%,50% 0,100% 100%,100% 62%,50% 15%,0 62%);
}
.insignia-sm .ins-star{font-size:10px}
.insignia-sm .ins-chev{width:14px;height:5px}
.insignia-sm .ins-bar{width:3px;height:12px}
.rank-line{display:inline-flex;align-items:center;gap:6px;color:#5A5A5A}
.rank-name{font-size:.95em}
.pp-rank{margin-top:5px}
.pp-badge{font-size:.85em;color:#aeaeae;margin-top:2px}
.id-rank{margin:4px 0 6px}
.id-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin-top:12px;max-width:460px}
.id-grid li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #E6E6E6;padding:5px 0;font-size:1.05em}
.id-grid span{color:#aeaeae}
.st-active{color:#2E7D32}
.st-leave{color:#F57C00}
.st-retired{color:#6B7280}
.st-suspended{color:#C62828}
.rank-table .rank-ins{width:96px;text-align:center}
.rank-table .insignia{margin:0 auto}
.button-danger{background:#C62828 !important;color:#fff !important}
.nowrap{white-space:nowrap}

@media (max-width:700px){
  .intro__seal{width:140px;height:140px}
  .intro__text{font-size:1.6em}
  .id-grid{grid-template-columns:1fr}
}
.ins-chev{width:20px;height:8px}
.insignia-chevrons{color:#66717e}
.insignia-bars{color:#66717e}
.box-form .select{width:100%;height:38px;font-size:1.3rem;padding:0 10px}

/* ==========================================================================
   图片上传
   ========================================================================== */
.upload-field{margin-top:6px}
.file-drop{
  display:block;border:1px dashed #cfd6dd;border-radius:4px;padding:18px;
  text-align:center;cursor:pointer;background:#fafbfc;
  transition:border-color .15s, background .15s;
}
.file-drop:hover{border-color:var(--primary);background:#f2f7fd}
.file-drop input{display:none}
.file-drop-text{font-size:1.2rem;color:#8a949c}
.upload-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.upload-preview img{
  width:76px;height:76px;object-fit:cover;border-radius:3px;
  border:1px solid var(--border);
}
.post-img{
  display:block;max-width:100%;height:auto;margin:10px 0;
  border-radius:3px;border:1px solid var(--border);
}

/* ==========================================================================
   子版块 / 警员名录
   ========================================================================== */
.subboards{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}
.subboards-label{font-size:1.2em;color:#aeaeae}
.subboard-chip{
  padding:4px 12px;border:1px solid var(--border);border-radius:14px;
  background:#fff;font-size:1.2em;color:var(--text);
}
.subboard-chip:hover{border-color:var(--primary);color:var(--primary)}

.officer-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chip{
  padding:5px 14px;border:1px solid var(--border);border-radius:16px;
  background:#fff;font-size:1.2rem;color:var(--text);
}
.chip:hover{border-color:var(--primary);color:var(--primary)}
.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}

.officer-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:18px;margin-bottom:30px;
}
.officer-card{
  background:#fff;border:1px solid var(--border);border-radius:2px;
  padding:20px 18px;text-align:center;box-shadow:var(--shadow-card);
}
.officer-avatar{margin-bottom:10px}
.officer-avatar .avatar{width:84px;height:84px;font-size:30px}
.officer-name{font-size:1.5em;color:var(--text);margin-bottom:6px}
.officer-rank{display:flex;justify-content:center;align-items:center;gap:8px;font-size:1.2em;color:#455A64;margin-bottom:6px}
.officer-meta{font-size:1.15em;color:var(--muted);margin-bottom:10px}
.officer-bio{
  font-size:1.1em;color:var(--muted);margin-top:10px;
  border-top:1px dashed var(--border);padding-top:8px;
}
.status-pill{display:inline-block;font-size:1.05rem;padding:2px 10px;border-radius:10px;border:1px solid;line-height:1.6}
.status-pill.st-active{background:#E8F5E9;border-color:#A5D7A7;color:#2E7D32}
.status-pill.st-leave{background:#FFF3E0;border-color:#FFCC80;color:#EF6C00}
.status-pill.st-retired{background:#ECEFF1;border-color:#CFD8DC;color:#546E7A}
.status-pill.st-suspended{background:#FDECEA;border-color:#F5C6C2;color:#C62828}
.officer-preview{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}

@media (max-width:700px){
  .form-grid{grid-template-columns:1fr}
  .officer-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
  .officer-avatar .avatar{width:64px;height:64px;font-size:24px}
}

/* ==========================================================================
   主题刷新：深蓝 + 灰（参考图 1 / 图 2）
   ========================================================================== */
:root{
  --bg:#eef1f5;
  --text:#4a5563;
  --muted:#8b96a3;
  --border:#d9e0e7;
  --line:#d9e0e7;
  --dark:#1b2b40;
  --footer:#16263c;
  --header-blue:#16263c;
  --navy:#16263c;
  --primary:#2f6fb3;
  --primary-dark:#24588f;
}

#wrap-header{
  background:var(--navy);
  border-bottom:2px solid #2b4767;
}
#wrap-header.is-stuck{box-shadow:0 4px 14px rgba(10,20,35,.35)}

#site-desc-full{
  background:
    radial-gradient(900px 420px at 50% 30%, rgba(47,111,179,.22), transparent 70%),
    linear-gradient(180deg,#1b2e47 0%,#16263c 55%,#101c2c 100%);
}
#sub-header{background:var(--navy)}
.sub-header-compact{background:var(--navy);border-bottom:2px solid #2b4767}

/* 版块 / 列表 */
.fora-bg{background:#fff;border:1px solid var(--border);box-shadow:0 1px 2px rgba(16,28,44,.05)}
.fora-bg h3{
  background:linear-gradient(180deg,#1e3049,#1a2a40);
  border-bottom:2px solid #31527a;
  font-size:1.35em;font-weight:700;letter-spacing:.06em;
  padding:11px 18px 12px;
}
.fora-bg > ol > li{padding:14px 0}
.fora-bg > ol > li + li{border-top:1px solid #e3e8ee}
.fora-description-inner h4{font-size:1.35em;font-weight:600;color:#1e2b3a}
.fora-description-inner p{color:var(--muted)}
.fora-stats{color:#6b7684}
.fora-recent{border-left:1px solid #e6ebf1}
.lastsubject{color:#2b3a4b;font-size:1.15em}
.recent-meta{color:var(--muted)}

.table th{background:#1b2b40;border-bottom:2px solid #31527a}
.table td{border-top:1px solid #e3e8ee}

.button{background:var(--primary)}
.button:hover{background:#3a7fbf;box-shadow:0 2px 6px rgba(16,28,44,.25)}

.sidebar-block{box-shadow:0 1px 2px rgba(16,28,44,.05)}
.sidebar-head{color:#1e2b3a}

/* 帖子：左作者栏 + 右正文 */
.post{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  background:#fff;
  border:1px solid var(--border);
  border-radius:2px;
  margin-bottom:18px;
  box-shadow:0 1px 2px rgba(16,28,44,.05);
}
.postprofile{
  padding:18px 16px;
  border-right:1px solid var(--border);
  background:#f7f9fb;
  text-align:center;
}
.pp-insignia{min-height:20px;margin-bottom:6px;display:flex;justify-content:center}
.postprofile .uname{display:block;font-size:1.35em;font-weight:600}
.pp-group{font-size:1.05em;margin:2px 0 12px}
.pp-avatar{display:flex;justify-content:center;margin-bottom:14px}
.pp-avatar .avatar{
  width:120px;height:120px;border-radius:3px;
  font-size:44px;border-color:#d5dde6;
}
.pp-fields{border-top:1px solid var(--border);padding-top:10px;font-size:1.1em;text-align:left}
.pp-fields > div{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.pp-fields dt{color:var(--muted);white-space:nowrap}
.pp-fields dd{margin:0;color:var(--text);text-align:right}

.postbody{min-width:0;display:flex;flex-direction:column}
.post-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 18px;background:#f3f6f9;border-bottom:1px solid var(--border);
  font-size:1.15em;color:var(--muted);
}
.post-num{color:#8b96a3}
.post-content{padding:18px 18px 8px;font-size:1.45em;line-height:1.8;color:#39434f}
.post-content blockquote{background:#f5f7fa;border-left:3px solid var(--primary)}
.post-signature{
  margin:0 18px 12px;padding-top:10px;border-top:1px dashed var(--border);
  font-size:1.05em;color:var(--muted);
}
.post-actions{margin:0 18px 14px;font-size:1.1em;display:flex;gap:16px}
.post-actions a{color:#7a8796}
.post-actions a:hover{color:var(--primary)}

/* 列表行（主题列表） */
.fora-bg > ol > li.topic-row{padding:14px 0}
.topic-desc h4 a{color:#1e2b3a}
.topic-stats{color:#6b7684}

/* 表单/输入 */
.input{border-color:#cfd8e2}
.box-form{border-color:var(--border)}

@media (max-width:700px){
  .post{grid-template-columns:1fr}
  .postprofile{
    display:grid;grid-template-columns:auto 1fr;gap:2px 12px;
    text-align:left;border-right:0;border-bottom:1px solid var(--border);
    padding:12px 14px;
  }
  .pp-insignia{grid-column:1;grid-row:1}
  .postprofile .uname{grid-column:2;grid-row:1;align-self:center;font-size:1.2em}
  .pp-group{grid-column:2;grid-row:2;margin:0}
  .pp-avatar{grid-column:1;grid-row:2 / span 2;margin:0}
  .pp-avatar .avatar{width:56px;height:56px;font-size:20px}
  .pp-fields{display:none}
  .post-content{padding:14px;font-size:1.35em}
}

/* logo 在深蓝底上的可读性 */
.site_logo{
  background-color:#f3f6fa;
  box-shadow:0 0 0 1px rgba(255,255,255,.55), 0 2px 6px rgba(0,0,0,.25);
  background-size:92%;
}
/* 列表标题略大 */
.topic-desc h4{font-size:1.45em}
.latest-title{font-size:1.35em}

/* ==========================================================================
   灰色警用终端风格（第 2 版）
   ========================================================================== */
:root{
  --canvas:#cfd5db;
  --panel:#e9edf1;
  --panel-2:#f2f4f6;
  --row:#f7f8fa;
  --line-strong:#b9c1c9;
  --text:#2c3540;
  --muted:#6d7885;
  --border:#b9c1c9;
}

body{background:var(--canvas);color:var(--text);font-variant-numeric:tabular-nums}

/* 全局去掉圆角与阴影，改成硬边 */
.fora-bg,.post,.sidebar-block,.box-form,.table,.alert,.upload-field .file-drop,
.intro__seal,.medal-card,.officer-card,.quick__card{
  border-radius:0;
}
.fora-bg,.post,.sidebar-block,.box-form,.table,.medal-card,.officer-card{
  box-shadow:none;
}

/* 列表 */
.fora-bg{background:var(--panel);border:1px solid var(--line-strong)}
.fora-bg > ol > li.topic-row{background:var(--row)}
.fora-bg > ol > li.topic-row + li{border-top:1px solid #d7dce1}
.fora-bg > ol > li.topic-row:hover{background:#fff}
.fora-bg h3{
  background:linear-gradient(180deg,#1c2c43,#16233700);
  background-color:#1a2a3f;
  border-bottom:2px solid #2e4a6c;
  color:#e8edf3;
}

/* 帖子：整块灰底 */
.post{background:var(--panel);border:1px solid var(--line-strong)}
.postprofile{background:#e2e7ec;border-right:1px solid var(--line-strong)}
.postbody{background:var(--panel-2)}
.post-head{
  background:#dce1e6;
  border-bottom:1px solid var(--line-strong);
  color:#5c6875;
}
.post-content{color:#2f3945}
.post-content a{color:#2b5f96}
.post-signature{border-top:1px dashed #c3cad2;color:#6d7885}

/* 侧栏 / 表格 */
.sidebar-block{background:var(--panel);border:1px solid var(--line-strong)}
.sidebar-head{color:#1f2c3b;border-bottom:1px solid #d7dce1;padding-bottom:10px}
.table{background:var(--panel-2)}
.table th{background:#1a2a3f;border-bottom:2px solid #2e4a6c}
.table td{border-top:1px solid #d7dce1}

/* 表单 */
.box-form{background:var(--panel);border:1px solid var(--line-strong)}
.input{background:#fbfcfd;border:1px solid #b9c1c9}
.input:focus{background:#fff;border-color:#2f6fb3;box-shadow:0 0 0 2px rgba(47,111,179,.12)}
.button{background:#1f4f7f;color:#fff}
.button:hover{background:#2a6098}

/* 次级信息排版更“档案” */
.pp-fields dt,.pp-fields dd{font-size:.98em}
.fora-stats-sm,.topic-stats,.recent-meta{color:#6d7885}
.latest-tag{background:#e6eaee;border-color:#c3cad2;color:#4a5563}

/* 页脚也压深 */
#wrap-footer{background:#111f31}

/* 修正：body 上的 .background-main 优先级更高 */
body.background-main,.background-main{background:var(--canvas)}
#wrap{background:transparent}

/* 帖子面板更灰一点 */
.post{background:#dfe4e9}
.postprofile{background:#d8dee4}
.postbody{background:#eef1f4}
.post-head{background:#d2d8de}
.post-content{background:transparent}
.fora-bg{background:#e3e8ec}
.fora-bg > ol > li.topic-row{background:#f4f6f8}
.sidebar-block{background:#e3e8ec}
.box-form{background:#e8ecef}
.table{background:#eef1f4}

/* 更彻底的灰色终端面板 */
:root{ --canvas:#c2c9d1; --panel:#dfe4e8; --panel-2:#e7ebee; --row:#edf0f3; --line-strong:#aeb6bf; }

body.background-main,.background-main{background:var(--canvas)}

.fora-bg,.sidebar-block,.box-form,.table,.medal-card,.officer-card{
  background:var(--panel);
  border:1px solid var(--line-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.fora-bg > ol > li.topic-row{background:var(--row)}
.fora-bg > ol > li.topic-row:hover{background:#f7f9fb}

.post{background:var(--panel);border:1px solid var(--line-strong);box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.postprofile{background:#d9dfe5;border-right:1px solid var(--line-strong)}
.postbody{background:var(--panel-2)}
.post-head{
  background:#ccd2d9;border-bottom:1px solid var(--line-strong);
  color:#4b5764;
  font-family:Consolas,"Courier New",monospace;font-size:1.1em;letter-spacing:.03em;
}
.post-content{color:#2b3542}
.pp-fields dd{font-family:Consolas,"Courier New",monospace;font-size:.98em}
.pp-fields dt{color:#657180}

/* 版块标题条加点“系统窗口”感 */
.fora-bg h3{
  background:linear-gradient(180deg,#22344d,#182638);
  border-bottom:2px solid #2f4d72;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

/* 输入框像终端 */
.input{background:#f7f9fa}
.button{background:linear-gradient(180deg,#2a5d8f,#1e4a75);border:1px solid #17395c}

/* 收尾：更深的画布 + 更紧凑的帖子行，接近系统列表 */
:root{ --canvas:#b9c1ca; }

.post{
  margin-bottom:10px;
  border-top:2px solid #2f4d72;
}
.postprofile{background:#d4dae1}
.postbody{background:#e4e8ec}
.post-head{background:#c8cfd7;color:#46525f}

#wrap-footer{background:#0f1b2b}
.footer-brand{border-bottom:1px solid rgba(255,255,255,.12)}

/* 头衔 */
.pp-title{
  font-size:.95em;color:#5c6774;line-height:1.45;
  margin:0 0 10px;word-break:break-word;
}
.profile-title{font-size:1.15em;color:#5c6774;margin:2px 0 6px;line-height:1.5}
.title-form{display:flex;gap:8px;align-items:center}
.title-form .input{flex:1;min-width:180px}

/* 头衔：做成明确的标签条 */
.pp-title{
  display:block;
  font-size:.92em;color:#27405e;line-height:1.45;text-align:left;
  background:rgba(47,77,114,.10);
  border:1px solid rgba(47,77,114,.22);
  border-left:3px solid #2f4d72;
  padding:4px 7px;margin:6px 0 10px;
  word-break:break-word;
}
.officer-title{
  display:inline-block;font-size:1.05em;color:#3c5674;
  background:rgba(47,77,114,.08);
  border:1px solid rgba(47,77,114,.18);
  padding:2px 9px;margin:2px 0 8px;line-height:1.5;
}
@media (max-width:700px){
  .pp-title{font-size:.85em;margin:2px 0 6px}
}

/* 作者栏加宽，头衔不挤 */
.post{grid-template-columns:240px minmax(0,1fr)}
.pp-title{font-size:.9em}

/* ==========================================================================
   终版：纯灰 + 白底（对照图 1 / 图 2）
   ========================================================================== */
:root{
  --canvas:#e9e9e9;
  --panel:#ffffff;
  --panel-2:#ffffff;
  --row:#ffffff;
  --border:#cfcfcf;
  --line-strong:#cfcfcf;
  --text:#333333;
  --muted:#7a7a7a;
  --primary:#2f6fb3;
}

body.background-main,.background-main{background:var(--canvas);color:#333}

/* 列表：白行 + 细灰线 */
.fora-bg{
  background:#fff;
  border:1px solid #cfcfcf;
  box-shadow:none;
  border-radius:0;
}
.fora-bg h3{
  background:#16233a;
  border-bottom:2px solid #2c4a6e;
  color:#fff;
  box-shadow:none;
}
.fora-bg > ol > li,
.fora-bg > ol > li.topic-row{
  background:#fff;
  padding:14px 0;
}
.fora-bg > ol > li + li,
.fora-bg > ol > li.topic-row + li{
  border-top:1px solid #e4e4e4;
}
.fora-bg > ol > li.topic-row:hover{background:#fafafa}
.fora-description-inner h4{font-size:1.4em;color:#1f1f1f;font-weight:700}
.fora-description-inner p{color:#7a7a7a}
.fora-stats{color:#666}
.fora-stats-sm{color:#7a7a7a}
.fora-recent{border-left:1px solid #e4e4e4}
.lastsubject{color:#2f6fb3;font-size:1.15em}
.recent-meta{color:#8a8a8a}

/* 帖子：正文纯白，作者栏浅灰 */
.post{
  background:#fff;
  border:1px solid #cfcfcf;
  border-top:1px solid #cfcfcf;
  box-shadow:none;
  border-radius:0;
  margin-bottom:10px;
}
.postprofile{
  background:#f2f2f2;
  border-right:1px solid #dcdcdc;
}
.postbody{background:#fff}
.post-head{
  background:#f5f5f5;
  border-bottom:1px solid #dcdcdc;
  color:#7a7a7a;
  font-family:inherit;
  letter-spacing:0;
}
.post-content{color:#333;background:#fff}
.post-content a{color:#2f6fb3}
.post-signature{color:#8a8a8a;border-top:1px dashed #dcdcdc}
.pp-fields dt{color:#7a7a7a}
.pp-fields dd{color:#333;font-family:inherit}
.pp-title{
  background:#f2f2f2;border:1px solid #dcdcdc;border-left:3px solid #2c4a6e;
  color:#2c3e55;font-size:.9em;
}

/* 侧栏 / 表格 / 表单白底 */
.sidebar-block,.box-form,.table{background:#fff;border:1px solid #cfcfcf;box-shadow:none;border-radius:0}
.table th{background:#16233a;border-bottom:2px solid #2c4a6e}
.table td{border-top:1px solid #e4e4e4;background:#fff}
.input{background:#fff;border:1px solid #c4c4c4}
.button{background:#2f6fb3;border:1px solid #2a5f9c}
.button:hover{background:#3a7fc4}

/* 面包屑与元信息 */
#breadcrumbs-mid{color:#7a7a7a}
.sub-header-compact{background:#16233a}

/* 头衔标签再收一点，避免换行 */
.pp-title{font-size:.85em;padding:3px 6px;line-height:1.4}
.officer-title{font-size:1em}

/* ==========================================================================
   编辑器工具栏 + 帖文排版（对照图 1）
   ========================================================================== */
.ed-toolbar{
  display:flex;flex-wrap:wrap;gap:4px;padding:6px;
  background:#f2f2f2;border:1px solid #c4c4c4;border-bottom:0;
}
.ed-btn{
  min-width:28px;height:26px;padding:0 8px;font-size:12px;line-height:24px;
  background:#fff;border:1px solid #c4c4c4;border-radius:2px;cursor:pointer;color:#333;
}
.ed-btn:hover{background:#e8f0f8;border-color:#2f6fb3}
.ed-size{height:26px;font-size:12px;border:1px solid #c4c4c4;background:#fff;border-radius:2px}
.ed-color{width:32px;height:26px;padding:0;border:1px solid #c4c4c4;background:#fff;cursor:pointer}
.editor .textarea{border-top:0;border-radius:0 0 2px 2px}

/* 帖文排版 */
.post-head{gap:14px}
.post-subject{
  color:#555;font-size:1.05em;font-weight:600;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:62%;
}
.post-meta{display:flex;align-items:center;gap:18px;color:#8a8a8a;font-size:.95em;white-space:nowrap}
.post-content{
  padding:30px 34px 26px;
  font-size:1.55em;
  line-height:1.95;
  color:#333;
}
.post-content strong{font-weight:700;color:#1f1f1f}
.post-content em{font-style:italic}
.bb-center{text-align:center;margin:14px 0}
.bb-right{text-align:right;margin:14px 0}
.bb-hr{border:0;border-top:1px solid #dddddd;margin:26px 0}
.bb-list{margin:12px 0 12px 26px;padding:0;list-style:disc}
.bb-list li{margin:6px 0}
.post-content blockquote{
  border-left:3px solid #2c4a6e;background:#f7f7f7;
  margin:14px 0;padding:12px 16px;color:#555;
}
.post-content .post-img{margin:14px 0}

/* ==========================================================================
   勋章墙表格（对照参考站）
   ========================================================================== */
.medal-table th.medal-col{width:190px}
.medal-table th.holder-col{width:32%}
.medal-table td{vertical-align:top}
.medal-table tr.medal-cat td{
  background:#1b2b40;color:#fff;font-weight:700;
  padding:8px 14px;font-size:1.25em;letter-spacing:.04em;
}
.medal-table tr.bg1 td{background:#fff}
.medal-table tr.bg2 td{background:#f7f8f9}
.medal-cell{text-align:center;width:190px}
.medal-name{font-weight:600;color:#1f1f1f;font-size:1.15em;margin-bottom:6px}
.medal-img{width:72px;height:90px;display:block;margin:0 auto}
.medal-desc{color:#555;font-size:1.2em;line-height:1.75}
.medal-holders{text-align:center;font-size:1.2em;line-height:1.8}
.medal-holders a{font-weight:600}
.holder-chip{display:inline-flex;align-items:center;gap:4px;margin:2px 6px}
.medal-ops{vertical-align:top}
.medal-ops .inline-form{margin-bottom:6px}
.medal-ops .select{max-width:130px}

/* 勋章图片按原始比例（参考站为绶带条） */
.medal-img{
  display:block;margin:6px auto 0;
  width:auto;height:auto;
  max-width:100%;max-height:90px;
}
.medal-cell{padding-top:10px}

/* 警员名录中的勋章 */
.officer-medals{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;
  margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);
}
.officer-medals img{height:20px;width:auto;display:block}
.officer-medals-more{font-size:11px;color:#8a8a8a}
.officer-medals img{height:26px}
.officer-medals{gap:4px;margin-top:12px}

/* 修复：复选框/单选框被 -webkit-appearance:none 抹掉 */
input[type="checkbox"],
input[type="radio"]{
  -webkit-appearance:auto !important;
  appearance:auto !important;
  width:15px !important;
  height:15px !important;
  min-width:15px;
  margin:0;
  padding:0;
  accent-color:#2f6fb3;
  vertical-align:middle;
  cursor:pointer;
}
.check-row{display:flex;align-items:center;gap:8px;cursor:pointer}
.check-row input{flex:none}


/* ==========================================================================
   帖文增强：标题 / 折叠 / 两端对齐 / 图注
   ========================================================================== */
.post-content{text-align:justify;text-justify:inter-ideograph}
.bb-head{
  font-weight:700;color:#1f2b3a;line-height:1.4;
  margin:22px 0 10px;padding-bottom:8px;border-bottom:1px solid #dddddd;
  text-align:left;
}
.bb-h1{font-size:1.5em}
.bb-h2{font-size:1.28em}
.bb-h3{font-size:1.12em}
.bb-justify{text-align:justify;text-justify:inter-ideograph}
.bb-spoiler{
  margin:14px 0;border:1px solid #d8d8d8;background:#fafbfc;
  border-radius:0;
}
.bb-spoiler summary{
  cursor:pointer;padding:9px 14px;font-weight:600;color:#2f4d72;
  background:#f1f4f7;border-bottom:1px solid transparent;user-select:none;
  text-align:left;
}
.bb-spoiler[open] summary{border-bottom-color:#e2e2e2}
.bb-spoiler-body{padding:12px 16px}
figure.bb-figure{margin:16px 0;text-align:center}
figure.bb-figure img{max-width:100%;height:auto;border:1px solid #dcdcdc}
figure.bb-figure figcaption{font-size:.85em;color:#7a7a7a;margin-top:6px;text-align:center}
.ed-head{height:26px;font-size:12px;border:1px solid #c4c4c4;background:#fff;border-radius:2px}

/* ==========================================================================
   所见即所得编辑器
   ========================================================================== */
.ed-surface{
  min-height:260px;max-height:640px;overflow:auto;
  padding:16px 18px;background:#fff;
  border:1px solid #c4c4c4;border-top:0;
  font-size:1.5em;line-height:1.85;color:#333;outline:none;
}
.ed-surface:empty:before{content:attr(data-placeholder);color:#9aa5b1;pointer-events:none}
.ed-surface:focus{border-color:#2f6fb3}
.ed-surface h1{font-size:1.5em;border-bottom:1px solid #ddd;padding-bottom:6px;margin:14px 0 8px}
.ed-surface h2{font-size:1.28em;border-bottom:1px solid #eee;padding-bottom:5px;margin:12px 0 6px}
.ed-surface h3{font-size:1.12em;margin:10px 0 6px}
.ed-surface blockquote{border-left:3px solid #2c4a6e;background:#f5f7fa;margin:10px 0;padding:10px 14px;color:#555}
.ed-surface pre{background:#f5f5f5;border:1px solid #ddd;padding:10px;font-family:Consolas,monospace;font-size:12px;white-space:pre-wrap}
.ed-surface details{border:1px solid #d8d8d8;background:#fafafa;margin:10px 0}
.ed-surface summary{cursor:pointer;padding:6px 10px;background:#f1f4f7;font-weight:600;color:#2f4d72}
.ed-surface figure{margin:10px 0;text-align:center}
.ed-surface figure img{max-width:100%;height:auto;border:1px solid #ddd}
.ed-surface figcaption{font-size:.8em;color:#777;margin-top:4px}
.ed-surface ul{margin:8px 0 8px 24px;list-style:disc}
.ed-surface a{color:#2f6fb3;text-decoration:underline}
.ed-hint{font-size:12px;color:#8a949c;padding:6px 2px;line-height:1.5}
.ed-store{
  width:100%;min-height:260px;padding:14px;
  font-family:Consolas,"Courier New",monospace;font-size:13px;line-height:1.65;
  border:1px solid #c4c4c4;border-top:0;background:#fbfcfd;
}
.ed-source{font-weight:700;color:#2f4d72}

/* ==========================================================================
   配色：深蓝大背景 + 白色内容区 + 灰色文字
   ========================================================================== */
body.background-main,.background-main{
  background:#0f1c2d;
  color:#4a5563;
}
#wrap{
  background:#ffffff;
  max-width:1400px;
  margin:0 auto;
  min-height:100vh;
  box-shadow:0 0 0 1px rgba(255,255,255,.05), 0 24px 80px rgba(0,0,0,.5);
}
/* 内容区保持白底，文字灰色 */
#wrap .chunk{background:transparent}
.post,#forums-wrap .fora-bg,.sidebar-block,.box-form,.table{background:#fff}
.postbody{background:#fff}
.postprofile{background:#f4f5f7}
.post-head{background:#f5f6f8}
.fora-bg > ol > li.topic-row{background:#fff}
.fora-bg > ol > li.topic-row:hover{background:#fafbfc}
.fora-bg{background:#fff;border-color:#dcdcdc}
.post{border-color:#dcdcdc}
.sidebar-block{border-color:#dcdcdc}
h1,h2,h3{color:#1f2b3a}

/* 版块配图（首页展示） */
.forum-images{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.forum-images a{display:block;flex:0 0 auto}
.forum-images img{
  height:70px;width:auto;max-width:260px;object-fit:cover;
  border:1px solid #dcdcdc;display:block;
}
/* 后台配图管理 */
.board-images{min-width:200px}
.board-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.board-thumb{position:relative;display:inline-block}
.board-thumb img{height:36px;width:auto;display:block;border:1px solid #ccc}
.board-thumb form{position:absolute;top:-7px;right:-7px}
.board-thumb .button-mini{padding:0 5px;line-height:15px;font-size:10px;background:#fff}
.board-file{font-size:11px;max-width:140px}
