*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {background:#0f1419;color:#c8d0d8;font-family:Georgia,"Times New Roman",serif;line-height:1.5;min-height:100vh}
a {color:inherit;text-decoration:none}
ul, ol {list-style:none}
img {display:block;max-width:100%;height:auto}
button {background:none;border:none;color:inherit;font:inherit;cursor:pointer}
video {display:block}
main {max-width:1200px;margin:0 auto;padding:0 16px}
.site-header {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 16px;background:rgba(10,12,16,.95);border-bottom:1px solid #2a3540;position:relative;z-index:100}
a[data-contract="site-name"] {font-size:1.35rem;font-weight:800;letter-spacing:.12em;color:#e8edf2;text-decoration:none;text-transform:uppercase;transition:color .2s}
a[data-contract="site-name"]:hover {color:#a03030}
.category-nav {display:flex;align-items:center;gap:12px;overflow-x:auto;scrollbar-width:none}
.category-nav::-webkit-scrollbar {display:none}
.runtime-category {color:#9aa7b4;font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:4px 10px;border:1px solid transparent;border-radius:2px;white-space:nowrap;transition:all .2s;text-decoration:none}
.runtime-category:hover {color:#e8edf2;border-color:#3a4a58;background:#1a222b}
.hero-section {position:relative;padding:48px 0 56px;overflow:hidden}
.hero-overlay {position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(30,50,70,.35) 0%,rgba(8,10,14,.9) 70%),linear-gradient(180deg,rgba(8,10,14,.6),rgba(8,10,14,.98));pointer-events:none;z-index:0}
.hero-section>* {position:relative;z-index:1}
.movie-overview {display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:0;background:#161e26;border:1px solid #2a3540;box-shadow:0 12px 40px rgba(0,0,0,.5);max-width:1000px;margin:0 auto}
.poster-wrapper {position:relative;padding:20px 20px 20px 20px;align-self:start;width:100%}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;background:#1a222b;box-shadow:0 8px 24px rgba(0,0,0,.6);border:1px solid #2a3540}
.movie-info-panel {padding:24px 24px 20px 8px;display:flex;flex-direction:column;gap:20px;min-width:0}
.movie-title {font-size:2rem;font-weight:800;letter-spacing:.06em;color:#e8edf2;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.movie-tagline {font-size:.95rem;color:#a03030;letter-spacing:.1em;font-style:italic;border-left:3px solid #a03030;padding-left:12px;margin-top:-8px}
.detail-list {display:grid;grid-template-columns:repeat(4,1fr);gap:10px 16px;background:#121a22;padding:12px 14px;border-left:2px solid #3a4a58}
.detail-item {display:flex;flex-direction:column;gap:2px;min-width:0}
.detail-item dt {font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#7a8a9a;font-weight:600}
.detail-item dd {font-size:.85rem;color:#d0d8e0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.synopsis-block {border-top:1px solid #2a3540;padding-top:14px}
.section-heading {font-size:1.1rem;font-weight:700;letter-spacing:.08em;color:#e8edf2;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.section-heading::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,#3a4a58,transparent)}
.synopsis-paragraph {font-size:.82rem;color:#a0acb8;line-height:1.7;margin-bottom:10px;text-align:justify}
.cast-section {border-top:1px solid #2a3540;padding-top:14px}
.cast-list {display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cast-member {display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#121a22;text-align:center}
.cast-avatar {width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#2a3540,#1a222b);border:2px solid #3a4a58;position:relative;margin-bottom:6px}
.cast-avatar::after {content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a5a68 0%,#1a222b 60%);opacity:.7}
.cast-name {font-size:.9rem;font-weight:700;color:#d0d8e0;letter-spacing:.04em}
.cast-role {font-size:.75rem;color:#7a8a9a;letter-spacing:.06em}
.episode-status {border-top:1px solid #2a3540;padding-top:14px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.total-episodes, .current-episode {font-size:.85rem;color:#a0acb8;display:inline-flex;align-items:center;gap:6px}
.badge {background:#a03030;color:#f0e8e8;font-size:.7rem;font-weight:800;padding:2px 8px;border-radius:10px;letter-spacing:.06em}
.episode-status::after {content:"";flex:1;height:4px;background:#121a22;border-radius:2px;position:relative;overflow:hidden;min-width:100px}
.episode-status::before {content:"";position:absolute;width:50%;height:4px;background:#a03030;border-radius:2px;margin-top:14px}
.player-wrapper {width:100%;max-width:1000px;margin:32px auto 0;background:#0a0e12;border:1px solid #2a3540;box-shadow:0 8px 32px rgba(0,0,0,.6)}
.player-wrapper video {aspect-ratio:16/9;width:100%;display:block;background:#000}
.player-control-bar {display:flex;align-items:center;gap:4px;padding:8px 10px;background:#121a22;border-top:1px solid #2a3540;flex-wrap:wrap}
.player-btn {font-size:.75rem;padding:4px 10px;color:#9aa7b4;border:1px solid #2a3540;border-radius:2px;transition:all .2s;white-space:nowrap}
.player-btn:hover {color:#e8edf2;border-color:#4a5a68;background:#1a222b}
.player-progress {flex:1;min-width:80px;font-size:.7rem;color:#6a7a8a;letter-spacing:.04em;text-align:center;background:#0a0e12;padding:4px 8px;border-radius:2px;border:1px solid #2a3540}
.player-wrapper {min-width:480px}
.video.theater-mode {position:fixed;inset:0;z-index:1000;background:#000}
body.light-dim {background:rgba(15,20,25,.7)}
body.light-dim .hero-section, body.light-dim main, body.light-dim .site-header, body.light-dim .site-footer {filter:brightness(.4) saturate(.8)}
.player-btn.click {background:#a03030;color:#fff;border-color:#a03030}
.timeline-section {padding:48px 0 40px;max-width:1000px;margin:0 auto}
.timeline-list {position:relative;padding-left:0}
.timeline-list::before {content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#3a4a58,#a03030);transform:translateX(-50%)}
.timeline-item {position:relative;width:50%;padding:0 32px 24px;margin-bottom:0}
.timeline-item:nth-child(odd) {left:0;text-align:right}
.timeline-item:nth-child(even) {left:50%;text-align:left}
.timeline-node {position:absolute;top:4px;width:14px;height:14px;border-radius:50%;background:#a03030;border:3px solid #1a222b;box-shadow:0 0 0 2px #a03030,0 0 12px rgba(160,48,48,.4)}
.timeline-item:nth-child(odd) .timeline-node {right:-7px}
.timeline-item:nth-child(even) .timeline-node {left:-7px}
.timeline-content {background:#161e26;border:1px solid #2a3540;padding:12px 16px;display:inline-block;max-width:100%}
.timeline-item:nth-child(odd) .timeline-content {text-align:right}
.timeline-item:nth-child(even) .timeline-content {text-align:left}
.timecode {display:block;font-size:.7rem;color:#a03030;font-weight:700;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}
.label {font-size:.85rem;color:#c0c8d0;line-height:1.4}
.episode-shelf {padding:40px 0;max-width:1000px;margin:0 auto}
.episode-scroll {display:grid;grid-template-columns:repeat(6,1fr);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.episode-card {background:#161e26;border:1px solid #2a3540;padding:14px;display:flex;flex-direction:column;gap:8px;scroll-snap-align:start;min-width:0}
.episode-number {font-size:.7rem;color:#a03030;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.episode-title {font-size:1.05rem;color:#e8edf2;font-weight:700;letter-spacing:.06em}
.episode-summary {font-size:.75rem;color:#8a9aa8;line-height:1.5;flex:1}
.episode-duration {font-size:.7rem;color:#6a7a8a;letter-spacing:.08em;border-top:1px solid #2a3540;padding-top:6px}
.comments-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:40px 0;max-width:1000px;margin:0 auto}
.comment-card {background:#161e26;border:1px solid #2a3540;border-radius:8px;padding:14px 16px;position:relative;display:flex;flex-direction:column;gap:8px}
.comment-card::before {content:"";position:absolute;top:-8px;left:16px;width:14px;height:14px;background:#161e26;border-left:1px solid #2a3540;border-top:1px solid #2a3540;transform:rotate(45deg)}
.comment-author {font-size:.8rem;font-weight:700;color:#a03030;letter-spacing:.08em}
.comment-text {font-size:.8rem;color:#a0acb8;line-height:1.6}
.recommendation-region {padding:32px 0;max-width:1000px;margin:0 auto}
.recommendation-panel {display:grid;grid-template-columns:repeat(4,1fr);gap:16px;perspective:1200px}
.recommendation-region[data-recommendation-region="2"] .recommendation-panel, .recommendation-region[data-recommendation-region="3"] .recommendation-panel {grid-template-columns:repeat(3,1fr)}
.rec-item {display:flex;flex-direction:column;gap:8px;background:#161e26;border:1px solid #2a3540;padding:10px;transition:transform .25s,box-shadow .25s;text-decoration:none;color:inherit;position:relative;overflow:hidden}
.rec-item:hover {transform:translateY(-4px) scale(1.02);box-shadow:0 12px 28px rgba(0,0,0,.5);border-color:#3a4a58;z-index:2}
.rec-item img {width:100%;aspect-ratio:16/9;object-fit:cover;background:#1a222b;border:1px solid #2a3540}
.rec-item [data-runtime="name"] {font-size:.85rem;font-weight:700;color:#d0d8e0;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec-item [data-runtime="blurb"] {font-size:.72rem;color:#8a9aa8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-footer {background:#0a0e12;border-top:1px solid #2a3540;padding:24px 16px 32px;margin-top:48px}
.disclaimer {font-size:.72rem;color:#6a7a8a;line-height:1.6;max-width:1000px;margin:0 auto 16px;text-align:center}
.footer-links {display:flex;justify-content:center;gap:20px;margin-bottom:16px}
.footer-link {font-size:.8rem;color:#9aa7b4;letter-spacing:.06em;transition:color .2s;text-decoration:none}
.footer-link:hover {color:#a03030}
.friend-links {display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;max-width:1000px;margin:0 auto}
.friend-links-label {font-size:.75rem;color:#6a7a8a;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.runtime-friend-link {font-size:.75rem;color:#8a9aa8;text-decoration:none;transition:color .2s;white-space:nowrap}
.runtime-friend-link:hover {color:#a03030}
@media (max-width:1024px){.movie-overview {grid-template-columns:240px 1fr}
.episode-scroll {grid-template-columns:repeat(3,1fr)}
.recommendation-panel {grid-template-columns:repeat(3,1fr)}
.recommendation-region[data-recommendation-region="2"] .recommendation-panel, .recommendation-region[data-recommendation-region="3"] .recommendation-panel {grid-template-columns:repeat(2,1fr)}
.detail-list {grid-template-columns:repeat(3,1fr)}
.timeline-item {padding:0 24px 20px}}
@media (max-width:768px){.site-header {flex-direction:column;gap:10px;align-items:flex-start}
.category-nav {width:100%;justify-content:flex-start}
.movie-overview {grid-template-columns:1fr}
.poster-wrapper {max-width:320px;margin:0 auto;padding:20px 20px 0}
.main-poster-img {aspect-ratio:2/3}
.movie-info-panel {padding:20px}
.detail-list {grid-template-columns:repeat(2,1fr)}
.cast-list {grid-template-columns:repeat(3,1fr)}
.timeline-list::before {left:12px}
.timeline-item {width:100%;left:0!important;padding:0 0 20px 40px;text-align:left!important}
.timeline-item:nth-child(odd), .timeline-item:nth-child(even) {left:0;text-align:left}
.timeline-node {left:5px!important;right:auto!important}
.timeline-content {text-align:left!important}
.episode-scroll {grid-template-columns:repeat(2,1fr)}
.comments-grid {grid-template-columns:repeat(2,1fr)}
.recommendation-panel {grid-template-columns:repeat(2,1fr)}
.recommendation-region[data-recommendation-region="2"] .recommendation-panel, .recommendation-region[data-recommendation-region="3"] .recommendation-panel {grid-template-columns:repeat(2,1fr)}
.player-wrapper {min-width:0}}
@media (max-width:480px){main {padding:0 10px}
.site-header {padding:10px}
.hero-section {padding:24px 0 32px}
.movie-title {font-size:1.4rem}
.detail-list {grid-template-columns:1fr 1fr}
.cast-list {grid-template-columns:repeat(3,1fr)}
.cast-avatar {width:48px;height:48px}
.episode-scroll {grid-template-columns:1fr;overflow-x:visible}
.comments-grid {grid-template-columns:1fr}
.recommendation-panel, .recommendation-region[data-recommendation-region="2"] .recommendation-panel, .recommendation-region[data-recommendation-region="3"] .recommendation-panel {grid-template-columns:1fr}
.player-control-bar {gap:2px}
.player-btn {font-size:.68rem;padding:3px 6px}
.player-wrapper {min-width:0}
.timeline-item {padding-left:32px}
.friend-links {gap:6px 12px}
.footer-links {flex-wrap:wrap}}
.movie-overview, .timeline-section, .episode-shelf, .comments-grid, .recommendation-region {scroll-margin-top:60px}
.synopsis-paragraph:last-of-type {margin-bottom:0}
.episode-card:last-child, .cast-member:last-child {margin-bottom:0}
.movie-overview {align-items:start}
.cast-list, .episode-scroll, .comments-grid, .recommendation-panel {align-items:start}
.timeline-item {display:block}
.timeline-content {width:auto;max-width:100%}
a:focus-visible, button:focus-visible {outline:2px solid #a03030;outline-offset:2px}

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}
