/* NIGHTFALL — original design system, no third-party theme assets. */
:root{--bg:#101713;--surface:#18221c;--surface2:#1e2a22;--line:#2b3930;--ink:#f0f1e9;--muted:#95a193;--accent:#d2e797;--serif:Georgia,'Noto Serif SC','Songti SC',SimSun,serif;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 system-ui,-apple-system,'Segoe UI','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.shell{width:min(1280px,calc(100% - 80px));margin-inline:auto}.muted{color:var(--muted);font-size:13px}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:.19em;font-weight:600;display:block}.heading-dot{color:var(--accent)}.text-link{font-size:13px;color:var(--accent);white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:15px;background:var(--accent);color:var(--bg);padding:12px;z-index:99}.skip:focus{top:8px}
.site-header{height:98px;border-bottom:1px solid var(--line);background:rgba(16,23,19,.97);position:sticky;top:0;z-index:30}.header-inner{height:100%;display:flex;align-items:center;gap:38px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:24px;font-weight:650;letter-spacing:.08em}.brand small{display:block;font-size:8px;font-weight:500;color:var(--muted);letter-spacing:.13em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font:italic 32px var(--serif)}.brand img{max-width:145px;max-height:45px}.site-nav{display:flex;gap:24px;align-items:center;flex:1;white-space:nowrap}.site-nav a{font-size:13px;color:#aeb7ac;padding-block:12px}.site-nav a:hover,.site-nav a[aria-current]{color:var(--accent)}.search{width:210px;display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:7px}.search input{width:100%;min-width:0;background:none;border:0;padding:10px 11px;color:var(--ink);font-size:11px}.search button{background:none;border:0;color:var(--accent);font-size:25px;padding:0 12px}.menu-toggle{display:none}.intro-line{display:flex;justify-content:space-between;align-items:center;padding:27px 0 22px;color:var(--muted);font-size:11px}.status-dot{display:inline-block;background:var(--accent);width:5px;height:5px;border-radius:50%;margin-left:12px}
.hero{min-height:425px;border-radius:var(--radius);overflow:hidden;position:relative;background:linear-gradient(115deg,#25372b,#16271f 60%,#324431)}.hero-copy{position:relative;z-index:2;padding:62px 56px;max-width:650px}.hero-copy .eyebrow{color:#c0cdb8;font-size:10px}.hero-copy h1,.hero-copy h2{font:500 clamp(34px,4.1vw,59px)/1.24 var(--serif);letter-spacing:.025em;margin:25px 0 21px}.hero-copy p{color:#b7c4b0;max-width:390px;line-height:1.95;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border-radius:7px;padding:13px 19px;font-size:12px;font-weight:600;min-height:44px;margin-top:27px;border:1px solid transparent}.primary{background:var(--accent);color:#1a281d}.primary:hover{background:#e0eeb7}.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.hero-caption{position:absolute;right:28px;bottom:24px;color:#b4c4ab;font-size:9px;letter-spacing:.16em}.orbit-art{position:absolute;right:-30px;top:-110px;width:690px;height:690px;transform:rotate(-22deg);background:radial-gradient(ellipse at 50% 50%,#7e92704d,transparent 65%)}.orbit-art i{border:1px solid #a3b49338;border-radius:50%;position:absolute;inset:90px;transform:scaleX(.55)}.orbit-art i:nth-child(2){inset:45px;transform:scaleX(.7)}.orbit-art i:nth-child(3){inset:0;transform:scaleX(.85)}.orbit-art span{position:absolute;inset:0;display:grid;place-items:center;color:#b0c29a25;font:italic 340px var(--serif)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-position:center 35%;filter:brightness(.45)}.hero-slide{position:relative;min-height:425px;background:#26342a}.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#15221cf0,transparent)}.hero-controls{position:absolute;right:24px;bottom:22px;display:flex;gap:16px;align-items:center;z-index:3;font-size:11px}.hero-controls button{border:1px solid #9daa9260;border-radius:50%;background:#14201899;color:var(--ink);width:35px;height:35px}
.discovery-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin:20px 0 43px}.discovery-strip>a{position:relative;display:grid;grid-template-columns:28px 1fr;gap:3px 13px;padding:21px 25px 24px 0}.discovery-strip>a+a{border-left:1px solid var(--line);padding-left:28px}.discovery-strip span{grid-row:span 2;color:#72816e;font:italic 18px var(--serif)}.discovery-strip strong{font-size:13px;font-weight:550}.discovery-strip small{font-size:11px;color:var(--muted)}.discovery-strip b{position:absolute;right:25px;top:25px;color:var(--accent);font-weight:400}.section{margin:42px 0 54px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 23px}.section-head h2{font-size:24px;font-weight:500;letter-spacing:.02em}.section-head .eyebrow{margin-bottom:8px}.film-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:27px 22px}.poster{position:relative;display:block;aspect-ratio:2/3;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#314235,#202d25)}.poster img{width:100%;height:100%;transition:transform .35s}.poster:hover img{transform:scale(1.045)}.poster-shade{position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009)}.film-status{position:absolute;bottom:10px;left:10px;right:10px;color:#edf0e4;font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.poster-action{position:absolute;right:12px;top:10px;border:1px solid #ffffff60;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:white;background:#0003;opacity:0;transition:opacity .2s}.poster:hover .poster-action{opacity:1}.film-card h3{font-size:13px;font-weight:500;margin-top:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.film-card p{display:flex;gap:8px;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:3px}.film-card p span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-unavailable{background:repeating-linear-gradient(135deg,#29392e,#29392e 15px,#223027 15px,#223027 30px);min-height:50px}.compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compact-film{display:flex;gap:17px;align-items:center;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.compact-film img{width:48px;height:66px;border-radius:5px}.compact-film strong{display:block;font-weight:500;font-size:13px}.compact-film small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.compact-film b{color:var(--muted);margin-left:auto}.rank-number{font:italic 32px var(--serif);color:var(--accent);min-width:30px}.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.topic-card{aspect-ratio:1.55;position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(140deg,#3c4c35,#1d3126)}.topic-card img{width:100%;height:100%;opacity:.55}.topic-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#102018df)}.topic-card>span{position:absolute;left:24px;bottom:24px;right:24px;z-index:2}.topic-card small{font-size:9px;letter-spacing:.1em;color:#d2ddcb}.topic-card strong{font:500 25px var(--serif);display:block;margin:6px 0 12px}.topic-card b{font-size:11px;color:var(--accent);font-weight:400}
.site-footer{border-top:1px solid var(--line);padding:32px 0;margin-top:70px}.footer-inner{display:flex;justify-content:space-between;gap:35px}.footer-brand{font-size:21px}.footer-brand span{font-size:10px;letter-spacing:.1em;color:var(--muted)}.site-footer p{color:#7f8e7c;font-size:10px;margin-top:10px;max-width:570px}.footer-links{display:flex;align-items:flex-start;gap:26px;font-size:11px;color:#afbaa8}.page-title{padding:60px 0 36px}.page-title h1{font:500 clamp(30px,4vw,52px)/1.35 var(--serif);margin:16px 0 16px}.page-title p{color:var(--muted);max-width:760px;font-size:14px;line-height:1.9}.narrow{max-width:850px}.chip-nav{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.chip{display:inline-flex;align-items:center;min-height:33px;border-radius:5px;background:#1e2b22;color:#adbba6;padding:5px 12px;font-size:11px;border:1px solid transparent}.chip.active,.chip.accent{background:#d2e7971a;border-color:#d2e79755;color:var(--accent)}a.chip:hover{border-color:var(--accent);color:var(--accent)}.filters{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 24px;margin-bottom:32px}.filter-row{display:flex;gap:23px;padding:11px 0}.filter-row+ .filter-row{border-top:1px solid #2b393078}.filter-row>strong{font-size:11px;font-weight:500;color:var(--muted);flex:0 0 35px;line-height:33px}.filter-row>div{display:flex;flex-wrap:wrap;gap:7px}.pagination{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;margin:40px 0}.pagination a,.pagination span{font-size:12px;padding:9px 13px;border:1px solid var(--line);border-radius:5px}.pagination span{color:var(--accent)}.breadcrumbs{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:28px 0}.breadcrumbs a:hover{color:var(--accent)}.detail-hero{display:grid;grid-template-columns:260px 1fr;gap:52px;background:linear-gradient(120deg,#1c2b21,#151f19);padding:35px;border:1px solid var(--line);border-radius:16px}.detail-poster img{width:100%;aspect-ratio:2/3;border-radius:9px}.detail-copy{align-self:center}.detail-copy h1{font:500 clamp(28px,4vw,48px)/1.3 var(--serif);margin:15px 0}.detail-subtitle{font-size:12px;color:var(--muted)}.credits{font-size:12px;margin:22px 0}.credits>div{display:flex;gap:18px;padding:5px 0}.credits dt{color:var(--muted);flex:0 0 32px}.credits dd{margin:0;max-height:70px;overflow:auto}.detail-summary{font-size:12px;color:#b4bfb0;max-width:650px}.story{max-width:900px}.story h2{margin:10px 0 20px;font-size:24px;font-weight:500}.story p{font-size:14px;line-height:2.1;color:#b6c0b1;white-space:pre-line}.episode-line{border:1px solid var(--line);border-radius:10px;background:var(--surface);margin-bottom:14px}.episode-line summary{padding:20px;cursor:pointer;font-size:13px}.episode-line summary span{margin-left:17px;color:var(--muted);font-size:11px}.episode-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;padding:0 20px 20px}.episode{min-height:40px;display:grid;place-items:center;padding:8px;background:#111c15;border:1px solid var(--line);border-radius:5px;font-size:11px;text-align:center}.episode:hover,.episode.active{border-color:var(--accent);color:var(--accent)}.watch-stage{width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}.watch-stage iframe,.watch-stage video,.watch-stage .MacPlayer{width:100%;height:100%;border:0}.watch-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:25px 0 12px}.watch-heading h1{font-size:26px;font-weight:500;margin-top:8px}.watch-heading .button{margin:0}.rank-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.rank-board{padding:28px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(130deg,#243329,#17221a);display:flex;flex-direction:column;gap:15px}.rank-board h2{font:500 25px var(--serif)}.rank-board p{font-size:12px;color:var(--muted);flex:1}.rank-board .text-link{margin-top:14px}.rank-film{display:grid;grid-template-columns:50px 92px 1fr 35px;gap:24px;align-items:center;padding:25px 15px;border-top:1px solid var(--line)}.rank-film:last-child{border-bottom:1px solid var(--line)}.rank-film img{width:92px;height:128px;border-radius:7px}.rank-film h2{font-size:21px;font-weight:500;margin-bottom:6px}.rank-film p:not(.muted){font-size:13px;color:#b5c1af;max-width:700px;margin-top:12px}.rank-film-link{font-size:25px;color:var(--accent)}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.guide{padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.guide h3{font-size:17px;font-weight:500}.guide p{font-size:12px;color:var(--muted);margin:12px 0 22px}.guide .chip{margin:0 5px 5px 0}.method-note{padding:20px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:12px}.method-note summary{cursor:pointer}.method-note p{margin-top:15px}.empty-state{padding:50px 25px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted);margin:30px 0}.empty-state h2{font-size:22px;color:var(--ink);margin-bottom:12px}.empty-state p{font-size:13px}
@media(min-width:1600px){.shell{width:1280px}}@media(max-width:1160px){.header-inner{gap:24px}.site-nav{gap:15px}.search{width:170px}.film-grid{gap:24px 16px}.shell{width:calc(100% - 48px)}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.episode-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:900px){.site-header{height:auto;min-height:80px}.header-inner{min-height:80px;flex-wrap:wrap;gap:14px;padding:15px 0}.brand{margin-right:auto}.search{width:210px}.menu-toggle{display:block;background:none;color:var(--accent);border:1px solid var(--line);border-radius:5px;width:37px;height:36px;order:3}.site-nav{display:none;order:4;width:100%;flex-basis:100%;white-space:normal;flex-wrap:wrap;gap:10px 25px}.site-nav.is-open{display:flex}.film-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-copy{padding:48px 34px}.orbit-art{right:-230px}.discovery-strip>a{padding-right:20px}.discovery-strip small{max-width:130px}.discovery-strip b{display:none}.topic-grid,.rank-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-grid{grid-template-columns:1fr}.detail-hero{grid-template-columns:190px 1fr;gap:28px;padding:25px}.detail-summary{display:none}.footer-inner{flex-direction:column;gap:22px}.hero-copy p{max-width:300px}.rank-film{gap:18px}.credits dd{max-height:55px}}
@media(max-width:600px){.shell{width:calc(100% - 32px)}.header-inner{gap:12px;padding:13px 0}.brand{font-size:22px;gap:9px}.brand-mark{width:36px;height:36px;font-size:28px}.brand small{font-size:7px}.search{order:4;width:100%;margin:0}.menu-toggle{order:2}.site-nav{order:3}.site-nav a{font-size:12px}.search input{padding:9px 12px;font-size:12px}.intro-line{padding:21px 0 16px}.intro-line>span:last-child{font-size:9px}.eyebrow{font-size:8px}.hero,.hero-slide{min-height:355px}.hero-copy{padding:41px 25px}.hero-copy h1,.hero-copy h2{font-size:35px;max-width:310px;margin:23px 0 18px}.hero-copy p{font-size:12px;max-width:270px}.orbit-art{width:470px;height:470px;top:-30px;right:-250px}.orbit-art span{font-size:250px}.hero-caption{right:20px;bottom:17px;font-size:7px}.button{margin-top:24px;padding:12px 16px}.discovery-strip{margin:12px 0 30px}.discovery-strip>a{display:block;padding:17px 10px 19px 0}.discovery-strip>a+a{padding-left:14px}.discovery-strip span{font-size:14px;display:block;margin-bottom:5px}.discovery-strip strong{font-size:11px}.discovery-strip small{display:none}.section{margin:30px 0 38px}.section-head{margin-bottom:18px;gap:15px}.section-head h2{font-size:22px}.section-head .muted{display:none}.text-link{font-size:10px}.film-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 12px}.poster{border-radius:7px}.film-card h3{font-size:12px;margin-top:9px}.film-card p{font-size:9px;display:block}.film-card p span+span{margin-left:7px}.film-status{font-size:8px;left:7px;bottom:7px;right:7px}.compact-grid{grid-template-columns:1fr}.compact-film{padding:13px 16px}.topic-grid,.rank-board-grid{grid-template-columns:1fr}.topic-card{aspect-ratio:1.7}.site-footer{margin-top:42px;padding:27px 0}.footer-links{flex-wrap:wrap;gap:15px 24px}.page-title{padding:32px 0 26px}.page-title h1{font-size:34px}.page-title p{font-size:12px}.filters{padding:9px 13px;margin-bottom:25px}.filter-row{gap:10px;padding:10px 0}.chip{font-size:10px;min-height:32px;padding:5px 9px}.filter-row>strong{flex-basis:28px;font-size:10px}.filter-row>div{gap:5px}.detail-hero{grid-template-columns:108px 1fr;gap:17px;padding:17px}.detail-copy h1{font-size:25px;margin:8px 0}.detail-copy .eyebrow{font-size:7px}.detail-subtitle{display:none}.detail-copy .chip-nav{margin:10px 0;gap:5px}.detail-copy .credits{margin:12px 0;font-size:10px}.credits>div{gap:8px;padding:3px 0}.credits dd{max-height:32px}.detail-copy .button{margin:12px 0 0;font-size:10px;padding:9px 12px;gap:12px}.story p{font-size:12px}.episode-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 12px 12px;gap:7px}.episode-line summary{padding:15px 12px;font-size:12px}.episode-line summary span{font-size:10px}.watch-heading h1{font-size:19px}.watch-heading .button{font-size:10px;padding:9px 10px;gap:5px}.rank-film{grid-template-columns:27px 65px 1fr 16px;gap:12px;padding:19px 0}.rank-film img{width:65px;height:96px}.rank-film .rank-number{font-size:25px;min-width:0}.rank-film h2{font-size:17px}.rank-film p:not(.muted){font-size:11px;margin-top:7px}.rank-film .muted{font-size:9px}.rank-film-link{font-size:19px}.rank-board{padding:25px}.breadcrumbs{font-size:10px}.pagination{gap:6px}.pagination a,.pagination span{font-size:10px;padding:7px 8px}}
.hero-copy h1,.hero-copy h2,.page-title h1{text-wrap:balance}.password-form{max-width:420px;margin:25px auto}.password-form label{display:block;margin-bottom:10px}.password-form input[type=password]{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:13px}.password-form button:disabled{opacity:.5;cursor:wait}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* 线路标签：两条线路并排常显，替代折叠面板 */
.line-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.line-tab{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:13px;line-height:1;transition:border-color .2s ease,color .2s ease,background .2s ease}
.line-tab:hover,.line-tab:focus-visible{border-color:var(--accent);color:var(--accent)}
.line-tab.active{background:var(--accent);border-color:var(--accent);color:#101713;font-weight:600}
.line-tab-count{padding:2px 7px;border-radius:20px;background:rgba(255,255,255,.07);color:var(--muted);font-size:11px;font-weight:400}
.line-tab.active .line-tab-count{background:rgba(16,23,19,.12);color:#2c3a2f}
.episode-panel{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:20px}
.episode-panel .episode-grid{padding:0}
@media(max-width:600px){.line-tabs{gap:8px}.line-tab{flex:1 1 0;min-width:0;justify-content:center;padding:0 12px}.line-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.episode-panel{padding:14px}}
/* 浏览中心：字母索引与分页 */
.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.letter-cell{display:grid;place-items:center;gap:1px;min-height:58px;border:1px solid var(--line);border-radius:8px;background:var(--surface);transition:border-color .2s ease,color .2s ease,background .2s ease}
.letter-cell b{font-size:15px;font-weight:600;letter-spacing:.05em}
.letter-cell span{font-size:10px;color:var(--muted)}
.letter-cell:hover,.letter-cell:focus-visible{border-color:var(--accent);color:var(--accent)}
.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:38px 0 10px;font-size:13px}
.pagination a,.pagination span[aria-current]{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.pagination a:hover{border-color:var(--accent);color:var(--accent)}
.pagination span[aria-current]{background:var(--accent);border-color:var(--accent);color:#101713;font-weight:600}
@media(max-width:600px){.letter-grid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px}.letter-cell{min-height:50px}.pagination{gap:6px;font-size:12px}.pagination a,.pagination span[aria-current]{min-height:34px;padding:0 10px}}
