:root{
  --xj-accent:#2f7cff;
  --xj-accent-dark:#6aa6ff;
  --xj-radius:14px;
  --xj-border:rgba(15,23,42,.10);
  --xj-bg:#f6f8fb;
  --xj-card:#ffffff;
  --xj-text:#1e2430;
  --xj-muted:#667085;
  --xj-nav-bg:rgba(255,255,255,.76);
  --xj-nav-border:rgba(15,23,42,.10);
  --xj-shadow:0 14px 34px rgba(16,24,40,.10);
  --xj-shadow-soft:0 10px 22px rgba(16,24,40,.08);
  --xj-blur: blur(10px);
}

/* 自动暗色（不强制时跟随系统） */
@media (prefers-color-scheme: dark){
  :root:not([data-xj-theme="light"]){
    --xj-border:rgba(255,255,255,.09);
    --xj-bg:#0b1220;
    --xj-card:rgba(15,26,48,.86);
    --xj-text:#e7eefc;
    --xj-muted:#a9b7d6;
    --xj-nav-bg:rgba(15,26,48,.62);
    --xj-nav-border:rgba(255,255,255,.09);
    --xj-shadow:0 12px 30px rgba(0,0,0,.35);
    --xj-shadow-soft:0 10px 22px rgba(0,0,0,.28);
  }
}

/* 强制主题 */
:root[data-xj-theme="dark"]{
  --xj-border:rgba(255,255,255,.09);
  --xj-bg:#0b1220;
  --xj-card:rgba(15,26,48,.86);
  --xj-text:#e7eefc;
  --xj-muted:#a9b7d6;
  --xj-nav-bg:rgba(15,26,48,.62);
  --xj-nav-border:rgba(255,255,255,.09);
  --xj-shadow:0 12px 30px rgba(0,0,0,.35);
  --xj-shadow-soft:0 10px 22px rgba(0,0,0,.28);
}

body{
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(47,124,255,.20), transparent 60%),
    radial-gradient(900px 500px at 85% 0%, rgba(34,197,94,.12), transparent 55%),
    var(--xj-bg);
  color: var(--xj-text);
}
:root[data-xj-theme="dark"] body{
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(47,124,255,.35), transparent 60%),
    radial-gradient(900px 500px at 85% 0%, rgba(0,255,180,.10), transparent 55%),
    var(--xj-bg);
}

.navbar.xj-navbar{
  border-bottom: 1px solid var(--xj-nav-border);
  background: var(--xj-nav-bg);
  backdrop-filter: var(--xj-blur);
}

.xj-brand{
  letter-spacing:.3px;
}

.xj-iconbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid var(--xj-border);
  background:rgba(255,255,255,.55);
  color:var(--xj-text);
}
:root[data-xj-theme="dark"] .xj-iconbtn{
  background:rgba(15,26,48,.58);
}
@media (prefers-color-scheme: dark){
  :root:not([data-xj-theme="light"]) .xj-iconbtn{
    background:rgba(15,26,48,.58);
  }
}
.xj-iconbtn:hover{
  filter:brightness(1.02);
}

.xj-card{
  background: var(--xj-card);
  border: 1px solid var(--xj-border);
  border-radius: var(--xj-radius);
  box-shadow: var(--xj-shadow);
}

.xj-card a{
  color: inherit;
  text-decoration: none;
}

.xj-meta{
  color: var(--xj-muted);
}

.xj-footer{
  border-top: 1px solid var(--xj-border);
  color: var(--xj-muted);
}

.btn-xj{
  background: var(--xj-accent);
  border-color: var(--xj-accent);
  color: #fff;
}
.btn-xj:hover{
  filter: brightness(1.05);
}
.btn-outline-xj{
  border-color: rgba(47,124,255,.38);
  color: var(--xj-text);
}
.btn-outline-xj:hover{
  background: rgba(47,124,255,.12);
}

.xj-post-title{
  line-height: 1.15;
}

.xj-content img{
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid var(--xj-border);
}

/* 公告卡 */
.xj-notice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px 16px;
  border-radius: var(--xj-radius);
  border: 1px dashed rgba(47,124,255,.35);
  background: rgba(47,124,255,.06);
}
.xj-notice strong{
  color: var(--xj-accent);
}

/* 悬浮按钮 */
.xj-floatbar{
  position:fixed;
  right:16px;
  bottom:84px;
  z-index: 1030;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.xj-floatbar a,
.xj-floatbar button{
  width:44px;
  height:44px;
  border-radius: 999px;
  border:1px solid var(--xj-border);
  background: var(--xj-card);
  box-shadow: var(--xj-shadow-soft);
  color: var(--xj-text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.xj-floatbar a:hover,
.xj-floatbar button:hover{
  transform: translateY(-1px);
}

/* 移动端底部 tab */
.xj-mobiletab{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index: 1030;
  border-top: 1px solid var(--xj-border);
  background: var(--xj-nav-bg);
  backdrop-filter: var(--xj-blur);
}
.xj-mobiletab .xj-mt-inner{
  display:flex;
  justify-content:space-around;
  padding:8px 6px calc(8px + env(safe-area-inset-bottom));
}
.xj-mt-item{
  flex:1;
  text-align:center;
  color: var(--xj-muted);
  text-decoration:none;
  font-size: 12px;
}
.xj-mt-item .xj-mt-ico{
  display:block;
  margin:0 auto 4px;
  width:22px;
  height:22px;
  color: var(--xj-text);
  opacity:.82;
}
.xj-mt-item.is-active{
  color: var(--xj-accent);
}
.xj-mt-item.is-active .xj-mt-ico{
  color: var(--xj-accent);
  opacity: 1;
}

/* 暗色下关闭按钮可见性 */
@media (prefers-color-scheme: dark){
  :root:not([data-xj-theme="light"]) .btn-close{
    filter: invert(1) grayscale(100%);
    opacity: .75;
  }
}
:root[data-xj-theme="dark"] .btn-close{
  filter: invert(1) grayscale(100%);
  opacity: .75;
}

@media (min-width: 992px){
  .xj-mobiletab{ display:none; }
}

@media (max-width: 991.98px){
  main.container{
    padding-bottom: 86px;
  }
}

/* 让 WP 默认 block 样式别太突兀 */
.wp-block-separator{
  border-color: var(--xj-border);
  opacity: 1;
}

