*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
:root {
  --deep:#070c18;
  --deep2:#0c1424;
  --deep3:#111c30;
  --rust:#8f3b26;
  --rust-hi:#c2542f;
  --krypton:#3dffa2;
  --ink:#c9d3e3;
  --ink-dim:#7e8ba3;
  --line:rgba(143,59,38,.35);
  --gap:12px;
  --pad:10px;
}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {
  background:
    radial-gradient(1200px 600px at 78% -8%, rgba(194,84,47,.22), transparent 62%),
    radial-gradient(900px 520px at 6% 22%, rgba(20,44,84,.55), transparent 66%),
    linear-gradient(180deg,#05090f 0%,var(--deep) 40%,#05080e 100%);
  color:var(--ink);
  font-family:"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:-.01em;
  min-height:100vh;
  overflow-x:hidden;
}
img {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
ul, ol {list-style:none}
button, input, select {font:inherit;color:inherit}
.site-header {
  position:sticky;top:0;z-index:40;
  background:linear-gradient(180deg,rgba(5,9,15,.96),rgba(5,9,15,.82));
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(6px);
}
.header-inner {
  display:flex;align-items:center;gap:var(--gap);
  padding:8px var(--pad);
  max-width:1440px;margin:0 auto;
}
a[data-contract="site-name"] {
  font-size:15px;font-weight:700;letter-spacing:.06em;
  color:#f2f5fa;text-transform:uppercase;
  border-left:3px solid var(--rust-hi);
  padding-left:8px;white-space:nowrap;
}
a[data-contract="site-name"]:hover {color:var(--krypton)}
.category-bar {
  display:flex;flex-wrap:wrap;gap:6px;
  margin-left:auto;justify-content:flex-end;
  flex:1 1 auto;min-width:0;
}
a.runtime-category {
  display:inline-block;
  padding:3px 9px;
  font-size:12px;font-weight:400;
  color:var(--ink-dim);
  border:1px solid var(--line);
  background:rgba(143,59,38,.08);
  white-space:nowrap;
  transition:color .15s,background .15s,border-color .15s;
}
a.runtime-category:hover {color:#fff;background:var(--rust);border-color:var(--rust-hi)}
.page-main {
  max-width:1440px;margin:0 auto;
  padding:var(--gap) var(--pad) 0;
  display:flex;flex-direction:column;gap:var(--gap);
}
.hero-fall {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);
  gap:var(--gap);
  align-items:start;
  position:relative;
  padding-bottom:var(--gap);
  border-bottom:1px solid var(--line);
}
.hero-media {position:relative;overflow:hidden}
.poster-img {
  width:100%;height:auto;
  object-fit:cover;
  border:1px solid var(--line);
  filter:saturate(.82) contrast(1.06) brightness(.9);
}
.hero-media::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,12,24,0) 42%,rgba(7,12,24,.9) 100%);
}
.hero-info {
  display:flex;flex-direction:column;gap:8px;min-width:0;
}
.movie-title {
  font-size:clamp(22px,3.4vw,38px);
  font-weight:700;letter-spacing:-.02em;line-height:1.08;
  color:#f4f7fb;
  text-shadow:0 0 26px rgba(194,84,47,.35);
}
.movie-tagline {
  font-size:13px;font-weight:700;letter-spacing:.14em;
  color:var(--rust-hi);
  text-transform:uppercase;
}
.movie-desc {
  font-size:13px;line-height:1.62;color:var(--ink-dim);
  max-width:62ch;
}
.hero-actions {
  margin-top:4px;
  display:flex;flex-direction:column;gap:8px;
  padding:8px;
  background:linear-gradient(180deg,rgba(17,28,48,.85),rgba(7,12,24,.85));
  border:1px solid var(--line);
}
.player-video {
  display:block;width:100%;
  background:#000;
  border:1px solid rgba(61,255,162,.18);
}
.player-controls {
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
}
.ctrl-btn {
  padding:4px 9px;
  font-size:11px;letter-spacing:.02em;
  background:rgba(143,59,38,.18);
  border:1px solid var(--line);
  color:var(--ink);
  cursor:pointer;
  transition:background .15s,color .15s,border-color .15s;
}
.ctrl-btn:hover {background:var(--rust);color:#fff;border-color:var(--rust-hi)}
.ctrl-btn.is-active, .ctrl-btn.is-active:hover {
  background:rgba(61,255,162,.16);
  border-color:var(--krypton);color:var(--krypton);
}
.ctrl-range {
  -webkit-appearance:none;appearance:none;
  height:4px;background:rgba(126,139,163,.28);
  cursor:pointer;
}
.ctrl-range::-webkit-slider-thumb {
  -webkit-appearance:none;appearance:none;
  width:10px;height:10px;border-radius:50%;
  background:var(--krypton);
}
.ctrl-range::-moz-range-thumb {
  width:10px;height:10px;border:0;border-radius:50%;
  background:var(--krypton);
}
.ctrl-progress {flex:1 1 140px;min-width:80px}
.ctrl-volume {flex:0 1 90px;min-width:56px}
.ctrl-select {
  padding:3px 6px;font-size:11px;
  background:var(--deep3);
  border:1px solid var(--line);
  cursor:pointer;
}
.section-heading {
  font-size:13px;font-weight:700;letter-spacing:.16em;
  color:#eef2f8;
  text-transform:uppercase;
  margin-bottom:8px;
  padding-left:9px;
  border-left:3px solid var(--krypton);
}
.cast-section {margin-top:var(--gap)}
.cast-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
}
.cast-card {
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--deep2);
  aspect-ratio:3 / 4;
}
.cast-avatar {
  width:100%;height:100%;
  object-fit:cover;
  filter:grayscale(.5) brightness(.78) contrast(1.1);
  transition:filter .2s;
}
.cast-card:hover .cast-avatar {filter:grayscale(0) brightness(.95)}
.cast-name {
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 5px 4px;
  font-size:11px;font-weight:700;letter-spacing:.02em;
  color:#f2f6fc;
  background:linear-gradient(180deg,transparent,rgba(5,9,15,.94));
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cast-role {
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  padding:6px;text-align:center;
  font-size:10px;line-height:1.35;color:var(--krypton);
  background:rgba(5,9,15,.84);
  opacity:0;transition:opacity .2s;
}
.cast-card:hover .cast-role {opacity:1}
.synopsis-section {margin-top:var(--gap)}
.synopsis-body {
  columns:2;column-gap:var(--gap);column-rule:1px solid var(--line);
}
.synopsis-para {
  font-size:12.5px;line-height:1.7;color:var(--ink-dim);
  text-indent:2em;
  margin-bottom:8px;
  break-inside:avoid;
}
.episode-status {margin-top:var(--gap)}
.status-line {
  font-size:12px;letter-spacing:.06em;color:var(--ink-dim);
  padding:6px 10px;
  border:1px solid var(--line);
  background:rgba(17,28,48,.6);
  display:inline-block;
}
.status-num {
  font-weight:700;color:var(--krypton);
  font-size:14px;padding:0 2px;
}
.details-panel {margin-top:var(--gap)}
.detail-grid {
  display:grid;
  grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto) minmax(0,1fr);
  gap:2px var(--gap);
  font-size:11.5px;line-height:1.35;
}
.detail-key {
  color:var(--ink-dim);letter-spacing:.04em;
  padding:3px 0;
  border-bottom:1px solid rgba(143,59,38,.16);
  white-space:nowrap;
}
.detail-val {
  color:#dde5f1;padding:3px 0;
  border-bottom:1px solid rgba(143,59,38,.16);
  min-width:0;overflow-wrap:anywhere;
}
.timeline-section {margin-top:var(--gap)}
.timeline-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px var(--gap);
  align-items:start;
}
.timeline-node {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;align-items:baseline;
  padding:5px 8px 5px 0;
  position:relative;
  border-bottom:1px solid rgba(143,59,38,.16);
}
.timeline-tc {
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:11px;letter-spacing:.04em;color:var(--ink-dim);
  white-space:nowrap;
}
.timeline-tc::before {
  content:"";display:inline-block;
  width:6px;height:6px;margin-right:7px;
  background:var(--rust-hi);
  transform:rotate(45deg) translateY(-1px);
}
.timeline-label {
  font-size:12px;line-height:1.45;color:var(--ink);
}
.timeline-node.is-current {
  background:linear-gradient(90deg,rgba(61,255,162,.1),transparent 78%);
}
.timeline-node.is-current .timeline-tc {color:var(--krypton);font-weight:700}
.timeline-node.is-current .timeline-tc::before {background:var(--krypton);box-shadow:0 0 8px var(--krypton)}
.timeline-node.is-current .timeline-label {color:#eafff5;font-weight:700}
.episodes-section {margin-top:var(--gap)}
.episode-card {
  display:grid;
  grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:var(--gap);
  align-items:start;
  padding:8px;
  border:1px solid var(--line);
  background:linear-gradient(120deg,rgba(17,28,48,.9),rgba(7,12,24,.7));
}
.episode-thumb-wrap {
  position:relative;overflow:hidden;
  border:1px solid rgba(143,59,38,.4);
}
.episode-thumb {
  width:100%;height:auto;aspect-ratio:16 / 9;
  object-fit:cover;
  filter:saturate(.85) brightness(.85);
}
.episode-duration {
  position:absolute;right:0;bottom:0;
  padding:2px 7px;
  font-family:"SFMono-Regular",Consolas,Menlo,monospace;
  font-size:10.5px;letter-spacing:.04em;
  color:#fff;background:rgba(143,59,38,.92);
}
.episode-body {display:flex;flex-direction:column;gap:5px;min-width:0}
.episode-title {
  font-size:15px;font-weight:700;letter-spacing:-.01em;color:#f2f6fc;
}
.episode-summary {
  font-size:12.5px;line-height:1.62;color:var(--ink-dim);
  max-width:70ch;
}
.comments-section {margin-top:var(--gap)}
.comments-columns {
  columns:2;column-gap:var(--gap);
}
.comment-card {
  break-inside:avoid;
  padding:7px 9px;
  margin-bottom:6px;
  border:1px solid var(--line);
  border-left:2px solid var(--rust);
  background:rgba(17,28,48,.55);
}
.comment-nickname {
  display:block;
  font-size:11px;font-weight:700;letter-spacing:.03em;
  color:#aeb9cc;
  margin-bottom:3px;
}
.comment-text {
  font-size:12px;line-height:1.6;color:#8b96ab;
  text-indent:2em;
}
.rec-strip {margin-top:var(--gap)}
.rec-header {
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap);
  padding:5px 0;
  border-bottom:1px solid var(--line);
  margin-bottom:6px;
}
.rec-title {
  font-size:13px;font-weight:700;letter-spacing:.12em;color:#eef2f8;
  text-transform:uppercase;
}
.rec-count {
  font-family:"SFMono-Regular",Consolas,Menlo,monospace;
  font-size:11px;color:var(--rust-hi);letter-spacing:.06em;
  white-space:nowrap;
}
.rec-scroll {
  display:flex;gap:6px;
  overflow-x:auto;
  padding-bottom:6px;
  scrollbar-width:thin;
  scrollbar-color:var(--rust) transparent;
}
.rec-scroll::-webkit-scrollbar {height:6px}
.rec-scroll::-webkit-scrollbar-thumb {background:var(--rust)}
.rec-scroll::-webkit-scrollbar-track {background:rgba(126,139,163,.12)}
a.rec-card {
  flex:0 0 auto;width:150px;
  display:flex;flex-direction:column;gap:3px;
  padding:5px;
  border:1px solid var(--line);
  background:rgba(17,28,48,.72);
  color:var(--ink);
  transition:border-color .15s,background .15s,transform .15s;
}
a.rec-card:hover {
  border-color:var(--krypton);
  background:rgba(61,255,162,.07);
  transform:translateY(-1px);
}
[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  filter:saturate(.8) brightness(.82);
}
.rec-name {
  font-size:11.5px;font-weight:700;line-height:1.3;color:#e6ecf6;
  display:block;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.rec-blurb {
  font-size:10.5px;line-height:1.42;color:var(--ink-dim);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  margin-top:var(--gap);
  padding:10px var(--pad) 18px;
  max-width:1440px;margin-left:auto;margin-right:auto;
  border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:8px;
}
.footer-disclaimer {
  font-size:11px;line-height:1.6;color:#6b7688;
  max-width:80ch;
}
.footer-nav {display:flex;flex-wrap:wrap;gap:10px}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:11px;font-weight:700;letter-spacing:.08em;
  color:var(--rust-hi);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:var(--krypton)}
.friend-links {
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  padding-top:6px;
  border-top:1px solid rgba(143,59,38,.16);
}
.friend-label {
  font-size:10.5px;letter-spacing:.14em;color:var(--ink-dim);
  text-transform:uppercase;
  margin-right:2px;
}
a.runtime-friend-link {
  font-size:11px;
  color:#8b96ab;
  white-space:nowrap;
  padding:1px 6px;
  border:1px solid rgba(126,139,163,.2);
  transition:color .15s,border-color .15s;
}
a.runtime-friend-link:hover {color:var(--krypton);border-color:var(--krypton)}
body.lights-off .page-main {opacity:.14;filter:brightness(.4)}
body.lights-off .hero-actions {opacity:1}
body.theater-mode .hero-fall {grid-template-columns:minmax(0,1fr)}
body.theater-mode .hero-media {max-width:100%}
.player video:fullscreen, .player-video:fullscreen {width:100%;height:100%;background:#000}
.player .progress, .player .volume {accent-color:var(--krypton)}
.player .play.is-active, .player .mute.is-active, .player .pip.is-active, .player .fullscreen.is-active, .player .theater.is-active, .player .light.is-active {
  background:rgba(61,255,162,.16);
  border-color:var(--krypton);color:var(--krypton);
}
.player .input {background:rgba(126,139,163,.28)}
.player .speed {background:var(--deep3)}
@media (max-width:1100px){.hero-fall {grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)}
.cast-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.timeline-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-grid {grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto) minmax(0,1fr)}}
@media (max-width:860px){.hero-fall {grid-template-columns:minmax(0,1fr)}
.hero-media {max-width:320px;margin:0 auto}
.synopsis-body {columns:1}
.comments-columns {columns:1}
.episode-card {grid-template-columns:minmax(0,1fr)}
.episode-thumb-wrap {max-width:100%}
.detail-grid {grid-template-columns:minmax(0,auto) minmax(0,1fr)}
.timeline-list {grid-template-columns:minmax(0,1fr)}
a.rec-card {width:138px}}
@media (max-width:520px){.page-main {padding:var(--gap) 8px 0}
.header-inner {padding:7px 8px}
.cast-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.movie-desc {font-size:12.5px}
.ctrl-btn {padding:4px 7px;font-size:10.5px}
.ctrl-progress {flex:1 1 100%}
a.rec-card {width:126px}
.site-footer {padding:10px 8px 16px}}

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}
