* {margin:0;padding:0;box-sizing:border-box}
html {scroll-behavior:smooth}
body {font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#fdf6e3;color:#5a3e2b;line-height:1.5}
a {color:inherit;text-decoration:none}
ul {list-style:none}
img {display:block;max-width:100%}
button {font:inherit;cursor:pointer}
.site-header {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:12px 20px;background:#fff8e7;border-bottom:2px solid #e8d5a8;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(90,62,43,.08)}
.site-logo {font-size:1.4rem;font-weight:800;color:#b5451b;font-family:"Comic Sans MS","PingFang SC",cursive;letter-spacing:1px}
.site-logo:hover {color:#8f3a12}
.categories-nav {display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:100%;overflow-x:auto;padding:2px 0}
.runtime-category {display:inline-block;padding:6px 14px;border-radius:20px;background:#f5e6c8;color:#7a5530;font-size:.85rem;white-space:nowrap;border:1px solid #e0c896;transition:background .2s,color .2s}
.runtime-category:hover {background:#e8d5a8;color:#5a3e2b}
.hero-panel {position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;padding:60px 24px 80px;background:linear-gradient(180deg,#fdf6e3 0%,#f9e7c4 70%,#fdf6e3 100%);overflow:hidden;text-align:center}
.hero-decoration {position:absolute;inset:0;pointer-events:none;z-index:0}
.hero-illustration {position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f4a460,#d2691e);opacity:.15;top:30px;right:10%;transform:rotate(15deg)}
.hero-illustration::after {content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#ffdab9,#f4a460);top:60px;left:60px;opacity:.4}
.hero-content {position:relative;z-index:1;max-width:600px}
.hero-title {font-size:clamp(2rem,5vw,3.2rem);font-family:"Comic Sans MS","PingFang SC",cursive;color:#b5451b;margin-bottom:10px;text-shadow:2px 2px 0 rgba(255,255,255,.6)}
.hero-tagline {font-size:1.1rem;color:#7a5530;margin-bottom:24px;font-style:italic}
.hero-cta {display:inline-block;padding:12px 32px;background:#e07a3f;color:#fff;border-radius:30px;font-size:1rem;font-weight:600;box-shadow:0 4px 12px rgba(224,122,63,.3);transition:transform .2s,box-shadow .2s}
.hero-cta:hover {transform:translateY(-2px);box-shadow:0 6px 16px rgba(224,122,63,.4)}
.movie-section {display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);grid-template-rows:auto auto;gap:24px 28px;padding:40px 20px;max-width:1200px;margin:0 auto;background:#fffdf7;border-radius:24px;box-shadow:0 8px 24px rgba(90,62,43,.08);position:relative;border:1px solid #f0e0c0}
.movie-poster-wrapper {grid-column:1;grid-row:1/3;align-self:start}
.movie-poster {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:16px;box-shadow:0 4px 16px rgba(90,62,43,.15)}
.movie-info-container {grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:16px}
.movie-title-block {border-bottom:2px solid #f0e0c0;padding-bottom:12px}
.movie-title {font-size:1.6rem;color:#b5451b;font-family:"Comic Sans MS","PingFang SC",cursive;margin-bottom:4px}
.movie-tagline {color:#8a6a4a;font-size:.95rem;font-style:italic}
.movie-details {margin:0}
.details-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px}
.detail-item {display:flex;gap:6px;align-items:baseline;font-size:.9rem}
.detail-item dt {color:#a08060;font-weight:600;flex-shrink:0}
.detail-item dd {color:#5a3e2b}
.movie-synopsis {display:flex;flex-direction:column;gap:8px}
.synopsis-heading {font-size:1.1rem;color:#b5451b;border-left:4px solid #e07a3f;padding-left:10px;margin-bottom:2px}
.synopsis-paragraph {font-size:.95rem;color:#6b4e35;line-height:1.6}
.episode-status-panel {background:#fdf3e0;border:1px solid #e8d5a8;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.episode-status-header {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.status-label {font-size:.85rem;background:#e07a3f;color:#fff;padding:2px 10px;border-radius:12px;font-weight:600}
.status-episode-number {font-size:1.2rem;font-weight:800;color:#b5451b}
.status-total {font-size:.85rem;color:#8a6a4a}
.episode-progress-track {height:6px;background:#e8d5a8;border-radius:3px;overflow:hidden}
.episode-progress-fill {width:30%;height:100%;background:linear-gradient(90deg,#f4a460,#e07a3f);border-radius:3px}
.episode-status-meta {display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#7a5530}
.episode-status-title {font-weight:600}
.episode-status-duration {font-weight:400;color:#a08060}
.movie-cast {display:flex;flex-direction:column;gap:8px}
.cast-heading {font-size:1.1rem;color:#b5451b;border-left:4px solid #e07a3f;padding-left:10px}
.cast-list {display:flex;flex-wrap:wrap;gap:8px}
.cast-card {background:#f5e6c8;border:1px solid #e0c896;border-radius:20px;padding:6px 16px;font-size:.9rem;color:#5a3e2b;transition:background .2s}
.cast-card:hover {background:#e8d5a8}
.cast-name {font-weight:600}
.player-wide-wrap {grid-column:2;grid-row:2;min-width:0;width:100%}
.player-shell {position:relative;background:#2b1e12;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.player-shell video {display:block;width:100%}
.player-controls {display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(43,30,18,.9);flex-wrap:wrap}
.player-btn {background:transparent;border:none;color:#f0e0c0;font-size:.8rem;padding:4px 8px;border-radius:8px;transition:background .2s}
.player-btn:hover {background:rgba(255,255,255,.1)}
.player-progress {flex:1;min-width:120px;accent-color:#e07a3f}
.player-volume {width:80px;accent-color:#e07a3f}
.player-shell.theater-mode {position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:1200px;z-index:200;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.player-shell.lights-off::after {content:"";position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:-1}
.player-shell.theater-mode .player-controls {background:rgba(0,0,0,.8)}
.page-main {max-width:1200px;margin:0 auto;padding:0 20px 40px;display:flex;flex-direction:column;gap:36px}
.section-heading {font-size:1.5rem;color:#b5451b;font-family:"Comic Sans MS","PingFang SC",cursive;text-align:center;padding:8px 0;position:relative}
.section-heading::after {content:"";display:block;width:60px;height:3px;background:#e07a3f;border-radius:2px;margin:8px auto 0}
.episodes-section {padding:24px 0}
.episode-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:16px}
.episode-card {display:flex;align-items:center;gap:12px;background:#fffdf7;border:1px solid #f0e0c0;border-radius:16px;padding:12px 16px;transition:box-shadow .2s,transform .2s}
.episode-card:hover {box-shadow:0 4px 12px rgba(90,62,43,.1);transform:translateY(-2px)}
.episode-number {flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#e07a3f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem}
.episode-info {flex:1;min-width:0}
.episode-title {font-size:1rem;color:#5a3e2b;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.episode-summary {font-size:.82rem;color:#8a6a4a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.episode-duration {flex-shrink:0;font-size:.78rem;color:#a08060;background:#f5e6c8;padding:2px 8px;border-radius:10px}
.timeline-section {padding:24px 0}
.timeline-flow {display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:20px;position:relative}
.timeline-flow::before {content:"";position:absolute;top:50%;left:5%;right:5%;height:3px;background:linear-gradient(90deg,#f4a460,#e07a3f);border-radius:2px;opacity:.4}
.timeline-node {background:#fffdf7;border:1px solid #f0e0c0;border-radius:20px;padding:16px 20px;min-width:140px;flex:1 0 auto;max-width:200px;text-align:center;position:relative;z-index:1;transition:transform .2s,box-shadow .2s}
.timeline-node:hover {transform:scale(1.03);box-shadow:0 4px 12px rgba(90,62,43,.1)}
.timeline-code {display:block;font-size:1.4rem;font-weight:800;color:#e07a3f;margin-bottom:6px}
.timeline-label {font-size:.85rem;color:#5a3e2b;line-height:1.4}
.comments-section {padding:24px 0}
.comments-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:16px}
.comment-card {background:#fffdf7;border:1px solid #f0e0c0;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .2s}
.comment-card:hover {box-shadow:0 4px 12px rgba(90,62,43,.08)}
.comment-nickname {font-size:.85rem;font-weight:700;color:#b5451b}
.comment-text {font-size:.9rem;color:#5a3e2b;line-height:1.5}
.recommendation-region {padding:16px 0}
.recommendation-heading {font-size:1.2rem;color:#b5451b;margin-bottom:12px;font-family:"Comic Sans MS","PingFang SC",cursive}
.recommendation-scroll {display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.recommendation-card {background:#fffdf7;border:1px solid #f0e0c0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit}
.recommendation-card:hover {transform:translateY(-4px);box-shadow:0 6px 16px rgba(90,62,43,.12)}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:2/3;object-fit:cover}
.recommendation-poster {width:100%;aspect-ratio:2/3;object-fit:cover}
.recommendation-name {font-size:.9rem;font-weight:600;color:#5a3e2b;padding:8px 10px 2px}
.recommendation-blurb {font-size:.78rem;color:#8a6a4a;padding:0 10px 10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-footer {background:#fff8e7;border-top:2px solid #e8d5a8;padding:24px 20px;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}
.friend-links {display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;align-items:center;max-width:100%}
.friend-links-label {font-size:.85rem;color:#8a6a4a}
.runtime-friend-link {font-size:.85rem;color:#7a5530;padding:4px 10px;background:#f5e6c8;border-radius:12px;transition:background .2s}
.runtime-friend-link:hover {background:#e8d5a8}
.footer-contracts {display:flex;gap:16px}
.footer-link {font-size:.9rem;color:#b5451b;font-weight:600;transition:color .2s}
.footer-link:hover {color:#8f3a12;text-decoration:underline}
.footer-disclaimer {font-size:.75rem;color:#a08060;max-width:600px;line-height:1.5}
@media (max-width:900px){.movie-section {grid-template-columns:1fr;gap:20px;padding:24px 16px}
.movie-poster-wrapper {grid-column:1;grid-row:auto;max-width:220px;margin:0 auto}
.movie-info-container {grid-column:1;grid-row:auto}
.player-wide-wrap {grid-column:1;grid-row:auto}
.details-list {grid-template-columns:1fr 1fr}}
@media (max-width:640px){.site-header {flex-direction:column;align-items:flex-start;gap:8px;padding:10px 14px}
.categories-nav {width:100%;overflow-x:auto}
.hero-panel {min-height:240px;padding:40px 16px 60px}
.hero-illustration {width:160px;height:160px;right:5%}
.episode-list {grid-template-columns:1fr}
.timeline-flow {flex-direction:column;align-items:center}
.timeline-flow::before {display:none}
.timeline-node {max-width:280px;width:100%}
.comments-grid {grid-template-columns:1fr}
.recommendation-scroll {grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.detail-item {font-size:.82rem}
.movie-title {font-size:1.2rem}
.details-list {grid-template-columns:1fr}
.player-controls {gap:4px;padding:6px}
.player-btn {font-size:.7rem;padding:4px 6px}}
@media (max-width:400px){.recommendation-scroll {grid-template-columns:repeat(2,1fr)}
.episode-duration {display:none}
.hero-title {font-size:1.6rem}}

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}
