/* ============================================================================
   КАДРОШОТ — каноничная дизайн-система (тёмная неоновая кино-тема)
   Один файл стилей для всех страниц. Имена классов ks-* сохранены 1:1 для
   переноса в боевые PHP-шаблоны. Меняй тему централизованно в :root.
   ============================================================================ */

/* ───────────────────────────── ТЕМА (меняй тут) ───────────────────────────── */
:root{
  --bg:#0a0c11;
  --bg-soft:#0e1118;
  --panel:rgba(22,25,34,.92);
  --panel-2:rgba(13,16,22,.92);
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --text:#e8edf6;
  --text-dim:#9aa4b5;
  --accent:#ff4aa2;          /* розовый неон бренда */
  --accent-2:#ff7fbd;
  --accent-deep:#d12d80;
  --accent-soft:rgba(255,74,162,.12);
  --accent-glow:rgba(255,74,162,.45);
  --gold:#ffd86b;            /* рейтинг */
  --gold-soft:rgba(255,216,107,.14);
  --radius:14px;
  --radius-sm:10px;
  --radius-lg:18px;
  --gap:18px;
  --shadow:0 16px 38px rgba(0,0,0,.28);
  --shadow-card:0 10px 22px rgba(0,0,0,.35);
  --card-w:140px;            /* плотность карточек */
  --maxw:1540px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --t-fast:.18s;
  --t-mid:.28s;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  background:radial-gradient(1200px 600px at 70% -10%, rgba(255,74,162,.10), transparent 60%), var(--bg);
  color:var(--text);
  font:14px/1.5 -apple-system,Segoe UI,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;font-weight:900;letter-spacing:.2px}
::selection{background:var(--accent);color:#fff}

/* мягкий тёмный скроллбар */
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-thumb{background:rgba(255,74,162,.28);border-radius:8px}
*::-webkit-scrollbar-thumb:hover{background:rgba(255,74,162,.5)}

.ks-wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}

/* ───────────────────────────── ШАПКА (концепт утверждён) ───────────────────────────── */
.ks-topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);
  background:linear-gradient(180deg,rgba(10,12,17,.96),rgba(10,12,17,.78));
  border-bottom:1px solid var(--line)}
.ks-tb-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:18px;padding:12px 16px}
.ks-logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px}
.ks-logo .mark{position:relative;width:30px;height:30px;border-radius:9px;
  background:radial-gradient(circle at 30% 30%, #2a2f3e, #11141c);display:grid;place-items:center}
.ks-logo .mark::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 12px var(--accent);animation:ks-orbit 3.2s linear infinite}
@keyframes ks-orbit{from{transform:rotate(0) translateX(11px) rotate(0)}to{transform:rotate(360deg) translateX(11px) rotate(-360deg)}}
.ks-logo b{background:linear-gradient(90deg,#fff,var(--accent-2),#fff);background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:ks-shine 6s linear infinite}
@keyframes ks-shine{to{background-position:200% 0}}
.ks-nav{display:flex;gap:6px;flex-wrap:wrap}
.ks-nav a{padding:7px 11px;border-radius:9px;color:var(--text-dim);font-weight:700;font-size:13px;transition:var(--t-fast) var(--ease)}
.ks-nav a:hover,.ks-nav a.active{color:#fff;background:var(--accent-soft)}
.ks-tb-spacer{flex:1}
.ks-search{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);
  border:1px solid var(--line);border-radius:999px;padding:7px 12px;min-width:220px;transition:var(--t-fast) var(--ease)}
.ks-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ks-search input{background:none;border:0;color:var(--text);outline:none;width:100%;font-size:13px}

/* ============================================================================
   3.1 КНОПКИ
   ============================================================================ */
.ks-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);
  border-radius:10px;padding:0 14px;min-height:40px;font:inherit;font-weight:800;font-size:13px;
  cursor:pointer;overflow:hidden;transition:transform var(--t-fast) var(--ease),
  border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),box-shadow var(--t-mid) var(--ease)}
/* световой свип */
.ks-btn::after{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);transition:left .55s var(--ease);pointer-events:none}
.ks-btn:hover::after{left:140%}
.ks-btn:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent-soft)}
.ks-btn:active{transform:translateY(0) scale(.97)}
.ks-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}

/* primary — неоновая заливка */
.ks-btn-pri{background:linear-gradient(90deg,var(--accent),#ff6ab0);border-color:transparent;color:#fff;
  box-shadow:0 6px 18px rgba(255,74,162,.32)}
.ks-btn-pri:hover{background:linear-gradient(90deg,#ff5fac,#ff86c4);border-color:transparent;
  box-shadow:0 10px 26px var(--accent-glow)}

/* ghost — прозрачная контурная */
.ks-btn-ghost{background:transparent;border-color:var(--line-2);color:var(--text)}
.ks-btn-ghost:hover{background:rgba(255,255,255,.04);border-color:var(--accent);color:#fff}

/* icon — квадратная */
.ks-btn-icon{min-height:40px;width:40px;padding:0;border-radius:11px;font-size:17px}
.ks-btn-icon.lg{min-height:48px;width:48px}

/* pill — закруглённая */
.ks-btn-pill{border-radius:999px;padding:0 18px}

/* размеры */
.ks-btn-sm{min-height:34px;padding:0 11px;font-size:12px}
.ks-btn-lg{min-height:48px;padding:0 22px;font-size:15px}
.ks-btn-block{display:flex;width:100%}

/* loading */
.ks-btn.is-loading{color:transparent;pointer-events:none}
.ks-btn.is-loading::before{content:"";position:absolute;width:17px;height:17px;border-radius:50%;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:ks-spin .7s linear infinite}
@keyframes ks-spin{to{transform:rotate(360deg)}}
.ks-btn[disabled]{opacity:.45;pointer-events:none}

/* ============================================================================
   3.4 ЧИПЫ / БЕЙДЖИ
   ============================================================================ */
.ks-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);border-radius:999px;padding:7px 12px;font-weight:800;font-size:12px;
  color:var(--text);cursor:pointer;transition:var(--t-fast) var(--ease)}
.ks-chip:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}
.ks-chip.is-active{background:linear-gradient(90deg,var(--accent),#ff6ab0);border-color:transparent;color:#fff}

.ks-badge{display:inline-flex;align-items:center;gap:5px;border-radius:7px;padding:3px 8px;
  font-size:10.5px;font-weight:900;letter-spacing:.4px;text-transform:uppercase}
.ks-badge-hd{background:var(--accent);color:#fff}
.ks-badge-4k{background:linear-gradient(90deg,#7c4dff,#b06bff);color:#fff}
.ks-badge-new{background:#1f8a5b;color:#fff}
.ks-badge-soon{background:var(--gold-soft);color:var(--gold);border:1px solid rgba(255,216,107,.35)}
.ks-badge-rk{background:rgba(0,0,0,.55);color:var(--gold);border:1px solid rgba(255,216,107,.25)}
.ks-badge-genre{background:rgba(255,255,255,.06);color:var(--text-dim);border:1px solid var(--line)}

/* ============================================================================
   3.2 КАРТОЧКА ФИЛЬМА (3 варианта: classic / glass / minimal)
   ============================================================================ */
.ks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-w),1fr));gap:16px}

.ks-card{display:flex;flex-direction:column;gap:8px;transition:transform var(--t-mid) var(--ease);
  transform-style:preserve-3d}
.ks-card:hover{transform:translateY(-4px)}
.ks-card-poster{position:relative;aspect-ratio:2/3;border-radius:12px;overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-card);
  transition:box-shadow var(--t-mid) var(--ease),border-color var(--t-mid) var(--ease)}
.ks-card:hover .ks-card-poster{border-color:var(--accent);box-shadow:0 16px 34px rgba(0,0,0,.5),0 0 0 1px var(--accent-soft),0 0 26px rgba(255,74,162,.28)}
.ks-card-poster .ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:10px;
  font-weight:900;font-size:13px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);
  transition:transform .5s var(--ease)}
.ks-card:hover .ph{transform:scale(1.08)}
/* нижний градиент-оверлей + всплывающая мета */
.ks-card-grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,9,14,.92));
  opacity:0;transition:opacity var(--t-mid) var(--ease)}
.ks-card:hover .ks-card-grad{opacity:1}
.ks-card-pop{position:absolute;left:0;right:0;bottom:0;padding:10px 11px;display:flex;flex-direction:column;gap:5px;
  transform:translateY(8px);opacity:0;transition:var(--t-mid) var(--ease)}
.ks-card:hover .ks-card-pop{transform:none;opacity:1}
.ks-card-pop .pm{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;font-weight:800;color:#cfd6e3}
.ks-card-pop .pm .rk{color:var(--gold)}
.ks-card-hd{position:absolute;top:8px;left:8px;font-size:10px;font-weight:900;background:var(--accent);
  color:#fff;padding:2px 7px;border-radius:6px;box-shadow:0 2px 8px rgba(255,74,162,.4)}
.ks-card-rk{position:absolute;top:8px;right:8px;font-size:11px;font-weight:900;background:rgba(0,0,0,.6);
  color:var(--gold);padding:2px 7px;border-radius:6px;backdrop-filter:blur(4px)}
.ks-card-play{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:var(--t-mid) var(--ease)}
.ks-card:hover .ks-card-play{opacity:1}
.ks-card-play span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent);color:#fff;font-size:18px;box-shadow:0 8px 24px var(--accent-glow);
  transform:scale(.8);transition:transform var(--t-mid) var(--ease)}
.ks-card:hover .ks-card-play span{transform:scale(1)}
.ks-card-play span::after{content:"";position:absolute;inset:-6px;border-radius:50%;
  border:2px solid var(--accent);opacity:.5;animation:ks-pulse 1.6s var(--ease) infinite}
@keyframes ks-pulse{0%{transform:scale(.85);opacity:.6}70%{transform:scale(1.35);opacity:0}100%{opacity:0}}
.ks-card-title{font-weight:800;font-size:12.5px;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.ks-card-meta{color:var(--text-dim);font-size:11px}

/* вариант glass — стеклянная подпись поверх постера */
.ks-card--glass .ks-card-title,.ks-card--glass .ks-card-meta{display:none}
.ks-card--glass .ks-card-poster{border-radius:14px}
.ks-card--glass .ks-card-cap{position:absolute;left:8px;right:8px;bottom:8px;padding:9px 11px;border-radius:11px;
  background:rgba(12,14,20,.55);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);
  transition:var(--t-mid) var(--ease)}
.ks-card--glass:hover .ks-card-cap{background:rgba(12,14,20,.78)}
.ks-card--glass .ks-card-cap b{display:block;font-size:12.5px;font-weight:900;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ks-card--glass .ks-card-cap span{font-size:11px;color:var(--text-dim)}

/* вариант minimal — без рамки, подпись крупнее, акцент на постере */
.ks-card--minimal .ks-card-poster{border:0;border-radius:10px}
.ks-card--minimal:hover .ks-card-poster{box-shadow:0 18px 40px rgba(0,0,0,.55)}
.ks-card--minimal .ks-card-title{font-size:13px}
.ks-card--minimal .ks-card-rk{background:none;color:var(--gold);top:6px;right:8px;text-shadow:0 1px 6px #000}
.ks-card--minimal .ks-card-hd{background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}

/* ============================================================================
   3.3 КАРТОЧКА ПОДБОРКИ — коллаж-веер постеров
   ============================================================================ */
.ks-col-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.ks-col-card{position:relative;display:block;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-card);background:var(--bg-soft);
  transition:transform var(--t-mid) var(--ease),border-color var(--t-mid) var(--ease),box-shadow var(--t-mid) var(--ease)}
.ks-col-card:hover{transform:translateY(-3px);border-color:var(--accent);
  box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 26px rgba(255,74,162,.22)}
.ks-col-fan{position:absolute;inset:0;display:flex;justify-content:center;align-items:center}
/* мини-постеры веером */
.ks-col-fan i{position:absolute;width:33%;height:78%;border-radius:9px;box-shadow:0 8px 20px rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.12);transition:transform .45s var(--ease)}
.ks-col-fan i:nth-child(1){transform:translateX(-46%) rotate(-11deg) scale(.92);z-index:1}
.ks-col-fan i:nth-child(2){transform:translateX(-22%) rotate(-5deg) scale(.97);z-index:2}
.ks-col-fan i:nth-child(3){transform:translateX(22%) rotate(5deg) scale(.97);z-index:2}
.ks-col-fan i:nth-child(4){transform:translateX(46%) rotate(11deg) scale(.92);z-index:1}
.ks-col-card:hover .ks-col-fan i:nth-child(1){transform:translateX(-70%) rotate(-16deg) scale(.94)}
.ks-col-card:hover .ks-col-fan i:nth-child(2){transform:translateX(-30%) rotate(-7deg) scale(1)}
.ks-col-card:hover .ks-col-fan i:nth-child(3){transform:translateX(30%) rotate(7deg) scale(1)}
.ks-col-card:hover .ks-col-fan i:nth-child(4){transform:translateX(70%) rotate(16deg) scale(.94)}
.ks-col-shade{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(8,10,15,.25) 0%,rgba(8,10,15,.55) 55%,rgba(8,10,15,.92) 100%)}
.ks-col-body{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:14px;display:flex;align-items:flex-end;gap:11px}
.ks-col-ico{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:var(--accent-soft);border:1px solid rgba(255,74,162,.3);color:var(--accent-2)}
.ks-col-ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.ks-col-text{min-width:0}
.ks-col-text b{display:block;font-size:15px;font-weight:900;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ks-col-text span{font-size:12px;color:var(--text-dim);font-weight:800}

/* ============================================================================
   3.5 ТРОФЕИ / АЧИВКИ
   ============================================================================ */
.ks-ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.ks-ach{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;
  border:1px solid var(--line);border-radius:var(--radius);padding:18px 14px;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));overflow:hidden;
  transition:transform var(--t-mid) var(--ease),border-color var(--t-mid) var(--ease),box-shadow var(--t-mid) var(--ease)}
.ks-ach:hover{transform:translateY(-3px)}
/* кольцо прогресса */
.ks-ach-ring{position:relative;width:78px;height:78px;display:grid;place-items:center}
.ks-ach-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.ks-ach-ring .bg{stroke:rgba(255,255,255,.08)}
.ks-ach-ring .fg{stroke:var(--accent);stroke-linecap:round;
  stroke-dasharray:220;stroke-dashoffset:220}
@media (prefers-reduced-motion: no-preference){
  .ks-ach.in .ks-ach-ring .fg{transition:stroke-dashoffset 1.1s var(--ease)}
}
.ks-ach-medal{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:24px;
  background:radial-gradient(circle at 35% 30%,#2a2f3e,#11141c);border:1px solid var(--line-2);
  transition:var(--t-mid) var(--ease)}
.ks-ach-name{font-size:13.5px;font-weight:900}
.ks-ach-desc{font-size:11.5px;color:var(--text-dim);line-height:1.35}
.ks-ach-pct{font-size:11px;font-weight:900;color:var(--text-dim)}

/* unlocked — золотое/розовое свечение */
.ks-ach.is-unlocked{border-color:rgba(255,216,107,.35);
  box-shadow:0 0 0 1px rgba(255,216,107,.12),0 14px 30px rgba(0,0,0,.35)}
.ks-ach.is-unlocked .ks-ach-ring .fg{stroke:var(--gold)}
.ks-ach.is-unlocked .ks-ach-medal{background:radial-gradient(circle at 35% 30%,#ffe9a8,#e0a93a);
  color:#3a2700;border-color:rgba(255,216,107,.6);box-shadow:0 0 22px rgba(255,216,107,.5)}
.ks-ach.is-unlocked .ks-ach-pct{color:var(--gold)}
.ks-ach.is-unlocked::after{content:"✓";position:absolute;top:10px;right:10px;width:20px;height:20px;
  border-radius:50%;background:var(--gold);color:#3a2700;font-size:12px;font-weight:900;display:grid;place-items:center}
/* эффект разблокировки */
.ks-ach.just-unlocked .ks-ach-medal{animation:ks-unlock .7s var(--ease)}
@keyframes ks-unlock{0%{transform:scale(.6) rotate(-25deg)}55%{transform:scale(1.18) rotate(8deg)}100%{transform:scale(1) rotate(0)}}

/* locked — приглушённый */
.ks-ach.is-locked{opacity:.78}
.ks-ach.is-locked .ks-ach-medal{filter:grayscale(.7);opacity:.7}
.ks-ach.is-locked .ks-ach-name{color:var(--text-dim)}

/* вариант с баром вместо кольца */
.ks-ach-bar{width:100%;height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.ks-ach-bar i{display:block;height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2))}
@media (prefers-reduced-motion: no-preference){
  .ks-ach.in .ks-ach-bar i{transition:width 1.1s var(--ease)}
}
.ks-ach.is-unlocked .ks-ach-bar i{background:linear-gradient(90deg,#e0a93a,var(--gold))}

/* ============================================================================
   СЕКЦИИ / ЗАГОЛОВКИ
   ============================================================================ */
.ks-sec{display:flex;flex-direction:column;gap:14px}
.ks-sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ks-sec-head h2{font-size:19px}
.ks-eyebrow{font-size:11px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent-2)}
.ks-seeall{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:10px;
  font-weight:800;font-size:12.5px;color:#fff;background:var(--accent-soft);border:1px solid var(--accent);
  transition:var(--t-fast) var(--ease)}
.ks-seeall:hover{background:var(--accent);transform:translateY(-1px);box-shadow:0 8px 20px rgba(255,74,162,.32)}

/* вкладки */
.ks-tabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ks-tab{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:999px;
  border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text-dim);
  font:inherit;font-weight:800;font-size:12.5px;cursor:pointer;transition:var(--t-fast) var(--ease)}
.ks-tab:hover{color:#fff;border-color:var(--accent)}
.ks-tab.is-active{color:#fff;background:linear-gradient(90deg,var(--accent),#ff6ab0);border-color:transparent;
  box-shadow:0 6px 16px rgba(255,74,162,.3)}

/* панель */
.ks-side-panel{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
.ks-side-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:15px}
.ks-side-title a{color:var(--text-dim);font-size:11px;font-weight:800;transition:var(--t-fast) var(--ease)}
.ks-side-title a:hover{color:var(--accent)}

/* ============================================================================
   ПЛАВНОЕ ПОЯВЛЕНИЕ (контент ВСЕГДА виден; .in проигрывает мягкий подъём).
   Анимируется ТОЛЬКО смещение — opacity всегда 1, поэтому контент не может
   «пропасть», даже если анимация не успела проиграться.
   ============================================================================ */
.reveal{opacity:1;transform:none}
@media (prefers-reduced-motion: no-preference){
  .reveal.in{animation:ks-rise .55s var(--ease)}
  .reveal.in[data-d="1"]{animation-delay:.07s}
  .reveal.in[data-d="2"]{animation-delay:.14s}
  .reveal.in[data-d="3"]{animation-delay:.21s}
  .reveal.in[data-d="4"]{animation-delay:.28s}
}
@keyframes ks-rise{from{transform:translateY(16px)}to{transform:none}}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* ============================================================================
   ФУТЕР
   ============================================================================ */
.ks-footer{border-top:1px solid var(--line);margin-top:30px;padding:28px 16px;color:var(--text-dim);
  max-width:var(--maxw);margin-left:auto;margin-right:auto;font-size:12.5px}
.ks-footer a{color:var(--text-dim);transition:var(--t-fast) var(--ease)}
.ks-footer a:hover{color:var(--accent)}

/* ============================================================================
   ТОСТ «ДОСТИЖЕНИЕ ПОЛУЧЕНО» — показывается на любой странице (для авторизованных)
   ============================================================================ */
.ks-toast-wrap{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.ks-toast{position:relative;pointer-events:auto;display:flex;align-items:center;gap:13px;width:330px;max-width:calc(100vw - 36px);
  padding:13px 40px 13px 14px;border-radius:14px;border:1px solid rgba(255,216,107,.42);
  background:linear-gradient(135deg,rgba(40,30,16,.97),rgba(18,15,11,.97));
  box-shadow:0 18px 44px rgba(0,0,0,.55),0 0 30px rgba(255,216,107,.28);overflow:hidden}
.ks-toast::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(140px 70px at 16% 0%,rgba(255,216,107,.22),transparent 70%)}
@media (prefers-reduced-motion: no-preference){.ks-toast{animation:ks-toast-pop .5s var(--ease)}}
@keyframes ks-toast-pop{0%{transform:translateY(18px) scale(.96)}100%{transform:none}}
.ks-toast.out{opacity:0;transform:translateX(24px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.ks-toast-medal{position:relative;flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:23px;
  background:radial-gradient(circle at 35% 30%,#ffe9a8,#e0a93a);color:#3a2700;
  box-shadow:0 0 0 1px rgba(255,216,107,.5),0 0 22px rgba(255,216,107,.5)}
@media (prefers-reduced-motion: no-preference){
  .ks-toast-medal::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(255,216,107,.6);animation:ks-pulse 1.8s var(--ease) infinite}}
.ks-toast-body{position:relative;min-width:0;display:flex;flex-direction:column;gap:2px}
.ks-toast-kicker{font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}
.ks-toast-body b{font-size:14px;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ks-toast-desc{font-size:11.5px;color:#cdb98a;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ks-toast-x{position:absolute;top:8px;right:8px;width:22px;height:22px;border:0;border-radius:7px;cursor:pointer;
  background:rgba(255,255,255,.06);color:#cdb98a;font-size:12px;line-height:1;transition:var(--t-fast) var(--ease)}
.ks-toast-x:hover{background:rgba(255,255,255,.14);color:#fff}

/* «Мои комментарии» в профиле */
.ks-mycoms{display:flex;flex-direction:column;gap:10px}
.ks-mycom{display:grid;grid-template-columns:46px 1fr;gap:12px;border:1px solid var(--line);
  background:linear-gradient(180deg,var(--panel),var(--panel-2));border-radius:12px;padding:12px;
  transition:var(--t-fast) var(--ease)}
.ks-mycom:hover{border-color:var(--accent);transform:translateX(2px)}
.ks-mycom .p{width:46px;aspect-ratio:2/3;border-radius:8px}
.ks-mycom .h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ks-mycom .film{font-weight:900;font-size:13px;color:#fff}
.ks-mycom .dt{color:var(--text-dim);font-size:11px;font-weight:800}
.ks-mycom .s{color:var(--gold);font-size:11.5px;font-weight:900}
.ks-mycom p{margin:6px 0 0;color:#cdd5e2;font-size:12.5px;line-height:1.5}
.ks-mycom .acts{display:flex;gap:14px;margin-top:8px}
.ks-mycom .acts button{background:none;border:0;color:var(--text-dim);font:inherit;font-weight:800;font-size:11.5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:var(--t-fast) var(--ease)}
.ks-mycom .acts button:hover{color:var(--accent)}
