/* Набросок главной по сетке «Команды Яндекса»: обложка-баннер с шапкой-«таблетками», лист со скруглением,
   слева навигация по блокам, в центре фильтры и строки, справа баннер. Строки и баннер — настоящие стили сайта. */
html, body { margin: 0; }
body.ya { background: var(--bg); color: var(--text); font-family: var(--font-text); }

/* обложка — место «Обои сайта»; в обеих темах тёмная, как у Яндекса фото */
.ya-hero { position: relative; height: 236px; overflow: hidden; background: #0b0b0d; }
.ya-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.ya-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #000000b3 0%, #00000059 45%, #000000a6 100%); }
.ya-top { position: relative; z-index: 2; display: flex; align-items: center; gap: 16px; padding: 16px 24px 0; }
.ya-top .logo { color: #fff; font: 600 20px / 1 var(--font-text); display: inline-flex; align-items: center; gap: 10px; margin-right: auto; }
.ya-top .logo span { color: #fff; }
.ya-top .logo svg { width: 32px; height: 32px; }
.ya-pills { display: flex; gap: 6px; align-items: center; }
.ya-pill { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 12px; background: #ffffff1f; backdrop-filter: blur(14px); color: #fff; font: 600 13px / 1 var(--font-text); text-decoration: none; white-space: nowrap; }
.ya-pill.on { background: #ffffff42; }
.ya-pill.hl { color: #f6c94a; }
.ya-pill.ico { width: 36px; padding: 0; justify-content: center; }
.ya-pill svg { width: 16px; height: 16px; }
.ya-pill .chev { width: 14px; height: 14px; opacity: .8; }
.ya-pill.add { background: #fff; color: #171717; }
.ya-title { position: relative; z-index: 2; margin-top: 46px !important; }
.ya-title h1 { margin: 0; color: #fff; font: 700 40px / 1.1 var(--font-text); letter-spacing: -.5px; }
.ya-title p { max-width: 560px; margin: 10px 0 0; color: #ffffffcc; font: 500 15px / 1.4 var(--font-text); }
.ya-adtag { position: absolute; z-index: 2; right: 24px; bottom: 46px; padding: 6px 12px; border-radius: 10px; background: #00000066; backdrop-filter: blur(10px); color: #ffffffb3; font: 500 12px / 1 var(--font-text); text-decoration: none; }

/* лист со скруглением 32 поверх обложки */
.ya-sheet { position: relative; z-index: 3; margin-top: -32px; padding: 28px 0 64px; border-radius: 32px 32px 0 0; background: var(--surface); }
.ya-grid { display: grid; grid-template-columns: 180px minmax(0, 1fr) 240px; column-gap: 28px; width: 1180px; margin: 0 auto; align-items: start; }

/* слева — блоки, как список направлений у Яндекса */
.ya-nav { position: sticky; top: 24px; display: flex; flex-direction: column; padding-top: 2px; }
.ya-nav a { position: relative; display: flex; align-items: center; justify-content: space-between; height: 30px; padding-left: 16px; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); text-decoration: none; }
.ya-nav a.main { color: var(--text-2, var(--text)); font-weight: 600; }
.ya-nav a.on { color: var(--text); }
.ya-nav a.on::before { content: ""; position: absolute; left: 3px; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--text); transform: translateY(-50%); }
.ya-nav a.sub { height: 26px; padding-left: 28px; font-size: 12.5px; }
.ya-nav em { font-style: normal; font-size: 12px; color: var(--muted-foreground); }
.ya-nav .gap { height: 14px; }

/* центр: фильтры, блоки, строки */
.ya .board.ya-board { display: block; margin: 0; }
.ya .board .col.ya-col { display: block; padding: 0; border: 0; border-radius: 0; background: none; }
.ya-filters { display: flex; gap: 8px; align-items: center; margin-bottom: 26px; }
.ya-f { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px 0 13px; border-radius: 12px; background: var(--c-bg-262626); color: var(--text); font: 600 13px / 1 var(--font-text); white-space: nowrap; }
.ya-f .chev { width: 14px; height: 14px; opacity: .7; }
.ya-search { display: flex; flex: 1 0 170px; align-items: center; gap: 8px; min-width: 0; height: 36px; padding: 0 12px; border-radius: 12px; background: var(--c-bg-262626); color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
.ya-search svg { width: 16px; height: 16px; }
.ya-block + .ya-block { margin-top: 40px; }
.ya-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.ya-head h2 { margin: 0; font: 700 26px / 1.15 var(--font-text); letter-spacing: -.3px; }
.ya-head p { margin: 6px 0 0; color: var(--muted-foreground); font: 500 14px / 1.4 var(--font-text); }
.ya-head a { color: var(--text); font: 600 14px / 1 var(--font-text); text-decoration: none; white-space: nowrap; padding-bottom: 2px; }
.ya .slot-col.ya-slot { width: 450px; margin-bottom: 10px; border: 0; border-radius: 14px; background: var(--c-bg-1f1f1f); }
.ya-card { margin-bottom: 10px; padding: 6px 8px 8px; border-radius: 18px; background: var(--c-bg-1f1f1f); }
.ya-card.ya-paid { padding-top: 8px; }
.ya-card-h { display: flex; align-items: baseline; gap: 6px; padding: 4px 6px 8px; color: var(--text); font: 600 13px / 1 var(--font-text); }
.ya-card-h span { color: var(--muted-foreground); font-weight: 500; }
.ya-card-h .ya-none { margin-left: auto; color: var(--muted-foreground); font-weight: 500; }
.ya-card:has(.ya-none) { padding-bottom: 4px; }
.ya .board .rows { margin-top: 0; }
.ya .board .row { border-radius: 8px; }
.ya .board .row .tb { border-radius: 6px; }

/* справа — «Наш канал» и баннер 300×600 */
.ya-side { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 10px; }
.ya-side .tg-side { border-radius: 14px; }
.ya-side .slot-tall { zoom: .8; width: 300px; height: 600px; max-height: none; aspect-ratio: auto; border-radius: 18px; overflow: hidden; }
.ya-top .logo.logo-mark, .ya-top .logo.logo-mark .l2-mark { color: #fff; }
.ya .board.ya-board { border: 0; box-shadow: none; background: none; }
/* проверка плотности: обложка ниже, без подписи блока, без баннера 450×50 в начале списка */
.dense .ya-hero { height: 196px; } .dense .ya-title { margin-top: 30px !important; } .dense .ya-title p { display: none; }
.dense .ya-head p { display: none; } .dense .ya-block:first-of-type .ya-slot { display: none; }

/* ═══ круг 3 (07.11): баннер 200×600, карточки скромнее, состояния фильтров и поиска ═══ */
.ya-grid { grid-template-columns: 180px minmax(0, 1fr) 200px; column-gap: 28px; }
.ya-side .slot-tall { zoom: .6667; width: 300px; height: 900px; border-radius: 18px; }
.ya-card { border-radius: 12px; }
.ya .slot-col.ya-slot { border-radius: 12px; }

/* фильтр-«таблетка» */
.ya-fw, .ya-sw { position: relative; display: inline-flex; }
.ya-f { transition: background-color .15s; cursor: pointer; }
.ya-f.is-hover { background: var(--c-bg-333333); }
.ya-f.is-open { background: var(--c-bg-333333); }
.ya-f.is-open .chev { transform: rotate(180deg); }
.ya-f.is-set { gap: 6px; padding-right: 6px; background: var(--primary); color: var(--primary-foreground); }
.ya-f.is-set.is-hover, .ya-f.is-set.is-open { background: color-mix(in srgb, var(--primary) 88%, var(--bg)); }
.ya-f.is-set em { font-style: normal; font-weight: 500; opacity: .55; }
.ya-f .x { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 8px; background: color-mix(in srgb, var(--primary-foreground) 10%, transparent); }
.ya-f.is-set.is-hover .x { background: color-mix(in srgb, var(--primary-foreground) 20%, transparent); }
.ya-f .x svg { width: 12px; height: 12px; }
.ya-reset { color: var(--muted-foreground); font: 600 13px / 1 var(--font-text); text-decoration: none; white-space: nowrap; padding: 0 4px; }

/* выпадающий список фильтра */
.ya-pop { position: absolute; top: calc(100% + 8px); left: 0; z-index: 30; width: 236px; padding: 6px; border-radius: 16px; background: var(--popover); box-shadow: 0 14px 36px #00000073, 0 2px 6px #00000040; }
:root[data-theme="light"] .ya-pop, :root[data-theme="light"] .ya-sugg { box-shadow: 0 14px 36px #0000001f, 0 2px 6px #00000014; }
.ya-pop h6 { margin: 0; padding: 8px 10px 6px; color: var(--muted-foreground); font: 600 12px / 1 var(--font-text); }
.ya-pop a { display: flex; align-items: center; gap: 8px; height: 34px; padding: 0 10px 0 8px; border-radius: 10px; color: var(--text); font: 500 13.5px / 1 var(--font-text); text-decoration: none; cursor: pointer; }
.ya-pop a em { margin-left: auto; color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); font-style: normal; font-variant-numeric: tabular-nums; }
.ya-pop a.hover { background: var(--c-bg-333333); }
.ya-pop a.on { font-weight: 700; }
.ya-pop a.all { padding-left: 32px; color: var(--muted-foreground); }
.ya-pop a.off { color: var(--muted-foreground); opacity: .55; cursor: default; }
.ya-pop .ck { display: grid; place-items: center; width: 16px; height: 16px; flex: none; }
.ya-pop .ck svg { width: 14px; height: 14px; }
.ya-pop .note { margin: 4px 0 0; padding: 10px 10px 6px; border-radius: 10px; background: var(--c-bg-ffffff08); color: var(--muted-foreground); font: 500 12px / 1.4 var(--font-text); }

/* поиск */
.ya-sw { flex: 1 0 150px; }
.ya-sw .ya-search { flex: 1; cursor: text; transition: background-color .15s; }
.ya-search.is-hover { background: var(--c-bg-333333); }
.ya-search.is-icon { flex: none; width: 36px; padding: 0; justify-content: center; }
.ya-search.is-icon span { display: none; }
.ya-sw:has(.is-icon) { flex: none; margin-left: auto; }
.ya-search.is-focus { background: var(--c-bg-262626); box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 55%, transparent); }
.ya-search .typed { color: var(--text); font-weight: 600; }
.ya-search .caret { width: 1.5px; height: 17px; margin-left: -6px; background: var(--text); }
.ya-search .x { display: grid; place-items: center; width: 24px; height: 24px; margin-left: auto; border-radius: 8px; background: var(--c-bg-ffffff0f); color: var(--text-2); }
.ya-search .x svg { width: 12px; height: 12px; }
.ya-sw.wide { flex: 1 1 100%; }
.ya-sugg { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 30; padding: 6px; border-radius: 16px; background: var(--popover); box-shadow: 0 14px 36px #00000073, 0 2px 6px #00000040; }
.ya-sugg a { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 40px; padding: 0 12px; border-radius: 10px; color: var(--text); text-decoration: none; }
.ya-sugg a.active { background: var(--c-bg-333333); }
.ya-sugg .nm { font: 500 14px / 1 var(--font-text); }
.ya-sugg .nm b { font-weight: 800; }
.ya-sugg .meta { display: inline-flex; align-items: center; gap: 8px; color: var(--muted-foreground); font: 500 12.5px / 1 var(--font-text); white-space: nowrap; }
.ya-sugg .meta i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; opacity: .6; }
.ya-sugg .ya-empty { margin: 0; padding: 16px 12px; color: var(--muted-foreground); font: 500 13.5px / 1 var(--font-text); }
.ya-sugg .keys { margin: 4px 0 0; padding: 10px 12px 6px; color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); }

/* лист состояний */
.sx-page { background: var(--bg); }
.sx-sheet { width: 1180px; margin: 32px auto; padding: 32px 40px 48px; border-radius: 32px; background: var(--surface); }
.sx-t { margin: 0 0 8px; font: 700 30px / 1.15 var(--font-text); letter-spacing: -.4px; }
.sx-h { margin: 32px 0 14px; font: 700 22px / 1.2 var(--font-text); }
.sx-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.sx-row.tall .sx-demo { min-height: 390px; }
.sx-row.tall2 .sx-demo { min-height: 470px; }
.sx-cell.span4 { grid-column: span 4; }
.sx-cell.span2 { grid-column: span 2; }
.sx-cell.span1w { grid-column: span 1; }
.sx-l { margin: 0 0 8px; color: var(--muted-foreground); font: 500 12.5px / 1.35 var(--font-text); }
.sx-demo { display: flex; align-items: flex-start; padding: 16px; border-radius: 14px; background: var(--c-bg-1f1f1f); }
.sx-demo .ya-filters { flex: 1; margin: 0; }
.sx-demo > .ya-sw { flex: 1; }

.sx-t, .sx-h { text-transform: none; letter-spacing: -.3px; }
/* контейнер = категория: заголовок у каждого */
.ya-sec { margin-bottom: 18px; }
.ya-sec-h { display: flex; align-items: baseline; gap: 10px; margin: 0 2px 10px; }
.ya-sec-h h2 { margin: 0; color: var(--text); font: 700 20px / 1.2 var(--font-text); letter-spacing: -.2px; text-transform: none; }
.ya-sec-h > span { color: var(--muted-foreground); font: 500 14px / 1 var(--font-text); }
.ya-sec-h .ya-none { margin-left: auto; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
.ya-sec-h .ya-more { margin-left: auto; color: var(--text); font: 600 14px / 1 var(--font-text); text-decoration: none; white-space: nowrap; }
.ya-sec .ya-card { padding: 8px; margin: 0; }
.ya-sec:has(.ya-none):not(:has(.ya-card)) .ya-sec-h { margin-bottom: 0; padding: 12px 14px; border-radius: 12px; background: var(--c-bg-1f1f1f); }
.ya-sec:has(.ya-none):not(:has(.ya-card)) .ya-sec-h h2 { font-size: 16px; }
.ya-col > .ya-slot { margin-bottom: 18px; }
.ya-filters { margin-bottom: 22px; }

.ya-nav a.flat { height: 32px; font-size: 13.5px; }
.ya-nav a.flat.on { color: var(--text); font-weight: 600; }

.ya-title .ya-tt { grid-column: 2 / 4; }
.sx-row.tall .sx-demo { min-height: 424px; }

/* ═══ круг 5 (07.11): шапка — «≡», вход, прокрутка ═══ */
.ya-pw { position: relative; display: inline-flex; }
.ya-pill { transition: background-color .15s; cursor: pointer; }
.ya-pill.is-hover, .ya-pill.is-open { background: #ffffff38; }
.ya-pill.on.is-hover { background: #ffffff4d; }
.ya-pill.more svg { width: 18px; height: 18px; }
.ya-pill.user { gap: 8px; padding: 0 10px 0 4px; }
.ya-pill .av, .ya-me .av { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, #6d7bff, #9b5cff); color: #fff; font: 700 13px / 1 var(--font-text); font-style: normal; }
.ya-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 60; width: 264px; padding: 6px; border-radius: 16px; background: var(--popover); color: var(--text); box-shadow: 0 14px 36px #00000073, 0 2px 6px #00000040; text-align: left; }
:root[data-theme="light"] .ya-menu { box-shadow: 0 14px 36px #0000001f, 0 2px 6px #00000014; }
.ya-menu a { display: flex; align-items: center; gap: 10px; height: 36px; padding: 0 10px; border-radius: 10px; color: var(--text); font: 500 13.5px / 1 var(--font-text); text-decoration: none; }
.ya-menu a:first-of-type { background: var(--c-bg-333333); }
.ya-menu a em { margin-left: auto; color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); font-style: normal; }
.ya-menu a em.new { padding: 4px 7px; border-radius: 8px; background: var(--vip-badge); color: #1a1405; font-weight: 700; }
.ya-menu a.tg i { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #229ed9; color: #fff; }
.ya-menu a.tg svg { width: 11px; height: 11px; margin-left: -1px; }
.ya-menu a.out { color: var(--muted-foreground); }
.ya-menu h6 { margin: 8px 0 0; padding: 8px 10px 6px; color: var(--muted-foreground); font: 600 12px / 1 var(--font-text); }
.ya-seg { display: flex; gap: 4px; margin: 0 4px 6px; padding: 4px; border-radius: 12px; background: var(--c-bg-1f1f1f); }
.ya-seg span { display: grid; flex: 1; place-items: center; height: 30px; border-radius: 9px; color: var(--muted-foreground); font: 600 12.5px / 1 var(--font-text); }
.ya-seg span.on { background: var(--c-bg-333333); color: var(--text); }
:root[data-theme="light"] .ya-seg span.on { background: #fff; box-shadow: 0 1px 3px #0000001f; }
.ya-me { display: flex; align-items: center; gap: 10px; padding: 8px 10px 10px; }
.ya-me .av { width: 36px; height: 36px; font-size: 15px; }
.ya-me b { display: block; font: 700 14px / 1.2 var(--font-text); }
.ya-me em { display: block; color: var(--muted-foreground); font: 500 12px / 1.3 var(--font-text); font-style: normal; }

/* прокрутили: шапка — плотная полоса, фильтры прилипают под ней */
.ya-nav, .ya-side { top: 82px; }
html.scrolled .ya-top, .hx-bar .ya-top { position: fixed; top: 0; left: 0; right: 0; z-index: 50; height: 60px; padding: 0 24px; background: color-mix(in srgb, var(--bg) 84%, transparent); backdrop-filter: blur(18px); box-shadow: 0 1px 0 var(--surface-line); }
.hx-bar .ya-top { position: relative; }
html.scrolled .ya-top .logo, html.scrolled .ya-top .logo span, html.scrolled .ya-top .logo .l2-mark,
.hx-bar .ya-top .logo, .hx-bar .ya-top .logo span, .hx-bar .ya-top .logo .l2-mark { color: var(--text); }
html.scrolled .ya-pill, .hx-bar .ya-pill { background: var(--c-bg-262626); color: var(--text); backdrop-filter: none; }
html.scrolled .ya-pill.on, .hx-bar .ya-pill.on { background: var(--c-bg-3a3b42, var(--c-bg-333333)); }
html.scrolled .ya-pill.hl, .hx-bar .ya-pill.hl { color: #e0a800; }
:root[data-theme="dark"] html.scrolled .ya-pill.hl, html:not([data-theme="light"]).scrolled .ya-pill.hl, html:not([data-theme="light"]) .hx-bar .ya-pill.hl { color: #f6c94a; }
html.scrolled .ya-pill.add, .hx-bar .ya-pill.add { background: var(--primary); color: var(--primary-foreground); }
html.scrolled .ya-filters { position: sticky; top: 60px; z-index: 40; margin: 0 -12px 12px; padding: 12px; border-radius: 0 0 16px 16px; background: var(--surface); }

/* лист шапки */
.hx-sheet { width: 1360px; }
.hx-cell { margin-bottom: 18px; }
.hx-cell.open { margin-bottom: 330px; }
.hx-hero { position: relative; height: 68px; border-radius: 16px; background: #0b0b0d; }
.hx-hero .ya-bg { border-radius: 16px; }
.hx-hero::after { content: ""; position: absolute; inset: 0; border-radius: 16px; background: #00000080; }
.hx-hero .ya-top { z-index: 3; padding-top: 16px; }
.hx-bar { border-radius: 16px; overflow: hidden; }
.hx-bar .ya-top { height: 68px; }
.ya .board.ya-board { overflow: visible; }

.ya-pill.is-hover, .ya-pill.is-open { background: #ffffff45; }
:root[data-theme="light"] .ya-seg.th span:first-child { background: none; box-shadow: none; color: var(--muted-foreground); }
:root[data-theme="light"] .ya-seg.th span:last-child { background: #fff; box-shadow: 0 1px 3px #0000001f; color: var(--text); }
:root[data-theme="light"] html.scrolled .ya-pill.hl, :root[data-theme="light"] .hx-bar .ya-pill.hl, html[data-theme="light"].scrolled .ya-pill.hl, html[data-theme="light"] .hx-bar .ya-pill.hl { color: #9a6a00; }

/* круг 6: пункты по центру, тема и язык — иконками */
.ya-top.ya-top3 { display: grid; grid-template-columns: 1fr auto 1fr; }
.ya-top3 .logo { justify-self: start; margin-right: 0; }
.ya-top3 .ya-end { justify-self: end; }
html.scrolled .ya-top.ya-top3, .hx-bar .ya-top.ya-top3 { display: grid; align-items: center; }
.ya-pill.theme i { display: grid; font-style: normal; }
.ya-pill.theme .t-moon { display: none; }
:root[data-theme="light"] .ya-pill.theme .t-sun { display: none; }
:root[data-theme="light"] .ya-pill.theme .t-moon { display: grid; }
.ya-pill.ico svg { width: 17px; height: 17px; }
.ya-tip { position: absolute; top: calc(100% + 8px); left: 50%; z-index: 60; transform: translateX(-50%); padding: 7px 10px; border-radius: 8px; background: var(--popover); color: var(--text); font: 600 12px / 1 var(--font-text); white-space: nowrap; box-shadow: 0 8px 20px #00000059; }
.ya-lang { width: 200px; }
.ya-lang a:first-of-type { background: none; }
.ya-lang a.on { background: var(--c-bg-333333); font-weight: 700; }
.ya-lang .ck { display: grid; place-items: center; width: 16px; height: 16px; }
.ya-lang .ck svg { width: 14px; height: 14px; }
.hx-cell.tip { margin-bottom: 44px; }
.hx-cell.open-s { margin-bottom: 150px; }
.ya-top.ya-top3 { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.sx-sheet.hx-sheet { box-sizing: border-box; width: 1440px; margin: 0; padding: 32px 24px 40px; border-radius: 0; }

/* круг 7: без «≡»; подвал — текст подборки и ссылки колонками */
.ya-sheet { border-radius: 32px; padding-bottom: 48px; }
.ya-foot { width: 1180px; margin: 0 auto; padding: 44px 0 36px; color: var(--muted-foreground); }
.ya-seo { margin-bottom: 36px; padding: 28px 32px; border-radius: 20px; background: var(--surface); }
.ya-seo h2 { margin: 0 0 10px; color: var(--text); font: 700 18px / 1.3 var(--font-text); text-transform: none; letter-spacing: -.1px; }
.ya-seo p { max-width: 900px; margin: 0; color: var(--muted-foreground); font: 400 14px / 1.6 var(--font-text); }
.ya-seo p a { color: var(--text-2, var(--text)); }
.ya-seo .more { display: inline-block; margin-top: 12px; color: var(--text); font: 600 14px / 1 var(--font-text); text-decoration: none; }
.ya-fgrid { display: grid; grid-template-columns: 1.7fr repeat(4, 1fr); gap: 32px; padding: 0 32px; }
.ya-fbrand .logo.logo-mark, .ya-fbrand .logo.logo-mark span, .ya-fbrand .l2-mark { color: var(--text); }
.ya-fbrand p { max-width: 300px; margin: 14px 0 16px; font: 400 13.5px / 1.5 var(--font-text); }
.ya-ftg { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px 0 10px; border-radius: 12px; background: var(--c-bg-262626); color: var(--text); font: 600 13px / 1 var(--font-text); text-decoration: none; }
.ya-ftg i { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #229ed9; color: #fff; }
.ya-ftg svg { width: 11px; height: 11px; margin-left: -1px; }
.ya-fcol h6 { margin: 4px 0 14px; color: var(--text); font: 700 13.5px / 1 var(--font-text); }
.ya-fcol a { display: block; margin-bottom: 11px; color: var(--muted-foreground); font: 500 13.5px / 1.3 var(--font-text); text-decoration: none; }
.ya-fbottom { display: flex; justify-content: space-between; gap: 32px; margin-top: 32px; padding: 20px 32px 0; box-shadow: inset 0 1px 0 var(--surface-line); font: 500 12.5px / 1.5 var(--font-text); }
.ya-fbottom span:last-child { max-width: 640px; text-align: right; }

/* круг 8: подвал как у Яндекса — чёрный во всю ширину, лист скруглён над ним */
.ya-foot { display: none; }
.ya-sheet { padding-bottom: 56px; }
.ya-foot2 { position: relative; z-index: 2; margin-top: -32px; padding: 72px 24px 26px; background: #000; color: #ffffff8c; }
.ya-foot2 .ft { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 40px; }
.ya-foot2 .logo.logo-mark, .ya-foot2 .logo.logo-mark span, .ya-foot2 .l2-mark { color: #fff; }
.ya-foot2 .ft > .logo { grid-column: 1; grid-row: 1; align-self: start; }
.ya-foot2 .nc { grid-column: 1; grid-row: 2; align-self: end; max-width: 340px; margin: 0; color: #ffffff59; font: 400 12px / 1.5 var(--font-text); }
.ya-foot2 .fcols { grid-column: 2; grid-row: 1 / 3; display: grid; grid-template-columns: repeat(4, 172px); }
.ya-foot2 .fg { display: flex; flex-direction: column; margin-bottom: 22px; }
.ya-foot2 .fg a { text-decoration: none; }
.ya-foot2 .fh { margin-bottom: 4px; color: #fff; font: 500 13px / 1.6 var(--font-text); }
.ya-foot2 .fh b { margin-left: 3px; font-weight: 500; }
.ya-foot2 .fs { color: #ffffff8c; font: 400 12.5px / 1.75 var(--font-text); }
.ya-foot2 .fw { color: #fff; font: 500 13px / 1.75 var(--font-text); }
.ya-foot2 .fb { display: flex; align-items: center; gap: 26px; margin-top: 44px; font: 400 13px / 1 var(--font-text); }
.ya-foot2 .fb span { color: #ffffffb3; }
.ya-foot2 .fb a { color: #ffffffb3; text-decoration: none; }
.ya-foot2 .fb .soc { display: grid; place-items: center; width: 28px; height: 28px; margin-left: auto; border-radius: 50%; background: #fff; color: #000; }
.ya-foot2 .fb .soc svg { width: 15px; height: 15px; margin-left: -1px; }
/* текст подборки — последним разделом листа */
.ya-about { margin-top: 26px; }
.ya-about .ya-sec-h h2 { font-size: 17px; }
.ya-about-in { padding: 16px 18px !important; }
.ya-about-in p { margin: 0; color: var(--muted-foreground); font: 400 14px / 1.6 var(--font-text); }
.ya-about-in p a { color: var(--text-2, var(--text)); }
.ya-about-in .more { display: inline-block; margin-top: 10px; color: var(--text); font: 600 14px / 1 var(--font-text); text-decoration: none; }
.ya-foot2 .logo.logo-mark .l2-mark, .ya-foot2 .logo.logo-mark span { color: #fff !important; } .ya-top .logo.logo-mark .l2-mark { color: #fff !important; } html.scrolled .ya-top .logo.logo-mark .l2-mark, .hx-bar .ya-top .logo.logo-mark .l2-mark { color: var(--text) !important; }

/* круг 9: серверы плитками, как сервисы у Яндекса */
.ya-card:has(.ya-tiles) { padding: 0 !important; background: none; }
.ya-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; height: 148px; padding: 12px; border-radius: 16px; background: var(--c-bg-1f1f1f); color: var(--text); text-decoration: none; transition: background-color .15s; }
.tile:hover { background: var(--c-bg-262626); }
.tl-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.tl-ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: #fff; font: 800 15px / 1 var(--font-text); letter-spacing: -.3px; }
.tl-ico.c0 { background: linear-gradient(135deg, #5b6cff, #8b5cf6); } .tl-ico.c1 { background: linear-gradient(135deg, #0ea5e9, #2563eb); }
.tl-ico.c2 { background: linear-gradient(135deg, #10b981, #047857); } .tl-ico.c3 { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.tl-ico.c4 { background: linear-gradient(135deg, #ef4444, #b91c1c); } .tl-ico.c5 { background: linear-gradient(135deg, #ec4899, #9d174d); }
.tl-ico.c6 { background: linear-gradient(135deg, #64748b, #334155); } .tl-ico.c7 { background: linear-gradient(135deg, #14b8a6, #0f766e); }
.tl-ico.crown { background: #ffffff2e; }
.tl-ico.crown img { width: 26px; height: auto; }
.tl-date { padding: 5px 7px; border-radius: 8px; background: var(--c-bg-333333); color: var(--text); font: 600 11.5px / 1 var(--font-text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tl-bot { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tl-tags { display: flex; flex-wrap: wrap; gap: 4px; min-height: 0; }
.tl-tags:empty { display: none; }
.tl-tags i { padding: 3px 6px; border-radius: 6px; background: var(--c-bg-333333); color: var(--muted-foreground); font: 600 10.5px / 1 var(--font-text); font-style: normal; }
.tl-tags i.tg-vip { background: var(--vip-badge); color: #1a1405; }
.tl-name { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font: 700 14px / 1.25 var(--font-text); }
.tl-meta { color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tile.t-elite { background: var(--elite-bg); color: #fff; }
.tile.t-elite:hover { background: color-mix(in srgb, var(--elite-bg) 90%, #fff); }
.tile.t-elite .tl-date { background: #ffffff2e; color: #fff; }
.tile.t-elite .tl-meta { color: #ffffffcc; }
.tile.t-free .tl-name { color: var(--muted-foreground); }

/* круг 10: текст подборки — отдельный слой между листом и подвалом */
.ya-band { position: relative; z-index: 2; margin-top: -32px; padding: 72px 0 64px; border-radius: 0 0 32px 32px; background: var(--c-bg-1f1f1f); }
.ya-band-in { grid-column: 2 / 4; max-width: 860px; }
.ya-band h2 { margin: 0 0 12px; color: var(--text); font: 700 20px / 1.3 var(--font-text); text-transform: none; letter-spacing: -.2px; }
.ya-band p { margin: 0; color: var(--muted-foreground); font: 400 14.5px / 1.65 var(--font-text); }
.ya-band p a { color: var(--text-2, var(--text)); }
.ya-band .more { display: inline-block; margin-top: 14px; color: var(--text); font: 600 14px / 1 var(--font-text); text-decoration: none; }
.ya-foot2 { z-index: 1; }
:root[data-theme="light"] .ya-band { background: #f2f2f4; }

/* круг 11: три варианта карточки */
.ya-tiles i { font-style: normal; }
.ta-date { display: grid; place-items: center; align-content: center; gap: 2px; flex: none; width: 50px; height: 54px; border-radius: 12px; background: var(--c-bg-333333); }
.ta-date b { font: 800 22px / 1 var(--font-text); letter-spacing: -.5px; }
.ta-date i { color: var(--muted-foreground); font: 700 11px / 1 var(--font-text); text-transform: uppercase; letter-spacing: .4px; }
.ta-time { color: var(--text); font: 700 13px / 1 var(--font-text); font-variant-numeric: tabular-nums; }
.ta-side, .tb-chips { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.ya-tiles .ta-side i, .ya-tiles .tb-chips i, .ya-tiles .tc-top i { padding: 3px 6px; border-radius: 6px; background: var(--c-bg-333333); color: var(--muted-foreground); font: 700 10.5px / 1 var(--font-text); white-space: nowrap; }
.ya-tiles i.c-vip { background: var(--vip-badge); color: #1a1405; }
.ya-tiles i.c-el { display: inline-flex; align-items: center; gap: 4px; background: #ffffff2e; color: #fff; }
.ya-tiles i.c-el img { width: 14px; height: auto; }
.ya-tiles i.c-day { background: color-mix(in srgb, #22c55e 22%, transparent); color: #4ade80; }
:root[data-theme="light"] .ya-tiles i.c-day { color: #15803d; }
.t-elite .ta-date { background: #ffffff2e; }
.t-elite .ta-date i, .t-elite .tl-meta { color: #ffffffd9; }
.t-elite .ta-time { color: #fff; }
.t-elite i { background: #ffffff2e !important; color: #fff !important; }
/* А — календарь, 4 в ряд */
.tv-a .tile { height: 136px; }
.ta-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 6px; }
/* Б — широкая, 2 в ряд */
.ya-tiles.tv-b { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tv-b .tile { flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; height: 74px; padding: 10px 12px 10px 10px; border-radius: 16px; }
.tv-b .ta-date { width: 46px; height: 52px; }
.tb-mid { display: flex; flex: 1; flex-direction: column; gap: 5px; min-width: 0; }
.tv-b .tl-name { -webkit-line-clamp: 1; font-size: 15px; }
.tv-b .tl-meta b { color: var(--text); font-weight: 700; }
.t-elite .tl-meta b { color: #fff; }
.tb-end { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.tv-b .tb-chips { flex-direction: row; }
/* В — компактная, 5 в ряд */
.ya-tiles.tv-c { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.tv-c .tile { height: 116px; padding: 10px; border-radius: 14px; }
.tc-top { display: flex; gap: 4px; }
.ya-tiles .tc-top i.c-rate { background: var(--c-bg-3a3b42, #3a3a3a); color: var(--text); }
:root[data-theme="light"] .ya-tiles .tc-top i.c-rate { background: #e4e4e7; }
.tv-c .tl-name { font-size: 13.5px; }
.tc-bot { display: flex; align-items: flex-end; justify-content: space-between; gap: 4px; }
.tc-when { color: var(--muted-foreground); font: 500 11.5px / 1 var(--font-text); white-space: nowrap; }
.tc-when b { color: var(--text); font-weight: 700; }
.t-elite .tc-when, .t-elite .tc-when b { color: #fff; }
.tv-c .tb-chips { flex-direction: row; }

.tv-c .tc-bot { flex-direction: column; align-items: flex-start; gap: 4px; }
.tc-sub { max-width: 100%; overflow: hidden; color: var(--muted-foreground); font: 500 11px / 1 var(--font-text); white-space: nowrap; text-overflow: ellipsis; }
.t-elite .tc-sub { color: #ffffffcc; }

/* В по 4 в ряд: название в одну строку */
.ya-tiles.tv-c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.tv-c4 .tile { height: 104px; padding: 11px 12px; }
.tv-c4 .tl-name { display: block; overflow: hidden; font-size: 14.5px; white-space: nowrap; text-overflow: ellipsis; }
.tv-c4 .tile { padding: 11px 10px; }
.tv-c4 .tl-name { font-size: 13.5px; }

/* светлая тема: карточки заметнее (07.11, «обычные карточки едва заметны»: было #fafafa на белом) */
:root[data-theme="light"] .tile, :root[data-theme="light"] .ya-card, :root[data-theme="light"] .ya .slot-col.ya-slot,
:root[data-theme="light"] .ya-sec:has(.ya-none):not(:has(.ya-card)) .ya-sec-h { background: #f1f1f4; }
:root[data-theme="light"] .tile:hover { background: #e8e8ed; }
:root[data-theme="light"] .ya-tiles .ta-side i, :root[data-theme="light"] .ya-tiles .tb-chips i,
:root[data-theme="light"] .ya-tiles .tc-top i, :root[data-theme="light"] .ta-date, :root[data-theme="light"] .tl-tags i { background: #e2e2e8; }
:root[data-theme="light"] .ya-tiles .tc-top i.c-rate { background: #d9d9e0; }
:root[data-theme="light"] .ya-tiles i.c-vip { background: var(--vip-badge); }
:root[data-theme="light"] .ya-card:has(.ya-tiles) { background: none; }
:root[data-theme="light"] .tile.t-elite { background: var(--elite-bg); }
:root[data-theme="light"] .tile.t-elite:hover { background: color-mix(in srgb, var(--elite-bg) 90%, #fff); }
:root[data-theme="light"] .t-elite .ya-tiles i, :root[data-theme="light"] .tile.t-elite i, :root[data-theme="light"] .tile.t-elite .ta-date { background: #ffffff2e !important; color: #fff !important; }

/* круг 15: обложка выше (видно 240 px вместо 204) и три пропорции карточки */
html.tall-cover .ya-hero { height: 272px; }
html.tall-cover .ya-title { margin-top: 70px !important; }
/* П1 — плотная 179×88: дата в верхней строке */
.tv-p1 .tile { height: 88px; padding: 10px 11px; }
.tv-p1 .tc-top { align-items: center; }
.tc-when1 { margin-left: auto; color: var(--text); font: 700 11.5px / 1 var(--font-text); white-space: nowrap; }
.t-elite .tc-when1 { color: #fff; }
.tv-p1 .tl-name { font-size: 14px; }
/* П2 — средняя 179×112: имя крупнее, больше воздуха */
.tv-p2 .tile { height: 112px; padding: 12px; }
.tv-p2 .tl-name { font-size: 14.5px; }
.tv-p2 .tc-when { font-size: 12.5px; }
/* П3 — крупная 179×140, ближе к плиткам Яндекса: метки сверху, всё остальное внизу */
.tv-p3 .tile { height: 140px; padding: 14px; justify-content: space-between; }
.tv-p3 .tl-name { margin-top: auto; margin-bottom: 8px; font-size: 15.5px; }
.tv-p3 .tc-when { font-size: 13px; }
.tv-p3 .tc-sub { font-size: 12px; }
/* название везде 13.5px и поля по бокам 10px — иначе длинные названия не влезают в строку */
.tv-p1 .tile, .tv-p2 .tile, .tv-p3 .tile { padding-left: 10px; padding-right: 10px; }
.tv-p1 .tl-name, .tv-p2 .tl-name, .tv-p3 .tl-name { font-size: 13.5px; }
.tv-p3 .tc-when { font-size: 14px; }
.tv-p3 .tc-when b { font-weight: 800; }

/* календарь — отдельный фильтр */
.ya-cal { width: 300px; padding: 10px; }
.cal-h { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 10px; }
.cal-h b { font: 700 14px / 1 var(--font-text); }
.cal-h span { display: flex; gap: 6px; }
.cal-h i { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--c-bg-333333); font: 700 15px / 1 var(--font-text); font-style: normal; }
.cal-g { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.cal-g > i { padding: 4px 0 6px; color: var(--muted-foreground); font: 600 11px / 1 var(--font-text); font-style: normal; text-align: center; }
.cal-g .cd { position: relative; display: grid; place-items: center; height: 34px; border-radius: 9px; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
.cal-g .cd.has { background: var(--c-bg-333333); color: var(--text); font-weight: 700; }
.cal-g .cd em { position: absolute; right: 3px; top: 3px; min-width: 13px; height: 13px; padding: 0 3px; border-radius: 7px; background: var(--vip-badge); color: #1a1405; font: 800 9px / 13px var(--font-text); font-style: normal; text-align: center; }
.cal-g .cd.today { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--primary) 60%, transparent); color: var(--text); }
.sx-row.cal .sx-demo { min-height: 470px; }
:root[data-theme="light"] .cal-g .cd.has, :root[data-theme="light"] .cal-h i { background: #e2e2e8; }
/* календарь: число серверов — под числом дня, не поверх (TG 7710) */
.cal-g .cd { height: 42px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; }
.cal-g .cd em { position: static; min-width: 0; height: auto; padding: 2px 5px; border-radius: 6px; font: 800 9.5px / 1 var(--font-text); }

/* круг 17: карточка по макету владельца (Frame 74): 291×121 в макете → 243×101 в колонке 744 (×0,834), 3 в ряд */
.ya-tiles.tv-n { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.tv-n .tile { height: 101px; padding: 11px 10px 10px; border-radius: 14px; justify-content: space-between; }
.tn-tags { display: flex; gap: 3px; min-height: 22px; }
.tv-n .tn-tags i { display: inline-grid; place-items: center; height: 22px; padding: 0 7px; border-radius: 8px; font: 700 11.5px / 1 var(--font-text); font-style: normal; }
.tv-n .tn-tags i.n-vip { background: var(--vip-badge); color: #1a1405; }
.tv-n .tn-tags i.n-yt { width: 31px; padding: 0; background: #ff0033; color: #fff; }
.tv-n .tn-tags i.n-yt svg { width: 12px; height: 12px; }
.tv-n .tn-tags i.n-obt { background: #078bcb; color: #fff; }
.tv-n .tn-tags i.n-el { display: inline-flex; align-items: center; gap: 4px; background: #ffffff2e; color: #fff; }
.tv-n .tn-tags i.n-el img { width: 14px; height: auto; }
.tn-name { overflow: hidden; color: var(--text); font: 700 19px / 1.15 var(--font-text); white-space: nowrap; text-overflow: ellipsis; letter-spacing: -.2px; }
.tn-meta { display: flex; gap: 13px; color: var(--muted-foreground); font: 400 12px / 1 var(--font-text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.t-elite .tn-name { color: #fff; }
.t-elite .tn-meta { color: #ffffffd9; }
:root[data-theme="light"] .tv-n .tn-tags i.n-el { background: #ffffff2e !important; }
.n-sample { width: 744px; padding: 24px; border-radius: 20px; }

/* круг 18: три способа показать дни стартов без цифры поверх даты */
.cal-sheet { width: 1100px; }
.cvs { display: grid; grid-template-columns: repeat(3, 300px); gap: 40px; margin-top: 20px; }
.cv .ya-pop { position: relative; top: 0; }
.cv .cal-g .cd { height: 38px; gap: 2px; }
.cal-g .cd.none { color: var(--muted-foreground); opacity: .55; background: none; font-weight: 500; }
.cal-plain .cd.has, .cal-dots .cd.has { background: none; color: var(--text); font-weight: 800; }
.cal-plain .cd.has { background: var(--c-bg-333333); }
.cal-dots .cd u { display: flex; gap: 3px; text-decoration: none; }
.cal-dots .cd u i { width: 4px; height: 4px; border-radius: 50%; background: var(--vip-badge); }
.cal-heat .cd.has { color: var(--text); font-weight: 800; }
.cal-heat .cd.h1 { background: color-mix(in srgb, var(--vip-badge) 18%, transparent); }
.cal-heat .cd.h2 { background: color-mix(in srgb, var(--vip-badge) 38%, transparent); }
.cal-heat .cd.h3 { background: color-mix(in srgb, var(--vip-badge) 62%, transparent); color: #1a1405; }
.cal-g .cd { overflow: visible; }
.cal-tip { position: absolute; bottom: calc(100% + 6px); left: 50%; z-index: 5; transform: translateX(-50%); padding: 7px 9px; border-radius: 8px; background: var(--text); color: var(--bg); font: 600 11.5px / 1 var(--font-text); white-space: nowrap; box-shadow: 0 6px 16px #00000059; }
:root[data-theme="light"] .cal-dots .cd.has { background: none; }
:root[data-theme="light"] .cal-dots .cd u i { background: #c08a00; }
:root[data-theme="light"] .cal-heat .cd.h1 { background: color-mix(in srgb, var(--vip-badge) 22%, #fff); }
:root[data-theme="light"] .cal-heat .cd.h2 { background: color-mix(in srgb, var(--vip-badge) 45%, #fff); }
:root[data-theme="light"] .cal-heat .cd.h3 { background: color-mix(in srgb, var(--vip-badge) 75%, #fff); }

/* круг 19: заголовок страницы — в лист, на место первого баннера 450×50 (TG 7726); обложка — только место «Обои сайта» */
.ya-intro { margin: 0 2px 22px; }
.ya-intro h1 { margin: 0; color: var(--text); font: 700 30px / 1.15 var(--font-text); letter-spacing: -.4px; text-transform: none; }
.ya-intro p { max-width: 640px; margin: 8px 0 0; color: var(--muted-foreground); font: 500 14.5px / 1.45 var(--font-text); }
/* бесплатный сервер — серая метка «—» на месте VIP, как в нынешних строках (TG 7730) */
.tv-n .tn-tags i.n-free { min-width: 32px; background: var(--c-bg-ffffff0f, #ffffff0f); color: var(--c-fg-4c4c4c, #6b6b6b); font-weight: 700; }
:root[data-theme="light"] .tv-n .tn-tags i.n-free { background: #e2e2e8; color: #8a8a93; }

/* ═══ круг 20: телефон ═══ */
.ya-navm { display: none; }
@media (max-width: 720px) {
  html.tall-cover .ya-hero, .ya-hero { height: 214px; }
  .ya-top.ya-top3 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 8px; padding: 12px 16px 0; }
  .ya-top3 .logo { margin-right: auto; }
  .ya-top .logo.logo-mark span { font-size: 17px; }
  .ya-top3 .ya-end { gap: 6px; }
  .ya-top3 .ya-mid { order: 3; width: calc(100% + 32px); margin: 0 -16px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
  .ya-mid::-webkit-scrollbar { display: none; }
  .ya-pill { height: 34px; padding: 0 12px; }
  .ya-pill.ico { width: 34px; }
  .ya-pill.add { width: 34px; padding: 0; justify-content: center; font-size: 0; gap: 0; }
  .ya-pill.add svg { width: 17px; height: 17px; }
  .ya-adtag { right: 16px; bottom: 36px; font-size: 11px; }
  .ya-sheet { margin-top: -24px; padding: 16px 0 40px; border-radius: 24px; }
  .ya-grid, .ya-grid.ya-title { display: block; width: auto; padding: 0 16px; }
  .ya-nav, .ya-side { display: none; }
  .ya-filters { flex-wrap: nowrap; gap: 6px; margin: 0 -16px 18px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
  .ya-filters::-webkit-scrollbar { display: none; }
  .ya-f { flex: none; height: 34px; }
  .ya-sw { flex: none; order: -1; }
  .ya-sw .ya-search:not(.wide) { width: 34px; padding: 0; justify-content: center; }
  .ya-sw .ya-search:not(.wide) span { display: none; }
  .ya-sw.wide { flex: 1 1 100%; order: 0; }
  .ya-intro { margin-bottom: 14px; }
  .ya-intro h1 { font-size: 24px; }
  .ya-intro p { font-size: 13.5px; }
  .ya-navm { display: block; margin: 0 -16px 18px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
  .ya-navm::-webkit-scrollbar { display: none; }
  .ya-navm .ya-nav { position: static; display: flex; flex-direction: row; gap: 6px; padding: 0; }
  .ya-navm .ya-nav a { flex: none; gap: 8px; height: 32px; padding: 0 12px; border-radius: 10px; background: var(--c-bg-1f1f1f); white-space: nowrap; }
  .ya-navm .ya-nav a.on { background: var(--primary); color: var(--primary-foreground); }
  .ya-navm .ya-nav a.on::before { display: none; }
  .ya-navm .ya-nav a.on em { color: var(--primary-foreground); opacity: .6; }
  :root[data-theme="light"] .ya-navm .ya-nav a:not(.on) { background: #f1f1f4; }
  .ya .slot-col.ya-slot { width: 100%; }
  .ya-sec-h h2 { font-size: 18px; }
  .ya-tiles.tv-n { grid-template-columns: 1fr; gap: 8px; }
  .tv-n .tile { height: 96px; padding: 11px 12px; }
  .tn-name { font-size: 18px; }
  .ya-band { padding: 56px 0 44px; border-radius: 0 0 24px 24px; margin-top: -24px; }
  .ya-band-in { max-width: none; }
  .ya-band h2 { font-size: 17px; }
  .ya-band p { font-size: 13.5px; }
  .ya-foot2 { margin-top: -24px; padding: 56px 16px 24px; }
  .ya-foot2 .ft { display: block; }
  .ya-foot2 .fcols { grid-template-columns: 1fr 1fr; margin-top: 28px; column-gap: 16px; }
  .ya-foot2 .nc { margin-top: 8px; }
  .ya-foot2 .fb { flex-wrap: wrap; gap: 12px 18px; margin-top: 24px; font-size: 12px; }
  .ya-foot2 .fb .soc { order: -1; margin-left: 0; }
  .ya-foot2 .fb span { width: 100%; order: -1; }
  /* прокрутили: плотная полоса без ряда разделов, под ней прилипает ряд фильтров */
  html.scrolled .ya-top.ya-top3 { height: 56px; padding: 0 16px; flex-wrap: nowrap; }
  html.scrolled .ya-top3 .ya-mid { display: none; }
  html.scrolled .ya-filters { top: 56px; margin: 0 -16px 12px; padding: 10px 16px; border-radius: 0; }
}

/* круг 21: воздух между тремя колонками, как у Яндекса (TG 7739): 28 → 64 px, сетка 1180 → 1252 */
@media (min-width: 721px) {
  .ya-grid { width: 1252px; column-gap: 64px; }
  .ya-foot2 .ft { column-gap: 64px; }
}
@media (min-width: 721px) and (max-width: 1300px) {
  .ya-grid { width: calc(100% - 32px); column-gap: 40px; }
}
@media (max-width: 720px) {
  html.tall-cover .ya-hero, .ya-hero { height: 196px; }
  .tv-n .tile { height: 86px; padding: 10px 12px; }
  .tn-name { font-size: 17px; }
}
@media (max-width: 720px) {
  html.scrolled .ya-top.ya-top3 { display: flex; }
  .ya-filters:has(.ya-sw.wide) { overflow: visible; }
  .ya-sugg a { height: 44px; }
  .ya-sugg .meta { font-size: 11.5px; }
}
@media (max-width: 720px) {
  .ya-sugg a { gap: 10px; }
  .ya-sugg .nm { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .ya-sugg .meta { flex: 0 1 auto; min-width: 0; max-width: 55%; overflow: hidden; }
}
@media (max-width: 720px) {
  .ya-foot2 .fb { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
  .ya-foot2 .fb span { grid-column: 1; grid-row: 1; width: auto; order: 0; }
  .ya-foot2 .fb .soc { grid-column: 2; grid-row: 1; order: 0; }
  .ya-foot2 .fb a:not(.soc) { grid-column: 1 / -1; }
}

/* круг 22: «≡» — только на телефоне (как у Яндекса: «≡» и «Войти») */
.ya-burger { display: none !important; }
.ya-mpanel { display: none; }
@media (max-width: 720px) {
  .ya-burger { display: inline-flex !important; }
  .ya-top3 .ya-mid, .ya-top3 .ya-end .theme, .ya-top3 .ya-end .ya-pw:has(.ya-lang), .ya-top3 .ya-end .ya-pill.add { display: none; }
  .ya-top3 .ya-end > .ya-pw:has(svg circle[r="10"]) { display: none; }
  html.tall-cover .ya-hero, .ya-hero { height: 176px; }
  .ya-mpanel { position: absolute; top: 58px; left: 12px; right: 12px; z-index: 70; display: block; padding: 8px; border-radius: 20px; background: var(--popover); color: var(--text); box-shadow: 0 18px 44px #000000a6; }
  :root[data-theme="light"] .ya-mpanel { box-shadow: 0 18px 44px #00000033; }
  .ya-mpanel nav { display: flex; flex-direction: column; }
  .ya-mpanel nav a { display: flex; align-items: center; height: 44px; padding: 0 12px; border-radius: 12px; color: var(--text); font: 600 15px / 1 var(--font-text); }
  .ya-mpanel nav a.on { background: var(--c-bg-333333); }
  :root[data-theme="light"] .ya-mpanel nav a.on { background: #ececf1; }
  .ya-mpanel nav a.hl { color: #f6c94a; }
  :root[data-theme="light"] .ya-mpanel nav a.hl { color: #9a6a00; }
  .ya-madd { display: flex; align-items: center; justify-content: center; gap: 8px; height: 44px; margin: 8px 4px 4px; border-radius: 12px; background: var(--primary); color: var(--primary-foreground); font: 700 14px / 1 var(--font-text); }
  .ya-madd svg { width: 17px; height: 17px; }
  .ya-mpanel h6 { margin: 10px 0 0; padding: 6px 12px; color: var(--muted-foreground); font: 600 12px / 1 var(--font-text); }
  .ya-mpanel .ya-seg { margin: 0 4px 4px; }
  .ya-mpanel .ya-seg span { height: 34px; font-size: 13px; }
}
@media (max-width: 720px) {
  .ya-top:has(.ya-mpanel) { z-index: 80; }
  .ya-mpanel { position: fixed; top: 64px; }
  html:has(.ya-mpanel) .ya-sheet::before { content: ""; position: fixed; inset: 0; z-index: 4; background: #00000080; }
}

/* круг 23 (TG 7767): на экранах до 1300 px (ноутбук 1280) промежутки тоже 64, сжимается центр; фильтры при прокрутке не прилипают */
@media (min-width: 721px) and (max-width: 1300px) {
  .ya-grid { width: calc(100% - 64px); column-gap: 64px; grid-template-columns: 170px minmax(0, 1fr) 200px; }
}
html.scrolled .ya-filters { position: static; margin: 0 0 22px; padding: 0; border-radius: 0; background: none; }
@media (max-width: 720px) { html.scrolled .ya-filters { margin: 0 -16px 18px; padding: 0 16px; } }
/* круг 24: пункты слева реже, как у Яндекса (TG 7778): шаг 32 → 40 px */
.ya-nav a.flat { height: 40px; }
.ya-nav a.flat { gap: 12px; font-size: 13px; }
.ya-nav a.flat span { white-space: nowrap; }
@media (min-width: 721px) and (max-width: 1300px) { .ya-grid { grid-template-columns: 180px minmax(0, 1fr) 200px; } }

/* круг 25: блок текста подборки интереснее (TG 7784): текст слева, плитки-цифры справа, ниже популярные подборки */
.ya-band-in.ya-band2 { display: grid; grid-template-columns: minmax(0, 1fr) 400px; column-gap: 48px; row-gap: 28px; max-width: none; }
.ya-band2 .bl { align-self: start; }
.ya-band2 .br { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ya-band2 .bt { display: flex; flex-direction: column; justify-content: space-between; height: 92px; padding: 14px; border-radius: 16px; background: var(--surface); color: var(--text); text-decoration: none; }
.ya-band2 .bt b { font: 800 30px / 1 var(--font-text); letter-spacing: -.5px; }
.ya-band2 .bt span { color: var(--muted-foreground); font: 500 13px / 1.2 var(--font-text); }
.ya-band2 .bt:hover { background: var(--c-bg-262626); }
.ya-band2 .bp { grid-column: 1 / -1; }
.ya-band2 .bp h3 { margin: 0 0 12px; color: var(--text); font: 700 15px / 1 var(--font-text); }
.ya-band2 .bcs { display: flex; flex-wrap: wrap; gap: 8px; }
.ya-band2 .bc { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: 12px; background: var(--surface); color: var(--text); font: 600 13.5px / 1 var(--font-text); text-decoration: none; }
.ya-band2 .bc em { color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); font-style: normal; }
:root[data-theme="light"] .ya-band2 .bt, :root[data-theme="light"] .ya-band2 .bc { background: #fff; }
@media (max-width: 720px) {
  .ya-band-in.ya-band2 { grid-template-columns: 1fr; row-gap: 20px; }
  .ya-band2 .br { grid-template-columns: 1fr 1fr; }
}

/* круг 26 (TG 7785): в шапке все пункты одинаковые — «Реклама» белая, текущий раздел не выделяем */
.ya-pill.hl, html.scrolled .ya-pill.hl, .hx-bar .ya-pill.hl, html:not([data-theme="light"]).scrolled .ya-pill.hl, html:not([data-theme="light"]) .hx-bar .ya-pill.hl, html[data-theme="light"].scrolled .ya-pill.hl, html[data-theme="light"] .hx-bar .ya-pill.hl { color: inherit; }
.ya-top .ya-pill.hl { color: #fff; }
.ya-pill.on { background: #ffffff1f; }
html.scrolled .ya-pill.on, .hx-bar .ya-pill.on { background: var(--c-bg-262626); }
.ya-mpanel nav a.on { background: none; }
.ya-mpanel nav a.hl, :root[data-theme="light"] .ya-mpanel nav a.hl { color: var(--text); }
html.scrolled .ya-top .ya-pill.hl, .hx-bar .ya-top .ya-pill.hl { color: var(--text); }

/* круг 27: чипы хроник под заголовком, как на нынешней главной (TG 7797) */
.ya-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.ya-chips a { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border-radius: 10px; background: var(--c-bg-1f1f1f); color: var(--text); font: 600 13px / 1 var(--font-text); text-decoration: none; }
.ya-chips a em { color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); font-style: normal; }
.ya-chips a.on { background: var(--primary); color: var(--primary-foreground); }
.ya-chips a:hover:not(.on) { background: var(--c-bg-262626); }
:root[data-theme="light"] .ya-chips a:not(.on) { background: #f1f1f4; }
@media (max-width: 720px) {
  .ya-chips { flex-wrap: nowrap; margin: 12px -16px 0; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
  .ya-chips::-webkit-scrollbar { display: none; }
  .ya-chips a { flex: none; }
}
/* круг 28 (TG 7808): название в карточке 19 → 16 px */
.tn-name { font-size: 16px; letter-spacing: -.1px; }
@media (max-width: 720px) { .tn-name { font-size: 16px; } }
/* круг 29 (TG 7812): между названием и строкой «хроника · рейт · дата» 14 → 6 px, сверху (метки → название) как было, 14 px */
.tv-n .tile { height: auto; justify-content: flex-start; }
.tv-n .tn-name { margin-top: 14px; }
.tv-n .tn-meta { margin-top: 6px; }
/* круг 30 (TG 7816): подпись под заголовком — ровные строки, как у Яндекса; уже, без висящего «— московское.» */
.ya-intro p { max-width: 540px; text-wrap: balance; }
@media (max-width: 720px) { .ya-br { display: none; } }

/* круг 31 (TG 7826): заголовок страницы — над списком слева, серый, по ширине колонки */
.ya-navcol { position: sticky; top: 82px; align-self: start; }
.ya-navcol .ya-nav { position: static; }
.ya-navh { margin: 0 0 14px; padding-left: 16px; color: var(--muted-foreground); font: 700 19px / 1.2 var(--font-text); letter-spacing: -.3px; text-transform: none; }
.ya-intro { display: none; }
@media (max-width: 720px) {
  .ya-navcol { display: none; }
  .ya-intro { display: block; margin-bottom: 12px; }
  .ya-h1m { margin: 0; color: var(--muted-foreground); font: 700 18px / 1.2 var(--font-text); }
}
.ya-navh { font-size: 18px; letter-spacing: -.35px; }

/* круг 32 (TG 7833): активный фильтр спокойнее — значение без названия фильтра, тёмная «таблетка» с цветной точкой */
.ya-f.is-set2 { gap: 7px; padding: 0 6px 0 11px; background: var(--c-bg-333333); color: var(--text); }
.ya-f.is-set2 .dot { width: 7px; height: 7px; border-radius: 50%; background: #4ade80; font-style: normal; }
.ya-f.is-set2 .x { width: 22px; height: 22px; border-radius: 8px; background: #ffffff14; color: var(--muted-foreground); }
:root[data-theme="light"] .ya-f.is-set2 { background: #e4e4ea; }
:root[data-theme="light"] .ya-f.is-set2 .dot { background: #16a34a; }
:root[data-theme="light"] .ya-f.is-set2 .x { background: #0000000f; }
/* заголовок подборки слева: «Сервера Л2» мелко, суть крупно, (Interlude) мелко — тот же текст h1 */
.ya-navh .k, .ya-navh .e { display: block; font-size: 13px; font-weight: 600; letter-spacing: 0; }
.ya-navh .m { display: block; margin: 2px 0; color: var(--text); font-size: 18px; }
html.found11 .ya-navh::after { content: "11 серверов"; display: block; margin-top: 8px; color: var(--muted-foreground); font: 500 12.5px / 1 var(--font-text); }
.ya-f.is-set2 .fdot { display: block; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #4ade80; }
:root[data-theme="light"] .ya-f.is-set2 .fdot { background: #16a34a; }

/* круг 33 (TG 7841): заголовок страницы снова в центре, над контейнерами; заголовки контейнеров ниже по высоте */
.ya-intro { display: flex !important; align-items: baseline; gap: 12px; margin: 0 2px 16px; }
.ya-intro h1 { margin: 0; color: var(--text); font: 700 24px / 1.2 var(--font-text); letter-spacing: -.3px; text-transform: none; }
.ya-found { color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); white-space: nowrap; }
.ya-sec { margin-bottom: 16px; }
.ya-sec-h { margin: 0 2px 8px; gap: 8px; }
.ya-sec-h h2 { font: 600 15px / 1.2 var(--font-text); letter-spacing: 0; }
.ya-sec-h > span { font-size: 13px; }
.ya-sec:has(.ya-none):not(:has(.ya-card)) .ya-sec-h { padding: 10px 12px; }
.ya-sec:has(.ya-none):not(:has(.ya-card)) .ya-sec-h h2 { font-size: 14px; }
@media (max-width: 720px) {
  .ya-intro { flex-wrap: wrap; gap: 6px 10px; }
  .ya-intro h1 { font-size: 20px; }
  .ya-sec-h h2 { font-size: 15px; }
}
/* круг 34 (TG 7846): между контейнерами-категориями больше воздуха: 16 → 28 px */
.ya-sec { margin-bottom: 28px; }
.ya-col > .ya-slot { margin-bottom: 28px; }

/* круг 35 (TG 7859): сетка шире — карточек в ряд столько, сколько влезает при ширине не меньше 208 px (4 на 1440+, 3 на ноутбуке 1280) */
@media (min-width: 1301px) {
  .ya-grid { width: min(calc(100% - 64px), 1520px); }
}
.ya-tiles.tv-n { grid-template-columns: repeat(auto-fill, minmax(208px, 1fr)); }
@media (max-width: 720px) { .ya-tiles.tv-n { grid-template-columns: 1fr; } }
/* круг 36 (TG 7864): обложка «Обои сайта» чуть выше: видно 240 → 280 px */
@media (min-width: 721px) { html.tall-cover .ya-hero { height: 312px; } }
/* круг 37 (TG 7868): обложка ещё чуть выше: видно 280 → 320 px */
@media (min-width: 721px) { html.tall-cover .ya-hero { height: 352px; } }

/* ═══ круг 38: страница сервера ═══ */
.sp-crumbs { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
.sp-crumbs a { color: var(--muted-foreground); text-decoration: none; }
.sp-crumbs .back { display: inline-flex; align-items: center; gap: 6px; height: 32px; margin-right: 8px; padding: 0 12px 0 8px; border-radius: 10px; background: var(--c-bg-1f1f1f); color: var(--text); font-weight: 600; }
.sp-crumbs .back svg { width: 16px; height: 16px; }
.sp-crumbs span { color: var(--text); }
.sp-crumbs i { font-style: normal; opacity: .6; }
.sp-hero { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; padding: 22px; border-radius: 20px; background: var(--c-bg-1f1f1f); }
.sp-hero.t-elite { background: var(--elite-bg); color: #fff; }
.sp-hero h1 { margin: 14px 0 6px; color: var(--text); font: 700 30px / 1.15 var(--font-text); letter-spacing: -.4px; text-transform: none; }
.sp-hero .tn-tags i { display: inline-grid; place-items: center; height: 24px; padding: 0 8px; border-radius: 8px; font: 700 12px / 1 var(--font-text); font-style: normal; }
.sp-hero .tn-tags i.n-vip { background: var(--vip-badge); color: #1a1405; }
.sp-hero .tn-tags i.n-obt { background: #078bcb; color: #fff; }
.sp-hero .tn-tags i.n-yt { width: 34px; padding: 0; background: #ff0033; color: #fff; }
.sp-hero .tn-tags i.n-yt svg { width: 13px; height: 13px; }
.sp-hero .tn-tags i.n-free { min-width: 34px; background: #ffffff0f; color: #6b6b6b; }
.sp-hero .tn-tags i.n-el { display: inline-flex; gap: 4px; background: #ffffff2e; color: #fff; }
.sp-hero .tn-tags i.n-el img { width: 15px; }
.sp-sub { margin: 0 0 14px; color: var(--muted-foreground); font: 500 14px / 1.4 var(--font-text); }
.sp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.sp-chips span { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 10px; background: var(--c-bg-333333); color: var(--text); font: 600 13px / 1 var(--font-text); }
.sp-rk { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; color: var(--muted-foreground); font: 600 13px / 1 var(--font-text); }
.sp-rk .v { display: inline-flex; align-items: center; gap: 6px; color: var(--text); }
.sp-rk svg { width: 15px; height: 15px; }
.sp-rk .st { display: inline-flex; align-items: center; gap: 2px; }
.sp-rk .st i { display: grid; color: var(--c-fg-4c4c4c, #555); font-style: normal; }
.sp-rk .st em { margin-left: 6px; font-style: normal; font-weight: 500; }
.sp-obt { margin: 0 0 14px; color: var(--text); font: 600 13.5px / 1 var(--font-text); }
.sp-obt b { display: inline-grid; place-items: center; height: 22px; margin-right: 6px; padding: 0 7px; border-radius: 7px; background: #078bcb; color: #fff; font-size: 11.5px; }
.sp-soc { display: flex; gap: 6px; }
.sp-soc .ss { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--c-bg-333333); color: var(--text); }
.sp-soc .ss svg { width: 16px; height: 16px; }
.sp-soc .ss.tg:not(.off) { background: #229ed9; color: #fff; }
.sp-soc .ss.off { opacity: .35; }
.sp-side { display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 16px; background: var(--c-bg-262626); }
.t-elite .sp-side { background: #00000033; }
.sp-when { margin: 0; color: var(--text); font: 700 15px / 1.3 var(--font-text); text-align: center; }
.sp-when small { color: var(--muted-foreground); font-weight: 600; }
.sp-timer { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.sp-timer div { display: grid; place-items: center; gap: 4px; padding: 10px 0 8px; border-radius: 12px; background: var(--c-bg-333333); }
.sp-timer b { color: var(--vip-badge); font: 800 24px / 1 var(--font-text); font-variant-numeric: tabular-nums; }
.sp-timer span { color: var(--muted-foreground); font: 600 10.5px / 1 var(--font-text); text-transform: uppercase; letter-spacing: .3px; }
.sp-go { display: flex; gap: 6px; }
.sp-go .go { display: flex; flex: 1; align-items: center; justify-content: center; gap: 8px; height: 46px; border-radius: 12px; background: var(--vip-badge); color: #1a1405; font: 700 15px / 1 var(--font-text); }
.sp-go .go svg { width: 16px; height: 16px; }
.sp-go .bell { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: #229ed9; color: #fff; }
.sp-go .bell svg { width: 18px; height: 18px; }
.sp-side .vote { display: flex; align-items: center; justify-content: center; gap: 8px; height: 40px; border-radius: 12px; background: var(--c-bg-333333); color: var(--text); font: 600 14px / 1 var(--font-text); }
.sp-side .vote svg { width: 16px; height: 16px; }
.sp-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sp-dl { padding: 14px 16px 6px !important; }
.sp-dl h3 { margin: 0 0 6px; color: var(--muted-foreground); font: 600 12.5px / 1 var(--font-text); }
.sp-dl dl { margin: 0; }
.sp-dl dl div { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 38px; box-shadow: inset 0 -1px 0 var(--surface-line); }
.sp-dl dl div:last-child { box-shadow: none; }
.sp-dl dt { color: var(--muted-foreground); font: 500 13.5px / 1 var(--font-text); }
.sp-dl dd { margin: 0; color: var(--text); font: 600 13.5px / 1 var(--font-text); text-align: right; }
.sp-dl dd.empty { color: var(--muted-foreground); font-weight: 500; }
.sp-feats { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.sp-feats li { display: flex; align-items: center; gap: 9px; height: 42px; padding: 0 12px; border-radius: 12px; background: var(--c-bg-1f1f1f); color: var(--text); font: 600 13.5px / 1 var(--font-text); }
.sp-feats li svg { flex: none; width: 15px; height: 15px; }
.sp-feats li.on svg { color: #4ade80; }
.sp-feats li.off { color: var(--muted-foreground); font-weight: 500; }
.sp-feats li.off svg { opacity: .5; }
.sp-about { padding: 18px 20px !important; }
.sp-about .txt { max-height: 148px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
.sp-about p { margin: 0 0 10px; color: var(--text-2, var(--text)); font: 400 14.5px / 1.6 var(--font-text); }
.sp-about .more { display: inline-block; margin-top: 8px; color: var(--text); font: 600 14px / 1 var(--font-text); }
.sp-empty { padding: 16px 18px !important; color: var(--muted-foreground); font: 500 14px / 1.3 var(--font-text); }
.sp-l .tn-tags i.n-free { width: auto; padding: 0 8px; font-size: 11px; color: var(--muted-foreground); }
.sp-seg { display: flex; gap: 2px; margin-left: auto; padding: 3px; border-radius: 10px; background: var(--c-bg-1f1f1f); }
.sp-seg b, .sp-seg span { display: grid; place-items: center; height: 26px; padding: 0 10px; border-radius: 8px; color: var(--muted-foreground); font: 600 12px / 1 var(--font-text); }
.sp-seg b { background: var(--c-bg-333333); color: var(--text); }
.sp-chart { padding: 18px 20px 14px !important; }
.sp-chart .bars { display: flex; align-items: flex-end; gap: 12px; height: 90px; box-shadow: inset 0 -1px 0 var(--surface-line); }
.sp-chart .bars i { flex: 1; height: 3px; border-radius: 4px 4px 0 0; background: var(--c-bg-333333); }
.sp-chart .days { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; color: var(--muted-foreground); font: 500 11.5px / 1 var(--font-text); }
.sp-chart .days span { flex: 1; text-align: center; }
.sp-nov { margin: 14px 0 0; color: var(--muted-foreground); font: 500 13px / 1.3 var(--font-text); text-align: center; }
:root[data-theme="light"] .sp-hero:not(.t-elite), :root[data-theme="light"] .sp-feats li, :root[data-theme="light"] .sp-crumbs .back, :root[data-theme="light"] .sp-seg { background: #f1f1f4; }
:root[data-theme="light"] .sp-side { background: #e8e8ed; }
:root[data-theme="light"] .sp-timer div, :root[data-theme="light"] .sp-chips span, :root[data-theme="light"] .sp-soc .ss:not(.tg), :root[data-theme="light"] .sp-side .vote, :root[data-theme="light"] .sp-seg b { background: #fff; }
:root[data-theme="light"] .sp-timer b { color: #b07d00; }
@media (max-width: 720px) {
  .sp-hero { grid-template-columns: 1fr; gap: 16px; padding: 16px; }
  .sp-hero h1 { font-size: 24px; }
  .sp-two { grid-template-columns: 1fr; }
  .sp-feats { grid-template-columns: 1fr 1fr; }
  .sp-crumbs { flex-wrap: wrap; }
  .sp-crumbs a:not(.back), .sp-crumbs i { display: none; }
}
.sp-dl dd.nil { color: var(--muted-foreground); font-weight: 500; }
@media (max-width: 720px) {
  .ya-sec-h { flex-wrap: wrap; }
  .sp-seg { order: 9; width: 100%; margin-left: 0; }
  .sp-seg b, .sp-seg span { flex: 1; }
}

/* круг 39 (TG 7887): правая часть шапки сервера — без «коробки в коробке» и пустоты снизу */
/* А: без своей подложки, отделена линией, содержимое по центру по высоте */
.hv-a .sp-side { justify-content: center; padding: 0 0 0 28px; border-radius: 0; background: none; box-shadow: inset 1px 0 0 var(--surface-line); }
.hv-a .sp-timer div { background: none; padding: 4px 0; }
.hv-a .sp-timer { gap: 0; }
.hv-a .sp-timer div + div { box-shadow: inset 1px 0 0 var(--surface-line); }
.hv-a .sp-timer b { font-size: 30px; }
/* Б: старт — полоса внизу шапки во всю ширину: дата и таймер слева, кнопки справа */
.hv-b .sp-hero { grid-template-columns: 1fr; gap: 18px; }
.hv-b .sp-side { display: grid; grid-template-columns: auto auto 1fr auto auto; align-items: center; gap: 16px; padding: 14px 16px; border-radius: 16px; }
.hv-b .sp-when { text-align: left; font-size: 14px; }
.hv-b .sp-timer { display: flex; gap: 14px; }
.hv-b .sp-timer div { display: flex; align-items: baseline; gap: 4px; padding: 0; background: none; }
.hv-b .sp-timer b { font-size: 22px; }
.hv-b .sp-timer span { text-transform: none; font-size: 12px; letter-spacing: 0; }
.hv-b .sp-go { grid-column: 4; }
.hv-b .sp-go .go { width: 200px; flex: none; }
.hv-b .sp-side .vote { grid-column: 5; height: 46px; padding: 0 16px; }
.hv-b .sp-main { position: relative; }
.hv-b .sp-soc { position: absolute; top: 0; right: 0; }
@media (max-width: 720px) {
  .hv-a .sp-side { padding: 16px 0 0; box-shadow: inset 0 1px 0 var(--surface-line); }
  .hv-b .sp-side { grid-template-columns: 1fr; }
  .hv-b .sp-go, .hv-b .sp-side .vote { grid-column: auto; }
  .hv-b .sp-go .go { width: auto; flex: 1; }
  .hv-b .sp-soc { position: static; }
}
:root[data-theme="light"] .hv-a .sp-side { background: none; }

/* круг 40 (TG 7887–7889, по нынешнему сайту): справа компактно, по центру; открылся — листок календаря; Элит — красная полоса под названием */
.hv-c .sp-hero.t-elite { background: var(--c-bg-1f1f1f); color: var(--text); }
:root[data-theme="light"] .hv-c .sp-hero.t-elite { background: #f1f1f4; }
.hv-c .t-elite .sp-h1 { display: flex; align-items: center; gap: 10px; margin: 10px -22px 10px; padding: 10px 22px; border-radius: 0; background: var(--elite-bg); color: #fff; text-shadow: 0 2px 8px #0000004d; }
.hv-c .t-elite .sp-h1 img { width: 34px; height: auto; }
.hv-c .t-elite .tn-tags:empty + .sp-h1 { margin-top: 0; }
.hv-c .sp-hero.t-elite { overflow: hidden; }
.hv-c .t-elite .sp-side { background: none; }
.sp-cal { display: flex; align-items: center; gap: 14px; }
.sp-cal .sheet { display: grid; flex: none; width: 64px; overflow: hidden; border-radius: 12px; background: var(--c-bg-333333); text-align: center; }
.sp-cal .sheet span { padding: 5px 0 4px; background: #22c55e; color: #052e16; font: 800 11px / 1 var(--font-text); text-transform: uppercase; letter-spacing: .5px; }
.sp-cal .sheet b { padding: 8px 0 10px; color: var(--text); font: 800 28px / 1 var(--font-text); }
.sp-cal .txt { display: flex; flex-direction: column; gap: 4px; }
.sp-cal .txt .st { display: inline-flex; align-items: center; gap: 6px; color: #4ade80; font: 700 13px / 1 var(--font-text); }
.sp-cal .txt .st::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.sp-cal .txt b { color: var(--text); font: 700 17px / 1.2 var(--font-text); }
.sp-cal .txt span:last-child { color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
:root[data-theme="light"] .sp-cal .sheet { background: #fff; }
:root[data-theme="light"] .sp-cal .txt .st { color: #15803d; }
.sp-hero.t-elite .sp-rk .st i { background: none !important; color: var(--c-fg-4c4c4c, #555) !important; }

/* круг 41 (TG 7901): контейнер сервера 1:1 как на сайте (настоящая разметка pp-top), в скруглённой карточке нового вида */
.sp-raw .pp-top { overflow: hidden; border-radius: 20px; background: var(--c-bg-1f1f1f); }
.sp-raw .pp-block { background: none; }
:root[data-theme="light"] .sp-raw .pp-top { background: #f1f1f4; }

/* круг 42 (TG 7906): шапка сервера — два отдельных контейнера: слева сервер, справа старт и кнопки */
.sp-raw .pp-top { gap: 10px; overflow: visible; border-radius: 0; background: none; }
.sp-raw .pp-top > .pp-hero, .sp-raw .pp-top > .pp-cta { overflow: hidden; border-radius: 20px; background: var(--c-bg-1f1f1f); box-shadow: none; }
.sp-raw .pp-top > .pp-cta { border-left: 0; padding: 18px; }
:root[data-theme="light"] .sp-raw .pp-top { background: none; }
:root[data-theme="light"] .sp-raw .pp-top > .pp-hero, :root[data-theme="light"] .sp-raw .pp-top > .pp-cta { background: #f1f1f4; }

/* круг 43 (TG 7910): страница сервера — вкладки как на сайте, кнопками; центр на месте списка слева */
.srv-tabs .ya-grid { grid-template-columns: minmax(0, 1fr) 200px; }
.srv-tabs .ya-board.ya-wide { grid-column: 1; }
.sp-tabs2 .pp-tabs { padding: 0; background: none; }
.sp-tabs2 .sp-ctabs.pp-tabbar { display: flex; gap: 6px; margin: 0 0 14px; padding: 0; border: 0; box-shadow: none; background: none; }
.sp-tabs2 .sp-ctabs.pp-tabbar button { height: 38px; margin: 0; padding: 0 16px; border: 0; border-radius: 12px; background: none; color: var(--muted-foreground); font: 600 14px / 1 var(--font-text); letter-spacing: 0; text-transform: none; box-shadow: none; cursor: pointer; }
.sp-tabs2 .sp-ctabs.pp-tabbar button::after { display: none; }
.sp-tabs2 .sp-ctabs.pp-tabbar button:hover { color: var(--text); }
.sp-tabs2 .sp-ctabs.pp-tabbar button.is-on, .sp-tabs2 .sp-ctabs.pp-tabbar button[aria-selected="true"] { background: var(--c-bg-262626); color: var(--text); }
:root[data-theme="light"] .sp-tabs2 .sp-ctabs.pp-tabbar button.is-on, :root[data-theme="light"] .sp-tabs2 .sp-ctabs.pp-tabbar button[aria-selected="true"] { background: #1f1f23; color: #fff; }
/* содержимое вкладок: карточки нового вида — скругление 20, промежуток 10 */
.sp-tabs2 .pp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.sp-tabs2 .pp-card { margin: 0 0 10px; padding: 16px 18px; border: 0; border-radius: 20px; background: var(--c-bg-1f1f1f); box-shadow: none; }
.sp-tabs2 .pp-grid .pp-card { margin: 0; }
:root[data-theme="light"] .sp-tabs2 .pp-card { background: #f1f1f4; }
@media (max-width: 720px) {
  .srv-tabs .ya-grid { display: block; }
  .sp-tabs2 .sp-ctabs.pp-tabbar { overflow-x: auto; scrollbar-width: none; margin: 0 -16px 12px; padding: 0 16px; }
  .sp-tabs2 .sp-ctabs.pp-tabbar button { flex: none; }
  .sp-tabs2 .pp-grid { grid-template-columns: 1fr; }
}
.sp-tabs2 .pp-grid, .sp-tabs2 .pp-block, .sp-tabs2 .pp-tabs > div { border: 0 !important; box-shadow: none !important; }
/* круг 44 (TG 7923): вкладки — выбранная белая «таблетка» с тёмным текстом, соседние серые «таблетки» */
.sp-tabs2 .sp-ctabs.pp-tabbar button { background: var(--c-bg-262626); color: var(--muted-foreground); }
.sp-tabs2 .sp-ctabs.pp-tabbar button:hover { background: var(--c-bg-333333); color: var(--text); }
.sp-tabs2 .sp-ctabs.pp-tabbar button.is-on, .sp-tabs2 .sp-ctabs.pp-tabbar button[aria-selected="true"],
:root[data-theme="light"] .sp-tabs2 .sp-ctabs.pp-tabbar button.is-on, :root[data-theme="light"] .sp-tabs2 .sp-ctabs.pp-tabbar button[aria-selected="true"] { background: var(--primary); color: var(--primary-foreground); }
:root[data-theme="light"] .sp-tabs2 .sp-ctabs.pp-tabbar button:not(.is-on):not([aria-selected="true"]) { background: #e8e8ed; color: #6b6b73; }
/* TG 7924: как в светлой — соседние без подложки, серым текстом; выбранная контрастная «таблетка» (в тёмной — белая, в светлой — тёмная) */
.sp-tabs2 .sp-ctabs.pp-tabbar button:not(.is-on):not([aria-selected="true"]),
:root[data-theme="light"] .sp-tabs2 .sp-ctabs.pp-tabbar button:not(.is-on):not([aria-selected="true"]) { background: none; color: var(--muted-foreground); }
.sp-tabs2 .sp-ctabs.pp-tabbar button:not(.is-on):not([aria-selected="true"]):hover { color: var(--text); }

/* ═══ круг 45: «Рейтинг» ═══ */
.ya-navt { margin: 0 0 6px; padding-left: 16px; color: var(--muted-foreground); font: 600 12px / 1 var(--font-text); }
.rk-lead2 { max-width: 640px; margin: -6px 2px 22px; color: var(--muted-foreground); font: 500 14px / 1.5 var(--font-text); text-wrap: balance; }
.top2 .rk-page { display: block; }
.rk-list2 { display: flex; flex-direction: column; gap: 10px; }
.rk-list2 .rk-card { margin: 0; padding: 16px; border: 0; border-radius: 20px; background: var(--c-bg-1f1f1f); box-shadow: none; }
:root[data-theme="light"] .rk-list2 .rk-card { background: #f1f1f4; }
.rk-pager2 { margin-top: 18px; }
.rk-pager2 .pager { border: 0; box-shadow: none; background: none; padding: 0; }
.rk-pager2 .pager a, .rk-pager2 .pager .cur, .rk-pager2 .pager .off { border-radius: 10px; }
@media (max-width: 720px) { .top2 .ya-navm .ya-navt { display: none; } }
/* история открытий — строками, как на нынешнем сайте (TG 7944) */
.sp-tabs2 .sp-launch-rows { gap: 4px; margin-top: 0; }

/* ═══ круг 46: База L2 — тот же каркас; справа баннера нет (как сейчас), центр шире ═══ */
.kb2 .ya-grid { grid-template-columns: 200px minmax(0, 1fr); }
.kb2-tree .kb-tree { position: sticky; top: 82px; height: auto; padding: 0; overflow: visible; border-radius: 0; background: none; }
.kb2-tree .kb-tree > summary { display: none; }
.kb2-tree .kb-tree-chron { margin: 0 0 14px; }
.kb2-tree .kb-chron-btn { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 48px; padding: 0 12px 0 14px; border: 0; border-radius: 14px; background: var(--c-bg-1f1f1f); color: var(--text); cursor: pointer; }
.kb2-tree .kb-chron-btn small { display: block; color: var(--muted-foreground); font: 500 11px / 1 var(--font-text); }
.kb2-tree .kb-chron-btn b { display: block; margin-top: 3px; font: 700 14px / 1 var(--font-text); }
.kb2-tree .kb-tree-group { margin: 14px 0 4px; padding-left: 16px; color: var(--muted-foreground); font: 600 12px / 1 var(--font-text); letter-spacing: 0; text-transform: none; }
.kb2-tree .kb-tree > a { display: flex; align-items: center; gap: 10px; height: 36px; padding: 0 0 0 16px; border-radius: 0; background: none; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); text-decoration: none; }
.kb2-tree .kb-tree > a:hover { color: var(--text); background: none; }
.kb2-tree .kb-tree > a[aria-current], .kb2-tree .kb-tree > a.on { color: var(--text); font-weight: 600; background: none; }
.kb2-tree .kb-tree > a small { margin-left: auto; color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); }
.kb2-tree .kb-tree-ic { width: 18px; font-size: 14px; text-align: center; }
/* центр: без внутренней прокрутки — страница листается целиком */
.kb2 .kb-main { display: block; height: auto; min-height: 0; padding: 0; background: none; }
.kb2 .kb-pane { height: auto; overflow: visible; padding: 0; }
.kb2 .kb-bar { margin: 0 0 18px; padding: 0; border: 0; background: none; box-shadow: none; }
.kb2 .kb-h1 { margin-top: 0; font: 700 26px / 1.2 var(--font-text); letter-spacing: -.3px; }
.kb2 .kb-search.big { border-radius: 16px; }
.kb2 .kb-band { border-radius: 16px; }
.kb2 .kb-card-body { gap: 28px; }
.kb2 .kb-card-side { padding: 0 0 0 24px; border: 0; box-shadow: inset 1px 0 0 var(--surface-line); }
@media (max-width: 720px) {
  .kb2 .ya-grid { display: block; }
  .kb2-tree { display: block !important; margin-bottom: 16px; }
  .kb2-tree .kb-tree { position: static; }
  .kb2-tree .kb-tree > summary { display: flex; align-items: center; height: 44px; padding: 0 14px; border-radius: 14px; background: var(--c-bg-1f1f1f); color: var(--text); font: 600 14px / 1 var(--font-text); }
  .kb2-tree .kb-tree:not([open]) > :not(summary) { display: none; }
  .kb2 .kb-card-side { padding: 16px 0 0; box-shadow: inset 0 1px 0 var(--surface-line); }
}
/* База: без рамок старой оболочки, карточка предмета/монстра — без отрицательных полей */
.kb2 .ya-grid { grid-template-columns: 220px minmax(0, 1fr); }
.kb2-tree .kb-tree, .kb2-tree .kb-tree-chron { border: 0 !important; box-shadow: none !important; }
.kb2-tree .kb-tree > a { white-space: nowrap; }
.kb2-tree .kb-tree > a[aria-current] { box-shadow: none; }
.kb2 .kb-pane .kb-card { margin: 0; }
.kb2 .kb-card-head { padding: 0 0 18px; border-bottom: 0; }
.kb2 .kb-card-body { gap: 28px; }
.kb2 .kb-card-side { padding: 0 0 0 24px; border-left: 0; }
.kb2 .kb-card-main { padding: 0; }
@media (max-width: 720px) { .kb2-tree, .kb2-tree .kb-tree { position: static !important; top: auto !important; } .kb2 .ya-navcol { position: static !important; } }

/* круг 50 (TG 7975–7976): кнопка вида «плиткой / списком» справа в строке заголовка; список — нынешние строки серверов */
.ya-view { display: inline-flex; flex: none; align-self: center; gap: 2px; margin-left: auto; padding: 3px; border-radius: 12px; background: var(--c-bg-262626); }
.ya-vb { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 9px; background: none; color: var(--muted-foreground); cursor: pointer; transition: color .15s, background-color .15s; }
.ya-vb svg { width: 16px; height: 16px; }
.ya-vb:not(.on):hover { color: var(--text); }
.ya-vb.on { background: var(--primary); color: var(--primary-foreground); cursor: default; }
.ya-card:has(.ya-list) .ya-list { display: none; }
html.view-list .ya-card:has(.ya-list) .ya-list { display: block; }
html.view-list .ya-card:has(.ya-list) .ya-tiles { display: none; }
html.view-list .ya-card:has(.ya-list) { padding: 8px !important; background: var(--c-bg-1f1f1f); }
html.view-list[data-theme="light"] .ya-card:has(.ya-list) { background: #f1f1f4; }
@media (max-width: 720px) { .ya-intro { flex-wrap: nowrap; align-items: center; } }
.ya-view { margin-right: -2px; }

/* круг 51 (пункт 6): «Файлы» и «Реклама» на новой сетке — блоки в скруглённых карточках 20 px, промежуток 10, как в Рейтинге */
.files2 .cl-list2 { display: flex; flex-direction: column; gap: 10px; }
.files2 .cl-card, .files2 .cl-how { margin: 0 !important; border: 0 !important; border-radius: 20px !important; background: var(--c-bg-1f1f1f); box-shadow: none; }
.files2 .cl-card { padding: 14px; }
.files2 .cl-cover { border-radius: 14px; }
.files2 .cl-how2 { margin-top: 10px; }
.files2 .cl-how { padding: 20px 22px; }
.files2 .cl-how h2 { margin-top: 0; }
:root[data-theme="light"].files2 .cl-card, :root[data-theme="light"].files2 .cl-how { background: #f1f1f4; }

.ads2 .ya-grid { grid-template-columns: minmax(0, 1fr); }
.ads2 .ya-board.ya-wide { grid-column: 1; }
.ads2 .of-top2 { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.ads2 .of-top2 .callout { margin: 0; border-radius: 16px; }
.ads2 .of-top2 .sale-banner { margin: 0; border-radius: 20px; }
.ads2 .of-page2 { display: flex; flex-direction: column; gap: 10px; }
.ads2 .of-page2 > * { margin: 0 !important; border: 0 !important; }
.ads2 .of-h2 { margin: 18px 2px 0 !important; }
.ads2 .of-page2 > .of-h2:first-child { margin-top: 0 !important; }
.ads2 .of-svc { display: grid; grid-template-columns: minmax(0, 1fr) 264px; gap: 10px; }
.ads2 .of-info, .ads2 .of-buy, .ads2 .of-card, .ads2 .of-note:not(.ok) { border: 0; border-radius: 20px !important; background: var(--c-bg-1f1f1f); box-shadow: none; }
.ads2 .of-buy { padding: 12px; }
.ads2 .of-days, .ads2 .of-price { background: none !important; }
.ads2 .of-note { padding: 16px 20px; }
.ads2 .of-note.ok { border-radius: 16px !important; }
.ads2 .of-steps { gap: 10px; }
.ads2 .of-example2 { max-width: 300px; margin-top: 14px; }
.ads2 .of-example2 .ya-tiles.tv-n { display: block; }
.ads2 .of-thumb { border-radius: 14px; }
:root[data-theme="light"].ads2 .of-info, :root[data-theme="light"].ads2 .of-buy, :root[data-theme="light"].ads2 .of-card, :root[data-theme="light"].ads2 .of-note:not(.ok) { background: #f1f1f4; }
@media (max-width: 860px) { .ads2 .of-svc { grid-template-columns: 1fr; } }
.ads2 .of-svc { grid-template-columns: minmax(0, 1fr) 288px; }
.ads2 .of-example2 .tile:not(.t-elite) { background: var(--c-bg-262626); }
:root[data-theme="light"].ads2 .of-example2 .tile:not(.t-elite) { background: #fff; }
.ads2 .ya-col > .of-top2 { margin-bottom: 28px !important; }
.ads2 .of-price b { white-space: nowrap; }
@media (max-width: 860px) { .ads2 .of-svc { grid-template-columns: 1fr; } .ads2 .of-steps { grid-template-columns: 1fr; } }

/* круг 52 (TG 8022 «подача цен не нравится»): срок и цена — одной плиткой-вариантом; А — колонкой справа без растяжки, Б — строкой под описанием */
.ads2 .of-opt { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-radius: 14px; background: var(--c-bg-262626); }
.ads2 .of-opt .of-d { color: var(--muted-foreground); font: 600 14px / 1.2 var(--font-text); }
.ads2 .of-opt .of-price { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; min-height: 0; padding: 0; border-radius: 0; text-align: right; }
.ads2 .of-opt .of-price b { font: 700 20px / 1 var(--font-text); white-space: nowrap; }
.ads2 .of-opt .of-price span { font: 600 12.5px / 1 var(--font-text); }
:root[data-theme="light"].ads2 .of-opt { background: #fff; }
.pv-a .of-svc { align-items: start; }
.pv-a .of-buy { display: flex; flex-direction: column; gap: 8px; }
.pv-a .of-grid { display: flex; flex-direction: column; gap: 8px; flex: none; }
.pv-a .of-order { margin-top: 4px; }
.pv-b .of-svc { grid-template-columns: minmax(0, 1fr); }
.pv-b .of-info .of-buy { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin-top: 18px; padding: 0; border-radius: 0 !important; background: none; }
.pv-b .of-info.with-thumb > .of-buy { grid-column: 2; }
.pv-b .of-grid { display: flex; flex-wrap: wrap; gap: 8px; flex: none; }
.pv-b .of-opt { flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; min-width: 132px; }
.pv-b .of-opt .of-price { align-items: flex-start; text-align: left; }
.pv-b .of-order { align-self: stretch; height: auto; min-height: 48px; padding: 0 32px; }
@media (max-width: 860px) {
  .pv-b .of-info.with-thumb > .of-buy { grid-column: 1 / -1; }
  .pv-b .of-grid { width: 100%; }
  .pv-b .of-opt { flex: 1 1 0; min-width: 0; }
  .pv-b .of-order { width: 100%; }
}
@media (min-width: 861px) {
  .pv-b .of-info .of-buy { flex-wrap: nowrap; }
  .pv-b .of-order { flex: none; width: auto !important; min-width: 180px; }
}
.pv-b .of-info .of-buy { flex-direction: row; }
@media (min-width: 561px) {
  .pv-b .of-info.with-thumb > .of-thumb { grid-row: span 2; }
  .pv-b .of-info.with-thumb > .of-buy { margin-top: 0; }
}
@media (max-width: 860px) {
  .pv-b .of-opt { padding: 12px 14px; }
  .pv-b .of-opt .of-price b s { display: block; margin: 0 0 5px; }
}

/* круг 53 (TG 8029): главная — две колонки строк, слева боковой фильтр по образцу Яндекс Смены (карточки: поиск, неделя, аккордеон) */
.sf-home .ya-grid { grid-template-columns: 256px minmax(0, 1fr) 200px; column-gap: 40px; }
.sf { display: flex; flex-direction: column; gap: 10px; }
.sf-card { border-radius: 20px; background: var(--c-bg-1f1f1f); }
:root[data-theme="light"] .sf-card { background: #f1f1f4; }
.sf-q { padding: 8px; }
.sf-q .ya-sw, .sf-q .ya-search { width: 100%; }
.sf-q .ya-search { height: 40px; border-radius: 12px; }
/* неделя */
.sf-cal { padding: 16px 14px 14px; }
.sf-cal-h { display: flex; align-items: center; justify-content: space-between; margin: 0 4px 12px; }
.sf-cal-h b { color: var(--text); font: 700 17px / 1 var(--font-text); }
.sf-cal-h b span { color: var(--muted-foreground); }
.sf-cal-h .ar { display: flex; gap: 2px; }
.sf-cal-h .ar i { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; color: var(--muted-foreground); font: 600 18px / 1 var(--font-text); font-style: normal; cursor: pointer; }
.sf-cal-h .ar i:hover { background: var(--c-bg-262626); color: var(--text); }
.sf-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.sf-week a { display: grid; justify-items: center; gap: 4px; padding: 6px 0 5px; border-radius: 10px; color: var(--text); text-decoration: none; }
.sf-week a small { color: var(--muted-foreground); font: 500 11px / 1 var(--font-text); }
.sf-week a b { font: 700 14px / 1 var(--font-text); }
.sf-week a u { height: 10px; color: var(--vip-badge); font: 700 10px / 1 var(--font-text); text-decoration: none; }
.sf-week a.none b { color: var(--muted-foreground); font-weight: 500; opacity: .6; }
.sf-week a:not(.on):hover { background: var(--c-bg-262626); }
.sf-week a.on { background: var(--primary); }
.sf-week a.on small, .sf-week a.on b { color: var(--primary-foreground); }
.sf-week a.on u { color: var(--primary-foreground); }
.sf-cal-f { display: block; margin: 12px 4px 0; color: var(--vip-badge); font: 600 13px / 1 var(--font-text); text-decoration: none; }
:root[data-theme="light"] .sf-cal-f, :root[data-theme="light"] .sf-week a u { color: #b07d00; }
/* аккордеон */
.sf-acc { padding: 4px 14px; }
.sf-g + .sf-g { border-top: 1px solid var(--surface-line); }
.sf-g summary { display: flex; align-items: center; gap: 8px; height: 48px; padding: 0 4px; color: var(--text); font: 600 14px / 1 var(--font-text); list-style: none; cursor: pointer; }
.sf-g summary::-webkit-details-marker { display: none; }
.sf-g summary > span { flex: 1; }
.sf-g summary em { color: var(--muted-foreground); font-style: normal; font-weight: 500; }
.sf-g .chev { display: grid; color: var(--muted-foreground); transition: transform .15s; }
.sf-g .chev svg { width: 16px; height: 16px; }
.sf-g[open] .chev { transform: rotate(180deg); }
.sf-reset { display: none; padding: 0; border: 0; background: none; color: var(--vip-badge); font: 600 13px / 1 var(--font-text); cursor: pointer; }
.sf-g:has(input:checked) .sf-reset { display: inline; }
:root[data-theme="light"] .sf-reset { color: #b07d00; }
.sf-list { display: flex; flex-direction: column; gap: 2px; padding: 0 0 12px; }
.sf-ck { display: flex; align-items: center; gap: 10px; height: 32px; padding: 0 4px; border-radius: 8px; color: var(--text); font: 500 13.5px / 1 var(--font-text); cursor: pointer; }
.sf-ck:hover:not(.off) { background: var(--c-bg-262626); }
.sf-ck input { position: absolute; opacity: 0; pointer-events: none; }
.sf-ck .box { display: grid; place-items: center; flex: none; width: 20px; height: 20px; border-radius: 6px; background: var(--c-bg-333333); color: transparent; }
.sf-ck .box svg { width: 13px; height: 13px; }
.sf-ck input:checked + .box { background: var(--primary); color: var(--primary-foreground); }
.sf-ck span { flex: 1; }
.sf-ck em { color: var(--muted-foreground); font: 500 12.5px / 1 var(--font-text); font-style: normal; }
.sf-ck.off { color: var(--muted-foreground); opacity: .55; cursor: default; }
.sf-hid { display: none; }
.sf-list.all .sf-hid { display: flex; }
.sf-more { align-self: flex-start; margin: 4px 4px 0; padding: 0; border: 0; background: none; color: var(--vip-badge); font: 600 13px / 1 var(--font-text); cursor: pointer; }
:root[data-theme="light"] .sf-more { color: #b07d00; }
:root[data-theme="light"] .sf-ck .box { background: #dcdce2; }
:root[data-theme="light"] .sf-ck:hover:not(.off), :root[data-theme="light"] .sf-week a:not(.on):hover { background: #e6e6eb; }
/* две колонки строк */
.sf-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.sf-col { min-width: 0; }
.sf-home .ya-card { padding: 8px !important; background: var(--c-bg-1f1f1f); }
:root[data-theme="light"].sf-home .ya-card { background: #f1f1f4; }
.sf-m { display: none; }
@media (max-width: 1100px) { .sf-cols { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) {
  .sf-m { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
  .sf-mq { display: flex; gap: 8px; }
  .sf-mq .ya-sw { flex: 1; }
  .sf-mq .ya-search { width: 100%; height: 42px; border-radius: 12px; }
  .sf-mbtn { display: inline-flex; align-items: center; gap: 6px; flex: none; height: 42px; padding: 0 14px; border: 0; border-radius: 12px; background: var(--c-bg-262626); color: var(--text); font: 600 14px / 1 var(--font-text); }
  .sf-mbtn svg { width: 16px; height: 16px; }
}
.sf-col { container-type: inline-size; }
/* уже 1400 px: колонка фильтра не помещается рядом с двумя колонками — сворачивается в строку над списком (колонки остаются ≥ 450 px) */
.sf-mcal { display: none; }
@media (min-width: 721px) and (max-width: 1400px) {
  .sf-home .ya-grid { grid-template-columns: minmax(0, 1fr) 200px; }
  .sf-home .ya-navcol { display: none; }
  .sf-home .ya-board { grid-column: 1; }
  .sf-m { display: flex; margin-bottom: 18px; }
  .sf-m > .sf-cal { display: none; }
  .sf-mq { display: flex; gap: 8px; width: 100%; }
  .sf-mq .ya-sw { flex: 1; }
  .sf-mq .ya-search { width: 100%; height: 42px; border-radius: 12px; }
  .sf-mbtn { display: inline-flex; align-items: center; gap: 6px; flex: none; height: 42px; padding: 0 14px; border: 0; border-radius: 12px; background: var(--c-bg-262626); color: var(--text); font: 600 14px / 1 var(--font-text); cursor: pointer; }
  .sf-mbtn svg { width: 16px; height: 16px; }
  .sf-mcal { display: inline-flex; }
}
@media (max-width: 720px) { .sf-mcal { display: none; } }
@media (max-width: 1400px) { .sf-mq .ya-search > span { display: inline !important; } .sf-mq .ya-search { justify-content: flex-start; padding: 0 14px; gap: 8px; } }
/* TG 8041: поиск — внутри карточки фильтра, над группами */
.sf-acc .sf-q { padding: 10px 0 6px; }
.sf-acc .sf-q .ya-search { background: var(--c-bg-262626); }
:root[data-theme="light"] .sf-acc .sf-q .ya-search { background: #fff; }
/* TG 8046: колонка фильтра шире — 320 px, выбранный день в неделе как у Яндекса (плашка ~44 × 50) */
.sf-home .ya-grid { grid-template-columns: 320px minmax(0, 1fr) 200px; }
.sf-cal { padding: 18px 16px 16px; }
.sf-cal-h b { font-size: 19px; }
.sf-week { gap: 4px; }
.sf-week a { gap: 5px; padding: 8px 0 6px; border-radius: 12px; }
.sf-week a small { font-size: 12px; }
.sf-week a b { font-size: 16px; }
.sf-acc { padding: 4px 16px; }
.sf-cal { padding: 18px 12px 14px; }
.sf-cal-h { margin: 0 6px 12px; }
.sf-cal-f { margin: 12px 6px 0; }
.sf-week { gap: 2px; }
.sf-week a { padding: 8px 0 5px; gap: 4px; }
.sf-week a u { height: 9px; font-size: 9.5px; }
/* колонка 320 + две колонки строк помещаются от 1501 px; уже — фильтр строкой над списком */
@media (min-width: 1401px) and (max-width: 1400px) {
  .sf-home .ya-grid { grid-template-columns: minmax(0, 1fr) 200px; }
  .sf-home .ya-navcol { display: none; }
  .sf-home .ya-board { grid-column: 1; }
  .sf-m { display: flex; margin-bottom: 18px; }
  .sf-m > .sf-cal { display: none; }
  .sf-mq { display: flex; gap: 8px; width: 100%; }
  .sf-mq .ya-sw { flex: 1; }
  .sf-mq .ya-search { width: 100%; height: 42px; border-radius: 12px; justify-content: flex-start; padding: 0 14px; gap: 8px; }
  .sf-mq .ya-search > span { display: inline !important; }
  .sf-mbtn { display: inline-flex; align-items: center; gap: 6px; flex: none; height: 42px; padding: 0 14px; border: 0; border-radius: 12px; background: var(--c-bg-262626); color: var(--text); font: 600 14px / 1 var(--font-text); cursor: pointer; }
  .sf-mbtn svg { width: 16px; height: 16px; }
  .sf-mcal { display: inline-flex; }
}
/* TG 8049: контейнер блока — заголовок полосой сверху, строки во вложенной тёмной панели */
.sf-col { display: flex; flex-direction: column; gap: 16px; }
.sf-box { overflow: hidden; border-radius: 16px; background: var(--c-bg-262626); }
.sf-box-h { display: flex; align-items: baseline; gap: 10px; padding: 13px 16px 12px; color: var(--text); font: 500 15px / 1.2 var(--font-text); }
.sf-box-h span { color: var(--muted-foreground); font-size: 13px; }
.sf-box-b { padding: 8px; border-radius: 14px; background: var(--c-bg-1a1a1a, #1c1c1c); }
.sf-box-b .rows { margin: 0; }
:root[data-theme="light"] .sf-box { background: #e4e4e9; }
:root[data-theme="light"] .sf-box-b { background: #f5f5f7; }
/* TG 8054: неделя 1:1 как у Яндекса — день недели серым, число белым, выбранный — плашкой */
.sf-cal { padding: 18px 12px 16px; }
.sf-cal-h { margin: 0 8px 14px; }
.sf-week a { gap: 6px; padding: 9px 0 8px; }
.sf-week a small { font: 500 12px / 1 var(--font-text); }
.sf-week a b { color: var(--text); font: 500 15px / 1 var(--font-text); }
.sf-week a.on b { font-weight: 700; }
.sf-cal-h .ar i:first-child { opacity: .45; }
/* TG 8061: отступы только 16 и 8 px — между колонками, контейнерами и карточками 16, внутри карточек 16 / 8 */
.sf-home .ya-grid { column-gap: 16px; }
.sf { gap: 16px; }
.sf-home .ya-side { gap: 8px; }
.sf-cal { padding: 16px; }
.sf-cal-h { margin: 0 0 16px; }
.sf-week { gap: 0; }
.sf-acc { padding: 8px 16px; }
.sf-acc .sf-q { padding: 8px 0; }
.sf-list { padding: 0 0 8px; }
.sf-box-h { padding: 16px 16px 8px; }
.sf-box-b { padding: 8px; }
.sf-cols, .sf-col { gap: 16px; }
.sf-home .ya-intro { margin-bottom: 16px; }
.sf-m { gap: 8px; margin-bottom: 16px !important; }
.sf-mq { gap: 8px; }
.sf-home .ya-sheet { padding-top: 16px; }
/* ≤1400 px — фильтр строкой над списком (правило в конце: иначе его перебивает ширина колонки 320 выше) */
@media (min-width: 721px) and (max-width: 1400px) {
  .sf-home .ya-grid { grid-template-columns: minmax(0, 1fr) 200px; }
  .sf-home .ya-navcol { display: none; }
  .sf-home .ya-board { grid-column: 1; }
}

/* круг 58: подборка на схеме главной — архив на всю ширину, активные фильтры чипами (видны, когда фильтр свёрнут в строку) */
.sf-arch { margin-top: 16px; }
.sf-arch .sf-box-h span { color: var(--muted-foreground); }
.sf-arch-rows { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.sf-box-more { display: block; margin: 8px 8px 4px; color: var(--vip-badge); font: 600 13px / 1 var(--font-text); text-decoration: none; }
:root[data-theme="light"] .sf-box-more { color: #b07d00; }
.sf-chips { display: none; flex-wrap: wrap; align-items: center; gap: 8px; }
.sf-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 8px 0 12px; border-radius: 10px; background: var(--c-bg-262626); color: var(--text); font: 600 13px / 1 var(--font-text); }
.sf-chip i { display: grid; color: var(--muted-foreground); }
.sf-chip i svg { width: 14px; height: 14px; }
.sf-chip-reset { color: var(--muted-foreground); font: 600 13px / 1 var(--font-text); }
.sf-mbtn b { display: grid; place-items: center; min-width: 18px; height: 18px; margin-left: 2px; border-radius: 9px; background: var(--primary); color: var(--primary-foreground); font: 700 11px / 1 var(--font-text); }
.sf-coll .ya-intro { display: flex; align-items: baseline; gap: 12px; }
@media (max-width: 1400px) { .sf-coll .sf-chips { display: flex; } }
@media (max-width: 1100px) { .sf-arch-rows { grid-template-columns: 1fr; } }
@media (max-width: 1400px) { .sf-coll .sf-m { flex-direction: column; align-items: stretch; } }

/* круг 60 (пункт 7): FAQ, статья, контакты, правила, вход, 404 — колонка по центру, карточки 16 px, отступы 16 / 8 */
.p7page .ya-grid { grid-template-columns: minmax(0, 1fr); }
.p7page .ya-board.ya-wide { grid-column: 1; }
.p7page .ya-sheet { padding-top: 16px; }
.p7 { width: 100%; max-width: 800px; margin: 0 auto; }
.p7-faq { max-width: 1120px; }
.p7-login, .p7-e404 { max-width: 520px; }
.p7-top { margin: 16px 0; }
.p7-top h1, .p7 .page-head h1, .p7 .login-card h1 { margin: 0 0 8px; color: var(--text); font: 700 28px / 1.2 var(--font-text); letter-spacing: -.3px; text-transform: none; }
.p7-top p { max-width: 680px; margin: 0; color: var(--muted-foreground); font: 500 15px / 1.5 var(--font-text); }
.p7-main { display: flex; flex-direction: column; gap: 16px; }
.p7-main > * { margin: 0 !important; }
.p7 .card, .p7 .contact-card, .p7 .panel-card, .p7 .faq-col, .p7 .page-head { margin: 0 !important; padding: 16px !important; border: 0 !important; border-radius: 16px !important; background: var(--c-bg-1f1f1f) !important; box-shadow: none !important; }
.p7 .card h2, .p7 .contact-card h2, .p7 .faq-col h2 { margin: 0 0 8px; color: var(--text); font: 700 18px / 1.3 var(--font-text); letter-spacing: 0; text-transform: none; text-align: left; }
.p7 .card p, .p7 .card li, .p7 .contact-card p, .p7 .contact-card li { color: var(--text-2); font-size: 15px; line-height: 1.6; }
.p7 .card p:last-child, .p7 .contact-card p:last-child { margin-bottom: 0; }
.p7 .card ul, .p7 .contact-card ul { margin: 8px 0 0; padding-left: 20px; }
/* FAQ: две колонки групп, вопросы — строками с линией */
.p7 .faq-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; margin: 0; }
.p7 .faq-col { display: flex; flex-direction: column; }
.p7 .faq-col .info-h2 { margin: 0 0 8px; padding: 0; background: none; font-size: 18px; }
.p7 .qa { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.p7 .qa + .qa { border-top: 1px solid var(--surface-line); }
.p7 .qa summary { padding: 16px 0; border-radius: 0; background: none; font: 600 15px / 1.35 var(--font-text); }
.p7 .qa p { margin: 0 0 16px; color: var(--text-2); font-size: 14.5px; line-height: 1.6; }
/* вход и 404 — по центру */
.p7-login .p7-main, .p7-e404 .p7-main { margin-top: 48px; }
.p7 .login-card { text-align: left; }
.p7-e404 .p7-main > p { display: flex; }
:root[data-theme="light"] .p7 .card, :root[data-theme="light"] .p7 .contact-card, :root[data-theme="light"] .p7 .panel-card,
:root[data-theme="light"] .p7 .faq-col, :root[data-theme="light"] .p7 .page-head { background: #f1f1f4 !important; }
@media (max-width: 860px) { .p7 .faq-cols { grid-template-columns: 1fr; } .p7-top h1, .p7 .page-head h1, .p7 .login-card h1 { font-size: 24px; } }
/* подсказки поиска в колонке фильтра: две строки — название, под ним рейт · хроника · типы */
.sf-q .ya-sugg a { display: flex; flex-direction: column; align-items: stretch; gap: 4px; height: auto; padding: 8px 12px; }
.sf-q .ya-sugg .nm { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; }
.sf-q .ya-sugg .meta { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin: 0; font-size: 12px; }
.sf-q .ya-sugg .keys { white-space: nowrap; }
/* вход: шаги ровно по левому краю; 404: кнопка в карточке */
.p7 .login-steps { margin: 16px 0; padding-left: 20px; max-width: none; text-align: left; }
.p7 .p7-act { margin: 16px 0 0; }
.sf-q .ya-sugg .meta i { display: inline-block; width: 3px; height: 3px; margin: 0 6px; border-radius: 50%; background: currentColor; vertical-align: middle; opacity: .6; }
.p7 .login-card { max-width: none; width: 100%; }

/* круг 61 (TG 8091): вход — выпадающим окном из «Войти» */
.ya-menu.ya-login { width: 320px; padding: 16px; }
.ya-login .lg-h { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.ya-login .lg-ico { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #229ed9; color: #fff; }
.ya-login .lg-ico svg { width: 16px; height: 16px; }
.ya-login .lg-h b { color: var(--text); font: 700 17px / 1.2 var(--font-text); }
.ya-login .lg-sub { margin: 0 0 16px; color: var(--muted-foreground); font: 500 13.5px / 1.45 var(--font-text); }
.ya-menu .lg-btn, .ya-menu a.lg-btn:first-of-type { display: flex; align-items: center; justify-content: center; height: 40px; padding: 0 16px; border-radius: 12px; background: var(--primary); color: var(--primary-foreground); font: 600 14px / 1 var(--font-text); }
.ya-login .lg-steps { margin: 16px 0 8px; padding-left: 20px; color: var(--text-2); font: 500 13px / 1.6 var(--font-text); }
.ya-login .lg-wait { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; color: var(--muted-foreground); font: 500 12.5px / 1 var(--font-text); }
.ya-login .lg-wait i { width: 8px; height: 8px; border-radius: 50%; background: var(--vip-badge); animation: lgp 1.2s ease-in-out infinite; }
@keyframes lgp { 50% { opacity: .3; } }
@media (max-width: 720px) { .ya-menu.ya-login { position: fixed; top: 64px; left: 16px; right: 16px; width: auto; } }
.ya-top:has(.ya-login) { z-index: 10; }
/* TG 8097: выпадающий список поиска светлее — на тон выше карточки фильтра (#1f1f1f → #2a2a2a), выбранная строка #3a3a3a */
.sf-q .ya-sugg { background: #2a2a2a; }
.sf-q .ya-sugg a.active, .sf-q .ya-sugg a:hover { background: #3a3a3a; }
.sf-q .ya-sugg .meta, .sf-q .ya-sugg .keys { color: #a3a3a3; }
:root[data-theme="light"] .sf-q .ya-sugg { background: #fff; }
:root[data-theme="light"] .sf-q .ya-sugg a.active, :root[data-theme="light"] .sf-q .ya-sugg a:hover { background: #ececf0; }
:root[data-theme="light"] .sf-q .ya-sugg .meta, :root[data-theme="light"] .sf-q .ya-sugg .keys { color: #6b6b73; }
/* все выпадающие одного цвета с подсказками поиска (TG 8097–8101) */
.ya-menu { background: #2a2a2a; }
.ya-menu a:first-of-type, .ya-menu a:hover { background: #3a3a3a; }
.ya-menu a.lg-btn, .ya-menu a.lg-btn:hover { background: var(--primary); }
:root[data-theme="light"] .ya-menu { background: #fff; }
:root[data-theme="light"] .ya-menu a:first-of-type, :root[data-theme="light"] .ya-menu a:hover { background: #ececf0; }
:root[data-theme="light"] .ya-menu a.lg-btn { background: var(--primary); }

/* круг 63 (пункт 8): кабинет — меню слева карточкой, таблицы и формы в контейнерах, отступы 16 / 8 */
.cab2 .ya-grid { grid-template-columns: 256px minmax(0, 1fr); column-gap: 16px; }
.cab2 .ya-sheet { padding-top: 16px; }
.cab2 .ya-board.ya-wide { grid-column: 2; }
.cab2 .ya-intro { margin: 0 0 16px; }
.cab2-nav .side-nav { position: sticky; top: 82px; width: auto; margin: 0; padding: 16px; border: 0; border-radius: 16px; background: var(--c-bg-1f1f1f); box-shadow: none; }
.cab2-nav .side-nav-m { display: none; }
.cab2-nav .side-nav-body { display: flex; flex-direction: column; gap: 16px; padding: 0; }
.cab2-nav .side-nav-cta { width: 100%; height: 40px; border-radius: 12px; }
.cab2-nav .side-nav-label { margin: 0 0 8px; padding: 0 8px; color: var(--muted-foreground); font: 600 12px / 1 var(--font-text); letter-spacing: 0; text-transform: none; }
.cab2-nav .side-nav-list { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
.cab2-nav .side-nav-item { display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 8px; border-radius: 10px; color: var(--muted-foreground); font: 500 14px / 1 var(--font-text); text-decoration: none; }
.cab2-nav .side-nav-item:hover { background: var(--c-bg-262626); color: var(--text); }
.cab2-nav .side-nav-item[aria-current] { background: var(--c-bg-2a2a2a, #2a2a2a); color: var(--text); font-weight: 600; }
.cab2-main { display: flex; flex-direction: column; gap: 16px; }
.cab2-main > * { margin: 0 !important; }
/* таблицы: подпись — полосой, строки — в панели */
.cab2 .sf-box.srv-table { padding: 0 !important; border: 0 !important; border-radius: 16px !important; background: var(--c-bg-262626) !important; box-shadow: none !important; overflow: hidden; }
.cab2 .sf-box.srv-table > .st-cap { margin: 0; padding: 12px 16px; border: 0; background: none; }
.cab2 .sf-box.srv-table > .sf-box-b { padding: 8px; border-radius: 14px; background: var(--c-bg-1a1a1a, #1c1c1c); }
.cab2 .sf-box-b .st-head { border: 0; background: none; }
.cab2 .sf-box-b .st-row, .cab2 .sf-box-b > a, .cab2 .sf-box-b .st-body > * { border-radius: 10px; }
/* формы: группы полей — контейнерами */
.cab2 .srv-form { display: flex; flex-direction: column; gap: 16px; max-width: 880px; margin: 0; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.cab2 fieldset.sf-box { min-width: 0; margin: 0; padding: 0; border: 0; }
.cab2 legend.sf-box-h { float: left; width: 100%; padding: 16px 16px 8px; }
.cab2 .cab-flds { clear: both; display: flex; flex-direction: column; gap: 16px; padding: 16px !important; }
.cab2 .cab-flds .fld-row { margin: 0; }
.cab2 .form-actions { margin: 0; padding: 0; border: 0; }
.cab2 .callout { border-radius: 12px; }
/* страница сервера в кабинете: своя колонка карточек слева и вкладки таблетками */
.cab2-server .sp-grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 16px; width: auto; margin: 0; padding: 0; }
.cab2-server .sp-left, .cab2-server .sp-main { display: flex; flex-direction: column; gap: 16px; }
.cab2-server .sp-left > .card, .cab2-server .sp-pane > .card, .cab2-server .sp-pane > section, .cab2-server .sp-pane .card { margin: 0 !important; border: 0 !important; border-radius: 16px !important; background: var(--c-bg-1f1f1f) !important; box-shadow: none !important; }
.cab2-server .sp-tabs { display: flex; gap: 6px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.cab2-server .sp-tabs .seg { display: flex; gap: 6px; padding: 0; background: none; border: 0; }
.cab2-server .sp-tabs a { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 16px; border: 0; border-radius: 12px; background: none; color: var(--muted-foreground); font: 600 14px / 1 var(--font-text); text-decoration: none; box-shadow: none; }
.cab2-server .sp-tabs a:hover { color: var(--text); }
.cab2-server .sp-tabs a[aria-current="true"] { background: var(--primary); color: var(--primary-foreground); }
.cab2-server .sp-pane { display: flex; flex-direction: column; gap: 16px; }
.cab2-server .sp-pane[hidden] { display: none; }
:root[data-theme="light"] .cab2-nav .side-nav, :root[data-theme="light"].cab2-server .sp-left > .card, :root[data-theme="light"].cab2-server .sp-pane .card { background: #f1f1f4 !important; }
:root[data-theme="light"].cab2 .sf-box.srv-table { background: #e4e4e9 !important; }
:root[data-theme="light"].cab2 .sf-box.srv-table > .sf-box-b { background: #f5f5f7; }
@media (max-width: 1100px) { .cab2-server .sp-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .cab2 .ya-grid { display: block; } .cab2-nav { display: block !important; margin-bottom: 16px; } .cab2-nav .side-nav { position: static; } }
/* шапка сервера в кабинете: назад · название с меткой · кнопки — контейнером */
.cab2 .cab2-head { display: flex; align-items: center; gap: 16px; width: auto; margin: 0; padding: 16px; border-radius: 16px; background: var(--c-bg-1f1f1f); }
.cab2 .cab2-head .sp-title h1 { margin: 0; font: 700 24px / 1.2 var(--font-text); text-transform: none; }
.cab2 .cab2-head .sp-title p { margin: 4px 0 0; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
.cab2 .cab2-head .sp-links { display: flex; gap: 8px; margin-left: auto; }
:root[data-theme="light"].cab2 .cab2-head { background: #f1f1f4; }
.cab2-server .sp-tabs a[aria-current="true"], .cab2-server .sp-tabs a[aria-current="true"] * { color: var(--primary-foreground) !important; }
.cab2 legend.sf-box-h { margin: 0; color: var(--text); font: 500 15px / 1.2 var(--font-text); letter-spacing: 0; text-transform: none; }
.cab2 legend.sf-box-h > * { text-transform: none; }
.cab2-form .cab2-main > .callout { max-width: 880px; }
/* телефон: меню кабинета — лентой с прокруткой вбок */
@media (max-width: 720px) {
  .cab2-nav .side-nav { padding: 8px; }
  .cab2-nav .side-nav-body { flex-direction: row; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; }
  .cab2-nav .side-nav-group { display: contents; }
  .cab2-nav .side-nav-label { display: none; }
  .cab2-nav .side-nav-list { flex-direction: row; gap: 4px; }
  .cab2-nav .side-nav-item { flex: none; height: 36px; padding: 0 12px; white-space: nowrap; }
  .cab2-nav .side-nav-cta { flex: none; width: auto; height: 36px; padding: 0 14px; }
  .cab2-nav [data-side-collapse], .cab2-nav .side-nav-collapse { display: none !important; }
}
@media (max-width: 720px) { .cab2-nav .side-nav-toggle { display: none !important; } }
/* TG 8113: без «Свернуть»; под строкой заголовков таблицы — линия */
.cab2-nav .side-nav-toggle { display: none !important; }
.cab2 .sf-box-b .st-head { margin-bottom: 4px; border-bottom: 1px solid var(--surface-line) !important; }
/* TG 8124: вкладки — в своём контейнере, как остальные блоки страницы */
.cab2-server .sp-tabs { padding: 8px !important; border-radius: 16px !important; background: var(--c-bg-1f1f1f) !important; }
:root[data-theme="light"].cab2-server .sp-tabs { background: #f1f1f4 !important; }
html.cab2-server .sp-main > nav.tabs.admin-nav.sp-tabs { padding: 8px !important; border: 0 !important; border-radius: 16px !important; background: var(--c-bg-1f1f1f) !important; }
:root[data-theme="light"].cab2-server .sp-main > nav.tabs.admin-nav.sp-tabs { background: #f1f1f4 !important; }
html.cab2-server .sp-main > nav.sp-tabs .seg.seg-links { gap: 4px; }
html.cab2-server .sp-main > nav.sp-tabs .seg.seg-links a span { margin: 0; padding: 0; border: 0; }
/* TG 8125: поля без обводки — ни рамки, ни светлой и тёмной тени внутри; заливка на тон светлее панели, фокус — тихое кольцо */
.cab2 .cab-flds input:not([type="checkbox"]):not([type="radio"]), .cab2 .cab-flds textarea, .cab2 .cab-flds select,
.cab2 .cab-flds [data-dropdown] + *, .cab2 .cab-flds .dd, .cab2 .cab-flds .dd > button, .cab2 .cab-flds .check, .cab2 .cab-flds .check > span {
  border: 0 !important; box-shadow: none !important; outline: 0; }
.cab2 .cab-flds input:not([type="checkbox"]):not([type="radio"]), .cab2 .cab-flds textarea, .cab2 .cab-flds [data-dropdown] + *, .cab2 .cab-flds .check { background-color: #262626 !important; border-radius: 12px !important; }
.cab2 .cab-flds input:not([type="checkbox"]):not([type="radio"]):focus, .cab2 .cab-flds textarea:focus, .cab2 .cab-flds [data-dropdown] + *:focus-within { box-shadow: 0 0 0 2px #ffffff2e !important; }
:root[data-theme="light"].cab2 .cab-flds input:not([type="checkbox"]):not([type="radio"]), :root[data-theme="light"].cab2 .cab-flds textarea,
:root[data-theme="light"].cab2 .cab-flds [data-dropdown] + *, :root[data-theme="light"].cab2 .cab-flds .check { background-color: #e9e9ee !important; }
:root[data-theme="light"].cab2 .cab-flds input:focus, :root[data-theme="light"].cab2 .cab-flds textarea:focus { box-shadow: 0 0 0 2px #00000024 !important; }
/* TG 8126: группа полей — одна карточка, заголовок внутри неё, над полями */
.cab2 fieldset.cab-fs { min-width: 0; margin: 0; padding: 16px; border: 0; border-radius: 16px; background: var(--c-bg-1f1f1f); }
.cab2 legend.cab-fs-h { float: left; width: 100%; margin: 0 0 16px; padding: 0; color: var(--text); font: 600 16px / 1.2 var(--font-text); letter-spacing: 0; text-transform: none; }
.cab2 legend.cab-fs-h > * { margin-left: 6px; color: var(--muted-foreground); font-weight: 500; font-size: 13px; text-transform: none; }
.cab2 fieldset.cab-fs > .cab-flds { clear: both; display: flex; flex-direction: column; gap: 16px; padding: 0 !important; background: none; }
:root[data-theme="light"].cab2 fieldset.cab-fs { background: #f1f1f4; }
:root[data-theme="light"].cab2 .cab-flds input:not([type="checkbox"]):not([type="radio"]), :root[data-theme="light"].cab2 .cab-flds textarea,
:root[data-theme="light"].cab2 .cab-flds [data-dropdown] + *, :root[data-theme="light"].cab2 .cab-flds .check { background-color: #fff !important; }
/* TG 8127: переключатель языка описания — подложка как у полей ввода, выбранный — на тон светлее */
.cab2 .cab-flds .seg-mini { padding: 3px; border: 0 !important; border-radius: 10px; background: #262626 !important; box-shadow: none !important; }
.cab2 .cab-flds .seg-mini button { border: 0; border-radius: 8px; background: none; box-shadow: none; color: var(--muted-foreground); }
.cab2 .cab-flds .seg-mini button[aria-pressed="true"] { background: #3a3a3a !important; color: var(--text); }
:root[data-theme="light"].cab2 .cab-flds .seg-mini { background: #fff !important; }
:root[data-theme="light"].cab2 .cab-flds .seg-mini button[aria-pressed="true"] { background: #e6e6eb !important; }
/* TG 8137: скругления по шкале — контейнер 16 → вложенная карточка 12 → кнопки, поля, плашки 10 / 8 → метки и полосы 6 */
.cab2 .stat, .cab2 .oi-remind, .cab2 .offer, .cab2 .oi-offer { border-radius: 12px !important; }
.cab2 .offer .btn, .cab2 .oi-offer .btn, .cab2 .offer a[class*="btn"], .cab2 .card .btn { border-radius: 10px !important; }
.cab2 .sp-main .sec-title, .cab2 .oi-where .sec-title { border-radius: 8px !important; }
.cab2 .bn, .cab2 span.bn, .cab2 div.bn { border-radius: 8px !important; }
.cab2 .hb-t, .cab2 .hb-t > i, .cab2 .oi-bar, .cab2 .oi-bar > i { border-radius: 6px !important; }
.cab2 .sp-main .row .tb, .cab2 .oi-where .row .tb { border-radius: 6px !important; }
.cab2 .sp-main .seg button { border-radius: 8px !important; }
.cab2 .sp-rates > span { border-radius: 8px !important; }

/* круг 69 (TG 8138): окно покупки рекламы «Продвинуть» — контейнер 16, плитки 12, кнопки и поля 10, без обводок; выбранное — светлой заливкой */
.cab2 #promo { padding: 16px; border: 0; border-radius: 16px; background: var(--c-bg-1f1f1f); box-shadow: 0 24px 64px #000000a6; }
.cab2 #promo::backdrop { background: #000000a6; backdrop-filter: blur(4px); }
.cab2 #promo .promo-form { display: flex; flex-direction: column; gap: 16px; }
.cab2 #promo .modal-head { margin: 0; }
.cab2 #promo .modal-head h2 { margin: 0; font: 700 19px / 1.25 var(--font-text); }
.cab2 #promo .modal-x { border: 0 !important; border-radius: 10px !important; background: #262626 !important; box-shadow: none !important; outline: 0 !important; }
.cab2 #promo .seg { padding: 4px; border: 0; border-radius: 12px; background: #262626; box-shadow: none; }
.cab2 #promo .seg span { border-radius: 8px !important; box-shadow: none !important; }
.cab2 #promo .seg input:checked + span { background: #3a3a3a !important; color: var(--text) !important; }
.cab2 #promo .fld > span:first-child { margin-bottom: 8px; color: var(--muted-foreground); font: 600 13px / 1 var(--font-text); }
.cab2 #promo .opt-grid, .cab2 #promo .terms { gap: 8px; }
.cab2 #promo .opt, .cab2 #promo .term { border: 0 !important; border-radius: 12px !important; background: #262626 !important; box-shadow: none !important; outline: 0 !important; }
.cab2 #promo .opt:hover, .cab2 #promo .term:hover { background: #2e2e2e !important; }
.cab2 #promo .opt:has(input:checked), .cab2 #promo .term:has(input:checked) { background: var(--primary) !important; }
.cab2 #promo .opt:has(input:checked) *, .cab2 #promo .term:has(input:checked) * { color: var(--primary-foreground) !important; }
.cab2 #promo .term:has(input:checked) small { opacity: .7; }
.cab2 #promo select, .cab2 #promo [data-dropdown] + * { border: 0 !important; border-radius: 10px !important; background-color: #262626 !important; box-shadow: none !important; }
.cab2 #promo .promo-total { margin: 0; padding: 16px; border: 0; border-radius: 12px; background: #262626; }
.cab2 #promo .promo-hint { margin: 0; }
.cab2 #promo .modal-foot { margin: 0; padding: 0; border: 0; gap: 8px; }
.cab2 #promo .modal-foot .btn, .cab2 #promo .modal-foot button { border-radius: 10px !important; box-shadow: none !important; }
:root[data-theme="light"].cab2 #promo { background: #fff; box-shadow: 0 24px 64px #00000038; }
:root[data-theme="light"].cab2 #promo .seg, :root[data-theme="light"].cab2 #promo .opt, :root[data-theme="light"].cab2 #promo .term,
:root[data-theme="light"].cab2 #promo .promo-total, :root[data-theme="light"].cab2 #promo .modal-x, :root[data-theme="light"].cab2 #promo [data-dropdown] + * { background: #f1f1f4 !important; }
:root[data-theme="light"].cab2 #promo .seg input:checked + span { background: #fff !important; }
:root[data-theme="light"].cab2 #promo .opt:has(input:checked), :root[data-theme="light"].cab2 #promo .term:has(input:checked) { background: var(--primary) !important; }

/* круг 70 (TG 8146): покупка по образцу владельца — слева выбор, справа превью строки и «что даёт»; шкала 16 / 12 / 10, без обводок */
.p2-backdrop { position: fixed; inset: 0; z-index: 99; background: #000000a6; backdrop-filter: blur(4px); }
.p2 { position: fixed; inset: 0; z-index: 100; width: min(960px, calc(100% - 32px)); max-height: calc(100vh - 48px); margin: auto; padding: 16px; overflow: auto; border: 0; border-radius: 16px; background: var(--c-bg-1f1f1f); color: var(--text); box-shadow: 0 24px 64px #000000a6; }
.p2-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.p2-head h2 { margin: 0; font: 700 19px / 1.25 var(--font-text); text-transform: none; }
.p2-x { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 10px; background: #262626; color: var(--muted-foreground); cursor: pointer; }
.p2-x svg { width: 16px; height: 16px; }
.p2-seg { display: flex; gap: 4px; margin: 16px 0; padding: 4px; border-radius: 12px; background: #262626; }
.p2-seg button { flex: 1; height: 36px; border: 0; border-radius: 8px; background: none; color: var(--muted-foreground); font: 600 14px / 1 var(--font-text); cursor: pointer; }
.p2-seg button.on { background: #3a3a3a; color: var(--text); }
.p2-pane { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.p2-pane[hidden] { display: none; }
.p2-left, .p2-right { display: flex; flex-direction: column; gap: 16px; }
.p2-fld { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.p2-fld > span:first-child { color: var(--muted-foreground); font: 600 13px / 1 var(--font-text); }
.p2-fld > small { color: var(--muted-foreground); font: 500 12px / 1.4 var(--font-text); }
.p2 select, .p2 [data-dropdown] + *, .p2 input { width: 100%; height: 44px; border: 0 !important; border-radius: 10px !important; background-color: #262626 !important; box-shadow: none !important; color: var(--text); }
.p2 input { padding: 0 14px; font: 500 14px / 1 var(--font-text); }
.p2-drop { display: grid; place-items: center; height: 88px; border-radius: 10px; background: #262626; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
.p2-total { display: flex; align-items: baseline; gap: 10px; padding: 16px; border-radius: 12px; background: #262626; }
.p2-total span { color: var(--muted-foreground); font: 600 14px / 1 var(--font-text); }
.p2-total b { font: 700 24px / 1 var(--font-text); }
.p2-total small { color: var(--c-fg-37e576, #37e576); font: 600 13px / 1 var(--font-text); }
.p2-buy { height: 48px; border: 0; border-radius: 10px; background: var(--primary); color: var(--primary-foreground); font: 600 15px / 1 var(--font-text); cursor: pointer; }
.p2-note { margin: 0; color: var(--muted-foreground); font: 500 12.5px / 1.5 var(--font-text); }
.p2-card { padding: 16px; border-radius: 12px; background: #262626; }
.p2-card h4 { margin: 0 0 12px; color: var(--text); font: 600 15px / 1.2 var(--font-text); }
.p2-prev { padding: 8px; border-radius: 10px; background: var(--c-bg-1a1a1a, #1c1c1c); }
.p2-prev .rows { margin: 0; }
.p2-prev .pv-dim { opacity: .45; }
.p2-prev .of-thumb { border-radius: 8px; }
.p2-gain ul { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.p2-gain li { display: flex; align-items: flex-start; gap: 10px; color: var(--text-2); font: 500 14px / 1.45 var(--font-text); }
.p2-gain li svg { flex: none; width: 18px; height: 18px; margin-top: 1px; color: var(--c-fg-37e576, #37e576); }
/* показываем только выбранный тип: превью, «что даёт» и список сроков */
.p2-pane:not([data-kind]) [data-p2]:not(:first-of-type) { display: none; }
.p2-pane[data-kind] [data-p2], .p2-pane[data-kind] [data-p2-for], .p2-pane[data-kind] [data-p2-for] + * { display: none; }
.p2-pane[data-kind="elite"] [data-p2="elite"], .p2-pane[data-kind="vip"] [data-p2="vip"], .p2-pane[data-kind="wallpaper"] [data-p2="wallpaper"], .p2-pane[data-kind="side"] [data-p2="side"] { display: block; }
.p2-pane[data-kind="elite"] [data-p2-for="elite"] + *, .p2-pane[data-kind="vip"] [data-p2-for="vip"] + *,
.p2-pane[data-kind="wallpaper"] [data-p2-for="wallpaper"] + *, .p2-pane[data-kind="side"] [data-p2-for="side"] + * { display: flex; }
:root[data-theme="light"] .p2 { background: #fff; box-shadow: 0 24px 64px #00000038; }
:root[data-theme="light"] .p2-seg, :root[data-theme="light"] .p2-x, :root[data-theme="light"] .p2 select, :root[data-theme="light"] .p2 [data-dropdown] + *,
:root[data-theme="light"] .p2 input, :root[data-theme="light"] .p2-drop, :root[data-theme="light"] .p2-total, :root[data-theme="light"] .p2-card { background-color: #f1f1f4 !important; }
:root[data-theme="light"] .p2-seg button.on { background: #fff; }
:root[data-theme="light"] .p2-prev { background: #fff; }
@media (max-width: 760px) { .p2-pane { grid-template-columns: 1fr; } .p2 { width: calc(100% - 16px); max-height: calc(100vh - 16px); } }
.p2-board { margin: 0; padding: 0; background: none; } .p2-board .col { padding: 0; } .p2-board .row { margin: 0; }
.p2-board.of-example { max-width: none; padding: 0; background: none; }
.p2 .p2-fld { position: relative; } .p2 .p2-fld > select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.ads2 .of-example { max-width: 460px; margin-top: 14px; padding: 8px; border-radius: 10px; background: var(--c-bg-1a1a1a, #1c1c1c); }

/* круг 72 (пункт 9): модераторская — «Сводка» и пакет сборщика: карточки 16, промежутки 16, без обводок */
.cab2-flow .cab2-main > section.card, .cab2-flow .cab2-main .ins-card, .cab2-flow .stat-cols > section, .cab2-flow .cab2-main > .pkg-card,
.cab2-flow .cab2-main > div.card, .cab2-flow .cab2-main > section { margin: 0 !important; border: 0 !important; border-radius: 16px !important; background: var(--c-bg-1f1f1f) !important; box-shadow: none !important; }
.cab2-flow .stat-cols { display: grid; gap: 16px; margin: 0 !important; }
.cab2-flow .period-bar { margin: 0 !important; padding: 8px !important; border: 0 !important; border-radius: 16px !important; background: var(--c-bg-1f1f1f) !important; }
.cab2-flow .period-bar a, .cab2-flow .period-bar button { border-radius: 10px !important; }
.cab2 .todo-grid > *, .cab2 .vkpis > *, .cab2 .ins-card .card { border-radius: 12px !important; }
.cab2-flow .callout { border-radius: 12px; }
:root[data-theme="light"].cab2-flow .cab2-main > section, :root[data-theme="light"].cab2-flow .cab2-main .ins-card, :root[data-theme="light"].cab2-flow .period-bar,
:root[data-theme="light"].cab2-flow .stat-cols > section { background: #f1f1f4 !important; }

/* круг 73 (TG 8167–8168): цены — справа в той же карточке, как в окне покупки: «Длительность» списком, «Итого» со старой ценой, «Заказать» */
.pv-c .of-svc { grid-template-columns: minmax(0, 1fr); }
.pv-c .of-info { display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 24px; align-items: start; }
.pv-c .of-info > :not(.c-buy) { grid-column: 1; }
.pv-c .of-info > .c-buy { grid-column: 2; grid-row: 1 / span 20; }
.pv-c .of-info.with-thumb { grid-template-columns: 260px minmax(0, 1fr) 320px; }
.pv-c .of-info.with-thumb > .of-thumb { grid-column: 1; grid-row: 1 / span 20; }
.pv-c .of-info.with-thumb > :not(.c-buy):not(.of-thumb) { grid-column: 2; }
.pv-c .of-info.with-thumb > .c-buy { grid-column: 3; }
.pv-c .c-buy { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 16px !important; border-radius: 12px !important; background: #262626 !important; }
.pv-c .c-l { color: var(--muted-foreground); font: 600 13px / 1 var(--font-text); }
.pv-c .c-buy select, .pv-c .c-buy [data-dropdown] + * { height: 44px; border: 0 !important; border-radius: 10px !important; background-color: #1f1f1f !important; box-shadow: none !important; }
.pv-c .c-buy select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.pv-c .c-one { display: flex; align-items: center; height: 44px; padding: 0 14px; border-radius: 10px; background: #1f1f1f; color: var(--text); font: 500 14px / 1 var(--font-text); }
.pv-c .c-total { display: flex; align-items: baseline; gap: 8px; margin: 8px 0; }
.pv-c .c-total span { margin-right: auto; color: var(--muted-foreground); font: 600 14px / 1 var(--font-text); }
.pv-c .c-total s { color: var(--muted-foreground); font: 600 15px / 1 var(--font-text); }
.pv-c .c-total b { color: #ff9a2e; font: 700 24px / 1 var(--font-text); }
.pv-c .c-total small { color: var(--c-fg-37e576, #37e576); font: 600 13px / 1 var(--font-text); }
.pv-c .c-buy .of-order { height: 48px; margin: 0 !important; border-radius: 10px !important; }
.pv-c .c-buy { position: relative; }
:root[data-theme="light"].pv-c .c-buy { background: #fff !important; }
:root[data-theme="light"].pv-c .c-buy [data-dropdown] + *, :root[data-theme="light"].pv-c .c-one { background-color: #f1f1f4 !important; }
@media (max-width: 1100px) {
  .pv-c .of-info, .pv-c .of-info.with-thumb { grid-template-columns: minmax(0, 1fr); }
  .pv-c .of-info > *, .pv-c .of-info.with-thumb > * { grid-column: 1 !important; grid-row: auto !important; }
}
.pv-c .of-info { row-gap: 0; }
.pv-c .of-info.with-thumb > .of-thumb, .pv-c .of-info.with-thumb > .c-buy, .pv-c .of-info.with-thumb > :not(.c-buy):not(.of-thumb) { grid-row: 1 !important; }
.pv-c .of-info > .c-buy { grid-row: 1 / span 8; }

/* круг 74 (TG 8181): фильтры таблиц — «таблетки» со стрелкой, как в строке фильтров каталога; списки — как боковой фильтр главной */
.cab2 .facet-btn { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px 0 12px !important; border: 0 !important; border-radius: 10px !important; background: #2a2a2a !important; box-shadow: none !important; color: var(--text) !important; font: 600 13px / 1 var(--font-text) !important; }
.cab2 .facet-btn > svg:first-child { display: none; }
.cab2 .facet-btn::after { content: ""; width: 14px; height: 14px; margin-left: 2px; background: currentColor; opacity: .6;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; }
.cab2 .facet-btn:hover { background: #333 !important; }
.cab2 .facet-btn[aria-expanded="true"] { background: #3a3a3a !important; }
.cab2 .facet-sel:not(:empty) { margin-left: 2px; padding: 3px 7px; border-radius: 6px; background: var(--primary); color: var(--primary-foreground); font: 700 11px / 1 var(--font-text); }
.cab2 .st-cap .search-box, .cab2 .st-cap input[type="search"], .cab2 .st-cap .tbl-search { height: 36px; border: 0 !important; border-radius: 10px !important; background: #2a2a2a !important; box-shadow: none !important; }
/* выпадающий список фильтра */
.cab2 .facet .popover { min-width: 240px; padding: 8px !important; border: 0 !important; border-radius: 12px !important; background: #2a2a2a !important; box-shadow: 0 14px 36px #00000073, 0 2px 6px #00000040 !important; }
.cab2 .facet .cmd-list { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; }
.cab2 .facet .cmd-item { display: flex; align-items: center; gap: 10px; height: 34px; padding: 0 8px !important; border-radius: 8px !important; background: none !important; color: var(--text); font: 500 13.5px / 1 var(--font-text); cursor: pointer; }
.cab2 .facet .cmd-item:hover { background: #3a3a3a !important; }
.cab2 .facet .cmd-check { display: grid; place-items: center; flex: none; width: 18px; height: 18px; border: 0 !important; border-radius: 6px !important; background: #3a3a3a !important; box-shadow: none !important; }
.cab2 .facet .cmd-item[aria-selected="true"] .cmd-check { background: var(--primary) !important; color: var(--primary-foreground); }
.cab2 .facet .cmd-item img { width: 22px; height: auto; }
.cab2 .facet .cmd-n { margin-left: auto; color: var(--muted-foreground); font: 500 12.5px / 1 var(--font-text); }
.cab2 .facet .cmd-sep { margin: 6px 0; border: 0; border-top: 1px solid #ffffff14; }
.cab2 .facet .cmd-foot { width: 100%; height: 32px; border: 0; border-radius: 8px; background: none; color: var(--vip-badge); font: 600 13px / 1 var(--font-text); text-align: left; padding: 0 8px; cursor: pointer; }
:root[data-theme="light"].cab2 .facet-btn, :root[data-theme="light"].cab2 .st-cap .search-box { background: #fff !important; }
:root[data-theme="light"].cab2 .facet .popover { background: #fff !important; box-shadow: 0 14px 36px #0000001f, 0 2px 6px #00000014 !important; }
:root[data-theme="light"].cab2 .facet .cmd-item:hover { background: #ececf0 !important; }
:root[data-theme="light"].cab2 .facet .cmd-check { background: #e4e4e9 !important; }
:root[data-theme="light"].cab2 .facet .cmd-foot { color: #b07d00; }
/* TG 8183: у плиток «Дела · сейчас» без цветной полоски слева — цвет остаётся только у числа */
.cab2 .todo-tile::before { display: none !important; }
.cab2 .todo-grid, .cab2 .vkpis, .cab2 .vlegend { gap: 8px !important; }
/* TG 8184: скругления модерации по шкале 16 / 12 / 10 / 8 / 6 */
.cab2 .vchart { border-radius: 12px !important; }
.cab2 .vlg { border-radius: 8px !important; }
.cab2 .seg-tabs, .cab2 .seg.seg-links, .cab2 .tbl-seg { border-radius: 12px !important; }
.cab2 .seg-tabs > *, .cab2 .seg-tabs a, .cab2 .seg-tabs button, .cab2 .seg.seg-links > a, .cab2 .tbl-seg > a { border-radius: 8px !important; }
.cab2 .fn-bar, .cab2 .fn-bar > i, .cab2 [class*="fn-"].hb-w0 { border-radius: 6px !important; }
.cab2 .pager a, .cab2 .pager .cur, .cab2 .pager .off, .cab2 .pager span { border-radius: 8px !important; }
.cab2 .src-sites a, .cab2 .sp-left a.chip, .cab2 .sp-left .tag { border-radius: 8px !important; }
.cab2 .st-cap .seg span, .cab2 .tbl-seg span { border-radius: 8px !important; }
.cab2 .todo-grid { grid-template-columns: repeat(auto-fit, minmax(136px, 1fr)) !important; }
/* TG 8191: выбранное значение фильтра — одной меткой, без второй подложки и разделителя */
.cab2 .facet-sel, .cab2 .facet-sel:not(:empty) { margin-left: 4px; padding: 0 !important; border-radius: 0; background: none !important; box-shadow: none !important; color: inherit; }
.cab2 .facet-sel em { height: 22px; padding: 0 8px; border-radius: 6px; background: #444 !important; color: var(--text); font: 600 12px / 1 var(--font-text); font-style: normal; }
:root[data-theme="light"].cab2 .facet-sel em { background: #e4e4e9 !important; }

/* круг 76 (TG 8194–8195): статусы и баннеры карточками рядом — по образцу владельца; шкала 16 / 12 / 10 / 8, без обводок */
.sc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sc-card { display: flex; flex-direction: column; gap: 16px; padding: 24px; border-radius: 16px; background: var(--c-bg-1f1f1f); }
.sc-card h3 { margin: 0; color: var(--text); font: 700 20px / 1.2 var(--font-text); text-transform: none; }
.sc-sub { margin: -8px 0 0; color: var(--muted-foreground); font: 500 14px / 1.55 var(--font-text); }
.sc-spec { margin: -8px 0 0; color: var(--text-2); font: 600 13px / 1.5 var(--font-text); }
.sc-prev { padding: 8px; border-radius: 12px; background: var(--c-bg-1a1a1a, #1c1c1c); }
.sc-prev .of-example { max-width: none; margin: 0; padding: 0; background: none; }
.sc-prev .pv-dim { opacity: .45; }
.sc-seg { display: flex; gap: 4px; padding: 4px; border-radius: 12px; background: #262626; }
.sc-seg button, .sc-seg span { flex: 1; display: grid; place-items: center; height: 36px; border: 0; border-radius: 8px; background: none; color: var(--muted-foreground); font: 600 14px / 1 var(--font-text); cursor: pointer; }
.sc-seg .on { background: var(--primary); color: var(--primary-foreground); }
.sc-seg.one span { cursor: default; }
.sc-price { display: flex; align-items: baseline; gap: 10px; margin-top: auto; }
.sc-price s { color: var(--muted-foreground); font: 600 18px / 1 var(--font-text); }
.sc-price b { color: var(--text); font: 800 40px / 1 var(--font-text); letter-spacing: -.5px; }
.sc-price small { color: var(--c-fg-37e576, #37e576); font: 600 15px / 1 var(--font-text); }
.sc-avail { display: flex; flex-direction: column; gap: 6px; margin: -4px 0 0; padding: 0; list-style: none; }
.sc-avail li { display: flex; align-items: center; gap: 8px; color: var(--text-2); font: 600 13px / 1.3 var(--font-text); }
.sc-avail li i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #37e576; }
.sc-avail li.busy i { background: #ff9a2e; }
.sc-avail li.hint { padding-left: 16px; color: var(--muted-foreground); font-weight: 500; }
.sc-buy { display: grid; place-items: center; height: 48px; border-radius: 10px; background: var(--primary); color: var(--primary-foreground); font: 700 15px / 1 var(--font-text); text-decoration: none; }
.sc-buy:hover { background: color-mix(in srgb, var(--primary) 90%, transparent); }
:root[data-theme="light"] .sc-card { background: #f1f1f4; }
:root[data-theme="light"] .sc-prev { background: #fff; }
:root[data-theme="light"] .sc-seg { background: #fff; }
@media (max-width: 900px) { .sc-grid { grid-template-columns: 1fr; } .sc-card { padding: 16px; } .sc-price b { font-size: 34px; } }
.sc-price { margin-top: 0; } .sc-buy { margin-top: auto; }
/* TG 8201: описания короткие, карточки выровнены по строкам — превью, срок, цена и кнопка на одном уровне в обеих */
.sc-grid { align-items: stretch; }
.sc-card { display: grid; grid-template-rows: subgrid; grid-row: span 7; row-gap: 16px; }
.sc-card > * { margin-top: 0 !important; }
.sc-sub { margin: -8px 0 0 !important; }
.sc-buy { align-self: end; }
/* TG 8202: занятость одной подписью с точками мест, как в образце */
.sc-avail2 { display: flex; flex-direction: column; gap: 8px; color: var(--text-2); font: 600 13px / 1.3 var(--font-text); }
.sc-avail2 .dots { display: flex; gap: 4px; }
.sc-avail2 .dots i { width: 22px; height: 6px; border-radius: 3px; background: #37e576; }
.sc-avail2 .dots i.busy { background: #3a3a3a; }
:root[data-theme="light"] .sc-avail2 .dots i.busy { background: #d6d6dc; }
/* TG 8207–8208: занятость — справа от названия: «Свободно N из M», а если мест нет — «Занято до ДД.ММ» */
.sc-card { grid-row: span 6; }
.sc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sc-pill { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 8px; font: 600 12.5px / 1 var(--font-text); white-space: nowrap; }
.sc-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.sc-pill.free { background: #37e5761a; color: #37e576; }
.sc-pill.busy { background: #ff9a2e1f; color: #ff9a2e; }
:root[data-theme="light"] .sc-pill.free { background: #1aa34a1a; color: #148a3d; }
:root[data-theme="light"] .sc-pill.busy { background: #d9770620; color: #b45309; }
/* TG 8236: сегмент «Основные / Архив» — как наши переключатели (подложка, выбранный светлее); поиск — заливкой, как фильтры, не сливается с полосой */
html.cab2 .st-cap .tbl-seg, html.cab2 .st-cap .seg.seg-links { display: inline-flex; gap: 4px; padding: 4px !important; border: 0 !important; border-radius: 12px !important; background: #1c1c1c !important; box-shadow: none !important; }
html.cab2 .st-cap .tbl-seg > a, html.cab2 .st-cap .seg.seg-links > a { display: inline-flex; align-items: center; height: 30px; padding: 0 12px !important; border: 0 !important; border-radius: 8px !important; background: none !important; box-shadow: none !important; color: var(--muted-foreground) !important; text-decoration: none; }
html.cab2 .st-cap .tbl-seg > a span, html.cab2 .st-cap .seg.seg-links > a span { padding: 0 !important; border: 0 !important; background: none !important; font: 600 13px / 1 var(--font-text) !important; }
html.cab2 .st-cap .tbl-seg > a b, html.cab2 .st-cap .seg.seg-links > a b { margin-left: 6px; color: inherit; opacity: .7; font-weight: 600; }
html.cab2 .st-cap .tbl-seg > a[aria-current="true"], html.cab2 .st-cap .seg.seg-links > a[aria-current="true"], html.cab2 .st-cap .seg.seg-links > a.is-on { background: #3a3a3a !important; color: var(--text) !important; }
html.cab2 .st-cap .search-box.tbl-search { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px !important; border: 0 !important; border-radius: 10px !important; background: #2a2a2a !important; box-shadow: none !important; }
html.cab2 .st-cap .search-box.tbl-search input { height: 100%; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--text); }
html.cab2 .st-cap .search-box.tbl-search:focus-within { box-shadow: 0 0 0 2px #ffffff2e !important; }
:root[data-theme="light"].cab2 .st-cap .tbl-seg, :root[data-theme="light"].cab2 .st-cap .seg.seg-links { background: #f5f5f7 !important; }
:root[data-theme="light"].cab2 .st-cap .tbl-seg > a[aria-current="true"], :root[data-theme="light"].cab2 .st-cap .seg.seg-links > a[aria-current="true"] { background: #fff !important; }
:root[data-theme="light"].cab2 .st-cap .search-box.tbl-search { background: #fff !important; }
/* TG 8237–8238: поля в полосах таблиц — заливкой, как фильтры; вторичные кнопки — видимой «таблеткой» */
html.cab2 .st-cap .search-box { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px !important; border: 0 !important; border-radius: 10px !important; background: #2a2a2a !important; box-shadow: none !important; }
html.cab2 .st-cap .search-box input { height: 100%; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--text); }
html.cab2 .st-cap .search-box:focus-within { box-shadow: 0 0 0 2px #ffffff2e !important; }
html.cab2 .st-cap .btn[data-variant="secondary"], html.cab2 .cab2-main .btn[data-variant="secondary"] { height: 36px; padding: 0 14px !important; border: 0 !important; border-radius: 10px !important; background: #2a2a2a !important; box-shadow: none !important; color: var(--text) !important; }
html.cab2 .st-cap .btn[data-variant="secondary"]:hover, html.cab2 .cab2-main .btn[data-variant="secondary"]:hover { background: #333 !important; }
html.cab2 .st-cap .btn[data-variant="default"] { height: 36px; border-radius: 10px !important; }
:root[data-theme="light"].cab2 .st-cap .search-box, :root[data-theme="light"].cab2 .st-cap .btn[data-variant="secondary"], :root[data-theme="light"].cab2 .cab2-main .btn[data-variant="secondary"] { background: #fff !important; }
html.cab2 .st-cap .seg-tabs { display: inline-flex; gap: 4px; padding: 4px !important; border: 0 !important; border-radius: 12px !important; background: #1c1c1c !important; box-shadow: none !important; }
html.cab2 .st-cap .seg-tabs > a { display: inline-flex; align-items: center; height: 30px; padding: 0 12px !important; border: 0 !important; border-radius: 8px !important; background: none !important; box-shadow: none !important; color: var(--muted-foreground) !important; font: 600 13px / 1 var(--font-text) !important; text-decoration: none; }
html.cab2 .st-cap .seg-tabs > a b, html.cab2 .st-cap .seg-tabs > a i { margin-left: 6px; color: inherit; opacity: .7; font-style: normal; }
html.cab2 .st-cap .seg-tabs > a.is-on, html.cab2 .st-cap .seg-tabs > a[aria-current="true"] { background: #3a3a3a !important; color: var(--text) !important; }
:root[data-theme="light"].cab2 .st-cap .seg-tabs { background: #f5f5f7 !important; }
:root[data-theme="light"].cab2 .st-cap .seg-tabs > a.is-on { background: #fff !important; }
/* контраст в полосе таблицы (#262626): поля и «таблетки» на заметный тон светлее — #333, наведение #3d3d3d */
html.cab2 .st-cap .search-box, html.cab2 .st-cap .search-box.tbl-search, html.cab2 .facet-btn, html.cab2 .st-cap .btn[data-variant="secondary"] { background: #333 !important; }
html.cab2 .facet-btn:hover, html.cab2 .st-cap .btn[data-variant="secondary"]:hover { background: #3d3d3d !important; }
html.cab2 .facet-btn[aria-expanded="true"] { background: #424242 !important; }
html.cab2 .facet-sel em { background: #4a4a4a !important; }
/* TG 8245: вкладки «История проверок / Сайты» в полосе контейнера источника */
html.cab2 .src-cap2 { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
html.cab2 .st-head.st-site, html.cab2 .st-row.st-site { display: grid; grid-template-columns: minmax(0, 1fr) 140px 220px; align-items: center; gap: 16px; }
html.cab2 .st-row.st-site { padding: 12px 20px; border-radius: 10px; color: var(--text); text-decoration: none; }
html.cab2 .st-row.st-site:hover { background: #262626; }
html.cab2 .st-row.st-site .st-name { display: flex; flex-direction: column; gap: 4px; }
html.cab2 .st-row.st-site .st-name small { color: var(--muted-foreground); }
html.cab2 .st-head.st-site { padding: 12px 20px; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
html.cab2 [data-src-pane][hidden], html.cab2 [data-src-hint][hidden] { display: none !important; }
/* TG 8258: «Выход» — просто «Выйти»; выход на всех устройствах — тихой ссылкой рядом */
.cab2 .cab-out2 { display: flex; align-items: center; gap: 16px; }
.cab2 .cab-out2 form { margin: 0; }
.cab2 .cab-out-all { padding: 0; border: 0; background: none; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cab2 .cab-out-all:hover { color: var(--text); }
/* TG 8259: согласие — второй шаг окна входа */
.ya-login .lg-ck { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 8px; padding: 10px 12px; border-radius: 10px; background: #333; color: var(--text); font: 500 13px / 1.4 var(--font-text); cursor: pointer; }
.ya-login .lg-ck input { position: absolute; opacity: 0; pointer-events: none; }
.ya-login .lg-ck .box { display: grid; place-items: center; flex: none; width: 18px; height: 18px; margin-top: 1px; border-radius: 6px; background: #4a4a4a; color: transparent; }
.ya-login .lg-ck .box svg { width: 12px; height: 12px; }
.ya-login .lg-ck input:checked + .box { background: var(--primary); color: var(--primary-foreground); }
.ya-login .lg-ck a { color: var(--vip-badge); }
.ya-login .lg-go { width: 100%; margin-top: 8px; border: 0; cursor: pointer; }
.ya-login .lg-go:disabled { opacity: .45; cursor: default; }
.ya-login .lg-ok i { background: #37e576; animation: none; }
:root[data-theme="light"] .ya-login .lg-ck { background: #f1f1f4; }
:root[data-theme="light"] .ya-login .lg-ck .box { background: #dcdce2; }
:root[data-theme="light"] .ya-login .lg-ck a { color: #b07d00; }
.ya-login .lg-ck a, .ya-menu .lg-ck a:first-of-type { display: inline; height: auto; padding: 0; border-radius: 0; background: none !important; color: var(--vip-badge); font: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ya-hero:has(.ya-login) { overflow: visible; }

/* ══ Перенос на сайт (08.11): то, чего не было в набросках, — настоящие элементы под одобренный вид ══ */
/* платные обои: вся полоса — ссылка со счётчиком /b/{id}/ (под шапкой разделов) */
.ya-hero .ya-wall-link { position: absolute; inset: 0; z-index: 1; }
.ya-hero picture { display: contents; }
/* меню шапки (язык, кабинет): popover из site.js в виде наших выпадающих */
.ya-top .popover.ya-menu { position: absolute; top: calc(100% + 8px); right: 0; left: auto; z-index: 60; min-width: 220px; width: max-content; margin: 0; padding: 6px; border: 0; border-radius: 12px; background: #2a2a2a; box-shadow: 0 14px 36px #00000073, 0 2px 6px #00000040; }
.ya-menu .ya-mi { display: flex; align-items: center; gap: 10px; width: 100%; height: 36px; padding: 0 10px; border: 0; border-radius: 8px; background: none; color: var(--text); font: 500 13.5px / 1 var(--font-text); text-align: left; text-decoration: none; cursor: pointer; }
.ya-menu .ya-mi:hover, .ya-menu .ya-mi.on { background: #3a3a3a; }
.ya-menu .ya-mi em { margin-left: auto; color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); font-style: normal; }
.ya-menu .ya-mi .ck { display: grid; place-items: center; width: 16px; }
.ya-menu .ya-mi .ck svg { width: 14px; height: 14px; }
.ya-menu .ya-mi.out { color: var(--muted-foreground); }
.ya-menu form { margin: 0; }
.ya-menu .ya-me { display: flex; align-items: center; gap: 10px; padding: 8px 10px 10px; margin-bottom: 4px; border-bottom: 1px solid #ffffff14; }
.ya-menu .ya-me span { display: flex; flex-direction: column; gap: 3px; }
.ya-menu .ya-me b { color: var(--text); font: 600 14px / 1 var(--font-text); }
.ya-menu .ya-me em { color: var(--muted-foreground); font: 500 12px / 1 var(--font-text); font-style: normal; }
:root[data-theme="light"] .ya-top .popover.ya-menu { background: #fff; box-shadow: 0 14px 36px #0000001f, 0 2px 6px #00000014; }
:root[data-theme="light"] .ya-menu .ya-mi:hover, :root[data-theme="light"] .ya-menu .ya-mi.on { background: #ececf0; }
.ya-pill { border: 0; }
button.ya-pill { cursor: pointer; }
.ya-pill.user .un { max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
.ya-pill.user svg { width: 14px; height: 14px; opacity: .8; }
/* поле поиска — настоящий input внутри .ya-search */
.ya-sw { position: relative; display: block; margin: 0; }
.ya-search { cursor: text; }
.ya-search input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: none; box-shadow: none; color: var(--text); font: 500 14px / 1 var(--font-text); }
.ya-search input::placeholder { color: var(--muted-foreground); }
.ya-search input::-webkit-search-cancel-button { display: none; }
.ya-sw .ya-sugg[hidden] { display: none; }
.ya-sugg .ya-empty { margin: 0; padding: 12px; color: var(--muted-foreground); font: 500 13px / 1 var(--font-text); }
.ya-sw.is-open .ya-search { box-shadow: 0 0 0 2px #ffffff2e; }
/* заголовок контейнера — h2 (для поиска и чтения с экрана), вид как в наброске */
h2.sf-box-h { margin: 0; letter-spacing: 0; text-transform: none; }
/* отмеченный пункт бокового фильтра — ссылкой, галочка залита */
.sf-ck { text-decoration: none; }
.sf-ck.is-on .box { background: var(--primary); color: var(--primary-foreground); }
.sf-ck:not(.is-on) .box svg { opacity: 0; }
.sf-g summary .sf-reset { display: inline; text-decoration: none; }
/* неделя: стрелки — кнопки, на краю — приглушены */
.sf-cal-h .ar i.off { opacity: .35; pointer-events: none; }
.sf-week[hidden] { display: none !important; }
.sf-week a { text-decoration: none; }
/* ≤1400 px: «Календарь» и «Фильтры» раскрывают колонку фильтра под строкой поиска */
@media (min-width: 721px) and (max-width: 1400px) {
  html[data-sf-open] .sf-home .ya-navcol, html[data-sf-open].sf-home .ya-navcol { display: block !important; position: absolute; z-index: 40; width: 320px; margin-top: 120px; }
  html[data-sf-open="cal"].sf-home .ya-navcol .sf-acc { display: none; }
  html[data-sf-open="filters"].sf-home .ya-navcol .sf-cal { display: none; }
  html[data-sf-open].sf-home .ya-navcol .sf-card { box-shadow: 0 14px 36px #00000073; }
}
/* текст подборки внизу (полоса ya-band) — настоящий текст: h2, абзацы, «Подробнее» */
.ya-band .seo h3 { margin: 18px 0 8px; color: var(--text); font: 600 15px / 1.3 var(--font-text); }
.ya-band .seo p + p { margin-top: 10px; }
.ya-band .seo details { margin-top: 12px; }
.ya-band .seo summary { color: var(--text); font: 600 14px / 1 var(--font-text); cursor: pointer; }
.ya-also { width: min(calc(100% - 64px), 1520px); margin: 16px auto 0; }
/* телефон: панель «≡» скрыта, пока не нажали; ссылки и кнопки сегментов — как в наброске */
.ya-mpanel[hidden] { display: none !important; }
.ya-mpanel a, .ya-mpanel nav a { text-decoration: none; }
.ya-mpanel .ya-madd { text-decoration: none; }
.ya-seg > button, .ya-seg > a, .ya-seg > span { display: grid; flex: 1; place-items: center; height: 30px; padding: 0; border: 0; border-radius: 9px; background: none; color: var(--muted-foreground); font: 600 12.5px / 1 var(--font-text); text-decoration: none; cursor: pointer; }
.ya-seg > button.on, .ya-seg > span.on { background: var(--c-bg-333333); color: var(--text); }
:root[data-theme="light"] .ya-seg > button.on, :root[data-theme="light"] .ya-seg > span.on { background: #fff; box-shadow: 0 1px 3px #0000001f; color: var(--text); }
:root[data-theme="light"] .ya-seg.th > button:not(.on) { background: none; box-shadow: none; color: var(--muted-foreground); }
.ya-burger.is-open { background: #ffffff38; }
/* на сайте панель «≡» есть в разметке всегда (скрыта) — затемнение листа только при открытой; поиск на телефоне — во всю строку
   (в наброске на телефоне было иконкой, в одобренной главной — полем) */
@media (max-width: 720px) {
  html:has(.ya-mpanel) .ya-sheet::before { content: none; }
  html:has(.ya-mpanel:not([hidden])) .ya-sheet::before { content: ""; position: fixed; inset: 0; z-index: 4; background: #00000080; }
  .sf-mq .ya-sw .ya-search, .sf-q .ya-sw .ya-search { width: 100% !important; padding: 0 14px !important; justify-content: flex-start !important; }
  .sf-mq .ya-sw .ya-search input { display: block; }
}
/* ≤1400 px: карточки фильтра под строкой поиска по «Календарь / Фильтры»; телефон — неделя под строкой всегда */
.sf-mweek, .sf-mdrop[hidden] { display: none; }
.sf-mdrop { margin-top: 8px; }
.sf-mdrop .sf { gap: 8px; }
.sf-mdrop[data-k="cal"] .sf-acc, .sf-mdrop[data-k="filters"] .sf-cal { display: none; }
.sf-mbtn.on { background: var(--primary) !important; color: var(--primary-foreground) !important; }
@media (max-width: 720px) {
  .sf-mweek { display: block; margin-top: 8px; }
  .sf-mdrop[data-k="filters"] .sf-cal { display: none; }
}
html[data-sf-open] .sf-home .ya-navcol, html[data-sf-open].sf-home .ya-navcol { display: none !important; }
.sf-m { flex-direction: column !important; align-items: stretch !important; }
.sf-mdrop .sf-q { display: none; }
.sf-mdrop .sf-cal { max-width: 360px; }
@media (min-width: 721px) {
  .sf-mdrop .sf-acc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; padding: 8px 16px; }
  .sf-mdrop .sf-g + .sf-g { border-top: 0; }
  .sf-mdrop .sf-g summary { pointer-events: none; }
  .sf-mdrop .sf-g summary .chev { display: none; }
  .sf-mdrop .sf-g summary .sf-reset { pointer-events: auto; }
  .sf-mdrop .sf-g:not([open]) > .sf-list { display: flex; }
}
/* подборка: выбранное чипами — видно, когда фильтр свёрнут в строку (≤1400) */
.sf-chip { text-decoration: none; }
.sf-chip-reset { text-decoration: none; }
.sf-coll .ya-intro h1 { font-size: 24px; }
.sf-home .sf-box .empty { padding: 12px 16px; color: var(--muted-foreground); font: 500 13px / 1.4 var(--font-text); }

/* страница сервера (перенос, шаг 2): общие правила, принятые после её наброска (TG 8061, 8137) — отступы 16/8, контейнеры 16 → 12 */
.srv-tabs .ya-grid { column-gap: 16px; }
.srv-tabs .ya-sheet { padding-top: 16px; }
.srv .sp-crumbs { margin: 0 0 16px; }
.srv .ya-sec { margin-bottom: 16px; }
.srv .sp-raw .pp-top { gap: 16px; }
.srv .sp-raw .pp-top > .pp-hero, .srv .sp-raw .pp-top > .pp-cta { border-radius: 16px !important; }
.srv .sp-tabs2 .sp-ctabs.pp-tabbar { margin: 0 0 16px; }
.srv .sp-tabs2 .pp-grid { gap: 16px; margin-bottom: 16px; }
.srv .sp-tabs2 .pp-card { margin: 0 0 16px; border-radius: 16px; }
.srv .sp-tabs2 .pp-grid .pp-card { margin: 0; }
.srv .sp-tabs2 .sp-ctabs.pp-tabbar button { border-radius: 10px; }
.srv .pp-tag, .srv .pp-mark { border-radius: 8px; }
.srv .pp-go, .srv .pp-vote, .srv .pp-remind-sq { border-radius: 10px !important; }
.srv .pp-timer > div { border-radius: 10px; }
.srv .ya-tiles.tv-n { gap: 16px; }
.srv .tile.tn { border-radius: 12px; text-decoration: none; }
.srv .sp-crumbs a { text-decoration: none; }
.srv .sp-crumbs .back { border-radius: 10px; }
/* история открытий строками — как в списках */
.srv .sp-launch-rows { margin: 0; }
.srv .pp-similar2 .ya-sec-h h2 { font-size: 18px; }
/* история открытий: колонка даты шире — в ней «архив · ДД.ММ.ГГГГ» */
.srv .sp-launch-rows .row { grid-template-columns: 24px minmax(0, 1fr) 60px 110px 150px; }
.srv .sp-launch-rows .row .date { white-space: nowrap; text-align: right; }
@media (max-width: 720px) { .srv .sp-launch-rows .row { grid-template-columns: 22px minmax(0, 1fr) 48px 140px; } .srv .sp-launch-rows .row .chron { display: none; } }

/* Рейтинг (перенос, шаг 3): хроники слева карточкой фильтра; уже 1400 px — лентой над списком */
.top2 .ya-grid { grid-template-columns: 320px minmax(0, 1fr) 200px; column-gap: 16px; }
.top2 .ya-sheet { padding-top: 16px; }
.top2 .ya-intro { margin: 0 0 8px; }
.top2 .rk-lead2 { margin: 0 2px 16px; }
.top2 .rk-list2 { gap: 16px; }
.top2 .rk-list2 .rk-card { border-radius: 16px; }
.top2 .rk-list2 .rk-card .bn, .top2 .rk-list2 .rk-card .btn { border-radius: 10px; }
.top2 .rk-list2 .rk-card .badge { border-radius: 6px; }
.top2 .rk-pager2 { margin-top: 16px; }
.top2 .rk-chips { display: none; }
@media (max-width: 1400px) {
  .top2 .ya-grid { grid-template-columns: minmax(0, 1fr) 200px; }
  .top2 .ya-navcol { display: none; }
  .top2 .rk-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; overflow: visible; }
}
.rk-chips a { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 10px; background: var(--c-bg-262626); color: var(--text); font: 600 13px / 1 var(--font-text); text-decoration: none; }
.rk-chips a em { color: var(--muted-foreground); font-style: normal; font-weight: 500; }
.rk-chips a.on { background: var(--primary); color: var(--primary-foreground); }
.rk-chips a.on em { color: inherit; opacity: .7; }
@media (max-width: 720px) { .top2 .rk-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -16px 16px; padding: 0 16px; } .rk-chips a { flex: none; } }
:root[data-theme="light"] .rk-chips a:not(.on) { background: #f1f1f4; }

/* База L2 (перенос, шаг 4): лист без баннера справа, дерево слева; отступы 16 и скругления по шкале */
.kb2 .ya-grid { column-gap: 16px; }
.kb2 .ya-sheet { padding-top: 16px; }
.kb2 .kb-tree > a { text-decoration: none; }
.kb2 .kb-bar { margin: 0 0 16px; }
.kb2 .kb-bar a { text-decoration: none; }
.kb2 .kb-search.big, .kb2 .kb-band { border-radius: 16px; }
.kb2 .kb-card, .kb2 .kb-panel, .kb2 .kb-list-card { border-radius: 16px; }

/* «Файлы» (перенос, шаг 5): заголовок и подводка над карточками, отступы 16, контейнеры 16 */
.files2 .ya-sheet { padding-top: 16px; }
.files2 .ya-intro-block { margin: 0 0 16px; }
.files2 .ya-intro-block h1 { margin: 0 0 8px; color: var(--text); font: 700 28px / 1.2 var(--font-text); letter-spacing: -.3px; text-transform: none; }
.files2 .ya-intro-block p { max-width: 760px; margin: 0; color: var(--muted-foreground); font: 500 14.5px / 1.55 var(--font-text); }
.files2 .cl-list2 { gap: 16px; }
.files2 .cl-card, .files2 .cl-how { border-radius: 16px !important; }
.files2 .cl-cover { border-radius: 12px; }
.files2 .cl-how2 { margin-top: 16px; }
.files2 .cl-card .btn { border-radius: 10px; }

/* окно входа из «Войти» — выпадающим окошком под кнопкой (одобрено 08.11, TG 8091), цвет как у всех выпадающих */
dialog.auth-dlg.from-head { position: fixed; inset: auto; margin: 0; width: 320px; max-width: calc(100vw - 32px); padding: 16px; border: 0; border-radius: 12px; background: #2a2a2a; box-shadow: 0 14px 36px #00000073, 0 2px 6px #00000040; }
dialog.auth-dlg.from-head::backdrop { background: transparent; }
dialog.auth-dlg.from-head .modal-head h2 { font: 700 17px / 1.2 var(--font-text); }
dialog.auth-dlg.from-head .btn { border-radius: 10px; }
dialog.auth-dlg.from-head .check { border: 0; border-radius: 10px; background: #333; }
:root[data-theme="light"] dialog.auth-dlg.from-head { background: #fff; box-shadow: 0 14px 36px #0000001f, 0 2px 6px #00000014; }
:root[data-theme="light"] dialog.auth-dlg.from-head .check { background: #f1f1f4; }
@media (max-width: 720px) { dialog.auth-dlg.from-head { width: auto; } }
dialog.auth-dlg.from-head::backdrop { background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
dialog.auth-dlg.from-head > form { padding: 0 !important; }
dialog.auth-dlg.from-head .modal-head { margin: 0 0 8px; }
dialog.auth-dlg.from-head .muted { font-size: 13.5px; line-height: 1.45; }
dialog.auth-dlg.from-head .login-steps { margin: 12px 0 8px; padding-left: 20px; font-size: 13px; line-height: 1.6; }

/* кабинет и модерация (перенос, шаг 7): заголовки страниц и формы — как в одобренных набросках */
.cab2 .cab2-main { width: auto; max-width: none; margin: 0; padding: 0 !important; }
.cab2 .cab2-h1, .cab2 .cab2-main .page-head h1 { margin: 0 0 16px; color: var(--text); font: 700 24px / 1.2 var(--font-text); letter-spacing: -.2px; text-transform: none; }
.cab2 .cab2-main .page-head { margin: 0; padding: 0; border: 0; background: none; }
.cab2 .cab2-main .page-head p { margin: -8px 0 16px; color: var(--muted-foreground); }
.cab2-form .cab2-main .srv-form, .cab2-form .cab2-main > .callout { max-width: 880px; }
.cab2 .cab2-main > .callout { margin: 0 0 16px !important; border-radius: 12px; }
/* в кабинете и модерации поток — отдельные карточки 16 с промежутком 16 (а не одна поверхность с линиями, как раньше) */
.cab2 main.cab2-main.flow, .cab2 main.cab2-main.page { display: flex; flex-direction: column; gap: 16px !important; background: none !important; border-radius: 0 !important; }
.cab2 main.cab2-main.flow > *, .cab2 main.cab2-main.page > * { margin: 0 !important; border-top: 0 !important; }
.cab2 main.cab2-main.flow > section, .cab2 main.cab2-main.flow > .card, .cab2 main.cab2-main.flow > .period-bar { border-radius: 16px !important; }
.cab2 main.cab2-main.flow > .cab2-h1 { margin: 0 !important; }
.cab2 main.cab2-main.flow > .stat-cols { display: grid; gap: 16px !important; }
.cab2 main.cab2-main.flow > .stat-cols > * { border-left: 0 !important; border-radius: 16px !important; }
.cab2 main.cab2-main.flow > .callout { margin: 0 !important; }
.cab2 .ins-card { padding: 16px; background: var(--c-bg-1f1f1f); }
:root[data-theme="light"].cab2 .ins-card { background: #f1f1f4; }
.cab2 .todo-grid { gap: 8px !important; }
.cab2 .todo-tile { border-radius: 12px !important; }
.cab2 .vkpis > * { border: 0 !important; border-radius: 12px !important; background: #262626; }
.cab2 .vkpis { gap: 8px !important; }
.cab2 .cab2-lead { margin: -8px 0 16px; color: var(--muted-foreground); font: 500 14px / 1.5 var(--font-text); }
.cab2 .src-tabs a { text-decoration: none; }
/* кабинет и модерация: старое «одна поверхность» (site.css main.sp-grid gap 0 !important) — здесь карточки с зазором 16 */
html.cab2 main.cab2-main.sp-grid { gap: 16px !important; align-items: start; background: none !important; border-radius: 0 !important; }
html.cab2 main.cab2-main.sp-grid > div, html.cab2 main.cab2-main.sp-grid .sp-pane { gap: 16px !important; }
html.cab2 header.cab2-head { margin-bottom: 16px !important; }
html.cab2 main.cab2-main.sp-grid > .sp-left { border-right: 0 !important; }
/* телефон, кабинет и модерация: шапка таблицы переносится (на ПК у .st-fixed она ровно 72px), подразделы активного пункта
   меню — в той же прокручиваемой строке, а не столбиком под ним */
@media (max-width: 720px) {
  html.cab2 .sf-box.srv-table > .st-cap { flex-wrap: wrap; align-items: center; gap: 8px; height: auto !important; padding: 12px !important; }
  html.cab2 .sf-box.srv-table > .st-cap > :first-child, html.cab2 .sf-box.srv-table > .st-cap > span.muted { flex: 1 1 100%; margin: 0; text-align: left; }
  html.cab2 .cab2-nav .side-nav-list > li { display: flex; align-items: center; gap: 4px; flex: none; }
  html.cab2 .cab2-nav details.side-nav-sub[open] { display: flex; align-items: center; gap: 4px; }
  html.cab2 .cab2-nav .side-nav-children { display: flex; flex-direction: row; gap: 4px; margin: 0; padding: 0; border: 0; list-style: none; }
  html.cab2 .cab2-nav .side-nav-children a { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 10px; white-space: nowrap; }
  html.cab2 .cab2-nav .side-nav-chev { display: none; }
}
@media (max-width: 720px) {
  /* «Сводка»: период и шаг — каждый своей строкой, листаются вбок; подпись «время московское» — ниже */
  html.cab2 main.flow > .period-bar { flex-wrap: wrap; gap: 8px; padding: 8px !important; }
  html.cab2 .period-bar .period-set { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; flex: 1 1 100%; min-width: 0; }
  html.cab2 .period-bar .seg-tabs { display: flex; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  html.cab2 .period-bar .seg-tabs a { flex: none; white-space: nowrap; }
  html.cab2 .period-bar > .muted { flex: 1 1 100%; padding: 0 8px 4px; }
  /* шапка источника и проверки: «назад» и название в одну строку, ссылки — ниже */
  html.cab2 header.cab2-head { flex-wrap: wrap; align-items: flex-start; gap: 12px 16px; }
  html.cab2 header.cab2-head .sp-title { flex: 1 1 0; min-width: 0; }
  html.cab2 header.cab2-head .sp-links { flex: 1 1 100%; flex-wrap: wrap; margin-left: 0; }
}

/* ── окно «Продвинуть» в две колонки (редизайн 08.11, образец TG 8146): настоящее окно <dialog class="modal p2"> поверх
   правил наброска (.p2-* выше) — сегмент на радио «what», поля-наборы без рамок, фон за окном — ::backdrop */
dialog.modal.p2 { position: fixed; inset: 0; width: min(960px, calc(100% - 32px)); max-width: none; max-height: calc(100vh - 48px); margin: auto; padding: 16px; overflow: auto; border: 0; border-radius: 16px; background: var(--c-bg-1f1f1f); box-shadow: 0 24px 64px #00000080; }
dialog.modal.p2::backdrop { background: #000000a6; backdrop-filter: blur(4px); }
dialog.modal.p2 .promo-form { display: block; margin: 0; padding: 0; }
.p2-seg label { position: relative; flex: 1; display: grid; place-items: center; height: 36px; border-radius: 8px; color: var(--muted-foreground); font: 600 14px / 1 var(--font-text); cursor: pointer; }
.p2-seg label:has(input:checked) { background: #3a3a3a; color: var(--text); }
.p2-seg label:has(input:focus-visible) { outline: 2px solid #ffffff4d; outline-offset: 1px; }
.p2 .p2-seg input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.p2 fieldset.pane { display: flex; flex-direction: column; gap: 16px; min-width: 0; margin: 0; padding: 0; border: 0; }
.p2 fieldset.pane[hidden], .p2 fieldset.terms[hidden] { display: none; }
.p2 fieldset.terms { min-width: 0; margin: 0; padding: 0; border: 0; }
.p2 .dd { width: 100%; }
.p2 .dd-btn { display: flex; align-items: center; padding: 0 40px 0 14px !important; font: 500 14px / 1 var(--font-text); text-align: left; }
.p2 .dd-list { border-radius: 10px; background: #2a2a2a; }
.p2 input[type="url"] { padding: 0 14px; }
.p2 .drop.p2-drop { position: relative; display: grid; place-items: center; height: 88px; margin: 0; padding: 8px; border: 0 !important; border-radius: 10px; background: #262626; color: var(--muted-foreground); font: 500 13px / 1.3 var(--font-text); text-align: center; cursor: pointer; }
.p2 .drop.p2-drop.over { background: #303030; }
.p2 .drop.p2-drop input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.p2 .drop.p2-drop .drop-img { max-width: 100%; max-height: 72px; border-radius: 6px; }
.p2 .drop.p2-drop .drop-img:not([hidden]) + .drop-text { display: none; }
.p2 .drop-msg { margin: 0; color: var(--c-fg-37e576, #37e576); font: 500 12px / 1.4 var(--font-text); }
.p2 .drop-msg:empty { display: none; }
.p2 .drop-msg.bad { color: #f87171; }
.p2 .promo-avail, .p2 .callout, .p2 .sale-banner { margin: 0; }
.p2 .promo-avail { padding: 12px 14px; border-radius: 10px; background: #262626; font: 500 13px / 1.45 var(--font-text); }
.p2 .promo-avail.bad { background: #3b1717; color: #fca5a5; }
.p2 .promo-avail .btn { margin-top: 8px; }
.p2-total b s { margin-right: 6px; color: var(--muted-foreground); font-size: 15px; font-weight: 600; }
.p2-buy:disabled { opacity: .5; cursor: default; }
.p2-buy:not(:disabled):hover { background: color-mix(in srgb, var(--primary) 90%, transparent); }
:root[data-theme="light"] dialog.modal.p2 { background: #fff; box-shadow: 0 24px 64px #00000038; }
:root[data-theme="light"] .p2-seg label:has(input:checked) { background: #fff; }
:root[data-theme="light"] .p2 .drop.p2-drop, :root[data-theme="light"] .p2 .promo-avail { background: #f1f1f4; }
:root[data-theme="light"] .p2 .dd-list { background: #fff; }
@media (max-width: 760px) { dialog.modal.p2 { width: calc(100% - 16px); max-height: calc(100vh - 16px); } }
dialog.modal.p2 .promo-form { display: block !important; gap: 0 !important; }
.p2 small.promo-spec { display: block; margin: 0; padding: 0; border: 0; background: none; color: var(--muted-foreground); font: 500 12px / 1.4 var(--font-text); }
.p2 small.promo-spec[hidden] { display: none; }
