:root {
  --ink:#1b1614;
  --ink-soft:#2a2320;
  --brown:#3a2c24;
  --brown-deep:#241a15;
  --iron:#4a4a48;
  --iron-light:#6d6c67;
  --oxide:#3f5145;
  --oxide-deep:#2c3a32;
  --paper:#d9cfb6;
  --paper-dim:#bfb49a;
  --paper-faint:#8f8672;
  --vermilion:#a8382b;
  --vermilion-dim:#7d2a20;
  --tape:#c9bda1;
  --line:rgba(217,207,182,.18);
  --gap:10px;
}
*, *::before, *::after {box-sizing:border-box;}
html, body {margin:0;padding:0;}
body {
  background:
    radial-gradient(1200px 700px at 18% 0%, #32261f 0%, transparent 55%),
    linear-gradient(180deg,#1b1614 0%,#151110 60%,#100d0c 100%);
  color:var(--paper);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Heiti SC",sans-serif;
  font-size:14px;
  line-height:1.35;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
img, video {display:block;max-width:100%;}
a {color:inherit;}
h1, h2, h3, p {margin:0;}
button, select, input {font:inherit;color:inherit;}
::selection {background:var(--vermilion);color:#f4ecd8;}
.site-header {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 14px;
  padding:8px 14px;
  background:linear-gradient(180deg,#241c17,#1a1411);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:40;
}
.header-brand {display:flex;align-items:center;}
a[data-contract="site-name"].site-name {
  color:#e4d9bd;
  text-decoration:none;
  font-size:16px;
  font-weight:700;
  letter-spacing:.14em;
  padding:2px 8px;
  border:1px solid rgba(217,207,182,.28);
  background:repeating-linear-gradient(90deg,rgba(201,189,161,.06) 0 3px,transparent 3px 6px);
  transform:skewX(-8deg);
  display:inline-block;
}
a[data-contract="site-name"].site-name:hover {color:#fff3d8;border-color:var(--vermilion);}
.category-bar {
  display:flex;
  flex-wrap:wrap;
  gap:4px 6px;
  align-items:center;
}
a.runtime-category {
  color:#c2b79c;
  text-decoration:none;
  white-space:nowrap;
  font-size:12px;
  padding:3px 8px;
  border:1px solid rgba(217,207,182,.2);
  background:rgba(63,81,69,.28);
  letter-spacing:.06em;
}
a.runtime-category:hover {
  color:#f3e9cf;
  border-color:var(--vermilion);
  background:rgba(168,56,43,.24);
}
.page-main {
  display:block;
  padding:0 12px 18px;
  max-width:1500px;
  margin:0 auto;
}
.section-heading {
  font-size:14px;
  letter-spacing:.28em;
  color:#d6c9ab;
  margin:0 0 7px;
  padding-left:9px;
  border-left:3px solid var(--vermilion);
  text-transform:none;
}
.movie-overview {
  margin:0 0 22px;
}
.overview-hero {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  gap:16px;
  align-items:start;
  padding-top:14px;
}
.poster-column {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.poster-wrapper {
  position:relative;
  width:min(100%,560px);
  background:linear-gradient(160deg,#2d221b,#1a1310);
  border:1px solid rgba(217,207,182,.22);
  padding:8px;
  box-shadow:0 14px 34px rgba(0,0,0,.55), inset 0 0 0 1px rgba(0,0,0,.4);
}
img.main-poster {
  width:100%;
  height:auto;
  display:block;
  filter:sepia(.34) contrast(1.08) saturate(.72) brightness(.94);
  object-fit:cover;
}
.tape-label-ribbon {
  position:absolute;
  left:-6px;
  bottom:26px;
  right:-6px;
  background:
    repeating-linear-gradient(90deg,rgba(120,100,66,.22) 0 2px,transparent 2px 5px),
    linear-gradient(180deg,#d8c9a4,#c0ad84);
  color:#3b2c1c;
  padding:5px 12px;
  transform:rotate(-1.4deg);
  box-shadow:0 4px 12px rgba(0,0,0,.45);
  border-top:1px solid rgba(255,250,230,.5);
  border-bottom:1px solid rgba(70,52,30,.45);
}
.tape-label-title {
  font-size:12px;
  letter-spacing:.34em;
  font-weight:700;
  color:#4a3220;
  text-shadow:0 1px 0 rgba(255,248,226,.5);
}
.overview-info-column {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  background:linear-gradient(180deg,rgba(58,44,36,.55),rgba(36,26,21,.6));
  border:1px solid var(--line);
  padding:12px 13px 13px;
}
.title-block {
  border-bottom:1px solid var(--line);
  padding-bottom:8px;
}
.movie-title {
  font-size:clamp(20px,2.6vw,32px);
  line-height:1.12;
  letter-spacing:.04em;
  color:#f2e6c8;
  transform:skewX(-6deg);
  transform-origin:left center;
  text-shadow:2px 2px 0 rgba(168,56,43,.35), 0 0 18px rgba(0,0,0,.5);
}
.movie-tagline {
  margin-top:5px;
  font-size:13px;
  color:#c4b394;
  letter-spacing:.16em;
}
.episode-status {
  display:flex;
  flex-wrap:wrap;
  gap:6px 8px;
  align-items:center;
  font-size:12px;
}
.status-current, .status-total, .status-score {
  padding:2px 8px;
  border:1px solid rgba(217,207,182,.24);
  background:rgba(27,22,20,.6);
  letter-spacing:.08em;
  color:#cfc2a4;
  white-space:nowrap;
}
.status-current {
  color:#f6e9cb;
  border-color:var(--vermilion);
  background:rgba(168,56,43,.28);
}
.status-score {
  color:var(--vermilion);
  border-color:rgba(168,56,43,.6);
  background:rgba(168,56,43,.12);
  font-weight:700;
}
.player-wrapper {
  position:relative;
  width:100%;
  background:#0d0b0a;
  border:1px solid rgba(217,207,182,.24);
  padding:6px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.6), 0 8px 22px rgba(0,0,0,.5);
}
.main-player {
  width:100%;
  height:auto;
  background:#000;
  filter:saturate(.92) contrast(1.03);
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  margin-top:6px;
  padding:5px 4px 1px;
  border-top:1px solid var(--line);
}
.player-controls button, .player-controls select {
  background:linear-gradient(180deg,#332821,#231a16);
  color:#d3c7a9;
  border:1px solid rgba(217,207,182,.24);
  padding:3px 8px;
  font-size:12px;
  letter-spacing:.06em;
  cursor:pointer;
}
.player-controls button:hover, .player-controls select:hover {
  color:#fdf0d4;
  border-color:var(--vermilion);
  background:linear-gradient(180deg,#4a2620,#2c1714);
}
.ctrl-play {
  color:#f6e8c9;
  border-color:var(--vermilion) !important;
  background:linear-gradient(180deg,#5d271f,#3a1812) !important;
  font-weight:700;
}
input.ctrl-progress {
  flex:1 1 120px;
  min-width:80px;
  height:16px;
  accent-color:var(--vermilion);
  cursor:pointer;
}
input.ctrl-volume {
  flex:0 1 78px;
  min-width:56px;
  height:16px;
  accent-color:var(--oxide);
  cursor:pointer;
}
.is-playing {color:#fff3d8;}
.is-muted {opacity:.62;}
.is-pip {border-color:var(--vermilion);}
.is-fullscreen {border-color:var(--vermilion);}
.is-theater {border-color:var(--vermilion);}
.is-lights-off {
  background:#070605 !important;
}
.is-lights-off .overview-hero {
  filter:brightness(.72);
}
.is-theater {
  border-color:var(--vermilion);
  box-shadow:0 0 0 1px rgba(168,56,43,.5), 0 10px 30px rgba(0,0,0,.7);
}
.detail-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:5px 10px;
  padding-top:9px;
  border-top:1px solid var(--line);
}
.detail-item {
  display:flex;
  gap:6px;
  align-items:baseline;
  font-size:12px;
  min-width:0;
  padding:2px 0;
}
.detail-key {
  flex:0 0 auto;
  color:var(--iron-light);
  letter-spacing:.1em;
}
.detail-key::after {content:"·";color:rgba(168,56,43,.7);margin-left:3px;}
.detail-value {
  color:#dccfae;
  min-width:0;
  overflow-wrap:anywhere;
}
.synopsis-block {
  padding-top:9px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.synopsis-para {
  font-size:12.5px;
  line-height:1.5;
  color:#c0b294;
  text-indent:2em;
}
.synopsis-para:first-child::first-letter {
  color:var(--vermilion);
  font-weight:700;
}
.cast-scroll {
  padding-top:9px;
  border-top:1px solid var(--line);
  min-width:0;
}
.cast-heading {
  font-size:12px;
  letter-spacing:.3em;
  color:#d6c9ab;
  margin-bottom:6px;
}
.cast-track {
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:7px;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:var(--vermilion) rgba(0,0,0,.4);
}
.cast-track::-webkit-scrollbar {height:7px;}
.cast-track::-webkit-scrollbar-track {background:rgba(0,0,0,.4);}
.cast-track::-webkit-scrollbar-thumb {background:var(--vermilion-dim);}
.cast-card {
  flex:0 0 auto;
  width:118px;
  scroll-snap-align:start;
  background:linear-gradient(180deg,#2c2219,#1c1512);
  border:1px solid rgba(217,207,182,.18);
  padding:6px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.cast-silhouette {
  height:96px;
  background:
    radial-gradient(60% 42% at 50% 30%, rgba(201,189,161,.5) 0%, rgba(201,189,161,.14) 55%, transparent 72%),
    linear-gradient(180deg,#3a3128 0%,#1d1714 100%);
  border:1px solid rgba(217,207,182,.14);
  position:relative;
  overflow:hidden;
}
.cast-silhouette::after {
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:46%;
  background:
    radial-gradient(48% 90% at 50% 100%, rgba(10,8,7,.95) 0%, rgba(10,8,7,.55) 60%, transparent 100%);
}
.cast-name {
  font-size:12.5px;
  color:#ecdfc0;
  letter-spacing:.06em;
}
.cast-role {
  font-size:11px;
  line-height:1.32;
  color:#9d9179;
}
.timeline-section {
  margin:0 0 20px;
  padding-top:6px;
}
.filmstrip-track {
  display:flex;
  gap:0;
  overflow-x:auto;
  padding:10px 8px;
  background:
    repeating-linear-gradient(90deg,rgba(0,0,0,.85) 0 6px,transparent 6px 18px) top / 100% 8px no-repeat,
    repeating-linear-gradient(90deg,rgba(0,0,0,.85) 0 6px,transparent 6px 18px) bottom / 100% 8px no-repeat,
    linear-gradient(180deg,#221b17,#171210);
  border:1px solid rgba(217,207,182,.18);
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:var(--vermilion) rgba(0,0,0,.4);
}
.filmstrip-track::-webkit-scrollbar {height:7px;}
.filmstrip-track::-webkit-scrollbar-track {background:rgba(0,0,0,.4);}
.filmstrip-track::-webkit-scrollbar-thumb {background:var(--vermilion-dim);}
.filmstrip-cell {
  flex:0 0 auto;
  width:158px;
  scroll-snap-align:start;
  background:linear-gradient(180deg,#3a2f24,#241b16);
  border:1px solid rgba(217,207,182,.2);
  border-left:2px solid rgba(63,81,69,.9);
  padding:7px 8px;
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-right:6px;
}
.filmstrip-timecode {
  font-size:11px;
  letter-spacing:.16em;
  color:var(--vermilion);
  font-weight:700;
}
.filmstrip-label {
  font-size:12.5px;
  color:#ddcead;
  line-height:1.3;
}
.episodes-section {
  margin:0 0 20px;
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
.episode-card {
  background:linear-gradient(180deg,#33281f,#1e1713);
  border:1px solid rgba(217,207,182,.18);
  border-top:3px solid rgba(63,81,69,.85);
  padding:8px 9px 9px;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.episode-card--current {
  border-color:var(--vermilion);
  border-top-color:var(--vermilion);
  background:linear-gradient(180deg,#3d241d,#241512);
  box-shadow:0 0 0 1px rgba(168,56,43,.35), 0 6px 18px rgba(0,0,0,.45);
}
.episode-number {
  font-size:11px;
  letter-spacing:.18em;
  color:#a99c80;
}
.episode-card--current .episode-number {color:var(--vermilion);font-weight:700;}
.episode-title {
  font-size:13.5px;
  color:#f0e2c2;
  letter-spacing:.04em;
  transform:skewX(-5deg);
  transform-origin:left center;
}
.episode-summary {
  font-size:11.5px;
  line-height:1.42;
  color:#a89b80;
}
.episode-duration {
  margin-top:2px;
  font-size:10.5px;
  letter-spacing:.12em;
  color:#7f7563;
  border-top:1px dashed rgba(217,207,182,.18);
  padding-top:4px;
}
.rec-region {
  margin:0 0 18px;
  padding:10px 11px 12px;
  background:linear-gradient(180deg,rgba(42,35,32,.6),rgba(24,19,16,.7));
  border:1px solid var(--line);
}
.rec-title {
  font-size:13.5px;
  letter-spacing:.22em;
  color:#e0d2b1;
  margin-bottom:9px;
  padding-left:9px;
  border-left:3px solid var(--vermilion);
  transform:skewX(-6deg);
  transform-origin:left center;
}
.rec-filmroll-track {
  display:flex;
  gap:0;
  overflow-x:auto;
  padding:9px 0;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:var(--vermilion) rgba(0,0,0,.4);
}
.rec-filmroll-track::-webkit-scrollbar {height:7px;}
.rec-filmroll-track::-webkit-scrollbar-track {background:rgba(0,0,0,.4);}
.rec-filmroll-track::-webkit-scrollbar-thumb {background:var(--vermilion-dim);}
a.runtime-category {text-decoration:none;}
a.rec-item.rec-item--filmroll {
  flex:0 0 auto;
  width:168px;
  scroll-snap-align:start;
  margin-right:8px;
  padding:6px;
  background:#1d1713;
  border:1px solid rgba(217,207,182,.2);
  border-top:2px solid var(--oxide);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:5px;
}
a.rec-item.rec-item--filmroll:hover {
  border-color:var(--vermilion);
  background:#291d18;
}
.rec-archive-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
a.rec-item.rec-item--archive {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:8px;
  row-gap:4px;
  padding:7px;
  background:linear-gradient(180deg,#ded2b4,#c9bb98);
  color:#2b2016;
  border:1px solid #8f8261;
  text-decoration:none;
  box-shadow:3px 3px 0 rgba(0,0,0,.35);
}
a.rec-item.rec-item--archive:hover {
  background:linear-gradient(180deg,#e9ddbe,#d2c4a0);
  border-color:var(--vermilion);
}
.rec-badge-wall {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
a.rec-item.rec-item--badge {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:11px 8px 9px;
  text-align:center;
  text-decoration:none;
  color:#dccfae;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(63,81,69,.5) 0%, rgba(27,22,20,.85) 65%);
  border:1px solid rgba(217,207,182,.24);
  border-radius:50% 50% 10px 10px / 26% 26% 10px 10px;
}
a.rec-item.rec-item--badge:hover {
  border-color:var(--vermilion);
  color:#f6e8c9;
}
a[data-runtime="recommendation"] .rec-poster {
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  filter:sepia(.3) saturate(.75) contrast(1.05) brightness(.92);
}
[data-runtime="recommendation"] img {
  width:100%;
  object-fit:cover;
}
.rec-name {
  display:block;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.05em;
  color:#f0e2c2;
}
a.rec-item--archive .rec-name {color:#2b2016;}
a.rec-item--badge .rec-name {color:#f3e5c4;}
.rec-blurb {
  display:block;
  font-size:11px;
  line-height:1.36;
  color:#9d9179;
}
a.rec-item--archive .rec-blurb {color:#5a4a35;}
a.rec-item--archive .rec-poster {
  grid-row:1 / span 2;
  width:74px;
  height:74px;
  filter:sepia(.5) contrast(1.05) brightness(.9);
  border:1px solid rgba(43,32,22,.4);
}
a.rec-item--archive .rec-name {align-self:end;}
a.rec-item--archive .rec-blurb {align-self:start;}
a.rec-item--badge .rec-poster {
  width:64px;
  height:64px;
  border-radius:50%;
  border:2px solid rgba(168,56,43,.6);
}
.comments-section {
  margin:0 0 18px;
}
.comments-masonry {
  columns:2;
  column-gap:9px;
}
.comment-card {
  break-inside:avoid;
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin:0 0 9px;
  padding:8px 9px;
  background:linear-gradient(180deg,#2e251d,#1c1512);
  border:1px solid rgba(217,207,182,.18);
  border-left:2px solid rgba(63,81,69,.85);
}
.comment-avatar {
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:50%;
  background:
    radial-gradient(60% 55% at 50% 34%, rgba(217,207,182,.55) 0%, rgba(217,207,182,.18) 60%, transparent 75%),
    linear-gradient(180deg,#4a3d30,#241c17);
  border:1px solid rgba(217,207,182,.24);
}
.comment-body {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.comment-nickname {
  font-size:12px;
  color:#e2d3b1;
  letter-spacing:.05em;
}
.comment-nickname::before {
  content:"// ";
  color:var(--vermilion);
}
.comment-text {
  font-size:11.5px;
  line-height:1.42;
  color:#a99c80;
  overflow-wrap:anywhere;
}
.site-footer {
  margin-top:6px;
  padding:12px 14px 18px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,#171211,#0e0b0a);
  display:flex;
  flex-direction:column;
  gap:9px;
}
.footer-disclaimer {
  font-size:11px;
  line-height:1.5;
  color:#7f7563;
  max-width:900px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:12px;
  letter-spacing:.1em;
  text-decoration:none;
  padding:2px 8px;
  border:1px solid rgba(217,207,182,.22);
  background:rgba(63,81,69,.25);
}
a[data-contract="footer-home"] {color:#c9bb9b;}
a[data-contract="footer-sitemap"] {color:#b3a686;}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:#f6e8c9;
  border-color:var(--vermilion);
  background:rgba(168,56,43,.22);
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  align-items:center;
  padding-top:8px;
  border-top:1px dashed rgba(217,207,182,.16);
}
.friend-links-label {
  font-size:11px;
  letter-spacing:.24em;
  color:var(--iron-light);
  padding-right:4px;
}
a.runtime-friend-link {
  font-size:11.5px;
  color:#9d9179;
  text-decoration:none;
  white-space:nowrap;
}
a.runtime-friend-link:hover {
  color:var(--vermilion);
  text-decoration:underline;
}
@media (max-width:1000px){.overview-hero {
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
.poster-wrapper {width:100%;max-width:420px;}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.rec-archive-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.comments-masonry {columns:2;}}
@media (max-width:720px){body {font-size:13.5px;}
.page-main {padding:0 9px 16px;}
.overview-info-column {padding:10px;}
.movie-title {transform:none;}
.episode-grid {grid-template-columns:minmax(0,1fr);}
.rec-archive-grid {grid-template-columns:minmax(0,1fr);}
.rec-badge-wall {grid-template-columns:repeat(2,minmax(0,1fr));}
.comments-masonry {columns:1;}
.filmstrip-cell {width:138px;}
a.rec-item--filmroll {width:150px;}
.player-controls {gap:4px;}
.player-controls button, .player-controls select {font-size:11px;padding:3px 6px;}
input.ctrl-progress {flex-basis:100%;}}
@media (max-width:440px){.detail-grid {grid-template-columns:minmax(0,1fr);}
.rec-badge-wall {grid-template-columns:minmax(0,1fr);}
.cast-card {width:106px;}
.cast-silhouette {height:84px;}
a.rec-item--archive .rec-poster {width:60px;height:60px;}
.site-header {padding:7px 10px;}}

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}
