*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {background:#fff7ed;color:#4a3f35;font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;line-height:1.6;font-size:15px;overflow-x:hidden}
body.lights-off {background:#1a1512;color:#e8ddd0}
img, video {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
ul {list-style:none}
button {font:inherit;border:none;background:none;cursor:pointer;color:inherit}
input[type=range] {accent-color:#f59e0b}
h1, h2 {font-weight:700;line-height:1.3}
header {position:sticky;top:0;z-index:100;background:rgba(255,247,237,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(234,179,8,.15);padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
body.lights-off header {background:rgba(26,21,18,.95);border-bottom-color:rgba(245,158,11,.2)}
.site-name {font-size:24px;font-weight:800;color:#ea580c;letter-spacing:1px;text-decoration:none;transition:color .2s}
.site-name:hover {color:#c2410c}
nav[data-contract="categories"] {display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
nav[data-contract="categories"]::-webkit-scrollbar {display:none}
.runtime-category {display:inline-block;padding:6px 14px;border-radius:20px;background:#ffedd5;color:#9a3412;font-size:14px;font-weight:600;white-space:nowrap;transition:all .2s;text-decoration:none}
.runtime-category:hover {background:#ea580c;color:#fff}
body.lights-off .runtime-category {background:#3d2c1a;color:#fcd34d}
body.lights-off .runtime-category:hover {background:#ea580c;color:#fff}
.hero-shell {max-width:1200px;margin:0 auto;padding:32px 24px 24px;background:linear-gradient(180deg,rgba(254,243,199,.4),transparent)}
.hero-tagline {font-size:clamp(24px,4vw,40px);text-align:center;color:#d97706;font-weight:800;letter-spacing:2px;margin:20px 0 8px;padding:10px 30px;display:inline-block;background:linear-gradient(135deg,rgba(255,237,213,.7),rgba(255,247,237,.3));border-radius:30px;border:1.5px dashed rgba(217,119,6,.4);position:relative;left:50%;transform:translateX(-50%);white-space:nowrap}
.hero-media-group {display:flex;flex-direction:column;gap:20px;align-items:center}
.player-wrapper {width:100%;max-width:900px;border-radius:24px;overflow:hidden;background:#1a1512;box-shadow:0 12px 40px rgba(234,88,12,.15);position:relative}
.player-wrapper video {width:100%;display:block}
.player-wrapper.theater-mode {max-width:1200px}
.player-controls {display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);flex-wrap:wrap}
.player-controls button {color:#fcd34d;font-size:16px;padding:4px 10px;border-radius:8px;transition:background .2s}
.player-controls button:hover {background:rgba(245,158,11,.2)}
.player-controls button.playing {color:#ea580c}
.player-controls button.muted {opacity:.5}
.player-progress {flex:1;min-width:120px;height:6px;background:rgba(255,255,255,.2);border-radius:3px;cursor:pointer;position:relative}
.player-progress::after {content:"";position:absolute;left:0;top:0;bottom:0;width:30%;background:linear-gradient(90deg,#f59e0b,#ea580c);border-radius:3px}
.player-controls input[type=range] {width:80px;height:4px;cursor:pointer}
.story-stills {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:900px}
.still-item {border-radius:18px;overflow:hidden;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:0 4px 16px rgba(0,0,0,.08);transition:transform .3s,box-shadow .3s}
.still-item:hover {transform:translateY(-4px);box-shadow:0 8px 24px rgba(234,88,12,.15)}
.movie-overview {max-width:1200px;margin:0 auto;padding:24px;display:grid;grid-template-columns:320px 1fr;gap:0;background:#fff;border-radius:28px;box-shadow:0 8px 30px rgba(0,0,0,.06);overflow:hidden;position:relative}
body.lights-off .movie-overview {background:#2a211b;box-shadow:0 8px 30px rgba(0,0,0,.3)}
.poster-column {padding:24px;background:linear-gradient(145deg,#ffedd5,#fff7ed);display:flex;align-items:flex-start}
body.lights-off .poster-column {background:linear-gradient(145deg,#3d2c1a,#2a211b)}
.poster-column img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.movie-info-group {padding:28px 28px 24px 0;display:flex;flex-direction:column;gap:20px}
.movie-title {font-size:clamp(24px,3vw,34px);color:#1c1917;font-weight:800;line-height:1.3}
body.lights-off .movie-title {color:#fcd34d}
.movie-tagline {font-size:18px;color:#d97706;font-weight:600;letter-spacing:1px;padding-bottom:12px;border-bottom:2px solid #fed7aa;display:inline-block}
body.lights-off .movie-tagline {color:#fbbf24;border-color:#78350f}
.cast-section {margin-top:4px}
.section-title {font-size:20px;font-weight:700;color:#9a3412;margin-bottom:14px;display:flex;align-items:center;gap:10px;position:relative}
.section-title::before {content:"";width:6px;height:24px;background:linear-gradient(180deg,#f59e0b,#ea580c);border-radius:3px}
body.lights-off .section-title {color:#fcd34d}
.cast-card-row {display:flex;gap:16px;overflow-x:auto;padding:8px 4px 16px;scrollbar-width:thin;scrollbar-color:#fed7aa transparent}
.cast-card {flex:0 0 140px;background:#fff;border-radius:20px;padding:20px 12px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.06);border:1px solid #ffedd5;transition:all .3s;min-height:0}
body.lights-off .cast-card {background:#3d2c1a;border-color:#78350f}
.cast-card:hover {transform:translateY(-4px);box-shadow:0 8px 20px rgba(234,88,12,.12)}
.avatar-circle {width:80px;height:80px;border-radius:50%;margin:0 auto 12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);position:relative;overflow:hidden}
.avatar-circle::after {content:"";position:absolute;bottom:0;left:0;right:0;height:35%;background:rgba(0,0,0,.1)}
.actor-name {font-weight:600;color:#1c1917;font-size:15px;margin-bottom:4px}
body.lights-off .actor-name {color:#fcd34d}
.actor-role {color:#a8a29e;font-size:13px}
.synopsis-section {margin-top:4px}
.synopsis-paragraph {color:#57534e;margin-bottom:10px;font-size:15px;line-height:1.8;text-align:justify}
body.lights-off .synopsis-paragraph {color:#d6c3b3}
.episode-status {display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.current-episode {background:#ea580c;color:#fff;padding:6px 18px;border-radius:20px;font-weight:600;font-size:14px}
.total-episodes {background:#ffedd5;color:#9a3412;padding:6px 18px;border-radius:20px;font-weight:600;font-size:14px}
body.lights-off .total-episodes {background:#78350f;color:#fcd34d}
.detail-list {display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;background:#fffaf5;border-radius:16px;padding:16px 20px;margin-top:4px}
body.lights-off .detail-list {background:#3d2c1a}
.detail-item {display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(234,88,12,.15);padding:6px 0}
.detail-item:last-child {border-bottom:none}
.detail-label {color:#a8a29e;font-size:13px;flex-shrink:0}
.detail-value {color:#57534e;font-size:14px;font-weight:500;text-align:right}
body.lights-off .detail-value {color:#d6c3b3}
.episodes-section {max-width:1200px;margin:0 auto;padding:24px;background:#fff;border-radius:28px;box-shadow:0 4px 20px rgba(0,0,0,.04);margin-top:20px}
body.lights-off .episodes-section {background:#2a211b}
.episode-list {display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.episode-item {display:grid;grid-template-columns:40px 1fr 70px;align-items:center;gap:8px;padding:10px 16px;background:#fffaf5;border-radius:12px;border:1px solid #ffedd5;transition:all .2s;cursor:pointer}
body.lights-off .episode-item {background:#3d2c1a;border-color:#78350f}
.episode-item:hover {background:#ffedd5;transform:translateX(4px)}
body.lights-off .episode-item:hover {background:#78350f}
.episode-number {width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.episode-title {font-weight:600;color:#1c1917;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.lights-off .episode-title {color:#fcd34d}
.episode-duration {color:#a8a29e;font-size:13px;text-align:right;white-space:nowrap}
.episode-summary {grid-column:1/-1;color:#78716c;font-size:13px;line-height:1.6;padding:6px 8px 2px 48px;border-top:1px dashed rgba(234,88,12,.1);margin-top:4px;display:none}
.episode-item:hover .episode-summary {display:block}
.timeline-section {max-width:1200px;margin:0 auto;padding:24px;margin-top:20px;background:#fff;border-radius:28px;box-shadow:0 4px 20px rgba(0,0,0,.04)}
body.lights-off .timeline-section {background:#2a211b}
.timeline-scroll {display:flex;gap:14px;overflow-x:auto;padding:16px 8px 20px;scrollbar-width:thin;scrollbar-color:#fed7aa transparent}
.timeline-card {flex:0 0 180px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:18px;padding:18px;text-align:center;border:1px solid #fed7aa;transition:all .3s;position:relative}
body.lights-off .timeline-card {background:linear-gradient(135deg,#3d2c1a,#78350f);border-color:#92400e}
.timeline-card::before {content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:16px;height:16px;background:#ea580c;border-radius:50%;border:3px solid #fff}
body.lights-off .timeline-card::before {border-color:#2a211b}
.timeline-card:hover {transform:translateY(-4px) rotate(-1deg);box-shadow:0 8px 20px rgba(234,88,12,.12)}
.timecode {display:block;font-size:14px;font-weight:700;color:#ea580c;margin-bottom:8px;letter-spacing:1px}
body.lights-off .timecode {color:#fbbf24}
.timeline-label {font-size:14px;color:#57534e;line-height:1.6}
body.lights-off .timeline-label {color:#d6c3b3}
.comments-section {max-width:1200px;margin:0 auto;padding:24px;margin-top:20px;background:#fff;border-radius:28px;box-shadow:0 4px 20px rgba(0,0,0,.04)}
body.lights-off .comments-section {background:#2a211b}
.comments-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.comment-bubble {background:#fffaf5;border-radius:20px 20px 20px 4px;padding:18px 20px;position:relative;border:1px solid #ffedd5;transition:all .3s}
body.lights-off .comment-bubble {background:#3d2c1a;border-color:#78350f}
.comment-bubble::after {content:"";position:absolute;left:14px;bottom:-10px;width:20px;height:20px;background:inherit;border-right:1px solid #ffedd5;border-bottom:1px solid #ffedd5;transform:rotate(45deg);border-radius:0 0 4px 0}
body.lights-off .comment-bubble::after {border-color:#78350f}
.comment-bubble:hover {transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.05)}
.comment-nickname {display:inline-block;font-weight:600;color:#ea580c;font-size:14px;margin-bottom:8px;background:#ffedd5;padding:2px 12px;border-radius:12px}
body.lights-off .comment-nickname {background:#78350f;color:#fcd34d}
.comment-text {color:#57534e;font-size:14px;line-height:1.7}
body.lights-off .comment-text {color:#d6c3b3}
.recommendation-region {max-width:1200px;margin:0 auto;padding:24px 24px 8px;margin-top:20px;background:#fff;border-radius:28px;box-shadow:0 4px 20px rgba(0,0,0,.04)}
body.lights-off .recommendation-region {background:#2a211b}
.recommendation-row {display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:20px}
.recommendation-card {background:#fffaf5;border-radius:18px;padding:10px;text-decoration:none;color:inherit;border:1px solid #ffedd5;transition:all .3s;display:flex;flex-direction:column;gap:8px;min-width:0}
body.lights-off .recommendation-card {background:#3d2c1a;border-color:#78350f}
.recommendation-card:hover {transform:translateY(-4px);box-shadow:0 10px 24px rgba(234,88,12,.12);border-color:#fed7aa}
.recommendation-card img {width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#f5f5f4}
.recommendation-card [data-runtime="name"] {font-weight:600;color:#1c1917;font-size:14px;line-height:1.4}
body.lights-off .recommendation-card [data-runtime="name"] {color:#fcd34d}
.recommendation-card [data-runtime="blurb"] {color:#a8a29e;font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {background:#2a211b;color:#d6c3b3;padding:40px 24px 30px;margin-top:40px;border-radius:28px 28px 0 0}
.disclaimer {font-size:13px;color:#a8a29e;line-height:1.8;max-width:900px;margin:0 auto 24px;text-align:center;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}
.friend-links {display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;max-width:1000px;margin:0 auto 20px}
.friend-links-label {font-weight:600;color:#fbbf24;font-size:14px;white-space:nowrap}
.runtime-friend-link {color:#d6c3b3;font-size:14px;text-decoration:none;transition:color .2s;white-space:nowrap}
.runtime-friend-link:hover {color:#fbbf24}
.footer-links {display:flex;justify-content:center;gap:24px;padding-top:16px}
.footer-links a {color:#a8a29e;font-size:14px;text-decoration:none;transition:color .2s}
.footer-links a:hover {color:#fbbf24}
.player-controls .play {color:#4ade80}
.player-controls .playing {color:#ea580c}
.player-controls .muted {opacity:.5;color:#f87171}
.player-controls .volume {color:#fcd34d}
.player-controls .speed {color:#fcd34d;font-weight:600}
.player-controls .pip {color:#fcd34d}
.player-controls .fullscreen {color:#fcd34d}
.player-controls .theater {color:#fcd34d}
.player-controls .light {color:#fcd34d}
body.lights-off .player-controls .light {color:#fbbf24}
.player-wrapper.theater-mode {max-width:1200px;border-radius:0}
.player-wrapper .progress {color:#f59e0b}
.player-wrapper .x {color:#fcd34d}
.player-wrapper .click {cursor:pointer}
.player-wrapper .input {accent-color:#f59e0b}
@media screen and (max-width:1024px){.movie-overview {grid-template-columns:260px 1fr}
.poster-column {padding:20px}
.recommendation-row {grid-template-columns:repeat(3,1fr)}
.episode-list {grid-template-columns:1fr}
.cast-card-row {gap:12px}
.cast-card {flex-basis:130px}}
@media screen and (max-width:768px){body {font-size:14px}
header {padding:10px 16px;flex-wrap:wrap;gap:8px}
.site-name {font-size:20px}
.hero-shell {padding:20px 16px}
.hero-media-group {gap:14px}
.story-stills {grid-template-columns:1fr;gap:12px}
.still-item {aspect-ratio:16/9}
.hero-tagline {font-size:22px;padding:8px 20px;white-space:normal}
.movie-overview {grid-template-columns:1fr;margin:0 12px}
.poster-column {padding:16px;justify-content:center}
.poster-column img {max-width:220px}
.movie-info-group {padding:20px 16px}
.detail-list {grid-template-columns:1fr;gap:4px}
.comments-grid {grid-template-columns:1fr;gap:12px}
.recommendation-row {grid-template-columns:repeat(2,1fr);gap:12px}
.episode-list {grid-template-columns:1fr}
.timeline-card {flex-basis:150px}
.episodes-section, .timeline-section, .comments-section, .recommendation-region {margin-left:12px;margin-right:12px;padding:20px 16px}
.cast-card-row {overflow-x:auto;-webkit-overflow-scrolling:touch}
.cast-card {flex-basis:120px;padding:16px 8px}
.avatar-circle {width:64px;height:64px}
.player-controls {gap:4px;padding:8px 10px}
.player-controls button {font-size:14px;padding:4px 8px}
.player-controls input[type=range] {width:60px}
.player-progress {min-width:80px}
.recommendation-card [data-runtime="blurb"] {-webkit-line-clamp:3}}
@media screen and (max-width:480px){header {padding:8px 12px}
.site-name {font-size:18px}
nav[data-contract="categories"] {max-width:100%}
.runtime-category {padding:5px 12px;font-size:13px}
.hero-shell {padding:16px 12px}
.hero-tagline {font-size:18px;margin:12px 0 4px;padding:6px 14px}
.movie-overview {padding:0;border-radius:20px;margin:0 8px}
.poster-column img {max-width:180px}
.movie-title {font-size:22px}
.movie-tagline {font-size:16px}
.cast-card {flex-basis:110px;padding:12px 6px}
.avatar-circle {width:56px;height:56px}
.section-title {font-size:18px}
.episode-item {grid-template-columns:32px 1fr 60px;padding:8px 10px}
.episode-number {width:26px;height:26px;font-size:13px}
.episode-title {font-size:14px}
.episode-duration {font-size:12px}
.episode-summary {padding-left:38px}
.recommendation-row {grid-template-columns:1fr;gap:10px}
.timeline-card {flex-basis:130px;padding:14px}
.comment-bubble {padding:14px 16px}
.comment-bubble::after {display:none}
.detail-list {padding:12px 14px}
.player-controls {flex-wrap:wrap}
.player-controls input[type=range] {order:5;width:100%;max-width:200px}
.player-progress {order:6;flex-basis:100%}
.friend-links {gap:8px}
.footer-links {gap:16px}
.runtime-friend-link {font-size:13px}
.episodes-section, .timeline-section, .comments-section, .recommendation-region {margin-left:8px;margin-right:8px;padding:16px 12px}
.recommendation-card img {aspect-ratio:16/9}}
@media screen and (min-width:1200px){.hero-shell, .movie-overview, .episodes-section, .timeline-section, .comments-section, .recommendation-region {max-width:1200px}}
@media print{body {background:#fff;color:#000}
header, footer, .player-controls, .story-stills {display:none}
.movie-overview {box-shadow:none;border:1px solid #ddd}
.episode-item:hover .episode-summary {display:block}}

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}
