*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {background:#1a1e26;color:#e8dcc8;font-family:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.6;letter-spacing:.01em;overflow-x:hidden}
img, video {display:block;max-width:100%}
a {color:#e8dcc8;text-decoration:none}
ul {list-style:none}
button, input, select {font:inherit;color:inherit;background:none;border:none;outline:none}
button {cursor:pointer}
.main-nav {position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:rgba(26,30,38,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(232,220,200,.08)}
.main-nav a[data-contract="site-name"] {font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;font-weight:700;letter-spacing:.08em;color:#f0e6d2;transition:color .3s}
.main-nav a[data-contract="site-name"]:hover {color:#d98e4a}
.categories-nav {display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:flex-end}
.categories-nav a.runtime-category {color:#a8b0bd;font-size:.9rem;white-space:nowrap;letter-spacing:.04em;transition:color .3s}
.categories-nav a.runtime-category:hover {color:#d98e4a}
.hero-poster {position:relative;width:100%;min-height:100vh;background:#11141b}
.hero-media {position:relative;width:100%;height:100vh;overflow:hidden}
.hero-image {width:100%;height:100%;object-fit:cover;filter:blur(6px) brightness(.42) saturate(.9);transform:scale(1.05)}
.hero-light-slit {position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,rgba(17,20,27,0) 0%,rgba(17,20,27,.35) 50%,rgba(17,20,27,.85) 100%);padding:2rem 1rem}
.hero-title {font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,6vw,4.5rem);font-weight:700;color:#f0e6d2;letter-spacing:.12em;text-shadow:0 4px 30px rgba(0,0,0,.6);margin-bottom:.8rem}
.hero-tagline {font-size:clamp(1rem,2.5vw,1.4rem);color:#c9bfae;letter-spacing:.2em;margin-bottom:2.5rem;font-style:italic}
.hero-player-container {width:100%;max-width:720px;margin:0 auto;position:relative;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.hero-player-container video[data-contract="player"] {display:block;width:100%;aspect-ratio:16/9;background:#000}
.player-controls {position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.2) 70%,transparent);opacity:.9;transition:opacity .3s}
.hero-player-container:hover .player-controls {opacity:1}
.player-btn {background:rgba(217,142,74,.25);border:1px solid rgba(217,142,74,.5);color:#f0e6d2;padding:.3rem .7rem;border-radius:6px;font-size:.75rem;white-space:nowrap;transition:all .25s}
.player-btn:hover {background:rgba(217,142,74,.5)}
.player-progress {flex:1;height:4px;accent-color:#d98e4a;cursor:pointer;min-width:60px}
.player-speed {background:rgba(0,0,0,.5);border:1px solid rgba(232,220,200,.2);color:#e8dcc8;border-radius:6px;padding:.2rem .4rem;font-size:.75rem}
.hero-player-container.theater-mode {max-width:none;width:100%;border-radius:0}
.hero-player-container.lights-dimmed video {filter:brightness(.35)}
.movie-overview {display:grid;grid-template-columns:280px 1fr;gap:2.5rem;padding:4rem max(2rem,8vw);background:#1e232d;border-bottom:1px solid rgba(232,220,200,.06)}
.overview-poster-wrapper {position:relative;align-self:start}
.overview-poster {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.overview-content {display:flex;flex-direction:column;gap:1.4rem}
.overview-title {font-family:Georgia,"Times New Roman",serif;font-size:2.2rem;color:#f0e6d2;letter-spacing:.05em;line-height:1.2}
.overview-tagline {font-style:italic;color:#d98e4a;font-size:1.1rem;letter-spacing:.1em}
.synopsis-block, .cast-block, .episode-status-block, .details-block {background:transparent;border:none;box-shadow:none;padding:0;margin:0}
.synopsis-heading, .cast-heading {font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;color:#f0e6d2;margin-bottom:.8rem;letter-spacing:.06em;border-left:3px solid #d98e4a;padding-left:.8rem}
.synopsis-paragraph {color:#b8b0a2;line-height:1.7;margin-bottom:.8rem;max-width:65ch}
.cast-list {display:flex;gap:1.5rem;flex-wrap:wrap}
.cast-item {font-size:1rem;color:#d8cfc0;background:rgba(217,142,74,.08);border:1px solid rgba(217,142,74,.2);padding:.3rem 1rem;border-radius:20px;letter-spacing:.08em}
.episode-status-block {display:flex;gap:1rem;font-size:.9rem}
.episode-count {color:#a8b0bd;background:rgba(232,220,200,.06);padding:.3rem .8rem;border-radius:4px}
.current-episode {color:#d98e4a;background:rgba(217,142,74,.1);border:1px solid rgba(217,142,74,.3);padding:.3rem .8rem;border-radius:4px}
.details-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem 1.5rem}
.detail-item {display:flex;flex-direction:column;gap:.2rem;border-bottom:1px solid rgba(232,220,200,.06);padding-bottom:.4rem}
.detail-item dt {font-size:.75rem;color:#8a93a0;text-transform:uppercase;letter-spacing:.08em}
.detail-item dd {font-size:.95rem;color:#e8dcc8}
.timeline-section {padding:4rem max(2rem,8vw);background:#1a1e26}
.timeline-heading, .episodes-heading, .comments-heading {font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:#f0e6d2;letter-spacing:.08em;margin-bottom:2.5rem;position:relative;display:inline-block}
.timeline-heading::after, .episodes-heading::after, .comments-heading::after {content:"";position:absolute;left:0;bottom:-8px;width:60px;height:2px;background:#d98e4a}
.timeline-container {overflow-x:auto;padding-bottom:1rem}
.timeline-track {display:flex;gap:2rem;min-width:min-content;padding:.5rem}
.timeline-item {display:flex;flex-direction:column;gap:.8rem;align-items:flex-start;position:relative;min-width:180px}
.timeline-item::before {content:"";position:absolute;left:0;top:100%;width:100%;height:2px;background:linear-gradient(90deg,#d98e4a,transparent);opacity:.3}
.timeline-timecode {font-size:.8rem;color:#8a93a0;letter-spacing:.1em;font-weight:600}
.timeline-card {background:linear-gradient(145deg,rgba(232,220,200,.08),rgba(232,220,200,.02));border:1px solid rgba(232,220,200,.12);border-radius:10px;padding:.8rem 1.2rem;transition:all .3s;backdrop-filter:blur(4px)}
.timeline-card:hover {border-color:#d98e4a;background:rgba(217,142,74,.1);transform:translateY(-2px)}
.timeline-label {font-size:1rem;color:#e8dcc8;letter-spacing:.05em}
.episodes-section {padding:4rem max(2rem,8vw);background:#1e232d}
.episodes-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.episode-card {background:rgba(232,220,200,.04);border:1px solid rgba(232,220,200,.08);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .3s,transform .3s}
.episode-card:hover {border-color:rgba(217,142,74,.4);transform:translateY(-3px)}
.episode-number {font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:#d98e4a;opacity:.7;line-height:1}
.episode-title {font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;color:#f0e6d2}
.episode-summary {font-size:.9rem;color:#a8b0bd;line-height:1.6;flex:1}
.episode-duration {font-size:.8rem;color:#8a93a0;letter-spacing:.06em;border-top:1px solid rgba(232,220,200,.06);padding-top:.5rem}
.comments-section {padding:4rem max(2rem,8vw);background:#1a1e26}
.comments-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 2.5rem}
.comment-item {padding:1.5rem 0;border-bottom:1px solid rgba(232,220,200,.06);display:flex;flex-direction:column;gap:.4rem}
.comment-nickname {font-size:.85rem;color:#d98e4a;font-weight:600;letter-spacing:.08em}
.comment-text {font-size:.9rem;color:#b8b0a2;line-height:1.6;max-width:50ch}
.recommendation-region {padding:3.5rem max(2rem,8vw);background:#1e232d}
.recommendation-region+.recommendation-region {border-top:1px solid rgba(232,220,200,.06)}
.recommendation-title {font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;color:#f0e6d2;letter-spacing:.06em;margin-bottom:2rem}
.recommendation-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}
.recommendation-card {display:flex;flex-direction:column;gap:.6rem;background:rgba(232,220,200,.04);border:1px solid rgba(232,220,200,.08);border-radius:8px;padding:.8rem;transition:all .3s;align-self:start}
.recommendation-card:hover {border-color:#d98e4a;transform:translateY(-4px);background:rgba(217,142,74,.06)}
.recommendation-card img {width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px}
.recommendation-card span {font-size:.85rem;color:#e8dcc8;line-height:1.4}
.recommendation-card span[data-runtime="name"] {font-weight:600;color:#f0e6d2;letter-spacing:.04em}
.recommendation-card span[data-runtime="blurb"] {color:#a8b0bd;font-size:.78rem}
.footer-content {padding:3rem max(2rem,8vw);background:#141820;border-top:1px solid rgba(232,220,200,.08);display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.footer-disclaimer {font-size:.8rem;color:#8a93a0;line-height:1.6;max-width:80ch}
.footer-link {font-size:.9rem;color:#a8b0bd;transition:color .3s;margin-right:1.5rem}
.footer-link:hover {color:#d98e4a}
.friend-links {display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.friend-links-label {font-size:.9rem;color:#8a93a0}
.runtime-friend-link {font-size:.85rem;color:#a8b0bd;transition:color .3s;white-space:nowrap}
.runtime-friend-link:hover {color:#d98e4a}
@media(max-width:1024px){.movie-overview {grid-template-columns:220px 1fr;gap:1.8rem}
.recommendation-grid {grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}}
@media(max-width:768px){.main-nav {flex-direction:column;gap:.8rem;padding:1rem}
.categories-nav {justify-content:center}
.hero-poster {min-height:80vh}
.hero-media {height:80vh}
.hero-title {font-size:2rem}
.hero-tagline {font-size:1rem}
.hero-player-container {max-width:100%}
.player-controls {flex-wrap:wrap;gap:.4rem;padding:.5rem}
.player-btn {padding:.2rem .5rem;font-size:.7rem}
.movie-overview {grid-template-columns:1fr;padding:2.5rem 1.5rem}
.overview-poster-wrapper {max-width:220px}
.overview-title {font-size:1.8rem}
.details-list {grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.timeline-section, .episodes-section, .comments-section, .recommendation-region {padding:2.5rem 1.5rem}
.timeline-heading, .episodes-heading, .comments-heading {font-size:1.6rem}
.episodes-list {grid-template-columns:1fr}
.comments-list {grid-template-columns:1fr}
.recommendation-grid {grid-template-columns:repeat(2,1fr)}
.footer-content {padding:2rem 1.5rem}}
@media(max-width:480px){body {font-size:14px}
.hero-poster {min-height:70vh}
.hero-media {height:70vh}
.hero-title {font-size:1.6rem;letter-spacing:.06em}
.hero-tagline {font-size:.9rem;letter-spacing:.1em}
.player-controls {justify-content:flex-start}
.player-progress {min-width:40px}
.recommendation-grid {grid-template-columns:1fr 1fr}
.recommendation-card {padding:.5rem}
.movie-overview {padding:2rem 1rem}
.overview-poster-wrapper {max-width:180px}
.episodes-list {grid-template-columns:1fr}
.detail-item dd {font-size:.9rem}
.cast-list {gap:.8rem}
.cast-item {font-size:.85rem;padding:.2rem .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}
