:root {
    --line-bg: #090d14;
    --line-panel: #121a27;
    --line-panel-2: #172233;
    --line-card: #101722;
    --line-line: rgba(255, 255, 255, .11);
    --line-text: #f4f8ff;
    --line-muted: #b8c4d8;
    --line-dim: #78869d;
    --line-cyan: #65e4ff;
    --line-blue: #3f6fff;
    --line-red: #ff5365;
    --line-radius: 8px;
    --line-shadow: 0 28px 80px rgba(0, 0, 0, .38);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: var(--line-bg); }
body.line-body {
    min-height: 100vh;
    color: var(--line-text);
    background:
        linear-gradient(90deg, rgba(101, 228, 255, .04) 1px, transparent 1px),
        radial-gradient(circle at 18% 0%, rgba(63, 111, 255, .2), transparent 34rem),
        radial-gradient(circle at 85% 18%, rgba(255, 83, 101, .13), transparent 30rem),
        linear-gradient(180deg, #090d14 0%, #111827 52%, #090d14 100%);
    background-size: 42px 42px, auto, auto, auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    line-height: 1.66;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }

.line-app > :not(.line-header):not(.line-drawer):not(.line-main):not(.line-fansearch):not(.line-footer),
.line-main > :not(.line-container):not(.line-detail):not(.line-empty),
.line-header__inner > :not(.line-brand):not(.line-nav):not(.line-search):not(.line-menu-btn),
.line-hero > :not(.line-hero__main):not(.line-hero__side),
.line-section > :not(.line-section__head):not(.line-belt):not(.line-grid),
.line-grid > :not(.line-card),
.line-belt > :not(.line-card),
.line-card > :not(.line-card__poster):not(h2):not(h3):not(p):not(.line-stats),
.line-detail-hero > :not(.line-detail-poster):not(.line-detail-info),
.line-adjacent > :not(a):not(span),
.line-detail-layout > :not(.line-detail-main):not(.line-related),
.line-watch-layout > :not(.line-watch-main):not(.line-playlist),
.line-panel > :not(.line-panel__head):not(.line-source):not(.line-story__content),
.line-playlist > :not(.line-playlist__head):not(.line-source),
.line-source > :not(h3):not(.line-episode-list),
.line-episode-list > :not(.line-episode),
.line-filter > :not(a),
.line-pagination > :not(a):not(span),
.line-fansearch__list > :not(a) { display: none !important; }

.line-container { width: min(1460px, calc(100% - 52px)); margin: 0 auto; }
.line-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid var(--line-line); background: rgba(9, 13, 20, .82); backdrop-filter: blur(20px); }
.line-header__inner { min-height: 72px; display: flex; align-items: center; gap: 18px; }
.line-brand { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; font-size: 21px; }
.line-brand__mark { width: 38px; height: 38px; border-radius: 12px; background: linear-gradient(135deg, var(--line-cyan), var(--line-blue)); position: relative; box-shadow: 0 16px 36px rgba(63,111,255,.26); }
.line-brand__mark::after { content: ""; position: absolute; left: 15px; top: 10px; border-left: 12px solid #101722; border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
.line-nav { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 6px; }
.line-nav > a, .line-nav__trigger { min-height: 38px; display: inline-flex; align-items: center; gap: 6px; padding: 0 13px; border: 1px solid transparent; border-radius: var(--line-radius); color: var(--line-muted); background: transparent; white-space: nowrap; font-size: 14px; }
.line-nav > a:hover, .line-nav > a.is-active, .line-nav__group:hover .line-nav__trigger, .line-nav__trigger.is-active { color: #fff; border-color: rgba(101,228,255,.36); background: rgba(101,228,255,.12); }
.line-nav__group { position: relative; }
.line-nav__trigger { cursor: default; }
.line-nav__trigger span { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.line-nav__panel { position: absolute; top: calc(100% + 10px); left: 0; width: 360px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px; border: 1px solid var(--line-line); border-radius: 16px; background: rgba(18,26,39,.96); box-shadow: var(--line-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s ease; }
.line-nav__group:hover .line-nav__panel { opacity: 1; visibility: visible; transform: translateY(0); }
.line-nav__panel a { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 5px 8px; border-radius: var(--line-radius); color: var(--line-muted); background: rgba(255,255,255,.06); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.line-nav__panel a:hover, .line-nav__panel a.is-active { color: #061018; background: var(--line-cyan); }
.line-search { flex: 0 0 300px; height: 40px; display: grid; grid-template-columns: minmax(0, 1fr) 68px; border: 1px solid var(--line-line); border-radius: var(--line-radius); overflow: hidden; background: rgba(255,255,255,.06); }
.line-search input { min-width: 0; border: 0; outline: 0; padding: 0 12px; color: #fff; background: transparent; }
.line-search input::placeholder { color: var(--line-dim); }
.line-search button { border: 0; color: #061018; background: var(--line-cyan); font-weight: 900; }
.line-menu-btn { display: none; width: 40px; height: 40px; border: 1px solid var(--line-line); border-radius: var(--line-radius); background: rgba(255,255,255,.07); }
.line-menu-btn span { display: block; width: 18px; height: 2px; margin: 4px auto; background: #fff; }

.line-hero { min-height: 560px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; align-items: stretch; padding-top: 34px; }
.line-hero__main, .line-hero__side, .line-panel, .line-related, .line-playlist, .line-strip, .line-card__poster { border: 1px solid var(--line-line); background: rgba(18,26,39,.78); box-shadow: 0 18px 52px rgba(0,0,0,.22); }
.line-hero__main { position: relative; overflow: hidden; border-radius: 24px; padding: clamp(28px, 5vw, 62px); display: flex; flex-direction: column; justify-content: flex-end; }
.line-hero__backdrop { position: absolute; inset: 0; opacity: .42; }
.line-hero__backdrop img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.08); }
.line-hero__main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,13,20,.96), rgba(9,13,20,.72), rgba(9,13,20,.24)); }
.line-hero__main > *:not(.line-hero__backdrop) { position: relative; z-index: 1; }
.line-kicker { color: var(--line-cyan); font-size: 12px; font-weight: 950; margin-bottom: 8px; }
.line-hero h1, .line-page-head h1, .line-detail-info h1, .line-watch-head h1 { color: #fff; font-size: clamp(40px, 6vw, 78px); line-height: 1.03; letter-spacing: 0; }
.line-hero p, .line-page-head p, .line-detail-info > p { max-width: 680px; margin-top: 14px; color: var(--line-muted); font-size: 16px; }
.line-meta, .line-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.line-meta span { min-height: 30px; display: inline-flex; align-items: center; padding: 4px 10px; border-radius: var(--line-radius); color: var(--line-muted); background: rgba(255,255,255,.08); }
.line-btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid var(--line-line); border-radius: var(--line-radius); color: #fff; background: rgba(255,255,255,.08); font-weight: 900; cursor: pointer; }
.line-btn--primary { color: #061018; border-color: transparent; background: var(--line-cyan); }
.line-adjacent { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; max-width: 760px; }
.line-adjacent a, .line-adjacent > span { min-width: 0; padding: 13px 14px; border: 1px solid var(--line-line); border-radius: 16px; background: rgba(255,255,255,.07); transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.line-adjacent a:hover { transform: translateY(-2px); border-color: rgba(101,228,255,.5); background: rgba(101,228,255,.12); }
.line-adjacent span span, .line-adjacent a span { display: block; color: var(--line-cyan); font-size: 12px; font-weight: 950; }
.line-adjacent strong { display: block; margin-top: 3px; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.line-adjacent .is-disabled { opacity: .55; }
.line-hero__side { border-radius: 24px; padding: 18px; display: grid; align-content: start; gap: 10px; }
.line-hero__side h2 { font-size: 22px; }
.line-hero__side a { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 8px; padding: 10px; border-radius: var(--line-radius); background: rgba(255,255,255,.06); }
.line-hero__side em { color: var(--line-cyan); font-style: normal; font-weight: 950; }
.line-hero__side strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.line-hero__side span { grid-column: 2; color: var(--line-dim); font-size: 12px; }
.line-section, .line-page-head, .line-watch { padding-top: 34px; padding-bottom: 18px; }
.line-section__head, .line-panel__head, .line-playlist__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.line-section__head h2, .line-panel__head h2, .line-playlist__head h2, .line-related h2, .line-fansearch h2 { color: #fff; font-size: 26px; }
.line-section__head > a { color: var(--line-cyan); font-weight: 900; }
.line-belt { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr); gap: 16px; overflow-x: auto; padding-bottom: 6px; }
.line-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.line-card__poster { position: relative; display: block; aspect-ratio: 2 / 3; overflow: hidden; border-radius: var(--line-radius); }
.line-card__poster img, .line-detail-poster img, .line-related img { width: 100%; height: 100%; object-fit: cover; }
.line-card__poster span { position: absolute; left: 8px; top: 8px; max-width: calc(100% - 16px); padding: 3px 8px; border-radius: 999px; color: #061018; background: var(--line-cyan); font-size: 12px; font-weight: 900; }
.line-card h2, .line-card h3 { margin-top: 9px; color: #fff; font-size: 15px; line-height: 1.34; }
.line-card p { margin-top: 4px; color: var(--line-dim); font-size: 13px; }
.line-stats { color: var(--line-muted) !important; }
.line-list-subtitle { margin-top: 10px; color: var(--line-dim); font-size: 14px; }
.line-filter-cta { margin-top: 14px; }
.line-index-filter { margin-top: 14px; margin-bottom: 22px; padding: 20px 22px; border-radius: 18px; border: 1px solid var(--line-line); background: var(--line-panel); box-shadow: 0 18px 52px rgba(0,0,0,.22); }
.line-index-filter__head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line-line); }
.line-index-filter__title { font-size: 16px; font-weight: 950; color: #fff; }
.line-index-filter__badge { font-size: 11px; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; color: #061018; background: var(--line-cyan); }
.line-index-filter__hint { font-size: 14px; color: var(--line-muted); margin: -6px 0 14px; line-height: 1.5; }
.line-index-filter__row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 18px; margin-bottom: 14px; }
.line-index-filter__row:last-of-type { margin-bottom: 0; }
.line-index-filter__label { flex: 0 0 auto; min-width: 3em; padding-top: 6px; font-size: 13px; font-weight: 800; color: var(--line-cyan); }
.line-index-filter__chips { flex: 1 1 0; min-width: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.line-index-filter__footer { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line-line); }
.line-index-filter__back { font-size: 14px; font-weight: 800; color: var(--line-cyan); }
.line-index-filter__back:hover { text-decoration: underline; }
.line-filter, .line-pagination, .line-fansearch__list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; margin-bottom: 22px; }
.line-filter a, .line-pagination a, .line-pagination span, .line-fansearch a, .line-index-filter__chip { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 4px 12px; border-radius: var(--line-radius); color: var(--line-muted); background: rgba(255,255,255,.08); }
.line-filter a.is-active, .line-pagination span, .line-index-filter__chip.is-active { color: #061018; background: var(--line-cyan); }
.line-index-filter__chip:hover { color: #061018; background: rgba(101,228,255,.35); }
.line-empty { margin-top: 28px; padding: 34px; border-radius: 18px; color: var(--line-muted); background: var(--line-panel); text-align: center; }
.line-detail-hero { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; align-items: center; padding-top: 42px; padding-bottom: 24px; }
.line-detail-poster { aspect-ratio: 2 / 3; overflow: hidden; border-radius: 22px; box-shadow: var(--line-shadow); }
.line-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; color: var(--line-dim); font-size: 13px; }
.line-info-list { display: grid; gap: 8px; margin-top: 18px; color: var(--line-muted); }
.line-info-list div { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 10px; }
.line-info-list dt { color: var(--line-cyan); font-weight: 900; }
.line-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 22px; padding-top: 24px; }
.line-detail-main, .line-watch-main { min-width: 0; }
.line-panel, .line-related, .line-playlist { min-width: 0; padding: 22px; border-radius: 22px; }
.line-panel { margin-bottom: 20px; }
.line-panel__head button, .line-playlist__head button { min-height: 34px; padding: 0 12px; border: 0; border-radius: var(--line-radius); color: #061018; background: var(--line-cyan); cursor: pointer; }
.line-source + .line-source { margin-top: 18px; }
.line-source h3 { margin-bottom: 10px; color: var(--line-muted); }
.line-episode-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 8px; }
.line-playlist .line-episode-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.line-episode { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 4px 8px; border-radius: var(--line-radius); color: var(--line-muted); background: rgba(255,255,255,.08); font-size: 13px; text-align: center; }
.line-episode:hover, .line-episode.is-active { color: #061018; background: var(--line-cyan); }
.line-story-title { margin-top: 18px; color: #fff; font-size: 18px; font-weight: 950; }
.line-story-title:first-child { margin-top: 0; }
.line-story-text { margin-top: 8px; color: var(--line-muted); }
.line-related { position: sticky; top: 92px; align-self: start; }
.line-related a { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-top: 1px solid var(--line-line); }
.line-related img { aspect-ratio: 2 / 3; border-radius: 7px; }
.line-related strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.line-related em { color: var(--line-dim); font-size: 12px; font-style: normal; }
.line-watch-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; padding-top: 18px; align-items: start; }
.line-watch-head { margin-top: 28px; }
.line-watch-head h1 small { display: block; margin-top: 8px; color: var(--line-muted); font-size: 18px; }
.line-player { width: 100%; max-width: 100%; overflow: hidden; border-radius: 22px; background: #000; box-shadow: var(--line-shadow); }
.line-player-container { width: 100%; max-width: 100%; aspect-ratio: 16 / 9; min-height: 390px; background: #000; }
.line-player *, .line-player-container * { max-width: 100%; }
.line-nextprev { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.line-nextprev a, .line-nextprev > span { padding: 14px; border-radius: 18px; background: var(--line-panel); }
.line-nextprev span { display: block; color: var(--line-dim); font-size: 12px; }
.line-nextprev strong { display: block; margin-top: 4px; }
.line-playlist { position: sticky; top: 92px; max-height: calc(100vh - 116px); overflow: auto; }
.line-fansearch, .line-footer { padding: 28px 0; }
.line-fansearch { border-top: 1px solid var(--line-line); background: rgba(255,255,255,.025); }
.line-fansearch a:hover { color: #061018; background: var(--line-cyan); }
.line-footer { color: var(--line-dim); text-align: center; }
.line-drawer { position: fixed; top: 72px; right: 0; bottom: 0; z-index: 999; width: min(340px, 88vw); background: rgba(18,26,39,.96); transform: translateX(105%); transition: transform .22s ease; }
body.is-drawer-open .line-drawer { transform: translateX(0); }
.line-drawer__inner { height: 100%; overflow: auto; padding: 18px; }
.line-drawer__search { display: grid; grid-template-columns: minmax(0, 1fr) 68px; gap: 8px; margin-bottom: 14px; }
.line-drawer input, .line-drawer button, .line-drawer a, .line-drawer summary { min-height: 40px; border: 1px solid var(--line-line); border-radius: var(--line-radius); }
.line-drawer input { min-width: 0; padding: 0 10px; color: #fff; background: rgba(255,255,255,.08); }
.line-drawer button { color: #061018; background: var(--line-cyan); }
.line-drawer a, .line-drawer summary { display: block; margin-top: 8px; padding: 9px 10px; color: var(--line-muted); background: rgba(255,255,255,.08); }
@media (max-width: 1180px) {
    .line-nav, .line-search { display: none; }
    .line-menu-btn { display: block; margin-left: auto; }
    .line-hero, .line-detail-layout, .line-watch-layout { grid-template-columns: 1fr; }
    .line-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .line-related, .line-playlist { position: static; max-height: none; }
}
@media (max-width: 860px) {
    .line-container { width: min(100% - 28px, 1460px); }
    .line-hero { min-height: auto; }
    .line-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .line-detail-hero { grid-template-columns: 1fr; }
    .line-detail-poster { width: min(240px, 70vw); }
    .line-player-container { min-height: 0; height: auto; }
    .line-playlist .line-episode-list { grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); }
}
@media (max-width: 560px) {
    .line-hero h1, .line-page-head h1, .line-detail-info h1, .line-watch-head h1 { font-size: 36px; }
    .line-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .line-adjacent { grid-template-columns: 1fr; }
    .line-nextprev { grid-template-columns: 1fr; }
    .line-panel, .line-related, .line-playlist { padding: 14px; border-radius: 16px; }
    .line-player, .line-player > div, .line-player-container, .line-player-container > div { width: 100% !important; max-width: 100% !important; }
}
