:root{
  --ink:#eef6ff;--muted:#8da4bc;--line:#1b334c;--panel:#0d1b2c;--panel2:#11253a;
  --blue:#2d98ff;--cyan:#57d3ff;--lime:#7ef0c5;--bg:#07111f;--radius:18px
}
*{box-sizing:border-box}
html{max-width:100%;background:var(--bg);scroll-behavior:smooth;overflow-x:hidden}
body{max-width:100%;margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
.noir-mobile{width:100%;min-height:100vh}
.noir-mast{position:relative;z-index:10;width:100%;max-width:720px;margin:0 auto;padding:18px 16px 12px;background:linear-gradient(180deg,#0b1a2b 0%,#07111f 100%);border-bottom:1px solid var(--line)}
.noir-topline{display:flex;align-items:center;justify-content:space-between;min-height:44px}
.noir-wordmark{display:flex;align-items:center;gap:10px;min-width:0}
.noir-wordmark i{width:13px;height:28px;border-radius:8px;background:linear-gradient(180deg,var(--cyan),var(--blue));box-shadow:8px 0 0 rgba(45,152,255,.22)}
.noir-wordmark span{font-size:22px;font-weight:900;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.noir-history-button{width:54px;height:44px;padding:0;border:1px solid var(--line);border-radius:14px;background:#102238;display:flex;align-items:center;justify-content:center;gap:5px}
.noir-history-button b{position:relative;width:17px;height:17px;border:2px solid var(--cyan);border-radius:50%}
.noir-history-button b:before{content:"";position:absolute;width:2px;height:5px;background:var(--cyan);left:6px;top:2px}
.noir-history-button b:after{content:"";position:absolute;width:5px;height:2px;background:var(--cyan);left:6px;top:7px}
.noir-history-button span{font-size:11px;color:#c8d9ea}
.noir-search{display:grid;grid-template-columns:1fr 64px;margin-top:14px;background:#fff;border-radius:14px;overflow:hidden}
.noir-search input{width:100%;height:46px;padding:0 14px;border:0;outline:0;background:#fff;color:#13243a;font-size:14px}
.noir-search button{height:46px;border:0;background:var(--blue);font-weight:800}
.noir-nav{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding:0 0 2px;scrollbar-width:none}
.noir-nav::-webkit-scrollbar{display:none}
.noir-nav a{flex:0 0 auto;height:36px;padding:0 15px;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;color:#9eb4c9;font-size:14px}
.noir-nav a.active{background:var(--ink);border-color:var(--ink);color:#081321;font-weight:800}
.noir-main{width:100%;max-width:720px;margin:0 auto;padding:0 14px 28px}
.noir-domain-stamp{height:46px;display:flex;align-items:center;justify-content:center;gap:10px;color:#738ba3;font-size:12px;letter-spacing:.04em}
.noir-domain-stamp span{color:#aac1d6;font-weight:800}.noir-domain-stamp i{width:3px;height:3px;border-radius:50%;background:var(--cyan)}.noir-domain-stamp b{font-weight:500}
.noir-block,.noir-focus,.noir-chart,.noir-voices,.noir-comments,.noir-story,.noir-now,.noir-sources,.noir-catalog,.noir-rank-page{margin-top:26px}
.noir-block-head,.noir-chart>header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.noir-block-head small,.noir-chart small,.noir-page-head small,.noir-story header small,.noir-now small{display:block;color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.18em}
.noir-block-head h2,.noir-chart h2,.noir-story h2{margin:2px 0 0;font-size:22px;line-height:1.2}
.noir-block-head>a,.noir-block-head>span,.noir-chart>header>a{color:#8fa8c0;font-size:12px}
.noir-focus{margin-top:4px}
.noir-focus-track{display:flex;gap:12px;overflow-x:auto;margin:0 -14px;padding:0 14px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}
.noir-focus-track::-webkit-scrollbar{display:none}
.noir-focus-card{flex:0 0 86%;height:224px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--panel);scroll-snap-align:start}
.noir-focus-card>a{display:grid;grid-template-columns:43% 57%;height:100%}
.noir-focus-card img{width:100%;height:100%;object-fit:cover;background:#14283d}
.noir-focus-card div{display:flex;flex-direction:column;justify-content:center;padding:18px;background:radial-gradient(circle at 0 0,rgba(45,152,255,.2),transparent 62%)}
.noir-focus-card small{color:var(--cyan);font-weight:900;letter-spacing:.12em}
.noir-focus-card h2{margin:8px 0 6px;font-size:22px;line-height:1.24;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.noir-focus-card p{margin:0;color:#91a9c0;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.noir-focus-card span{margin-top:18px;color:var(--lime);font-size:12px;font-weight:800}
.noir-poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 9px}
.noir-poster-card{min-width:0}
.noir-poster-card figure{position:relative;margin:0;aspect-ratio:2/3;overflow:hidden;border-radius:12px;background:#13273b;border:1px solid #1b3854}
.noir-poster-card img{width:100%;height:100%;object-fit:cover}
.noir-poster-card figure span{position:absolute;left:6px;bottom:6px;max-width:calc(100% - 12px);padding:2px 6px;border-radius:7px;background:rgba(4,11,19,.8);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.noir-poster-card figure em{position:absolute;right:6px;top:6px;padding:2px 5px;border-radius:6px;background:var(--blue);font-size:10px;font-style:normal;font-weight:900}
.noir-poster-card h3{margin:8px 0 2px;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.noir-poster-card p{margin:0;color:#7790a8;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noir-poster-card p i{margin:0 4px;font-style:normal}
.noir-chart{padding:18px 16px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(150deg,#0e1e30,#091522)}
.noir-chart ol{list-style:none;margin:0;padding:0}
.noir-chart li+li{border-top:1px solid rgba(42,70,97,.55)}
.noir-chart li a{min-height:60px;display:grid;grid-template-columns:34px 1fr 16px;align-items:center;gap:10px}
.noir-chart li>a>b{font-size:13px;color:#5dafff}
.noir-chart li:nth-child(-n+3)>a>b{font-size:18px;color:var(--lime)}
.noir-chart li div{min-width:0}.noir-chart h3{margin:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noir-chart p{margin:2px 0 0;color:#718aa3;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noir-chart li i{font-size:24px;font-style:normal;color:#57718b}
.noir-voices>div{display:grid;gap:9px}
.noir-voices>div>a{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.noir-voices a>span,.noir-comments article>span{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#17324b;color:var(--cyan);font-weight:900}
.noir-voices a>div{min-width:0}.noir-voices b{font-size:13px}.noir-voices p{margin:3px 0 0;color:#91a7bc;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.noir-crumb{display:flex;align-items:center;gap:8px;overflow:hidden;padding:16px 2px 2px;color:#778fa7;font-size:12px;white-space:nowrap}.noir-crumb a,.noir-crumb span{overflow:hidden;text-overflow:ellipsis}.noir-crumb i{font-style:normal;color:#3c5873}
.noir-page-head{padding:4px 0 18px}.noir-page-head h1{margin:4px 0 4px;font-size:30px;line-height:1.2}.noir-page-head p{margin:0;color:#7e96ad;font-size:13px}
.noir-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:26px}.noir-pagination a{height:44px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:var(--panel);font-size:13px}.noir-pagination a:last-child{text-align:right}.noir-pagination span{color:#738ba2;font-size:12px}.noir-pagination .disabled{pointer-events:none;opacity:.35}
.noir-tag-cloud{display:flex;flex-wrap:wrap;gap:9px}.noir-tag-cloud a{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#0b1928;color:#9db2c6;font-size:12px}.noir-tag-cloud a.directed{border-color:#245f8f;color:var(--cyan)}
.noir-detail{margin:16px -14px 0}.noir-detail-hero{position:relative;overflow:hidden;padding:22px 18px;border-bottom:1px solid var(--line);background:#091624}.noir-backdrop{position:absolute;inset:0;height:100%;background-size:cover;background-position:center 24%;filter:blur(16px);transform:scale(1.08);opacity:.12;pointer-events:none}.noir-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,17,31,.42),#091624 76%)}
.noir-detail-core{position:relative;display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:end}.noir-detail-poster{aspect-ratio:2/3;border-radius:14px;overflow:hidden;background:#13263a;border:1px solid #29455f;box-shadow:0 14px 34px rgba(0,0,0,.35)}.noir-detail-poster img{width:100%;height:100%;object-fit:cover}.noir-detail-title{min-width:0}.noir-detail-title>small{color:var(--cyan);font-size:10px;letter-spacing:.16em;font-weight:900}.noir-detail-title h1{margin:4px 0 5px;font-size:25px;line-height:1.18}.noir-detail-title>p{margin:0;color:#839ab0;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.noir-facts{display:flex;gap:6px;margin-top:10px;overflow-x:auto}.noir-facts span{flex:0 0 auto;padding:5px 7px;border-radius:8px;background:#13283d;color:#b6c8d8;font-size:11px}.noir-facts b{margin-right:4px;color:#6f8aa4;font-weight:600}
.noir-highlight{position:relative;margin:18px 0 0;padding:13px 14px 13px 54px;border-radius:14px;background:linear-gradient(90deg,#12304b,#0d2337);color:#cde4f7;font-size:14px}.noir-highlight b{position:absolute;left:10px;top:11px;padding:3px 7px;border-radius:7px;background:var(--blue);color:white;font-size:11px}
.noir-credits{margin-top:16px}.noir-credits p{display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px;margin:9px 0;color:#9bb0c4;font-size:13px}.noir-credits p>b{flex:0 0 38px;color:#66829c;font-weight:600}.noir-credits a{color:#d9eaff}.noir-credits a:after{content:"·";margin-left:7px;color:#49637b}.noir-credits a:last-of-type:after{display:none}
.noir-story{padding:0 4px}.noir-story header{margin-bottom:12px}.noir-story .description{margin:0;color:#a9bbcb;font-size:15px;line-height:1.85}.description-box.collapsed .description{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.description-box.expanded .description{display:block}.description-toggle{display:none;min-width:100px;height:40px;margin:14px auto 0;padding:0 16px;border:1px solid var(--line);border-radius:20px;background:#10233a;color:var(--cyan);font-size:13px}.description-box.is-overflowing .description-toggle{display:block}.description-toggle[hidden]{display:none!important}.noir-play-primary{width:174px;height:48px;margin:20px auto 0;border-radius:24px;background:linear-gradient(90deg,#1887f0,#3ebcff);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900;box-shadow:0 10px 28px rgba(37,150,255,.24)}
.noir-sources{display:grid;gap:14px}.noir-source{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.noir-source header{margin-bottom:12px}.noir-source header span{color:#5c7892;font-size:10px;letter-spacing:.15em}.noir-source h2{margin:2px 0 0;font-size:17px}.episode-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.episode-list a{min-height:38px;padding:7px 4px;border-radius:9px;background:#152a40;color:#9eb3c7;font-size:12px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.episode-list a.current{background:var(--blue);color:#fff;font-weight:800}.noir-empty{padding:24px;text-align:center;color:#7890a7;border:1px solid var(--line);border-radius:18px}
.noir-comments>div{display:grid;gap:10px}.noir-comments article{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.noir-comments article>div{min-width:0;flex:1}.noir-comments article header{display:flex;justify-content:space-between}.noir-comments article time{color:#617a92;font-size:11px}.noir-comments article p{margin:5px 0 0;color:#9db0c2;font-size:13px}
.noir-player{margin:12px -14px 0;background:#000;aspect-ratio:16/9;overflow:hidden}.noir-player iframe,.noir-player video,.noir-player>div{width:100%!important;height:100%!important}.noir-episode-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 -14px;background:var(--line)}.noir-episode-nav a,.noir-episode-nav span{min-width:0;padding:13px 16px;background:#0c1a2a}.noir-episode-nav a:last-child,.noir-episode-nav span:last-child{text-align:right}.noir-episode-nav small{display:block;color:#55718c;font-size:9px;letter-spacing:.12em}.noir-episode-nav b{display:block;margin-top:2px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noir-episode-nav span{opacity:.45}.noir-now{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.noir-now h1{margin:2px 0;font-size:20px}.noir-now p{margin:0;color:#7891a9;font-size:12px}.noir-now>a{flex:0 0 auto;padding:9px 12px;border-radius:10px;background:#172d43;color:var(--cyan);font-size:12px}
.noir-rank-groups{display:grid;gap:16px}.noir-rank-groups>section{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.noir-rank-groups section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.noir-rank-groups h2{margin:0;font-size:20px}.noir-rank-groups header a{color:var(--cyan);font-size:12px}.noir-rank-groups ol{list-style:none;margin:0;padding:0}.noir-rank-groups li+li{border-top:1px solid var(--line)}.noir-rank-groups li a{min-height:48px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px}.noir-rank-groups li b{color:#53adff}.noir-rank-groups li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noir-rank-groups li em{color:#607a92;font-size:11px;font-style:normal}
.noir-article-list{display:grid;gap:12px}.noir-article-card>a{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:12px;border:1px solid var(--line);border-radius:17px;background:var(--panel)}.noir-article-card img{width:96px;height:112px;border-radius:11px;object-fit:cover;background:#14283d}.noir-article-card div{min-width:0}.noir-article-card small,.noir-article-detail small{color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.16em}.noir-article-card h2{margin:4px 0;font-size:17px;line-height:1.35}.noir-article-card p{margin:0;color:#8fa5b9;font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.noir-article-card span{display:block;margin-top:6px;color:#60798f;font-size:10px}.noir-article-detail{margin-top:12px}.noir-article-detail>header{margin-bottom:18px}.noir-article-detail h1{margin:5px 0;font-size:30px;line-height:1.25}.noir-article-detail header p{color:#71899f;font-size:12px}.noir-article-detail>img{width:100%;max-height:320px;border-radius:18px;object-fit:cover}.noir-article-detail>div{padding:20px 2px;color:#aabccc;font-size:15px;line-height:1.9}.noir-article-detail>div img{height:auto;border-radius:12px}
.noir-footer{width:100%;max-width:720px;margin:34px auto 0;padding:24px 18px calc(34px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#050d17;color:#6f879e;overflow:hidden}.noir-footer>div{display:flex;align-items:baseline;gap:10px;min-width:0}.noir-footer strong{min-width:0;color:#d9e8f5;font-size:18px;overflow-wrap:anywhere}.noir-footer>div span{min-width:0;overflow-wrap:anywhere}.noir-footer>p{font-size:12px;overflow-wrap:anywhere}.noir-footer nav{display:flex;flex-wrap:wrap;gap:12px 16px;margin:16px 0}.noir-footer nav a{color:#9db2c7;font-size:12px}.noir-footer small{font-size:11px;overflow-wrap:anywhere}.noir-neighbor{padding:10px 12px;border-radius:12px;background:#0c1a28;overflow-wrap:anywhere}.noir-neighbor span{margin-right:8px}.noir-neighbor a{color:var(--cyan)}
.back-top{position:fixed;right:16px;bottom:20px;width:42px;height:42px;border-radius:50%;background:var(--blue);display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s;z-index:25}.back-top.show{opacity:1;pointer-events:auto;transform:none}
.watch-history-panel{position:fixed;inset:0;z-index:80;pointer-events:none;visibility:hidden}.watch-history-panel.open{pointer-events:auto;visibility:visible}.watch-history-mask{position:absolute;inset:0;border:0;background:rgba(0,0,0,.72);opacity:0;transition:.2s}.watch-history-panel.open .watch-history-mask{opacity:1}.watch-history-sheet{position:absolute;left:0;right:0;bottom:0;max-height:78vh;padding:20px 16px calc(16px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#0b1929;transform:translateY(100%);transition:.25s;overflow:auto}.watch-history-panel.open .watch-history-sheet{transform:none}.watch-history-sheet>header{display:flex;justify-content:space-between;align-items:center}.watch-history-sheet header small{color:var(--cyan);font-size:10px;letter-spacing:.15em}.watch-history-sheet h2{margin:2px 0 0}.watch-history-sheet header button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#10233a;font-size:25px}.watch-history-list{display:grid;gap:10px;margin-top:16px}.history-item{display:flex;gap:12px;padding:10px;border-radius:14px;background:#102238}.history-pic{flex:0 0 46px;height:64px;border-radius:8px;overflow:hidden}.history-pic img{width:100%;height:100%;object-fit:cover}.history-info{display:flex;flex-direction:column;min-width:0}.history-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-info em,.history-info small{color:#718aa2;font-size:11px;font-style:normal}.history-empty{padding:40px;text-align:center;color:#718aa2}.watch-history-sheet>footer{margin-top:14px}.history-clear{width:100%;height:44px;border:1px solid var(--line);border-radius:12px;background:transparent}
.noir-status{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.noir-status b{font-size:72px;color:#15324b}.noir-status h1{margin:0}.noir-status p{color:#7891a9}.noir-status a{padding:11px 18px;border-radius:12px;background:var(--blue)}
@media (max-width:360px){.noir-main{padding-left:10px;padding-right:10px}.noir-focus-track{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.noir-detail,.noir-player,.noir-episode-nav{margin-left:-10px;margin-right:-10px}.noir-poster-grid{gap:14px 7px}.noir-poster-card h3{font-size:13px}.noir-focus-card{flex-basis:91%}.episode-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
