:root {
  --ink:#0d1418;
  --mine-blue:#1e3440;
  --mine-blue-2:#274451;
  --cold-grey:#8a99a1;
  --cold-grey-2:#b9c4c9;
  --damp-green:#2c3e35;
  --damp-green-2:#3d5347;
  --paper:#ded3b4;
  --paper-dim:#c9bd9c;
  --line:rgba(185,196,201,.16);
  --line-strong:rgba(185,196,201,.3);
  --glow:#cfe6ee;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*, *::before, *::after {box-sizing:border-box;}
html, body {margin:0;padding:0;}
html {-webkit-text-size-adjust:100%;}
body {
  background:var(--ink);
  color:var(--cold-grey-2);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.62;
  font-weight:300;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img, video {display:block;max-width:100%;}
img {height:auto;}
h1, h2, p, dl, dd, dt, ol, ul, li {margin:0;padding:0;}
ul, ol {list-style:none;}
a {
  color:var(--cold-grey-2);
  text-decoration:none;
  transition:color .18s ease,opacity .18s ease;
}
button {
  font-family:inherit;
  font-size:inherit;
  color:inherit;
  background:none;
  border:0;
  cursor:pointer;
}
::selection {background:var(--mine-blue-2);color:var(--glow);}
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(13,20,24,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.site-header__inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  max-width:1220px;
  margin:0 auto;
  padding:8px 18px;
}
a[data-contract="site-name"] {
  color:var(--paper);
  font-size:15px;
  font-weight:400;
  letter-spacing:.14em;
  text-decoration:none;
  white-space:nowrap;
}
a[data-contract="site-name"]:hover {color:var(--glow);}
.category-nav {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 10px;
  min-width:0;
}
a.runtime-category {
  display:inline-block;
  color:var(--cold-grey);
  font-size:11.5px;
  font-weight:300;
  letter-spacing:.1em;
  text-decoration:none;
  white-space:nowrap;
  padding:2px 0;
  border-bottom:1px solid transparent;
}
a.runtime-category:hover {
  color:var(--glow);
  border-bottom-color:var(--damp-green-2);
}
.movie-page {
  max-width:1220px;
  margin:0 auto;
  padding:0 18px 56px;
}
.overview {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:22px;
  padding:22px 0 26px;
  border-bottom:1px solid var(--line);
}
.overview__media {
  order:-1;
  position:relative;
  align-self:start;
  width:100%;
  max-width:340px;
  margin:0 auto;
}
.overview__media::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(13,20,24,.36) 0%,rgba(13,20,24,0) 26%,rgba(13,20,24,0) 62%,rgba(13,20,24,.72) 100%),
    linear-gradient(90deg,rgba(30,52,64,.5) 0%,rgba(30,52,64,0) 40%);
  border:1px solid var(--line-strong);
  mix-blend-mode:normal;
}
.overview__media img {
  width:100%;
  border-radius:2px;
  filter:saturate(.78) contrast(1.06) brightness(.9);
}
.overview__info {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
  min-width:0;
}
.overview__title {
  font-size:clamp(21px,3.4vw,30px);
  font-weight:200;
  letter-spacing:.1em;
  color:var(--paper);
  line-height:1.25;
}
.overview__tagline {
  margin-top:-8px;
  font-size:12.5px;
  color:var(--cold-grey);
  letter-spacing:.06em;
  padding-left:10px;
  border-left:2px solid var(--damp-green-2);
}
.player-shell {
  position:relative;
  width:100%;
  min-width:0;
  background:#060b0e;
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
}
.player-shell video {
  display:block;
  width:100%;
  height:auto;
  background:#060b0e;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:2px;
  padding:6px 8px;
  background:linear-gradient(180deg,rgba(30,52,64,.34),rgba(13,20,24,.6));
  border-top:1px solid var(--line);
}
.player-controls button {
  font-size:11.5px;
  font-weight:300;
  letter-spacing:.08em;
  color:var(--cold-grey);
  padding:3px 9px;
  border:1px solid transparent;
  border-radius:2px;
  line-height:1.4;
}
.player-controls button:hover {
  color:var(--glow);
  border-color:var(--line-strong);
  background:rgba(39,68,81,.4);
}
.player-controls button:focus-visible {
  outline:1px solid var(--damp-green-2);
  outline-offset:1px;
}
.player-shell.is-playing {box-shadow:inset 0 0 0 1px rgba(207,230,238,.22);}
.player-shell.is-seeking, .player-shell.is-adjusting-volume, .player-shell.is-speed-changed {border-color:var(--line-strong);}
.player-shell.is-muted .player-controls button[data-player-action="mute"], .player-shell.is-pip .player-controls button[data-player-action="pip"], .player-shell.is-fullscreen .player-controls button[data-player-action="fullscreen"], .player-shell.is-theater .player-controls button[data-player-action="theater"], .player-shell.is-lights-dimmed .player-controls button[data-player-action="light"] {
  color:var(--glow);
  border-color:var(--damp-green-2);
  background:rgba(44,62,53,.5);
}
.player-shell.is-fullscreen {
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
}
.player-shell.is-fullscreen video {
  height:calc(100% - 33px);
  object-fit:contain;
}
video.is-playing {filter:saturate(.9);}
body.theater-mode .site-header {opacity:.35;}
body.lights-dimmed {background:#04080a;}
body.lights-dimmed .overview__media img, body.lights-dimmed .player-shell video {filter:brightness(.62) saturate(.7);}
.cast {min-width:0;}
.cast__heading, .synopsis__heading, .details__heading, .timeline__heading, .episodes__heading, .comments__heading {
  font-size:12px;
  font-weight:300;
  letter-spacing:.26em;
  color:var(--paper-dim);
  text-transform:none;
  padding-bottom:5px;
  margin-bottom:11px;
  border-bottom:1px solid var(--line);
}
.cast__list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(96px,1fr));
  gap:10px 12px;
  align-items:start;
}
.cast__item {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:5px;
  align-items:start;
  min-width:0;
}
.cast__avatar {
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:2px;
  background:
    radial-gradient(circle at 50% 34%,rgba(207,230,238,.28) 0%,rgba(207,230,238,0) 46%),
    linear-gradient(160deg,var(--mine-blue-2) 0%,var(--damp-green) 55%,#141f24 100%);
  border:1px solid var(--line);
  filter:saturate(.85);
}
.cast__item:hover .cast__avatar {
  border-color:var(--line-strong);
  filter:saturate(1) brightness(1.08);
}
.cast__name {
  font-size:12.5px;
  font-weight:400;
  letter-spacing:.06em;
  color:var(--paper);
  line-height:1.35;
}
.cast__role {
  font-size:10.5px;
  font-weight:300;
  color:var(--cold-grey);
  letter-spacing:.02em;
  line-height:1.4;
}
.synopsis {min-width:0;}
.synopsis__para {
  font-size:12.5px;
  line-height:1.78;
  color:var(--cold-grey-2);
  letter-spacing:.015em;
}
.synopsis__para + .synopsis__para {
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--line);
}
.synopsis__para:first-of-type {
  color:var(--paper-dim);
}
.episode-status {
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
  padding:7px 10px;
  background:rgba(44,62,53,.34);
  border-left:2px solid var(--damp-green-2);
  border-radius:0 2px 2px 0;
}
.episode-status__label {
  font-size:11px;
  letter-spacing:.2em;
  color:var(--cold-grey);
}
.episode-status__value {
  font-size:13px;
  font-weight:400;
  letter-spacing:.08em;
  color:var(--glow);
}
.details {min-width:0;}
.details__list {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
}
.details__row {
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  padding:4px 0;
  border-bottom:1px dotted var(--line);
}
.details__row:last-child {border-bottom:0;}
.details__key {
  font-size:11px;
  font-weight:300;
  letter-spacing:.14em;
  color:var(--cold-grey);
}
.details__val {
  font-size:12px;
  font-weight:300;
  color:var(--cold-grey-2);
  letter-spacing:.02em;
}
.timeline-section {
  padding:26px 0 28px;
  border-bottom:1px solid var(--line);
}
.timeline__list {
  position:relative;
  margin-left:4px;
  padding-left:22px;
  border-left:1px solid var(--line-strong);
}
.timeline__item {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1px;
  padding:0 0 13px;
  align-items:baseline;
}
.timeline__item:last-child {padding-bottom:0;}
.timeline__item::before {
  content:"";
  position:absolute;
  left:-26px;
  top:7px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--mine-blue-2);
  border:1px solid var(--cold-grey);
}
.timeline__item:hover::before {
  background:var(--glow);
  border-color:var(--glow);
}
.timeline__time {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--damp-green-2);
  filter:brightness(1.5);
  font-variant-numeric:tabular-nums;
}
.timeline__label {
  font-size:12px;
  line-height:1.55;
  color:var(--cold-grey-2);
  letter-spacing:.02em;
}
.episodes {
  padding:26px 0 28px;
  border-bottom:1px solid var(--line);
}
.episodes__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.episode-card {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:
    "num title"
    "num duration";
  column-gap:8px;
  row-gap:1px;
  align-items:start;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:2px;
  background:rgba(30,52,64,.16);
  min-width:0;
  transition:background .16s ease,border-color .16s ease;
}
.episode-card:hover {
  background:rgba(44,62,53,.42);
  border-color:var(--line-strong);
}
.episode-card__num {
  grid-area:num;
  font-family:var(--mono);
  font-size:14px;
  font-weight:300;
  line-height:1.25;
  color:var(--cold-grey);
  font-variant-numeric:tabular-nums;
  min-width:1.4em;
}
.episode-card__title {
  grid-area:title;
  font-size:12.5px;
  font-weight:300;
  color:var(--paper);
  letter-spacing:.04em;
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.episode-card__duration {
  grid-area:duration;
  font-family:var(--mono);
  font-size:10.5px;
  color:var(--cold-grey);
  letter-spacing:.04em;
}
.episode-card--active {
  background:rgba(44,62,53,.6);
  border-color:var(--damp-green-2);
}
.episode-card--active .episode-card__num {color:var(--glow);}
.episode-card--active .episode-card__title {color:#fff;font-weight:400;}
.comments {
  padding:26px 0 28px;
  border-bottom:1px solid var(--line);
}
.comments__waterfall {
  columns:2;
  column-gap:10px;
}
.comment-card {
  break-inside:avoid;
  display:block;
  margin:0 0 10px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:2px;
  background:rgba(30,52,64,.14);
}
.comment-card__nick {
  font-size:11.5px;
  font-weight:400;
  letter-spacing:.08em;
  color:var(--paper-dim);
  padding-bottom:5px;
  margin-bottom:5px;
  border-bottom:1px solid var(--line-strong);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.comment-card__text {
  font-size:12px;
  line-height:1.62;
  color:var(--cold-grey-2);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.rec-region {
  padding:22px 0 0;
}
.rec-region + .rec-region {padding-top:16px;}
.rec-region__title {
  position:relative;
  font-size:12px;
  font-weight:300;
  letter-spacing:.22em;
  color:var(--paper-dim);
  text-align:left;
  padding-left:14px;
  margin-bottom:12px;
}
.rec-region__title::before {
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--damp-green-2);
  box-shadow:0 0 0 2px rgba(44,62,53,.35);
}
.rec-region__stack {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:8px;
  align-items:start;
}
a.rec-card {
  display:block;
  position:relative;
  min-width:0;
  padding:0 0 8px;
  background:rgba(30,52,64,.2);
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
  color:var(--cold-grey-2);
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
a.rec-card:hover, a.rec-card:focus-visible {
  transform:translateY(-3px);
  border-color:var(--line-strong);
  background:rgba(44,62,53,.4);
  box-shadow:0 10px 22px -14px rgba(0,0,0,.9);
}
[data-runtime="recommendation"] img {
  width:100%;
  max-width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  object-fit:cover;
  filter:saturate(.76) contrast(1.05) brightness(.88);
  display:block;
}
a.rec-card:hover img {
  filter:saturate(.95) contrast(1.06) brightness(1);
}
.rec-card__name {
  display:block;
  padding:7px 9px 0;
  font-size:12.5px;
  font-weight:400;
  letter-spacing:.04em;
  color:var(--paper);
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rec-card__blurb {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  padding:3px 9px 0;
  font-size:11px;
  line-height:1.5;
  color:var(--cold-grey);
}
.site-footer {
  border-top:1px solid var(--line);
  background:rgba(6,11,14,.9);
  margin-top:8px;
}
.site-footer__inner {
  max-width:1220px;
  margin:0 auto;
  padding:16px 18px 26px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.site-footer__disclaimer {
  font-size:11px;
  line-height:1.7;
  color:var(--cold-grey);
  letter-spacing:.02em;
  max-width:62ch;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:4px 14px;
  align-items:center;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:11.5px;
  letter-spacing:.12em;
  color:var(--cold-grey-2);
  text-decoration:none;
  border-bottom:1px solid var(--line-strong);
  padding-bottom:1px;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:var(--glow);
  border-bottom-color:var(--glow);
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 12px;
  min-width:0;
}
.friend-links__label {
  font-size:10.5px;
  letter-spacing:.24em;
  color:var(--cold-grey);
}
a.runtime-friend-link {
  font-size:11px;
  letter-spacing:.04em;
  color:var(--damp-green);
  filter:brightness(1.75);
  text-decoration:none;
  border-bottom:1px solid transparent;
  white-space:nowrap;
}
a.runtime-friend-link:hover {
  color:var(--glow);
  border-bottom-color:var(--line-strong);
  filter:none;
}
@media (max-width:860px){.overview {
    grid-template-columns:minmax(0,1fr);
  }
.overview__media {
    max-width:300px;
  }
.comments__waterfall {
    columns:2;
  }}
@media (max-width:640px){body {font-size:12.5px;}
.site-header__inner {padding:7px 14px;gap:10px;}
.movie-page {padding:0 14px 44px;}
.overview {gap:18px;padding:18px 0 22px;}
.overview__media {max-width:240px;}
.overview__info {gap:16px;}
.episodes__grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
.comments__waterfall {columns:1;}
.rec-region__stack {
    grid-template-columns:repeat(auto-fill,minmax(136px,1fr));
  }
.details__row {
    grid-template-columns:66px minmax(0,1fr);
  }
.site-footer__inner {padding:14px 14px 22px;}}
@media (max-width:420px){.episodes__grid {
    grid-template-columns:minmax(0,1fr);
  }
.cast__list {
    grid-template-columns:repeat(auto-fill,minmax(84px,1fr));
    gap:8px 10px;
  }
.rec-region__stack {
    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  }
.timeline__list {margin-left:2px;padding-left:18px;}
.timeline__item::before {left:-22px;}}
@media (min-width:900px){.overview {
    grid-template-columns:minmax(0,340px) minmax(0,1fr);
    gap:26px;
    align-items:start;
  }
.overview__media {
    order:0;
    margin:0;
    max-width:none;
    position:sticky;
    top:64px;
  }
.overview__info {
    gap:22px;
  }
.details__list {
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:22px;
  }
.timeline__list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-flow:column;
    grid-template-rows:repeat(5,auto);
    column-gap:26px;
    row-gap:0;
    border-left:0;
    padding-left:0;
    margin-left:0;
  }
.timeline__item {
    padding-left:20px;
    border-left:1px solid var(--line-strong);
  }
.timeline__item::before {
    left:-3px;
    top:7px;
  }
.comments__waterfall {columns:2;}
.rec-region__stack {
    grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  }
.site-footer__inner {
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
    column-gap:26px;
    align-items:start;
  }
.site-footer__disclaimer {grid-column:1 / -1;}}
@media (min-width:1180px){.episodes__grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
.overview {
    grid-template-columns:minmax(0,360px) 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}
