/* ==========================================================================
   SafeW — News Article Page (Full CSS, Narrower Aside & Card-style BG)
   ========================================================================== */

:root{
  --bg: #0b0d13;
  --panel: rgba(20,24,36,.72);
  --panel-solid: #141824;
  --panel-border: rgba(255,255,255,.08);
  --text-1: #eaf0ff;
  --text-2: #cbd6f4;
  --text-3: #9fb0d0;
  --muted: #8fa0be;
  --brand: #7b4cff;
  --link: #a6b7ff;
  --link-hover: #ffffff;

  --page-max: 820px;  
  --aside-w: 200px;   /* 再窄一点 */
  --radius-lg: 18px;
  --radius-md: 14px;
  --radius-sm: 8px;
  --shadow-1: 0 8px 20px rgba(0,0,0,.28);
  --shadow-2: 0 16px 44px rgba(0,0,0,.45);
}

/* =========================
   页面背景
   ========================= */
body{
  background:
    radial-gradient(1000px 480px at 75% 20%, rgba(123,76,255,.35), rgba(123,76,255,0) 70%),
    radial-gradient(800px 420px at 20% 40%, rgba(255,45,85,.25), rgba(255,45,85,0) 65%),
    linear-gradient(160deg, #12141d 0%, #0b0d13 60%, #0b0d13 100%);
  color: var(--text-1);
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height: 1.8;
}

/* =========================
   主体容器
   ========================= */
.page-narrow.news-detail{
  width: min(100%, var(--page-max));
  margin: 0 auto;
  padding: 32px 20px 60px;
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-2);
  backdrop-filter: blur(12px);
}

/* 标题 */
.news-detail h1{
  font-size: clamp(22px, 3.4vw, 36px);
  font-weight: 800;
  margin: 10px 0 14px;
  color: #fff;
}
.news-detail .meta{
  font-size: 14px;
  color: var(--text-3);
  margin-bottom: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}
.news-detail .meta-item {
  color: var(--text-3);
}
.news-detail .meta-link {
  color: var(--link);
  text-decoration: none;
  transition: color 0.2s ease;
}
.news-detail .meta-link:hover {
  color: var(--link-hover);
  text-decoration: underline;
}
.news-detail .cover{
  width: 100%;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-1);
  margin-bottom: 10px;
}
.news-detail .desc{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-md);
  padding: 16px 18px;
  margin-bottom: 26px;
  color: var(--text-2);
}
.news-detail .content,
.news-detail .article-content{ 
  font-size:16px; 
  color:var(--text-1) !important; 
  line-height: 1.8 !important;
  margin-top: 20px;
}
.news-detail .content p,
.news-detail .article-content p{ 
  margin: 1em 0; 
  color: var(--text-1);
  line-height: 1.9;
}
.news-detail .content a,
.news-detail .article-content a {
  color: var(--link);
  text-decoration: underline;
}
.news-detail .content a:hover,
.news-detail .article-content a:hover {
  color: var(--link-hover);
}
.news-detail .content h1,
.news-detail .article-content h1 {
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  margin: 1.5em 0 1em;
  line-height: 1.4;
}
.news-detail .content h2,
.news-detail .article-content h2 {
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  margin: 1.3em 0 0.8em;
  line-height: 1.4;
  position: relative;
  padding-left: 14px;
}
.news-detail .content h2::before,
.news-detail .article-content h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 2px;
  background: linear-gradient(180deg, #7b4cff 0%, #ff2d55 100%);
}
.news-detail .content h3,
.news-detail .article-content h3 {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  margin: 1.2em 0 0.7em;
  line-height: 1.4;
}
.news-detail .content h4,
.news-detail .article-content h4 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-2);
  margin: 1em 0 0.6em;
}
.news-detail .content ul,
.news-detail .article-content ul,
.news-detail .content ol,
.news-detail .article-content ol {
  margin: 1em 0;
  padding-left: 2em;
  color: var(--text-1);
}
.news-detail .content li,
.news-detail .article-content li {
  margin: 0.5em 0;
  line-height: 1.8;
}
.news-detail .content img,
.news-detail .article-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  margin: 1.5em 0;
  box-shadow: var(--shadow-1);
}
.news-detail .content small,
.news-detail .article-content small {
  font-size: 14px;
  color: var(--text-3);
  display: block;
  margin: 1em 0;
}
.news-detail .content blockquote,
.news-detail .article-content blockquote {
  border-left: 4px solid var(--brand);
  padding-left: 1em;
  margin: 1.5em 0;
  color: var(--text-2);
  font-style: italic;
}
.news-detail .content code,
.news-detail .article-content code {
  background: rgba(255,255,255,0.1);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Courier New', monospace;
  font-size: 0.9em;
}
.news-detail .content pre,
.news-detail .article-content pre {
  background: rgba(255,255,255,0.05);
  padding: 1em;
  border-radius: var(--radius-sm);
  overflow-x: auto;
  margin: 1.5em 0;
}
.news-detail .content pre code,
.news-detail .article-content pre code {
  background: none;
  padding: 0;
}
.news-detail .content table,
.news-detail .article-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
}
.news-detail .content table th,
.news-detail .article-content table th,
.news-detail .content table td,
.news-detail .article-content table td {
  border: 1px solid var(--panel-border);
  padding: 0.75em;
  text-align: left;
}
.news-detail .content table th,
.news-detail .article-content table th {
  background: rgba(255,255,255,0.05);
  font-weight: 600;
}



.home-aside-floating{
  position: fixed;
  right: 20px;
  top: 120px;
  width: var(--aside-w);
  z-index: 5;
}
.aside-box{
  background: transparent;   
  border: 0;
  box-shadow: none;
  padding: 0;
}
.aside-title{
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
  font-size: 15px;
}


.aside-news{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.aside-news li{
  background: rgba(20,24,36,.72);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  box-shadow: var(--shadow-1);
  backdrop-filter: blur(8px);
}
.aside-news .d{ font-size:12px; color:var(--text-3); margin-bottom:4px; }
.aside-news .t{ color:#dfe7ff; line-height:1.4; font-size:13px; display:block; }
.aside-news .t:hover{ color:#fff; }

/* 窄屏隐藏浮窗 */
@media (max-width: 1200px){
  .home-aside-floating{ display:none; }
}


.more-title{
  font-size:20px;
  font-weight:700;
  margin:28px 0 14px;
  color:#fff;
}
.news-grid{
  display:grid;
  gap:16px;
}
.more-grid{
  grid-template-columns: repeat(2, minmax(0,1fr));
}
@media (max-width:820px){
  .more-grid{ grid-template-columns:1fr; }
}
.news-card{
  background: var(--panel-solid);
  border:1px solid var(--panel-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-1);
  display:flex;
  flex-direction:column;
  transition:all .2s ease;
}
.news-card:hover{
  transform:translateY(-2px);
  border-color:var(--brand);
  box-shadow: var(--shadow-2);
}
.news-card img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-top-left-radius: var(--radius-md);
  border-top-right-radius: var(--radius-md);
}
.news-card .txt{ padding:14px 16px; flex:1; }
.news-card .txt h4{ font-size:18px; margin:0 0 6px; color:#fff; }
.news-card .lead{ color:var(--text-2); font-size:14px; line-height:1.6; }
.news-card .date{ padding:8px 16px 14px; font-size:13px; color:var(--text-3); }


.pg{ display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.pg a,.pg span{
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:6px;
  background: rgba(255,255,255,.04);
  color:#e6ebff;
}
.pg a:hover{ background: rgba(255,255,255,.08); }
.pg .on{ background:var(--brand); border-color:var(--brand); color:#fff; }

/* 相关文章样式 */
.news-detail .related-articles {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid var(--panel-border);
}
.news-detail .related-articles h2 {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 24px;
}
.news-detail .related-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.news-detail .related-list li {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--panel-border);
}
.news-detail .related-list li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.news-detail .related-link {
  color: var(--link);
  text-decoration: none;
  font-size: 16px;
  display: block;
  margin-bottom: 6px;
  transition: color 0.2s ease;
}
.news-detail .related-link:hover {
  color: var(--link-hover);
  text-decoration: underline;
}
.news-detail .related-date {
  color: var(--text-3);
  font-size: 13px;
  display: block;
}

/* 返回按钮样式 */
.news-detail .back-to-list {
  margin-top: 48px;
  text-align: center;
  padding-top: 32px;
  border-top: 1px solid var(--panel-border);
}
.news-detail .btn-back {
  display: inline-block;
  padding: 12px 28px;
  background: rgba(255,255,255,0.15);
  border: 2px solid rgba(255,255,255,0.3);
  border-radius: 24px;
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.news-detail .btn-back:hover {
  background: rgba(255,255,255,0.25);
  border-color: rgba(255,255,255,0.5);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
}
