:root{
  --bg:#ffffff; --surface:#f8f9fa; --surface-2:#ffffff;
  --text:#212529; --text-muted:#5a6169;
  --primary:#bf2836; --primary-dark:#951f2a; --secondary:#6c757d;
  --success:#2f7d41; --info:#24727f; --warning:#dcaf29; --danger:#bf2836;
  --dark:#343a40; --border:#e9ecef; --border-card:rgba(0,0,0,.125);
  --radius:4px; --radius-pill:10rem;
  --shadow-card:2px 2px 3px rgba(173,181,189,.25);
  --font-body:"Helvetica Neue",Helvetica,"Microsoft Yahei","Hiragino Sans GB","WenQuanYi Micro Hei","微软雅黑","华文细黑",STHeiti,sans-serif;
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.25rem; --space-6:1.5rem;
  --container:960px; --container-wide:1140px;
  --ease:ease-in-out; --dur:180ms;
  --white:#ffffff; --ink:#000000;
  --overlay-soft:rgba(0,0,0,.02); --nav-divider:rgba(255,255,255,.1);
  --nav-border:rgba(255,255,255,.15); --nav-text:rgba(255,255,255,.6); --nav-text-strong:rgba(255,255,255,.7);
  --alert-ink:#1e5b2d; --alert-bg:#e8f5ec; --alert-border:#c3e6cd; --tag-border:#bbb;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;
  display:flex;flex-direction:column;min-height:100vh;overflow-wrap:anywhere}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4,h5,p,ul,ol,dl,dt,dd,figure,blockquote{margin:0}
ul,ol{padding-left:0;list-style:none}
small,.small{font-size:80%}
.text-muted{color:var(--text-muted)}
.text-center{text-align:center}
.text-right{text-align:right}
.text-nowrap{white-space:nowrap}
.font-weight-bold{font-weight:700}
.mb-0{margin-bottom:0}
.mb-2{margin-bottom:var(--space-2)}
.mb-3{margin-bottom:var(--space-4)}
.mt-1{margin-top:var(--space-1)}
.mt-2{margin-top:var(--space-2)}
.mt-3{margin-top:var(--space-4)}
.ml-1{margin-left:var(--space-1)}
.ml-2{margin-left:var(--space-2)}
.mr-1{margin-right:var(--space-1)}
.mr-3{margin-right:var(--space-4)}
.my-3{margin-block:var(--space-4)}
.p-2{padding:var(--space-2)}
.py-4{padding-block:var(--space-6)}
.d-flex{display:flex}
.flex-wrap{flex-wrap:wrap}
.justify-content-center{justify-content:center}
.justify-content-between{justify-content:space-between}
.align-items-center{align-items:center}
.w-100{width:100%}
.d-none{display:none!important}
.container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:15px}
.row{display:flex;flex-wrap:wrap;margin-inline:-15px}
.row>*{padding-inline:15px}
.col{flex:1 1 0;min-width:0}
.col-lg-9,.col-lg-12{flex:0 0 100%;max-width:100%}
.col-lg-3{flex:0 0 100%;max-width:100%}
.site-header{background:var(--dark);color:var(--white)}
.site-header .container{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-block:var(--space-2)}
.brand{display:flex;align-items:center;gap:var(--space-2);color:var(--white);font-size:1.25rem;font-weight:700;white-space:nowrap}
.brand img{width:32px;height:32px;display:block;background:#ffffff;border-radius:6px;padding:2px}
.brand:hover{text-decoration:none;color:var(--white)}
.nav-toggle{margin-left:auto;background:transparent;border:1px solid var(--nav-border);color:var(--nav-text-strong);
  font-size:1.1rem;line-height:1;padding:.25rem .6rem;border-radius:var(--radius);cursor:pointer}
.nav-wrap{flex-basis:100%;display:none;gap:var(--space-2)}
.nav-wrap.open{display:flex;flex-direction:column}
.site-nav{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);align-items:center}
.site-nav a{color:var(--nav-text);padding:.25rem .4rem;border-radius:var(--radius);font-size:.9rem}
.site-nav a:hover{color:var(--white);background:#444b52;text-decoration:none}
.site-nav a.active{color:var(--white);background:#4d555e}
.site-nav.nav-secondary{border-top:1px solid var(--nav-divider);padding-top:var(--space-2)}
main{flex:1 0 auto;padding-top:var(--space-4)}
main>.container>.row>div{padding-block:var(--space-2)}
.site-footer{background:var(--surface);border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem;margin-top:var(--space-6)}
.site-footer .container{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;padding-block:var(--space-5)}
.site-footer a{color:var(--text-muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.alert{position:relative;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid transparent;border-radius:var(--radius)}
.alert-success{color:var(--alert-ink);background-color:var(--alert-bg);border-color:var(--alert-border)}
.card{position:relative;display:flex;flex-direction:column;min-width:0;background-color:var(--surface);
  border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:var(--space-4)}
.card-body{flex:1 1 auto;padding:var(--space-5)}
.card-header{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-card);background-color:var(--overlay-soft);border-radius:var(--radius) var(--radius) 0 0}
.card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-card);background-color:var(--overlay-soft);border-radius:0 0 var(--radius) var(--radius)}
.card-title{font-weight:700;margin-bottom:var(--space-2)}
.btn{display:inline-block;padding:.375rem .75rem;border:1px solid transparent;border-radius:var(--radius);font-size:1rem;
  line-height:1.5;text-align:center;cursor:pointer;transition:background-color var(--dur) var(--ease)}
.btn-primary{color:var(--white);background-color:var(--primary);border-color:var(--primary)}
.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);text-decoration:none;color:var(--white)}
.btn-block{display:block;width:100%}
.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:400;line-height:1;text-align:center;
  white-space:nowrap;vertical-align:baseline;border:1px solid var(--ink);border-radius:var(--radius)}
.badge-primary{color:var(--white);background-color:var(--primary)}
.badge-secondary{color:var(--white);background-color:var(--secondary)}
.badge-success{color:var(--white);background-color:var(--success)}
.badge-info{color:var(--white);background-color:var(--info)}
.badge-warning{color:var(--text);background-color:var(--warning)}
.badge-light{color:var(--text);background-color:var(--surface)}
.badge-pill{border-radius:var(--radius-pill);padding-inline:.6em}
.tile{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);
  color:var(--white);width:2.4rem;height:2.4rem;flex:0 0 auto;font-weight:700;font-size:.95rem}
.tile.tile-lg{width:4.5rem;height:4.5rem;font-size:1.5rem}
.tile-a{background:#bf2836}.tile-b{background:#2d91a1}.tile-c{background:#39954e}
.tile-d{background:var(--warning);color:var(--text)}.tile-e{background:var(--secondary)}.tile-f{background:#5c4a8a}
.media{display:flex;align-items:flex-start}
.media-body{flex:1;min-width:0}
.threadlist{list-style:none;margin:0;padding:0}
.thread{border-bottom:1px solid var(--border);padding:.7rem 0}
.thread:last-child{border-bottom:0}
.thread:hover{background-color:var(--surface-2)}
.thread .subject{display:block;font-weight:600;margin-bottom:.15rem;color:var(--text)}
.thread .subject:hover{color:var(--primary);text-decoration:none}
.thread .meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);align-items:center;font-size:.8rem;color:var(--text-muted)}
.thread .note{font-size:.82rem;color:var(--text-muted);margin-top:.2rem;line-height:1.55}
.nav-tabs{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0}
.nav-tabs a{display:block;padding:.4rem .9rem;border:1px solid transparent;border-bottom:0;color:var(--text-muted);font-size:.9rem}
.nav-tabs a.active{color:var(--primary);background:var(--surface-2);border-color:var(--border) var(--border) var(--surface-2);border-radius:var(--radius) var(--radius) 0 0;font-weight:600}
.nav-tabs a:hover{text-decoration:none;color:var(--primary)}
.nav-top{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:var(--space-2) var(--space-3)}
.nav-top a{display:block;padding:.22rem .6rem;border-radius:var(--radius);font-size:.87rem;color:var(--text-muted)}
.nav-top a.active{background:var(--primary);color:var(--white)}
.nav-top a:hover{background:var(--surface-2);text-decoration:none;color:var(--primary)}
@media (max-width:991.98px){
  .nav-top{max-height:9.5rem;overflow-y:auto;padding:var(--space-2);gap:2px}
  .nav-top a{padding:.14rem .42rem;font-size:.78rem}
}
.taglist{margin-bottom:var(--space-2)}
.taglist .taglist-label{color:var(--text-muted);padding-right:.6rem;font-size:.85rem;white-space:nowrap;vertical-align:middle}
.taglist a{display:inline-block;margin-right:.2rem;margin-bottom:.3rem;padding:1px 10px;border:1px solid var(--tag-border);border-radius:10px;font-size:.83rem;color:var(--text-muted)}
.taglist a.active,.taglist a:hover{border-color:var(--ink);background:var(--ink);color:var(--white);text-decoration:none}
.breadcrumb{display:flex;flex-wrap:wrap;list-style:none;margin:0 0 var(--space-3);padding:0;font-size:.85rem;color:var(--text-muted)}
.breadcrumb li+li::before{content:"/";padding-inline:.5rem;color:var(--border)}
.pagination{display:flex;flex-wrap:wrap;gap:0;justify-content:center;list-style:none;margin:var(--space-4) 0;padding:0}
.pagination a,.pagination span{display:block;padding:.375rem .75rem;border:1px solid var(--border);margin-left:-1px;color:var(--text-muted);font-size:.9rem}
.pagination a:hover{background:var(--surface-2);color:var(--primary);text-decoration:none}
.pagination .active span{color:var(--white);background:var(--primary);border-color:var(--primary)}
.pagination .disabled span{color:var(--text-muted);background:var(--surface)}
.stat-table{width:100%;border-collapse:collapse;font-size:.85rem}
.stat-table td{text-align:center;padding:var(--space-1)}
.stat-table b{display:block;font-size:1.05rem;color:var(--text)}
.line-height-3{line-height:1.9}
.quick-links{display:grid;grid-template-columns:1fr;gap:var(--space-2);margin-bottom:var(--space-4)}
.quick-links a{display:block;padding:var(--space-3);border:1px solid var(--border-card);border-radius:var(--radius);
  background:var(--surface-2);font-size:.92rem;font-weight:600}
.quick-links a:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}
.quick-links span{display:block;font-weight:400;font-size:.8rem;color:var(--text-muted);margin-top:.15rem}
.filter-box{display:flex;gap:var(--space-2)}
.filter-box input{flex:1 1 auto;min-width:0;padding:.375rem .6rem;border:1px solid var(--border-card);border-radius:var(--radius);
  font-family:inherit;font-size:.92rem;background:var(--surface-2);color:var(--text)}
.filter-box input:focus{outline:2px solid var(--primary);outline-offset:1px}
.region-list{max-height:22rem;overflow-y:auto;margin-top:var(--space-2)}
.region-list a{display:flex;justify-content:space-between;gap:var(--space-2);padding:.3rem .2rem;font-size:.88rem;border-bottom:1px solid var(--border)}
.region-list a:last-child{border-bottom:0}
.region-list .admin{color:var(--text-muted);font-size:.78rem;white-space:nowrap}
.card-site-info .m-3{padding:var(--space-4)}
.prose h2{font-size:1.25rem;font-weight:700;margin:var(--space-5) 0 var(--space-2)}
.prose h3{font-size:1.0625rem;font-weight:700;margin:var(--space-4) 0 var(--space-1)}
.prose p{margin-bottom:var(--space-3)}
.prose ul{margin-bottom:var(--space-3)}
.prose li{margin-bottom:var(--space-2)}
.prose dt{font-weight:700;margin-top:var(--space-3)}
.prose dd{margin:0 0 var(--space-1);color:var(--text-muted);font-size:.92rem}
.prose h1{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-3);line-height:1.35}
.faq dt{font-weight:700;margin-top:var(--space-4)}
.faq dd{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.93rem}
.marquee-bar{overflow:hidden;border-radius:var(--radius);border:1px solid var(--border-card);background:var(--surface-2);
  padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);font-size:.92rem}
.marquee-bar b{color:var(--primary)}
@media (min-width:576px){.container{max-width:540px}.quick-links{grid-template-columns:1fr 1fr}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){
  .container{max-width:var(--container)}
  .nav-toggle{display:none}
  .nav-wrap{display:flex;flex-direction:column;flex-basis:auto;flex:1 1 auto;min-width:0}
  .col-lg-9{flex:0 0 75%;max-width:75%}
  .col-lg-3{flex:0 0 25%;max-width:25%}
  .col-lg-12{flex:0 0 100%;max-width:100%}
}
@media (min-width:1200px){.container{max-width:var(--container-wide)}}
