*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#0d1117;color:#c9d1d9;line-height:1.6;font-size:14px;overflow-x:hidden}
img, video {max-width:100%;height:auto;display:block}
a {color:inherit;text-decoration:none}
ul {list-style:none}
button {font:inherit;color:inherit;background:none;border:none}
button {cursor:pointer}
header {position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:rgba(13,17,23,.92);backdrop-filter:blur(8px);border-bottom:1px solid #1f2937}
[data-contract="site-name"] {font-size:18px;font-weight:700;letter-spacing:.5px;color:#f97316;text-transform:uppercase;transition:color .2s}
[data-contract="site-name"]:hover {color:#fb923c}
[data-contract="categories"] {display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;max-width:70%}
.runtime-category {display:inline-block;padding:4px 12px;font-size:13px;color:#8b949e;border:1px solid #1f2937;border-radius:2px;white-space:nowrap;transition:all .2s}
.runtime-category:hover {color:#f97316;border-color:#f97316;background:rgba(249,115,22,.08)}
@keyframes pulse-warning{0%,100%{opacity:1}50%{opacity:.6}}
main {max-width:1200px;margin:0 auto;padding:0 12px}
.movie-overview-shell {display:grid;grid-template-columns:minmax(200px,260px) 1fr;grid-template-rows:auto auto auto;gap:16px 24px;padding:20px 0;border-bottom:1px solid #1f2937;background:transparent}
.poster-wrapper {grid-row:1/4;position:relative;aspect-ratio:2/3;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 88%,96% 100%,0 100%);background:#111827;border:1px solid #1f2937}
.poster-wrapper img {width:100%;height:100%;object-fit:cover}
.poster-badge {position:absolute;top:8px;left:8px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;clip-path:polygon(0 0,100% 0,85% 100%,0 100%);letter-spacing:1px}
.title-group {grid-column:2;align-self:end}
.title-group h1 {font-size:24px;font-weight:800;color:#f1f5f9;line-height:1.3;position:relative;padding-left:12px}
.title-group h1::before {content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:#f97316;clip-path:polygon(0 0,100% 20%,100% 80%,0 100%)}
.tagline {font-size:13px;color:#8b949e;margin-top:6px;letter-spacing:.3px}
.details-panel {grid-column:2}
.details-list {display:grid;grid-template-columns:repeat(2,1fr);gap:4px 20px}
.details-list li {display:flex;gap:8px;font-size:13px;padding:3px 0;border-bottom:1px dashed #1f2937}
.detail-label {color:#6b7280;flex-shrink:0;min-width:60px}
.detail-value {color:#d1d5db}
.rating-highlight {color:#f97316;font-weight:700;font-size:15px}
.synopsis-block {grid-column:2;padding-top:8px}
.block-heading {font-size:16px;font-weight:700;color:#f1f5f9;margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid #f97316;display:inline-block;position:relative}
.synopsis-block p {font-size:13px;color:#9ca3af;margin-bottom:6px;line-height:1.7}
.cast-grid {grid-column:2;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:10px}
.cast-grid .block-heading {grid-column:1/-1}
.actor-card {background:#111827;border:1px solid #1f2937;padding:10px 8px;text-align:center;clip-path:polygon(0 0,100% 0,100% 90%,90% 100%,0 100%);transition:border-color .2s}
.actor-card:hover {border-color:#f97316}
.actor-avatar {width:48px;height:48px;margin:0 auto 6px;background:linear-gradient(135deg,#1f2937,#374151);color:#f97316;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.actor-card h3 {font-size:13px;color:#e5e7eb;margin-bottom:2px;font-weight:600}
.actor-role {font-size:11px;color:#6b7280}
.episode-status-bar {grid-column:2;display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(249,115,22,.06);border-left:4px solid #f97316;font-size:13px;flex-wrap:wrap;margin-top:4px}
.episode-count {color:#f97316;font-weight:700;letter-spacing:1px}
.episode-divider {color:#374151}
.episode-current {color:#9ca3af}
.episode-jump {color:#f97316;font-weight:600;text-decoration:underline;transition:color .2s;margin-left:auto}
.episode-jump:hover {color:#fb923c}
video[data-contract="player"] {display:block;width:100%;max-width:960px;margin:0 auto;background:#000;border:1px solid #1f2937;clip-path:polygon(0 0,100% 0,100% 92%,98% 100%,0 100%)}
.player-controls {display:flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:8px 12px;background:#0a0e14;border:1px solid #1f2937;border-top:none;margin:0 auto 20px;max-width:960px}
.player-controls button {font-size:12px;padding:4px 10px;color:#8b949e;border:1px solid #1f2937;transition:all .2s}
.player-controls button:hover {color:#f97316;border-color:#f97316;background:rgba(249,115,22,.08)}
.timeline-section {padding:20px 0;border-bottom:1px solid #1f2937}
.timeline-line {position:relative;padding-left:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.timeline-line::before {content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#f97316,#1f2937)}
.timeline-node {position:relative;padding:8px 10px;background:#111827;border:1px solid #1f2937;border-left:3px solid #f97316;transition:background .2s}
.timeline-node::before {content:"";position:absolute;left:-22px;top:12px;width:10px;height:10px;background:#f97316;transform:rotate(45deg)}
.timeline-time {display:block;font-size:12px;color:#f97316;font-weight:700;margin-bottom:4px;letter-spacing:.5px}
.timeline-label {display:block;font-size:12px;color:#9ca3af;line-height:1.5}
.episodes-section {padding:20px 0;border-bottom:1px solid #1f2937}
.episode-cards-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.episode-card {background:#111827;border:1px solid #1f2937;padding:10px 12px;position:relative;transition:border-color .2s,transform .2s;display:flex;flex-direction:column}
.episode-card:hover {border-color:#f97316;transform:translateY(-2px)}
.episode-card-current {border-color:#f97316;background:rgba(249,115,22,.06)}
.episode-card-current::after {content:"最新";position:absolute;top:0;right:0;background:#dc2626;color:#fff;font-size:10px;padding:1px 6px;font-weight:700}
.episode-number {font-size:24px;font-weight:800;color:#1f2937;margin-bottom:4px;line-height:1}
.episode-card-current .episode-number {color:#f97316}
.episode-card h3 {font-size:14px;color:#e5e7eb;margin-bottom:4px;font-weight:600}
.episode-card p {font-size:12px;color:#6b7280;line-height:1.5;flex-grow:1}
.episode-duration {display:block;font-size:11px;color:#8b949e;margin-top:6px;padding-top:6px;border-top:1px solid #1f2937}
.comments-section {padding:20px 0;border-bottom:1px solid #1f2937}
.comments-masonry {display:grid;grid-template-columns:repeat(2,1fr);gap:8px;align-items:start}
.comment-card {background:rgba(17,24,39,.8);border:1px solid #1f2937;padding:12px;border-top:3px solid #f97316;transition:background .2s}
.comment-card:hover {background:#111827}
.comment-card:nth-child(even) {margin-top:12px}
.comment-nickname {font-size:13px;color:#f97316;font-weight:700;margin-bottom:4px}
.comment-card p {font-size:12px;color:#9ca3af;line-height:1.6}
.recommendation-region {padding:20px 0;border-bottom:1px solid #1f2937}
.recommendation-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
[data-runtime="recommendation"] {background:#111827;border:1px solid #1f2937;display:flex;flex-direction:column;padding:8px;transition:border-color .2s,transform .2s;position:relative}
[data-runtime="recommendation"]:hover {border-color:#f97316;transform:translateY(-3px)}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:2/3;object-fit:cover;margin-bottom:8px;background:#1f2937;clip-path:polygon(0 0,100% 0,100% 90%,90% 100%,0 100%)}
[data-runtime="name"] {display:block;font-size:13px;color:#e5e7eb;font-weight:600;margin-bottom:2px}
[data-runtime="blurb"] {display:block;font-size:11px;color:#6b7280;line-height:1.4}
footer {background:#0a0e14;border-top:1px solid #1f2937;padding:24px 20px;margin-top:20px}
[data-contract="disclaimer"] {font-size:12px;color:#4b5563;line-height:1.6;margin-bottom:12px}
.footer-nav {display:flex;gap:16px;margin-bottom:12px}
[data-contract="footer-home"], [data-contract="footer-sitemap"] {font-size:13px;color:#8b949e;transition:color .2s}
[data-contract="footer-home"]:hover, [data-contract="footer-sitemap"]:hover {color:#f97316;text-decoration:underline}
[data-contract="friend-links"] {display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-top:12px}
.friend-links-label {font-size:12px;color:#6b7280;margin-right:4px}
.runtime-friend-link {font-size:12px;color:#8b949e;padding-right:8px;border-right:1px solid #1f2937;transition:color .2s}
.runtime-friend-link:hover {color:#f97316;text-decoration:underline}
.runtime-friend-link:last-child {border-right:none}
.lights-dim main, .lights-dim header, .lights-dim footer {filter:brightness(.6) contrast(1.1)}
.lights-dim .movie-overview-shell {background:rgba(0,0,0,.3)}
video.theater-mode {max-width:100%;border:none;clip-path:none}
@media (max-width:768px){header {padding:10px 12px}
[data-contract="categories"] {max-width:60%}
main {padding:0 8px}
.movie-overview-shell {grid-template-columns:140px 1fr;gap:12px}
.poster-wrapper {grid-row:1/3}
.title-group {grid-column:2}
.details-panel {grid-column:2}
.synopsis-block {grid-column:2}
.cast-grid {grid-column:2}
.episode-status-bar {grid-column:2}
.title-group h1 {font-size:18px}
.details-list {grid-template-columns:1fr}
.cast-grid {grid-template-columns:repeat(2,1fr)}
.comments-masonry {grid-template-columns:1fr}
.recommendation-row {grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.timeline-line {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.episode-cards-row {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.player-controls button {font-size:11px;padding:3px 8px}}
@media (max-width:480px){header {flex-direction:column;align-items:flex-start;gap:8px}
[data-contract="categories"] {max-width:100%;width:100%}
.movie-overview-shell {grid-template-columns:1fr}
.poster-wrapper {grid-row:auto;aspect-ratio:2/3;max-width:200px;margin:0 auto}
.title-group {grid-column:1}
.details-panel {grid-column:1}
.synopsis-block {grid-column:1}
.cast-grid {grid-column:1}
.episode-status-bar {grid-column:1}
.details-list {grid-template-columns:1fr}
.cast-grid {grid-template-columns:repeat(2,1fr)}
.timeline-line {grid-template-columns:1fr;padding-left:20px}
.episode-cards-row {grid-template-columns:1fr}
.recommendation-row {grid-template-columns:repeat(2,1fr)}
.comments-masonry {grid-template-columns:1fr}
.comment-card:nth-child(even) {margin-top:0}
.episode-status-bar {gap:6px}
.episode-jump {margin-left:0}
.footer-nav {flex-wrap:wrap}
[data-contract="friend-links"] {gap:4px 6px}}
@media (max-width:360px){.cast-grid {grid-template-columns:1fr}
.recommendation-row {grid-template-columns:1fr}}
@media print{header, footer, .player-controls, video {display:none}
body {background:#fff;color:#000}
.movie-overview-shell {grid-template-columns:1fr}
.poster-wrapper {max-width:150px}
.timeline-line::before {background:#000}
.timeline-node::before {background:#000}}

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}
