/* ============================================================
   bbs.jfedu.net 深色主题覆盖层
   设计语言对齐 www.jfedu.net —— 暗色深空 + 蓝紫青渐变
   通过 header.htm 末尾 <link> 引入，覆盖 Discuz style_4 浅色样式
   ============================================================ */
:root{
  --bg:#060912; --bg2:#0a0f1e; --surface:#0f1528; --surface2:#141c38;
  --glass:rgba(255,255,255,.035); --glass2:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.08); --border2:rgba(255,255,255,.14);
  --blue:#4f7cff; --purple:#a855f7; --cyan:#06b6d4;
  --text:#eaf0fa; --text2:#9ba6bf; --text3:#5a6480;
  --grad:linear-gradient(135deg,#4f7cff 0%,#a855f7 50%,#06b6d4 100%);
  --radius:14px;
}

/* 背景：深空 + 渐隐网格 + 极光球 */
html{background:var(--bg) !important;}
body{position:relative;z-index:0;background-color:var(--bg) !important;background-image:none !important;
  color:var(--text) !important;
  font-family:'Noto Sans SC',system-ui,-apple-system,'Microsoft YaHei',sans-serif !important;
  font-size:14px !important;line-height:1.7 !important;}
body::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(79,124,255,.14),transparent 42%),
    radial-gradient(circle at 88% 30%,rgba(168,85,247,.12),transparent 42%),
    radial-gradient(circle at 50% 105%,rgba(6,182,212,.10),transparent 45%);}
body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(79,124,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(79,124,255,.045) 1px,transparent 1px);
  background-size:60px 60px;
  -webkit-mask-image:radial-gradient(ellipse 85% 60% at 50% 35%,#000 25%,transparent 80%);
  mask-image:radial-gradient(ellipse 85% 60% at 50% 35%,#000 25%,transparent 80%);}

/* 链接 */
a{color:#8fb4ff !important;text-decoration:none !important;transition:color .2s;}
a:hover{color:#fff !important;text-decoration:none !important;}
:focus{outline-color:var(--blue) !important;}

/* 顶部条 toptb */
#toptb{background:rgba(10,15,30,.92) !important;backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border) !important;color:var(--text2) !important;}
#toptb a{color:var(--text2) !important;}
#toptb a:hover{color:#fff !important;}
#um a{color:var(--text2) !important;}
#um a:hover{color:#fff !important;}

/* 头部 logo */
#hd{background:transparent !important;}
#hd h2{color:#fff !important;}

/* 主导航 nv */
#nv{background:linear-gradient(180deg,#0a0f1e,#060912) !important;
  border-bottom:1px solid var(--border) !important;height:54px !important;}
#nv li{background:none !important;}
#nv li a{position:relative;float:left;padding:0 18px;height:54px !important;line-height:54px !important;
  color:var(--text2) !important;font-family:'Noto Sans SC',system-ui,sans-serif !important;
  font-size:16px !important;font-weight:500 !important;letter-spacing:.02em !important;}
#nv li a:hover{color:#fff !important;}
#nv li.a{background:transparent !important;}
#nv li.a a{color:#fff !important;font-weight:600 !important;}
#nv li.a a::after{content:'';position:absolute;left:18px;right:18px;bottom:0;height:2px;background:var(--grad);border-radius:2px;}
#qmenu{background:var(--glass) !important;border:1px solid var(--border2) !important;
  color:var(--text) !important;height:30px !important;line-height:30px !important;border-radius:10px !important;font-weight:600 !important;}
#qmenu:hover{background:var(--glass2) !important;color:#fff !important;}

/* 搜索栏 scbar */
#scbar{background:var(--surface) !important;border-bottom:1px solid var(--border) !important;height:52px !important;line-height:52px !important;}
#scbar_txt{background:var(--glass) !important;border:1px solid var(--border2) !important;
  border-radius:10px !important;color:var(--text) !important;height:34px !important;}
#scbar_txt::placeholder{color:var(--text3) !important;}
#scbar_btn{background:var(--grad) !important;color:#fff !important;border-radius:0 10px 10px 0 !important;border:none !important;}
#scbar_btn:hover{filter:brightness(1.1);}
#scbar_type{background:var(--surface2) !important;border:1px solid var(--border2) !important;color:var(--text2) !important;}

/* 内容卡片 */
.bm{border:1px solid var(--border) !important;background:var(--surface) !important;
  border-radius:var(--radius) !important;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.35);}
.bm_c{background:transparent !important;}
.fl{border:1px solid var(--border) !important;border-top:1px solid var(--border) !important;
  background:var(--surface) !important;border-radius:var(--radius) !important;overflow:hidden;}
.ct2_a,.ct3_a,.ct1{background:var(--surface) !important;background-image:none !important;
  border:1px solid var(--border) !important;border-radius:var(--radius) !important;}
.frame,.frame-tab{background:var(--surface) !important;border:1px solid var(--border) !important;}
.wp{background:transparent !important;}

/* 卡片标题栏 */
.bm_h{background:var(--surface2) !important;border-bottom:1px solid var(--border) !important;
  color:var(--text) !important;height:46px !important;line-height:46px !important;}
.bm_h a,.bm_h h2,.bm_h .xs2{color:var(--text) !important;font-family:'Sora','Noto Sans SC',sans-serif !important;font-weight:600 !important;}
.bmw .bm_h{background:transparent !important;border-bottom:1px solid var(--border) !important;}
.fl .bm_h h2{border-bottom:2px solid;border-image:linear-gradient(90deg,#4f7cff,#06b6d4) 1 !important;
  background:none !important;color:var(--text) !important;font-family:'Sora','Noto Sans SC',sans-serif !important;font-weight:700 !important;}
.fl .bm_h h2 a{color:var(--text) !important;}
.frame-title,.frametitle,.tab-title{background:var(--surface2) !important;background-image:none !important;color:#fff !important;border:none !important;}

/* 表格 */
table{border-color:var(--border) !important;}
th,td{border-color:var(--border) !important;color:var(--text) !important;}
caption,th{color:var(--text) !important;}
.alt,.alt th,.alt td{background:rgba(255,255,255,.03) !important;}
tbody tr:hover{background:rgba(255,255,255,.03) !important;}
.t th,.t td{border-color:var(--border) !important;}

/* 文字色 */
.fl .bm_h h2,.fl_g dt a,.fl_row td a,.xld dt a,.xld dd a{color:var(--text) !important;}
.xg1,.xg1 a{color:var(--text3) !important;}
.xg2{color:var(--text2) !important;}
.xi1,.onerror{color:var(--cyan) !important;}
.xi2,.xi2 a,.xi3 a{color:var(--text) !important;}
.fc-p{color:var(--text) !important;}
.fc-s{color:var(--text3) !important;}
.fc-n{color:var(--blue) !important;}
.emp a{color:#8fb4ff !important;}

/* 标题与面包屑 */
h1,h2,h3,h4,h5,h6{color:var(--text) !important;}
#pt{color:var(--text3) !important;}
#pt a{color:var(--text2) !important;}
#pt a:hover{color:#fff !important;}

/* 输入框 */
.px,.pt,.ps,select,textarea{background:var(--glass) !important;border:1px solid var(--border2) !important;
  color:var(--text) !important;border-radius:8px !important;}
.px:focus,.pt:focus,.ps:focus,select:focus,textarea:focus{border-color:var(--blue) !important;
  box-shadow:0 0 0 3px rgba(79,124,255,.18) !important;}
.ftid a{background:var(--surface2) !important;border:1px solid var(--border2) !important;color:var(--text) !important;}

/* 按钮 */
.pnc,a.pnc,.pn,a.pn{background:var(--grad) !important;border:none !important;color:#fff !important;
  border-radius:10px !important;font-weight:600 !important;box-shadow:0 4px 18px rgba(79,124,255,.30) !important;}
.pnc:hover,a.pnc:hover,.pn:hover,a.pn:hover{filter:brightness(1.12);color:#fff !important;}
.pgsbtn{background:var(--grad) !important;color:#fff !important;border:none !important;border-radius:8px !important;}
#post_reply,#post_replytmp{background:var(--surface2) !important;color:var(--text) !important;
  border:1px solid var(--border2) !important;border-radius:8px !important;}
#post_reply:hover,#post_replytmp:hover{background:var(--glass2) !important;color:#fff !important;}

/* 分页 */
.pg a,.pg strong,.pgb a,.pg label{border:1px solid var(--border2) !important;background:var(--surface) !important;
  color:var(--text2) !important;border-radius:8px !important;height:34px !important;line-height:34px !important;margin-left:4px !important;padding:0 12px !important;}
.pg a:hover,.pgb a:hover{border-color:var(--blue) !important;color:#fff !important;}
.pg strong{background:var(--grad) !important;color:#fff !important;border:none !important;}
.pgb a{border:1px solid var(--border2) !important;}

/* 标签页 */
.tb a{background:transparent !important;color:var(--text2) !important;border:1px solid transparent !important;
  border-radius:8px 8px 0 0 !important;padding:0 14px !important;height:32px !important;line-height:32px !important;}
.tb .a a,.tb .current a{background:var(--surface2) !important;color:#fff !important;
  border-bottom:2px solid var(--blue) !important;font-weight:700 !important;}
.tb .o,.tb .o a{background:var(--grad) !important;color:#fff !important;border:none !important;}

/* 弹出菜单 */
.p_pop{background:var(--surface) !important;border:1px solid var(--border2) !important;
  box-shadow:0 20px 50px rgba(0,0,0,.5) !important;}
.p_pop a{color:var(--text2) !important;}
.p_pop a:hover,.p_pop a.a,#sctype_menu .sca{background:var(--glass2) !important;color:#fff !important;}

/* 页脚 */
#footer{background:var(--bg2) !important;border-top:1px solid var(--border) !important;}
#ft{color:var(--text3) !important;line-height:1.9 !important;}
#ft a{color:var(--text2) !important;}
#ft a:hover{color:#fff !important;}

/* 回到顶部 */
#scrolltop{background:var(--surface) !important;border:1px solid var(--border2) !important;}
#scrolltop a{color:var(--blue) !important;border-top:none !important;}
#scrolltop:hover{background:var(--grad) !important;border-color:transparent !important;}
#scrolltop a:hover{color:#fff !important;}

/* 各类白底小部件统一转深色 */
.m_c,.nfl .f_c,.tedt .area,.pmfl,.jump_bdl,.focus,.tab,.pgs2,.card,.tip,.ntc_l{
  background:var(--surface) !important;border-color:var(--border) !important;color:var(--text) !important;}
.tedt .bar{background:var(--surface2) !important;background-image:none !important;}
.tedt .pt{background:var(--surface) !important;}
.avt img{background:var(--surface2) !important;border-color:var(--border) !important;padding:2px !important;}
.card{width:295px !important;border-color:var(--border) !important;}
.card a{color:#8fb4ff !important;}
.card .o a{background:var(--surface2) !important;border:1px solid var(--border2) !important;color:var(--text2) !important;}
.card .o a:hover{background:var(--glass2) !important;color:#fff !important;}

/* 门户模块标题条（xfs_*）统一中性化 */
.xfs .frame-title,.xfs .frametitle,.xfs .tab-title{background:var(--surface2) !important;
  background-image:none !important;color:#fff !important;border:none !important;}
.xfs .frame-title a,.xfs .frametitle a,.xfs .tab-title a{color:#fff !important;}
.xfs_1 .frame-title,.xfs_2 .frame-title,.xfs_3 .frame-title,.xfs_4 .frame-title,.xfs_5 .frame-title,
.xfs_1 .frametitle,.xfs_2 .frametitle,.xfs_3 .frametitle,.xfs_4 .frametitle,.xfs_5 .frametitle,
.xfs_1 .tab-title,.xfs_2 .tab-title,.xfs_3 .tab-title,.xfs_4 .tab-title,.xfs_5 .tab-title{
  background-color:rgba(79,124,255,.18) !important;background-image:none !important;}
.xfs .tb .a a{background:var(--grad) !important;color:#fff !important;}

/* 公告/提示 */
.ntc_l{background:var(--surface) !important;color:var(--text) !important;border:1px solid var(--border) !important;}
.notice:before{color:var(--cyan) !important;}

/* patch 块 */
.patch .bm{border-color:var(--blue) !important;background:var(--surface) !important;}
.patch .bm_h{background:var(--blue) !important;color:#fff !important;}
.patch .allfixed .bm_h{background:var(--green,#22c55e) !important;}

/* 表单提示 */
.rfm .p_tip{background:var(--surface) !important;color:var(--text2) !important;border:1px solid var(--border) !important;}
.p_tip{color:var(--text2) !important;}

/* 选中与滚动条 */
::selection{background:rgba(79,124,255,.35) !important;color:#fff !important;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:6px;border:2px solid var(--bg2);}
::-webkit-scrollbar-thumb:hover{background:rgba(79,124,255,.4);}

/* 移动端：保持深色一致 */
@media (max-width:768px){
  #nv{height:auto !important;}
  #nv li a{height:44px !important;line-height:44px !important;font-size:15px !important;}
  .bm,.fl,.ct2_a,.ct3_a,.ct1{border-radius:10px !important;}
}
