/* Kinoneon — тёмная сине-фиолетовая тема. Подключается последней и переопределяет базовые стили. */
:root {
	--bg: #151933;
	--bg-lighter: #1d2244;
	--bg-lightest: #2a3060;
	--bg-darker: #0f1226;
	--bg-black: #0b0d1a;
	--tt: #a9afd6;
	--tt-lighter: #eef0ff;
	--tt-lighter-2: #eef0ff;
	--tt-darker: #6f76a6;
	--tt-darker-2: #8a90bd;
	--bdc: #ffffff14;
	--bdc-lighter: #ffffff1f;
	--accent: #7c5cff;
	--accent-darker: #6a47f5;
	--accent-2: #22d3ee;
	--accent-3: #22d3ee;
	--gradient-accent: linear-gradient(135deg, #7c5cff, #22d3ee);
	--ui-bg: #1d2244;
	--ui-bg-darker: #151933;
	--ui-bg-darkest: #0b0d1a;
	--ui-bg-accent: #151933;
	--ui-bdc: #2a3060;
	--bsh: 0 10px 30px rgba(3, 4, 20, .55);
	--kn-radius: 14px;
	--kn-glow: 0 0 0 1px #7c5cff55, 0 8px 28px #7c5cff33;
	--max-width: 1320px;
}

html {scroll-behavior: smooth;}
body.kn {
	background: radial-gradient(1200px 600px at 85% -10%, #2b1f6b55, transparent 60%),
		radial-gradient(900px 500px at -10% 10%, #0e5a7a33, transparent 60%), var(--bg-black);
	background-attachment: fixed;
	color: var(--tt); font-size: 15px; letter-spacing: 0; line-height: 1.5;
}
body.kn a {color: var(--tt-lighter);}
body.kn a:hover {color: var(--accent-2);}
::selection {background: #7c5cff; color: #fff;}
.kn-wrap {max-width: var(--max-width); margin: 0 auto; padding: 0 20px;}

/* buttons */
.kn-btn, body.kn button, body.kn .btn, body.kn input[type="submit"], body.kn .form__btn {
	background: var(--gradient-accent); color: #fff; border-radius: 999px; height: 42px; padding: 0 22px;
	font-weight: 700; font-size: 13px; letter-spacing: .3px; text-transform: none; border: 0;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
	box-shadow: 0 6px 18px #7c5cff40; transition: transform .15s, box-shadow .15s;
}
.kn-btn:hover, body.kn button:hover, body.kn .btn:hover {transform: translateY(-1px); box-shadow: 0 10px 26px #7c5cff66; color: #fff;}

/* header */
.kn-header {position: sticky; top: 0; z-index: 100; background: #0b0d1ad9; backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--bdc);}
.kn-header__row {display: flex; align-items: center; gap: 20px; height: 68px;}
.kn-logo {display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0;}
.kn-logo__mark {width: 38px; height: 38px; border-radius: 12px; background: var(--gradient-accent);
	display: grid; place-items: center; color: #fff; font-size: 14px; box-shadow: var(--kn-glow);}
.kn-logo__text {font-size: 24px; font-weight: 800; color: #fff; letter-spacing: -.5px;}
.kn-logo__text b {background: var(--gradient-accent); -webkit-background-clip: text; background-clip: text; color: transparent;}
.kn-logo--sm .kn-logo__text {font-size: 20px;}
.kn-search {flex: 1; max-width: 560px; margin: 0 auto; position: relative;}
.kn-search input {width: 100%; height: 44px; border-radius: 999px; padding: 0 52px 0 20px; font-size: 15px;
	background: var(--bg) !important; color: var(--tt-lighter); border: 1px solid var(--bdc-lighter);
	box-shadow: none;}
.kn-search input:focus {border-color: var(--accent); box-shadow: var(--kn-glow);}
.kn-search button {position: absolute; right: 4px; top: 4px; height: 36px !important; width: 36px; padding: 0 !important;
	border-radius: 50% !important; box-shadow: none !important;}
.kn-user__btn {height: 42px !important; gap: 8px;}
.kn-burger {display: none !important; width: 42px; padding: 0 !important; background: var(--bg-lighter) !important; box-shadow: none !important;}
.kn-nav {border-top: 1px solid var(--bdc);}
.kn-nav__row {overflow-x: auto; scrollbar-width: none;}
.kn-nav__row::-webkit-scrollbar {display: none;}
.kn-menu {display: flex; gap: 6px; padding: 10px 0; white-space: nowrap;}
.kn-menu li a {display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 16px; border-radius: 999px;
	color: var(--tt); font-weight: 600; font-size: 14px; background: transparent; transition: .15s;}
.kn-menu li a:hover {background: var(--bg-lighter); color: #fff;}
.kn-menu li a.is-active {background: #7c5cff26; color: #fff; box-shadow: inset 0 0 0 1px #7c5cff80;}
.kn-menu .fas {color: var(--accent-2); font-size: 12px;}

/* main */
.kn-main {padding: 28px 0 50px; min-height: 70vh;}
.kn-crumbs {font-size: 13px; color: var(--tt-darker); margin-bottom: 18px;}
.kn-crumbs a {color: var(--tt) !important;}
.kn-hero {padding: 34px 36px; border-radius: 22px; margin-bottom: 34px; position: relative; overflow: hidden;
	background: linear-gradient(120deg, #24195ecc, #0f3a5acc), var(--bg); border: 1px solid var(--bdc-lighter);}
.kn-hero::after {content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%;
	background: radial-gradient(circle, #22d3ee55, transparent 70%);}
.kn-hero__title {font-size: 32px; line-height: 1.2; color: #fff; max-width: 820px; position: relative; z-index: 1;}
.kn-hero__text {margin-top: 12px; max-width: 760px; color: #c9cdf0; font-size: 16px; position: relative; z-index: 1;}

.kn-strip {margin-bottom: 34px;}
.kn-strip__head, .kn-sect__head {display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;}
.kn-strip__title, .kn-sect__title, .kn-box__title {font-size: 22px; color: #fff; font-weight: 800; line-height: 1.25;
	padding-left: 14px; position: relative;}
.kn-strip__title::before, .kn-sect__title::before, .kn-box__title::before {content: ""; position: absolute; left: 0; top: 3px;
	bottom: 3px; width: 4px; border-radius: 4px; background: var(--gradient-accent);}
.kn-strip__more {font-size: 14px; color: var(--accent-2) !important; font-weight: 700;}
.kn-strip__row {display: grid; grid-auto-flow: column; grid-auto-columns: 158px; gap: 16px; overflow-x: auto;
	padding-bottom: 8px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #2a3060 transparent;}
.kn-strip__row--wrap {grid-auto-flow: row; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); overflow: visible;}

.kn-mini {display: flex; flex-direction: column; scroll-snap-align: start; min-width: 0;}
.kn-mini__img {display: block; position: relative; aspect-ratio: 2/3; border-radius: 12px; overflow: hidden; background: var(--bg-lighter);}
.kn-mini__img img {width: 100%; height: 100%; object-fit: cover; transition: transform .3s;}
.kn-mini:hover .kn-mini__img img {transform: scale(1.06);}
.kn-mini__badge {position: absolute; left: 8px; bottom: 8px; right: 8px; font-size: 11px; font-weight: 700; color: #fff;
	background: #0b0d1acc; border-radius: 8px; padding: 4px 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.kn-mini__title {margin-top: 9px; font-weight: 700; color: var(--tt-lighter); font-size: 14px; line-height: 1.3;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.kn-mini__year {font-size: 12px; color: var(--tt-darker);}

/* grid of cards */
.kn-sect {margin-bottom: 30px;}
.kn-grid #dle-content {display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 22px 18px;}
.kn-grid #dle-content > :not(.kn-card) {grid-column: 1 / -1;}
.kn-card {position: relative; display: flex; flex-direction: column; min-width: 0;}
.kn-card__poster {display: block; position: relative; aspect-ratio: 2/3; border-radius: var(--kn-radius); overflow: hidden;
	background: var(--bg-lighter); box-shadow: var(--bsh); transition: box-shadow .2s, transform .2s;}
.kn-card__poster img {width: 100%; height: 100%; object-fit: cover; transition: transform .35s, filter .35s;}
.kn-card:hover .kn-card__poster {box-shadow: var(--kn-glow); transform: translateY(-3px);}
.kn-card:hover .kn-card__poster img {transform: scale(1.05); filter: brightness(.7);}
.kn-card__type {position: absolute; left: 10px; top: 10px; font-size: 11px; font-weight: 800; text-transform: uppercase;
	letter-spacing: .5px; color: #fff; background: var(--gradient-accent); padding: 4px 9px; border-radius: 999px;}
.kn-card__quality {position: absolute; right: 10px; top: 10px; font-size: 11px; font-weight: 700; color: #0b0d1a;
	background: #22d3ee; padding: 4px 8px; border-radius: 6px; max-width: 45%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.kn-card__season {position: absolute; left: 10px; right: 10px; bottom: 10px; font-size: 12px; font-weight: 700; color: #fff;
	background: #0b0d1ad0; border-radius: 8px; padding: 5px 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.kn-card__play {position: absolute; left: 50%; top: 50%; width: 56px; height: 56px; margin: -28px 0 0 -28px; border-radius: 50%;
	display: grid; place-items: center; color: #fff; font-size: 18px; background: var(--gradient-accent);
	opacity: 0; transform: scale(.7); transition: .25s; box-shadow: var(--kn-glow);}
.kn-card:hover .kn-card__play {opacity: 1; transform: scale(1);}
.kn-card__body {padding: 11px 2px 0;}
.kn-card__title {font-size: 15px; line-height: 1.3; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 2;
	-webkit-box-orient: vertical; overflow: hidden;}
.kn-card__title a {color: var(--tt-lighter) !important;}
.kn-card__meta {font-size: 12.5px; color: var(--tt-darker); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.kn-card__fav {position: absolute; right: 10px; top: 40px; opacity: 0; transition: .2s;}
.kn-card:hover .kn-card__fav {opacity: 1;}
.kn-card__fav .fas, .kn-full__fav .fas {width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
	background: #0b0d1acc; color: #fff; cursor: pointer;}
.kn-card__fav .fas.added, .kn-full__fav .fas.added {background: var(--accent);}

/* boxes */
.kn-box {background: #151933b3; border: 1px solid var(--bdc); border-radius: 20px; padding: 26px 28px; margin-bottom: 26px;}
.kn-box__title {margin-bottom: 16px; font-size: 20px;}
.kn-seo {color: var(--tt); line-height: 1.75;}
.kn-seo p + p {margin-top: 10px;}
.kn-seo a {color: var(--accent-2) !important;}

/* full story */
.kn-full__top {position: relative; display: grid; grid-template-columns: 240px 1fr; gap: 32px; padding: 30px;
	border-radius: 24px; overflow: hidden; margin-bottom: 26px; border: 1px solid var(--bdc-lighter); background: var(--bg-darker);}
.kn-full__backdrop {position: absolute; inset: -40px; background-size: cover; background-position: center;
	filter: blur(40px) saturate(1.3); opacity: .35; z-index: 0;}
.kn-full__top::after {content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0b0d1af2 30%, #0b0d1aa6); z-index: 0;}
.kn-full__poster, .kn-full__info {position: relative; z-index: 1;}
.kn-full__poster img {width: 100%; aspect-ratio: 2/3; object-fit: cover; border-radius: 16px; box-shadow: var(--kn-glow); display: block;}
.kn-btn--play {width: 100%; margin-top: 14px; height: 48px; font-size: 15px;}
.kn-full__title {font-size: 30px; line-height: 1.2; color: #fff; font-weight: 800;}
.kn-full__title .fas {font-size: 16px; color: var(--accent-2);}
.kn-full__chips {display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 18px;}
.kn-chip {padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--tt-lighter);
	background: #ffffff10; border: 1px solid var(--bdc-lighter);}
.kn-chip--accent {background: var(--gradient-accent); border-color: transparent; color: #fff; text-transform: capitalize;}
.kn-full__list {display: grid; gap: 9px; font-size: 14.5px;}
.kn-full__list > div {display: grid; grid-template-columns: 120px 1fr; gap: 12px;}
.kn-full__list dt {color: var(--tt-darker);}
.kn-full__list dd {color: var(--tt-lighter); margin: 0;}
.kn-full__list dd a {color: var(--accent-2) !important;}
.kn-full__bar {display: flex; align-items: center; gap: 16px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--bdc-lighter);}
.kn-full__rate {flex: 1;}
.kn-likes {display: inline-flex; align-items: center; gap: 10px;}
.kn-likes a {display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: #ffffff10; color: var(--tt-lighter) !important;}
.kn-likes a:hover {background: #7c5cff33;}
.kn-full__date {font-size: 13px; color: var(--tt-darker); display: inline-flex; gap: 7px; align-items: center;}
.kn-full__fav {position: static;}
.kn-full__text {font-size: 16px; line-height: 1.8; color: #cfd3f3; background: transparent !important;}
.kn-full__player .video-responsive {border-radius: 16px; overflow: hidden; background: #000; box-shadow: var(--bsh);}
.kn-full__caption {margin-top: 14px; font-size: 13.5px; color: var(--tt-darker);}
.kn-comments__head {display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px;}
.kn-comments__head .kn-box__title {margin-bottom: 0;}
.kn-empty {padding: 18px; border-radius: 14px; background: #ffffff08; text-align: center; color: var(--tt-darker);}
.page__comments-form {margin-bottom: 18px;}

/* pagination */
body.kn .pagination {margin: 30px 0 0; padding: 0; border: 0; background: none; box-shadow: none;}
body.kn .pagination__pages a, body.kn .pagination__pages span {min-width: 42px; height: 42px; line-height: 42px; border-radius: 12px;
	display: inline-block; margin: 3px; background: var(--bg-lighter); color: var(--tt-lighter);}
body.kn .pagination__pages span {background: var(--gradient-accent); color: #fff;}
body.kn .pagination__btn-loader a {background: var(--bg-lighter); color: #fff; border-radius: 999px; padding: 12px 34px; display: inline-block; margin-bottom: 10px;}

/* info / messages / forms */
body.kn .message-info, body.kn .berrors {background: var(--bg-lighter); border: 1px solid var(--bdc-lighter); border-radius: 14px; color: var(--tt-lighter);}
body.kn input[type="text"], body.kn input[type="password"], body.kn input[type="email"], body.kn textarea, body.kn select {
	background-color: var(--bg); color: var(--tt-lighter); border: 1px solid var(--bdc-lighter); border-radius: 10px;}
body.kn .login {background: var(--bg); border: 1px solid var(--bdc-lighter); border-radius: 18px; box-shadow: var(--bsh);}
body.kn .overlay {background: #05061099;}
body.kn .mobile-menu {background: var(--bg-darker);}
body.kn .mobile-menu .kn-menu {flex-direction: column; padding: 20px;}
body.kn #scrolltop {background: var(--gradient-accent); color: #fff;}

/* footer */
.kn-footer {border-top: 1px solid var(--bdc); background: #090b16; padding: 36px 0 22px; margin-top: 20px;}
.kn-footer__row {display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 30px;}
.kn-footer__about p {margin-top: 12px; font-size: 14px; color: var(--tt-darker); max-width: 420px; line-height: 1.6;}
.kn-footer__title {font-weight: 800; color: #fff; margin-bottom: 10px;}
.kn-footer__links a {display: block; color: var(--tt) !important; font-size: 14px; padding: 4px 0;}
.kn-footer__links a:hover {color: var(--accent-2) !important;}
.kn-footer__bottom {display: flex; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 18px;
	border-top: 1px solid var(--bdc); font-size: 12.5px; color: var(--tt-darker);}

/* adaptive */
@media (max-width: 1000px) {
	.kn-full__top {grid-template-columns: 200px 1fr; gap: 22px; padding: 22px;}
	.kn-full__title {font-size: 24px;}
	.kn-footer__row {grid-template-columns: 1fr 1fr;}
	.kn-footer__about {grid-column: 1 / -1;}
}
@media (max-width: 760px) {
	.kn-wrap {padding: 0 14px;}
	.kn-header__row {height: 60px; gap: 10px;}
	.kn-burger {display: inline-flex !important;}
	.kn-nav {display: none;}
	.kn-logo__text {font-size: 20px;}
	.kn-logo__mark {width: 32px; height: 32px;}
	.kn-hide-sm {display: none;}
	.kn-user__btn {width: 42px; padding: 0 !important;}
	.kn-search {position: absolute; left: 14px; right: 14px; top: 64px; max-width: none;}
	.kn-header {padding-bottom: 56px;}
	.kn-hero {padding: 22px 20px;}
	.kn-hero__title {font-size: 23px;}
	.kn-hero__text {font-size: 14.5px;}
	.kn-grid #dle-content {grid-template-columns: repeat(2, 1fr); gap: 18px 12px;}
	.kn-strip__row {grid-auto-columns: 128px; gap: 12px;}
	.kn-strip__title, .kn-sect__title, .kn-box__title {font-size: 18px;}
	.kn-box {padding: 20px 16px; border-radius: 16px;}
	.kn-full__top {grid-template-columns: 1fr; padding: 18px;}
	.kn-full__poster {max-width: 230px; margin: 0 auto; width: 100%;}
	.kn-full__title {font-size: 21px;}
	.kn-full__list > div {grid-template-columns: 96px 1fr;}
	.kn-card__fav {opacity: 1;}
	.kn-footer__bottom {flex-direction: column;}
}
.kn-user {margin-left: auto;}

/* сетка для всех страниц-списков (обновления, поиск, теги, архив) */
#dle-content:has(> .kn-card) {display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 22px 18px;}
#dle-content:has(> .kn-card) > :not(.kn-card) {grid-column: 1 / -1;}
.kn-card {max-width: 100%;}
@media (max-width: 760px) {
	#dle-content:has(> .kn-card) {grid-template-columns: repeat(2, 1fr); gap: 18px 12px;}
}
