*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {background:#0a0a0c;color:#e8e4df;font-family:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.55;font-size:15px;min-height:100vh}
a {color:inherit;text-decoration:none}
img, video {display:block;max-width:100%;height:auto}
button, input {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
button:focus, input:focus {outline:2px solid #b3001b;outline-offset:1px}
.main-poster-img {width:100%;height:100%;object-fit:cover}
.movie-unit {max-width:1400px;margin:0 auto;padding:24px 20px 32px;background:linear-gradient(180deg,#121215 0%,#0d0d0f 100%);border-bottom:1px solid #2a2a2e;position:relative}
.movie-unit::before {content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#b3001b,#1a1a1d,#b3001b);opacity:.8}
.media-shell {display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:20px;align-items:start;margin-bottom:20px}
.poster-frame {width:100%;aspect-ratio:2/3;background:#1e1e22;box-shadow:0 8px 24px rgba(0,0,0,.6);border:1px solid #2e2e34;overflow:hidden}
.poster-frame .main-poster-img {width:100%;height:100%;object-fit:cover;filter:grayscale(20%) contrast(1.05)}
.player-frame {min-width:0;background:#000;border:1px solid #333;box-shadow:0 4px 20px rgba(0,0,0,.5)}
.player-frame video {display:block;background:#000}
.player-controls {display:flex;align-items:center;gap:4px;padding:8px 10px;background:#161619;border-top:1px solid #2e2e34;flex-wrap:wrap}
.player-controls button {background:#222;color:#cfc9c3;padding:2px 10px;font-size:12px;line-height:1.6;border-radius:3px;white-space:nowrap}
.player-controls button:hover {background:#b3001b;color:#fff}
.player-controls input[type="range"] {flex:1;min-width:80px;accent-color:#b3001b;height:4px;background:#333;border-radius:2px}
.title-block {text-align:center;padding:8px 0 12px;border-bottom:1px solid #2a2a2e;margin-bottom:16px}
.film-title {font-family:"Songti SC",SimSun,serif;font-weight:900;font-size:clamp(1.6rem,4vw,2.8rem);color:#f0ece7;letter-spacing:.08em;text-shadow:0 0 12px rgba(179,0,27,.4);line-height:1.2}
.tagline {color:#c4b9a8;font-size:clamp(.85rem,2vw,1.05rem);letter-spacing:.25em;margin-top:6px;font-weight:300}
.cast-section {padding:12px 0;margin-bottom:8px}
.section-heading {font-family:"Songti SC",SimSun,serif;font-weight:700;font-size:1.15rem;color:#e8e0d4;border-left:4px solid #b3001b;padding-left:10px;margin-bottom:12px;letter-spacing:.1em}
.cast-heading {margin-bottom:10px}
.cast-card-row {display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cast-card {background:#1c1c20;border:1px solid #2e2e34;border-radius:6px;padding:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .2s}
.cast-card:hover {transform:translateY(-2px);border-color:#b3001b}
.cast-avatar {width:100%;aspect-ratio:1/1;background:linear-gradient(135deg,#2c2c32,#3a3a42);border-radius:4px;display:block;position:relative;overflow:hidden;filter:grayscale(100%)}
.cast-avatar::after {content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.08),transparent 60%)}
.cast-name {color:#c9a96e;font-size:.9rem;font-weight:600;letter-spacing:.05em}
.synopsis-block {padding:12px 0;border-bottom:1px solid #2a2a2e;margin-bottom:12px}
.synopsis-para {color:#c8c2bc;font-size:.95rem;line-height:1.75;margin-bottom:8px;text-align:justify}
.synopsis-para:last-child {margin-bottom:0}
.episodes-panel {padding:12px 0;border-bottom:1px solid #2a2a2e;margin-bottom:12px}
.episode-item {background:#151518;border:1px solid #2e2e34;border-radius:6px;overflow:hidden}
.episode-head {display:flex;align-items:baseline;gap:12px;padding:10px 14px;background:#1c1c20;border-bottom:1px solid #2e2e34;flex-wrap:wrap}
.episode-number {font-weight:800;color:#b3001b;font-size:1rem}
.episode-title {font-weight:700;color:#e8e0d4;font-size:1rem;flex:1}
.episode-duration {color:#888;font-size:.85rem;white-space:nowrap}
.episode-summary {padding:10px 14px;color:#b5afaa;font-size:.88rem;line-height:1.7}
.details-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:8px 16px;padding:12px 0;border-bottom:1px solid #2a2a2e;margin-bottom:12px}
.detail-item {display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.detail-label {color:#6f6a63;font-size:.85rem;white-space:nowrap}
.detail-value {color:#d6cfc8;font-size:.9rem;text-align:right}
.episode-status {display:flex;gap:20px;justify-content:flex-start;padding:4px 0 0;flex-wrap:wrap}
.status-current {color:#c9a96e;font-size:.95rem;font-weight:600;background:#1c1c20;padding:4px 12px;border-radius:3px;border:1px solid #3a352d}
.status-total {color:#8a857e;font-size:.95rem;background:#161619;padding:4px 12px;border-radius:3px;border:1px solid #2a2a2e}
.timeline-section {max-width:1100px;margin:0 auto;padding:28px 20px;width:100%}
.timeline-list {position:relative;margin-top:8px;padding-left:0}
.timeline-list::before {content:"";position:absolute;left:90px;top:4px;bottom:4px;width:2px;background:linear-gradient(180deg,#b3001b,#4a0a12)}
.timeline-item {display:grid;grid-template-columns:70px 20px 1fr;gap:12px;align-items:start;padding:10px 0;position:relative}
.timeline-item::before {content:"";width:12px;height:12px;background:#b3001b;border:2px solid #0a0a0c;transform:rotate(45deg);margin-top:6px;justify-self:center;box-shadow:0 0 6px rgba(179,0,27,.6)}
.time-code {font-family:"SF Mono",Consolas,monospace;font-size:.85rem;color:#c9a96e;text-align:right;line-height:1.6;padding-top:2px}
.event-desc {color:#c8c2bc;font-size:.93rem;line-height:1.6;padding-top:2px}
.comments-section {max-width:1200px;margin:0 auto;padding:28px 20px;width:100%}
.comments-scroll {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}
.comment-card {background:rgba(22,22,26,.85);border:1px solid #2e2e34;border-radius:8px;padding:14px;display:flex;gap:12px;backdrop-filter:blur(4px)}
.comment-avatar {width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#303036,#1e1e22);flex-shrink:0;border:1px solid #3a3a40}
.comment-content {min-width:0;flex:1;align-self:start}
.comment-nick {color:#e0b45c;font-size:.9rem;font-weight:700;display:block;margin-bottom:4px}
.comment-text {color:#b8b2ac;font-size:.85rem;line-height:1.6}
.recommendation-region {max-width:1200px;margin:0 auto;padding:20px;width:100%}
.rec-title {font-family:"Songti SC",SimSun,serif;font-size:1.1rem;font-weight:700;color:#f0ece7;padding-left:12px;border-left:4px solid #b3001b;margin-bottom:12px;letter-spacing:.08em}
.rec-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.rec-item {display:flex;flex-direction:column;background:#151518;border:1px solid #2a2a2e;border-radius:6px;overflow:hidden;transition:border-color .2s}
.rec-item:hover {border-color:#b3001b}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.9) contrast(1.05);box-shadow:inset 0 -30px 30px -20px rgba(0,0,0,.8)}
.rec-name {color:#d6cfc8;font-size:.88rem;font-weight:600;padding:8px 10px 2px;line-height:1.4}
.rec-blurb {color:#7e7a74;font-size:.8rem;padding:2px 10px 10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.category-bar {display:flex;flex-wrap:wrap;gap:6px 10px;padding:12px 20px;background:#101013;border-top:1px solid #1e1e22;border-bottom:1px solid #1e1e22}
a.runtime-category {background:#1a1a1e;color:#b8b2ac;border:1px solid #2a2a2e;border-radius:3px;padding:3px 14px;font-size:.85rem;white-space:nowrap;transition:all .2s}
a.runtime-category:hover {background:#b3001b;color:#fff;border-color:#b3001b}
.site-brand {display:inline-block;padding:14px 20px 6px;font-size:1.1rem;font-weight:800;color:#b3001b;letter-spacing:.12em;text-shadow:0 0 8px rgba(179,0,27,.3)}
a[data-contract="site-name"]:hover {color:#ff3b5c}
.footer-content {background:#0c0c0e;border-top:1px solid #1e1e22;padding:24px 20px;max-width:1400px;margin:0 auto}
.friend-links {display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding-bottom:12px;border-bottom:1px solid #1a1a1e;margin-bottom:12px}
.friend-label {color:#6f6a63;font-size:.85rem;white-space:nowrap}
a.runtime-friend-link {color:#8a857e;font-size:.85rem;transition:color .2s}
a.runtime-friend-link:hover {color:#b3001b}
.disclaimer {color:#5a564f;font-size:.8rem;line-height:1.7;margin-bottom:12px}
.footer-links {display:flex;gap:20px;flex-wrap:wrap}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#8a857e;font-size:.9rem;transition:color .2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#b3001b}
.main-poster-img {width:100%;height:100%;object-fit:cover}
.player-frame video {width:100%;aspect-ratio:16/9;background:#000}
.player-controls {margin-top:0}
.theater-mode {max-width:1200px;margin:0 auto;display:block}
.lights-dim .movie-unit, .lights-dim .timeline-section, .lights-dim .comments-section, .lights-dim .recommendation-region, .lights-dim .cast-section, .lights-dim .synopsis-block, .lights-dim .episodes-panel, .lights-dim .details-grid {background:#060607}
@media (max-width:1100px){.cast-card-row {grid-template-columns:repeat(4,1fr)}
.details-grid {grid-template-columns:repeat(3,1fr)}
.comments-scroll {grid-template-columns:repeat(2,1fr)}
.media-shell {grid-template-columns:minmax(160px,220px) minmax(0,1fr)}}
@media (max-width:900px){.media-shell {grid-template-columns:1fr;gap:14px}
.poster-frame {max-width:220px;margin:0 auto}
.player-frame {width:100%}
.timeline-list::before {left:70px}
.timeline-item {grid-template-columns:60px 14px 1fr;gap:8px}
.time-code {font-size:.8rem}
.timeline-item::before {width:10px;height:10px}}
@media (max-width:700px){body {font-size:14px}
.movie-unit {padding:16px 12px 24px}
.media-shell {grid-template-columns:1fr}
.poster-frame {max-width:200px}
.cast-card-row {grid-template-columns:repeat(2,1fr)}
.details-grid {grid-template-columns:repeat(2,1fr)}
.comments-scroll {grid-template-columns:1fr}
.rec-grid {grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.timeline-item {grid-template-columns:50px 10px 1fr;gap:6px}
.timeline-list::before {left:55px}
.time-code {font-size:.75rem}
.event-desc {font-size:.85rem}
.timeline-item::before {width:8px;height:8px}
.player-controls {gap:2px;padding:6px 8px}
.player-controls button {padding:2px 6px;font-size:11px}
.category-bar {padding:8px 12px;gap:4px 8px}
.site-brand {padding:10px 12px 4px}
.episode-head {gap:8px;padding:8px 10px}
.episode-summary {padding:8px 10px}
.detail-item {flex-direction:column;gap:2px}
.detail-value {text-align:left}}
@media (max-width:480px){.rec-grid {grid-template-columns:repeat(2,1fr);gap:10px}
.cast-card-row {grid-template-columns:repeat(2,1fr);gap:8px}
.comments-scroll {grid-template-columns:1fr}
.details-grid {grid-template-columns:1fr}
.media-shell {grid-template-columns:1fr}
.poster-frame {max-width:180px}
.title-block {padding:6px 0 10px}
.film-title {font-size:1.4rem}
.tagline {letter-spacing:.15em;font-size:.8rem}
.timeline-item {grid-template-columns:44px 8px 1fr;gap:4px}
.timeline-list::before {left:48px}
.time-code {font-size:.7rem}
.event-desc {font-size:.82rem;line-height:1.5}
.timeline-item::before {width:7px;height:7px;margin-top:5px}
.player-controls input[type="range"] {min-width:50px}}
@media (max-width:360px){.cast-card-row {grid-template-columns:1fr}
.rec-grid {grid-template-columns:1fr}
.episode-head {flex-direction:column;gap:4px}
.episode-duration {align-self:flex-start}
.player-controls button {padding:2px 5px;font-size: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}
