:root{
  --bg:#0c1118; --border:#1f2937; --text:#e5ecf5; --accent:#2a69ff; --accent-2:#1b56d5; --muted:#9fb0c6;
}
*{box-sizing:border-box}
html,body{min-height:100%;overflow-x:hidden}
body{margin:0;font-family: "Inter var", Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans CJK SC", "Noto Sans SC", sans-serif;background:linear-gradient(180deg,var(--bg),#0b1119 60%) fixed;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.container{max-width:1220px;margin:0 auto;padding:24px}
a{color:inherit}
.topbar{position:sticky;top:0;z-index:100;background:rgba(10,14,22,.85);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}
@media (max-width: 720px){.topbar{display:none}}
.topbar-inner{display:flex;align-items:center;gap:16px;height:64px;padding:0 24px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.3px}
.logo svg{width:28px;height:28px}
.logo img{height:44px;max-height:44px;width:auto;display:block}
@media (max-width: 980px){
  .logo img{height:36px;max-height:36px}
}
.nav{display:flex;gap:4px;margin-left:8px}
.nav a{text-decoration:none;color:#b7c4d9;padding:8px 10px;border-radius:8px}
.nav a:hover,.nav a.active{background:#151c27;color:#fff}
.right{margin-left:auto;display:flex;align-items:center;gap:12px}

/* 顶栏右侧搜索：加入按钮，给右侧留空间 */
.top-search{position:relative;width:240px;flex:0 0 240px}
.top-search input{width:100%;height:36px;background:#0f1623;color:#cfd7e6;border:1px solid var(--border);border-radius:10px;padding:8px 38px 8px 12px;outline:none}
.top-search input::placeholder{color:#93a1b3}
.top-search input:focus{border-color:#365275;box-shadow:0 0 0 3px rgba(42,105,255,.15);background:#101827}
.top-search .icon-submit{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85}
.top-search .icon-submit:hover{opacity:1}
.top-search .icon-submit svg{width:18px;height:18px}

.filters{display:flex;gap:12px;padding:16px 0 10px;flex-wrap:wrap}
.segment{background:#0f1623;border:1px solid var(--border);padding:2px;border-radius:10px;display:flex;gap:2px;flex-wrap:wrap}
.segment a{text-decoration:none;font-size:12px;color:#aab4c3;padding:8px 12px;border-radius:8px}
.segment a.active{background:var(--accent);color:#fff}
.segment a:hover{background:#1a2436;color:#e7eef8}
.sort{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sort .chip{background:#101827;border:1px solid var(--border);padding:6px 10px;border-radius:8px;font-size:12px;color:#9fb0c6;display:inline-flex;align-items:center;gap:6px}

.searchbar{display:flex;justify-content:center;margin:8px auto 4px;padding:6px 0 2px}
.searchbox{position:relative;width:min(100%,680px)}
.searchbox input{width:100%;height:44px;background:#0f1623;color:#cfd7e6;border:1px solid var(--border);border-radius:12px;padding:10px 48px 10px 14px;outline:none;transition:box-shadow .2s,border-color .2s,background .2s}
.searchbox input::placeholder{color:#94a3b8}
.searchbox input:focus{border-color:#365275;box-shadow:0 0 0 4px rgba(42,105,255,.15);background:#101827}
/* 大搜索按钮 */
.searchbox .icon-submit{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85}
.searchbox .icon-submit:hover{opacity:1}
.searchbox .icon-submit svg{width:20px;height:20px}

.list{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.card{position:relative;background:linear-gradient(180deg,#121a26,#0f1623);border:1px solid var(--border);border-radius:12px;padding:16px;display:grid;grid-template-columns:104px 1fr;gap:16px;align-items:start;transition:transform .15s,box-shadow .15s,border-color .25s}
.card:hover{transform:translateY(-2px);border-color:#2a3a4b;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.cover{width:104px;aspect-ratio:3/4;background:#121821;border:1px solid #1f2937;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#66758a;font-size:12px;overflow:visible;position:relative}
.cover img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}
.content{display:flex;flex-direction:column;gap:10px;min-width:0;position:relative;z-index:2}
.title{font-size:16px;margin:0;line-height:1.45}
.title a{text-decoration:none;color:#e9efff;position:relative;z-index:3}
.title a:hover{text-decoration:underline}
.desc{font-size:12px;color:#9fb0c6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#8ea1bb}
.actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end;min-width:176px;position:relative;z-index:1}
.buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.btn{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;color:#c8d2e1;background:#0f1623;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.btn:hover{border-color:#39506b;background:#142033}
.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-2));border-color:#0e3fa5;color:#fff}
.pill{background:#101827;border:1px solid var(--border);border-radius:999px;font-size:12px;padding:4px 8px;color:#a3b3c9;display:inline-flex;align-items:center;gap:6px}

.pagination{display:flex;gap:6px;justify-content:center;align-items:center;margin:24px 0 64px}
/* 兼容 paginate_links(type=list) 输出的 <ul class="page-numbers"> */
.navigation .page-numbers{list-style:none;display:flex;gap:8px;justify-content:center;align-items:center;padding:0;margin:24px 0 64px}
.navigation .page-numbers li{list-style:none}
.navigation .page-numbers a,.navigation .page-numbers span{min-width:32px;height:28px;border-radius:6px;border:1px solid var(--border);display:inline-grid;place-items:center;color:#aab4c3;text-decoration:none;background:#0f1623;padding:0 10px;margin:0}
.navigation .page-numbers a:hover{color:#fff;border-color:#365275}
.navigation .page-numbers .current{background:var(--accent);color:#fff;border-color:#0e3fa5}
/* 兼容部分模板直接输出 .nav-links 容器的情况（the_posts_pagination 默认输出） */
.navigation .nav-links{display:flex;gap:8px;justify-content:center;align-items:center;margin:24px 0 64px}
.navigation .nav-links .page-numbers{display:inline-grid;place-items:center;min-width:32px;height:28px;border-radius:6px;border:1px solid var(--border);color:#aab4c3;text-decoration:none;background:#0f1623;padding:0 10px}
.navigation .nav-links .page-numbers.current{background:var(--accent);color:#fff;border-color:#0e3fa5}
.navigation .nav-links .page-numbers:hover{color:#fff;border-color:#365275}
.page.active,.nav-links .current{background:var(--accent);color:#fff;border-color:#0e3fa5}

.hero{background:radial-gradient(1200px 380px at 40% -10%,rgba(42,105,255,.12),transparent 60%),linear-gradient(180deg,#121a26,#0f1623);border:1px solid var(--border);border-radius:14px;padding:20px;display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:start}
.hero-banner{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#121a26,#0f1623);margin:8px 0 14px}
.hero-banner picture, .hero-banner img{display:block;width:100%}
.hero-banner img{height:240px;object-fit:cover;filter:contrast(1.02) saturate(1.02)}
.hero-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,23,.05),rgba(2,6,23,.35) 40%,rgba(2,6,23,.75));pointer-events:none}
.hero-overlay{position:absolute;left:24px;bottom:20px;z-index:2;max-width:min(80%,860px)}
.hero-heading{margin:0 0 6px;font-size:26px;line-height:1.25;color:#eaf2ff;text-shadow:0 6px 18px rgba(0,0,0,.45)}
.hero-sub{margin:0 0 10px;color:#c7d2df;font-size:13px;opacity:.95}
.hero-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;background:linear-gradient(180deg,var(--accent),var(--accent-2));border:1px solid #0e3fa5;color:#fff;text-decoration:none;font-weight:600}
.hero-btn:hover{filter:brightness(1.06)}
@media (max-width: 980px){
  .hero-banner img{height:200px}
  .hero-overlay{left:14px;right:14px;bottom:14px}
  .hero-heading{font-size:20px}
  .hero-sub{font-size:12px}
  .hero-btn{padding:8px 12px;font-size:12px}
}
.cover-lg{width:180px;aspect-ratio:3/4;background:#121821;border:1px solid #1f2937;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#66758a;font-size:12px;overflow:hidden}
.cover-lg img{width:100%;height:100%;object-fit:cover;display:block}
.h-title{margin:0 0 8px;font-size:22px;line-height:1.35}
.h-sub{margin:0 0 12px;color:#9fb0c6;font-size:13px}
.hero .meta{margin-bottom:14px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}

.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;margin-top:12px}
.section{background:linear-gradient(180deg,#121a26,#0f1623);border:1px solid var(--border);border-radius:12px;padding:16px}
.section h3{margin:0 0 12px;font-size:16px}
.section p{margin:6px 0;color:#c7d2df;font-size:14px;line-height:1.8}

kbd{background:#111a2a;border:1px solid #273650;padding:2px 6px;border-radius:6px;font-size:12px;color:#cfe0ff}
.aside .block{background:#0f1623;border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px}
.aside h4{margin:0 0 8px;font-size:14px}
.rec-list{display:flex;flex-direction:column;gap:10px}
.rec{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center}
.rec .cover-s{width:56px;height:74px;background:#121821;border:1px solid #1f2937;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#66758a;font-size:12px;overflow:hidden}
.rec .cover-s img{width:100%;height:100%;object-fit:cover;display:block}
.rec a{color:#dce6ff;text-decoration:none}
.rec a:hover{text-decoration:underline}
.rec .tag{font-size:11px;color:#9fb0c6}

.footer{color:#6e7c91;text-align:center;border-top:1px solid var(--border);padding:16px 0 24px;margin-top:20px}

/* 影片信息样式 */
.movie-rating-badge{position:absolute;top:20px;right:20px;background:linear-gradient(135deg,#2e963d,#1f7a2c);padding:8px 14px;border-radius:10px;box-shadow:0 4px 12px rgba(46,150,61,0.28);z-index:10}
.movie-rating-label{font-size:11px;color:rgba(255,255,255,0.85);margin-bottom:2px;font-weight:500}
.movie-rating-score{font-size:22px;color:#fff;font-weight:700;line-height:1;text-align:center}
.movie-info-card{background:rgba(15,22,35,0.6);border:1px solid rgba(31,41,55,0.8);border-radius:10px;padding:12px 14px;margin-bottom:14px}
.movie-info-grid{display:grid;grid-template-columns:1fr;gap:6px;font-size:13px;line-height:1.8}
.douban-spec .k{display:inline-block;min-width:110px;color:#9fb0c6}
.douban-spec .v{color:#e9efff}

@media (max-width:1100px){.layout{grid-template-columns:1fr}}
@media (max-width:980px){.searchbox{width:100%;padding:0 2px}}
@media (max-width:720px){.hero{grid-template-columns:1fr;gap:14px}.cover-lg{width:100%;height:auto;aspect-ratio:3/4}.movie-rating-badge{top:12px;right:12px;padding:6px 10px}.movie-rating-score{font-size:18px}.movie-rating-label{font-size:10px}.movie-info-grid{grid-template-columns:1fr;gap:8px}}

/* === v3.2.5: Increase search icon contrast & focus ring === */
.top-search .icon-submit,
.searchbox .icon-submit {
  color: var(--text);
  opacity: .95;
}
.top-search .icon-submit:hover,
.searchbox .icon-submit:hover { opacity: 1; }
.top-search .icon-submit:focus-visible,
.searchbox .icon-submit:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.top-search .icon-submit svg,
.searchbox .icon-submit svg {
  stroke: currentColor;
  fill: none;
}

/* === 首页卡片增强样式 === */

/* 调整卡片布局 */
.card {
  grid-template-columns: 96px 1fr;
  gap: 12px;
}

/* 卡片内容区域 */
.card .content {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

/* 标题 */
.card .title {
  font-size: 15px;
  margin: 0;
  line-height: 1.4;
}

/* 封面宽度略缩小以降低卡片整体高度 */
.cover { width: 96px; }

/* 原名/别名 */
.subtitle {
  font-size: 12px;
  color: #8ea1bb;
  line-height: 1.4;
  margin: 2px 0 4px;
}

/* 导演和主演信息 */
.meta-info {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 12px;
  line-height: 1.5;
  color: #8ea1bb;
  margin: 2px 0 4px;
}
.meta-info .meta-item {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
}
.meta-info strong {
  color: #9fb0c6;
  font-weight: 500;
  font-size: 12px;
}

/* 简介样式 */
.card .desc {
  font-size: 12px;
  color: #9fb0c6;
  line-height: 1.7;
  margin: 4px 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
  max-height: calc(1.7em * 3); /* 防止浏览器差异导致提前截断 */
}

/* 卡片底部区域更紧凑 */
.card-footer { padding-top: 6px; gap: 10px; }

/* 标签容器 */
.tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* 标签样式（时间标签） */
.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #101827;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 12px;
  color: #9fb0c6;
  line-height: 1;
  white-space: nowrap;
}
.tag-chip svg {
  opacity: 0.7;
  flex-shrink: 0;
}
.time-tag {
  background: rgba(16, 24, 39, 0.8);
  border-color: rgba(31, 41, 55, 0.8);
}

/* 豆瓣评分标签（默认隐藏，移动端显示） */
.rating-tag{display:none;background:rgba(46,150,61,.12);border-color:rgba(46,150,61,.45);color:#c7f1d0}
.rating-tag svg{opacity:.85}

/* 卡片右侧操作区 */
.card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* 按钮组 */
.card-actions .buttons {display:flex;gap:8px}
/* 恢复更紧凑的按钮，不强制固定宽度，统一高度与内边距 */
.btn{border:1px solid var(--border);border-radius:8px;padding:7px 9px;font-size:12px;color:#c8d2e1;background:linear-gradient(180deg,#131c2a,#0f1623);text-decoration:none;display:inline-flex;gap:6px;align-items:center;justify-content:center;box-shadow:0 1px 0 rgba(0,0,0,.25) inset}
.btn:hover{border-color:#39506b;background:#142033}
.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-2));border-color:#0e3fa5;color:#fff}

/* 豆瓣评分徽章（首页小版本） */
/* 顶角评分角标 */
.rating-corner{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,#2e963d,#1f7a2c);padding:6px 10px;border-radius:8px;box-shadow:0 2px 10px rgba(46,150,61,.28);text-align:center;z-index:5}
.rating-corner .rating-label{font-size:10px;color:rgba(255,255,255,.9);line-height:1;margin-bottom:1px}
.rating-corner .rating-score{font-size:17px;color:#fff;font-weight:700;line-height:1}

/* 移动端适配 */
@media (max-width: 980px) {
  .card {
    grid-template-columns: 88px 1fr; /* 扩大左侧封面列，给文本让位 */
    gap: 12px;
  }
  
  .card .title {
    font-size: 14px;
  }
  
  .subtitle {
    font-size: 11px;
  }
  
  .meta-info {
    flex-direction: column;
    gap: 3px;
    font-size: 11px;
  }
  
  .card-footer {
    flex-wrap: wrap;
    padding-top: 8px;
    /* 移到整行，避免与左侧封面重叠 */
    grid-column: 1 / -1;
  }
  
  .card-actions {
    width: 100%;
    justify-content: space-between;
  }
  /* 明确让文本内容处于第2列，避免覆盖封面 */
  .card .content { grid-column: 2; padding-left: 2px; }
  
  .tag-chip {
    font-size: 11px;
    padding: 4px 8px;
  }
  .tag-chip svg {
    width: 12px;
    height: 12px;
  }
  
  .rating-badge-small {
    padding: 5px 9px;
    min-width: 50px;
  }
  .rating-badge-small .rating-score {
    font-size: 15px;
  }
  /* 右上角评分在移动端缩小，并给标题留出空间 */
  .rating-corner { top: 8px; right: 8px; padding: 5px 8px; border-radius: 7px; }
  .rating-corner .rating-label { font-size: 9px; }
  .rating-corner .rating-score { font-size: 15px; }
  .card .title { padding-right: 68px; }
}

@media (max-width: 720px) {
  .card .desc {
    font-size: 11px;
    -webkit-line-clamp: 1; /* 手机端仅一行 */
    line-height: 1.6;
    max-height: calc(1.6em * 1);
  }
  
  .meta-info {
    font-size: 10px;
  }
  
  .card-actions .btn {
    font-size: 11px;
    padding: 7px 9px;
  }
  /* 手机端：封面再放大些，但不与文本重叠 */
  .cover{width:84px}
  .rating-corner { display:none; }
  .rating-tag { display:inline-flex; }
  .card .title { padding-right: 0; }
  .card .content { grid-column: 2; padding-left: 4px; }

  /* 手机端：导演/主演过长时省略号，不换行不溢出 */
  .meta-info .meta-item{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:100%;
  }
  /* 手机端隐藏分页，使用下滑自动加载 */
  .pagination, .navigation.pagination { display: none; }
}

/* ===== QR Modal ===== */
.qr-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);opacity:0;pointer-events:none;transition:opacity .25s ease}
.qr-modal[aria-hidden="false"] .qr-backdrop{opacity:1;pointer-events:auto}
.qr-modal{position:fixed;inset:0;z-index:9999;pointer-events:none}
.qr-modal[aria-hidden="false"]{pointer-events:auto}
.qr-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);width:92%;max-width:420px;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border:1px solid #334155;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.6);opacity:0;transition:all .25s cubic-bezier(.34,1.56,.64,1);z-index:10000}
.qr-modal[aria-hidden="false"] .qr-dialog{opacity:1;transform:translate(-50%,-50%) scale(1)}
.qr-title{margin:20px 20px 0;color:#f1f5f9;font-size:18px;font-weight:600;text-align:center}
.qr-close{position:absolute;right:12px;top:12px;width:36px;height:36px;border:0;background:rgba(51,65,85,.6);color:#cbd5e1;font-size:20px;cursor:pointer;line-height:1;border-radius:8px;transition:all .2s ease;z-index:10001}
.qr-close:hover{background:#475569;color:#fff;transform:rotate(90deg)}
.qr-body{padding:18px 20px}
.qr-box{position:relative;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:8px solid #e2e8f0;border-radius:14px;height:250px;box-shadow:inset 0 2px 8px rgba(0,0,0,.03)}
.qr-spinner{position:absolute;width:50px;height:50px;border-radius:50%;border:4px solid rgba(59,130,246,.15);border-top-color:#3b82f6;animation:qrspin .7s linear infinite;z-index:1}
@keyframes qrspin{to{transform:rotate(360deg)}}
.qr-canvas{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border-radius:0;z-index:2;position:relative}
.qr-canvas *{background:transparent!important}
/* 仅控制容器尺寸，不强制图片显示，避免与库的切换逻辑冲突 */
.qr-canvas canvas{display:block;width:200px;height:200px;max-width:200px;max-height:200px;image-rendering:optimizeSpeed;image-rendering:-moz-crisp-edges;image-rendering:-o-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:pixelated;image-rendering:crisp-edges;-ms-interpolation-mode:nearest-neighbor;border-radius:4px}
.qr-canvas img{display:block;width:200px;height:200px;max-width:200px;max-height:200px;border-radius:4px}
.qr-actions{display:flex;justify-content:center;padding:0 20px 20px;gap:10px}
.qr-copy-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 36px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px rgba(59,130,246,.35)}
.qr-copy-btn:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 6px 22px rgba(59,130,246,.45);transform:translateY(-2px)}
.qr-copy-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(59,130,246,.3)}
.qr-copy-btn svg{transition:transform .2s ease}
.qr-copy-btn:hover svg{transform:scale(1.1)}
.pan-actions{display:flex;gap:10px;align-items:center;margin-top:8px}
.pan-actions .btn{margin:0}
.pan-actions .pan-link{flex:1;font-size:13px;color:#8ea1bb}
@media (max-width:768px){
  .qr-dialog{max-width:360px}
  .qr-box{height:230px;border-width:8px}
  .qr-canvas canvas,.qr-canvas img{width:180px!important;height:180px!important;max-width:180px!important;max-height:180px!important}
  .qr-copy-btn{width:100%;justify-content:center;font-size:14px;padding:14px 24px}
  .pan-actions{flex-direction:column;align-items:stretch}
  .pan-actions .btn{width:100%}
  .pan-actions .pan-link{margin-top:4px}
}

/* ===== 现代化下载卡片 ===== */
.poster-strip{margin:10px 0 16px}
.ps-title{margin:0 0 8px;font-size:16px;color:#d8e3f7}
.ps-row{display:flex;align-items:flex-end;gap:8px;overflow:hidden;border:1px solid var(--border);border-radius:14px;padding:10px;background:linear-gradient(180deg,#0f1623,#0b1220)}
/* 固定为10张：等宽，不在 hover 时改变布局，避免挤压 */
.ps-item{position:relative;display:block;width:calc((100% - 9*8px - 2*10px)/10);height:168px;flex:0 0 auto;border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:filter .22s ease, opacity .22s ease, transform .22s ease, box-shadow .22s ease, border-color .22s ease;border:1px solid rgba(148,163,184,.18)}
.ps-item img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.03)}
.ps-row:hover .ps-item{filter:grayscale(.08);opacity:.96}
.ps-row .ps-item:hover{opacity:1;filter:none;transform:translateY(-3px);border-color:rgba(99,102,241,.55);box-shadow:0 12px 26px rgba(0,0,0,.55), 0 0 0 1px rgba(99,102,241,.35) inset}
/* 扫光效果 */
.ps-item:after{content:"";position:absolute;top:-10%;bottom:-10%;left:-40%;width:40%;background:linear-gradient(60deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.22) 50%, rgba(255,255,255,0) 65%);transform:skewX(-18deg) translateX(-120%);opacity:0;pointer-events:none}
.ps-row .ps-item:hover:after{opacity:1;transition:transform .75s ease;transform:skewX(-18deg) translateX(320%)}
/* 悬停预览：在条上方弹出更大海报（不裁剪，contain），不改变条内布局 */
.ps-pop{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-8px) scale(.98);padding:6px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#111a2a,#0b1220);box-shadow:0 12px 30px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .18s ease, transform .18s ease;z-index:20}
.ps-pop img{display:block;width:180px;height:270px;object-fit:contain;background:#0f1623;border-radius:8px}
.ps-item:hover .ps-pop{opacity:1;transform:translate(-50%,-12px) scale(1)}
/* 相邻项略压缩，制造折叠效果 */
.ps-row .ps-item:hover ~ .ps-item{transform:translateX(0)}
/* 移动端：横向滚动，无折叠放大，保持流畅 */
@media (max-width: 980px){
  .ps-row{overflow:auto;gap:8px;padding:10px 10px}
  .ps-item{width:130px;height:168px}
  .ps-pop{display:none}
  /* 移动端禁用 hover 动画 */
  .ps-row .ps-item:hover{transform:none;box-shadow:0 6px 18px rgba(0,0,0,.35);border-color:rgba(148,163,184,.18)}
  .ps-item:after{display:none}
}
.download-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  border: 1px solid #2a3f5f;
  border-radius: 12px;
  margin-bottom: 12px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.download-card:hover {
  border-color: #3b82f6;
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.2);
  transform: translateY(-2px);
}

/* 夸克网盘按钮 */
.quark-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border: none;
  border-radius: 10px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
  flex-shrink: 0;
}

.quark-btn:hover {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
  transform: translateY(-2px);
}

.quark-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}

.quark-icon {
  width: 20px;
  height: 20px;
  stroke-width: 2.5;
  animation: download-pulse 2s ease-in-out infinite;
}

@keyframes download-pulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(3px); }
}

.quark-text {
  letter-spacing: 0.3px;
}

/* 分辨率质量标签 */
.quality-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border: 2px solid;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.quality-badge:hover {
  transform: scale(1.05);
}

.quality-icon {
  font-size: 16px;
  animation: quality-glow 2s ease-in-out infinite;
}

@keyframes quality-glow {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.2); }
}

/* 4K - 金色炫光 */
.quality-badge.res-4k {
  background: linear-gradient(135deg, rgba(251, 146, 60, 0.15) 0%, rgba(239, 68, 68, 0.15) 100%);
  border-color: #f59e0b;
  color: #fbbf24;
  text-shadow: 0 0 10px rgba(251, 191, 36, 0.5);
}

.quality-badge.res-4k .quality-icon {
  color: #fb923c;
  filter: drop-shadow(0 0 4px #f59e0b);
}

/* 1080P - 蓝色科技 */
.quality-badge.res-1080p {
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.15) 0%, rgba(59, 130, 246, 0.15) 100%);
  border-color: #06b6d4;
  color: #38bdf8;
  text-shadow: 0 0 10px rgba(56, 189, 248, 0.5);
}

.quality-badge.res-1080p .quality-icon {
  color: #22d3ee;
  filter: drop-shadow(0 0 4px #06b6d4);
}

/* 720P - 银灰经典 */
.quality-badge.res-720p {
  background: linear-gradient(135deg, rgba(100, 116, 139, 0.15) 0%, rgba(71, 85, 105, 0.15) 100%);
  border-color: #64748b;
  color: #94a3b8;
  text-shadow: 0 0 10px rgba(148, 163, 184, 0.5);
}

.quality-badge.res-720p .quality-icon {
  color: #cbd5e1;
  filter: drop-shadow(0 0 4px #64748b);
}

/* 移动端适配 */
@media (max-width: 720px) {
  .download-card {
    flex-direction: column;
    align-items: stretch;
    padding: 14px 16px;
    gap: 10px;
  }
  
  .quark-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 14px;
  }
  
  .quality-badge {
    justify-content: center;
    font-size: 12px;
    padding: 7px 14px;
  }
  
  .quark-icon {
    width: 18px;
    height: 18px;
  }
}

/* 年份徽标 - 现代发光效果 */
.year-badge{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:2px 8px;border-radius:999px;background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(99,102,241,.18));border:1px solid rgba(99,102,241,.35);color:#cfe0ff;font-size:12px;line-height:1;position:relative;overflow:hidden}
.year-badge:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 40px at -20% 50%,rgba(99,102,241,.22),transparent 70%)}
.year-badge:after{content:"";position:absolute;left:-30%;top:-200%;width:60%;height:500%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:year-shine 4s linear infinite}
@keyframes year-shine{0%{left:-30%}100%{left:130%}}

/* 年份斜角贴纸（封面左上角） */
.cover{position:relative}
.year-ribbon{position:absolute;left:-2px;top:0;transform:rotate(-12deg);transform-origin:left top;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));color:#eaf2ff;padding:3px 12px;font-weight:700;letter-spacing:.4px;border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 18px rgba(0,0,0,.28);font-size:12px;line-height:1;white-space:nowrap;z-index:6;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:6px;font-variant-numeric:lining-nums tabular-nums}
.year-ribbon:before{content:"";position:absolute;left:-9px;top:50%;transform:translateY(-50%) rotate(12deg);width:10px;height:68%;background:linear-gradient(180deg,rgba(15,23,42,.6),rgba(15,23,42,.35));clip-path:polygon(0 50%,100% 0,100% 100%);border-left:1px solid rgba(255,255,255,.16)}
.year-ribbon:after{content:"";position:absolute;inset:0;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 35%);mix-blend-mode:overlay;pointer-events:none}
@media (max-width:980px){.year-ribbon{transform:rotate(-9deg);font-size:11px;padding:3px 10px;left:-1px;top:1px}}

/* 年份大丝带（挂在整个卡片上） */
.card{position:relative}
.card > .year-ribbon{position:absolute;left:-6px;top:8px;transform:rotate(-10deg);transform-origin:left top;background:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%);color:#fff;padding:4px 14px;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 22px rgba(245,158,11,.28), inset 0 0 0 1px rgba(255,255,255,.08);font-weight:800;letter-spacing:.4px;font-size:12px;line-height:1;white-space:nowrap;border-radius:8px;z-index:8;-webkit-text-stroke:.25px rgba(0,0,0,.25);text-shadow:0 1px 0 rgba(0,0,0,.25)}
.card > .year-ribbon:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%) rotate(10deg);width:10px;height:72%;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.25));clip-path:polygon(0 50%,100% 0,100% 100%)}
.card > .year-ribbon:after{content:"";position:absolute;inset:0;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 35%);pointer-events:none}
@media (max-width:980px){.card > .year-ribbon{left:-4px;top:6px;transform:rotate(-8deg);font-size:11px;padding:3px 12px}}

/* 稍微提高发布时间与按钮间距（桌面） */
.tags { margin-bottom: 2px; }
.card-actions { margin-top: 4px; }

@media (max-width: 980px) {
  /* 移动端也留出一点垂直间距 */
  .tags { margin-bottom: 4px; }
  .card-actions { margin-top: 6px; }
}

/* 浮动快捷操作（搜索 / 分类 / 返回顶部） */
.floating-actions{position:fixed;right:14px;bottom:16px;z-index:999;display:flex;flex-direction:column;gap:10px}
.fa-btn{width:44px;height:44px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#0f1623,#0b1220);color:#cfe0ff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.35);cursor:pointer;opacity:.95;transition:all .2s ease}
.fa-btn:hover{transform:translateY(-2px);opacity:1;border-color:#365275}
.fa-btn svg{stroke:currentColor;fill:none}
.fa-top{opacity:0} /* 初始隐藏，滚动后显现（JS 控制） */
.fa-tip{position:fixed;right:70px;bottom:24px;background:rgba(15,22,35,.9);border:1px solid rgba(148,163,184,.25);color:#e5ecf5;padding:6px 10px;border-radius:8px;font-size:12px;opacity:0;transform:translateY(6px);transition:all .18s ease;pointer-events:none}
.fa-tip.show{opacity:1;transform:translateY(0)}
/* 按设备显示策略：桌面隐藏分类按钮，手机仅保留返回顶部 */
@media (min-width: 981px){ .fa-cats{display:none!important} }
@media (max-width: 980px){ .fa-search,.fa-cats{display:none!important} }
@media (min-width: 981px){
  /* 桌面端也显示浮动按钮 */
  .floating-actions{right:18px;bottom:22px}
}

/* ===== 手机端弹出导航 ===== */
.mobile-menu-fab{position:fixed;left:14px;top:12px;z-index:1000;width:44px;height:44px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#0f1623,#0b1220);color:#cfe0ff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.35);cursor:pointer}
@media (min-width: 981px){.mobile-menu-fab{display:none}}
.mobile-menu{position:fixed;inset:0;z-index:1001;pointer-events:none}
.mobile-menu[aria-hidden="true"]{display:block}
.mobile-menu .mm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .2s ease}
.mobile-menu .mm-panel{position:absolute;left:10px;top:62px;width:calc(100% - 20px);max-width:420px;background:linear-gradient(180deg,#121a26,#0f1623);border:1px solid #334155;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.55);transform:translateY(-8px);opacity:0;transition:all .22s ease;overflow:hidden}
.mobile-menu .mm-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #223045;color:#e5ecf5}
.mobile-menu .mm-body{padding:12px 14px;display:grid;gap:12px}
.mobile-menu .mm-actions{display:flex;gap:8px}
.mobile-menu .mm-actions a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#0f1623;border:1px solid #253347;border-radius:10px;color:#cfe0ff;text-decoration:none}
.mobile-menu .mm-search{display:flex;gap:8px}
.mobile-menu .mm-search input{flex:1;height:40px;background:#0f1623;color:#cfe0ff;border:1px solid #334155;border-radius:10px;padding:8px 10px}
.mobile-menu .mm-search button{height:40px;padding:0 14px;border-radius:10px;border:1px solid #365275;background:linear-gradient(180deg,#1c2c44,#142033);color:#dee6ff}
.mobile-menu .mm-cats{display:flex;flex-wrap:wrap;gap:8px}
.mobile-menu .mm-cats a{padding:6px 10px;border-radius:8px;border:1px solid #2a3a4b;background:#101827;color:#cfe0ff;text-decoration:none;font-size:12px}
.mobile-menu[aria-hidden="false"]{pointer-events:auto}
.mobile-menu[aria-hidden="false"] .mm-backdrop{opacity:1}
.mobile-menu[aria-hidden="false"] .mm-panel{opacity:1;transform:translateY(0)}
