*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {font-size:16px;-webkit-text-size-adjust:100%}
body {font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#14161a;color:#d5d8dc;line-height:1.6;letter-spacing:.01em}
img, video {display:block;max-width:100%;height:auto}
ol {list-style:none}
a {color:inherit;text-decoration:none}
button, input {font:inherit;color:inherit;background:none;border:none}
button {cursor:pointer}
.site-header {position:sticky;top:0;z-index:100;background:rgba(20,22,26,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner {max-width:1480px;margin:0 auto;padding:.6rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.site-logo {font-size:1.25rem;font-weight:800;color:#e8eaed;letter-spacing:.12em;text-transform:uppercase;border-left:3px solid #b0402a;padding-left:.6rem;line-height:1.2;white-space:nowrap}
.site-logo:hover {color:#fff}
.categories-nav {display:flex;gap:.4rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.categories-nav::-webkit-scrollbar {display:none}
.runtime-category {display:inline-block;padding:.3rem .8rem;font-size:.78rem;font-weight:500;color:#9aa0a8;border-radius:99px;border:1px solid transparent;white-space:nowrap;transition:all .2s}
.runtime-category:hover {color:#e8eaed;border-color:rgba(176,64,42,.5);background:rgba(176,64,42,.08)}
.runtime-category:active {color:#b0402a}
.main-content {max-width:1480px;margin:0 auto;padding:0 1.5rem}
.movie-overview {display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:2.5rem;padding:3rem 0 2.5rem;border-bottom:1px solid rgba(255,255,255,.07);position:relative}
.movie-overview::before {content:"";position:absolute;top:0;left:-1.5rem;right:-1.5rem;height:100%;background:linear-gradient(180deg,rgba(176,64,42,.06) 0%,transparent 60%);pointer-events:none}
.overview-poster-column {position:relative}
.poster-media-wrapper {border-radius:8px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.3);position:relative;height:fit-content;background:#1b1e23}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;filter:saturate(.9) contrast(1.05)}
.overview-info-column {min-width:0;display:flex;flex-direction:column;gap:2rem}
.movie-title {font-size:clamp(1.5rem,3vw,2.4rem);font-weight:800;color:#f0f2f4;line-height:1.25;letter-spacing:.02em;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.tagline {font-size:.95rem;color:#b0402a;font-weight:500;margin-top:.4rem;letter-spacing:.06em;border-left:2px solid rgba(176,64,42,.6);padding-left:.8rem}
.synopsis-fragment, .cast-fragment, .details-fragment {display:flex;flex-direction:column;gap:1rem}
.section-subheading {font-size:1.05rem;font-weight:700;color:#c8ccd2;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:.6rem}
.section-subheading::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(176,64,42,.5),transparent)}
.synopsis-text p {font-size:.9rem;line-height:1.8;color:#a8adb5;margin-bottom:.6rem}
.synopsis-text p:last-child {margin-bottom:0}
.cast-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cast-card {display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.2rem .8rem;background:rgba(255,255,255,.03);border-radius:8px;transition:background .2s;text-align:center}
.cast-card:hover {background:rgba(255,255,255,.06)}
.cast-avatar {width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#2a2e35,#1a1d22);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;color:#b0402a;border:2px solid rgba(176,64,42,.5);box-shadow:0 0 12px rgba(176,64,42,.2)}
.cast-name {font-weight:600;color:#e0e3e7;font-size:.9rem}
.cast-role {font-size:.75rem;color:#767b84;line-height:1.4}
.episode-status-fragment {display:flex;flex-direction:column;gap:.75rem}
.player-wrapper {width:100%;border-radius:10px;overflow:hidden;background:#000;box-shadow:0 6px 24px rgba(0,0,0,.5)}
.player-wrapper video {display:block;aspect-ratio:16/9;width:100%;height:auto;object-fit:contain;background:#000}
.player-controls {display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding:.5rem .75rem;background:#1a1d22;border-radius:0 0 10px 10px;border-top:1px solid rgba(255,255,255,.06)}
.ctrl-btn {font-size:.72rem;padding:.3rem .6rem;background:rgba(255,255,255,.05);border-radius:4px;color:#9aa0a8;transition:all .15s;white-space:nowrap}
.ctrl-btn:hover {background:rgba(255,255,255,.1);color:#e8eaed}
.ctrl-progress {flex:1;min-width:100px;height:3px;appearance:none;background:#33373e;border-radius:99px;outline:none}
.ctrl-progress::-webkit-slider-thumb {appearance:none;width:12px;height:12px;border-radius:50%;background:#b0402a;cursor:pointer}
.ctrl-progress::-moz-range-thumb {width:12px;height:12px;border-radius:50%;background:#b0402a;cursor:pointer;border:none}
.episode-meta-row {display:flex;gap:1rem;align-items:center;font-size:.8rem}
.episode-count {color:#767b84;background:rgba(255,255,255,.04);padding:.2rem .6rem;border-radius:4px;font-weight:500}
.current-episode {color:#b0402a;font-weight:600;letter-spacing:.03em}
.details-list {display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem 1.5rem}
.detail-item {display:flex;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.82rem}
.detail-item dt {color:#767b84;min-width:5em;font-weight:500}
.detail-item dd {color:#c8ccd2;margin-left:0}
.timeline-fragment, .episodes-fragment, .comments-fragment, .recommendation-region {padding:2.5rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.section-heading {font-size:1.3rem;font-weight:800;color:#e8eaed;letter-spacing:.08em;margin-bottom:1.8rem;display:flex;align-items:center;gap:.8rem}
.section-heading::before {content:"";width:4px;height:1.2em;background:#b0402a;border-radius:2px}
.timeline-zigzag {position:relative;max-width:900px;margin:0 auto;padding:1rem 0}
.timeline-zigzag::before {content:"";position:absolute;top:0;left:50%;width:2px;height:100%;background:linear-gradient(180deg,transparent,rgba(176,64,42,.4) 15%,rgba(176,64,42,.4) 85%,transparent);transform:translateX(-50%)}
.timeline-entry {position:relative;padding:1rem 2rem;display:flex;align-items:baseline;gap:.8rem;width:50%;margin-bottom:1.2rem}
.timeline-entry:nth-child(odd) {left:0;text-align:right;flex-direction:row-reverse;padding-right:3rem}
.timeline-entry:nth-child(even) {left:50%;padding-left:3rem}
.timeline-entry::before {content:"";position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:#b0402a;border:2px solid #14161a;box-shadow:0 0 0 2px rgba(176,64,42,.5);transform:translateY(-50%)}
.timeline-entry:nth-child(odd)::before {right:-5px}
.timeline-entry:nth-child(even)::before {left:-5px}
.timeline-entry:nth-child(odd) .timecode {order:2}
.timecode {font-size:.72rem;font-weight:600;color:#b0402a;background:rgba(176,64,42,.1);padding:.15rem .5rem;border-radius:4px;white-space:nowrap}
.label {font-size:.88rem;color:#a8adb5;line-height:1.5}
.episode-scroll {display:grid;grid-template-columns:repeat(6,1fr);gap:0.75rem;overflow-x:auto;padding-bottom:.5rem}
.episode-card {min-width:0;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border-radius:10px;padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .2s,box-shadow .2s;border:1px solid rgba(255,255,255,.04);position:relative;overflow:hidden}
.episode-card::before {content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#b0402a,transparent);opacity:.7}
.episode-card:hover {transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.episode-number {font-size:.7rem;font-weight:700;color:#b0402a;letter-spacing:.1em;text-transform:uppercase}
.episode-title {font-size:1rem;font-weight:700;color:#e0e3e7;line-height:1.3}
.episode-summary {font-size:.78rem;color:#8a9099;line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.episode-duration {font-size:.7rem;color:#5f646d;font-weight:500}
.comments-masonry {columns:3;column-gap:0.75rem}
.comment-card {break-inside:avoid;margin-bottom:.75rem;background:rgba(255,255,255,.03);border-radius:10px;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.04);transition:background .2s}
.comment-card:hover {background:rgba(255,255,255,.05)}
.comment-card:nth-child(2n) {padding-bottom:1.4rem}
.comment-card:nth-child(3n) {padding-bottom:.8rem}
.comment-nickname {display:block;font-size:.72rem;font-weight:700;color:#b0402a;margin-bottom:.5rem;letter-spacing:.05em}
.comment-text {font-size:.82rem;line-height:1.7;color:#a8adb5}
.recommendation-region {padding:2.5rem 0}
.recommendation-title {font-size:1.1rem;font-weight:700;color:#c8ccd2;margin-bottom:1.2rem;letter-spacing:.06em;display:flex;align-items:center;gap:.6rem}
.recommendation-title::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(176,64,42,.4),transparent)}
.recommendation-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.rec-card {display:flex;flex-direction:column;gap:.4rem;background:rgba(255,255,255,.03);border-radius:10px;padding:.75rem;border:1px solid rgba(255,255,255,.04);transition:all .2s;text-decoration:none;color:#d5d8dc;font-size:.8rem}
.rec-card:hover {background:rgba(255,255,255,.06);border-color:rgba(176,64,42,.3);transform:translateY(-2px)}
.rec-card img {width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;background:#1b1e23}
.rec-card [data-runtime="name"] {font-weight:600;color:#e0e3e7;font-size:.85rem;line-height:1.3}
.rec-card [data-runtime="blurb"] {color:#767b84;font-size:.72rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recommendation-region[data-recommendation-region="1"] .rec-card {border-bottom:3px solid #b0402a}
.recommendation-region[data-recommendation-region="2"] .rec-card {border-bottom:3px solid #3a6ea5}
.recommendation-region[data-recommendation-region="3"] .rec-card {border-bottom:3px solid #7a5ea5}
.site-footer {background:#101216;border-top:1px solid rgba(255,255,255,.06);margin-top:2rem}
.footer-content {max-width:1480px;margin:0 auto;padding:2rem 1.5rem 2.5rem;display:flex;flex-direction:column;gap:1.5rem}
.friend-links {display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center}
.footer-label {font-size:.8rem;font-weight:600;color:#767b84;letter-spacing:.08em;margin-right:.4rem}
.runtime-friend-link {font-size:.78rem;color:#9aa0a8;text-decoration:none;transition:color .2s;white-space:nowrap}
.runtime-friend-link:hover {color:#b0402a;text-decoration:underline}
.footer-contracts {display:flex;gap:1.5rem;align-items:center;border-top:1px solid rgba(255,255,255,.05);padding-top:1.2rem}
.footer-contracts a {font-size:.82rem;color:#9aa0a8;text-decoration:none;transition:color .2s}
.footer-contracts a:hover {color:#e8eaed;text-decoration:underline}
.disclaimer {font-size:.72rem;color:#5f646d;line-height:1.7;border-left:2px solid rgba(255,255,255,.08);padding-left:1rem}
.player-wrapper.theater-mode {position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:85vw;z-index:200;box-shadow:0 0 60px rgba(0,0,0,.8);border-radius:12px}
.dim-lights .main-content, .dim-lights .site-footer {filter:brightness(.3) blur(2px);pointer-events:none}
.dim-lights .site-header {filter:brightness(.3)}
a[data-contract="site-name"] {color:#e8eaed;text-decoration:none}
a[data-contract="site-name"]:hover {color:#fff;text-decoration:none}
a.runtime-category {color:#9aa0a8;text-decoration:none}
a.runtime-category:hover {color:#e8eaed;text-decoration:none}
a.rec-card {color:#d5d8dc;text-decoration:none}
a.runtime-friend-link {color:#9aa0a8;text-decoration:none}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#9aa0a8;text-decoration:none}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#e8eaed;text-decoration:underline}
@media(max-width:1100px){.movie-overview {grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:1.8rem}
.episode-scroll {grid-template-columns:repeat(4,1fr)}
.comments-masonry {columns:2}
.timeline-zigzag {max-width:100%}}
@media(max-width:768px){.header-inner {padding:.5rem 1rem}
.main-content {padding:0 1rem}
.movie-overview {grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0}
.overview-poster-column {max-width:220px;margin:0 auto}
.poster-media-wrapper {max-width:100%}
.cast-grid {grid-template-columns:repeat(3,1fr);gap:.6rem}
.cast-avatar {width:50px;height:50px;font-size:1.1rem}
.details-list {grid-template-columns:1fr 1fr}
.timeline-zigzag::before {left:12px}
.timeline-entry {width:100%;padding-left:2.5rem!important;padding-right:0!important;text-align:left!important;flex-direction:row!important}
.timeline-entry::before {left:8px!important;right:auto!important}
.timeline-entry:nth-child(odd) {flex-direction:row}
.timeline-entry:nth-child(even) {left:0}
.episode-scroll {grid-template-columns:repeat(2,1fr);overflow-x:visible}
.comments-masonry {columns:1}
.recommendation-row {grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.rec-card {padding:.5rem}
.friend-links {gap:.4rem .8rem}
.footer-content {padding:1.5rem 1rem}
.ctrl-btn {padding:.25rem .45rem;font-size:.68rem}
.player-controls {gap:.25rem}
.ctrl-progress {min-width:60px}}
@media(max-width:480px){.site-logo {font-size:1rem}
.categories-nav {max-width:100%}
.movie-title {font-size:1.3rem}
.tagline {font-size:.82rem}
.cast-grid {grid-template-columns:1fr 1fr 1fr}
.cast-card {padding:.8rem .4rem}
.cast-avatar {width:42px;height:42px;font-size:.95rem}
.cast-name {font-size:.78rem}
.cast-role {font-size:.65rem}
.details-list {grid-template-columns:1fr}
.detail-item {font-size:.78rem}
.episode-scroll {grid-template-columns:1fr 1fr;gap:.5rem}
.episode-card {padding:.9rem .7rem}
.episode-title {font-size:.88rem}
.episode-summary {font-size:.72rem}
.recommendation-row {grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.rec-card [data-runtime="blurb"] {display:none}
.footer-contracts {flex-wrap:wrap;gap:.8rem}
.disclaimer {font-size:.65rem}}
@media(max-width:360px){.cast-grid {grid-template-columns:1fr}
.episode-scroll {grid-template-columns:1fr}
.recommendation-row {grid-template-columns:1fr 1fr}}

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}
