*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
:root {--wood:#3d2b1f;--wood-dark:#2a1d14;--cream:#f5e9d7;--cream-dim:#e8d9c0;--milk:#fff8ef;--ink:#2e2117;--muted:#8a7563;--line:#c9b396;--accent:#d9a441;--shadow:rgba(30,18,8,0.35)}
html {scroll-behavior:smooth}
body {background:var(--wood-dark);color:var(--cream);font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.6;letter-spacing:0.02em}
img, video {display:block;max-width:100%;height:auto}
a {color:inherit;text-decoration:none;transition:color 0.2s ease}
button, input {font:inherit;color:inherit;background:none;border:none;outline:none}
main {max-width:1280px;margin:0 auto;padding:0 24px}
h1, h2 {font-family:Georgia,"Songti SC","SimSun",serif;font-weight:600;color:var(--milk)}
h1 {font-size:2.2rem;line-height:1.2;letter-spacing:0.04em}
h2 {font-size:1.4rem;letter-spacing:0.06em;margin-bottom:16px}
.section-heading {position:relative;padding-bottom:12px;margin-top:48px}
.section-heading::after {content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:2px}
header {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;background:linear-gradient(180deg,rgba(20,12,6,0.9),rgba(20,12,6,0.6) 80%,transparent);position:sticky;top:0;z-index:100;backdrop-filter:blur(6px)}
a[data-contract="site-name"] {font-family:Georgia,"Songti SC",serif;font-size:1.5rem;font-weight:700;color:var(--milk);letter-spacing:0.08em;padding:6px 16px;border:1px solid rgba(217,164,65,0.4);border-radius:30px;background:rgba(42,29,20,0.7)}
a[data-contract="site-name"]:hover {color:var(--accent);border-color:var(--accent)}
nav[data-contract="categories"] {display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.runtime-category {display:inline-block;white-space:nowrap;padding:6px 18px;border-radius:20px;color:var(--cream-dim);font-size:0.9rem;background:rgba(245,233,215,0.08);border:1px solid rgba(245,233,215,0.15)}
.runtime-category:hover {color:var(--milk);background:rgba(217,164,65,0.25);border-color:var(--accent)}
section[data-fragment="movie-overview"] {display:grid;grid-template-columns:300px 1fr;grid-template-areas:"poster info" "player player";gap:0 32px;margin:48px 0 24px;background:linear-gradient(160deg,#4a3525 0%,#3a2819 55%,#322014 100%);border-radius:24px 24px 16px 16px;box-shadow:0 12px 40px var(--shadow),inset 0 1px 0 rgba(255,248,239,0.08);overflow:hidden;border:1px solid rgba(201,179,150,0.2)}
.poster-shell {grid-area:poster;padding:24px}
.poster-shell img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,0.4);border:2px solid rgba(245,233,215,0.2)}
.info-shell {grid-area:info;padding:24px 24px 16px 0;display:flex;flex-direction:column;gap:20px}
.movie-title {font-size:2.4rem;line-height:1.25;color:var(--milk);text-shadow:0 2px 12px rgba(0,0,0,0.5)}
.movie-tagline {font-size:1.05rem;color:var(--accent);font-style:italic;letter-spacing:0.08em}
div[data-fragment="cast"] {display:flex;gap:12px;flex-wrap:wrap}
.cast-card {display:flex;align-items:center;gap:10px;background:rgba(245,233,215,0.08);border:1px solid rgba(245,233,215,0.12);border-radius:14px;padding:8px 14px 8px 8px;transition:background 0.2s ease}
.cast-card:hover {background:rgba(245,233,215,0.14)}
.cast-avatar {width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--cream-dim),var(--wood) 70%);border:2px solid rgba(217,164,65,0.5);flex-shrink:0}
.cast-info {display:flex;flex-direction:column;line-height:1.3}
.cast-name {font-weight:600;color:var(--milk);font-size:0.95rem}
.cast-role {font-size:0.8rem;color:var(--muted)}
div[data-fragment="synopsis"] {padding-right:8px}
.synopsis-paragraph {color:var(--cream-dim);font-size:0.92rem;line-height:1.8;margin-bottom:10px;max-width:620px}
div[data-fragment="episode-status"] {display:flex;flex-wrap:wrap;gap:8px 32px}
.status-row {display:flex;align-items:baseline;gap:8px}
.status-label {font-size:0.82rem;color:var(--muted);letter-spacing:0.06em}
.status-value {font-size:1rem;font-weight:600;color:var(--milk)}
.status-rating {color:var(--accent);font-size:1.4rem;font-weight:700}
div[data-fragment="details"] {border-top:1px solid rgba(201,179,150,0.25);padding-top:16px}
.details-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px}
.detail-item {display:flex;flex-direction:column;gap:2px}
.detail-item dt {font-size:0.75rem;color:var(--muted);letter-spacing:0.08em}
.detail-item dd {font-size:0.88rem;color:var(--cream);font-weight:400}
.player-shell {grid-area:player;background:rgba(20,12,6,0.5);border-top:1px solid rgba(201,179,150,0.2);padding:16px 24px 20px;min-width:0}
.player-shell video {border-radius:12px;background:#000;box-shadow:0 6px 20px rgba(0,0,0,0.5)}
.player-controls {display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(201,179,150,0.15)}
.player-controls button {padding:6px 14px;border-radius:8px;background:rgba(245,233,215,0.1);font-size:0.82rem;color:var(--cream-dim);cursor:pointer;border:1px solid rgba(245,233,215,0.12)}
.player-controls button:hover {background:rgba(217,164,65,0.25);color:var(--milk)}
.player-controls button.is-muted {background:rgba(217,164,65,0.4);color:var(--milk)}
.player-controls input[type="range"] {flex:1 1 120px;min-width:100px;height:4px;background:rgba(245,233,215,0.2);border-radius:2px;cursor:pointer}
.player-controls input[type="range"]::-webkit-slider-thumb {appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--milk)}
.player-shell.theater-mode {position:fixed;inset:0;z-index:200;background:var(--wood-dark);display:flex;flex-direction:column;justify-content:center;padding:40px}
.player-shell.theater-mode video {max-height:80vh;width:auto;margin:0 auto}
body.lights-out::after {content:"";position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:90;pointer-events:none}
body.lights-out .player-shell {z-index:150;position:relative}
.timeline-section {margin:24px 0;padding:0 0 8px}
.timeline-scroll {display:flex;gap:20px;overflow-x:auto;padding:16px 4px 20px;scrollbar-width:thin;scrollbar-color:var(--accent) rgba(245,233,215,0.1)}
.timeline-scroll::-webkit-scrollbar {height:6px}
.timeline-scroll::-webkit-scrollbar-track {background:rgba(245,233,215,0.08);border-radius:3px}
.timeline-scroll::-webkit-scrollbar-thumb {background:var(--accent);border-radius:3px}
.timeline-item {display:flex;flex-direction:column;align-items:center;gap:10px;min-width:160px;max-width:180px;text-align:center;padding:16px 12px 12px;background:linear-gradient(180deg,rgba(245,233,215,0.06),rgba(245,233,215,0.02));border-radius:14px;border:1px solid rgba(201,179,150,0.15);flex-shrink:0}
.timeline-time {font-size:0.82rem;font-weight:600;color:var(--accent);letter-spacing:0.05em;font-family:Georgia,serif}
.timeline-dot {width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,var(--accent) 40%,var(--wood-dark) 60%);border:2px solid rgba(217,164,65,0.6);box-shadow:0 0 12px rgba(217,164,65,0.3)}
.timeline-label {font-size:0.82rem;color:var(--cream-dim);line-height:1.5}
.episodes-section {margin:24px 0}
.episodes-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.episode-card {background:linear-gradient(150deg,rgba(245,233,215,0.08),rgba(245,233,215,0.03));border:1px solid rgba(201,179,150,0.18);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;transition:transform 0.2s ease,border-color 0.2s ease}
.episode-card:hover {transform:translateY(-3px);border-color:rgba(217,164,65,0.5)}
.episode-number {font-size:0.8rem;color:var(--accent);font-weight:600;letter-spacing:0.1em}
.episode-title {font-size:1.1rem;font-weight:600;color:var(--milk);font-family:Georgia,"Songti SC",serif}
.episode-summary {font-size:0.85rem;color:var(--cream-dim);line-height:1.6}
.episode-duration {font-size:0.75rem;color:var(--muted);margin-top:auto;padding-top:6px;border-top:1px solid rgba(201,179,150,0.12)}
.comments-section {margin:24px 0}
.comments-masonry {columns:2;column-gap:14px}
.comment-card {break-inside:avoid;margin-bottom:14px;background:linear-gradient(150deg,rgba(245,233,215,0.07),rgba(245,233,215,0.02));border:1px solid rgba(201,179,150,0.15);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.comment-header {display:flex;align-items:center;gap:10px}
.comment-avatar {width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--cream-dim),var(--wood) 75%);border:1px solid rgba(217,164,65,0.4);flex-shrink:0}
.comment-nickname {font-size:0.88rem;font-weight:600;color:var(--milk)}
.comment-text {font-size:0.85rem;color:var(--cream-dim);line-height:1.7}
.recommendation-region {margin:24px 0 40px;padding:20px;background:linear-gradient(170deg,rgba(245,233,215,0.06),rgba(245,233,215,0.02));border-radius:20px;border:1px solid rgba(201,179,150,0.12)}
.recommendation-list {display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.recommendation-region[data-recommendation-region="2"] .recommendation-list {grid-template-columns:repeat(3,1fr)}
.recommendation-region[data-recommendation-region="3"] .recommendation-list {grid-template-columns:repeat(5,1fr)}
a[data-runtime="recommendation"] {display:flex;flex-direction:column;gap:8px;background:rgba(20,12,6,0.3);border-radius:14px;overflow:hidden;border:1px solid rgba(201,179,150,0.12);transition:transform 0.2s ease,box-shadow 0.2s ease}
a[data-runtime="recommendation"]:hover {transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,0.3);border-color:rgba(217,164,65,0.4)}
a[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--wood)}
.recommendation-region[data-recommendation-region="3"] a[data-runtime="recommendation"] img {aspect-ratio:1/1}
a[data-runtime="recommendation"] span[data-runtime="name"] {font-size:0.92rem;font-weight:600;color:var(--milk);padding:0 12px}
a[data-runtime="recommendation"] span[data-runtime="blurb"] {font-size:0.78rem;color:var(--muted);padding:0 12px 12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {margin-top:48px;padding:32px 24px 24px;background:linear-gradient(180deg,rgba(20,12,6,0.6),#1a100a);border-top:1px solid rgba(201,179,150,0.15)}
div[data-contract="disclaimer"] {font-size:0.78rem;color:var(--muted);line-height:1.6;max-width:720px;margin-bottom:16px}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {display:inline-block;padding:6px 16px;margin-right:8px;border-radius:8px;font-size:0.85rem;color:var(--cream-dim);background:rgba(245,233,215,0.06);border:1px solid rgba(245,233,215,0.1)}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:var(--accent);border-color:var(--accent)}
nav[data-contract="friend-links"] {margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.friend-links-label {font-size:0.8rem;color:var(--muted);margin-right:8px;letter-spacing:0.08em}
.runtime-friend-link {display:inline-block;white-space:nowrap;padding:4px 12px;font-size:0.78rem;color:var(--cream-dim);background:rgba(245,233,215,0.04);border-radius:14px;border:1px solid rgba(201,179,150,0.1)}
.runtime-friend-link:hover {color:var(--accent);border-color:rgba(217,164,65,0.4);background:rgba(217,164,65,0.08)}
@media (max-width:1024px){main {padding:0 16px}
section[data-fragment="movie-overview"] {grid-template-columns:260px 1fr;gap:0 20px}
.movie-title {font-size:1.9rem}
.details-grid {grid-template-columns:repeat(2,1fr)}
.recommendation-list, .recommendation-region[data-recommendation-region="2"] .recommendation-list, .recommendation-region[data-recommendation-region="3"] .recommendation-list {grid-template-columns:repeat(3,1fr)}
a[data-runtime="recommendation"] img {aspect-ratio:16/10}
.recommendation-region[data-recommendation-region="3"] a[data-runtime="recommendation"] img {aspect-ratio:16/10}}
@media (max-width:768px){header {flex-direction:column;align-items:flex-start;position:static;padding:14px 16px}
nav[data-contract="categories"] {justify-content:flex-start;overflow-x:auto;width:100%;padding-bottom:4px}
section[data-fragment="movie-overview"] {grid-template-columns:1fr;grid-template-areas:"poster" "info" "player";gap:0;margin:24px 0 16px}
.poster-shell {padding:16px;max-width:280px;margin:0 auto}
.poster-shell img {aspect-ratio:2/3;width:100%;margin:0 auto}
.info-shell {padding:16px}
.movie-title {font-size:1.6rem}
.details-grid {grid-template-columns:repeat(2,1fr);gap:10px}
.episodes-grid {grid-template-columns:1fr}
.comments-masonry {columns:1}
.recommendation-list, .recommendation-region[data-recommendation-region="2"] .recommendation-list, .recommendation-region[data-recommendation-region="3"] .recommendation-list {grid-template-columns:repeat(2,1fr);gap:12px}
.recommendation-region {padding:16px}
.timeline-scroll {gap:12px}
.timeline-item {min-width:140px}
.player-controls {gap:6px}
.player-controls button {padding:5px 10px;font-size:0.75rem}
.player-shell {padding:12px 16px 16px}
.status-row {flex-wrap:wrap}}
@media (max-width:480px){body {font-size:14px}
main {padding:0 12px}
.poster-shell {padding:12px}
.info-shell {padding:12px}
.movie-title {font-size:1.3rem}
.movie-tagline {font-size:0.9rem}
.cast-card {flex-direction:row;flex-wrap:nowrap}
.cast-avatar {width:36px;height:36px}
.episodes-grid, .details-grid, .recommendation-list, .recommendation-region[data-recommendation-region="2"] .recommendation-list, .recommendation-region[data-recommendation-region="3"] .recommendation-list {grid-template-columns:1fr}
a[data-runtime="recommendation"] {flex-direction:row;align-items:center;gap:12px;padding:8px}
a[data-runtime="recommendation"] img {width:80px;height:80px;aspect-ratio:1/1;border-radius:10px;flex-shrink:0;object-fit:cover}
.recommendation-region[data-recommendation-region="3"] a[data-runtime="recommendation"] img {width:80px;height:80px;aspect-ratio:1/1}
a[data-runtime="recommendation"] span[data-runtime="name"], a[data-runtime="recommendation"] span[data-runtime="blurb"] {padding:0}
a[data-runtime="recommendation"] span[data-runtime="blurb"] {display:none}
.timeline-item {min-width:120px;padding:12px 8px}
.timeline-label {font-size:0.75rem}
.comments-masonry {columns:1}
.comment-card {padding:12px}
footer {padding:24px 16px 20px}
.player-controls input[type="range"] {flex-basis:100%}
.status-row {flex-direction:column;gap: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}
