/* шрифты — самохост (design_v2/frost/fonts, OFL); у холста были Google Fonts — на сайте внешних шрифтов нет */
@font-face{font-family:'Geologica';font-style:normal;font-weight:400 800;font-display:swap;src:url('/s/fonts/geologica-cyrillic.v1.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Geologica';font-style:normal;font-weight:400 800;font-display:swap;src:url('/s/fonts/geologica-latin.v1.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url('/s/fonts/golos-cyrillic.v1.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url('/s/fonts/golos-latin.v1.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ============================================================
   «Иней» — система для мини-аппа Свита. Чистый CSS, без фреймворков.
   Слои: 0 — визуал (арт/карта/мозаика), 1 — твёрдые листы контента,
   2 — стекло (только навигация и управление).
   Без color-mix, :has, вложенности, container queries, @property, oklch, dvh/svh, text-wrap.
   ============================================================ */
:root{
  /* палитра — точно из design_v2/tokens.jsx */
  --bg:#0d1421; --bg-elev:#131c2c; --card:#161e2e; --card-top:#1c2538;
  --border:#1f2a3f; --border-hi:#2d3a55;
  --text:#e7ebf2; --text2:#8a93a6; --muted:#5d6478;
  --cyan:#22d3ee; --cta:#4a9eed; --amber:#fbbf24; --meta:#4a9eed;
  --green:#22c55e; --orange:#f97316; --red:#ef4444;
  --coral:#ff7a6e;            /* «их» — производная от danger red, светлее для точек на карте */
  --t-sp:#a78bfa; --t-s:#ef4444; --t-a:#fbbf24; --t-b:#4a9eed;

  /* поверхности (лесенка) */
  --sheet:#131c2c;            /* лист, который «поднимается» над визуалом */
  --cell:#1b2437;             /* ячейка на листе */
  --well:#101827;             /* утопленная подложка: трек, карта, полоса тизера */
  --hair:rgba(231,235,242,.07);
  --label:#b7bfcc;            /* подписи на стекле: ≥4.5:1 над светлым артом */

  /* радиусы — не один на всё */
  --r-sheet:30px; --r-card:22px; --r-tile:16px; --r-ctl:14px; --r-chip:9px; --r-pt:12px;

  --f-display:'Geologica','Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-ui:'Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* высота таб-бара + отступ снизу (safe area учитывается отдельно) */
  --tabbar-h:64px;
  --sab:env(safe-area-inset-bottom, 0px);   /* в Telegram можно var(--tg-safe-area-inset-bottom) */
}
/* артборд имитирует iPhone с индикатором «домой»: safe area 34 px */
.artboard{--sab:34px}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}
body{font:400 15px/1.45 var(--f-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}
img{display:block}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3{margin:0;font-family:var(--f-display);font-weight:600}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.i{width:20px;height:20px;flex:none;display:block}
/* характер Geologica: острые окончания (ось SHRP) — только крупный текст и числа */
.sharp{font-variation-settings:'SHRP' 40}

/* ---------- артборд телефона ---------- */
.app{width:100%;max-width:430px;margin:0 auto;position:relative;overflow:hidden;min-height:844px;background:var(--bg)}

/* ---------- слой 0: визуал ---------- */
.art{position:absolute;left:0;right:0;top:0;overflow:hidden;z-index:0;pointer-events:none;background:var(--bg)}
/* заранее размытая маленькая картинка (10–20 КБ максимум), без CSS-фильтра */
.wash{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover}
.art-fade{position:absolute;left:0;right:0;top:0;bottom:0}
/* рендер героя: постер — кадр рендера с альфой; видео поверх, постер гаснет, когда видео пошло */
.render-slot{position:absolute;top:0;bottom:0}
.render-slot .poster{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;transition:opacity .6s ease}
.render-slot .rnd{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .6s ease}
.render-slot.live .rnd{opacity:1}
.render-slot.live .poster{opacity:0}

/* ---------- слой 2: стекло ---------- */
/* Значения в -webkit-backdrop-filter — литералы: Safari не читает там переменные. */
.glass{
  background:rgba(13,20,33,.70);
  -webkit-backdrop-filter:saturate(170%) blur(20px);
  backdrop-filter:saturate(170%) blur(20px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), inset 0 0 0 1px rgba(255,255,255,.06), 0 14px 34px -10px rgba(2,6,14,.6);
}
/* таб-бар — плотнее: подписи 11 px должны читаться над любым артом */
.glass-bar{
  background:rgba(13,20,33,.78);
  -webkit-backdrop-filter:saturate(170%) blur(20px);
  backdrop-filter:saturate(170%) blur(20px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), inset 0 0 0 1px rgba(255,255,255,.06), 0 16px 36px -10px rgba(2,6,14,.7);
}
/* нижний лист: почти твёрдый (iOS 27), blur не больше 20 px, открывается только по тапу и с затемнением */
.glass-sheet{
  background:rgba(19,28,44,.88);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
  backdrop-filter:saturate(160%) blur(20px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 0 0 1px rgba(255,255,255,.05), 0 -24px 60px rgba(2,6,14,.55);
}
/* «линза»: лежит внутри стекла — своего backdrop-filter НЕ имеет (вложенный backdrop root), только тинт и ободки */
.knob{
  background:rgba(231,235,242,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), inset 0 0 0 1px rgba(255,255,255,.07), 0 6px 14px -4px rgba(2,6,14,.45);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .glass,.glass-bar{background:#131c2c}
  .glass-sheet{background:#161e2e}
}
@media (prefers-reduced-transparency: reduce){
  .glass,.glass-bar{background:#131c2c;-webkit-backdrop-filter:none;backdrop-filter:none}
  .glass-sheet{background:#161e2e;-webkit-backdrop-filter:none;backdrop-filter:none}
}
/* Android класса LOW (из User-Agent Telegram-Android) — стекло твёрдое целиком */
html.lowfx .glass,html.lowfx .glass-bar{background:#131c2c;-webkit-backdrop-filter:none;backdrop-filter:none}
html.lowfx .glass-sheet{background:#161e2e;-webkit-backdrop-filter:none;backdrop-filter:none}

/* стеклянные кнопки-кружки и капсулы в верхней строке (тап-зона 44) */
.topbar{position:absolute;left:0;right:0;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px 0}
.g-circle{width:44px;height:44px;border-radius:22px;display:flex;align-items:center;justify-content:center;color:var(--text);flex:none}
.g-circle .i{width:20px;height:20px}
.g-capsule{height:44px;border-radius:22px;display:flex;align-items:center;gap:8px;padding:0 15px 0 7px;font:600 14px/1 var(--f-ui);color:var(--text);white-space:nowrap}

/* ---------- плавающий таб-бар ----------
   В проде: position:fixed. В артборде — absolute к низу кадра, чтобы второй кадр (состояние) не перекрывался. */
.tabbar{position:absolute;left:12px;right:12px;max-width:420px;margin:0 auto;bottom:calc(8px + var(--sab));
  height:var(--tabbar-h);border-radius:32px;display:flex;padding:5px;z-index:40}
.tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:27px;color:var(--label);font:600 11px/1 var(--f-ui);white-space:nowrap}
.tab .i{width:24px;height:24px}
.tab.on{color:var(--text)}
.tab.on .i{color:var(--cyan)}
/* нижний отступ контента: таб-бар + 8 + safe area + 16 */
.pad-tabbar{height:calc(var(--tabbar-h) + 24px + var(--sab))}

/* ---------- слой 1: лист ---------- */
.sheet{position:relative;z-index:5;background:var(--sheet);border-radius:var(--r-sheet) var(--r-sheet) 0 0;
  box-shadow:0 -1px 0 rgba(255,255,255,.05), 0 -18px 40px -12px rgba(2,6,14,.6);padding:22px 16px 0}

.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:30px 2px 12px}
.sec-h h2{font-size:20px;line-height:1.2;letter-spacing:-.01em}
.sec-h a{font:500 14px/1 var(--f-ui);color:var(--cta);padding:12px 0;margin:-12px 0}

.group{background:var(--cell);border-radius:var(--r-card);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 10px 24px -14px rgba(0,0,0,.6)}
.row{display:flex;align-items:center;gap:12px;padding:12px 14px;position:relative;min-height:64px}
.row + .row:before{content:'';position:absolute;top:0;left:var(--sep,70px);right:0;height:1px;background:var(--hair)}
.row .grow{flex:1;min-width:0}
.row .t{font:600 16px/1.25 var(--f-ui);color:var(--text)}
.row .s{font:400 13.5px/1.35 var(--f-ui);color:var(--text2);margin-top:2px}
.chev{color:var(--muted);flex:none}
.chev .i{width:16px;height:16px}

/* глиф данных слева в строке (вместо цветного квадрата с иконкой) */
.glyph{width:44px;height:44px;border-radius:13px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--well);position:relative}

/* портрет: сплэш, обрезанный под лицо (фокус задаётся по герою) */
.pt{object-fit:cover;object-position:50% 28%;border-radius:var(--r-pt);background:var(--card);flex:none}

/* метки */
.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-chip);font:600 13px/1 var(--f-ui);background:rgba(231,235,242,.08);color:var(--text);white-space:nowrap}
.chip .i{width:14px;height:14px}
.chip.win{background:rgba(34,197,94,.16);color:var(--green)}
.chip.loss{background:rgba(239,68,68,.16);color:var(--coral)}
/* ★ янтарная — ТОЛЬКО авторство Свита */
.svit{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px 0 6px;border-radius:6px;background:rgba(251,191,36,.14);color:var(--amber);font:600 11.5px/1 var(--f-ui);white-space:nowrap}
.svit .i{width:11px;height:11px}
/* ✦ циановая — ТОЛЬКО «нет в клиенте Доты» */
.excl{display:inline-flex;align-items:center;gap:5px;font:600 12px/1 var(--f-ui);color:var(--cyan);white-space:nowrap}
.excl .i{width:11px;height:11px}
.live{width:8px;height:8px;border-radius:4px;background:var(--green);box-shadow:0 0 0 3px rgba(34,197,94,.2);flex:none}
.up{color:var(--green)} .down{color:var(--coral)}
.shift{display:inline-flex;align-items:center;gap:2px;font:600 12px/1 var(--f-ui);white-space:nowrap}
.shift .i{width:10px;height:10px}
.shift.flat{color:var(--text2);font-weight:500}

/* иконки ролей — маска по белому PNG, тинт цветом текста */
.role{width:15px;height:15px;flex:none;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}

/* кнопки */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border-radius:16px;font:600 16.5px/1 var(--f-ui);border:0;width:100%}
.btn .i{width:20px;height:20px}
.btn-primary{background:var(--cta);color:#06111f;box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 10px 22px -12px rgba(0,0,0,.7)}

/* подписи-капсом (вместо иконки-«искорки») */
.kick{display:flex;align-items:center;gap:8px;font:700 12px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase}
.kick .d{width:6px;height:6px;border-radius:3px;flex:none}

/* горизонтальная лента с прокруткой */
.hscroll{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hscroll::-webkit-scrollbar{display:none}

/* сноска */
.foot{margin:24px 2px 0;font:400 12px/1.4 var(--f-ui);color:var(--text2)}

/* индикатор «домой» в артборде — показывает, где safe area */
.homeind{position:absolute;left:50%;bottom:8px;width:134px;height:5px;margin-left:-67px;border-radius:3px;background:rgba(231,235,242,.55);z-index:45}

/* ---------- 18.10: эмодзи Telegram и спокойный знак «С» ----------
   Апп — эмодзи Telegram (design_v2/assets/emoji-anim). Сайт — Fluent Emoji 3D (Microsoft, MIT); пак Telegram на сайте не использовать: лицензия только для личного использования.
   Акцент, а не узор: один у заголовка секции или у входа, не на каждой строке. Глифы данных в строках остаются.
   В артборде — статичный кадр; в проде эмодзи проигрывается один раз (как AnimIco в app.html) и замирает. */
.emo{display:inline-block;width:24px;height:24px;flex:none;object-fit:contain;vertical-align:middle}
.emo-big{display:block;width:60px;height:60px;flex:none;object-fit:contain;
  -webkit-filter:drop-shadow(0 8px 16px rgba(2,6,14,.55));filter:drop-shadow(0 8px 16px rgba(2,6,14,.55))}
.sec-h{align-items:center}
.sec-h h2{display:flex;align-items:center;gap:9px}
.sec-h h2 .emo{width:26px;height:26px;margin:-3px 0}
.kick .emo{width:20px;height:20px;margin:-5px 0}
/* таб-бар: неактивные эмодзи приглушены, активный — в полный цвет на линзе */
.tab .te{display:block;width:28px;height:28px;object-fit:contain;opacity:.74;-webkit-filter:grayscale(.45);filter:grayscale(.45)}
.tab.on .te{opacity:1;-webkit-filter:none;filter:none}

/* знак Свита — твёрдая плашка, форма знака не меняется */
.mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:10px;
  background:linear-gradient(160deg,#232d44 0%,#141c2c 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 0 0 1px rgba(255,255,255,.06),0 4px 12px -4px rgba(2,6,14,.6)}
.mark svg{display:block;width:23px;height:23px}
.mark.lg{width:44px;height:44px;border-radius:13px}
.mark.lg svg{width:31px;height:31px}

/* фон-карта под шапкой: вид карты из клиента (mods/terrains) или арт героев, без размытия; читаемость держит .art-fade */
.bgimg{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover}

/* ============================================================
   «Иней» — оболочка сайта: шапка, подвал, знак, эмодзи, хлебные крошки, эмодзи раздела.
   Один файл на все страницы сайта (подключают web1/build_web1.js и site2/build_site2.js).
   frost.css не меняем: он общий с аппом.
   ============================================================ */
body{background:var(--bg)}
.site{position:relative;overflow:hidden;background:var(--bg)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;position:relative}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- эмодзи Fluent 3D: акцент, один на раздел ---------- */
.fe{display:block;flex:none;width:28px;height:28px;-webkit-user-select:none;user-select:none}
.fe-float,.fe.float{-webkit-animation:fe-float 5.5s ease-in-out infinite;animation:fe-float 5.5s ease-in-out infinite;-webkit-filter:drop-shadow(0 14px 18px rgba(2,6,14,.55));filter:drop-shadow(0 14px 18px rgba(2,6,14,.55))}
@-webkit-keyframes fe-float{0%,100%{-webkit-transform:translateY(0) rotate(0)}50%{-webkit-transform:translateY(-6px) rotate(-2deg)}}
@keyframes fe-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-2deg)}}
@media (prefers-reduced-motion: reduce){.fe-float,.fe.float{-webkit-animation:none;animation:none}}

/* ---------- знак «Свит» на плашке (форма знака не меняется) ---------- */
.mark-plate{width:38px;height:38px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#1c2538 0%,#121a29 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 0 0 1px rgba(255,255,255,.05),0 6px 14px -6px rgba(2,6,14,.6)}
.mark-plate .svit-mark{width:28px;height:28px;display:block}

/* ---------- шапка: стеклянная капсула (в проде position:fixed) ---------- */
.nav{position:absolute;left:16px;right:16px;top:16px;max-width:1200px;margin:0 auto;min-height:64px;border-radius:22px;display:flex;align-items:center;flex-wrap:wrap;padding:0 10px 0 12px;z-index:50}
.logo{display:flex;align-items:center;gap:10px;margin-right:20px;height:64px}
.logo b{font:600 20px/1 var(--f-display);letter-spacing:-.015em}
.links{display:flex;gap:2px}
.links a{font:500 15px/1 var(--f-ui);color:var(--label);height:44px;padding:0 13px 0 9px;border-radius:14px;display:flex;align-items:center;gap:7px;white-space:nowrap}
.links a .fe{width:22px;height:22px;-webkit-filter:none;filter:none}
.links a.on{color:var(--text)}
/* профиль — отдельная кнопка рядом с «Открыть в Telegram» */
.me-btn{margin-left:auto;display:flex;align-items:center;gap:7px;height:44px;padding:0 14px 0 11px;border-radius:14px;font:500 15px/1 var(--f-ui);color:var(--label);white-space:nowrap;
  background:rgba(231,235,242,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.me-btn .i{width:20px;height:20px}
.me-btn.on{color:var(--text)}
.nav .tg-btn{width:auto;height:44px;padding:0 18px 0 14px;font-size:15px;border-radius:14px;margin-left:8px}

/* ---------- хлебные крошки и эмодзи раздела: одинаково на всех страницах ---------- */
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font:500 14px/1 var(--f-ui);color:var(--label);text-shadow:0 1px 10px rgba(13,20,33,.8)}
.crumbs a{color:var(--label)}
.crumbs .i{width:12px;height:12px;color:var(--text2)}
.crumbs b{color:var(--text);font-weight:500}
/* эмодзи раздела: справа вверху шапки страницы; на телефоне — 58 px справа от крошек */
.h-emoji{position:absolute;right:24px;top:118px;width:132px;height:132px;z-index:3}

/* ---------- подвал ---------- */
.footer{border-top:1px solid var(--hair);padding:44px 0 40px;margin-top:40px;position:relative;z-index:2}
.f-top{display:flex;align-items:flex-start;gap:56px}
.f-brand{display:flex;align-items:center;gap:12px;width:280px;flex:none}
.f-brand b{display:block;font:600 17px/1.2 var(--f-display)}
.f-brand small{display:block;font:400 14px/1.3 var(--f-ui);color:var(--text2);margin-top:3px}
.f-col{display:flex;flex-direction:column;gap:12px;font:500 15px/1.2 var(--f-ui);color:var(--text2);min-width:120px}
.f-col a{color:var(--text2)}
.f-col b{font:700 12px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin-bottom:4px}
.f-cta{margin-left:auto;width:280px}
.f-cta p{font:400 14.5px/1.45 var(--f-ui);color:var(--text2)}
.f-cta .btn{margin-top:14px;height:48px;font-size:15px;border-radius:14px}
.f-legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--hair);font:400 13px/1.6 var(--f-ui);color:var(--text2)}

/* ---------- адаптив оболочки ---------- */
@media (max-width:1240px){
  .me-btn{width:44px;padding:0;justify-content:center}
  .me-btn span{display:none}
}
@media (max-width:1080px){
  .nav{padding:0 8px 6px 10px}
  .links{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-top:1px solid rgba(255,255,255,.06);padding-top:6px}
  .links::-webkit-scrollbar{display:none}
  /* ряд прокручивается — растушёвка с той стороны, где есть ещё разделы (классы ставит скрипт шапки) */
  .links.fr{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 80%,transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 80%,transparent 100%)}
  .links.fl{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 100%)}
  .links.fl.fr{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 80%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 80%,transparent 100%)}
  .logo{height:60px}
  .h-emoji{top:166px}
  .f-top{flex-wrap:wrap;gap:32px 48px}
  .f-cta{margin-left:0}
}
@media (max-width:760px){
  .wrap{padding:0 16px}
  .nav{left:10px;right:10px;top:10px;border-radius:20px}
  .logo{height:56px;margin-right:8px}
  .mark-plate{width:34px;height:34px;border-radius:11px}
  .mark-plate .svit-mark{width:25px;height:25px}
  .me-btn{width:40px;height:40px;border-radius:13px}
  .nav .tg-btn{height:40px;font-size:14px;padding:0 14px 0 12px;margin-left:6px}
  .links a{height:40px;font-size:14px;padding:0 11px 0 8px}
  .links a .fe{width:20px;height:20px}
  .h-emoji{width:58px;height:58px;right:16px;top:134px}
  .f-top{gap:28px 24px}
  .f-brand,.f-cta{width:100%}
  .f-col{min-width:0;flex:1 1 0}
  .f-col a{font-size:14.5px}
}
@media (max-width:370px){
  /* 04.11: подпись скрыта визуально, но остаётся доступным именем кнопки (аудит: пустое имя у экранного диктора) */
  .nav .tg-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav .tg-btn{width:40px;padding:0;justify-content:center}
}

/* 21.10: реквизиты продавца в подвале (оферта, п. 10) */
.f-req{margin-top:6px}
.f-req a{color:var(--text);text-decoration:none;box-shadow:inset 0 -1px 0 var(--border-hi)}
/* блок «О герое» базовой страницы героя и места серверного рендера (генерирует site/build.py: hero_page, tpl_body) */
.hp-sum{margin-top:20px}
.hp-sum .hp-lead{margin-top:12px;font-size:15px;line-height:1.5;color:var(--text)}
.hp-sum .hp-alt{margin-top:8px;font-size:14px;line-height:1.5;color:var(--text2)}
.hp-det{margin-top:14px;padding-top:12px;border-top:1px solid var(--hair)}
.hp-det summary{cursor:pointer;padding:7px 0;font:600 15px/1.3 var(--f-ui);color:var(--text)}
.hp-det summary:focus-visible{outline:2px solid var(--cta);outline-offset:2px;border-radius:8px}
.hp-ab{margin-top:12px}
.hp-ab .bb-h b{font:600 15px/1.3 var(--f-ui);color:var(--text)}
.hp-ab .bb-h small{font:600 12.5px/1 var(--f-ui);color:var(--text2)}
.hp-ab .cap{margin-top:4px}
.hp-src{margin-top:14px}
.tp-sum:empty{display:none}
.nw-meta{margin-top:14px}
