*, *::before, *::after {margin:0;padding:0;box-sizing:border-box}
html {font-size:14px;line-height:1.5}
body {background:#1a1917;color:#d8d3c8;font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img, video {display:block;max-width:100%;height:auto}
button {font:inherit;cursor:pointer;color:inherit;background:none;border:none}
a {color:inherit;text-decoration:none}
main {max-width:1400px;margin:0 auto;padding:24px 32px 48px}
header {max-width:1400px;margin:0 auto;padding:20px 32px;display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-bottom:1px solid #3a3630;flex-wrap:wrap}
footer {max-width:1400px;margin:0 auto;padding:24px 32px 40px;border-top:1px solid #3a3630;color:#8a8478;font-size:12px;display:grid;gap:16px;grid-template-columns:1fr auto auto;align-items:start}
@media(max-width:900px){footer {grid-template-columns:1fr;gap:12px}
main {padding:16px 14px 32px}
header {padding:14px}}
.site-brand {font-family:"Songti SC","SimSun","STSong",Georgia,serif;font-size:22px;letter-spacing:2px;color:#e8c87a;text-transform:uppercase;white-space:nowrap;font-weight:700}
a[data-contract="site-name"]:hover {color:#f5dd9e}
nav[data-contract="categories"] {display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.runtime-category {color:#9aa0a6;font-size:13px;padding:4px 10px;border:1px solid #4a4640;border-radius:999px;white-space:nowrap;letter-spacing:1px;transition:background .2s,color .2s,border-color .2s}
.runtime-category:hover, .runtime-category:focus {color:#1a1917;background:#e8c87a;border-color:#e8c87a}
.runtime-category:active {transform:translateY(1px)}
.movie-hero {background:#222120;border:1px solid #3a3630;border-radius:12px;padding:32px 32px 24px;margin-bottom:40px;position:relative;box-shadow:0 10px 40px rgba(0,0,0,.6);display:grid;grid-template-columns:minmax(200px,280px) 1fr;grid-template-rows:auto auto auto auto auto;column-gap:40px;row-gap:28px}
.movie-hero::before {content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%,rgba(232,200,122,.08),transparent 60%);pointer-events:none;border-radius:12px}
.movie-hero .poster-shell {grid-column:1;grid-row:1/span 5;align-self:start;position:relative;z-index:1}
.hero-poster {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.8),0 0 0 1px rgba(232,200,122,.15)}
.title-tagline-group {grid-column:2;align-self:end}
.movie-title {font-family:"Songti SC","SimSun",Georgia,serif;font-size:clamp(28px,3vw,44px);line-height:1.15;color:#f0ead8;letter-spacing:2px;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.tagline {font-size:14px;color:#b8a880;letter-spacing:3px;margin-top:8px;position:relative;padding-left:18px}
.tagline::before {content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:28px;height:2px;background:linear-gradient(90deg,#e8c87a,transparent)}
.cast-panel {grid-column:2}
.section-subhead {font-family:"Songti SC",Georgia,serif;font-size:16px;letter-spacing:2px;color:#b8a880;margin-bottom:14px;font-weight:600}
.cast-scroll {display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#e8c87a #2a2926}
.actor-card {display:flex;flex-direction:column;align-items:center;gap:8px;min-width:90px;flex-shrink:0}
.avatar-placeholder {width:72px;height:72px;border-radius:50%;background:linear-gradient(145deg,#3a3630,#262420);border:2px solid #4a4640;position:relative;overflow:hidden}
.avatar-placeholder::after {content:"";position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(180deg,transparent,rgba(232,200,122,.25))}
.actor-name {font-size:12px;color:#c8c2b4;letter-spacing:1px;white-space:nowrap}
.synopsis-block {grid-column:2;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}
.synopsis-vertical {writing-mode:vertical-rl;max-height:320px;display:flex;flex-direction:column;gap:14px;padding-right:4px}
.synopsis-heading {font-family:"Songti SC",Georgia,serif;font-size:18px;letter-spacing:4px;color:#e8c87a;margin-bottom:8px;white-space:nowrap}
.synopsis-paragraph {font-size:12.5px;color:#b5b0a4;line-height:1.9;letter-spacing:1px;max-width:42ch}
.synopsis-still {align-self:center}
.still-photo {width:160px;height:220px;background:linear-gradient(145deg,#2e2c28,#1a1917);border:1px solid #3a3630;border-radius:6px;position:relative;box-shadow:inset 0 0 30px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.4)}
.still-photo::before {content:"";position:absolute;top:12px;left:12px;right:12px;bottom:12px;border:1px solid rgba(232,200,122,.2);border-radius:3px}
.still-photo::after {content:"〄";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;color:rgba(232,200,122,.4)}
.episode-status-wrap {grid-column:2;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.episode-meta {display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.total-ep, .current-ep, .ep-duration {font-size:12px;padding:4px 12px;border-radius:999px;background:#2a2926;border:1px solid #4a4640;color:#c8c2b4;letter-spacing:1px}
.current-ep {background:rgba(232,200,122,.15);border-color:#e8c87a;color:#e8c87a}
.player-shell {grid-column:2;width:100%;position:relative;background:#111;border-radius:8px;overflow:hidden;border:1px solid #3a3630;min-width:0}
.player-shell video {width:100%;display:block;background:#000}
.player-controls {display:flex;gap:6px;padding:10px 12px;background:#1e1d1b;border-top:1px solid #3a3630;flex-wrap:wrap}
.player-controls button {font-size:11px;color:#9aa0a6;padding:4px 10px;border:1px solid #4a4640;border-radius:4px;background:#262420;transition:all .15s}
.player-controls button:hover {background:#3a3630;color:#e8c87a;border-color:#e8c87a}
.player-shell.theater-mode {position:fixed;inset:0;z-index:1000;border-radius:0;display:flex;flex-direction:column;background:#000}
.player-shell.theater-mode video {flex:1;position:absolute;top:0;width:100%;height:calc(100% - 48px)}
.player-shell.theater-mode .player-controls {position:absolute;bottom:0;left:0;right:0}
.cinema-light .movie-hero {background:#111;box-shadow:0 10px 60px rgba(0,0,0,.9)}
.cinema-light .hero-poster {filter:brightness(.7) sepia(.2)}
.cinema-light .movie-title {color:#f5dd9e}
.cinema-light .tagline {color:#8a8478}
.cinema-light .synopsis-paragraph {color:#8a8478}
.detail-grid {grid-column:2;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid #3a3630;padding-top:20px;margin-top:0}
.detail-item {background:#2a2926;border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;border-left:2px solid #e8c87a}
.detail-label {font-size:10px;color:#8a8478;letter-spacing:1px;text-transform:uppercase}
.detail-value {font-size:14px;color:#e8c87a;letter-spacing:1px;font-weight:600;font-family:"Songti SC",Georgia,serif}
.timeline-section {margin-bottom:48px}
.section-title {font-family:"Songti SC",Georgia,serif;font-size:22px;letter-spacing:3px;color:#f0ead8;margin-bottom:20px;position:relative;padding-bottom:10px;font-weight:700}
.section-title::after {content:"";position:absolute;bottom:0;left:0;width:60px;height:2px;background:linear-gradient(90deg,#e8c87a,transparent)}
.timeline-scroll {display:flex;gap:0;overflow-x:auto;padding:20px 4px 16px;position:relative;scrollbar-width:thin;scrollbar-color:#e8c87a #2a2926}
.timeline-scroll::before {content:"";position:absolute;top:32px;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,#4a4640 0 4px,transparent 4px 12px)}
.timeline-node {min-width:200px;max-width:220px;padding:0 16px;position:relative;flex-shrink:0;display:flex;flex-direction:column;gap:6px}
.timeline-node::before {content:"";position:absolute;top:-18px;left:16px;width:12px;height:12px;background:#e8c87a;border-radius:50%;box-shadow:0 0 0 4px #1a1917,0 0 0 6px #e8c87a;z-index:1}
.timeline-node::after {content:"";position:absolute;top:-22px;left:10px;width:24px;height:24px;background:transparent;border:1px solid rgba(232,200,122,.4);border-radius:50%;transform:rotate(45deg)}
.time-code {font-family:"Songti SC",Georgia,serif;font-size:15px;color:#e8c87a;font-weight:700;letter-spacing:1px}
.time-label {font-size:12px;color:#b5b0a4;line-height:1.6;letter-spacing:.5px}
.episode-cards {margin-bottom:48px}
.episode-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.episode-card {background:#222120;border:1px solid #35322d;border-radius:8px;padding:12px 14px;display:flex;align-items:baseline;gap:12px;position:relative;transition:background .2s,border-color .2s;overflow:hidden}
.episode-card::before {content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#e8c87a;opacity:0;transition:opacity .2s}
.episode-card:hover {background:#2a2926;border-color:#e8c87a}
.episode-card:hover::before {opacity:1}
.episode-card .ep-summary {display:none;position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent,rgba(17,17,17,.95));padding:24px 14px 10px;font-size:11px;color:#d8d3c8;line-height:1.6;letter-spacing:.5px}
.episode-card:hover .ep-summary {display:block}
.ep-number {font-family:"Songti SC",Georgia,serif;font-size:16px;font-weight:700;color:#e8c87a;min-width:24px;text-align:center;line-height:1}
.ep-name {font-size:14px;color:#f0ead8;letter-spacing:1px;flex:1}
.episode-meta {margin-bottom:16px}
.comments-masonry {column-count:2;column-gap:20px;margin-bottom:48px}
.comment-column {break-inside:avoid;margin-bottom:20px}
.comment-bubble {background:#222120;border:1px solid #35322d;border-radius:12px 12px 12px 4px;padding:14px 16px;margin-bottom:12px;position:relative;transition:border-color .2s}
.comment-bubble:hover {border-color:#e8c87a}
.comment-bubble::before {content:"";position:absolute;bottom:-6px;left:12px;width:10px;height:10px;background:#222120;border-right:1px solid #35322d;border-bottom:1px solid #35322d;transform:rotate(45deg)}
.comment-nick {display:block;font-size:11px;color:#e8c87a;letter-spacing:1px;margin-bottom:6px;font-weight:600}
.comment-text {font-size:13px;color:#c8c2b4;line-height:1.7;letter-spacing:.3px}
.comment-column:last-child {margin-bottom:0}
.reco-zone {margin-bottom:40px;border-top:1px solid #35322d;padding-top:28px}
.reco-title {font-family:"Songti SC",Georgia,serif;font-size:18px;letter-spacing:2px;color:#f0ead8;margin-bottom:16px;font-weight:700;position:relative;padding-left:18px}
.reco-title::before {content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#e8c87a;border-radius:1px}
.reco-row {display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.reco-item {display:flex;flex-direction:column;gap:4px;background:#222120;border:1px solid #35322d;border-radius:8px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;min-width:0}
.reco-item:hover {transform:translateY(-3px);border-color:#e8c87a;box-shadow:0 8px 20px rgba(0,0,0,.5)}
.reco-item img {width:100%;aspect-ratio:16/9;object-fit:cover;background:#2a2926}
.reco-item[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/9;object-fit:cover}
.reco-item > span {font-size:12px;padding:0 10px;color:#c8c2b4}
.reco-item > span[data-runtime="name"] {font-size:13px;color:#e8c87a;font-weight:600;letter-spacing:.5px;padding-top:4px}
.reco-item > span[data-runtime="blurb"] {font-size:11px;color:#8a8478;line-height:1.5;padding-bottom:10px;margin-top:-2px}
.reco-zone:nth-of-type(4) .reco-row, .reco-zone:nth-of-type(5) .reco-row {grid-template-columns:repeat(2,1fr)}
.reco-zone:nth-of-type(4) .reco-item img, .reco-zone:nth-of-type(5) .reco-item img {aspect-ratio:1/1}
.reco-zone:nth-of-type(4) .reco-item, .reco-zone:nth-of-type(5) .reco-item {display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:0 12px}
.reco-zone:nth-of-type(4) .reco-item img, .reco-zone:nth-of-type(5) .reco-item img {grid-column:1;grid-row:1/span 2;aspect-ratio:auto;height:100%;width:100%}
.reco-zone:nth-of-type(4) .reco-item > span, .reco-zone:nth-of-type(5) .reco-item > span {padding:0 0 0 0}
.reco-zone:nth-of-type(4) .reco-item > span[data-runtime="name"], .reco-zone:nth-of-type(5) .reco-item > span[data-runtime="name"] {padding-top:0}
.reco-zone:nth-of-type(4) .reco-item > span[data-runtime="blurb"], .reco-zone:nth-of-type(5) .reco-item > span[data-runtime="blurb"] {padding-bottom:0}
.disclaimer {grid-column:1;color:#8a8478;font-size:11px;line-height:1.8;max-width:60ch}
.friend-links {grid-column:2;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;max-width:300px}
.friend-label {font-size:11px;color:#e8c87a;letter-spacing:1px;white-space:nowrap}
.runtime-friend-link {font-size:11px;color:#9aa0a6;white-space:nowrap;transition:color .15s}
.runtime-friend-link:hover {color:#e8c87a}
.footer-links {grid-column:3;display:flex;gap:12px;align-items:center}
.footer-home, .footer-sitemap {font-size:12px;color:#9aa0a6;letter-spacing:1px;padding:4px 8px;border:1px solid #4a4640;border-radius:4px;transition:all .15s;white-space:nowrap}
.footer-home:hover, .footer-sitemap:hover {color:#1a1917;background:#e8c87a;border-color:#e8c87a}
.footer-home {color:#e8c87a;border-color:#e8c87a}
.footer-home:hover {color:#1a1917}
.player.playing .player-controls [data-player-action="play"] {color:#e8c87a;border-color:#e8c87a}
.player.muted .player-controls [data-player-action="mute"] {color:#e8c87a;border-color:#e8c87a}
.player.fullscreen .player-controls [data-player-action="fullscreen"] {color:#e8c87a;border-color:#e8c87a}
.player.pip .player-controls [data-player-action="pip"] {color:#e8c87a;border-color:#e8c87a}
.player.speed .player-controls [data-player-action="speed"] {color:#e8c87a;border-color:#e8c87a}
.player.progress .player-controls [data-player-action="progress"] {color:#e8c87a}
.player.volume .player-controls [data-player-action="volume"] {color:#e8c87a}
.player.light .player-controls [data-player-action="light"] {color:#1a1917;background:#e8c87a;border-color:#e8c87a}
.player.theater .player-controls [data-player-action="theater"] {color:#1a1917;background:#e8c87a;border-color:#e8c87a}
.player.click .player-controls {background:#000}
.player-shell.theater-mode {position:fixed;inset:0;z-index:1000;border-radius:0;background:#000}
.player-shell.theater-mode video {position:absolute;top:0;left:0;width:100%;height:calc(100% - 48px);object-fit:contain}
.player-shell.theater-mode .player-controls {position:absolute;bottom:0;left:0;right:0;background:#1a1917;border-top:1px solid #e8c87a}
.player-shell.cinema-light {background:#000}
.player-shell.cinema-light video {opacity:.25}
.player-shell.cinema-light .player-controls {background:#000;border-color:#e8c87a}
.player-shell.fullscreen {position:fixed;inset:0;z-index:2000;border-radius:0;width:100vw;height:100vh}
.player-shell.fullscreen video {width:100%;height:calc(100% - 48px);object-fit:contain}
@media(max-width:1200px){.reco-row {grid-template-columns:repeat(3,1fr)}
.reco-zone:nth-of-type(4) .reco-row, .reco-zone:nth-of-type(5) .reco-row {grid-template-columns:repeat(2,1fr)}
.detail-grid {grid-template-columns:repeat(3,1fr)}}
@media(max-width:960px){.movie-hero {grid-template-columns:1fr}
.movie-hero .poster-shell {grid-column:1;grid-row:auto;max-width:220px;margin:0 auto}
.title-tagline-group, .cast-panel, .synopsis-block, .episode-status-wrap, .detail-grid {grid-column:1}
.title-tagline-group {text-align:center}
.tagline::before {display:none}
.tagline {padding-left:0}
.synopsis-block {grid-template-columns:1fr}
.synopsis-vertical {writing-mode:horizontal-tb;max-height:none}
.synopsis-paragraph {max-width:none}
.synopsis-still {display:none}
.timeline-node {min-width:180px}
.episode-grid {grid-template-columns:1fr}
.comments-masonry {column-count:1}}
@media(max-width:768px){.reco-row {grid-template-columns:repeat(2,1fr)}
.reco-zone:nth-of-type(4) .reco-row, .reco-zone:nth-of-type(5) .reco-row {grid-template-columns:1fr}
.detail-grid {grid-template-columns:repeat(2,1fr)}
.cast-scroll {gap:12px}
.actor-card {min-width:72px}
.avatar-placeholder {width:60px;height:60px}
.player-controls {gap:4px}
.player-controls button {padding:3px 8px;font-size:10px}}
@media(max-width:520px){main {padding:12px 10px 24px}
header {padding:10px 12px}
.site-brand {font-size:18px}
.movie-hero {padding:20px 14px 16px;gap:16px}
.movie-title {font-size:26px}
.detail-grid {grid-template-columns:1fr 1fr;gap:8px}
.detail-item {padding:8px 10px}
.detail-value {font-size:13px}
.episode-grid {grid-template-columns:1fr}
.reco-row {grid-template-columns:1fr}
.reco-zone:nth-of-type(4) .reco-row, .reco-zone:nth-of-type(5) .reco-row {grid-template-columns:1fr}
.reco-zone:nth-of-type(4) .reco-item, .reco-zone:nth-of-type(5) .reco-item {display:flex}
.reco-zone:nth-of-type(4) .reco-item img, .reco-zone:nth-of-type(5) .reco-item img {aspect-ratio:16/9;height:auto}
.reco-zone:nth-of-type(4) .reco-item > span, .reco-zone:nth-of-type(5) .reco-item > span {padding:0 10px}
.reco-zone:nth-of-type(4) .reco-item > span[data-runtime="blurb"], .reco-zone:nth-of-type(5) .reco-item > span[data-runtime="blurb"] {padding-bottom:10px}
.timeline-scroll {padding-left:0}
.timeline-node {min-width:160px}
.timeline-node::before {left:12px}
.timeline-node::after {left:6px}
.episode-meta {gap:6px}
.total-ep, .current-ep, .ep-duration {font-size:10px;padding:3px 8px}
.player-shell {min-width:0}
.player-shell video {width:100%}
.player-controls button {font-size:9px;padding:2px 6px}
.footer-links {grid-column:1}
.friend-links {grid-column:1;max-width:none}}
@media(max-width:400px){.detail-grid {grid-template-columns:1fr}
.title-tagline-group {text-align:left}
.cast-panel {width:100%}
.cast-scroll {width:100%}
.reco-row {grid-template-columns:1fr}
.comments-masonry {column-count:1;column-gap:0}
.comment-column {margin-bottom:0}
.comment-bubble {margin-bottom:10px}
.player-shell video {aspect-ratio:16/9;width:100%}
.player-shell .player-controls {flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:8px 6px}
.player-shell .player-controls button {white-space:nowrap}}
@media(min-width:961px){.movie-hero .episode-status-wrap {min-width:0}
.movie-hero .player-shell {min-width:0;width:100%}
.movie-hero {grid-template-columns:minmax(200px,280px) minmax(480px,1fr)}}
.poster-shell {width:100%}
.hero-poster[src] {aspect-ratio:2/3;object-fit:cover;width:100%;height:auto;max-height:none}
.player-shell .player-controls button[data-player-action="play"]:active {color:#e8c87a}
video[data-contract="player"] {background:#000}
.friend-links a {display:inline-block;line-height:1.4}
.reco-item {position:relative}
.reco-item img {display:block}
.comment-column {display:flex;flex-direction:column}
.timeline-scroll::-webkit-scrollbar {height:4px}
.timeline-scroll::-webkit-scrollbar-track {background:#2a2926}
.timeline-scroll::-webkit-scrollbar-thumb {background:#e8c87a;border-radius:2px}
.cast-scroll::-webkit-scrollbar {height:4px}
.cast-scroll::-webkit-scrollbar-track {background:#2a2926}
.cast-scroll::-webkit-scrollbar-thumb {background:#e8c87a;border-radius:2px}
.player-shell {max-width:100%}
.player-shell video {max-width:100%;width:100%;height:auto}
.detail-grid {align-content:start}
.section-title {margin-top:0}
.reco-zone:first-of-type {margin-top:8px}
.reco-zone .reco-row {align-items:start}

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}
