/* 追番 / 美剧媒体库 */
.moe-media-head{margin:0 0 18px;padding:8px 4px 4px}
.moe-media-title{margin:0 0 6px;font-size:1.65rem;font-weight:800;color:var(--moe-text)}
.moe-media-sub{margin:0;color:var(--moe-muted);font-size:.95rem;line-height:1.5}
.moe-media-wrap{margin-bottom:24px}
.moe-media-tabs{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px
}
.moe-media-tab{
  border:1px solid var(--moe-border);background:var(--moe-card);color:var(--moe-text);
  border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;line-height:1.2
}
.moe-media-tab:hover{border-color:var(--moe-theme);color:var(--moe-theme)}
.moe-media-tab.is-active{
  background:color-mix(in srgb,var(--moe-theme) 18%,var(--moe-card));
  border-color:var(--moe-theme);color:var(--moe-theme);font-weight:700
}
.moe-media-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px
}
.moe-media-card{
  border-radius:16px;overflow:hidden;background:var(--moe-card);
  border:1px solid var(--moe-border);box-shadow:var(--moe-shadow);
  display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease
}
.moe-media-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px color-mix(in srgb,var(--moe-theme) 22%,transparent)}
.moe-media-card.is-hidden{display:none}
.moe-media-poster{
  position:relative;aspect-ratio:3/4;background:var(--moe-bg-2) center/cover no-repeat
}
.moe-media-poster.is-ph{
  background:
    linear-gradient(145deg,
      color-mix(in srgb,var(--moe-theme) 55%,#fff),
      color-mix(in srgb,var(--moe-theme) 35%,#6c8cff))
}
.moe-media-ph{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:48px;font-weight:800;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.18)
}
.moe-media-badge{
  position:absolute;left:8px;top:8px;z-index:1;
  padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;
  background:rgba(0,0,0,.42);backdrop-filter:blur(6px)
}
.moe-media-badge.is-watching{background:color-mix(in srgb,var(--moe-theme) 85%,#000)}
.moe-media-badge.is-done{background:#2f9e44}
.moe-media-badge.is-wish{background:#7048e8}
.moe-media-badge.is-drop{background:#868e96}
.moe-media-score{
  position:absolute;right:8px;bottom:8px;z-index:1;
  min-width:36px;text-align:center;padding:4px 6px;border-radius:10px;
  font-size:12px;font-weight:800;color:#fff;
  background:rgba(0,0,0,.5);backdrop-filter:blur(6px)
}
.moe-media-body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.moe-media-name{margin:0;font-size:.98rem;line-height:1.35;font-weight:700}
.moe-media-name a{color:var(--moe-text);text-decoration:none}
.moe-media-name a:hover{color:var(--moe-theme)}
.moe-media-meta{margin:0;font-size:12px;color:var(--moe-muted)}
.moe-media-note{
  margin:4px 0 0;font-size:12px;color:var(--moe-muted);line-height:1.45;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden
}
.moe-media-empty{text-align:center;color:var(--moe-muted);padding:28px 12px}
.moe-media-intro{margin-top:20px}

@media (max-width:560px){
  .moe-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .moe-media-title{font-size:1.4rem}
}
