* {box-sizing:border-box;margin:0;padding:0}
:root {
  --ink:#0b0a1f;
  --deep:#141232;
  --deep2:#1b1840;
  --surface:#221e4d;
  --surface-up:#2a2559;
  --line:rgba(214,178,90,.22);
  --gold:#d6b25a;
  --gold-bright:#f0cf7a;
  --rune:#7de3ff;
  --text:#e9e6f5;
  --muted:#a49fc4;
  --dim:#7c77a3;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",Georgia,"Times New Roman",serif;
}
html {-webkit-text-size-adjust:100%}
body {
  font-family:var(--sans);
  line-height:1.6;
  color:var(--text);
  background:
    radial-gradient(1100px 600px at 78% -8%,rgba(125,227,255,.10),transparent 60%),
    radial-gradient(900px 520px at 6% 4%,rgba(214,178,90,.10),transparent 62%),
    linear-gradient(180deg,#07061a 0%,#0d0b24 34%,#191640 62%,#0c0a22 100%);
  background-attachment:fixed;
  min-height:100vh;
  overflow-x:hidden;
}
img, video {display:block;max-width:100%}
ul, ol {list-style:none}
a {color:inherit;text-decoration:none}
button, input, select {font:inherit;color:inherit}
h1, h2, h3 {font-family:var(--serif);letter-spacing:.06em;line-height:1.3;font-weight:700}
.site-header {
  position:sticky;top:0;z-index:40;
  background:linear-gradient(180deg,rgba(9,8,26,.96),rgba(15,13,38,.86));
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px);
}
.header-inner {
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  max-width:1440px;margin:0 auto;padding:8px 16px;
}
a[data-contract="site-name"] {
  font-family:var(--serif);
  font-size:20px;font-weight:700;letter-spacing:.14em;
  color:var(--gold-bright);
  text-decoration:none;
  text-shadow:0 0 16px rgba(240,207,122,.45);
  white-space:nowrap;
}
a[data-contract="site-name"]:hover {color:#fff2c9;text-shadow:0 0 22px rgba(240,207,122,.75)}
.category-nav {
  display:flex;flex-wrap:wrap;gap:6px;
  flex:1 1 auto;min-width:0;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-size:12.5px;
  padding:3px 10px;
  border:1px solid var(--line);
  border-radius:2px;
  color:var(--muted);
  text-decoration:none;
  background:rgba(125,227,255,.04);
  transition:color .18s,border-color .18s,background .18s;
}
a.runtime-category:hover {
  color:var(--gold-bright);
  border-color:rgba(214,178,90,.6);
  background:rgba(214,178,90,.12);
}
.page-main {
  max-width:1440px;
  margin:0 auto;
  padding:12px 16px 24px;
  display:flex;flex-direction:column;gap:12px;
}
.movie-overview {
  display:grid;
  grid-template-columns:minmax(180px,255px) minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:14px;
  border:1px solid var(--line);
  border-radius:4px;
  background:linear-gradient(180deg,rgba(34,30,77,.85),rgba(20,18,50,.9));
  box-shadow:0 0 0 1px rgba(125,227,255,.05),0 18px 50px -30px rgba(0,0,0,.9);
  position:relative;
}
.movie-overview::before {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(320px 220px at 8% 0%,rgba(214,178,90,.12),transparent 70%),
    radial-gradient(420px 260px at 96% 100%,rgba(125,227,255,.10),transparent 72%);
  border-radius:4px;
}
.overview-poster-wrap {
  width:100%;
  align-self:start;
  border:1px solid var(--line);
  border-radius:3px;
  overflow:hidden;
  position:relative;
  background:#0a0920;
  box-shadow:0 0 26px -6px rgba(125,227,255,.28);
}
.overview-poster-wrap img {
  width:100%;
  aspect-ratio:9 / 16;
  object-fit:cover;
  height:auto;
}
.overview-info {
  display:flex;flex-direction:column;gap:12px;
  min-width:0;
}
.movie-title {
  font-size:clamp(22px,3.4vw,38px);
  font-weight:700;
  color:#fff;
  letter-spacing:.1em;
  line-height:1.15;
  text-shadow:0 0 24px rgba(125,227,255,.28);
}
.movie-tagline {
  font-size:13.5px;
  color:var(--muted);
  border-left:2px solid var(--gold);
  padding-left:9px;
  line-height:1.55;
}
.episode-status {
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:12.5px;
}
.status-current {
  color:var(--gold-bright);
  border:1px solid rgba(214,178,90,.5);
  background:rgba(214,178,90,.12);
  padding:2px 9px;border-radius:2px;
  white-space:nowrap;
}
.status-total {
  color:var(--dim);
  border:1px solid var(--line);
  padding:2px 9px;border-radius:2px;
  white-space:nowrap;
}
.player-shell {
  width:100%;
  max-width:100%;
  position:relative;
  border:1px solid var(--line);
  border-radius:3px;
  background:#05041a;
  overflow:hidden;
}
.player-video {
  width:100%;
  display:block;
  background:#000;
  object-fit:contain;
}
.player-controls {
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  padding:7px 8px;
  background:linear-gradient(180deg,rgba(27,24,64,.92),rgba(12,10,34,.95));
  border-top:1px solid var(--line);
}
.player-btn {
  cursor:pointer;
  font-size:11.5px;
  padding:4px 9px;
  color:var(--muted);
  background:rgba(125,227,255,.05);
  border:1px solid var(--line);
  border-radius:2px;
  white-space:nowrap;
  transition:color .16s,border-color .16s,background .16s,box-shadow .16s;
}
.player-btn:hover {color:var(--gold-bright);border-color:rgba(214,178,90,.55)}
.player-btn.is-playing {
  color:#0b0a1f;
  background:var(--gold-bright);
  border-color:var(--gold-bright);
  box-shadow:0 0 14px rgba(240,207,122,.6);
}
.player-btn.is-muted {
  color:#ffd9d9;
  border-color:rgba(255,140,140,.6);
  background:rgba(255,90,90,.14);
}
.player-btn.is-active {
  color:var(--rune);
  border-color:rgba(125,227,255,.65);
  box-shadow:0 0 12px rgba(125,227,255,.4);
}
.player-range {
  -webkit-appearance:none;appearance:none;
  flex:1 1 110px;
  min-width:80px;
  height:4px;
  border-radius:2px;
  background:linear-gradient(90deg,rgba(214,178,90,.75),rgba(125,227,255,.35));
  cursor:pointer;
}
.player-range::-webkit-slider-thumb {
  -webkit-appearance:none;appearance:none;
  width:11px;height:11px;border-radius:50%;
  background:var(--gold-bright);
  box-shadow:0 0 9px rgba(240,207,122,.85);
}
.player-range::-moz-range-thumb {
  width:11px;height:11px;border:0;border-radius:50%;
  background:var(--gold-bright);
  box-shadow:0 0 9px rgba(240,207,122,.85);
}
.player-select {
  font-size:11.5px;
  padding:4px 6px;
  color:var(--muted);
  background:rgba(12,10,34,.9);
  border:1px solid var(--line);
  border-radius:2px;
  cursor:pointer;
}
.player-shell.is-theater {
  box-shadow:0 0 0 1px rgba(125,227,255,.4),0 0 42px -8px rgba(125,227,255,.5);
}
.player-shell.is-lights-off {background:#000}
.player-shell.is-lights-off .player-video {filter:brightness(.82)}
.player-shell.is-lights-off .player-controls {
  background:linear-gradient(180deg,rgba(6,5,20,.96),rgba(3,2,12,.98));
}
.player-shell.is-fullscreen {
  border-radius:0;
  display:flex;flex-direction:column;
  justify-content:center;
  background:#000;
}
.cast-strip {
  border-top:1px solid var(--line);
  padding-top:10px;
}
.cast-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:6px 10px;
  margin-top:7px;
}
.cast-item {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:8px;
  align-items:center;
  padding:5px 7px;
  border:1px solid rgba(214,178,90,.14);
  border-radius:2px;
  background:rgba(125,227,255,.035);
  transition:border-color .18s,background .18s,transform .18s;
}
.cast-item:hover {
  border-color:rgba(214,178,90,.5);
  background:rgba(214,178,90,.1);
  transform:translateX(2px);
}
.cast-avatar {
  grid-row:span 2;
  width:30px;height:30px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 42%,rgba(240,207,122,.9) 0 22%,transparent 24%),
    conic-gradient(from 0deg,rgba(125,227,255,.5),rgba(214,178,90,.55),rgba(125,227,255,.5));
  box-shadow:0 0 11px -1px rgba(214,178,90,.6);
  flex:none;
}
.cast-name {
  font-size:12.5px;
  font-weight:600;
  color:#fff;
  letter-spacing:.04em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cast-note {
  font-size:11px;
  color:var(--dim);
  line-height:1.45;
}
.synopsis-block {
  border-top:1px solid var(--line);
  padding-top:10px;
}
.synopsis-para {
  font-size:13px;
  color:#cdc9e3;
  line-height:1.6;
  margin-top:6px;
  text-indent:2em;
}
.details-block {
  border-top:1px solid var(--line);
  padding-top:10px;
}
.details-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:1px;
  margin-top:7px;
  border:1px solid rgba(214,178,90,.14);
  background:rgba(214,178,90,.14);
  border-radius:2px;
  overflow:hidden;
}
.detail-row {
  display:flex;align-items:baseline;gap:7px;
  padding:4px 8px;
  background:rgba(14,12,36,.92);
  min-width:0;
}
.detail-key {
  font-size:11.5px;
  color:var(--dim);
  white-space:nowrap;
  flex:none;
  min-width:52px;
}
.detail-val {
  font-size:12.5px;
  color:var(--gold-bright);
  min-width:0;
  overflow-wrap:anywhere;
}
.section-heading {
  font-size:15px;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--gold);
  display:flex;align-items:center;gap:9px;
}
.section-heading::after {
  content:"";flex:1 1 auto;height:1px;
  background:linear-gradient(90deg,rgba(214,178,90,.5),transparent);
}
.section-heading::before {
  content:"";width:7px;height:7px;flex:none;
  background:var(--gold-bright);
  transform:rotate(45deg);
  box-shadow:0 0 9px rgba(240,207,122,.9);
}
.timeline-section {
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:4px;
  background:linear-gradient(180deg,rgba(30,27,70,.8),rgba(17,15,44,.85));
}
.timeline-track {
  display:flex;
  gap:10px;
  margin-top:12px;
  padding:4px 2px 8px;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(214,178,90,.5) transparent;
  position:relative;
}
.timeline-track::before {
  content:"";position:absolute;left:0;right:0;top:22px;height:1px;
  background:linear-gradient(90deg,rgba(125,227,255,.35),rgba(214,178,90,.45),rgba(125,227,255,.35));
}
.timeline-track::-webkit-scrollbar {height:5px}
.timeline-track::-webkit-scrollbar-thumb {background:rgba(214,178,90,.45);border-radius:3px}
.timeline-node {
  flex:0 0 172px;
  display:flex;flex-direction:column;align-items:center;
  gap:5px;
  text-align:center;
  padding:0 4px;
  position:relative;
}
.node-diamond {
  width:11px;height:11px;
  background:linear-gradient(135deg,var(--rune),var(--gold));
  transform:rotate(45deg);
  box-shadow:0 0 10px rgba(125,227,255,.7);
  margin-top:16px;
  flex:none;
}
.node-time {
  font-size:11.5px;
  letter-spacing:.1em;
  color:var(--gold-bright);
  font-family:var(--serif);
  white-space:nowrap;
}
.node-label {
  font-size:11.5px;
  color:var(--muted);
  line-height:1.5;
}
.timeline-node.is-current {
  flex-basis:210px;
}
.timeline-node.is-current .node-diamond {
  width:17px;height:17px;
  margin-top:13px;
  background:var(--gold-bright);
  box-shadow:0 0 18px rgba(240,207,122,.95),0 0 34px rgba(125,227,255,.55);
  animation:runePulse 1.9s ease-in-out infinite;
}
.timeline-node.is-current .node-time {color:#fff2c9;font-size:12.5px}
.timeline-node.is-current .node-label {color:#e9e6f5}
@keyframes runePulse{
  0%,100%{transform:rotate(45deg) scale(1);box-shadow:0 0 14px rgba(240,207,122,.8),0 0 26px rgba(125,227,255,.4)}
  50%{transform:rotate(45deg) scale(1.28);box-shadow:0 0 24px rgba(240,207,122,1),0 0 46px rgba(125,227,255,.7)}
}
.episodes-section {
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:4px;
  background:linear-gradient(180deg,rgba(44,40,92,.62),rgba(26,23,62,.72));
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.episode-card {
  position:relative;
  display:flex;flex-direction:column;gap:4px;
  padding:9px 10px 10px;
  min-height:104px;
  border:1px solid rgba(214,178,90,.18);
  border-radius:3px;
  background:linear-gradient(160deg,rgba(31,28,70,.92),rgba(19,17,48,.92));
  overflow:hidden;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.episode-card::after {
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:
    repeating-linear-gradient(45deg,rgba(125,227,255,.14) 0 1px,transparent 1px 9px),
    repeating-linear-gradient(-45deg,rgba(214,178,90,.14) 0 1px,transparent 1px 11px);
  transition:opacity .22s;
}
.episode-card:hover {
  transform:translateY(-3px);
  border-color:rgba(214,178,90,.6);
  box-shadow:0 12px 26px -14px rgba(0,0,0,.95),0 0 18px -4px rgba(125,227,255,.4);
}
.episode-card:hover::after {opacity:1}
.episode-number {
  align-self:flex-start;
  font-family:var(--serif);
  font-size:11.5px;
  letter-spacing:.08em;
  color:#0b0a1f;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  padding:1px 7px;
  border-radius:2px;
  white-space:nowrap;
}
.episode-title {
  font-size:13.5px;
  font-weight:700;
  color:#fff;
  letter-spacing:.03em;
  line-height:1.35;
}
.episode-summary {
  font-size:11.5px;
  color:var(--muted);
  line-height:1.55;
  flex:1 1 auto;
}
.episode-duration {
  align-self:flex-end;
  font-size:11px;
  color:var(--rune);
  letter-spacing:.06em;
  white-space:nowrap;
  border-top:1px solid rgba(125,227,255,.2);
  padding-top:3px;
}
.comments-section {
  padding:12px;
  border:1px solid rgba(125,227,255,.18);
  border-radius:4px;
  background:linear-gradient(180deg,rgba(11,10,32,.94),rgba(9,8,26,.96));
}
.comments-columns {
  column-count:2;
  column-gap:12px;
  margin-top:10px;
}
.comment-card {
  break-inside:avoid;
  display:flex;gap:8px;
  align-items:flex-start;
  padding:8px 9px;
  margin-bottom:8px;
  border:1px solid rgba(125,227,255,.14);
  border-left:2px solid rgba(214,178,90,.4);
  border-radius:2px;
  background:linear-gradient(160deg,rgba(26,23,60,.7),rgba(14,12,38,.75));
}
.comment-avatar {
  flex:none;
  width:26px;height:26px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 40%,rgba(125,227,255,.85) 0 20%,transparent 22%),
    conic-gradient(from 120deg,rgba(214,178,90,.55),rgba(125,227,255,.5),rgba(214,178,90,.55));
  box-shadow:0 0 9px -1px rgba(125,227,255,.6);
  position:relative;
}
.comment-avatar::after {
  content:"";position:absolute;left:50%;top:30px;bottom:-14px;width:1px;
  background:linear-gradient(180deg,rgba(214,178,90,.55),transparent);
}
.comment-body {
  display:flex;flex-direction:column;gap:3px;
  min-width:0;
}
.comment-nickname {
  font-size:12px;
  font-weight:600;
  color:var(--gold-bright);
  letter-spacing:.05em;
}
.comment-text {
  font-size:12px;
  color:#c6c2dc;
  line-height:1.6;
}
.recommend-section {
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:4px;
  background:linear-gradient(180deg,rgba(28,25,66,.72),rgba(14,12,38,.8));
}
.recommend-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:10px;
  align-items:start;
}
.recommend-card {
  display:flex;flex-direction:column;align-items:center;
  gap:5px;
  padding:9px 9px 10px;
  border:1px solid rgba(214,178,90,.2);
  border-radius:3px;
  background:linear-gradient(170deg,rgba(32,29,72,.9),rgba(18,16,46,.92));
  text-align:center;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.recommend-card::before {
  content:"";width:26px;height:26px;flex:none;
  border-radius:50%;
  border:1px solid rgba(214,178,90,.6);
  background:
    radial-gradient(circle,rgba(240,207,122,.9) 0 14%,transparent 16%),
    conic-gradient(from 45deg,rgba(125,227,255,.35),transparent 30%,rgba(214,178,90,.45) 55%,transparent 80%,rgba(125,227,255,.35));
  box-shadow:0 0 12px -2px rgba(214,178,90,.7),inset 0 0 8px rgba(125,227,255,.35);
}
.recommend-card:hover {
  transform:translateY(-3px);
  border-color:rgba(214,178,90,.65);
  box-shadow:0 14px 28px -16px rgba(0,0,0,.95),0 0 22px -6px rgba(125,227,255,.45);
}
[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  object-fit:cover;
  border-radius:2px;
  border:1px solid rgba(125,227,255,.18);
  background:#0a0920;
}
.recommend-name {
  font-size:12.5px;
  font-weight:600;
  color:#fff;
  letter-spacing:.04em;
  line-height:1.4;
}
.recommend-blurb {
  font-size:11px;
  color:var(--dim);
  line-height:1.55;
}
.site-footer {
  max-width:1440px;
  margin:0 auto;
  padding:14px 16px 26px;
  border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:9px;
  background:linear-gradient(180deg,rgba(7,6,22,.5),rgba(4,3,14,.9));
}
.footer-disclaimer {
  font-size:11px;
  color:var(--dim);
  line-height:1.6;
}
.footer-nav-row {
  display:flex;flex-wrap:wrap;gap:14px;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:12px;
  color:var(--gold);
  text-decoration:none;
  letter-spacing:.08em;
  border-bottom:1px solid rgba(214,178,90,.4);
  padding-bottom:1px;
  transition:color .18s,border-color .18s;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:var(--gold-bright);
  border-color:var(--gold-bright);
}
.friend-links {
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;
  padding-top:8px;
  border-top:1px solid rgba(125,227,255,.12);
}
.friend-links-label {
  font-size:11px;
  color:var(--dim);
  letter-spacing:.14em;
  white-space:nowrap;
}
a.runtime-friend-link {
  font-size:11.5px;
  color:var(--muted);
  text-decoration:none;
  white-space:nowrap;
  padding:1px 6px;
  border:1px solid rgba(125,227,255,.14);
  border-radius:2px;
  transition:color .16s,border-color .16s,background .16s;
}
a.runtime-friend-link:hover {
  color:var(--rune);
  border-color:rgba(125,227,255,.5);
  background:rgba(125,227,255,.08);
}
@media (max-width:1080px){.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.recommend-grid {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.movie-overview {
    grid-template-columns:minmax(150px,215px) minmax(0,1fr);
    gap:12px;
  }
.comments-columns {column-count:2}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.movie-overview {grid-template-columns:1fr}
.overview-poster-wrap {
    max-width:220px;
  }
.timeline-node {flex-basis:150px}
.timeline-node.is-current {flex-basis:186px}
.episode-grid {grid-template-columns:1fr}
.comments-columns {column-count:1}
.cast-list {grid-template-columns:1fr}}
@media (max-width:520px){.header-inner {padding:7px 11px;gap:9px}
a[data-contract="site-name"] {font-size:17px;letter-spacing:.1em}
.page-main {padding:10px 11px 20px;gap:10px}
.movie-overview {padding:11px;gap:10px}
.overview-poster-wrap {max-width:170px}
.movie-title {font-size:22px;letter-spacing:.06em}
.player-controls {gap:5px;padding:6px}
.player-btn {font-size:11px;padding:3px 7px}
.player-range {flex:1 1 100%;min-width:0}
.recommend-grid {grid-template-columns:1fr}
.timeline-node {flex-basis:136px}
.timeline-node.is-current {flex-basis:164px}
.site-footer {padding:12px 11px 22px}}
@media (prefers-reduced-motion:reduce){* {animation:none!important;transition:none!important}}

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}
