*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}
body {font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;background:#1b2330;color:#c8ced6;min-height:100vh}
img, video {display:block;max-width:100%;height:auto}
a {color:inherit;text-decoration:none}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
.site-header {background:#141a24;border-bottom:1px solid #2a3442;position:sticky;top:0;z-index:100}
.header-inner {max-width:1440px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;gap:2rem;height:3.5rem}
.site-brand {font-family:"Songti SC","SimSun",serif;font-size:1.4rem;font-weight:700;color:#e8ecf1;letter-spacing:0.05em;white-space:nowrap}
a[data-contract="site-name"] {color:#e8ecf1;text-decoration:none}
a[data-contract="site-name"]:hover {color:#fff}
.categories-bar {display:flex;align-items:center;gap:0.5rem;overflow-x:auto;white-space:nowrap;flex:1;scrollbar-width:thin}
.runtime-category {display:inline-block;padding:0.25rem 0.75rem;font-size:0.85rem;color:#9aa7b8;border:1px solid #2a3442;border-radius:2px;background:#1b2330;white-space:nowrap;transition:all 0.2s}
a.runtime-category {color:#9aa7b8;text-decoration:none}
.runtime-category:hover {color:#f0f3f7;border-color:#5a6b80;background:#243040}
.main-content {max-width:1440px;margin:0 auto;padding:1rem}
.movie-overview-shell {background:#1e2733;border:1px solid #2a3442;margin-bottom:2rem}
.hero-visual {position:relative;overflow:hidden;background:#0d1117;border-bottom:1px solid #2a3442}
.hero-poster {position:relative;aspect-ratio:16/7;max-height:70vh;overflow:hidden}
.hero-img {width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(0.7) contrast(1.1) saturate(0.7)}
.hero-overlay-text {position:absolute;bottom:0;left:0;right:0;padding:2rem 2rem 1.5rem;background:linear-gradient(to top,rgba(13,17,23,0.95) 0%,rgba(13,17,23,0.6) 60%,transparent 100%);z-index:2}
.movie-title-display {font-family:"Songti SC","SimSun",serif;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:700;color:#f5f7fa;letter-spacing:0.08em;text-shadow:0 2px 8px rgba(0,0,0,0.8);margin-bottom:0.3rem}
.tagline-display {font-size:0.95rem;color:#c8ced6;letter-spacing:0.15em;text-shadow:0 1px 4px rgba(0,0,0,0.8)}
.movie-info-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:1rem}
.cast-module {padding:1rem;border-right:1px solid #2a3442}
.section-label {font-size:0.85rem;font-weight:600;color:#e8ecf1;text-transform:uppercase;letter-spacing:0.15em;border-left:3px solid #c94f4f;padding-left:0.6rem;margin-bottom:0.8rem}
.actor-card-row {display:grid;grid-template-columns:repeat(4,1fr);gap:0.8rem;align-items:start}
.actor-card {display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.4rem}
.actor-avatar {width:100%;aspect-ratio:2/3;background:#2a3442;border:1px solid #3a4656;position:relative}
.actor-avatar.is-gray {background:linear-gradient(135deg,#2a3442 0%,#1b2330 100%)}
.actor-avatar.is-gray::after {content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,0.4) 100%)}
.actor-name {font-size:0.8rem;color:#c8ced6;line-height:1.3}
.synopsis-module {padding:1rem;border-right:1px solid #2a3442}
.synopsis-text p {font-size:0.9rem;line-height:1.7;color:#b8c0ca;margin-bottom:0.6rem}
.synopsis-text p:last-child {margin-bottom:0}
.episode-status-module {padding:1rem;border-right:1px solid #2a3442}
.player-wrapper {background:#0d1117;border:1px solid #2a3442;margin-bottom:0.8rem}
.player-wrapper video {width:100%;aspect-ratio:16/9;background:#000}
.player-control-bar {display:flex;flex-wrap:wrap;gap:0.25rem;padding:0.5rem;background:#141a24;border-top:1px solid #2a3442}
.ctrl-btn {padding:0.3rem 0.7rem;font-size:0.75rem;color:#9aa7b8;border:1px solid #2a3442;border-radius:2px;background:#1b2330;transition:all 0.2s}
.ctrl-btn:hover {color:#e8ecf1;border-color:#5a6b80}
.ctrl-btn.active {background:#c94f4f;color:#fff;border-color:#c94f4f}
.episode-meta {display:flex;gap:1rem;font-size:0.8rem;color:#9aa7b8;padding:0.2rem 0}
.ep-count, .ep-duration {background:#141a24;border:1px solid #2a3442;padding:0.2rem 0.6rem;border-radius:2px}
.details-module {padding:1rem}
.detail-list {display:grid;grid-template-columns:1fr 1fr;gap:0.4rem 1rem}
.detail-item {display:flex;justify-content:space-between;gap:0.5rem;font-size:0.85rem;border-bottom:1px solid #2a3442;padding:0.3rem 0}
.detail-item dt {color:#9aa7b8;font-weight:400}
.detail-item dd {color:#e8ecf1;text-align:right}
.timeline-section {padding:1rem 0;margin-bottom:2rem}
.timeline-scroll {overflow-x:auto;padding-bottom:0.5rem;scrollbar-width:thin}
.timeline-track {display:flex;gap:1.5rem;min-width:max-content;padding:0.5rem 0}
.timeline-node {display:flex;flex-direction:column;gap:0.3rem;min-width:160px;max-width:200px;padding:0.8rem;background:#1e2733;border:1px solid #2a3442;border-left:2px solid #c94f4f;position:relative}
.timeline-node::before {content:"";position:absolute;top:-4px;left:-2px;width:8px;height:8px;background:#c94f4f;border-radius:50%}
.timecode {font-family:"Courier New",monospace;font-size:0.8rem;color:#c94f4f;font-weight:600}
.event-label {font-size:0.85rem;color:#c8ced6;line-height:1.4}
.episodes-list-section {padding:1rem 0;margin-bottom:2rem}
.episode-list {display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem}
.episode-item {display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"num title len" "num summary summary";gap:0.2rem 0.8rem;padding:0.8rem;background:#1e2733;border:1px solid #2a3442;border-left:3px solid transparent;transition:border-color 0.2s}
.episode-item:hover {border-left-color:#c94f4f}
.ep-number {grid-area:num;font-family:"Songti SC",serif;font-size:1.4rem;font-weight:700;color:#c94f4f;align-self:start}
.ep-title {grid-area:title;font-size:1rem;font-weight:600;color:#e8ecf1}
.ep-len {grid-area:len;font-size:0.75rem;color:#9aa7b8;align-self:center;white-space:nowrap}
.ep-summary {grid-area:summary;font-size:0.85rem;color:#b8c0ca;line-height:1.5;margin-top:0.2rem}
.comments-section {padding:1rem 0;margin-bottom:2rem}
.comments-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:0.8rem}
.comment-card {background:#1e2733;border:1px solid #2a3442;padding:0.8rem;box-shadow:0 2px 6px rgba(0,0,0,0.3);display:flex;flex-direction:column;gap:0.5rem}
.commenter {font-size:0.8rem;font-weight:600;color:#e8ecf1;letter-spacing:0.05em}
.comment-text {font-size:0.85rem;color:#b8c0ca;line-height:1.5}
.recommendation-region {padding:1rem 0;margin-bottom:2rem}
.rec-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
.rec-item {display:flex;flex-direction:column;gap:0.4rem;background:#1e2733;border:1px solid #2a3442;padding:0.6rem;transition:border-color 0.2s,transform 0.2s}
.rec-item:hover {border-color:#5a6b80;transform:translateY(-2px)}
a.rec-item {color:#c8ced6;text-decoration:none}
a.rec-item:hover {color:#fff}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/10;object-fit:cover;background:#2a3442}
[data-runtime="recommendation"] [data-runtime="name"] {font-size:0.9rem;font-weight:600;color:#e8ecf1;line-height:1.3}
[data-runtime="recommendation"] [data-runtime="blurb"] {font-size:0.8rem;color:#9aa7b8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-footer {background:#141a24;border-top:1px solid #2a3442;padding:1.5rem 1rem 2rem}
.disclaimer {font-size:0.75rem;color:#9aa7b8;line-height:1.6;max-width:1440px;margin:0 auto 1rem}
.footer-friend-links {max-width:1440px;margin:0 auto 1rem;display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem 1rem;font-size:0.8rem}
.friend-label {color:#e8ecf1;font-weight:600;letter-spacing:0.1em}
.runtime-friend-link {color:#9aa7b8;text-decoration:none;transition:color 0.2s}
a.runtime-friend-link {color:#9aa7b8;text-decoration:none}
.runtime-friend-link:hover {color:#e8ecf1}
.footer-links {max-width:1440px;margin:0 auto;display:flex;gap:1.5rem;font-size:0.8rem}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#9aa7b8;text-decoration:none;transition:color 0.2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#e8ecf1}
body.lights-off .hero-poster {filter:brightness(0.4)}
body.lights-off .main-content>*:not(.movie-overview-shell) {opacity:0.3;pointer-events:none}
.player-wrapper.theater-mode {position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#000;margin:0;border:none}
.player-wrapper.theater-mode video {width:100%;height:100%;aspect-ratio:auto}
.player-wrapper.theater-mode .player-control-bar {position:absolute;bottom:0;left:0;right:0;background:rgba(20,26,36,0.9)}
@media (max-width:1200px){.movie-info-grid {grid-template-columns:1fr}
.cast-module, .synopsis-module, .episode-status-module {border-right:none;border-bottom:1px solid #2a3442}
.comments-grid {grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.header-inner {flex-direction:column;gap:0.5rem;height:auto;padding:0.75rem 1rem}
.categories-bar {width:100%;justify-content:flex-start}
.hero-poster {aspect-ratio:16/10}
.hero-overlay-text {padding:1.5rem 1rem}
.movie-title-display {font-size:1.4rem}
.actor-card-row {grid-template-columns:repeat(2,1fr)}
.episode-list {grid-template-columns:1fr}
.comments-grid {grid-template-columns:1fr 1fr}
.rec-row {grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
@media (max-width:480px){.main-content {padding:0.5rem}
.movie-overview-shell {margin-bottom:1rem}
.hero-poster {aspect-ratio:4/3}
.tagline-display {font-size:0.8rem}
.cast-module, .synopsis-module, .episode-status-module, .details-module {padding:0.8rem}
.actor-card-row {grid-template-columns:repeat(2,1fr);gap:0.5rem}
.detail-list {grid-template-columns:1fr}
.comments-grid {grid-template-columns:1fr}
.rec-row {grid-template-columns:1fr 1fr;gap:0.5rem}
.player-control-bar {justify-content:center}
.episode-item {grid-template-columns:1fr auto;grid-template-areas:"num len" "title title" "summary summary"}
.footer-friend-links {gap:0.3rem 0.8rem}}

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}
