@charset "UTF-8";
/* 清页: a compact, document-oriented layout with template-owned assets. */
:root{--paper:#fff;--paper-dark:#f2f5f9;--white:#fff;--ink:#27313e;--body-text:#46505d;--muted:#707b88;--green:#2c5fa0;--gold:#ba8838;--line:#e0e5ec;--radius:3px;--section-gap:20px;--reading-width:900px}
html{background:#fff;scroll-padding-top:16px}
body{background:#fff;color:var(--ink);font-size:15px;line-height:1.85}
::selection{background:#d8e7fa;color:#203b60}
button:focus-visible,a:focus-visible,video:focus-visible,summary:focus-visible{outline:2px solid #2c5fa0;outline-offset:3px}
.shell,.watch-page .shell{width:min(1120px,calc(100% - 48px))}
.skip-link{background:#2c5fa0;color:#fff}
.site-header,.watch-page .site-header{display:block;position:static;min-height:0;padding:12px 0 0;border:0;border-bottom:1px solid #cbd5e2;border-radius:0;background:#fff;box-shadow:none}
.brand,.watch-page .brand{display:inline-flex;gap:9px;min-height:44px;margin-bottom:9px}
.brand-icon,.watch-page .brand-icon{width:30px;height:30px;border-radius:3px;background:#2c5fa0;color:#fff}
.brand-icon .icon{width:20px;height:20px;transform:none}
.brand-name,.watch-page .brand-name{font-size:22px;font-weight:650;letter-spacing:0;color:#24384f;max-width:420px}
.main-nav,.watch-page .watch-nav{display:flex;margin:0;padding:0 12px;gap:0 2px;justify-content:flex-start;flex-wrap:wrap;width:100%;max-width:100%;background:#f1f5fa;font-size:14px}
.main-nav a,.watch-page .watch-nav a{min-height:44px;padding:9px 13px;border:0;border-radius:0;color:#405770;white-space:normal;overflow-wrap:anywhere}
.main-nav a:hover,.watch-page .watch-nav a:hover{background:#e2ebf7;color:#204c83}
.main-nav a:after{display:none}
.preview-banner{background:#2c5fa0;color:#fff}
.hero{display:grid;grid-template-columns:176px minmax(0,1fr);gap:12px 26px;align-items:start;margin-top:22px;padding:0 0 20px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none;overflow:visible}
.hero-visual{order:0;grid-row:1/span 2;min-width:0;padding:0;margin:0}
.poster-stage{width:100%;height:auto;max-height:none;aspect-ratio:5/7;min-height:0;border:1px solid #e0e5ec;border-radius:2px;background:#eef2f7;box-shadow:none}
.hero-poster{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;transition:none}
.poster-stage:hover .hero-poster{transform:none}
.hero-copy{grid-column:2;order:0;min-width:0;display:block;padding:0;background:transparent}
.hero h1{margin:0 0 8px;font-size:30px;font-weight:650;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere}
.hero-subtitle{font-family:inherit;font-size:15px;line-height:1.6;margin:0 0 6px;letter-spacing:0;color:var(--muted)}
.hero-meta{margin:0 0 12px;font-size:14px;line-height:1.7;color:var(--muted)}
.hero-meta span+span:before{background:#a6b0bd;margin:0 10px}
.hero-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin:0;font-size:14px;line-height:1.65}
.hero-details>div{display:flex;gap:12px;min-width:0;align-items:baseline}
.hero-details dt{flex:0 0 4em;color:var(--muted)}
.hero-details dd{min-width:0;margin:0;color:var(--body-text);overflow-wrap:anywhere}
.hero-summary{grid-column:2;margin:0;max-width:none;font-size:15px;line-height:1.85;color:var(--body-text);overflow-wrap:anywhere}
.hero-actions,.hero>.continue-card,.demo-note{grid-column:1/-1}
.hero-actions{gap:8px 12px}
.demo-note{margin:0;font-size:13px;color:var(--muted)}
.button{min-height:44px;padding:9px 16px;border-radius:3px;letter-spacing:0;font-weight:500;box-shadow:none;transition:background .15s}
.button:hover{transform:none}
.button-dark{background:#2c5fa0;border-color:#2c5fa0;color:#fff;box-shadow:none}
.button-dark:hover{background:#234d82}
.button-light{background:#f0f4f9;border-color:#cbd7e5;color:#315578}
.button-light:hover{background:#e3ecf7}
.bookmark-button{min-height:44px;padding:8px 12px;border:1px solid #d2dbe7;border-radius:3px;background:#fff;color:#405770}
.bookmark-button:hover,.bookmark-button.is-saved{background:#edf4fd;border-color:#9cb8d8;color:#2c5fa0}
.section-space,.story-section,.cast-section{margin-top:var(--section-gap)}
.episodes-section,.story-section,.episode-stories-section,.reviews-section,.short-comments-section,.faqs-section,.cast-section{padding:0 0 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none}
.section-heading{display:flex;gap:6px 16px;align-items:center;margin:0 0 14px;padding:10px 12px;border-left:3px solid #2c5fa0;background:#f4f7fb}
.section-heading h2,.story-main h2,.watch-page .section-heading h2,.watch-page .story-main h2{margin:0;font-size:21px;font-weight:600;line-height:1.5;letter-spacing:0}
.heading-dot{display:none}
.section-description,.section-description[data-section-description]{margin:4px 0 0;font-size:13px;line-height:1.75;color:var(--muted)}
.section-aside{padding:0;color:var(--muted)}
.source-toolbar,.watch-page .source-toolbar{padding:0 0 10px;margin:0 0 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.source-tabs,.watch-page .source-tabs{gap:8px;flex-wrap:wrap}
.source-tab,.watch-page .source-tab{min-height:44px;padding:9px 13px;border:1px solid #d4dce7;border-radius:3px;background:#fff;color:#405770}
.source-tab.is-active{background:#2c5fa0;border-color:#2c5fa0;color:#fff;box-shadow:none}
.source-tab:hover:not(.is-active){background:#eef4fc;border-color:#a6bbd5;color:#254f83}
.source-hint{color:var(--muted)}
.episode-grid{gap:8px}
.episode,.watch-page .episode{min-height:44px;padding:9px 8px;border:1px solid #dbe2eb;border-radius:3px;background:#fff;color:#46505d}
.episode:hover{background:#eaf2fd;border-color:#8faed2;color:#244f84}
.episode.is-current{background:#2c5fa0;border-color:#2c5fa0;color:#fff}
.empty-list{padding:20px 16px;border:1px dashed #cbd5e2;border-radius:3px;background:#f7f9fc;color:var(--muted)}
.empty-list h3{color:#405770}
.story-section{display:block}
.story-main h2{padding:10px 12px;border-left:3px solid #2c5fa0;background:#f4f7fb}
.story-main>.section-description{margin-top:8px}
.story-summary{margin-top:12px;max-width:var(--reading-width);font-size:15px;line-height:1.95;color:var(--body-text)}
.detail-card{margin-top:16px;padding:12px 16px;border:1px solid #e0e6ee;border-radius:2px;background:#fafbfd}
.detail-heading{margin-bottom:8px}
.detail-heading h3{font-size:15px}
.detail-heading .icon{color:#405770}
.detail-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 24px}
.detail-card dl>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;font-size:13px;padding:4px 0}
.detail-card dd{color:var(--body-text)}
.text-link,.episode-story-number{color:#2c5fa0}
.text-link:hover{color:#1f487d}
.episode-story-list,.reviews-section .review-list,.faqs-section .faq-list{gap:0}
.episode-story-card,.review-card,.faq-item{border:0;border-radius:0;background:transparent;box-shadow:none}
.episode-story-card+.episode-story-card,.review-card+.review-card,.faq-item+.faq-item{border-top:1px solid var(--line)}
.episode-story-card summary,.review-summary,.faq-item summary{padding:12px 0}
.episode-story-card summary:hover,.review-summary:hover,.faq-item summary:hover{background:#f7f9fc}
.episode-story-card summary:focus-visible,.review-summary:focus-visible,.faq-item summary:focus-visible{outline-color:#2c5fa0}
.episode-story-card>h3{padding:0}
.episode-story-body,.review-body,.faq-answer{padding:0 0 12px;color:var(--body-text)}
.episode-story-highlights{background:transparent;border:0}
.review-body{border:0}
.review-expand{right:0}
.review-excerpt,.short-comment-body{color:var(--body-text)}
.short-comment-list{gap:8px 24px}
.short-comment-card{padding:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.short-comment-spoiler{background:#f1f4f8;color:#657487;border-radius:2px}
.cast-grid{gap:16px;grid-template-columns:repeat(6,minmax(0,1fr))}
.cast-profile-card{display:block;padding:0;border:0;border-radius:0;background:transparent}
.cast-portrait{display:block;width:100%;height:auto;aspect-ratio:4/5;border-radius:2px;background:#edf1f5;color:#b2bdca}
.cast-portrait.cast-color-1,.cast-portrait.cast-color-2,.cast-portrait.cast-color-3{background:#edf1f5;color:#b2bdca}
.cast-profile-info{padding:8px 0 0}
.cast-profile-card h3{font-size:15px}
.cast-role,.cast-credit{font-size:13px;color:var(--body-text)}
.cast-role>span{color:var(--muted)}
.closing-note{justify-content:flex-end;gap:0;margin-top:8px;padding:0;border:0;border-radius:0;background:transparent}
.closing-note>a{display:inline-flex;gap:5px;min-height:44px;min-width:44px;width:auto;height:auto;margin-left:auto;padding:8px 0;border:0;border-radius:0;background:transparent;font-size:13px;color:var(--muted)}
.closing-note>a:hover{background:transparent;color:#2c5fa0}
.site-footer{padding:14px 0;border-top:1px solid #dfe5ed}
.footer-brand{color:#405770}
.site-footer p,.site-footer>span{color:var(--muted)}
.toast{background:#30445f;color:#fff;border-radius:3px;box-shadow:none}
.continue-card{margin-top:0;padding:10px 14px;border:1px solid #c9d9ed;border-radius:3px;background:#f0f5fc}
.continue-label{color:#315578}
.continue-note{color:#61748a}
.continue-clear{color:var(--muted)}
.continue-clear:hover{background:#dfeaf8}
.watch-page .watch-player{margin-top:0;padding-top:16px;border:0;border-radius:0;background:transparent;box-shadow:none}
.watch-page .watch-heading h1{font-size:25px;font-weight:600}
.watch-page .watch-subtitle{color:var(--muted)}
.watch-page .watch-jump{border-color:#d1dce9;border-radius:3px;background:#f7f9fc;color:#315578}
.watch-page .watch-jump:hover{background:#e8f0fb}
.player-box,.watch-page .player-box{border-color:#222b38;border-radius:3px;background:#080b11;box-shadow:none}
.native-player,.watch-page .native-player{background:#080b11}
.player-empty,.player-fallback{background:#1c2330;color:#d9e3f0}
.player-empty-icon{background:transparent;border-color:#657487;color:#d9e3f0}
.player-empty .player-message-title,.player-fallback .player-message-title{color:#f0f5fc}
.player-empty p:not(.player-message-title),.player-fallback p:not(.player-message-title){color:#bdcbdc}
.player-caption>span:first-child span{color:#2c5fa0}
.playback-note{color:var(--muted)}
.watch-page .playback-control{color:#405770}
.watch-page .playback-switch{background:#c5ceda;border-color:#9dabbc}
.watch-page .playback-switch:before{background:#fff}
.watch-page .playback-switch:checked{background:#2c5fa0;border-color:#2c5fa0}
.watch-page .playback-switch:focus-visible{outline-color:#2c5fa0}
.watch-page .episode-step,.watch-page .episode-overview{border-color:#d7e0ec;border-radius:3px;background:#f7f9fc;color:#405770}
.watch-page a.episode-step:hover,.watch-page .episode-overview:hover{background:#e9f1fc;border-color:#92aed0}
.watch-page span.episode-step{background:#fff;border-color:#e0e6ee;color:#8a94a1}
.error-page{background:#fff}
.error-card{width:min(480px,100%);max-width:480px;padding:24px 0;text-align:left;border:0;border-top:3px solid #2c5fa0;border-radius:0;background:#fff;box-shadow:none}
.error-status{margin:0 0 10px;font-size:16px;color:var(--muted)}
.error-card h1{font-size:28px;font-weight:600}
.error-actions{justify-content:flex-start;margin-top:20px}
@media(max-width:1023px){.cast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
:root{--section-gap:16px}
.shell,.watch-page .shell{width:calc(100% - 28px)}
.site-header,.watch-page .site-header{padding:8px 0 0}
.brand,.watch-page .brand{margin-bottom:6px}
.brand-name,.watch-page .brand-name{font-size:19px;max-width:100%}
.main-nav,.watch-page .watch-nav{padding:0 6px;gap:0;flex-wrap:wrap}
.main-nav a,.watch-page .watch-nav a{min-height:44px;padding:9px 10px;font-size:13px}
.hero{grid-template-columns:112px minmax(0,1fr);gap:12px 14px;margin-top:16px;padding-bottom:16px}
.hero-visual{grid-row:auto}
.hero-copy{grid-column:2;padding:0}
.hero h1{margin:0 0 6px;font-size:24px;line-height:1.35;letter-spacing:0}
.hero-subtitle{font-size:13px;margin:0 0 4px}
.hero-meta{font-size:12px;margin:0 0 8px;line-height:1.65}
.hero-meta span+span:before{margin:0 6px}
.hero-details{grid-template-columns:1fr;gap:5px;font-size:13px;line-height:1.6}
.hero-details>div{gap:8px}
.hero-details dt{flex-basis:2em}
.hero-summary,.hero-actions,.hero>.continue-card,.demo-note{grid-column:1/-1}
.hero-summary{font-size:14px;margin:0;line-height:1.85}
.hero-actions{gap:8px}
.hero .button,.hero .bookmark-button{min-height:44px;font-size:13px;padding:8px 12px}
.episodes-section,.story-section,.episode-stories-section,.reviews-section,.short-comments-section,.faqs-section,.cast-section{padding-bottom:16px}
.section-heading{padding:9px 10px;margin-bottom:12px}
.section-heading h2,.story-main h2,.watch-page .section-heading h2,.watch-page .story-main h2{font-size:20px}
.story-main h2{padding:9px 10px}
.section-description,.section-description[data-section-description]{font-size:13px}
.source-tabs,.watch-page .source-tabs{gap:6px;flex-wrap:wrap;overflow:visible}
.source-tab,.watch-page .source-tab{min-height:44px;font-size:13px;padding:8px 11px}
.episode-grid,.watch-page .episode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.episode,.watch-page .episode{min-height:44px;padding:8px 5px;font-size:13px}
.story-summary{font-size:15px;line-height:1.9;margin-top:10px}
.detail-card{margin-top:12px;padding:12px}
.detail-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}
.detail-card dl>div{grid-template-columns:28px minmax(0,1fr);gap:8px}
.detail-card dl>div:last-child{grid-column:auto}
.episode-story-card summary,.review-summary,.faq-item summary{padding:10px 0}
.episode-story-card>h3{padding:0}
.episode-story-body,.review-body,.faq-answer{padding:0 0 10px;font-size:15px;line-height:1.85}
.review-excerpt,.short-comment-body{font-size:15px;line-height:1.85}
.review-expand{right:0}
.cast-profile-info{padding:8px 0 0}
.cast-profile-card h3{font-size:14px}
.cast-role,.cast-credit{font-size:12px}
.watch-page .watch-player{padding-top:12px}
.watch-page .watch-heading h1{font-size:21px}
.watch-page .watch-jump{font-size:13px;padding:8px}
.watch-page .episode-navigation{gap:7px}
.watch-page .episode-step,.watch-page .episode-overview{font-size:13px;padding:8px 5px}
}
@media(max-width:767px){.cast-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:360px){
.shell,.watch-page .shell{width:calc(100% - 24px)}
.hero{grid-template-columns:100px minmax(0,1fr);column-gap:12px}
.hero h1{font-size:22px}
.hero-details{font-size:12px}
.hero-details>div{gap:6px}
.detail-card dl{grid-template-columns:1fr}
.episode-grid,.watch-page .episode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
