*, * {box-sizing:border-box;margin:0;padding:0}
html {-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body {background:#1c1226;color:#e8d9e8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.5;overflow-x:hidden}
img, video {max-width:100%;display:block}
a {color:inherit;text-decoration:none}
ul, ol {list-style:none}
button {background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}
h1, h2, h3 {font-weight:600;line-height:1.25}
header {position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.8rem 1.2rem;background:rgba(28,18,38,0.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,215,180,0.15)}
.site-brand {font-size:1.05rem;font-weight:700;letter-spacing:0.04em;color:#f5d5a8;white-space:nowrap}
.site-brand:hover {color:#ffc8a8}
.categories-nav {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0.25rem 0.5rem}
.runtime-category {display:inline-block;padding:0.3rem 0.7rem;font-size:0.85rem;color:#d8b8d8;border:1px solid rgba(220,180,220,0.25);border-radius:999px;white-space:nowrap;transition:background 0.2s,color 0.2s}
.runtime-category:hover, .runtime-category:focus {background:rgba(220,180,220,0.15);color:#fff}
main {width:100%;max-width:1440px;margin:0 auto;padding:0 1rem 2rem}
.hero-visual {position:relative;width:100%;padding:2.5rem 0 1.5rem;background:radial-gradient(ellipse at top,#3a2548 0%,#1c1226 70%)}
.hero-player-shell {position:relative;width:min(980px,100%);margin:0 auto;background:#0e0814;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.6),0 0 0 1px rgba(255,200,150,0.1)}
.hero-player-shell video {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.player-controls {display:flex;flex-wrap:wrap;gap:0.5rem;padding:0.8rem 1rem;background:linear-gradient(180deg,rgba(20,12,28,0.95),rgba(10,6,14,0.98));border-top:1px solid rgba(255,200,150,0.12)}
.player-controls button {padding:0.35rem 0.8rem;font-size:0.8rem;color:#d8b0d8;border:1px solid rgba(220,180,220,0.2);border-radius:6px;transition:background 0.2s}
.player-controls button:hover {background:rgba(220,180,220,0.12);color:#fff}
.player-controls button:active {transform:translateY(1px)}
.movie-overview-panel {position:relative;display:grid;grid-template-columns:minmax(280px,320px) 1fr;gap:1.5rem;margin:1.5rem 0;padding:1.5rem;background:linear-gradient(150deg,#241633 0%,#2a1a3a 100%);border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,0.4),0 0 0 1px rgba(255,200,150,0.08)}
.movie-overview-panel::before {content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(180,120,200,0.08),transparent 60%)}
.overview-poster-col {align-self:start;position:relative}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.5);border:1px solid rgba(255,200,150,0.15)}
.overview-content-col {position:relative;min-width:0;display:flex;flex-direction:column;gap:1rem}
.overview-title-group h1 {font-size:clamp(1.4rem,3vw,2.2rem);color:#f5d5a8;font-weight:700;letter-spacing:0.02em;margin-bottom:0.3rem}
.tagline {font-size:0.95rem;color:#d8b0d8;border-left:3px solid #b080c0;padding-left:0.8rem;margin-top:0.2rem}
.synopsis-block {display:flex;flex-direction:column;gap:0.6rem}
.synopsis-block p {font-size:0.92rem;color:#cbb8cc;line-height:1.7}
.cast-list h3 {font-size:1rem;color:#f0d0a0;margin-bottom:0.4rem;letter-spacing:0.05em}
.cast-list ul {display:flex;flex-wrap:wrap;gap:0.5rem}
.cast-member {display:flex;align-items:baseline;gap:0.4rem;background:rgba(255,220,190,0.06);border-radius:8px;padding:0.3rem 0.8rem;border:1px solid rgba(255,220,190,0.1)}
.cast-name {font-size:0.92rem;font-weight:600;color:#f5e0d0;white-space:nowrap}
.cast-role {font-size:0.8rem;color:#b090b0;white-space:nowrap}
.episode-progress-block {background:rgba(0,0,0,0.2);border-radius:10px;padding:0.8rem 1rem;display:flex;flex-direction:column;gap:0.5rem}
.episode-current {font-size:0.88rem;color:#f0d0a0;font-weight:600}
.progress-track {width:100%;height:6px;background:rgba(255,255,255,0.1);border-radius:3px;overflow:hidden}
.progress-bar {display:block;height:100%;background:linear-gradient(90deg,#c080d0,#f0a080);border-radius:3px}
.episode-meta {display:flex;gap:1rem;font-size:0.8rem;color:#a088a8}
.detail-specs dl {display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0.3rem 1rem}
.detail-specs dt {font-size:0.78rem;color:#a088a8;font-weight:400}
.detail-specs dd {font-size:0.85rem;color:#e0cce0;font-weight:500}
.episode-timeline {margin:2.5rem 0;padding:0 0.5rem}
.episode-timeline h2, .story-timeline h2, .comments-area h2, .rec-region h2 {font-size:1.3rem;color:#f0d0a0;margin-bottom:1rem;letter-spacing:0.04em;position:relative;padding-left:0.8rem}
.episode-timeline h2::before, .story-timeline h2::before, .comments-area h2::before, .rec-region h2::before {content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:1.2em;background:#c080d0;border-radius:2px}
.episode-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:0.6rem 1rem;counter-reset:episode}
.episode-item {display:flex;align-items:flex-start;gap:0.8rem;background:rgba(255,220,190,0.04);border-radius:10px;padding:0.7rem 1rem;border-left:3px solid rgba(200,140,220,0.4);transition:background 0.2s}
.episode-item:hover {background:rgba(255,220,190,0.08)}
.ep-number {font-family:"SF Mono","Cascadia Code",Consolas,monospace;font-size:1.1rem;font-weight:700;color:#c080d0;min-width:1.6rem;margin-top:0.1rem}
.ep-info {flex:1;min-width:0}
.ep-info h3 {font-size:0.95rem;color:#f0dce0;font-weight:600}
.ep-info p {font-size:0.82rem;color:#b09ab0;margin-top:0.2rem;line-height:1.5}
.ep-duration {font-family:"SF Mono","Cascadia Code",Consolas,monospace;font-size:0.75rem;color:#a080a8;white-space:nowrap;margin-top:0.3rem}
.story-timeline {margin:2.5rem 0}
.timeline-scroll {display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:0.8rem;overflow-x:auto;padding-bottom:0.8rem;scrollbar-width:thin;scrollbar-color:rgba(200,140,220,0.5) transparent}
.timeline-card {background:rgba(255,220,190,0.05);border-radius:12px;padding:1rem;border:1px solid rgba(255,200,150,0.1);box-shadow:inset 0 0 20px rgba(200,140,220,0.05)}
.timeline-card .timecode {display:block;font-family:"SF Mono","Cascadia Code",Consolas,monospace;font-size:0.9rem;font-weight:700;color:#f0a080;margin-bottom:0.4rem}
.timeline-card p {font-size:0.85rem;color:#d8c0d8;line-height:1.5}
.comments-area {margin:2.5rem 0}
.comments-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.comment-bubble {position:relative;background:rgba(255,220,190,0.06);border-radius:14px;padding:0.9rem 1rem 0.9rem 1.2rem;border:1px solid rgba(255,220,190,0.12)}
.comment-bubble::before {content:"";position:absolute;left:1.2rem;top:-0.4rem;width:0.8rem;height:0.8rem;background:rgba(255,220,190,0.06);transform:rotate(45deg);border-left:1px solid rgba(255,220,190,0.12);border-top:1px solid rgba(255,220,190,0.12)}
.comment-nick {display:block;font-size:0.78rem;font-weight:600;color:#f0d080;margin-bottom:0.35rem;letter-spacing:0.02em}
.comment-bubble p {font-size:0.85rem;color:#d0bcd0;line-height:1.6}
.rec-region {margin:2.5rem 0}
.rec-horizontal .rec-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0.8rem}
.rec-region a[data-runtime="recommendation"] {display:flex;flex-direction:column;gap:0.4rem;background:rgba(255,220,190,0.04);border-radius:12px;padding:0.8rem;border:1px solid rgba(255,220,190,0.08);transition:transform 0.2s,border-color 0.2s,background 0.2s}
.rec-region a[data-runtime="recommendation"]:hover {transform:translateY(-2px);border-color:rgba(255,220,190,0.25);background:rgba(255,220,190,0.07)}
.rec-region a[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#2a1a3a}
.rec-region a[data-runtime="recommendation"] span[data-runtime="name"] {font-size:0.9rem;font-weight:600;color:#f0d8e0;line-height:1.3}
.rec-region a[data-runtime="recommendation"] span[data-runtime="blurb"] {font-size:0.78rem;color:#a890a8;line-height:1.4}
.rec-vertical .rec-list {display:flex;flex-direction:column;gap:0.8rem}
.rec-vertical .rec-list a[data-runtime="recommendation"] {flex-direction:row;align-items:center;gap:1rem;padding:0.7rem}
.rec-vertical .rec-list img {width:120px;max-width:35%;aspect-ratio:16/9;flex-shrink:0}
.rec-vertical .rec-list span[data-runtime="name"] {font-size:1rem}
.rec-vertical .rec-list span[data-runtime="blurb"] {flex:1}
.rec-masonry .rec-masonry-grid {columns:3;column-gap:0.8rem}
.rec-masonry .rec-masonry-grid a[data-runtime="recommendation"] {break-inside:avoid;margin-bottom:0.8rem}
.rec-masonry .rec-masonry-grid img {aspect-ratio:auto;max-height:200px;width:100%}
footer {background:#150e1e;border-top:1px solid rgba(255,215,180,0.1);padding:1.5rem 1.2rem 2rem;margin-top:2rem;display:flex;flex-direction:column;gap:1rem}
.disclaimer-text {font-size:0.75rem;color:#8a728a;max-width:100%;border-left:2px solid rgba(200,140,220,0.3);padding-left:0.8rem}
.footer-links {display:flex;gap:1.5rem;font-size:0.88rem}
.footer-links a {color:#d0b8d0;transition:color 0.2s}
.footer-links a:hover {color:#f0d0a0}
.friend-links {display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1rem;font-size:0.8rem}
.friend-label {color:#a088a8}
.runtime-friend-link {color:#b090b8;transition:color 0.2s}
.runtime-friend-link:hover {color:#f0d0a0}
body.theater-mode .hero-visual {background:#0e0814;padding-top:0}
body.theater-mode .hero-player-shell {max-width:none;border-radius:0;box-shadow:none}
body.lights-off .hero-visual {background:#0e0814}
body.lights-off .hero-player-shell video {filter:brightness(0.9) contrast(1.05)}
@media (max-width:900px){.movie-overview-panel {grid-template-columns:1fr;gap:1.2rem}
.overview-poster-col {max-width:260px;margin:0 auto}
.episode-list {grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.rec-masonry .rec-masonry-grid {columns:2}}
@media (max-width:640px){header {flex-direction:column;align-items:flex-start;padding:0.6rem 0.8rem;gap:0.5rem}
.categories-nav {width:100%;justify-content:flex-start}
.hero-visual {padding:1rem 0 0.5rem}
.player-controls {padding:0.6rem}
.player-controls button {flex:1 1 auto;font-size:0.75rem;padding:0.3rem 0.5rem}
.movie-overview-panel {padding:1rem}
.overview-title-group h1 {font-size:1.3rem}
.overview-poster-col {max-width:200px}
.episode-list {grid-template-columns:1fr}
.episode-item {padding:0.6rem 0.8rem}
.timeline-scroll {grid-auto-columns:minmax(200px,1fr)}
.comments-grid {grid-template-columns:1fr}
.rec-horizontal .rec-row {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.rec-masonry .rec-masonry-grid {columns:1}
.rec-vertical .rec-list a[data-runtime="recommendation"] {flex-direction:column;align-items:flex-start}
.rec-vertical .rec-list img {width:100%;max-width:none}
.footer-links {flex-wrap:wrap;gap:0.8rem}}
@media (max-width:380px){main {padding:0 0.8rem 1.5rem}
.rec-horizontal .rec-row {grid-template-columns:1fr}
.detail-specs dl {grid-template-columns:1fr 1fr}
.episode-meta {flex-direction:column;gap:0.2rem}}
a:focus-visible {outline:2px solid #f0a080;outline-offset:2px}
::-webkit-scrollbar {width:8px;height:8px}
::-webkit-scrollbar-track {background:rgba(255,255,255,0.03)}
::-webkit-scrollbar-thumb {background:rgba(200,140,220,0.3);border-radius:4px}
::-webkit-scrollbar-thumb:hover {background:rgba(200,140,220,0.5)}

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}
