/* Kaszinó-főkönyv — дизайн-система. Бумага, чернила, кобальт, маркер. Префикс классов fk- (config.site.prefix). */
@font-face { font-family: "Fraunces"; src: url("/assets/fonts/fraunces-display-650.woff2") format("woff2"); font-weight: 650; font-style: normal; font-display: optional; }
@font-face { font-family: "Ledger Mono"; src: url("/assets/fonts/jbmono-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: optional; }

:root {
  --paper: #f5f1e8; --paper-2: #efe8da; --card: #fffdf8; --ink: #15171c; --ink-2: #3d4250; --muted: #5d616b;
  --rule: #d9cfbd; --rule-2: #c6b89f; --cobalt: #1f3fbf; --cobalt-2: #152d8f; --marker: #ffe36e; --vermilion: #c2410c; --green: #1e7a45; --gold: #c9a227;
  --serif: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --display: "Fraunces", Charter, Georgia, serif;
  --mono: "Ledger Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --wrap: 1180px; --measure: 70ch; --radius: 4px;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 5rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1.0625rem/1.65 var(--serif); }
img { max-width: 100%; height: auto; }
a { color: var(--cobalt); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--cobalt-2); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--cobalt); outline-offset: 2px; }
.fk-footer :focus-visible { outline-color: var(--marker); }
h2[id], h3[id] { scroll-margin-top: 5.5rem; }
h1, h2, h3 { text-wrap: balance; }
.fk-wrap { width: min(100% - 2rem, var(--wrap)); margin-inline: auto; }
.fk-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fk-skip { position: absolute; left: -999px; top: .5rem; background: var(--ink); color: var(--paper); padding: .5rem .8rem; z-index: 100; }
.fk-skip:focus { left: .5rem; }

/* Шапка: двойная линейка гроссбуха снизу. Без backdrop-filter — иначе fixed-меню на мобиле «прилипает» к шапке. */
.fk-header { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--ink); box-shadow: 0 3px 0 -2px var(--paper), 0 4px 0 -2px var(--ink); }
.fk-headrow { display: flex; align-items: center; gap: .75rem; min-height: 3.6rem; }
.fk-logo { display: inline-flex; align-items: center; gap: .45rem; font: 650 1.35rem/1 var(--display); color: var(--ink); text-decoration: none; letter-spacing: -.01em; }
.fk-logomark { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; background: var(--ink); color: var(--gold); border-radius: 3px; font: 700 1.15rem/1 Georgia, serif; }
.fk-age { font: 600 .72rem/1 var(--mono); border: 1.5px solid var(--vermilion); color: var(--vermilion); padding: .22rem .35rem; border-radius: 3px; letter-spacing: .04em; }
.fk-burger { margin-left: auto; display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; appearance: none; font: 600 .78rem/1 var(--mono); color: var(--ink); background: transparent; border: 1.5px solid var(--ink); border-radius: var(--radius); padding: .55rem .7rem; letter-spacing: .08em; text-transform: uppercase; }
.fk-burgerlines { width: 18px; height: 12px; background: linear-gradient(var(--ink) 0 0) top/100% 2px no-repeat, linear-gradient(var(--ink) 0 0) center/100% 2px no-repeat, linear-gradient(var(--ink) 0 0) bottom/100% 2px no-repeat; }
.fk-nav { display: none; }
.fk-nav ul { list-style: none; margin: 0; padding: 0; }
.nav-toggle[aria-expanded="true"] ~ .primary-nav { display: flex; }
html.nav-open { overflow: hidden; }
@media (max-width: 900px) {
  .fk-nav { position: fixed; inset: 3.8rem 0 0; z-index: 60; background: var(--paper); overflow-y: auto; padding: 1rem 1rem 3rem; border-top: 1px solid var(--ink); flex-direction: column; }
  .fk-nav > ul > li { border-bottom: 1px solid var(--rule); }
  .fk-nav summary { font: 650 1.3rem/1.2 var(--display); padding: .9rem 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
  .fk-nav summary::after { content: "+"; font-family: var(--mono); color: var(--cobalt); }
  .fk-nav details[open] summary::after { content: "–"; }
  .fk-nav details ul { padding: 0 0 .9rem .2rem; }
  .fk-nav details a { display: block; padding: .45rem 0; font-size: 1.05rem; text-decoration: none; color: var(--ink); }
  .fk-nav details a[aria-current="page"] { color: var(--cobalt); font-weight: 700; }
}
@media (min-width: 901px) {
  .fk-burger { display: none; }
  .fk-nav { display: block; margin-left: auto; }
  .fk-nav > ul { display: flex; gap: .25rem; }
  .fk-navgroup { position: relative; }
  .fk-nav summary { list-style: none; cursor: pointer; font: 600 .8rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; padding: .7rem .75rem; border: 1.5px solid transparent; border-radius: var(--radius); }
  .fk-nav summary::-webkit-details-marker { display: none; }
  .fk-nav summary:hover, .fk-nav details[open] summary { border-color: var(--ink); background: var(--card); }
  .fk-nav details ul { position: absolute; right: 0; top: calc(100% + .45rem); min-width: 17rem; background: var(--card); border: 1.5px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); padding: .5rem 0; z-index: 70; }
  .fk-nav details a { display: block; padding: .42rem 1rem; color: var(--ink); text-decoration: none; font-size: .98rem; }
  .fk-nav details a:hover { background: var(--marker); }
  .fk-nav details a[aria-current="page"] { color: var(--cobalt); font-weight: 700; }
}

/* Заголовочный блок: киккер моно, H1 Fraunces, строка метаданных. */
.fk-main { padding-block: 1.25rem 3rem; }
.fk-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: .25rem 0 1rem; font: 600 .74rem/1.4 var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.fk-crumbs li + li::before { content: "/"; margin-right: .35rem; color: var(--rule-2); }
.fk-crumbs a { color: var(--ink-2); text-decoration: none; }
.fk-titleblock { max-width: 58rem; margin-bottom: 1.4rem; }
.fk-kicker { font: 600 .78rem/1.35 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--vermilion); margin: 0 0 .7rem; }
.fk-titleblock h1 { font: 650 clamp(2rem, 1.3rem + 3.2vw, 3.5rem)/1.04 var(--display); letter-spacing: -.008em; margin: 0 0 .9rem; font-variation-settings: "opsz" 144; }
.fk-meta { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; font: 600 .76rem/1.4 var(--mono); color: var(--muted); letter-spacing: .03em; margin: 0; padding-top: .7rem; border-top: 1px solid var(--rule); }
.fk-meta a { color: var(--ink-2); }

/* Текст статьи: мера строки, разделы § N через CSS-счётчики, красная полевая линия на широких экранах. */
.fk-body { counter-reset: sec; max-width: var(--measure); }
.fk-body h2 { counter-increment: sec; font: 650 clamp(1.45rem, 1.1rem + 1.2vw, 2rem)/1.15 var(--display); letter-spacing: -.01em; margin: 2.6rem 0 .8rem; padding-top: 1rem; border-top: 2px solid var(--ink); }
.fk-body h2::before { content: "§ " counter(sec); display: block; font: 600 .78rem/1 var(--mono); letter-spacing: .1em; color: var(--vermilion); margin-bottom: .55rem; }
.fk-body h3 { font: 700 1.18rem/1.3 var(--serif); margin: 1.8rem 0 .5rem; }
.fk-body h4 { font: 600 .82rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .06em; margin: 1.4rem 0 .4rem; }
.fk-body p, .fk-body li { hyphens: auto; hyphenate-limit-chars: 10 4 4; -webkit-hyphenate-limit-before: 4; -webkit-hyphenate-limit-after: 4; }
.fk-body a, .fk-body mark, .fk-body strong { hyphens: manual; }
.fk-body a { overflow-wrap: anywhere; }
/* Мера строки для текста ~60–75 знаков; заголовки разделов и таблицы остаются шире, чтобы линейки совпадали с таблицами. */
.fk-body > p, .fk-body > ul, .fk-body > ol, .fk-body > .fk-callout { max-width: 40rem; }
.fk-body ul, .fk-body ol { padding-left: 1.25rem; }
.fk-body li { margin: .3rem 0; }
.fk-body li::marker { color: var(--vermilion); font-family: var(--mono); }
.fk-body hr { border: 0; border-top: 1px dashed var(--rule-2); margin: 2rem 0; }
mark { background: linear-gradient(transparent 52%, var(--marker) 52%, var(--marker) 92%, transparent 92%); color: inherit; padding: 0 .1em; }
code { font: .92em var(--mono); background: var(--paper-2); padding: .05em .3em; border-radius: 3px; }
@media (min-width: 1100px) {
  .fk-article { position: relative; padding-left: 4.5rem; }
  .fk-article::before { content: ""; position: absolute; left: 3rem; top: 0; bottom: 0; border-left: 2px solid rgba(194, 65, 12, .35); }
  /* Статьи с оглавлением: сетка «текст | липкое оглавление», оглавление едет вместе с чтением. */
  .fk-page:not(.fk-page--home):not(.fk-page--hub):not(.fk-page--ranking) .fk-article:has(> .fk-toc) { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; column-gap: 3rem; }
  .fk-page:not(.fk-page--home):not(.fk-page--hub):not(.fk-page--ranking) .fk-toc { position: sticky; top: 5rem; grid-column: 2; grid-row: 1 / span 2; align-self: start; width: auto; max-height: calc(100vh - 6rem); overflow: auto; }
  .fk-titleblock, .fk-body { grid-column: 1; }
  /* Главная: рейтинг и таблицы на всю ширину, текст — в мере строки. */
  .fk-page--home .fk-body, .fk-page--hub .fk-body, .fk-page--ranking .fk-body { max-width: none; }
  .fk-page--home .fk-body > :not(.fk-ledger):not(.fk-tablewrap):not(.fkt-wrap):not(h2) { max-width: 40rem; }
}

/* Оглавление — учётная карточка; на мобиле свёрнуто, чтобы первый экран не был списком ссылок. */
.fk-toc { background: var(--card); border: 1.5px solid var(--ink); box-shadow: 4px 4px 0 var(--ink); padding: .9rem 1.1rem; margin: 0 0 1.8rem; max-width: 34rem; }
.fk-toc summary { font: 600 .74rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; padding: .2rem 0; }
.fk-toc summary::-webkit-details-marker { display: none; }
.fk-toc summary::after { content: "+"; color: var(--cobalt); }
.fk-toc details[open] summary::after { content: "–"; }
.fk-toc details[open] summary { margin-bottom: .6rem; }
.fk-toc ol { margin: 0; padding-left: 1.4rem; font-size: .96rem; }
.fk-toc a { color: var(--ink); text-decoration: none; }
.fk-toc a:hover { background: var(--marker); }

/* Таблицы — линованная бумага: только горизонтальные линейки, моно-шапка, цифры моно. */
/* position: relative — иначе скрытые .fk-sr в шапке таблицы позиционируются от документа и расширяют страницу на мобиле. */
.fk-tablewrap, .fk-ledger { position: relative; overflow-x: auto; margin: 1.3rem 0; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; font-size: .95rem; background: var(--card); }
caption { caption-side: top; text-align: left; font: 600 .74rem/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 0 0 .5rem; }
th, td { text-align: left; vertical-align: top; padding: .6rem .7rem; border-bottom: 1px solid var(--rule); }
thead th { font: 600 .72rem/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2); border-bottom: 2px solid var(--ink); background: var(--paper-2); }
tbody th { font-weight: 700; }
td small, th small { display: block; color: var(--muted); font-size: .82rem; margin-top: .2rem; font-weight: 400; }
.fk-num { font-family: var(--mono); white-space: nowrap; }
@media (max-width: 720px) {
  .fk-wide { min-width: 36rem; }
  /* Широкие таблицы: тень у края показывает, что можно листать вбок; первый столбец (название) закреплён. */
  .fk-tablewrap { background: linear-gradient(to right, var(--card) 40%, rgba(255, 253, 248, 0)) left / 2.5rem 100% no-repeat local, linear-gradient(to left, var(--card) 40%, rgba(255, 253, 248, 0)) right / 2.5rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, rgba(21, 23, 28, .22), transparent) left / .9rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, rgba(21, 23, 28, .22), transparent) right / .9rem 100% no-repeat scroll; background-color: var(--card); }
  .fk-tablewrap > table { background: transparent; }
  .fk-tablewrap tbody th, .fk-tablewrap thead th:first-child { position: sticky; left: 0; z-index: 1; background: var(--card); box-shadow: 1px 0 0 var(--rule), inset 0 -1px 0 var(--rule); }
  .fk-tablewrap thead th:first-child { background: var(--paper-2); }
}
.fk-ok { color: var(--green); font-weight: 700; } .fk-no { color: var(--vermilion); font-weight: 700; } .fk-na { color: var(--muted); }
.fk-matrix td { text-align: center; font-size: 1.05rem; }
.fk-fine { font-size: .86rem; color: var(--muted); margin-top: .4rem; }
.fk-src { font: 600 .72rem/1 var(--mono); text-transform: uppercase; letter-spacing: .05em; }

/* Иллюстрации страниц — вклеенная в книгу картинка с тенью, как карточки. */
.fk-hero { margin: 1.7rem 0; }
.fk-hero img { display: block; width: 100%; height: auto; border: 1.5px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); background: var(--paper-2); }
.fk-hero figcaption { margin-top: .65rem; font: 600 .68rem/1.35 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }

/* Главный рейтинг — гроссбух. */
.fk-ledger table { border: 1.5px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.fk-ledger caption { padding-bottom: .6rem; }
.fk-rank span { font: 600 2.2rem/1 var(--mono); color: var(--ink); letter-spacing: -.04em; }
.fk-ledger tbody tr:first-child .fk-rank span { color: var(--cobalt); }
.fk-name a { font: 650 1.3rem/1.15 var(--display); color: var(--ink); text-decoration: none; }
.fk-name a:hover { color: var(--cobalt); }
.fk-score b { font: 600 1.6rem/1 var(--mono); }
.fk-score > span { font: 600 .9rem var(--mono); color: var(--muted); }
.fk-ticks { display: flex; gap: .15rem; margin-top: .35rem; font: 600 .82rem/1 var(--mono); }
.fk-ticks span { display: inline-grid; place-items: center; width: 1.05rem; height: 1.2rem; border: 1px solid var(--rule); background: var(--paper); }
.fk-offer { max-width: 21rem; }
.fk-act { white-space: nowrap; text-align: right; }
.fk-more { display: block; margin-top: .05rem; padding: .4rem 0; font: 600 .74rem/1 var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.fk-legend { font: 600 .74rem/1.6 var(--mono); color: var(--muted); letter-spacing: .02em; }
.fk-legend span { margin-right: .5rem; }
@media (max-width: 720px) {
  .fk-ledger table, .fk-ledger tbody, .fk-ledger tr, .fk-ledger td, .fk-ledger th { display: block; width: 100%; }
  .fk-ledger caption { display: block; padding: .6rem .7rem .55rem; border-bottom: 1px solid var(--rule); }
  .fk-ledger thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .fk-ledger table { box-shadow: 4px 4px 0 var(--ink); }
  .fk-ledger tr { display: grid; grid-template-columns: 3.4rem 1fr; border-bottom: 2px solid var(--ink); padding: .4rem 0; }
  .fk-ledger tr > * { border: 0; padding: .35rem .6rem; }
  .fk-rank { grid-row: span 4; }
  .fk-score, .fk-offer, .fk-act { grid-column: 2; }
  .fk-score::before, .fk-offer::before { content: attr(data-label); display: block; font: 600 .68rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
  .fk-act { text-align: left; display: flex; align-items: center; gap: 1rem; }
  .fk-act .fk-more { margin: 0; }
  /* Номер — в одну строку с названием (без пустой полосы под ним); остальное на всю ширину карточки. */
  .fk-ledger tr { grid-template-columns: auto 1fr; column-gap: .3rem; }
  .fk-rank { grid-row: auto; }
  .fk-rank span { font-size: 1.8rem; }
  .fk-score, .fk-offer, .fk-act { grid-column: 1 / -1; }
  .fk-ledger .fk-act { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.2rem; }
}

/* Кнопки: печатный оттиск — кобальт, чернильная тень. */
.fk-btn { display: inline-block; background: var(--cobalt); color: #fff; font: 600 .82rem/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; text-decoration: none; padding: .8rem 1rem; border: 1.5px solid var(--ink); border-radius: var(--radius); box-shadow: 3px 3px 0 var(--ink); transition: transform .12s ease, box-shadow .12s ease; }
.fk-btn:hover { color: #fff; background: var(--cobalt-2); transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--ink); }
.fk-btn:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--ink); }
.fk-disclosure { font-size: .86rem; color: var(--ink-2); border-left: 3px solid var(--gold); padding: .35rem .7rem; background: var(--card); margin: 1rem 0 .6rem; }

/* Штамп и выноски. */
.fk-stamp { display: inline-block; font: 600 .72rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--cobalt); border: 2px solid var(--cobalt); border-radius: 3px; padding: .35rem .5rem; transform: rotate(-2.5deg); box-shadow: inset 0 0 0 1px rgba(31, 63, 191, .25); background: rgba(255, 255, 255, .4); }
.fk-stampline { margin: 0 0 1.2rem; }
.fk-callout { position: relative; background: var(--card); border: 1.5px solid var(--ink); padding: .9rem 1.1rem; margin: 1.4rem 0; box-shadow: 4px 4px 0 var(--rule-2); }
.fk-callout p { margin: 0; }
.fk-callout--warn { border-left: 6px solid var(--vermilion); }
.fk-callout--answer { background: linear-gradient(90deg, rgba(255, 227, 110, .55), rgba(255, 227, 110, .15)); border-color: var(--ink); }
.fk-callout::before { content: ""; position: absolute; top: -9px; left: 1.2rem; width: 2.6rem; height: 14px; background: rgba(201, 162, 39, .55); transform: rotate(-3deg); }

/* Блок фактов обзора. */
.fk-facts { background: var(--card); border: 1.5px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); margin: 0 0 2rem; }
.fk-facts header { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 1rem 1.1rem; border-bottom: 2px solid var(--ink); background: var(--paper-2); }
.fk-facts header strong { font: 650 1.5rem/1.1 var(--display); }
.fk-bigscore { margin-left: auto; font: 600 1rem var(--mono); color: var(--muted); }
.fk-bigscore b { font-size: 2rem; color: var(--ink); }
.fk-facts dl { margin: 0; }
.fk-facts dl > div { display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr; gap: .8rem; padding: .6rem 1.1rem; border-bottom: 1px solid var(--rule); }
.fk-facts dt { font: 600 .72rem/1.5 var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.fk-facts dd { margin: 0; }
.fk-factcrit { display: flex; flex-wrap: wrap; gap: .4rem .9rem; padding: .8rem 1.1rem; font: 600 .78rem/1.3 var(--mono); border-bottom: 1px solid var(--rule); }
.fk-facts footer { padding: 1rem 1.1rem; }
@media (max-width: 560px) { .fk-facts dl > div { grid-template-columns: 1fr; gap: .15rem; } }

.fk-criteria { padding-left: 1.4rem; }
.fk-criteria li { margin: .5rem 0; }
.fk-plain caption { color: var(--ink-2); }

/* Подвал — задняя обложка: чернила и бумажный текст. */
.fk-footer { background: var(--ink); color: #e9e3d6; padding: 2.4rem 0 3rem; font-size: .95rem; }
.fk-footer a { color: #ffe9a8; }
.fk-rg { border: 1.5px solid #e9e3d6; padding: 1rem 1.2rem; margin-bottom: 1.4rem; }
.fk-rg h2 { font: 650 1.35rem/1.2 var(--display); margin: 0 0 .5rem; display: flex; align-items: center; gap: .6rem; }
.fk-rg .fk-age { border-color: #ffb08a; color: #ffb08a; }
.fk-legal { color: #cfc7b6; font-size: .9rem; max-width: 80ch; }
.fk-footnav { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1.2rem; margin: 1.6rem 0; padding-top: 1.2rem; border-top: 1px solid #3a3d46; }
.fk-footnav p { font: 600 .72rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #9aa0ab; margin: 0 0 .6rem; }
.fk-footnav ul { list-style: none; margin: 0; padding: 0; }
.fk-footnav li { margin: .28rem 0; }
.fk-footnav a { color: #e9e3d6; text-decoration: none; }
.fk-footnav a:hover { color: #ffe9a8; text-decoration: underline; }
.fk-copy { font: 600 .72rem/1.6 var(--mono); color: #9aa0ab; letter-spacing: .02em; }

/* Нижняя граница для мелких моно-подписей на телефоне (стоит в конце, чтобы перекрыть базовые размеры выше). */
@media (max-width: 720px) { thead th, .fk-facts dt, .fk-hero figcaption, .fk-crumbs ol { font-size: .75rem; } }

@keyframes fk-press { 0% { transform: rotate(-2.5deg) scale(1.18); } 60% { transform: rotate(-2.5deg) scale(.96); } 100% { transform: rotate(-2.5deg) scale(1); } }
.fk-facts .fk-stamp, .fk-stampline .fk-stamp { animation: fk-press .45s cubic-bezier(.2,.8,.3,1) .15s both; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ==== Рейтинг-таблица «как на УЗ-сайте / akchabet» (30.09.2026) ==== */
.fkt-wrap{position:relative;z-index:1;margin:1.2rem 0 1.6rem;container-type:inline-size}
.fkt-disc{font-size:.8rem;line-height:1.45;margin:0 0 .7rem;max-width:40rem}
.fkt-foot{font-size:.75rem;line-height:1.45;margin:.8rem 0 0;max-width:40rem}
.fkt-top{--fon:#fff;--blok:#f6f6f6;--chg:rgba(0,0,0,.07);--vtor:rgba(0,0,0,.62);--zel:#12805a;--rad:18px;--rad2:14px;max-width:1180px;margin:0 auto;display:grid;gap:18px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;color:#111}
.fkt-card{background:var(--fon);border:1px solid var(--chg);border-radius:var(--rad);padding:16px;box-shadow:0 14px 30px rgba(0,0,0,.06);transition:transform .15s ease,box-shadow .15s ease;overflow:hidden}
.fkt-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.fkt-row{display:grid;grid-template-columns:90px 1.25fr 1fr 1fr 1fr 1fr 120px 180px;gap:12px;align-items:center}
.fkt-brand{position:relative;width:90px;display:grid;justify-items:start}
.fkt-rank{position:absolute;left:-6px;top:-6px;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-weight:900;font-size:12px;color:#111;background:#f4b400;border:2px solid #fff;box-shadow:0 10px 18px rgba(0,0,0,.14)}
.fkt-logo{width:66px!important;height:66px!important;border-radius:50%;object-fit:cover;background:#fff;border:1px solid var(--chg);box-shadow:0 8px 16px rgba(0,0,0,.06)}
.fkt-title{min-width:0}
.fkt-name{font-weight:900;font-size:16px;line-height:1.1;margin:0}
.fkt-tags{margin-top:6px;font-size:12px;color:var(--vtor)}
.fkt-box{background:var(--blok);border:1px solid var(--chg);border-radius:var(--rad2);padding:10px;min-height:58px;display:grid;align-content:center;gap:4px;min-width:0}
.fkt-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--vtor)}
.fkt-val{font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fkt-score{justify-self:center;text-align:center;background:linear-gradient(180deg,rgba(244,180,0,.16),rgba(244,180,0,.06));border:1px solid rgba(244,180,0,.25);border-radius:999px;padding:10px 12px;min-width:88px}
.fkt-num{font-weight:1000;font-size:16px}
.fkt-sub{display:block;font-size:11px;color:var(--vtor);margin-top:2px}
.fkt-btn{justify-self:end}
.fkt-btn a{display:inline-flex;align-items:center;justify-content:center;width:180px;height:50px;border-radius:16px;background:var(--zel);color:#fff!important;text-decoration:none;font-weight:1000;letter-spacing:.02em;border:1px solid rgba(0,0,0,.06);box-shadow:0 14px 26px rgba(18,128,90,.25);transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.fkt-btn a:hover{filter:brightness(.97);transform:translateY(-2px);box-shadow:0 18px 34px rgba(18,128,90,.30)}
@container (min-width:1021px) and (max-width:1179px){.fkt-row{grid-template-columns:74px 1.25fr repeat(4,minmax(0,1fr)) 88px 150px;gap:10px}.fkt-brand{width:74px}.fkt-btn a{width:150px}.fkt-val{font-size:13px}}
@container (max-width:1020px){.fkt-row{grid-template-columns:90px 1fr 180px;grid-template-areas:"brand title btn" "brand m1 m2" "brand m3 m4" "brand score score"}.fkt-brand{grid-area:brand}.fkt-title{grid-area:title}.fkt-m1{grid-area:m1}.fkt-m2{grid-area:m2}.fkt-m3{grid-area:m3}.fkt-m4{grid-area:m4}.fkt-score{grid-area:score;justify-self:start;max-width:260px}.fkt-btn{grid-area:btn}}
@container (max-width:600px){.fkt-card{padding:14px}.fkt-row{grid-template-columns:1fr;grid-template-areas:"brand" "title" "m1" "m2" "m3" "m4" "score" "btn"}.fkt-brand{justify-items:start}.fkt-score{justify-self:start}.fkt-btn{justify-self:stretch}.fkt-btn a{width:100%}}
@media (prefers-reduced-motion:reduce){.fkt-card,.fkt-btn a{transition:none}.fkt-card:hover,.fkt-btn a:hover{transform:none}}
/* ==== /рейтинг-таблица ==== */
