/* =============================================================================
   1xSLOTS RU — брендовый скин темы gmb-univ-multi-v2-1xslots.
   Подключается СТРОГО ПОСЛЕ /css/sfb-design.css (перекрывает :root).

   Идея от слова «slots» — барабаны. Отсюда графитовая база,
   тёплый оранжевый акцент и фиолетовый вторичный; три барабана-
   катушки в обложке, лестница бонусов ступенями, сетка глав плитками.

   Namespace — oxs-* (проверен: в базе 0 совпадений). База светлая, скин
   переводит её в тёмную через токены, поэтому компонентам sfb-* внутри
   .oxs-prose нужны точечные перекраски — см. §09.

     00  Токены (:root)
     01  База, обёртка, кнопки
     02  Хедер
     03  Обложка + барабаны
     04  Секции, заголовки
     05  Лестница бонусов
     06  Метрики, индекс каталога, платежи
     07  Лонгрид морды + FAQ
     08  Мобильное меню (zero-JS)
     09  Внутренние страницы (oxs-page) + перекраска .sfb-*
     10  YMYL, раскрытие, related
     11  Футер
     12  Адаптив
   ============================================================================= */


/* =============================================================================
   00 · ТОКЕНЫ
   ============================================================================= */
:root {
  --accent:      #8B5CF6;
  --accent-ink:  #A78BFA;
  --accent-tint: #1E1B33;
  --cta:         #FF6B1A;
  --cta-ink:     #FF8A3D;
  --success:     #2BD07C;
  --success-tint:#11251C;
  --success-bd:  #1E4633;
  --warn:        #FFB020;
  --warn-tint:   #2A2113;
  --danger:      #FF5A5A;

  --ink:         #F2F4FA;
  --body:        #C6CBDA;
  --reading:     #C9CEDD;
  --muted:       #8A90A6;
  --muted-2:     #6E7489;

  --surface:     #171926;
  --surface-2:   #1D2030;
  --border:      #262A3B;
  --border-soft: #1F2333;

  --dark:        #111219;
  --dark-2:      #0B0C12;
  --dark-hover:  #1D2030;
  --dark-muted:  #9AA1B6;
  --dark-faint:  #767D93;
  --page-bg:     #0E0F16;
  --star:        #FFB020;

  --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --sh-cta:   0 6px 18px rgba(255,107,26,.30);
  --sh-card:  0 10px 30px rgba(0,0,0,.42);
  --sh-offer: 0 8px 22px rgba(255,107,26,.14);
  --sh-panel: 0 24px 50px rgba(0,0,0,.55);
  --sh-dark:  0 10px 26px rgba(0,0,0,.5);

  /* --- собственные токены бренда --- */
  --oxs-head:   'Unbounded', 'Inter', system-ui, sans-serif;
  --oxs-mul:    #FF6B1A;              /* основной акцент (барабаны, CTA)    */
  --oxs-mul-2:  #FF8A3D;
  --oxs-vio:    #8B5CF6;
  --oxs-vio-2:  #A78BFA;
  --oxs-line:   #262A3B;
  --oxs-plate:  #171926;
  --oxs-plate-2:#1D2030;
  --oxs-wrap:   1180px;
  --oxs-r:      14px;
}


/* =============================================================================
   01 · БАЗА, ОБЁРТКА, КНОПКИ
   ============================================================================= */
.sfb-body { background: var(--page-bg); color: var(--body); }

.oxs { font-family: var(--font-body); color: var(--body); }
.oxs-wrap { max-width: var(--oxs-wrap); margin: 0 auto; padding: 0 22px; }

.oxs h1, .oxs h2, .oxs h3, .oxs h4 { font-family: var(--oxs-head); color: var(--ink); letter-spacing: -.02em; }
/* Общий цвет ссылки — специфичность (0,1,1). Компоненты, у которых свой цвет,
   обязаны весить БОЛЬШЕ: одного класса (0,1,0) не хватает, нужен либо два класса,
   либо класс+элемент. Поймано на скриншоте: текст на оранжевой кнопке был светло-
   фиолетовым, потому что «.oxs-btn» (0,1,0) проигрывал этому правилу.
   Вариант «.oxs a:not([class])» не годится — :not([class]) добавляет вес
   атрибутного селектора, правило становится (0,2,1) и начинает перебивать
   «.oxs-nav a» и «.oxs-crumbs a». Поэтому поднимаем компоненты, а не это правило. */
.oxs a { color: var(--oxs-vio-2); }

.oxs .oxs-btn, a.oxs-btn, .oxs-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 20px; border-radius: 10px;
  /* ⚠️ НЕ сокращать в один background с градиентом. Сплошной background-color
     нужен по двум причинам: фолбэк, если градиент не отрисуется, и — главное —
     проверяльщик контраста (check_rendered_contrast) градиент не разрешает,
     берёт фон РОДИТЕЛЯ и рапортует ложные 1.01:1 на тёмном тексте кнопки. */
  background-color: var(--oxs-mul);
  background-image: linear-gradient(135deg, var(--oxs-mul-2), var(--oxs-mul));
  color: #12131A; font-weight: 700; font-size: 14.5px; line-height: 1;
  text-decoration: none; border: 0; box-shadow: var(--sh-cta);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.oxs .oxs-btn:hover, a.oxs-btn:hover { transform: translateY(-1px); filter: brightness(1.06); color: #12131A; }
.oxs-btn:active { transform: translateY(0); }
.oxs-btn.sm { padding: 8px 14px; font-size: 13px; border-radius: 8px; }
.oxs-btn.lg { padding: 15px 28px; font-size: 16px; border-radius: 12px; }
.oxs .oxs-btn.ghost, a.oxs-btn.ghost {
  background: transparent; color: var(--ink);
  border: 1px solid var(--oxs-line); box-shadow: none;
}
.oxs-btn.ghost:hover { border-color: var(--oxs-vio); color: var(--ink); background: rgba(139,92,246,.08); }


/* =============================================================================
   02 · ХЕДЕР
   ============================================================================= */
.oxs-top {
  position: sticky; top: 0; z-index: 40;
  background: rgba(17,18,25,.94); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--oxs-line);
}
.oxs-top .oxs-wrap { display: flex; align-items: center; gap: 20px; min-height: 68px; }
.oxs-brand { display: inline-flex; flex: 0 0 auto; }
.oxs-logo { display: block; height: 38px; width: auto; }

.oxs-nav { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 4px 14px; }
.oxs-nav a {
  color: var(--dark-muted); text-decoration: none; font-size: 13.6px; font-weight: 500;
  padding: 7px 9px; border-radius: 8px; white-space: nowrap;
  transition: color .14s ease, background .14s ease;
}
.oxs-nav a:hover { color: var(--ink); background: var(--dark-hover); }
.oxs-top .oxs-btn { flex: 0 0 auto; }


/* =============================================================================
   03 · ОБЛОЖКА + БАРАБАНЫ
   ============================================================================= */
.oxs-cover {
  background:
    radial-gradient(900px 420px at 12% -10%, rgba(255,107,26,.14), transparent 60%),
    radial-gradient(760px 380px at 88% 0%, rgba(139,92,246,.16), transparent 62%),
    var(--dark);
  border-bottom: 1px solid var(--oxs-line);
}
.oxs-cover .oxs-wrap {
  display: grid; grid-template-columns: 1.4fr .95fr; gap: 46px;
  align-items: center; padding-top: 58px; padding-bottom: 58px;
}
/* min-width:0 обязателен: без него длинное слово в H1 распирает грид-колонку */
.oxs-cover-tx { min-width: 0; }
.oxs-kick {
  display: inline-block; margin-bottom: 14px; padding: 5px 11px; border-radius: 999px;
  background: var(--accent-tint); border: 1px solid rgba(139,92,246,.34);
  color: var(--oxs-vio-2); font-size: 11.6px; font-weight: 600;
  letter-spacing: .09em; text-transform: uppercase;
}
.oxs-cover h1 { margin: 0 0 14px; font-size: clamp(28px, 4vw, 44px); line-height: 1.13; font-weight: 700; }
.oxs-sub { margin: 0 0 24px; font-size: 16.5px; line-height: 1.66; color: var(--body); max-width: 62ch; }
.oxs-cover-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.oxs-cover-note { margin: 0; font-size: 12.2px; color: var(--muted-2); line-height: 1.6; }

.oxs-promo {
  display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px;
  padding: 9px 14px; border-radius: 10px;
  background: var(--oxs-plate); border: 1px dashed rgba(255,107,26,.5);
}
.oxs-promo .k { font-size: 11.4px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.oxs-promo .v {
  font-family: var(--font-mono); font-size: 15px; font-weight: 700;
  color: var(--oxs-mul-2); text-decoration: none; letter-spacing: .06em;
}
.oxs-promo .v:hover { text-decoration: underline; }

/* барабаны — три катушки */
.oxs-reels { display: grid; gap: 12px; }
.oxs-reel {
  position: relative; display: grid; gap: 3px;
  padding: 18px 20px 16px; border-radius: var(--oxs-r);
  background: linear-gradient(180deg, var(--oxs-plate-2), var(--oxs-plate));
  border: 1px solid var(--oxs-line); overflow: hidden;
}
.oxs-reel::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: linear-gradient(180deg, var(--oxs-mul-2), var(--oxs-vio));
}
.oxs-reel .k { font-size: 11.6px; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.oxs-reel .v { font-family: var(--oxs-head); font-size: 34px; font-weight: 700; line-height: 1.05; color: var(--ink); }
.oxs-reel .s { font-size: 13px; color: var(--muted); }
.oxs-reel-note { font-size: 11.8px; color: var(--muted-2); line-height: 1.55; padding: 0 4px; }


/* =============================================================================
   04 · СЕКЦИИ, ЗАГОЛОВКИ
   ============================================================================= */
.oxs-sec { padding: 58px 0; }
.oxs-sec.tint { background: var(--dark); border-block: 1px solid var(--oxs-line); }

.oxs-eyebrow {
  font-size: 11.6px; letter-spacing: .13em; text-transform: uppercase;
  color: var(--oxs-mul-2); font-weight: 700; margin-bottom: 10px;
}
.oxs-h2 { margin: 0 0 12px; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.2; font-weight: 700; }
.oxs-intro { margin: 0 0 30px; font-size: 15.6px; line-height: 1.7; color: var(--body); max-width: 78ch; }


/* =============================================================================
   05 · ЛЕСТНИЦА БОНУСОВ
   ============================================================================= */
.oxs-ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: none; }
.oxs-step {
  position: relative; padding: 22px 96px 20px 24px; border-radius: var(--oxs-r);
  background: var(--oxs-plate); border: 1px solid var(--oxs-line);
  transition: border-color .16s ease, transform .16s ease;
}
.oxs-step:hover { border-color: rgba(255,107,26,.42); transform: translateX(3px); }
/* смещение ступеней — «лестница» */
.oxs-step:nth-child(2) { margin-left: 22px; }
.oxs-step:nth-child(3) { margin-left: 44px; }
.oxs-step:nth-child(4) { margin-left: 66px; }
.oxs-step:nth-child(n+5) { margin-left: 66px; }

.oxs-step-hd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; margin-bottom: 8px; }
.oxs-step-hd h3 { margin: 0; font-size: 18px; font-weight: 700; }
.oxs-step-hd .amt {
  font-family: var(--font-mono); font-size: 14px; font-weight: 700;
  color: var(--oxs-mul-2); padding: 3px 9px; border-radius: 999px;
  background: rgba(255,107,26,.1); border: 1px solid rgba(255,107,26,.3);
}
.oxs-step p { margin: 0 0 14px; font-size: 14.6px; line-height: 1.68; color: var(--body); }
.oxs-step-ft { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.oxs-step .tags { display: flex; flex-wrap: wrap; gap: 6px; }
.oxs-step .tags span {
  font-size: 11.6px; padding: 4px 9px; border-radius: 6px;
  background: var(--oxs-plate-2); border: 1px solid var(--oxs-line); color: var(--muted);
}
.oxs-step .no {
  position: absolute; right: 20px; top: 18px;
  font-family: var(--oxs-head); font-size: 40px; font-weight: 700; line-height: 1;
  color: transparent; -webkit-text-stroke: 1.5px rgba(139,92,246,.42);
}


/* =============================================================================
   06 · МЕТРИКИ, ИНДЕКС КАТАЛОГА, ПЛАТЕЖИ
   ============================================================================= */
.oxs-gauges { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--oxs-line);
  border: 1px solid var(--oxs-line); border-radius: var(--oxs-r); overflow: hidden; }
.oxs-gauge { background: var(--oxs-plate); padding: 24px 20px; display: grid; gap: 4px; text-align: center; }
.oxs-gauge b { font-family: var(--oxs-head); font-size: 30px; font-weight: 700; color: var(--oxs-mul-2); line-height: 1.05; }
.oxs-gauge span { font-size: 12.6px; color: var(--muted); }

.oxs-index { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--oxs-line);
  border: 1px solid var(--oxs-line); border-radius: var(--oxs-r); overflow: hidden; }
.oxs-idx { background: var(--oxs-plate); display: flex; gap: 16px; padding: 20px 22px; }
.oxs-idx .ix {
  flex: 0 0 auto; font-family: var(--oxs-head); font-size: 13px; font-weight: 700;
  color: var(--oxs-vio-2); padding-top: 2px;
}
.oxs-idx b { display: block; font-size: 15.6px; color: var(--ink); margin-bottom: 4px; }
.oxs-idx span { font-size: 13.6px; line-height: 1.62; color: var(--muted); }

.oxs-ops { display: grid; grid-template-columns: 1.05fr 1fr; gap: 26px; align-items: start; }

.oxs-pay { margin: 0; border: 1px solid var(--oxs-line); border-radius: var(--oxs-r); overflow: hidden; }
.oxs-payrow { display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 15px 20px; background: var(--oxs-plate); border-bottom: 1px solid var(--oxs-line); }
.oxs-payrow:last-child { border-bottom: 0; }
.oxs-payrow dt { margin: 0; font-size: 14.6px; font-weight: 600; color: var(--ink); }
.oxs-payrow dd { margin: 0; display: flex; align-items: center; gap: 10px; }
.oxs-payrow .typ { font-size: 12.6px; color: var(--muted); }
.oxs-payrow .dur {
  font-family: var(--font-mono); font-size: 12.4px; font-weight: 600; color: var(--oxs-mul-2);
  padding: 3px 9px; border-radius: 999px; background: rgba(255,107,26,.1);
  border: 1px solid rgba(255,107,26,.28); white-space: nowrap;
}

.oxs-notes { list-style: none; margin: 0; padding: 0; counter-reset: n; display: grid; gap: 12px; }
.oxs-notes li { counter-increment: n; position: relative; padding-left: 44px; }
.oxs-notes li::before {
  content: counter(n, decimal-leading-zero); position: absolute; left: 0; top: 1px;
  font-family: var(--oxs-head); font-size: 13px; font-weight: 700; color: var(--oxs-vio-2);
  width: 32px; height: 32px; display: grid; place-items: center;
  border: 1px solid var(--oxs-line); border-radius: 9px; background: var(--oxs-plate);
}
.oxs-notes b { display: block; font-size: 14.6px; color: var(--ink); margin-bottom: 3px; }
.oxs-notes span { font-size: 13.6px; line-height: 1.64; color: var(--muted); }


/* =============================================================================
   07 · ЛОНГРИД МОРДЫ + FAQ
   ============================================================================= */
.oxs-artimeta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 20px; }
.oxs-by { display: inline-flex; align-items: center; gap: 9px; font-size: 13.4px; color: var(--muted); }
.oxs-by .av {
  width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--oxs-vio), var(--oxs-mul));
  color: #12131A; font-weight: 700; font-size: 13px; font-family: var(--oxs-head);
}
.oxs-by b { color: var(--ink); font-weight: 600; }

/* тело статьи на МОРДЕ: та же типографика, что у внутренних (класс oxs-prose
   идёт рядом), но своя мера — морда шире внутренней страницы */
.oxs-longread { max-width: 100%; }
.oxs-longread > :first-child { margin-top: 0; }

.oxs-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.oxs-faq details {
  background: var(--oxs-plate); border: 1px solid var(--oxs-line);
  border-radius: 11px; padding: 0; overflow: hidden;
}
.oxs-faq summary {
  cursor: pointer; list-style: none; padding: 15px 18px;
  font-size: 14.8px; font-weight: 600; color: var(--ink);
  display: flex; align-items: flex-start; gap: 10px;
}
.oxs-faq summary::-webkit-details-marker { display: none; }
.oxs-faq summary::before { content: "+"; flex: 0 0 auto; color: var(--oxs-mul-2); font-weight: 700; line-height: 1.35; }
.oxs-faq details[open] summary::before { content: "−"; }
.oxs-faq details[open] summary { border-bottom: 1px solid var(--oxs-line); }
.oxs-faq p { margin: 0; padding: 14px 18px 16px; font-size: 14.2px; line-height: 1.7; color: var(--body); }


/* =============================================================================
   08 · МОБИЛЬНОЕ МЕНЮ (zero-JS: скрытый checkbox + label)
   ============================================================================= */
.oxs-burger-l { display: none; }

@media (max-width: 900px) {
  .oxs-burger-l {
    display: inline-flex; align-items: center; justify-content: center;
    order: 3; margin-left: auto; width: 42px; height: 42px; cursor: pointer;
    border: 1px solid var(--oxs-line); border-radius: 10px; background: var(--oxs-plate);
  }
  .oxs-burger-l span, .oxs-burger-l span::before, .oxs-burger-l span::after {
    content: ""; display: block; width: 18px; height: 2px; border-radius: 2px;
    background: var(--ink); position: relative;
  }
  .oxs-burger-l span::before { position: absolute; top: -6px; }
  .oxs-burger-l span::after  { position: absolute; top: 6px; }

  .oxs-top .oxs-wrap { flex-wrap: wrap; }
  .oxs-top .oxs-btn { order: 2; }
  .oxs-nav {
    order: 4; display: none; width: 100%; flex-direction: column; align-items: stretch;
    gap: 0; margin: 0 -22px; padding: 6px 22px 14px;
    /* панель НЕПРОЗРАЧНАЯ — под ней контент страницы */
    background: var(--oxs-plate); border-top: 1px solid var(--oxs-line);
    max-height: 72vh; overflow-y: auto;
  }
  .oxs-burger:checked ~ .oxs-nav { display: flex; }
  .oxs-nav a { padding: 12px 6px; border-bottom: 1px solid var(--border-soft); border-radius: 0; font-size: 15px; }
  .oxs-nav a:last-child { border-bottom: 0; }
}


/* =============================================================================
   09 · ВНУТРЕННИЕ СТРАНИЦЫ + ПЕРЕКРАСКА .sfb-*
   ============================================================================= */
.oxs-page { background: var(--page-bg); }

.oxs-artihead {
  background:
    radial-gradient(700px 320px at 8% -20%, rgba(139,92,246,.16), transparent 60%),
    var(--dark);
  border-bottom: 1px solid var(--oxs-line);
  padding: 34px 0 30px;
}
.oxs-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 16px; font-size: 12.6px; }
.oxs-crumbs a { color: var(--muted); text-decoration: none; }
.oxs-crumbs a:hover { color: var(--oxs-vio-2); }
.oxs-crumbs .sep { color: var(--muted-2); }
.oxs-crumbs .cur { color: var(--ink); }

.oxs-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.oxs-chip {
  font-size: 11.8px; padding: 4px 10px; border-radius: 999px;
  background: var(--oxs-plate); border: 1px solid var(--oxs-line); color: var(--muted);
}
.oxs-chip.ok { color: var(--success); border-color: var(--success-bd); background: var(--success-tint); }
.oxs-chip.age { color: var(--warn); border-color: rgba(255,176,32,.34); background: var(--warn-tint); font-weight: 700; }

.oxs-artihead h1 { margin: 0 0 12px; font-size: clamp(25px, 3.4vw, 38px); line-height: 1.16; font-weight: 700; }
.oxs-artilead { margin: 0 0 18px; font-size: 16px; line-height: 1.68; color: var(--body); max-width: 74ch; }

.oxs-offerline {
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
  margin-top: 20px; padding: 16px 20px; border-radius: var(--oxs-r);
  background: var(--oxs-plate); border: 1px solid var(--oxs-line); box-shadow: var(--sh-offer);
}
.oxs-offerline .tx { display: grid; gap: 3px; flex: 1 1 320px; }
.oxs-offerline .k { font-size: 11.2px; letter-spacing: .1em; text-transform: uppercase; color: var(--oxs-mul-2); font-weight: 700; }
.oxs-offerline .t { font-size: 15.4px; font-weight: 600; color: var(--ink); }
.oxs-offerline .m { font-size: 12.4px; color: var(--muted); }
.oxs-offerline .code { display: grid; gap: 3px; }
.oxs-offerline .code .k { color: var(--muted); }
.oxs-offerline .code a {
  font-family: var(--font-mono); font-size: 14.6px; font-weight: 700; letter-spacing: .06em;
  color: var(--oxs-mul-2); text-decoration: none; padding: 5px 12px; border-radius: 8px;
  background: rgba(255,107,26,.1); border: 1px dashed rgba(255,107,26,.5);
}

/* сетка глав — плитки (не боковой рельс базы, не горизонтальная лента) */
.oxs-chapters { padding: 22px 0 4px; }
.oxs-chapters .lbl {
  display: block; margin-bottom: 12px; font-size: 11.4px; letter-spacing: .13em;
  text-transform: uppercase; color: var(--muted); font-weight: 700;
}
.oxs-chapters .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 8px; }
.oxs-chapters .grid a {
  display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px;
  border-radius: 10px; background: var(--oxs-plate); border: 1px solid var(--oxs-line);
  color: var(--body); text-decoration: none; font-size: 13.8px; line-height: 1.45;
  transition: border-color .15s ease, color .15s ease;
}
.oxs-chapters .grid a:hover { border-color: rgba(139,92,246,.5); color: var(--ink); }
.oxs-chapters .grid .n { flex: 0 0 auto; font-family: var(--oxs-head); font-size: 11.6px; font-weight: 700; color: var(--oxs-vio-2); padding-top: 2px; }

.oxs-body { padding: 26px 0 60px; }
.oxs-prose { max-width: 860px; font-size: 16px; line-height: 1.78; color: var(--reading); }
.oxs-prose h2 {
  margin: 1.9em 0 .55em; font-size: clamp(20px, 2.3vw, 26px); line-height: 1.24; scroll-margin-top: 84px;
  padding-left: 14px; border-left: 3px solid var(--oxs-mul);
}
.oxs-prose h3 { margin: 1.5em 0 .45em; font-size: 18.4px; line-height: 1.3; }
.oxs-prose p { margin: 0 0 1.05em; }
.oxs-prose a { color: var(--oxs-vio-2); text-decoration: underline; text-underline-offset: 2px; }
.oxs-prose ul, .oxs-prose ol { margin: 0 0 1.1em; padding-left: 22px; }
.oxs-prose li { margin: .34em 0; }
.oxs-prose strong { color: var(--ink); }
.oxs-prose blockquote {
  margin: 1.3em 0; padding: 14px 18px; border-left: 3px solid var(--oxs-vio);
  background: var(--oxs-plate); border-radius: 0 10px 10px 0; color: var(--body);
}
.oxs-prose table { width: 100%; border-collapse: collapse; margin: 1.3em 0; font-size: 14.4px; }
.oxs-prose th, .oxs-prose td { border: 1px solid var(--oxs-line); padding: 10px 13px; text-align: left; vertical-align: top; }
.oxs-prose th { background: var(--oxs-plate-2); color: var(--ink); font-weight: 700; }
.oxs-prose tr:nth-child(even) td { background: rgba(255,255,255,.015); }
.oxs-prose img { max-width: 100%; height: auto; border-radius: 10px; }
.oxs-prose code {
  font-family: var(--font-mono); font-size: .9em; padding: 2px 6px; border-radius: 5px;
  background: var(--oxs-plate-2); border: 1px solid var(--oxs-line); color: var(--oxs-mul-2);
}

/* --- inline pipeline-блоки .sfb-* и легаси-блоки внутри статьи ------------
   База — светлая тема, у 19 её правил фон зашит как #fff литералом, не токеном.
   Внутри .Content конвейер вставляет эти блоки, и на графитовом фоне они дают
   белые прямоугольники. Поймано гейтом check_rendered_contrast: инородные
   <details>, .sfb-game, .sfb-feat. Перекрываем ВСЕ, что может прийти в текст,
   а не только те, что попались в моке. Префикс .oxs-prose бьёт специфичность.
   Список сверен с grep по 'background: #fff' в sfb-design.css. --- */
.oxs-prose .sfb-slots,
.oxs-prose .sfb-slot,
.oxs-prose .sfb-card,
.oxs-prose .sfb-faq,
.oxs-prose .sfb-faq details,
.oxs-prose .sfb-feat,
.oxs-prose .sfb-game,
.oxs-prose .sfb-steps li,
.oxs-prose .sfb-bonus,
.oxs-prose .sfb-safety,
.oxs-prose .sfb-license,
.oxs-prose .sfb-compare,
.oxs-prose .sfb-contact__card,
.oxs-prose .sfb-author,
.oxs-prose .sfb-logos__chip,
.oxs-prose .sfb-toc,
.oxs-prose .sfb-bc,
.oxs-prose .feature,
.oxs-prose .gamecard,
.oxs-prose .gamecard_demo {
  background: var(--oxs-plate); border-color: var(--oxs-line); color: var(--body);
}
.oxs-prose .sfb-compare td.is-pick { background: var(--oxs-plate-2); }
.oxs-prose .sfb-safety__gauge-inner { background: var(--oxs-plate-2); }

/* заголовки и подписи внутри перекрашенных блоков */
.oxs-prose .sfb-slot b,
.oxs-prose .sfb-card b,
.oxs-prose .sfb-faq b,
.oxs-prose .sfb-faq summary,
.oxs-prose .sfb-feat__title,
.oxs-prose .sfb-game__title,
.oxs-prose .sfb-steps li,
.oxs-prose .feature h3,
.oxs-prose .gamecard b { color: var(--ink); }
.oxs-prose .sfb-feat__desc,
.oxs-prose .sfb-game__meta,
.oxs-prose .sfb-faq p,
.oxs-prose .feature p { color: var(--muted); }
.oxs-prose .sfb-game__amt { color: var(--oxs-mul-2); }
.oxs-prose .sfb-steps__n { background: var(--accent-tint); color: var(--oxs-vio-2); }

/* ⚠️ кнопки внутри .Content. У базовых правил один класс (0,1,0), а «.oxs a»
   весит (0,1,1) и перекрашивал их текст в фиолетовый на оранжевом фоне —
   контраст 1.05:1, поймано гейтом на «Играть →». Селекторы ниже весят (0,2,0). */
.oxs-prose .sfb-game__btn,
.oxs-prose .sfb-cta .button1,
.oxs-prose .sfb-cta__btn {
  background: var(--oxs-mul); background-color: var(--oxs-mul);
  color: #12131A; font-weight: 700; text-decoration: none; border: 0;
}
.oxs-prose .sfb-game__btn:hover,
.oxs-prose .sfb-cta .button1:hover,
.oxs-prose .sfb-cta__btn:hover { filter: brightness(1.06); color: #12131A; }

.oxs-prose .sfb-cta {
  background: linear-gradient(135deg, rgba(255,107,26,.14), rgba(139,92,246,.14));
  background-color: var(--oxs-plate);
  border: 1px solid rgba(255,107,26,.36); border-radius: 12px; color: var(--body);
}
.oxs-prose .sfb-cta__title { color: var(--ink); }
.oxs-prose .sfb-cta__note, .oxs-prose .sfb-cta__sub { color: var(--muted); }
.oxs-prose .sfb-rg { border-color: rgba(255,176,32,.34); background: var(--warn-tint); }
.oxs-prose .sfb-table th { background: var(--oxs-plate-2); color: var(--ink); }
.oxs-prose .sfb-table td, .oxs-prose .sfb-table th { border-color: var(--oxs-line); }

/* pipeline main-N блоки */
.oxs-block { margin: 1.6em 0; }
.oxs-block-tx > :first-child { margin-top: 0; }
.oxs-block-tx > :last-child { margin-bottom: 0; }
.oxs-block-cta { margin-top: 12px; }


/* =============================================================================
   10 · YMYL, РАСКРЫТИЕ, RELATED
   ============================================================================= */
.b18 {
  display: inline-grid; place-items: center; flex: 0 0 auto;
  min-width: 38px; height: 24px; padding: 0 8px; border-radius: 6px;
  background: var(--warn); color: #12131A; font-weight: 800; font-size: 12.4px;
  font-family: var(--oxs-head); letter-spacing: -.02em;
}

.oxs-rg {
  padding: 26px 28px; border-radius: var(--oxs-r);
  background: var(--oxs-plate); border: 1px solid rgba(255,176,32,.28);
}
.oxs-rg h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 20px; }
.oxs-rg p { margin: 0 0 16px; font-size: 14.8px; line-height: 1.72; color: var(--body); }
.oxs-rg .tools { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.oxs-rg .tool { padding: 14px 16px; border-radius: 10px; background: var(--oxs-plate-2); border: 1px solid var(--oxs-line); }
.oxs-rg .tool b { display: block; font-size: 14px; color: var(--ink); margin-bottom: 4px; }
.oxs-rg .tool span { font-size: 12.8px; line-height: 1.58; color: var(--muted); }
.oxs-rg .help { margin: 0; font-size: 13.4px; color: var(--muted); }

.oxs-rgline {
  display: flex; align-items: flex-start; gap: 14px; margin: 34px 0 0;
  padding: 16px 20px; border-radius: 11px;
  background: var(--warn-tint); border: 1px solid rgba(255,176,32,.28);
}
.oxs-rgline p { margin: 0; font-size: 13.6px; line-height: 1.66; color: var(--body); }
.oxs-rgline b { color: var(--ink); }

.oxs-disclosure {
  display: flex; align-items: flex-start; gap: 9px; margin: 16px 0 0;
  font-size: 12.6px; line-height: 1.62; color: var(--muted-2);
}

.oxs-related { margin-top: 34px; }
.oxs-related__h {
  font-size: 11.6px; letter-spacing: .13em; text-transform: uppercase;
  color: var(--muted); font-weight: 700; margin-bottom: 12px;
}
.oxs .oxs-rrow, a.oxs-rrow {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 13px 18px; margin-bottom: 8px; border-radius: 10px;
  background: var(--oxs-plate); border: 1px solid var(--oxs-line);
  color: var(--body); text-decoration: none; transition: border-color .15s ease;
}
.oxs-rrow:hover { border-color: rgba(139,92,246,.5); }
.oxs-rrow .t { font-size: 14.6px; color: var(--ink); }
.oxs-rrow .tag { font-size: 11.6px; color: var(--muted); padding: 3px 9px; border-radius: 999px;
  background: var(--oxs-plate-2); border: 1px solid var(--oxs-line); white-space: nowrap; }


/* =============================================================================
   11 · ФУТЕР
   ============================================================================= */
.oxs-agebar { background: var(--dark); border-top: 1px solid var(--oxs-line); }
.oxs-agebar .oxs-wrap {
  display: flex; align-items: flex-start; gap: 14px; padding-top: 16px; padding-bottom: 16px;
  font-size: 12.8px; line-height: 1.62; color: var(--muted);
}
.oxs-agebar a { color: var(--oxs-vio-2); }

.oxs-foot { background: var(--dark-2); border-top: 1px solid var(--oxs-line); padding: 40px 0 28px; }
.oxs-foot .cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 30px; margin-bottom: 28px; }
.oxs-foot .logo { display: block; height: 36px; width: auto; margin-bottom: 12px; }
.oxs-foot p { margin: 0; font-size: 13.2px; line-height: 1.66; color: var(--muted); max-width: 42ch; }
.oxs-foot .fh {
  font-size: 11.6px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink); font-weight: 700; margin-bottom: 11px;
}
.oxs-foot .cols a {
  display: block; font-size: 13.4px; color: var(--muted); text-decoration: none;
  padding: 4px 0; transition: color .14s ease;
}
.oxs-foot .cols a:hover { color: var(--oxs-vio-2); }
.oxs-foot .fine {
  padding-top: 20px; border-top: 1px solid var(--oxs-line);
  font-size: 12px; line-height: 1.64; color: var(--muted-2);
}


/* =============================================================================
   12 · АДАПТИВ
   ============================================================================= */
@media (max-width: 1040px) {
  .oxs-cover .oxs-wrap { grid-template-columns: 1fr; gap: 32px; }
  .oxs-ops { grid-template-columns: 1fr; }
  .oxs-gauges { grid-template-columns: repeat(2, 1fr); }
  .oxs-rg .tools { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  .oxs-sec { padding: 42px 0; }
  .oxs-index { grid-template-columns: 1fr; }
  .oxs-faq { grid-template-columns: 1fr; }
  .oxs-foot .cols { grid-template-columns: 1fr 1fr; }
  /* лестница выпрямляется — на узком экране смещение только мешает */
  .oxs-step, .oxs-step:nth-child(n) { margin-left: 0; padding-right: 24px; }
  .oxs-step .no { position: static; display: block; margin-bottom: 6px; font-size: 26px; }
  .oxs-prose { font-size: 15.4px; }
}

@media (max-width: 560px) {
  .oxs-wrap { padding: 0 16px; }
  .oxs-gauges { grid-template-columns: 1fr 1fr; }
  .oxs-rg { padding: 20px 18px; }
  .oxs-rg .tools { grid-template-columns: 1fr; }
  .oxs-foot .cols { grid-template-columns: 1fr; }
  .oxs-payrow { flex-direction: column; align-items: flex-start; gap: 7px; }
  .oxs-offerline { flex-direction: column; align-items: stretch; }
  .oxs-offerline .oxs-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .oxs-btn, .oxs-step, .oxs-rrow, .oxs-chapters .grid a { transition: none; }
  .oxs-btn:hover, .oxs-step:hover { transform: none; }
}
