/* 北纬49 · 追剧网：横屏一剧一格，等高、单列 */

.series-hero-note{
  font-size:15px;color:var(--ink-soft);line-height:1.7;margin:-6px 0 18px;max-width:720px;
}
.series-hero-note b{color:var(--ink);font-weight:600}

.series-shelf{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:8px;
  max-width:100%;
}

/* ── 横屏卡：左海报 | 右信息，等高 ── */
.series-cell{
  display:grid;
  grid-template-columns:148px 1fr;
  min-height:200px;
  height:auto;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  transition:border-color .15s,box-shadow .15s;
}
.series-cell:hover{border-color:var(--blue);box-shadow:0 4px 20px rgba(12,58,104,.08)}

/* 各剧色调 */
.series-cell.theme-navy .series-poster{background:linear-gradient(165deg,#0a2f56 0%,#0c3a68 40%,#1a5fa5 100%)}
.series-cell.theme-amber .series-poster{background:linear-gradient(165deg,#7a3510 0%,#c45c1a 45%,#e08a3c 100%)}
.series-cell.theme-teal .series-poster{background:linear-gradient(165deg,#083838 0%,#0d6e6e 45%,#1a9a88 100%)}
.series-cell.theme-indigo .series-poster{background:linear-gradient(165deg,#252c62 0%,#3d4f9c 45%,#5a6fd4 100%)}
.series-cell.theme-green .series-poster{background:linear-gradient(165deg,#0c3d2e 0%,#1a7a5a 45%,#2ea878 100%)}
.series-cell.theme-plum .series-poster{background:linear-gradient(165deg,#35243f 0%,#6b4c7a 45%,#9168a0 100%)}
.series-cell.theme-gold .series-poster{background:linear-gradient(165deg,#5a4508 0%,#b8860b 50%,#c9a227 100%)}
.series-cell.theme-wine .series-poster{background:linear-gradient(165deg,#3f1524 0%,#8b2942 50%,#b04058 100%)}
.series-cell.theme-slate .series-poster{background:linear-gradient(165deg,#243038 0%,#4a6670 50%,#6a8894 100%)}

.series-cell.is-coming{opacity:.75;filter:grayscale(.3)}
.series-cell.is-coming:hover{border-color:var(--line);box-shadow:none}
.series-coming-note{font-size:13px;color:var(--ink-mute);margin-top:6px;line-height:1.5}

/*
 * 海报结构：.p-left(数字/说明/集数) + .p-motion + .p-foot
 * 桌面：整列竖排居中（左栏在上、动图在下）
 * 手机：左栏左对齐竖排，右栏动图；集数与说明之间加大间距
 */
.series-poster{
  position:relative;
  min-height:200px;
  height:100%;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:14px 12px 22px;
  overflow:hidden;
  box-sizing:border-box;
}
.series-poster::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 18% 88%,rgba(255,255,255,.12) 0%,transparent 42%),
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.1) 0%,transparent 38%);
  pointer-events:none;
}
.series-poster .p-left{
  position:relative;z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  flex-shrink:0;
}
.series-poster .p-num{
  font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.15;
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-align:center;
}
.series-poster .p-num.is-text{font-size:22px;letter-spacing:.5px}
.series-poster .p-cap{
  font-size:11px;opacity:.88;margin-top:6px;text-align:center;line-height:1.35;
  letter-spacing:.2px;max-width:100%;
}
.series-poster .p-ep{
  margin-top:10px;font-size:10.5px;font-weight:600;
  background:rgba(0,0,0,.22);padding:3px 9px;border-radius:999px;letter-spacing:.3px;
  white-space:nowrap;
  flex-shrink:0;
}
.series-poster .p-motion{
  position:relative;z-index:2;
  flex:1 1 auto;
  width:100%;
  min-height:56px;
  margin:12px 0 4px;
  display:flex;align-items:center;justify-content:center;
}
.series-poster .p-motion svg{width:100%;max-width:120px;height:52px;display:block}
.series-poster .p-foot{
  position:absolute;right:10px;bottom:7px;z-index:3;
  font-family:"Helvetica Neue",Arial,sans-serif;font-size:10px;letter-spacing:1px;
  opacity:.5;font-weight:700;
}

/* 手机：左文右图；左栏三行左对齐；集数与说明之间空开 */
@media(max-width:560px){
  .series-cell{
    grid-template-columns:1fr;
    min-height:0;
  }
  .series-poster{
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
    min-height:0;
    height:auto;
    padding:16px 14px 18px;
    gap:12px;
  }
  .series-poster .p-left{
    flex:0 1 auto;
    width:auto;
    max-width:52%;
    align-items:flex-start; /* 左对齐 */
  }
  .series-poster .p-num{
    font-size:28px;
    text-align:left;
    line-height:1.2;
  }
  .series-poster .p-num.is-text{font-size:24px}
  .series-poster .p-cap{
    text-align:left;
    margin-top:5px;
  }
  /* 与上面说明空开一行的距离 */
  .series-poster .p-ep{
    margin-top:16px;
    align-self:flex-start;
  }
  .series-poster .p-motion{
    flex:1 1 42%;
    width:auto;
    min-width:0;
    min-height:56px;
    margin:0;
    justify-content:flex-end;
    align-self:center;
  }
  .series-poster .p-motion svg{
    max-width:140px;
    height:48px;
  }
  .series-poster .p-foot{
    right:12px;
    bottom:8px;
  }
}

/* 动效 */
@keyframes sp-wave{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes sp-pulse{
  0%,100%{opacity:.45;transform:scale(1)}
  50%{opacity:1;transform:scale(1.06)}
}
@keyframes sp-dash{
  to{stroke-dashoffset:0}
}
@keyframes sp-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes sp-bar{
  0%,100%{transform:scaleY(.55)}
  50%{transform:scaleY(1)}
}
.sp-line{fill:none;stroke:rgba(255,255,255,.85);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sp-line-soft{stroke:rgba(255,255,255,.35);stroke-width:1.5}
.sp-fill{fill:rgba(255,255,255,.2)}
.sp-dot{fill:#fff}
.sp-anim-wave{animation:sp-wave 2.4s ease-in-out infinite}
.sp-anim-pulse{animation:sp-pulse 2s ease-in-out infinite}
.sp-anim-float{animation:sp-float 2.8s ease-in-out infinite}
.sp-bar{transform-origin:center bottom;animation:sp-bar 1.6s ease-in-out infinite}
.sp-bar:nth-child(2){animation-delay:.15s}
.sp-bar:nth-child(3){animation-delay:.3s}
.sp-bar:nth-child(4){animation-delay:.45s}
.sp-bar:nth-child(5){animation-delay:.6s}
.sp-path-draw{
  stroke-dasharray:80;stroke-dashoffset:80;
  animation:sp-dash 2.2s ease forwards infinite alternate;
}
@media(prefers-reduced-motion:reduce){
  .sp-anim-wave,.sp-anim-pulse,.sp-anim-float,.sp-bar,.sp-path-draw{animation:none}
}

/* 右侧信息 */
.series-body{
  padding:16px 18px 14px;
  min-width:0;
  display:flex;flex-direction:column;
  justify-content:center;
  gap:0;
}
.series-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.series-dir{
  display:inline-flex;align-items:center;
  font-size:12px;font-weight:700;letter-spacing:.3px;
  padding:3px 10px;border-radius:999px;
  background:var(--blue-wash);color:var(--blue);
}
.series-dir[data-dir="flat"],
.series-dir[data-dir="watch"],
.series-dir[data-dir="observe"],
.series-dir[data-dir="prepare"],
.series-dir[data-dir="compare"],
.series-dir[data-dir="claim"],
.series-dir[data-dir="calendar"],
.series-dir[data-dir="choose"],
.series-dir[data-dir="plan"],
.series-dir[data-dir="bargain"]{background:var(--blue-wash);color:var(--blue)}
.series-dir[data-dir="spike"]{background:rgba(196,92,26,.12);color:#c45c1a}
.series-dir[data-dir="cooling"]{background:var(--paper);color:var(--ink-mute)}
.series-dir[data-dir="easing"],
.series-dir[data-dir="easing_bank"]{background:rgba(26,122,90,.12);color:#1a7a5a}
.series-dir[data-dir="tightening"]{background:rgba(180,40,40,.1);color:#a33}
.series-updated{font-size:12px;color:var(--ink-mute);font-family:"Helvetica Neue",Arial,sans-serif}

.series-fun{
  font-size:17.5px;font-weight:800;line-height:1.35;letter-spacing:.2px;margin:0 0 4px;color:var(--ink);
}
.series-plain{
  font-size:13.5px;color:var(--ink-soft);line-height:1.5;margin:0 0 8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.series-pattern{
  font-size:13px;color:var(--ink-soft);line-height:1.55;margin:0 0 10px;
  padding:10px 12px;border-radius:8px;background:var(--paper);border:1px solid var(--line-soft);
  /* 完整显示，不截断遮挡 */
  display:block;overflow:visible;
  -webkit-line-clamp:unset;-webkit-box-orient:unset;
}
.series-pattern b{color:var(--ink);font-weight:600}

.series-eps-label{
  font-size:12px;font-weight:700;color:var(--ink-mute);letter-spacing:.5px;margin-bottom:6px;
}
.series-eps{display:flex;flex-wrap:wrap;gap:6px}
.series-ep-btn{
  min-width:36px;height:32px;padding:0 9px;
  border:1px solid var(--line);border-radius:8px;
  background:var(--paper);color:var(--blue);
  font-size:13px;font-weight:700;font-family:inherit;
  cursor:pointer;transition:border-color .12s,background .12s,color .12s;
}
.series-ep-btn:hover{border-color:var(--blue);background:var(--blue-wash)}
.series-ep-btn.active{
  background:var(--blue-deep);color:#fff;border-color:var(--blue-deep);
}

.series-foot{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px;padding-top:10px;
  border-top:1px solid var(--line-soft);
}
.series-foot .sf-link{
  font-size:13.5px;font-weight:600;color:var(--blue);cursor:pointer;background:none;border:none;
  font-family:inherit;padding:0;text-decoration:none;
}
.series-foot .sf-link:hover{text-decoration:underline}
.series-foot .sf-muted{font-size:12.5px;color:var(--ink-mute)}

/* 弹窗上一集 / 下一集 */
.series-ep-nav{
  display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch;
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
}
.series-ep-nav[hidden]{display:none !important}
.series-ep-nav-mid{
  align-self:center;font-size:12px;font-weight:700;color:var(--ink-mute);
  font-family:"Helvetica Neue",Arial,sans-serif;letter-spacing:.3px;white-space:nowrap;padding:0 4px;
}
.series-ep-nav-btn{
  display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 12px;
  border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);
  font-family:inherit;cursor:pointer;text-align:left;
  transition:border-color .12s,background .12s,opacity .12s;
}
.series-ep-nav-btn.next{text-align:right;justify-content:flex-end}
.series-ep-nav-btn:hover:not(:disabled){border-color:var(--blue);background:var(--blue-wash)}
.series-ep-nav-btn:disabled{opacity:.4;cursor:not-allowed}
.series-ep-nav-btn .arrow{flex-shrink:0;font-size:22px;font-weight:600;color:var(--blue);line-height:1}
.series-ep-nav-btn .lab{display:flex;flex-direction:column;gap:2px;min-width:0}
.series-ep-nav-btn .k{font-size:11px;font-weight:700;color:var(--blue);letter-spacing:.5px}
.series-ep-nav-btn .t{
  font-size:13px;font-weight:600;color:var(--ink);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
@media(max-width:480px){
  .series-ep-nav{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .series-ep-nav-mid{grid-column:1 / -1;grid-row:1;text-align:center;padding-bottom:4px}
  .series-ep-nav-btn{grid-row:2}
}

.legacy-news-wrap{margin-top:36px;padding-top:8px;border-top:1px dashed var(--line)}
.legacy-news-wrap summary{
  cursor:pointer;font-size:14px;font-weight:700;color:var(--ink-mute);padding:10px 0;list-style:none;user-select:none;
}
.legacy-news-wrap summary::-webkit-details-marker{display:none}
.legacy-news-wrap summary::before{content:"› ";color:var(--blue)}
.legacy-news-wrap[open] summary::before{content:"˅ "}
.legacy-news-wrap .legacy-inner{padding-bottom:8px}
