* {margin:0;padding:0;box-sizing:border-box}
html {-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body {
  background:#1a1a1a;
  color:#d4c5a0;
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.6;
  font-size:15px;
  position:relative;
  min-height:100vh;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  
  opacity:0.6;
  z-index:9999;
}
a {color:#c9b37e;text-decoration:none;transition:color .3s,text-decoration .3s}
a:hover {color:#e8d5a8}
img, video {max-width:100%;display:block}
ul {list-style:none}
header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding:16px 24px;
  background:#141414;
  border-bottom:1px solid #2a2a2a;
  position:sticky;
  top:0;
  z-index:100;
}
.site-brand {
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:0.05em;
  color:#e0c98a;
  text-transform:uppercase;
}
.site-brand:hover {color:#fff;text-decoration:underline}
.categories-bar {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.runtime-category {
  display:inline-block;
  padding:4px 14px;
  background:#222;
  border:1px solid #333;
  border-radius:30px;
  font-size:0.9rem;
  color:#c9b37e;
  white-space:nowrap;
  transition:background .3s,border-color .3s,color .3s;
}
.runtime-category:hover {
  background:#2e2e2e;
  border-color:#c9b37e;
  color:#fff;
  text-decoration:none;
}
main {
  padding:24px 24px 40px;
  max-width:1400px;
  margin:0 auto;
}
.movie-overview {
  background:#1f1f1f;
  border:1px solid #2c2c2c;
  box-shadow:0 6px 20px rgba(0,0,0,0.5);
  padding:24px;
  margin-bottom:48px;
  position:relative;
}
.movie-overview::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 80px rgba(0,0,0,0.4);
}
.poster-player-group {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:24px;
  margin-bottom:24px;
}
.poster-column {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0;
}
.main-poster {
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  border:2px solid #333;
  box-shadow:0 4px 15px rgba(0,0,0,0.6);
}
.player-column {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.player-video {
  width:100%;
  background:#000;
  border:1px solid #333;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  background:#141414;
  padding:10px 14px;
  border:1px solid #2a2a2a;
}
.control-btn {
  background:transparent;
  border:1px solid #444;
  color:#c9b37e;
  padding:4px 14px;
  font-size:0.85rem;
  font-family:inherit;
  cursor:pointer;
  border-radius:4px;
  transition:background .2s,color .2s,border-color .2s;
}
.control-btn:hover {
  background:#2a2a2a;
  color:#fff;
  border-color:#c9b37e;
}
.title-block {
  margin-bottom:20px;
  border-bottom:1px solid #2c2c2c;
  padding-bottom:16px;
}
.movie-title {
  font-size:2.2rem;
  font-weight:700;
  color:#e8d5a8;
  letter-spacing:0.02em;
  margin-bottom:4px;
}
.tagline {
  font-style:italic;
  font-size:1.1rem;
  color:#a99a75;
}
.synopsis {
  margin-bottom:24px;
  padding:20px 0;
  border-top:1px solid #2c2c2c;
  border-bottom:1px solid #2c2c2c;
}
.section-heading {
  font-size:1.3rem;
  font-weight:700;
  color:#d4c5a0;
  margin-bottom:12px;
  letter-spacing:0.05em;
  position:relative;
  padding-left:14px;
}
.section-heading::before {
  content:"";
  position:absolute;
  left:0;
  top:6px;
  bottom:6px;
  width:4px;
  background:#8a7a5a;
}
.synopsis-line {
  margin-bottom:10px;
  color:#c5b691;
  font-size:0.98rem;
  text-align:justify;
}
.synopsis-line:last-child {margin-bottom:0}
.cast-section {
  margin-bottom:24px;
  padding:20px 0;
  border-bottom:1px solid #2c2c2c;
}
.cast-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.cast-card {
  background:#222;
  border:1px solid #2e2e2e;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:2px;
  transition:background .3s,border-color .3s;
}
.cast-card:hover {
  background:#2a2a2a;
  border-color:#8a7a5a;
}
.actor-name {
  font-size:1.1rem;
  font-weight:700;
  color:#e8d5a8;
}
.actor-role {
  font-size:0.9rem;
  color:#a99a75;
  font-style:italic;
}
.episode-status {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
  padding:12px 16px;
  background:#242424;
  border-left:4px solid #8a7a5a;
}
.episode-current {
  font-size:1rem;
  font-weight:700;
  color:#e8d5a8;
}
.episode-update {
  font-size:0.9rem;
  background:#2e2e2e;
  padding:2px 12px;
  border-radius:20px;
  color:#c9b37e;
}
.movie-details {
  margin-top:8px;
}
.details-list {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px 20px;
}
.details-list li {
  display:flex;
  gap:8px;
  padding:6px 0;
  border-bottom:1px dashed #333;
  font-size:0.92rem;
}
.detail-label {
  color:#8a7a5a;
  min-width:36px;
  font-weight:700;
}
.detail-value {
  color:#d4c5a0;
}
.episodes-section {
  margin-bottom:48px;
}
.episodes-horizontal {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.episode-card {
  background:#1f1f1f;
  border:1px solid #2c2c2c;
  border-top:3px solid #8a7a5a;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  transition:transform .3s,border-color .3s;
}
.episode-card:hover {
  transform:translateY(-4px);
  border-color:#c9b37e;
}
.episode-number {
  font-size:1.6rem;
  font-weight:700;
  color:#e8d5a8;
  opacity:0.7;
}
.episode-title {
  font-size:1.1rem;
  font-weight:700;
  color:#e8d5a8;
}
.episode-summary {
  font-size:0.88rem;
  color:#a99a75;
  flex-grow:1;
}
.episode-duration {
  font-size:0.82rem;
  color:#8a7a5a;
  margin-top:6px;
  padding-top:6px;
  border-top:1px solid #2c2c2c;
}
.timeline-section {
  margin-bottom:48px;
}
.timeline-vertical {
  position:relative;
  padding-left:32px;
}
.timeline-vertical::before {
  content:"";
  position:absolute;
  left:8px;
  top:0;
  bottom:0;
  width:2px;
  background:#3a3a3a;
}
.timeline-item {
  display:flex;
  align-items:baseline;
  gap:16px;
  padding:12px 0;
  position:relative;
}
.timeline-item::before {
  content:"";
  position:absolute;
  left:-28px;
  top:18px;
  width:10px;
  height:10px;
  background:#8a7a5a;
  border-radius:50%;
  border:2px solid #1a1a1a;
}
.timecode {
  font-family:"Courier New",monospace;
  font-weight:700;
  color:#e8d5a8;
  background:#242424;
  padding:2px 10px;
  border-radius:4px;
  font-size:0.9rem;
  white-space:nowrap;
}
.timeline-label {
  color:#c5b691;
  font-size:0.98rem;
}
.comments-section {
  margin-bottom:48px;
}
.comments-scroll {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  overflow-x:auto;
  padding-bottom:8px;
}
.comment-card {
  background:#1f1f1f;
  border:1px solid #2c2c2c;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.comment-author {
  font-weight:700;
  color:#e8d5a8;
  font-size:0.95rem;
}
.comment-text {
  font-size:0.9rem;
  color:#a99a75;
  line-height:1.5;
}
.recommendation-zone {
  margin-bottom:48px;
}
.recommend-heading {
  font-size:1.3rem;
  font-weight:700;
  color:#e8d5a8;
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:1px solid #2c2c2c;
  letter-spacing:0.03em;
}
.recommend-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.rec-item {
  background:#1f1f1f;
  border:1px solid #2c2c2c;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  transition:background .3s,border-color .3s,transform .3s;
}
.rec-item:hover {
  background:#242424;
  border-color:#8a7a5a;
  transform:translateY(-3px);
  text-decoration:none;
}
.rec-item img {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border:1px solid #333;
}
.rec-item [data-runtime="name"] {
  font-weight:700;
  color:#e8d5a8;
  font-size:1rem;
}
.rec-item [data-runtime="blurb"] {
  font-size:0.88rem;
  color:#a99a75;
  line-height:1.4;
}
footer {
  background:#141414;
  border-top:1px solid #2a2a2a;
  padding:32px 24px 24px;
  margin-top:40px;
}
.disclaimer {
  font-size:0.85rem;
  color:#8a7a5a;
  margin-bottom:20px;
  line-height:1.5;
}
.footer-link {
  display:inline-block;
  margin-right:16px;
  margin-bottom:12px;
  color:#c9b37e;
  font-size:0.95rem;
}
.footer-link:hover {color:#fff;text-decoration:underline}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  margin-bottom:24px;
  padding-top:16px;
  border-top:1px solid #222;
}
.friend-label {
  font-weight:700;
  color:#a99a75;
  margin-right:4px;
  font-size:0.9rem;
}
.runtime-friend-link {
  font-size:0.85rem;
  color:#a99a75;
  padding:2px 8px;
  background:#1f1f1f;
  border-radius:4px;
  transition:color .3s,background .3s;
}
.runtime-friend-link:hover {
  color:#e8d5a8;
  background:#2a2a2a;
  text-decoration:underline;
}
.director-signature {
  text-align:right;
  font-style:italic;
  font-size:1rem;
  color:#d4c5a0;
  padding-top:16px;
  border-top:1px solid #222;
  letter-spacing:0.05em;
}
.cinema-mode {
  border:2px solid #c9b37e;
  box-shadow:0 0 30px rgba(201,179,126,0.3);
}
.dim-lights {
  filter:brightness(0.6) contrast(1.1);
}
.player .play, .player .progress, .player .volume, .player .mute, .player .speed, .player .pip, .player .fullscreen, .player .theater, .player .light {
  display:none;
}
.player.playing .play {display:inline-block}
.player.paused .play {display:inline-block}
.fullscreen:fullscreen {
  background:#000;
}
.theater {
  position:relative;
  z-index:1;
}
.click {
  cursor:pointer;
}
.light {
  position:relative;
}
@media (max-width:1200px){.poster-player-group {
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  }
.episodes-horizontal {
    grid-template-columns:repeat(3,1fr);
  }
.cast-grid {
    grid-template-columns:repeat(3,1fr);
  }
.details-list {
    grid-template-columns:repeat(3,1fr);
  }
.comments-scroll {
    grid-template-columns:repeat(3,1fr);
  }
.recommend-grid {
    grid-template-columns:repeat(3,1fr);
  }}
@media (max-width:900px){header {
    padding:12px 16px;
  }
main {
    padding:16px 16px 32px;
  }
.movie-overview {
    padding:16px;
  }
.poster-player-group {
    grid-template-columns:1fr;
    gap:16px;
  }
.poster-column {
    max-width:320px;
    margin:0 auto;
  }
.player-column {
    min-width:0;
  }
.player-video {
    width:100%;
  }
.title-block {
    margin-top:8px;
  }
.movie-title {
    font-size:1.8rem;
  }
.cast-grid {
    grid-template-columns:repeat(2,1fr);
  }
.details-list {
    grid-template-columns:repeat(2,1fr);
  }
.episodes-horizontal {
    grid-template-columns:repeat(2,1fr);
  }
.comments-scroll {
    grid-template-columns:repeat(2,1fr);
  }
.recommend-grid {
    grid-template-columns:repeat(2,1fr);
  }
.timeline-vertical {
    padding-left:24px;
  }
.timeline-item::before {
    left:-22px;
  }}
@media (max-width:600px){header {
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
.categories-bar {
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap;
    justify-content:flex-start;
  }
main {
    padding:12px 12px 24px;
  }
.movie-overview {
    padding:12px;
  }
.movie-title {
    font-size:1.5rem;
  }
.tagline {
    font-size:1rem;
  }
.poster-column {
    max-width:240px;
  }
.control-btn {
    font-size:0.8rem;
    padding:3px 10px;
  }
.cast-grid {
    grid-template-columns:1fr;
  }
.details-list {
    grid-template-columns:1fr;
  }
.episodes-horizontal {
    grid-template-columns:1fr;
  }
.comments-scroll {
    grid-template-columns:1fr;
  }
.recommend-grid {
    grid-template-columns:1fr;
  }
.timeline-item {
    flex-direction:column;
    gap:4px;
    align-items:flex-start;
  }
.timeline-label {
    font-size:0.92rem;
  }
.director-signature {
    text-align:center;
  }}
@media (min-width:901px){.player-column {
    min-width:0;
  }
.poster-player-group {
    grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  }}

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}
