*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {-webkit-text-size-adjust:100%}
body {line-height:1.5;font-family:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif}
.page-shell {max-width:1440px;margin:0 auto;background:#0a1428;color:#d8e0ee;min-height:100vh;padding:0 24px}
.site-header {display:flex;align-items:center;gap:32px;padding:24px 0 20px;border-bottom:1px solid rgba(120,160,220,.15);position:sticky;top:0;background:rgba(10,20,40,.92);backdrop-filter:blur(8px);z-index:100}
.brand-logo {font-size:26px;font-weight:900;letter-spacing:2px;background:linear-gradient(135deg,#e63946,#ff6b6b);-webkit-background-clip:text;background-clip:text;color:transparent;text-decoration:none;white-space:nowrap;flex-shrink:0}
.brand-logo:hover {opacity:.85}
.category-strip {display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;flex:1}
.category-strip::-webkit-scrollbar {height:4px}
.category-strip::-webkit-scrollbar-thumb {background:rgba(230,57,70,.5);border-radius:2px}
.runtime-category {color:#9fb3d1;text-decoration:none;font-size:14px;padding:6px 12px;border:1px solid rgba(120,160,220,.2);border-radius:20px;white-space:nowrap;transition:background .2s,color .2s;flex-shrink:0;background:rgba(20,35,60,.4)}
.runtime-category:hover {background:rgba(230,57,70,.2);color:#ff6b6b;border-color:rgba(230,57,70,.4)}
.main-shell {padding:32px 0 48px}
.movie-overview {display:grid;grid-template-columns:280px 1fr;gap:0;background:linear-gradient(145deg,#0e1a30,#12203a);border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.5);border:1px solid rgba(120,160,220,.12);position:relative}
.movie-overview::before {content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e63946,#ff6b6b,#e63946);opacity:.7;z-index:2}
.poster-wrapper {padding:28px 20px 28px 28px;display:flex;align-items:flex-start}
.main-poster {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.6);border:2px solid rgba(230,57,70,.3);background:#16233d}
.overview-content {padding:28px 32px 28px 0;display:flex;flex-direction:column;gap:20px}
.movie-title {font-size:32px;font-weight:800;color:#f0f4fa;letter-spacing:2px;line-height:1.2;text-shadow:0 2px 12px rgba(230,57,70,.2)}
.tagline {font-size:15px;color:#e63946;letter-spacing:4px;font-weight:500;margin-top:-8px;padding-left:4px;border-left:3px solid #e63946}
.cast-panel {display:flex;flex-direction:column;gap:10px}
.section-label {font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#7a90b0;border-bottom:1px solid rgba(120,160,220,.12);padding-bottom:6px;margin-bottom:2px}
.actor-grid {display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.actor-chip {background:rgba(230,57,70,.08);border:1px solid rgba(230,57,70,.25);color:#ff8a8a;padding:6px 16px;border-radius:20px;font-size:14px;font-weight:600;letter-spacing:1px;transition:background .2s,transform .2s}
.actor-chip:hover {background:rgba(230,57,70,.18);transform:translateY(-2px)}
.synopsis-block {display:flex;flex-direction:column;gap:8px}
.synopsis-paragraph {font-size:14px;line-height:1.7;color:#a8b8d0;text-align:justify;max-width:720px}
.episode-status {display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:16px 0;border-top:1px solid rgba(120,160,220,.12);border-bottom:1px solid rgba(120,160,220,.12)}
.current-episode {font-size:15px;color:#ff6b6b;font-weight:700;background:rgba(230,57,70,.1);padding:6px 14px;border-radius:20px;letter-spacing:1px}
.total-episodes {font-size:13px;color:#7a90b0;padding:6px 14px;border:1px solid rgba(120,160,220,.2);border-radius:20px;letter-spacing:1px}
.player-context {flex-basis:100%;margin-top:8px;background:#060d18;border-radius:12px;padding:12px;border:1px solid rgba(120,160,220,.15)}
.player-context video {display:block;border-radius:6px;background:#000}
.player-context.theater-mode {position:fixed;inset:0;z-index:200;background:#000;border-radius:0;display:flex;align-items:center;justify-content:center;padding:0}
.player-context.theater-mode video {max-height:100vh;width:auto;max-width:100vw}
.player-context.theater-mode .player-controls {position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.8);border-radius:30px;padding:8px 16px;z-index:210}
.player-controls {display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.player-controls button {background:rgba(20,35,60,.6);color:#9fb3d1;border:1px solid rgba(120,160,220,.2);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}
.player-controls button:hover {background:rgba(230,57,70,.3);color:#fff;border-color:rgba(230,57,70,.5)}
.movie-overview.lights-down {filter:brightness(.45)}
.movie-overview.lights-down .player-context {filter:brightness(1.8);box-shadow:0 0 60px rgba(230,57,70,.3)}
.detail-sheet {display:flex;flex-direction:column;gap:8px}
.detail-list {display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.detail-item {background:rgba(20,35,60,.4);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;border:1px solid rgba(120,160,220,.08)}
.detail-item dt {font-size:11px;color:#7a90b0;letter-spacing:1px}
.detail-item dd {font-size:14px;color:#d8e0ee;font-weight:600}
.timeline-section {padding:40px 0 32px}
.section-label--timeline {font-size:16px;color:#ff6b6b;letter-spacing:4px;border-bottom:1px solid rgba(230,57,70,.2);padding-bottom:10px;margin-bottom:20px}
.timeline-list {list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.timeline-list::before {content:"";position:absolute;top:12px;left:0;right:0;height:2px;background:linear-gradient(90deg,#e63946,#ff6b6b,#e63946);opacity:.3}
.timeline-item {position:relative;padding:28px 16px 16px;background:rgba(20,35,60,.4);border-radius:10px;border:1px solid rgba(120,160,220,.1)}
.timeline-item::before {content:"";position:absolute;top:5px;left:16px;width:16px;height:16px;border-radius:50%;background:#0a1428;border:3px solid #e63946;box-shadow:0 0 12px rgba(230,57,70,.6)}
.timecode {display:block;font-size:15px;font-weight:800;color:#ff6b6b;margin-bottom:6px;letter-spacing:1px}
.timeline-desc {font-size:13px;color:#a8b8d0;line-height:1.6}
.episodes-section {padding:8px 0 32px}
.episode-card-row {display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.episode-card {background:linear-gradient(160deg,#101c30,#0d1626);border-radius:12px;padding:18px;border:1px solid rgba(120,160,220,.15);border-top:3px solid #e63946;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}
.episode-card:hover {transform:translateY(-4px);box-shadow:0 8px 24px rgba(230,57,70,.15)}
.episode-number {font-size:36px;font-weight:900;color:rgba(230,57,70,.25);line-height:1;position:absolute}
.episode-card .episode-number {position:static;color:#e63946;opacity:.4;font-size:28px;margin-bottom:-8px}
.episode-title {font-size:18px;font-weight:700;color:#f0f4fa;letter-spacing:2px;margin-top:4px}
.episode-summary {font-size:13px;color:#8fa3bf;line-height:1.6;flex:1}
.episode-duration {font-size:12px;color:#7a90b0;letter-spacing:1px;border-top:1px solid rgba(120,160,220,.1);padding-top:8px}
.comments-section {padding:8px 0 32px}
.comments-scroll {display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}
.comments-scroll::-webkit-scrollbar {height:6px}
.comments-scroll::-webkit-scrollbar-thumb {background:rgba(230,57,70,.4);border-radius:3px}
.comment-card {flex:0 0 280px;background:rgba(20,35,60,.5);border-radius:12px;padding:16px 18px;border:1px solid rgba(120,160,220,.12);display:flex;flex-direction:column;gap:8px;min-width:0}
.comment-nickname {font-size:14px;font-weight:700;color:#ff8a8a;letter-spacing:1px}
.comment-text {font-size:13px;color:#a8b8d0;line-height:1.6}
.recommendation-region {padding:8px 0 28px}
.recommendation-heading {font-size:18px;font-weight:700;color:#f0f4fa;letter-spacing:3px;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.recommendation-heading::before {content:"";width:28px;height:3px;background:#e63946;border-radius:2px}
.recommendation-grid {display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.recommendation-card {background:#0e1a30;border-radius:10px;overflow:hidden;text-decoration:none;border:1px solid rgba(120,160,220,.15);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0 0 14px;position:relative}
.recommendation-card::before {content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#e63946,transparent);opacity:0;transition:opacity .2s}
.recommendation-card:hover {transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.4)}
.recommendation-card:hover::before {opacity:1}
.recommendation-card img {width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#16233d}
.rec-name {font-size:14px;font-weight:700;color:#d8e0ee;padding:0 12px;letter-spacing:1px;line-height:1.4}
.rec-blurb {font-size:12px;color:#7a90b0;padding:0 12px;line-height:1.5}
.site-footer {background:#0b1524;border-top:1px solid rgba(120,160,220,.15);padding:24px 0 32px;margin-top:24px}
.footer-disclaimer {font-size:12px;color:#7a90b0;line-height:1.8;padding-bottom:16px;border-bottom:1px solid rgba(120,160,220,.1);margin-bottom:16px}
.friend-links {display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-bottom:16px}
.friend-links-label {font-size:13px;color:#9fb3d1;font-weight:700;margin-right:8px;letter-spacing:2px}
.runtime-friend-link {color:#7a90b0;text-decoration:none;font-size:13px;padding:4px 12px;border:1px solid rgba(120,160,220,.15);border-radius:15px;transition:color .2s,border-color .2s}
.runtime-friend-link:hover {color:#ff6b6b;border-color:rgba(230,57,70,.4)}
.footer-links {display:flex;gap:20px;padding-top:8px}
.footer-links a {color:#9fb3d1;text-decoration:none;font-size:14px;transition:color .2s}
.footer-links a:hover {color:#ff6b6b}
a[data-contract="site-name"] {color:transparent;text-decoration:none}
a.runtime-category {color:#9fb3d1;text-decoration:none}
a.recommendation-card {color:inherit;text-decoration:none}
a.runtime-friend-link {color:#7a90b0;text-decoration:none}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#9fb3d1;text-decoration:none}
@media (max-width:1100px){.movie-overview {grid-template-columns:220px 1fr}
.poster-wrapper {padding:20px 16px 20px 20px}
.overview-content {padding:20px 20px 20px 0}
.detail-list {grid-template-columns:repeat(3,1fr)}
.timeline-list {grid-template-columns:repeat(2,1fr)}
.episode-card-row {grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.page-shell {padding:0 16px}
.site-header {flex-direction:column;gap:14px;align-items:flex-start;padding:16px 0}
.category-strip {width:100%}
.movie-overview {grid-template-columns:1fr}
.poster-wrapper {padding:24px 24px 0;justify-content:center}
.main-poster {max-width:260px}
.overview-content {padding:20px 24px 24px}
.detail-list {grid-template-columns:repeat(2,1fr)}
.timeline-list {grid-template-columns:1fr}
.episode-card-row {grid-template-columns:1fr}
.recommendation-grid {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.movie-title {font-size:26px}
.player-context {min-width:0}}
@media (max-width:520px){.detail-list {grid-template-columns:1fr}
.actor-grid {gap:6px}
.recommendation-grid {grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.comment-card {flex-basis:240px}
.footer-links {flex-direction:column;gap:10px}
.player-controls button {padding:4px 10px;font-size:12px}}

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}
