/* ==========================================================================
   v75 — Mini App без пустой полосы сверху, заголовки не вылезают из плиток,
   стикеры героя уступают тексту, распадающийся текст без выделения, живой блик
   линзы, блок «Документы» в FAQ. Грузится после v70.css; приём :root:not(#v).
   ========================================================================== */

/* 1. Mini App: фон героя уходит под шапку целиком. Шапка в мини-аппе выше на высоту
      кнопок Telegram (--tg-top), а герой поднимался только на обычную высоту шапки —
      сверху оставалась полоса цвета страницы. В развёрнутом окне к телу добавлялся ещё
      и свой отступ — полоса вдвое шире. Теперь отступ несёт только шапка. */
html.tg-desktop.tg-fullscreen:not(#v) body{padding-top:0}
html.telegram-mini-app:not(#v) .ghr{margin-top:calc(-1 * (var(--header-h) + var(--tg-top,0px)))}
html.telegram-mini-app:not(#v) .ghr__content--page{
  padding-top:calc(var(--header-h) + var(--tg-top,0px) + clamp(40px,8vw,96px))}
@media (max-width:640px){
  html.telegram-mini-app:not(#v) .ghr__content:not(.ghr__content--page){padding-top:calc(var(--header-h) + var(--tg-top,0px) + 84px)}
}

/* 2. Плитки каталога главной: заголовок по ширине плитки, а не окна. В широком окне
      (мини-апп на весь экран, 4 колонки) «PlayStation» и «FAQ и инструкции» росли от
      ширины экрана и обрезались кромкой плитки. */
:root:not(#v) .grid--catalog > .tile{container-type:inline-size;min-width:0}
:root:not(#v) .grid--catalog > .tile h3{font-size:clamp(24px,19cqi,44px);overflow-wrap:break-word;hyphens:manual;max-width:100%}
:root:not(#v) .grid--catalog > .tile p{overflow-wrap:break-word}
:root:not(#v) .tile__head{min-width:0;max-width:100%}
/* плашки внутри раскрытой плитки — не шире плитки, текст переносится */
:root:not(#v) .subp{min-width:0;max-width:100%;box-sizing:border-box}
:root:not(#v) .subp *{min-width:0;overflow-wrap:break-word}
/* крупные заголовки разделов и страниц: не шире своей колонки ни при каком шрифте */
:root:not(#v) .ghr__title--page,:root:not(#v) .card__title,:root:not(#v) .faq__item summary{overflow-wrap:break-word}

/* 3. Стрелки-иконки в графиках: правило .chart svg{width:100%} растягивало их на всю
      ширину (огромная зелёная стрелка под ценой карты) */
:root:not(#v) .chart svg[width="12"]{display:inline-block;width:12px;height:12px;vertical-align:-1px}

/* 4. Стикеры героя уступают тексту (ui.js setupStickerRoom ставит is-crowded) */
:root:not(#v) .sticker.is-crowded{opacity:0;visibility:hidden;pointer-events:none}

/* 5. Распадающийся текст (полутон): без синего выделения при движении мышью/пальцем */
:root:not(#v) .htext,:root:not(#v) .htext *,:root:not(#v) .halftone,:root:not(#v) .halftone *{
  -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
:root:not(#v) .htext ::selection,:root:not(#v) .htext::selection{background:transparent;color:inherit}

/* 6. Линза-курсор: живой блик (lens.js glare: --lga угол каймы, --lgx/--lgy пятно, --lgk яркость) */
:root:not(#v) .lgc__shine{background:radial-gradient(ellipse 44% 30% at var(--lgx,32%) var(--lgy,22%),
  rgba(255,255,255,calc(.16 + var(--lgk,.55) * .3)),transparent 70%)}
:root:not(#v) .lgc__glare{position:absolute;inset:0;display:block;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--lga,200deg),rgba(255,255,255,.95),rgba(255,255,255,.35) 7%,transparent 20%,
    transparent 78%,rgba(255,255,255,.18) 90%,rgba(255,255,255,.95));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  opacity:var(--lgk,.55)}
:root[data-theme="light"]:not(#v) .lgc__glare{filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}
@media (prefers-reduced-motion:reduce){:root:not(#v) .lgc__glare{opacity:.5}}

/* 7. FAQ: постоянный блок «Документы» — карточки-ссылки на отдельные страницы */
:root:not(#v) .docs-head{margin-top:clamp(40px,7vw,80px)}
:root:not(#v) .docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 clamp(32px,6vw,64px)}
@media (max-width:900px){:root:not(#v) .docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){:root:not(#v) .docs-grid{grid-template-columns:1fr}}
:root:not(#v) .doc-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;
  column-gap:14px;row-gap:4px;align-items:start;min-height:96px;padding:18px 18px 18px 16px;border-radius:20px;
  color:var(--text);text-decoration:none;background:var(--lq-fill,color-mix(in srgb,var(--tone,var(--text)) 5%,transparent));
  box-shadow:var(--lq-rim,inset 0 0 0 1px color-mix(in srgb,var(--tone,var(--text)) 14%,transparent));
  transition:translate .5s var(--spr,ease),background-color .2s ease}
:root:not(#v) .doc-card__ic{grid-row:1 / span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;
  color:var(--text);background:color-mix(in srgb,var(--tone,var(--text)) 7%,transparent)}
:root:not(#v) .doc-card__t{grid-column:2;font:600 16px/1.3 var(--f-sans);letter-spacing:-.01em;overflow-wrap:break-word}
:root:not(#v) .doc-card__d{grid-column:2;font:500 13.5px/1.45 var(--f-sans);color:var(--text-mute);overflow-wrap:break-word}
:root:not(#v) .doc-card__go{grid-column:3;grid-row:1;color:var(--text-mute);transition:translate .4s var(--spr,ease),color .2s ease}
@media (hover:hover){
  :root:not(#v) .doc-card:hover{translate:0 -2px;background:color-mix(in srgb,var(--tone,var(--text)) 8%,transparent)}
  :root:not(#v) .doc-card:hover .doc-card__go{translate:2px -2px;color:var(--text)}
}
:root:not(#v) .doc-card:focus-visible{outline:2px solid var(--accent,currentColor);outline-offset:3px}
