/* ============================================================================
   NOVEL LIST (novel-list.php) — sidebar filter kiri + konten m-card 760px.
   Kartu baris reuse .dn-rank-row (dn-rank.css). 100% token dn-design
   (dark-aware otomatis). Signature: chip genre TRI-STATE (include/exclude).
   ========================================================================== */

/* ── Layout: sidebar 332 + konten 760 = --dn-page-w ─────────────────────── */
main.container.nl-main {
	max-width: var(--dn-page-w);
	width: 100%;
	box-sizing: border-box;
	padding: 0 var(--dn-space-md);
}
/* Lede header 1 baris di desktop (mobile/tablet tetap membungkus). */
@media (min-width: 992px) {
	.nl-main .dn-lede { white-space: nowrap; }
}
.nl-layout {
	display: flex;
	align-items: flex-start;
	gap: var(--dn-space-lg);
	margin: 0;
}
.nl-side {
	width: var(--dn-sidebar-w);
	flex: 0 0 var(--dn-sidebar-w);
	box-sizing: border-box;
	position: sticky;
	top: 96px;
	max-height: calc(100vh - 112px);
	overflow-y: auto;
	background: var(--dn-surface);
	border: 1px solid var(--dn-border);
	border-radius: var(--dn-radius-card);
	padding: var(--dn-space-md);
}
.nl-content { flex: 1 1 auto; min-width: 0; max-width: var(--dn-content-w); }
.nl-content .m-card.nl-card {
	width: 100%;
	max-width: var(--dn-content-w);
	box-sizing: border-box;
	margin: 0;
	float: none;
}
.nl-content .dn-rank-list { margin-top: var(--dn-space-md); }
/* Meta bawah judul sedikit lebih besar (ikon em ikut). */
.nl-meta { font-size: var(--dn-fs-sm); }
/* Ikon meta berwarna per makna (desktop + mobile). */
.nl-meta .nl-m-views i   { color: var(--dn-brand); }
.nl-meta .nl-m-readers i { color: var(--dn-ok); }
.nl-meta .nl-m-reviews i { color: var(--dn-star); }
/* Mode list Novel List (bukan grid): judul kini anak langsung .nl-row (dipisah dari body).
   Desktop: cover kiri (span 2 baris), judul kanan-atas, body kanan-bawah → sama spt semula.
   LAYOUT ini KHUSUS .nl-main (Novel List) — rank punya rail nomor sendiri. */
.nl-main .nl-items:not(.is-grid) .nl-row {
	grid-template-columns: 120px minmax(0, 1fr);
	grid-template-rows: min-content 1fr;
	column-gap: var(--dn-space-md);
	row-gap: 0;
	align-items: stretch;
}
.nl-main .nl-items:not(.is-grid) .nl-title     { grid-column: 2; grid-row: 1; }
.nl-main .nl-items:not(.is-grid) .nl-cover-col { grid-column: 1; grid-row: 1 / span 2; }
.nl-main .nl-items:not(.is-grid) .dn-rank-body { grid-column: 2; grid-row: 2; }

/* SHARED (Novel List + Rank): rating tetap NEMPEL cover (cover-col rata atas); tombol
   turun ke dasar body (margin-top:auto) → tombol sejajar garis rating. */
.nl-items:not(.is-grid) .nl-cover-col { align-self: start; }
.nl-items:not(.is-grid) .dn-rank-body { display: flex; flex-direction: column; }
.nl-items:not(.is-grid) .nl-foot { margin-top: auto; justify-content: flex-end; }
/* Rank list: baris = grid 1 baris (rail nomor|cover|body) → stretch agar body & cover
   setinggi baris, sehingga tombol (dasar body) sejajar rating (dasar cover-col). */
/* Rank list: cover lebih besar + rail nomor. DITARUH DI SINI (dn-list, dimuat SETELAH
   dn-rank) — aturan identik di dn-rank.css tak menang; versi belakangan ini yang berlaku. */
main.container.dn-rank-main .nl-items:not(.is-grid) .dn-rank-row { align-items: stretch; grid-template-columns: 3ch 120px minmax(0, 1fr); }
/* Badge negara/status/chapter di rank list (desktop) satu tingkat lebih kecil. */
main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cov-status,
main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cov-ch { font-size: 9px; padding: 1px 5px; letter-spacing: var(--dn-tracking-tight); }
main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cover-col .dn-rank-cover .dn-flag img { width: 17px; height: 13px; }
/* Angka rating (mis. "4.0") setelah bintang lebih kecil. */
main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cov-rating .star-result { font-size: var(--dn-fs-sm); }

/* Deskripsi bertingkat: head(150) selalu, mid(150–225) tampil desktop, tail(>225) hidden.
   Desktop: bila tak ada tail, Show more/less disembunyikan (mid sudah tampil penuh). */
@media (min-width: 561px) {
	.nl-x-notail .dn-rank-more,
	.nl-x-notail .dn-rank-less { display: none; }
}

/* Kolom cover: gambar + rating di bawahnya (jarak kecil ke rating). */
.nl-cover-col { display: flex; flex-direction: column; gap: 6px; }
.nl-cover-col .dn-rank-cover { position: relative; width: 100%; }
/* Lawan .dn-rank-cover img{width:100%} agar bendera tak memenuhi cover. */
.nl-cover-col .dn-rank-cover .dn-flag img { width: 20px; height: 15px; }

/* Overlay status + jumlah ch di dasar cover (gaya kartu widget). */
.nl-cov-tags {
	position: absolute; left: 0; right: 0; bottom: 0;
	display: flex; align-items: flex-end; justify-content: space-between;
	gap: 4px; padding: 5px;
	pointer-events: none;
}
.nl-cov-status, .nl-cov-ch {
	font-family: var(--dn-font-head);
	font-size: var(--dn-fs-xs);
	font-weight: var(--dn-fw-semibold);
	line-height: 1.35;
	padding: 2px 6px;
	border-radius: var(--dn-radius-pill);
	color: #fff;
	white-space: nowrap;
	box-shadow: var(--dn-shadow-sm);
}
.nl-cov-ch { background: rgba(15, 20, 30, .78); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
/* Ongoing / status tak dikenal → warna brand, biar TAK menyatu dgn pil "N ch" gelap. */
.nl-cov-status.dn-badge--neutral { background: var(--dn-brand); }
.nl-cov-status.dn-badge--ok     { background: var(--dn-ok); }
.nl-cov-status.dn-badge--warn   { background: var(--dn-warn); }
.nl-cov-status.dn-badge--danger { background: var(--dn-danger); }

/* Rating di bawah cover. */
.nl-cov-rating { display: flex; align-items: center; justify-content: center; gap: 4px; line-height: 1; }
/* Bintang & angka disamakan jadi kotak flex align-center → satu garis tengah (ikon FA
   baseline-nya beda dari teks; ini yang bikin angka turun). */
.nl-cov-rating .mr-star-rating { margin: 0; line-height: 1; display: inline-flex; align-items: center; }
.nl-cov-rating .mr-star-rating i { line-height: 1; vertical-align: middle; }
/* Angka rating (mis. "4.0") lebih kecil + sejajar tengah dgn bintang (desktop+mobile). */
/* margin-left:0 → lawan `.mr-star-rating + .star-result{margin-left:6px}` (dn-design)
   yang bikin jarak dobel; jarak bintang↔angka murni dari gap .nl-cov-rating. */
.nl-cov-rating .star-result { font-size: var(--dn-fs-sm); line-height: 1; display: inline-flex; align-items: center; margin-left: 0; }

/* ── Sidebar ────────────────────────────────────────────────────────────── */
.nl-side-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: var(--dn-space-sm);
	border-bottom: 1px solid var(--dn-border);
	margin-bottom: var(--dn-space-md);
}
.nl-side-title {
	font-family: var(--dn-font-head);
	font-size: var(--dn-fs-h4);
	font-weight: var(--dn-fw-semibold);
	color: var(--dn-text);
}
.nl-side-close {
	display: none;
	border: 0;
	background: none;
	color: var(--dn-text-muted);
	font-size: var(--dn-fs-h3);
	line-height: 1;
	cursor: pointer;
	padding: 0 var(--dn-space-xs);
}
.nl-sec { margin-bottom: var(--dn-space-lg); }
.nl-sec-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--dn-font-head);
	font-size: var(--dn-fs-sm);
	font-weight: var(--dn-fw-bold);
	letter-spacing: var(--dn-tracking-wide);
	text-transform: uppercase;
	color: var(--dn-text);
	margin: 0 0 var(--dn-space-xs);
}
.nl-gcount {
	font-size: var(--dn-fs-xs);
	font-weight: var(--dn-fw-bold);
	letter-spacing: var(--dn-tracking-normal);
}
.nl-gcount .nl-gc-in  { color: var(--dn-brand-ink); }
.nl-gcount .nl-gc-out { color: var(--dn-danger); }
.nl-gcount[data-empty="1"] { opacity: .35; }
.nl-hint {
	font-family: var(--dn-font-body);
	font-size: var(--dn-fs-xs);
	color: var(--dn-text-faint);
	margin: 0 0 var(--dn-space-sm);
}
.nl-gsearch { margin-bottom: var(--dn-space-sm); padding: 8px 12px; }

/* Chip genre tri-state — SIGNATURE. */
.nl-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dn-space-xs);
	max-height: 264px;
	overflow-y: auto;
	padding: 2px; /* ruang ring fokus */
	margin-bottom: var(--dn-space-sm);
}
.nl-chip {
	font-family: var(--dn-font-head);
	font-size: var(--dn-fs-xs);
	font-weight: var(--dn-fw-medium);
	color: var(--dn-text-muted);
	background: var(--dn-surface-2);
	border: 1px solid var(--dn-border);
	border-radius: var(--dn-radius-pill);
	padding: 5px 11px;
	cursor: pointer;
	transition: var(--dn-transition);
}
.nl-chip:hover { border-color: var(--dn-brand); color: var(--dn-brand-ink); }
.nl-chip:focus-visible { outline: none; box-shadow: var(--dn-ring); }
.nl-chip.is-in {
	color: var(--dn-on-brand);
	background: var(--dn-brand);
	border-color: var(--dn-brand);
}
.nl-chip.is-out {
	color: var(--dn-danger);
	background: var(--dn-danger-tint, var(--dn-surface-2));
	border-color: var(--dn-danger);
	text-decoration: line-through;
}
.nl-field { display: block; margin-bottom: var(--dn-space-sm); }
.nl-field-label {
	display: block;
	font-family: var(--dn-font-head);
	font-size: var(--dn-fs-xs);
	font-weight: var(--dn-fw-semibold);
	letter-spacing: var(--dn-tracking-wide);
	text-transform: uppercase;
	color: var(--dn-text-muted);
	margin-bottom: var(--dn-space-xs);
}
.nl-field .dn-select { padding: 8px 10px; }
.nl-gmode { margin-top: var(--dn-space-xs); }
.nl-side-foot {
	display: flex;
	align-items: center;
	gap: var(--dn-space-md);
	padding-top: var(--dn-space-sm);
	border-top: 1px solid var(--dn-border);
}
.nl-side-foot .dn-btn { flex: 1 1 auto; }
.nl-reset {
	font-family: var(--dn-font-head);
	font-size: var(--dn-fs-sm);
	color: var(--dn-text-muted);
	white-space: nowrap;
}
.nl-reset:hover { color: var(--dn-danger); }

/* ── Toolbar konten ─────────────────────────────────────────────────────── */
.nl-toolbar {
	display: flex;
	align-items: center;
	gap: var(--dn-space-sm);
	flex-wrap: wrap;
	padding-bottom: var(--dn-space-sm);
	border-bottom: 1px solid var(--dn-border);
}
.nl-open { display: none; white-space: nowrap; }
.nl-q { flex: 1 1 160px; min-width: 0; padding: 8px 12px; }
.nl-sort { width: auto; flex: 0 0 auto; padding: 8px 28px 8px 10px; }
.nl-tbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: 0 0 auto;
	color: var(--dn-text-muted);
	background: var(--dn-surface);
	border: 1px solid var(--dn-border);
	border-radius: var(--dn-radius-control);
	cursor: pointer;
	transition: var(--dn-transition);
}
.nl-tbtn:hover { color: var(--dn-brand-ink); border-color: var(--dn-brand); }
.nl-tbtn:focus-visible { outline: none; box-shadow: var(--dn-ring); }
.nl-views { display: inline-flex; gap: var(--dn-space-xs); }
.nl-view[aria-pressed="true"] {
	color: var(--dn-on-brand);
	background: var(--dn-brand);
	border-color: var(--dn-brand);
}

/* Chip filter aktif. */
.nl-active {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--dn-space-xs);
	padding: var(--dn-space-sm) 0 0;
}
.nl-achip {
	display: inline-flex;
	align-items: center;
	gap: var(--dn-space-xs);
	font-family: var(--dn-font-head);
	font-size: var(--dn-fs-xs);
	font-weight: var(--dn-fw-medium);
	color: var(--dn-brand-ink);
	background: var(--dn-brand-tint);
	border: 1px solid var(--dn-brand);
	border-radius: var(--dn-radius-pill);
	padding: 4px 10px;
	text-decoration: none;
	transition: var(--dn-transition);
}
.nl-achip:hover { color: var(--dn-on-brand); background: var(--dn-brand); text-decoration: none; }
.nl-achip--out {
	color: var(--dn-danger);
	background: var(--dn-danger-tint, var(--dn-surface-2));
	border-color: var(--dn-danger);
}
.nl-achip--out:hover { color: var(--dn-on-brand); background: var(--dn-danger); }
.nl-clear {
	font-family: var(--dn-font-head);
	font-size: var(--dn-fs-xs);
	font-weight: var(--dn-fw-semibold);
	color: var(--dn-text-muted);
	margin-left: var(--dn-space-xs);
}
.nl-clear:hover { color: var(--dn-danger); }

/* ── Mode GRID (toggle client-side, CSS morph dari baris yang sama) ─────── */
.nl-items.is-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: var(--dn-space-md);
}
.nl-items.is-grid .nl-row {
	display: flex;
	flex-direction: column;
	align-items: stretch; /* lawan .dn-rank-row{align-items:start} → anak full-width, isi center */
	gap: var(--dn-space-xs);
	padding: var(--dn-space-sm);
}
/* Judul rapat ke rating di bawahnya (buang jarak flex-gap ekstra title→body). */
.nl-items.is-grid .nl-title { margin-bottom: calc(-1 * var(--dn-space-xs)); }
.nl-items.is-grid .dn-rank-body { margin-top: 0; }
.nl-items.is-grid .dn-rank-cover { width: 100%; }
.nl-items.is-grid .dn-rank-body { text-align: center; }
/* Urutan grid: cover dulu, lalu judul (di bawah cover, rata tengah), lalu body.
   (Judul kini anak langsung .nl-row utk layout list → pakai order agar grid tetap benar.) */
.nl-items.is-grid .nl-cover-col { order: 0; }
.nl-items.is-grid .nl-title     { order: 1; }
.nl-items.is-grid .dn-rank-body { order: 2; }
.nl-items.is-grid .dn-rank-title {
	font-size: var(--dn-fs-sm);
	line-height: 1.4;
	text-align: center;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nl-items.is-grid .nl-meta,
.nl-items.is-grid .nl-genres,
.nl-items.is-grid .nl-excerpt { display: none; }
.nl-items.is-grid .nl-foot { margin-top: 0; gap: var(--dn-space-xs); justify-content: center; }

/* Rating: di bawah cover (list) vs di badan setelah judul (grid). */
.nl-body-rating { display: none; }
.nl-items.is-grid .nl-cov-rating { display: none; }
.nl-items.is-grid .nl-body-rating { display: flex; align-items: center; justify-content: center; }
.nl-items.is-grid .nl-body-rating .mr-star-rating { margin: 0; }
/* Desktop grid: bintang + angka lebih kecil (default warisi body ~16px kebesaran). */
.nl-items.is-grid .nl-body-rating .mr-star-rating i { font-size: 14px; }
.nl-items.is-grid .nl-body-rating .star-result { font-size: var(--dn-fs-sm); }
/* Grid: tombol Add to Library tampil, penuh di bawah rating (ukuran diringkas). */
.nl-items.is-grid .nl-foot .dn-rank-add { margin: 0; padding: 5px 12px; font-size: var(--dn-fs-xs); }
.nl-items.is-grid .nl-foot .dn-rank-add svg { width: 13px; height: 13px; }

/* ── Responsif ──────────────────────────────────────────────────────────── */
@media (max-width: 1000px) {
	.nl-layout { display: block; }
	.nl-content { max-width: none; }
	.nl-content .m-card.nl-card { max-width: none; }
	.nl-open { display: inline-flex; }

	/* Sidebar -> drawer kiri. */
	.nl-side {
		position: fixed;
		z-index: 60;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(84vw, var(--dn-sidebar-w));
		max-height: none;
		border-radius: 0;
		border-top: 0;
		border-bottom: 0;
		border-left: 0;
		transform: translateX(-105%);
		transition: transform var(--dn-transition);
		box-shadow: var(--dn-shadow-pop);
	}
	.nl-side.is-open { transform: translateX(0); }
	.nl-side-close { display: block; }
	.nl-backdrop {
		position: fixed;
		inset: 0;
		z-index: 55;
		background: rgba(0, 0, 0, .45);
		border: 0;
		padding: 0;
	}
	body.nl-lock { overflow: hidden; }
}
@media (max-width: 560px) {
	main.container.nl-main { padding: 0 var(--dn-space-sm); }
	.nl-q { flex-basis: 100%; order: 5; }
	/* Meta list HP: sisakan ikon + angka saja (sembunyikan kata views/readers/reviews). */
	.nl-meta .nl-mlabel { display: none; }
	/* Mobile: paksa 3 kartu/baris (minmax 0 → tak ada yg terpotong), gap rapat. */
	.nl-items.is-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--dn-space-sm); }

	/* Kartu grid sempit di HP → kecilkan elemen agar tak terpotong/berdesakan. */
	.nl-items.is-grid .nl-row { padding: var(--dn-space-xs); }
	/* Judul kartu sedikit lebih kecil di HP. */
	.nl-items.is-grid .dn-rank-title { font-size: var(--dn-fs-xs); }
	/* Overlay status + "N ch": rapat + font 9px (di bawah fs-xs, agar "4000 ch"
	   4 digit tetap muat di cover kecil — px literal, sejalan ukuran ikon bintang). */
	.nl-items.is-grid .nl-cov-tags { padding: 2px; gap: 2px; }
	.nl-items.is-grid .nl-cov-status,
	.nl-items.is-grid .nl-cov-ch {
		font-size: 8px;
		padding: 1px 4px;
		letter-spacing: var(--dn-tracking-tight);
	}
	/* Bendera negara lebih kecil di HP. */
	.nl-items.is-grid .nl-cover-col .dn-rank-cover .dn-flag img { width: 15px; height: 11px; }
	/* Bintang + angka rating lebih kecil (default warisi body ~16px → kebesaran). */
	.nl-items.is-grid .nl-body-rating .mr-star-rating i { font-size: 12px; }
	.nl-items.is-grid .nl-body-rating .star-result { font-size: var(--dn-fs-xs); }
	/* Tombol Add/In Library ringkas + 1 baris (nowrap → "+ Add to Library" tak jadi 2 baris). */
	.nl-items.is-grid .nl-foot .dn-rank-add {
		padding: 4px 6px;
		font-size: 9px;
		gap: 3px;
		white-space: nowrap;
	}
	.nl-items.is-grid .nl-foot .dn-rank-add svg { width: 10px; height: 10px; }

	/* Mode LIST di HP: judul sejajar cover (kolom kanan-atas, maks 2 baris); cover kiri
	   span 2 baris + info/genre/deskripsi di kanan bawah judul. Ikon & genre diperkecil.
	   Scoped .nl-main → rank tak ikut. */
	.nl-main .nl-items:not(.is-grid) .nl-row {
		grid-template-columns: 96px minmax(0, 1fr);
		/* Judul = tinggi konten; body isi sisa → info nempel bawah judul (tak ada celah
		   saat judul 1 baris), tombol tetap terdorong ke dasar. */
		grid-template-rows: min-content 1fr;
		column-gap: var(--dn-space-sm);
		row-gap: 6px;
		padding: var(--dn-space-sm);
		align-items: stretch;
	}
	/* Body jadi kolom flex → tombol didorong ke dasar (sejajar rating di kiri-bawah). */
	.nl-main .nl-items:not(.is-grid) .dn-rank-body { display: flex; flex-direction: column; }
	.nl-main .nl-items:not(.is-grid) .nl-title {
		grid-column: 2;
		grid-row: 1;
		font-size: var(--dn-fs-sm);
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.nl-main .nl-items:not(.is-grid) .nl-cover-col { grid-column: 1; grid-row: 1 / span 2; }
	.nl-main .nl-items:not(.is-grid) .dn-rank-body { grid-column: 2; grid-row: 2; }
	.nl-main .nl-items:not(.is-grid) .nl-cov-tags { padding: 2px; gap: 2px; }
	.nl-main .nl-items:not(.is-grid) .nl-cov-status,
	.nl-main .nl-items:not(.is-grid) .nl-cov-ch {
		font-size: 8px;
		padding: 1px 4px;
		letter-spacing: var(--dn-tracking-tight);
	}
	.nl-main .nl-items:not(.is-grid) .nl-cover-col .dn-rank-cover .dn-flag img { width: 15px; height: 11px; }
	.nl-main .nl-items:not(.is-grid) .nl-cov-rating .mr-star-rating i { font-size: 12px; }
	.nl-main .nl-items:not(.is-grid) .nl-cov-rating .star-result { font-size: var(--dn-fs-xs); }
	/* Ikon meta + angka lebih kecil. */
	.nl-main .nl-items:not(.is-grid) .nl-meta { font-size: 10px; gap: var(--dn-space-xs) var(--dn-space-sm); margin-top: 2px; }
	/* Genre chip lebih kecil. */
	.nl-main .nl-items:not(.is-grid) .dn-rank-genres { gap: 4px; margin-top: 6px; }
	.nl-main .nl-items:not(.is-grid) .dn-rank-genres .dn-badge { font-size: 10px; padding: 1px 6px; }
	.nl-main .nl-items:not(.is-grid) .dn-rank-excerpt { font-size: var(--dn-fs-xs); margin-top: 6px; }
	/* Mobile: potong deskripsi di 150 token → sembunyikan mid (150–225) s/d Show more dibuka. */
	.nl-main .nl-items:not(.is-grid) .nl-desc-mid { display: none; }
	.nl-main .nl-items:not(.is-grid) .nl-excerpt:has(.nl-desc-tail:not([hidden])) .nl-desc-mid { display: inline; }
	.nl-main .nl-items:not(.is-grid) .nl-foot { margin-top: auto; justify-content: flex-end; padding-top: var(--dn-space-sm); }
	.nl-main .nl-items:not(.is-grid) .nl-foot .dn-rank-add {
		padding: 4px 8px;
		font-size: 9px;
		gap: 3px;
		white-space: nowrap;
	}
	.nl-main .nl-items:not(.is-grid) .nl-foot .dn-rank-add svg { width: 10px; height: 10px; }

	/* ── Rank list HP: samakan compact + meta + rating/tombol dgn Novel List ──
	   (layout kolom rank punya rail nomor sendiri; ditaruh di dn-list agar menang cascade). */
	/* Cover mobile lebih kecil (override rule desktop 160px dari dn-list di atas). */
	main.container.dn-rank-main .nl-items:not(.is-grid) .dn-rank-row { grid-template-columns: 2ch 96px minmax(0, 1fr); }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cov-tags { padding: 2px; gap: 2px; }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cov-status,
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cov-ch { font-size: 8px; padding: 1px 4px; letter-spacing: var(--dn-tracking-tight); }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cover-col .dn-rank-cover .dn-flag img { width: 15px; height: 11px; }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cov-rating .mr-star-rating i { font-size: 12px; }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-cov-rating .star-result { font-size: var(--dn-fs-xs); }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-meta { font-size: 10px; gap: var(--dn-space-xs) var(--dn-space-sm); margin-top: var(--dn-space-xs); }
	main.container.dn-rank-main .nl-items:not(.is-grid) .dn-rank-genres { gap: 4px; margin-top: var(--dn-space-sm); }
	main.container.dn-rank-main .nl-items:not(.is-grid) .dn-rank-genres .dn-badge { font-size: 10px; padding: 1px 6px; }
	main.container.dn-rank-main .nl-items:not(.is-grid) .dn-rank-excerpt { font-size: var(--dn-fs-xs); margin-top: 7px; }
	main.container.dn-rank-main .nl-items:not(.is-grid) .dn-rank-title {
		font-size: var(--dn-fs-sm);
		margin-bottom: var(--dn-space-xs);
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-desc-mid { display: none; }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-excerpt:has(.nl-desc-tail:not([hidden])) .nl-desc-mid { display: inline; }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-foot { margin-top: auto; justify-content: flex-end; padding-top: var(--dn-space-sm); }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-foot .dn-rank-add { padding: 4px 8px; font-size: 9px; gap: 3px; white-space: nowrap; }
	main.container.dn-rank-main .nl-items:not(.is-grid) .nl-foot .dn-rank-add svg { width: 10px; height: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	.nl-side, .nl-chip, .nl-tbtn, .nl-achip { transition: none; }
}
