* {margin:0;padding:0;box-sizing:border-box}
:root {
  --ink:#e8edf6;
  --ink-dim:#93a2bd;
  --deep:#060b18;
  --deep-2:#0b1428;
  --deep-3:#101c36;
  --line:#1e2b48;
  --warm:#ff8a3d;
  --warm-soft:#ffb37a;
  --cool:#4a7fd4;
  --cool-soft:#7aa5e6;
  --radius:2px;
}
html {-webkit-text-size-adjust:100%}
body {
  background:var(--deep);
  color:var(--ink);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:300;
  line-height:1.6;
  font-size:15px;
  overflow-x:hidden;
  background-image:
    radial-gradient(ellipse 60% 40% at 12% 0%,rgba(74,127,212,.14),transparent 70%),
    radial-gradient(ellipse 50% 30% at 90% 6%,rgba(255,138,61,.09),transparent 70%);
  background-repeat:no-repeat;
}
img {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
ul, ol {list-style:none}
h1, h2, h3 {font-weight:800;line-height:1.25;letter-spacing:.01em}
button, input {font:inherit;color:inherit}
.site-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:10px clamp(14px,4vw,44px);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(11,20,40,.95),rgba(6,11,24,.82));
  backdrop-filter:blur(6px);
  position:sticky;
  top:0;
  z-index:40;
}
.header-brand {display:flex;align-items:center}
a[data-contract="site-name"].brand-link {
  font-size:20px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--ink);
  text-decoration:none;
  padding-left:12px;
  position:relative;
}
a[data-contract="site-name"].brand-link::before {
  content:"";
  position:absolute;
  left:0;top:50%;
  transform:translateY(-50%);
  width:4px;height:20px;
  background:var(--warm);
  clip-path:polygon(0 0,100% 0,60% 100%,0 100%);
}
.categories-bar {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:flex-end;
}
a.runtime-category {
  white-space:nowrap;
  font-size:13px;
  color:var(--ink-dim);
  text-decoration:none;
  padding:4px 11px;
  border:1px solid var(--line);
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
  background:rgba(16,28,54,.6);
  transition:color .18s,border-color .18s,background .18s;
}
a.runtime-category:hover, a.runtime-category:focus-visible {
  color:#fff;
  border-color:var(--warm);
  background:rgba(255,138,61,.14);
}
.page-main {
  display:flex;
  flex-direction:column;
  gap:clamp(18px,2.6vw,30px);
  padding:clamp(14px,2.4vw,26px) clamp(14px,4vw,44px) clamp(24px,4vw,46px);
}
.section-heading {
  font-size:clamp(16px,2vw,19px);
  letter-spacing:.08em;
  margin-bottom:12px;
  padding-left:14px;
  position:relative;
  color:#fff;
}
.section-heading::before {
  content:"";
  position:absolute;
  left:0;top:.22em;
  bottom:.22em;
  width:5px;
  background:linear-gradient(180deg,var(--warm),var(--cool));
  clip-path:polygon(0 0,100% 0,55% 100%,0 100%);
}
.hero-panel {
  position:relative;
  background:linear-gradient(160deg,var(--deep-2) 0%,var(--deep-3) 55%,#0a1226 100%);
  border:1px solid var(--line);
  overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));
}
.hero-panel::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(74,127,212,.05) 0 1px,transparent 1px 4px);
  mix-blend-mode:screen;
}
.hero-backdrop {
  display:grid;
  grid-template-columns:minmax(0,0.34fr) minmax(0,1fr);
  grid-template-areas:
    "poster left"
    "poster right";
  grid-template-rows:auto auto;
  gap:0 clamp(14px,2.2vw,30px);
  padding:clamp(14px,2.4vw,26px);
  position:relative;
  border-bottom:1px solid var(--line);
}
.poster-wrap {
  grid-area:poster;
  position:relative;
  align-self:start;
  width:100%;
  border:1px solid rgba(74,127,212,.4);
  box-shadow:0 0 0 1px rgba(6,11,24,.8),0 14px 34px rgba(0,0,0,.55);
}
.poster-wrap::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:repeating-linear-gradient(100deg,rgba(74,127,212,.16) 0 1px,transparent 1px 7px);
}
.poster-img {
  width:100%;
  aspect-ratio:9 / 16;
  object-fit:cover;
  display:block;
}
.hero-overlay-left {
  grid-area:left;
  align-self:end;
  padding-bottom:clamp(8px,1.4vw,16px);
  border-bottom:1px solid var(--line);
  position:relative;
}
.hero-title {
  font-size:clamp(26px,4.6vw,50px);
  letter-spacing:.02em;
  color:#fff;
  font-family:"Xingkai SC","STXingkai","Kaiti SC","KaiTi","Segoe Script",cursive;
  font-weight:700;
  text-shadow:0 2px 24px rgba(0,0,0,.6);
}
.hero-tagline {
  margin-top:8px;
  font-size:clamp(13px,1.5vw,17px);
  letter-spacing:.32em;
  color:var(--warm-soft);
  font-weight:300;
}
.hero-overlay-right {
  grid-area:right;
  align-self:start;
  padding-top:clamp(10px,1.6vw,18px);
  min-width:0;
}
.player-shell {
  position:relative;
  width:100%;
  max-width:100%;
  background:#000;
  border:1px solid rgba(74,127,212,.35);
  box-shadow:0 0 0 1px rgba(6,11,24,.7);
}
.main-player {
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  object-fit:contain;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
  padding:8px 10px;
  background:linear-gradient(180deg,rgba(11,20,40,.9),rgba(6,11,24,.98));
  border-top:1px solid var(--line);
}
.player-btn {
  background:rgba(30,43,72,.7);
  border:1px solid var(--line);
  color:var(--ink);
  font-size:12px;
  letter-spacing:.04em;
  padding:4px 10px;
  cursor:pointer;
  clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);
  transition:background .16s,color .16s,border-color .16s;
}
.player-btn:hover {background:rgba(74,127,212,.3);border-color:var(--cool-soft)}
.player-btn.is-active {background:var(--warm);border-color:var(--warm);color:#12060a;font-weight:700}
.player-range {
  flex:1 1 90px;
  min-width:70px;
  height:4px;
  -webkit-appearance:none;
  appearance:none;
  background:rgba(74,127,212,.28);
  border-radius:0;
  cursor:pointer;
}
.player-range::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:11px;height:11px;
  border-radius:50%;
  background:var(--warm);
  border:none;
  cursor:pointer;
}
.player-range::-moz-range-thumb {
  width:11px;height:11px;
  border-radius:50%;
  background:var(--warm);
  border:none;
  cursor:pointer;
}
.player-shell.is-theater {
  box-shadow:0 0 0 2px var(--warm),0 0 40px rgba(255,138,61,.25);
}
.player-shell.is-lights-off::after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(3,6,14,.86);
  pointer-events:none;
  z-index:5;
}
.hero-overlay {
  position:relative;
  min-width:0;
}
.hero-overlay-right::before {
  content:"";
  position:absolute;
  left:-2px;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(180deg,transparent,rgba(255,138,61,.55) 20%,rgba(74,127,212,.6) 60%,transparent);
  transform:skewX(-8deg);
}
.overview-body {
  display:grid;
  grid-template-columns:minmax(0,2.1fr) minmax(0,1.2fr);
  grid-template-areas:
    "meta cast"
    "synopsis cast"
    "synopsis details"
    "status details";
  gap:clamp(12px,1.8vw,22px) clamp(16px,2.4vw,34px);
  padding:clamp(14px,2.4vw,26px);
  align-items:start;
}
.overview-meta {
  grid-area:meta;
  border-left:3px solid var(--warm);
  padding:2px 0 2px 14px;
  background:linear-gradient(90deg,rgba(255,138,61,.08),transparent 70%);
}
.seo-desc {
  font-size:14px;
  color:var(--ink-dim);
  line-height:1.75;
}
.overview-synopsis {grid-area:synopsis;min-width:0}
.overview-cast {grid-area:cast;min-width:0}
.overview-details {grid-area:details;min-width:0}
.overview-episode-status {
  grid-area:status;
  min-width:0;
  border-top:1px solid var(--line);
  padding-top:12px;
}
.synopsis-paragraphs {
  display:flex;
  flex-direction:column;
  gap:9px;
  border-left:1px solid var(--line);
  padding-left:14px;
}
.synopsis-text {
  font-size:14px;
  color:#c3cee1;
  line-height:1.8;
}
.synopsis-text:first-child::first-letter {
  color:var(--warm-soft);
  font-weight:800;
  font-size:1.15em;
}
.cast-list {
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:flex-start;
}
.cast-item {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  width:64px;
}
.cast-avatar {
  width:52px;
  height:52px;
  border-radius:50%;
  background:
    radial-gradient(circle at 34% 30%,rgba(255,179,122,.9),transparent 55%),
    radial-gradient(circle at 68% 72%,rgba(74,127,212,.85),transparent 60%),
    linear-gradient(150deg,#1a2a4d,#0d1830);
  border:1px solid rgba(122,165,230,.45);
  box-shadow:0 0 0 3px rgba(6,11,24,.9),0 0 14px rgba(74,127,212,.28);
}
.cast-item:nth-child(2n) .cast-avatar {
  border-color:rgba(255,138,61,.55);
  box-shadow:0 0 0 3px rgba(6,11,24,.9),0 0 16px rgba(255,138,61,.3);
}
.cast-name {
  font-size:12px;
  color:var(--ink-dim);
  text-align:center;
  white-space:nowrap;
}
.details-list {
  display:grid;
  grid-template-columns:1fr;
  border-top:1px solid var(--line);
}
.details-row {
  display:grid;
  grid-template-columns:minmax(64px,72px) minmax(0,1fr);
  gap:10px;
  padding:6px 2px;
  border-bottom:1px solid rgba(30,43,72,.7);
}
.details-key {
  font-size:12.5px;
  color:var(--ink-dim);
  letter-spacing:.06em;
}
.details-value {
  font-size:13.5px;
  color:var(--ink);
  font-weight:500;
  min-width:0;
}
.status-line {
  font-size:13.5px;
  color:var(--ink-dim);
  padding-left:14px;
  position:relative;
}
.status-line::before {
  content:"";
  position:absolute;
  left:0;top:.5em;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--warm);
  box-shadow:0 0 10px var(--warm);
}
.status-line::after {
  content:"";
  position:absolute;
  left:3px;top:.5em;
  width:1px;height:calc(100% + 4px);
  background:var(--line);
  z-index:-1;
}
.timeline-section {
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--deep-2),rgba(6,11,24,.6));
  padding:clamp(14px,2.2vw,22px);
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
}
.timeline-track {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  position:relative;
  padding-top:26px;
}
.timeline-track::before {
  content:"";
  position:absolute;
  left:0;right:0;
  top:9px;
  height:2px;
  background:linear-gradient(90deg,var(--cool),rgba(74,127,212,.25) 45%,rgba(255,138,61,.35) 70%,var(--warm));
}
.timeline-node {
  position:relative;
  padding:0 14px 14px 0;
  border-right:1px dashed rgba(30,43,72,.9);
  min-width:0;
}
.timeline-node:nth-child(4n) {border-right:none}
.timeline-node::before {
  content:"";
  position:absolute;
  left:0;
  top:-22px;
  width:9px;height:9px;
  background:var(--deep);
  border:2px solid var(--cool-soft);
  transform:rotate(45deg);
}
.timeline-node:nth-child(7)::before, .timeline-node:nth-child(8)::before {
  border-color:var(--warm);
  box-shadow:0 0 12px rgba(255,138,61,.6);
}
.timeline-timecode {
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--warm-soft);
  margin-bottom:3px;
}
.timeline-label {
  display:block;
  font-size:12.5px;
  color:#b7c3d8;
  line-height:1.65;
}
.episodes-section {padding-top:2px}
.episodes-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.episode-card {
  border:1px solid var(--line);
  border-left:3px solid rgba(74,127,212,.6);
  background:linear-gradient(140deg,rgba(16,28,54,.85),rgba(8,14,30,.85));
  padding:10px 13px 11px;
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  transition:border-color .18s,transform .18s;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);
}
.episode-card:hover {
  border-left-color:var(--warm);
  transform:translateX(2px);
}
.episode-title {
  font-size:14px;
  color:#fff;
  letter-spacing:.02em;
}
.episode-summary {
  font-size:12.5px;
  color:#9dabc3;
  line-height:1.7;
  flex:1 1 auto;
}
.episode-duration {
  align-self:flex-start;
  font-size:11px;
  letter-spacing:.08em;
  color:var(--warm-soft);
  border:1px solid rgba(255,138,61,.35);
  padding:1px 8px;
  border-radius:999px;
  background:rgba(255,138,61,.07);
}
.comments-section {
  border:1px solid var(--line);
  background:var(--deep-2);
  padding:clamp(14px,2.2vw,22px);
}
.comments-stack {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-content:start;
}
.comment-item {
  border-left:3px solid var(--cool);
  background:rgba(16,28,54,.6);
  padding:9px 13px 10px;
  min-width:0;
}
.comment-item:nth-child(3n/**/+2) {border-left-color:var(--warm)}
.comment-item:nth-child(3n/**/+3) {border-left-color:#6f5fd4}
.comment-nickname {
  font-size:12.5px;
  color:var(--warm-soft);
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:3px;
}
.comment-text {
  font-size:12.5px;
  color:#aebbd1;
  line-height:1.75;
}
.recommend-region {padding-top:2px}
.recommend-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
a.recommend-card {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  border:1px solid var(--line);
  background:linear-gradient(170deg,rgba(16,28,54,.9),rgba(6,11,24,.9));
  padding:6px 6px 10px;
  color:var(--ink);
  text-decoration:none;
  transition:border-color .18s,transform .18s,box-shadow .18s;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);
}
a.recommend-card:hover, a.recommend-card:focus-visible {
  border-color:var(--warm);
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.5);
}
[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  display:block;
  background:#000;
  border:1px solid rgba(30,43,72,.9);
}
.recommend-pic {width:100%}
.recommend-name {
  font-size:12.5px;
  font-weight:800;
  color:#fff;
  line-height:1.5;
  padding:0 3px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recommend-blurb {
  font-size:11.5px;
  color:#8f9db6;
  line-height:1.65;
  padding:0 3px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(11,20,40,.9),#04070f);
  margin-top:6px;
}
.footer-inner {
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:clamp(16px,2.4vw,26px) clamp(14px,4vw,44px);
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:13px;
  color:var(--ink-dim);
  text-decoration:none;
  letter-spacing:.06em;
  border-bottom:1px solid transparent;
  transition:color .16s,border-color .16s;
}
a[data-contract="footer-home"] {color:var(--warm-soft)}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:#fff;
  border-bottom-color:var(--warm);
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  align-items:center;
  padding-top:4px;
  border-top:1px dashed rgba(30,43,72,.9);
}
.friend-links-label {
  font-size:12px;
  color:#6f7f9c;
  letter-spacing:.14em;
  white-space:nowrap;
}
a.runtime-friend-link {
  font-size:12px;
  color:#8b9ab5;
  text-decoration:none;
  white-space:nowrap;
  transition:color .16s;
}
a.runtime-friend-link:hover {color:var(--cool-soft);text-decoration:underline}
.footer-disclaimer {
  font-size:11.5px;
  color:#5f6e8a;
  line-height:1.7;
  max-width:900px;
}
.click {transform:scale(.96)}
.player {position:relative}
.play, .mute, .pip, .fullscreen, .theater, .light, .speed, .volume, .progress, .timeupdate, .input, .x {
  transition:opacity .16s,background .16s,color .16s;
}
.player-btn.click {background:var(--cool);color:#fff}
.player-shell.fullscreen {
  width:100%;
  height:100%;
  border:none;
}
.player-shell.fullscreen .main-player {
  height:calc(100% - 46px);
  object-fit:contain;
}
.player-shell .input {outline:none}
.player-shell .x {
  position:absolute;
  top:6px;right:8px;
  width:22px;height:22px;
  line-height:22px;
  text-align:center;
  font-size:13px;
  color:var(--ink-dim);
  background:rgba(6,11,24,.7);
  cursor:pointer;
  z-index:6;
}
.player-shell .x:hover {color:#fff;background:var(--warm)}
@media (max-width:1080px){.overview-body {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "meta meta"
      "synopsis cast"
      "synopsis details"
      "status status";
  }
.recommend-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.timeline-track {grid-template-columns:repeat(3,minmax(0,1fr))}
.timeline-node:nth-child(4n) {border-right:1px dashed rgba(30,43,72,.9)}
.timeline-node:nth-child(3n) {border-right:none}}
@media (max-width:860px){.hero-backdrop {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "poster"
      "left"
      "right";
    gap:16px;
  }
.poster-wrap {max-width:220px}
.overview-body {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "meta"
      "synopsis"
      "cast"
      "details"
      "status";
  }
.episodes-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.comments-stack {grid-template-columns:repeat(2,minmax(0,1fr))}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-track {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-node:nth-child(3n) {border-right:1px dashed rgba(30,43,72,.9)}
.timeline-node:nth-child(2n) {border-right:none}}
@media (max-width:560px){body {font-size:14px}
.site-header {padding:8px 14px}
a[data-contract="site-name"].brand-link {font-size:17px}
.page-main {padding:12px 12px 26px;gap:18px}
.hero-backdrop {padding:12px}
.overview-body {padding:12px}
.poster-wrap {max-width:190px}
.episodes-grid {grid-template-columns:minmax(0,1fr)}
.comments-stack {grid-template-columns:minmax(0,1fr)}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-track {grid-template-columns:minmax(0,1fr)}
.timeline-node {border-right:none;padding-bottom:12px}
.timeline-track::before {display:none}
.timeline-node::before {top:-6px;left:-2px}
.cast-item {width:58px}
.cast-avatar {width:46px;height:46px}
.player-btn {font-size:11px;padding:3px 8px}}
@media (max-width:380px){.recommend-grid {grid-template-columns:minmax(0,1fr)}
.player-range {flex:1 1 60px}}

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}
