/* Защита от горизонтального скролла */
  html, body { overflow-x: hidden; max-width: 100vw; }

  .rg-page {
    color: var(--fg);
    font-size: 1rem;
    line-height: 1.75;
  }

  .rg-page h1 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    color: var(--fg);
    margin-bottom: 1rem;
  }

  .rg-page h2 {
    font-size: clamp(1.15rem, 2.2vw, 1.35rem);
    font-weight: 700;
    color: var(--fg);
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--card-border, rgba(255,255,255,0.1));
  }

  .rg-page h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--fg2, var(--fg));
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
  }

  .rg-page p {
    color: var(--fg2, var(--fg));
    margin-bottom: 1rem;
  }

  .rg-page ul,
  .rg-page ol {
    color: var(--fg2, var(--fg));
    padding-left: 1.5rem;
    margin-bottom: 1rem;
  }

  .rg-page li {
    margin-bottom: 0.4rem;
  }

  .rg-page .rg-divider {
    border: none;
    border-top: 1px solid var(--card-border, rgba(255,255,255,0.1));
    margin: 2rem 0;
  }

  .rg-page .rg-intro {
    font-size: 1.05rem;
    color: var(--fg2, var(--fg));
    border-left: 3px solid var(--acc, #0d6efd);
    padding-left: 1rem;
    margin-bottom: 2rem;
  }

  .rg-page .rg-note {
    font-size: 0.875rem;
    color: var(--fg3, var(--fg2));
    font-style: italic;
    margin-top: 2.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--card-border, rgba(255,255,255,0.1));
  }

  .rg-page strong {
    color: var(--fg);
  }

  .bg-light {
    background-color: var(--bg2, #f8f9fa) !important;
    color: var(--fg) !important;
  }

  .bg-dark {
    background-color: var(--bg3, #1a1a2e) !important;
    color: var(--fg) !important;
  }