*, * {margin:0;padding:0;box-sizing:border-box}
html {scroll-behavior:smooth}
body {background:#0d0f12;color:#cfd3d8;font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1.5;font-size:15px}
a {color:#8fa8bf;text-decoration:none}
a:hover {color:#c7d6e4}
img {display:block;max-width:100%;height:auto}
button, input, select {font:inherit;color:inherit}
video {display:block}
header {background:#15181c;border-bottom:1px solid #2a2f36;display:flex;align-items:center;gap:24px;padding:10px 20px;position:sticky;top:0;z-index:50}
.site-brand {font-weight:800;font-size:1.35rem;letter-spacing:.03em;color:#e6ebf0;white-space:nowrap}
a[data-contract="site-name"] {color:#e6ebf0}
a[data-contract="site-name"]:hover {color:#fff;text-decoration:none}
.categories-bar {display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:2px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.categories-bar::-webkit-scrollbar {display:none}
.runtime-category {display:inline-block;background:#1f242b;border:1px solid #2e353d;border-radius:3px;padding:5px 12px;font-size:.85rem;color:#a9b4bf;white-space:nowrap;transition:background .2s,border-color .2s}
.runtime-category:hover {background:#2a313a;border-color:#4a5560;color:#e6ebf0;text-decoration:none}
main {max-width:1440px;margin:0 auto;padding:0 16px 40px}
.hero-section {position:relative;padding:40px 0 20px;overflow:hidden}
.hero-backdrop {position:absolute;inset:0;background:linear-gradient(180deg,#1a1e24 0%,#0d0f12 70%,#15181c 100%);z-index:0}
.hero-backdrop::after {content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 15%,rgba(60,80,110,.35) 0%,transparent 60%),linear-gradient(180deg,rgba(10,12,15,.6) 0%,rgba(20,24,30,.8) 100%)}
.hero-overlay {position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,12,.9) 0%,rgba(8,10,12,.5) 50%,rgba(8,10,12,.85) 100%);z-index:1;pointer-events:none}
.hero-content {position:relative;z-index:2;max-width:1320px;margin:0 auto;padding:0 20px}
.hero-text-block {margin-bottom:28px;border-left:4px solid #a33a3a;padding-left:20px;max-width:720px}
.movie-title {font-size:2.6rem;font-weight:900;letter-spacing:.02em;line-height:1.15;color:#f0f2f5;text-shadow:0 2px 8px rgba(0,0,0,.5);font-stretch:condensed}
.movie-tagline {font-size:1.05rem;color:#9aa7b5;margin-top:10px;letter-spacing:.04em;font-weight:300}
.poster-media-wrap {width:min(320px,100%);aspect-ratio:2/3;background:#111418;border:1px solid #2a3037;border-radius:4px;overflow:hidden;margin-bottom:30px;box-shadow:0 12px 30px rgba(0,0,0,.6)}
.main-poster-img {width:100%;height:100%;object-fit:cover}
.cast-module {margin-bottom:36px}
.section-heading {font-size:1.2rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#d4dae1;border-bottom:1px solid #2e353d;padding-bottom:8px;margin-bottom:16px;position:relative}
.section-heading::after {content:"";position:absolute;bottom:-1px;left:0;width:60px;height:2px;background:#a33a3a}
.cast-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cast-card {background:transparent;padding:12px;border:1px solid #232930;border-radius:4px;text-align:center;transition:border-color .2s,transform .2s}
.cast-card:hover {border-color:#3a424d;transform:translateY(-2px)}
.cast-portrait {width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:3px;background:#1a1e24;margin-bottom:10px}
.cast-info {text-align:center}
.cast-name {font-size:1rem;font-weight:700;color:#e6ebf0;letter-spacing:.02em}
.cast-role {font-size:.82rem;color:#8b96a3;margin-top:4px}
.synopsis-module {margin-bottom:36px;background:#14181e;border:1px solid #21262d;border-radius:4px;padding:18px 20px}
.synopsis-text p {color:#aeb6bf;margin-bottom:12px;line-height:1.7;font-size:.95rem;text-align:justify}
.synopsis-text p:last-child {margin-bottom:0}
.episode-status-module {margin-bottom:32px;padding:16px 20px;background:#101318;border:1px solid #232930;border-radius:4px}
.status-badge {display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.status-label {font-size:1rem;font-weight:800;color:#c7d6e4;letter-spacing:.05em;background:#1f242b;padding:3px 10px;border-radius:3px}
.status-current {font-size:.85rem;color:#8b96a3}
.progress-bar {height:4px;background:#232930;border-radius:2px;overflow:hidden}
.progress-fill {height:100%;background:#a33a3a;border-radius:2px}
.details-module {margin-bottom:40px;background:#14181e;border:1px solid #21262d;border-radius:4px;padding:18px 20px}
.details-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px 20px}
.detail-item {display:flex;flex-direction:column;gap:2px}
.detail-item dt {font-size:.75rem;color:#77828f;letter-spacing:.08em;text-transform:uppercase}
.detail-item dd {font-size:.95rem;color:#d4dae1;font-weight:500}
.player-section {max-width:1320px;margin:0 auto 40px;padding:0 20px}
.player-shell {background:#0a0c0e;border:1px solid #2a3037;border-radius:6px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.5);position:relative}
.player-shell video {border-radius:4px;background:#000}
.player-controls {display:flex;align-items:center;gap:8px;padding:10px 6px 4px;flex-wrap:wrap}
.ctrl-btn {background:transparent;border:1px solid transparent;color:#aab4bf;font-size:1rem;padding:4px 8px;border-radius:3px;cursor:pointer;transition:background .2s,color .2s}
.ctrl-btn:hover {background:#1f242b;color:#fff;border-color:#2e353d}
.progress-container {flex:1;display:flex;align-items:center;gap:8px;min-width:180px}
.progress-slider {-webkit-appearance:none;appearance:none;width:100%;height:4px;background:#232930;border-radius:2px;outline:none;cursor:pointer;flex:1}
.progress-slider::-webkit-slider-thumb {-webkit-appearance:none;appearance:none;width:12px;height:12px;background:#a33a3a;border-radius:50%;border:none;cursor:pointer}
.progress-slider::-moz-range-thumb {width:12px;height:12px;background:#a33a3a;border-radius:50%;border:none;cursor:pointer}
.progress-time, .duration-time {font-size:.78rem;color:#8b96a3;font-variant-numeric:tabular-nums;white-space:nowrap}
.speed-select {background:#1b1f24;border:1px solid #2e353d;color:#c7d0d9;font-size:.78rem;padding:3px 6px;border-radius:3px;cursor:pointer}
.player-shell.theater-mode {position:fixed;inset:0;z-index:100;border-radius:0;border:none;padding:0;background:#000;display:flex;flex-direction:column;justify-content:center;align-items:center}
.player-shell.theater-mode video {width:100%;height:auto;max-height:100vh}
.player-shell.theater-mode .player-controls {position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:20px 16px 12px;border-radius:0}
.player-shell.lights-off video {filter:brightness(.6)}
.player-shell.lights-off .player-controls {opacity:.85}
.episodes-module {max-width:1320px;margin:0 auto 44px;padding:0 20px}
.episodes-module .section-heading {font-size:1.3rem}
.episodes-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.episode-card {background:#14181e;border:1px solid #21262d;border-radius:4px;padding:14px;display:flex;gap:14px;align-items:flex-start;transition:border-color .2s,background .2s}
.episode-card:hover {border-color:#3a424d;background:#181d24}
.episode-number {font-size:1.8rem;font-weight:900;color:#a33a3a;line-height:1;min-width:36px;text-align:center;font-stretch:condensed;letter-spacing:-.02em}
.episode-body {flex:1}
.episode-title {font-size:1rem;font-weight:700;color:#dfe4ea;margin-bottom:6px}
.episode-summary {font-size:.82rem;color:#8b96a3;line-height:1.55;margin-bottom:8px}
.episode-duration {font-size:.72rem;color:#5f6b77;letter-spacing:.05em;text-transform:uppercase;border:1px solid #2a313a;padding:2px 6px;border-radius:2px;display:inline-block}
.timeline-module {max-width:1320px;margin:0 auto 44px;padding:0 20px}
.timeline-module .section-heading {font-size:1.3rem}
.timeline-scroll {overflow-x:auto;overflow-y:hidden;padding:8px 0 16px;scrollbar-color:#3a424d transparent;scrollbar-width:thin}
.timeline-scroll::-webkit-scrollbar {height:6px}
.timeline-scroll::-webkit-scrollbar-thumb {background:#3a424d;border-radius:3px}
.timeline-track {display:flex;gap:0;min-width:max-content;position:relative;padding:0 10px}
.timeline-track::before {content:"";position:absolute;top:12px;left:20px;right:20px;height:2px;background:#2a313a;border-radius:1px}
.timeline-item {display:flex;flex-direction:column;align-items:center;width:220px;flex-shrink:0;position:relative;padding-top:4px}
.timeline-point {width:24px;height:24px;background:#2a313a;border:3px solid #0d0f12;border-radius:50%;position:relative;z-index:1;margin-bottom:14px;box-shadow:0 0 0 1px #3a424d}
.timeline-point.is-critical {background:#a33a3a;border-color:#0d0f12;box-shadow:0 0 0 1px #a33a3a,0 0 10px rgba(163,58,58,.4)}
.timeline-label {font-size:.82rem;color:#9aa7b5;text-align:center;line-height:1.5;padding:0 12px;background:#0d0f12;border:1px solid #1f242b;border-radius:4px;padding:8px 10px;width:100%}
.comments-module {max-width:1320px;margin:0 auto 44px;padding:0 20px}
.comments-module .section-heading {font-size:1.3rem}
.comments-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.comment-card {background:#14181e;border:1px solid #21262d;border-radius:4px;padding:14px;display:flex;gap:14px;align-items:flex-start;transition:border-color .2s}
.comment-card:hover {border-color:#3a424d}
.comment-avatar {width:44px;height:44px;border-radius:50%;object-fit:cover;background:#1f242b;flex-shrink:0;border:2px solid #2a313a}
.comment-content {flex:1;min-width:0}
.comment-nickname {font-size:.9rem;font-weight:700;color:#dfe4ea;display:block;margin-bottom:6px}
.comment-text {font-size:.84rem;color:#9aa7b5;line-height:1.6}
.recommendation-region {max-width:1320px;margin:0 auto 44px;padding:0 20px}
.recommendation-region .section-heading {font-size:1.25rem}
.recommendation-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.recommendation-card {background:#14181e;border:1px solid #21262d;border-radius:4px;padding:10px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,transform .2s;color:#c7d0d9}
.recommendation-card:hover {border-color:#3a424d;transform:translateY(-2px);color:#e6ebf0;text-decoration:none}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;background:#1a1e24}
.recommendation-name {font-size:.9rem;font-weight:700;color:#dfe4ea;line-height:1.4}
.recommendation-blurb {font-size:.78rem;color:#7d8894;line-height:1.5;flex:1}
footer {background:#101318;border-top:1px solid #232930;padding:28px 20px 36px;margin-top:20px}
.disclaimer-text {max-width:1320px;margin:0 auto 20px;font-size:.78rem;color:#5f6b77;line-height:1.6;text-align:center;border:1px solid #1f242b;background:#14181e;border-radius:4px;padding:12px 16px}
.footer-nav {max-width:1320px;margin:0 auto 20px;display:flex;justify-content:center;gap:28px;font-size:.9rem}
a[data-contract="footer-home"] {color:#8fa8bf}
a[data-contract="footer-home"]:hover {color:#c7d6e4;text-decoration:none}
a[data-contract="footer-sitemap"] {color:#8fa8bf}
a[data-contract="footer-sitemap"]:hover {color:#c7d6e4;text-decoration:none}
.friend-links {max-width:1320px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;align-items:center}
.friend-links-label {font-size:.8rem;color:#5f6b77;letter-spacing:.06em;text-transform:uppercase}
.runtime-friend-link {font-size:.82rem;color:#6f7a88;transition:color .2s}
.runtime-friend-link:hover {color:#aeb9c4;text-decoration:none}
.player-shell .ctrl-btn[data-player-action="play"].play {color:#a33a3a}
.player-shell .ctrl-btn[data-player-action="mute"].mute {color:#a33a3a}
.player-shell .ctrl-btn[data-player-action="fullscreen"].fullscreen {color:#a33a3a}
.player-shell .ctrl-btn[data-player-action="pip"].pip {color:#a33a3a}
.player-shell .ctrl-btn[data-player-action="speed"].speed {color:#a33a3a}
.player-shell .ctrl-btn[data-player-action="theater"].theater {color:#a33a3a}
.player-shell .ctrl-btn[data-player-action="light"].light {color:#a33a3a}
.player-shell .progress-slider.progress {accent-color:#a33a3a}
.player-shell .progress-slider.input {accent-color:#a33a3a}
.player-shell .progress-slider.change {accent-color:#a33a3a}
.player-shell .progress-slider.click {accent-color:#a33a3a}
.player-shell .progress-slider.timeupdate {accent-color:#a33a3a}
.player-shell .speed-select.speed {color:#a33a3a;border-color:#a33a3a}
.player-shell .player-controls.timeupdate {opacity:1}
.player-shell .player-controls.play {opacity:1}
.player-shell .player-controls.pause {opacity:1}
.player-shell .player-controls.progress {opacity:1}
.player-shell .player-controls.mute {opacity:1}
.player-shell .player-controls.pip {opacity:1}
.player-shell .player-controls.fullscreen {opacity:1}
.player-shell .player-controls.theater {opacity:1}
.player-shell .player-controls.light {opacity:1}
.player-shell .player-controls.lights-off {opacity:.7}
.player-shell .player-controls.theater-mode {opacity:1}
@media (max-width:1100px){.cast-grid {grid-template-columns:repeat(3,1fr)}
.episodes-grid {grid-template-columns:repeat(3,1fr)}
.recommendation-grid {grid-template-columns:repeat(3,1fr)}
.details-grid {grid-template-columns:repeat(3,1fr)}
.comments-grid {grid-template-columns:repeat(2,1fr)}
.movie-title {font-size:2.2rem}}
@media (max-width:820px){header {flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}
.categories-bar {width:100%}
.hero-content {padding:0 16px}
.movie-title {font-size:1.8rem}
.cast-grid {grid-template-columns:repeat(2,1fr)}
.episodes-grid {grid-template-columns:repeat(2,1fr)}
.recommendation-grid {grid-template-columns:repeat(2,1fr)}
.details-grid {grid-template-columns:repeat(2,1fr)}
.comments-grid {grid-template-columns:1fr}
.poster-media-wrap {width:min(260px,100%)}
.timeline-item {width:200px}
.player-controls {gap:4px}
.progress-container {min-width:140px}}
@media (max-width:520px){body {font-size:14px}
main {padding:0 10px 30px}
.hero-section {padding-top:24px}
.movie-title {font-size:1.4rem}
.movie-tagline {font-size:.9rem}
.cast-grid {grid-template-columns:repeat(2,1fr);gap:10px}
.episodes-grid {grid-template-columns:1fr;gap:10px}
.recommendation-grid {grid-template-columns:1fr 1fr;gap:10px}
.details-grid {grid-template-columns:1fr 1fr;gap:10px}
.comments-grid {grid-template-columns:1fr}
.episode-card {padding:10px}
.episode-number {font-size:1.4rem}
.poster-media-wrap {width:100%;max-width:320px;margin:0 auto 24px}
.player-controls {flex-wrap:nowrap;overflow-x:auto}
.progress-container {min-width:110px}
.ctrl-btn {padding:4px 6px;font-size:.9rem}
.speed-select {font-size:.7rem;padding:2px 4px}
.hero-text-block {border-left-width:3px;padding-left:12px}}
@media (max-width:380px){.cast-grid {grid-template-columns:1fr}
.recommendation-grid {grid-template-columns:1fr}
.details-grid {grid-template-columns:1fr}
.episodes-grid {grid-template-columns:1fr}}

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}
