:root {
  --shu:#a8443c;
  --shu-dim:#7d332e;
  --concrete:#3a3a3c;
  --concrete-2:#4a4846;
  --concrete-3:#2b2a29;
  --ink:#1c1b1a;
  --paper:#e8e0d2;
  --paper-2:#d8cebb;
  --neon:#9bea3f;
  --caramel:#c98a3c;
  --line:rgba(232,224,210,.14);
  --radius:14px;
  --radius-s:8px;
  --shadow:0 2px 0 rgba(0,0,0,.5), 0 8px 20px rgba(0,0,0,.35);
}
*, *::before, *::after {box-sizing:border-box;}
html, body {margin:0;padding:0;}
body {
  background:
    radial-gradient(120% 90% at 12% 0%, rgba(168,68,60,.18), transparent 55%),
    radial-gradient(90% 70% at 90% 8%, rgba(155,234,63,.07), transparent 60%),
    linear-gradient(180deg,#262524 0%, #1e1d1c 40%, #1a1918 100%);
  background-color:#1e1d1c;
  color:var(--paper);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.62;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img, video {display:block;max-width:100%;}
ul, ol, dl, dd, figure {margin:0;padding:0;list-style:none;}
h1, h2, h3, p {margin:0;}
button, input, select {font:inherit;color:inherit;}
a {color:inherit;text-decoration:none;}
.site-header {
  position:relative;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#2c2a28,#232120);
  padding:10px 16px 8px;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 18px;
  box-shadow:0 1px 0 rgba(0,0,0,.6);
}
.header-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 14px;
  min-width:0;
}
.brand-site-name {
  font-size:20px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--paper);
  text-shadow:
    1.5px 0 0 rgba(168,68,60,.85),
    -1.5px 0 0 rgba(155,234,63,.35);
  padding:2px 2px;
}
a[data-contract="site-name"] {
  color:var(--paper);
  text-decoration:none;
}
a[data-contract="site-name"]:hover {
  color:var(--neon);
  text-decoration:underline;
  text-underline-offset:4px;
}
.header-kicker {
  font-size:12px;
  color:#c9bfae;
  letter-spacing:.24em;
  border-left:2px solid var(--shu);
  padding-left:10px;
  white-space:nowrap;
}
.categories-shell {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-left:auto;
  justify-content:flex-end;
  min-width:0;
}
.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-size:12px;
  line-height:1;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(232,224,210,.07);
  border:1px solid var(--line);
  color:#dcd2c0;
  text-decoration:none;
  transition:background .15s,color .15s,border-color .15s;
}
a.runtime-category:hover {
  background:var(--neon);
  border-color:var(--neon);
  color:#1a1f10;
  text-decoration:none;
}
.page-main {
  display:block;
  padding:14px 16px 26px;
  max-width:1240px;
  margin:0 auto;
}
.hero-section {
  display:block;
  margin-bottom:16px;
}
.hero-bed-illustration {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);
  gap:12px;
  padding:14px;
  border-radius:var(--radius);
  background:
    linear-gradient(180deg, rgba(58,58,60,.9), rgba(43,42,41,.95)),
    repeating-linear-gradient(90deg, rgba(232,224,210,.03) 0 2px, transparent 2px 9px);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.hero-bed-illustration::after {
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:44%;
  background:
    linear-gradient(180deg, transparent, rgba(201,138,60,.10) 40%, rgba(168,68,60,.14));
  pointer-events:none;
}
.bed-figures {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.figure-awakened, .figure-savior {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  min-height:150px;
  padding:70px 12px 12px;
  border-radius:var(--radius-s);
  background:linear-gradient(160deg, rgba(232,224,210,.06), rgba(232,224,210,.02));
  border:1px solid var(--line);
  overflow:hidden;
}
.figure-awakened::before, .figure-savior::before {
  content:"";
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  width:62px;height:62px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%, var(--paper) 0 26%, #cbbfa9 27% 100%);
  box-shadow:0 0 0 4px rgba(0,0,0,.28), 0 6px 14px rgba(0,0,0,.4);
}
.figure-awakened {
  transform:rotate(-1.1deg);
  background:linear-gradient(160deg, rgba(201,138,60,.16), rgba(232,224,210,.03));
}
.figure-savior {
  transform:rotate(1.1deg);
  background:linear-gradient(160deg, rgba(155,234,63,.10), rgba(232,224,210,.03));
}
.figure-token {
  align-self:flex-start;
  font-size:12px;
  font-weight:700;
  line-height:1;
  padding:6px 10px;
  border-radius:999px;
  letter-spacing:.06em;
}
.figure-pudding {
  background:var(--caramel);
  color:#2a1a07;
  box-shadow:0 2px 0 rgba(0,0,0,.4);
}
.figure-bill {
  background:var(--paper);
  color:#2a2a2a;
  box-shadow:0 2px 0 rgba(0,0,0,.4);
  transform:rotate(2deg);
}
.figure-caption {
  font-size:11.5px;
  line-height:1.4;
  color:#cdc2af;
  border-top:1px dashed rgba(232,224,210,.22);
  padding-top:6px;
}
.fridge-door {
  position:relative;
  z-index:1;
  border-radius:var(--radius-s);
  padding:10px 10px 12px;
  background:linear-gradient(180deg,#8f8c86,#5f5d59);
  border:1px solid rgba(0,0,0,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), inset 0 -6px 14px rgba(0,0,0,.35);
  transform:rotate(.5deg);
}
.fridge-label {
  font-size:11px;
  letter-spacing:.2em;
  color:#2a2926;
  font-weight:800;
  margin-bottom:8px;
  text-transform:uppercase;
}
.fridge-notes {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.fridge-note {
  font-size:11px;
  line-height:1.35;
  padding:6px 7px;
  border-radius:3px;
  background:var(--paper);
  color:#3a342c;
  box-shadow:0 2px 4px rgba(0,0,0,.35);
  transform:rotate(-1.2deg);
}
.fridge-note:nth-child(2) {transform:rotate(1.6deg);background:#e6ddcb;}
.fridge-note:nth-child(3) {transform:rotate(-.6deg);}
.fridge-charm {
  font-size:11px;
  line-height:1.35;
  padding:6px 7px;
  border-radius:3px;
  background:linear-gradient(180deg,#c8635a,#a8443c);
  color:#fff4e8;
  box-shadow:0 2px 4px rgba(0,0,0,.4);
  transform:rotate(2deg);
  letter-spacing:.04em;
}
.fridge-charm:nth-child(5) {transform:rotate(-2.4deg);background:linear-gradient(180deg,#b0534a,#8e3931);}
.movie-info-panel {
  display:grid;
  grid-template-columns:minmax(0,180px) minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin-top:14px;
  padding:14px;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#302e2c,#262523);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.poster-column {
  align-self:start;
}
.poster-wrapper {
  border-radius:var(--radius-s);
  overflow:hidden;
  border:1px solid rgba(0,0,0,.55);
  box-shadow:0 6px 16px rgba(0,0,0,.45);
  background:#151413;
}
.poster-wrapper img {
  width:100%;
  height:auto;
  aspect-ratio:9 / 16;
  object-fit:cover;
  display:block;
}
.info-column {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.movie-title {
  font-size:26px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:
    2px 0 0 rgba(168,68,60,.75),
    -2px 0 0 rgba(155,234,63,.28);
}
.movie-tagline {
  font-size:13px;
  color:var(--neon);
  letter-spacing:.04em;
  border-left:3px solid var(--caramel);
  padding-left:9px;
}
.movie-seo-description {
  font-size:12.5px;
  color:#c4b9a6;
  line-height:1.7;
  padding-bottom:8px;
  border-bottom:1px dashed var(--line);
}
.cast-panel {
  border-top:1px solid var(--line);
  padding-top:9px;
}
.cast-heading {
  font-size:12px;
  letter-spacing:.22em;
  color:var(--caramel);
  font-weight:800;
  margin-bottom:7px;
}
.cast-list {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.cast-member {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 9px 3px 3px;
  border-radius:999px;
  background:rgba(232,224,210,.05);
  border:1px solid var(--line);
}
.cast-avatar {
  flex:0 0 auto;
  width:24px;height:24px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  color:#221c15;
  background:linear-gradient(150deg,var(--caramel),#e0b070);
  box-shadow:0 0 0 1px rgba(0,0,0,.4);
}
.cast-name {
  font-size:12px;
  color:#ded3c0;
  white-space:nowrap;
}
.synopsis-panel {
  border-top:1px solid var(--line);
  padding-top:9px;
}
.synopsis-heading {
  font-size:12px;
  letter-spacing:.22em;
  color:var(--caramel);
  font-weight:800;
  margin-bottom:7px;
}
.synopsis-body {
  display:flex;
  flex-direction:column;
  gap:7px;
}
.synopsis-paragraph {
  font-size:12.5px;
  line-height:1.75;
  color:#cdc2af;
  padding-left:10px;
  border-left:2px solid rgba(168,68,60,.55);
}
.episode-status-panel {
  border-top:1px solid var(--line);
  padding-top:10px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 12px;
}
.status-line {
  font-size:13px;
  font-weight:700;
  color:var(--neon);
  letter-spacing:.03em;
}
.status-actions {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.btn-play-primary, .btn-theater, .btn-light {
  cursor:pointer;
  border-radius:999px;
  font-size:12.5px;
  line-height:1;
  padding:9px 15px;
  border:1px solid transparent;
  transition:transform .12s, background .15s, color .15s, box-shadow .15s;
}
.btn-play-primary {
  background:linear-gradient(180deg,#bd5148,#963a33);
  color:#fff2e6;
  font-weight:700;
  box-shadow:0 2px 0 #5e221d;
}
.btn-play-primary:hover {transform:translateY(-1px);background:linear-gradient(180deg,#cc5a50,#a84138);}
.btn-play-primary.is-active {
  background:linear-gradient(180deg,#b6f05a,#79c42b);
  color:#1b230b;
  box-shadow:0 2px 0 #3f6a12;
}
.btn-theater {
  background:rgba(232,224,210,.06);
  border-color:var(--line);
  color:#d8cdba;
}
.btn-theater:hover, .btn-theater.is-active {
  background:var(--concrete-2);
  color:var(--paper);
  border-color:rgba(232,224,210,.35);
}
.btn-light {
  background:rgba(232,224,210,.06);
  border-color:var(--line);
  color:#d8cdba;
}
.btn-light:hover, .btn-light.is-active {
  background:var(--caramel);
  color:#2a1a07;
  border-color:var(--caramel);
}
.details-panel {
  border-top:1px solid var(--line);
  padding-top:9px;
}
.details-heading {
  font-size:12px;
  letter-spacing:.22em;
  color:var(--caramel);
  font-weight:800;
  margin-bottom:7px;
}
.details-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:4px 12px;
}
.detail-row {
  display:flex;
  align-items:baseline;
  gap:7px;
  padding:3px 0;
  border-bottom:1px dotted rgba(232,224,210,.12);
  min-width:0;
}
.detail-key {
  flex:0 0 auto;
  font-size:11.5px;
  color:#9a917f;
  letter-spacing:.04em;
}
.detail-value {
  margin:0;
  font-size:12px;
  color:#e3d9c7;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.player-section {
  margin-bottom:16px;
  padding:12px;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#26252a,#1d1c20);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.player-wrapper {
  border-radius:var(--radius-s);
  overflow:hidden;
  background:#0d0d0e;
  border:1px solid rgba(0,0,0,.7);
}
.player-wrapper video {
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:contain;
  background:#0d0d0e;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 10px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed var(--line);
}
.player-controls button {
  cursor:pointer;
  font-size:12px;
  line-height:1;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(232,224,210,.06);
  border:1px solid var(--line);
  color:#d6cbb8;
  transition:background .15s,color .15s,border-color .15s;
}
.player-controls button:hover {
  background:var(--shu);
  border-color:var(--shu);
  color:#fff3e7;
}
.player-controls button.is-active {
  background:var(--neon);
  border-color:var(--neon);
  color:#1b230b;
  font-weight:700;
}
.player-controls label {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  color:#a89e8c;
  letter-spacing:.04em;
}
.ctrl-progress-label {flex:1 1 180px;min-width:140px;}
.ctrl-progress, .ctrl-volume {
  -webkit-appearance:none;
  appearance:none;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--shu) 0%, var(--caramel) 55%, rgba(232,224,210,.18) 100%);
  cursor:pointer;
  flex:1 1 auto;
  min-width:80px;
}
.ctrl-progress {width:100%;}
.ctrl-volume {width:96px;}
.ctrl-progress::-webkit-slider-thumb, .ctrl-volume::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:14px;height:14px;
  border-radius:50%;
  background:var(--paper);
  border:2px solid var(--shu);
  box-shadow:0 1px 3px rgba(0,0,0,.6);
}
.ctrl-progress::-moz-range-thumb, .ctrl-volume::-moz-range-thumb {
  width:14px;height:14px;
  border-radius:50%;
  background:var(--paper);
  border:2px solid var(--shu);
}
.ctrl-speed {
  font-size:12px;
  padding:6px 8px;
  border-radius:var(--radius-s);
  background:var(--concrete-3);
  border:1px solid var(--line);
  color:#d6cbb8;
}
.player-section.is-theater {
  background:linear-gradient(180deg,#141317,#0f0e11);
  border-color:rgba(155,234,63,.35);
}
.player-section.is-light-off {
  background:#0a0a0b;
}
.player-section.is-light-off .player-controls {
  opacity:.45;
}
.data-strip-section {
  margin-bottom:16px;
}
.data-strip {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
  gap:8px;
}
.data-chip {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  padding:9px 11px;
  border-radius:var(--radius-s);
  background:linear-gradient(180deg,#333230,#292826);
  border:1px solid var(--line);
  border-left:3px solid var(--shu);
  min-width:0;
}
.data-chip:nth-child(even) {border-left-color:var(--neon);}
.data-chip:nth-child(3n) {border-left-color:var(--caramel);}
.chip-value {
  font-size:15px;
  font-weight:800;
  color:var(--paper);
  line-height:1.15;
  letter-spacing:.01em;
}
.chip-label {
  font-size:10.5px;
  color:#948b79;
  letter-spacing:.14em;
}
.timeline-section {
  margin-bottom:16px;
}
.timeline-heading, .episodes-heading, .comments-heading, .recommend-heading {
  font-size:15px;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--paper);
  margin-bottom:9px;
  padding-left:10px;
  border-left:4px solid var(--shu);
  text-shadow:1px 0 0 rgba(155,234,63,.25);
}
.timeline-track {
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:14px 4px 16px;
  scroll-snap-type:x proximity;
  border-radius:var(--radius);
  background:
    linear-gradient(180deg, rgba(232,224,210,.035), rgba(232,224,210,0)),
    repeating-linear-gradient(90deg, rgba(232,224,210,.05) 0 1px, transparent 1px 26px);
  border:1px solid var(--line);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.3);
}
.timeline-track::-webkit-scrollbar {height:8px;}
.timeline-track::-webkit-scrollbar-thumb {background:var(--shu-dim);border-radius:99px;}
.timeline-track::-webkit-scrollbar-track {background:rgba(0,0,0,.3);}
.timeline-node {
  flex:0 0 auto;
  width:158px;
  scroll-snap-align:start;
  position:relative;
  padding-top:26px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.node-strap {
  position:absolute;
  top:0;left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  color:#fff2e6;
  background:linear-gradient(180deg,#b8504a,#8e3931);
  box-shadow:0 2px 0 rgba(0,0,0,.45);
  white-space:nowrap;
}
.node-strap::after {
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  width:2px;height:16px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,var(--caramel),transparent);
}
.node-label {
  font-size:11.5px;
  line-height:1.55;
  color:#c8bda9;
  padding:9px 10px;
  border-radius:var(--radius-s);
  background:linear-gradient(180deg,#302f2d,#262523);
  border:1px solid var(--line);
  box-shadow:0 2px 0 rgba(0,0,0,.35);
}
.timeline-node:nth-child(even) .node-strap {background:linear-gradient(180deg,#8f8c86,#5f5d59);color:#1d1c1a;}
.timeline-node:nth-child(3n) .node-strap {background:linear-gradient(180deg,#d0a04c,#a9762b);color:#2a1a07;}
.episodes-section {
  margin-bottom:16px;
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 14px;
  align-items:start;
}
.episode-card {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:11px 13px;
  border-radius:var(--radius-s);
  background:linear-gradient(180deg,#2f2e2c,#262523);
  border:1px solid var(--line);
  box-shadow:0 2px 0 rgba(0,0,0,.35);
  min-width:0;
  transition:transform .14s, border-color .14s;
}
.episode-card:hover {
  border-color:rgba(155,234,63,.4);
  transform:translateY(-2px);
}
.episode-odd {border-left:3px solid var(--shu);}
.episode-even {border-right:3px solid var(--neon);}
.episode-grid .episode-card:nth-child(even) {margin-top:14px;}
.episode-number {
  align-self:flex-start;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(168,68,60,.28);
  color:#f0c9bc;
  border:1px solid rgba(168,68,60,.5);
}
.episode-even .episode-number {
  background:rgba(155,234,63,.16);
  color:#d5f7a8;
  border-color:rgba(155,234,63,.4);
}
.episode-title {
  font-size:13.5px;
  font-weight:700;
  line-height:1.35;
  color:var(--paper);
}
.episode-summary {
  font-size:11.5px;
  line-height:1.62;
  color:#bdb2a0;
}
.episode-duration {
  align-self:flex-start;
  font-size:10.5px;
  letter-spacing:.08em;
  color:var(--caramel);
  border-top:1px dashed rgba(232,224,210,.16);
  padding-top:5px;
  margin-top:2px;
  width:100%;
}
.comments-section {
  margin-bottom:16px;
}
.comment-wall {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:10px;
  align-items:start;
}
.comment-note {
  position:relative;
  padding:11px 12px 12px;
  border-radius:4px;
  background:linear-gradient(180deg,#efe6d3,#ddd2bb);
  color:#3a342c;
  box-shadow:0 4px 10px rgba(0,0,0,.4);
  transform:rotate(-.8deg);
  min-width:0;
}
.comment-note:nth-child(2n) {transform:rotate(1deg);background:linear-gradient(180deg,#e6dcc6,#d2c6ac);}
.comment-note:nth-child(3n) {transform:rotate(-1.4deg);background:linear-gradient(180deg,#f1e9d8,#e0d6c0);}
.comment-note::before {
  content:"";
  position:absolute;
  top:-5px;left:50%;
  transform:translateX(-50%) rotate(-2deg);
  width:46px;height:12px;
  background:rgba(168,68,60,.5);
  border-radius:2px;
}
.comment-nickname {
  display:block;
  font-size:11.5px;
  font-weight:800;
  color:#8e3931;
  letter-spacing:.04em;
  margin-bottom:5px;
}
.comment-text {
  font-size:12px;
  line-height:1.65;
  color:#42392e;
}
.recommend-region {
  margin-bottom:14px;
}
.recommend-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  align-items:start;
}
a.recommend-card {
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:9px;
  border-radius:var(--radius-s);
  background:linear-gradient(180deg,#302f2d,#262523);
  border:1px solid var(--line);
  box-shadow:0 2px 0 rgba(0,0,0,.35);
  color:var(--paper);
  text-decoration:none;
  min-width:0;
  transition:transform .14s, border-color .14s, background .15s;
}
a.recommend-card:hover {
  transform:translateY(-2px);
  border-color:rgba(155,234,63,.45);
  background:linear-gradient(180deg,#35342f,#2a2926);
  text-decoration:none;
}
[data-runtime="recommendation"] img {
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border-radius:6px;
  background:#151413;
  border:1px solid rgba(0,0,0,.5);
}
[data-runtime="recommendation"] [data-runtime="name"] {
  font-size:12.5px;
  font-weight:700;
  line-height:1.35;
  color:#efe5d3;
}
[data-runtime="recommendation"] [data-runtime="blurb"] {
  font-size:11px;
  line-height:1.55;
  color:#a99f8c;
}
.site-footer {
  margin-top:8px;
  padding:16px 16px 24px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,#232120,#1a1918);
  display:flex;
  flex-direction:column;
  gap:11px;
}
.footer-disclaimer {
  font-size:11px;
  line-height:1.7;
  color:#8a8171;
  max-width:900px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.footer-nav a {
  font-size:12px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(232,224,210,.06);
  border:1px solid var(--line);
  color:#d6cbb8;
  text-decoration:none;
  transition:background .15s,color .15s;
}
a[data-contract="footer-home"] {
  color:#e8dfcd;
  text-decoration:none;
}
a[data-contract="footer-home"]:hover {
  background:var(--shu);
  color:#fff3e7;
  text-decoration:underline;
  text-underline-offset:3px;
}
a[data-contract="footer-sitemap"] {
  color:#b9ae9b;
  text-decoration:none;
}
a[data-contract="footer-sitemap"]:hover {
  background:var(--concrete-2);
  color:var(--paper);
  text-decoration:underline;
  text-underline-offset:3px;
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
  padding-top:10px;
  border-top:1px dashed var(--line);
}
.friend-links-label {
  font-size:11px;
  letter-spacing:.2em;
  color:var(--caramel);
  font-weight:800;
  margin-right:2px;
}
a.runtime-friend-link {
  font-size:11px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(232,224,210,.04);
  border:1px solid var(--line);
  color:#a89e8c;
  text-decoration:none;
  white-space:nowrap;
  transition:color .15s,border-color .15s;
}
a.runtime-friend-link:hover {
  color:var(--neon);
  border-color:rgba(155,234,63,.5);
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (max-width:900px){.movie-info-panel {
    grid-template-columns:minmax(0,150px) minmax(0,1fr);
  }
.recommend-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }}
@media (max-width:720px){.page-main {padding:12px 11px 20px;}
.hero-bed-illustration {
    grid-template-columns:minmax(0,1fr);
  }
.movie-info-panel {
    grid-template-columns:minmax(0,1fr);
  }
.poster-column {
    max-width:190px;
  }
.episode-grid {
    grid-template-columns:minmax(0,1fr);
  }
.episode-grid .episode-card:nth-child(even) {margin-top:0;}
.comment-wall {
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  }
.data-strip {
    grid-template-columns:repeat(auto-fit,minmax(96px,1fr));
  }}
@media (max-width:520px){body {font-size:14px;}
.site-header {padding:9px 11px 7px;}
.brand-site-name {font-size:17px;}
.header-kicker {font-size:11px;letter-spacing:.16em;}
.categories-shell {margin-left:0;justify-content:flex-start;width:100%;}
.movie-title {font-size:21px;}
.recommend-grid {
    grid-template-columns:minmax(0,1fr);
  }
.comment-wall {
    grid-template-columns:minmax(0,1fr);
  }
.fridge-notes {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
.timeline-node {width:142px;}
.ctrl-volume {width:80px;}
.poster-column {max-width:150px;}}

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}
