*, *::before, *::after {margin:0;padding:0;box-sizing:border-box}
html {font-size:16px;scroll-behavior:smooth}
body {font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;line-height:1.5;background:#f0efed;color:#3a3a3a}
img, video {display:block;max-width:100%}
ul {list-style:none}
a {text-decoration:none;color:inherit}
button {font:inherit;cursor:pointer;border:none;background:none;color:inherit}
h1, h2, h3 {font-weight:700;line-height:1.2}
header, footer, main {max-width:1200px;margin:0 auto;padding:0 16px}
main {padding-top:16px;padding-bottom:48px}
section {margin-bottom:0}
section+section {border-top:1px solid #d8d5d0;padding-top:24px;margin-top:24px}
header {display:flex;flex-wrap:wrap;align-items:baseline;padding-top:20px;padding-bottom:16px;border-bottom:2px solid #e8672a;background:#faf9f7}
.site-name, a[data-contract="site-name"] {font-size:1.35rem;font-weight:800;color:#e8672a;letter-spacing:.5px;margin-right:24px}
.categories {display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.runtime-category, a.runtime-category {display:inline-block;padding:4px 12px;font-size:.8rem;color:#555;background:#f0e9e2;border-radius:14px;white-space:nowrap;transition:background .2s,color .2s}
.runtime-category:hover, a.runtime-category:hover {background:#e8672a;color:#fff}
.movie-overview {background:#fff;border:1px solid #ddd9d3;box-shadow:0 1px 4px rgba(0,0,0,.04);padding:24px;margin:16px 0 32px;border-radius:4px}
.overview-media {display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:20px}
.player-wrapper {width:100%;min-width:480px;background:#1c1c1c;border-radius:4px;overflow:hidden;position:relative}
.player-wrapper video {aspect-ratio:16/9;width:100%;height:auto;display:block}
.player-controls {display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;background:#2d2d2d;border-top:1px solid #444}
.player-controls button {color:#ddd;font-size:.75rem;padding:4px 8px;border-radius:4px;background:transparent;transition:background .15s}
.player-controls button:hover {background:#e8672a;color:#fff}
.main-poster {width:100%;max-width:220px;aspect-ratio:2/3;object-fit:cover;border-radius:4px;margin-top:8px}
.overview-heading {margin-bottom:16px}
.overview-heading h1 {font-size:1.8rem;font-weight:800;color:#2b2b2b;letter-spacing:.5px;line-height:1.3}
.tagline {font-size:1.05rem;color:#7a6f68;margin-top:6px;font-weight:400}
.synopsis-fragment {margin-top:16px;padding-top:16px;border-top:1px solid #eee9e3}
.synopsis-fragment h2, .cast-fragment h2, .episodes-fragment h2, .timeline-fragment h2, .comments-fragment h2, .details-fragment h2, .recommendations h2 {font-size:1.15rem;font-weight:700;color:#e8672a;margin-bottom:12px;letter-spacing:.5px}
.synopsis-fragment p {font-size:.9rem;color:#4a4a4a;margin-bottom:8px;max-width:85ch}
.cast-fragment {margin-top:16px;padding-top:16px;border-top:1px solid #eee9e3}
.cast-grid {display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.cast-card {background:#faf7f4;border:1px solid #e5ddd5;border-radius:4px;padding:16px 8px;text-align:center}
.actor-name {font-size:.9rem;font-weight:600;color:#3a3a3a;display:block}
.episode-status {margin:16px 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#faf7f4;padding:10px 16px;border-radius:4px;border-left:3px solid #e8672a}
.current-episode {font-size:.9rem;font-weight:700;color:#2b2b2b}
.episode-meta {font-size:.8rem;color:#7a6f68;background:#eee;padding:2px 10px;border-radius:10px}
.details-fragment {margin-top:16px;padding-top:16px;border-top:1px solid #eee9e3}
.details-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;font-size:.85rem;color:#4a4a4a}
.details-list li {display:flex;gap:4px;padding:4px 0;border-bottom:1px dotted #e5ddd5}
.details-list li span {font-weight:600;color:#2b2b2b;flex-shrink:0}
.timeline-fragment {margin-top:24px}
.timeline-scroll {display:flex;gap:0;overflow-x:auto;padding-bottom:16px;position:relative;border-bottom:2px solid #e8672a;margin-top:16px;scrollbar-width:thin}
.timeline-item {flex:0 0 auto;min-width:150px;max-width:180px;padding:0 16px 16px;position:relative;text-align:left}
.timeline-item::before {content:"";position:absolute;top:8px;left:0;width:100%;height:2px;background:#ddd9d3}
.timeline-item::after {content:"";position:absolute;top:0;left:16px;width:18px;height:18px;border-radius:50%;background:#e8672a;border:3px solid #fff;box-shadow:0 0 0 2px #e8672a}
.timecode {display:block;font-size:.8rem;font-weight:700;color:#e8672a;margin-top:24px;margin-bottom:4px;font-variant-numeric:tabular-nums}
.label {font-size:.8rem;color:#4a4a4a;line-height:1.4}
.episodes-fragment {margin-top:24px}
.episode-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.episode-card {background:#fff;border:1px solid #e5ddd5;border-radius:4px;padding:12px;display:flex;gap:14px;align-items:flex-start;transition:border-color .2s}
.episode-card:hover {border-color:#e8672a}
.episode-number {flex:0 0 48px;height:48px;border-radius:50%;background:#e8672a;color:#fff;font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.episode-info h3 {font-size:.95rem;font-weight:700;color:#2b2b2b;margin-bottom:4px}
.episode-info p {font-size:.8rem;color:#5a5a5a;margin-bottom:6px;line-height:1.4}
.episode-info span {font-size:.75rem;color:#9a8f87}
.comments-fragment {margin-top:24px}
.comments-masonry {column-count:2;column-gap:12px}
.comment-item {background:#fff;border:1px solid #e5ddd5;border-radius:4px;padding:12px 16px;margin-bottom:12px;break-inside:avoid;display:inline-block;width:100%}
.nickname {display:block;font-weight:700;font-size:.85rem;color:#e8672a;margin-bottom:6px}
.comment-item p {font-size:.82rem;color:#4a4a4a;line-height:1.45}
.recommendations {margin-top:24px}
.recommend-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.recommendations:last-of-type .recommend-grid {grid-template-columns:repeat(5,minmax(0,1fr))}
a[data-runtime="recommendation"] {background:#fff;border:1px solid #e5ddd5;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s;color:#3a3a3a}
a[data-runtime="recommendation"]:hover {border-color:#e8672a;box-shadow:0 2px 8px rgba(232,103,42,.12)}
a[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
a[data-runtime="recommendation"] [data-runtime="name"] {font-size:.9rem;font-weight:600;color:#2b2b2b;padding:10px 10px 0}
a[data-runtime="recommendation"] [data-runtime="blurb"] {font-size:.75rem;color:#8a7f78;padding:4px 10px 12px;line-height:1.4}
footer {max-width:1200px;margin:32px auto 0;padding:24px 16px 40px;border-top:2px solid #e8672a;background:#faf9f7}
.disclaimer {font-size:.75rem;color:#8a7f78;margin-bottom:16px;line-height:1.5;max-width:80ch}
footer>a[data-contract="footer-home"], footer>a[data-contract="footer-sitemap"] {font-size:.85rem;color:#4a4a4a;margin-right:16px;transition:color .15s}
footer>a[data-contract="footer-home"]:hover, footer>a[data-contract="footer-sitemap"]:hover {color:#e8672a}
nav[data-contract="friend-links"] {margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.friend-label {font-size:.8rem;color:#7a6f68}
a.runtime-friend-link {font-size:.8rem;color:#6a5f58;white-space:nowrap;transition:color .15s}
a.runtime-friend-link:hover {color:#e8672a}
.player.theater-mode {max-width:100%}
.player.lights-off {filter:brightness(.2)}
.player.theater-mode {background:#000;padding:0 0;border-radius:0}
.player-controls button:active {transform:scale(.95)}
@media (max-width:900px){.cast-grid {grid-template-columns:repeat(3,1fr)}
.episode-list {grid-template-columns:1fr}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.recommendations:last-of-type .recommend-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.comments-masonry {column-count:1}
.overview-heading h1 {font-size:1.4rem}}
@media (max-width:600px){header {padding-top:12px;flex-direction:column;gap:8px;align-items:flex-start}
.site-name {margin-right:0}
.categories {width:100%}
.movie-overview {padding:16px}
.player-wrapper {min-width:0;width:100%}
.player-controls {overflow-x:auto;flex-wrap:nowrap}
.player-controls button {flex-shrink:0}
.overview-heading h1 {font-size:1.2rem}
.details-list {grid-template-columns:1fr}
.cast-grid {grid-template-columns:repeat(2,1fr)}
.episode-list {grid-template-columns:1fr}
.recommend-grid {grid-template-columns:1fr}
.recommendations:last-of-type .recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-item {min-width:130px}
.main-poster {max-width:180px}
footer {padding-bottom:24px}}
@media (min-width:1200px){header, footer, main {max-width:1280px}}
@supports (min-width:480px){.player-wrapper {min-width:480px}
@media (max-width:520px){.player-wrapper {min-width:0}}}

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}
