*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {font-size:16px;-webkit-text-size-adjust:100%}
body {font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Heiti SC",sans-serif;background:#fffdf5;color:#3a3a3a;line-height:1.6;overflow-x:hidden}
img, video {display:block;max-width:100%}
button {font:inherit;border:none;background:none;cursor:pointer}
ul {list-style:none}
a {color:inherit;text-decoration:none}
h1, h2, h3 {line-height:1.3;font-weight:700}
header {background:#fff7d6;border-bottom:2px solid #d9d9d9;padding:0.6rem 1rem;display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
a.site-brand {font-size:1.25rem;font-weight:800;color:#f5a623;letter-spacing:0.05em;background:linear-gradient(135deg,#ffd54f,#ffb300);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap}
a.site-brand:hover {color:#ff8f00}
.category-strip {display:flex;flex-wrap:wrap;gap:0.25rem 0.4rem;align-items:center;flex:1}
.category-strip .runtime-category {display:inline-block;padding:0.15rem 0.5rem;font-size:0.85rem;color:#555;background:#fff;border:1px solid #e0e0e0;border-radius:999px;white-space:nowrap;font-weight:500;transition:all 0.2s}
.category-strip .runtime-category:hover {background:#ffd54f;border-color:#ffd54f;color:#333;transform:translateY(-1px)}
.movie-overview-panel {background:#fff;border:1px solid #e8e6df;border-radius:1rem;box-shadow:0 6px 20px rgba(0,0,0,0.06);margin:1.2rem 1rem;padding:1.2rem;display:grid;grid-template-columns:minmax(180px,220px) 1fr;grid-template-areas:
    "poster tagline"
    "poster title"
    "poster cast"
    "poster synopsis"
    "poster status"
    "poster details";
    gap:0.8rem 1.5rem;position:relative}
.movie-overview-panel::before {content:"";position:absolute;top:-0.6rem;left:1.5rem;width:2.5rem;height:2.5rem;background:#ffd54f;border-radius:50%;opacity:0.3;z-index:0}
.movie-overview-panel .fragment-heading {font-size:1rem;color:#f5a623;border-left:4px solid #f5a623;padding-left:0.5rem;margin-bottom:0.3rem}
.poster-media-wrapper {grid-area:poster;display:flex;flex-direction:column;justify-content:flex-start}
.main-poster-img {width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:0.6rem;box-shadow:0 4px 12px rgba(0,0,0,0.12)}
.overview-content-group {grid-area:title;align-self:end}
.movie-title {font-size:1.6rem;font-weight:800;color:#2d2d2d;letter-spacing:0.02em;margin-bottom:0.2rem}
.tagline {grid-area:tagline;font-size:0.95rem;color:#888;font-style:italic;align-self:end;background:#faf8f0;padding:0.3rem 0.8rem;border-radius:999px;display:inline-block;width:fit-content;justify-self:start}
.cast-horizontal-list {grid-area:cast}
.cast-list {display:flex;flex-wrap:wrap;gap:0.4rem}
.cast-item {display:inline-block}
.cast-trigger {background:#f0f7ff;border:1px solid #b3d9ff;border-radius:999px;padding:0.3rem 0.9rem;font-size:0.9rem;color:#1a6bb8;font-weight:600;transition:all 0.2s}
.cast-trigger:hover {background:#b3d9ff;color:#0d3d6b;transform:scale(1.05)}
.cast-trigger[aria-expanded="true"] {background:#f5a623;border-color:#f5a623;color:#fff}
.synopsis-block {grid-area:synopsis;background:#faf9f5;border-radius:0.5rem;padding:0.6rem 0.8rem}
.synopsis-para {font-size:0.92rem;color:#555;margin-bottom:0.4rem;line-height:1.65}
.synopsis-para:last-child {margin-bottom:0}
.episode-status-group {grid-area:status}
.episode-meta {display:flex;gap:0.6rem;align-items:center;margin-bottom:0.5rem}
.episode-current {background:#ffd54f;color:#333;font-weight:700;padding:0.2rem 0.8rem;border-radius:999px;font-size:0.95rem;display:inline-block}
.episode-total {color:#888;font-size:0.9rem;background:#f0f0f0;padding:0.2rem 0.8rem;border-radius:999px}
.player-wide-wrapper {background:#1a1a2e;border-radius:0.6rem;overflow:hidden;width:100%;min-width:480px}
.player-wide-wrapper video {width:100%;display:block}
.player-control-bar {display:flex;gap:0.3rem;padding:0.4rem;background:#252547;flex-wrap:wrap}
.player-control-bar button {color:#eee;font-size:0.85rem;background:#3a3a6a;border-radius:0.3rem;padding:0.25rem 0.6rem;transition:background 0.2s}
.player-control-bar button:hover {background:#f5a623;color:#222}
.player-wide-wrapper.theater-mode {position:fixed;top:4rem;left:0;right:0;z-index:200;border-radius:0;max-height:70vh;background:#000}
.player-wide-wrapper.theater-mode video {max-height:65vh;object-fit:contain}
.details-grid {grid-area:details}
.details-list {display:grid;grid-template-columns:repeat(2,1fr);gap:0.3rem 1rem;background:#fff;border-top:1px dashed #ddd;padding-top:0.5rem}
.detail-item {display:flex;gap:0.3rem;font-size:0.88rem;line-height:1.5}
.detail-item dt {color:#999;font-weight:600;min-width:3.5em}
.detail-item dd {color:#444;font-weight:500}
.timeline-section {margin:1.2rem 1rem;background:#fff;border-radius:1rem;padding:1rem 1.2rem;border:1px solid #e8e6df}
.timeline-section .fragment-heading {font-size:1.1rem;color:#f5a623;border-left:4px solid #f5a623;padding-left:0.5rem;margin-bottom:0.8rem}
.timeline-scroll {display:flex;overflow-x:auto;gap:0;padding-bottom:0.8rem;scrollbar-width:thin}
.timeline-node {display:flex;flex-direction:column;align-items:center;gap:0.3rem;min-width:110px;padding:0.5rem 0.8rem;position:relative;flex-shrink:0}
.timeline-node::before {content:"";position:absolute;top:1.15rem;right:-0.5rem;width:0.5rem;height:2px;background:#b3d9ff}
.timeline-node:last-child::before {display:none}
.timecode {font-size:0.8rem;color:#888;background:#f0f0f0;padding:0.1rem 0.5rem;border-radius:999px}
.dot {width:0.7rem;height:0.7rem;background:#f5a623;border-radius:50%;box-shadow:0 0 0 3px #ffd54f;display:block}
.time-label {font-size:0.9rem;color:#333;font-weight:600;text-align:center;line-height:1.3}
.episodes-grid-section {margin:1.2rem 1rem;background:#fff;border-radius:1rem;padding:1rem 1.2rem;border:1px solid #e8e6df}
.episodes-grid-section .fragment-heading {font-size:1.1rem;color:#f5a623;border-left:4px solid #f5a623;padding-left:0.5rem;margin-bottom:0.8rem}
.episode-card-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:0.7rem}
.episode-card {background:#faf9f5;border:1px solid #eee;border-radius:0.6rem;padding:0.8rem;display:flex;flex-direction:column;gap:0.25rem;transition:transform 0.2s,box-shadow 0.2s}
.episode-card:hover {transform:translateY(-2px);box-shadow:0 4px 12px rgba(245,166,35,0.15)}
.ep-number {display:inline-block;background:#ffd54f;color:#333;width:1.6rem;height:1.6rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.85rem;margin-bottom:0.2rem}
.ep-title {font-size:1rem;color:#2d2d2d;font-weight:700}
.ep-summary {font-size:0.85rem;color:#777;line-height:1.4;flex:1}
.ep-duration {font-size:0.8rem;color:#aaa;align-self:flex-end;background:#f0f0f0;padding:0.1rem 0.6rem;border-radius:999px}
.comments-waterfall {margin:1.2rem 1rem;background:#fff;border-radius:1rem;padding:1rem 1.2rem;border:1px solid #e8e6df}
.comments-waterfall .fragment-heading {font-size:1.1rem;color:#f5a623;border-left:4px solid #f5a623;padding-left:0.5rem;margin-bottom:0.8rem}
.comment-grid {columns:2;column-gap:0.8rem}
.comment-bubble {break-inside:avoid;background:#f0f8ff;border:1px solid #cce5ff;border-radius:1rem;border-top-left-radius:0.2rem;padding:0.7rem 0.9rem;margin-bottom:0.7rem;position:relative;display:flex;flex-direction:column;gap:0.3rem}
.comment-bubble::before {content:"";position:absolute;top:0;left:-0.4rem;width:0.8rem;height:0.8rem;background:#f0f8ff;border-left:1px solid #cce5ff;border-bottom:1px solid #cce5ff;transform:rotate(45deg);border-bottom-left-radius:0.2rem}
.comment-nick {font-size:0.85rem;font-weight:700;color:#1a6bb8;margin-bottom:0.1rem}
.comment-text {font-size:0.9rem;color:#444;line-height:1.5}
.recommend-region {margin:1.2rem 1rem;background:#fff;border-radius:1rem;padding:1rem 1.2rem;border:1px solid #e8e6df}
.recommend-region h2[data-recommendation-title] {font-size:1.1rem;color:#f5a623;border-left:4px solid #f5a623;padding-left:0.5rem;margin-bottom:0.8rem}
.rec-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:0.8rem}
.rec-grid a[data-runtime="recommendation"] {background:#faf9f5;border:1px solid #eee;border-radius:0.6rem;overflow:hidden;display:flex;flex-direction:column;gap:0.3rem;padding-bottom:0.5rem;transition:transform 0.2s,box-shadow 0.2s;text-decoration:none}
.rec-grid a[data-runtime="recommendation"]:hover {transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,0.08)}
.rec-grid img {width:100%;height:0;padding-bottom:75%;object-fit:cover;position:relative}
.rec-grid img::before {content:"";display:block;padding-top:75%}
.rec-grid a[data-runtime="recommendation"] span[data-runtime="name"] {font-size:0.9rem;font-weight:700;color:#2d2d2d;padding:0 0.5rem}
.rec-grid a[data-runtime="recommendation"] span[data-runtime="blurb"] {font-size:0.8rem;color:#888;padding:0 0.5rem;line-height:1.4;text-decoration:none;border:none}
.rec-grid a[data-runtime="recommendation"] img {height:auto;aspect-ratio:16/10;object-fit:cover;padding-bottom:0;position:static}
section[data-recommendation-region="2"] .rec-grid {grid-template-columns:repeat(3,1fr)}
section[data-recommendation-region="3"] .rec-grid {grid-template-columns:repeat(3,1fr)}
.site-footer {background:#fff7d6;border-top:2px solid #d9d9d9;padding:1.2rem 1rem;margin-top:1.5rem}
.footer-disclaimer {font-size:0.8rem;color:#888;line-height:1.6;background:#fff;border:1px solid #eee;border-radius:0.5rem;padding:0.6rem 0.9rem;margin-bottom:0.8rem}
.footer-links {display:flex;gap:1rem;margin-bottom:0.8rem}
.footer-links a {font-size:0.9rem;color:#1a6bb8;font-weight:600;text-decoration:underline;text-decoration-color:#b3d9ff}
.footer-links a:hover {color:#f5a623;text-decoration-color:#f5a623}
.friend-links {display:flex;flex-wrap:wrap;gap:0.4rem 0.8rem;align-items:center}
.friend-link-label {font-size:0.85rem;color:#999;font-weight:700;padding-right:0.4rem}
a.runtime-friend-link {font-size:0.85rem;color:#1a6bb8;background:#fff;border:1px solid #ddd;border-radius:999px;padding:0.15rem 0.6rem;white-space:nowrap;transition:all 0.2s;text-decoration:none}
a.runtime-friend-link:hover {background:#ffd54f;border-color:#ffd54f;color:#333}
.movie-overview-panel.lights-dim {filter:brightness(0.5);transition:filter 0.3s}
.player-control-bar .state-muted {background:#e74c3c !important;color:#fff !important}
.player-control-bar button.click {background:#f5a623;color:#222}
@media (max-width:900px){.movie-overview-panel {grid-template-columns:minmax(140px,180px) 1fr;grid-template-areas:
        "poster tagline"
        "poster title"
        "poster cast"
        "poster synopsis"
        "poster status"
        "poster details";gap:0.6rem 1rem}
.player-wide-wrapper {min-width:0}
.episode-card-grid {grid-template-columns:1fr 1fr}
.rec-grid {grid-template-columns:repeat(2,1fr)}
.comment-grid {columns:2}}
@media (max-width:600px){body {font-size:14px}
header {flex-direction:column;align-items:flex-start;gap:0.3rem}
.category-strip {width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:0.3rem}
.category-strip .runtime-category {flex-shrink:0}
.movie-overview-panel {grid-template-columns:1fr;grid-template-areas:
        "poster"
        "title"
        "tagline"
        "cast"
        "synopsis"
        "status"
        "details";padding:0.8rem;margin:0.6rem}
.poster-media-wrapper {max-width:220px;margin:0 auto}
.movie-title {font-size:1.2rem;text-align:center}
.tagline {text-align:center;justify-self:center}
.cast-list {justify-content:center}
.synopsis-block {padding:0.5rem}
.details-list {grid-template-columns:1fr}
.episode-card-grid {grid-template-columns:1fr}
.rec-grid {grid-template-columns:1fr}
.comment-grid {columns:1}
.player-wide-wrapper {min-width:0}
.timeline-node {min-width:90px}
.timeline-scroll {-webkit-overflow-scrolling:touch}}
@media (max-width:400px){.movie-overview-panel {margin:0.4rem;border-radius:0.6rem}
.episode-card-grid {grid-template-columns:1fr}
.rec-grid {grid-template-columns:1fr}
.comment-grid {columns:1}
.footer-links {flex-direction:column;gap:0.3rem}
.episode-meta {flex-wrap:wrap}
.player-control-bar {justify-content:center}
.player-wide-wrapper video {min-height:200px}}

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}
