/* ===== XILET · 内页（文章 / 列表）===== */

/* ---------- 面包屑 ---------- */
.crumb{
  background:var(--bg-soft,#F7F9FB);
  border-bottom:1px solid var(--line-lt,#EEF2F6);
  font-size:13px; color:var(--ink-500,#6B7686);
}
.crumb__inner{
  max-width:1200px; margin:0 auto;
  padding:14px 24px;
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
}
.crumb a{ color:var(--ink-500,#6B7686); text-decoration:none; transition:color .15s; }
.crumb a:hover{ color:var(--blue-700,#1B4B7F); }
.crumb__sep{ color:var(--ink-300,#9AA3B0); }
.crumb__cur{ color:var(--ink-900,#1A1F2E); font-weight:500; }

/* ---------- 页面头部（列表页）---------- */
.pagehead{
  position:relative;
  background:linear-gradient(105deg,#0F3355 0%,#1B4B7F 58%,#245C96 100%);
  color:#fff;
  overflow:hidden;
}
.pagehead::after{
  content:'';
  position:absolute; right:-70px; top:-70px;
  width:280px; height:280px; border-radius:50%;
  background:rgba(255,255,255,.05);
}
.pagehead__inner{
  position:relative; z-index:1;
  max-width:1200px; margin:0 auto;
  padding:42px 24px 38px;
}
.pagehead__en{
  font-family:var(--font-en,Inter);
  font-size:12px; letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  margin-bottom:10px;
}
.pagehead__ttl{
  margin:0 0 10px;
  font-family:var(--font-title,serif);
  font-size:30px; font-weight:600; letter-spacing:.02em;
}
.pagehead__sub{
  margin:0;
  font-size:14px; line-height:1.75;
  color:rgba(255,255,255,.76);
  max-width:640px;
}

/* ---------- 双栏布局 ---------- */
.pagewrap{
  max-width:1200px; margin:0 auto;
  padding:40px 24px 64px;
  display:grid;
  grid-template-columns:1fr 380px;
  gap:36px;
  align-items:start;
}

/* ---------- 文章正文 ---------- */
.article{
  background:#fff;
  border:1px solid var(--line-lt,#EEF2F6);
  border-radius:var(--r-6,6px);
  padding:38px 40px 32px;
}
.article__ttl{
  margin:0 0 18px;
  font-family:var(--font-title,serif);
  font-size:27px; font-weight:600;
  line-height:1.5; letter-spacing:.01em;
  color:var(--ink-900,#1A1F2E);
}
.article__meta{
  display:flex; align-items:center; flex-wrap:wrap; gap:16px;
  padding-bottom:22px;
  margin-bottom:28px;
  border-bottom:1px solid var(--line-lt,#EEF2F6);
  font-size:13px; color:var(--ink-500,#6B7686);
}
.article__meta i{
  font-style:normal;
  display:inline-flex; align-items:center; gap:5px;
}
.article__tag{
  padding:2px 10px;
  border-radius:2px;
  background:rgba(27,75,127,.08);
  color:var(--blue-700,#1B4B7F);
  font-size:12px; font-weight:500;
}

/* 正文排版 */
.article__body{ font-size:15.5px; line-height:2; color:var(--ink-700,#37414F); }
.article__body p{ margin:0 0 20px; }
.article__body h2{
  margin:36px 0 16px;
  padding-left:12px;
  border-left:3px solid var(--blue-700,#1B4B7F);
  font-family:var(--font-title,serif);
  font-size:21px; font-weight:600; line-height:1.5;
  color:var(--ink-900,#1A1F2E);
}
.article__body h3{
  margin:28px 0 12px;
  font-size:17px; font-weight:600;
  color:var(--ink-900,#1A1F2E);
}
.article__body ul,
.article__body ol{ margin:0 0 20px; padding-left:22px; }
.article__body li{ margin-bottom:10px; }
.article__body strong{ color:var(--ink-900,#1A1F2E); font-weight:600; }
.article__body a{ color:var(--blue-700,#1B4B7F); text-decoration:underline; text-underline-offset:3px; }

.article__body blockquote{
  margin:24px 0;
  padding:16px 20px;
  background:var(--bg-soft,#F7F9FB);
  border-left:3px solid var(--gold,#B8923A);
  color:var(--ink-700,#37414F);
  font-size:14.5px;
}
.article__body blockquote p:last-child{ margin-bottom:0; }

.article__body table{
  width:100%; border-collapse:collapse;
  margin:20px 0; font-size:14px;
}
.article__body th,
.article__body td{
  border:1px solid var(--line,#DDE3EA);
  padding:10px 12px; text-align:left;
}
.article__body th{
  background:var(--bg-soft,#F7F9FB);
  font-weight:600; color:var(--ink-900,#1A1F2E);
}

/* 文章底部导航 */
.article__nav{
  margin-top:36px;
  padding-top:24px;
  border-top:1px solid var(--line-lt,#EEF2F6);
  display:grid; gap:10px;
}
.article__nav a{
  display:flex; align-items:center; gap:10px;
  padding:12px 16px;
  background:var(--bg-soft,#F7F9FB);
  border-radius:var(--r-4,4px);
  font-size:14px; color:var(--ink-700,#37414F);
  text-decoration:none;
  transition:background .15s, color .15s;
}
.article__nav a:hover{ background:rgba(27,75,127,.07); color:var(--blue-700,#1B4B7F); }
.article__nav b{
  flex:none; font-size:12px; font-weight:500;
  color:var(--ink-300,#9AA3B0);
  min-width:56px;
}
.article__nav span{
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

/* ---------- 列表页 ---------- */
.filterbar{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-bottom:8px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line-lt,#EEF2F6);
}
.filterbar__btn{
  padding:7px 16px;
  border:1px solid var(--line,#DDE3EA);
  border-radius:2px;
  background:#fff;
  font-size:13.5px; color:var(--ink-700,#37414F);
  font-family:inherit; cursor:pointer;
  transition:all .15s;
}
.filterbar__btn:hover{ border-color:var(--blue-700,#1B4B7F); color:var(--blue-700,#1B4B7F); }
.filterbar__btn.is-on{
  background:var(--blue-700,#1B4B7F);
  border-color:var(--blue-700,#1B4B7F);
  color:#fff;
}

.artlist{ list-style:none; margin:0; padding:0; }
.artlist li{ border-bottom:1px dashed var(--line-lt,#EEF2F6); }
.artlist li:last-child{ border-bottom:0; }
.artlist a{
  display:flex; align-items:flex-start; gap:14px;
  padding:18px 4px;
  text-decoration:none;
  transition:padding-left .18s;
}
.artlist a:hover{ padding-left:10px; }
.artlist__dot{
  flex:none; width:5px; height:5px; margin-top:9px;
  border-radius:50%; background:var(--blue-700,#1B4B7F); opacity:.5;
}
.artlist a:hover .artlist__dot{ opacity:1; }
.artlist__mid{ flex:1; min-width:0; }
.artlist__ttl{
  display:block;
  font-size:15.5px; line-height:1.65; font-weight:500;
  color:var(--ink-900,#1A1F2E);
  transition:color .15s;
}
.artlist a:hover .artlist__ttl{ color:var(--blue-700,#1B4B7F); }
.artlist__desc{
  display:block; margin-top:6px;
  font-size:13px; line-height:1.7;
  color:var(--ink-500,#6B7686);
  overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical;
}
.artlist__date{
  flex:none;
  font-size:13px; color:var(--ink-300,#9AA3B0);
  font-family:var(--font-en,Inter);
  padding-top:2px;
}

/* 分页 */
.pager{
  display:flex; justify-content:center; align-items:center;
  gap:8px; margin-top:32px;
}
.pager a,
.pager span{
  min-width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  padding:0 12px;
  border:1px solid var(--line,#DDE3EA);
  border-radius:2px;
  font-size:13.5px; color:var(--ink-700,#37414F);
  text-decoration:none;
  transition:all .15s;
}
.pager a:hover{ border-color:var(--blue-700,#1B4B7F); color:var(--blue-700,#1B4B7F); }
.pager .is-on{
  background:var(--blue-700,#1B4B7F);
  border-color:var(--blue-700,#1B4B7F);
  color:#fff;
}
.pager .is-off{ color:var(--ink-300,#9AA3B0); cursor:default; }

/* 空状态 */
.pagewrap .empty{
  padding:60px 0; text-align:center;
  color:var(--ink-300,#9AA3B0); font-size:14px;
}

/* ---------- 内页侧栏复用 ---------- */
.pagewrap .side{ display:grid; gap:20px; }

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .pagewrap{ grid-template-columns:1fr; gap:28px; }
  .pagewrap .side{ order:2; }
}

@media (max-width:768px){
  .crumb__inner{ padding:12px 16px; font-size:12px; }
  .pagehead__inner{ padding:30px 16px 26px; }
  .pagehead__ttl{ font-size:24px; }
  .pagehead__sub{ font-size:13px; }

  .pagewrap{ padding:24px 16px 48px; gap:24px; }

  .article{ padding:24px 18px 22px; border-radius:4px; }
  .article__ttl{ font-size:21px; margin-bottom:14px; }
  .article__meta{ gap:12px; padding-bottom:16px; margin-bottom:20px; font-size:12px; }
  .article__body{ font-size:15px; line-height:1.95; }
  .article__body h2{ font-size:18px; margin:28px 0 12px; }
  .article__body h3{ font-size:16px; }

  .filterbar{ gap:6px; }
  .filterbar__btn{ padding:6px 12px; font-size:12.5px; }

  .artlist a{ flex-direction:column; gap:6px; padding:15px 2px; }
  .artlist__dot{ display:none; }
  .artlist__ttl{ font-size:15px; }
  .artlist__desc{ -webkit-line-clamp:2; }
  .artlist__date{ padding-top:0; order:-1; }

  .article__nav a{ font-size:13px; padding:11px 13px; }
}