/* ============================================================
   MOOD DOCS — документация (#/docs) и CMS-страницы, с нуля.
   Заменяет для mood файлы cms-docs-hub.css и cms-policy.css,
   которые остались на легаси-палитре (золото, белые rgba)
   и не поддерживают светлую тему.
   Разметку генерируют documentation-hub.js и renderCmsPage(),
   поэтому все классы ниже — контракт, менять их нельзя.
   Порядок: страница → хаб → навигация → контент → типографика
   → аккордеон → CMS-блоки → адаптив → светлая тема.
   ============================================================ */

/* ------------------------------------------------------------
   1. ОБОЛОЧКА СТРАНИЦЫ
   ------------------------------------------------------------ */
#pageCmsContent {
    padding-bottom: var(--space-7);
}

/* ------------------------------------------------------------
   2. ХАБ ДОКУМЕНТАЦИИ
   ------------------------------------------------------------ */
.docs-hub {
    max-width: 1320px;
    margin-inline: auto;
    padding: var(--space-5) var(--gutter) 0;
}

.docs-hub--loading {
    opacity: 0.6;
    pointer-events: none;
}

.docs-hub__loading {
    padding: var(--space-7) var(--space-5);
    color: var(--text-dim);
    text-align: center;
}

/* Скелетон повторяет форму страницы, чтобы переход к контенту
   не выглядел как перерисовка с нуля. */
.docs-hub__skeleton {
    background: linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);
    background-size: 200% 100%;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    animation: docsSkeleton 1.4s ease-in-out infinite;
}

.docs-hub__skeleton--nav { height: 420px; }
.docs-hub__skeleton--main { height: 520px; }

@keyframes docsSkeleton {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .docs-hub__skeleton { animation: none; }
}

.docs-hub__title {
    margin: 0 0 var(--space-5);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--border);
    font-size: clamp(24px, 3vw, 34px);
}

.docs-hub__layout {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: var(--space-6);
    align-items: start;
}

.docs-hub--single-doc .docs-hub__layout {
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
}

/* ------------------------------------------------------------
   3. НАВИГАЦИЯ — индекс документов и оглавление одного документа
   ------------------------------------------------------------ */
.docs-hub__sidebar {
    position: sticky;
    top: calc(var(--header-stack-offset, var(--mood-header-h)) + var(--space-4));
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.docs-hub__sidebar-head {
    padding: var(--space-4) var(--space-4) var(--space-3);
    border-bottom: 1px solid var(--border);
}

.docs-hub__sidebar-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--text-dim);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.docs-hub__sidebar-title {
    margin: 0;
    color: var(--text);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
}

.docs-hub__back {
    display: block;
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    transition: color var(--transition), background var(--transition);
}

.docs-hub__back:hover {
    background: var(--surface-2);
    color: var(--accent);
}

.docs-hub__nav {
    max-height: min(72vh, 720px);
    overflow-y: auto;
    padding: var(--space-2) 0;
    overscroll-behavior: contain;
}

.docs-hub__nav--index {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--space-2);
}

.docs-hub__index-link {
    display: block;
    padding: var(--space-3) var(--space-3);
    border-radius: var(--radius-md);
    color: var(--text-muted);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    transition: color var(--transition), background var(--transition);
}

.docs-hub__index-link:hover {
    background: var(--surface-2);
    color: var(--text);
}

.docs-hub__nav--toc {
    padding: var(--space-2) var(--space-2) var(--space-3);
}

.docs-hub__toc-group {
    padding: 2px 0;
}

.docs-hub__toc-group + .docs-hub__toc-group {
    border-top: 1px solid var(--border);
}

.docs-hub__toc-section {
    display: block;
    width: 100%;
    padding: var(--space-3) var(--space-3);
    border-radius: var(--radius-md);
    color: var(--text);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    transition: color var(--transition), background var(--transition);
}

.docs-hub__toc-section:hover {
    background: var(--surface-2);
}

.docs-hub__toc-section.is-active {
    color: var(--accent);
    background: var(--accent-dim);
    box-shadow: inset 3px 0 0 var(--accent);
}

.docs-hub__toc-subs {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 6px 0 var(--space-2) var(--space-3);
    padding: 2px 0 var(--space-2) var(--space-4);
    border-left: 2px solid var(--border);
}

.docs-hub__toc-group:not(.is-active) .docs-hub__toc-subs {
    display: none;
}

.docs-hub__toc-sub {
    display: flex;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
    padding: 10px 14px;
    border-radius: var(--radius-md);
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
    word-break: break-word;
    transition: color var(--transition), background var(--transition), border-color var(--transition);
}

.docs-hub__toc-sub:hover {
    border-color: var(--border-strong);
    color: var(--text);
}

.docs-hub__toc-sub.is-active {
    background: var(--accent-dim);
    border-color: var(--accent-muted);
    color: var(--accent);
}

/* ------------------------------------------------------------
   4. КОНТЕНТ ДОКУМЕНТА
   ------------------------------------------------------------ */
.docs-hub__main {
    min-width: 0;
    padding: var(--space-6);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

/* Заголовки — цель для прокрутки, поэтому уводим их из-под шапки. */
.docs-hub__doc-heading,
.docs-hub__section-heading {
    scroll-margin-top: calc(var(--header-stack-offset, var(--mood-header-h)) + var(--space-5));
}

#casinoMain:has(.docs-hub) {
    scroll-padding-top: calc(var(--header-stack-offset, var(--mood-header-h)) + var(--space-3));
}

.docs-hub__doc-heading {
    margin: 0 0 var(--space-2);
    font-size: clamp(20px, 2.2vw, 26px);
}

.docs-hub__section-heading {
    margin: var(--space-5) 0 var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border);
    color: var(--text);
    font-size: 17px;
}

.docs-hub__doc-heading + .docs-hub__section-heading {
    margin-top: var(--space-4);
}

.docs-hub__intro {
    max-width: 74ch;
    margin-bottom: var(--space-5);
    color: var(--text-muted);
}

.docs-hub__body {
    max-width: 78ch;
}

/* Индекс всех документов */
.docs-hub__index-lead {
    margin: 0 0 var(--space-5);
    max-width: 62ch;
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.55;
}

.docs-hub__index-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-3);
}

.docs-hub__index-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-5);
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    color: var(--text);
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    transition: border-color var(--transition), background var(--transition), transform 0.2s ease;
}

.docs-hub__index-card:hover {
    background: var(--accent-dim);
    border-color: var(--accent-muted);
    transform: translateY(-1px);
}

.docs-hub__index-card-arrow {
    color: var(--accent);
    font-size: 18px;
    line-height: 1;
}

/* Статьи раздела — непрерывное чтение вместо аккордеона */
.docs-hub__articles {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    max-width: 78ch;
}

.docs-hub__article {
    padding: var(--space-4) 0;
    border-bottom: 1px solid var(--border);
    scroll-margin-top: calc(var(--header-stack-offset, var(--mood-header-h)) + var(--space-5));
}

.docs-hub__article:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.docs-hub__article.is-target {
    padding-left: var(--space-3);
    border-left: 3px solid var(--accent);
}

/* Каждый подпункт — один абзац; номер уже в <strong> внутри body_html */
.docs-hub__article-body {
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.7;
}

.docs-hub__article-body > ul,
.docs-hub__article-body > .cms-policy-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.docs-hub__article-body > ul > li,
.docs-hub__article-body > .cms-policy-list > li {
    margin: 0;
    padding: 0;
}

.docs-hub__article-body > ul > li strong:first-child,
.docs-hub__article-body > .cms-policy-list > li strong:first-child {
    color: var(--accent);
    font-weight: 700;
    margin-right: 0.35em;
}

.docs-hub__article-body p {
    margin: 0 0 0.85em;
}

.docs-hub__article-body ul,
.docs-hub__article-body ol {
    margin: 0 0 0.85em;
    padding-left: 1.25em;
}

.docs-hub__article-body li {
    margin-bottom: 0.35em;
}

.docs-hub__article-body strong {
    color: var(--text);
}

.docs-hub__placeholder {
    padding: var(--space-6) var(--space-5);
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius-md);
    color: var(--text-dim);
    text-align: center;
}

.docs-hub__placeholder p {
    margin: 0;
}

/* ------------------------------------------------------------
   5. ТИПОГРАФИКА ПРОИЗВОЛЬНОГО HTML ИЗ АДМИНКИ
   Текст блоков приходит из БД, поэтому стилизуем сами теги:
   рассчитывать на классы в контенте нельзя.
   ------------------------------------------------------------ */
.cms-text-content {
    color: var(--text-muted);
    font-size: 14.5px;
    line-height: 1.7;
    overflow-wrap: break-word;
}

.cms-text-content > :first-child { margin-top: 0; }
.cms-text-content > :last-child { margin-bottom: 0; }

.cms-text-content p {
    margin: 0 0 1em;
}

.cms-text-content h2,
.cms-text-content h3,
.cms-text-content h4 {
    margin: 1.75em 0 0.6em;
    color: var(--text);
}

.cms-text-content h2 { font-size: 19px; }
.cms-text-content h3 { font-size: 16.5px; }
.cms-text-content h4 { font-size: 15px; font-weight: 700; }

.cms-text-content strong,
.cms-text-content b {
    color: var(--text);
    font-weight: 700;
}

.cms-text-content a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color var(--transition);
}

.cms-text-content a:hover { color: var(--accent-hover); }

/* Маркеры возвращаем: глобальный reset снимает list-style. */
.cms-text-content ul,
.cms-text-content ol {
    margin: 0.75em 0 1em;
    padding-left: 1.35em;
}

.cms-text-content ul { list-style: disc; }
.cms-text-content ol { list-style: decimal; }

.cms-text-content li {
    margin-bottom: 0.45em;
}

.cms-text-content li::marker {
    color: var(--accent);
}

.cms-text-content ol li::marker {
    color: var(--text-dim);
    font-weight: 700;
}

.cms-text-content blockquote {
    margin: 1em 0;
    padding: var(--space-3) var(--space-4);
    border-left: 3px solid var(--accent);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    background: var(--accent-dim);
    color: var(--text);
}

.cms-text-content code {
    padding: 2px 6px;
    border-radius: 6px;
    background: var(--surface-3);
    color: var(--text);
    font-family: var(--font-mono);
    font-size: 0.9em;
}

.cms-text-content pre {
    margin: 1em 0;
    padding: var(--space-4);
    overflow-x: auto;
    border-radius: var(--radius-md);
    background: var(--bg-deep);
}

.cms-text-content pre code {
    padding: 0;
    background: none;
}

.cms-text-content hr {
    margin: 1.5em 0;
}

.cms-text-content img {
    margin: 1em 0;
    border-radius: var(--radius-md);
}

.cms-text-content table {
    margin: 1em 0;
    font-size: 13.5px;
}

.cms-text-content th,
.cms-text-content td {
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.cms-text-content th {
    background: var(--surface-2);
    color: var(--text);
    font-weight: 700;
}

/* ------------------------------------------------------------
   6. АККОРДЕОН ПОЛИТИК
   ------------------------------------------------------------ */
.cms-policy-wrap {
    max-width: 960px;
    margin-inline: auto;
}

.cms-policy-intro-slot {
    margin-bottom: var(--space-5);
    color: var(--text-muted);
}

.cms-policy-lead {
    margin: 0 0 var(--space-4);
    color: var(--text);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

.cms-policy-accordion,
.docs-hub__accordion {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.cms-policy-item {
    overflow: hidden;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    transition: border-color var(--transition);
}

.cms-policy-item[open] {
    border-color: var(--border-strong);
}

.cms-policy-summary {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    color: var(--text);
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.4;
    list-style: none;
    cursor: pointer;
    transition: background var(--transition);
}

.cms-policy-summary::-webkit-details-marker { display: none; }

.cms-policy-summary:hover {
    background: var(--surface-3);
}

.cms-policy-summary-text {
    flex: 1;
    min-width: 0;
    line-height: 1.35;
}

.cms-policy-chevron {
    flex: none;
    width: 7px;
    height: 7px;
    border-right: 2px solid var(--accent);
    border-bottom: 2px solid var(--accent);
    transform: rotate(-45deg);
    transition: transform var(--transition);
}

.cms-policy-item[open] .cms-policy-chevron {
    transform: rotate(45deg);
}

.cms-policy-body {
    max-width: 78ch;
    padding: 0 var(--space-4) var(--space-4);
}

.cms-policy-body blockquote,
.cms-policy-quote {
    margin: 1em 0;
    padding: var(--space-3) var(--space-4);
    border-left: 3px solid var(--accent);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    background: var(--accent-dim);
    color: var(--text);
}

.cms-policy-body blockquote p,
.cms-policy-quote p {
    margin: 0;
}

.cms-policy-body blockquote p + p,
.cms-policy-quote p + p {
    margin-top: 0.5em;
}

.cms-policy-meta-list {
    display: grid;
    gap: var(--space-2) var(--space-4);
    margin: 0 0 var(--space-5);
    font-size: 13.5px;
}

.cms-policy-meta-list div {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-3);
}

.cms-policy-meta-list dt {
    margin: 0;
    color: var(--text-dim);
    font-weight: 600;
}

.cms-policy-meta-list dd {
    margin: 0;
    color: var(--text);
}

.cms-policy-intro--legal {
    padding: var(--space-4) var(--space-5);
    background: var(--grad-soft);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
}

.cms-policy-meta-list--grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.cms-policy-intro-note {
    margin: 0;
    color: var(--text-dim);
    font-size: 13.5px;
    line-height: 1.55;
}

.cms-policy-subheading {
    margin: 1.35em 0 0.55em;
    color: var(--text);
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.4;
}

.cms-policy-body .cms-policy-subheading:first-child {
    margin-top: 0;
}

/* Списки и таблицы, размеченные редактором явными классами. */
.cms-policy-list {
    margin: 0.5em 0 0.75em;
    padding-left: 1.35em;
    list-style: disc;
}

.cms-policy-list li {
    margin-bottom: 0.45em;
}

.cms-policy-list li::marker { color: var(--accent); }

.cms-policy-table-wrap {
    margin: 1em 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cms-policy-table {
    min-width: 520px;
    font-size: 13.5px;
}

.cms-policy-table th,
.cms-policy-table td {
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.cms-policy-table th {
    background: var(--surface-3);
    color: var(--text);
    font-weight: 700;
}

.cms-policy-table-wrap--wide .cms-policy-table {
    min-width: 960px;
    font-size: 12.5px;
}

.cms-policy-table-note {
    margin: 0.75em 0 0;
    color: var(--text-dim);
    font-size: 13px;
    line-height: 1.5;
}

.cms-policy-ordered-list {
    margin: 0.5em 0 0;
    padding-left: 1.35em;
}

.cms-policy-ordered-list li {
    margin-bottom: 0.35em;
}

.cms-policy-ordered-list li::marker {
    color: var(--accent);
    font-weight: 700;
}

.cms-policy-games-excluded {
    max-height: min(420px, 50vh);
    margin: var(--space-5) 0;
    padding: var(--space-4);
    overflow-y: auto;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
}

.cms-policy-games-excluded__lead {
    margin: 0 0 var(--space-2);
    color: var(--text);
    font-size: 13.5px;
    font-weight: 700;
}

.cms-policy-games-excluded__list {
    margin: 0;
    color: var(--text-dim);
    font-size: 12.5px;
    line-height: 1.6;
    word-break: break-word;
}

/* ------------------------------------------------------------
   7. CMS-СТРАНИЦЫ И БЛОКИ
   ------------------------------------------------------------ */
.cms-page {
    max-width: 1100px;
    margin-inline: auto;
    padding: var(--space-5) var(--gutter) 0;
}

.cms-page-title {
    margin: 0 0 var(--space-5);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--border);
    font-size: clamp(24px, 3vw, 34px);
}

.cms-page-error {
    max-width: 560px;
    margin: var(--space-7) auto;
    padding: var(--space-6);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    text-align: center;
}

.cms-page-error h2 {
    margin: 0 0 var(--space-2);
    font-size: 19px;
}

.cms-page-error p {
    margin: 0;
    color: var(--text-muted);
}

.cms-page-error__retry {
    margin-top: var(--space-4);
    padding: var(--space-2) var(--space-5);
    background: var(--surface-2);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-pill);
    color: var(--text);
    font-size: 13.5px;
    font-weight: 600;
    transition: background var(--transition), border-color var(--transition);
}

.cms-page-error__retry:hover {
    background: var(--surface-3);
    border-color: var(--accent);
}

.cms-block + .cms-block {
    margin-top: var(--space-5);
}

.cms-html-block {
    color: var(--text-muted);
    line-height: 1.7;
}

.cms-image-block {
    display: flex;
}

.cms-image-block img {
    border-radius: var(--radius-md);
}

.cms-image-block--center { justify-content: center; }
.cms-image-block--right { justify-content: flex-end; }
.cms-image-block--left { justify-content: flex-start; }

.cms-gallery {
    display: grid;
    gap: var(--space-3);
}

.cms-gallery-item img {
    width: 100%;
    border-radius: var(--radius-md);
}

.cms-banner {
    padding: var(--space-6);
    overflow: hidden;
    background: var(--grad-soft);
    background-size: cover;
    background-position: center;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
}

.cms-banner-content {
    color: var(--text);
}

.cms-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cms-table {
    min-width: 520px;
    font-size: 13.5px;
}

.cms-table th,
.cms-table td {
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.cms-table th {
    background: var(--surface-2);
    color: var(--text);
    font-weight: 700;
}

/* FAQ раскрывается классом open на элементе. */
.cms-faq {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.cms-faq-item {
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
}

.cms-faq-question {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    color: var(--text);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition);
}

.cms-faq-question:hover {
    background: var(--surface-2);
}

.cms-faq-arrow {
    flex: none;
    color: var(--accent);
    font-size: 18px;
    line-height: 1;
    transition: transform var(--transition);
}

.cms-faq-item.open .cms-faq-arrow {
    transform: rotate(90deg);
}

.cms-faq-answer {
    display: none;
    padding: 0 var(--space-4) var(--space-4);
    color: var(--text-muted);
    line-height: 1.7;
}

.cms-faq-item.open .cms-faq-answer {
    display: block;
}

/* ------------------------------------------------------------
   8. АДАПТИВ
   ------------------------------------------------------------ */
@media (max-width: 1000px) {
    .docs-hub__layout {
        grid-template-columns: 1fr;
    }

    /* Навигация уезжает наверх, поэтому ограничиваем её высоту:
       иначе список документов вытесняет текст за экран. */
    .docs-hub__sidebar {
        position: static;
    }

    .docs-hub__nav {
        max-height: 40vh;
    }

    .docs-hub__toc-subs {
        display: flex;
    }

    .docs-hub__main {
        padding: var(--space-5);
    }
}

@media (max-width: 640px) {
    .docs-hub,
    .cms-page {
        padding: var(--space-4) var(--space-4) 0;
    }

    .docs-hub__title,
    .cms-page-title {
        margin-bottom: var(--space-4);
        padding-bottom: var(--space-3);
    }

    .docs-hub__main {
        padding: var(--space-4);
        border-radius: var(--radius-md);
    }

    .docs-hub__section-heading {
        margin-top: var(--space-4);
    }

    .cms-policy-summary,
    .cms-faq-question {
        padding: var(--space-3);
    }

    .cms-policy-body,
    .cms-faq-answer {
        padding: 0 var(--space-3) var(--space-3);
    }

    .cms-banner {
        padding: var(--space-5) var(--space-4);
    }
}

/* ------------------------------------------------------------
   9. СВЕТЛАЯ ТЕМА
   ------------------------------------------------------------ */
html[data-theme="light"] .docs-hub__sidebar,
html[data-theme="light"] .docs-hub__main,
html[data-theme="light"] .cms-page-error,
html[data-theme="light"] .cms-faq-item {
    background: #FFFFFF;
}

html[data-theme="light"] .cms-policy-item {
    background: #FFFFFF;
}

html[data-theme="light"] .cms-policy-summary:hover,
html[data-theme="light"] .docs-hub__toc-section:hover,
html[data-theme="light"] .docs-hub__toc-sub:hover,
html[data-theme="light"] .docs-hub__index-link:hover,
html[data-theme="light"] .docs-hub__back:hover,
html[data-theme="light"] .cms-faq-question:hover {
    background: var(--surface-2);
}

html[data-theme="light"] .docs-hub__index-card {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] .docs-hub__toc-sub {
    background: #f8fafc;
    border-color: rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] .docs-hub__toc-subs {
    border-left-color: rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .cms-text-content th,
html[data-theme="light"] .cms-policy-table th,
html[data-theme="light"] .cms-table th {
    background: var(--surface-2);
}

html[data-theme="light"] .cms-policy-games-excluded,
html[data-theme="light"] .cms-text-content pre {
    background: var(--surface-2);
}
