*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth;font-size:16px}
body {font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,sans-serif;background:#2b2724;color:#d9d2cc;line-height:1.5;letter-spacing:.02em}
img, video {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
ul, ol {list-style:none}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
dl, dd {margin:0}
h1, h2, h3 {font-weight:700;line-height:1.2}
.site-header {background:#1f1c1a;border-bottom:1px solid #3a2f2a;position:relative;z-index:10}
.header-inner {max-width:1400px;margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:baseline;gap:2rem}
.brand-link {font-size:1.15rem;font-weight:800;color:#e8dfd8;letter-spacing:.08em;white-space:nowrap;flex-shrink:0}
.brand-link:hover {color:#c94f4f}
.categories-nav {flex:1;display:flex;flex-wrap:wrap;gap:.35rem .5rem;overflow:hidden;max-height:2.1em}
.runtime-category {font-size:.8rem;color:#a89f97;white-space:nowrap;padding:.15rem .4rem;border-radius:3px;transition:color .2s,background .2s}
.runtime-category:hover {color:#e8dfd8;background:rgba(255,255,255,.06)}
.page-main {max-width:1400px;margin:0 auto;padding:1rem 1.25rem 2rem}
.movie-overview {background:linear-gradient(145deg,#2f2a26 0%,#241f1c 100%);border:1px solid #3a2f2a;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:340px 1fr;box-shadow:0 4px 20px rgba(0,0,0,.4)}
.poster-wrapper {position:relative;background:#1a1715}
.main-poster {width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;filter:contrast(1.05) saturate(.9)}
.movie-info-panel {padding:1.25rem 1.5rem 1rem;display:flex;flex-direction:column;gap:1rem;background:transparent}
.movie-title {font-size:1.4rem;font-weight:800;color:#f2e8e0;letter-spacing:.02em}
.tagline {font-size:.85rem;color:#b0a59c;font-style:italic;border-left:3px solid #c94f4f;padding-left:.6rem;margin-bottom:.4rem}
.block-heading {font-size:.9rem;font-weight:700;color:#c94f4f;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem;border-bottom:1px solid #3a2f2a;padding-bottom:.25rem}
.cast-block {margin-top:.2rem}
.cast-list {display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}
.cast-item {font-size:.85rem;color:#c9bfb6;background:rgba(255,255,255,.03);padding:.25rem .5rem;border-radius:4px;text-align:center;border:1px solid rgba(255,255,255,.05)}
.synopsis-block {}
.synopsis-paragraph {font-size:.85rem;color:#b8aea5;margin-bottom:.5rem;line-height:1.6;font-weight:300}
.synopsis-paragraph:last-child {margin-bottom:0}
.episode-status-block {display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:rgba(201,79,79,.08);padding:.5rem .75rem;border-radius:6px;border:1px solid rgba(201,79,79,.2)}
.current-episode-label {font-size:.8rem;color:#e8dfd8;font-weight:600}
.total-episodes-label {font-size:.75rem;color:#a89f97}
.episode-progress-current {font-size:.8rem;color:#c94f4f;font-weight:700;background:#2f2a26;padding:.1rem .5rem;border-radius:3px;margin-left:auto}
.details-block {}
.detail-list {display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem .75rem}
.detail-item {display:flex;justify-content:space-between;font-size:.78rem;color:#a89f97;border-top:1px solid rgba(255,255,255,.04);padding-top:.3rem}
.detail-item dt {color:#8a7f76;font-weight:400}
.detail-item dd {color:#d9d2cc;font-weight:500}
.player-shell {background:#1a1715;border-radius:10px;margin-top:1rem;padding:.75rem;border:1px solid #3a2f2a;position:relative;max-width:1200px}
.player-shell video {border-radius:6px;background:#000}
.player-controls {display:flex;gap:.3rem;margin-top:.6rem;flex-wrap:wrap;justify-content:center}
.player-controls button {font-size:.75rem;color:#a89f97;background:#2b2724;border:1px solid #3a2f2a;padding:.3rem .7rem;border-radius:4px;transition:all .2s}
.player-controls button:hover {color:#e8dfd8;border-color:#c94f4f;background:#332d2a}
.player-shell.theater-mode {position:fixed;inset:0;z-index:100;background:#000;border-radius:0;padding:0;display:flex;flex-direction:column;justify-content:center;max-width:none;margin:0}
.player-shell.theater-mode video {width:100%;height:auto}
.player-shell.theater-mode .player-controls {position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);padding:.5rem;border-radius:8px}
body.lights-dim::after {content:"";position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;pointer-events:none}
body.lights-dim .player-shell {position:relative;z-index:100}
.player.playing-state .player-controls button[data-player-action="play"] {color:#4ecdc4;border-color:#4ecdc4}
.player.playing-state {outline:1px solid rgba(78,205,196,.3)}
.player .pause, .player .play {display:inline-block}
.timeline-section {margin-top:1.5rem;background:linear-gradient(180deg,#2b2724 0%,#25215e 100%);border-radius:10px;padding:1rem 1.25rem;border:1px solid #3a2f2a}
.section-heading {font-size:1.05rem;font-weight:700;color:#e8dfd8;margin-bottom:.75rem;padding-left:.5rem;border-left:4px solid #c94f4f}
.horizontal-scroll {display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.5rem}
.timeline-list {}
.timeline-item {flex-shrink:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.6rem .8rem;min-width:200px;max-width:240px}
.timecode {display:block;font-size:.75rem;color:#4ecdc4;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:.3rem}
.label {font-size:.8rem;color:#c9bfb6;line-height:1.4}
.episodes-section {margin-top:1.5rem;background:linear-gradient(180deg,#25215e 0%,#2b2724 100%);border-radius:10px;padding:1rem 1.25rem;border:1px solid #3a2f2a}
.episode-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.episode-card {background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:.8rem;display:flex;flex-direction:column;gap:.3rem}
.episode-number {font-size:1.2rem;font-weight:800;color:#c94f4f;font-variant-numeric:tabular-nums}
.episode-card h3 {font-size:.95rem;color:#e8dfd8;font-weight:700}
.episode-card p {font-size:.8rem;color:#b0a59c;line-height:1.5;flex:1}
.duration {font-size:.7rem;color:#8a7f76;font-variant-numeric:tabular-nums;border-top:1px solid rgba(255,255,255,.05);padding-top:.3rem}
.comments-section {margin-top:1.5rem;background:#2b2724;border-radius:10px;padding:1rem 1.25rem;border:1px solid #3a2f2a}
.comments-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.comment-card {background:rgba(255,255,255,.02);border-left:3px solid #4ecdc4;padding:.7rem .9rem;border-radius:0 6px 6px 0}
.comment-author {display:block;font-size:.8rem;font-weight:700;color:#4ecdc4;margin-bottom:.3rem}
.comment-card p {font-size:.8rem;color:#c9bfb6;line-height:1.5}
.recommendation-region {margin-top:1.5rem;padding:.5rem 0}
.rec-title {font-size:.95rem;font-weight:700;color:#e8dfd8;margin-bottom:.6rem;padding-left:.5rem;border-left:4px solid #c94f4f}
.horizontal-capsule {display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}
.recommendation-track {}
.rec-item {flex-shrink:0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.5rem;width:200px;display:flex;flex-direction:column;gap:.35rem;transition:transform .2s,border-color .2s}
.rec-item:hover {transform:translateY(-2px);border-color:#c94f4f}
.rec-thumb {width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:8px;background:#1a1715}
.rec-name {font-size:.85rem;font-weight:700;color:#e8dfd8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec-item span:last-child {font-size:.75rem;color:#a89f97;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-footer {margin-top:2.5rem;background:#1f1c1a;border-top:1px solid #3a2f2a;padding:1.25rem}
.footer-inner {max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.friend-links {display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.friend-links-label {font-size:.8rem;font-weight:700;color:#c94f4f;letter-spacing:.05em;margin-right:.5rem}
.runtime-friend-link {font-size:.75rem;color:#8a7f76;padding:.2rem .6rem;border:1px solid rgba(255,255,255,.06);border-radius:20px;transition:all .2s}
.runtime-friend-link:hover {color:#e8dfd8;border-color:#c94f4f;background:rgba(201,79,79,.1)}
.disclaimer {font-size:.7rem;color:#6b6159;line-height:1.5}
.footer-links {display:flex;gap:1rem}
.footer-links a {font-size:.8rem;color:#8a7f76;transition:color .2s}
.footer-links a:hover {color:#c94f4f}
@media (max-width:1024px){.movie-overview {grid-template-columns:280px 1fr}
.detail-list {grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.header-inner {flex-direction:column;gap:.5rem}
.categories-nav {max-height:none;overflow:visible}
.movie-overview {grid-template-columns:1fr}
.poster-wrapper {max-width:420px;margin:0 auto}
.main-poster {aspect-ratio:2/3}
.movie-info-panel {padding:1rem}
.cast-list {grid-template-columns:repeat(3,1fr)}
.detail-list {grid-template-columns:repeat(2,1fr)}
.episode-grid {grid-template-columns:repeat(2,1fr)}
.comments-grid {grid-template-columns:1fr}
.rec-item {width:180px}}
@media (max-width:480px){.page-main {padding:.75rem .75rem 1.5rem}
.header-inner {padding:.6rem .75rem}
.episode-grid {grid-template-columns:1fr}
.cast-list {grid-template-columns:repeat(2,1fr)}
.detail-list {grid-template-columns:1fr}
.player-shell {padding:.5rem;margin-top:.75rem}
.player-controls button {padding:.25rem .5rem;font-size:.7rem}
.timeline-item {min-width:170px}
.rec-item {width:160px}
.footer-inner {padding:.75rem}
.friend-links {gap:.3rem}
.runtime-friend-link {padding:.15rem .5rem;font-size:.7rem}}

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}
