* {margin:0;padding:0;box-sizing:border-box}
:root {
  --ink:#07090d;
  --coal:#0c1016;
  --slate:#121824;
  --slate-2:#1a2230;
  --line:#232d3d;
  --warm:#ff6a2b;
  --warm-deep:#c8410f;
  --cold:#38b6ff;
  --cold-deep:#0d5f96;
  --paper:#e9eef5;
  --paper-dim:#8f9caa;
  --paper-faint:#5d6a79;
  --tight:0.02em;
}
html {-webkit-text-size-adjust:100%}
body {
  background:
    radial-gradient(1200px 700px at 12% -8%, rgba(255,106,43,.09), transparent 60%),
    radial-gradient(1000px 600px at 92% 4%, rgba(56,182,255,.08), transparent 62%),
    linear-gradient(180deg,#090c11 0%, #0a0e14 40%, #07090d 100%);
  color:var(--paper);
  font-family:"Helvetica Neue","Arial Narrow","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:14px;
  line-height:1.5;
  letter-spacing:var(--tight);
  overflow-x:hidden;
}
img {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button, input {font:inherit;color:inherit}
ul, ol {list-style:none}
.site-header {
  position:sticky;
  top:0;
  z-index:60;
  background:linear-gradient(180deg, rgba(7,9,13,.96), rgba(7,9,13,.82));
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(6px);
}
.header-bar {
  display:flex;
  align-items:center;
  gap:14px;
  padding:9px 16px;
  max-width:1360px;
  margin:0 auto;
  border-left:3px solid var(--warm);
}
.site-brand {
  font-size:16px;
  font-weight:800;
  letter-spacing:-0.01em;
  text-transform:uppercase;
  color:var(--paper);
  padding-right:12px;
  border-right:1px solid var(--line);
  white-space:nowrap;
}
a[data-contract="site-name"] {
  color:var(--paper);
  text-decoration:none;
  transition:color .18s ease;
}
a[data-contract="site-name"]:hover {color:var(--warm)}
.categories-strip {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  min-width:0;
}
.runtime-category {
  white-space:nowrap;
  display:inline-block;
  padding:3px 9px;
  font-size:12px;
  font-weight:600;
  color:var(--paper-dim);
  background:var(--slate);
  border:1px solid var(--line);
  border-radius:2px;
  clip-path:polygon(0 0, calc(100% - 7px) 0, 100% 100%, 7px 100%);
  transition:color .16s ease, background .16s ease, border-color .16s ease;
}
a.runtime-category {
  color:var(--paper-dim);
  text-decoration:none;
}
a.runtime-category:hover {
  color:var(--ink);
  background:var(--warm);
  border-color:var(--warm);
}
.page-main {
  max-width:1360px;
  margin:0 auto;
  padding:0 16px 0;
  display:block;
}
.hero-mirror {
  position:relative;
  padding:16px 0 18px;
  border-bottom:1px solid var(--line);
}
.mirror-split {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:186px;
  margin-bottom:18px;
  border:1px solid var(--line);
  overflow:hidden;
}
.mirror-half {
  position:relative;
  display:flex;
  align-items:flex-end;
  padding:16px 18px;
  overflow:hidden;
}
.mirror-warm {
  background:
    radial-gradient(120% 130% at 8% 96%, rgba(255,106,43,.55), transparent 62%),
    linear-gradient(115deg,#2a1206 0%, #150a04 60%, #0b0705 100%);
}
.mirror-warm::before {
  content:"";
  position:absolute;
  right:-12%;
  bottom:-30%;
  width:78%;
  height:150%;
  background:linear-gradient(180deg, rgba(255,140,60,.30), rgba(255,106,43,.04) 70%);
  border-radius:48% 52% 0 0 / 62% 38% 0 0;
  transform:rotate(-8deg);
  filter:blur(1px);
}
.mirror-cold {
  background:
    radial-gradient(120% 130% at 92% 96%, rgba(56,182,255,.42), transparent 62%),
    linear-gradient(245deg,#061826 0%, #071019 60%, #050a10 100%);
  justify-content:flex-end;
  text-align:right;
}
.mirror-cold::before {
  content:"";
  position:absolute;
  left:-14%;
  bottom:-32%;
  width:80%;
  height:152%;
  background:linear-gradient(180deg, rgba(56,182,255,.26), rgba(56,182,255,.03) 70%);
  border-radius:52% 48% 0 0 / 40% 60% 0 0;
  transform:rotate(7deg);
  filter:blur(1px);
}
.mirror-figure {
  position:relative;
  z-index:2;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.9);
  padding:5px 10px;
  background:rgba(6,8,12,.55);
  border-left:2px solid var(--warm);
}
.mirror-cold .mirror-figure {
  border-left:0;
  border-right:2px solid var(--cold);
}
.mirror-crack {
  position:absolute;
  top:-4%;
  left:50%;
  width:6px;
  height:108%;
  transform:translateX(-50%) rotate(3deg);
  background:linear-gradient(180deg,#ffffff 0%, var(--warm) 22%, #ffffff 44%, var(--cold) 68%, #ffffff 100%);
  box-shadow:0 0 18px rgba(255,255,255,.55), 0 0 40px rgba(56,182,255,.35);
  clip-path:polygon(48% 0, 62% 12%, 38% 26%, 66% 40%, 34% 55%, 60% 70%, 40% 84%, 58% 100%, 42% 100%, 30% 84%, 56% 70%, 28% 55%, 58% 40%, 30% 26%, 54% 12%, 40% 0);
  z-index:3;
  pointer-events:none;
}
.overview-unit {
  display:grid;
  grid-template-columns:minmax(0,240px) minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:16px;
  background:linear-gradient(160deg, var(--coal) 0%, #0a0e15 100%);
  border:1px solid var(--line);
  border-top:2px solid var(--warm);
}
.poster-column {
  display:flex;
  align-items:flex-start;
}
.poster-frame {
  position:relative;
  width:100%;
  border:1px solid var(--line);
  background:var(--ink);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}
.poster-frame::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(200deg, rgba(255,106,43,.16), transparent 42%);
  pointer-events:none;
}
.poster-frame img {
  width:100%;
  height:auto;
  aspect-ratio:9 / 16;
  object-fit:cover;
  display:block;
}
.overview-info {
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}
.movie-title {
  font-size:30px;
  font-weight:800;
  line-height:1.06;
  letter-spacing:-0.02em;
  color:#fff;
  padding-left:12px;
  border-left:4px solid var(--warm);
}
.movie-tagline {
  font-size:13.5px;
  font-weight:600;
  color:var(--warm);
  letter-spacing:.04em;
  padding:4px 0 4px 12px;
  border-left:2px solid var(--warm-deep);
}
.movie-seo {
  font-size:13px;
  line-height:1.62;
  color:var(--paper-dim);
  border-top:1px solid var(--line);
  padding-top:10px;
}
.block-heading {
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--cold);
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.block-heading::before {
  content:"";
  width:10px;
  height:10px;
  background:var(--warm);
  transform:rotate(45deg);
  flex:none;
}
.block-heading::after {
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg, var(--line), transparent);
}
.cast-strip {
  border-top:1px solid var(--line);
  padding-top:10px;
}
.cast-list {
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  align-items:flex-start;
}
.cast-item {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  width:66px;
  text-align:center;
}
.cast-avatar {
  width:42px;
  height:42px;
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,106,43,.55), transparent 60%),
    linear-gradient(150deg,#1d2735,#0d1219);
  border:1px solid var(--line);
  box-shadow:inset 0 0 0 2px rgba(56,182,255,.14);
  flex:none;
}
.cast-name {
  font-size:11px;
  line-height:1.3;
  color:var(--paper-dim);
  letter-spacing:.01em;
}
.synopsis-block {
  border-top:1px solid var(--line);
  padding-top:10px;
}
.synopsis-para {
  font-size:13px;
  line-height:1.66;
  color:#c2ccd8;
  margin-bottom:8px;
  padding-left:10px;
  border-left:1px solid var(--line);
}
.synopsis-para:last-child {margin-bottom:0}
.episode-status {
  border-top:1px solid var(--line);
  padding-top:10px;
}
.status-line {
  font-size:12.5px;
  color:var(--paper-dim);
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.status-total, .status-current {
  font-weight:800;
  color:var(--warm);
  font-size:14px;
  padding:1px 7px;
  background:rgba(255,106,43,.10);
  border:1px solid rgba(255,106,43,.35);
  clip-path:polygon(0 0, calc(100% - 6px) 0, 100% 100%, 6px 100%);
}
.status-current {
  color:var(--cold);
  background:rgba(56,182,255,.10);
  border-color:rgba(56,182,255,.35);
}
.details-panel {
  border-top:1px solid var(--line);
  padding-top:10px;
}
.details-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:0 18px;
}
.detail-row {
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:4px 0;
  border-bottom:1px dashed rgba(35,45,61,.85);
  min-width:0;
}
.detail-key {
  flex:none;
  width:58px;
  font-size:11.5px;
  color:var(--paper-faint);
  letter-spacing:.05em;
}
.detail-value {
  font-size:12.5px;
  color:var(--paper);
  font-weight:600;
  min-width:0;
}
.player-section {
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.player-shell {
  position:relative;
  width:100%;
  max-width:100%;
  background:var(--ink);
  border:1px solid var(--line);
  border-top:2px solid var(--cold);
  overflow:hidden;
}
.player-shell video {
  display:block;
  width:100%;
  max-width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  object-fit:cover;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  background:linear-gradient(180deg, rgba(18,24,36,.96), rgba(10,14,20,.96));
  border-top:1px solid var(--line);
}
.ctrl-btn {
  flex:none;
  padding:4px 10px;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--paper-dim);
  background:var(--slate);
  border:1px solid var(--line);
  border-radius:2px;
  cursor:pointer;
  clip-path:polygon(0 0, calc(100% - 6px) 0, 100% 100%, 6px 100%);
  transition:color .15s ease, background .15s ease, border-color .15s ease;
}
.ctrl-btn:hover {
  color:var(--ink);
  background:var(--cold);
  border-color:var(--cold);
}
.ctrl-btn.is-active {
  color:var(--ink);
  background:var(--warm);
  border-color:var(--warm);
}
.ctrl-range {
  -webkit-appearance:none;
  appearance:none;
  height:4px;
  background:var(--line);
  border-radius:0;
  cursor:pointer;
  outline:none;
}
.ctrl-progress {
  flex:1 1 160px;
  min-width:96px;
}
.ctrl-volume {
  flex:0 1 90px;
  min-width:64px;
}
.ctrl-range::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:10px;
  height:14px;
  background:var(--warm);
  border:0;
  clip-path:polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  cursor:pointer;
}
.ctrl-range::-moz-range-thumb {
  width:10px;
  height:14px;
  background:var(--warm);
  border:0;
  border-radius:0;
  cursor:pointer;
}
.player-shell.is-playing .ctrl-btn[data-player-action="play"] {
  color:var(--ink);
  background:var(--cold);
  border-color:var(--cold);
}
.player-shell.is-muted .ctrl-volume {opacity:.45}
.player-shell.is-theater {
  border-color:var(--cold);
  box-shadow:0 0 0 1px var(--cold), 0 0 34px rgba(56,182,255,.22);
}
.player-shell.is-light-off {
  filter:brightness(.55) saturate(1.2);
}
.player-shell.is-light-off .player-controls {filter:brightness(1.7)}
.timeline-section {
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.timeline-list {
  display:flex;
  flex-direction:column;
  border-left:1px solid var(--line);
  margin-left:6px;
}
.timeline-item {
  display:grid;
  grid-template-columns:64px 20px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:5px 0;
  position:relative;
}
.timeline-time {
  font-size:12px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  color:var(--cold);
  letter-spacing:.04em;
  text-align:right;
}
.timeline-node {
  width:9px;
  height:9px;
  background:var(--warm);
  transform:rotate(45deg);
  box-shadow:0 0 0 3px rgba(255,106,43,.14);
  justify-self:center;
}
.timeline-label {
  font-size:12.5px;
  color:var(--paper-dim);
  letter-spacing:.01em;
}
.timeline-item:nth-child(even) .timeline-node {background:var(--cold);box-shadow:0 0 0 3px rgba(56,182,255,.14)}
.timeline-item:nth-child(even) .timeline-time {color:var(--warm)}
.episodes-section {
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.episode-scroller {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(196px, 1fr);
  gap:10px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.episode-card {
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px;
  background:linear-gradient(170deg, var(--slate) 0%, #0b1018 100%);
  border:1px solid var(--line);
  border-top:2px solid var(--warm);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
  min-height:100%;
}
.episode-title {
  font-size:13px;
  font-weight:800;
  line-height:1.3;
  color:#fff;
}
.episode-duration {
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--cold);
  font-variant-numeric:tabular-nums;
}
.episode-summary {
  font-size:11.5px;
  line-height:1.55;
  color:var(--paper-faint);
}
.comments-section {
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.comment-stack {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  gap:10px;
  align-items:start;
}
.comment-item {
  padding:9px 12px;
  background:rgba(18,24,36,.72);
  border:1px solid var(--line);
  border-left:2px solid var(--cold);
}
.comment-item:nth-child(odd) {border-left-color:var(--warm)}
.comment-nickname {
  font-size:12px;
  font-weight:800;
  color:var(--paper);
  letter-spacing:.03em;
  margin-bottom:4px;
}
.comment-text {
  font-size:12px;
  line-height:1.6;
  color:var(--paper-dim);
}
.rec-region {
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.rec-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
.rec-card {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:8px;
  background:linear-gradient(170deg, var(--slate-2) 0%, #0a0f16 100%);
  border:1px solid var(--line);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
  transition:border-color .16s ease, transform .16s ease;
}
a.rec-card {
  color:var(--paper);
  text-decoration:none;
}
a.rec-card:hover {
  border-color:var(--warm);
  transform:translateY(-2px);
}
[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  background:var(--ink);
  border:1px solid var(--line);
}
.rec-name {
  font-size:12.5px;
  font-weight:800;
  color:#fff;
  line-height:1.3;
  margin-top:2px;
}
.rec-blurb {
  font-size:11px;
  line-height:1.5;
  color:var(--paper-faint);
}
.rec-region-1 .block-heading::before {background:var(--warm)}
.rec-region-2 .block-heading::before {background:var(--cold)}
.rec-region-3 .block-heading::before {background:#8f7bff}
.site-footer {
  max-width:1360px;
  margin:0 auto;
  padding:16px 16px 28px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-disclaimer {
  font-size:11.5px;
  line-height:1.6;
  color:var(--paper-faint);
  max-width:820px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.footer-link {
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  color:var(--paper-dim);
  text-decoration:none;
  padding-bottom:2px;
  border-bottom:1px solid transparent;
  transition:color .16s ease, border-color .16s ease;
}
a[data-contract="footer-home"] {
  color:var(--paper-dim);
  text-decoration:none;
}
a[data-contract="footer-home"]:hover {
  color:var(--warm);
  border-bottom-color:var(--warm);
}
a[data-contract="footer-sitemap"] {
  color:var(--paper-dim);
  text-decoration:none;
}
a[data-contract="footer-sitemap"]:hover {
  color:var(--cold);
  border-bottom-color:var(--cold);
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  padding-top:6px;
  border-top:1px dashed var(--line);
}
.friend-label {
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--paper-faint);
  padding-right:8px;
  border-right:1px solid var(--line);
}
.runtime-friend-link {
  font-size:11.5px;
  color:var(--paper-dim);
  text-decoration:none;
  padding:2px 7px;
  background:var(--slate);
  border:1px solid var(--line);
  white-space:nowrap;
  transition:color .15s ease, border-color .15s ease;
}
a.runtime-friend-link {
  color:var(--paper-dim);
  text-decoration:none;
}
a.runtime-friend-link:hover {
  color:var(--cold);
  border-color:var(--cold-deep);
}
@media (max-width:1024px){.overview-unit {grid-template-columns:minmax(0,200px) minmax(0,1fr)}
.movie-title {font-size:26px}
.rec-grid {grid-template-columns:repeat(3, minmax(0,1fr))}}
@media (max-width:860px){.rec-grid {grid-template-columns:repeat(2, minmax(0,1fr))}
.comment-stack {grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width:720px){.header-bar {padding:8px 12px;gap:10px}
.site-brand {font-size:14px}
.page-main {padding:0 12px}
.mirror-split {grid-template-columns:1fr;min-height:0}
.mirror-half {padding:12px 14px;min-height:96px}
.mirror-warm::before, .mirror-cold::before {height:120%}
.mirror-cold {justify-content:flex-start;text-align:left}
.mirror-cold .mirror-figure {border-right:0;border-left:2px solid var(--cold)}
.mirror-crack {
    top:50%;
    left:0;
    width:108%;
    height:5px;
    transform:translateY(-50%) rotate(-2deg);
    clip-path:polygon(0 40%, 12% 62%, 26% 38%, 40% 66%, 55% 34%, 70% 60%, 84% 38%, 100% 58%, 100% 42%, 84% 62%, 70% 40%, 55% 66%, 40% 34%, 26% 62%, 12% 38%, 0 60%);
  }
.overview-unit {grid-template-columns:minmax(0,1fr);gap:14px;padding:12px}
.poster-column {max-width:220px}
.movie-title {font-size:23px}
.details-grid {grid-template-columns:minmax(0,1fr)}
.episode-scroller {grid-auto-columns:minmax(176px, 80%)}
.timeline-item {grid-template-columns:56px 18px minmax(0,1fr)}}
@media (max-width:560px){.rec-grid {grid-template-columns:minmax(0,1fr)}
.comment-stack {grid-template-columns:minmax(0,1fr)}
.movie-title {font-size:21px}
.cast-item {width:58px}
.ctrl-btn {padding:4px 8px;font-size:11px}
.ctrl-progress {flex:1 1 100%;min-width:0}
.footer-nav {gap:10px}}
@media (max-width:380px){.cast-list {gap:10px 12px}
.cast-item {width:52px}
.status-line {font-size:12px}}

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}
