
  :root {
    --bg: #ebeae3;
    --surface: #f7f6f1;
    --surface-2: #efeee7;
    --line: #d6d5cb;
    --line-strong: #c3c2b6;
    --ink: #1c1d18;
    --ink-2: #3a3b33;
    --muted: #6b6c60;
    --faint: #9a9a8e;
    --accent: #7d6800;
    --accent-ink: #1b1a10;
    --accent-fill: #e3c643;
    --accent-soft: #f1e6a8;
    --warn: #a3421d;
    --ok: #3f6e3a;
    --header: rgba(247, 246, 241, .92);
    --shadow: 0 1px 0 rgba(0,0,0,.03), 0 18px 40px -26px rgba(30, 30, 20, .45);
  }
  @media all {
    :root:not([data-theme="light"]) {
      --bg: #121310;
      --surface: #1a1b16;
      --surface-2: #22231d;
      --line: #2e2f28;
      --line-strong: #3d3e35;
      --ink: #ece8da;
      --ink-2: #cfcbbd;
      --muted: #a19e8c;
      --faint: #6c6b5e;
      --accent: #e3c643;
      --accent-ink: #1b1a10;
      --accent-fill: #e3c643;
      --accent-soft: #332e15;
      --warn: #de7043;
      --ok: #8fc185;
      --header: rgba(18, 19, 16, .9);
      --shadow: 0 1px 0 rgba(255,255,255,.02), 0 22px 44px -28px rgba(0, 0, 0, .9);
    }
  }
  :root[data-theme="dark"] {
    --bg: #121310;
    --surface: #1a1b16;
    --surface-2: #22231d;
    --line: #2e2f28;
    --line-strong: #3d3e35;
    --ink: #ece8da;
    --ink-2: #cfcbbd;
    --muted: #a19e8c;
    --faint: #6c6b5e;
    --accent: #e3c643;
    --accent-ink: #1b1a10;
    --accent-fill: #e3c643;
    --accent-soft: #332e15;
    --warn: #de7043;
    --ok: #8fc185;
    --header: rgba(18, 19, 16, .9);
    --shadow: 0 1px 0 rgba(255,255,255,.02), 0 22px 44px -28px rgba(0, 0, 0, .9);
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    background: var(--bg); color: var(--ink);
    font-family: "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased;
  }
  a { color: inherit; }
  button, input { font: inherit; color: inherit; }
  :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
  .mono { font-family: "JetBrains Mono", ui-monospace, Consolas, monospace; font-variant-numeric: tabular-nums; }
  .container { max-width: 1200px; margin: 0 auto; padding-inline: 20px; }
  h1, h2, h3, h4 { margin: 0; text-wrap: balance; }
  p { margin: 0; }

  /* ---------- Шапка ---------- */
  .site-head { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: var(--header); backdrop-filter: saturate(1.2) blur(10px); border-bottom: 1px solid var(--line); }
  .bar { display: flex; align-items: center; gap: 22px; min-height: 64px; }
  .brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; flex: none; }
  .brand .mark { width: 34px; height: 34px; border-radius: 8px; background: var(--accent-fill); display: grid; place-items: center; }
  .brand .mark svg { width: 26px; height: 26px; }
  .brand .word { font-family: "Russo One", "Golos Text", sans-serif; font-size: 21px; letter-spacing: .06em; }
  .brand .tag { font-size: 11px; color: var(--muted); letter-spacing: .08em; text-transform: uppercase; display: block; margin-top: -2px; }
  nav.main { display: flex; align-items: center; gap: 2px; flex: 1; }
  .nav-btn, .nav-link {
    display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 8px; border: 0; background: transparent;
    font-size: 15.5px; font-weight: 500; cursor: pointer; text-decoration: none; color: var(--ink);
  }
  .nav-btn:hover, .nav-link:hover, .nav-btn[aria-expanded="true"] { background: var(--surface-2); }
  .nav-link.active, .nav-btn.active { color: var(--accent); }
  .nav-btn svg { width: 12px; height: 12px; transition: transform .2s; }
  .nav-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
  .head-right { display: flex; align-items: center; gap: 10px; flex: none; }
  .wipe-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 99px; border: 1px solid var(--line-strong); font-size: 13px; text-decoration: none; white-space: nowrap; }
  .wipe-pill b { color: var(--accent); }
  .wipe-pill .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent-fill); box-shadow: 0 0 0 3px var(--accent-soft); }
  .burger { display: none; width: 40px; height: 40px; border-radius: 8px; border: 1px solid var(--line); background: var(--surface); cursor: pointer; place-items: center; }
  .burger svg { width: 20px; height: 20px; }

  .mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
  .mega-inner { display: grid; grid-template-columns: 280px 1fr 1fr; gap: 0; padding-block: 26px; }
  .mega-intro { padding-right: 28px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
  .mega-intro h3 { font-size: 22px; font-weight: 700; }
  .mega-intro p { color: var(--muted); font-size: 14.5px; }
  .mega-col { padding-left: 36px; display: flex; flex-direction: column; gap: 4px; }
  .mega-col h4 { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); font-weight: 600; margin-bottom: 8px; }
  .mega-link { display: flex; align-items: center; gap: 14px; padding: 8px 10px 8px 8px; margin-left: -8px; border-radius: 10px; text-decoration: none; }
  .mega-link:hover { background: var(--surface-2); }
  .mega-link .t { font-size: 16px; font-weight: 500; line-height: 1.25; }
  .mega-link .d { font-size: 12.5px; color: var(--muted); display: block; }
  .glyph { width: 40px; height: 40px; border-radius: 9px; background: var(--surface-2); border: 1px solid var(--line); display: grid; place-items: center; flex: none; }
  .glyph svg { width: 30px; height: 30px; }
  .btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 10px; border: 1px solid var(--line-strong); background: var(--surface); text-decoration: none; font-weight: 600; font-size: 14.5px; cursor: pointer; }
  .btn:hover { border-color: var(--accent); }
  .btn.primary { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--accent-ink); }
  .btn svg { width: 14px; height: 14px; }

  .mobile-nav { border-top: 1px solid var(--line); padding-block: 12px 18px; display: flex; flex-direction: column; gap: 14px; }
  .mobile-nav h4 { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin-bottom: 4px; }
  .mobile-nav a { display: block; padding: 7px 0; text-decoration: none; font-weight: 500; }
  .mobile-nav[hidden] { display: none; }
  @media (min-width: 981px) { .mobile-nav { display: none; } }

  @media (max-width: 980px) {
    nav.main { display: none; }
    .burger { display: grid; }
    .bar { justify-content: space-between; }
    .wipe-pill .lbl { display: none; }
  }

  /* ---------- Общие блоки ---------- */
  main { padding-block: 34px 70px; display: flex; flex-direction: column; gap: 46px; min-height: 60vh; }
  .eyebrow { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--accent); }
  .section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
  .section-head h2 { font-family: "Russo One", "Golos Text", sans-serif; font-weight: 400; font-size: 24px; letter-spacing: .02em; }
  .section-head a { font-size: 14px; color: var(--muted); text-decoration: none; }
  .section-head a:hover { color: var(--accent); }
  .meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 13px; color: var(--muted); }
  .cat { display: inline-block; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
  .sep { width: 3px; height: 3px; border-radius: 50%; background: var(--faint); }

  .cover { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #1b1c17; }
  .cover svg { display: block; width: 100%; height: 100%; }

  /* Главная: герой */
  .hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 28px; align-items: stretch; }
  .lead { display: grid; grid-template-rows: auto 1fr; gap: 18px; text-decoration: none; }
  .lead h1 { font-size: clamp(28px, 3.6vw, 42px); line-height: 1.08; font-weight: 800; letter-spacing: -.01em; }
  .lead .dek { color: var(--ink-2); font-size: 17px; margin-top: 10px; max-width: 60ch; }
  .lead:hover h1 { color: var(--accent); }
  .side { display: flex; flex-direction: column; gap: 16px; }
  .wipe-card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 20px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 12px; }
  .wipe-card .when { font-size: 14px; color: var(--muted); }
  .countdown { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .countdown div { background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 6px; text-align: center; }
  .countdown b { display: block; font-family: "JetBrains Mono", monospace; font-size: 26px; font-weight: 700; color: var(--accent); line-height: 1.1; }
  .countdown span { font-size: 11.5px; color: var(--muted); }
  .brief { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
  .brief h3 { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
  .brief ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
  .brief li { display: grid; grid-template-columns: auto 1fr; gap: 10px; font-size: 14.5px; line-height: 1.4; }
  .brief li .n { font-family: "JetBrains Mono", monospace; color: var(--accent); font-weight: 700; min-width: 58px; }
  @media (max-width: 900px) { .hero { grid-template-columns: 1fr; } }

  /* Сетка статей */
  .cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 22px; }
  @media (max-width: 900px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 560px) { .cards { grid-template-columns: 1fr; } }
  .card { display: flex; flex-direction: column; gap: 12px; text-decoration: none; }
  .card h3 { font-size: 19px; line-height: 1.25; font-weight: 700; }
  .card p { color: var(--muted); font-size: 14.5px; line-height: 1.5; }
  .card:hover h3 { color: var(--accent); }

  /* Таймлайн */
  .timeline-wrap { overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
  .timeline { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(170px, 1fr); gap: 0; min-width: 100%; position: relative; }
  .tl { scroll-snap-align: start; }
  @media (min-width: 1100px) {
    .timeline-wrap { -webkit-mask-image: none; mask-image: none; overflow: visible; }
    .timeline { grid-auto-columns: minmax(0, 1fr); }
    .tl { padding-right: 12px; }
    .tl .t { font-size: 14.5px; }
    .tl .x { font-size: 12.5px; }
  }
  .tl { position: relative; padding: 26px 16px 0 0; }
  .tl::before { content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 2px; background: var(--line-strong); }
  .tl .pin { position: absolute; left: 0; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--surface); border: 3px solid var(--line-strong); }
  .tl.done .pin { border-color: var(--accent); background: var(--accent-fill); }
  .tl.next .pin { border-color: var(--accent); background: var(--surface); box-shadow: 0 0 0 4px var(--accent-soft); }
  .tl .d { font-family: "JetBrains Mono", monospace; font-size: 12.5px; color: var(--muted); }
  .tl .t { font-weight: 700; margin-top: 4px; line-height: 1.25; }
  .tl .x { font-size: 13px; color: var(--muted); margin-top: 4px; line-height: 1.4; }
  .tl a { text-decoration: none; }
  .tl a:hover .t { color: var(--accent); }

  /* Инструменты */
  .tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  @media (max-width: 1100px) { .tools { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 600px) { .tools { grid-template-columns: 1fr; } }
  .tool { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 10px; text-decoration: none; }
  .tool:hover { border-color: var(--accent); }
  .tool h3 { font-size: 18px; font-weight: 700; }
  .tool p { font-size: 14.5px; color: var(--muted); }
  .tool .go { margin-top: auto; font-size: 14px; font-weight: 600; color: var(--accent); }

  /* Список статей */
  .filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
  .chip { border: 1px solid var(--line-strong); background: var(--surface); border-radius: 99px; padding: 7px 14px; font-size: 14px; cursor: pointer; }
  .chip[aria-pressed="true"] { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--accent-ink); font-weight: 600; }
  .list { display: flex; flex-direction: column; }
  .row { display: grid; grid-template-columns: 240px 1fr; gap: 24px; padding-block: 20px; border-top: 1px solid var(--line); text-decoration: none; align-items: center; }
  .row h3 { font-size: 21px; line-height: 1.22; font-weight: 700; margin-top: 6px; }
  .row p { color: var(--muted); margin-top: 8px; font-size: 15px; max-width: 70ch; }
  .row:hover h3 { color: var(--accent); }
  @media (max-width: 640px) { .row { grid-template-columns: 1fr; gap: 12px; } }

  /* Статья */
  .article { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 48px; align-items: start; }
  @media (max-width: 980px) { .article { grid-template-columns: minmax(0, 1fr); } .toc { display: none; } }
  .crumbs { font-size: 13.5px; color: var(--muted); margin-bottom: 14px; }
  .crumbs a { text-decoration: none; }
  .crumbs a:hover { color: var(--accent); }
  .a-title { font-size: clamp(30px, 4.2vw, 46px); line-height: 1.07; font-weight: 800; letter-spacing: -.015em; max-width: 22ch; }
  .a-dek { font-size: 19px; color: var(--ink-2); margin-top: 14px; max-width: 58ch; }
  .a-meta { margin-top: 16px; }
  .a-cover { margin-block: 26px 8px; }
  .prose { max-width: 68ch; font-size: 17px; line-height: 1.65; }
  .prose > * + * { margin-top: 1.05em; }
  .prose h2 { font-size: 25px; line-height: 1.2; font-weight: 800; margin-top: 1.9em; scroll-margin-top: 90px; }
  .prose h3 { font-size: 19px; font-weight: 700; margin-top: 1.4em; }
  .prose ul, .prose ol { padding-left: 1.2em; }
  .prose li + li { margin-top: .4em; }
  .prose strong { font-weight: 700; }
  .prose a { color: var(--accent); text-underline-offset: 3px; }
  .prose code { font-family: "JetBrains Mono", monospace; font-size: .86em; background: var(--surface-2, rgba(127,127,127,.12)); border: 1px solid var(--line); border-radius: 5px; padding: 1px 5px; }
  .prose pre { background: #15160f; color: #f3ecd2; border-radius: 10px; padding: 14px 16px; overflow-x: auto; border-left: 3px solid var(--accent); }
  .prose pre code { background: none; border: 0; padding: 0; font-size: 14.5px; line-height: 1.6; color: inherit; white-space: pre; }
  .callout { background: var(--accent-soft); border-radius: 12px; padding: 16px 18px; font-size: 16px; line-height: 1.55; }
  .callout b { display: block; margin-bottom: 4px; }
  .note { font-size: 14.5px; color: var(--muted); }
  .t-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
  table { border-collapse: collapse; width: 100%; font-size: 15px; min-width: 440px; }
  th, td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--line); }
  th { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); background: var(--surface-2); font-weight: 600; }
  tr:last-child td { border-bottom: 0; }
  td.num, th.num { text-align: right; font-family: "JetBrains Mono", monospace; font-variant-numeric: tabular-nums; }
  .facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
  .fact { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
  .fact b { display: block; font-family: "JetBrains Mono", monospace; font-size: 24px; color: var(--accent); line-height: 1.15; }
  .fact span { font-size: 13.5px; color: var(--muted); }
  .sources { margin-top: 2.2em; padding-top: 18px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
  .sources h4 { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px; color: var(--muted); }
  .sources ol { padding-left: 1.2em; margin: 0; }
  .sources a { color: var(--ink-2); word-break: break-word; }
  .toc { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 90px); border-left: 2px solid var(--line); padding-left: 16px; display: flex; flex-direction: column; gap: 8px; }
  .toc h4 { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
  .toc a { font-size: 14px; text-decoration: none; color: var(--muted); line-height: 1.35; }
  .toc a:hover { color: var(--accent); }
  .more { margin-top: 10px; }

  /* Панели инструментов */
  .panel { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 22px; box-shadow: var(--shadow); }
  .panel h2 { font-size: 22px; font-weight: 800; }
  .panel .lede { color: var(--muted); margin-top: 6px; max-width: 64ch; }
  .pl-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
  @media (max-width: 620px) { .pl-form { grid-template-columns: 1fr; } }
  .pl-msg { min-height: 20px; font-size: 13px; color: var(--muted); margin-top: 8px; }
  .pl-list { display: grid; gap: 10px; }
  .pl { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center;
    background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--line); border-radius: 12px; padding: 12px 14px; }
  .pl.on { border-left-color: var(--ok); } .pl.rust { border-left-color: var(--accent); } .pl.away { border-left-color: var(--warn); }
  .pl-av { border-radius: 10px; background: var(--surface-2); }
  .pl-main h3 { margin: 0 0 2px; font-size: 16px; }
  .pl-st { font-size: 14px; }
  .pl-srv { font-size: 13px; color: var(--ink-2); }
  .pl-acts { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
  @media (max-width: 620px) { .pl { grid-template-columns: 48px minmax(0, 1fr); } .pl-av { width: 48px; height: 48px; } .pl-acts { grid-column: 1/-1; justify-content: flex-start; } }
  .xh-presets { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
  .xh-controls { display: grid; gap: 12px; }
  .xh-row { display: grid; gap: 6px; }
  .xh-row > label { font-size: 13px; color: var(--ink-2); }
  .xh-row input[type=range] { width: 100%; max-width: 260px; vertical-align: middle; }
  .xh-row b.mono { margin-left: 8px; }
  .xh-styles { display: flex; gap: 6px; flex-wrap: wrap; }
  .xh-cols { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
  .xh-c { width: 26px; height: 26px; border-radius: 7px; border: 2px solid var(--line); cursor: pointer; }
  .xh-c[aria-pressed="true"] { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }
  .xh-chk { font-size: 13px; display: inline-flex; gap: 6px; align-items: center; }
  .xh-view { position: relative; height: 300px; border-radius: 12px; border: 1px solid var(--line); overflow: hidden; display: grid; place-items: center; }
  .xh-view[data-bg="field"] { background: linear-gradient(#7d9bb0 0 42%, #6f7f52 42%, #55643f 100%); }
  .xh-view[data-bg="night"] { background: linear-gradient(#10141d 0 45%, #1c2417 45%, #131a12 100%); }
  .xh-view[data-bg="dust"] { background: linear-gradient(#cbb98d 0 40%, #b8a273 40%, #93805a 100%); }
  .xh-view::after { content: ""; position: absolute; left: 12%; bottom: 14%; width: 46px; height: 96px; border-radius: 10px 10px 4px 4px; background: rgba(28, 26, 20, .55); }
  .xh-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
  .xh-m { position: relative; height: 92px; border-radius: 10px; border: 1px solid var(--line); display: grid; place-items: center; background: linear-gradient(#7d9bb0 0 45%, #6f7f52 45%); }
  .xh-m.dark { background: linear-gradient(#10141d 0 45%, #1c2417 45%); }
  .xh-m span { position: absolute; top: 4px; left: 6px; font-size: 11px; color: rgba(255,255,255,.85); }
  .xh-m svg, .xh-hud svg { display: block; pointer-events: none; }
  .xh-m i { font-style: normal; font-size: 12px; color: rgba(255,255,255,.8); }
  .xh-acts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
  .xh-steps { margin: 6px 0 10px 18px; display: grid; gap: 6px; font-size: 14px; }
  .tool-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; margin-top: 18px; align-items: start; }
  @media (max-width: 820px) { .tool-grid { grid-template-columns: 1fr; } }
  .field { display: flex; flex-direction: column; gap: 6px; }
  .field label { font-size: 13px; color: var(--muted); }
  .field input[type=number] { background: var(--surface-2); border: 1px solid var(--line-strong); border-radius: 10px; padding: 10px 12px; font-size: 18px; width: 100%; font-family: "JetBrains Mono", monospace; }
  .field input[type=range] { width: 100%; accent-color: var(--accent-fill); }
  .result { background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 6px; }
  .result .big { font-family: "JetBrains Mono", monospace; font-size: 40px; font-weight: 700; color: var(--accent); line-height: 1.05; }
  .result .sub { color: var(--muted); font-size: 14px; }
  .meter { height: 10px; border-radius: 99px; background: var(--bg); border: 1px solid var(--line); overflow: hidden; margin-top: 6px; }
  .meter i { display: block; height: 100%; background: var(--accent-fill); width: 0; transition: width .2s; }
  .stack { display: flex; flex-direction: column; gap: 22px; }

  footer.site-foot { border-top: 1px solid var(--line); padding-block: 32px 40px; color: var(--muted); font-size: 13.5px; }
  .foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 26px; }
  @media (max-width: 980px) and (min-width: 761px) { .foot-grid { grid-template-columns: 1fr 1fr; } }
  .foot-grid h4 { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 8px; }
  .foot-grid a { display: block; text-decoration: none; padding: 3px 0; }
  .foot-grid a:hover { color: var(--accent); }
  @media (max-width: 760px) { .foot-grid { grid-template-columns: 1fr; } }

  /* ---------- Серверы ---------- */
  .subnav { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 1px solid var(--line); }
  .subnav a { padding: 10px 14px; text-decoration: none; font-weight: 600; font-size: 14.5px; color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
  .subnav a.on { color: var(--ink); border-color: var(--accent-fill); }
  @media (max-width: 640px) { .subnav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; } .subnav::-webkit-scrollbar { display: none; } .subnav a { white-space: nowrap; flex: none; } }
  .srv-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .srv-stat { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; }
  .srv-stat b { display: block; font-family: "JetBrains Mono", monospace; font-size: 22px; color: var(--accent); line-height: 1.2; }
  .srv-stat span { font-size: 12.5px; color: var(--muted); }
  @media (max-width: 760px) { .srv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .demo-note { border: 1px dashed var(--warn); color: var(--ink-2); background: var(--surface); border-radius: 12px; padding: 12px 14px; font-size: 14px; }
  .demo-note b { color: var(--warn); }
  .srv-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
  .srv-filters { display: grid; grid-template-columns: minmax(200px, 2fr) repeat(5, minmax(0, 1fr)) minmax(0, 1.1fr); gap: 8px; align-items: end; }
  .srv-filters label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); min-width: 0; }
  .srv-filters select, .srv-filters input { font: inherit; font-size: 14px; color: var(--ink); background: var(--surface); border: 1px solid var(--line-strong); border-radius: 9px; padding: 8px 10px; min-height: 38px; width: 100%; }
  @media (max-width: 1100px) { .srv-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } .srv-filters .f-q { grid-column: 1 / -1; } }
  @media (max-width: 520px) { .srv-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .srv-meta { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px; font-size: 13.5px; color: var(--muted); }
  .srv-list { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--surface); }
  .srv-head, .srv-row { display: grid; grid-template-columns: minmax(0, 1fr) 130px 140px 150px 290px; gap: 14px; align-items: center; padding: 12px 16px; }
  .srv-head { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-weight: 600; background: var(--surface-2); border-bottom: 1px solid var(--line); }
  .srv-head button { all: unset; cursor: pointer; }
  .srv-head button:hover, .srv-head button[aria-pressed="true"] { color: var(--accent); }
  .srv { border-bottom: 1px solid var(--line); }
  .srv:last-child { border-bottom: 0; }
  .srv:hover { background: var(--surface-2); }
  .srv-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .fav { all: unset; cursor: pointer; font-size: 17px; line-height: 1; color: var(--muted); padding: 2px 4px; border-radius: 6px; flex: none; }
  .fav[aria-pressed="true"] { color: #f2b705; }
  .fav:hover, .fav:focus-visible { color: #f2b705; outline: 1px solid var(--line); }
  .srv-hist { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
  .srv-hist figure { margin: 0; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px 8px; }
  .srv-hist figcaption { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; display: flex; justify-content: space-between; gap: 8px; }
  .srv-hist svg { display: block; width: 100%; height: 90px; margin-top: 6px; }
  .srv-hist .hl { fill: none; stroke: var(--accent, #d4a017); stroke-width: 2; vector-effect: non-scaling-stroke; }
  .srv-hist .ha { fill: var(--accent, #d4a017); opacity: .14; }
  .srv-hist .hq { fill: none; stroke: #e0603a; stroke-width: 1.5; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
  .srv-hist .hw { stroke: var(--ok, #3f9b4a); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
  .sp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 6px 0 14px; }
  .sp-stat { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); padding: 12px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  .sp-stat span { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
  .sp-stat b { font-size: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .sp-stat small { color: var(--muted); font-size: 12.5px; }
  .sp-acts { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; }
  .sp-sec { margin-top: 22px; }
  .sp-sec h2 { font-size: 20px; margin: 0 0 8px; }
  .sp-more { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
  .sp-more a { display: flex; justify-content: space-between; gap: 8px; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; text-decoration: none; color: inherit; min-width: 0; }
  .sp-more a:hover { border-color: var(--accent); }
  .sp-more small { color: var(--muted); white-space: nowrap; }
  .faq-search input { width: 100%; max-width: 520px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); color: inherit; font: inherit; }
  .faq-group { margin-top: 18px; }
  .prj-row { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 13px; margin: 10px 0 4px; }
  .prj-row a { color: inherit; }
  .crumbs { font-size: 13px; color: var(--muted); }
  .crumbs a { color: inherit; }
  .hist-facts { list-style: none; margin: 8px 0 4px; padding: 0; display: grid; gap: 4px; font-size: 13px; }
  .srv-hist .hg { stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; }
  .my-srv { display: grid; gap: 8px; }
  .my-srv .ms { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 10px 14px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; }
  .my-srv .ms b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
  .my-srv .ms b.nm { display: block; }
  .my-srv .ms small { color: var(--muted); display: block; font-size: 12.5px; }
  .wd-list { display: grid; gap: 8px; counter-reset: wd; }
  .wd-list .ms { grid-template-columns: 26px minmax(0,1fr) auto auto; }
  .wd-n { font-family: "JetBrains Mono", monospace; color: var(--muted); }
  @media (max-width: 640px) { .my-srv .ms, .wd-list .ms { grid-template-columns: auto minmax(0,1fr); } .my-srv .ms .acts { grid-column: 1 / -1; } .my-srv .ms .on { text-align: left; grid-column: 1 / -1; } }
  /* ---------- скины ---------- */
  .sk-deal { font-size: 11px; font-weight: 700; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; color: var(--accent-ink); background: var(--accent-fill); border-radius: 6px; padding: 2px 6px; margin-left: auto; }
  .sk-deal-line small { color: var(--ok); font-weight: 600; }
  .mk-box { width: 100%; min-width: 0; margin-top: 8px; }
  .mk-box:empty { display: none; }
  .mk-table { width: 100%; font-size: 13px; }
  .mk-table tr.best td { background: var(--accent-soft); }
  /* компактный список площадок внутри карточки скина */
  .mk-mini { border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
  .mk-mini a, .mk-mini div.r { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2px 8px;
    align-items: baseline; padding: 6px 8px; font-size: 12px; text-decoration: none; color: inherit; }
  .mk-mini > * + * { border-top: 1px solid var(--line); }
  .mk-mini a:hover { background: var(--accent-soft); }
  .mk-mini .m { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mk-mini .p { font-weight: 700; white-space: nowrap; }
  .mk-mini .d { grid-column: 2; font-size: 11px; white-space: nowrap; }
  .mk-mini .best { background: var(--accent-soft); }
  .mk-note { font-size: 11px; color: var(--muted); margin-top: 6px; line-height: 1.35; }
  .sk-chk { display: flex; gap: 6px; align-items: center; font-size: 13px; }
  .sk-meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--muted); margin: 10px 0; }
  .sk-pager { margin-top: 14px; display: flex; justify-content: center; }
  .sk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 12px; }
  .sk-card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); padding: 10px; text-decoration: none; color: inherit; min-width: 0; }
  .sk-card:hover { border-color: var(--accent); }
  .sk-img { aspect-ratio: 1; border-radius: 9px; background: radial-gradient(circle at 50% 40%, #3b3a33, #1e1e1a); display: grid; place-items: center; overflow: hidden; position: relative; }
  .sk-img img { width: 88%; height: 88%; object-fit: contain; }
  .sk-img .glow { position: absolute; top: 6px; left: 6px; font-size: 10.5px; background: rgba(0,0,0,.55); color: #ffd966; border-radius: 5px; padding: 1px 6px; }
  .sk-name { font-weight: 700; font-size: 14px; margin-top: 8px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 2.5em; }
  .sk-type { font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sk-price { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; margin-top: 6px; }
  .sk-price b { font-size: 16px; white-space: nowrap; }
  .sk-price { flex-wrap: wrap; }
  .sk-price small { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .sk-price small { font-size: 11.5px; color: var(--muted); }
  .sk-up { color: var(--ok, #3f9b4a); font-weight: 700; font-size: 12px; }
  .sk-down { color: var(--warn, #c0392b); font-weight: 700; font-size: 12px; }
  .sk-acts { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
  .sk-acts .btn { flex: 1 1 0; min-width: 0; justify-content: center; padding: 5px 4px; font-size: 12px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sk-filters { display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 10px; margin: 14px 0; }
  .sk-filters label { display: grid; gap: 4px; font-size: 12px; color: var(--muted); }
  .sk-filters input, .sk-filters select { font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); min-width: 0; }
  @media (max-width: 900px) { .sk-filters { grid-template-columns: 1fr 1fr; } .sk-filters .f-q { grid-column: 1 / -1; } }
  .now-rust { display: grid; grid-template-columns: minmax(180px, 260px) 1fr; gap: 18px; align-items: center; padding: 16px 18px; border-radius: 14px; border: 1px solid var(--line, rgba(255,255,255,.1)); }
  .now-rust .big { font-size: 34px; font-weight: 800; line-height: 1.05; }
  .now-rust .big small { display: block; font-size: 13px; font-weight: 500; opacity: .75; margin-top: 4px; }
  .now-rust ol { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
  .now-rust li span { opacity: .7; font-size: 13px; }
  .tw-banner { display: flex; gap: 16px; align-items: center; padding: 14px 16px; border-radius: 14px; background: linear-gradient(90deg, rgba(145,70,255,.22), rgba(145,70,255,.05)); border: 1px solid rgba(145,70,255,.45); color: inherit; text-decoration: none; }
  .tw-banner img { width: 120px; height: 68px; object-fit: cover; border-radius: 8px; flex: 0 0 auto; }
  .tw-banner b { display: block; font-size: 16px; }
  .tw-banner small { opacity: .8; }
  .soon-t { font-variant-numeric: tabular-nums; font-weight: 700; }
  @media (max-width: 640px) { .now-rust { grid-template-columns: 1fr; } .tw-banner img { width: 84px; height: 48px; } }
  .it-top { margin: 18px 0 12px; } .it-top input, .it-qty input, .rc-grid select { width: 100%; font: inherit; padding: 9px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface-2); color: var(--ink); }
  .it-grp { margin-top: 22px; } .it-grp h2 { font-size: 20px; font-weight: 800; margin-bottom: 10px; }
  .it-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; }
  .it-card { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); text-decoration: none; }
  .it-card:hover { border-color: var(--accent); } .it-card > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  .it-cico { width: 40px; height: 40px; flex: none; object-fit: contain; }
  .it-a { display: inline-flex; align-items: center; gap: 6px; } .it-ico { width: 24px; height: 24px; object-fit: contain; flex: none; }
  .it-head { display: flex; gap: 18px; align-items: center; } .it-big { flex: none; width: 104px; height: 104px; border-radius: 14px; background: var(--surface-2); border: 1px solid var(--line); display: grid; place-items: center; }
  .it-ico32 { width: 32px; height: 32px; } .it-ico16 { width: 18px; height: 18px; } .it-res { margin-right: 8px; white-space: nowrap; }
  .sp-more a .it-ico { vertical-align: -6px; margin-right: 6px; }
  .chip img.it-ico + .dot { display: none; } .chip.it-a { display: inline-flex; }
  .dev-list { display: grid; gap: 10px; }
  .dev-row { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; }
  .dev-meta, .dev-foot { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12.5px; color: var(--muted); }
  .dev-meta span:first-child { color: var(--accent); font-weight: 600; } .dev-foot { margin-top: 6px; } .dev-foot .mono { color: var(--faint); }
  .dev-txt { display: flex; gap: 10px; align-items: flex-start; margin-top: 4px; font-size: 15.5px; } .dev-ico { display: flex; gap: 4px; flex: none; } .dev-ico a:empty { display: none; } .dev-ico:not(:has(img)) { display: none; }
  .it-big:empty { display: none; } .it-big img { width: 88px; height: 88px; object-fit: contain; } .it-card small { color: var(--faint); font-size: 12.5px; }
  .it-dim { color: var(--muted); }
  .it-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-top: 16px; }
  .it-facts > div { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; display: flex; flex-direction: column; }
  .it-facts span { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; } .it-facts b { font-size: 15.5px; }
  .it-raw { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
  .it-rawi { display: flex; gap: 10px; align-items: baseline; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); }
  .it-rawi b { color: var(--accent); min-width: 44px; }
  .it-qty { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-top: 16px; } .it-qty label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--muted); } .it-qty input[type=number] { width: 130px; }
  .it-qty label.sk-type { flex-direction: row; align-items: center; } .it-qty input[type=checkbox] { width: auto; }
  .it-h3 { font-size: 16px; font-weight: 700; margin: 16px 0 8px; }
  .it-tree, .it-tree ul { list-style: none; padding-left: 18px; margin: 6px 0; border-left: 1px dashed var(--line-strong); } .it-tree { padding-left: 10px; } .it-tree li { margin: 4px 0; font-size: 14.5px; }
  .it-det summary { cursor: pointer; color: var(--accent); font-weight: 600; }
  .it-links { line-height: 1.9; margin-top: 8px; }
  .rc-grid { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 24px; } @media (max-width: 820px) { .rc-grid { grid-template-columns: 1fr; } }
  .rc-grid > * { min-width: 0; } .rc-grid select { max-width: 100%; min-width: 0; }
  .rc-grid .field { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--muted); }
  .rc-cv { width: 100%; max-width: 360px; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); display: block; }
  .bd-grid { display: grid; gap: 10px; }
  .bd-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
  .bd-row input, .bd-row select, .inv-form input { padding: 8px 10px; border-radius: 8px; border: 1px solid var(--line, rgba(255,255,255,.2)); background: transparent; color: inherit; font: inherit; }
  .bd-row input[data-bdk], .bd-row input[data-bdc$=":0"], .bd-row input[data-bds="0"] { width: 110px; font-family: ui-monospace, monospace; }
  .bd-row span { display: flex; flex-direction: column; } .bd-row small { opacity: .7; }
  .bd-out { white-space: pre-wrap; font-family: ui-monospace, monospace; padding: 12px; border-radius: 10px; background: rgba(0,0,0,.25); min-height: 48px; }
  .inv-form { display: flex; gap: 10px; margin: 14px 0; flex-wrap: wrap; } .inv-form input { flex: 1; min-width: 240px; }
  .inv-sum { display: flex; gap: 14px; flex-wrap: wrap; margin: 6px 0 14px; }
  .inv-sum div { padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line, rgba(255,255,255,.12)); } .inv-sum small { display: block; opacity: .7; } .inv-sum b { font-size: 22px; }
  .inv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
  .inv-it { display: flex; flex-direction: column; gap: 4px; padding: 10px; border-radius: 12px; border: 1px solid var(--line, rgba(255,255,255,.1)); min-width: 0; }
  .inv-it img { width: 100%; aspect-ratio: 1; object-fit: contain; } .inv-it b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .inv-it small { opacity: .75; }
  .skr { position: relative; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
  .skr::-webkit-scrollbar { display: none; }
  .skr-track { display: flex; gap: 12px; width: max-content; padding: 4px 0 8px; }
  .skr-item { flex: 0 0 150px; width: 150px; min-width: 0; box-sizing: border-box; display: flex; flex-direction: column; gap: 4px; padding: 10px; border-radius: 12px; background: var(--card, rgba(255,255,255,.04)); border: 1px solid var(--line, rgba(255,255,255,.08)); color: inherit; text-decoration: none; transition: transform .2s, border-color .2s; }
  .skr-item:hover, .skr-item:focus-visible { transform: translateY(-2px); border-color: var(--accent, #e3c643); }
  .skr-item img { width: 100%; aspect-ratio: 1; object-fit: contain; }
  .skr-item b { display: block; max-width: 100%; font-size: 13px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .skr-item small { opacity: .75; font-size: 12px; }
  .skr-item .glow { font-size: 11px; color: var(--accent, #e3c643); }
  .skr-all { flex: 0 0 150px; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 12px; border: 1px dashed var(--line, rgba(255,255,255,.2)); font-weight: 600; }
  .sk-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(168px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; }
  .sk-row > * { scroll-snap-align: start; }
  .set-card { display: block; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); padding: 12px; text-decoration: none; color: inherit; min-width: 0; }
  .set-card:hover { border-color: var(--accent); }
  .set-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; border-radius: 10px; overflow: hidden; background: radial-gradient(circle at 50% 40%, #3b3a33, #1e1e1a); padding: 6px; }
  .set-col img { width: 100%; aspect-ratio: 1; object-fit: contain; }
  .set-card h3 { margin: 10px 0 2px; font-size: 17px; }
  .set-card .meta2 { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--muted); }
  .set-card .meta2 b { color: var(--ink); font-size: 15px; }
  .set-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
  .set-sum { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 16px 0; }
  .set-sum div { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; background: var(--surface); }
  .set-sum b { display: block; font-size: 22px; }
  .set-sum span { font-size: 12.5px; color: var(--muted); }
  .set-items { display: grid; gap: 8px; }
  .set-item { display: grid; grid-template-columns: 64px minmax(0,1fr) auto auto; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; background: var(--surface); }
  .set-item img { width: 64px; height: 64px; object-fit: contain; border-radius: 8px; background: radial-gradient(circle at 50% 40%, #3b3a33, #1e1e1a); }
  .set-item .nm { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .set-item .pr { text-align: right; white-space: nowrap; }
  .set-item .pr small { display: block; color: var(--muted); font-size: 12px; }
  @media (max-width: 600px) { .set-item { grid-template-columns: 52px minmax(0,1fr) auto; } .set-item img { width: 52px; height: 52px; } .set-item .buy { grid-column: 1 / -1; } }
  .sk-chart { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; background: var(--surface); margin: 14px 0; }
  .sk-chart svg { width: 100%; height: 140px; display: block; }
  .sk-chart .hl { fill: none; stroke: var(--accent, #d4a017); stroke-width: 2; vector-effect: non-scaling-stroke; }
  .sk-chart .ha { fill: var(--accent, #d4a017); opacity: .14; }
  /* ---------- главная: только что вайпнулись ---------- */
  .hot { background: #1b1a14; color: #f3ecd2; border-radius: 16px; padding: 18px 18px 14px; position: relative; overflow: hidden; --muted: #a9a58f; --line: #34332a; }
  .hot::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: repeating-linear-gradient(-45deg, #e3c643 0 14px, #1b1a14 14px 28px); }
  .hot-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
  .hot-head h2 { margin: 0; font-size: 22px; color: #fff; }
  .hot-head .sub { font-size: 13px; color: var(--muted); }
  .hot-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 12px 0; }
  .hot-tabs button { all: unset; cursor: pointer; font-size: 13px; padding: 5px 11px; border-radius: 999px; border: 1px solid #45443a; color: #e8e2c9; }
  .hot-tabs button[aria-pressed="true"] { background: #e3c643; color: #1b1a10; border-color: #e3c643; font-weight: 700; }
  .hot-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; }
  .hot-row { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; background: #24231c; }
  .hot-row .n { font-family: "JetBrains Mono", monospace; color: #e3c643; font-weight: 700; }
  .hot-row b.nm { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; font-size: 14.5px; }
  .hot-row small { display: block; color: var(--muted); font-size: 12.5px; }
  .hot-row small .on { color: #9fd79a; font-weight: 700; }
  .hot-row .acts { display: flex; gap: 6px; }
  .hot-row .acts a { font-size: 12.5px; padding: 5px 9px; border-radius: 7px; border: 1px solid #45443a; color: #f3ecd2; text-decoration: none; white-space: nowrap; }
  .hot-row .acts a.play { background: #e3c643; color: #1b1a10; border-color: #e3c643; font-weight: 700; }
  .hot-foot { display: flex; gap: 14px; flex-wrap: wrap; justify-content: space-between; margin-top: 12px; font-size: 13.5px; }
  .hot-foot a { color: #e3c643; }
  .hot-more { display: none; }
  @media (max-width: 760px) {
    .hot-list { grid-template-columns: 1fr; }
    .hot-row.extra { display: none; }
    .hot.more .hot-row.extra { display: grid; }
    .hot-more { display: block; width: 100%; text-align: center; margin-top: 8px; }
    .hot.more .hot-more { display: none; }
  }
  /* ---------- обратная связь ---------- */
  .fb-back { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 200; display: grid; place-items: center; padding: 16px; }
  .fb-box { background: var(--surface); color: var(--ink); border-radius: 16px; padding: 20px; width: min(520px, 100%); max-height: 92vh; overflow: auto; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
  .fb-box h3 { margin: 0 0 6px; font-size: 20px; }
  .fb-box label { display: grid; gap: 5px; font-size: 13px; color: var(--muted); margin-top: 12px; }
  .fb-box select, .fb-box textarea, .fb-box input { font: inherit; font-size: 15px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--bg, #fff); color: var(--ink); }
  .fb-box textarea { min-height: 120px; resize: vertical; }
  .fb-box label[hidden], .fb-box [hidden] { display: none !important; }
  .fb-box .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
  .fb-acts { display: flex; gap: 8px; justify-content: flex-end; margin-top: 14px; }
  .fb-msg { margin-top: 10px; font-size: 14px; }
  /* ---------- скины недели и дропы ---------- */
  .tw-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 18px; align-items: center; border: 1px solid var(--line); border-radius: 16px; padding: 16px; background: var(--surface); }
  .tw-hero img { width: 100%; border-radius: 12px; display: block; }
  .tw-hero h2 { margin: 6px 0; font-size: 26px; }
  .tw-status { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: var(--accent-soft); color: var(--accent-ink); }
  .tw-status.live { background: #c0392b; color: #fff; }
  @media (max-width: 760px) { .tw-hero { grid-template-columns: 1fr; } }
  .drop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
  .drop { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--surface); }
  .drop img.pic { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; background: #1e1e1a; }
  .drop .body { padding: 8px 10px 10px; }
  .drop .nm { font-weight: 700; font-size: 14px; }
  .drop .hr { font-size: 12.5px; color: var(--muted); }
  .drop .who { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
  .drop .who a { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; text-decoration: none; }
  .drop .who img { width: 20px; height: 20px; border-radius: 50%; }
  .steps { counter-reset: st; display: grid; gap: 10px; padding: 0; list-style: none; }
  .steps li { counter-increment: st; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; }
  .steps li::before { content: counter(st); display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--accent-fill); color: #1b1a10; font-weight: 800; }
  .wk { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); margin-bottom: 10px; }
  .wk summary { cursor: pointer; padding: 12px 14px; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
  .wk summary b { font-size: 15px; }
  .wk .sk-grid { padding: 0 12px 12px; }
  /* ---------- тиммейты ---------- */
  .lfg-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin: 14px 0; }
  .lfg-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
  .lfg { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); padding: 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
  .lfg.mine { border-color: var(--accent); }
  .lfg-kind { display: inline-block; font-size: 12px; font-weight: 800; padding: 3px 9px; border-radius: 999px; }
  .lfg-kind.seek { background: #dcebfa; color: #16466f; }
  .lfg-kind.recruit { background: #e3f2dc; color: #25551e; }
  .lfg-tags { display: flex; flex-wrap: wrap; gap: 5px; }
  .lfg-tags span { font-size: 12px; border: 1px solid var(--line); border-radius: 999px; padding: 2px 8px; color: var(--ink-2); }
  .lfg-srv { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lfg-text { font-size: 14.5px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
  .lfg-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: auto; }
  .lfg-contacts { display: flex; gap: 6px; flex-wrap: wrap; }
  .lfg-meta { font-size: 12px; color: var(--muted); }
  .lfg-rep { all: unset; cursor: pointer; font-size: 12px; color: var(--muted); text-decoration: underline; }
  .lfg-form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .lfg-form .chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .lfg-form .chips label { all: unset; cursor: pointer; font-size: 13.5px; border: 1px solid var(--line); border-radius: 999px; padding: 5px 11px; color: var(--ink); }
  .lfg-form .chips input { position: absolute; opacity: 0; pointer-events: none; }
  .lfg-form .chips label:has(input:checked) { background: var(--accent-fill); border-color: var(--accent-fill); color: #1b1a10; font-weight: 700; }
  .lfg-sug { border: 1px solid var(--line); border-radius: 9px; margin-top: 4px; max-height: 220px; overflow: auto; background: var(--surface); }
  .lfg-sug button { all: unset; display: block; width: 100%; box-sizing: border-box; cursor: pointer; padding: 7px 10px; font-size: 13.5px; border-bottom: 1px solid var(--line); }
  .lfg-sug button:hover { background: var(--surface-2); }
  @media (max-width: 520px) { .lfg-form .row2 { grid-template-columns: 1fr; } .lfg-list { grid-template-columns: 1fr; } }
  .srv-title { all: unset; cursor: pointer; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
  .srv-title:hover { color: var(--accent); }
  .srv-title:focus-visible { outline: 2px solid var(--accent-fill); outline-offset: 2px; }
  .reg { flex: none; font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 700; padding: 3px 6px; border-radius: 6px; background: var(--surface-2); border: 1px solid var(--line-strong); color: var(--ink-2); min-width: 34px; text-align: center; }
  .srv-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
  .stag { font-size: 12px; line-height: 1; padding: 4px 7px; border-radius: 6px; background: var(--surface-2); color: var(--ink-2); border: 1px solid var(--line); white-space: nowrap; }
  .stag.o { background: var(--accent-soft); border-color: transparent; color: var(--accent); font-weight: 600; }
  .stag.m { color: var(--warn); }
  .stag.hot { background: var(--accent-fill); color: var(--accent-ink); border-color: transparent; font-weight: 600; }
  .pop { font-family: "JetBrains Mono", monospace; font-size: 14px; }
  .pop b { font-size: 16px; }
  .pop .qq { color: var(--warn); margin-left: 4px; }
  .pbar { height: 5px; border-radius: 9px; background: var(--surface-2); border: 1px solid var(--line); margin-top: 6px; overflow: hidden; }
  .pbar i { display: block; height: 100%; background: var(--accent-fill); }
  .when { font-size: 14px; }
  .when small { display: block; color: var(--muted); font-size: 12px; }
  .lbl { display: none; font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
  .srv-act { display: flex; gap: 6px; justify-content: flex-end; }
  .btn.sm { padding: 7px 11px; font-size: 13px; border-radius: 8px; white-space: nowrap; }
  .srv-wrap { display: flex; flex-direction: column; gap: 16px; }
  .srv-more { padding: 0 16px 14px; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px 18px; font-size: 13.5px; }
  .srv-more div span { display: block; font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
  .stag.ping.p1 { color: var(--ok); } .stag.ping.p2 { color: var(--accent); } .stag.ping.p3 { color: var(--warn); }
  .srv-more .muted { color: var(--muted); font-size: 12.5px; }
  .srv-more code { font-family: "JetBrains Mono", monospace; font-size: 13px; word-break: break-all; }
  .srv-empty { padding: 40px 16px; text-align: center; color: var(--muted); }
  .pager { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; }
  .pager button[disabled] { opacity: .4; cursor: default; }
  .toast-srv { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: var(--ink); color: var(--bg); padding: 10px 16px; border-radius: 10px; font-size: 14px; z-index: 60; box-shadow: var(--shadow); }
  @media (max-width: 900px) {
    .srv-head { display: none; }
    .srv-row { grid-template-columns: 1fr 1fr; gap: 10px 14px; }
    .srv-row > .srv-main, .srv-row > .srv-act { grid-column: 1 / -1; }
    .srv-act { justify-content: flex-start; flex-wrap: wrap; }
    .lbl { display: block; }
  }

  /* ---------- Генетика растений ---------- */
  .gx { display: flex; flex-direction: column; gap: 22px; }
  .gx-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  @media (max-width: 700px) { .gx-mode { grid-template-columns: 1fr; } }
  .gx-opt { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--line-strong); border-radius: 12px; padding: 12px 14px; background: var(--surface); cursor: pointer; }
  .gx-opt input { margin-top: 3px; accent-color: var(--accent-fill); flex: none; }
  .gx-opt b { display: block; font-size: 14.5px; }
  .gx-opt span { font-size: 13px; color: var(--muted); }
  .gx-opt:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
  .gx-plants { display: flex; flex-wrap: wrap; gap: 6px; }
  .gx-plants .chip { display: inline-flex; align-items: center; gap: 7px; }
  .gx-plants .dot { width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgba(0,0,0,.25); flex: none; }
  .gene { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: 14px; border: 1px solid transparent; flex: none; }
  .gene.G, .gene.Y, .gene.H { background: color-mix(in srgb, var(--ok) 18%, var(--surface)); color: var(--ok); border-color: color-mix(in srgb, var(--ok) 35%, transparent); }
  .gene.W, .gene.X { background: color-mix(in srgb, var(--warn) 15%, var(--surface)); color: var(--warn); border-color: color-mix(in srgb, var(--warn) 35%, transparent); }
  .gene.q { background: var(--surface-2); color: var(--faint); border-color: var(--line); }
  .gene.sm { width: 20px; height: 20px; font-size: 12px; border-radius: 5px; }
  .genes { display: inline-flex; gap: 3px; }
  .gx-add { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; margin-top: 16px; align-items: start; }
  @media (max-width: 820px) { .gx-add { grid-template-columns: 1fr; } }
  .slotbtns { display: flex; gap: 6px; flex-wrap: wrap; }
  .slotbtns button { all: unset; cursor: pointer; }
  .slotbtns .gene { width: 40px; height: 40px; font-size: 18px; border-radius: 10px; }
  .slotbtns button:focus-visible .gene { outline: 2px solid var(--accent-fill); outline-offset: 2px; }
  .gx input[type=text], .gx textarea, .gx select { font: inherit; color: var(--ink); background: var(--surface-2); border: 1px solid var(--line-strong); border-radius: 10px; padding: 9px 11px; width: 100%; min-width: 0; }
  .gx input.mono, .gx textarea { font-family: "JetBrains Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
  .gx textarea { min-height: 96px; resize: vertical; }
  .gx .row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
  .gx .row > input { flex: 1 1 140px; }
  .gx .msg { font-size: 13.5px; color: var(--muted); min-height: 1.2em; }
  .gx .msg.bad { color: var(--warn); }
  .stash { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-top: 14px; }
  .stash-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 9px 12px; border-bottom: 1px solid var(--line); background: var(--surface); }
  .stash-item:last-child { border-bottom: 0; }
  .stash-item .rate { font-size: 12.5px; color: var(--muted); }
  .stash-item .rate b { color: var(--ink); }
  .stash-item .acts { display: flex; gap: 5px; }
  .mini { all: unset; cursor: pointer; font-size: 12.5px; padding: 5px 8px; border-radius: 7px; border: 1px solid var(--line-strong); background: var(--surface-2); white-space: nowrap; }
  .mini:hover { border-color: var(--accent); }
  .mini:focus-visible { outline: 2px solid var(--accent-fill); }
  .badge { font-size: 11.5px; font-weight: 700; padding: 3px 7px; border-radius: 6px; white-space: nowrap; }
  .badge.god { background: var(--accent-fill); color: var(--accent-ink); }
  .badge.good { background: color-mix(in srgb, var(--ok) 18%, var(--surface)); color: var(--ok); }
  .badge.bad { background: color-mix(in srgb, var(--warn) 15%, var(--surface)); color: var(--warn); }
  .stash-empty { padding: 18px 14px; color: var(--muted); font-size: 14px; background: var(--surface); }
  .bed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-width: 460px; }
  .cell { border: 1px dashed var(--line-strong); border-radius: 12px; padding: 8px; background: var(--surface); display: flex; flex-direction: column; gap: 6px; min-width: 0; }
  .cell.center { border: 2px solid var(--accent-fill); background: var(--accent-soft); }
  .cell.filled { border-style: solid; }
  .cell label { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; display: flex; justify-content: space-between; gap: 4px; }
  .gx .cell input[type=text] { padding: 6px 6px; font-size: 13px; letter-spacing: 0; text-align: center; }
  @media (max-width: 420px) { .gx .cell input[type=text] { font-size: 12px; padding: 6px 3px; } }
  @media (max-width: 560px) {
    .stash-item { grid-template-columns: minmax(0, 1fr) auto; }
    .stash-item > .genes { grid-column: 1; grid-row: 1; }
    .stash-item > .acts { grid-column: 2; grid-row: 1; }
    .stash-item > div:not(.acts) { grid-column: 1 / -1; grid-row: 2; }
    .gene { width: 24px; height: 24px; font-size: 13px; }
    .stash-item .gene { width: 20px; height: 22px; font-size: 11.5px; border-radius: 5px; }
    .stash-item .genes { gap: 2px; }
  }
  .cell .clr { all: unset; cursor: pointer; color: var(--faint); font-size: 13px; line-height: 1; }
  .cell .clr:hover { color: var(--warn); }
  .gx-manual { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: 22px; margin-top: 16px; align-items: start; }
  @media (max-width: 900px) { .gx-manual { grid-template-columns: 1fr; } }
  .slots { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 0; }
  .slots th { text-align: left; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-weight: 600; padding: 6px 8px; border-bottom: 1px solid var(--line); }
  .slots td { padding: 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
  .slots tr:last-child td { border-bottom: 0; }
  .slots .why { font-size: 12.5px; color: var(--muted); margin-top: 4px; }
  .wts { display: flex; flex-wrap: wrap; gap: 4px 8px; font-family: "JetBrains Mono", monospace; font-size: 12.5px; }
  .wts span.top { font-weight: 700; color: var(--ink); }
  .outs { display: flex; flex-direction: column; gap: 6px; }
  .out { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
  .out .p { font-family: "JetBrains Mono", monospace; font-weight: 700; min-width: 48px; }
  .out .obar { flex: 1 1 80px; height: 6px; border-radius: 9px; background: var(--surface-2); border: 1px solid var(--line); overflow: hidden; min-width: 60px; }
  .out .obar i { display: block; height: 100%; background: var(--accent-fill); }
  .gx-target { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
  .plans { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin-top: 14px; }
  .plan { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); padding: 14px; display: flex; flex-direction: column; gap: 10px; }
  .plan.best { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset; }
  .plan .head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
  .plan .chance { font-family: "JetBrains Mono", monospace; font-size: 24px; font-weight: 700; color: var(--accent); }
  .plan .bed { gap: 5px; }
  .plan .cell { padding: 6px; gap: 4px; align-items: center; min-height: 48px; justify-content: center; }
  .plan .cell .genes { display: grid; grid-template-columns: repeat(3, auto); gap: 1px; justify-content: center; }
  .plan .cell .gene.sm { width: 15px; height: 17px; font-size: 10.5px; border-radius: 4px; }
  .plan .cell.empty { border-style: dashed; opacity: .5; }
  .plan .cell small { font-size: 10.5px; color: var(--muted); text-align: center; }
  .tips { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 14px; }
  .tip { border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: var(--surface); font-size: 14.5px; }
  .tip b { display: block; margin-bottom: 4px; }
  .gx [hidden] { display: none !important; }
  .scan { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
  .scan-btn { background: color-mix(in srgb, var(--ok) 16%, var(--surface)); border-color: color-mix(in srgb, var(--ok) 45%, transparent); color: var(--ok); }
  .scan-btn:hover { border-color: var(--ok); }
  .scan-box { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
  #scanPreview { max-width: 100%; height: auto; max-height: 120px; align-self: flex-start; border-radius: 8px; border: 1px solid var(--line-strong); image-rendering: auto; }
  .scan-box .row > input { max-width: 160px; }
  .scan-auto { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--muted); }
  .scan-auto input { accent-color: var(--accent-fill); }
  .scan-log { font-size: 13px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
  .scan-help summary { cursor: pointer; font-size: 13.5px; font-weight: 600; }
  .scan-help ol { margin: 8px 0 0 18px; padding: 0; font-size: 14px; display: flex; flex-direction: column; gap: 4px; }
  .scan-help p { font-size: 13px; color: var(--muted); margin-top: 6px; }
  .legend { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 13.5px; color: var(--ink-2); margin-top: 12px; }
  .legend > span { display: inline-flex; align-items: center; gap: 7px; }

  /* ---------- Новости разработчиков ---------- */
  .news { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
  @media (max-width: 560px) { .news { grid-template-columns: 1fr; } }
  .news-item { display: flex; flex-direction: column; gap: 6px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; text-decoration: none; }
  .news-item:hover { border-color: var(--accent); }
  .news-item.top { border-color: var(--accent-fill); box-shadow: 0 0 0 1px var(--accent-fill) inset; }
  .news-d { font-size: 12.5px; color: var(--muted); display: flex; align-items: center; gap: 6px; }
  .news-new { font-family: "Golos Text", sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; background: var(--accent-fill); color: var(--accent-ink); padding: 2px 6px; border-radius: 5px; }
  .news-t { font-weight: 800; font-size: 17px; line-height: 1.25; }
  .news-s { font-size: 13.5px; color: var(--muted); line-height: 1.45; }
  .news-go { margin-top: auto; padding-top: 4px; font-size: 13px; font-weight: 600; color: var(--accent); }

  /* =================== Дизайн v2: «промзона» =================== */
  :root {
    --disp: "Oswald", "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;
    --hz-a: #e3c643; --hz-b: #1b1a14;
    --hazard: repeating-linear-gradient(-45deg, var(--hz-a) 0 10px, var(--hz-b) 10px 20px);
    --panel: #15160f; --panel-2: #1f2017; --panel-line: #33342a; --panel-ink: #efe9d6; --panel-muted: #a6a18d;
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  body { background-color: var(--bg); background-image: var(--grain); }

  /* шапка: полоса «опасная зона» вместо линии */
  .site-head { border-bottom: 0; }
  .site-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 4px; background: var(--hazard); opacity: .9; }
  .nav-link, .nav-btn { position: relative; border-radius: 6px; }
  .nav-link.active::after, .nav-btn.active::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 3px; height: 2px; background: var(--accent-fill); border-radius: 2px; }
  .brand .mark { border-radius: 6px; box-shadow: inset 0 -3px 0 rgba(0,0,0,.18); }
  .wipe-pill { border-radius: 6px; background: var(--surface); }

  /* типографика заголовков */
  .section-head h2, .a-title, .lead h1, .card h3, .row h3, .tool h3, .panel h2, .mega-intro h3, .news-t, .brief h3, .tl .t {
    font-family: var(--disp); letter-spacing: 0;
  }
  .section-head { margin-bottom: 20px; }
  .section-head h2 { font-weight: 600; font-size: 26px; text-transform: uppercase; letter-spacing: .03em; display: inline-flex; align-items: center; gap: 12px; }
  .section-head h2::before { content: ""; width: 12px; height: 12px; background: var(--accent-fill); transform: rotate(45deg); flex: none; box-shadow: 0 0 0 3px var(--accent-soft); }
  .a-title { font-weight: 700; font-size: clamp(34px, 4.6vw, 54px); line-height: 1.02; text-transform: none; }
  .card h3 { font-weight: 600; font-size: 21px; line-height: 1.18; }
  .row h3 { font-weight: 600; font-size: 23px; }
  .tool h3, .panel h2 { font-weight: 600; font-size: 22px; }
  .news-t { font-weight: 600; font-size: 19px; }
  .brief h3 { font-weight: 600; font-size: 14px; letter-spacing: .12em; }
  .tl .t { font-weight: 600; font-size: 16px; }
  .eyebrow, .cat { letter-spacing: .14em; }

  /* обложки: живая реакция на наведение */
  .cover { border-radius: 10px; position: relative; isolation: isolate; }
  .cover svg { transition: transform .45s cubic-bezier(.2,.7,.2,1); }
  .card:hover .cover svg, .row:hover .cover svg, .lead:hover .cover svg { transform: scale(1.035); }
  .cover-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .card .cover { box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 14px 26px -18px rgba(20,18,8,.55); }
  .card { gap: 14px; }

  /* главная статья: заголовок поверх обложки на широком экране */
  @media (min-width: 901px) {
    .lead { position: relative; display: block; border-radius: 12px; overflow: hidden; box-shadow: 0 30px 50px -34px rgba(12,11,6,.8); }
    .lead .cover { aspect-ratio: 16 / 10.5; border-radius: 0; }
    .lead > div { position: absolute; left: 0; right: 0; bottom: 0; padding: 90px 30px 28px; background: linear-gradient(180deg, rgba(10,10,7,0) 0%, rgba(10,10,7,.78) 42%, rgba(10,10,7,.94) 100%); color: #f3eedf; }
    .lead h1 { color: #fbf6e6; font-weight: 700; font-size: clamp(28px, 2.9vw, 40px); line-height: 1.05; }
    .lead:hover h1 { color: var(--hz-a); }
    .lead .dek { color: rgba(243,238,223,.82); font-size: 16.5px; }
    .lead .meta { color: rgba(243,238,223,.7); }
    .lead .cat { color: var(--hz-a); }
    .lead .sep { background: rgba(243,238,223,.5); }
  }

  /* таймер вайпа: приборная панель */
  .wipe-card { background: var(--panel); border-color: var(--panel-line); color: var(--panel-ink); position: relative; overflow: hidden; padding-top: 26px; }
  .wipe-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--hazard); }
  .wipe-card .eyebrow { color: var(--hz-a); }
  .wipe-card .when { color: var(--panel-muted); }
  .wipe-card .countdown div { background: var(--panel-2); border-color: var(--panel-line); }
  .wipe-card .countdown b { color: var(--hz-a); font-size: 30px; text-shadow: 0 0 18px rgba(227,198,67,.35); }
  .wipe-card .countdown span { color: var(--panel-muted); }
  .wipe-card .btn { background: transparent; color: var(--panel-ink); border-color: var(--panel-line); }
  .wipe-card .btn:hover { border-color: var(--hz-a); color: var(--hz-a); }

  /* кнопки и плашки — строже */
  .btn { border-radius: 8px; }
  .btn.primary { box-shadow: inset 0 -2px 0 rgba(0,0,0,.18); }
  .btn.primary:hover { filter: brightness(1.05); border-color: var(--accent-fill); }
  .tool, .brief, .panel, .news-item { border-radius: 12px; }
  .tool { transition: transform .2s, border-color .2s, box-shadow .2s; }
  .tool:hover, .news-item:hover { transform: translateY(-2px); box-shadow: 0 16px 28px -22px rgba(20,18,8,.6); }
  .news-item { transition: transform .2s, border-color .2s, box-shadow .2s; }
  .glyph { border-radius: 8px; }

  /* подвал */
  footer.site-foot { position: relative; border-top: 0; background: var(--surface-2); margin-top: 20px; }
  footer.site-foot::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--hazard); opacity: .85; }

  @media (prefers-reduced-motion: reduce) {
    .cover svg, .tool, .news-item { transition: none; }
    .card:hover .cover svg, .row:hover .cover svg, .lead:hover .cover svg, .tool:hover, .news-item:hover { transform: none; }
  }

  /* ---------- Счётчик «сейчас на сайте» (в духе окна сервера Rust) ---------- */
  .live-on { position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 40; display: flex; align-items: center; gap: 10px;
    background: rgba(18,18,14,.9); color: #e9e4d2; border: 1px solid #3a3a30; border-radius: 6px; padding: 7px 12px 7px 10px;
    font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: .06em; text-transform: uppercase;
    box-shadow: 0 10px 24px -12px rgba(0,0,0,.6); backdrop-filter: blur(6px); }
  .live-on .dot { width: 8px; height: 8px; border-radius: 50%; background: #7fce5b; box-shadow: 0 0 0 0 rgba(127,206,91,.6); animation: livePulse 2s infinite; flex: none; }
  .live-on b { color: #e3c643; font-size: 14px; font-weight: 700; letter-spacing: 0; font-variant-numeric: tabular-nums; }
  .live-on .lbl2 { color: #a6a18d; }
  @keyframes livePulse { 0% { box-shadow: 0 0 0 0 rgba(127,206,91,.55); } 70% { box-shadow: 0 0 0 7px rgba(127,206,91,0); } 100% { box-shadow: 0 0 0 0 rgba(127,206,91,0); } }
  @media (max-width: 560px) { .live-on { left: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); padding: 6px 10px; } .live-on .lbl2 { display: none; } }
  @media (prefers-reduced-motion: reduce) { .live-on .dot { animation: none; } }

  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

  /* ===== Telegram-бот ===== */
  .bot-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 32px; align-items: center; background: var(--panel); color: var(--panel-ink); border: 1px solid var(--panel-line); border-radius: 14px; padding: 38px 34px 32px; position: relative; overflow: hidden; }
  .bot-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--hazard); }
  .bot-hero .eyebrow { color: var(--hz-a); }
  .bot-hero h1 { font-family: "Oswald", sans-serif; font-weight: 700; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.02; margin: 10px 0 14px; color: #fbf6e6; letter-spacing: .005em; }
  .bot-hero h1 em { font-style: normal; color: var(--hz-a); }
  .bot-hero .dek { color: var(--panel-muted); font-size: 17px; line-height: 1.55; max-width: 34em; }
  .bot-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
  .bot-hero .btn:not(.primary) { background: transparent; color: var(--panel-ink); border-color: var(--panel-line); }
  .bot-hero .btn:not(.primary):hover { border-color: var(--hz-a); color: var(--hz-a); }
  .bot-points { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; font-size: 13.5px; color: var(--panel-muted); }
  .bot-points span::before { content: "■"; color: var(--hz-a); margin-right: 7px; font-size: 9px; vertical-align: 2px; }
  .phone { justify-self: center; width: min(100%, 340px); background: #0e1621; border: 1px solid #2b3945; border-radius: 26px; padding: 12px 12px 14px; box-shadow: 0 34px 60px -30px rgba(0,0,0,.95); }
  .phone-top { display: flex; align-items: center; gap: 10px; padding: 4px 6px 12px; border-bottom: 1px solid #1f2c38; margin-bottom: 12px; }
  .phone-ava { width: 36px; height: 36px; border-radius: 50%; background: var(--hz-a); display: grid; place-items: center; flex: none; }
  .phone-ava svg { width: 22px; height: 22px; }
  .phone-name { font: 600 14px/1.25 "Golos Text", system-ui, sans-serif; color: #e9eef2; }
  .phone-name small { display: block; font-weight: 400; color: #7c8b98; font-size: 12px; }
  .msg { background: #182533; color: #dfe7ee; border-radius: 14px 14px 14px 4px; padding: 9px 11px 8px; font: 13.5px/1.45 "Golos Text", system-ui, sans-serif; margin-bottom: 4px; max-width: 94%; }
  .msg b { color: #fff; font-weight: 600; }
  .msg .mono { font-family: "JetBrains Mono", monospace; font-size: 12.5px; color: #8fc6ff; }
  .msg-me { margin: 0 0 10px auto; background: #2b5278; border-radius: 14px 14px 4px 14px; width: fit-content; color: #fff; }
  .msg-kb { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 0 0 12px; max-width: 94%; }
  .msg-kb span { background: rgba(33, 50, 68, .9); color: #e9eef2; border-radius: 8px; text-align: center; font: 600 12.5px/1 "Golos Text", system-ui, sans-serif; padding: 9px 4px; }
  .msg-map { height: 96px; border-radius: 9px; margin: 2px 0 8px; position: relative; overflow: hidden;
    background: radial-gradient(ellipse 34% 30% at 33% 36%, #e9e6da 0 60%, transparent 62%), radial-gradient(ellipse 30% 26% at 64% 62%, #cdbb85 0 60%, transparent 62%), radial-gradient(ellipse 58% 48% at 48% 50%, #6f9152 0 70%, transparent 72%), #2f5f80; }
  .msg-map i { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: #d9432f; box-shadow: 0 0 0 2px #fff; }
  .bot-features { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
  .bot-feature { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
  .bot-feature h3 { font-family: "Oswald", sans-serif; font-weight: 600; font-size: 20px; line-height: 1.15; }
  .bot-feature p { color: var(--muted); font-size: 14.5px; line-height: 1.5; }
  .bot-feature code, .bot-cmds code, .bot-step code { font-family: "JetBrains Mono", monospace; font-size: 12.5px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 5px; padding: 1px 5px; color: var(--ink); white-space: nowrap; }
  .bot-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; counter-reset: st; }
  .bot-step { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 20px 18px 18px; }
  .bot-step::before { counter-increment: st; content: counter(st); font-family: "Russo One", sans-serif; font-size: 36px; color: var(--accent); line-height: 1; display: block; margin-bottom: 12px; }
  .bot-step h3 { font-family: "Oswald", sans-serif; font-weight: 600; font-size: 19px; margin-bottom: 6px; }
  .bot-step p { color: var(--muted); font-size: 14.5px; line-height: 1.55; }
  .bot-step .btn { margin-top: 12px; }
  .bot-cmds { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 0 26px; }
  .bot-cmds div { display: flex; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: 14.5px; }
  .bot-cmds span { color: var(--muted); }
  .bot-faq details { border-bottom: 1px solid var(--line); padding: 15px 0; }
  .bot-faq summary { cursor: pointer; font-weight: 600; font-size: 16px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
  .bot-faq summary::-webkit-details-marker { display: none; }
  .bot-faq summary::after { content: "+"; color: var(--accent); font-weight: 700; }
  .bot-faq details[open] summary::after { content: "–"; }
  .bot-faq p { color: var(--muted); margin-top: 8px; line-height: 1.6; font-size: 15px; max-width: 60em; }
  .bot-promo { display: flex; align-items: center; gap: 16px; background: var(--panel); color: var(--panel-ink); border: 1px solid var(--panel-line); border-radius: 12px; padding: 18px 20px 18px 26px; position: relative; overflow: hidden; }
  .bot-promo::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--hazard); }
  .bot-promo .glyph { background: var(--hz-a); border-color: var(--hz-a); }
  .bot-promo .txt { display: flex; flex-direction: column; gap: 3px; }
  .bot-promo b { font-family: "Oswald", sans-serif; font-weight: 600; font-size: 20px; color: #fbf6e6; }
  .bot-promo .d { color: var(--panel-muted); font-size: 14.5px; line-height: 1.45; }
  .bot-promo .acts { margin-left: auto; display: flex; gap: 8px; flex: none; }
  .bot-promo .btn:not(.primary) { background: transparent; color: var(--panel-ink); border-color: var(--panel-line); }
  @media (max-width: 860px) {
    .bot-hero { grid-template-columns: 1fr; padding: 30px 18px 22px; }
    .bot-steps { grid-template-columns: 1fr; }
    .bot-promo { flex-wrap: wrap; }
    .bot-promo .acts { margin-left: 0; width: 100%; }
  }
  html.tg .bot-promo, html.tg .bot-cta, html.tg .nav-bot { display: none !important; }

  /* =================== Дизайн v3: «серный» =================== */
  :root {
    --bg: #f4f2eb; --surface: #fcfbf7; --surface-2: #f1efe7; --line: #e0ddd2; --line-strong: #cbc7ba;
    --ink: #1a1813; --ink-2: #3b372d; --muted: #6e685a; --faint: #9c9687;
    --accent: #a0610a; --accent-ink: #1a1204; --accent-fill: #f2b233; --accent-soft: #fbe7bd;
    --acc2: #ff7a1a; --red: #d8402f; --warn: #b8431c; --ok: #3d7a34;
    --header: rgba(252, 251, 247, .9);
    --shadow: 0 1px 0 rgba(0,0,0,.03), 0 18px 40px -26px rgba(40, 30, 10, .35);
    --glow: 0 0 0 1px rgba(242,178,51,.35), 0 18px 40px -22px rgba(242,140,30,.45);
    --r1: #9aa0a6; --r2: #56b04f; --r3: #3f86ff; --r4: #a45cf0;
    --disp: "Golos Text", system-ui, sans-serif;
    --hz-a: #f2b233; --hz-b: #16140f;
    --panel: #17150f; --panel-2: #211e16; --panel-line: #342f24; --panel-ink: #f3ecdb; --panel-muted: #aaa18b;
  }
  @media all {
    :root:not([data-theme="light"]) {
      --bg: #0d0c0a; --surface: #181611; --surface-2: #201d17; --line: #2a261f; --line-strong: #3a352b;
      --ink: #f2ecdd; --ink-2: #d7cfbd; --muted: #a59d89; --faint: #6d6656;
      --accent: #f5b73b; --accent-fill: #f2b233; --accent-soft: #3a2a0c; --warn: #ff6b4a; --ok: #80cf6c;
      --header: rgba(13, 12, 10, .86);
      --shadow: 0 1px 0 rgba(255,255,255,.02), 0 24px 48px -28px rgba(0, 0, 0, .95);
    }
  }
  :root[data-theme="dark"] {
    --bg: #0d0c0a; --surface: #181611; --surface-2: #201d17; --line: #2a261f; --line-strong: #3a352b;
    --ink: #f2ecdd; --ink-2: #d7cfbd; --muted: #a59d89; --faint: #6d6656;
    --accent: #f5b73b; --accent-fill: #f2b233; --accent-soft: #3a2a0c; --warn: #ff6b4a; --ok: #80cf6c;
    --header: rgba(13, 12, 10, .86);
    --shadow: 0 1px 0 rgba(255,255,255,.02), 0 24px 48px -28px rgba(0, 0, 0, .95);
  }
  body { background-image: radial-gradient(900px 420px at 85% -120px, rgba(242,150,40,.10), transparent 70%), radial-gradient(700px 360px at -10% 0, rgba(242,178,51,.06), transparent 70%); background-repeat: no-repeat; }
  /* шапка */
  .site-head::after { height: 1px; bottom: -1px; background: linear-gradient(90deg, transparent, rgba(242,178,51,.55) 30%, rgba(255,122,26,.55) 70%, transparent); opacity: 1; }
  .brand .mark { border-radius: 10px; background: linear-gradient(135deg, #f7c14a, #ff8a1f); box-shadow: 0 0 18px rgba(242,160,40,.45), inset 0 -2px 0 rgba(0,0,0,.18); }
  .brand .word { font-family: var(--disp); font-weight: 900; letter-spacing: .08em; }
  .nav-btn, .nav-link { font-size: 15px; font-weight: 600; color: var(--ink-2); padding: 9px 12px; border-radius: 9px; }
  .nav-btn:hover, .nav-link:hover, .nav-btn[aria-expanded="true"] { background: var(--surface-2); color: var(--ink); }
  .nav-link.active, .nav-btn.active { color: var(--accent); }
  .nav-link.active::after, .nav-btn.active::after { left: 12px; right: 12px; bottom: 2px; background: linear-gradient(90deg, var(--accent-fill), var(--acc2)); }
  .wipe-pill { border-radius: 10px; border-color: rgba(242,178,51,.45); background: transparent; font-weight: 600; }
  .wipe-pill .dot { box-shadow: 0 0 8px var(--accent-fill); }
  .hsearch { position: relative; display: flex; align-items: center; gap: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 0 10px; height: 38px; width: 230px; color: var(--muted); }
  .hsearch:focus-within { border-color: var(--accent-fill); box-shadow: 0 0 0 3px var(--accent-soft); }
  .hsearch svg { width: 16px; height: 16px; flex: none; }
  .hsearch input { border: 0; background: transparent; outline: 0; width: 100%; font-size: 14px; color: var(--ink); min-width: 0; }
  .hs-box { position: absolute; top: calc(100% + 6px); left: 0; width: min(380px, 92vw); background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); padding: 6px; z-index: 80; }
  .hs-box a { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 9px; text-decoration: none; }
  .hs-box a:hover { background: var(--surface-2); }
  .hs-box a span { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; } .hs-box small { color: var(--muted); font-size: 12px; }
  .hs-box .hs-all { color: var(--accent); font-weight: 600; font-size: 13.5px; justify-content: center; }
  .hs-none { padding: 10px; color: var(--muted); font-size: 13.5px; }
  @media (max-width: 1240px) { .head-right > .hsearch { display: none; } }
  .hs-m { width: 100%; height: 42px; margin-bottom: 4px; }
  .mn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px 18px; }
  .mega-inner { grid-template-columns: 300px 1fr 1fr; }
  .glyph.gi { background: #0f0e0b; border-color: var(--line-strong); }
  .glyph.gi img { width: 32px; height: 32px; object-fit: contain; }
  .mega-link:hover .glyph { border-color: var(--accent-fill); }
  /* заголовки */
  .section-head h2, .a-title, .lead h1, .card h3, .row h3, .tool h3, .panel h2, .mega-intro h3, .news-t, .brief h3, .tl .t { font-family: var(--disp); }
  .section-head h2 { text-transform: none; font-weight: 850; font-size: 25px; letter-spacing: -.01em; gap: 10px; }
  .section-head h2::before { display: none; }
  .sh-ic { width: 32px; height: 32px; border-radius: 9px; background: var(--accent-soft); display: inline-grid; place-items: center; font-size: 16px; flex: none; }
  .section-head a { color: var(--accent); font-weight: 600; }
  .a-title { font-weight: 850; letter-spacing: -.015em; }
  .card h3, .row h3, .tool h3, .panel h2, .news-t { font-weight: 750; }
  .eyebrow { color: var(--accent); }
  /* карточки и кнопки */
  .panel, .tool, .brief, .news-item, .bot-feature, .bot-step { background: linear-gradient(180deg, var(--surface-2), var(--surface)); border-color: var(--line); border-radius: 14px; }
  .tool:hover, .news-item:hover { border-color: var(--accent-fill); box-shadow: var(--glow); }
  .btn { border-radius: 10px; }
  .btn.primary { background: linear-gradient(135deg, #f7c14a, #ff8a1f); border-color: transparent; color: #1a1204; box-shadow: 0 8px 22px -12px rgba(255,138,31,.8); }
  .chip[aria-pressed="true"] { background: linear-gradient(135deg, #f7c14a, #ff9a2a); border-color: transparent; }
  /* главная: первый экран */
  .hero2 { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 32px; align-items: start; }
  .kick { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); background: var(--accent-soft); border: 1px solid rgba(242,178,51,.35); padding: 6px 12px; border-radius: 99px; text-decoration: none; }
  .kick .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent-fill); box-shadow: 0 0 8px var(--accent-fill); }
  .h2-title { font-family: var(--disp); font-weight: 900; font-size: clamp(38px, 5.2vw, 62px); line-height: 1.02; letter-spacing: -.02em; margin: 18px 0 14px; }
  .h2-title em { font-style: normal; background: linear-gradient(90deg, #f5b73b, #ff7a1a); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .h2-lead { color: var(--muted); font-size: 17.5px; max-width: 560px; }
  .h2-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 26px; }
  .h2-tile { display: flex; align-items: center; gap: 12px; background: linear-gradient(180deg, var(--surface-2), var(--surface)); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; text-decoration: none; transition: transform .2s, border-color .2s, box-shadow .2s; }
  .h2-tile:hover { transform: translateY(-2px); border-color: var(--accent-fill); box-shadow: var(--glow); }
  .h2-tile small { display: block; color: var(--muted); font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; } .h2-tile b { font-size: 16px; line-height: 1.2; }
  .ic { width: 52px; height: 52px; border-radius: 12px; background: #0f0e0b; border: 1px solid var(--line-strong); display: grid; place-items: center; flex: none; }
  .ic img { width: 44px; height: 44px; object-fit: contain; }
  .ic.r2, .it-big.r2 { box-shadow: inset 0 0 0 1px rgba(86,176,79,.6), 0 0 18px -6px rgba(86,176,79,.7); }
  .ic.r3, .it-big.r3 { box-shadow: inset 0 0 0 1px rgba(63,134,255,.6), 0 0 18px -6px rgba(63,134,255,.75); }
  .ic.r4, .it-big.r4 { box-shadow: inset 0 0 0 1px rgba(164,92,240,.65), 0 0 20px -6px rgba(164,92,240,.8); }
  .hero2 .side { gap: 12px; }
  .wipe-card { background: linear-gradient(160deg, #2b1d0a, var(--panel) 58%); border: 1px solid rgba(242,178,51,.35); border-radius: 18px; box-shadow: 0 24px 50px -28px rgba(242,160,40,.5); padding-top: 20px; }
  .wipe-card::before { display: none; }
  .wipe-card .countdown div { border-radius: 12px; background: #0f0e0b; }
  .wipe-card .countdown b { font-size: 32px; color: #fff3d6; text-shadow: 0 0 20px rgba(242,178,51,.35); }
  .rp-card { display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 16px; text-decoration: none; background: linear-gradient(90deg, #2b1a0c, var(--panel)); border: 1px solid #4b3217; color: var(--panel-ink); transition: border-color .2s; }
  .rp-card:hover { border-color: var(--accent-fill); } .rp-card small { display: block; color: var(--panel-muted); font-size: 13px; } .rp-card .ic { width: 46px; height: 46px; }
  .brief { background: var(--surface); }
  @media (max-width: 900px) { .hero2 { grid-template-columns: 1fr; } .h2-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 560px) { .h2-tile { padding: 10px; gap: 10px; } .h2-tile .ic { width: 42px; height: 42px; } .h2-tile .ic img { width: 36px; height: 36px; } .h2-tile b { font-size: 14.5px; } .h2-tile small { font-size: 10.5px; } }
  /* новости с обложками */
  .nwrap { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 14px; }
  .ncol { display: grid; gap: 14px; }
  .ncard { position: relative; display: block; border-radius: 18px; overflow: hidden; border: 1px solid var(--line); min-height: 190px; text-decoration: none; color: #f6efdf; isolation: isolate; }
  .ncard.big { min-height: 400px; }
  .ncard .cover { position: absolute; inset: 0; aspect-ratio: auto; height: 100%; border-radius: 0; }
  .ncard .cover svg, .ncard .cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
  .ncard:hover .cover svg, .ncard:hover .cover img { transform: scale(1.04); }
  .ncard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,8,6,.97) 14%, rgba(9,8,6,.72) 46%, rgba(9,8,6,.05) 82%); z-index: 1; }
  .ntx { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 20px; z-index: 2; display: flex; flex-direction: column; gap: 6px; }
  .ntag { align-self: flex-start; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: var(--red); color: #fff; padding: 3px 8px; border-radius: 6px; }
  .nt { font-family: var(--disp); font-weight: 800; font-size: 19px; line-height: 1.18; } .ncard.big .nt { font-size: clamp(24px, 2.6vw, 32px); }
  .nd { color: #e2d8c3; font-size: 15px; line-height: 1.45; } .ncard:not(.big) .nd { font-size: 14px; }
  .nmeta { color: #b3a993; font-size: 12.5px; }
  .my-srv a.nm { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .news-s { display: block; overflow: visible; }
  .ncard { display: flex; flex-direction: column; justify-content: flex-end; }
  .ntx { position: relative; }
  .hot { background: linear-gradient(180deg, #1c1911, #15130e); border: 1px solid #2f2a20; border-radius: 18px; }
  .hot::before { height: 2px; background: linear-gradient(90deg, transparent, #f2b233, #ff7a1a, transparent); }
  .hot-tabs button[aria-pressed="true"] { background: linear-gradient(135deg, #f7c14a, #ff9a2a); border-color: transparent; }
  .hot-row { background: #211d15; border: 1px solid #2c271e; }
  .hot-row .acts a.play { background: linear-gradient(135deg, #f7c14a, #ff8a1f); border-color: transparent; color: #1a1204; }
  .ncard:hover .nt { color: #ffd27a; }
  @media (max-width: 900px) { .nwrap { grid-template-columns: 1fr; } .ncard.big { min-height: 320px; } }
  .cover-news:has(.cover-ph)::after { content: "Изображение: Facepunch"; position: absolute; right: 8px; top: 8px; z-index: 3; font: 600 10.5px/1 "Golos Text", sans-serif; color: rgba(255,255,255,.8); background: rgba(0,0,0,.55); padding: 4px 7px; border-radius: 5px; }
  .ncard .cover-news::after { display: none; }
  .cover-news { position: relative; } .cover-news .cover-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 2; }
  .news-item { padding: 0 0 14px; overflow: hidden; } .news-item > :not(.news-img) { margin-inline: 16px; }
  .news-item .news-d { margin-top: 14px; } .news-img + .news-d { margin-top: 10px; }
  .news-img { display: block; aspect-ratio: 16/9; overflow: hidden; background: #0f0e0b; } .news-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
  .news-item:hover .news-img img { transform: scale(1.04); }
  footer.site-foot::before { height: 1px; background: linear-gradient(90deg, transparent, rgba(242,178,51,.5), transparent); }
  @media (prefers-reduced-motion: reduce) { .h2-tile, .ncard .cover svg, .ncard .cover img, .news-img img { transition: none; } }
  /* карточка предмета v2 */
  .i2-hero { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 28px; align-items: center; padding: 26px; border-radius: 22px; background: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--rc) 22%, transparent), transparent 55%), linear-gradient(135deg, #1d1912, #13110c); border: 1px solid #2f2a20; color: #f3eedf; }
  .i2-frame { position: relative; aspect-ratio: 1; border-radius: 20px; display: grid; place-items: center; background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--rc) 38%, #2a241a), #15120d 72%); box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--rc) 75%, transparent), 0 0 44px -10px var(--rc); overflow: hidden; }
  .i2-frame::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 2px, transparent 2px 9px); }
  .i2-big { position: relative; width: 78%; height: 78%; display: grid; place-items: center; }
  .i2-big img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 18px rgba(0,0,0,.55)); }
  .i2-rar { position: absolute; left: 0; right: 0; bottom: 0; padding: 7px 0 8px; text-align: center; font: 800 11px/1 "Golos Text", system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: linear-gradient(0deg, color-mix(in srgb, var(--rc) 70%, #000), transparent); }
  .i2-info .eyebrow a { color: #f2b233; text-decoration: none; } .i2-info .eyebrow { color: #b3a993; }
  .i2-info .a-title { margin: 8px 0 4px; color: #fff7e6; }
  .i2-en { color: #a79d86; font-size: 17px; margin: 0; }
  .i2-desc { margin: 14px 0 0; font-size: 16.5px; line-height: 1.55; color: #e7dfcc; max-width: 62ch; }
  .i2-codes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
  .i2-code { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 10px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: #efe6d2; cursor: pointer; font: inherit; font-size: 13px; transition: border-color .15s, background .15s; }
  .i2-code:hover { border-color: #f2b233; background: rgba(242,178,51,.1); }
  .i2-code span { color: #a79d86; font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; }
  .i2-code code { font-size: 13.5px; color: #ffd27a; background: none; padding: 0; }
  .i2-code svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; opacity: .7; }
  .i2-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
  .i2-hero .btn:not(.primary) { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); color: #f3eedf; }
  .i2-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 14px 0 6px; }
  .i2-tile { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 12px 14px 12px 50px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); min-width: 0; }
  .i2-tile .g { position: absolute; left: 12px; top: 13px; width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: var(--accent-fill, #f2b233); color: #1a1204; }
  .i2-tile .g svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .i2-tile .k { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
  .i2-tile b { font-size: 21px; font-family: var(--disp); line-height: 1.15; }
  .i2-tile small { font-size: 12px; color: var(--faint, var(--muted)); overflow-wrap: anywhere; }
  .i2-sh { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
  .i2-more { font-weight: 700; color: var(--accent-ink); text-decoration: none; }
  .i2-qty { display: inline-flex; align-items: stretch; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--surface); }
  .i2-qty button { width: 38px; border: 0; background: none; font-size: 20px; cursor: pointer; color: var(--ink); } .i2-qty button:hover { background: var(--surface-2); }
  .i2-qty input { width: 72px; border: 0; border-inline: 1px solid var(--line); text-align: center; font: 700 16px/1 "JetBrains Mono", ui-monospace, monospace; background: none; color: var(--ink); -moz-appearance: textfield; }
  .i2-qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
  .i2-ings { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px; margin-top: 12px; }
  .i2-ing { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 8px 10px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); text-decoration: none; color: var(--ink); text-align: center; transition: transform .15s, border-color .15s; min-width: 0; }
  .i2-ing:hover { transform: translateY(-2px); border-color: var(--accent-fill, #f2b233); }
  .i2-ico { position: relative; width: 64px; height: 64px; border-radius: 12px; display: grid; place-items: center; background: radial-gradient(circle at 50% 40%, #3a3326, #1b1812); }
  .i2-ico img { width: 48px; height: 48px; object-fit: contain; }
  .i2-ico b { position: absolute; right: -8px; bottom: -6px; font: 800 12.5px/1 "JetBrains Mono", ui-monospace, monospace; background: #f2b233; color: #1a1204; padding: 4px 6px; border-radius: 7px; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
  .i2-ico b:empty { display: none; }
  .i2-nm { font-size: 13px; font-weight: 600; line-height: 1.25; overflow-wrap: break-word; hyphens: auto; }
  .i2-ing small { font-size: 11.5px; color: var(--muted); }
  .i2-arrow { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
  .i2-arrow::before, .i2-arrow::after { content: ""; flex: 1; height: 1px; background: var(--line); }
  .i2-raw .i2-ico { background: radial-gradient(circle at 50% 40%, #33402a, #171a12); }
  .i2-where { display: grid; gap: 8px; margin-top: 12px; }
  .i2-wr { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr) 60px; gap: 12px; align-items: center; padding: 8px 12px; border-radius: 10px; background: var(--surface); border: 1px solid var(--line); text-decoration: none; color: var(--ink); }
  a.i2-wr:hover { border-color: var(--accent-fill, #f2b233); }
  .i2-wr .nm { font-weight: 600; font-size: 14px; overflow-wrap: anywhere; }
  .i2-wr .i2-bar { height: 10px; border-radius: 6px; background: var(--surface-2, rgba(0,0,0,.08)); overflow: hidden; }
  .i2-wr .i2-bar i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, #f7c14a, #ff7a1a); }
  .i2-wr b { text-align: right; font-size: 14px; }
  .i2-tt { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; margin-top: 12px; }
  .i2-tt > * { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); text-decoration: none; color: var(--ink); }
  .i2-tt span { font-size: 12px; color: var(--muted); } .i2-tt b { font-size: 22px; } .i2-tt small { color: var(--muted); font-size: 12px; }
  .i2-skins { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 12px; }
  .i2-sk { display: flex; flex-direction: column; gap: 4px; padding: 10px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); text-decoration: none; color: var(--ink); min-width: 0; transition: transform .15s, border-color .15s; }
  .i2-sk:hover { transform: translateY(-2px); border-color: var(--accent-fill, #f2b233); }
  .i2-sk .im { aspect-ratio: 1; border-radius: 10px; background: radial-gradient(circle at 50% 40%, #2c2a33, #141318); display: grid; place-items: center; overflow: hidden; }
  .i2-sk img { width: 88%; height: 88%; object-fit: contain; }
  .i2-sk .nm { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .i2-sk b { color: var(--accent-ink); }
  .rec-row { display: grid; grid-template-columns: 1fr 90px; gap: 8px; align-items: center; } .rec-row input { font: inherit; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); color: var(--ink); min-width: 0; }
  #recOut .i2-ings { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
  .i2-sim .i2-ing small::first-letter { text-transform: uppercase; }
  @media (max-width: 720px) {
    .i2-hero { grid-template-columns: 1fr; padding: 18px; gap: 16px; text-align: left; }
    .i2-frame { width: 168px; margin: 0 auto; }
    .i2-info .a-title { font-size: clamp(26px, 8vw, 34px); overflow-wrap: break-word; hyphens: auto; }
    .i2-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .i2-tile b { font-size: 18px; }
    .i2-ings { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .i2-ico { width: 56px; height: 56px; } .i2-ico img { width: 42px; height: 42px; }
    .i2-wr { grid-template-columns: minmax(0, 1fr) 58px; } .i2-wr .i2-bar { grid-column: 1 / -1; grid-row: 2; }
    .i2-skins { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  .ttmap { position: relative; overflow: auto; margin-top: 12px; border-radius: 16px; background: radial-gradient(circle at 20% 90%, #2a2215, #121009 70%); border: 1px solid #2f2a20; max-height: 640px; overscroll-behavior: contain; }
  .ttc { position: relative; }
  .ttc svg { position: absolute; inset: 0; }
  .ttc path { fill: none; stroke: #5a4a2c; stroke-width: 2.5; }
  .ttc path.on { stroke: #f7c14a; stroke-width: 3.5; }
  .ttn { position: absolute; transform: translate(-50%, -50%); width: 50px; height: 50px; border-radius: 12px; background: #231d13; border: 1.5px solid #5a4a2c; display: grid; place-items: center; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
  .ttn img { width: 38px; height: 38px; object-fit: contain; }
  .ttn b { position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%); font: 700 10.5px/1 "JetBrains Mono", ui-monospace, monospace; background: #f2b233; color: #1a1204; padding: 2px 4px; border-radius: 5px; white-space: nowrap; }
  .ttn:hover, .ttn.on { border-color: #f7c14a; box-shadow: 0 0 16px -2px rgba(247,193,74,.6); z-index: 2; }
  .ttn:hover { transform: translate(-50%, -50%) scale(1.12); }
  .ttn-start { width: 30px; height: 30px; border-radius: 50%; color: #1a1204; background: #f2b233; font-size: 12px; border: 0; }
  .lt-row, .lt-head { grid-template-columns: minmax(0, 300px) minmax(0, 1fr) 64px 84px; }
  .lt-head { display: grid; gap: 12px; padding: 12px 12px 0; font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
  .lt-row small { text-align: right; color: var(--muted); font-size: 12.5px; }
  .lt-row .nm .it-ico { width: 28px; height: 28px; }
  @media (max-width: 720px) { .lt-head { display: none; } .lt-row { grid-template-columns: minmax(0, 1fr) 58px 70px; } .lt-row .i2-bar { grid-column: 1 / -1; grid-row: 2; } }
  @media (max-width: 720px) { #ltTabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; } #ltTabs .chip { flex: none; } }
  .cover-game { position: relative; }
  .cover-game svg .gl { opacity: 0; } .cover-game.cg-fail svg .gl { opacity: 1; } .cover-game.cg-fail .cg { display: none; }
  .cg { position: absolute; inset: 0; pointer-events: none; }
  .cover .cg img { position: absolute; object-fit: contain; filter: drop-shadow(0 10px 16px rgba(0,0,0,.55)); }
  .cover .cg .cg0 { width: 46%; height: 72%; left: 44%; top: 12%; transform: rotate(-8deg); }
  .cover .cg .cg1 { width: 24%; height: 38%; left: 28%; top: 52%; transform: rotate(10deg); opacity: .95; }
  .cover .cg .cg2 { width: 20%; height: 32%; left: 78%; top: 6%; transform: rotate(14deg); opacity: .9; }
  .cover .cg.n1 .cg0 { width: 52%; height: 80%; left: 38%; top: 10%; }
  a:hover .cover .cg .cg0 { transform: rotate(-4deg) scale(1.04); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
  .glyph.gm { position: relative; } .glyph.gm img { position: absolute; inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px); object-fit: contain; }
  .glyph.gm.gi-ok { background: #0f0e0b; border-color: var(--line-strong); } .glyph.gm.gi-ok > svg { visibility: hidden; }
  /* серверы и скины — карточки в новом стиле */
  .srv-list { gap: 10px; border: 0; background: none; overflow: visible; }
  .srv-head { border: 1px solid var(--line); border-radius: 12px; }
  .srv { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: 0 1px 0 rgba(0,0,0,.03); transition: border-color .15s, box-shadow .2s, transform .15s; position: relative; }
  .srv:last-child { border-bottom: 1px solid var(--line); }
  .srv:hover { background: var(--surface); border-color: color-mix(in srgb, var(--accent-fill, #f2b233) 60%, var(--line)); box-shadow: 0 10px 26px -18px rgba(0,0,0,.45); }
  .srv::before { content: ""; position: absolute; left: -1px; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: linear-gradient(#f7c14a, #ff7a1a); opacity: 0; transition: opacity .15s; }
  .srv:hover::before { opacity: 1; }
  .srv-title { font-family: var(--disp); font-weight: 700; }
  .srv-stat { border-radius: 14px; background: linear-gradient(135deg, #1d1912, #13110c); border-color: #2f2a20; }
  .srv-stat b { color: #ffd27a; } .srv-stat span { color: #b3a993; }
  .sk-card { border-radius: 16px; transition: transform .15s, border-color .15s, box-shadow .2s; }
  .sk-card:hover { transform: translateY(-3px); border-color: var(--accent-fill, #f2b233); box-shadow: 0 14px 30px -20px rgba(0,0,0,.5); }
  .sk-img { border-radius: 12px; background: radial-gradient(circle at 50% 40%, #34302a, #141210 75%); }
  .sk-img img { filter: drop-shadow(0 8px 14px rgba(0,0,0,.5)); transition: transform .3s; }
  .sk-card:hover .sk-img img { transform: scale(1.05); }
  .sk-price b { color: var(--accent-ink); font-family: var(--disp); }
  .set-card { border-radius: 16px; transition: transform .15s, border-color .15s, box-shadow .2s; }
  .set-card:hover { transform: translateY(-3px); border-color: var(--accent-fill, #f2b233); box-shadow: 0 14px 30px -20px rgba(0,0,0,.5); }
  .set-col { border-radius: 12px; background: radial-gradient(circle at 50% 40%, #34302a, #141210 75%); }
  /* кухня */
  .fd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin-top: 12px; }
  .fd-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); min-width: 0; transition: border-color .15s, transform .15s; }
  .fd-card:hover { border-color: var(--accent-fill, #f2b233); transform: translateY(-2px); }
  .fd-top { display: flex; gap: 12px; align-items: center; text-decoration: none; color: var(--ink); }
  .fd-ico { flex: none; width: 58px; height: 58px; border-radius: 12px; display: grid; place-items: center; background: radial-gradient(circle at 50% 40%, #3a3326, #1b1812); }
  .fd-ico img { width: 46px; height: 46px; object-fit: contain; }
  .fd-top b { display: block; font-size: 15.5px; line-height: 1.25; } .fd-top small { color: var(--muted); font-size: 12.5px; }
  .fd-stats { display: flex; flex-wrap: wrap; gap: 6px; }
  .fd-st { display: inline-flex; flex-direction: column; padding: 5px 9px; border-radius: 9px; font: 700 15px/1.1 "JetBrains Mono", ui-monospace, monospace; background: var(--surface-2); }
  .fd-st i { font: 600 10.5px/1.2 "Golos Text", sans-serif; font-style: normal; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
  .fd-st.cal { color: #c0762a; } .fd-st.wat { color: #2f7fc1; } .fd-st.hp { color: #3f9b4a; } .fd-st.bad, .fd-st.neg { color: #c2412d; }
  .fd-buffs { display: flex; flex-direction: column; gap: 6px; }
  .fd-buff { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 8px 11px; border-radius: 10px; background: linear-gradient(90deg, rgba(247,193,74,.18), rgba(255,122,26,.06)); border: 1px solid rgba(242,178,51,.45); }
  .fd-buff b { font-size: 13.5px; } .fd-buff small { font: 700 12px/1 "JetBrains Mono", ui-monospace, monospace; color: var(--accent-ink); white-space: nowrap; }
  .fd-desc { margin: 0; font-size: 13.5px; color: var(--muted); line-height: 1.45; }
  .fd-cook { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; } .fd-cook .ar { color: var(--muted); } .fd-cook a { color: var(--ink); display: inline-flex; gap: 4px; align-items: center; }
  .fd-sp { font-size: 12.5px; color: var(--muted); }
  /* схемы электричества */
  .el-card { display: flex; flex-direction: column; gap: 12px; }
  .el-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; } .el-h h2 { margin: 0; }
  .el-tags { display: flex; gap: 6px; } .el-lvl, .el-pw { font-size: 12px; font-weight: 700; padding: 4px 9px; border-radius: 8px; }
  .el-lvl.l1 { background: rgba(63,155,74,.15); color: #3f9b4a; } .el-lvl.l2 { background: rgba(242,178,51,.2); color: var(--accent-ink); } .el-lvl.l3 { background: rgba(194,65,45,.15); color: #c2412d; }
  .el-pw { background: var(--surface-2); color: var(--muted); }
  .el-map { display: flex; align-items: center; flex-wrap: wrap; gap: 0; padding: 18px; border-radius: 16px; background: radial-gradient(circle at 15% 80%, #2a2215, #121009 70%); border: 1px solid #2f2a20; overflow-x: auto; }
  .el-n { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 104px; text-align: center; text-decoration: none; color: #f3eedf; padding: 4px 0; }
  .el-n .i2-ico { width: 60px; height: 60px; border: 1.5px solid #5a4a2c; background: #231d13; }
  .el-n:hover .i2-ico { border-color: #f7c14a; box-shadow: 0 0 16px -2px rgba(247,193,74,.6); }
  .el-n .nm { font-size: 12px; font-weight: 600; line-height: 1.2; } .el-n small { font-size: 11px; color: #d9b760; line-height: 1.2; }
  .el-w { flex: 0 0 34px; height: 3px; background: linear-gradient(90deg, #f7c14a, #ff7a1a); border-radius: 2px; position: relative; margin-bottom: 30px; box-shadow: 0 0 8px rgba(247,193,74,.5); }
  .el-w::after { content: ""; position: absolute; right: -2px; top: -4px; border: 5.5px solid transparent; border-left-color: #ff7a1a; border-right: 0; }
  .el-par, .el-fork { display: flex; flex-direction: column; gap: 10px; }
  .el-br { display: flex; align-items: center; }
  .el-parts { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; }
  .el-tips { margin: 0; padding-left: 18px; color: var(--muted); font-size: 13.5px; line-height: 1.5; }
  @media (max-width: 600px) { .el-map { padding: 12px; } .el-n { width: 84px; } .el-n .i2-ico { width: 52px; height: 52px; } .el-w { flex-basis: 18px; } }
  .fd-rec { display: flex; flex-direction: column; gap: 6px; font-size: 13px; } .fd-rec .ar { color: var(--muted); }
  .fd-ings { display: flex; flex-wrap: wrap; gap: 6px; }
  .fd-ings a { position: relative; width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; background: radial-gradient(circle at 50% 40%, #3a3326, #1b1812); }
  .fd-ings img { width: 32px; height: 32px; object-fit: contain; }
  .fd-ings b { position: absolute; right: -5px; bottom: -5px; font: 800 11px/1 "JetBrains Mono", ui-monospace, monospace; background: #f2b233; color: #1a1204; padding: 2px 4px; border-radius: 5px; }
  /* коды CCTV */
  .cc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; margin-top: 12px; align-items: start; }
  .cc-card { padding: 14px; border-radius: 16px; background: linear-gradient(135deg, #1d1912, #13110c); border: 1px solid #2f2a20; color: #f3eedf; display: flex; flex-direction: column; gap: 6px; }
  .cc-card h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 16px; color: #fff7e6; } .cc-card h3 span { margin-left: auto; font: 700 12px/1 "JetBrains Mono", ui-monospace, monospace; color: #b3a993; }
  .cc-fav-card { border-color: #f2b233; }
  .cc-row { display: flex; gap: 6px; }
  .cc-code { flex: 1; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: inherit; font: inherit; cursor: pointer; text-align: left; min-width: 0; transition: border-color .15s, background .15s; }
  .cc-code:hover { border-color: #f2b233; background: rgba(242,178,51,.1); }
  .cc-code code { font: 700 14px/1.2 "JetBrains Mono", ui-monospace, monospace; color: #ffd27a; background: none; padding: 0; overflow-wrap: anywhere; } .cc-code code i { font-style: normal; font-weight: 500; color: #b3a993; font-size: 11px; margin-left: 4px; }
  .cc-code small { color: #b3a993; font-size: 12px; text-align: right; }
  .cc-fav { flex: none; width: 36px; border-radius: 10px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); color: #6f6655; cursor: pointer; font-size: 16px; }
  .cc-fav[aria-pressed="true"] { color: #f7c14a; border-color: #f2b233; }
  .wire-wrap { overflow-x: auto; border-radius: 16px; background: radial-gradient(circle at 15% 80%, #2a2215, #121009 70%); border: 1px solid #2f2a20; padding: 6px; }
  .wire { display: block; max-width: 100%; height: auto; min-width: 520px; }
  .wt { fill: #231d13; stroke: #5a4a2c; stroke-width: 1.5; } .wn a:hover .wt { stroke: #f7c14a; }
  .wp { fill: none; stroke: #e8b23a; stroke-width: 3; filter: drop-shadow(0 0 3px rgba(247,193,74,.6)); }
  .ww { fill: none; stroke: #3aa0e8; stroke-width: 5; stroke-linecap: round; opacity: .9; }
  .wire .sp { fill: #f7c14a; stroke: #1a1204; stroke-width: 1.5; } .wire .sw { fill: #3aa0e8; stroke: #0b1a26; stroke-width: 1.5; }
  .wire .st { font: 600 10px "Golos Text", system-ui, sans-serif; fill: #b3a993; } .wire .st.l { text-anchor: end; }
  .wire .wname { font: 700 11.5px "Golos Text", system-ui, sans-serif; fill: #f3eedf; text-anchor: middle; } .wire .wnote { font: 500 10.5px "Golos Text", system-ui, sans-serif; fill: #d9b760; text-anchor: middle; }
  .wire .wl rect { fill: #1a1204; stroke: #f2b233; } .wire .wl text { font: 800 10.5px "JetBrains Mono", monospace; fill: #ffd27a; text-anchor: middle; }
  .wire .wc rect { fill: #f2b233; } .wire .wc text { font: 800 11px "JetBrains Mono", monospace; fill: #1a1204; text-anchor: middle; }
  .el-parts b { margin-right: 4px; }
  /* бегущая строка разработки */
  .devtick { display: flex; align-items: center; height: 30px; background: #14110b; border-bottom: 1px solid rgba(242,178,51,.22); color: #e9dfc8; font: 500 13px/1 "Golos Text", system-ui, sans-serif; overflow: hidden; }
  .devtick[hidden] { display: none; }
  .dt-lab { flex: none; display: flex; align-items: center; gap: 7px; height: 100%; padding: 0 22px 0 14px; font-weight: 800; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #1a1204; background: linear-gradient(135deg, #f7c14a, #ff8a1f); clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
  .dt-lab i { width: 7px; height: 7px; border-radius: 50%; background: #c21d0b; animation: dtpulse 1.4s infinite; }
  @keyframes dtpulse { 0% { box-shadow: 0 0 0 0 rgba(194,29,11,.7); } 70% { box-shadow: 0 0 0 6px rgba(194,29,11,0); } 100% { box-shadow: 0 0 0 0 rgba(194,29,11,0); } }
  .dt-vp { flex: 1; overflow: hidden; height: 100%; -webkit-mask: linear-gradient(90deg, transparent, #000 30px, #000 calc(100% - 40px), transparent); mask: linear-gradient(90deg, transparent, #000 30px, #000 calc(100% - 40px), transparent); }
  .dt-track { display: inline-flex; align-items: center; gap: 18px; height: 100%; white-space: nowrap; animation: dtmove 60s linear infinite; padding-left: 10px; }
  .devtick:hover .dt-track { animation-play-state: paused; }
  @keyframes dtmove { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .dt-it { color: #efe6d2; text-decoration: none; } .dt-it:hover { color: #ffd27a; }
  .dt-t { margin-left: 8px; color: #8f8570; font: 600 11.5px "JetBrains Mono", monospace; }
  .dt-sep { color: #f2b233; font-size: 8px; opacity: .7; }
  @media (max-width: 600px) { .devtick { height: 26px; font-size: 12px; } .dt-lab { font-size: 0; gap: 0; padding: 0 16px 0 10px; } .dt-lab::after { content: "DEV"; font-size: 10.5px; margin-left: 6px; } }
  @media (prefers-reduced-motion: reduce) { .dt-track { animation: none; } .dt-vp { overflow-x: auto; } }
  html.tg .devtick { display: none !important; }

  /* ---- обновление 2026-09: категории, броня, пульс разработки ---- */
  a.chip { text-decoration: none; color: inherit; display: inline-block; }
  .dv-facts { margin-top: 18px; }
  .dv-chart { margin: 14px 0 0; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px 6px; background: var(--surface); }
  .dv-chart figcaption { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
  .dv-chart svg { display: block; width: 100%; height: 120px; margin-top: 8px; }
  .dv-chart rect { fill: var(--accent); opacity: .85; }
  .dv-chart rect:hover { opacity: 1; }
  .dv-upd { stroke: var(--ok); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
  .dv-months { position: relative; height: 18px; font-size: 11px; color: var(--muted); }
  .dv-months span { position: absolute; top: 3px; transform: translateX(-10%); }
  .dv-br { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
  .dv-card { text-align: left; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: var(--surface); color: var(--ink); font: inherit; cursor: pointer; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  .dv-card[aria-pressed="true"] { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
  .dv-card .mono { font-size: 11.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .dv-card small { color: var(--muted); font-size: 12.5px; }
  .ar-grid { grid-template-columns: minmax(220px, 300px) 1fr; }
  @media (max-width: 820px) { .ar-grid { grid-template-columns: 1fr; } }
  .ar-sort { all: unset; cursor: pointer; font-weight: 700; }
  .ar-sort[aria-pressed="true"] { color: var(--accent); }
  .ar-hi { color: var(--ok); font-weight: 700; }
  .ar-tbl th, .ar-tbl td { white-space: nowrap; }
  .ar-tbl td:first-child { white-space: normal; min-width: 170px; }
  #twFaq { margin-top: 30px; }
  /* мобильное меню: прокрутка, если не помещается в экран */
  .mobile-nav:not([hidden]) { max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px - env(safe-area-inset-top, 0px)); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
  /* открытое меню на телефоне: страница под ним не прокручивается, меню — на весь экран ниже шапки */
  html.mn-open, html.mn-open body { overflow: hidden; height: 100%; overscroll-behavior: none; }
  html.mn-open .mobile-nav:not([hidden]) { height: calc(100vh - 80px); height: calc(100dvh - 80px - env(safe-area-inset-top, 0px)); touch-action: pan-y; }
  /* серверы: выключенные, добавление, подборки; поиск в шапке */
  .stag.off { background: color-mix(in srgb, var(--muted) 18%, transparent); color: var(--muted); border-color: transparent; }
  .srv-presets { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 16px 0 4px; font-size: 14px; }
  .srv-presets a[aria-current="page"] { font-weight: 700; color: var(--accent); }
  .srv-add { margin-top: 16px; display: grid; gap: 10px; }
  .srv-add-row { display: flex; gap: 8px; flex-wrap: wrap; }
  .srv-add-row input { flex: 1 1 220px; min-width: 0; padding: 9px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; }
  .warn-t { color: var(--warn); }
  .hs-sec { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 8px 12px 2px; }
  .hs-ico { width: 32px; text-align: center; font-size: 18px; flex: none; }
  /* консольные команды */
  .cmd-grp { margin-top: 22px; }
  .cmd-list { display: grid; gap: 8px; margin-top: 8px; }
  .cmd-row { display: grid; grid-template-columns: minmax(200px, 320px) 1fr; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; background: var(--surface); }
  .cmd-row p { margin: 0; color: var(--ink-2); font-size: 14.5px; }
  .cmd-row .i2-code { justify-content: flex-start; }
  @media (max-width: 640px) { .cmd-row { grid-template-columns: 1fr; } }
  .cmd-row .i2-code { background: var(--surface-2); border: 1px solid var(--line); color: var(--ink); width: 100%; }
  .cmd-row .i2-code code { color: var(--ink); font-weight: 600; white-space: normal; word-break: break-word; }
  /* скины в поиске шапки */
  .hs-box { width: min(440px, 94vw); }
  .hs-sk { margin: 0 4px 6px 50px; padding: 8px 0 2px; border-top: 1px dashed var(--line); }
  .hs-sk-h { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); padding: 0 4px 6px; }
  .hs-sk-row { display: flex; gap: 6px; overflow-x: auto; padding: 0 2px 6px; scrollbar-width: thin; }
  .hs-box .hs-sk-row a { flex: 0 0 62px; flex-direction: column; gap: 3px; padding: 4px; text-align: center; font-size: 11px; }
  .hs-sk-row .im { width: 54px; height: 54px; border-radius: 8px; background: radial-gradient(circle at 50% 40%, var(--surface-2), var(--surface)); display: grid; place-items: center; border: 1px solid var(--line); }
  .hs-sk-row img { width: 48px; height: 48px; object-fit: contain; }
  .hs-sk-row b { font-size: 11px; font-weight: 700; white-space: nowrap; }
  .hs-box .hs-sk-row a.hs-sk-all { justify-content: center; color: var(--accent); font-weight: 600; line-height: 1.3; }
  .hsearch:not(.hs-m) .hs-box { left: auto; right: 0; }
  .hs-sk-row img { color: transparent; font-size: 0; }
  .hs-m .hs-box { left: 0; right: 0; width: auto; }
  /* лента скинов — бегущая строка */
  .hs-sk-h a.hs-sk-all { display: inline; padding: 0; color: var(--accent); font-weight: 600; }
  .hs-sk-row { overflow: hidden; }
  .hs-sk-row.run { -webkit-mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 18px), transparent); mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 18px), transparent); }
  .hs-sk-track { display: flex; gap: 6px; width: max-content; }
  .hs-sk-row.run .hs-sk-track { animation: hsSkRun calc(var(--n) * 2.6s) linear infinite; }
  .hs-sk-row.run:hover .hs-sk-track, .hs-sk-row.run:focus-within .hs-sk-track, .hs-sk-row.run:active .hs-sk-track { animation-play-state: paused; }
  @keyframes hsSkRun { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 3px)); } }
  @media (prefers-reduced-motion: reduce) { .hs-sk-row { overflow-x: auto; } .hs-sk-row.run .hs-sk-track { animation: none; } }
  /* карточка предмета: бегущая лента скинов */
  .i2-sk-row { overflow: hidden; margin-top: 12px; }
  .i2-sk-row.run { -webkit-mask-image: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 28px), transparent); }
  .i2-sk-track { display: flex; gap: 10px; width: max-content; }
  .i2-sk-track .i2-sk { flex: 0 0 150px; }
  .i2-sk-row.run .i2-sk-track { animation: i2SkRun calc(var(--n) * 3s) linear infinite; }
  .i2-sk-row.run:hover .i2-sk-track, .i2-sk-row.run:focus-within .i2-sk-track { animation-play-state: paused; }
  @keyframes i2SkRun { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 5px)); } }
  @media (max-width: 640px) { .i2-sk-track .i2-sk { flex-basis: 128px; } }
  @media (prefers-reduced-motion: reduce) { .i2-sk-row { overflow-x: auto; } .i2-sk-row.run .i2-sk-track { animation: none; } }
  .hs-box { max-height: calc(100vh - 90px); max-height: calc(100dvh - 90px); overflow-y: auto; overscroll-behavior: contain; }
  /* Twitch Drops: награды бегущей лентой */
  /* шапка 1240–1340 px: поиск чуть уже, чтобы не вылезать за край */
@media (max-width: 1340px) { .head-right > .hsearch { width: 180px; } }
/* окно скина */
.skm { position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center; padding: 16px; }
.skm-box { position: relative; width: min(340px, 100%); max-height: calc(100dvh - 32px); overflow-y: auto; background: var(--bg, #141210); border: 1px solid var(--line); border-radius: 16px; padding: 12px; }
.skm-box .sk-card { border: 0; background: none; padding: 0; }
.skm-x { position: absolute; top: 8px; right: 8px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface); color: inherit; cursor: pointer; font-size: 15px; }
.skm-all { display: block; text-align: center; margin-top: 10px; font-weight: 600; }
html.skm-open, html.skm-open body { overflow: hidden; }
/* плашка «светится» не обрезается сверху */
.sk-img .glow { top: 10px; left: 10px; z-index: 1; line-height: 1.5; padding: 2px 8px; font-size: 11px; white-space: nowrap; }
/* цена скина видна и в тёмной теме */
.sk-price b { color: var(--ink); }
/* проверка игрока: подробности */
.pl-x { margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--muted); }
.pl-x b { font-weight: 600; }
/* торговые автоматы */
.shop-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px; align-items: end; }
.shop-top label { display: grid; gap: 4px; font-size: 13px; color: var(--muted); }
.shop-top select, .shop-top input { width: 100%; min-width: 0; height: 40px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); padding: 0 10px; font: inherit; }
.shop-q { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.shop-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.shop-list { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.shop-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 9px 12px; }
.shop-row + .shop-row { border-top: 1px solid var(--line); }
.shop-g { font-weight: 700; color: var(--accent-ink); background: var(--accent-fill); border-radius: 6px; text-align: center; padding: 3px 0; font-size: 13px; }
.shop-m, .shop-p { display: grid; min-width: 0; }
.shop-m small, .shop-p small { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shop-p { text-align: right; }
.shop-steps li { margin: 4px 0; }
@media (max-width: 640px) { .shop-top { grid-template-columns: 1fr; } }
/* площадки в «Ценах»: название целиком */
.mk-mini a, .mk-mini div.r { grid-template-columns: minmax(0, 1fr) auto; }
.mk-mini .m { grid-column: 1 / -1; white-space: normal; overflow: visible; overflow-wrap: anywhere; font-weight: 600; }
.mk-mini .p { grid-column: 1; }
.mk-mini .d { grid-column: 2; text-align: right; }
/* экран «Автоматы» (мини-приложение) */
.shop-app { padding: 0; }
.shop-h { display: flex; align-items: center; gap: 8px; font-size: 20px; margin: 0 0 10px; }
.shop-back { border: 1px solid var(--line); background: var(--surface); color: var(--ink); border-radius: 10px; width: 34px; height: 34px; font-size: 18px; cursor: pointer; }
.shop-srv { display: flex; align-items: center; gap: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; }
.shop-srv select { flex: 1; min-width: 0; background: none; border: 0; color: var(--ink); font: inherit; font-weight: 700; }
.shop-srv b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shop-dot { width: 8px; height: 8px; border-radius: 50%; background: #5fbf6c; flex: none; }
.shop-q { position: relative; margin-top: 10px; }
.shop-q input { width: 100%; height: 44px; border-radius: 12px; border: 1px solid var(--accent-fill); background: var(--surface); color: var(--ink); padding: 0 12px; font: inherit; font-size: 16px; }
.shop-sug { position: absolute; left: 0; right: 0; top: 48px; z-index: 30; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: 0 12px 30px -8px rgba(0,0,0,.45); max-height: 60vh; overflow-y: auto; }
.shop-sug button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; border: 0; border-top: 1px solid var(--line); background: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.shop-sug button:first-child { border-top: 0; }
.shop-sug button:hover, .shop-sug button:focus { background: var(--accent-soft); }
.shop-sug span:not(.shop-ic) { flex: 1; min-width: 0; }
.shop-sug small { color: var(--muted); font-size: 12px; white-space: nowrap; }
.shop-none { padding: 12px; color: var(--muted); }
.shop-ic { width: 32px; height: 32px; border-radius: 8px; background: var(--accent-soft); display: grid; place-items: center; flex: none; overflow: hidden; }
.shop-ic .it-ico { width: 28px; height: 28px; }
.shop-h .shop-ic { width: 30px; height: 30px; }
.shop-cur { display: inline-grid; width: 18px; height: 18px; vertical-align: -3px; }
.shop-cur .it-ico { width: 18px; height: 18px; }
.shop-recent { font-size: 12px; color: var(--muted); margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.shop-recent button { border: 1px solid var(--line); background: none; color: var(--ink); border-radius: 8px; padding: 2px 8px; font: inherit; font-size: 12px; cursor: pointer; }
.shop-chips { display: flex; gap: 6px; overflow-x: auto; margin: 10px 0 4px; padding-bottom: 4px; scrollbar-width: none; }
.shop-chips .chip { flex: none; }
.shop-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; margin: 6px 0 8px; }
.shop-meta button { background: none; border: 0; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; padding: 4px 0; }
.shop-groups { display: grid; gap: 8px; }
.shop-grp { display: flex; align-items: center; gap: 10px; width: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.shop-grp:hover { border-color: var(--accent-fill); }
.shop-grp .t { flex: 1; min-width: 0; display: grid; }
.shop-grp .t b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shop-grp .t small, .shop-grp .p small { color: var(--muted); font-size: 12px; }
.shop-grp .p { text-align: right; display: grid; flex: none; }
.shop-sort { display: flex; gap: 6px; margin-bottom: 8px; }
.shop-sort button { border: 1px solid var(--line); background: none; color: var(--muted); border-radius: 8px; padding: 5px 10px; font: inherit; font-size: 12px; cursor: pointer; }
.shop-sort button[aria-pressed="true"] { color: var(--ink); border-color: var(--accent-fill); }
.shop-list { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--surface); }
.shop-row.best { background: var(--accent-soft); }
.shop-tag { font-style: normal; font-size: 11px; background: rgba(95,191,108,.18); color: #5fbf6c; border-radius: 5px; padding: 1px 6px; margin-left: 4px; }
.shop-p b { display: inline-flex; align-items: center; gap: 4px; justify-content: flex-end; }
.shop-watch { margin-top: 10px; background: none; border: 0; color: var(--accent-ink, var(--ink)); font: inherit; font-size: 13px; cursor: pointer; padding: 6px 0; text-align: left; }
html[data-theme="dark"] .shop-watch, html.tg .shop-watch { color: var(--muted); }
.shop-empty { text-align: center; padding: 22px 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; display: grid; gap: 6px; justify-items: center; margin-top: 12px; }
.shop-empty small { color: var(--muted); }
.shop-empty .btn { margin-top: 8px; }
.shop-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.shop-steps { padding-left: 20px; }
.shop-chips { flex-wrap: nowrap; }
.shop-row { grid-template-columns: 44px minmax(0, 1fr) auto; }
/* DLC и наборы */
.dlc-grid { display: grid; gap: 16px; margin-top: 14px; }
.dlc-card { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 14px; scroll-margin-top: 80px; }
.dlc-cover { border-radius: 12px; overflow: hidden; background: radial-gradient(circle at 50% 40%, #34302a, #141210 75%); aspect-ratio: 1; display: grid; place-items: center; }
.dlc-cover.wide { aspect-ratio: 460 / 215; align-self: start; }
.dlc-cover img { width: 100%; height: 100%; object-fit: contain; }
.dlc-cover.wide img { object-fit: cover; }
.dlc-body { min-width: 0; display: grid; gap: 8px; align-content: start; }
.dlc-kind { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.dlc-body h2 { margin: 0; font-size: 22px; }
.dlc-body h2 small { display: block; font-size: 13px; font-weight: 500; color: var(--muted); }
.dlc-price { font-weight: 700; font-size: 18px; }
.dlc-price small { font-weight: 500; color: var(--muted); font-size: 13px; }
.dlc-desc { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.dlc-gal { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.dlc-gal img { height: 110px; width: auto; border-radius: 8px; display: block; }
.dlc-items { display: flex; flex-wrap: wrap; gap: 6px; }
.dlc-it { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 10px; padding: 3px 9px 3px 4px; font-size: 13px; color: var(--ink); text-decoration: none; }
.dlc-it:hover { border-color: var(--accent-fill); }
.dlc-it .it-ico { width: 26px; height: 26px; }
.dlc-body .btn { justify-self: start; }
.dlc-badge { margin: 6px 0 0; padding: 8px 12px; border-radius: 10px; background: var(--accent-soft); font-size: 14px; }
.dlc-badge span { color: var(--muted); font-size: 13px; }
.it-dlcf { display: inline-flex; gap: 6px; margin-left: 6px; }
@media (max-width: 640px) { .dlc-card { grid-template-columns: 1fr; } .dlc-cover { max-width: 220px; } .dlc-cover.wide { max-width: none; } .dlc-gal img { height: 90px; } }

/* Инвентарь: пометка, что данные сохранённые (Steam ограничивает запросы) */
.inv-old { margin: 0 0 14px; padding: 11px 14px; border-radius: 10px; background: var(--accent-soft); border-left: 3px solid var(--accent); font-size: 14px; line-height: 1.5; }
/* Прошлые раунды Twitch Drops без набора в Steam */
.tw-card { cursor: default; }
.tw-card .set-col img.tw-wide { width: 100%; height: auto; max-height: 96px; object-fit: cover; border-radius: 8px; grid-column: 1 / -1; }

/* Рейд ближнего боя */
.chip.on { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--accent-ink); font-weight: 600; }
.ml-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 18px 0 10px; flex-wrap: wrap; }
.ml-head h2 { margin: 0; }
.ml-head .meta { color: var(--muted); font-size: 14px; }
.steps-plain { margin: 0; padding-left: 20px; }
.steps-plain li { margin: 0 0 10px; line-height: 1.6; }
#mlChips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
@media (max-width: 720px) { #mlChips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; } #mlChips .chip { flex: none; white-space: nowrap; } }

/* Рейты сервера и время фарма */
.rate-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.rate-lbl { font-size: 14px; color: var(--muted); }
.rate-bar .chip { padding: 5px 12px; font-size: 14px; }
.rate-srv { font-size: 14px; color: var(--muted); display: inline-flex; align-items: center; gap: 6px; }
.rate-pick, .rate-clr { background: none; border: none; padding: 0; font: inherit; color: var(--accent-ink, inherit); text-decoration: underline; cursor: pointer; }
.rate-find { flex: 1 0 100%; margin-top: 6px; }
.rate-find input { width: 100%; max-width: 420px; padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--bg); color: inherit; }
.rate-res { margin-top: 6px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--muted); }
.rate-one { text-align: left; background: none; border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px; font: inherit; color: inherit; cursor: pointer; }
.rate-one:hover { border-color: var(--accent); }
.farm-box { margin: 12px 0 4px; padding: 12px 14px; border-radius: 12px; background: var(--accent-soft); }
.farm-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.farm-head span { font-size: 13px; color: var(--muted); }
.farm-rows { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 14.5px; }
.farm-tot { margin-top: 8px; font-size: 14px; }
.farm-note { margin-top: 8px !important; font-size: 12.5px; }

/* ============ Главная: первый экран, инструменты, спокойная лента ============ */

/* Три действия на первом экране. Главное — «Рассчитать рейд», остальные обычные. */
.h2-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 4px; }
.h2-cta .btn { min-height: 44px; padding: 11px 18px; font-size: 15px; }
.h2-cta .btn.primary { font-weight: 600; }
@media (max-width: 600px) {
  .h2-cta { gap: 8px; }
  .h2-cta .btn.primary { flex: 1 0 100%; justify-content: center; }
  .h2-cta .btn:not(.primary) { flex: 1 1 calc(50% - 4px); justify-content: center; }
}

/* Плитки переехали из шапки в раздел «Инструменты» */
.h2-tiles.wide { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
@media (max-width: 600px) { .h2-tiles.wide { grid-template-columns: 1fr 1fr; } }

/* Инструменты, сгруппированные по задачам игрока */
.tgroups { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin-top: 16px; }
.tgroup { padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.tgroup h3 { margin: 0 0 8px; font-size: 14px; letter-spacing: .02em; color: var(--muted); text-transform: uppercase; }
.tgroup ul { margin: 0; padding: 0; list-style: none; }
.tgroup li { margin: 0; }
.tgroup a { display: block; padding: 7px 0; font-size: 15px; line-height: 1.35; text-decoration: none; border-bottom: 1px solid transparent; }
.tgroup a:hover, .tgroup a:focus-visible { border-bottom-color: var(--accent); }

/* Лента разработчиков: без движения, одна запись, честная пометка перевода.
   Раскладка на сетке: на десктопе одна строка, на телефоне — две, без сюрпризов с переносом. */
.devtick { height: auto; min-height: 36px; overflow: visible; }
.dt-in { display: grid; gap: 2px 12px; align-items: center; width: min(1180px, 100%); margin: 0 auto; padding: 6px 16px;
  grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "lab it meta"; }
/* метка была скошенной золотой плашкой — для спокойного вида оставляем просто текст акцентом */
.devtick .dt-lab { grid-area: lab; display: inline-flex; align-items: center; min-height: 32px;
  height: auto; padding: 0; background: none; clip-path: none;
  font-weight: 700; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--accent); white-space: nowrap; text-decoration: none; }
.devtick .dt-lab:hover, .devtick .dt-lab:focus-visible { text-decoration: underline; }
.devtick .dt-lab::after { content: none; }
.devtick .dt-it { grid-area: it; display: flex; align-items: center; min-width: 0; min-height: 28px;
  color: #e9dfc8; text-decoration: none; }
.dt-txt { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.devtick .dt-it:hover .dt-txt, .devtick .dt-it:focus-visible .dt-txt { text-decoration: underline; }
.dt-meta { grid-area: meta; display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; }
.devtick .dt-t { color: #9d937c; font-size: 12px; }
.dt-mt { font-size: 11px; color: #9d937c; border-bottom: 1px dotted #6c6553; cursor: help; text-decoration: none; }
.dt-all { display: inline-flex; align-items: center; min-height: 32px; font-size: 12.5px; color: var(--accent); }
@media (max-width: 760px) {
  /* Две плотные строки: сверху метка и пометка перевода, снизу сама правка.
     Время и «ещё N» убираем — на узком экране они вытесняют собственно текст. */
  .devtick { font-size: 12.5px; }
  .dt-in { padding: 3px 14px 5px; gap: 0 10px; grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "lab mt" "it it"; }
  .dt-meta { display: contents; }
  .devtick .dt-lab { display: inline-flex; align-items: center; min-height: 24px; font-size: 11px; }
  .dt-mt { grid-area: mt; justify-self: end; align-self: center; font-size: 11px; }
  .devtick .dt-it { min-height: 30px; }
  .devtick .dt-t, .dt-all { display: none; }
}

/* Состояния списков: вид не зависит от цвета — у каждого свой значок и слово */
.srv-empty { padding: 28px 16px; text-align: center; color: var(--muted); font-size: 15px; line-height: 1.55; }
.state { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 30px 16px; text-align: center; }
.state .st-ic { font-size: 22px; line-height: 1; }
.state .st-tx { color: var(--muted); font-size: 15px; line-height: 1.55; max-width: 44ch; }
.state .st-tx b { color: var(--ink, inherit); display: block; margin-bottom: 2px; font-weight: 600; }
.state .btn { margin-top: 4px; }
.state.st-load .st-ic { animation: stSpin 1s linear infinite; display: inline-block; }
@keyframes stSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .state.st-load .st-ic { animation: none; } }
.h2-fine { margin: 14px 0 0; max-width: 46ch; color: var(--muted); font-size: 13.5px; line-height: 1.5; }
/* ближайшие вайпы на первом экране */
.nw-card { padding: 14px 16px; border-radius: 16px; background: linear-gradient(90deg, #2b1a0c, var(--panel)); border: 1px solid #4b3217; color: var(--panel-ink); display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.nw-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.nw-list a { display: block; padding: 6px 0; text-decoration: none; color: inherit; border-bottom: 1px solid rgba(255,255,255,.06); min-width: 0; }
.nw-list li:last-child a { border-bottom: 0; }
.nw-list b { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nw-list a:hover b, .nw-list a:focus-visible b { color: var(--accent, #f2b233); }
.nw-list small { color: var(--panel-muted); font-size: 12.5px; }
.nw-t { color: #f2b233; font-weight: 700; }
.nw-all { font-size: 13.5px; color: var(--panel-ink); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; min-height: 32px; }
.nw-all:hover { color: #f2b233; }
.hero2 > *, .hero2 .side > * { min-width: 0; } .nw-list { min-width: 0; } .nw-list li { min-width: 0; overflow: hidden; }
.nwrap.solo { grid-template-columns: 1fr; }
/* панель базы Rust+ */
.bs-head { display: flex; gap: 10px; align-items: end; justify-content: space-between; flex-wrap: wrap; margin-bottom: 12px; }
.bs-srv { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--muted, #a59d89); flex: 1 1 220px; }
.bs-srv select { min-height: 40px; }
.bs-srvname { font-weight: 700; font-size: 16px; }
.bs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.bs-card { padding: 14px 16px; border-radius: 14px; background: var(--panel, #171510); border: 1px solid var(--line, #2a271f); color: var(--panel-ink, inherit); min-width: 0; }
.bs-card.wide { grid-column: 1 / -1; }
.bs-card.alert { border-color: #d9463b; box-shadow: 0 0 0 1px #d9463b inset; }
.bs-card h3 { margin: 0 0 8px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #f2b233; }
.bs-big { font-size: 20px; font-weight: 800; margin: 2px 0 6px; }
.bs-big.ok { color: #7fd18b; } .bs-big.warn { color: #f2b233; } .bs-big.bad { color: #ff6b5e; }
.bs-muted { color: var(--panel-muted, #a59d89); font-size: 13px; margin: 6px 0 0; line-height: 1.5; }
.bs-list, .bs-team, .bs-sw, .bs-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.bs-list li, .bs-sw li { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-width: 0; }
.bs-list li span, .bs-sw li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-team li { display: grid; grid-template-columns: 10px 1fr auto; gap: 8px; align-items: center; }
.bs-team .dot { width: 8px; height: 8px; border-radius: 50%; background: #555; }
.bs-team li.on .dot { background: #7fd18b; }
.bs-team small, .bs-feed small { color: var(--panel-muted, #a59d89); font-size: 12px; white-space: nowrap; }
.bs-team li.off span:nth-child(2) { opacity: .65; }
.bs-toggle { min-width: 64px; min-height: 36px; border-radius: 999px; border: 1px solid var(--line, #3a352a); background: transparent; color: inherit; font-weight: 700; cursor: pointer; }
.bs-toggle.on { background: #f2b233; color: #1b1a10; border-color: #f2b233; }
.bs-toggle:focus-visible { outline: 2px solid #f2b233; outline-offset: 2px; }
.bs-feed li { display: grid; grid-template-columns: 20px 1fr auto; gap: 8px; align-items: start; font-size: 14px; }
.bs-feed li span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.bs-map { margin: 0; line-height: 1.6; font-size: 14px; }
.bs-foot { margin-top: 12px; }

/* Узкие экраны: содержимое сетки не растягивает страницу. */
.tool-grid > *, .tool-grid .field, .tool-grid .stack, .dev-row { min-width: 0; }
.tool-grid select, .tool-grid input { max-width: 100%; box-sizing: border-box; }
.dev-row { overflow-wrap: anywhere; }
.tool-grid .it-a { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .tool-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Monuments guide catalog */
.rt-page{color-scheme:dark;--bg:#0d0c0a;--panel:#181713;--line:#343026;--muted:#b3ad9d;--ink:#f4f0e4;--gold:#f2b233}.rt-page *{box-sizing:border-box}.rt-page html{scroll-behavior:smooth;scroll-padding-top:35px}.rt-page{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 'Segoe UI',Arial,sans-serif}.rt-page a{color:inherit;text-decoration:none}.rt-page button,.rt-page input{font:inherit}.rt-page button,.rt-page a,.rt-page input{touch-action:manipulation}.rt-page a:focus-visible,.rt-page button:focus-visible,.rt-page input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.rt-page img{display:block;max-width:100%}.rt-page h1,.rt-page h2,.rt-page h3,.rt-page p,.rt-page figure{margin:0}.rt-page h1,.rt-page h2,.rt-page h3{line-height:1.13}.rt-page button{cursor:pointer}.rt-page button:disabled{cursor:default}.rt-page [hidden]{display:none!important}.rt-page .preview-note{padding:8px max(30px,calc((100vw - 1160px)/2));border-bottom:1px solid #3b2b13;background:#201a0e;color:#cdb780;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.12em}.rt-page .head{max-width:1160px;margin:0 auto;height:92px;display:flex;align-items:center;gap:45px;border-bottom:1px solid var(--line)}.rt-page .brand{display:flex;align-items:center;gap:12px;line-height:1.15}.rt-page .brand .mark{background:var(--gold);color:#18130a;font-size:27px;font-weight:900;border-radius:10px;display:grid;place-items:center;width:42px;height:42px;box-shadow:0 0 26px #f2b23322}.rt-page .brand strong{font-size:23px;letter-spacing:.07em;font-weight:900}.rt-page .brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.13em;margin-top:5px}.rt-page .head nav{display:flex;gap:28px;align-items:center;height:100%;font-size:14px;font-weight:600}.rt-page .head nav a{display:flex;align-items:center;height:100%;border-bottom:2px solid transparent}.rt-page .head nav .selected{color:var(--gold);border-bottom-color:var(--gold)}.rt-page .edition{margin-left:auto;font:11px Consolas,monospace;color:var(--muted);letter-spacing:.06em}.rt-page{max-width:1160px;margin:auto}.rt-page .eyebrow{font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.13em;color:var(--gold);text-transform:uppercase}.rt-page .catalog-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:62px;padding:54px 0 48px;align-items:center}.rt-page .hero-copy h1{font-size:clamp(38px,4.6vw,62px);font-weight:900;letter-spacing:-.045em;margin:16px 0 21px;line-height:1.02}.rt-page .hero-copy em{font-style:normal;color:var(--gold)}.rt-page .hero-dek{color:#c3bdaf;max-width:470px;font-size:16px;line-height:1.7}.rt-page .button{margin-top:26px;display:inline-flex;gap:40px;align-items:center;background:var(--gold);color:#181309;border-radius:6px;padding:11px 19px;font-size:14px;font-weight:750}.rt-page .button:hover{background:#ffd073}.rt-page .hero-count{display:flex;align-items:center;gap:14px;margin-top:27px}.rt-page .hero-count b{font:700 34px/1 Consolas,monospace}.rt-page .hero-count span{color:var(--muted);font-size:11px;line-height:1.6}.rt-page .feature{position:relative;display:block;min-height:380px;border:1px solid #62523b;border-radius:10px;overflow:hidden;align-self:stretch}.rt-page .feature>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.rt-page .feature:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0000 10%,#090b0a20 35%,#090b0ae8 90%)}.rt-page .feature-copy{position:absolute;bottom:25px;left:28px;right:28px;z-index:1}.rt-page .pill{display:inline-block;background:#f2b233;color:#181309;border-radius:3px;padding:4px 8px;font-size:9px;font-weight:800;letter-spacing:.1em;margin-bottom:13px}.rt-page .feature h2{font-size:35px;font-weight:850;letter-spacing:-.02em;margin-bottom:9px}.rt-page .feature p{font-size:13px;color:#e0dfd5;max-width:320px}.rt-page .feature-link{margin-top:18px;padding-top:13px;border-top:1px solid #ffffff40;display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#ffcc65}.rt-page .feature-link b{font-size:19px}.rt-page .catalog{padding-top:34px;border-top:1px solid var(--line)}.rt-page .section-top{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:22px}.rt-page .section-top h2{font-size:31px;font-weight:800;letter-spacing:-.025em;margin-top:7px}.rt-page .search{display:flex;align-items:center;gap:10px;background:#171610;border:1px solid #40392c;border-radius:6px;padding:9px 14px;width:326px}.rt-page .search>span{font-size:24px;line-height:1;color:var(--gold)}.rt-page .search input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font-size:13px;outline-offset:9px}.rt-page .filters{display:flex;gap:8px;flex-wrap:wrap}.rt-page .filters button{border:1px solid #383429;color:#d5cebc;background:#181712;border-radius:30px;padding:8px 16px;font-size:12px;font-weight:600}.rt-page .filters button[aria-pressed=true]{background:var(--gold);color:#181309;border-color:var(--gold)}.rt-page .catalog-status{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.02em;color:#a69e8d;margin:20px 0 16px}.rt-page .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.rt-page .card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#151410;transition:border-color .15s,transform .15s;min-width:0}.rt-page .card:hover{border-color:#c08c30;transform:translateY(-3px)}.rt-page .card-picture{height:185px;position:relative;background:#25271e;overflow:hidden}.rt-page .card-picture img{height:100%;width:100%;object-fit:cover}.rt-page .risk{position:absolute;bottom:11px;left:12px;font-size:9px;background:#171510e8;border:1px solid #aa74405e;padding:3px 8px;border-radius:3px;color:#efc58a}.rt-page .risk.low{color:#b8dab2;border-color:#5982535e}.rt-page .card-copy{padding:18px 18px 14px;display:flex;flex-direction:column;flex:1}.rt-page .card h3{display:flex;align-items:start;justify-content:space-between;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.02em;margin:8px 0 7px;overflow-wrap:anywhere}.rt-page .card h3 span{color:#817760;font-size:19px}.rt-page .card-copy>p{font-size:11px;color:#9f998b}.rt-page .card-bottom{margin-top:auto;padding-top:17px;display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:10px;line-height:1.5}.rt-page .card-bottom span{color:#d1c9b8;max-width:250px}.rt-page .card-bottom b{white-space:nowrap;color:#898372;font-weight:500}.rt-page .catalog-footnote{padding:30px;margin-top:36px;background:#17150f;border:1px solid var(--line);border-radius:8px;max-width:900px}.rt-page .catalog-footnote h2{font-size:23px;margin-bottom:12px}.rt-page .catalog-footnote p{font-size:14px;color:#b9b2a2}.rt-page .catalog-footnote a{display:inline-block;color:var(--gold);font-size:13px;font-weight:650;margin-top:15px}.rt-page .empty{padding:60px 20px;text-align:center;border:1px dashed #51432b;border-radius:8px}.rt-page .empty p{margin-top:10px;color:var(--muted)}.rt-page .empty button{margin-top:20px;background:var(--gold);border:0;border-radius:5px;padding:8px 15px;color:#15120c}.rt-page footer{max-width:1160px;margin:70px auto 0;border-top:1px solid var(--line);padding:30px 0 35px;display:flex;align-items:center;gap:20px;font-size:12px;color:#aaa292}.rt-page .brand-word{font-size:20px;letter-spacing:.06em;font-weight:900;color:var(--ink)}.rt-page footer small{margin-left:auto;font-size:10px}.rt-page .breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);padding-top:31px}.rt-page .breadcrumbs a{color:#dbc793}.rt-page .article-heading{padding:28px 0 30px;max-width:950px}.rt-page .article-heading h1{font-size:50px;line-height:1.09;letter-spacing:-.035em;font-weight:850;margin:10px 0 18px}.rt-page .article-heading h1 span{font-size:.68em;font-weight:650;color:#d8d1c3}.rt-page .article-dek{font-size:17px;color:#bfb7a7;margin:0 0 23px}.rt-page .article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:15px;font-size:11px;color:#a59d8b}.rt-page .article-meta b{color:#dfd5c3;font-weight:600}.rt-page .author-icon{display:grid;place-items:center;width:25px;height:25px;background:#e8ad3c;color:#171309;font-weight:900;font-size:16px;border-radius:5px}.rt-page .article-cover{margin:0 0 34px}.rt-page .article-cover>img{width:100%;height:430px;object-fit:cover;border-radius:8px;border:1px solid #393529}.rt-page .article-cover figcaption{font-size:10px;color:#9d9585;margin-top:9px;line-height:1.6}.rt-page .article-cover a{color:#c4b695;text-decoration:underline;text-underline-offset:3px}.rt-page .article-layout{display:grid;grid-template-columns:minmax(0,780px) 250px;gap:70px;align-items:start}.rt-page .prose{min-width:0}.rt-page .toc{position:sticky;top:28px;border-left:1px solid var(--line);padding-left:26px;font-size:12px}.rt-page .toc>.eyebrow{margin-bottom:15px}.rt-page .toc>a{display:block;padding:7px 0;color:#bfb7a7}.rt-page .toc>a:hover{color:var(--gold)}.rt-page .toc-note{border-top:1px solid var(--line);margin-top:23px;padding-top:23px}.rt-page .toc-note span{font-size:9px;color:#8e8470;letter-spacing:.1em}.rt-page .toc-note p{font-size:13px;color:#f0ce88;margin-top:6px}.rt-page .toc .toc-index{color:var(--gold);margin-top:12px}.rt-page .back-link{display:inline-block;border:1px solid #554526;border-radius:6px;padding:10px 16px;margin-top:30px;color:var(--gold);font-size:13px}.rt-page .related{margin-top:60px;border-top:1px solid var(--line);padding-top:30px}.rt-page .related h2{font-size:28px;margin:9px 0 25px}.rt-page .rt-sources{margin-top:40px;border-top:1px solid var(--line);padding-top:24px}.rt-page .rt-sources h2{font-size:21px}.rt-page .rt-sources ul{padding-left:18px;font-size:12px;color:#b5aa90}.rt-page .rt-sources a{text-decoration:underline;text-underline-offset:3px}.rt-page .table-scroll{overflow:auto}.rt-page table{border-collapse:collapse;width:100%;font-size:14px}.rt-page th,.rt-page td{padding:16px;text-align:left;border-bottom:1px solid var(--line)}.rt-page th{font-size:11px;text-transform:uppercase;color:var(--gold)}.rt-page td:first-child{font-weight:700}.rt-page td a:hover{color:var(--gold)}
@media(max-width:1220px){.rt-page,.rt-page .head,.rt-page footer{margin-left:30px;margin-right:30px}.rt-page .article-layout{gap:40px;grid-template-columns:minmax(0,1fr) 230px}.rt-page .catalog-hero{gap:35px}}
@media(max-width:850px){.rt-page .head{gap:25px}.rt-page .head .edition{display:none}.rt-page .catalog-hero{gap:24px}.rt-page .hero-copy h1{font-size:43px}.rt-page .feature{min-height:360px}.rt-page .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.rt-page .article-layout{display:block}.rt-page .toc{display:none}.rt-page .article-cover>img{height:350px}.rt-page .article-heading h1{font-size:43px}.rt-page footer{flex-wrap:wrap}.rt-page footer small{margin-left:0}.rt-page .feature-copy{left:20px;right:20px}.rt-page .feature h2{font-size:30px}}
@media(max-width:560px){.rt-page,.rt-page .head,.rt-page footer{margin-left:20px;margin-right:20px}.rt-page .preview-note{padding:7px 20px;letter-spacing:.05em;font-size:8px}.rt-page .preview-note span:last-child{display:none}.rt-page .head{height:76px;gap:15px;justify-content:space-between}.rt-page .brand .mark{width:34px;height:34px;font-size:23px;border-radius:8px}.rt-page .brand{gap:9px}.rt-page .brand strong{font-size:20px}.rt-page .brand small{font-size:7px}.rt-page .head nav{gap:0;font-size:12px}.rt-page .head nav a:last-child{display:none}.rt-page .catalog-hero{display:block;padding:30px 0}.rt-page .hero-copy h1{font-size:43px;margin:13px 0 18px}.rt-page .hero-dek{font-size:14px}.rt-page .button{margin-top:20px;padding:10px 16px}.rt-page .hero-count{margin-top:23px}.rt-page .feature{margin-top:27px;min-height:280px}.rt-page .feature-copy{bottom:20px}.rt-page .feature h2{font-size:30px}.rt-page .feature-copy p{font-size:12px}.rt-page .feature-link{margin-top:12px}.rt-page .catalog{padding-top:26px}.rt-page .section-top{display:block;margin-bottom:16px}.rt-page .section-top h2{font-size:28px}.rt-page .search{width:100%;margin-top:20px}.rt-page .filters{gap:7px}.rt-page .filters button{font-size:11px;padding:7px 12px}.rt-page .catalog-status{font-size:10px;margin:17px 0 13px}.rt-page .catalog-status>span:last-child{display:none}.rt-page .cards{grid-template-columns:1fr;gap:18px}.rt-page .card-picture{height:180px}.rt-page .card h3{font-size:22px}.rt-page .card-copy{padding:16px}.rt-page .catalog-footnote{padding:21px;margin-top:25px}.rt-page .catalog-footnote h2{font-size:21px}.rt-page .catalog-footnote p{font-size:13px}.rt-page footer{margin-top:45px;display:block}.rt-page footer p{margin:10px 0;font-size:11px}.rt-page .breadcrumbs{font-size:10px;padding-top:23px;gap:8px}.rt-page .article-heading{padding:23px 0}.rt-page .article-heading h1{font-size:37px;margin:9px 0 15px;overflow-wrap:anywhere}.rt-page .article-heading h1 span{font-size:.65em}.rt-page .article-dek{font-size:14px;margin-bottom:17px}.rt-page .article-meta{gap:9px;font-size:9px}.rt-page .article-cover>img{height:225px}.rt-page .article-cover figcaption{font-size:9px}.rt-page .article-cover{margin-bottom:23px}.rt-page .related{margin-top:40px}.rt-page .related h2{font-size:25px}.rt-page .table-scroll{margin:0 -5px}.rt-page th,.rt-page td{padding:12px 8px;font-size:12px}.rt-page th{font-size:9px}}
@media(prefers-reduced-motion:reduce){.rt-page html{scroll-behavior:auto}.rt-page *{transition:none!important}}

.rt-page{max-width:1160px;margin:0 auto;padding-bottom:40px}.rt-page .card{padding:0}.rt-page .toc{width:auto}.rt-page .prose{max-width:none}.rt-page .article-layout{margin:0}.rt-page #rt-keycards{margin-top:50px}

/* Только содержимое новых статей. Можно добавить в src/extra.css сайта. */
.rt-guide{font-size:16px;line-height:1.8;color:#d8d2c5}.rt-guide p{margin:0 0 16px}.rt-guide h2{font-size:27px;line-height:1.2;font-weight:750;color:#f4f0e4;margin:37px 0 18px;letter-spacing:-.02em}.rt-guide section{scroll-margin-top:30px}.rt-facts{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;border:1px solid #51422a;background:#1e1a11;border-radius:7px;margin-bottom:33px}.rt-facts>div{padding:17px 18px;border-right:1px solid #51422a;min-width:0}.rt-facts>div:last-child{border-right:0}.rt-facts span{display:block;font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.09em;color:#b8a884;margin-bottom:7px}.rt-facts strong{display:block;font-size:13px;line-height:1.6;color:#f0d89c;font-weight:650}.rt-kit{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:10px}.rt-kit li{display:flex;gap:11px;font-size:14px;line-height:1.6;padding:12px 14px;border:1px solid #373126;border-radius:5px;background:#17150f}.rt-kit li:before{content:'✓';color:#e4b551;font-weight:bold;flex:0 0 auto}.rt-steps{list-style:none!important;padding:0!important;margin:0!important}.rt-steps li{display:flex;gap:20px;padding:20px 0;border-top:1px solid #332e23}.rt-steps li:last-child{border-bottom:1px solid #332e23}.rt-step-n{flex:0 0 35px;font:700 24px/1.5 Consolas,monospace;color:#d9a338}.rt-steps li p{margin:0;flex:1;min-width:0}.rt-guide .rt-muted{font-size:13px;color:#a39986}.rt-warning{background:#231a10;border-left:3px solid #d49a36;padding:18px 22px;border-radius:0 5px 5px 0}.rt-warning>span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#e9b75d}.rt-warning p{margin:7px 0 0}.rt-guide .rt-edition{margin-top:35px;border-top:1px solid #332e23;padding-top:20px;font-size:11px;line-height:1.7;color:#9d9483}.rt-figure{margin:30px 0}.rt-figure img{display:block;width:100%;height:auto;border-radius:6px}.rt-figure figcaption{font-size:11px;line-height:1.7;color:#a39a87;margin-top:9px}.rt-figure a,.rt-guide a{color:#f2b233;text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.rt-guide{font-size:15px;line-height:1.85}.rt-guide h2{font-size:24px;margin-top:30px}.rt-facts{grid-template-columns:1fr;margin-bottom:27px}.rt-facts>div{display:flex;align-items:center;justify-content:space-between;gap:16px;border-right:0;border-bottom:1px solid #51422a;padding:12px 14px}.rt-facts>div:last-child{border-bottom:0}.rt-facts span{margin:0;flex:0 0 100px;font-size:9px}.rt-facts strong{font-size:12px;text-align:right}.rt-kit{grid-template-columns:1fr}.rt-kit li{font-size:13px}.rt-steps li{gap:13px;padding:17px 0}.rt-step-n{font-size:21px;flex-basis:29px}.rt-warning{padding:16px}.rt-figure figcaption{font-size:10px}}
.rt-page{min-width:0;width:100%}.rt-page .table-scroll{max-width:100%}

/* Лента «В разработке»: бегущая строка */
.devtick .dt-marq { display: flex !important; align-items: center; gap: 14px; padding: 0 0 0 20px; height: 100%; width: 100%; min-width: 0; overflow: hidden; }
.devtick .dt-marq .dt-lab { flex: none; min-height: 0; }
.devtick .dt-vp { flex: 1; min-width: 0; overflow: hidden; display: flex; align-items: center; height: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 28px), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 28px), transparent); }
.devtick .dt-vp .dt-track { display: flex; align-items: center; width: max-content; white-space: nowrap; animation: dtmarq var(--dt-dur, 60s) linear infinite; }
.devtick:hover .dt-vp .dt-track, .devtick .dt-vp .dt-track:focus-within { animation-play-state: paused; }
.devtick .dt-item { display: inline-flex !important; align-items: baseline; gap: 8px; color: inherit; text-decoration: none; min-height: 0 !important; }
.devtick .dt-item:hover .dt-txt { text-decoration: underline; }
.devtick .dt-item .dt-t { display: inline !important; color: #9d937c; font-size: 12px; }
.devtick .dt-sep { margin: 0 18px; color: rgba(242, 178, 51, .55); }
@keyframes dtmarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 760px) { .devtick .dt-marq { padding-left: 12px; gap: 10px; } .devtick .dt-item .dt-t { display: none !important; } .devtick .dt-sep { margin: 0 12px; } }
@media (prefers-reduced-motion: reduce) { .devtick .dt-vp .dt-track { animation: none; } .devtick .dt-vp { overflow-x: auto; } }

html{color-scheme:dark}

/* Twitch: стримеры с дропами рядом с «Как получить дроп» */
.tw-how{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;align-items:start}
.tw-streams{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin-top:4px}
.tw-st{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:center;cursor:pointer;overflow:hidden;transition:border-color .15s,transform .15s}
.tw-st:hover,.tw-st:focus-visible{border-color:#9146ff;transform:translateY(-2px);outline:none}
.tw-st.on{border-color:#9146ff;box-shadow:0 0 0 2px #9146ff inset}
.tw-st img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none;background:var(--line)}
.tw-st-n{font-weight:700;font-size:13px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tw-st-d{font-size:11px;line-height:1.25;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tw-st-play{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:#9146ff;color:#fff;font-size:10px;line-height:22px;text-align:center}
.tw-player{grid-column:1/-1;margin-top:16px}
.tw-player:empty{display:none}
.tw-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#000}
.tw-player-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;font-size:13px;color:var(--muted)}
.tw-player-bar a{margin-left:auto}
.tw-close{font:inherit;font-size:13px;padding:4px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}
@media (max-width:760px){.tw-how{grid-template-columns:minmax(0,1fr)}.tw-streams{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.tw-st img{width:48px;height:48px}}
@media (max-width:760px){.tw-st{gap:3px;padding:6px 4px}.tw-st img{width:42px;height:42px}.tw-st-n{font-size:12px}.tw-st-d{-webkit-line-clamp:1;font-size:10.5px}}
/* anchors below sticky header */
#i2where,section.panel[id]{scroll-margin-top:120px}
/* skin card buttons: wrap instead of clipping */
.sk-acts{flex-wrap:wrap;gap:6px}.sk-acts .btn{flex:1 1 auto;min-width:0;padding-left:8px;padding-right:8px;white-space:nowrap;justify-content:center;text-align:center}
