*, * {margin:0;padding:0;box-sizing:border-box}
html {font-size:16px;scroll-behavior:smooth}
body {background:#1a1412;color:#d9c9b8;font-family:Georgia,"Times New Roman","Songti SC","SimSun",serif;line-height:1.65;min-height:100vh;overflow-x:hidden}
img, video {display:block;max-width:100%}
ul {list-style:none}
a {color:inherit;text-decoration:none}
button, input {font:inherit;color:inherit;background:none;border:none}
button {cursor:pointer}
.page-header {background:#1a1412;border-bottom:1px solid #3a2c22;padding:0.85rem 1.25rem;display:flex;align-items:center;gap:2.5rem;position:sticky;top:0;z-index:50}
a[data-contract="site-name"] {font-size:1.35rem;letter-spacing:0.28em;color:#e0a86e;font-weight:700;white-space:nowrap;text-transform:uppercase}
a[data-contract="site-name"]:hover {color:#f0c48e}
.category-nav {display:flex;flex-wrap:wrap;gap:0.25rem 0.4rem;overflow:hidden}
.runtime-category {display:inline-block;padding:0.3rem 0.9rem;border:1px solid #4a3a2c;border-radius:2rem;font-size:0.82rem;letter-spacing:0.08em;color:#cbb79e;background:#221a15;white-space:nowrap;transition:all 0.25s ease}
.runtime-category:hover {background:#e0a86e;color:#1a1412;border-color:#e0a86e}
.main-content {max-width:1280px;margin:0 auto;padding:1rem 1.25rem 2.5rem;display:flex;flex-direction:column;gap:2rem}
.movie-overview-block {background:linear-gradient(160deg,#241c15 0%,#1a1412 100%);border:1px solid #3a2c22;border-radius:1rem;padding:1.5rem 1.5rem 1.75rem;box-shadow:0 12px 32px rgba(0,0,0,0.45)}
.poster-player-wrap {display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:1.5rem;align-items:start}
.poster-col {width:100%}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:0.75rem;box-shadow:0 8px 20px rgba(0,0,0,0.5)}
.player-col {min-width:0}
.detail-player {width:100%;aspect-ratio:16/9;background:#000;border-radius:0.75rem;box-shadow:0 8px 24px rgba(0,0,0,0.55)}
.player-controls {display:flex;align-items:center;gap:0.4rem;flex-wrap:wrap;margin-top:0.6rem;padding:0.4rem 0.6rem;background:#221a15;border-radius:0.6rem;border:1px solid #3a2c22}
.player-controls button {font-size:0.75rem;padding:0.25rem 0.6rem;border:1px solid #4a3a2c;border-radius:0.4rem;color:#cbb79e;background:#1a1412;transition:background 0.2s}
.player-controls button:hover {background:#e0a86e;color:#1a1412}
.player-controls input[type="range"] {flex:1;min-width:60px;accent-color:#e0a86e;height:1.4rem;background:transparent}
.movie-heading-group {margin-top:1.5rem;border-top:1px solid #3a2c22;padding-top:1.25rem}
.movie-title {font-size:1.65rem;letter-spacing:0.18em;color:#f0c48e;font-weight:600;line-height:1.3}
.tagline {font-size:0.95rem;font-style:italic;color:#b89b7a;margin-top:0.4rem;letter-spacing:0.05em}
.cast-fragment {margin-top:1.2rem;display:flex;align-items:baseline;gap:0.8rem;flex-wrap:wrap}
.cast-fragment .fragment-title {font-size:0.9rem;letter-spacing:0.15em;color:#e0a86e;font-weight:600}
.cast-list {display:flex;gap:0.6rem;flex-wrap:wrap}
.cast-member {font-size:0.9rem;color:#d9c9b8;background:#2a201a;border:1px solid #4a3a2c;border-radius:2rem;padding:0.2rem 0.9rem}
.synopsis-fragment {margin-top:1.2rem}
.synopsis-fragment .fragment-title {font-size:0.9rem;letter-spacing:0.15em;color:#e0a86e;font-weight:600;margin-bottom:0.4rem}
.synopsis-text {font-size:0.9rem;line-height:1.7;color:#cbb79e;margin-bottom:0.5rem;max-width:70ch}
.episode-status {margin-top:1.2rem;display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;background:#221a15;border-radius:0.6rem;padding:0.6rem 1rem;border:1px solid #3a2c22}
.status-label {font-size:0.8rem;color:#b89b7a;letter-spacing:0.1em}
.status-value {font-size:1rem;font-weight:700;color:#e0a86e}
.episode-count-note {width:100%;font-size:0.82rem;color:#a08f7a;margin-top:0.2rem}
.details-fragment {margin-top:1.2rem}
.details-fragment .fragment-title {font-size:0.9rem;letter-spacing:0.15em;color:#e0a86e;font-weight:600;margin-bottom:0.6rem}
.detail-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.5rem 1rem}
.detail-item {display:flex;gap:0.4rem;font-size:0.85rem;padding:0.3rem 0;border-bottom:1px dashed #3a2c22}
.detail-item dt {color:#b89b7a;white-space:nowrap}
.detail-item dd {color:#d9c9b8;margin-left:0}
.section-heading {font-size:1.4rem;letter-spacing:0.22em;color:#e0a86e;font-weight:600;margin-bottom:1rem;position:relative;padding-bottom:0.5rem}
.section-heading::after {content:"";position:absolute;left:0;bottom:0;width:3rem;height:0.18rem;background:linear-gradient(90deg,#e0a86e,#5a4a3a);border-radius:0.2rem}
.synopsis-standalone {background:#1f1813;border:1px solid #3a2c22;border-radius:1rem;padding:1.5rem}
.synopsis-paragraphs {column-count:2;column-gap:2rem;column-rule:1px solid #3a2c22}
.synopsis-paragraphs .synopsis-text {break-inside:avoid;margin-bottom:0.8rem}
.timeline-module {background:#1f1813;border:1px solid #3a2c22;border-radius:1rem;padding:1.5rem}
.timeline-track {display:grid;grid-template-columns:repeat(4,1fr);gap:0.8rem;position:relative}
.timeline-track::before {content:"";position:absolute;top:50%;left:2%;right:2%;height:0.14rem;background:linear-gradient(90deg,#e0a86e,#5a4a3a);border-radius:0.2rem}
.timeline-item {background:#26201a;border:1px solid #4a3a2c;border-radius:0.8rem;padding:1rem;text-align:center;position:relative;transition:transform 0.2s}
.timeline-item:hover {transform:translateY(-3px)}
.timeline-item::before {content:"";position:absolute;top:-0.4rem;left:50%;transform:translateX(-50%);width:0.8rem;height:0.8rem;background:#e0a86e;border-radius:50%;border:2px solid #1f1813}
.timeline-time {display:block;font-size:1rem;font-weight:700;color:#f0c48e;letter-spacing:0.05em}
.timeline-label {display:block;font-size:0.82rem;color:#cbb79e;margin-top:0.4rem;line-height:1.4}
.episodes-module {background:#1f1813;border:1px solid #3a2c22;border-radius:1rem;padding:1.5rem}
.episode-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0.8rem}
.episode-card {background:#26201a;border:1px solid #3a2c22;border-radius:0.8rem;padding:1rem;display:flex;flex-direction:column;gap:0.4rem;transition:border-color 0.2s,transform 0.2s}
.episode-card:hover {border-color:#e0a86e;transform:translateY(-2px)}
.episode-number {font-size:0.78rem;letter-spacing:0.15em;color:#e0a86e;font-weight:700}
.episode-title {font-size:1.05rem;color:#f0c48e;letter-spacing:0.05em;font-weight:600}
.episode-summary {font-size:0.85rem;color:#cbb79e;line-height:1.6;flex:1}
.episode-duration {font-size:0.78rem;color:#a08f7a;align-self:flex-end;border-top:1px dashed #3a2c22;padding-top:0.4rem;width:100%;text-align:right}
.comments-module {background:#1f1813;border:1px solid #3a2c22;border-radius:1rem;padding:1.5rem}
.comment-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0.8rem}
.comment-card {background:#26201a;border:1px solid #3a2c22;border-radius:0.8rem;padding:1rem;display:flex;flex-direction:column;gap:0.5rem}
.comment-nick {font-size:0.85rem;font-weight:700;color:#e0a86e;letter-spacing:0.05em}
.comment-text {font-size:0.85rem;color:#cbb79e;line-height:1.6}
.recommend-region {background:#1f1813;border:1px solid #3a2c22;border-radius:1rem;padding:1.5rem}
.recommend-title {font-size:1.1rem;letter-spacing:0.18em;color:#e0a86e;font-weight:600;margin-bottom:1rem}
.recommend-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0.8rem}
a.recommend-card {background:#26201a;border:1px solid #3a2c22;border-radius:0.8rem;overflow:hidden;display:flex;flex-direction:column;transition:border-color 0.25s,transform 0.25s,box-shadow 0.25s}
a.recommend-card:hover {border-color:#e0a86e;transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,0.4)}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center}
a.recommend-card span[data-runtime="name"] {font-size:0.95rem;color:#f0c48e;font-weight:600;padding:0.6rem 0.8rem 0.1rem;letter-spacing:0.03em}
a.recommend-card span[data-runtime="blurb"] {font-size:0.78rem;color:#a08f7a;padding:0.1rem 0.8rem 0.8rem;line-height:1.4}
.page-footer {background:#1a1412;border-top:1px solid #3a2c22;padding:1.5rem 1.25rem 2rem;margin-top:2rem}
.footer-links {display:flex;gap:1.5rem;justify-content:center;margin-bottom:1rem}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {font-size:0.85rem;color:#cbb79e;letter-spacing:0.1em;transition:color 0.2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#e0a86e}
.friend-links {display:flex;flex-wrap:wrap;gap:0.4rem 0.8rem;justify-content:center;align-items:baseline;margin-bottom:1.2rem}
.friend-label {font-size:0.8rem;color:#b89b7a}
a.runtime-friend-link {font-size:0.8rem;color:#b89b7a;border-bottom:1px dotted #4a3a2c;transition:color 0.2s,border-color 0.2s}
a.runtime-friend-link:hover {color:#e0a86e;border-color:#e0a86e}
.disclaimer {font-size:0.75rem;color:#8a7a6a;text-align:center;line-height:1.6;max-width:80ch;margin:0 auto}
@media (max-width:960px){.poster-player-wrap {grid-template-columns:1fr;gap:1rem}
.poster-col {max-width:220px;margin:0 auto}
.main-poster-img {aspect-ratio:2/3}
.timeline-track {grid-template-columns:repeat(2,1fr);gap:1rem}
.timeline-track::before {display:none}
.timeline-item::before {display:none}
.synopsis-paragraphs {column-count:1}}
@media (max-width:640px){.page-header {flex-direction:column;align-items:flex-start;gap:0.6rem;padding:0.7rem 1rem}
.category-nav {width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:0.2rem}
.runtime-category {flex-shrink:0}
.main-content {padding:0.8rem 0.8rem 2rem;gap:1.2rem}
.movie-overview-block, .synopsis-standalone, .timeline-module, .episodes-module, .comments-module, .recommend-region {padding:1rem;border-radius:0.7rem}
.movie-title {font-size:1.3rem}
.poster-player-wrap {grid-template-columns:1fr}
.poster-col {max-width:170px}
.player-col {width:100%;min-width:0}
.detail-player {width:100%}
.player-controls {gap:0.25rem}
.player-controls button {font-size:0.68rem;padding:0.2rem 0.4rem}
.timeline-track {grid-template-columns:1fr 1fr}
.episode-list {grid-template-columns:1fr}
.comment-grid {grid-template-columns:1fr 1fr}
.recommend-row {grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.detail-grid {grid-template-columns:1fr 1fr}
.section-heading {font-size:1.2rem}}
@media (max-width:420px){.comment-grid {grid-template-columns:1fr}
.recommend-row {grid-template-columns:1fr 1fr}
.detail-grid {grid-template-columns:1fr}
.timeline-track {grid-template-columns:1fr}
.episode-status {gap:0.3rem}
.status-label {font-size:0.75rem}
.status-value {font-size:0.9rem}}

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}
