/* happ-key.lol — тема «комикс без мифов».

   Предметный мир сайта — выпуск комикса про ключ: панели с жирным контуром
   и жёсткой тенью, полутоновые точки, облачка реплик, подписи рассказчика
   в жёлтых плашках, звукоподражания во «взрывах». Миф живёт на лицевой
   стороне панели, правда — на обороте, и бирюзовый у сайта означает ровно
   одно: «правда» (штамп, ссылки, касса).

   Цвета — три: жёлтый, чёрный и один бирюзовый. Тёмная схема — «ночной
   выпуск»: чёрные страницы, жёлтая печать, контуры тем же жёлтым.

   Типографика:
     Amatic SC 700 — заголовки, реплики в облачках, крупные числа. Узкий
       рукописный капитель: не меньше 26 px, иначе штрих теряется;
     Pangolin — весь текст: рукописный по характеру, но печатный по форме,
       крупный кегль (18–19 px) и свободный интерлиньяж. Жирного начертания
       у него нет, поэтому **выделение** — маркером, а не фальшивым полужирным;
     системный моноширинный — только строки ключей и кода.

   Читаемость важнее эффекта: длинный текст стоит на белой панели без наклона
   и без точек, наклон и полутон — только у коротких панелей. */

@import url('/fonts/faces.css');

:root {
  /* --- переменные, по которым строится тема кассы (литеральные HEX) --- */
  --bg:      #FFF6DA;   /* газетная бумага выпуска */
  --card:    #FFFFFF;   /* панель */
  --ink:     #151412;   /* чёрная печать */
  --ink2:    #3D3A33;   /* подписи */
  --ink3:    #686151;   /* служебное (контраст к бумаге 5,7:1) */
  --line:    #151412;   /* контур панелей */
  --line2:   #E7D9A6;   /* мягкая линия, разлиновка таблиц */
  --acc:     #00797A;   /* бирюзовый «правды»: ссылки, касса (5,2:1 к белому) */
  --acc-ink: #FFFFFF;
  --acc-s:   #E6F6F3;
  --warn:    #9A3412;
  --warn-s:  #FCE8D8;

  /* --- тематические --- */
  --yel:     #FFD23F;   /* жёлтая печать: обложка, кнопки, плашки */
  --yel-s:   #FFE98A;   /* светлая плашка рассказчика */
  --yel-t:   #FFF0B3;   /* фон лицевой стороны панели */
  --teal:    #2EC4B6;   /* бирюзовая заливка штампа «правда» */
  --on-teal: #151412;
  --on-yel:  #151412;
  --shade:   #151412;   /* жёсткая тень панели */
  --dot:     rgba(21, 20, 18, .14);
  --dot-s:   rgba(21, 20, 18, .08);
  --hl:      #FFE066;   /* маркер выделения */
  --mast:    #151412;   /* шапка-«мастхед» */
  --mast-ink:#FFF6DA;
  --code-bg: #FFF3C4;

  --ff-head: 'AmaticSC', 'Comic Sans MS', 'Marker Felt', cursive;
  --ff-text: 'Pangolin', 'Trebuchet MS', system-ui, sans-serif;
  --ff-mono: ui-monospace, 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace;

  --b: 3px;              /* контур панели */
  --sh: 6px;             /* вынос тени */
  --wrap: 1200px;
  --gut: 16px;

  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* ночной выпуск: чёрные страницы, жёлтая печать */
    --bg:      #0E0E0C;
    --card:    #1A1915;
    --ink:     #F7E9B0;
    --ink2:    #DCCB8E;
    --ink3:    #A99D74;
    --line:    #E8D48A;
    --line2:   #35322A;
    --acc:     #45D3C8;
    --acc-ink: #06201E;
    --acc-s:   #10302D;
    --warn:    #FFB07A;
    --warn-s:  #341F10;

    --yel:     #FFD23F;
    --yel-s:   #2B2612;
    --yel-t:   #1F1C12;
    --teal:    #2EC4B6;
    --on-teal: #07201E;
    --on-yel:  #151412;
    --shade:   #6B5714;
    --dot:     rgba(255, 210, 63, .17);
    --dot-s:   rgba(255, 210, 63, .08);
    --hl:      rgba(255, 210, 63, .30);
    --mast:    #000000;
    --mast-ink:#F7E9B0;
    --code-bg: #2A2616;
  }
}

/* --- основа ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font: 400 18px/1.62 var(--ff-text);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 900px) { body { font-size: 19px; } }
img, svg { max-width: 100%; }
a { color: var(--acc); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { background: var(--hl); color: var(--ink); }
:focus-visible { outline: 3px solid var(--acc); outline-offset: 3px; }
button { font: inherit; color: inherit; -webkit-appearance: none; appearance: none; }
::selection { background: var(--yel); color: #151412; }
.page { overflow-x: clip; }
code {
  font: 400 .84em/1.4 var(--ff-mono); background: var(--code-bg); color: var(--ink);
  padding: .08em .35em; border: 1px solid var(--line2); border-radius: 3px;
  overflow-wrap: anywhere;
}
strong {
  font-weight: 400; color: var(--ink);
  background: linear-gradient(transparent 56%, var(--hl) 56%, var(--hl) 94%, transparent 94%);
  padding: 0 .12em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.skip { position: absolute; left: -9999px; top: 8px; z-index: 50; background: var(--yel); color: var(--on-yel); padding: 8px 14px; border: var(--b) solid var(--ink); }
.skip:focus { left: 8px; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gut); }
@media (min-width: 600px) { :root { --gut: 24px; } }

/* полутон: точки Бен-Дэя фоном блока, никогда не под длинным текстом */
.dots, .cover, .myth__front, .det, .ans, .cta, .finale {
  background-image: radial-gradient(circle, var(--dot) 1.25px, transparent 1.75px);
  background-size: 9px 9px;
}

/* --- кнопки -------------------------------------------------------------------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 10px 22px;
  font: 400 19px/1.1 var(--ff-text); text-decoration: none; text-align: center;
  border: var(--b) solid var(--ink); border-radius: 4px; cursor: pointer;
  box-shadow: 4px 4px 0 var(--shade);
  transition: transform .12s ease, box-shadow .12s ease;
}
.btn:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--shade); }
.btn:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--shade); }
.btn--go { background: var(--yel); color: var(--on-yel); border-color: #151412; }
.btn--go:hover { background: #FFDF6B; color: var(--on-yel); }
.btn--ink { background: var(--ink); color: var(--bg); }
.btn--ink:hover { background: var(--ink); color: var(--yel); }
.btn--ghost { background: var(--card); color: var(--ink); }
.btn--ghost:hover { background: var(--card); color: var(--ink); }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } }

/* --- звукоподражание во «взрыве» ------------------------------------------------- */
.fx { position: absolute; display: grid; place-items: center; width: 108px; height: 72px; pointer-events: none; }
.fx svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.fx path { fill: var(--yel); stroke: #151412; stroke-width: 3; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.fx b { position: relative; font: 700 28px/1 var(--ff-head); color: #151412; letter-spacing: .02em; transform: rotate(-8deg); }

/* --- штампы ---------------------------------------------------------------------- */
.stamp {
  display: inline-block; padding: 2px 12px 0; font: 700 26px/1.15 var(--ff-head); letter-spacing: .06em;
  border: var(--b) solid #151412; transform: rotate(-4deg); box-shadow: 3px 3px 0 var(--shade);
}
.stamp--true { background: var(--teal); color: var(--on-teal); }
.stamp--myth { background: #151412; color: var(--yel); }

/* --- шапка-«мастхед» -------------------------------------------------------------- */
.hdr { background: var(--mast); color: var(--mast-ink); border-bottom: 4px solid var(--yel); position: relative; z-index: 20; }
.hdr__in { max-width: var(--wrap); margin: 0 auto; padding: 8px var(--gut); display: flex; align-items: center; gap: 16px; min-height: 64px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--mast-ink); text-decoration: none; flex: 0 0 auto; }
.brand:hover { background: none; color: var(--mast-ink); }
.brand__mark { width: 40px; height: 40px; flex: 0 0 40px; }
.brand__word { font: 700 30px/1 var(--ff-head); letter-spacing: .03em; white-space: nowrap; }
.brand__word b { font-weight: 700; color: var(--yel); }
.brand__word i { font-style: normal; margin: 0 .22em; color: var(--teal); }
.brand__word em { font-style: normal; }
.hdr__nav { display: none; margin-left: auto; gap: 4px; }
.hdr__nav a {
  color: var(--mast-ink); text-decoration: none; font-size: 17px; padding: 6px 12px; border-radius: 999px;
  border: 2px solid transparent;
}
.hdr__nav a:hover { background: none; border-color: var(--yel); color: var(--mast-ink); }
.hdr__nav a[aria-current="page"] { background: var(--yel); color: #151412; border-color: var(--yel); }
.hdr__go { display: none; min-height: 42px; font-size: 17px; padding: 6px 16px; box-shadow: 3px 3px 0 var(--yel); border-color: var(--yel); }
.hdr__go:hover { box-shadow: 4px 4px 0 var(--yel); }
.burger {
  margin-left: auto; background: none; border: 2px solid var(--yel); color: var(--mast-ink);
  font: 700 22px/1 var(--ff-head); letter-spacing: .08em; padding: 8px 12px 6px; border-radius: 4px; cursor: pointer;
}
.mnav { display: none; border-top: 2px dashed rgba(255, 210, 63, .5); }
.mnav.is-open { display: block; }
.mnav ul { list-style: none; margin: 0 auto; padding: 8px var(--gut) 14px; max-width: var(--wrap); }
.mnav a { display: flex; gap: 12px; align-items: baseline; padding: 10px 0; color: var(--mast-ink); text-decoration: none; font-size: 19px; }
.mnav a span { font: 700 26px/1 var(--ff-head); color: var(--yel); width: 22px; text-align: center; }
.mnav a[aria-current="page"] { color: var(--yel); }
.mnav a:hover { background: none; color: var(--yel); }
@media (min-width: 560px) { .hdr__go { display: inline-flex; } }
@media (min-width: 1000px) {
  .hdr__nav { display: flex; }
  .hdr__go { margin-left: 8px; }
  .burger, .mnav, .mnav.is-open { display: none; }
}
@media (min-width: 560px) and (max-width: 999px) { .hdr__go { margin-left: auto; } .burger { margin-left: 0; } }

/* знак: облачко, кольцо и бородка ключа */
.mark .mark__cloud, .brand__mark .mark__cloud, .ftr__mark .mark__cloud, .finale__mark .mark__cloud { fill: var(--yel); stroke: #151412; stroke-width: 2.6; stroke-linejoin: round; }
.mark__bow { fill: var(--teal); stroke: #151412; stroke-width: 2.6; }
.mark__bit { fill: none; stroke: #151412; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }

/* --- обложка главной -------------------------------------------------------------- */
.cover { background-color: var(--yel); color: #151412; border-bottom: 4px solid #151412; }
.cover__in { max-width: var(--wrap); margin: 0 auto; padding: 28px var(--gut) 40px; display: grid; gap: 28px; }
.cover__kicker {
  display: inline-block; background: #151412; color: var(--yel); font-size: 14px; letter-spacing: .08em;
  padding: 4px 10px; transform: rotate(-1deg);
}
.cover__h1 { font: 700 clamp(46px, 7.4vw, 84px)/.96 var(--ff-head); margin: 16px 0 18px; letter-spacing: .01em; color: #151412; }
.bubble {
  position: relative; background: #FFFFFF; color: #151412; border: var(--b) solid #151412; border-radius: 26px;
  padding: 16px 20px; box-shadow: var(--sh) var(--sh) 0 #151412; margin: 0 0 30px;
}
.bubble::before, .bubble::after { content: ''; position: absolute; left: 44px; border-style: solid; }
.bubble::before { bottom: -24px; border-width: 24px 0 0 22px; border-color: #151412 transparent transparent transparent; }
.bubble::after { bottom: -17px; left: 47px; border-width: 18px 0 0 16px; border-color: #FFFFFF transparent transparent transparent; }
.bubble p { margin: 0; font-size: 19px; }
.bubble strong { color: #151412; background: linear-gradient(transparent 56%, #FFE066 56%, #FFE066 94%, transparent 94%); }
.bubble code { background: #FFF3C4; color: #151412; border-color: #E7D9A6; }
.deal__price { margin: 0 0 14px; font-size: 20px; }
.deal__price b { font-weight: 400; background: #FFFFFF; border: 2px solid #151412; padding: 0 6px; border-radius: 3px; white-space: nowrap; }
.deal__row { display: flex; flex-wrap: wrap; gap: 14px; }
.cover .btn--go { background: #151412; color: var(--yel); border-color: #151412; box-shadow: 4px 4px 0 #FFFFFF; }
.cover .btn--go:hover { background: #151412; color: #FFFFFF; }
.cover .btn--ghost { background: #FFFFFF; color: #151412; border-color: #151412; box-shadow: 4px 4px 0 #151412; }
.deal__indep { margin: 16px 0 0; font-size: 15.5px; line-height: 1.5; color: #2B2923; max-width: 40em; }

.cover__art { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: 14px; min-height: 250px; }
.phone {
  position: relative; width: 200px; min-height: 250px; background: #FFFFFF; border: 4px solid #151412; border-radius: 26px;
  box-shadow: 8px 8px 0 #151412; padding: 34px 16px 18px; display: flex; flex-direction: column; gap: 10px; transform: rotate(-4deg);
}
.phone__bar { position: absolute; top: 12px; left: 50%; width: 56px; height: 7px; margin-left: -28px; background: #151412; border-radius: 4px; }
.phone__lbl { font-size: 15px; line-height: 1.3; color: #3D3A33; }
.phone__field { font: 400 15px/1 var(--ff-mono); border: 2px solid #151412; padding: 10px 8px; letter-spacing: .05em; color: #686151; }
.phone__btn { font: 700 22px/1 var(--ff-head); letter-spacing: .06em; text-align: center; background: #E7E2D3; color: #686151; padding: 8px 0 6px; border: 2px solid #686151; }
.fx--cover { width: 150px; height: 100px; left: 50%; top: 50%; margin: -64px 0 0 -64px; transform: rotate(-12deg); }
.fx--cover b { font-size: 44px; }
.cover__truth {
  position: relative; background: #FFFFFF; border: var(--b) solid #151412; box-shadow: 5px 5px 0 #151412; padding: 22px 12px 12px;
  width: 150px; transform: rotate(3deg); margin-bottom: 12px;
}
.cover__truth .stamp { position: absolute; top: -18px; left: 10px; font-size: 22px; }
.cover__truth-t { display: block; font-size: 16px; line-height: 1.35; }
@media (max-width: 420px) {
  .phone { width: 170px; min-height: 220px; padding: 30px 12px 14px; }
  .cover__truth { width: 130px; }
  .fx--cover { width: 128px; height: 86px; margin: -56px 0 0 -56px; }
  .fx--cover b { font-size: 38px; }
}
@media (min-width: 900px) {
  .cover__in { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; padding: 44px var(--gut) 56px; gap: 40px; }
  .cover__art { min-height: 380px; }
  .phone { width: 240px; min-height: 330px; }
  .cover__truth { width: 176px; }
}

/* --- заголовки секций главной ---------------------------------------------------- */
.sec__ttl, .myths__ttl { font: 700 clamp(38px, 5vw, 56px)/1 var(--ff-head); margin: 0 0 10px; letter-spacing: .01em; }
.myths { padding: 44px 0 8px; }
.myths__hd { margin-bottom: 26px; }
.myths__hint { margin: 0; color: var(--ink2); }

/* --- SIGNATURE: панели «Три мифа» ------------------------------------------------ */
.myths__row { list-style: none; margin: 0; padding: 0; display: grid; gap: 30px; }
@media (min-width: 900px) { .myths__row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; } }
.myth { perspective: 1400px; }
.myth--1 { transform: rotate(-1.1deg); }
.myth--2 { transform: rotate(.8deg); }
.myth--3 { transform: rotate(-.5deg); }
.myth__in { position: relative; display: grid; }
.myth__face {
  position: relative; display: flex; flex-direction: column; gap: 12px; text-align: left;
  background-color: var(--card); color: var(--ink); border: var(--b) solid var(--line); border-radius: 2px;
  box-shadow: var(--sh) var(--sh) 0 var(--shade); padding: 20px 20px 18px; min-height: 290px;
}
.myth__front { background-color: var(--yel-t); cursor: pointer; font: inherit; width: 100%; overflow: visible; }
.myth__front:hover { box-shadow: 8px 8px 0 var(--shade); }
.myth__no { align-self: flex-start; background: var(--ink); color: var(--bg); font-size: 14px; letter-spacing: .1em; padding: 3px 10px; }
.fx--myth { right: -6px; top: -22px; transform: rotate(8deg); }
@media (min-width: 900px) { .fx--myth { right: -14px; } }
.myth__say {
  position: relative; margin: 18px 0 22px; background: var(--card); border: var(--b) solid var(--line); border-radius: 22px;
  padding: 14px 16px 12px; font: 700 38px/1.02 var(--ff-head); letter-spacing: .01em; color: var(--ink);
}
.myth__say::before, .myth__say::after { content: ''; position: absolute; border-style: solid; }
.myth__say::before { left: 28px; bottom: -22px; border-width: 22px 0 0 20px; border-color: var(--line) transparent transparent transparent; }
.myth__say::after { left: 31px; bottom: -15px; border-width: 16px 0 0 14px; border-color: var(--card) transparent transparent transparent; }
.myth__turn { margin-top: auto; align-self: flex-start; font-size: 16px; color: var(--ink2); border-bottom: 2px dashed var(--ink2); }
.myth__front:hover .myth__turn { color: var(--ink); border-bottom-color: var(--ink); }
.myth__back { background-color: var(--card); }
.myth__back .stamp { align-self: flex-start; margin-bottom: 4px; }
.myth__tt { margin: 4px 0 0; font: 700 36px/1 var(--ff-head); color: var(--ink); }
.myth__tx { margin: 0; font-size: 17.5px; line-height: 1.55; }
.myth__go { font-size: 18px; margin-top: auto; }
.myth__back-btn { align-self: flex-start; background: none; border: 0; padding: 4px 0; color: var(--ink2); font-size: 15px; cursor: pointer; border-bottom: 2px dashed var(--ink3); }
.myth__back-btn:hover { color: var(--ink); }
/* без скрипта: обе стороны подряд, кнопок нет */
.myth__front { cursor: default; }
.myth__turn, .myth__back-btn { display: none; }
.myth__back { margin-top: 14px; }
/* со скриптом: панель переворачивается */
.js .myth__front { cursor: pointer; }
.js .myth__turn, .js .myth__back-btn { display: inline-block; }
.js .myth__in { transform-style: preserve-3d; transition: transform .6s cubic-bezier(.2, .75, .25, 1); }
.js .myth__face { grid-area: 1 / 1; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.js .myth__front { transform: rotateY(0deg); }
.js .myth__back { margin-top: 0; transform: rotateY(180deg); }
.js .myth.is-flipped .myth__in { transform: rotateY(180deg); }
@media (prefers-reduced-motion: reduce) {
  .js .myth__in { transition: none; transform: none !important; }
  .js .myth__face { -webkit-backface-visibility: visible; backface-visibility: visible; }
  .js .myth__back { transform: none; visibility: hidden; }
  .js .myth.is-flipped .myth__back { visibility: visible; }
  .js .myth.is-flipped .myth__front { visibility: hidden; }
}

/* четвёртая панель: без мифа */
.real {
  margin: 38px 0 0; background: var(--card); border: var(--b) solid var(--line); box-shadow: var(--sh) var(--sh) 0 var(--shade);
  padding: 22px 18px; display: grid; gap: 20px; border-radius: 2px;
}
.real__no { display: inline-block; background: var(--teal); color: var(--on-teal); font-size: 14px; letter-spacing: .1em; padding: 3px 10px; border: 2px solid #151412; }
.real__say { font: 700 clamp(34px, 4vw, 44px)/1.02 var(--ff-head); margin: 12px 0 8px; }
.real__lead { margin: 0; color: var(--ink2); }
.real__foot { grid-column: 1 / -1; margin: 0; padding-top: 14px; border-top: 2px dashed var(--line2); font-size: 17px; }
@media (min-width: 900px) { .real { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); padding: 28px; gap: 28px 36px; } }

/* переключатель системы */
.where__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.where__tab { position: relative; cursor: pointer; }
.where__tab input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.where__tab span {
  display: inline-block; padding: 6px 14px; border: 2px solid var(--line); border-radius: 999px; font-size: 17px;
  background: var(--card); color: var(--ink);
}
.where__tab input:checked + span { background: var(--ink); color: var(--bg); }
.where__tab input:focus-visible + span { outline: 3px solid var(--acc); outline-offset: 2px; }
.where__tab:hover span { background: var(--hl); color: var(--ink); }
.where__tab input:checked + span:hover { background: var(--ink); color: var(--bg); }
.where__os { font: 700 30px/1 var(--ff-head); margin: 0 0 8px; }
.where__pane + .where__pane { margin-top: 18px; }
.js .where__pane { display: none; margin-top: 0; }
.js .where__pane.is-on { display: block; }
.js .where__os { display: none; }
.where__steps { list-style: none; margin: 0; padding: 0; counter-reset: st; display: grid; gap: 12px; }
.where__steps li { counter-increment: st; position: relative; padding: 2px 0 0 50px; min-height: 38px; }
.where__steps li::before {
  content: counter(st); position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%;
  display: grid; place-items: center; background: var(--yel); color: #151412; border: 2px solid #151412;
  font: 700 24px/1 var(--ff-head); padding-top: 2px;
}

/* --- проверка строки ------------------------------------------------------------ */
.det {
  margin: 48px 0 0; background-color: var(--yel-s); border: var(--b) solid var(--line); box-shadow: var(--sh) var(--sh) 0 var(--shade);
  padding: 22px 18px; border-radius: 2px;
}
.det__cap { display: inline-block; background: var(--ink); color: var(--bg); font-size: 14px; letter-spacing: .1em; padding: 3px 10px; }
.det__ttl { font: 700 clamp(34px, 4.4vw, 48px)/1.02 var(--ff-head); margin: 10px 0 8px; }
.det__lead { margin: 0 0 16px; max-width: 46em; }
.det__row { display: grid; gap: 10px; }
.det__in {
  width: 100%; min-height: 54px; font: 400 17px/1.3 var(--ff-mono); color: var(--ink); background: var(--card);
  -webkit-appearance: none; appearance: none;
  border: var(--b) solid var(--line); border-radius: 4px; padding: 12px 14px;
}
.det__in::placeholder { color: var(--ink3); opacity: 1; }
.det__in:focus { outline: 3px solid var(--acc); outline-offset: 2px; }
@media (min-width: 600px) { .det__row { grid-template-columns: 1fr auto; } }
.det__try { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0 0; font-size: 16px; }
.det__try span { color: var(--ink2); }
.det__try button { background: var(--card); color: var(--ink); border: 2px dashed var(--line); border-radius: 999px; padding: 3px 12px; font-size: 15.5px; cursor: pointer; }
.det__try button:hover { border-style: solid; background: var(--hl); }
.det__out { margin-top: 18px; }
.det__idle { margin: 0; color: var(--ink2); font-size: 17px; }
.verdict { position: relative; background: var(--card); border: var(--b) solid var(--line); padding: 26px 18px 16px; margin-top: 8px; }
.verdict .stamp { position: absolute; top: -20px; left: 14px; }
.verdict__t { font: 700 32px/1.05 var(--ff-head); margin: 4px 0 6px; }
.verdict p { margin: 0 0 8px; }
.verdict__warn { color: var(--warn); }
.verdict__fine { font-size: 15.5px; color: var(--ink2); }
.verdict__go { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 10px; font-size: 17px; }
.stamp--hm { background: var(--card); color: var(--ink); border-color: var(--line); }

/* --- опоры: подписи рассказчика ----------------------------------------------------- */
.pillars { padding: 56px 0 0; }
.pillars__row { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 22px; }
@media (min-width: 760px) { .pillars__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; } }
.cap-box {
  position: relative; background: var(--yel-s); color: var(--ink); border: var(--b) solid var(--line);
  padding: 20px 20px 16px 20px; box-shadow: 4px 4px 0 var(--shade);
}
.cap-box:nth-child(odd) { transform: rotate(-.6deg); }
.cap-box:nth-child(even) { transform: rotate(.5deg); }
.cap-box__n {
  position: absolute; top: -16px; left: -10px; width: 38px; height: 38px; border-radius: 50%; background: var(--ink); color: var(--yel);
  display: grid; place-items: center; font: 700 26px/1 var(--ff-head); padding-top: 2px;
}
.cap-box__t { font: 700 34px/1.02 var(--ff-head); margin: 0 0 8px; }
.cap-box p { margin: 0; }
.cap-box p + p { margin-top: 6px; }

/* --- цена: ценники ---------------------------------------------------------------- */
.price { padding: 60px 0 0; }
.price__lead { margin: 0; max-width: 44em; color: var(--ink2); }
.price__row { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (min-width: 900px) { .price__row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; } }
.tag {
  position: relative; display: flex; flex-direction: column; gap: 4px; background: var(--card); border: var(--b) solid var(--line);
  box-shadow: 4px 4px 0 var(--shade); padding: 16px 14px 14px; border-radius: 2px 18px 2px 2px;
}
.tag::before { content: ''; position: absolute; top: 12px; right: 14px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--line); background: var(--bg); }
.tag__nm { font-size: 17px; color: var(--ink2); }
.tag__sum { font: 700 clamp(44px, 5vw, 58px)/1 var(--ff-head); color: var(--ink); }
.tag__unit { font-size: 15.5px; line-height: 1.35; }
.tag__note { font-size: 14.5px; line-height: 1.35; color: var(--ink3); margin-top: auto; padding-top: 6px; }
.tag--trial { background: var(--teal); color: var(--on-teal); }
.tag--trial .tag__nm, .tag--trial .tag__sum, .tag--trial .tag__unit, .tag--trial .tag__note { color: var(--on-teal); }
.price__go { margin-top: 26px; display: grid; gap: 14px; justify-items: start; }
.price__indep { margin: 0; font-size: 16px; color: var(--ink2); max-width: 46em; }

/* --- вопросы: диалог ---------------------------------------------------------------- */
.qa { padding: 60px 0 0; }
.faq { display: grid; gap: 22px; margin: 22px 0 8px; }
.faq__i { display: grid; gap: 10px; }
.faq__q {
  position: relative; justify-self: start; max-width: 100%; margin: 0; background: var(--card); color: var(--ink);
  border: var(--b) solid var(--line); border-radius: 20px; padding: 10px 16px; font: 400 19.5px/1.35 var(--ff-text);
}
.faq__q::before, .faq__q::after { content: ''; position: absolute; border-style: solid; }
.faq__q::before { left: 22px; bottom: -18px; border-width: 18px 0 0 16px; border-color: var(--line) transparent transparent transparent; }
.faq__q::after { left: 25px; bottom: -12px; border-width: 13px 0 0 11px; border-color: var(--card) transparent transparent transparent; }
.faq__a { margin-left: 18px; padding: 8px 0 0 16px; border-left: 4px solid var(--yel); }
.faq__a p { margin: 0 0 8px; }
.faq__a p:last-child { margin-bottom: 0; }

/* --- финальная полоса главной ---------------------------------------------------- */
.finale {
  margin: 64px 0 56px; background-color: var(--yel); color: #151412; border: var(--b) solid #151412; box-shadow: var(--sh) var(--sh) 0 var(--shade);
  padding: 22px 18px; display: grid; gap: 14px; justify-items: start; align-items: center;
}
.finale__mark { width: 64px; height: 64px; }
.finale__t { margin: 0; font: 700 clamp(32px, 4vw, 44px)/1.04 var(--ff-head); color: #151412; }
.finale .btn--go { background: #151412; color: var(--yel); box-shadow: 4px 4px 0 #FFFFFF; }
@media (min-width: 760px) { .finale { grid-template-columns: auto 1fr auto; gap: 22px; padding: 24px 28px; } }

/* --- внутренние страницы: колонка и «выпуски» ----------------------------------- */
.layout { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gut) 56px; display: grid; gap: 36px; }
@media (min-width: 1000px) { .layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; } }
.main { min-width: 0; }
.main--wide { padding-bottom: 8px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; padding: 18px 0 14px; font-size: 16px; color: var(--ink2); }
.crumbs a { color: var(--ink2); }
.crumbs i { font-style: normal; color: var(--ink3); }
.crumbs span { color: var(--ink); }

.rail { display: grid; gap: 26px; }
@media (min-width: 1000px) { .rail { position: sticky; top: 16px; padding-top: 58px; } }
.rail__box { background: var(--card); border: var(--b) solid var(--line); box-shadow: 4px 4px 0 var(--shade); padding: 16px 14px 10px; }
.rail__ttl, .rail__tag { display: inline-block; background: var(--ink); color: var(--bg); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; }
.rail__list { list-style: none; margin: 12px 0 0; padding: 0; }
.rail__list li + li { border-top: 2px dashed var(--line2); }
.rail__list a { display: flex; gap: 12px; padding: 10px 2px; color: var(--ink); text-decoration: none; line-height: 1.3; }
.rail__list a:hover { background: var(--hl); }
.rail__list a[aria-current="page"] { background: var(--yel); color: #151412; }
.rail__list a[aria-current="page"] i { color: #3D3A33; }
.rail__n { font: 700 28px/1 var(--ff-head); width: 22px; flex: 0 0 22px; text-align: center; }
.rail__t { font-size: 17px; }
.rail__t i { display: block; font-style: normal; font-size: 14.5px; color: var(--ink3); margin-top: 2px; }
.rail__go { background: var(--teal); color: var(--on-teal); border: var(--b) solid #151412; box-shadow: 4px 4px 0 var(--shade); padding: 16px 14px; }
.rail__go .rail__tag { background: #151412; color: var(--teal); }
.rail__go p { margin: 10px 0 14px; font-size: 16.5px; line-height: 1.45; }

/* --- статья ------------------------------------------------------------------------ */
.art {
  background: var(--card); color: var(--ink); border: var(--b) solid var(--line); box-shadow: 8px 8px 0 var(--shade);
  padding: 20px 18px 24px; border-radius: 2px;
}
@media (min-width: 700px) { .art { padding: 30px 36px 34px; } }
.art__hd { margin-bottom: 14px; }
.art__kicker { display: inline-block; background: var(--ink); color: var(--bg); font-size: 14px; letter-spacing: .1em; padding: 3px 10px; }
.art h1 { font: 700 clamp(40px, 5.4vw, 66px)/.98 var(--ff-head); margin: 4px 0 12px; letter-spacing: .01em; }
.art__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 15px; color: var(--ink3); }
.art__upd::before { content: '✎ '; }
.art__lead { font-size: 21px; line-height: 1.5; margin: 18px 0 20px; color: var(--ink); }
.art h2 {
  font: 700 clamp(34px, 4vw, 46px)/1.02 var(--ff-head); margin: 44px 0 14px; letter-spacing: .01em;
  scroll-margin-top: 16px;
}
.art h2::after { content: ''; display: block; width: 72px; height: 6px; margin-top: 6px; background: var(--yel); border: 2px solid var(--line); transform: skewX(-18deg); }
.art h3 { font: 700 32px/1.05 var(--ff-head); margin: 30px 0 8px; }
.art p { margin: 0 0 14px; }
.art ul:not([class]), .art ol:not([class]) { margin: 0 0 16px; padding: 0; list-style: none; }
.art ul:not([class]) > li, .art ol:not([class]) > li { position: relative; padding-left: 34px; margin: 0 0 8px; }
.art ul:not([class]) > li::before {
  content: ''; position: absolute; left: 6px; top: .52em; width: 12px; height: 12px; background: var(--yel);
  border: 2px solid var(--line); transform: rotate(45deg);
}
.art ol:not([class]) { counter-reset: li; }
.art ol:not([class]) > li { counter-increment: li; }
.art ol:not([class]) > li::before { content: counter(li); position: absolute; left: 2px; top: -.1em; font: 700 30px/1 var(--ff-head); color: var(--ink); }

/* свёрнутая полоса мифов (контекстный signature) */
.strip { margin: 16px 0 6px; }
.strip__row { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 760px) { .strip__row { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.strip__c a {
  display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 8px 10px 9px; text-decoration: none; color: var(--ink);
  background: var(--bg); border: 2px solid var(--line); line-height: 1.25;
}
.strip__c a:hover { background: var(--hl); }
.strip__no { font-size: 12.5px; letter-spacing: .09em; color: var(--ink3); }
.strip__t { font-size: 16.5px; }
.strip__c.is-here a { background: var(--yel); color: #151412; border-width: 3px; box-shadow: 3px 3px 0 var(--shade); transform: rotate(-1deg); }
.strip__c.is-here .strip__no { color: #151412; }
.strip__c--real a { border-style: dashed; }
.strip__c--real.is-here a { background: var(--teal); color: var(--on-teal); border-style: solid; }

/* КОРОТКО */
.ans {
  background-color: var(--yel); color: #151412; border: var(--b) solid #151412; box-shadow: 5px 5px 0 var(--shade);
  padding: 16px 18px; margin: 22px 0 26px;
}
.ans__hd { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-bottom: 8px; }
.ans__cap { background: #151412; color: var(--yel); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; }
.ans__take { font: 700 28px/1 var(--ff-head); }
.ans__txt { margin: 0; font-size: 19.5px; line-height: 1.5; background: #FFFFFF; padding: 12px 14px; border: 2px solid #151412; }
.ans__txt strong { color: #151412; background: linear-gradient(transparent 56%, #FFE066 56%, #FFE066 94%, transparent 94%); }
.ans__txt a { color: #00615F; }
.ans__txt code { background: #FFF3C4; color: #151412; border-color: #E7D9A6; }
.ans__list { margin: 10px 0 0; padding-left: 22px; }

/* МИФ → ПРАВДА */
.mp { display: grid; gap: 30px; margin: 26px 0; }
@media (min-width: 700px) { .mp { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 34px; } }
.mp__myth, .mp__truth { position: relative; border: var(--b) solid var(--line); padding: 26px 16px 14px; box-shadow: 4px 4px 0 var(--shade); }
.mp__myth { background-color: var(--yel-t); background-image: radial-gradient(circle, var(--dot-s) 1.25px, transparent 1.75px); background-size: 9px 9px; transform: rotate(-.7deg); }
.mp__truth { background: var(--card); }
.mp .stamp { position: absolute; top: -18px; left: 12px; font-size: 22px; }
.mp__say { margin: 4px 0 0; font: 700 32px/1.05 var(--ff-head); }
.mp__tx { margin: 4px 0 8px; }
.mp__do { margin: 0; font-size: 17px; }
.mp__do b { font-weight: 400; background: var(--ink); color: var(--bg); padding: 0 6px; font-size: 14px; letter-spacing: .06em; }
.fx--mp { right: -10px; top: -26px; width: 96px; height: 64px; transform: rotate(10deg); }
.fx--mp b { font-size: 24px; }
.mp__myth::after {
  content: '→'; position: absolute; font: 700 44px/1 var(--ff-head); color: var(--ink);
  left: 50%; bottom: -36px; transform: rotate(90deg); margin-left: -10px;
}
@media (min-width: 700px) { .mp__myth::after { left: auto; right: -30px; bottom: auto; top: 50%; margin: -22px 0 0; transform: none; } }

/* врезки — подписи рассказчика */
.note { position: relative; border: var(--b) solid var(--line); padding: 24px 16px 12px; margin: 30px 0 22px; background: var(--yel-s); color: var(--ink); }
.note__tag { position: absolute; top: -15px; left: 12px; background: var(--ink); color: var(--bg); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; }
.note__ttl { display: block; font: 700 30px/1.05 var(--ff-head); margin: 0 0 6px; }
.note p { margin: 0 0 8px; }
.note p:last-child { margin-bottom: 0; }
.note ul { margin: 6px 0 8px; padding-left: 22px; }
.note--ok { background: var(--acc-s); }
.note--ok .note__tag { background: var(--teal); color: var(--on-teal); border: 2px solid #151412; }
.note--warn { background: var(--card); border-width: 4px; box-shadow: 4px 4px 0 var(--shade); }
.note--warn .note__tag { background: var(--yel); color: #151412; border: 2px solid #151412; }
.note--down { background: var(--card); border-style: dashed; }

/* две колонки */
.both { display: grid; gap: 18px; margin: 22px 0 26px; }
@media (min-width: 700px) { .both { grid-template-columns: 1fr 1fr; } }
.both__col { border: var(--b) solid var(--line); padding: 14px 16px; background: var(--card); }
.both__col--yes { background: var(--acc-s); }
.both__cap { display: inline-block; font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; margin-bottom: 8px; }
.both__col--yes .both__cap { background: var(--teal); color: var(--on-teal); border: 2px solid #151412; }
.both__col--no .both__cap { background: var(--ink); color: var(--bg); }
.both ul { margin: 0; padding-left: 20px; }
.both li { margin: 0 0 6px; }

/* если не получается */
.fix { margin: 26px 0; }
.fix__cap { display: inline-block; background: var(--ink); color: var(--bg); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; }
.fix__list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 12px; }
.fix__i { display: grid; gap: 6px; border: var(--b) solid var(--line); background: var(--card); padding: 12px 14px; }
@media (min-width: 760px) { .fix__i { grid-template-columns: 1fr 1fr 1.2fr; gap: 14px; } }
.fix__i i { display: block; font-style: normal; font-size: 12.5px; letter-spacing: .1em; color: var(--ink3); }
.fix__sign { font-size: 17.5px; }
.fix__why, .fix__do { font-size: 16.5px; line-height: 1.45; }
.fix__do { border-left: 4px solid var(--yel); padding-left: 10px; }

/* так выглядит ключ */
.looks { margin: 26px 0; }
.looks__cap { display: inline-block; background: var(--ink); color: var(--bg); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; }
.looks__list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 14px; }
.looks__i { display: grid; gap: 4px; border: var(--b) solid var(--line); background: var(--card); padding: 12px 14px; box-shadow: 3px 3px 0 var(--shade); }
.looks__line { display: block; font-size: 15.5px; padding: 8px 10px; border: 2px dashed var(--ink3); background: var(--code-bg); word-break: break-all; }
.looks__lbl { font: 700 28px/1.05 var(--ff-head); margin-top: 4px; }
.looks__note { font-size: 16.5px; line-height: 1.45; color: var(--ink2); }
.looks__fine { margin: 10px 0 0; font-size: 15px; color: var(--ink3); }

/* шаги — раскадровка */
.steps { list-style: none; margin: 22px 0 26px; padding: 0; display: grid; gap: 22px; }
.step { position: relative; border: var(--b) solid var(--line); background: var(--card); padding: 16px 16px 12px 16px; box-shadow: 4px 4px 0 var(--shade); }
.step__n {
  position: absolute; top: -16px; left: -12px; width: 40px; height: 40px; border-radius: 50%; background: var(--yel); color: #151412;
  border: var(--b) solid #151412; display: grid; place-items: center; font: 700 28px/1 var(--ff-head); padding-top: 2px;
}
.step__ttl { display: block; font: 700 30px/1.05 var(--ff-head); margin: 0 0 6px 18px; }
.step p { margin: 0 0 8px; }
.step p:last-child { margin-bottom: 0; }
.step ul { margin: 4px 0 8px; padding-left: 22px; }

/* таблицы */
.tw { overflow-x: auto; margin: 22px 0 26px; -webkit-overflow-scrolling: touch; }
.tw__cap { display: inline-block; background: var(--ink); color: var(--bg); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; margin-bottom: 8px; }
table { width: 100%; border-collapse: collapse; border: var(--b) solid var(--line); background: var(--card); font-size: 17px; line-height: 1.4; }
@media (max-width: 480px) { table { font-size: 15.5px; } th, td { padding: 8px 8px; } }
th { background: var(--ink); color: var(--bg); font-weight: 400; text-align: left; padding: 10px 12px; font-size: 15.5px; letter-spacing: .02em; }
td { padding: 10px 12px; border-top: 2px solid var(--line2); vertical-align: top; }
tbody tr:nth-child(even) td { background: var(--bg); }

/* призыв */
.cta {
  position: relative; background-color: var(--yel); color: #151412; border: var(--b) solid #151412; box-shadow: 8px 8px 0 var(--shade);
  padding: 22px 18px 20px; margin: 40px 0 30px;
}
.fx--cta { right: -12px; top: -30px; transform: rotate(9deg); }
.cta__tag { display: inline-block; background: #151412; color: var(--yel); font-size: 13.5px; letter-spacing: .08em; padding: 3px 10px; }
.cta__ttl { font: 700 clamp(34px, 4.4vw, 46px)/1.02 var(--ff-head); margin: 10px 0 8px; color: #151412; }
.cta__txt { margin: 0 0 12px; background: #FFFFFF; border: 2px solid #151412; padding: 10px 12px; color: #151412; }
.cta__txt a { color: #00615F; }
.cta__txt strong { color: #151412; background: linear-gradient(transparent 56%, #FFE066 56%, #FFE066 94%, transparent 94%); }
.cta__pts { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; }
.cta__pts li { font-size: 15.5px; padding: 2px 10px; border: 2px solid #151412; border-radius: 999px; background: #FFFFFF; color: #151412; }
.cta__row { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; }
.cta .btn--go { background: #151412; color: var(--yel); box-shadow: 4px 4px 0 #FFFFFF; }
.cta .btn--go:hover { color: #FFFFFF; }
.cta .btn--ghost { background: #FFFFFF; color: #151412; border-color: #151412; }
.cta__fine { font-size: 15px; color: #3D3A33; }
.cta--trial { background-color: var(--teal); }
.cta--trial .cta__tag { color: var(--teal); }

/* плашка под лидом */
.spark {
  display: grid; gap: 10px; align-items: center; background: var(--ink); color: var(--bg); padding: 14px 16px; margin: 0 0 26px;
  border: var(--b) solid var(--ink); box-shadow: 4px 4px 0 var(--yel);
}
.spark__tag { justify-self: start; background: var(--yel); color: #151412; font-size: 13px; letter-spacing: .1em; padding: 2px 9px; }
.spark__txt { margin: 0; font-size: 17.5px; line-height: 1.45; color: var(--bg); }
.spark__txt strong { color: var(--bg); background: none; border-bottom: 3px solid var(--yel); padding: 0; }
.spark .btn--go { justify-self: start; min-height: 44px; box-shadow: 3px 3px 0 var(--bg); border-color: var(--yel); }
@media (min-width: 760px) { .spark { grid-template-columns: 1fr auto; } .spark__tag { grid-column: 1 / -1; } }

/* приглашение внутрь сайта */
.goto { border: var(--b) dashed var(--line); background: var(--acc-s); padding: 16px; margin: 30px 0; display: grid; gap: 10px; justify-items: start; }
.goto__tag { background: var(--ink); color: var(--bg); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; }
.goto__txt { margin: 0; }

/* строки-ссылки */
.rows { list-style: none; margin: 16px 0 24px; padding: 0; display: grid; gap: 12px; }
.row {
  display: grid; grid-template-columns: 1fr auto; gap: 4px 14px; align-items: center; text-decoration: none; color: var(--ink);
  border: var(--b) solid var(--line); background: var(--card); padding: 12px 14px; box-shadow: 3px 3px 0 var(--shade);
}
.row:hover { background: var(--hl); color: var(--ink); }
.row__idx { grid-column: 1 / -1; justify-self: start; font-size: 12.5px; letter-spacing: .1em; background: var(--ink); color: var(--bg); padding: 2px 8px; }
.row__mid { display: grid; gap: 2px; }
.row__ttl { font-size: 18.5px; }
.row__sub { font-size: 15.5px; color: var(--ink2); }
.row__go { font: 700 32px/1 var(--ff-head); }

/* хвост статьи */
.foot-go {
  position: relative; margin: 44px 0 30px; background: var(--teal); color: var(--on-teal); border: var(--b) solid #151412;
  box-shadow: 8px 8px 0 var(--shade); padding: 20px 18px;
}
.foot-go__tag { display: inline-block; background: #151412; color: var(--teal); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; }
.foot-go__ttl { font: 700 clamp(34px, 4vw, 44px)/1.02 var(--ff-head); margin: 10px 0 8px; color: var(--on-teal); }
.foot-go__txt { margin: 0 0 16px; color: var(--on-teal); }
.foot-go .btn--go { background: #151412; color: var(--yel); box-shadow: 4px 4px 0 #FFFFFF; }
.also { margin: 28px 0 22px; }
.also__cap { display: inline-block; background: var(--ink); color: var(--bg); font-size: 13.5px; letter-spacing: .1em; padding: 3px 10px; }
.also__list { list-style: none; margin: 10px 0 0; padding: 0; }
.also__list li { border-bottom: 2px dashed var(--line2); }
.also__list a { display: block; padding: 10px 0; font-size: 18px; }
.helpful { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin-top: 18px; padding-top: 16px; border-top: var(--b) solid var(--line); }
.helpful__q { font: 700 30px/1 var(--ff-head); }
.helpful__btns { display: flex; gap: 10px; }
.helpful__btns button { background: var(--card); color: var(--ink); border: 2px solid var(--line); border-radius: 999px; padding: 4px 16px; font-size: 16px; cursor: pointer; }
.helpful__btns button:hover { background: var(--hl); }
.helpful[data-done] .helpful__btns { display: none; }
.helpful__thanks { font-size: 16px; color: var(--ink2); }
.helpful__thanks:empty { display: none; }

/* оглавление документов */
.toc { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 10px; }
.toc a { border: 2px solid var(--line); padding: 4px 12px; border-radius: 999px; text-decoration: none; color: var(--ink); font-size: 16.5px; }
.toc a:hover { background: var(--hl); }
.art h2[id] { scroll-margin-top: 16px; }

/* кадры (на будущее: слоты под скриншоты) */
.shot { margin: 18px 0; }
.shot__frame { display: grid; place-items: center; min-height: 160px; border: var(--b) dashed var(--line); background: var(--bg); }
.shot__code { font: 400 15px/1 var(--ff-mono); }
.shot__cap { font-size: 15.5px; color: var(--ink2); margin-top: 6px; }
.shot img { display: block; max-height: 520px; width: auto; border: var(--b) solid var(--line); }

pre { font: 400 15px/1.5 var(--ff-mono); background: var(--code-bg); border: 2px solid var(--line); padding: 12px 14px; overflow-x: auto; }

/* --- касса ------------------------------------------------------------------------ */
.pay { padding-bottom: 56px; }
.pay__head { position: relative; padding: 4px 0 24px; max-width: 58em; }
.pay__kicker { display: inline-block; background: var(--teal); color: var(--on-teal); font-size: 14px; letter-spacing: .1em; padding: 3px 10px; border: 2px solid #151412; }
.pay__head h1 { font: 700 clamp(42px, 6vw, 72px)/.98 var(--ff-head); margin: 12px 0 14px; letter-spacing: .01em; padding-right: 60px; }
.pay__lead { margin: 0 0 12px; font-size: 20px; line-height: 1.55; }
.pay__lead b { font-weight: 400; background: var(--hl); padding: 0 .15em; }
.pay__indep { margin: 0; font-size: 16px; color: var(--ink2); }
.fx--pay { right: -6px; top: 18px; width: 120px; height: 80px; transform: rotate(10deg); }
@media (max-width: 699px) { .fx--pay { display: none; } .pay__head h1 { padding-right: 0; } }
.kassa { border: var(--b) solid var(--line); background: var(--bg); box-shadow: 8px 8px 0 var(--shade); scroll-margin-top: 12px; }
.kassa__hd { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; background: var(--ink); color: var(--bg); padding: 8px 14px; }
.kassa__cap { font-size: 14px; letter-spacing: .1em; }
.kassa__tag { font-size: 13.5px; letter-spacing: .08em; background: var(--yel); color: #151412; padding: 1px 8px; }
.kassa__box { padding: 14px; background: var(--bg); min-height: 420px; }
.kassa__fb { margin: 0; font-size: 17px; color: var(--ink2); }
@media (max-width: 480px) { .kassa { margin: 0 -8px; } }
.pay__pts { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .pay__pts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pay__pts li { display: grid; gap: 2px; border: var(--b) solid var(--line); background: var(--card); padding: 12px 12px 10px; box-shadow: 3px 3px 0 var(--shade); }
.pay__pts b { font: 700 28px/1.02 var(--ff-head); }
.pay__pts span { font-size: 15.5px; line-height: 1.35; color: var(--ink2); }
.pay__art { margin-top: 38px; }
.pay__back { margin: 30px 0 0; display: grid; gap: 12px; justify-items: start; }
.pay__back p { margin: 0; }

/* --- 404 ---------------------------------------------------------------------------- */
.art--404 { margin: 36px auto 56px; max-width: 900px; }
.nf__home { margin: 22px 0 0; }

/* --- подвал ------------------------------------------------------------------------- */
.ftr { background: var(--mast); color: var(--mast-ink); border-top: 4px solid var(--yel); margin-top: 24px; }
.ftr__in { max-width: var(--wrap); margin: 0 auto; padding: 34px var(--gut) 90px; display: grid; gap: 26px; }
.ftr__brand { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; align-items: center; }
.ftr__mark { width: 52px; height: 52px; grid-row: span 2; }
.ftr__word { margin: 0; font: 700 32px/1 var(--ff-head); color: var(--yel); }
.ftr__tag { margin: 0; font-size: 14px; letter-spacing: .06em; color: var(--mast-ink); opacity: .85; }
.ftr__grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.ftr__ttl { font: 700 28px/1 var(--ff-head); color: var(--yel); }
.ftr ul { list-style: none; margin: 8px 0 0; padding: 0; }
.ftr li { margin: 0 0 6px; }
.ftr a { color: var(--mast-ink); text-decoration-color: rgba(255, 210, 63, .6); }
.ftr a:hover { background: none; color: var(--yel); }
.ftr__disc { margin: 0; font-size: 15px; line-height: 1.55; max-width: 60em; color: var(--mast-ink); opacity: .9; }
.ftr__bar { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 15px; padding-top: 14px; border-top: 2px dashed rgba(255, 210, 63, .4); }
@media (min-width: 900px) { .ftr__in { grid-template-columns: 1fr 2fr; padding-bottom: 40px; } .ftr__disc, .ftr__bar { grid-column: 1 / -1; } }

/* --- нижняя панель на телефоне ------------------------------------------------------ */
.gobar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; transform: translateY(110%); transition: transform .25s ease; }
.gobar.is-on { transform: none; }
.gobar[hidden] { display: none; }
.gobar__in { display: flex; align-items: center; gap: 12px; background: #151412; color: #FFF6DA; border-top: 4px solid var(--yel); padding: 10px 12px; }
.gobar__txt { display: grid; line-height: 1.25; font-size: 15px; flex: 1; min-width: 0; }
.gobar__txt b { font-weight: 400; font-size: 17px; color: var(--yel); }
.gobar .btn--go { min-height: 42px; padding: 6px 14px; font-size: 17px; box-shadow: 3px 3px 0 #FFF6DA; }
.gobar__x { background: none; border: 0; color: #FFF6DA; font-size: 26px; line-height: 1; padding: 4px 6px; cursor: pointer; }
@media (min-width: 861px) { .gobar { display: none; } }
@media (prefers-reduced-motion: reduce) { .gobar { transition: none; } }

/* --- ночной выпуск: то, что не выражается одними переменными ---------------------- */
@media (prefers-color-scheme: dark) {
  .cover { background-color: #0E0E0C; color: var(--ink); border-bottom-color: var(--yel); }
  .cover__h1 { color: var(--yel); }
  .cover__kicker { background: var(--yel); color: #151412; }
  .bubble { background: var(--card); color: var(--ink); border-color: var(--line); box-shadow: var(--sh) var(--sh) 0 var(--shade); }
  .bubble::before { border-top-color: var(--line); }
  .bubble::after { border-top-color: var(--card); }
  .bubble strong { color: var(--ink); background: linear-gradient(transparent 56%, var(--hl) 56%, var(--hl) 94%, transparent 94%); }
  .bubble code { background: var(--code-bg); color: var(--ink); border-color: var(--line2); }
  .deal__price b { background: var(--card); border-color: var(--line); color: var(--yel); }
  .deal__indep { color: var(--ink2); }
  .cover .btn--go { background: var(--yel); color: #151412; box-shadow: 4px 4px 0 var(--shade); }
  .cover .btn--go:hover { background: #FFDF6B; color: #151412; }
  .cover .btn--ghost { background: var(--card); color: var(--ink); border-color: var(--line); box-shadow: 4px 4px 0 var(--shade); }
  .phone { background: var(--card); border-color: var(--line); box-shadow: 8px 8px 0 var(--shade); }
  .phone__bar { background: var(--line); }
  .phone__lbl { color: var(--ink2); }
  .phone__field { border-color: var(--line); color: var(--ink3); }
  .phone__btn { background: #2A2820; color: var(--ink3); border-color: var(--ink3); }
  .cover__truth { background: var(--card); border-color: var(--line); box-shadow: 5px 5px 0 var(--shade); color: var(--ink); }
  .mark__bit { stroke: #151412; }
  .btn { border-color: var(--line); }
  .btn--go { border-color: #151412; }
  .btn--ink { background: var(--yel); color: #151412; border-color: #151412; }
  .btn--ink:hover { background: #FFDF6B; color: #151412; }
  .myth__no, .det__cap, .rail__ttl, .art__kicker, .ans__cap, .note__tag, .fix__cap, .looks__cap, .tw__cap, .goto__tag, .row__idx, .also__cap, .both__col--no .both__cap, .cap-box__n, .mp__do b {
    background: var(--yel); color: #151412;
  }
  .stamp--myth { background: var(--yel); color: #151412; }
  .note--warn .note__tag { background: var(--teal); color: var(--on-teal); }
  .ans { background-color: var(--yel-s); color: var(--ink); border-color: var(--line); }
  .ans__txt { background: var(--card); color: var(--ink); border-color: var(--line); }
  .ans__txt strong { color: var(--ink); background: linear-gradient(transparent 56%, var(--hl) 56%, var(--hl) 94%, transparent 94%); }
  .ans__txt a { color: var(--acc); }
  .ans__txt code { background: var(--code-bg); color: var(--ink); border-color: var(--line2); }
  .ans__take { color: var(--yel); }
  .cta { background-color: var(--yel-s); color: var(--ink); border-color: var(--line); }
  .cta__tag { background: var(--yel); color: #151412; }
  .cta__ttl { color: var(--yel); }
  .cta__txt { background: var(--card); color: var(--ink); border-color: var(--line); }
  .cta__txt a { color: var(--acc); }
  .cta__txt strong { color: var(--ink); background: linear-gradient(transparent 56%, var(--hl) 56%, var(--hl) 94%, transparent 94%); }
  .cta__pts li { background: var(--card); color: var(--ink); border-color: var(--line); }
  .cta .btn--go { background: var(--yel); color: #151412; box-shadow: 4px 4px 0 var(--shade); }
  .cta .btn--go:hover { color: #151412; }
  .cta .btn--ghost { background: var(--card); color: var(--ink); border-color: var(--line); }
  .cta__fine { color: var(--ink2); }
  .cta--trial { background-color: #0F2A28; }
  .cta--trial .cta__tag { background: var(--teal); color: var(--on-teal); }
  .cta--trial .cta__ttl { color: var(--acc); }
  .spark { background: #000000; border-color: var(--line); box-shadow: 4px 4px 0 var(--shade); }
  .spark__txt, .spark__txt strong { color: var(--ink); }
  .spark .btn--go { box-shadow: 3px 3px 0 var(--shade); border-color: #151412; }
  .finale { background-color: var(--yel-s); color: var(--ink); border-color: var(--line); }
  .finale__t { color: var(--yel); }
  .finale .btn--go { background: var(--yel); color: #151412; box-shadow: 4px 4px 0 var(--shade); }
  .foot-go { background: #0F2A28; color: var(--ink); border-color: var(--line); }
  .foot-go__tag { background: var(--teal); color: var(--on-teal); }
  .foot-go__ttl { color: var(--acc); }
  .foot-go__txt { color: var(--ink); }
  .foot-go .btn--go { background: var(--yel); color: #151412; box-shadow: 4px 4px 0 var(--shade); }
  .rail__go { background: #0F2A28; color: var(--ink); border-color: var(--line); }
  .rail__go .rail__tag { background: var(--teal); color: var(--on-teal); }
  .tag--trial { background: #0F2A28; color: var(--ink); }
  .tag--trial .tag__nm, .tag--trial .tag__unit, .tag--trial .tag__note { color: var(--ink2); }
  .tag--trial .tag__sum { color: var(--acc); }
  .rail__list a[aria-current="page"], .strip__c.is-here a { background: var(--yel); color: #151412; }
  .rail__list a[aria-current="page"] i, .strip__c.is-here .strip__no { color: #3D3A33; }
  .strip__c--real.is-here a { background: var(--teal); color: var(--on-teal); }
  .strip__c--real.is-here .strip__no { color: var(--on-teal); }
  .real__no, .pay__kicker { border-color: var(--line); }
  .where__tab input:checked + span { background: var(--yel); color: #151412; border-color: var(--yel); }
  .where__tab input:checked + span:hover { background: var(--yel); color: #151412; }
  .hdr__nav a[aria-current="page"] { color: #151412; }
  .kassa__hd { background: #000000; color: var(--ink); border-bottom: 2px solid var(--line); }
  .ftr { background: #000000; }
  th { background: #000000; color: var(--yel); border-bottom: 2px solid var(--line); }
  a:hover { color: var(--ink); }
}

/* --- печать --------------------------------------------------------------------------- */
@media print {
  .hdr, .ftr, .rail, .gobar, .spark, .cta, .foot-go, .helpful, .det, .kassa { display: none !important; }
  .art { box-shadow: none; border: 0; }
}
