*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body {font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;background:#0f1115;color:#c9ccd4;line-height:1.6;overflow-x:hidden}
img, video {display:block;max-width:100%;height:auto}
ul {list-style:none}
a {text-decoration:none;color:inherit}
button {font:inherit;cursor:pointer;background:none;border:none;color:inherit}
input[type=range] {accent-color:#8a1f2d}
main {max-width:1440px;margin:0 auto;padding:0 clamp(12px,2.5vw,32px)}
header {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(12px,2.5vw,32px);background:#0b0d11;border-bottom:1px solid #1c2029;position:sticky;top:0;z-index:100}
a[data-contract="site-name"] {font-family:"Songti SC","SimSun",serif;font-size:1.35rem;letter-spacing:.12em;color:#d4af6a;font-weight:700;transition:color .25s}
a[data-contract="site-name"]:hover {color:#e8c98a}
nav[data-contract="categories"] {display:flex;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:none}
nav[data-contract="categories"]::-webkit-scrollbar {display:none}
.runtime-category {font-size:.8rem;padding:4px 12px;border-radius:20px;background:#171a22;color:#9ba1ad;white-space:nowrap;border:1px solid #232733;transition:all .25s;flex-shrink:0}
.runtime-category:hover, .runtime-category:focus {background:#221b1f;color:#d98e9b;border-color:#8a1f2d}
.movie-overview-hero {background:linear-gradient(160deg,#131722 0%,#0d0f14 45%,#12141a 100%);border:1px solid #1e222c;border-radius:14px;padding:clamp(16px,2.5vw,28px);margin:24px 0 32px;box-shadow:0 10px 40px rgba(0,0,0,.5);position:relative;overflow:hidden}
.movie-overview-hero::before {content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#8a1f2d,#d4af6a,#8a1f2d);opacity:.6}
.hero-media-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(12px,2vw,24px);align-items:start;margin-bottom:20px}
.poster-shell {border-radius:8px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.6);border:1px solid #242936;position:relative;max-width:100%}
.poster-shell::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(10,12,16,.6));pointer-events:none}
.main-poster-art {width:100%;aspect-ratio:2/3;object-fit:cover}
.player-shell {display:flex;flex-direction:column;gap:10px;min-width:0;width:100%}
.player-shell video {background:#000;border-radius:8px;border:1px solid #2a2f3a;box-shadow:0 6px 30px rgba(0,0,0,.7)}
.player-controls {display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:#161922;border-radius:8px;padding:8px 10px;border:1px solid #242936}
.player-controls button {font-size:.72rem;padding:5px 10px;border-radius:4px;background:#1f242f;color:#a8aeba;border:1px solid #2b313e;transition:all .2s;white-space:nowrap}
.player-controls button:hover {background:#2a2030;color:#e0a1ad;border-color:#8a1f2d}
.player-controls button.playing-state {background:#8a1f2d;color:#fff;border-color:#a02a3a}
.player-controls button.muted-active {background:#8a1f2d;color:#fff}
.player-controls button.speed-active {background:#d4af6a;color:#0f1115}
.player-controls button.light-active {background:#d4af6a;color:#0f1115}
.player-controls button.theater-active {background:#8a1f2d;color:#fff}
.player-controls input[type=range] {flex:1;min-width:80px;height:4px;background:#2b313e;border-radius:2px;cursor:pointer}
.player-shell.theater-mode video {border-radius:0;border:none}
.player-shell.theater-mode {background:#000;padding:0;border-radius:8px}
.title-tagline-group {margin:8px 0 24px;position:relative;padding-left:16px;border-left:4px solid #8a1f2d}
.movie-title {font-family:"Songti SC","SimSun",serif;font-size:clamp(1.6rem,3.5vw,2.6rem);color:#e8dcc8;letter-spacing:.08em;font-weight:700;line-height:1.3}
.movie-tagline {font-size:.95rem;color:#9a7a6a;letter-spacing:.15em;margin-top:6px;font-style:italic}
.info-fragment-grid {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.8vw,20px);align-items:start}
.cast-block {grid-column:span 3;background:rgba(22,25,34,.4);border-radius:10px;padding:16px}
.synopsis-block {grid-column:span 5;background:rgba(22,25,34,.4);border-radius:10px;padding:16px}
.episode-status-block {grid-column:span 2;background:rgba(22,25,34,.4);border-radius:10px;padding:16px}
.details-block {grid-column:span 2;background:rgba(22,25,34,.4);border-radius:10px;padding:16px}
.block-heading {font-family:"Songti SC","SimSun",serif;font-size:1.05rem;color:#d4af6a;letter-spacing:.2em;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #2a2f3a;font-weight:600;position:relative}
.block-heading::after {content:"";position:absolute;bottom:-1px;left:0;width:40px;height:2px;background:#8a1f2d}
.actor-list {display:flex;flex-direction:column;gap:10px}
.actor-item {font-size:.9rem;color:#c4c9d4;padding:8px 12px;background:#1a1e28;border-radius:6px;border-left:3px solid #8a1f2d;transition:all .25s;letter-spacing:.05em}
.actor-item:hover {background:#241a22;color:#e0a1ad;border-left-color:#d4af6a}
.synopsis-text-vertical {display:flex;flex-direction:column;gap:12px}
.synopsis-text-vertical p {font-size:.85rem;color:#aab0bd;line-height:1.9;letter-spacing:.03em;text-align:justify;writing-mode:horizontal-tb;padding-left:10px;border-left:1px solid #2a2f3a;transition:color .3s}
.synopsis-text-vertical p:hover {color:#c9ccd4}
.episode-progress {font-size:1rem;color:#e8dcc8;margin-bottom:8px}
.current-episode {font-family:"Songti SC","SimSun",serif;font-size:1.3rem;color:#d4af6a;font-weight:700;letter-spacing:.05em}
.episode-meta {font-size:.78rem;color:#8a909d;letter-spacing:.05em}
.details-list {display:flex;flex-direction:column;gap:4px}
.detail-row {display:flex;justify-content:space-between;gap:8px;font-size:.78rem;padding:5px 0;border-bottom:1px dashed #252a35}
.detail-row:last-child {border-bottom:none}
.detail-row dt {color:#8a909d;flex-shrink:0}
.detail-row dd {color:#c4c9d4;text-align:right}
.timeline-film-section {margin:48px 0;padding:24px 0;border-top:1px solid #1c2029;border-bottom:1px solid #1c2029;background:linear-gradient(180deg,transparent,rgba(20,22,30,.6),transparent)}
.section-title {font-family:"Songti SC","SimSun",serif;font-size:clamp(1.3rem,2.5vw,1.8rem);color:#e8dcc8;letter-spacing:.15em;margin-bottom:22px;text-align:center;position:relative;padding-bottom:12px}
.section-title::after {content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:2px;background:linear-gradient(90deg,transparent,#8a1f2d,#d4af6a,transparent)}
.timeline-track {display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,240px);gap:16px;overflow-x:auto;padding:18px 8px 24px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8a1f2d #1a1e28;position:relative}
.timeline-track::before {content:"";position:absolute;top:38px;left:0;right:0;height:3px;background:linear-gradient(90deg,#8a1f2d,#d4af6a,#8a1f2d);opacity:.4;z-index:0}
.timeline-entry {scroll-snap-align:start;background:#161922;border:1px solid #242936;border-radius:10px;padding:16px 14px;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1;transition:all .3s;min-height:100px;justify-content:flex-end}
.timeline-entry::before {content:"";position:absolute;top:-18px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:#8a1f2d;border:3px solid #161922;box-shadow:0 0 0 2px #d4af6a;transition:all .3s}
.timeline-entry:hover {transform:translateY(-4px);border-color:#8a1f2d;background:#1c1520}
.timeline-entry:hover::before {background:#d4af6a;box-shadow:0 0 12px rgba(212,175,106,.6)}
.timecode {font-family:"Songti SC","SimSun",serif;font-size:1.15rem;color:#d4af6a;font-weight:700;letter-spacing:.05em}
.label {font-size:.78rem;color:#aab0bd;line-height:1.6}
.episode-collage {margin:48px 0}
.episode-card-row {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.episode-card {background:#161922;border:1px solid #242936;border-radius:10px;padding:16px;transition:all .3s;position:relative;overflow:hidden;height:auto;min-height:0}
.episode-card::before {content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#8a1f2d,#d4af6a);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.episode-card:hover {transform:translateY(-3px);border-color:#8a1f2d;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.episode-card:hover::before {transform:scaleX(1)}
.episode-card h3 {font-family:"Songti SC","SimSun",serif;font-size:1rem;color:#e8dcc8;margin-bottom:8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ep-number {font-size:.8rem;color:#d4af6a;font-weight:700;letter-spacing:.05em;background:#221b1f;padding:2px 8px;border-radius:4px;border:1px solid #8a1f2d}
.episode-card p {font-size:.78rem;color:#9ba1ad;line-height:1.7;margin-bottom:10px;flex-grow:1}
.duration {font-size:.7rem;color:#6a707d;letter-spacing:.08em;display:inline-block;padding-top:6px;border-top:1px solid #242936;width:100%}
.comments-masonry {margin:48px 0}
.comment-wall {columns:3 280px;column-gap:16px}
.comment-card {break-inside:avoid;background:#161922;border:1px solid #242936;border-radius:10px;padding:16px 18px;margin-bottom:16px;transition:all .3s;border-left:3px solid transparent}
.comment-card:hover {border-color:#8a1f2d;border-left-color:#d4af6a;background:#1c1520}
.nickname {display:block;font-family:"Songti SC","SimSun",serif;font-size:.9rem;color:#d4af6a;letter-spacing:.1em;margin-bottom:8px;font-weight:700}
.comment-card p {font-size:.82rem;color:#aab0bd;line-height:1.8}
.recommendation-row {margin:48px 0;padding:24px 0;border-top:1px solid #1c2029}
.rec-heading {font-family:"Songti SC","SimSun",serif;font-size:clamp(1.2rem,2.2vw,1.6rem);color:#e8dcc8;letter-spacing:.15em;margin-bottom:20px;padding-left:14px;border-left:4px solid #8a1f2d}
.rec-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
a[data-runtime="recommendation"] {display:flex;flex-direction:column;gap:8px;background:#161922;border:1px solid #242936;border-radius:10px;padding:12px;transition:all .3s;color:#c4c9d4;text-decoration:none;height:auto;min-height:0}
a[data-runtime="recommendation"]:hover {transform:translateY(-4px);border-color:#8a1f2d;box-shadow:0 10px 24px rgba(0,0,0,.5);color:#e8dcc8}
a[data-runtime="recommendation"] img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:6px;background:#1a1e28}
a[data-runtime="recommendation"] [data-runtime="name"] {font-family:"Songti SC","SimSun",serif;font-size:.95rem;font-weight:700;letter-spacing:.05em;color:#d4af6a}
a[data-runtime="recommendation"] [data-runtime="blurb"] {font-size:.75rem;color:#8a909d;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {margin-top:64px;padding:32px clamp(12px,2.5vw,32px) 40px;background:#0b0d11;border-top:1px solid #1c2029}
footer p[data-contract="disclaimer"] {font-size:.7rem;color:#6a707d;line-height:1.8;margin-bottom:24px;max-width:900px}
nav[data-contract="friend-links"] {display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #1c2029}
.friend-links-label {font-size:.8rem;color:#8a909d;letter-spacing:.05em;white-space:nowrap}
.runtime-friend-link {font-size:.75rem;color:#9ba1ad;text-decoration:none;transition:color .25s;white-space:nowrap}
.runtime-friend-link:hover {color:#d4af6a;text-decoration:underline;text-underline-offset:4px}
.footer-nav {display:flex;gap:20px;justify-content:center}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {font-size:.8rem;color:#8a909d;text-decoration:none;transition:color .25s;letter-spacing:.08em;padding:6px 16px;border:1px solid #1c2029;border-radius:6px}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#d4af6a;border-color:#8a1f2d}
body.light-off .movie-overview-hero {background:#0a0c10;border-color:#1a1d25}
body.light-off .hero-media-grid {opacity:.85}
body.light-off .episode-card, body.light-off .comment-card, body.light-off a[data-runtime="recommendation"], body.light-off .timeline-entry {background:#13161d}
body.light-off {background:#0a0c10}
@media (max-width:1024px){.info-fragment-grid {grid-template-columns:repeat(6,minmax(0,1fr))}
.cast-block {grid-column:span 3}
.synopsis-block {grid-column:span 6;order:-1}
.episode-status-block {grid-column:span 3}
.details-block {grid-column:span 3}
.episode-card-row {grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-media-grid {grid-template-columns:1fr;gap:16px}
.poster-shell {max-width:320px}
.player-shell {min-width:0;width:100%}
.player-shell video {width:100%}}
@media (max-width:768px){header {flex-direction:column;gap:8px;align-items:flex-start}
nav[data-contract="categories"] {width:100%}
.info-fragment-grid {grid-template-columns:1fr 1fr;gap:12px}
.cast-block {grid-column:span 1}
.synopsis-block {grid-column:span 2;order:-1}
.episode-status-block {grid-column:span 1}
.details-block {grid-column:span 1}
.episode-card-row {grid-template-columns:repeat(2,minmax(0,1fr))}
.comment-wall {columns:2 200px}
.rec-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-track {grid-auto-columns:minmax(160px,200px)}
.player-controls {flex-wrap:wrap}
.player-controls input[type=range] {flex-basis:100%;order:99}}
@media (max-width:480px){main {padding:0 10px}
.movie-overview-hero {padding:14px;margin:16px 0 24px}
.info-fragment-grid {grid-template-columns:1fr}
.cast-block {grid-column:span 1}
.synopsis-block {grid-column:span 1}
.episode-status-block {grid-column:span 1}
.details-block {grid-column:span 1}
.episode-card-row {grid-template-columns:1fr}
.comment-wall {columns:1}
.rec-grid {grid-template-columns:1fr}
.timeline-track {grid-auto-columns:minmax(140px,180px)}
.hero-media-grid {grid-template-columns:1fr}
.poster-shell {max-width:100%}
.player-shell {min-width:0}
.player-shell video {width:100%;aspect-ratio:16/9}
.title-tagline-group {padding-left:10px}
.movie-title {font-size:1.4rem}
.player-controls button {flex:1;text-align:center;font-size:.68rem;padding:4px 6px}
.footer-nav {flex-direction:column;align-items:center}}

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}
