*, * {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {background:#0a0e17;color:#e0e6f0;font-family:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.5;font-size:15px;min-width:320px}
a {color:inherit;text-decoration:none}
img, video {display:block;max-width:100%}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
.visually-hidden {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
header {display:flex;align-items:center;gap:2rem;padding:16px 24px;background:#0d1320;border-bottom:1px solid #1e2a3d;position:sticky;top:0;z-index:100}
a[data-contract="site-name"] {font-size:1.6rem;font-weight:900;letter-spacing:.5px;color:#00e5ff;text-shadow:0 0 12px rgba(0,229,255,.4);white-space:nowrap}
a[data-contract="site-name"]:hover {color:#7cf7ff}
.categories-container {display:flex;gap:8px;flex-wrap:wrap;overflow-x:auto;padding:4px 0}
.runtime-category {display:inline-block;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;color:#b0c4de;background:#182334;border:1px solid #2a3b55;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.runtime-category:hover, .runtime-category:focus {color:#0a0e17;background:#00e5ff;border-color:#00e5ff}
a.runtime-category {color:#b0c4de;text-decoration:none}
a.runtime-category:hover {color:#0a0e17}
main {max-width:1440px;margin:0 auto;padding:0 24px}
.movie-overview {display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;background:linear-gradient(145deg,#0d1320 0%,#121a2b 100%);border-radius:16px;padding:32px;margin:24px 0 40px;border:1px solid #1e2a3d;box-shadow:0 8px 32px rgba(0,0,0,.5)}
.poster-column {display:flex;flex-direction:column;gap:20px}
.poster-wrapper {width:100%}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.6),0 0 40px rgba(0,229,255,.1)}
.details-panel {background:rgba(20,30,48,.6);border-radius:12px;padding:16px;border:1px solid #1e2a3d}
.detail-item {display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid rgba(30,42,61,.5)}
.detail-item:last-child {border-bottom:none}
.detail-label {color:#7a8ba6;font-size:13px;white-space:nowrap}
.detail-value {color:#dbe4f0;font-size:13px;font-weight:600;text-align:right}
.overview-main-column {display:flex;flex-direction:column;gap:24px;min-width:0}
.title-group {padding-bottom:16px;border-bottom:2px solid #00e5ff33}
.movie-title {font-size:2rem;font-weight:900;letter-spacing:1px;color:#f0f4fa;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.tagline {color:#00e5ff;font-size:1rem;margin-top:8px;letter-spacing:2px;text-transform:uppercase;font-weight:500}
.section-title {font-size:1.1rem;font-weight:800;color:#e0e6f0;letter-spacing:1px;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.section-title::before {content:"";width:4px;height:20px;background:linear-gradient(180deg,#00e5ff,#7c4dff);border-radius:2px}
.synopsis-section p {font-size:15px;line-height:1.7;color:#a8b8d0;margin-bottom:12px;max-width:72ch}
.synopsis-section p:last-child {margin-bottom:0}
.episode-status {display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(90deg,rgba(0,229,255,.08),rgba(124,77,255,.08));border-radius:8px;border:1px solid #1e2a3d}
.status-label {color:#00e5ff;font-weight:700;font-size:15px}
.status-divider {color:#3a4a63}
.status-current {color:#a8b8d0;font-size:14px}
.cast-section {margin-top:4px}
.cast-scroll {display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}
.cast-card {display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;background:#0d1624;border-radius:12px;border:1px solid #1e2a3d;min-width:100px;transition:border-color .2s,box-shadow .2s}
.cast-card:hover {border-color:#00e5ff;box-shadow:0 0 16px rgba(0,229,255,.2)}
.cast-avatar {width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#0a0e17;background:linear-gradient(135deg,#00e5ff,#7c4dff);padding:0;text-align:center;word-break:break-all;font-size:12px;line-height:1.2;overflow:hidden;border:3px solid #1e2a3d;box-shadow:0 0 12px rgba(124,77,255,.4)}
.cast-name {font-size:14px;font-weight:600;color:#c0cfe0}
.player-wrapper {position:relative;border-radius:12px;overflow:hidden;background:#000;border:1px solid #1e2a3d;min-width:0}
.player-wrapper video {display:block}
.player-controls {position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:10px;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.4) 60%,transparent);opacity:1;transition:opacity .3s}
.player-controls button {font-size:12px;padding:6px 10px;background:#1a2a40;border-radius:6px;color:#b0c4de;white-space:nowrap;transition:background .2s,color .2s}
.player-controls button:hover {background:#00e5ff;color:#0a0e17}
.player-controls progress {flex:1;height:6px;accent-color:#00e5ff;min-width:60px;background:#1e2a3d;border-radius:3px}
.player-controls progress::-webkit-progress-bar {background:#1e2a3d;border-radius:3px}
.player-controls progress::-webkit-progress-value {background:linear-gradient(90deg,#00e5ff,#7c4dff);border-radius:3px}
.timeline-section, .episodes-section, .comments-section, .recommendation-region {margin:40px 0}
.timeline-section .section-title, .episodes-section .section-title, .comments-section .section-title, .recommendation-region .recommendation-title {margin-bottom:24px}
.timeline-vertical {position:relative;padding-left:28px;display:grid;grid-template-columns:1fr;gap:0}
.timeline-vertical::before {content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#00e5ff,#7c4dff)}
.timeline-item {position:relative;padding:12px 16px 12px 0;border-bottom:1px solid #1e2a3d;display:flex;flex-direction:column;gap:4px}
.timeline-item::before {content:"";position:absolute;left:-25px;top:16px;width:10px;height:10px;border-radius:50%;background:#0a0e17;border:2px solid #00e5ff;box-shadow:0 0 8px rgba(0,229,255,.6)}
.timecode {font-size:14px;font-weight:800;color:#00e5ff;letter-spacing:1px}
.timeline-label {font-size:13px;color:#a8b8d0;line-height:1.5}
.episode-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.episode-card {background:#0d1624;border:1px solid #1e2a3d;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,box-shadow .2s,transform .2s}
.episode-card:hover {border-color:#00e5ff;box-shadow:0 4px 16px rgba(0,229,255,.15);transform:translateY(-2px)}
.episode-number {font-size:13px;font-weight:800;color:#7c4dff;letter-spacing:1px}
.episode-title {font-size:16px;font-weight:700;color:#f0f4fa}
.episode-summary {font-size:13px;color:#8a9bb5;line-height:1.6;flex:1}
.episode-duration {font-size:12px;color:#5a6b85;font-weight:600;letter-spacing:.5px;border-top:1px solid #1e2a3d;padding-top:8px}
.comments-section {display:flex;flex-direction:column;gap:12px}
.comment-bubble {background:#0d1624;border:1px solid #1e2a3d;border-radius:12px;padding:16px 20px;position:relative;max-width:640px;transition:border-color .2s}
.comment-bubble:nth-child(odd) {align-self:flex-start;border-radius:12px 12px 12px 4px}
.comment-bubble:nth-child(even) {align-self:flex-end;background:#101b2e;border-color:#2a3b55;border-radius:12px 12px 4px 12px}
.comment-bubble::before {content:"";position:absolute;top:10px;left:-8px;width:16px;height:16px;background:#0d1624;border-left:1px solid #1e2a3d;border-bottom:1px solid #1e2a3d;transform:rotate(45deg)}
.comment-bubble:nth-child(even)::before {left:auto;right:-8px;border-left:none;border-right:1px solid #2a3b55;border-bottom:1px solid #2a3b55;background:#101b2e;transform:rotate(-45deg)}
.comment-nickname {font-size:13px;font-weight:700;color:#00e5ff;margin-bottom:6px;display:block}
.comment-text {font-size:14px;color:#b8c8e0;line-height:1.6}
.comment-bubble:hover {border-color:#7c4dff}
.recommendation-title {font-size:1.1rem;font-weight:800;color:#e0e6f0;letter-spacing:1px;display:flex;align-items:center;gap:10px;margin-bottom:20px}
.recommendation-title::before {content:"";width:4px;height:20px;background:linear-gradient(180deg,#7c4dff,#00e5ff);border-radius:2px}
.recommendation-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.rec-card {background:#0d1624;border:1px solid #1e2a3d;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:0;transition:border-color .2s,box-shadow .2s,transform .2s;text-decoration:none;color:inherit}
.rec-card:hover {border-color:#00e5ff;box-shadow:0 4px 20px rgba(0,229,255,.15);transform:translateY(-3px)}
.rec-thumb {width:100%;aspect-ratio:16/9;object-fit:cover;background:#1e2a3d}
.rec-name {font-size:15px;font-weight:700;color:#f0f4fa;padding:0 14px;line-height:1.3}
.rec-blurb {font-size:12px;color:#8a9bb5;padding:0 14px 14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
a[data-runtime="recommendation"] {text-decoration:none;color:inherit}
footer {background:#0d1320;border-top:1px solid #1e2a3d;margin-top:48px;padding:32px 24px;display:flex;flex-direction:column;gap:20px}
.disclaimer {font-size:12px;color:#5a6b85;text-align:center;max-width:80ch;margin:0 auto;line-height:1.6}
.friend-links {display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;justify-content:center;max-width:1000px;margin:0 auto}
.friend-links-label {font-size:13px;color:#7a8ba6;font-weight:600}
a.runtime-friend-link {font-size:13px;color:#8a9bb5;text-decoration:none;padding:4px 10px;border-radius:4px;transition:color .2s,background .2s}
a.runtime-friend-link:hover {color:#00e5ff;background:rgba(0,229,255,.1)}
.footer-links {display:flex;gap:24px;justify-content:center}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {font-size:14px;color:#b0c4de;text-decoration:none;transition:color .2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#00e5ff}
.player-wrapper.theater-mode {position:fixed;inset:0;z-index:200;background:#000;border-radius:0}
.player-wrapper.theater-mode video {height:100%;object-fit:contain}
.player-wrapper.theater-mode .player-controls {background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.4) 60%,transparent)}
body.light-dim {background:#141a26}
body.light-dim header, body.light-dim footer {background:#1a2233}
.player-wrapper.fullscreen {width:100%;height:100%}
@media (max-width:1024px){.movie-overview {grid-template-columns:240px minmax(0,1fr);padding:24px}
.movie-title {font-size:1.6rem}}
@media (max-width:768px){body {font-size:14px}
header {gap:12px;padding:12px 16px}
a[data-contract="site-name"] {font-size:1.3rem}
.categories-container {width:100%;overflow-x:auto;flex-wrap:nowrap}
main {padding:0 16px}
.movie-overview {grid-template-columns:1fr;padding:20px;gap:24px}
.poster-column {flex-direction:row;gap:16px;align-items:flex-start}
.poster-wrapper {width:40%;flex-shrink:0}
.main-poster-img {aspect-ratio:2/3}
.details-panel {flex:1;min-width:0}
.overview-main-column {gap:20px}
.movie-title {font-size:1.4rem}
.cast-scroll {overflow-x:auto}
.episode-grid {grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.comment-bubble {max-width:85%}
.recommendation-grid {grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.player-controls {flex-wrap:wrap;gap:6px}
.player-controls button {font-size:11px;padding:5px 8px}
.player-controls progress {min-width:100%;order:9}}
@media (max-width:480px){.poster-column {flex-direction:column}
.poster-wrapper {width:100%}
.main-poster-img {max-width:240px;margin:0 auto}
.details-panel {width:100%}
.movie-title {font-size:1.2rem}
.cast-card {min-width:90px;padding:12px}
.cast-avatar {width:56px;height:56px}
.episode-grid {grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.rec-card {min-width:0}
.recommendation-grid {grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.comment-bubble {max-width:100%}
.friend-links {gap:6px 12px}
.footer-links {gap:16px}
.timeline-vertical {padding-left:24px}
.timeline-item::before {left:-21px}
.disclaimer {font-size:11px}}

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}
