/* FILMY25 — стили для разметки, которую генерирует сам DLE (и общие компоненты).
   Остальное оформление — Tailwind-классы прямо в .tpl. engine.css — адаптированная версия DLE 21.0 (тёмная тема). */
:root{--bg:#0b0e14;--card:#151922;--elev:#1e2430;--accent:#10b981;--accent-hover:#059669;color-scheme:dark}
html{scroll-behavior:smooth}
body{background:var(--bg);color:#f3f4f6}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#2d3748;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4a5568}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
h1:empty,.seo:empty{display:none}

/* ---------- бейджи ---------- */
.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;line-height:1.5;color:#fff;background:rgb(0 0 0/.75);border:1px solid rgb(255 255 255/.1);backdrop-filter:blur(6px)}
.badge-accent{background:var(--accent);color:#000;border-color:transparent}
.badge-warn{background:rgb(245 158 11/.92);color:#000;border-color:transparent}
.badge-rate{display:inline-block;padding:2px 6px;border-radius:6px;font-size:12px;font-weight:700;line-height:1.4;color:#000;background:var(--accent);box-shadow:0 1px 3px rgb(0 0 0/.4)}
.badge-rate.rate-mid{background:#f59e0b}.badge-rate.rate-bad{background:#f43f5e;color:#fff}
.rt-good{color:#10b981}.rt-mid{color:#fbbf24}.rt-bad{color:#fb7185}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:10px;background:rgb(255 255 255/.05);border:1px solid rgb(255 255 255/.05);font-size:11px;color:#9ca3af;transition:background .15s}
a.chip:hover{background:rgb(255 255 255/.1)}.chip b{font-size:13px}.chip small{color:#6b7280}

/* ---------- мета-строка: «2025 • США, Фантастика» ---------- */
.cm>span+span::before{content:"\2022";margin:0 .4em;opacity:.6}
.cm-tail>span+span::before{content:", ";margin:0;opacity:1}
.cm-tail:empty{display:none}

/* ---------- сетка списка (DLE оборачивает контент в #dle-content) ---------- */
.listing{--lc:2}
@media(min-width:640px){.listing{--lc:3}}
@media(min-width:768px){.listing{--lc:4}}
/* DLE может оборачивать контент в #dle-content, а может и нет — покрываем оба случая */
.listing #dle-content,.listing:not(:has(#dle-content)){display:grid;grid-template-columns:repeat(var(--lc),minmax(0,1fr));gap:1.5rem 1rem}
.listing #dle-content>:not(article),.listing:not(:has(#dle-content))>:not(article){grid-column:1/-1}
.layout:has(.main-col[data-wide]) aside{display:none}
.main-col[data-wide]{grid-column:1/-1}

/* ---------- карусель ---------- */
.trend-track{--cols:2.4;--gap:.875rem;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--cols) - 1)*var(--gap))/var(--cols));gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.trend-track::-webkit-scrollbar{display:none}.trend-track>*{scroll-snap-align:start;min-width:0}
@media(min-width:640px){.trend-track{--cols:4}}@media(min-width:768px){.trend-track{--cols:6}}@media(min-width:1024px){.trend-track{--cols:7}}

/* ---------- топ с нумерацией ---------- */
.top-list{counter-reset:top}
.top-rank::before{counter-increment:top;content:counter(top);color:#4b5563}
.top-item:nth-child(1) .top-rank::before{color:#10b981}.top-item:nth-child(2) .top-rank::before{color:#9ca3af}.top-item:nth-child(3) .top-rank::before{color:#d97706}

/* ---------- хлебные крошки, сортировка, пагинация ---------- */
.speedbar{font-size:.75rem;color:#6b7280}.speedbar a{color:#6b7280;transition:color .15s}.speedbar a:hover{color:#d1d5db}
.sort{display:flex;gap:.375rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.sort li a{display:block;padding:.375rem .75rem;border-radius:.5rem;background:var(--card);color:#9ca3af;transition:.15s}
.sort li a:hover{background:var(--elev);color:#fff}
.sort li.asc a,.sort li.desc a{background:rgb(255 255 255/.1);color:#fff}
.sort li.asc a::after{content:" \2191"}.sort li.desc a::after{content:" \2193"}
.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding-top:1.5rem;flex-wrap:wrap}
.pg-list{display:flex;gap:.375rem;flex-wrap:wrap;justify-content:center}
.pg-list a,.pg-list>span,.pagination>a{min-width:2.25rem;height:2.25rem;padding:0 .5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--card);border:1px solid rgb(255 255 255/.05);color:#9ca3af;font-size:.8125rem;font-weight:600;transition:.15s}
.pg-list a:hover,.pagination>a:hover{background:var(--elev);color:#fff}
.pg-list>span:not(.nav_ext){background:var(--accent);color:#000;border-color:transparent}
.pg-list .nav_ext{background:transparent;border-color:transparent}
.pg-nav{font-size:1.25rem;line-height:1}

/* ---------- избранное ---------- */
.fav-wrap a{display:flex;align-items:center;justify-content:center;gap:.375rem;width:2rem;height:2rem;border-radius:.5rem;background:rgb(0 0 0/.65);color:#fff;backdrop-filter:blur(6px);transition:.15s}
.fav-wrap a:hover{background:var(--accent);color:#000}.fav-wrap .is-on{color:var(--accent)}
.fav-wide{grid-column:auto}
.fav-wide a{width:100%;height:auto;padding:.625rem .75rem;white-space:nowrap;border-radius:.75rem;background:rgb(255 255 255/.05);font-size:.75rem;font-weight:500;color:#d1d5db;backdrop-filter:none}
.fav-wide a:hover{background:rgb(255 255 255/.1);color:#fff}

/*--- RATING: 10 звёзд по 17px ---*/

.unit-rating {
	--gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpolygon fill='%23fbbf24' points='10,1.5 12.6,7.2 18.8,7.8 14.1,12 15.5,18.1 10,15 4.5,18.1 5.9,12 1.2,7.8 7.4,7.2'/%3E%3C/svg%3E");

	list-style: none;
	margin: 0;
	padding: 0;
	width: 170px;
	height: 17px;
	position: relative;
	display: inline-block;
	vertical-align: middle;

	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpolygon fill='%23374151' points='10,1.5 12.6,7.2 18.8,7.8 14.1,12 15.5,18.1 10,15 4.5,18.1 5.9,12 1.2,7.8 7.4,7.2'/%3E%3C/svg%3E") repeat-x 0 0 / 17px 17px;
}

.unit-rating li {
	float: left;
	margin: 0;
	padding: 0;
	list-style: none;
	text-indent: -9999px;
}

.unit-rating li a {
	display: block;
	position: absolute;
	top: 0;
	width: 17px;
	height: 17px;
	margin: 0;
	padding: 0;
	border: 0;
	z-index: 17;
	overflow: hidden;
	text-indent: -9999px;
	text-decoration: none;
	background: none;
	transition: none !important;
}

.unit-rating li.current-rating {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 17px;
	max-width: 100%;
	z-index: 1;
	pointer-events: none;
	background: var(--gold) repeat-x 0 0 / 17px 17px;
	transition: none !important;
}

.unit-rating li a:hover,
.unit-rating li a:focus-visible {
	left: 0 !important;
	z-index: 2;
	background: var(--gold) repeat-x 0 0 / 17px 17px;
}

.unit-rating a.r1-unit  { left: 0; }
.unit-rating a.r2-unit  { left: 17px; }
.unit-rating a.r3-unit  { left: 34px; }
.unit-rating a.r4-unit  { left: 51px; }
.unit-rating a.r5-unit  { left: 68px; }
.unit-rating a.r6-unit  { left: 85px; }
.unit-rating a.r7-unit  { left: 102px; }
.unit-rating a.r8-unit  { left: 119px; }
.unit-rating a.r9-unit  { left: 136px; }
.unit-rating a.r10-unit { left: 153px; }

.unit-rating a.r1-unit:hover,
.unit-rating a.r1-unit:focus-visible { width: 17px; }

.unit-rating a.r2-unit:hover,
.unit-rating a.r2-unit:focus-visible { width: 34px; }

.unit-rating a.r3-unit:hover,
.unit-rating a.r3-unit:focus-visible { width: 51px; }

.unit-rating a.r4-unit:hover,
.unit-rating a.r4-unit:focus-visible { width: 68px; }

.unit-rating a.r5-unit:hover,
.unit-rating a.r5-unit:focus-visible { width: 85px; }

.unit-rating a.r6-unit:hover,
.unit-rating a.r6-unit:focus-visible { width: 102px; }

.unit-rating a.r7-unit:hover,
.unit-rating a.r7-unit:focus-visible { width: 119px; }

.unit-rating a.r8-unit:hover,
.unit-rating a.r8-unit:focus-visible { width: 136px; }

.unit-rating a.r9-unit:hover,
.unit-rating a.r9-unit:focus-visible { width: 153px; }

.unit-rating a.r10-unit:hover,
.unit-rating a.r10-unit:focus-visible { width: 170px; }
.rate-pm{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#d1d5db}
.pm{cursor:pointer;padding:.25rem .625rem;border-radius:.5rem;background:rgb(255 255 255/.05);transition:.15s}.pm-up:hover{background:rgb(16 185 129/.2);color:#34d399}.pm-down:hover{background:rgb(244 63 94/.2);color:#fb7185}

/* ---------- кадры (xfield-галерея) ---------- */
.xfieldimagegallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;margin:0;padding:0}
@media(min-width:640px){.xfieldimagegallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
.xfieldimagegallery li{margin:0;padding:0}
.xfieldimagegallery a{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:.75rem;border:1px solid rgb(255 255 255/.06)}
.xfieldimagegallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.xfieldimagegallery a:hover img{transform:scale(1.05)}

/* ---------- плеер ---------- */
.player-tab{padding:.375rem .875rem;border-radius:.5rem;font-size:.75rem;font-weight:600;color:#9ca3af;background:rgb(255 255 255/.04);border:1px solid transparent;transition:.15s}
.player-tab:hover{color:#fff;background:rgb(255 255 255/.08)}
.player-tab[aria-selected="true"]{color:#000;background:var(--accent)}
.share-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;background:rgb(255 255 255/.05);color:#9ca3af;font-size:.6875rem;font-weight:700;transition:.15s}
.share-btn:hover{background:var(--accent);color:#000}
.report a{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:.5rem;background:rgb(244 63 94/.1);color:#fb7185;font-weight:500;transition:.15s}
.report a:hover{background:rgb(244 63 94/.2)}
.subscribe a{color:#9ca3af}.subscribe a:hover{color:var(--accent)}
.is-lights-off #player-top{position:relative;z-index:50}
.geo-ru [data-block] #player-top,.geo-ru [data-block] #player-bottom{display:none}
.geo-ru [data-block] .block-note{display:flex!important}

/* ---------- карточка: характеристики, чипы-жанры, описание ---------- */
.spec dt{color:#6b7280;font-weight:500;padding-top:.5rem}.spec dd{color:#e5e7eb;margin:0 0 .25rem}
@media(min-width:640px){.spec dt{grid-column:span 3/span 3;padding-top:0}.spec dd{grid-column:span 9/span 9;margin:0}}
.pills{display:flex;flex-wrap:wrap;gap:.375rem;font-size:0}
.pills>a,.pills>span{font-size:.75rem;padding:.25rem .625rem;border-radius:.5rem;background:rgb(255 255 255/.05);color:#d1d5db;font-weight:500;transition:.15s}
.pills>a:hover{background:rgb(16 185 129/.2);color:#34d399}
.spec dd.pills>a,.spec dd.pills>span{background:transparent;padding:0;color:#e5e7eb}.spec dd.pills>a:hover{background:transparent;color:var(--accent)}
.spec dd.pills{font-size:.75rem;gap:.25rem .5rem}.spec dd.pills>*:not(:last-child)::after{content:","}
.prose-lite p{margin:0 0 .75rem}.prose-lite a{color:var(--accent)}.prose-lite a:hover{text-decoration:underline}
.prose-lite img{max-width:100%;height:auto;border-radius:.75rem}
.prose-lite ul,.prose-lite ol{margin:0 0 .75rem 1.25rem;list-style:revert}
.prose-lite h2,.prose-lite h3,.prose-lite h4{color:#fff;font-weight:700;margin:1rem 0 .5rem}
.prose-lite blockquote,.quote{border-left:3px solid var(--accent);padding:.5rem .9rem;background:rgb(255 255 255/.03);border-radius:0 .5rem .5rem 0;margin:.75rem 0}
.sequels a{display:inline-block;padding:.25rem 0;color:#e5e7eb}.sequels a:hover{color:var(--accent)}
.sequels li{list-style:none}

/* ---------- комментарии ---------- */
.comments-tree-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.comments-tree-item{list-style:none;margin:0}
.comments-tree-list .comments-tree-list{margin-top:1rem;padding-left:1.5rem;border-left:1px solid rgb(255 255 255/.06)}
.c-admin a,.c-foot a{color:#9ca3af;transition:color .15s}.c-admin a:hover,.c-foot a:hover{color:#fff}
.c-ip:empty{display:none}.c-ip::before{content:"IP: "}
.c-captcha img{border-radius:.5rem;max-height:2.5rem}
.mass_comments_action{margin-top:1rem;font-size:.75rem;color:#9ca3af}

/* ---------- меню-выпадашки (details) ---------- */
.dropdown>summary::-webkit-details-marker{display:none}
.dropdown:not([open])>.dd-menu{display:none}

/* ---------- живой поиск DLE (app.js переносит #searchsuggestions внутрь формы поиска) ---------- */
#quicksearch{position:relative}
#searchsuggestions{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:auto!important;width:100%!important;min-width:300px;max-width:92vw;max-height:70vh;overflow-y:auto;z-index:60;margin:0;padding:.375rem;background:var(--card)!important;border:1px solid rgb(255 255 255/.1)!important;border-radius:1rem;box-shadow:0 20px 40px rgb(0 0 0/.5);text-align:left}
#searchsuggestions *{box-sizing:border-box}
#searchsuggestions a{display:block!important;padding:.625rem .75rem!important;border-radius:.625rem;color:#9ca3af!important;font-size:.75rem;line-height:1.4;text-decoration:none!important;transition:background .15s}
#searchsuggestions a:hover{background:rgb(255 255 255/.06)}
#searchsuggestions .searchheading{display:block;font-weight:700;color:#fff!important;font-size:.8125rem;margin-bottom:.125rem}
#searchsuggestions span{color:inherit}
#searchsuggestions .seperator{display:block;margin-top:.25rem;padding-top:.25rem;border-top:1px solid rgb(255 255 255/.06)}
#searchsuggestions .seperator a{color:var(--accent)!important;text-align:center}

/* ---------- jQuery UI / DLE-диалоги в тёмной теме ---------- */
.ui-widget-overlay{background:#000;opacity:.7}
.ui-dialog{background:var(--card);color:#e5e7eb;border:1px solid rgb(255 255 255/.1);border-radius:1rem;box-shadow:0 20px 50px rgb(0 0 0/.6);padding:0;overflow:hidden}
.ui-dialog .ui-dialog-titlebar{background:var(--elev);border:0;border-bottom:1px solid rgb(255 255 255/.06);padding:.75rem 1rem;color:#fff}
.ui-dialog .ui-dialog-content{background:transparent;color:inherit;padding:1rem}
.ui-dialog .ui-dialog-buttonpane{background:transparent;border-top:1px solid rgb(255 255 255/.06)}
.ui-widget-content{background:var(--card);color:#e5e7eb;border-color:rgb(255 255 255/.1)}

/* ---------- базовые формы (для страниц, которых нет в концепте: профиль, ЛС, регистрация...) ---------- */
/* :where + :not([class*=bg-]) — поля с Tailwind-классами (поиск в шапке и т.п.) не затрагиваются, их размеры/отступы задаёт Tailwind */
:where(input[type=text],input[type=password],input[type=email],input[type=search],input[type=url],input[type=number],input[type=tel],textarea,select):not([class*="bg-"]){background:var(--bg);color:#f3f4f6;border:1px solid rgb(255 255 255/.1);border-radius:.75rem;padding:.5rem .75rem;font-size:.875rem}
:where(input,textarea,select):not([class*="bg-"]):focus{outline:none;border-color:rgb(16 185 129/.5)}
input[type=search]{min-width:0}
form button[type=submit]:not([class*="bg-"]),input[type=submit],input[type=button].bbcodes{background:var(--accent);color:#000;font-weight:700;border-radius:.75rem;padding:.5rem 1.25rem;cursor:pointer}
table{border-collapse:collapse}

/* =====================================================================
   Полная новость v2: атмосфера/темы, родительский контроль, кадры, франшиза
   ===================================================================== */
.badge-rose{background:#e11d48;color:#fff;border-color:transparent}

/* Атмосфера (vibe) и Темы (genrekeyword): кросс-ссылки DLE, разделители ", " скрыты через font-size:0 */
.xf-links{display:flex;flex-wrap:wrap;gap:.375rem;font-size:0}
.xf-links a{font-size:11px;font-weight:500;line-height:1.4;transition:.15s}
.xf-vibe a{padding:.25rem .625rem;border-radius:999px;background:rgb(168 85 247/.1);border:1px solid rgb(168 85 247/.2);color:#e9d5ff}
.xf-vibe a:hover{background:rgb(168 85 247/.25)}
.xf-vibe a:nth-child(3n+1)::before,.xf-vibe a:nth-child(3n+2)::before,.xf-vibe a:nth-child(3n)::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:.375rem;vertical-align:middle;background:#c084fc}
.xf-vibe a:nth-child(3n+2)::before{background:#fb7185}.xf-vibe a:nth-child(3n)::before{background:#fbbf24}
.xf-kw a{padding:.125rem .625rem;border-radius:.375rem;background:rgb(255 255 255/.05);border:1px solid rgb(255 255 255/.05);color:#d1d5db}
.xf-kw a::before{content:"#"}
.xf-kw a:hover{background:rgb(16 185 129/.15);color:var(--accent)}

/* Родительский контроль */
.parental-control{background:var(--card);border:1px solid rgb(255 255 255/.06);border-radius:16px;overflow:hidden}
.pc-header{display:flex;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;user-select:none;background:rgb(255 255 255/.015);transition:background .2s;width:100%;text-align:left}
.pc-header:hover{background:rgb(255 255 255/.04)}
.pc-header-icon{width:40px;height:40px;border-radius:12px;background:rgb(245 158 11/.12);border:1px solid rgb(245 158 11/.25);color:#fbbf24;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pc-header-text{flex-grow:1;min-width:0}
.pc-header-title{font-size:14px;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pc-age{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:800;background:rgb(244 63 94/.2);color:#fb7185;border:1px solid rgb(244 63 94/.3)}
.pc-header-sub{font-size:12px;color:#9ca3af;margin-top:2px}
.pc-header-caret{color:#9ca3af;transition:transform .3s;flex-shrink:0}
.parental-control.is-open .pc-header-caret{transform:rotate(180deg)}
.pc-body{display:none;padding:16px 20px 20px;border-top:1px solid rgb(255 255 255/.05);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 24px}
.parental-control.is-open .pc-body{display:grid}
.pc-item{display:flex;align-items:center;gap:12px;background:rgb(11 14 20/.55);border:1px solid rgb(255 255 255/.04);padding:10px 14px;border-radius:12px}
.pc-item-label{width:140px;flex-shrink:0;font-size:12px;font-weight:500;color:#d1d5db;line-height:1.25}
.pc-item-bar{flex-grow:1;height:7px;background:rgb(255 255 255/.07);border-radius:999px;overflow:hidden}
.pc-item-bar-fill{height:100%;border-radius:999px}
.pc-item-bar-fill.level-low{width:28%;background:linear-gradient(90deg,#10b981,#34d399)}
.pc-item-bar-fill.level-mid{width:62%;background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.pc-item-bar-fill.level-high{width:92%;background:linear-gradient(90deg,#ef4444,#f43f5e)}
.pc-item-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;min-width:60px;text-align:center;flex-shrink:0}
.pc-item-badge.level-low{background:rgb(16 185 129/.12);color:#34d399;border:1px solid rgb(16 185 129/.25)}
.pc-item-badge.level-mid{background:rgb(245 158 11/.12);color:#fbbf24;border:1px solid rgb(245 158 11/.25)}
.pc-item-badge.level-high{background:rgb(239 68 68/.14);color:#f87171;border:1px solid rgb(239 68 68/.3)}
@media(max-width:480px){.pc-item-label{width:96px}}

/* Кадры + lightbox (<dialog>) */
.screens{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.screen-item{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--card);border:1px solid rgb(255 255 255/.07);line-height:0}
.screen-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.screen-item:hover img{transform:scale(1.07)}
.screen-item::after{content:"\f065";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;inset:0;background:rgb(11 14 20/.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;opacity:0;transition:opacity .2s}
.screen-item:hover::after,.screen-item:focus-visible::after{opacity:1}
.lb{width:100%;max-width:100%;height:100%;max-height:100%;padding:0;border:0;background:#000;overflow:hidden;color:#fff}
.lb::backdrop{background:rgb(0 0 0/.8)}
.lb__track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-width:none}
.lb__track::-webkit-scrollbar{display:none}
.lb__slide{flex:0 0 100%;scroll-snap-align:center;display:grid;place-items:center;padding:min(5vw,48px)}
.lb__slide img{max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:.5rem}
.lb__btn{position:fixed;background:rgb(255 255 255/.14);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:26px;line-height:1;cursor:pointer;transition:background .15s}
.lb__btn:hover{background:rgb(255 255 255/.28)}
.lb__prev{left:12px;top:50%;transform:translateY(-50%)}.lb__next{right:12px;top:50%;transform:translateY(-50%)}.lb__close{right:12px;top:12px;font-size:22px}
.lb__cap{position:fixed;left:0;right:0;bottom:0;margin:0;padding:12px 60px;color:#fff;background:rgb(0 0 0/.6);font-size:14px;line-height:1.4;text-align:center}
@media(prefers-reduced-motion:reduce){.lb__track{scroll-behavior:auto}}

/* Франшиза (custom-franchise.tpl) */
.franchise-list{counter-reset:fr}
.franchise-row{counter-increment:fr}
.franchise-row .fr-num::before{content:counter(fr)}
.franchise-row .fr-now{display:none}
.franchise-row.is-current{background:rgb(16 185 129/.1)}
.franchise-row.is-current .fr-title{color:#fff;font-weight:700}
.franchise-row.is-current .fr-now{display:inline-block}

/* «Позже» (localStorage) */
[data-later][aria-pressed="true"]{background:rgb(16 185 129/.15);color:var(--accent);border-color:rgb(16 185 129/.3)}
#later-dialog{background:var(--card);color:#e5e7eb;border:1px solid rgb(255 255 255/.1);border-radius:1rem;padding:0;width:min(28rem,92vw);max-height:80vh;box-shadow:0 20px 50px rgb(0 0 0/.6)}
#later-dialog::backdrop{background:rgb(0 0 0/.7)}

/* ======== v1.3: правки по замечаниям ======== */
/* Поиск в шапке: иконка не перекрывает текст (iOS/Safari сбрасывают padding у type=search без appearance:none) */
#quicksearch #story{-webkit-appearance:none;appearance:none;padding-left:2.5rem!important;padding-right:1rem!important;min-width:0;width:100%}
#quicksearch #story::placeholder{padding-left:0;opacity:.7}

/* Блок рейтингов во внешних сервисах: строки «название — значение», ничего не налезает при любой ширине */
.rate-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;padding:.375rem .625rem;border-radius:.5rem;background:rgb(255 255 255/.05)}
.rate-row__label{font-size:.6875rem;color:#9ca3af;white-space:nowrap;flex-shrink:0}
.rate-row>a,.rate-row>div:not(.rate-row__label){font-size:.875rem;font-weight:800;text-align:right;white-space:nowrap;min-width:0}
.rate-row>a:hover{text-decoration:underline}
/* Оценка сайта: звёзды не выходят за рамки */
.rate-box{overflow:hidden}
.rate-box .rating,.rate-box .unit-rating{max-width:100%}
.rate-box .unit-rating{flex-shrink:0}

/* Вкладки плеера: иконка наследует цвет активной вкладки (раньше text-accent сливалась с зелёным фоном) */
.player-tab[aria-selected="true"] i{color:inherit!important}

/* Подборки модуля DLE Collections */
.coll-row:not(:has(a)){display:none}
.collection-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:.625rem;background:rgb(255 255 255/.05);border:1px solid rgb(255 255 255/.06);font-size:.75rem;font-weight:500;color:#d1d5db;transition:.15s;max-width:100%}
.collection-tag i{color:var(--accent);font-size:.6875rem}
.collection-tag:hover{background:rgb(16 185 129/.15);border-color:rgb(16 185 129/.3);color:#fff}
.collection-head{display:flex;gap:1.25rem;align-items:flex-start;background:var(--card);border:1px solid rgb(255 255 255/.06);border-radius:1rem;padding:1rem;margin-bottom:1.25rem}
.collection-head__img{flex-shrink:0;width:9rem;aspect-ratio:2/3;border-radius:.75rem;overflow:hidden;background:var(--elev)}
.collection-head__img img{width:100%;height:100%;object-fit:cover;display:block}
.collection-head__body{min-width:0;flex:1}
.collection-head__badge{display:inline-block;padding:.125rem .625rem;border-radius:.5rem;background:rgb(16 185 129/.15);color:var(--accent);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.collection-head__title{margin:.5rem 0;font-size:1.5rem;font-weight:800;color:#fff;line-height:1.2;overflow-wrap:anywhere}
.collection-head__descr{margin:0 0 .75rem;font-size:.8125rem;color:#9ca3af;line-height:1.6}
.collection-head__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.75rem;color:#9ca3af;align-items:center}
.collection-head__meta i{color:var(--accent);margin-right:.25rem}
.collection-head__back{margin-left:auto;color:#d1d5db}.collection-head__back:hover{color:var(--accent)}
@media(max-width:640px){.collection-head{flex-direction:column}.collection-head__img{width:7rem}.collection-head__back{margin-left:0}}
.seo-block{background:rgb(21 25 34/.5);border:1px solid rgb(255 255 255/.05);border-radius:1rem;padding:1.25rem;font-size:.75rem;color:#9ca3af;line-height:1.7;margin-top:1.25rem}
.seo-block h1,.seo-block h2{color:#fff;font-size:1rem;font-weight:700;margin:0 0 .5rem}
.seo-block p{white-space:pre-line;margin:0 0 .75rem}
.seo-text-wrapper{max-height:5.5rem;overflow:hidden;position:relative;transition:max-height .3s}
.seo-text-wrapper::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.5rem;background:linear-gradient(transparent,var(--bg))}
.is-open>.seo-text-wrapper{max-height:200rem}.is-open>.seo-text-wrapper::after{display:none}
.seo-toggle-btn{display:inline-flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:0;background:none;border:0;color:var(--accent);font-size:.75rem;cursor:pointer}
.dcl-page-head{margin-bottom:1rem}
.dcl-page-head__title{font-size:1.25rem;font-weight:700;color:#fff;margin:0}
/* Тулбар списка подборок: ссылки и кнопки без подчёркивания, чипы из {dle-collections-sections} */
.dcl-toolbar a,.dcl-more a{text-decoration:none}
.dcl-chip.is-active{color:#000!important;background:var(--accent)!important;border-color:var(--accent)!important}
.dcl-more__button.dcl-more__button{color:#000}
.dcl-sort__button.is-open{color:#000}
.dle-collections-search__input{background:var(--bg)!important;color:#f3f4f6!important;border-radius:.75rem!important;width:100%!important;box-sizing:border-box}
/* ======== v1.4: дропдауны рубрик, мини-фильтр, теги, профиль ======== */
/* Дропдауны в шапке (жанры / страны) */
.dd-trigger{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;transition:.15s;user-select:none}
.dd-trigger:hover,.dropdown[open]>.dd-trigger{background:rgb(255 255 255/.05);color:#fff}
.dd-caret{font-size:.6rem;opacity:.6;transition:transform .2s}
.dropdown[open]>.dd-trigger .dd-caret,.mm-acc[open]>summary .dd-caret{transform:rotate(180deg)}
.dd-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;padding:0 .75rem .5rem}
.dd-link{display:block;padding:.4rem .75rem;border-radius:.5rem;font-size:.8125rem;color:#9ca3af;transition:.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dd-link:hover{background:rgb(255 255 255/.06);color:#fff}
.dd-link.is-active{background:rgb(16 185 129/.15);color:var(--accent)}
/* в мобильном меню ссылки — чипы */
.mm-acc{border-top:1px solid rgb(255 255 255/.05);padding-top:.25rem}
.mm-acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:.5rem .25rem;font-size:.8125rem;font-weight:600;color:#d1d5db}
.mm-acc>summary::-webkit-details-marker{display:none}
.mm-acc .dd-link{padding:.375rem .75rem;background:var(--card);border-radius:.5rem;font-size:.75rem}
.mm-acc .dd-link.is-active{background:rgb(16 185 129/.15)}

/* Мини-фильтр DLE Filter: кнопки на базе radio/checkbox */
.fchip{position:relative;display:inline-flex;cursor:pointer}
.fchip input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.fchip span{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:.5rem;background:var(--card);border:1px solid rgb(255 255 255/.06);font-size:.75rem;font-weight:500;color:#9ca3af;transition:.15s;white-space:nowrap}
.fchip:hover span{background:var(--elev);color:#fff}
.fchip input:checked+span{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700}
.fchip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
[data-dlefilter] .is-loading,.dle-filter-loading{opacity:.6}

/* Облако тегов ({tags}) */
.cloud-tags{display:flex;flex-wrap:wrap;gap:.5rem .625rem;align-items:center}
.cloud-tags a{display:inline-block;padding:.25rem .75rem;border-radius:.625rem;background:rgb(255 255 255/.05);border:1px solid rgb(255 255 255/.06);color:#d1d5db;transition:.15s;line-height:1.4}
.cloud-tags a:hover{background:rgb(16 185 129/.15);border-color:rgb(16 185 129/.3);color:#fff}
.cloud-tags .clouds_xsmall a{font-size:.6875rem}.cloud-tags .clouds_small a{font-size:.75rem}.cloud-tags .clouds_medium a{font-size:.875rem}.cloud-tags .clouds_large a{font-size:1rem;font-weight:600}.cloud-tags .clouds_xlarge a{font-size:1.125rem;font-weight:700;color:#fff}

/* Таблицы DLE (статистика, топ пользователей) */
.dle-table td,.dle-table th{padding:.5rem .625rem;border-bottom:1px solid rgb(255 255 255/.05);text-align:left}
.dle-table thead td,.dle-table th{color:#9ca3af;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em}
.dle-table a{color:var(--accent)}

/* Поиск по сайту (форма {searchtable}) */
.searchtable table{width:100%;border-collapse:separate;border-spacing:0 .5rem}
.searchtable td{vertical-align:middle;padding:.125rem .25rem;font-size:.8125rem;color:#d1d5db}
.searchtable td:first-child{width:11rem;color:#9ca3af}
.searchtable input[type=text],.searchtable input[type=search],.searchtable select{width:100%;max-width:26rem}
.searchtable .bbcodes,.searchtable input[type=submit],.searchtable button{margin-top:.5rem}
@media(max-width:640px){.searchtable td{display:block;width:auto!important}.searchtable td:first-child{padding-bottom:0}}

/* Профиль: поля формы редактирования */
.uf-row{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:.375rem 1rem;align-items:start}
.uf-label{font-size:.75rem;font-weight:600;color:#9ca3af;padding-top:.5rem}
.uf-field input[type=text],.uf-field input[type=password],.uf-field input[type=email],.uf-field textarea,.uf-field select{width:100%;max-width:32rem}
.uf-field textarea{display:block}
@media(max-width:640px){.uf-row{grid-template-columns:minmax(0,1fr)}.uf-label{padding-top:0}}
.usp-actions a,.usp-actions .bbcodes{display:inline-block;padding:.375rem .75rem;border-radius:.5rem;background:rgb(255 255 255/.06);color:#e5e7eb}
.usp-actions a:hover{background:rgb(255 255 255/.12)}
.usp-list li{overflow-wrap:anywhere}
.usp-links a{color:var(--accent)}.usp-links a:hover{text-decoration:underline}
.form__table td{padding:.375rem .25rem;vertical-align:top}