@charset "UTF-8";
/*
  GEXYRAL article detail shell styles.
  This file controls the article-detail page frame: topbar, hero, topic navigation,
  article card, related articles, footer and lightbox.

  IMPORTANT for article content HTML/CSS:
  - These rules are placed in the cascade layer `gx-article-shell`.
  - User-provided article CSS inside content_html is unlayered and therefore has
    higher priority, so each article can use its own scoped HTML+CSS freely.
  - For best stability, article body CSS should still be scoped under a unique
    wrapper such as `.gx-insight-page` to avoid styling the page frame.
*/
@layer gx-article-shell {
:root{
  --bg0:#07101b;
  --bg1:#0b1728;
  --bg2:#0f2036;
  --card:#111c2f;
  --card2:#0f1829;
  --card3:#13233b;
  --txt:#E5E7EB;
  --muted:#9CA3AF;
  --muted2:#94A3B8;
  --line:rgba(255,255,255,.08);
  --line2:rgba(255,255,255,.12);
  --brand:#2563EB;
  --brand2:#1D4ED8;
  --brand3:#60A5FA;
  --ok:#10B981;
  --warn:#F59E0B;
  --bad:#EF4444;
  --shadow:0 20px 60px rgba(0,0,0,.35);
  --shadow2:0 10px 40px rgba(0,0,0,.25);
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:20px;
  --radius-2xl:24px;
}
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial;
  color:var(--txt);
  background:#07111f;
  position:relative;
  isolation:isolate;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(900px 520px at 12% 4%, rgba(37,99,235,.20), transparent 62%),
    radial-gradient(760px 500px at 84% 5%, rgba(14,165,233,.12), transparent 64%),
    radial-gradient(780px 540px at 96% 38%, rgba(16,185,129,.10), transparent 64%),
    linear-gradient(135deg, #06101d 0%, #081524 42%, #071827 72%, #07111f 100%);
  background-repeat:no-repeat;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.42;
  background-image:
    linear-gradient(rgba(148,163,184,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,.045) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(96,165,250,.08), transparent 38%);
  background-size:64px 64px,64px 64px,100% 100%;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,.32) 62%, transparent 100%);
}
.container{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  padding:28px 18px 64px;
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  margin-bottom:24px;
  border:1px solid rgba(148,163,184,.12);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(8,18,32,.78), rgba(7,15,27,.58));
  box-shadow:0 18px 46px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--txt);
}
.brand .logo{
  width:44px;height:44px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(37,99,235,.95), rgba(29,78,216,.75));
  box-shadow:0 14px 40px rgba(37,99,235,.25);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.brand .logo img{width:26px;height:26px;display:block}
.brand .name{
  display:flex;flex-direction:column;gap:2px;
}
.brand .name strong{font-size:14px;letter-spacing:.3px}
.brand .name span{font-size:12px;color:rgba(229,231,235,.75)}
.actions{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:rgba(229,231,235,.9);
  font-size:12px;
  text-decoration:none;
}
.lang{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
}
.lang select{
  background:transparent;
  color:rgba(229,231,235,.95);
  border:none;outline:none;
  font-size:12px;
  cursor:pointer;
}
.lang option{color:#111827}
.lang-icon{font-size:12px;opacity:.9;line-height:1;display:inline-flex}

.breadcrumb{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:13px;
  margin:0 0 18px;
  flex-wrap:wrap;
}
.breadcrumb a{
  color:var(--muted2);
  text-decoration:none;
}
.breadcrumb a:hover{color:#fff}
.breadcrumb .current{color:#fff}

.hero-article{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(640px 300px at 84% -20%, rgba(96,165,250,.16), transparent 62%),
    radial-gradient(560px 280px at 0% 100%, rgba(16,185,129,.11), transparent 62%),
    linear-gradient(135deg, rgba(16,31,53,.94), rgba(9,18,32,.97) 58%, rgba(7,28,34,.92));
  border:1px solid rgba(148,163,184,.14);
  border-radius:30px;
  padding:32px 30px 28px;
  box-shadow:0 24px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
  margin-bottom:24px;
}
.hero-article::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:56px 56px;
  opacity:.26;
  pointer-events:none;
}
.hero-article::after{
  content:"";
  position:absolute;
  width:360px;height:360px;
  right:-130px;bottom:-170px;
  background:radial-gradient(circle, rgba(37,99,235,.20), transparent 66%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:2}
.article-categories{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.category-tag{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  background:rgba(37,99,235,.10);
  color:var(--brand3);
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
}
.category-tag:hover{
  background:rgba(37,99,235,.18);
  color:#fff;
}
.article-headline{
  font-size:34px;
  line-height:1.18;
  margin:0 0 14px;
  font-weight:800;
  background:linear-gradient(135deg,#fff,rgba(255,255,255,.78));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.article-subtitle{
  margin:0;
  max-width:820px;
  font-size:15px;
  line-height:1.9;
  color:#c3d0e0;
}
.article-meta-bar{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:18px;
}
.meta-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  font-size:12px;
  color:#dce7f7;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.articles-layout{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:32px;
  margin:26px 0;
}
.sidebar{
  display:flex;
  flex-direction:column;
  gap:24px;
}
@media (min-width:1025px){
  .sidebar{
    position:sticky;
    top:20px;
    align-self:start;
  }
}
.sidebar-widget{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:22px;
}
.widget-title{
  font-size:16px;
  font-weight:700;
  margin:0 0 18px;
  color:var(--txt);
  display:flex;
  align-items:center;
  gap:8px;
}
.widget-title:before{
  content:"";
  width:4px;height:16px;
  background:var(--brand);
  border-radius:2px;
}
.search-form{
  display:flex;
  gap:8px;
}
.search-form input{
  flex:1;
  min-width:0;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:11px 15px;
  color:var(--txt);
  font-size:14px;
  width:100%;
}
.search-form input:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}
.search-btn{
  background:linear-gradient(135deg, var(--brand), var(--brand2));
  color:#fff;
  border:none;
  border-radius:var(--radius-md);
  padding:11px 15px;
  cursor:pointer;
  font-size:14px;
  white-space:nowrap;
  flex-shrink:0;
  font-weight:700;
}

.categories-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.category-sidebar-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 15px;
  background:rgba(255,255,255,.02);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  color:var(--muted2);
  text-decoration:none;
  transition:all .2s ease;
}
.category-sidebar-item:hover{
  background:rgba(255,255,255,.05);
  border-color:var(--brand);
  color:var(--txt);
  transform:translateX(5px);
}
.category-sidebar-item.active{
  background:linear-gradient(135deg, var(--brand), var(--brand2));
  color:#fff;
  border-color:var(--brand);
}
.category-name{
  font-weight:500;
  line-height:1.45;
}
.category-count{
  background:rgba(255,255,255,.10);
  padding:2px 8px;
  border-radius:10px;
  font-size:12px;
  flex-shrink:0;
}

.popular-articles-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.popular-article-item{
  display:flex;
  gap:12px;
  padding:10px;
  background:rgba(255,255,255,.02);
  border-radius:var(--radius-md);
  text-decoration:none;
  transition:all .2s ease;
}
.popular-article-item:hover{
  background:rgba(255,255,255,.05);
  transform:translateX(5px);
}
.popular-article-cover{
  width:60px;height:60px;
  border-radius:var(--radius-sm);
  overflow:hidden;
  flex-shrink:0;
  background:#111827;
}
.popular-article-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.popular-article-content{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.popular-article-title{
  font-size:13px;
  font-weight:600;
  color:var(--txt);
  margin:0 0 5px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.popular-article-meta{
  display:flex;
  gap:10px;
  color:var(--muted2);
  font-size:11px;
  flex-wrap:wrap;
}

.article-info-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.info-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.info-item:last-child{border-bottom:none}
.info-label{
  color:var(--muted);
  font-size:13px;
}
.info-value{
  color:var(--txt);
  font-size:13px;
  font-weight:500;
  text-align:right;
}

.toc-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.toc-link{
  display:block;
  color:var(--muted2);
  text-decoration:none;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.02);
  border:1px solid transparent;
  font-size:13px;
  line-height:1.5;
}
.toc-link:hover{
  color:#fff;
  border-color:rgba(37,99,235,.25);
  background:rgba(255,255,255,.05);
}
.toc-link.level-3{
  margin-left:12px;
  font-size:12px;
}

.content-area{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.article-detail{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(760px 260px at 50% -10%, rgba(96,165,250,.075), transparent 62%),
    linear-gradient(180deg, rgba(12,24,42,.82), rgba(8,17,31,.94));
  border:1px solid rgba(148,163,184,.13);
  border-radius:30px;
  padding:30px;
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
}
.article-detail::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.30;
  background:
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.72), transparent 72%);
}
.article-detail > *{
  position:relative;
  z-index:1;
}
.article-cover-main{
  margin:0 0 24px;
  border-radius:22px;
  overflow:hidden;
  background:#0f172a;
  border:1px solid rgba(148,163,184,.12);
  box-shadow:0 18px 48px rgba(0,0,0,.24);
}
.article-cover-main img{
  width:100%;
  height:auto;
  max-height:680px;
  object-fit:contain;
  display:block;
  cursor:zoom-in;
  -webkit-user-drag:none;
  user-select:none;
}
.article-summary{
  margin:0 0 24px;
  padding:18px 18px;
  border-radius:18px;
  border:1px solid rgba(96,165,250,.18);
  background:linear-gradient(180deg, rgba(37,99,235,.10), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.article-summary h2{
  margin:0 0 10px;
  font-size:18px;
  color:#fff;
}
.article-summary p{
  margin:0;
  color:#c8d6e8;
  line-height:1.85;
  font-size:15px;
}
.article-trust-panel{
  margin:0 0 24px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(16,185,129,.08), rgba(255,255,255,.02));
}
.article-trust-panel h2{
  margin:0 0 8px;
  font-size:20px;
  color:#fff;
}
.article-trust-panel p{
  margin:0 0 14px;
  color:var(--muted2);
  line-height:1.8;
  font-size:14px;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.trust-item{
  padding:14px 15px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.trust-item span{
  display:block;
  color:#94a3b8;
  font-size:12px;
  margin-bottom:6px;
}
.trust-item strong{
  color:#f8fafc;
  font-size:15px;
  line-height:1.6;
}
.topic-link-panel{
  margin:0 0 24px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
}
.topic-link-panel h2{
  margin:0 0 8px;
  font-size:20px;
  color:#fff;
}
.topic-link-panel p{
  margin:0 0 14px;
  color:var(--muted2);
  line-height:1.8;
  font-size:14px;
}
.topic-link-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.topic-link-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border-radius:999px;
  text-decoration:none;
  color:#dbeafe;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  transition:all .2s ease;
  font-size:13px;
}
.topic-link-tag:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.07);
  border-color:rgba(96,165,250,.28);
  color:#fff;
}
.topic-link-tag.primary{
  background:linear-gradient(135deg, rgba(37,99,235,.22), rgba(29,78,216,.18));
  border-color:rgba(96,165,250,.34);
}
.article-faq-panel{
  margin:0 0 24px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(245,158,11,.18);
  background:linear-gradient(180deg, rgba(245,158,11,.08), rgba(255,255,255,.02));
}
.article-faq-panel h2{
  margin:0 0 8px;
  font-size:20px;
  color:#fff;
}
.article-faq-panel p{
  margin:0 0 14px;
  color:var(--muted2);
  line-height:1.8;
  font-size:14px;
}
.faq-list{
  display:grid;
  gap:12px;
}
.faq-item{
  padding:14px 15px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.faq-item h3{
  margin:0 0 8px;
  font-size:16px;
  line-height:1.6;
}
.faq-item h3 a{
  color:#f8fafc;
  text-decoration:none;
}
.faq-item h3 a:hover{
  color:#fde68a;
}
.faq-item p{
  margin:0;
  color:#d6e2f1;
  font-size:14px;
  line-height:1.85;
}

.article-content{
  font-size:16px;
  line-height:1.9;
  color:var(--txt);
}
.article-content h2,
.article-content h3,
.article-content h4{
  margin:34px 0 16px;
  line-height:1.4;
  color:#fff;
}
.article-content h2{
  font-size:28px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.article-content h3{font-size:22px}
.article-content h4{font-size:18px}
.article-content p{
  margin:0 0 18px;
  color:#d8e0ea;
  text-wrap:pretty;
}
.article-content ul,
.article-content ol{
  margin:0 0 18px 0;
  padding-left:24px;
}
.article-content li{
  margin-bottom:10px;
  color:#d8e0ea;
}
.article-content a{
  color:var(--brand3);
  text-decoration:none;
  border-bottom:1px dashed rgba(96,165,250,.4);
}
.article-content a.article-inline-link{
  color:#dbeafe;
  border-bottom-color:rgba(191,219,254,.6);
  background:rgba(37,99,235,.10);
  padding:0 2px;
  border-radius:4px;
}
.article-content a:hover{
  color:#fff;
  border-bottom-color:#fff;
}
.article-content blockquote{
  margin:22px 0;
  padding:14px 18px;
  border-left:4px solid var(--brand);
  background:rgba(255,255,255,.03);
  border-radius:0 14px 14px 0;
  color:#c9d6e8;
}
.article-content code{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  padding:2px 6px;
  border-radius:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.92em;
}
.article-content pre{
  margin:22px 0;
  padding:18px;
  overflow:auto;
  background:#0b1220;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
}
.article-content pre code{
  background:transparent;
  border:none;
  padding:0;
}
.article-content table{
  width:100%;
  border-collapse:collapse;
  margin:22px 0;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
}
.article-content th,
.article-content td{
  border:1px solid rgba(255,255,255,.08);
  padding:12px 14px;
  text-align:left;
}
.article-content th{
  background:rgba(255,255,255,.05);
  color:#fff;
}
.article-content img{
  max-width:100%;
  height:auto;
  border-radius:14px;
  margin:18px 0;
  display:block;
  cursor:zoom-in;
  -webkit-user-drag:none;
  user-select:none;
}

.article-footer{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.article-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.tag{
  padding:6px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted2);
  font-size:12px;
}
.share-buttons{
  display:flex;
  align-items:center;
  gap:15px;
  flex-wrap:wrap;
}
.share-label{
  color:var(--muted);
  font-size:14px;
}
.share-btn{
  width:40px;height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:bold;
  transition:transform .2s ease, filter .2s ease;
}
.share-btn:hover{
  transform:scale(1.08);
  filter:brightness(1.05);
}
.share-btn.twitter{background:#000;color:#fff}
.share-btn.facebook{background:#1877F2;color:#fff}
.share-btn.linkedin{background:#0A66C2;color:#fff}

.article-navigation{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:16px;
}
.nav-btn{
  min-height:76px;
  padding:14px 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid var(--line);
  border-radius:18px;
  color:var(--txt);
  text-decoration:none;
  font-weight:600;
  transition:all .2s ease;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.nav-btn:hover{
  transform:translateY(-3px);
  border-color:rgba(37,99,235,.3);
}
.nav-btn.center{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.nav-title{
  margin-top:6px;
  color:var(--muted2);
  font-size:12px;
  line-height:1.5;
  font-weight:500;
}

.related-articles{
  background:
    radial-gradient(620px 240px at 20% 0%, rgba(37,99,235,.09), transparent 62%),
    linear-gradient(180deg, rgba(12,24,42,.78), rgba(8,17,31,.92));
  border:1px solid rgba(148,163,184,.12);
  border-radius:30px;
  padding:26px;
  box-shadow:0 20px 58px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.03);
}
.related-title{
  font-size:24px;
  margin:0 0 10px;
  color:#fff;
}
.related-subtitle{
  margin:0 0 18px;
  color:var(--muted2);
  font-size:14px;
  line-height:1.8;
}
.related-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:18px;
}
.related-card{
  background:rgba(255,255,255,.03);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  transition:all .2s ease;
}
.related-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow2);
}
.related-cover{
  height:150px;
  overflow:hidden;
  background:#0f172a;
}
.related-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.related-content{
  padding:18px;
}
.related-article-title{
  font-size:16px;
  margin:0 0 10px;
  line-height:1.5;
}
.related-article-title a{
  color:var(--txt);
  text-decoration:none;
}
.related-article-title a:hover{color:var(--brand3)}
.related-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:var(--muted2);
  font-size:12px;
}

.footer{
  margin-top:34px;
  padding:18px 20px;
  border:1px solid rgba(148,163,184,.10);
  border-radius:22px;
  background:rgba(8,18,32,.46);
  color:var(--muted);
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.footer a{
  color:rgba(229,231,235,.85);
  text-decoration:none;
  border-bottom:1px dashed rgba(229,231,235,.25);
}
.footer a:hover{
  border-bottom-color:rgba(229,231,235,.65);
}
.footer-link.active{color:var(--brand3)}

.btn{
  border:none;
  border-radius:14px;
  padding:12px 14px;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  color:#fff;
  user-select:none;
  text-decoration:none;
}
.btnGhost{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(229,231,235,.95);
}
.btnGhost:hover{background:rgba(255,255,255,.08)}

/* 图片放大预览弹层 */
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(2,6,23,.88);
  backdrop-filter:blur(6px);
}
.image-lightbox.show{
  display:flex;
}
.image-lightbox-backdrop{
  position:absolute;
  inset:0;
}
.image-lightbox-dialog{
  position:relative;
  z-index:2;
  max-width:min(92vw, 1400px);
  max-height:90vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.image-lightbox-img{
  max-width:100%;
  max-height:90vh;
  width:auto;
  height:auto;
  display:block;
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  background:#0b1220;
}
.image-lightbox-close{
  position:absolute;
  top:-18px;
  right:-18px;
  width:44px;
  height:44px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:24px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.image-lightbox-close:hover{
  background:rgba(255,255,255,.2);
}


/* ===== article landing detail ===== */
.is-landing-article .container{
  max-width:1320px;
  padding-left:24px;
  padding-right:24px;
}
.is-landing-article .brand .name strong::after{
  content:" · Resources";
  color:rgba(147,197,253,.95);
  font-weight:700;
}
.landing-hero-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:22px 0 0;
}
.landing-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:12px 18px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  line-height:1.2;
  font-weight:800;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.landing-btn:hover{
  transform:translateY(-2px);
}
.landing-btn-primary{
  color:#fff;
  background:linear-gradient(135deg, #2563eb, #1d4ed8);
  border:1px solid rgba(147,197,253,.35);
  box-shadow:0 14px 32px rgba(37,99,235,.24);
}
.landing-btn-secondary{
  color:#dbeafe;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(147,197,253,.22);
}
.landing-btn-ghost{
  color:#e5e7eb;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.12);
}
.landing-hero-note{
  margin:14px 0 0;
  max-width:820px;
  color:#93a4bb;
  font-size:13px;
  line-height:1.8;
}
.landing-topic-strip{
  margin:0 0 24px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(148,163,184,.13);
  background:
    radial-gradient(420px 180px at 100% 0%, rgba(96,165,250,.10), transparent 62%),
    linear-gradient(180deg, rgba(15,30,52,.72), rgba(9,18,32,.72));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  box-shadow:0 16px 42px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(10px);
}
.landing-topic-intro{
  min-width:220px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.landing-topic-intro strong{
  color:#fff;
  font-size:15px;
}
.landing-topic-intro span{
  color:#94a3b8;
  font-size:12px;
  line-height:1.6;
}
.landing-topic-links{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  justify-content:flex-end;
}
.landing-topic-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  color:#dbeafe;
  text-decoration:none;
  background:rgba(37,99,235,.12);
  border:1px solid rgba(96,165,250,.22);
  font-size:12px;
  line-height:1.2;
  transition:all .2s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.landing-topic-pill:hover{
  transform:translateY(-2px);
  color:#fff;
  background:rgba(37,99,235,.18);
  border-color:rgba(147,197,253,.32);
}
.is-landing-article .landing-layout{
  grid-template-columns:minmax(0, 1fr);
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
}
.is-landing-article .landing-layout .sidebar{
  display:none;
}
.is-landing-article .article-detail{
  width:100%;
  padding:26px;
}
.article-landing-panel{
  margin:0 0 24px;
  padding:22px;
  border-radius:22px;
  border:1px solid rgba(96,165,250,.16);
  background:linear-gradient(180deg, rgba(37,99,235,.10), rgba(255,255,255,.025));
}
.landing-panel-copy{
  margin-bottom:16px;
}
.landing-panel-kicker{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  margin-bottom:10px;
  border-radius:999px;
  color:#bfdbfe;
  background:rgba(37,99,235,.14);
  border:1px solid rgba(147,197,253,.22);
  font-size:12px;
  font-weight:700;
}
.article-landing-panel h2{
  margin:0 0 8px;
  color:#fff;
  font-size:22px;
  line-height:1.4;
}
.article-landing-panel p{
  margin:0;
  color:#cbd5e1;
  line-height:1.85;
  font-size:14px;
}
.landing-action-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.landing-action-card{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
}
.landing-action-card span{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
  border-radius:12px;
  background:rgba(37,99,235,.18);
  color:#bfdbfe;
  font-size:12px;
  font-weight:900;
}
.landing-action-card strong{
  display:block;
  color:#fff;
  font-size:15px;
  line-height:1.5;
  margin-bottom:7px;
}
.landing-action-card p{
  color:#aebfd4;
  font-size:13px;
  line-height:1.75;
}
.landing-bottom-cta{
  margin:34px 0 0;
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(16,185,129,.20);
  background:
    radial-gradient(420px 220px at 90% 0%, rgba(16,185,129,.14), transparent 65%),
    linear-gradient(180deg, rgba(16,185,129,.10), rgba(255,255,255,.025));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.landing-bottom-cta span{
  display:inline-flex;
  margin-bottom:8px;
  color:#86efac;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.landing-bottom-cta h2{
  margin:0 0 8px;
  color:#fff;
  font-size:24px;
  line-height:1.35;
}
.landing-bottom-cta p{
  margin:0;
  max-width:620px;
  color:#cbd5e1;
  line-height:1.8;
  font-size:14px;
}
.landing-bottom-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex-shrink:0;
}
@media (max-width:900px){
  .landing-topic-strip,
  .landing-bottom-cta{
    align-items:flex-start;
    flex-direction:column;
  }
  .landing-topic-links,
  .landing-bottom-actions{
    justify-content:flex-start;
  }
  .landing-action-grid{
    grid-template-columns:1fr;
  }
  .is-landing-article .container{
    padding-left:16px;
    padding-right:16px;
  }
  .is-landing-article .article-detail{
    padding:18px;
  }
}

/* ===== changelog detail ===== */
.log-detail-wrap{
  margin:0 0 22px;
}
.log-detail-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(18,31,52,.86), rgba(10,18,30,.94));
  border:1px solid rgba(96,165,250,.18);
  border-radius:24px;
  padding:24px 22px 22px;
  box-shadow:0 16px 40px rgba(0,0,0,.24);
}
.log-detail-panel::before{
  content:"";
  position:absolute;
  inset:auto -60px -80px auto;
  width:260px;
  height:260px;
  background:radial-gradient(circle, rgba(37,99,235,.18), transparent 68%);
  pointer-events:none;
}
.log-detail-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.log-detail-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.log-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  line-height:1.2;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#dbeafe;
}
.log-chip.version{
  background:rgba(37,99,235,.14);
  border-color:rgba(96,165,250,.28);
  color:#93c5fd;
  font-weight:700;
}
.log-chip.type-feature{ color:#86efac; border-color:rgba(134,239,172,.22); background:rgba(34,197,94,.08); }
.log-chip.type-fix{ color:#fca5a5; border-color:rgba(252,165,165,.22); background:rgba(239,68,68,.08); }
.log-chip.type-optimize{ color:#fde68a; border-color:rgba(253,230,138,.22); background:rgba(245,158,11,.08); }
.log-chip.type-security{ color:#c4b5fd; border-color:rgba(196,181,253,.22); background:rgba(139,92,246,.08); }
.log-detail-date{
  color:var(--muted2);
  font-size:13px;
  white-space:nowrap;
}
.log-detail-title{
  margin:0 0 12px;
  font-size:34px;
  line-height:1.25;
  font-weight:800;
  color:#fff;
}
.log-detail-module{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  color:#dbe7f5;
  font-size:13px;
}
.log-detail-highlight{
  margin:0;
  color:#dbe7f5;
  font-size:15px;
  line-height:1.9;
}
.log-detail-meta-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.log-meta-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  font-size:12px;
  color:#cbd5e1;
}
.log-change-anchor{
  margin:24px 0 0;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.log-change-anchor h3{
  margin:0 0 10px;
  font-size:16px;
  color:#fff;
}
.log-change-anchor p{
  margin:0;
  color:var(--muted2);
  font-size:14px;
  line-height:1.8;
}


.is-changelog-page .hero-article{
  padding:18px 22px 20px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(13,22,38,.92), rgba(10,17,30,.96));
}
.is-changelog-page .article-subtitle{
  max-width:980px;
  font-size:14px;
  line-height:1.85;
  color:#b9c7da;
}
.is-changelog-page .article-meta-bar{
  gap:10px;
  margin-top:14px;
}
.is-changelog-page .meta-chip{
  padding:8px 11px;
  background:rgba(255,255,255,.03);
}
.changelog-layout{
  grid-template-columns:300px minmax(0,1fr);
  align-items:start;
}
.changelog-sidebar{
  gap:14px;
}
.changelog-side-card{
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg, rgba(10,18,30,.92), rgba(11,20,34,.96));
  border:1px solid rgba(255,255,255,.07);
}
.changelog-article-detail{
  border-radius:24px;
  padding:24px;
}
.changelog-overview{
  margin:0 0 18px;
  padding:16px;
  border:1px solid rgba(96,165,250,.16);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(14,25,42,.96), rgba(9,16,28,.98));
}
.changelog-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.changelog-overview-item{
  min-width:0;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.06);
}
.changelog-overview-item strong{
  display:block;
  margin-top:6px;
  color:#fff;
  font-size:14px;
  line-height:1.55;
  word-break:break-word;
}
.changelog-overview-label{
  display:block;
  color:var(--muted2);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.is-changelog-page .article-summary{
  border-radius:18px;
  margin-bottom:18px;
}
.is-changelog-page .article-summary h2{
  font-size:16px;
  margin-bottom:8px;
}
.is-changelog-page .article-summary p{
  font-size:14px;
  line-height:1.85;
}
.is-changelog-page .article-content{
  font-size:15px;
  line-height:1.95;
}
.is-changelog-page .article-content h2{
  font-size:24px;
  margin-top:30px;
}
.is-changelog-page .article-content h3{
  font-size:20px;
}
.is-changelog-page .article-footer{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.is-changelog-page .article-meta-footer{
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
}
.is-changelog-page .article-meta-footer .article-tags{
  margin-bottom:22px;
}
.is-changelog-page .article-meta-footer .share-buttons{
  padding-top:0;
  border-top:none;
}
.is-changelog-page .nav-btn{
  min-height:76px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  align-items:flex-start;
  text-align:left;
}
.is-changelog-page .nav-btn.center{
  align-items:center;
  text-align:center;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border-color:var(--line);
}
.is-changelog-page .nav-btn.is-disabled{
  opacity:.65;
  cursor:default;
  pointer-events:none;
}
.changelog-related{
  border-radius:28px;
  padding:26px;
}
.is-changelog-page .related-title{
  font-size:24px;
}
.is-changelog-page .related-subtitle{
  font-size:14px;
  margin-bottom:18px;
}
.is-changelog-page .related-grid{
  grid-template-columns:repeat(auto-fill, minmax(240px,1fr));
  gap:18px;
}
.is-changelog-page .related-card{
  border-radius:18px;
}
.footer-changelog{
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.footer-changelog > div:last-child{
  display:block;
}

@media (max-width:1024px){
  .articles-layout{
    grid-template-columns:1fr;
    gap:26px;
  }
  .sidebar{order:2}
  .changelog-layout{grid-template-columns:1fr;}
  .changelog-sidebar{order:2;}
  .changelog-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .trust-grid{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .article-headline{font-size:24px}
  .article-navigation{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .log-detail-panel{ padding:20px 16px 18px; }
  .log-detail-title{ font-size:24px; }
  .changelog-overview-grid{grid-template-columns:1fr;}
}

@media (max-width:520px){
  .container{padding:20px 15px 40px}
  .topbar{
    flex-direction:column;
    gap:15px;
    text-align:center;
  }
  .actions{justify-content:center}
  .search-form{flex-direction:column}
  .search-form input,.search-btn{width:100%}
  .hero-article{padding:22px 18px}
  .article-headline{font-size:24px}
  .article-detail{padding:20px}
  .related-articles{padding:20px}
  .image-lightbox{
    padding:16px;
  }
  .image-lightbox-close{
    top:-10px;
    right:-2px;
    width:40px;
    height:40px;
  }
}
}

/* =========================================================
   Stage 1: 固化文章详情页专题模板
   - 统一承接后台文章正文中的 .gx-insight-page HTML
   - 后台正文不再需要为每篇文章写入 <style> 到 SQL
   - 下方样式来自本次确认的专题页参考版，并限定在 .gx-insight-page 内
========================================================= */
.gx-insight-page{
  --gx-bg:#07111f;
  --gx-bg-2:#0b1628;
  --gx-card:#0d1a2c;
  --gx-card-soft:#111f34;
  --gx-line:rgba(148,163,184,.20);
  --gx-line-strong:rgba(96,165,250,.28);
  --gx-text:#f8fafc;
  --gx-soft:#cbd5e1;
  --gx-muted:#94a3b8;
  --gx-blue:#2563eb;
  --gx-blue-2:#60a5fa;
  --gx-green:#22c55e;
  --gx-amber:#f59e0b;
  --gx-red:#fb7185;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:8px 0 28px;
  color:var(--gx-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
}

.gx-insight-page *{
  box-sizing:border-box;
}

.gx-insight-page a{
  color:inherit;
  text-decoration:none;
}

.gx-hero{
  position:relative;
  overflow:hidden;
  border:1px solid var(--gx-line-strong);
  border-radius:30px;
  padding:30px;
  background:
    radial-gradient(circle at 14% 18%,rgba(37,99,235,.30),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(34,197,94,.13),transparent 26%),
    linear-gradient(135deg,#0d1a2c,#07111f 72%);
  box-shadow:0 22px 70px rgba(0,0,0,.24);
}

.gx-hero:after{
  content:"";
  position:absolute;
  inset:auto -120px -140px auto;
  width:360px;
  height:360px;
  border-radius:999px;
  background:rgba(96,165,250,.10);
  filter:blur(4px);
}

.gx-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);
  gap:22px;
  align-items:stretch;
}

.gx-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(96,165,250,.30);
  background:rgba(96,165,250,.12);
  color:#bfdbfe;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
}

.gx-title{
  margin:16px 0 14px;
  color:#fff;
  font-size:36px;
  line-height:1.18;
  letter-spacing:-.045em;
  font-weight:900;
}

.gx-lead{
  margin:0;
  max-width:820px;
  color:#dbeafe;
  font-size:16px;
  line-height:1.9;
}

.gx-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.gx-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.28);
  background:rgba(255,255,255,.06);
  color:#e5edf8;
  font-size:14px;
  font-weight:900;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.gx-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(96,165,250,.50);
  background:rgba(255,255,255,.10);
}

.gx-btn.primary{
  border-color:rgba(96,165,250,.55);
  background:linear-gradient(135deg,#2563eb,#3b82f6);
  color:#fff;
  box-shadow:0 12px 30px rgba(37,99,235,.30);
}

.gx-safe-note{
  margin:18px 0 0;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(245,158,11,.20);
  background:rgba(245,158,11,.08);
  color:#fde68a;
  font-size:13px;
  line-height:1.75;
}

.gx-decision-card{
  height:100%;
  border:1px solid rgba(148,163,184,.20);
  border-radius:24px;
  padding:22px;
  background:rgba(7,17,31,.62);
  backdrop-filter:blur(12px);
}

.gx-decision-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.gx-decision-title strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.35;
}

.gx-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,.24);
  background:rgba(34,197,94,.10);
  color:#86efac;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.gx-quick-list{
  display:grid;
  gap:10px;
}

.gx-quick-item{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:10px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.14);
  background:rgba(255,255,255,.035);
}

.gx-quick-num{
  width:28px;
  height:28px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(96,165,250,.14);
  color:#bfdbfe;
  font-size:12px;
  font-weight:900;
}

.gx-quick-item b{
  display:block;
  margin-bottom:4px;
  color:#f8fafc;
  font-size:14px;
  line-height:1.35;
}

.gx-quick-item span{
  display:block;
  color:var(--gx-muted);
  font-size:13px;
  line-height:1.65;
}

.gx-summary-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:18px 0 24px;
}

.gx-summary-card{
  border:1px solid var(--gx-line);
  border-radius:22px;
  padding:18px;
  background:linear-gradient(180deg,rgba(15,30,52,.88),rgba(8,18,32,.88));
}

.gx-summary-card strong{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:8px;
}

.gx-summary-card span{
  display:block;
  color:var(--gx-soft);
  font-size:13px;
  line-height:1.75;
}

.gx-content-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:22px;
  align-items:start;
}

.gx-main{
  display:grid;
  gap:18px;
}

.gx-side{
  position:sticky;
  top:20px;
  display:grid;
  gap:14px;
}

.gx-side-box{
  border:1px solid var(--gx-line);
  border-radius:22px;
  padding:18px;
  background:rgba(13,26,44,.76);
}

.gx-side-box strong{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:10px;
}

.gx-side-box p{
  margin:0;
  color:var(--gx-muted);
  font-size:13px;
  line-height:1.7;
}

.gx-side-link{
  display:block;
  padding:10px 0;
  border-top:1px solid rgba(148,163,184,.12);
  color:#cbd5e1;
  font-size:13px;
  line-height:1.45;
}

.gx-side-link:first-of-type{
  border-top:0;
  padding-top:0;
}

.gx-block{
  border:1px solid var(--gx-line);
  border-radius:24px;
  padding:24px;
  background:rgba(13,26,44,.72);
}

.gx-block.emphasis{
  border-color:rgba(96,165,250,.30);
  background:
    radial-gradient(circle at 12% 12%,rgba(37,99,235,.14),transparent 34%),
    rgba(13,26,44,.78);
}

.gx-block-title{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 14px;
  color:#fff;
  font-size:22px;
  line-height:1.35;
  letter-spacing:-.025em;
  font-weight:900;
}

.gx-block-title:before{
  content:"";
  width:8px;
  height:24px;
  margin-top:2px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--gx-blue-2),var(--gx-blue));
  flex:0 0 auto;
}

.gx-block p{
  margin:0 0 12px;
  color:var(--gx-soft);
  font-size:15px;
  line-height:1.9;
}

.gx-block p:last-child{
  margin-bottom:0;
}

.gx-highlight-answer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:16px;
}

.gx-answer-card{
  border:1px solid rgba(148,163,184,.16);
  border-radius:18px;
  padding:16px;
  background:rgba(255,255,255,.04);
}

.gx-answer-card b{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:8px;
}

.gx-answer-card span{
  display:block;
  color:var(--gx-muted);
  font-size:13px;
  line-height:1.75;
}

.gx-check-table{
  display:grid;
  overflow:hidden;
  margin-top:16px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:20px;
}

.gx-check-row{
  display:grid;
  grid-template-columns:.85fr 1.45fr .75fr;
}

.gx-check-row.head{
  background:rgba(96,165,250,.11);
}

.gx-check-cell{
  padding:14px 16px;
  border-top:1px solid rgba(148,163,184,.14);
  color:var(--gx-soft);
  font-size:14px;
  line-height:1.65;
}

.gx-check-row.head .gx-check-cell{
  border-top:0;
  color:#eff6ff;
  font-weight:900;
}

.gx-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,.24);
  background:rgba(34,197,94,.11);
  color:#86efac;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.gx-badge.warn{
  border-color:rgba(245,158,11,.26);
  background:rgba(245,158,11,.11);
  color:#fcd34d;
}

.gx-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:16px;
}

.gx-card{
  border:1px solid rgba(148,163,184,.16);
  border-radius:18px;
  padding:17px;
  background:rgba(255,255,255,.04);
}

.gx-card b{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:8px;
}

.gx-card span{
  display:block;
  color:var(--gx-muted);
  font-size:13px;
  line-height:1.75;
}

.gx-flow{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:16px;
  counter-reset:gxstep;
}

.gx-flow-item{
  position:relative;
  border:1px solid rgba(148,163,184,.16);
  border-radius:18px;
  padding:18px;
  background:rgba(255,255,255,.04);
}

.gx-flow-item:before{
  counter-increment:gxstep;
  content:counter(gxstep);
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  margin-bottom:12px;
  border-radius:11px;
  background:linear-gradient(135deg,#2563eb,#60a5fa);
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.gx-flow-item strong{
  display:block;
  color:#fff;
  font-size:14px;
  line-height:1.4;
  margin-bottom:8px;
}

.gx-flow-item em{
  display:block;
  color:var(--gx-muted);
  font-size:13px;
  line-height:1.75;
  font-style:normal;
}

.gx-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin-top:4px;
  border:1px solid rgba(96,165,250,.34);
  border-radius:28px;
  padding:28px;
  background:
    radial-gradient(circle at 15% 20%,rgba(37,99,235,.26),transparent 34%),
    linear-gradient(135deg,rgba(15,30,52,.98),rgba(7,17,31,.98));
}

.gx-cta strong{
  display:block;
  color:#fff;
  font-size:24px;
  line-height:1.35;
  margin-bottom:10px;
}

.gx-cta p{
  margin:0;
  color:var(--gx-soft);
  font-size:15px;
  line-height:1.85;
}

.gx-mini{
  margin:14px 0 0;
  color:var(--gx-muted);
  font-size:13px;
  line-height:1.8;
}

@media (max-width:1020px){
  .gx-hero-inner,
  .gx-content-layout{
    grid-template-columns:1fr;
  }

  .gx-side{
    position:relative;
    top:auto;
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:820px){
  .gx-insight-page{
    padding:4px 0 22px;
  }

  .gx-hero{
    padding:22px;
    border-radius:24px;
  }

  .gx-title{
    font-size:28px;
    line-height:1.24;
  }

  .gx-lead{
    font-size:15px;
    line-height:1.85;
  }

  .gx-summary-strip,
  .gx-highlight-answer,
  .gx-cards,
  .gx-flow,
  .gx-side,
  .gx-cta{
    grid-template-columns:1fr;
  }

  .gx-block{
    padding:20px;
    border-radius:20px;
  }

  .gx-block-title{
    font-size:20px;
  }

  .gx-check-row{
    grid-template-columns:1fr;
  }

  .gx-check-row.head{
    display:none;
  }

  .gx-check-cell{
    padding:11px 14px;
  }

  .gx-check-cell:first-child{
    color:#fff;
    font-weight:900;
    background:rgba(96,165,250,.08);
  }

  .gx-cta{
    padding:22px;
    border-radius:22px;
  }

  .gx-cta strong{
    font-size:21px;
  }

  .gx-hero-actions{
    display:grid;
  }

  .gx-btn{
    width:100%;
  }
}

/* 文章详情页作为专题页承载时，减少传统文章外壳对正文模板的干扰 */
.gx-article-template-static .article-detail{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.gx-article-template-static .article-detail::before{display:none;}
.gx-article-template-static .content-area{gap:0;}
.gx-article-template-static .article-content{font-size:16px;line-height:1.9;color:#f8fafc;}
.gx-article-template-static .gx-article-template-content.has-static-template{padding:0;}
.gx-article-template-static .gx-article-template-content.has-static-template > .gx-insight-page{max-width:1180px;}
.gx-article-template-static .gx-article-template-content.is-plain-content{padding:0;}
.gx-article-template-static .gx-auto-prose-block h2{margin-top:0;}
.gx-article-template-static .gx-auto-prose-block > *:last-child{margin-bottom:0;}
.gx-article-template-static .article-cover-main{display:none;}
.gx-article-template-static .breadcrumb{margin-bottom:16px;}
.gx-article-template-static .footer{margin-top:28px;}

/* 纯 HTML 正文兜底：即使后台只发布 h2/p/table，也自动具备专题页阅读体验 */
.gx-auto-insight-page .gx-auto-prose-block{
  border-color:rgba(96,165,250,.24);
  background:
    radial-gradient(circle at 88% 0%,rgba(96,165,250,.10),transparent 28%),
    rgba(13,26,44,.76);
}
.gx-auto-insight-page .gx-auto-prose-block h2,
.gx-auto-insight-page .gx-auto-prose-block h3,
.gx-auto-insight-page .gx-auto-prose-block h4{
  color:#fff;
  letter-spacing:-.02em;
}
.gx-auto-insight-page .gx-auto-prose-block h2{
  margin:30px 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(148,163,184,.18);
  font-size:24px;
}
.gx-auto-insight-page .gx-auto-prose-block h3{font-size:20px;margin:24px 0 12px;}
.gx-auto-insight-page .gx-auto-prose-block p{color:#cbd5e1;font-size:15px;line-height:1.95;}
.gx-auto-insight-page .gx-auto-prose-block ul,
.gx-auto-insight-page .gx-auto-prose-block ol{margin:0 0 18px;padding-left:22px;color:#cbd5e1;}
.gx-auto-insight-page .gx-auto-prose-block li{margin-bottom:10px;line-height:1.85;}
.gx-auto-insight-page .gx-auto-prose-block table{width:100%;border-collapse:collapse;margin:20px 0;border:1px solid rgba(148,163,184,.18);border-radius:18px;overflow:hidden;}
.gx-auto-insight-page .gx-auto-prose-block th,
.gx-auto-insight-page .gx-auto-prose-block td{padding:13px 15px;border:1px solid rgba(148,163,184,.16);color:#cbd5e1;line-height:1.65;}
.gx-auto-insight-page .gx-auto-prose-block th{background:rgba(96,165,250,.10);color:#eff6ff;font-weight:900;}

@media (max-width:820px){
  .gx-article-template-static .container{padding-left:14px;padding-right:14px;}
  .gx-article-template-static .topbar{border-radius:20px;}
  .gx-article-template-static .breadcrumb{font-size:12px;gap:7px;}
}


/* =========================================================
   Stage 4: 最终体验收口
   - 移动端阅读更稳定
   - 搜索摘要 / SEO 只取可见文本，页面层面避免横向溢出
   - 表格、代码、图片、专题模块在小屏幕下不撑破布局
========================================================= */
html{scroll-padding-top:22px;}
.article-content,
.gx-insight-page,
.gx-auto-insight-page{
  overflow-wrap:anywhere;
  word-break:normal;
}
.article-content p,
.gx-insight-page p,
.gx-auto-insight-page p{
  text-wrap:pretty;
}
.article-content pre,
.article-content table,
.gx-auto-insight-page .gx-auto-prose-block pre,
.gx-auto-insight-page .gx-auto-prose-block table,
.gx-insight-page table{
  max-width:100%;
}
.article-content pre,
.gx-auto-insight-page .gx-auto-prose-block pre{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.article-content table,
.gx-auto-insight-page .gx-auto-prose-block table{
  display:block;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  white-space:normal;
}
.article-content img,
.gx-insight-page img,
.gx-auto-insight-page img{
  max-width:100%;
  height:auto;
}
.gx-article-template-static .article-content{
  min-width:0;
}
.gx-article-template-static .gx-side-box{
  scroll-margin-top:20px;
}
.gx-article-template-static .toc-link,
.gx-article-template-static .gx-side-link{
  scroll-margin-top:20px;
}

@media (max-width:1020px){
  .gx-article-template-static .container{
    max-width:100%;
  }
  .gx-article-template-static .topbar{
    align-items:flex-start;
  }
  .gx-article-template-static .actions{
    width:100%;
    justify-content:flex-start;
  }
  .gx-article-template-static .badge,
  .gx-article-template-static .lang{
    max-width:100%;
  }
  .gx-article-template-static .lang select{
    max-width:180px;
  }
}

@media (max-width:820px){
  html{scroll-padding-top:12px;}
  .gx-article-template-static .container{
    padding-top:16px;
    padding-bottom:34px;
  }
  .gx-article-template-static .article-content{
    font-size:15px;
    line-height:1.9;
  }
  .gx-article-template-static .gx-auto-insight-page .gx-block,
  .gx-article-template-static .gx-auto-insight-page .gx-side-box,
  .gx-article-template-static .gx-insight-page .gx-block,
  .gx-article-template-static .gx-insight-page .gx-side-box{
    border-radius:18px;
  }
  .gx-article-template-static .gx-auto-insight-page .gx-block-title,
  .gx-article-template-static .gx-insight-page .gx-block-title{
    font-size:19px;
  }
  .gx-article-template-static .gx-auto-insight-page .gx-auto-prose-block h2,
  .gx-article-template-static .article-content h2{
    font-size:21px;
    line-height:1.38;
  }
  .gx-article-template-static .gx-auto-insight-page .gx-auto-prose-block h3,
  .gx-article-template-static .article-content h3{
    font-size:18px;
  }
  .gx-article-template-static .gx-side{
    position:relative;
    top:auto;
  }
  .gx-article-template-static .gx-side-box{
    padding:16px;
  }
  .gx-article-template-static .gx-side-link{
    padding:11px 0;
  }
}

@media (max-width:560px){
  .gx-article-template-static .container{
    padding-left:12px;
    padding-right:12px;
  }
  .gx-article-template-static .topbar{
    padding:12px;
    margin-bottom:16px;
  }
  .gx-article-template-static .brand{
    width:100%;
    min-width:0;
  }
  .gx-article-template-static .brand .name{
    min-width:0;
  }
  .gx-article-template-static .brand .name strong,
  .gx-article-template-static .brand .name span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .gx-article-template-static .actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .gx-article-template-static .badge,
  .gx-article-template-static .lang{
    width:100%;
    justify-content:center;
  }
  .gx-article-template-static .lang select{
    width:100%;
    max-width:100%;
    text-align:center;
  }
  .gx-article-template-static .breadcrumb{
    max-height:48px;
    overflow:hidden;
  }
  .gx-article-template-static .gx-title{
    font-size:25px;
    letter-spacing:-.03em;
  }
  .gx-article-template-static .gx-lead{
    font-size:14px;
  }
  .gx-article-template-static .gx-summary-card,
  .gx-article-template-static .gx-answer-card,
  .gx-article-template-static .gx-card,
  .gx-article-template-static .gx-flow-item{
    border-radius:16px;
  }
  .gx-article-template-static .gx-auto-insight-page .gx-auto-prose-block table,
  .gx-article-template-static .article-content table{
    font-size:13px;
  }
  .gx-article-template-static .gx-auto-insight-page .gx-auto-prose-block th,
  .gx-article-template-static .gx-auto-insight-page .gx-auto-prose-block td,
  .gx-article-template-static .article-content th,
  .gx-article-template-static .article-content td{
    padding:10px 11px;
  }
}


/* =========================================================
   Stage 5: 强制所有普通文章使用同一种专业专题页布局
   - 不再依赖每篇文章自己复制 gx-insight-page 模板
   - 普通文章统一由 detail.php 生成：Hero + 结论卡 + 摘要卡 + 正文 + 目录侧栏 + CTA
   - 后台正文只需要保留纯 HTML 内容
========================================================= */
.gx-force-insight-layout .hero-article,
.gx-force-insight-layout .landing-topic-strip{
  display:none !important;
}
.gx-force-insight-layout .articles-layout{
  display:block;
  margin:20px 0 0;
}
.gx-force-insight-layout .sidebar{
  display:none !important;
}
.gx-force-insight-layout .content-area{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  min-width:0;
}
.gx-force-insight-layout .article-detail{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.gx-force-insight-layout .article-detail::before{
  display:none;
}
.gx-force-insight-layout .article-content{
  padding:0;
  min-width:0;
}
.gx-force-insight-layout .article-footer,
.gx-force-insight-layout .article-navigation,
.gx-force-insight-layout .related-articles{
  display:none !important;
}
.gx-force-insight-layout .gx-unified-article-page{
  padding-top:0;
}
.gx-force-insight-layout .gx-unified-hero{
  margin-bottom:18px;
}
.gx-force-insight-layout .gx-auto-prose-block > h2:first-child,
.gx-force-insight-layout .gx-auto-prose-block > h3:first-child,
.gx-force-insight-layout .gx-auto-prose-block > p:first-child{
  margin-top:0;
}
.gx-force-insight-layout .gx-auto-prose-block h1{
  color:#fff;
  font-size:28px;
  line-height:1.3;
  margin:0 0 16px;
  letter-spacing:-.025em;
}
.gx-force-insight-layout .gx-auto-prose-block h2{
  margin-top:30px;
}
.gx-force-insight-layout .gx-auto-prose-block table{
  display:table;
}
.gx-force-insight-layout .gx-auto-side{
  min-width:0;
}
.gx-force-insight-layout .gx-side-box{
  overflow:hidden;
}
.gx-force-insight-layout .gx-side-link{
  overflow-wrap:anywhere;
}

@media (max-width:1020px){
  .gx-force-insight-layout .articles-layout{
    margin-top:16px;
  }
  .gx-force-insight-layout .gx-auto-prose-block table{
    display:block;
  }
}

@media (max-width:560px){
  .gx-force-insight-layout .gx-summary-strip{
    gap:10px;
  }
  .gx-force-insight-layout .gx-decision-card{
    padding:18px;
    border-radius:20px;
  }
  .gx-force-insight-layout .gx-quick-item{
    grid-template-columns:26px 1fr;
    padding:11px;
  }
  .gx-force-insight-layout .gx-quick-num{
    width:26px;
    height:26px;
  }
}

/* =========================================================
   Stage 6: 文章专题页宽度对齐 + 作者/阅读信息条
   - 内容区宽度与顶部导航栏使用同一容器宽度
   - 普通文章统一显示作者、发布时间、预计阅读、阅读量、所属专题
========================================================= */
.gx-force-insight-layout .container{
  max-width:1320px;
}
.gx-force-insight-layout .content-area{
  width:100%;
  max-width:100%;
}
.gx-force-insight-layout .gx-insight-page,
.gx-force-insight-layout .gx-auto-insight-page,
.gx-force-insight-layout .gx-article-template-content.has-static-template > .gx-insight-page{
  width:100%;
  max-width:100%;
}
.gx-force-insight-layout .breadcrumb{
  margin-bottom:12px;
}
.gx-article-reading-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
  margin:0 0 18px;
  padding:11px 14px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(15,30,52,.58),rgba(7,17,31,.40));
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.gx-article-reading-meta-item{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  gap:7px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.12);
  background:rgba(255,255,255,.035);
  color:#cbd5e1;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
}
.gx-article-reading-meta-icon{
  opacity:.9;
}
.gx-article-reading-meta-label{
  color:#94a3b8;
}
.gx-article-reading-meta-item strong{
  color:#eaf2ff;
  font-size:12px;
  font-weight:800;
}
.gx-force-insight-layout .gx-unified-hero{
  margin-top:0;
}
.gx-force-insight-layout .gx-hero{
  width:100%;
}

@media (max-width:820px){
  .gx-article-reading-meta{
    gap:8px;
    padding:10px;
    border-radius:16px;
    margin-bottom:14px;
  }
  .gx-article-reading-meta-item{
    flex:1 1 calc(50% - 8px);
    justify-content:flex-start;
    white-space:normal;
  }
}

@media (max-width:520px){
  .gx-article-reading-meta-item{
    flex-basis:100%;
  }
}

/* =========================================================
   Stage 7: 文章详情页封面图阅读缓冲区
   - 普通文章在首屏摘要与正文之间调用 articles.cover_image
   - 图片完整自适应显示，不再裁切；去掉覆盖在图片上的横条
   - 不影响 changelog，不新增 SQL，不改变正文内容
========================================================= */
.gx-article-cover-break{
  position:relative;
  overflow:hidden;
  margin:22px 0 26px;
  border-radius:28px;
  border:1px solid rgba(148,163,184,.18);
  background:
    radial-gradient(circle at 12% 0%,rgba(96,165,250,.12),transparent 34%),
    linear-gradient(180deg,rgba(15,30,52,.72),rgba(7,17,31,.82));
  box-shadow:0 22px 64px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
}
.gx-article-cover-break::after{
  display:none;
}
.gx-article-cover-frame{
  position:relative;
  width:100%;
  min-height:0;
  max-height:none;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gx-article-cover-frame img{
  width:100%;
  height:auto;
  max-height:680px;
  display:block;
  object-fit:contain;
  transform:none;
  transition:filter .28s ease, opacity .28s ease;
  cursor:zoom-in;
  -webkit-user-drag:none;
  user-select:none;
}
.gx-article-cover-break:hover .gx-article-cover-frame img{
  transform:none;
  filter:saturate(1.04) contrast(1.02);
}
.gx-article-cover-caption{
  display:none;
}
.gx-article-cover-break-static{
  width:100%;
  max-width:1180px;
  margin:8px auto 26px;
}
.gx-force-insight-layout .gx-article-cover-break-static{
  max-width:100%;
}

@media (max-width:820px){
  .gx-article-cover-break{
    margin:18px 0 22px;
    border-radius:22px;
  }
  .gx-article-cover-frame img{
    max-height:none;
  }
}

@media (max-width:520px){
  .gx-article-cover-break{
    border-radius:18px;
  }
}

/* =========================================================
   Stage 8: 文章封面图改为 Hero 右侧视觉卡片
   - 自动专题模板不再使用正文前的大横幅图片
   - 封面图进入首屏右侧信息卡，减少文字压迫感，不占用大段阅读高度
   - 静态模板保留正文前封面，但限制为中等尺寸视觉缓冲区
========================================================= */
.gx-hero-cover-card{
  margin:0 0 16px;
  padding:8px;
  border-radius:20px;
  border:1px solid rgba(147,197,253,.18);
  background:
    radial-gradient(circle at 18% 0%, rgba(56,189,248,.13), transparent 42%),
    linear-gradient(180deg, rgba(2,6,23,.44), rgba(7,17,31,.72));
  box-shadow:0 16px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
.gx-hero-cover-media{
  width:100%;
  aspect-ratio:16 / 9;
  min-height:168px;
  max-height:238px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:15px;
  background:#07111f;
}
.gx-hero-cover-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center center;
  cursor:zoom-in;
  -webkit-user-drag:none;
  user-select:none;
}

/* 自动专题模板已经把封面图放进右侧 Hero 卡片，这里禁止正文前再出现超大横幅 */
.gx-auto-insight-page > .gx-article-cover-break{
  display:none;
}

/* 静态模板/自定义 HTML 文章仍可在正文前显示封面，但使用中等尺寸卡片，不再撑满整屏 */
.gx-article-cover-break,
.gx-article-cover-break-static{
  width:100%;
  max-width:min(860px, 100%);
  margin:18px auto 28px;
  padding:10px;
  border-radius:24px;
}
.gx-article-cover-frame{
  width:100%;
  aspect-ratio:16 / 9;
  max-height:420px;
  overflow:hidden;
  border-radius:18px;
  background:#07111f;
}
.gx-article-cover-frame img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center center;
}

@media (max-width:1020px){
  .gx-hero-cover-card{
    margin-bottom:14px;
  }
  .gx-hero-cover-media{
    min-height:0;
    max-height:none;
  }
}

@media (max-width:560px){
  .gx-hero-cover-card{
    padding:6px;
    border-radius:16px;
  }
  .gx-hero-cover-media{
    border-radius:12px;
  }
  .gx-article-cover-break,
  .gx-article-cover-break-static{
    margin:14px auto 22px;
    padding:6px;
    border-radius:18px;
  }
  .gx-article-cover-frame{
    border-radius:13px;
  }
}

/* =========================================================
   Stage 9: 文章首屏左右视觉平衡
   - 右侧保留封面图，但压缩卡片高度，避免把整块 Hero 撑得过高
   - 左侧增加阅读信息小卡片，填补标题/摘要下方空白
   - 不改文章正文、不改 SQL、不影响 SEO/OG 图片
========================================================= */
.gx-hero-copy{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.gx-hero-support-grid{
  margin-top:auto;
  padding-top:22px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.gx-hero-support-card{
  min-width:0;
  min-height:72px;
  padding:12px 13px;
  border-radius:17px;
  border:1px solid rgba(148,163,184,.15);
  background:linear-gradient(180deg,rgba(15,30,52,.58),rgba(7,17,31,.46));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.gx-hero-support-icon{
  display:inline-flex;
  margin-right:6px;
  opacity:.92;
}
.gx-hero-support-label{
  color:#93a4ba;
  font-size:12px;
  line-height:1.2;
}
.gx-hero-support-card strong{
  display:block;
  margin-top:7px;
  color:#eef6ff;
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gx-hero-cover-card{
  margin-bottom:12px;
  padding:7px;
  border-radius:18px;
}
.gx-hero-cover-media{
  min-height:126px;
  max-height:190px;
  border-radius:13px;
}
.gx-decision-card{
  padding:18px;
}
.gx-decision-title{
  margin-bottom:12px;
}
.gx-quick-list{
  gap:8px;
}
.gx-quick-item{
  padding:10px;
  border-radius:15px;
}
.gx-quick-item span{
  line-height:1.55;
}

@media (max-width:1020px){
  .gx-hero-copy{
    min-height:0;
  }
  .gx-hero-support-grid{
    margin-top:18px;
    padding-top:0;
  }
  .gx-hero-cover-media{
    max-height:260px;
  }
}

@media (max-width:680px){
  .gx-hero-support-grid{
    grid-template-columns:1fr;
  }
  .gx-hero-support-card{
    min-height:0;
  }
}


/* =========================================================
   Stage 10: Hero 封面铺满 + 左侧文章信息下沉补齐
   - 右侧封面图改为 cover 铺满卡片，不再出现黑边/留空
   - 作者、发布时间、预计阅读、阅读量统一放入左侧 Hero 下方信息区
   - 自动专题页顶部重复文章信息条隐藏，减少视觉重复
========================================================= */
.gx-force-insight-layout .gx-article-reading-meta{
  display:none !important;
}
.gx-force-insight-layout .gx-hero-inner{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:24px;
}
.gx-force-insight-layout .gx-hero-copy{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.gx-force-insight-layout .gx-hero-support-grid{
  margin-top:auto;
  padding-top:24px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.gx-force-insight-layout .gx-hero-support-card{
  min-height:82px;
  padding:14px 15px;
  border-radius:18px;
  background:
    radial-gradient(circle at 16% 0%,rgba(96,165,250,.10),transparent 36%),
    linear-gradient(180deg,rgba(15,30,52,.66),rgba(7,17,31,.54));
}
.gx-force-insight-layout .gx-hero-support-card strong{
  font-size:14px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.gx-force-insight-layout .gx-decision-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
  padding:18px;
}
.gx-force-insight-layout .gx-hero-cover-card{
  margin:0 0 14px;
  padding:0;
  overflow:hidden;
  border-radius:20px;
}
.gx-force-insight-layout .gx-hero-cover-media{
  width:100%;
  aspect-ratio:16 / 9;
  min-height:168px;
  max-height:230px;
  border-radius:0;
  background:#07111f;
}
.gx-force-insight-layout .gx-hero-cover-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.gx-force-insight-layout .gx-decision-title{
  margin-top:0;
}
.gx-force-insight-layout .gx-quick-list{
  flex:1 1 auto;
}
.gx-force-insight-layout .gx-quick-item{
  min-height:0;
}

@media (max-width:1100px){
  .gx-force-insight-layout .gx-hero-inner{
    grid-template-columns:1fr;
  }
  .gx-force-insight-layout .gx-article-reading-meta{
    display:flex !important;
  }
  .gx-force-insight-layout .gx-hero-support-grid{
    margin-top:18px;
    padding-top:0;
  }
  .gx-force-insight-layout .gx-hero-cover-media{
    max-height:none;
  }
}

@media (max-width:640px){
  .gx-force-insight-layout .gx-hero-support-grid{
    grid-template-columns:1fr;
  }
  .gx-force-insight-layout .gx-hero-support-card{
    min-height:0;
  }
  .gx-force-insight-layout .gx-hero-cover-media{
    min-height:0;
  }
}
