:root{
  --bg:#0b0b0d; --bg-elev:#14141a; --bg-elev-2:#1a1a20;
  --fg:#e8e3d5; --fg-dim:#8a857a; --faint:#5a5854;
  --accent:#c9a961; --accent-bright:#d9b97a; --accent-dim:#8a7344;
  --line:#2a2a30; --line-soft:#1f1f25;
  --err:#c97a5e;
}
*{box-sizing:border-box;margin:0;padding:0}
html{height:100%}
body{
  font-family:'Sora','PingFang SC','Microsoft YaHei',sans-serif;
  background:var(--bg); color:var(--fg);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
body::before{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(201,169,97,.07), transparent 60%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 100%);
}

/* —— 详情页顶部 sticky 标题栏 —— */
.post-header{
  position:sticky; position:-webkit-sticky;
  top:0; z-index:50;
  background:#0b0b0d;
  border-bottom:1px solid var(--line);
  padding:16px 24px;
}
.header-inner{
  max-width:960px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center; gap:24px;
}
.header-back{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 14px; border:1px solid var(--line);
  color:var(--fg-dim); text-decoration:none;
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.15em; text-transform:uppercase;
  border-radius:2px; transition:all .2s;
  white-space:nowrap;
}
.header-back:hover{ border-color:var(--accent); color:var(--accent); }
.header-title{
  flex:1; min-width:0;
  font-family:'Fraunces',serif; font-weight:500; font-size:18px;
  color:var(--fg); line-height:1.3;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.header-meta{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--fg-dim); letter-spacing:.1em;
  white-space:nowrap;
}
@media(max-width:680px){
  .post-header{padding:12px 16px}
  .header-inner{gap:12px}
  .header-title{font-size:14px}
  .header-back{padding:5px 10px;font-size:10px}
  .header-meta{font-size:10px}
}

/* —— 内容区 —— */
.container{
  max-width:960px; margin:0 auto; padding:32px 24px 64px;
  position:relative; z-index:2;
}
@media(max-width:680px){
  .container{padding:20px 14px 40px}
}

/* —— 详情页大图流 —— */
.gallery{
  display:flex; flex-direction:column; gap:8px;
  margin-bottom:32px;
}
.gallery-img{
  width:100%; height:auto; display:block;
  background:var(--bg-elev-2);
  border-radius:4px;
}
.placeholder{
  width:100%; aspect-ratio:3/4;
  background:linear-gradient(110deg, var(--bg-elev-2) 30%, var(--bg-elev) 50%, var(--bg-elev-2) 70%);
  background-size:200% 100%;
  animation:shimmer 1.5s linear infinite;
  border-radius:4px;
}
@keyframes shimmer{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}

/* —— 描述与下载 —— */
.post-info{
  padding:24px 0 0;
  border-top:1px solid var(--line);
  text-align: center;
}
.post-title{
  font-family:'Fraunces',serif; font-weight:500; font-size:24px;
  color:var(--fg); margin:0 0 8px; line-height:1.3;
}
.post-meta{
  font-family:'JetBrains Mono',monospace; font-size:12px;
  color:var(--fg-dim); margin-bottom:16px;
  letter-spacing:.1em;
}
.post-description{
  font-family:'Sora',sans-serif; font-size:14px;
  color:var(--fg-dim); line-height:1.7;
  margin-bottom:24px;
  white-space:pre-wrap;
}
.post-dl-btn{
  display:inline-block; text-decoration:none;
  background:var(--accent); color:var(--bg);
  border:none; padding:12px 32px;
  font-family:'Sora',sans-serif; font-size:14px; font-weight:600;
  border-radius:6px; cursor:pointer;
  transition:all .2s;
}
.post-dl-btn:hover:not(.disabled){
  background:var(--accent-bright);
  transform:translateY(-1px);
}
.post-dl-btn.disabled{
  background:var(--line); color:var(--fg-dim);
  cursor:not-allowed;
}
@media(max-width:680px){
  .post-title{font-size:20px}
}

/* —— 广告位 —— */
.ad-slot{
  margin:16px 0;
  min-height:90px;
  width:100%;
  display:flex; align-items:center; justify-content:center;
  background:transparent;
}
.ad-slot:empty{display:none}
.ad-slot-post_bottom{margin-top:32px}

/* —— 图片可点击放大 —— */
.gallery-img-wrap{cursor:zoom-in; position:relative}
.gallery-img-wrap.zoomable:hover::after{
  content:''; position:absolute; inset:0;
  background:rgba(11,11,13,.15); transition:background .2s;
  pointer-events:none;
}
.gallery-img-wrap.zoomable:hover::before{
  content:'⤢'; position:absolute; top:12px; right:12px;
  color:var(--accent); font-size:18px; z-index:2;
  text-shadow:0 0 8px rgba(0,0,0,.6);
}

/* —— Lightbox 模态层 —— */
.lightbox{
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.92);
  display:none; align-items:center; justify-content:center;
  padding:32px; cursor:zoom-out;
}
.lightbox.show{display:flex; animation:lb-fade .2s ease}
@keyframes lb-fade{from{opacity:0}to{opacity:1}}
.lightbox img{
  max-width:100%; max-height:100%;
  object-fit:contain;
  cursor:default;
  box-shadow:0 0 80px rgba(0,0,0,.8);
}
.lightbox-close{
  position:absolute; top:20px; right:24px;
  color:#fff; font-size:32px; line-height:1;
  cursor:pointer; opacity:.7; transition:opacity .2s;
  font-family:'Sora',sans-serif;
}
.lightbox-close:hover{opacity:1}
.lightbox-caption{
  position:absolute; bottom:24px; left:0; right:0;
  text-align:center; color:var(--fg-dim);
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.1em;
}
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  color:#fff; font-size:32px; opacity:.5;
  cursor:pointer; padding:16px; transition:opacity .2s;
  font-family:'Sora',sans-serif; user-select:none;
}
.lightbox-nav:hover{opacity:1}
.lightbox-nav.prev{left:16px}
.lightbox-nav.next{right:16px}

/* —— 分享按钮组 —— */
.post-share{
  display:flex; gap:8px; justify-content:center;
  margin-top:20px; flex-wrap:wrap; position:relative;
}
.share-btn{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 14px; border:1px solid var(--line);
  background:transparent; color:var(--fg-dim);
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.1em; text-transform:uppercase;
  border-radius:2px; cursor:pointer;
  transition:all .2s;
}
.share-btn:hover{
  border-color:var(--accent); color:var(--accent);
  transform:translateY(-1px);
}
.share-btn.copied{
  border-color:var(--accent); color:var(--accent);
  background:rgba(201,169,97,.08);
}

/* —— 二维码弹层 —— */
.qr-popover{
  position:absolute; left:50%; bottom:100%; transform:translateX(-50%);
  margin-bottom:12px; padding:12px;
  background:var(--bg-elev); border:1px solid var(--line);
  border-radius:4px; z-index:50;
  display:none;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
}
.qr-popover.show{display:block; animation:lb-fade .2s ease}
.qr-popover img{
  display:block; width:140px; height:140px;
  background:#fff; padding:4px; border-radius:2px;
}
.qr-popover .qr-tip{
  margin-top:6px; text-align:center;
  font-family:'JetBrains Mono',monospace; font-size:9px;
  color:var(--fg-dim); letter-spacing:.1em;
  text-transform:uppercase;
}

/* —— 上一篇 / 下一篇 —— */
.post-nav{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
  margin-top:48px; padding-top:24px;
  border-top:1px solid var(--line);
}
.post-nav-item{
  display:flex; flex-direction:column; gap:4px;
  padding:16px; border:1px solid var(--line);
  text-decoration:none; border-radius:2px;
  transition:all .2s;
}
.post-nav-item:hover{border-color:var(--accent)}
.post-nav-item.next{grid-column:2; text-align:right}
.post-nav-label{
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--fg-dim); letter-spacing:.2em;
  text-transform:uppercase;
}
.post-nav-title{
  font-family:'Fraunces',serif; font-size:14px;
  color:var(--fg); line-height:1.4;
  overflow:hidden; text-overflow:ellipsis;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.post-nav-item:hover .post-nav-title{color:var(--accent)}
.post-nav-empty{
  display:flex; align-items:center; justify-content:center;
  padding:16px; border:1px dashed var(--line);
  color:var(--faint); font-size:12px;
  font-family:'JetBrains Mono',monospace;
  letter-spacing:.1em; text-transform:uppercase;
}
@media(max-width:680px){
  .post-nav{grid-template-columns:1fr; gap:8px}
  .post-nav-item.next{grid-column:1; text-align:left}
}

/* —— 相关推荐 —— */
.related-section{
  margin-top:64px; padding-top:32px;
  border-top:1px solid var(--line);
}
.related-heading{
  font-family:'Fraunces',serif; font-weight:400; font-size:18px;
  color:var(--fg); margin-bottom:20px;
  letter-spacing:.02em;
}
.related-heading em{color:var(--accent); font-style:italic}
.related-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:12px;
}
.related-card{
  display:block; text-decoration:none;
  border:1px solid var(--line); border-radius:2px;
  overflow:hidden; transition:all .2s;
}
.related-card:hover{border-color:var(--accent); transform:translateY(-2px)}
.related-cover{
  aspect-ratio:3/4; background:var(--bg-elev-2);
  overflow:hidden; position:relative;
}
.related-cover img{
  width:100%; height:100%; object-fit:cover;
}
.related-title{
  padding:8px 10px;
  font-family:'Sora',sans-serif; font-size:12px;
  color:var(--fg); line-height:1.4;
  overflow:hidden; text-overflow:ellipsis;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.related-meta{
  padding:0 10px 8px;
  font-family:'JetBrains Mono',monospace; font-size:9px;
  color:var(--fg-dim); letter-spacing:.1em;
}
@media(max-width:680px){
  .related-grid{grid-template-columns:repeat(2, 1fr)}
}

/* —— 返回顶部按钮 —— */
.back-to-top{
  position:fixed; right:32px; bottom:32px; z-index:100;
  width:44px; height:44px;
  background:var(--bg-elev); border:1px solid var(--line);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--fg-dim); cursor:pointer;
  opacity:0; visibility:hidden;
  transform:translateY(8px);
  transition:opacity .3s, visibility .3s, transform .3s, border-color .2s, color .2s;
  box-shadow:0 4px 20px rgba(0,0,0,.4);
}
.back-to-top.show{opacity:1; visibility:visible; transform:translateY(0)}
.back-to-top:hover{
  border-color:var(--accent); color:var(--accent);
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(201,169,97,.2);
}
.back-to-top svg{width:18px; height:18px}
@media(max-width:680px){
  .back-to-top{right:16px; bottom:16px; width:40px; height:40px}
  .back-to-top svg{width:16px; height:16px}
}

/* ============ 首页导航栏 ============ */
.home-header{
  position:sticky; top:0; z-index:50;
  background:#0b0b0d; border-bottom:1px solid var(--line);
  padding:16px 24px;
}
.home-header-inner{
  max-width:1200px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
}
.home-logo{
  font-family:'Fraunces',serif; font-weight:600; font-size:22px;
  color:var(--accent); letter-spacing:1px; text-decoration:none;
}
.home-nav a{
  margin-left:20px; color:var(--fg-dim);
  font-family:'JetBrains Mono',monospace; font-size:12px;
  letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; transition:color .2s;
}
.home-nav a:hover{ color:var(--accent); }

.home-container{
  max-width:1200px; margin:0 auto; padding:32px 24px 64px;
  position:relative; z-index:2;
}

/* ============ 首页网格：PC端固定6列 ============ */
.home-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:16px;
}

/* 平板端（≤1100px）：4列 */
@media(max-width:1100px){
  .home-grid{
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
  }
}

/* 小平板/横屏手机（≤860px）：3列 */
@media(max-width:860px){
  .home-grid{
    grid-template-columns:repeat(3, 1fr);
    gap:12px;
  }
}

/* 手机端（≤680px）：2列 */
@media(max-width:680px){
  .home-grid{
    grid-template-columns:repeat(2, 1fr);
    gap:10px;
  }
}

/* ============ 首页卡片：标题/时间叠加在封面图上 ============ */
.home-card{
  display:block; text-decoration:none;
  border:1px solid var(--line); border-radius:4px;
  overflow:hidden; background:var(--bg-elev);
  transition:all .25s; position:relative;
}
.home-card:hover{
  border-color:var(--accent); transform:translateY(-4px);
  box-shadow:0 10px 30px rgba(201,169,97,.15);
}
.home-cover{
  position:relative; width:100%; padding-top:150%;
  overflow:hidden; background:var(--bg-elev-2);
}
.home-cover img{
  position:absolute; top:0; left:0; width:100%; height:100%;
  object-fit:cover;
  filter:grayscale(15%) brightness(.85);
  transition:filter .35s, transform .35s;
}
.home-card:hover .home-cover img{
  filter:grayscale(0%) brightness(.75);
  transform:scale(1.06);
}

/* 底部黑色渐变遮罩，保证文字始终可读 */
.home-cover::after{
  content:'';
  position:absolute; left:0; right:0; bottom:0;
  height:65%;
  background:linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,0) 100%);
  pointer-events:none;
  z-index:1;
}

/* 图片数量角标 */
.home-badge{
  position:absolute; top:10px; right:10px;
  background:rgba(201,169,97,.92); color:#0b0b0d;
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:500;
  padding:3px 8px; border-radius:2px; z-index:5;
}

/* 叠加在图片底部的标题 + 时间 */
.home-overlay{
  position:absolute; left:0; right:0; bottom:0;
  padding:16px 12px 14px;
  z-index:2;
}
.home-title{
  font-family:'Fraunces',serif; font-weight:500; font-size:15px;
  color:#fff; line-height:1.4;
  overflow:hidden; text-overflow:ellipsis;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
  margin-bottom:6px;
}
.home-date{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--accent-bright); letter-spacing:.08em;
  opacity:.9;
}

@media(max-width:680px){
  .home-title{font-size:13px;}
  .home-date{font-size:10px;}
}

/* ============ 首页分页导航 ============ */
.home-pagination{
  display:flex; align-items:center; justify-content:center;
  gap:10px; margin-top:40px; flex-wrap:wrap;
}
.page-btn{
  display:inline-flex; align-items:center;
  padding:9px 18px; border:1px solid var(--line);
  background:transparent; color:var(--fg-dim);
  font-family:'JetBrains Mono',monospace; font-size:12px;
  letter-spacing:.05em; border-radius:2px;
  text-decoration:none; transition:all .2s;
  white-space:nowrap;
}
.page-btn:hover{ border-color:var(--accent); color:var(--accent); }
.page-btn.disabled{
  color:var(--faint); cursor:not-allowed; pointer-events:none;
  border-color:var(--line-soft);
}
.page-numbers{ display:flex; align-items:center; gap:6px; }
.page-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px;
  border:1px solid var(--line); border-radius:2px;
  color:var(--fg-dim); text-decoration:none;
  font-family:'JetBrains Mono',monospace; font-size:13px;
  transition:all .2s;
}
.page-num:hover{ border-color:var(--accent); color:var(--accent); }
.page-num.active{
  background:var(--accent); color:var(--bg);
  border-color:var(--accent); font-weight:600;
}
.page-dots{
  color:var(--faint); font-family:'JetBrains Mono',monospace;
  font-size:13px; padding:0 4px;
}
.page-info-text{
  text-align:center; margin-top:16px;
  color:var(--fg-dim); font-family:'JetBrains Mono',monospace;
  font-size:12px; letter-spacing:.08em;
}
@media(max-width:680px){
  .home-pagination{ gap:6px; }
  .page-btn{ padding:7px 12px; font-size:11px; }
  .page-num{ width:30px; height:30px; font-size:12px; }
}

/* ============ 后台管理专用 ============ */
.admin-box{
  background:var(--bg-elev); border:1px solid var(--line);
  padding:24px; border-radius:4px; margin-bottom:20px;
}
.form-group{ margin-bottom:15px; }
.form-group label{
  display:block; margin-bottom:6px; color:var(--accent);
  font-size:13px; font-family:'JetBrains Mono',monospace; letter-spacing:.05em;
}
.form-control{
  width:100%; padding:11px; background:#0d0d10;
  border:1px solid var(--line); border-radius:2px;
  color:var(--fg); font-size:14px; font-family:'Sora',sans-serif;
}
.form-control:focus{ outline:none; border-color:var(--accent-dim); }
.table{ width:100%; border-collapse:collapse; margin-top:10px; }
.table th{
  color:var(--accent); font-weight:500; font-size:12px;
  letter-spacing:.05em; font-family:'JetBrains Mono',monospace;
}
.table th, .table td{
  padding:12px; text-align:left; border-bottom:1px solid var(--line); font-size:13px;
}
.admin-img-list{ display:flex; flex-wrap:wrap; gap:10px; }
.admin-img-item{ width:140px; position:relative; }
.admin-img-item img{
  width:100%; height:190px; object-fit:cover;
  border-radius:2px; border:1px solid var(--line);
}
.admin-img-item .del-btn{
  position:absolute; bottom:6px; right:6px;
  background:rgba(201,122,94,.9); color:#0b0b0d;
  padding:3px 8px; font-size:11px; border-radius:2px; text-decoration:none;
}
.btn{
  display:inline-block; padding:10px 20px; border:1px solid var(--line);
  background:transparent; color:var(--fg-dim);
  font-family:'JetBrains Mono',monospace; font-size:12px;
  letter-spacing:.05em; border-radius:2px; cursor:pointer;
  text-decoration:none; transition:all .2s;
}
.btn:hover{ border-color:var(--accent); color:var(--accent); }
.btn-primary{ background:var(--accent); color:var(--bg); border-color:var(--accent); }
.btn-primary:hover{ background:var(--accent-bright); }
.btn-danger:hover{ border-color:var(--err); color:var(--err); }
/* —— 底部友链区（横向编辑风） —— */
.friend-links-section{
  max-width:1400px; margin:0 auto;
  padding:48px 24px 56px;
  border-top:1px solid var(--line);
  position:relative; z-index:2;
  text-align:center;
}

.friend-links-header{
  display:flex; align-items:baseline; justify-content:center; gap:12px;
  margin-bottom:24px;
}
.friend-links-kicker{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--accent);
}
.friend-links-title{
  font-family:'Fraunces',serif; font-weight:500; font-size:18px;
  color:var(--fg); letter-spacing:.01em;
}

.friend-links-inline{
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:14px 4px;
  font-family:'Sora',sans-serif;
}
.friend-link-inline-item{
  display:inline-block;
  padding:2px 10px;
  font-size:14px; font-weight:400;
  color:var(--fg-dim); text-decoration:none;
  transition:color .25s ease;
}
.friend-link-inline-item:hover{
  color:var(--accent);
}
.friend-link-divider{
  font-family:'JetBrains Mono',monospace;
  font-size:13px; color:var(--faint);
  opacity:.5; user-select:none;
}

@media(max-width:680px){
  .friend-links-section{ padding:36px 16px 40px; }
  .friend-links-title{ font-size:15px; }
  .friend-links-inline{ gap:10px 4px; }
  .friend-link-inline-item{ font-size:13px; padding:2px 6px; }
}
/* ============ 首页顶部：导航+搜索框布局 ============ */
.home-header-right{
  display:flex; align-items:center; gap:20px;
  flex-wrap:wrap;
}
@media(max-width:680px){
  .home-header-inner{
    flex-direction:column; align-items:flex-start; gap:12px;
  }
  .home-header-right{
    width:100%; flex-direction:column; align-items:stretch; gap:10px;
  }
  .search-form{ order:-1; width:100%; }
}

/* ============ 搜索框（简约编辑风） ============ */
.search-form{
  display:inline-flex; align-items:center; gap:4px;
  padding:6px 10px; border:1px solid var(--line);
  border-radius:2px; background:transparent;
  transition:border-color .2s;
}
.search-form:focus-within{ border-color:var(--accent); }
.search-form input{
  background:transparent; border:0; outline:none;
  color:var(--fg); font-family:'Sora',sans-serif; font-size:14px;
  width:180px; padding:2px 0;
}
.search-form input::placeholder{ color:var(--faint); }
.search-form #searchClear{
  background:transparent; border:0; color:var(--fg-dim);
  cursor:pointer; font-size:18px; line-height:1;
  padding:0 4px;
}
.search-form #searchClear:hover{ color:var(--accent); }
@media(max-width:680px){
  .search-form input{ width:auto; flex:1; min-width:0; font-size:14px; }
}

/* ============ 搜索结果提示条 ============ */
.search-result-heading{
  margin-bottom:22px; padding-bottom:16px;
  border-bottom:1px solid var(--line-soft);
  font-family:'Sora',sans-serif; font-size:14px;
  color:var(--fg-dim);
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:10px;
}
.search-result-heading em{
  color:var(--accent); font-style:italic; font-family:'Fraunces',serif;
  font-weight:500;
}
.search-clear-link{
  color:var(--fg-dim); text-decoration:none;
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.1em; text-transform:uppercase;
  border:1px solid var(--line); padding:4px 10px; border-radius:2px;
  transition:all .2s;
}
.search-clear-link:hover{
  border-color:var(--accent); color:var(--accent);
}
/* ============ 广告位样式（已修复移动端自适应问题） ============ */

/* 通用全宽Banner广告（list_top / list_bottom / post_top / post_bottom） */
.ad-slot{
  margin:8px auto 24px;
  min-height:50px;
  width:100%;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-elev);
  border:1px solid var(--line-soft);
  border-radius:4px;
  overflow:hidden;
  position:relative;
  padding:6px;
}
.ad-slot:empty{ display:none; }
.ad-slot::before{
  content:'AD';
  position:absolute; top:6px; left:8px;
  font-family:'JetBrains Mono',monospace; font-size:9px;
  color:var(--faint); letter-spacing:.15em;
  opacity:.5; pointer-events:none; z-index:5;
}

/* 关键修复：强制广告内部所有元素自适应容器宽度，不会在手机端溢出或被裁切 */
.ad-slot img,
.ad-slot iframe,
.ad-slot ins,
.ad-slot a,
.ad-slot div{
  max-width:100% !important;
  width:100% !important;
  height:auto !important;
}

.ad-slot-post-top{ margin-top:0; margin-bottom:28px; }
.ad-slot-post-bottom{ margin-top:28px; margin-bottom:0; }

/* 列表中部：作为网格卡片插入，占1个格子，与普通图集卡片保持相同比例 */
.ad-card{
  position:relative;
  background:var(--bg-elev);
  border:1px solid var(--line-soft);
  border-radius:4px;
  aspect-ratio:3/4;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  padding:8px;
}
.ad-card::before{
  content:'AD';
  position:absolute; top:6px; left:8px;
  font-family:'JetBrains Mono',monospace; font-size:9px;
  color:var(--faint); letter-spacing:.15em;
  opacity:.5; pointer-events:none; z-index:5;
}
.ad-card img,
.ad-card iframe,
.ad-card ins,
.ad-card a,
.ad-card div{
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  object-fit:contain;
}

/* 手机端：由于屏幕宽度有限，固定尺寸的通栏广告(如728x90)可能不适配，
   这里不隐藏广告位，只确保容器足够窄也能完整显示内容 */
@media(max-width:680px){
  .ad-slot{ min-height:50px; padding:4px; }
  .ad-card{ padding:6px; }
}