/* ===== style.min.css ===== */
/* ShowSerials for DLE 19.1 — lightweight, PageSpeed-friendly */
:root{--bg:#0b0f17;--card:#111827;--muted:#93a4b7;--text:#e8eef7;--brand:#22c55e;--line:rgba(255,255,255,.08);--r:16px;--gap:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:16px;top:16px;width:auto;height:auto;padding:10px 12px;background:#fff;color:#000;border-radius:10px;z-index:1000}
header.site{position:sticky;top:0;z-index:50;background:rgba(11,15,23,.86);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.headerbar{display:flex;align-items:center;gap:12px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;min-width:180px}
.brand strong{font-size:18px;letter-spacing:.2px}
.brand .dot{width:10px;height:10px;border-radius:999px;background:var(--brand);display:inline-block}
.search{flex:1;display:flex;align-items:center}
.search input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:var(--text);outline:none}
.search input:focus{border-color:rgba(34,197,94,.6);box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.actions{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer}
.btn:hover{background:rgba(255,255,255,.07);text-decoration:none}
.btn--brand{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.35)}
.navchips{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 14px}
.chip{padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted)}
main{padding:18px 0 32px}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap)}
@media (max-width:1100px){.grid{grid-template-columns:repeat(4,1fr)}.brand{min-width:150px}}
@media (max-width:760px){.grid{grid-template-columns:repeat(2,1fr)}.actions .btn span{display:none}}
.card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.poster{aspect-ratio:2/3;background:rgba(255,255,255,.03);position:relative}
.poster img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);padding:6px 10px;border-radius:999px;color:#fff;font-size:12px;backdrop-filter:blur(8px)}
.cardbody{padding:12px}
.title{font-weight:700;font-size:15px;line-height:1.25;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{color:var(--muted);font-size:13px;display:flex;gap:10px;flex-wrap:wrap}
.panel{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.page{display:grid;grid-template-columns:1.6fr .9fr;gap:var(--gap)}
@media (max-width:980px){.page{grid-template-columns:1fr}}
.h1{font-size:26px;line-height:1.2;margin:0 0 10px}
.kv{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.player{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#000}
.ratio{position:relative;width:100%;padding-top:56.25%}
.ratio > *{position:absolute;inset:0;width:100%;height:100%}
.story{color:#d7e2f2}
hr.line{border:0;border-top:1px solid var(--line);margin:14px 0}
.footer{padding:26px 0;border-top:1px solid var(--line);color:var(--muted)}
.pager{display:flex;justify-content:center;margin:18px 0}
.pager a,.pager span{display:inline-block;margin:0 4px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);text-decoration:none}
.pager a:hover{background:rgba(255,255,255,.06)}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Patch v6: square poster + excerpt on right in shortstory */
.card--row{display:flex;gap:14px;align-items:stretch}
.cardbody--row{flex:1;min-width:0}
.poster--sq{flex:0 0 160px;height:160px;aspect-ratio:1/1;border-radius:16px}
.poster--sq img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){
  .card--row{gap:12px}
  .poster--sq{flex-basis:120px;height:120px}
}
.title--row{-webkit-line-clamp:2}
.meta--row{margin-bottom:8px}
.excerpt{color:#d7e2f2;opacity:.92;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* Keep cards readable in grid: make each item span full row on large screens? */
.grid > .card--row{grid-column:span 2}
@media (max-width:1100px){.grid > .card--row{grid-column:span 2}}
@media (max-width:760px){.grid > .card--row{grid-column:span 2}}

/* ===== patch_v7_force_row.css ===== */
/* PATCH v7 — force horizontal shortstory layout */

/* Make each shortstory take full row inside grid */
.grid > .card--row{
  grid-column: 1 / -1 !important;
}

/* Force flex row */
.card--row{
  display:flex !important;
  flex-direction:row !important;
  align-items:stretch;
}

/* Square poster fixed size */
.poster--sq{
  flex:0 0 180px !important;
  width:180px !important;
  height:180px !important;
}

.poster--sq img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Text area */
.cardbody--row{
  flex:1;
  padding-left:14px;
}

/* Mobile */
@media (max-width:768px){
  .poster--sq{
    flex:0 0 120px !important;
    width:120px !important;
    height:120px !important;
  }
}


/* ===== patch_v8_feed.css ===== */
/* PATCH v8 — красивый список (без grid), квадратный постер + текст справа */
.feed{display:flex;flex-direction:column;gap:16px}

/* Card */
.item{
  display:flex;
  gap:16px;
  align-items:stretch;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
}

/* Poster */
.item__poster{
  position:relative;
  flex:0 0 160px;
  width:160px;
  height:160px;
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
}
.item__poster img{width:100%;height:100%;object-fit:cover;display:block}
.item__badge{
  position:absolute;left:10px;bottom:10px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.18);
  padding:6px 10px;border-radius:999px;
  color:#fff;font-size:12px;backdrop-filter:blur(8px)
}

/* Body */
.item__body{flex:1;min-width:0;display:flex;flex-direction:column}
.item__title{margin:0 0 8px;font-size:18px;line-height:1.25;font-weight:800}
.item__title a{text-decoration:none}
.item__title a:hover{text-decoration:underline}
.item__meta{display:flex;gap:10px;flex-wrap:wrap;color:#93a4b7;font-size:13px;margin-bottom:10px}
.item__meta .dot{opacity:.7}
.item__excerpt{
  color:#d7e2f2;
  opacity:.92;
  font-size:14px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:12px;
}
.item__actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}

/* Buttons (compatible with existing) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#e8eef7;cursor:pointer;text-decoration:none}
.btn:hover{background:rgba(255,255,255,.07)}
.btn--brand{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.35)}

/* Mobile */
@media (max-width:760px){
  .item{gap:12px;padding:12px}
  .item__poster{flex-basis:110px;width:110px;height:110px}
  .item__title{font-size:16px}
  .item__excerpt{-webkit-line-clamp:3}
}


/* ===== patch_v9_full_related_comments.css ===== */
/* PATCH v9 — аккуратная полная новость + похожие новости + форма комментариев */

/* Layout */
.fs{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
@media (max-width:980px){.fs{grid-template-columns:1fr}.fs__side{order:2}.fs__main{order:1}}

/* Header */
.fshead{margin-bottom:12px}
.fshead__title{margin:0 0 8px}

/* Player */
.player{margin:0 0 14px;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.player iframe,.player video,.player embed,.player object{display:block;width:100%;aspect-ratio:16/9}

/* Text */
.ftext{color:#d7e2f2;opacity:.95;line-height:1.6;font-size:15px}

/* Side cards */
.sidecard{padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03))}
.sidecard + .sidecard{margin-top:16px}
.sidecard__ttl{font-weight:800;margin:0 0 10px}
.sideposter{border-radius:14px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.10);margin-bottom:12px}
.sideposter img{width:100%;height:auto;display:block;max-height:260px;object-fit:cover}
.sideinfo{display:grid;gap:6px;color:#cfe0f4;font-size:14px;margin-bottom:12px}
.sideshare{padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}

/* Related */
.related{display:flex;flex-direction:column;gap:10px}
.rel{color:#e8eef7;text-decoration:none;line-height:1.25;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03)}
.rel:hover{background:rgba(255,255,255,.06);text-decoration:underline}

/* Comments area spacing */
.fs__comments{margin-top:16px}

/* Comment form */
.cform .cform__row{margin-bottom:12px}
.cform__label{margin-bottom:6px;color:#93a4b7;font-size:13px}
.cform__field input{width:100%;max-width:260px}
.cform__editor textarea{width:100%;min-height:160px}
.cform__actions{display:flex;justify-content:flex-start}

/* If editor outputs table/blocks, make them responsive */
.cform table{max-width:100%}
.cform img{max-width:100%}


/* ===== patch_v11_full_related_stars.css ===== */
/* PATCH v11 — убрать картинку в сайдбаре, рейтинг звёздами, похожие с постером */

/* Sidebox */
.sidebox{padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03))}
.sidebox__ttl{font-weight:800;margin:0 0 10px}
.sidebox__row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sidebox__lbl{color:#93a4b7;font-size:13px}

/* Stars: превращаем ссылки/цифры в ★ */
.stars{display:inline-flex;gap:6px;align-items:center;line-height:1}
.stars, .stars a{color:#cfe0f4}
.stars a{font-size:0;text-decoration:none;display:inline-flex;align-items:center}
.stars a:before{content:"★";font-size:18px;opacity:.35}
/* попытка подсветки выбранных, если DLE добавляет классы */
.stars .rating_on:before, .stars a.rating_on:before{opacity:1}
.stars .rating_off:before, .stars a.rating_off:before{opacity:.35}
.stars ul, .stars ol{margin:0;padding:0;list-style:none;display:flex;gap:6px}
.stars li{margin:0;padding:0}

/* Related */
.relgrid{display:grid;grid-template-columns:1fr;gap:10px}
.relitem{display:flex;gap:10px;align-items:center;text-decoration:none;color:#e8eef7;padding:10px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03)}
.relitem:hover{background:rgba(255,255,255,.06)}
.relitem__img{flex:0 0 44px;width:44px;height:44px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03)}
.relitem__img img{width:100%;height:100%;object-fit:cover;display:block}
.relitem__ttl{font-size:13px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Comment form */
.cform__ttl{font-weight:800;margin:0 0 10px}
.cform__row{margin-bottom:12px}
.cform__label{color:#93a4b7;font-size:13px;margin-bottom:6px}
.cform__field input{width:100%;max-width:360px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#e8eef7}
.cform__field textarea{width:100%}
.cform__actions{display:flex;gap:10px;align-items:center}

/* Make editor blocks responsive */
.cform table{max-width:100%}
.cform img{max-width:100%}


/* ===== patch_v12_ui_fixes.css ===== */
/* PATCH v12 — косяки: {pages}, похожие плиткой, рейтинг звёздами без '0' */

/* Pagination */
.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0}
.pagination a, .pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#e8eef7;text-decoration:none;
}
.pagination a:hover{background:rgba(255,255,255,.07)}
.pagination span{opacity:.7}

/* Related tiles */
.relgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:980px){.relgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.relgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.rel-tile{
  display:flex;flex-direction:column;gap:8px;
  text-decoration:none;color:#e8eef7;
  padding:10px;border-radius:16px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);
}
.rel-tile:hover{background:rgba(255,255,255,.06)}
.rel-tile__img{
  width:100%;
  aspect-ratio:1/1;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}
.rel-tile__img img{width:100%;height:100%;object-fit:cover;display:block}
.rel-tile__ttl{
  font-size:13px;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:32px; /* чтобы подписи ровнялись */
}

/* Stars: hide numeric and show only stars */
.stars{font-size:0;display:inline-flex;gap:6px;align-items:center}
.stars a{font-size:0;text-decoration:none;display:inline-flex}
.stars a:before{content:"★";font-size:18px;opacity:.35}
.stars .rating_on:before, .stars a.rating_on:before{opacity:1}
.stars .rating_off:before, .stars a.rating_off:before{opacity:.35}
.stars ul, .stars ol{margin:0;padding:0;list-style:none;display:flex;gap:6px}
.stars li{margin:0;padding:0}

/* Side info spacing */
.sidebox__ttl{margin-bottom:12px}
.sidebox .meta{gap:8px}

/* Optional: make rating list align nicely */
.sidebox__row{align-items:center}


/* ===== patch_v13_fix_pages_related_comment_submit.css ===== */
/* PATCH v13 — фикс: {pages} как текст, огромные похожие, пустая страница после коммента */

/* Pagination (если {pages} пусто — будет пустой nav, без мусора) */
.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin:18px 0;
}
.pagination:empty{display:none}
.pagination a, .pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#e8eef7;text-decoration:none;
}
.pagination a:hover{background:rgba(255,255,255,.07)}
.pagination span{opacity:.7}

/* Related: не даём картинкам раздуваться */
.relgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:980px){.relgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.relgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.rel-tile{
  display:flex;flex-direction:column;gap:8px;
  text-decoration:none;color:#e8eef7;
  padding:10px;border-radius:16px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);
}
.rel-tile:hover{background:rgba(255,255,255,.06)}
.rel-tile__img{
  width:100%;
  max-width:140px;          /* чтобы в сайдбаре было «побольше», но не огромно */
  aspect-ratio:1/1;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}
.rel-tile__img img{width:100%;height:100%;object-fit:cover;display:block}
.rel-tile__ttl{
  font-size:13px;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:32px; /* подписи ровняются */
}

/* Stars: скрыть цифры и оставить звёзды */
.stars{font-size:0;display:inline-flex;gap:6px;align-items:center}
.stars a{font-size:0;text-decoration:none;display:inline-flex}
.stars a:before{content:"★";font-size:18px;opacity:.35}
.stars .rating_on:before, .stars a.rating_on:before{opacity:1}
.stars .rating_off:before, .stars a.rating_off:before{opacity:.35}


/* ===== patch_v14_menu_and_comments.css ===== */
/* PATCH v14 — верхнее меню (catmenu), пагинация, комментарии */

.topnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
/* catmenu can output links without our class; make them look like chips */
.topnav a{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#e8eef7;text-decoration:none}
.topnav a:hover{background:rgba(255,255,255,.07)}
.topnav .chip{}

/* Pagination */
.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0}
.pagination:empty{display:none}
.pagination a, .pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;
  border-radius:999px;border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);color:#e8eef7;text-decoration:none;
}
.pagination a:hover{background:rgba(255,255,255,.07)}
.pagination span{opacity:.7}

/* Comment form button if {submit} renders as <button> or <input> */
.cform__actions input[type="submit"], .cform__actions button, .cform__actions .btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(34,197,94,.35);
  background:rgba(34,197,94,.14);color:#e8eef7;
}


/* ===== patch_v15_fix_navigation_and_comments.css ===== */
/* PATCH v15 — {navigation} вместо {pages}, рабочая форма комментариев */

/* Pagination */
.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin:18px 0;
}
.pagination:empty{display:none}
.pagination a, .pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;
  border-radius:999px;border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);color:#e8eef7;text-decoration:none;
}
.pagination a:hover{background:rgba(255,255,255,.07)}
.pagination span{opacity:.7}

/* Comment form */
.cform__table{margin-top:10px;display:flex;flex-direction:column;gap:10px}
.cform__row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:start}
@media (max-width:760px){.cform__row{grid-template-columns:1fr}}
.cform__label{opacity:.85;font-size:13px;padding-top:6px}
.cform__input{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:#e8eef7;
}
.cform__captcha{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cform__capimg{display:inline-flex;border-radius:12px;overflow:hidden}
.cform__capin{max-width:220px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(34,197,94,.35);
  background:rgba(34,197,94,.14);
  color:#e8eef7;cursor:pointer;
}
.btn:hover{background:rgba(34,197,94,.20)}


/* ===== patch_v16_submit_rating_related.css ===== */
/* PATCH v16 — исправления: {submit} текстом, рейтинг кликабельный, похожие без текущей новости */

/* Comments button */
.cform__actions{margin-top:10px}
.btn.btn--primary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(34,197,94,.35);
  background:rgba(34,197,94,.14);
  color:#e8eef7;cursor:pointer;
}
.btn.btn--primary:hover{background:rgba(34,197,94,.20)}

/* Stars: не скрываем кликабельность */
.stars{display:inline-flex;gap:6px;align-items:center;line-height:1}
.stars, .stars a{color:#cfe0f4;text-decoration:none}
.stars a{
  display:inline-flex;
  width:18px;height:18px;
  font-size:0; /* скрыть цифры */
  align-items:center;justify-content:center;
}
.stars a:before{content:"★";font-size:18px;opacity:.35;line-height:1}
.stars .rating_on:before, .stars a.rating_on:before{opacity:1}
.stars .rating_off:before, .stars a.rating_off:before{opacity:.35}
.stars ul, .stars ol{margin:0;padding:0;list-style:none;display:flex;gap:6px}
.stars li{margin:0;padding:0}

/* Related tile safety */
.rel-tile__ttl{display:block}


/* ===== patch_v17_related_horizontal_and_comments.css ===== */
/* PATCH v17 — комментарии (без печатающихся тегов) + похожие горизонтально */

/* Comment button */
.btn.btn--primary, .cform__actions input[type="submit"]{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(34,197,94,.35);
  background:rgba(34,197,94,.14);
  color:#e8eef7;cursor:pointer;
}
.btn.btn--primary:hover, .cform__actions input[type="submit"]:hover{background:rgba(34,197,94,.20)}

/* Comment rows */
.cform__row{margin-top:10px}
.cform__label{color:#93a4b7;font-size:13px;margin-bottom:6px}
.cform__input{
  width:100%;max-width:320px;
  padding:10px 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:#e8eef7;
}
.cform__captcha{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cform__capimg{display:inline-flex;border-radius:12px;overflow:hidden}

/* Related as horizontal row */
.relgrid{
  display:flex !important;
  gap:12px;
  overflow-x:auto;
  padding-bottom:6px;
  scroll-snap-type:x mandatory;
}
.relgrid::-webkit-scrollbar{height:8px}
.relgrid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.relgrid::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}

.rel-tile{
  flex:0 0 160px;
  scroll-snap-align:start;
}
.rel-tile__img{
  width:100%;
  aspect-ratio:1/1;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}
.rel-tile__img img{width:100%;height:100%;object-fit:cover;display:block}
.rel-tile__ttl{
  display:block;
  margin-top:8px;
  font-size:13px;line-height:1.25;
  white-space:normal;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  min-height:32px;
}


/* ===== patch_v18_comments_clean_related_brace.css ===== */
/* PATCH v18 — убрать [comments] как текст, аккуратный вывод комментариев, убрать лишнюю скобку в похожих */

.commbox__ttl{font-weight:800;margin-bottom:10px}
.commbox__list{display:flex;flex-direction:column;gap:12px}

/* Частые классы DLE (на всякий случай) */
.commbox__list .comment,
.commbox__list .comm,
.commbox__list .dle-comment,
.commbox__list .comment-item{
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
  border-radius:14px;
  padding:12px;
}

/* Админский блок "Выбранные комментарии" */
.commbox__list select, .commbox__list input[type="button"], .commbox__list input[type="submit"]{
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:#e8eef7;
  padding:8px 10px;
}

/* если DLE выводит теги в виде текста — скрываем безопасно */
.commbox__list:has(> :first-child:contains("[comments]")){}


/* ===== patch_v19_fullstory_sidebar_grid_and_popups ===== */

/* Fullstory two-column layout (section + aside) on desktop */
.page{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:20px;
  align-items:start;
}
.page > section, .page > aside{ min-width:0; }
@media (max-width: 1024px){
  .page{ grid-template-columns:1fr; }
}

/* Player ratio: ensure iframe fills nicely */
.player .ratio{ position:relative; width:100%; aspect-ratio:16/9; }
.player .ratio iframe,
.player .ratio video,
.player .ratio embed,
.player .ratio object{
  position:absolute; inset:0;
  width:100% !important; height:100% !important;
  border:0;
  border-radius:16px;
}

/* Sidebar related: grid tiles (no carousel) */
aside .relgrid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  overflow:visible !important;
  white-space:normal !important;
}
@media (min-width: 1280px){
  aside .relgrid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
aside .relgrid > *{ min-width:0 !important; }

/* Rating: ensure clickable stars */
.stars, .rating, .rating-star, .rating-under-player .stars { pointer-events:auto; }
.stars *{ pointer-events:auto; }

/* DLE popup/alerts styling (rating, messages) */
#dlepopup, .dlepopup, #dlepopupmodal, .dle-popup, .dle-message {
  position: fixed;
  left: 50%;
  top: 18%;
  transform: translateX(-50%);
  max-width: min(520px, calc(100vw - 24px));
  background: rgba(15, 23, 32, .96);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 14px 16px;
  z-index: 9999;
  color: rgba(255,255,255,.92);
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
}
#dlepopup .close, .dlepopup .close, #dlepopup .close-btn, .dlepopup .close-btn{
  float:right;
  margin-left:12px;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.90);
  border-radius: 10px;
  padding: 6px 10px;
}
#dlepopup a, .dlepopup a{ color: rgba(125,211,252,.95); text-decoration:none; }
#dlepopup a:hover, .dlepopup a:hover{ text-decoration:underline; }


/* ===== Restore layout paddings ===== */
.wrap,
.container,
.page {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* ===== Strong visible logo ===== */
.brand{
  font-size: 28px;
  font-weight: 900;
  letter-spacing: .6px;
  text-decoration: none;
  display: inline-block;
  font-family: 'Segoe UI', 'Arial Black', sans-serif;
  background: linear-gradient(90deg,#22c55e,#60a5fa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.brand::after{
  content: "●";
  margin-left: 8px;
  font-size: 14px;
  vertical-align: middle;
  color: #22c55e;
  -webkit-text-fill-color: #22c55e;
}

@media (min-width: 900px){
  .brand{ font-size: 32px; }
}


/* ===== Logo (strong, noticeable) — robust selectors ===== */
.brand,
.logo a,
.logo,
.header-logo a,
.site-logo a{
  font-family: "Arial Black","Segoe UI Black","Trebuchet MS",system-ui,sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .6px !important;
  text-decoration: none !important;
  display: inline-block;
  font-size: 28px;
  background: linear-gradient(90deg,#22c55e,#60a5fa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (min-width: 900px){
  .brand,
  .logo a,
  .logo,
  .header-logo a,
  .site-logo a{ font-size: 32px; }
}

/* keep green dot even if markup isn't .brand */
.brand::after,
.logo a::after,
.header-logo a::after,
.site-logo a::after{
  content: "●";
  margin-left: 8px;
  font-size: 14px;
  vertical-align: middle;
  color: #22c55e;
  -webkit-text-fill-color: #22c55e;
}




/* =============================
   ShowSerials — final overrides
   ============================= */

/* Layout paddings (desktop/tablet) */
.wrap,
.container{
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* Fullstory 2 columns */
article.page{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 20px;
  align-items: start;
}
article.page > section,
article.page > aside{ min-width:0; }
@media (max-width: 1024px){
  article.page{ grid-template-columns: 1fr; }
}

/* Player responsive */
.player .ratio{ position:relative; width:100%; aspect-ratio:16/9; }
.player .ratio iframe,
.player .ratio video,
.player .ratio embed,
.player .ratio object{
  position:absolute; inset:0;
  width:100% !important;
  height:100% !important;
  border:0;
  border-radius:16px;
}

/* Related: grid tiles (no carousel) */
.relgrid{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  overflow: visible !important;
  white-space: normal !important;
}
@media (min-width: 1280px){
  .relgrid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.relgrid > *{ min-width:0 !important; }

/* Rating clickable */
.stars, .stars *{ pointer-events:auto; }

/* Strong visible logo (works for different markups) */
.brand,
.logo a,
.logo,
.header-logo a,
.site-logo a{
  font-family: "Arial Black","Segoe UI Black","Trebuchet MS",system-ui,sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .6px !important;
  text-decoration: none !important;
  display: inline-block;
  font-size: 28px;
  background: linear-gradient(90deg,#22c55e,#60a5fa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (min-width: 900px){
  .brand,
  .logo a,
  .logo,
  .header-logo a,
  .site-logo a{ font-size: 32px; }
}
.brand::after,
.logo a::after,
.header-logo a::after,
.site-logo a::after{
  content: "●";
  margin-left: 8px;
  font-size: 14px;
  vertical-align: middle;
  color: #22c55e;
  -webkit-text-fill-color: #22c55e;
}

/* Mobile: blocks in frames + side gutters (like "Информация") */
@media (max-width: 640px){
  .wrap,
  .container,
  article.page{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  article.page{
    display: block !important;
  }

  .panel{
    background: rgba(255,255,255,.03) !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 16px !important;
    padding: 14px !important;
    margin: 0 0 12px 0 !important;
    box-sizing: border-box;
  }

  .player,
  .player .ratio{
    width: 100% !important;
    margin: 0 !important;
  }

  .player .ratio iframe,
  .player .ratio video{
    border-radius: 14px !important;
  }
}

/* Comments UI (safe selectors) */
.comment, .comm, .comm-item, .comment-item, .dle-comment{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px;
  padding: 14px;
  margin: 12px 0;
}
.comment .comm-info, .comm .comm-info, .comminfo, .comm-head{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  margin-bottom:10px;
  color: rgba(255,255,255,.72);
  font-size: 13px;
}
.comment .comm-text, .comm .comm-text, .comment-content, .comm-body, .commtxt{
  color: rgba(255,255,255,.86);
  line-height: 1.55;
  font-size: 14px;
  overflow-wrap:anywhere;
}
#addcomments, #commentform, .addcomments, form[name="comments"]{
  margin-top: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px;
  padding: 14px;
}
#addcomments input[type="text"],
#addcomments textarea,
#commentform input[type="text"],
#commentform textarea{
  width:100%;
  box-sizing:border-box;
  border-radius:14px;
  padding:12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  outline:none;
}
#addcomments input[type="submit"],
#commentform input[type="submit"]{
  border-radius:999px;
  padding:10px 18px;
  background: rgba(34,197,94,.20);
  border: 1px solid rgba(34,197,94,.35);
  color: rgba(255,255,255,.95);
  cursor:pointer;
}


/* ===== Advanced search (DLE search.tpl) styling ===== */
.searchtable, #searchtable, table.searchtable{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.searchtable td, #searchtable td{
  padding:10px 12px;
  vertical-align:top;
  color: rgba(255,255,255,.82);
}
.searchtable fieldset, #searchtable fieldset{
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:14px;
  margin:0 0 14px 0;
  background: rgba(255,255,255,.02);
}
.searchtable legend, #searchtable legend{
  padding:0 8px;
  color: rgba(255,255,255,.92);
  font-weight:700;
}
.searchtable input[type="text"],
.searchtable input[type="number"],
.searchtable select,
#searchtable input[type="text"],
#searchtable input[type="number"],
#searchtable select{
  width:100%;
  max-width:520px;
  box-sizing:border-box;
  border-radius:14px;
  padding:10px 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  outline:none;
}
.searchtable input[type="checkbox"],
#searchtable input[type="checkbox"]{
  transform: scale(1.1);
  accent-color: #22c55e;
}
.searchtable input[type="submit"],
#searchtable input[type="submit"],
.searchtable button{
  border-radius:999px;
  padding:10px 18px;
  background: rgba(34,197,94,.20);
  border: 1px solid rgba(34,197,94,.35);
  color: rgba(255,255,255,.95);
  cursor:pointer;
}
.searchtable input[type="submit"]:hover,
#searchtable input[type="submit"]:hover{
  background: rgba(34,197,94,.26);
}
@media (max-width: 900px){
  .searchtable td, #searchtable td{ display:block; width:100%; }
  .searchtable input[type="text"],
  .searchtable select,
  #searchtable input[type="text"],
  #searchtable select{ max-width:100%; }
}

/* ===== Player stub (только для 1-го плеера) ===== */
.player-stub{
  display:block;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  cursor:pointer;
  background:#000 center/cover no-repeat;
}
.player-stub::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.15);
}
.player-stub__play{
  position:absolute;
  left:50%;
  top:50%;
  width:86px;
  height:86px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(0,0,0,.45);
  border:2px solid rgba(255,255,255,.6);
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.player-stub__play::after{
  content:"";
  position:absolute;
  left:52%;
  top:50%;
  transform:translate(-45%,-50%);
  width:0;height:0;
  border-left:22px solid rgba(255,255,255,.95);
  border-top:14px solid transparent;
  border-bottom:14px solid transparent;
}
.player-stub:hover .player-stub__play{
  transform:translate(-50%,-50%) scale(1.12);
  background:rgba(0,0,0,.55);
  border-color:rgba(255,255,255,.85);
}
.player-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#93a4b7;
  padding:20px;
}

/* ===== Modal 600x300 ===== */
html.player-modal-open, html.player-modal-open body{overflow:hidden}
.player-modal{
  position:fixed;
  inset:0;
  z-index:9999;
}
.player-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}
.player-modal__dialog{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:600px;
  max-width:calc(100vw - 24px);
  height:300px;
  max-height:calc(100vh - 24px);
  background:#0b0f15;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.player-modal__close{
  position:absolute;
  right:10px;
  top:8px;
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  line-height:32px;
  font-size:22px;
}
.player-modal__frame{
  position:absolute;
  inset:0;
}
.player-modal__frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}


/* --- Performance/maintainability tweaks (Feb 2026) --- */
.h1--mb{margin:0 0 12px}

/* comment form: use lightweight textarea instead of heavy editor */
.cform--mt{margin-top:14px}
.cform__textarea{
  width:100%;
  min-height:140px;
  resize:vertical;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  color:inherit;
  outline:none;
}
.cform__textarea:focus{border-color:rgba(0,255,160,.35)}

/* player poster stub (first player) */
.ss-media{position:relative;overflow:hidden;border-radius:16px}
.ss-media__poster{position:absolute;inset:0;cursor:pointer;z-index:2}
.ss-media__poster img{width:100%;height:100%;object-fit:cover;display:block}
.ss-media__embed{position:absolute;inset:0;z-index:1}
.ss-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:74px;height:74px;border-radius:50%;
  border:0;
  background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
  transition:transform .25s ease, background .25s ease;
}
.ss-media__poster:hover .ss-play{transform:translate(-50%,-50%) scale(1.12);background:rgba(0,0,0,.65)}
