/* ── Modal sections, scroll area, stat plates ───────────────────────────── */
/* Заголовок РАЗДЕЛА (верхний уровень иерархии справочных окон; рендерится
   helpText.sec()). Ниже него — заголовок раскрывашки (.wf-pfp-collhead,
   700/12.5px/--label-3), ниже — тело (.wf-pf-explain, 13px/--label-3-ish).
   Единый источник правды на все справочные экраны: правило одно, копий нет. */
.wf-sub { font-size: 13.5px; font-weight: 900; color: var(--ink); text-transform: uppercase; letter-spacing: .02em; margin: 18px 2px 6px; }
.wf-sub:first-child { margin-top: 2px; }
.wf-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch; padding-right: 8px; margin-right: -8px;
    scrollbar-width: thin; scrollbar-color: #D2D2D7 transparent; }
.wf-scroll::-webkit-scrollbar { width: 4px; }
.wf-scroll::-webkit-scrollbar-thumb { background: #D2D2D7; border-radius: 8px; }
/* Выплата — зелёным (как в эталоне): +$50.34. */
.wf-stat .v.pos { color: var(--ok); }

/* Key–value rows (label on left, monospace value on right) */
.wf-kv { cursor: default; }
.wf-kv .ml { flex: none; text-transform: none; font-weight: 700; font-size: 13px; color: var(--label); }
.wf-val {
    flex: 1; text-align: right; min-width: 0;
    font-family: 'SFMono-Regular', ui-monospace, Menlo, Consolas, monospace;
    font-size: 12px; font-weight: 600; color: var(--ink);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@media (hover: hover) { .wf-kv:hover .ml, .wf-kv:hover .mi { opacity: 1; } }

/* Cryptographic proof — always visible under the hero (макет: без разделителя,
   только воздух между степпером и POINT A). */
.wf-pf-proof { padding: 10px 0 2px; }

/* ── Round stepper + flat proof rows (mobile-first) ───────────────────────── */
.wf-pf-body { padding-top: 2px; }
/* Тонкий скроллбар (3px), прижат к правому краю, без трека-«контейнера».
   scrollbar-gutter: stable оставлен: правый паддинг .wf-body всего 2px (<3px),
   без gutter'а полоса при появлении скролла сдвигала бы/перекрывала контент
   при перелистывании раундов (у одних есть скролл, у других нет) — с резервом
   3px контент стабилен и полоса не ложится на текст. */
#pf-modal .wf-body {
    scrollbar-gutter: stable;
    scrollbar-width: thin; scrollbar-color: #D2D2D7 transparent;
}
#pf-modal .wf-body::-webkit-scrollbar { width: 3px; }
#pf-modal .wf-body::-webkit-scrollbar-track { background: transparent; }
#pf-modal .wf-body::-webkit-scrollbar-thumb { background: #D2D2D7; border-radius: 8px; }

/* Stepper header (макет): ◀ ROUND #N (● LIVE под ним) ▶ + квадратная pause/play. */
.wf-pf-stepper {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; margin: 2px 2px 6px; min-height: 40px;
}
/* Стрелки prev/next — те же серые кнопки, что pause/play (.wf-pf-live),
   но без зелёного «is-paused»-состояния. */
.wf-pf-step {
    flex: none; width: 46px; height: 40px; border: none; border-radius: 13px;
    background: var(--surface); color: var(--ink); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .14s var(--ease), opacity .14s var(--ease), transform .1s var(--ease);
}
.wf-pf-step svg { width: 15px; height: 15px; }
@media (hover: hover) { .wf-pf-step:hover { background: #EFEFF1; } }
.wf-pf-step:active { transform: scale(.94); }
.wf-pf-step.disabled { opacity: .3; cursor: default; }
.wf-pf-step.disabled:hover { background: var(--surface); }
.wf-pf-step.disabled:active { transform: none; }
/* Центр тянется на всю ширину — стрелки прижаты к краям. */
.wf-pf-stepmid {
    flex: 1 1 auto; min-width: 0;
    display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.wf-pf-stepnum {
    font-family: var(--ff-head); font-size: 13.5px; font-weight: 900;
    line-height: 20px; text-box-trim: trim-both; text-box-edge: cap alphabetic;
    color: var(--ink); letter-spacing: 0.01em; text-transform: uppercase; white-space: nowrap;
}
.wf-pf-livetag {
    display: inline-flex; align-items: center; gap: 5px;
    font-family: 'Inter', sans-serif; font-size: 10.5px; font-weight: 700;
    letter-spacing: 0.05em; text-transform: uppercase; color: var(--ok);
}
.wf-pf-livetag .dot {
    width: 6px; height: 6px; border-radius: 50%; background: currentColor;
}
/* На паузе тег «● PAUSED» — серый целиком (точка красится через currentColor). */
.wf-pf-livetag.off { color: #B0B0B8; }
/* Квадратная кнопка pause/play — 46×40, серый фон var(--surface); на паузе зеленоватая. */
.wf-pf-live {
    flex: none; width: 46px; height: 40px; border: none; border-radius: 13px; cursor: pointer;
    background: var(--surface); color: var(--ink);
    display: flex; align-items: center; justify-content: center;
    transition: background .14s var(--ease), color .14s var(--ease), transform .1s var(--ease);
}
.wf-pf-live svg { width: 15px; height: 15px; }
.wf-pf-live:active { transform: scale(.94); }
.wf-pf-live .wf-pf-live-play { display: none; }
.wf-pf-live.is-paused { background: rgba(10,163,58,0.13); color: var(--ok); }
.wf-pf-live.is-paused .wf-pf-live-pause { display: none; }
.wf-pf-live.is-paused .wf-pf-live-play { display: block; }
@media (hover: hover) { .wf-pf-live:hover { background: #EFEFF1; } }
@media (hover: hover) { .wf-pf-live.is-paused:hover { background: rgba(10,163,58,0.18); } }
/* FAIRNESS CHECK (одиночная ставка) — без степпера. */
.wf-pf-single .wf-pf-stepper { display: none; }

/* The one round proof (live head / stepper neighbour / jump target). Flat — sits
   directly on the white sheet, grouped only by hairline dividers, no card fill. */
/* Горизонтальный паддинг 2px: суммарный отступ контента от края модалки =
   10px (.wf-modal) + 2px (.wf-body) + 2px = 14px по бокам. */
.wf-pf-card {
    margin: 0; padding: 12px 2px 4px; border: none;
}
.wf-pf-card-head {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    margin-bottom: 10px;
}
.wf-pf-formula {
    font-family: 'Inter', sans-serif; font-size: 11px; color: var(--label-2);
}
.wf-pf-verdict {
    flex: none;
    font-family: var(--ff-head); font-size: 11px; font-weight: 900;
    text-transform: uppercase; letter-spacing: 0.02em; white-space: nowrap;
}
.wf-pf-verdict.ok   { color: var(--ok-2); }
.wf-pf-verdict.fail { color: var(--danger); }
.wf-pf-verdict.pend { color: var(--label); }

.wf-pf-row { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.wf-pf-row-mark { font-weight: 800; font-size: 13px; }
.wf-pf-row-mark.ok { color: var(--ok-2); }
.wf-pf-row-mark.fail { color: var(--danger); }
.wf-pf-row-mark.pend { color: var(--label); }
.wf-pf-row-lbl {
    flex: 1 1 auto;
    font-family: var(--ff-head); font-size: 11px; font-weight: 800;
    text-transform: uppercase; letter-spacing: 0.04em; color: #6A6A70;
}
.wf-pf-copy {
    flex: none; width: 34px; height: 34px; border: none; border-radius: var(--r-copy);
    background: none; color: var(--label-2); cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .12s, color .2s, transform .1s;
}
.wf-pf-copy svg { width: 16px; height: 16px; display: block; }
@media (hover: hover) { .wf-pf-copy:hover { background: rgba(0, 0, 0, 0.05); color: #6A6A70; } }
.wf-pf-copy:active { transform: scale(.9); }
.wf-pf-copy.copied { color: var(--ok); }

/* Зелёный фидбэк копирования — как в оригинале: при копировании вся плашка
   вспыхивает мятным + зелёная обводка (класс .copied ставится на кнопку ⧉,
   родителя ловим через :has). Мятный НЕПРОЗРАЧНЫЙ (#E5FCE9 = rgba(0,225,20,.10)
   поверх белого) — иначе на зелёной рамке SEED просвечивал бы ярко-зелёным. */
.wf-pfp-sha, .wf-pfp-seedrow, .wf-pfp-cnode, .wf-pfp-coordbox {
    transition: background .15s var(--ease), box-shadow .15s var(--ease);
}
.wf-pfp-sha:has(.wf-pf-copy.copied),
.wf-pfp-coordbox:has(.wf-pf-copy.copied),
.wf-pfp-cnode:has(.wf-pf-copy.copied) {
    background: #E5FCE9; box-shadow: inset 0 0 0 1.5px rgba(10, 163, 58, 0.45);
}
.wf-pfp-seedrow:has(.wf-pf-copy.copied) { background: #E5FCE9; }
.wf-pfp-cnode.commit:has(.wf-pf-copy.copied) {
    background: #E5FCE9;
    box-shadow: 0 0 0 2.5px var(--ok), inset 0 0 0 1.5px rgba(10, 163, 58, 0.45);
}

/* Hash value — plain text with a hairline underline (a field, not a box). ВСЕГДА
   сокращён (без раскрытия по клику); полное значение — только через ⧉ копирование. */
.wf-pf-hex {
    padding: 2px 2px 10px; margin-bottom: 4px;
    background: transparent; border: none; border-bottom: 1.5px solid #EDEDF1;
    font-family: 'Inter', sans-serif; font-size: 13px; line-height: 1.5; color: #2A2A2E;
    letter-spacing: 0.01em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    /* Выделяемость даёт атрибут data-selectable в разметке (SSoT — styles/app/scaffold.css). */
}

.wf-pf-series-note {
    margin-top: 6px; text-align: left; font-family: 'Inter', sans-serif;
    font-size: 11px; color: #C08A1C;
}
.wf-pf-msg {
    padding: 18px 8px; text-align: center; font-family: 'Inter', sans-serif;
    font-size: 12px; color: var(--label-2);
}

/* Per-point honesty rows. */
.wf-pf-nobets {
    display: inline-block; margin-top: 2px;
    font-family: var(--ff-head); font-size: 10px; font-weight: 800;
    text-transform: uppercase; letter-spacing: 0.04em; color: var(--label-2);
}

/* ── Proof card redesign (PROVABLY FAIR / FAIRNESS CHECK mockup) ──────────────
   POINT A/B section → SHA256 (dim) + green ▼ connector + SEED card w/ coord bar →
   fixed-height A→B viz → SEED CHAIN / COMMITS collapsibles. */

/* Section header "POINT A / ROUND #N". */
.wf-pfp-pthead {
    margin: 14px 2px 9px;
    font-family: var(--ff-head); font-size: 13.5px; font-weight: 900;
    line-height: 20px; text-box-trim: trim-both; text-box-edge: cap alphabetic;
    letter-spacing: 0.01em; text-transform: uppercase; color: var(--ink);
}
.wf-pfp-pthead:first-child { margin-top: 4px; }
.wf-pfp-pthead .sl { margin: 0 2px; }   /* макет: «/» тем же чёрным, что и текст */

/* Common hash-row primitives (SHA256 pill + SEED row). */
.wf-pfp-hxlbl {
    flex: none; display: inline-flex; align-items: center; gap: 4px;
    font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
    line-height: 20px; text-box-trim: trim-both; text-box-edge: cap alphabetic;
    letter-spacing: 0.01em; text-transform: uppercase; color: var(--label);
}
.wf-pfp-hxlbl.green { color: var(--ok); }
.wf-pfp-hxok   { color: var(--ok); font-size: 11px; font-weight: 900; }
.wf-pfp-hxfail { color: var(--danger); font-size: 11px; font-weight: 900; }
.wf-pfp-hxval {
    /* Макет: хеши обычным sans (Inter), не mono; значение прижато ВПРАВО перед
       кнопкой копирования — как поля .wf-fval во всех остальных модалках.
       БЕЗ text-box-trim: он резал верх глифов внутри 20px-строки. */
    flex: 1 1 auto; min-width: 0; text-align: right;
    font: 600 15px/20px 'Inter', sans-serif;
    color: var(--ink); letter-spacing: -0.01em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wf-pfp-hxval.dim { color: #B4B4BA; font-weight: 600; }

.wf-pfp-hbox { margin: 0; }
/* SHA256 box (dim, "committed" hash) — единый стиль полей модалок .wf-field:
   серый var(--surface), лейбл слева, значение вправо, копи-кнопка даёт правый отступ. */
.wf-pfp-sha {
    display: flex; align-items: center; gap: 10px;
    background: var(--surface); border-radius: var(--r-field); padding: 7px 6px 7px 14px;
    /* Структурный резерв = высота копи-кнопки (34px): строка с пустым хешем «—»
       (без ⧉) той же высоты, что заполненная — карточка не прыгает при догрузке. */
    min-height: 34px;
}
/* Green pill connector ▼ на шве SHA256 → SEED (наезжает на оба поля). */
.wf-pfp-conn {
    position: relative; z-index: 2; width: 34px; height: 19px; margin: -6px auto;
    box-shadow: 0 0 0 3px #FFFFFF;
    display: flex; align-items: center; justify-content: center;
    color: #FFFFFF; line-height: 1;
    background: var(--ok); border-radius: var(--r-copy);
}
.wf-pfp-conn svg { width: 12px; height: 12px; display: block; }
/* Green SEED card (the revealed secret) — зелёная рамка вокруг серого поля + плашка координат. */
.wf-pfp-seedcard {
    border-radius: 16px; overflow: hidden; background: var(--ok);
    padding: 2.5px; transition: box-shadow .12s ease;
}
/* Внутреннее поле SEED — тот же серый var(--surface), что у SHA256-бокса. */
.wf-pfp-seedrow {
    display: flex; align-items: center; gap: 10px; padding: 7px 6px 7px 14px;
    background: var(--surface); border-radius: 13px;
    min-height: 34px;   /* тот же структурный резерв, что .wf-pfp-sha */
}
.wf-pfp-coordbar {
    display: flex; align-items: center; justify-content: center; gap: 36px;
    padding: 3px 12px 4px; background: var(--ok); color: #FFFFFF;
    font: 700 13px/20px 'Inter', sans-serif;
    text-box-trim: trim-both; text-box-edge: cap alphabetic;
    white-space: nowrap;
}
.wf-pfp-coordbar i { font-style: normal; font-weight: 700; opacity: 0.9; }
/* Point B awaiting reveal placeholder. Структурный резерв высоты = полный дуэт
   боксов точки (SHA 48 + коннектор 7 + seedcard 2.5·2+48+coordbar 27 = 135px,
   минус свой padding 16·2 при content-box): при раскрытии B / переключении
   раундов плейсхолдер и заполненный бокс занимают одинаковую высоту. */
.wf-pfp-bpend {
    padding: 16px 12px; min-height: 103px;
    display: flex; align-items: center; justify-content: center; text-align: center;
    font: 600 11.5px 'Inter', sans-serif; color: var(--label-2);
    background: var(--surface); border-radius: var(--r-field);
}

/* Copy button sits inside the hash rows. */
.wf-pfp-sha .wf-pf-copy, .wf-pfp-seedrow .wf-pf-copy, .wf-pfp-cnode .wf-pf-copy { flex: none; }

/* A→B viz — FIXED HEIGHT so the zone never jumps when the 2nd seed loads. */
.wf-pfp-viz {
    margin: 18px 0 4px; height: 200px; background: var(--surface); border-radius: 16px;
    padding: 8px; color: var(--ink); overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.wf-pfp-viz svg { display: block; width: 100%; height: 100%; }
/* Заголовок POINT B идёт сразу после виджета/предупреждения — чуть больше воздуха сверху. */
.wf-pfp-viz + .wf-pfp-pthead,
.wf-pfp-warn + .wf-pfp-pthead,
.wf-pfp-coordbox + .wf-pfp-pthead { margin-top: 24px; }
.wf-pfp-vizmsg {
    text-align: center; padding: 0 16px;
    font: 600 12px 'Inter', sans-serif; color: var(--label);
}
.wf-pfp-vizmsg.err { color: var(--danger); }
.wf-pfp-warn {
    margin: 8px 0 0; padding: 8px 10px; border-radius: var(--r-copy); text-align: center;
    background: rgba(255,59,92,0.10); color: var(--danger);
    font: 700 11px 'Inter', sans-serif;
}

/* COORDINATES pill (FAIRNESS CHECK single-bet only). */
.wf-pfp-coordbox {
    display: flex; align-items: center; gap: 10px; margin: 10px 0 0;
    background: var(--surface); border-radius: var(--r-field); padding: 7px 6px 7px 14px;
    /* Резерв под копи-кнопку (34px): плейсхолдер «—» без ⧉ не ниже заполненного. */
    min-height: 34px;
}
.wf-pfp-coordbox .k {
    flex: none; font: 600 11px/20px 'Inter', sans-serif;
    text-box-trim: trim-both; text-box-edge: cap alphabetic;
    letter-spacing: 0.01em; text-transform: uppercase; color: var(--label);
}
.wf-pfp-coordbox .v {
    flex: 1 1 auto; text-align: right;
    font: 600 15px/20px 'Inter', sans-serif; color: var(--ink); letter-spacing: -0.01em;
}

/* Collapsible section (SEED CHAIN / COMMITS) — native <details>. Разделитель —
   только МЕЖДУ секциями (над первой, SEED CHAIN, линии нет — как в эталоне). */
.wf-pfp-collap { margin: 4px 0 0; }
.wf-pfp-collap + .wf-pfp-collap { border-top: 2px solid #ECECEF; }
.wf-pfp-collhead {
    display: flex; align-items: center; justify-content: space-between;
    padding: 11px 2px; cursor: pointer; list-style: none;
    font: 700 12.5px var(--ff-head);
    letter-spacing: 0.01em; text-transform: uppercase; color: var(--label-3);
}
.wf-pfp-collhead::-webkit-details-marker { display: none; }
/* Кликабельность: каретка + подсветка при наведении/нажатии (заголовок
   намеренно НЕ чёрный — чёрный занят уровнем выше, .wf-sub). */
@media (hover: hover) { .wf-pfp-collhead:hover { color: var(--ink); } }
.wf-pfp-collhead:active { color: var(--ink); }
.wf-pfp-caret { display: inline-flex; align-items: center; color: #B5B5BC; transition: transform .26s var(--ease); }
.wf-pfp-caret svg { display: block; width: 18px; height: 18px; }
.wf-pfp-collap[open] .wf-pfp-caret { transform: rotate(180deg); }
.wf-pfp-collbody { display: flex; flex-direction: column; gap: 0; padding: 0 0 10px; }

/* Chain / anchor node row — единый стиль полей .wf-field. */
.wf-pfp-cnode {
    display: flex; align-items: center; gap: 10px;
    background: var(--surface); border-radius: var(--r-field); padding: 7px 6px 7px 14px;
}
/* Соседние узлы без коннектора между ними (COMMITS: CURRENT/NEXT) — тот же
   зазор, что даёт пилюля-коннектор в цепи (~5px). */
.wf-pfp-cnode + .wf-pfp-cnode { margin-top: 5px; }
/* COMMIT (якорь #0) — простое зелёное кольцо вокруг поля (небольшой инсет,
   чтобы кольцо не резалось overflow'ом скролла). */
.wf-pfp-cnode.commit { margin: 2px 3px 3px; box-shadow: 0 0 0 2.5px var(--ok); }
.wf-pfp-cnode.next { opacity: 0.55; }
.wf-pfp-cidx {
    flex: none;
    font: 600 11px 'Inter', sans-serif; letter-spacing: 0.01em;
    text-transform: uppercase; color: var(--label); white-space: nowrap;
}
/* COMMIT / NEXT — тот же шрифт, что у остальных меток; отличаются только цветом. */
.wf-pfp-cnode.commit .wf-pfp-cidx { color: var(--ok); }
.wf-pfp-cnode.next .wf-pfp-cidx { color: var(--label-2); }
.wf-pfp-chx {
    flex: 1 1 auto; min-width: 0; text-align: right;
    font: 600 15px 'Inter', sans-serif;
    color: var(--ink); letter-spacing: -0.01em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wf-pfp-cnode.next .wf-pfp-chx { color: #B4B4BA; }
/* Связка-плашка «SHA-256» между узлами — наезжает на швы соседних полей
   (пилюля лежит НА границе), серая. */
.wf-pfp-cconn {
    display: flex; justify-content: center; padding: 0; margin: -7px 0;
    position: relative; z-index: 2;
}
.wf-pfp-cconn span {
    display: inline-flex; align-items: center; gap: 5px;
    background: #A9A9B0; color: #FFFFFF; border-radius: var(--r-copy); padding: 4px 11px;
    font: 800 10px 'Inter', sans-serif; letter-spacing: 0.05em; text-transform: uppercase;
    position: relative; box-shadow: 0 0 0 3px #FFFFFF;
}
/* Стрелка ▼ в плашках цепи — тот же SVG, что в зелёном коннекторе SHA256→SEED. */
.wf-pfp-cconn span svg, .wf-pfp-cmore svg { width: 11px; height: 11px; flex: none; display: block; }
/* «… N MORE SEEDS» — та же связка-плашка, зелёная. */
.wf-pfp-cmore {
    align-self: center; margin: -7px 0; background: var(--ok); color: #FFFFFF;
    display: inline-flex; align-items: center; gap: 5px;
    border-radius: var(--r-copy); padding: 5px 11px;
    font: 800 10px 'Inter', sans-serif; letter-spacing: 0.05em; text-transform: uppercase;
    position: relative; z-index: 2; box-shadow: 0 0 0 3px #FFFFFF;
}
.wf-pfp-note { margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 1.5; color: #5A5A60; }

/* Подсветка одинаковых хешей: наведение на любой хеш (data-full) подсвечивает все
   его вхождения в карточке — напр. сид точки и то же звено в seed chain. */
[data-pf-card] [data-full] { transition: background .12s ease, box-shadow .12s ease; }
[data-pf-card] .wf-hex-peer {
    background: rgba(var(--pink-rgb), 0.16); border-radius: 4px;
    box-shadow: 0 0 0 2px rgba(var(--pink-rgb), 0.30);
}
/* Двусторонняя подсветка точка↔сид (кольцо маркера — розовое, цвет линии):
   ховер маркера A/B в SVG или SEED-карточки показывает кольцо на точке. Сам SEED-хеш
   при ховере маркера красится розовым через .wf-hex-peer (_onHexHover), а НЕ зелёной
   обводкой блока — единый розовый акцент, как при обычном ховере хеша. */
.wf-pfp-mk { cursor: pointer; }
.wf-pfp-mk .ring { transition: opacity .12s ease; }
.wf-pfp-mk:hover .ring,
[data-pf-card]:has([data-pf-seed="A"]:hover) [data-pf-pt="A"] .ring,
[data-pf-card]:has([data-pf-seed="B"]:hover) [data-pf-pt="B"] .ring { opacity: 1 !important; }
/* Плашка-подложка под кодом координат A/B — цвет фона виджета (макет: подписи
   лежат на чистом фоне, без видимой рамки), но всё ещё маскирует линию под текстом. */
.wf-pfp-ptlbl rect {
    fill: var(--surface);
    stroke: none;
}
.wf-pfp-cellmk { cursor: pointer; }
.wf-pfp-cellmk .cellring { transition: opacity .12s ease; }
.wf-pfp-cellmk:hover .cellring { opacity: 1 !important; }

/* Series anchor line + next-round one-line promise. */
.wf-pf-anchor {
    display: flex; align-items: baseline; gap: 8px; margin: 14px 14px 6px;
}
.wf-pf-anchor-lbl {
    flex: none; font-family: var(--ff-head); font-size: 11px; font-weight: 800;
    text-transform: uppercase; letter-spacing: 0.04em; color: var(--label-2);
}
.wf-pf-anchor-val {
    flex: 1 1 auto; text-align: right; cursor: pointer;
    font-family: 'Inter', sans-serif; font-size: 12px; color: #6A6A70;
}
.wf-pf-anchor-val.copied { color: var(--ok-2); }

/* Заблаговременный якорь СЛЕДУЮЩЕЙ серии — скромная вторая строка под текущим якорем.
   Тот же layout (.wf-pf-anchor), лишь чуть приглушённее и плотнее — не привлекает внимания. */
.wf-pf-anchor-next { margin-top: 0; opacity: 0.75; }

/* "How does this prove fairness?" collapsible explainer — flat list row with a
   hairline top divider, not a filled box. */
/* Fairness-instruction window: long title must wrap and clear the back button. */
#pf-help-modal .wf-titlewrap { padding: 0 46px; box-sizing: border-box; }
#pf-help-modal .wf-title {
    font-size: 15px; line-height: 1.15; white-space: normal; overflow: visible;
    text-overflow: clip; text-transform: none;
}

/* Fairness-instruction window body (opened by "?"). */
.wf-pf-explain {
    margin: 4px 4px 12px;
    font-family: 'Inter', sans-serif; font-size: 13px; line-height: 1.55; color: #5A5A60;
}
.wf-pf-explain p { margin: 12px 0; }
.wf-pf-explain b { color: var(--ink); font-weight: 800; }
/* Буллет-списки справки (Rejected bets и т.п.) внутри тела раскрывашки. */
.wf-pf-explain ul { margin: 8px 0; padding-left: 18px; list-style: disc; }
.wf-pf-explain li { margin: 4px 0; }

.wf-pf-history {
    margin: 10px 14px 0; font-family: 'Inter', sans-serif;
    font-size: 11px; line-height: 1.4; color: var(--label); text-align: left; min-height: 14px;
}
.wf-pf-history.ok { color: var(--ok-2); }
.wf-pf-history.fail { color: var(--danger); }
.wf-pf-history:empty { display: none; }

