/* ============================================================
   Лендинговая подача главной и хабов разделов (волна 31.10.2026)
   Подключается только на главной и страницах разделов (head.html).
   Токены — из kv.css (--bg, --panel, --ink…, --acc по .sec-*), свои — с префиксом --lp-.
   Тёмные «полосы» (.lp-band) остаются тёмными в обеих темах: текст поверх
   фотофона читается только на гарантированно тёмной подложке (белый текст ≥ 7:1).
   Фоны: img/bg/{name}-800.webp (телефон) и -1600.webp (широкий экран) поверх
   CSS-градиента палитры раздела (CONTENT_STRATEGY_RUMORS.md §6). Нет файла —
   слой картинки просто пустой, градиент остаётся.
   ============================================================ */

/* ---------- тёмная полоса: локальные токены ---------- */
.lp-band{
  --bg:#07090e; --panel:rgba(15,18,26,.80); --panel-2:rgba(26,30,41,.88);
  --line:rgba(255,255,255,.13); --line-2:rgba(255,255,255,.24);
  --ink:#f3f5f9; --ink-2:#cfd5e0; --ink-3:#a4adbd;
  --ok:#31d68a; --warn:#ffb43d; --bad:#ff6b6b; --info:#5b9cff; --violet:#9b8cff;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 34px rgba(0,0,0,.38);
  color:var(--ink); color-scheme:dark;
}
/* акценты разделов внутри полосы — светлые варианты в обеих темах (контраст на тёмном) */
html .lp-band.sec-games,html .lp-band .sec-games{--acc:#b39bff}
html .lp-band.sec-ai,html .lp-band .sec-ai{--acc:#3fe0c5}
html .lp-band.sec-movies,html .lp-band .sec-movies{--acc:#ff8a7a}
html .lp-band.sec-series,html .lp-band .sec-series{--acc:#ffb85c}
html .lp-band.sec-anime,html .lp-band .sec-anime{--acc:#ff7fa8}
html .lp-band.sec-tech,html .lp-band .sec-tech{--acc:#8cc2ff}
html .lp-band.sec-music,html .lp-band .sec-music{--acc:#ec8cff}
html .lp-band.sec-ended,html .lp-band .sec-ended{--acc:#c9b79a}
html .lp-band.sec-research,html .lp-band .sec-research{--acc:#f5c35a}
html .lp-band.sec-util,html .lp-band .sec-util{--acc:#8fb8ff}
html .lp-band{--acc:#8fb8ff}
/* светлая тема вне полос: приглушённым акцентам нужен тёмный вариант */
[data-theme="light"] .lp-card.sec-ended,[data-theme="light"] .lp-tr.sec-ended,[data-theme="light"] .lp-date.sec-ended{--acc:#5f6878}

/* ---------- фоны ---------- */
.lp-bg{
  --lp-scrim:linear-gradient(180deg,rgba(6,8,12,.62) 0%,rgba(6,8,12,.74) 55%,rgba(6,8,12,.9) 100%);
  --lp-fb:radial-gradient(70% 90% at 85% 10%,rgba(91,156,255,.28),transparent 70%),linear-gradient(160deg,#121826,#07090e);
  background-color:#07090e;
  background-image:var(--lp-scrim),var(--lp-img,linear-gradient(transparent,transparent)),var(--lp-fb);
  background-size:cover,cover,cover; background-position:center,center,center; background-repeat:no-repeat;
}
/* ленивые фоны (не первый экран): картинка — только после .lp-in от landing.js */
.lp-lazy:not(.lp-in){--lp-img:linear-gradient(transparent,transparent)!important}

/* палитры-заглушки по разделам */
.lp-bg--home-hero{--lp-fb:radial-gradient(60% 80% at 88% 8%,rgba(255,170,64,.34),transparent 70%),radial-gradient(60% 90% at 0% 100%,rgba(0,190,180,.30),transparent 70%),linear-gradient(160deg,#101722,#06080c)}
.lp-bg--home-rumors{--lp-fb:radial-gradient(70% 90% at 80% 0%,rgba(255,180,61,.32),transparent 70%),linear-gradient(160deg,#1a1408,#07090e)}
.lp-bg--home-ended,.lp-bg--ended{--lp-fb:radial-gradient(70% 90% at 85% 10%,rgba(201,170,125,.30),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(88,104,128,.38),transparent 70%),linear-gradient(160deg,#1a1712,#0a0c10)}
.lp-bg--movies{--lp-fb:radial-gradient(65% 85% at 85% 5%,rgba(255,166,64,.38),transparent 70%),radial-gradient(60% 80% at 5% 100%,rgba(200,24,64,.38),transparent 70%),linear-gradient(160deg,#1c0f0c,#07090e)}
.lp-bg--series{--lp-fb:radial-gradient(55% 70% at 88% 12%,rgba(255,179,92,.30),transparent 70%),radial-gradient(70% 90% at 10% 90%,rgba(96,72,190,.45),transparent 70%),linear-gradient(160deg,#141633,#07090e)}
.lp-bg--anime{--lp-fb:radial-gradient(60% 80% at 85% 10%,rgba(255,79,163,.40),transparent 70%),radial-gradient(60% 80% at 5% 100%,rgba(58,215,255,.32),transparent 70%),linear-gradient(160deg,#1d0f22,#07090e)}
.lp-bg--games{--lp-fb:radial-gradient(55% 75% at 90% 5%,rgba(255,47,185,.40),transparent 70%),radial-gradient(55% 75% at 0% 95%,rgba(25,227,255,.32),transparent 70%),radial-gradient(40% 50% at 55% 110%,rgba(166,255,0,.20),transparent 70%),linear-gradient(160deg,#140c22,#07090e)}
.lp-bg--tech{--lp-fb:radial-gradient(60% 80% at 85% 5%,rgba(159,216,255,.34),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(120,140,165,.30),transparent 70%),linear-gradient(160deg,#121a24,#07090e)}
.lp-bg--ai{--lp-fb:radial-gradient(60% 80% at 85% 5%,rgba(0,201,173,.40),transparent 70%),radial-gradient(55% 75% at 0% 100%,rgba(61,220,132,.24),transparent 70%),linear-gradient(160deg,#08201d,#07090e)}
.lp-bg--music{--lp-fb:radial-gradient(60% 80% at 85% 5%,rgba(255,60,172,.36),transparent 70%),radial-gradient(65% 85% at 0% 100%,rgba(123,47,247,.42),transparent 70%),linear-gradient(160deg,#1a0d2a,#07090e)}
.lp-bg--research{--lp-fb:radial-gradient(60% 80% at 85% 5%,rgba(245,185,65,.34),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(232,220,196,.14),transparent 70%),linear-gradient(160deg,#1c1810,#0a0b0d)}
.lp-bg--calc-chances{--lp-fb:radial-gradient(60% 80% at 90% 10%,rgba(245,185,65,.36),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(88,104,128,.40),transparent 70%),linear-gradient(160deg,#18161a,#08090c)}
.lp-bg--calc-wait{--lp-fb:radial-gradient(60% 80% at 90% 10%,rgba(0,190,180,.34),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(255,170,64,.22),transparent 70%),linear-gradient(160deg,#0d1a1c,#08090c)}
.lp-bg--countdown{--lp-fb:radial-gradient(60% 80% at 90% 0%,rgba(255,107,107,.30),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(255,180,61,.20),transparent 70%),linear-gradient(160deg,#1a0f12,#07090e)}
.lp-bg--calendar{--lp-fb:radial-gradient(60% 80% at 85% 5%,rgba(91,156,255,.32),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(255,180,61,.20),transparent 70%),linear-gradient(160deg,#0f1626,#07090e)}
.lp-bg--glossary{--lp-fb:radial-gradient(60% 80% at 85% 5%,rgba(232,220,196,.22),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(91,156,255,.22),transparent 70%),linear-gradient(160deg,#16161a,#08090c)}
.lp-bg--tags{--lp-fb:radial-gradient(50% 70% at 90% 5%,rgba(255,92,138,.28),transparent 70%),radial-gradient(50% 70% at 0% 100%,rgba(0,201,173,.26),transparent 70%),radial-gradient(40% 60% at 50% 50%,rgba(255,180,61,.14),transparent 70%),linear-gradient(160deg,#121520,#07090e)}

/* картинки: телефон — 800 (1600 только для экранов с плотностью ≥3), широкий экран — 1600 */
.lp-bg--home-hero{--lp-img:image-set(url(/img/bg/home-hero-800.webp) 1x,url(/img/bg/home-hero-1600.webp) 3x)}
.lp-bg--home-rumors{--lp-img:image-set(url(/img/bg/home-rumors-800.webp) 1x,url(/img/bg/home-rumors-1600.webp) 3x)}
.lp-bg--home-ended{--lp-img:image-set(url(/img/bg/home-ended-800.webp) 1x,url(/img/bg/home-ended-1600.webp) 3x)}
.lp-bg--movies{--lp-img:image-set(url(/img/bg/movies-800.webp) 1x,url(/img/bg/movies-1600.webp) 3x)}
.lp-bg--series{--lp-img:image-set(url(/img/bg/series-800.webp) 1x,url(/img/bg/series-1600.webp) 3x)}
.lp-bg--anime{--lp-img:image-set(url(/img/bg/anime-800.webp) 1x,url(/img/bg/anime-1600.webp) 3x)}
.lp-bg--games{--lp-img:image-set(url(/img/bg/games-800.webp) 1x,url(/img/bg/games-1600.webp) 3x)}
.lp-bg--tech{--lp-img:image-set(url(/img/bg/tech-800.webp) 1x,url(/img/bg/tech-1600.webp) 3x)}
.lp-bg--ai{--lp-img:image-set(url(/img/bg/ai-800.webp) 1x,url(/img/bg/ai-1600.webp) 3x)}
.lp-bg--music{--lp-img:image-set(url(/img/bg/music-800.webp) 1x,url(/img/bg/music-1600.webp) 3x)}
.lp-bg--ended{--lp-img:image-set(url(/img/bg/ended-800.webp) 1x,url(/img/bg/ended-1600.webp) 3x)}
.lp-bg--research{--lp-img:image-set(url(/img/bg/research-800.webp) 1x,url(/img/bg/research-1600.webp) 3x)}
.lp-bg--calc-chances{--lp-img:image-set(url(/img/bg/calc-chances-800.webp) 1x,url(/img/bg/calc-chances-1600.webp) 3x)}
.lp-bg--calc-wait{--lp-img:image-set(url(/img/bg/calc-wait-800.webp) 1x,url(/img/bg/calc-wait-1600.webp) 3x)}
.lp-bg--countdown{--lp-img:image-set(url(/img/bg/countdown-800.webp) 1x,url(/img/bg/countdown-1600.webp) 3x)}
.lp-bg--calendar{--lp-img:image-set(url(/img/bg/calendar-800.webp) 1x,url(/img/bg/calendar-1600.webp) 3x)}
.lp-bg--glossary{--lp-img:image-set(url(/img/bg/glossary-800.webp) 1x,url(/img/bg/glossary-1600.webp) 3x)}
.lp-bg--tags{--lp-img:image-set(url(/img/bg/tags-800.webp) 1x,url(/img/bg/tags-1600.webp) 3x)}
@media (min-width:801px){
  /* широкие полосы — 1600; небольшие плитки (разделы, калькуляторы) остаются на 800 */
  .lp-hero.lp-bg--home-hero{--lp-img:url(/img/bg/home-hero-1600.webp)}
  .lp-block.lp-bg--home-rumors{--lp-img:url(/img/bg/home-rumors-1600.webp)}
  .lp-block.lp-bg--home-ended{--lp-img:url(/img/bg/home-ended-1600.webp)}
  .lp-block.lp-bg--countdown{--lp-img:url(/img/bg/countdown-1600.webp)}
  .lp-hub.lp-bg--movies{--lp-img:url(/img/bg/movies-1600.webp)}
  .lp-hub.lp-bg--series{--lp-img:url(/img/bg/series-1600.webp)}
  .lp-hub.lp-bg--anime{--lp-img:url(/img/bg/anime-1600.webp)}
  .lp-hub.lp-bg--games{--lp-img:url(/img/bg/games-1600.webp)}
  .lp-hub.lp-bg--tech{--lp-img:url(/img/bg/tech-1600.webp)}
  .lp-hub.lp-bg--ai{--lp-img:url(/img/bg/ai-1600.webp)}
  .lp-hub.lp-bg--music{--lp-img:url(/img/bg/music-1600.webp)}
  .lp-hub.lp-bg--ended{--lp-img:url(/img/bg/ended-1600.webp)}
  .lp-hub.lp-bg--research{--lp-img:url(/img/bg/research-1600.webp)}
  .lp-hero{--lp-scrim:linear-gradient(90deg,rgba(6,8,12,.9) 0%,rgba(6,8,12,.72) 45%,rgba(6,8,12,.5) 100%),linear-gradient(180deg,transparent 60%,rgba(6,8,12,.85) 100%)}
  .lp-hub{--lp-scrim:linear-gradient(90deg,rgba(6,8,12,.9) 0%,rgba(6,8,12,.7) 55%,rgba(6,8,12,.45) 100%)}
}

/* ---------- общие блоки ---------- */
.is-landing main{overflow-x:clip}
.lp-block{padding:clamp(30px,5vw,56px) 0}
.lp-block.lp-band{margin:8px 0}
.lp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:18px;flex-wrap:wrap}
.lp-head__t{min-width:0;flex:1 1 320px}
/* акцент, подмешанный к цвету текста: мелкий капс на панели держит контраст ≥ 4.5 в обеих темах */
.lp-head__eb{margin:0 0 6px;font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--acc) 78%,var(--ink))}
.lp-head h2{margin:0;font-size:clamp(1.4rem,3.4vw,1.95rem);line-height:1.15;color:var(--ink)}
.lp-head__lead{margin:8px 0 0;color:var(--ink-2);font-size:1rem;line-height:1.5;max-width:680px}
.lp-more{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border:1px solid var(--line-2);border-radius:100px;background:var(--panel);color:var(--ink);font-weight:650;font-size:.92rem;white-space:nowrap;transition:border-color .18s,background .18s}
.lp-more:hover{border-color:var(--acc);text-decoration:none;background:var(--panel-2)}
.lp-more span{color:var(--acc)}
.lp-after{margin:18px 0 0;text-align:center}
.lp-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px;background:var(--acc);color:#0a0c11;font-weight:750}
.lp-btn:hover{text-decoration:none;filter:brightness(1.08)}
.lp-off{display:none!important}

/* ---------- карточка ---------- */
.lp-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.lp-card{position:relative;display:grid;grid-template-columns:minmax(104px,38%) minmax(0,1fr);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--ink);min-width:0;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.lp-card:hover{text-decoration:none;border-color:var(--acc);transform:translateY(-3px);box-shadow:var(--shadow)}
.lp-card:focus-visible{outline:2.5px solid var(--acc);outline-offset:2px}
/* в режиме «строка» (сетка) у картинки нет своей пропорции: высоту задаёт текст,
   иначе aspect-ratio + высота строки раздувают колонку картинки поверх текста */
.lp-card__media{position:relative;display:block;background:var(--panel-2);overflow:hidden;align-self:stretch;min-height:76px}
.lp-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.lp-card__media picture{display:contents}
/* CSS-обложка, пока нет SVG из gen_covers.py */
.lp-ph{position:absolute;inset:0;display:flex;align-items:center;padding:10px 14px;--lp-img:linear-gradient(transparent,transparent)!important;--lp-scrim:linear-gradient(transparent,transparent)}
.lp-ph b{font-size:clamp(.9rem,2.6vw,1.35rem);font-weight:800;line-height:1.15;color:#f3f5f9;overflow-wrap:anywhere}
/* типографическая обложка: текст начинается слева — при обрезке держим левый край */
.lp-card__media img[src$=".svg"],.lp-date__thumb img[src$=".svg"]{object-position:0 50%}
.lp-card:hover .lp-card__media img{transform:scale(1.045)}
.lp-card__body{display:flex;flex-direction:column;gap:5px;padding:10px 12px 12px;min-width:0}
.lp-card__kick{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;line-height:1.35}
.lp-card__kick b{color:color-mix(in srgb,var(--acc) 78%,var(--ink));font-weight:800}
.lp-card__kick span{color:var(--ink-3);font-weight:600}
.lp-card__title{font-weight:750;font-size:.98rem;line-height:1.28;color:var(--ink);overflow-wrap:anywhere}
.lp-card__teaser{display:none;color:var(--ink-2);font-size:.88rem;line-height:1.45}
.lp-card__date{margin-top:auto;padding-top:2px;font-family:var(--mono);font-size:.8rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
/* флажок статуса на картинке: тёмная подложка — читается на любом кадре */
.lp-flag{position:absolute;left:8px;top:8px;z-index:2;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:3px 9px 3px 8px;border-radius:100px;background:rgba(7,9,14,.84);color:#f3f5f9;font-size:.76rem;font-weight:750;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;--s:#a4adbd}
.lp-flag::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--s);box-shadow:0 0 0 3px color-mix(in srgb,var(--s) 30%,transparent)}
.lp-flag.is-confirmed{--s:#31d68a}.lp-flag.is-window{--s:#5b9cff}.lp-flag.is-rumor{--s:#ffb43d}
.lp-flag.is-tba{--s:#a4adbd}.lp-flag.is-released{--s:#9b8cff}.lp-flag.is-ended{--s:#c9b79a}.lp-flag.is-cancelled{--s:#ff6b6b}
/* кнопка «плей» на превью трейлера */
.lp-play{position:absolute;left:50%;top:50%;z-index:1;width:46px;height:32px;transform:translate(-50%,-50%);border-radius:10px;background:rgba(7,9,14,.78);box-shadow:0 4px 18px rgba(0,0,0,.4);transition:transform .2s ease,background .2s ease}
.lp-play::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-40%,-50%);border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent #fff}
a:hover .lp-play{background:color-mix(in srgb,var(--acc) 85%,#000);transform:translate(-50%,-50%) scale(1.08)}

@media (min-width:700px){
  .lp-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .lp-card{display:flex;flex-direction:column}
  .lp-card__media{min-height:0;aspect-ratio:16/9}
  .lp-card__body{padding:12px 14px 15px;gap:6px;flex:1}
  .lp-card__title{font-size:1.03rem}
  .lp-card__teaser{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .lp-play{width:60px;height:42px;border-radius:12px}
  .lp-play::after{border-width:9px 0 9px 15px}
}
@media (min-width:1000px){.lp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- герой главной ---------- */
.lp-hero{position:relative;padding:clamp(26px,5vw,64px) 0 clamp(26px,4vw,44px)}
.lp-hero__grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);align-items:center}
.lp-hero__eb{display:inline-flex;align-items:center;gap:9px;margin:0 0 12px;padding:5px 12px;border:1px solid var(--line-2);border-radius:100px;background:rgba(7,9,14,.55);font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--ink-2)}
.lp-dot{width:8px;height:8px;border-radius:50%;background:#ffb43d;box-shadow:0 0 0 0 rgba(255,180,61,.6);animation:lp-pulse 2.2s ease-out infinite}
@keyframes lp-pulse{0%{box-shadow:0 0 0 0 rgba(255,180,61,.55)}70%{box-shadow:0 0 0 9px rgba(255,180,61,0)}100%{box-shadow:0 0 0 0 rgba(255,180,61,0)}}
.lp-hero__h1{margin:0 0 .3em;font-size:clamp(2.3rem,8vw,4.2rem);line-height:1.02;letter-spacing:-.03em;color:#fff;text-wrap:balance}
.lp-hero__sub{margin:0 0 20px;color:var(--ink-2);font-size:clamp(1rem,2.3vw,1.14rem);line-height:1.55;max-width:560px}
.lp-search{display:flex;align-items:center;gap:12px;width:100%;max-width:560px;min-height:56px;padding:0 18px;border:1px solid var(--line-2);border-radius:14px;background:rgba(255,255,255,.08);color:var(--ink-2);font:inherit;font-size:1rem;text-align:left;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.35);backdrop-filter:blur(6px);transition:border-color .18s,background .18s}
.lp-search:hover,.lp-search:focus-visible{border-color:#ffb43d;background:rgba(255,255,255,.12)}
.lp-search svg{color:#ffb43d;flex:0 0 auto}
.lp-search span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.lp-hero__chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 15px;border:1px solid var(--line-2);border-radius:100px;background:rgba(7,9,14,.55);color:var(--ink);font-size:.9rem;font-weight:650}
.lp-hero__chips a:hover{border-color:#ffb43d;text-decoration:none}
.lp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 0;max-width:560px}
.lp-stats div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(7,9,14,.5);min-width:0}
.lp-stats dt{order:2;font-size:.75rem;line-height:1.3;color:var(--ink-3)}
.lp-stats dd{margin:0 0 2px;font-family:var(--mono);font-weight:800;font-size:1.35rem;color:#fff;font-variant-numeric:tabular-nums}
.lp-stats div{display:flex;flex-direction:column}
.lp-hero__side{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin-top:14px}
/* lead: на телефоне — обычная карточка-столбец */
.lp-card--lead{display:flex;flex-direction:column}
.lp-card--lead .lp-card__media{min-height:0;aspect-ratio:16/9}
.lp-card--lead .lp-card__title{font-size:1.15rem}
.lp-card--lead .lp-card__teaser{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lp-card--lead .lp-play{width:64px;height:44px;border-radius:13px}
.lp-card--lead .lp-play::after{border-width:10px 0 10px 16px}
@media (min-width:700px){
  .lp-hero__side{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
  .lp-hero__side .lp-card{display:grid;grid-template-columns:minmax(96px,40%) minmax(0,1fr)}
  .lp-hero__side .lp-card__media{aspect-ratio:auto;min-height:84px}
  .lp-hero__side .lp-card__body{padding:10px 12px}
  .lp-hero__side .lp-card__title{font-size:.93rem}
}
@media (min-width:960px){
  .lp-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px}
  /* lead на широком экране: текст поверх кадра */
  .lp-card--lead{display:block}
  .lp-card--lead .lp-card__media{aspect-ratio:16/10}
  .lp-card--lead .lp-card__body{position:absolute;left:0;right:0;bottom:0;padding:70px 20px 18px;background:linear-gradient(180deg,transparent,rgba(6,8,12,.82) 38%,rgba(6,8,12,.96));gap:7px}
  .lp-card--lead .lp-card__title{font-size:1.45rem;color:#fff}
  .lp-card--lead .lp-card__teaser{color:#d7dce6;font-size:.95rem}
  .lp-card--lead .lp-card__date{color:#d7dce6}
  .lp-card--lead .lp-play{top:40%}
}

/* ---------- трейлеры ---------- */
.lp-trs{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.lp-tr{display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--ink);transition:transform .2s ease,border-color .2s ease}
.lp-tr:hover{text-decoration:none;border-color:var(--acc);transform:translateY(-3px)}
.lp-tr__media{position:relative;display:block;aspect-ratio:16/9;background:#05070a;overflow:hidden}
.lp-tr__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,opacity .3s}
.lp-tr:hover .lp-tr__media img{transform:scale(1.04);opacity:.9}
.lp-tr__dur{position:absolute;right:8px;bottom:8px;padding:1px 7px;border-radius:6px;background:rgba(4,6,10,.85);color:#fff;font-family:var(--mono);font-size:.75rem;font-weight:650;line-height:1.5}
.lp-tr__body{display:flex;flex-direction:column;gap:4px;padding:9px 11px 12px;min-width:0}
.lp-tr__kick{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:.75rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);line-height:1.35}
.lp-tr__kick b{color:var(--acc);font-weight:800}
.lp-tr__title{font-weight:750;font-size:.93rem;line-height:1.28;overflow-wrap:anywhere}
.lp-tr__ch{font-size:.78rem;color:var(--ink-3)}
.lp-tr--lead{grid-column:1/-1}
.lp-tr--lead .lp-tr__title{font-size:1.15rem}
.lp-tr--lead .lp-play{width:64px;height:44px;border-radius:13px}
.lp-tr--lead .lp-play::after{border-width:10px 0 10px 16px}
@media (min-width:760px){
  .lp-trs{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .lp-tr--lead{grid-column:span 2;grid-row:span 2}
  .lp-tr--lead .lp-tr__media{flex:1;aspect-ratio:auto;min-height:220px}
  .lp-tr--lead .lp-tr__title{font-size:1.3rem}
  .lp-trs--flat .lp-tr--lead{grid-column:auto;grid-row:auto}
  .lp-play{width:56px;height:40px}
}

/* ---------- ближайшие даты (билеты) ---------- */
.lp-dates{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.lp-date{display:grid;grid-template-columns:58px 88px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px 10px 10px;min-height:84px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);min-width:0;transition:transform .2s,border-color .2s}
.lp-date:hover{text-decoration:none;border-color:var(--acc);transform:translateY(-2px)}
.lp-date__cal{display:flex;flex-direction:column;align-items:center;justify-content:center;height:62px;border-radius:11px;background:color-mix(in srgb,var(--acc) 22%,rgba(7,9,14,.6));border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);line-height:1}
.lp-date__cal b{font-family:var(--mono);font-size:1.5rem;font-weight:800;color:#fff}
.lp-date__cal span{margin-top:4px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.lp-date__thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--panel-2)}
.lp-date__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lp-date__thumb .lp-play{width:28px;height:20px;border-radius:6px}
.lp-date__thumb .lp-play::after{border-width:5px 0 5px 8px}
.lp-date__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.lp-date__kick{font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--acc)}
.lp-date__title{font-weight:750;font-size:.97rem;line-height:1.28;overflow-wrap:anywhere}
.lp-date__when{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:.82rem;line-height:1.4}
.lp-date__d{font-family:var(--mono);color:var(--ink-2)}
.lp-date__left{color:#ffb43d;font-weight:700}
.lp-date__left:empty{display:none}
@media (max-width:359px){.lp-date{grid-template-columns:54px minmax(0,1fr)}.lp-date__thumb{display:none}}
@media (min-width:700px){.lp-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media (min-width:1100px){.lp-dates{grid-template-columns:repeat(4,minmax(0,1fr))}.lp-date{grid-template-columns:58px minmax(0,1fr)}.lp-date__thumb{display:none}}

/* ---------- плитки разделов ---------- */
.lp-secs{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.lp-sec{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;min-height:118px;padding:14px 14px 13px;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;color:var(--ink);isolation:isolate;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  --lp-scrim:linear-gradient(180deg,rgba(6,8,12,.25) 0%,rgba(6,8,12,.62) 55%,rgba(6,8,12,.9) 100%)}
.lp-sec::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--acc)}
.lp-sec:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--acc);box-shadow:var(--shadow)}
.lp-sec__name{font-weight:800;font-size:1.12rem;line-height:1.2;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.lp-sec__cnt{font-size:.8rem;color:var(--ink-2);font-family:var(--mono);line-height:1.35}
.lp-sec__go{position:absolute;right:12px;top:12px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(7,9,14,.6);border:1px solid var(--line-2);color:var(--acc);font-weight:800;transition:transform .2s}
.lp-sec:hover .lp-sec__go{transform:translateX(3px)}
@media (min-width:700px){.lp-secs{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lp-sec{min-height:140px;padding:18px}}
@media (min-width:1000px){.lp-secs{grid-template-columns:repeat(4,minmax(0,1fr))}.lp-sec:not(.lp-sec--util){min-height:170px}.lp-sec__name{font-size:1.25rem}}

/* ---------- калькуляторы ---------- */
.lp-calcs{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);margin-bottom:18px}
.lp-calc{position:relative;display:flex;flex-direction:column;gap:6px;min-height:180px;justify-content:flex-end;padding:18px;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;color:var(--ink);transition:transform .2s ease,border-color .2s ease;
  --lp-scrim:linear-gradient(180deg,rgba(6,8,12,.35),rgba(6,8,12,.9))}
.lp-calc:hover{text-decoration:none;transform:translateY(-3px);border-color:#f5c35a}
.lp-calc__tag{align-self:flex-start;padding:3px 10px;border-radius:100px;background:rgba(245,195,90,.16);border:1px solid rgba(245,195,90,.45);color:#f5c35a;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.lp-calc__title{font-size:1.3rem;font-weight:800;line-height:1.2;color:#fff}
.lp-calc__desc{color:var(--ink-2);font-size:.92rem;line-height:1.45}
.lp-calc__cta{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:44px;margin-top:6px;padding:0 18px;border-radius:11px;background:#f5c35a;color:#14110a;font-weight:800}
@media (min-width:760px){.lp-calcs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lp-calc{min-height:230px;padding:24px}.lp-calc__title{font-size:1.55rem}}
.lp-stats-grid{margin-top:4px}

/* ---------- шапка хаба ---------- */
.lp-hub{position:relative;padding:clamp(26px,5vw,58px) 0 clamp(22px,4vw,40px)}
.lp-hub::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--acc),transparent 70%)}
.lp-hub__eb{margin:0 0 8px;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.lp-hub__h1{margin:0 0 .35em;font-size:clamp(1.9rem,6vw,3.1rem);line-height:1.08;letter-spacing:-.025em;color:#fff;max-width:900px;text-wrap:balance}
.lp-hub__intro{margin:0 0 16px;color:var(--ink-2);font-size:clamp(1rem,2.2vw,1.12rem);line-height:1.55;max-width:720px}
.lp-hub__legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 16px;color:var(--ink-2);font-size:.9rem}
.lp-hub__legend span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.lp-chips{display:flex;flex-wrap:wrap;gap:8px}
.lp-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 8px 0 15px;border:1px solid var(--line-2);border-radius:100px;background:rgba(7,9,14,.6);color:var(--ink);font-size:.9rem;font-weight:650;cursor:pointer;transition:border-color .18s,background .18s;--s:var(--acc)}
.lp-chip b{min-width:28px;padding:2px 8px;border-radius:100px;background:rgba(255,255,255,.1);font-family:var(--mono);font-size:.78rem;text-align:center}
.lp-chip.is-rumor{--s:var(--warn)}.lp-chip.is-window{--s:var(--info)}.lp-chip.is-confirmed{--s:var(--ok)}.lp-chip.is-released{--s:var(--violet)}.lp-chip.is-ended{--s:#c9b79a}.lp-chip.is-cancelled{--s:var(--bad)}
.lp-chip:not([data-lp-filter="all"])::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--s);flex:0 0 auto}
.lp-chip:not([data-lp-filter])::before{display:none}
.lp-chip:hover{text-decoration:none;border-color:var(--s)}
.lp-chip.is-on{background:#f3f5f9;color:#0a0c11;border-color:#f3f5f9}
.lp-chip.is-on b{background:rgba(10,12,17,.12)}
.lp-hub__upd{margin:14px 0 0}
.lp-hub__upd .hub__upd{color:var(--ink-3)}
.lp-hubbody{padding-top:8px}
.lp-sec-block{margin:30px 0 8px}
.lp-filter-note{margin:20px 0 0;padding:10px 14px;border:1px dashed var(--line-2);border-radius:var(--radius-s);color:var(--ink-2);font-size:.92rem}
.lp-reset{min-height:44px;margin-left:6px;padding:0 14px;border:1px solid var(--line-2);border-radius:100px;background:var(--panel);color:var(--ink);font:inherit;font-weight:650;cursor:pointer}
.lp-reset:hover{border-color:var(--acc)}
#lp-lists{scroll-margin-top:76px}
#lp-lists .hub__sec{scroll-margin-top:76px}

/* ---------- светлая тема: карточки вне полос ---------- */
[data-theme="light"] .lp-card,[data-theme="light"] .lp-tr,[data-theme="light"] .lp-date{box-shadow:0 1px 2px rgba(20,28,50,.05)}
[data-theme="light"] .lp-date:not(.lp-band .lp-date) .lp-date__cal b{color:var(--ink)}
[data-theme="light"] .lp-block:not(.lp-band) .lp-date__left{color:#a35f00}
[data-theme="light"] .lp-more{background:var(--panel)}

/* ---------- движение ---------- */
@media (prefers-reduced-motion:reduce){
  .lp-dot{animation:none}
  .lp-card,.lp-tr,.lp-date,.lp-sec,.lp-calc,.lp-card__media img,.lp-tr__media img{transition:none}
  .lp-card:hover,.lp-tr:hover,.lp-date:hover,.lp-sec:hover,.lp-calc:hover{transform:none}
  .lp-card:hover .lp-card__media img,.lp-tr:hover .lp-tr__media img{transform:none}
}

/* Метка «Иллюстрация» на AI-картинке в карточке релиза: картинку нельзя принять за кадр из проекта */
.lp-illu{position:absolute;left:8px;bottom:8px;z-index:2;padding:2px 7px;border-radius:6px;font-size:.75rem;line-height:1.4;color:#fff;background:rgba(10,12,18,.62);backdrop-filter:blur(4px);pointer-events:none}
