*, *::before, *::after { box-sizing: border-box; }
html, body, h1, h2, h3, p, dl, dd, dt, figure, ol, ul, li { margin: 0; padding: 0; }
ol, ul { list-style: none; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
:root {
  --ink: #0c0c0e;
  --void: #121214;
  --panel: #1a1a1d;
  --panel-2: #202024;
  --line: #2e2e33;
  --line-soft: #26262b;
  --rust: #8a3a24;
  --rust-deep: #5e2415;
  --orange: #f08a2a;
  --orange-hi: #ffa947;
  --mud: #6b4a30;
  --cold: #7c7f88;
  --cold-dim: #565962;
  --txt: #d9d9dd;
  --txt-dim: #9a9aa2;
  --txt-faint: #6d6d76;
  --gap: 10px;
  --gap-s: 6px;
}
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--ink);
  color: var(--txt);
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: .01em;
  overflow-x: hidden;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: linear-gradient(180deg, #0c0c0e 0%, #101013 100%);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 9px 16px;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.site-brand {
  font-size: 19px;
  font-weight: 900;
  letter-spacing: .14em;
  color: var(--orange-hi);
  text-transform: uppercase;
  padding-right: 14px;
  border-right: 2px solid var(--rust);
  text-shadow: 0 0 18px rgba(240, 138, 42, .28);
}
a[data-contract="site-name"] { color: var(--orange-hi); text-decoration: none; }
a[data-contract="site-name"]:hover { color: #ffc478; text-decoration: none; }
.categories-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
a.runtime-category {
  display: inline-block;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--txt-dim);
  padding: 4px 9px;
  border: 1px solid var(--line);
  background: #17171a;
  text-decoration: none;
}
a.runtime-category:hover {
  color: #121214;
  background: var(--orange);
  border-color: var(--orange);
  text-decoration: none;
}
.page-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 16px 24px;
  display: block;
}
.hero-stage {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(240, 138, 42, .16) 0%, rgba(240, 138, 42, 0) 46%),
    linear-gradient(180deg, #08080a 0%, #131317 62%, #0d0d10 100%);
  border: 1px solid var(--line);
  display: flex;
  align-items: flex-end;
}
.hero-derrick {
  position: absolute;
  left: 4%;
  bottom: 0;
  width: 46%;
  height: 88%;
  background:
    linear-gradient(90deg, transparent 0 12%, var(--line) 12% 14%, transparent 14% 30%, var(--line) 30% 32%, transparent 32% 50%, var(--line) 50% 52%, transparent 52% 68%, var(--line) 68% 70%, transparent 70%),
    repeating-linear-gradient(90deg, transparent 0 26px, rgba(240,138,42,.07) 26px 27px);
  clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%);
  opacity: .8;
  pointer-events: none;
}
.hero-searchlight {
  position: absolute;
  top: -30%;
  left: 18%;
  width: 62%;
  height: 170%;
  background: conic-gradient(from 200deg at 50% 0%, rgba(240,138,42,0) 0deg, rgba(240,138,42,.13) 22deg, rgba(255,169,71,.22) 34deg, rgba(240,138,42,0) 52deg);
  transform: rotate(6deg);
  filter: blur(2px);
  pointer-events: none;
}
.hero-silhouette {
  position: absolute;
  right: 6%;
  bottom: 0;
  width: 40%;
  max-width: 380px;
  height: 96%;
  background:
    radial-gradient(38% 30% at 50% 14%, #050506 0 99%, transparent 100%),
    radial-gradient(60% 58% at 50% 74%, #07070a 0 99%, transparent 100%);
  filter: drop-shadow(-6px 0 24px rgba(0, 0, 0, .8));
  pointer-events: none;
}
.hero-silhouette::after {
  content: "";
  position: absolute;
  right: 26%;
  top: 34%;
  width: 13px;
  height: 13px;
  background: var(--orange-hi);
  box-shadow: 0 0 22px 8px rgba(255, 169, 71, .55);
  border-radius: 1px;
}
.hero-copy {
  position: relative;
  z-index: 3;
  padding: 26px 22px 22px;
  max-width: 62%;
  background: linear-gradient(90deg, rgba(8,8,10,.94) 0%, rgba(8,8,10,.72) 62%, rgba(8,8,10,0) 100%);
}
.hero-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .42em;
  color: var(--orange);
  margin-bottom: 8px;
}
.hero-title {
  font-size: clamp(30px, 6.2vw, 58px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: .02em;
  color: #f4f4f6;
  text-shadow: 0 2px 0 #000, 0 0 34px rgba(240,138,42,.22);
}
.hero-tagline {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--txt-dim);
  border-left: 3px solid var(--rust);
  padding-left: 10px;
  letter-spacing: .06em;
}
.overview-body {
  margin-top: 12px;
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  background: var(--panel);
  border: 1px solid var(--line);
  padding: 14px;
}
.poster-column {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-self: start;
}
.poster-frame {
  margin: 0;
  border: 1px solid var(--line);
  background: #0a0a0c;
  overflow: hidden;
}
.poster-frame img {
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  display: block;
}
.episode-status {
  border: 1px solid var(--line);
  background: var(--panel-2);
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.status-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  border-bottom: 1px solid var(--line-soft);
  padding-bottom: 4px;
}
.status-line:last-child { border-bottom: 0; padding-bottom: 0; }
.status-key {
  font-size: 11px;
  color: var(--txt-faint);
  letter-spacing: .12em;
}
.status-val {
  font-size: 13px;
  font-weight: 800;
  color: var(--txt);
}
.status-current { color: var(--orange-hi); }
.status-score { color: var(--orange); font-size: 16px; }
.overview-info {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.player-panel {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  background: #0a0a0c;
  min-width: 0;
}
.player-panel video {
  display: block;
  background: #000;
}
.player-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  padding: 7px 8px;
  background: #141417;
  border-top: 1px solid var(--line);
}
.ctrl {
  border: 1px solid var(--line);
  background: #1d1d21;
  color: var(--txt-dim);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 8px;
  line-height: 1.2;
  white-space: nowrap;
}
.ctrl:hover { color: #fff; border-color: var(--rust); background: #24242a; }
.ctrl.is-active, .ctrl.is-playing, .ctrl.is-muted {
  color: #121214;
  background: var(--orange);
  border-color: var(--orange-hi);
}
.ctrl-play { color: var(--orange-hi); border-color: var(--rust); }
.ctrl-progress { flex: 1 1 130px; min-width: 90px; }
.ctrl-volume { flex: 0 1 84px; min-width: 60px; }
.ctrl-speed { flex: 0 0 auto; }
input.ctrl[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 6px;
  padding: 0;
  background: #2a2a30;
  border: 1px solid var(--line);
  accent-color: var(--orange);
}
input.ctrl[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 12px;
  height: 16px;
  background: var(--orange);
  border: 1px solid #000;
  cursor: pointer;
}
input.ctrl[type="range"]::-moz-range-thumb {
  width: 12px;
  height: 16px;
  background: var(--orange);
  border: 1px solid #000;
  border-radius: 0;
  cursor: pointer;
}
select.ctrl { padding: 4px 6px; }
.player-panel.is-theater {
  background: #050506;
  border-color: var(--orange);
  box-shadow: 0 0 0 1px rgba(240,138,42,.25), 0 0 34px rgba(240,138,42,.12);
}
.player-panel.is-lights .player-controls {
  background: linear-gradient(90deg, #2a1608, #1a1a1d 60%);
}
.player-panel.is-lights video { filter: brightness(1.06) contrast(1.05); }
.play, .pause, .mute, .volume, .progress, .speed, .pip, .fullscreen, .theater, .light, .change, .click, .input, .timeupdate, .player { }
.block-heading {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .2em;
  color: var(--orange);
  padding: 0 0 6px;
  margin-bottom: 8px;
  border-bottom: 2px solid var(--rust);
  text-transform: uppercase;
}
.detail-block { border-top: 1px solid var(--line-soft); padding-top: 12px; }
.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1px;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
}
.detail-item {
  background: var(--panel);
  padding: 6px 9px;
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.detail-key {
  font-size: 11px;
  color: var(--txt-faint);
  letter-spacing: .1em;
  flex: 0 0 auto;
}
.detail-val {
  margin: 0;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--txt);
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}
.cast-block { border-top: 1px solid var(--line-soft); padding-top: 12px; }
.cast-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
  gap: 8px;
  align-items: start;
}
.cast-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  background: var(--panel-2);
  border: 1px solid var(--line-soft);
  border-left: 3px solid var(--rust);
  padding: 8px;
}
.cast-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background:
    radial-gradient(60% 60% at 50% 34%, #3a3a42 0 99%, transparent 100%),
    linear-gradient(180deg, #26262c, #17171a);
  border: 1px solid var(--line);
  box-shadow: inset 0 0 0 2px rgba(240,138,42,.10);
  flex: 0 0 auto;
}
.cast-name {
  font-size: 13px;
  font-weight: 900;
  color: #f0f0f2;
  letter-spacing: .04em;
}
.cast-role {
  font-size: 11px;
  color: var(--txt-dim);
  letter-spacing: .04em;
}
.synopsis-block { border-top: 1px solid var(--line-soft); padding-top: 12px; }
.synopsis-lead {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.5;
  color: #ececef;
  border-left: 3px solid var(--orange);
  background: linear-gradient(90deg, rgba(240,138,42,.10), rgba(240,138,42,0));
  padding: 8px 10px;
  margin-bottom: 8px;
}
.synopsis-body {
  columns: 2;
  column-gap: 22px;
  column-rule: 1px solid var(--line-soft);
}
.synopsis-para {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--txt-dim);
  margin: 0 0 8px;
  break-inside: avoid;
}
.breath-gap {
  height: 34px;
  margin: 4px 0 20px;
  background:
    linear-gradient(90deg, transparent 0, var(--rust) 18%, var(--rust) 82%, transparent 100%) center / 100% 1px no-repeat,
    radial-gradient(60% 100% at 50% 50%, rgba(240,138,42,.10), transparent 70%);
  position: relative;
}
.breath-gap::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  transform: translate(-50%, -50%) rotate(45deg);
  background: var(--orange);
  box-shadow: 0 0 16px 4px rgba(240,138,42,.4);
}
.section-heading {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .16em;
  color: #f0f0f2;
  padding-left: 11px;
  border-left: 5px solid var(--rust);
  margin-bottom: 12px;
  line-height: 1.1;
}
.timeline-section { margin-bottom: 22px; }
.timeline-track {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line);
  padding-top: 0;
  position: relative;
}
.timeline-node {
  position: relative;
  padding: 20px 8px 0 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  border-right: 1px solid var(--line-soft);
}
.timeline-node:last-child { border-right: 0; }
.node-derrick {
  position: absolute;
  top: -1px;
  left: 0;
  width: 15px;
  height: 15px;
  background: var(--cold-dim);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.node-derrick::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  background: rgba(0,0,0,.5);
  transform: translateX(-50%);
}
.node-timecode {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  color: var(--cold);
}
.node-label {
  font-size: 11px;
  line-height: 1.42;
  color: var(--txt-faint);
}
.timeline-node.is-current .node-derrick {
  background: var(--orange);
  box-shadow: 0 0 14px 2px rgba(240,138,42,.5);
}
.timeline-node.is-current .node-timecode { color: var(--orange-hi); }
.timeline-node.is-current .node-label { color: var(--txt); font-weight: 700; }
.timeline-node.is-current { border-right-color: var(--rust); }
.episodes-section { margin-bottom: 22px; }
.episode-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
}
.episode-card {
  background: var(--panel);
  border: 1px solid var(--line-soft);
  border-top: 2px solid var(--line);
  padding: 9px 10px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.episode-number {
  font-size: 26px;
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.02em;
  color: var(--cold);
}
.episode-title {
  font-size: 13px;
  font-weight: 800;
  color: var(--txt);
  letter-spacing: .03em;
}
.episode-duration {
  font-size: 11px;
  color: var(--txt-faint);
  letter-spacing: .08em;
  margin-top: auto;
}
.episode-summary {
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--txt-dim);
  border-left: 2px solid var(--orange);
  padding-left: 8px;
  margin: 4px 0 2px;
}
.episode-card.is-current {
  background: linear-gradient(180deg, rgba(240,138,42,.12), rgba(240,138,42,.02));
  border-color: var(--rust);
  border-top-color: var(--orange);
}
.episode-card.is-current .episode-number { color: var(--orange-hi); }
.episode-card.is-current .episode-title { color: #fff; }
.comments-section { margin-bottom: 22px; }
.comment-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}
.comment-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.comment-card {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  background: var(--panel);
  border: 1px solid var(--line-soft);
  padding: 9px 10px;
}
.comment-avatar {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  background: linear-gradient(135deg, var(--mud), #2a2a30);
  border: 1px solid var(--line);
  border-radius: 0;
}
.comment-body { min-width: 0; }
.comment-nickname {
  font-size: 12px;
  font-weight: 900;
  color: var(--orange);
  letter-spacing: .04em;
  margin-bottom: 2px;
}
.comment-text {
  font-size: 12px;
  line-height: 1.55;
  color: var(--txt-dim);
}
.recommend-region {
  margin-bottom: 20px;
  padding-top: 12px;
  border-top: 1px solid var(--line-soft);
}
.recommend-heading {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .1em;
  color: #f0f0f2;
  margin-bottom: 9px;
  padding-left: 9px;
  border-left: 4px solid var(--orange);
}
.recommend-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 8px;
  align-items: start;
}
.recommend-item { min-width: 0; }
a[data-runtime="recommendation"] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--panel);
  border: 1px solid var(--line-soft);
  padding: 7px;
  color: var(--txt);
  text-decoration: none;
  height: 100%;
}
a[data-runtime="recommendation"]:hover {
  border-color: var(--rust);
  background: var(--panel-2);
  text-decoration: none;
}
a[data-runtime="recommendation"] img {
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  background: #0a0a0c;
  border: 1px solid var(--line-soft);
  display: block;
}
a[data-runtime="recommendation"] [data-runtime="name"] {
  font-size: 12.5px;
  font-weight: 800;
  color: #ececef;
  letter-spacing: .02em;
}
a[data-runtime="recommendation"]:hover [data-runtime="name"] { color: var(--orange-hi); }
a[data-runtime="recommendation"] [data-runtime="blurb"] {
  font-size: 11px;
  line-height: 1.45;
  color: var(--txt-faint);
}
.region-one, .region-two, .region-three { }
.site-footer {
  border-top: 2px solid var(--rust);
  background: #0a0a0c;
  margin-top: 8px;
}
.footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 16px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 16px 24px;
  align-items: start;
}
.footer-disclaimer {
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--txt-faint);
  grid-column: 1;
}
.footer-nav {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  color: var(--txt-dim);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  padding-bottom: 2px;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color: var(--orange-hi);
  border-bottom-color: var(--orange);
  text-decoration: none;
}
.footer-friends {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  border-top: 1px solid var(--line-soft);
  padding-top: 12px;
}
.friends-label {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  color: var(--rust);
  padding-right: 10px;
  border-right: 1px solid var(--line);
}
a.runtime-friend-link {
  font-size: 11.5px;
  color: var(--txt-faint);
  text-decoration: none;
  white-space: nowrap;
}
a.runtime-friend-link:hover {
  color: var(--orange);
  text-decoration: underline;
}
@media (max-width: 1080px) {.overview-body { grid-template-columns: minmax(0, 190px) minmax(0, 1fr); }
.timeline-track { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 14px; }
.timeline-node:nth-child(4n) { border-right: 0; }}
@media (max-width: 900px) {.episode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.recommend-region .recommend-list { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.synopsis-body { columns: 1; column-rule: 0; }}
@media (max-width: 760px) {.page-main { padding: 12px 12px 20px; }
.hero-stage { min-height: 250px; }
.hero-copy { max-width: 100%; background: linear-gradient(180deg, rgba(8,8,10,.4) 0%, rgba(8,8,10,.94) 46%); padding: 20px 14px 16px; }
.hero-derrick { width: 62%; opacity: .62; }
.hero-silhouette { width: 52%; right: 2%; }
.overview-body { grid-template-columns: minmax(0, 1fr); }
.poster-column { flex-direction: row; align-items: flex-start; gap: 12px; }
.poster-frame { flex: 0 0 132px; max-width: 132px; }
.episode-status { flex: 1 1 auto; }
.timeline-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.timeline-node:nth-child(4n) { border-right: 1px solid var(--line-soft); }
.timeline-node:nth-child(2n) { border-right: 0; }
.comment-columns { grid-template-columns: minmax(0, 1fr); }
.footer-inner { grid-template-columns: minmax(0, 1fr); }
.footer-nav { grid-column: 1; grid-row: auto; justify-content: flex-start; }
.footer-disclaimer { grid-column: 1; }}
@media (max-width: 520px) {.episode-grid { grid-template-columns: minmax(0, 1fr); }
.cast-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.recommend-region .recommend-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.timeline-track { grid-template-columns: minmax(0, 1fr); }
.timeline-node { border-right: 0; }
.timeline-node:nth-child(4n) { border-right: 0; }
.hero-title { font-size: clamp(26px, 10vw, 40px); }
.poster-column { flex-direction: column; }
.poster-frame { flex: 0 0 auto; max-width: 168px; }
.player-controls { gap: 4px; }
.ctrl { padding: 5px 7px; }}
@media (max-width: 380px) {.cast-row { grid-template-columns: minmax(0, 1fr); }
.recommend-region .recommend-list { grid-template-columns: minmax(0, 1fr); }}

footer{text-align:center!important}
footer *{justify-content:center!important}
footer :is(div,nav,ul,ol,p,section,address){margin-left:auto!important;margin-right:auto!important}
