*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
:root {color-scheme:dark;--gold:#d4af37;--gold-dim:#8a6d2b;--ink:#0d0d0d;--paper:#121212;--paper-2:#1a1818;--paper-3:#201d1b;--blush:#c0392b;--cinnabar:#a62c21;--moon:#e8e3d8;--text:#cfc9bf;--text-dim:#9e9589;--line:#2c2825;--serif:"Songti SC","SimSun","Noto Serif SC",serif;--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
html {scroll-behavior:smooth}
body {background:var(--ink);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.6;min-height:100vh}
img, video {display:block;max-width:100%}
a {color:var(--gold);text-decoration:none}
a:hover {color:#e8c86a}
header {padding:12px 24px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;background:linear-gradient(180deg,#1a1818,#0d0d0d)}
.site-brand {font-family:var(--serif);font-size:1.4rem;letter-spacing:0.15em;color:var(--moon);text-shadow:0 0 12px rgba(212,175,55,0.2);white-space:nowrap;padding:4px 0}
.site-brand:hover {color:var(--gold)}
nav[data-contract="categories"] {display:flex;flex-wrap:wrap;gap:4px 2px;align-items:center}
.runtime-category {display:inline-block;white-space:nowrap;font-size:0.8rem;padding:2px 8px;border:1px solid transparent;color:var(--text-dim);letter-spacing:0.05em;transition:all 0.2s}
.runtime-category:hover {color:var(--gold);border-color:var(--gold-dim);background:rgba(212,175,55,0.05)}
main {max-width:1320px;margin:0 auto;padding:16px 24px}
.movie-hero {display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px;background:linear-gradient(135deg,var(--paper-2) 0%,var(--ink) 100%);border:1px solid var(--line);padding:20px;position:relative}
.movie-hero::before {content:"";position:absolute;inset:0;pointer-events:none;border-top:2px solid rgba(212,175,55,0.25);border-bottom:1px solid rgba(212,175,55,0.1)}
.poster-frame {grid-column:1;align-self:start;background:var(--paper-3);border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,0.5)}
.hero-poster {width:100%;aspect-ratio:2/3;object-fit:cover;filter:sepia(0.15) contrast(1.05)}
.hero-info {grid-column:2;display:flex;flex-direction:column;gap:14px;min-width:0}
.movie-title {font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem);color:var(--moon);letter-spacing:0.08em;border-left:3px solid var(--gold);padding-left:12px;line-height:1.3;text-shadow:0 0 20px rgba(212,175,55,0.15)}
.tagline {font-family:var(--serif);font-size:0.9rem;color:var(--gold-dim);letter-spacing:0.2em;padding-left:15px}
.cast-panel {border-top:1px solid var(--line);padding-top:10px}
.section-subtitle {font-family:var(--serif);font-size:1rem;color:var(--gold);letter-spacing:0.1em;margin-bottom:8px}
.cast-scroll {display:flex;flex-wrap:wrap;gap:8px}
.actor-card {padding:4px 14px;border:1px solid var(--line);background:var(--paper-2);color:var(--text);font-size:0.9rem;letter-spacing:0.08em;text-align:center;white-space:nowrap}
.actor-card:hover {border-color:var(--gold-dim);color:var(--gold)}
.synopsis-grid {display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;border-top:1px solid var(--line);padding-top:12px}
.synopsis-col {font-size:0.85rem;color:var(--text);text-align:justify}
.episode-progress {border-top:1px solid var(--line);padding-top:12px}
.status-row {display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px}
.current-ep {color:var(--gold);font-size:0.85rem;letter-spacing:0.05em}
.total-ep, .update-badge {font-size:0.8rem;color:var(--text-dim);padding:2px 8px;border:1px solid var(--line)}
.update-badge {background:rgba(192,57,43,0.12);color:var(--blush);border-color:rgba(192,57,43,0.3)}
.player-wrap {min-width:0;max-width:100%;background:#000;border:1px solid var(--line);position:relative}
.player-wrap video {display:block}
.player-controls {display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.player-controls button {background:var(--paper-3);border:1px solid var(--line);color:var(--text-dim);padding:4px 10px;font-size:0.75rem;cursor:pointer;transition:all 0.2s;font-family:var(--sans)}
.player-controls button:hover {color:var(--gold);border-color:var(--gold-dim);background:var(--paper-2)}
.meta-details {border-top:1px solid var(--line);padding-top:10px}
.detail-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 20px}
.detail-item {display:flex;gap:6px;font-size:0.82rem;padding:2px 0}
.detail-item dt {color:var(--text-dim);white-space:nowrap}
.detail-item dt::after {content:"：";color:var(--gold-dim)}
.detail-item dd {color:var(--text);white-space:nowrap}
.episode-list {padding:30px 0 10px;border-bottom:1px solid var(--line)}
.section-heading {font-family:var(--serif);font-size:1.3rem;color:var(--moon);letter-spacing:0.12em;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.section-heading::before {content:"";width:4px;height:1.3rem;background:var(--gold);display:inline-block}
.episode-timeline {position:relative;padding-left:20px;display:flex;flex-direction:column;gap:0}
.episode-timeline::before {content:"";position:absolute;left:4px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--gold-dim),var(--line))}
.episode-item {position:relative;padding:0 0 20px 16px;border-left:1px solid transparent}
.episode-item::before {content:"";position:absolute;left:-20px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--ink);border:2px solid var(--gold);box-shadow:0 0 8px rgba(212,175,55,0.4)}
.ep-number {font-family:var(--serif);font-size:0.85rem;color:var(--gold);display:block;margin-bottom:2px}
.ep-title {font-family:var(--serif);font-size:1.05rem;color:var(--moon);margin-bottom:4px;letter-spacing:0.04em}
.ep-summary {font-size:0.85rem;color:var(--text-dim);max-width:60ch}
.ep-duration {font-size:0.75rem;color:var(--gold-dim);margin-top:4px;display:inline-block}
.story-timeline {padding:30px 0;border-bottom:1px solid var(--line)}
.timeline-scroll {display:flex;gap:0;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--gold-dim) var(--line);align-items:stretch}
.timeline-scroll::-webkit-scrollbar {height:4px}
.timeline-scroll::-webkit-scrollbar-track {background:var(--line)}
.timeline-scroll::-webkit-scrollbar-thumb {background:var(--gold-dim)}
.timeline-node {flex:0 0 auto;display:flex;flex-direction:column;gap:4px;padding:8px 16px;border-left:1px solid var(--line);min-width:120px;max-width:180px;position:relative}
.timeline-node::before {content:"";position:absolute;left:-3px;top:12px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.timecode {font-family:var(--serif);font-size:0.8rem;color:var(--gold);white-space:nowrap}
.timelabel {font-size:0.78rem;color:var(--text-dim);line-height:1.4}
.review-grid {padding:30px 0;border-bottom:1px solid var(--line)}
.comment-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.review-card {background:var(--paper-2);border:1px solid var(--line);padding:12px 16px;border-left:2px solid var(--gold-dim);transition:border-color 0.2s}
.review-card:hover {border-left-color:var(--gold)}
.reviewer {font-family:var(--serif);font-size:0.85rem;color:var(--gold);display:block;margin-bottom:4px}
.review-text {font-size:0.85rem;color:var(--text);line-height:1.7}
.recommend-block {padding:24px 0;border-bottom:1px solid var(--line)}
.reco-heading {font-family:var(--serif);font-size:1.2rem;color:var(--moon);letter-spacing:0.1em;margin-bottom:12px;position:relative;padding-left:14px}
.reco-heading::before {content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--gold);border-radius:1px}
.reco-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.reco-card {display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--line);padding:8px;transition:all 0.25s;color:var(--text)}
.reco-card:hover {border-color:var(--gold-dim);transform:translateY(-2px);color:var(--text)}
.reco-card img {width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--paper-3);margin-bottom:6px}
.reco-card span[data-runtime="name"] {font-family:var(--serif);font-size:0.9rem;color:var(--moon);margin-bottom:2px;letter-spacing:0.03em;line-height:1.4}
.reco-card span[data-runtime="blurb"] {font-size:0.78rem;color:var(--text-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {border-top:1px solid var(--line);background:var(--paper);padding:20px 24px;display:grid;gap:12px}
.footer-disclaimer {font-size:0.75rem;color:var(--text-dim);max-width:80ch;line-height:1.6}
.footer-links {display:flex;gap:16px;font-size:0.85rem}
.footer-links a {color:var(--text-dim)}
.footer-links a:hover {color:var(--gold)}
.friend-links {display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;border-top:1px solid var(--line);padding-top:10px}
.friend-label {font-size:0.75rem;color:var(--gold-dim);letter-spacing:0.1em;margin-right:4px}
.runtime-friend-link {font-size:0.8rem;color:var(--text-dim);padding:2px 0;border-bottom:1px solid transparent;transition:all 0.2s}
.runtime-friend-link:hover {color:var(--gold);border-bottom-color:var(--gold-dim)}
a[data-contract="site-name"] {color:var(--moon);text-decoration:none}
a[data-contract="site-name"]:hover {color:var(--gold)}
a.runtime-category {color:var(--text-dim);text-decoration:none}
a.runtime-category:hover {color:var(--gold);text-decoration:none}
a.reco-card {color:var(--text);text-decoration:none}
a.reco-card:hover {color:var(--text);text-decoration:none}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:var(--text-dim);text-decoration:none}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:var(--gold);text-decoration:underline}
a.runtime-friend-link {color:var(--text-dim);text-decoration:none}
a.runtime-friend-link:hover {color:var(--gold);text-decoration:underline}
.theater-mode video {max-width:100%!important;width:100%!important}
.theater-mode {position:relative;z-index:10}
.lights-off main, .lights-off header, .lights-off footer {opacity:0.1;transition:opacity 0.5s}
.lights-off .player-wrap {opacity:1;position:fixed;inset:0;z-index:100;background:#000}
.lights-off .player-wrap video {width:100%;height:100%;object-fit:contain}
.fullscreen video {width:100%!important;height:100%!important}
.mute .player-controls button[data-player-action="mute"] {color:var(--gold);border-color:var(--gold)}
.play .player-controls button[data-player-action="play"] {color:var(--gold);border-color:var(--gold)}
.progress .player-controls button[data-player-action="progress"] {color:var(--gold)}
.speed .player-controls button[data-player-action="speed"] {color:var(--gold)}
.volume .player-controls button[data-player-action="volume"] {color:var(--gold)}
.pip .player-controls button[data-player-action="pip"] {color:var(--gold)}
.theater .player-controls button[data-player-action="theater"] {color:var(--gold)}
.light .player-controls button[data-player-action="light"] {color:var(--gold)}
.click {cursor:pointer}
.player {background:var(--paper)}
@media (max-width:1024px){.movie-hero {grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:16px;padding:16px}
.synopsis-grid {grid-template-columns:1fr 1fr}}
@media (max-width:768px){main {padding:12px}
header {padding:10px 14px}
.movie-hero {grid-template-columns:1fr;gap:14px}
.poster-frame {grid-column:1;max-width:280px;margin:0 auto}
.hero-info {grid-column:1}
.synopsis-grid {grid-template-columns:1fr}
.comment-grid {grid-template-columns:1fr}
.reco-list {grid-template-columns:repeat(2,1fr)}
.timeline-scroll {overflow-x:auto}
.detail-list {grid-template-columns:1fr 1fr}
.status-row {gap:6px 10px}}
@media (max-width:480px){main {padding:8px}
.movie-hero {padding:12px}
.reco-list {grid-template-columns:1fr}
.comment-grid {grid-template-columns:1fr}
.synopsis-grid {grid-template-columns:1fr}
.detail-list {grid-template-columns:1fr}
.movie-title {font-size:1.2rem}
.timeline-node {min-width:100px}
.player-controls button {flex:1 1 auto;font-size:0.7rem;padding:4px 6px}
.episode-item {padding-left:12px}}
@media (max-width:360px){.reco-list {grid-template-columns: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}
