/* ============================================================
   封面图系统（qlaaa / lpttt 通用）
   <div class="cover cover-blue p-cover"><span class="cover-emoji">X</span><img ...></div>
   图失败自动只留渐变底+emoji；主体上移把 AI 图底部水印裁出框外，底部实色收口
   ============================================================ */
.cover{position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--cv1,#e8f2ff),var(--cv2,#d8e9fb));
  display:flex;align-items:center;justify-content:center}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:1;display:block}
.cover .cover-emoji{position:relative;z-index:1;font-size:40px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.08))}
.cover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,var(--cvf,rgba(0,95,204,.10)) 62%,var(--cve,var(--cv3,rgba(0,95,204,.30))) 100%)}

.cover-blue{--cv1:#eaf3ff;--cv2:#cfe4fb;--cvf:rgba(0,95,204,.12);--cve:rgba(0,95,204,.34)}
.cover-purple{--cv1:#eef0ff;--cv2:#dfe2fb;--cvf:rgba(71,48,154,.12);--cve:rgba(71,48,154,.34)}
.cover-green{--cv1:#eaf7ef;--cv2:#d2ecdb;--cvf:rgba(23,128,85,.10);--cve:rgba(23,128,85,.32)}
.cover-pink{--cv1:#fdeef4;--cv2:#f8d9e6;--cvf:rgba(214,60,110,.10);--cve:rgba(214,60,110,.32)}
.cover-sky{--cv1:#eaf2fd;--cv2:#d3e5fb;--cvf:rgba(0,100,180,.10);--cve:rgba(0,100,180,.30)}
.cover-cream{--cv1:#fdf8ef;--cv2:#f5e9d6;--cvf:rgba(150,110,40,.08);--cve:rgba(150,110,40,.24)}
.cover-lavender{--cv1:#f1edfd;--cv2:#e3dcf7;--cvf:rgba(99,71,180,.10);--cve:rgba(99,71,180,.30)}
.cover-rose{--cv1:#fdeef1;--cv2:#f9dbe1;--cvf:rgba(214,60,110,.10);--cve:rgba(214,60,110,.30)}

.p-cover{height:126px;border-radius:10px;margin:0 0 13px}
.p-cover .cover-emoji{font-size:36px}
.p-cover-soon{height:90px;margin:0 0 13px;border:1px dashed #dfe4ec;background:#f7f9fc;border-radius:10px;display:flex;align-items:center;justify-content:center}
.p-cover-soon span{font-size:12.5px;color:#a7b0bd;font-weight:500}
.p-cover-soon .cover-emoji{font-size:30px;opacity:.55}
.f-cover{width:118px;height:86px;border-radius:9px;flex-shrink:0}
.f-cover .cover-emoji{font-size:30px}
.art-banner{height:228px;border-radius:14px;margin:6px 0 20px}
.art-banner .cover-emoji{font-size:58px}
@media(max-width:600px){
  .art-banner{height:168px}
  .f-cover{width:94px;height:76px}
}
