:root{
  --bg:#eef6fb;
  --page:#ffffff;
  --soft:#f5f9fc;
  --line:#d7e3ec;
  --line2:#e8eef3;
  --text:#333333;
  --muted:#6b7d8d;
  --blue:#0e67ad;
  --blue2:#2d8bd1;
  --blue3:#e7f3fb;
  --green:#239b45;
  --red:#d63131;
  --gold:#ffba21;
  --shadow:0 1px 3px rgba(31,69,101,.12);
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  color:var(--text);
  background:var(--bg);
  font:14px/1.55 Arial,"Microsoft YaHei","PingFang SC",sans-serif;
}
a{color:#174f86;text-decoration:none}
a:hover{text-decoration:underline;color:#d63131}
.wrap{width:min(1200px,calc(100% - 20px));margin:0 auto}
.inline{display:inline}
.small{font-size:12px}
.muted{color:var(--muted)}

.site-head{background:#fff;border-bottom:1px solid #cfdce7}
.head-sky{
  background:#cdefff;
  background-image:linear-gradient(180deg,#d9f7ff 0%,#bee9fb 100%);
  border-bottom:1px solid #a9d2eb;
}
.head-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-logo{display:block;color:#07365a;text-decoration:none}
.site-logo strong{display:block;font-size:32px;line-height:1.1;font-weight:900;letter-spacing:0}
.site-logo span{display:block;margin-top:6px;color:#4d7891;font-size:13px}
.account-box{
  min-width:300px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  color:#31546b;
}
.account-box a,.linkbtn{font-weight:700;color:#174f86}
.account-hi{color:#31546b}
.linkbtn{border:0;background:transparent;cursor:pointer;padding:0;font:inherit}
.register-link{font-weight:900}
.login-link{
  padding:6px 18px;
  color:#fff!important;
  border:1px solid #095c9c;
  background:linear-gradient(#2988ce,#0c63a9);
  box-shadow:inset 0 1px rgba(255,255,255,.35);
}

.nav-bar{background:linear-gradient(#2c8ed4,#075ca3);border-top:1px solid #4ba1da;border-bottom:1px solid #064f8e}
.nav-inner{height:39px;display:flex;align-items:center;justify-content:space-between;position:relative}
.main-nav{display:flex;align-items:stretch;height:39px}
.main-nav a{
  display:flex;
  align-items:center;
  padding:0 16px;
  color:#fff;
  font-weight:800;
  border-left:1px solid rgba(255,255,255,.18);
  border-right:1px solid rgba(0,0,0,.12);
  text-decoration:none;
}
.main-nav a:hover,.main-nav a.active{background:#fff;color:#155d98;text-decoration:none}
.quick-select{
  color:#155d98;
  background:#fff;
  border:1px solid #0c5e9c;
  min-width:126px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}
.nav-toggle{display:none}
.nav-burger{display:none}
.nav-backdrop{display:none}

.channel-wrap{background:#f8fbfd;border-bottom:1px solid var(--line)}
.channel-grid{display:grid;grid-template-columns:42px 1fr 320px;gap:12px;align-items:center;padding:10px 0}
.channel-icon{
  width:34px;height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(#ffdf58,#f3a700);
  font-weight:900;
}
.channel-links{display:flex;flex-wrap:wrap;gap:4px 14px}
.channel-links a{font-weight:700;color:#164d84}
.channel-links a.hot{color:var(--green)}
.channel-side{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}
.channel-side a{font-weight:800;color:#164d84}

.search-wrap{background:#eaf3fa;border-bottom:1px solid var(--line)}
.search-inner{display:flex;align-items:center;gap:12px;padding:8px 0}
.search{display:flex;width:min(590px,100%)}
.search input{
  height:34px;
  flex:1;
  border:1px solid #c9d8e2;
  border-right:0;
  background:#fff;
  padding:0 10px;
  color:#333;
}
.search button{
  height:34px;
  min-width:76px;
  border:1px solid #c9d8e2;
  background:#f6f8fa;
  color:#526a7a;
  cursor:pointer;
}
.hot-words{color:#526a7a;display:flex;gap:8px;white-space:nowrap}
.hot-words a{color:#174f86}

.page-main{padding:10px 0 18px}
.crumb{padding:8px 4px;color:#8296a7;font-size:13px}
.notice-line{
  border:1px solid var(--line);
  background:#fff;
  padding:8px 10px;
  color:#6b7d8d;
  box-shadow:var(--shadow);
}
.notice-line strong{color:var(--red);margin-right:8px}
.site-stats{
  margin:8px 0;
  padding:7px 10px;
  border:1px solid var(--line);
  background:#f7fbfe;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  color:#566b7e;
  font-size:13px;
}

.discuz-box,.panel{
  background:var(--page);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  margin:10px 0;
  overflow-x:auto;
}
.box-title{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px;
  font-weight:900;
  color:#274a63;
  background:linear-gradient(#fff,#f1f6fa);
  border-bottom:1px solid var(--line);
}
.box-title a,.rank-title a{font-size:12px;font-weight:700}
.empty-row{padding:16px;color:var(--muted);background:#fff}

.rank-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
  background:#fff;
  margin:10px 0;
  box-shadow:var(--shadow);
}
.rank-col{min-width:0;border-right:1px solid var(--line)}
.rank-col:last-child{border-right:0}
.rank-title{
  height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 10px;
  font-weight:900;
  color:#333;
  background:linear-gradient(#fff,#f3f7fa);
  border-bottom:1px solid var(--line);
}
.rank-col ul{list-style:none;margin:0;padding:6px 9px}
.rank-col li{
  min-height:25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px dotted #dfe8ef;
  overflow:hidden;
}
.rank-col li:last-child{border-bottom:0}
.rank-col li a,.rank-col li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-col li a::before{content:"■";font-size:9px;color:#f2a900;margin-right:6px}
.rank-col li span,.rank-col li em{color:#8998a4;font-style:normal;font-size:12px;flex:0 0 auto}

.forum-section{
  margin:10px 0;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.section-title{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 10px;
  color:#164d84;
  font-weight:900;
  background:linear-gradient(#f9fcfe,#eaf3fa);
  border-bottom:1px solid var(--line);
}
.section-title small{color:#708595;font-weight:400}
.forum-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 110px 260px;
  gap:10px;
  align-items:center;
  min-height:74px;
  padding:10px;
  border-bottom:1px solid var(--line2);
  color:var(--text);
  text-decoration:none;
}
.forum-row:last-child{border-bottom:0}
.forum-row:hover{background:#fbfdff;text-decoration:none}
.forum-icon{
  width:26px;height:26px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff7a8 0 12%,#ffd531 32%,#f4aa00 75%);
  box-shadow:0 1px 2px rgba(160,111,0,.22);
}
.forum-info{min-width:0}
.forum-info strong{
  display:block;
  color:#174f86;
  font-size:15px;
  margin-bottom:2px;
}
.forum-info strong em{
  color:#a56b00;
  font-size:12px;
  font-style:normal;
  margin-left:5px;
}
.forum-info small{display:block;color:#697f90;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forum-count{text-align:center;color:#677989;font-size:13px}
.forum-last{font-size:12px;color:#526a7a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forum-last strong{display:block;color:#174f86;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.forum-last small{display:block;color:#7f8f9a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.board-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  margin-bottom:10px;
}
.board-head h2{margin:0 0 4px;color:#174f86;font-size:18px}
.board-head p{margin:0 0 4px;color:#526a7a}
.board-head span{color:#7b8c99;font-size:12px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 14px;
  border:1px solid #0a5d9f;
  background:linear-gradient(#2d90d6,#0d64aa);
  color:#fff!important;
  font-weight:800;
  text-decoration:none!important;
  cursor:pointer;
}
.btn.ghost{background:#f7fbfe;color:#174f86!important;border-color:#bdd1df}
.btn.danger{background:linear-gradient(#e35b5b,#c83333);border-color:#b52c2c}

.topic-table{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.topic-head,.topic-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) 130px 80px 210px;
  gap:10px;
  align-items:center;
}
.topic-head{
  min-height:34px;
  padding:0 10px;
  color:#435b6f;
  font-weight:900;
  background:linear-gradient(#fff,#f1f6fa);
  border-bottom:1px solid var(--line);
}
.topic-line{
  min-height:58px;
  padding:9px 10px;
  border-bottom:1px solid var(--line2);
  color:#425668;
  text-decoration:none;
}
.topic-line:last-child{border-bottom:0}
.topic-line:hover{background:#fbfdff;text-decoration:none}
.topic-name{min-width:0}
.topic-name strong{display:block;color:#174f86;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topic-line small{display:block;color:#81909a;font-size:12px}
.tag{
  display:inline-block;
  margin-right:5px;
  padding:1px 5px;
  border:1px solid #8dbbe0;
  background:#e8f4fd;
  color:#1a69a8;
  font-style:normal;
  font-size:12px;
}
.tag.warn{border-color:#e1c365;background:#fff8dc;color:#8a6500}
.pager{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.page{
  min-width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:#fff;
  color:#174f86;
}
.page.active{background:#1d78bd;color:#fff;border-color:#0f609c;text-decoration:none}

h2,h3{color:#244b65}
label{display:block;margin:10px 0 5px;color:#526a7a;font-size:13px}
input,textarea,select{
  width:100%;
  border:1px solid #c9d8e2;
  background:#fff;
  color:#333;
  padding:8px 10px;
  font:inherit;
}
textarea{resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.table{width:100%;border-collapse:collapse;margin-top:8px}
.table th,.table td{padding:9px;border-bottom:1px solid var(--line2);text-align:left;font-size:13px}
.panel{padding:14px}
.panel .table{min-width:920px}
.list{margin:0;padding-left:20px}
.hr{border:0;border-top:1px solid var(--line);margin:14px 0}
.flash{
  margin:8px 0;
  padding:9px 10px;
  border:1px solid var(--line);
  background:#fff;
}
.flash.ok{border-color:#acd7b4;background:#f0fbf2;color:#16642a}
.flash.bad{border-color:#e6b1b1;background:#fff2f2;color:#a42828}

.post{padding:12px 0;border-bottom:1px solid var(--line2)}
.post:last-child{border-bottom:0}
.post-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.post-user{font-weight:900;color:#174f86}
.post-body{line-height:1.7;color:#333}
.attach{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px}
.attach-img img{display:block;max-width:180px;height:auto;border:1px solid var(--line);background:#f7fbfe}
.attach-link{padding:8px 10px;border:1px solid var(--line);background:#f8fbfd;color:#526a7a}
.video-embed{width:100%;max-width:720px;margin-top:10px}
.video-embed iframe{width:100%;aspect-ratio:16/9;border:1px solid var(--line);background:#000}
.video-embed-tiktok iframe{aspect-ratio:9/16;max-height:760px}
.video-embed-ig iframe{min-height:520px;background:#111}
.video-embed-fb iframe{background:#000}
code{font-family:var(--mono);font-size:12px;background:#f4f7fa;border:1px solid var(--line);padding:2px 5px}

.collab-strip{display:flex;gap:10px;overflow-x:auto;padding:10px}
.collab-card{flex:0 0 260px;border:1px solid var(--line);background:#fff}
.collab-card img{display:block;width:100%;height:86px;object-fit:cover}
.footer-notice{padding-bottom:10px}
.footer-notice p{margin:10px;color:#d63131;font-size:12px}

.search-results{list-style:none;margin:0;padding:8px 12px}
.search-results li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dotted #dfe8ef}
.search-results li:last-child{border-bottom:0}
.search-results span{color:#7d8d99;font-size:12px}

.footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 0 22px;
  color:#637787;
  border-top:1px solid #d7e3ec;
  font-size:12px;
}
.footer-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.toTop{
  position:fixed;
  right:16px;
  bottom:18px;
  width:38px;
  height:38px;
  border:1px solid #bdd1df;
  background:#fff;
  color:#174f86;
  display:grid;
  place-items:center;
  cursor:pointer;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  z-index:90;
  box-shadow:var(--shadow);
}
.toTop.show{opacity:1;transform:translateY(0);pointer-events:auto}

@media (max-width:900px){
  .head-inner{height:auto;padding:14px 0;align-items:flex-start}
  .site-logo strong{font-size:26px}
  .account-box{min-width:0;flex-wrap:wrap}
  .channel-grid{grid-template-columns:36px 1fr}
  .channel-side{grid-column:1 / -1;grid-template-columns:repeat(3,1fr)}
  .rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .forum-row{grid-template-columns:34px minmax(0,1fr) 86px}
  .forum-last{grid-column:2 / -1}
  .topic-head,.topic-line{grid-template-columns:minmax(0,1fr) 90px 52px}
  .topic-head span:last-child,.topic-line > span:last-child{grid-column:1 / -1}
  .footer{flex-direction:column;align-items:flex-start}
}

@media (max-width:620px){
  .wrap{width:min(100% - 14px,1200px)}
  .head-inner{gap:10px}
  .site-logo span{display:none}
  .account-box{font-size:12px;justify-content:flex-start}
  .nav-inner{height:auto;min-height:39px}
  .nav-burger{
    display:flex;
    width:38px;height:32px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.12);
    cursor:pointer;
  }
  .nav-burger span{display:block;width:18px;height:2px;background:#fff}
  .main-nav.nav-drawer{
    position:fixed;
    top:48px;
    left:7px;
    right:7px;
    height:auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 12px 30px rgba(30,65,90,.22);
    z-index:70;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease;
  }
  .main-nav.nav-drawer a{
    color:#174f86;
    min-height:42px;
    justify-content:center;
    border:0;
    border-bottom:1px solid var(--line2);
  }
  #navToggle:checked ~ .main-nav.nav-drawer{opacity:1;pointer-events:auto;transform:translateY(0)}
  #navToggle:checked ~ .nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.18);
    z-index:60;
  }
  .quick-select{min-width:106px;height:28px;font-size:12px}
  .search-inner{flex-direction:column;align-items:stretch}
  .hot-words{overflow-x:auto}
  .channel-grid{padding:8px 0}
  .channel-links{gap:5px 10px;font-size:13px}
  .channel-side{font-size:13px}
  .rank-grid{grid-template-columns:1fr}
  .rank-col{border-right:0;border-bottom:1px solid var(--line)}
  .forum-row{grid-template-columns:30px minmax(0,1fr);gap:8px}
  .forum-count,.forum-last{grid-column:2 / -1;text-align:left}
  .board-head{align-items:flex-start;flex-direction:column}
  .topic-head{display:none}
  .topic-line{grid-template-columns:1fr;gap:3px}
  .grid2{grid-template-columns:1fr}
  .search-results li{display:block}
}
