/* LupaPY — витрина сайта Парагвая. Префикс lu-. Мобильная вёрстка первой; меню по паттерну CLAUDE.md §2. */
@font-face { font-family: "Bricolage Grotesque"; src: url(/assets/fonts/bricolage-700.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  --ink: #14213d; --paper: #fdfaf4; --sand: #f5ecdd; --line: #e4d8c3; --text: #1c2332; --muted: #596175;
  --accent: #b93e0c; --warm: #f4a259; --ok: #0f766e; --no: #b42318; --na: #8a90a0;
  --head: "Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;
  --body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --r: 14px; --shell: 1160px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 84px; }
html.nav-open { overflow: hidden; }
body { margin: 0; background: var(--paper); color: var(--text); font: 17px/1.62 var(--body); overflow-wrap: break-word; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-underline-offset: 2px; }
a:hover { color: var(--ink); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.lu-topbar :focus-visible, .lu-foot :focus-visible { outline-color: var(--warm); }
h2[id], h3[id] { scroll-margin-top: 88px; }
h1, h2, h3 { text-wrap: balance; }
.lu-shell { width: 100%; max-width: var(--shell); margin: 0 auto; padding: 0 16px; }
.lu-skip { position: absolute; left: -9999px; top: 0; background: var(--ink); color: #fff; padding: 10px 14px; z-index: 100; }
.lu-skip:focus { left: 8px; top: 8px; }
.lu-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* Верхняя полоска и шапка */
.lu-topbar { background: var(--ink); color: #dfe4f0; font-size: 13px; }
.lu-topbar .lu-shell { display: flex; gap: 10px; align-items: center; min-height: 34px; }
.lu-topbar p { margin: 0; }
.lu-age { display: inline-grid; place-items: center; min-width: 34px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--warm); color: var(--ink); font: 700 12px/1 var(--body); }
.lu-mast { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--line); }
.lu-mast-row { display: flex; align-items: center; justify-content: space-between; min-height: 60px; gap: 12px; }
.lu-brand { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); text-decoration: none; font: 700 24px/1 var(--head); letter-spacing: -.02em; }
.lu-brand b { color: var(--accent); }
.lu-menubtn { appearance: none; font: inherit; font-weight: 600; color: var(--ink); background: var(--sand); border: 1px solid var(--line); border-radius: 22px; padding: 8px 16px 8px 12px; display: inline-flex; align-items: center; gap: 9px; cursor: pointer; }
.lu-menubtn-bars, .lu-menubtn-bars::before, .lu-menubtn-bars::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; position: relative; }
.lu-menubtn-bars::before, .lu-menubtn-bars::after { content: ""; position: absolute; left: 0; }
.lu-menubtn-bars::before { top: -6px; } .lu-menubtn-bars::after { top: 6px; }
.lu-menubtn[aria-expanded="true"] .lu-menubtn-bars { background: transparent; }
.lu-menubtn[aria-expanded="true"] .lu-menubtn-bars::before { top: 0; transform: rotate(45deg); }
.lu-menubtn[aria-expanded="true"] .lu-menubtn-bars::after { top: 0; transform: rotate(-45deg); }
.lu-menu { display: none; }
.lu-menu ul { list-style: none; margin: 0; padding: 0; }
.lu-menu summary { cursor: pointer; font-weight: 700; color: var(--ink); list-style: none; }
.lu-menu summary::-webkit-details-marker { display: none; }
.lu-menu summary::after { content: "▾"; margin-left: 6px; color: var(--accent); }
.lu-menu a { color: var(--text); text-decoration: none; }
.lu-menu a[aria-current="page"] { color: var(--accent); font-weight: 700; }
@media (max-width: 899px) {
  .nav-toggle[aria-expanded="true"] ~ .primary-nav { display: flex; }
  .lu-menu { position: fixed; top: var(--menu-top, 94px); left: 0; right: 0; bottom: 0; z-index: 60; background: var(--paper); overflow-y: auto; padding: 8px 16px 32px; border-top: 1px solid var(--line); }
  .lu-menu > ul { width: 100%; }
  .lu-menu-group { border-bottom: 1px solid var(--line); }
  .lu-menu summary { padding: 14px 2px; font-size: 18px; }
  .lu-menu details ul { padding: 0 0 12px 10px; }
  .lu-menu details a { display: block; padding: 8px 4px; }
}
@media (min-width: 900px) {
  .lu-menubtn { display: none; }
  .lu-menu { display: block; }
  .lu-menu > ul { display: flex; gap: 26px; }
  .lu-menu-group { position: relative; }
  .lu-menu details > ul { position: absolute; right: 0; top: calc(100% + 12px); min-width: 280px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 10px; box-shadow: 0 16px 40px rgba(20, 33, 61, .14); z-index: 60; }
  .lu-menu details a { display: block; padding: 7px 10px; border-radius: 8px; }
  .lu-menu details a:hover { background: var(--sand); }
}

/* Заголовок страницы и оглавление */
.lu-main { padding-top: 14px; padding-bottom: 40px; }
.lu-path ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0 0 10px; padding: 0; font-size: 14px; color: var(--muted); }
.lu-path li + li::before { content: "/"; margin: 0 8px; color: var(--line); }
.lu-path a { color: var(--muted); }
.lu-titlebox { padding: 6px 0 16px; border-bottom: 2px solid var(--ink); margin-bottom: 20px; }
.lu-kicker { margin: 0 0 6px; color: var(--accent); font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.lu-titlebox h1 { margin: 0 0 10px; font: 700 clamp(29px, 6.4vw, 46px)/1.08 var(--head); letter-spacing: -.025em; color: var(--ink); max-width: 30ch; }
.lu-byline { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; font-size: 14px; color: var(--muted); }
.lu-byline .lu-byline-team { color: var(--muted); }
.lu-cols { display: grid; gap: 18px; }
.lu-toc { background: var(--sand); border-radius: var(--r); padding: 12px 16px; }
.lu-toc summary { cursor: pointer; font-weight: 700; color: var(--ink); }
.lu-toc summary span { color: var(--muted); font-weight: 400; }
.lu-toc ol { margin: 10px 0 2px; padding-left: 20px; font-size: 15px; }
.lu-toc li { margin: 4px 0; }
.lu-toc a { color: var(--text); text-decoration: none; }
.lu-toc a:hover { color: var(--accent); text-decoration: underline; }
@media (min-width: 1100px) {
  .lu-cols { grid-template-columns: minmax(0, 1fr) 250px; gap: 40px; align-items: start; }
  .lu-toc { grid-column: 2; grid-row: 1; position: sticky; top: 84px; }
  .lu-content { grid-column: 1; grid-row: 1; }
}

/* Текст */
.lu-content { min-width: 0; max-width: 780px; }
/* Строка текста — не длиннее ~70 знаков; таблицы, карточки и фича остаются на 780px. */
.lu-content > :is(p:not([class]), ul:not([class]), ol:not([class]), .lu-list, .lu-criteria, h2, h3), .lu-callout p { max-width: 70ch; }
.lu-content h2 { font: 700 clamp(23px, 4.4vw, 30px)/1.18 var(--head); color: var(--ink); letter-spacing: -.015em; margin: 38px 0 12px; }
.lu-content h3 { font: 700 20px/1.3 var(--head); color: var(--ink); margin: 26px 0 8px; }
.lu-content p, .lu-content ul, .lu-content ol { margin: 0 0 14px; }
.lu-content li { margin: 4px 0; }
.lu-content mark { background: linear-gradient(transparent 55%, rgba(244, 162, 89, .45) 55%); color: inherit; padding: 0 2px; }
.lu-content code { background: var(--sand); padding: 1px 6px; border-radius: 6px; font-size: .92em; }
.lu-content hr { border: 0; border-top: 1px dashed var(--line); margin: 28px 0; }
.lu-callout { border-radius: var(--r); padding: 14px 18px; margin: 0 0 18px; background: #fff; border: 1px solid var(--line); }
.lu-callout p { margin: 0; }
.lu-callout--answer { background: #eef6f4; border-color: #b8ddd6; border-left: 6px solid var(--ok); }
.lu-callout--warn { background: #fdf0e8; border-color: #f2c7ae; border-left: 6px solid var(--accent); }
.lu-stampline { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; font-size: 13px; }
.lu-stampline span { border: 1.5px solid var(--ink); border-radius: 20px; padding: 2px 10px; color: var(--ink); font-weight: 600; }
.lu-hero { margin: 0 0 22px; }
.lu-hero img { border-radius: var(--r); aspect-ratio: 16 / 9; object-fit: cover; width: 100%; background: var(--sand); }
.lu-hero figcaption { font-size: 12px; color: var(--muted); margin-top: 4px; }

/* Таблицы */
.lu-scroll { position: relative; overflow-x: auto; margin: 0 0 18px; border: 1px solid var(--line); border-radius: var(--r); -webkit-overflow-scrolling: touch;
  /* Тень у правого края, пока справа есть скрытые колонки; «покрышка» (local) гасит её в конце прокрутки. */
  background: linear-gradient(to left, #fff 30%, rgba(255, 255, 255, 0)) right center / 40px 100% no-repeat local,
    radial-gradient(farthest-side at 100% 50%, rgba(20, 33, 61, .22), rgba(20, 33, 61, 0)) right center / 14px 100% no-repeat scroll,
    #fff; }
.lu-t { border-collapse: collapse; width: 100%; font-size: 15px; }
.lu-t caption { text-align: left; font-weight: 700; color: var(--ink); padding: 12px 14px 4px; }
.lu-t th, .lu-t td { padding: 9px 12px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.lu-t thead th { background: var(--sand); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); border-top: 0; }
.lu-t tbody th { font-weight: 600; color: var(--ink); }
.lu-matrix td { text-align: center; }
.lu-matrix tbody th, .lu-matrix thead th:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: inset -1px 0 0 var(--line); }
.lu-matrix thead th:first-child { background: var(--sand); }
@media (max-width: 720px) {
  .lu-t { min-width: 34rem; } .lu-plain { min-width: 30rem; }
  .lu-matrix th, .lu-matrix td { padding: 8px 9px; }
  .lu-matrix tbody th { white-space: nowrap; }
  /* Таблицы с длинным текстом: строка = карточка, подпись колонки из data-label. Шапка скрыта только визуально. */
  .lu-t.lu-stack { min-width: 0; }
  .lu-stack, .lu-stack tbody, .lu-stack tr, .lu-stack th, .lu-stack td, .lu-stack caption { display: block; }
  .lu-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .lu-stack tbody tr { padding: 10px 14px 12px; border-top: 1px solid var(--line); }
  .lu-stack tbody th, .lu-stack tbody td { padding: 3px 0; border-top: 0; }
  .lu-stack tbody th { font-size: 17px; }
  .lu-stack td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
  .lu-stack .lu-num { white-space: normal; } .lu-stack .lu-num a { white-space: nowrap; }
  .lu-stack .lu-go { margin-top: 6px; }
}
.lu-num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lu-dim { color: var(--muted); font-size: 13px; font-weight: 400; }
.lu-src { font-size: 13px; white-space: nowrap; }
.lu-fine { font-size: 13px; color: var(--muted); margin: -8px 0 16px; }
.lu-y { color: var(--ok); font-weight: 700; } .lu-n { color: var(--no); font-weight: 700; } .lu-u { color: var(--na); }

/* Рейтинг: карточки */
.lu-disclosure { font-size: 13px; color: var(--muted); background: var(--sand); border-radius: 10px; padding: 8px 12px; margin: 0 0 12px; }
.lu-listcap { font-weight: 700; color: var(--ink); margin: 0 0 8px; }
.lu-rank { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 12px; }
.lu-card { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; grid-template-areas: "pos main ring" "chips chips chips" "act act act"; gap: 10px 12px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 14px; }
.lu-card-chips { grid-area: chips; min-width: 0; display: none; }
.lu-card-miss { grid-area: chips; margin: 0; font-size: 14px; color: var(--muted); }
.lu-card:first-child { border: 2px solid var(--ink); }
.lu-pos { grid-area: pos; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: #fff; font: 700 17px/1 var(--head); }
.lu-card-main { grid-area: main; min-width: 0; }
.lu-card-name { margin: 0 0 4px; font: 700 21px/1.2 var(--head); }
.lu-card-name a { color: var(--ink); text-decoration: none; }
.lu-card-name a:hover { color: var(--accent); }
.lu-lic { display: inline-block; font-size: 12px; font-weight: 700; color: var(--ok); background: #e7f3f1; border-radius: 6px; padding: 2px 8px; }
.lu-lic--off { color: var(--no); background: #fbeae8; }
.lu-card-offer { margin: 8px 0; font-size: 15px; }
.lu-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.lu-chips li { display: inline-flex; gap: 4px; align-items: center; font-size: 12px; border: 1px solid var(--line); border-radius: 12px; padding: 1px 8px; color: var(--muted); background: var(--paper); }
.lu-ring { grid-area: ring; position: relative; width: 52px; height: 52px; display: grid; place-items: center; }
.lu-ring svg { position: absolute; inset: 0; }
.lu-ring-bg { fill: none; stroke: var(--sand); stroke-width: 6; }
.lu-ring-fg { fill: none; stroke: var(--ok); stroke-width: 6; stroke-linecap: round; }
.lu-ring--low .lu-ring-fg { stroke: var(--na); }
.lu-ring b { position: relative; font: 700 19px/1 var(--head); color: var(--ink); }
.lu-ring small { position: absolute; bottom: -14px; font-size: 11px; color: var(--muted); }
.lu-card-act { grid-area: act; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.lu-go { display: inline-block; background: var(--accent); color: #fff; font-weight: 700; text-decoration: none; border-radius: 24px; padding: 10px 20px; }
.lu-go:hover { background: var(--ink); color: #fff; }
.lu-more { font-size: 15px; font-weight: 600; }
.lu-legend { font-size: 13px; color: var(--muted); margin: 0 0 18px; }
.lu-ficha-legend { margin: 8px 0 0; }
@media (min-width: 760px) {
  .lu-card { grid-template-columns: 40px minmax(0, 1fr) 60px 190px; grid-template-areas: "pos main ring act" "pos chips ring act"; align-items: center; padding: 16px 18px; }
  .lu-card-act { flex-direction: column; align-items: stretch; text-align: center; }
  .lu-card-chips { display: block; }
  .lu-card-miss { display: none; }
  .lu-pos { align-self: start; margin-top: 2px; }
}

/* Фича казино в обзоре */
.lu-ficha { background: #fff; border: 2px solid var(--ink); border-radius: calc(var(--r) + 4px); padding: 16px 18px; margin: 0 0 22px; }
.lu-ficha header { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px dashed var(--line); padding-bottom: 10px; margin-bottom: 10px; }
.lu-ficha-stamp { margin: 0; font-size: 12px; font-weight: 700; color: var(--ok); text-transform: uppercase; letter-spacing: .05em; }
.lu-ficha-name { margin: 2px 0 0; font: 700 26px/1.1 var(--head); color: var(--ink); }
.lu-ficha dl { margin: 0 0 12px; display: grid; gap: 8px; }
.lu-ficha dl > div { display: grid; gap: 2px; }
.lu-ficha dt { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.lu-ficha dd { margin: 0; font-size: 15px; }
@media (min-width: 640px) { .lu-ficha dl > div { grid-template-columns: 190px 1fr; gap: 12px; } }
.lu-ficha footer { margin-top: 14px; }
.lu-criteria { padding-left: 22px; }
.lu-criteria li { margin: 8px 0; }
.lu-list { padding-left: 20px; }

/* Подвал */
.lu-foot { background: var(--ink); color: #d7dceb; padding: 34px 0 40px; font-size: 15px; }
.lu-foot a { color: var(--warm); }
.lu-help { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--r); padding: 16px 18px; margin-bottom: 20px; }
.lu-help h2 { margin: 0 0 8px; font: 700 22px/1.2 var(--head); color: #fff; display: flex; gap: 10px; align-items: center; }
.lu-help ul { margin: 8px 0; padding-left: 20px; }
.lu-legal { font-size: 13px; color: #aeb6cb; }
.lu-footnav { display: grid; gap: 18px; margin: 24px 0; }
.lu-footnav p { margin: 0 0 6px; color: #fff; font-weight: 700; }
.lu-footnav ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 18px; font-size: 14px; }
.lu-footnav li { margin: 3px 0; break-inside: avoid; }
.lu-footnav a { color: #d7dceb; text-decoration: none; }
.lu-footnav a:hover { color: var(--warm); text-decoration: underline; }
@media (min-width: 900px) { .lu-footnav { grid-template-columns: 1.3fr 1fr .8fr; } }
.lu-copy { font-size: 13px; color: #aeb6cb; margin: 0; }

/* ==== Рейтинг-таблица «как на УЗ-сайте / akchabet» (30.09.2026) ==== */
.lut-wrap{position:relative;z-index:1;margin:1.2rem 0 1.6rem;container-type:inline-size}
.lut-disc{font-size:.8rem;line-height:1.45;margin:0 0 .7rem;max-width:40rem}
.lut-foot{font-size:.75rem;line-height:1.45;margin:.8rem 0 0;max-width:40rem}
.lut-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}
.lut-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}
.lut-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.lut-row{display:grid;grid-template-columns:90px 1.25fr 1fr 1fr 1fr 1fr 120px 180px;gap:12px;align-items:center}
.lut-brand{position:relative;width:90px;display:grid;justify-items:start}
.lut-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)}
.lut-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)}
.lut-title{min-width:0}
.lut-name{font-weight:900;font-size:16px;line-height:1.1;margin:0}
.lut-tags{margin-top:6px;font-size:12px;color:var(--vtor)}
.lut-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}
.lut-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--vtor)}
.lut-val{font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lut-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}
.lut-num{font-weight:1000;font-size:16px}
.lut-sub{display:block;font-size:11px;color:var(--vtor);margin-top:2px}
.lut-btn{justify-self:end}
.lut-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}
.lut-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){.lut-row{grid-template-columns:74px 1.25fr repeat(4,minmax(0,1fr)) 88px 150px;gap:10px}.lut-brand{width:74px}.lut-btn a{width:150px}.lut-val{font-size:13px}}
@container (max-width:1020px){.lut-row{grid-template-columns:90px 1fr 180px;grid-template-areas:"brand title btn" "brand m1 m2" "brand m3 m4" "brand score score"}.lut-brand{grid-area:brand}.lut-title{grid-area:title}.lut-m1{grid-area:m1}.lut-m2{grid-area:m2}.lut-m3{grid-area:m3}.lut-m4{grid-area:m4}.lut-score{grid-area:score;justify-self:start;max-width:260px}.lut-btn{grid-area:btn}}
@container (max-width:600px){.lut-card{padding:14px}.lut-row{grid-template-columns:1fr;grid-template-areas:"brand" "title" "m1" "m2" "m3" "m4" "score" "btn"}.lut-brand{justify-items:start}.lut-score{justify-self:start}.lut-btn{justify-self:stretch}.lut-btn a{width:100%}}
@media (prefers-reduced-motion:reduce){.lut-card,.lut-btn a{transition:none}.lut-card:hover,.lut-btn a:hover{transform:none}}
/* ==== /рейтинг-таблица ==== */

.lu-body:is(.lu-body--home,.lu-body--hub,.lu-body--guide) .lu-cols{display:block}
.lu-body:is(.lu-body--home,.lu-body--hub,.lu-body--guide) .lu-content{max-width:none}
.lu-body:is(.lu-body--home,.lu-body--hub,.lu-body--guide) .lu-toc{position:static;max-width:40rem;margin-bottom:1.2rem}
