*, * {margin:0;padding:0;box-sizing:border-box}
html {scroll-behavior:smooth}
body {background:#0f1419;color:#cfd8dc;font-family:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.5;font-size:15px;overflow-x:hidden}
img, video {max-width:100%;display:block}
a {color:inherit;text-decoration:none}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
header {position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:12px 4vw;background:rgba(15,20,25,.92);backdrop-filter:blur(10px);border-bottom:1px solid #1f2937}
a[data-contract="site-name"] {font-size:1.3rem;font-weight:800;letter-spacing:.12em;color:#ffd54f;text-transform:uppercase;transition:color .2s}
a[data-contract="site-name"]:hover {color:#ffb300}
nav[data-contract="categories"] {display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;padding:2px 0}
a.runtime-category {display:inline-block;padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:600;color:#90a4ae;white-space:nowrap;transition:all .2s;border:1px solid transparent}
a.runtime-category:hover {color:#ffd54f;border-color:#ffd54f;background:rgba(255,213,79,.08)}
main {max-width:1440px;margin:0 auto;padding:0 2vw}
.zone-hero {padding:40px 0 20px}
.zone-map-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,520px);gap:0;align-items:start;position:relative}
.zone-map-shell {position:relative;height:100%;min-height:600px;border-radius:12px;overflow:hidden;background:#1a2332;margin-right:24px}
.map-color-zone {position:absolute;top:0;bottom:0;width:33.333%;opacity:.7}
.map-zone-cold {left:0;background:linear-gradient(180deg,#1565c0,#0d47a1 60%,#1a237e)}
.map-zone-warm {left:33.333%;background:linear-gradient(180deg,#e65100,#bf360c 60%,#4e342e)}
.map-zone-purple {left:66.666%;background:linear-gradient(180deg,#4a148c,#311b92 60%,#1a1a2e)}
.map-zone-cold::before, .map-zone-warm::before, .map-zone-purple::before {content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 1px,transparent 1px),radial-gradient(circle at 80% 70%,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px,30px 30px}
.film-strip-overlay {position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:12px 8px;pointer-events:none;z-index:2}
.sprocket-hole-row {display:flex;justify-content:space-between;padding:0 4px}
.sprocket-hole-row::before, .sprocket-hole-row::after {content:"";width:14px;height:18px;background:rgba(255,255,255,.18);border-radius:2px;box-shadow:0 0 6px rgba(255,255,255,.1)}
.zone-map-shell::after {content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.3),transparent 40%,rgba(0,0,0,.2));z-index:1}
.movie-info-shell {background:linear-gradient(180deg,#151c24,#10161d);border-radius:12px;padding:24px 20px;border:1px solid #1f2937;display:flex;flex-direction:column;gap:20px}
.title-group {margin-bottom:4px}
.movie-title {font-size:1.5rem;font-weight:800;color:#eceff1;line-height:1.3;letter-spacing:.01em}
.tagline {color:#ffd54f;font-size:.9rem;margin-top:6px;letter-spacing:.05em;font-weight:500}
.poster-media-wrapper {width:100%;max-width:300px;margin:0 auto;border-radius:8px;overflow:hidden;background:#0a0e12;border:1px solid #263238}
.main-poster-img {width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;display:block}
@supports not (aspect-ratio:2/3){.main-poster-img {height:420px}}
.synopsis-block, .cast-block, .episode-status-block, .details-block {padding-top:8px;border-top:1px solid #1f2937}
.section-heading-wrap {margin-bottom:10px}
.section-title {font-size:1rem;font-weight:700;color:#ffd54f;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px;white-space:nowrap}
.section-title::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,#ffd54f66,transparent)}
.synopsis-columns {display:grid;grid-template-columns:1fr;gap:8px}
.synopsis-paragraph {font-size:.88rem;color:#b0bec5;line-height:1.6;text-align:justify}
.cast-card-row {display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.actor-card {display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:8px 4px}
.actor-avatar-circle {width:52px;height:52px;border-radius:50%;background:conic-gradient(from 180deg,#1565c0,#e65100,#4a148c,#1565c0);position:relative;overflow:hidden;border:2px solid #ffd54f}
.actor-avatar-circle::before {content:"";position:absolute;top:8%;left:50%;transform:translateX(-50%);width:45%;height:45%;background:rgba(255,255,255,.25);border-radius:50% 50% 40% 40%}
.actor-avatar-circle::after {content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:70%;height:35%;background:rgba(255,255,255,.15);border-radius:50% 50% 0 0}
.actor-name {font-size:.8rem;font-weight:600;color:#eceff1;line-height:1.3}
.status-meta-row {display:flex;gap:20px;margin-bottom:10px;flex-wrap:wrap}
.status-total, .status-current {font-size:.85rem;color:#90a4ae;font-weight:600;background:#1a2332;padding:3px 12px;border-radius:12px;border:1px solid #263238}
.player-wrapper {position:relative;width:100%;min-width:0;border-radius:8px;overflow:hidden;background:#000;margin-bottom:8px}
.player-wrapper video {display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}
.player-controls-panel {display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#1a2332;border-radius:8px;padding:8px;border:1px solid #263238}
.player-control-btn {font-size:.75rem;padding:4px 10px;background:#263238;border-radius:4px;color:#b0bec5;transition:all .2s;white-space:nowrap}
.player-control-btn:hover {background:#37474f;color:#fff}
.player-progress-bar, .player-volume-control {flex:1 1 120px;min-width:80px;height:4px;background:#37474f;border-radius:2px;appearance:none;-webkit-appearance:none;accent-color:#ffd54f}
.player-progress-bar::-webkit-slider-thumb, .player-volume-control::-webkit-slider-thumb {-webkit-appearance:none;width:12px;height:12px;background:#ffd54f;border-radius:50%;cursor:pointer}
.player-progress-bar {flex:2 1 180px}
.details-grid {display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.detail-item {display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px dotted #263238}
.detail-label {font-size:.78rem;color:#78909c;white-space:nowrap}
.detail-value {font-size:.82rem;color:#eceff1;text-align:right;font-weight:500}
.zone-timeline {padding:40px 0 20px;border-top:1px solid #1f2937}
.timeline-vertical {position:relative;display:flex;flex-direction:column;gap:0;padding-left:0;max-width:800px;margin:0 auto}
.timeline-vertical::before {content:"";position:absolute;left:24px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#1565c0,#e65100,#4a148c);opacity:.6}
.timeline-node {position:relative;padding:12px 0 12px 60px;display:flex;flex-direction:column;gap:4px}
.timeline-node::before {content:"";position:absolute;left:18px;top:20px;width:14px;height:14px;border-radius:50%;background:#ffd54f;border:3px solid #0f1419;box-shadow:0 0 0 2px #ffd54f;z-index:1}
.timecode-chip {font-size:.75rem;font-weight:700;color:#0f1419;background:#ffd54f;display:inline-block;padding:2px 10px;border-radius:10px;width:fit-content;letter-spacing:.05em}
.timeline-label {font-size:.9rem;color:#b0bec5;line-height:1.5;max-width:520px}
.zone-episodes {padding:40px 0 20px}
.episode-vertical-list {display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #1f2937}
.episode-item {display:flex;gap:16px;padding:16px 12px;border-bottom:1px solid #1f2937;border-left:1px solid #1f2937;align-items:flex-start;transition:background .2s}
.episode-item:nth-child(-n/**/+2) {border-top:none}
.episode-item:hover {background:rgba(255,213,79,.04)}
.episode-number-large {font-size:2rem;font-weight:800;color:#263238;line-height:1;min-width:2ch;text-align:right;text-shadow:0 0 20px rgba(255,213,79,.2);font-style:italic}
.episode-info {display:flex;flex-direction:column;gap:4px;min-width:0}
.episode-name {font-size:.95rem;font-weight:700;color:#eceff1}
.episode-summary {font-size:.8rem;color:#90a4ae;line-height:1.4}
.episode-duration {font-size:.72rem;color:#ffd54f;font-weight:600;letter-spacing:.03em}
.zone-comments {padding:40px 0 20px;border-top:1px solid #1f2937}
.comments-grid {display:grid;grid-template-columns:1fr 1fr;gap:10px}
.comment-card {background:#151c24;border:1px solid #263238;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s}
.comment-card:hover {border-color:#ffd54f66}
.commenter-name {font-size:.82rem;font-weight:700;color:#ffd54f;letter-spacing:.02em}
.comment-text {font-size:.85rem;color:#b0bec5;line-height:1.5}
.recommendation-zone {padding:40px 0 20px;border-top:1px solid #1f2937}
.recommendation-title {font-size:1.1rem;font-weight:700;color:#eceff1;margin-bottom:16px;letter-spacing:.03em;display:flex;align-items:center;gap:10px}
.recommendation-title::before {content:"";width:4px;height:1.2em;background:#ffd54f;border-radius:2px}
.recommendation-card-row {display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.recommendation-item {display:flex;flex-direction:column;gap:8px;background:#151c24;border:1px solid #263238;border-radius:8px;padding:10px;transition:all .2s;text-decoration:none;color:inherit}
.recommendation-item:hover {border-color:#ffd54f;transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.3)}
.recommendation-item img {width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:4px;background:#0a0e12}
.recommendation-item [data-runtime="name"] {font-size:.88rem;font-weight:700;color:#eceff1;line-height:1.3}
.recommendation-item [data-runtime="blurb"] {font-size:.78rem;color:#90a4ae;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.2em}
footer {margin-top:60px;padding:32px 4vw 24px;border-top:1px solid #1f2937;background:#0d1116}
.footer-disclaimer {font-size:.78rem;color:#78909c;text-align:center;margin-bottom:20px;line-height:1.6;max-width:800px;margin-left:auto;margin-right:auto}
.footer-links {display:flex;justify-content:center;gap:24px;margin-bottom:20px}
.footer-link-item {font-size:.85rem;color:#90a4ae;transition:color .2s;padding:4px 8px}
.footer-link-item:hover {color:#ffd54f}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#90a4ae;text-decoration:none;transition:color .2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#ffd54f;text-decoration:underline}
.friend-links-nav {display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;padding-top:16px;border-top:1px solid #1f2937}
.friend-links-label {font-size:.78rem;color:#78909c;font-weight:600;margin-right:8px;white-space:nowrap}
.runtime-friend-link {font-size:.78rem;color:#546e7a;text-decoration:none;padding:2px 10px;border:1px solid #263238;border-radius:12px;transition:all .2s;white-space:nowrap}
.runtime-friend-link:hover {color:#ffd54f;border-color:#ffd54f66;text-decoration:none;background:rgba(255,213,79,.05)}
.lights-dimmed {filter:brightness(.85)}
.lights-dimmed main, .lights-dimmed header, .lights-dimmed footer {transition:filter .3s}
.player.theater-mode {position:fixed;inset:0;z-index:9999;width:100vw;height:100vh;object-fit:contain;background:#000}
.player-controls-panel:has(.player-control-btn:focus) {outline:1px solid #ffd54f}
.video.fullscreen {background:#000}
.video.pip {position:fixed;bottom:20px;right:20px;width:320px;height:180px;z-index:10000;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.6)}
.video.mute {opacity:.7}
.video.play {box-shadow:0 0 20px rgba(255,213,79,.15)}
@media (max-width:1024px){.zone-map-layout {grid-template-columns:1fr}
.zone-map-shell {min-height:300px;height:300px;margin-right:0;margin-bottom:16px}
.movie-info-shell {max-width:100%}
.episode-vertical-list {grid-template-columns:1fr 1fr}}
@media (max-width:768px){main {padding:0 4vw}
.movie-title {font-size:1.2rem}
.cast-card-row {grid-template-columns:repeat(2,1fr)}
.episode-vertical-list {grid-template-columns:1fr}
.episode-item:nth-child(-n/**/+2) {border-top:1px solid #1f2937}
.comments-grid {grid-template-columns:1fr}
.recommendation-card-row {grid-template-columns:1fr}
.details-grid {grid-template-columns:1fr 1fr}
.timeline-node {padding-left:48px}
.timeline-vertical::before {left:18px}
.timeline-node::before {left:12px;width:12px;height:12px}
.player-controls-panel {gap:4px}
.player-control-btn {padding:4px 6px;font-size:.7rem}}
@media (max-width:480px){header {padding:10px 3vw;flex-direction:column;gap:8px;align-items:flex-start}
.zone-map-shell {height:220px}
.movie-info-shell {padding:16px 14px}
.synopsis-columns {grid-template-columns:1fr}
.cast-card-row {grid-template-columns:repeat(2,1fr)}
.details-grid {grid-template-columns:1fr}
.player-controls-panel {flex-direction:row;overflow-x:auto}
.player-progress-bar {min-width:100%;flex-basis:100%}
.recommendation-card-row {grid-template-columns:1fr}
.footer-links {flex-wrap:wrap;gap:12px}
.friend-links-nav {justify-content:flex-start}
.episode-item {gap:10px}
.episode-number-large {font-size:1.6rem}}
@media (max-width:360px){main {padding:0 2vw}
.movie-title {font-size:1.05rem}
.cast-card-row {grid-template-columns:1fr 1fr}
.actor-avatar-circle {width:44px;height:44px}
.actor-name {font-size:.72rem}}

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}
