*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {background:#131014;color:#e8e0da;font-family:"Helvetica Neue",Arial,"Noto Sans SC",sans-serif;font-size:14px;line-height:1.5;letter-spacing:.02em}
img, video {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button, input {font:inherit;color:inherit;background:none;border:none}
button {cursor:pointer}
video {background:#0a0809}
.main-poster-img {width:100%;height:auto;display:block;object-fit:cover}
header {background:#1a1518;border-bottom:1px solid #3a2226;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;position:sticky;top:0;z-index:20}
.site-brand {font-size:1.05rem;font-weight:900;color:#c84b4b;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:4px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.site-brand:hover {border-color:#c84b4b}
.categories-shell {display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-left:auto}
.runtime-category {display:inline-block;padding:4px 10px;font-size:.8rem;color:#d9c7c3;background:#241d20;border:1px solid #3a2226;border-radius:2px;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.runtime-category:hover {background:#3a2226;color:#f0e0da;border-color:#c84b4b}
main {max-width:1400px;margin:0 auto;padding:0 16px 40px}
.movie-overview-shell {background:#1a1417;border:1px solid #3a2226;box-shadow:0 4px 20px rgba(0,0,0,.4);padding:20px;margin-top:16px;position:relative;overflow:hidden}
.movie-overview-shell::before {content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#c84b4b,#5a2a2a,#131014);z-index:1}
.hero-media-group {display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}
.poster-hero-wrap {position:relative;width:100%;max-width:320px;justify-self:start}
.poster-hero-wrap::after {content:"";position:absolute;top:-8px;right:-8px;width:40px;height:40px;border-top:3px solid #c84b4b;border-right:3px solid #c84b4b;opacity:.6;pointer-events:none}
.main-poster-img {aspect-ratio:2/3;width:100%;object-fit:cover;box-shadow:0 6px 18px rgba(0,0,0,.6)}
.player-shell {min-width:0;background:#0d0a0c;border:1px solid #2a1e22;padding:8px;position:relative}
.player-shell video {width:100%;height:auto;background:#000}
.player-controls {display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;padding:6px;background:#241d20;border:1px solid #3a2226}
.player-controls button {background:#3a2226;color:#e8e0da;border:1px solid #5a2a2a;padding:4px 8px;font-size:.75rem;border-radius:2px;transition:background .2s}
.player-controls button:hover {background:#c84b4b;color:#fff}
.player-controls input[type="range"] {width:100px;accent-color:#c84b4b}
.title-tagline-group {padding:8px 0 0;border-bottom:1px solid #3a2226;margin-bottom:16px}
.movie-title {font-size:1.6rem;font-weight:900;color:#f0e0da;letter-spacing:.04em;line-height:1.2;margin-bottom:4px}
.tagline {font-size:.95rem;color:#c84b4b;font-style:italic;letter-spacing:.05em;margin-bottom:8px}
.fragment-heading {font-size:1.1rem;font-weight:900;color:#d9c7c3;letter-spacing:.08em;border-left:4px solid #c84b4b;padding-left:10px;margin:18px 0 12px;text-transform:uppercase}
.cast-fragment, .episodes-fragment, .timeline-fragment, .synopsis-fragment, .episode-status-fragment, .details-fragment {border-bottom:1px solid #2a1e22;padding-bottom:16px;margin-bottom:8px}
.cast-scroll-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.cast-card {background:#241d20;border:1px solid #3a2226;padding:14px 10px;text-align:center;position:relative;transition:transform .2s,background .2s}
.cast-card::before {content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;height:3px;background:#c84b4b}
.cast-card:hover {transform:translateY(-2px);background:#2a1e22}
.actor-name {font-weight:700;color:#e8e0da;font-size:.95rem;letter-spacing:.05em}
.synopsis-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,240px);gap:16px;align-items:start}
.synopsis-text-group {padding-right:8px}
.synopsis-paragraph {font-size:.9rem;color:#cbbcb5;line-height:1.7;margin-bottom:10px;text-align:justify}
.synopsis-paragraph:first-of-type::first-letter {font-size:2em;font-weight:900;color:#c84b4b;float:left;margin-right:4px;line-height:1}
.synopsis-still {background:linear-gradient(135deg,#2a1e22 0%,#1a1417 60%,#3a2226 100%);border:1px solid #3a2226;min-height:180px;position:relative;overflow:hidden}
.synopsis-still::before {content:"";position:absolute;top:-20px;right:-20px;width:80px;height:80px;border-right:4px solid #c84b4b;border-top:4px solid transparent;transform:rotate(15deg)}
.synopsis-still::after {content:"剧照";position:absolute;bottom:8px;left:8px;font-size:.7rem;color:#5a4a4a;letter-spacing:.3em}
.timeline-vertical {border-left:2px solid #3a2226;margin-left:16px;padding-left:20px;display:grid;gap:12px}
.timeline-node {position:relative;display:flex;align-items:baseline;gap:8px;padding:6px 10px;background:#1a1417;border:1px solid #2a1e22;transition:background .2s}
.timeline-node::before {content:"";position:absolute;left:-26px;top:50%;transform:translateY(-50%);width:10px;height:10px;background:#c84b4b;border-radius:50%;box-shadow:0 0 6px #c84b4b}
.timeline-node:hover {background:#241d20}
.timecode {font-family:"Courier New",monospace;font-size:.85rem;font-weight:700;color:#c84b4b;white-space:nowrap}
.timeline-label {font-size:.9rem;color:#d9c7c3}
.episode-scroll-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.episode-card {background:#241d20;border:1px solid #3a2226;padding:12px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,transform .2s}
.episode-card:hover {border-color:#c84b4b;transform:translateY(-2px)}
.episode-number {font-weight:900;color:#c84b4b;font-size:.85rem;letter-spacing:.1em}
.episode-name {font-size:1rem;font-weight:700;color:#f0e0da}
.episode-summary {font-size:.8rem;color:#a89a94;line-height:1.5}
.episode-duration {font-size:.75rem;color:#6a5a5a;border-top:1px solid #2a1e22;padding-top:4px}
.episode-status-fragment .status-meta {display:flex;align-items:center;gap:12px;padding:8px 0}
.status-label {background:#c84b4b;color:#fff;font-weight:900;padding:4px 10px;font-size:.8rem;letter-spacing:.1em;border-radius:2px}
.status-current {color:#d9c7c3;font-size:.9rem;border-bottom:1px dotted #5a2a2a}
.details-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0;border:1px solid #2a1e22}
.detail-item {display:flex;flex-direction:column;padding:8px 10px;border-right:1px solid #2a1e22;border-bottom:1px solid #2a1e22;background:#1a1417}
.detail-item dt {font-size:.7rem;color:#6a5a5a;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px}
.detail-item dd {font-size:.9rem;color:#e8e0da;font-weight:600}
.comments-fragment {padding:16px 0;border-bottom:1px solid #3a2226;margin-bottom:8px}
.comments-masonry {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;align-items:start}
.comment-card {background:#1a1417;border:1px solid #2a1e22;padding:10px 12px;position:relative;break-inside:avoid}
.comment-card::after {content:"";position:absolute;bottom:0;left:0;width:30px;height:2px;background:#c84b4b}
.comment-nickname {display:block;font-size:.85rem;font-weight:700;color:#c84b4b;margin-bottom:6px;letter-spacing:.05em}
.comment-text {font-size:.85rem;color:#b5a7a0;line-height:1.6}
.recommendation-region {padding:16px 0;border-bottom:1px solid #3a2226}
.data-recommendation-title {font-size:1.1rem;font-weight:900;color:#d9c7c3;letter-spacing:.08em;border-left:4px solid #c84b4b;padding-left:10px;margin-bottom:12px;text-transform:uppercase}
.recommendation-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.rec-item {background:#1a1417;border:1px solid #2a1e22;padding:8px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,transform .2s,background .2s}
.rec-item:hover {border-color:#c84b4b;transform:translateY(-2px);background:#241d20}
.rec-item img {width:100%;aspect-ratio:2/3;object-fit:cover;background:#0d0a0c}
.rec-item span {font-size:.8rem;color:#e8e0da;line-height:1.4}
.rec-item span[data-runtime="name"] {font-weight:700;color:#f0e0da;letter-spacing:.03em}
.rec-item span[data-runtime="blurb"] {font-size:.75rem;color:#a89a94;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {background:#1a1518;border-top:1px solid #3a2226;padding:20px 16px 32px;margin-top:24px}
.disclaimer-text {font-size:.75rem;color:#6a5a5a;line-height:1.6;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #2a1e22}
.friend-links {display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:.8rem;margin-bottom:12px}
.friend-label {color:#6a5a5a;white-space:nowrap}
.runtime-friend-link {color:#a89a94;border-bottom:1px dotted #3a2226;transition:color .2s,border-color .2s;padding:2px 0}
.runtime-friend-link:hover {color:#c84b4b;border-color:#c84b4b}
.footer-links {display:flex;gap:16px;font-size:.8rem;color:#6a5a5a}
.footer-links a {color:#a89a94;border-bottom:1px dotted #3a2226;transition:color .2s,border-color .2s}
.footer-links a:hover {color:#c84b4b;border-color:#c84b4b}
@media (max-width: 1024px){.hero-media-group {grid-template-columns:1fr}
.poster-hero-wrap {max-width:280px}
.synopsis-layout {grid-template-columns:1fr}
.synopsis-still {min-height:140px}}
@media (max-width: 768px){body {font-size:13px}
.movie-overview-shell {padding:14px}
.hero-media-group {gap:12px}
.poster-hero-wrap {max-width:200px}
.title-tagline-group .movie-title {font-size:1.3rem}
.cast-scroll-row, .episode-scroll-row, .recommendation-row {grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.details-list {grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.comments-masonry {grid-template-columns:1fr}
.player-controls input[type="range"] {width:60px}}
@media (max-width: 480px){main {padding:0 8px 24px}
header {padding:10px 8px;gap:8px}
.categories-shell {gap:2px}
.runtime-category {padding:3px 6px;font-size:.7rem}
.movie-overview-shell {padding:10px}
.hero-media-group {grid-template-columns:1fr}
.poster-hero-wrap {max-width:180px}
.movie-title {font-size:1.1rem;line-height:1.3}
.cast-scroll-row, .episode-scroll-row, .recommendation-row {grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}
.timeline-vertical {margin-left:10px;padding-left:14px}
.timeline-node {flex-wrap:wrap}
.timecode {font-size:.75rem}
.timeline-label {font-size:.8rem}
.details-list {grid-template-columns:repeat(2,1fr)}
.detail-item {border-right:none;border-bottom:1px solid #2a1e22}
.player-controls {flex-wrap:wrap;gap:4px}
.player-controls button {font-size:.7rem;padding:3px 6px}
.player-controls input[type="range"] {width:50px}
.footer-links {flex-wrap:wrap;gap:8px}
.rec-item span[data-runtime="blurb"] {-webkit-line-clamp:3}}
@media (max-width: 360px){.cast-scroll-row, .episode-scroll-row, .recommendation-row {grid-template-columns:1fr 1fr}
.poster-hero-wrap {max-width:150px}
.movie-title {font-size:1rem}}

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}
