.btn_close {
  border: 0;
  background: transparent;
  color: var(--color-text);
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  margin-bottom: 12px;
}

.cards-container .card-image{ display: block; width: 100%; height: 100%; object-fit: cover; }

[data-hngdvy0="vl8qf09"].main_wrapper {
  position: fixed;
  inset: 0;
  /* Above the mobile sticky-header z-index (55, header_inline_fixed*) so the
     open drawer's close button / home link never render under the header. */
  z-index: 58;
  pointer-events: none;
  background: transparent;
}

.menu_list .action_btn .item_link {
  margin-top: 12px;
  justify-content: center;
  background: var(--color-accent);
  color: var(--color-on-accent, #fff) !important;
  border-radius: var(--ui-radius, 8px);
  padding: 12px 16px;
  font-weight: 700;
  box-shadow: none;
  transform: none;
  filter: none;
}

/* dropdown panels overlay outside the header box — no ancestor may scroll or clip them.
   A non-visible overflow on either axis computes the other axis to auto, which both clips
   the panel and adds a scrollbar as soon as it opens. */
.mod_header,
.mod_header .header_container,
.mod_header .header_container > .nav_child,
.mod_header .nav-menu-item {
  overflow: visible;
}

.mod_header .nav-menu-link:hover { color: var(--color-accent); }

.mod_footer {
  background: var(--color-surface);
  border-top: 0 !important;
  box-shadow: 0 -4px 24px color-mix(in srgb, var(--color-text) 8%, transparent);
}

.benefit-section .benefit-item{
  padding: clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) calc(clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) + 8px);
  border: 1px dashed var(--color-border-strong);
  background: color-mix(in srgb, var(--color-surface) 90%, var(--color-accent-soft));
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
  box-sizing: border-box; min-width: 0;
}

.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;min-width:0}

.review-carousel {
  display: grid; gap: 21px;
  padding: clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px); background: var(--color-surface-inverted);
  border-radius: 4px; color: var(--color-on-contrast);
}

.__gone__ .dropdown_inner .nav-menu-label,
.__gone__ .dropdown_inner .nav-menu-link {
  color: var(--color-text);
}

/* ===== Sidebar: universal collapsible submenu (structure-based, variant-agnostic) =====
   Split hit targets: parent <a> navigates; .sub_menu_toggle expands/collapses. */
.sidebar_right li:has(> ul) {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

/* CLS media: reserve box before image decode */
.split-section_content .split-text-image{aspect-ratio:4 / 3;overflow:hidden}

.ribbon-banner .ribbon-text{ margin: 0; color: var(--color-text); }

/* ensureControls() (see the JS bundle) wraps the scrolling track in a plain
   .slider_container div rather than appending buttons as track children —
   a button living inside a CSS Grid (grid-auto-flow:column) or Flexbox track
   becomes another row item and gets its own column/flex slot sized by the
   track's own rules (e.g. grid-auto-columns), regardless of the button's own
   width or margin tricks — that both detaches it visually from the real
   content and inflates scrollWidth so "nothing left to scroll" never
   registers. The host is a non-scrolling sibling wrapper instead, so plain
   position:absolute anchors correctly to the track's visible box without the
   button ever becoming part of what's being measured/scrolled. */
/* The chrome layouts style every direct child of the content column via
   `.contentMain > *` (width/max-width/min-width/box-sizing, so wide content
   can't blow out the page). Wrapping a block's root in .slider_container
   makes the host the new direct child instead of the block — replicate
   those properties here so that rule's protection isn't lost. */
.slider_container {
  position: relative; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
}

.how-it-works{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(140px, calc((100% - 3px) / 4)),1fr));gap:1px;background:var(--color-border);border:1px solid var(--color-border);min-width:0}

.feature-grid .feature-heading{ margin: 0 0 8px; color: var(--color-text); position: relative; }

.mod_footer .footer_copy {
  margin: 0;
  padding-top: 4px;
  border-top: 1px dashed color-mix(in srgb, var(--color-border) 80%, transparent);
  color: var(--color-muted);
  font-size: 0.82rem;
}

.payout-table p{grid-column:1 / -1;grid-row:2;margin:0;color:var(--color-muted);line-height:1.55}

.sidebar_right li:has(> ul).is_open > .sub_menu_toggle::before {
  transform: rotate(90deg);
}

.mod_header {
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: 14px 19px;
}

.brand-logo-section .brand-logo-item span{display:block;line-height:1.3;color:var(--color-muted);word-break:break-word}

.article_content a:hover { text-decoration: underline; }

.ribbon-banner{
  display: grid; gap: 10px; justify-items: center; text-align: center;
  padding: 29px 21px;
  background: var(--color-accent-soft); border-top: 3px solid var(--color-accent);
  box-sizing: border-box; min-width: 0;
}

.author-card .author-badge{font-weight:800;color:var(--color-accent)}

.mod_block .hero_title{
  margin: 0;
  color: var(--color-on-contrast);
  overflow-wrap: anywhere;
  line-height: 1.15;
  max-width: 40rem;
}

.feature-grid .feature-point::before{
  content: counter(ft, decimal-leading-zero);
  position: absolute; right: 8px; top: 4px;
  font-size: 3rem; font-weight: 800; line-height: 1;
  color: color-mix(in srgb, var(--color-accent) 22%, transparent);
  pointer-events: none;
}

[data-hngdvy0="vl8qf09"] .offcanvas_drawer {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  background: var(--color-surface);
  color: var(--color-text);
  padding: 15px 19px;
  opacity: 0;
  visibility: hidden;
  transform: none;
  transition: opacity .28s ease, visibility .28s ease;
  overflow-y: auto;
  box-sizing: border-box;
}

@media(max-width:800px){.pros-cons-wrap{grid-template-columns:1fr}.pros-cons-wrap .pros-column{border-right:0;border-bottom:1px solid color-mix(in srgb,var(--color-on-contrast) 22%,transparent)}}

.author-card .author-summary{color:var(--color-muted)}

a[class*="btn"]:hover,
a[class*="-cta-"]:hover,
button:hover,
[class*="Btn"]:hover,
[class*="-btn-"]:hover {
  transform: var(--btn-hover-transform);
  filter: var(--btn-hover-filter);
  box-shadow: var(--btn-hover-shadow);
}

.mod_header .nav-menu-link {
  color: var(--color-muted);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
}

.mod_block{
  padding: 28px 20px;
  border-radius: 4px;
  background-color: var(--color-contrast);
  color: var(--color-on-contrast);
  display: grid;
  gap: 21px;
  align-items: start;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  background-image:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--color-contrast) 88%, transparent),
      color-mix(in srgb, var(--color-contrast) 94%, transparent)
    ),
    var(--hero-bg, none) center/cover no-repeat,
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 10px,
      color-mix(in srgb, var(--color-on-contrast) 6%, transparent) 10px,
      color-mix(in srgb, var(--color-on-contrast) 6%, transparent) 11px
    );
}

.article-section .article-body{ color: var(--color-muted); line-height: 1.7; }

.slider_bar {
  display: block; height: 100%; width: 8%;
  background: var(--color-accent); border-radius: inherit;
  transition: width .2s ease;
}

/* .outer_wrap fades a button to transparent and disables clicks (keeping its
   layout space, so nothing reflows) once there's nothing left to scroll
   in that direction. */

/* Attribute-scoped (not .slider_nav_btn-scoped) so this edge-hide affordance
   also applies to block variants that mount their own real prev/next buttons
   (e.g. gallery/v7) instead of the auto-injected ones above. */
[data-0k8fsbn], [data-gx47arn] { transition: opacity .15s ease; }

[data-8w14mhk="v5c3a6u"] .mod_footer,
[data-8w14mhk="v5c3a6u"] > .mod_footer,
[data-8w14mhk="v5c3a6u"] > footer {
  grid-column: 1 / span 2;
  grid-row: 3;
}

.cards-container .cards-layout-grid{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(max(200px, calc((100% - 3 * 21px) / 4)), 1fr));
  gap: 21px; padding-top: 12px; box-sizing: border-box; min-width: 0;
}

.stats-overview .stat-box span { color: color-mix(in srgb, var(--color-on-contrast) 80%, transparent); }

/* border_bottom_solid — persistent thin border, accent on hover/active */
 [data-ce2jtd3] {
  padding-bottom: 3px; border-bottom: 1px solid color-mix(in srgb, var(--color-border-strong) 70%, transparent);
}

.process-flow .step-marker{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:4px;background:var(--color-accent-2);color:var(--color-on-accent);font-size:.8rem}

.split-section_content .split-text-content h2{ margin: 0 0 10px; color: var(--color-text); }

.mod_footer .footer_nav a {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: var(--ui-radius, 10px);
  background: color-mix(in srgb, var(--color-bg) 80%, var(--color-surface));
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 600;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-border) 75%, transparent);
}

.menu_list .accordion_body {
  display: none;
  gap: 0;
  padding: 2px 0 8px 10px;
  margin: 0 0 4px 8px;
  border-left: 2px solid var(--color-border);
}

.sidebar-aside .nav-menu-link:hover {
  color: var(--color-accent);
  border-color: color-mix(in srgb, var(--color-accent) 40%, transparent);
}

.author-card{display:grid;gap:12px;padding:clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) calc(clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) + 8px);background:var(--color-surface);border-top:3px solid var(--color-accent);border-bottom:3px solid var(--color-accent-2);min-width:0;box-sizing:border-box}

html {
  background: var(--color-bg, #f7f6f8);
  scroll-behavior: smooth;
  /* Sticky/fixed headers — keep hash targets visible below chrome. */
  scroll-padding-top: var(--header-h, 80px);
}

.mod_footer .footer-bottom-bar {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px 20px;
  border-radius: calc(var(--ui-radius, 12px) + 4px);
  background: var(--color-surface);
  box-shadow:
    0 10px 30px color-mix(in srgb, var(--color-text) 10%, transparent),
    0 1px 0 color-mix(in srgb, var(--color-border) 80%, transparent);
}

[data-8w14mhk="v5c3a6u"] .main-navigation {
  grid-column: 1 / span 2;
  grid-row: 1;
  border-bottom: 1px solid var(--color-border);
}

.how-it-works p{margin:0;color:color-mix(in srgb,var(--color-on-contrast) 78%,transparent);font-size:.88rem}

*, *::before, *::after { box-sizing: border-box; }

.faq-compact-group .faq-compact-tag{margin:0 0 4px;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text)}

.faq-section .faq-question{
  cursor: pointer; color: var(--color-accent-contrast); font-weight: 600; list-style: none;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.95rem;
}

.mod_header .dropdown_inner {
  max-width: calc(100vw - 24px);
}

[data-ce2jtd3]:hover,
 [data-ce2jtd3]:focus-visible,
 [data-ce2jtd3][aria-current="page"] {
  border-bottom-color: var(--color-accent);
}

:root {
  --font-heading: 'Sora', system-ui, sans-serif;
  --font-body: 'Nunito Sans', system-ui, sans-serif;
  --ui-radius: 4px;
  --btn-hover-transform: none;
  --btn-hover-filter: none;
  --btn-hover-shadow: none;
  --text-scale: 1;
  --heading-scale: 1.06;
  --site-scale: 1.06;
}

@media(max-width:600px){.payout-table .payout-row{grid-template-columns:1fr}.payout-table .payout-info{grid-column:1;grid-row:1}.payout-table .payout-heading{grid-column:1;grid-row:2}}

.faq-compact-group .faq-compact-row{border-bottom:1px solid var(--color-border);padding-bottom:6px}

/* snap_plain / peek_soft / rail_left / glow_active / contrast_strip / brutal_frame
   all deliberately keep prev/next buttons and the progress bar out of their look,
   but were also hiding dots entirely — leaving zero visible manual-navigation
   affordance on desktop (autoplay + native scroll only). Give them a shared plain
   dots row via an UNSCOPED fallback (no html[data-hjpnej0="vpeu9wm"] prefix) rather
   than one rule naming all 6 style values — css_selection_filter.py's site-level
   filter drops a rule outright if it references more than one non-selected value
   for the same attribute, so a rule listing 6 different data-hjpnej0 values
   only ever matches the one this specific site rolled and gets deleted entirely
   on every other site (confirmed: this exact mistake shipped with zero dots on
   the very first site checked). An unscoped rule has no site-level attribute
   reference at all, so the filter always keeps it; the 6 styles above that DO
   want their own colored dots already out-specificity this via their
   html[data-hjpnej0="vpeu9wm"] prefix, so they aren't affected. */
.slider_pagination {
  display: flex; gap: 8px; justify-content: center;
  margin-top: -2.25rem; margin-bottom: 0; min-height: 1.5rem; align-items: center;
}

.mod_header .dropdown_inner .dropdown_inner {
  top: -8px;
  left: calc(100% - 8px);
  min-width: 200px;
}

[data-8w14mhk="v5c3a6u"] .com_content-area {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 29px 21px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21px;
  min-width: 0;
  overflow-x: clip;
}

.layout-two-columns .layout-col-left{
  color: var(--color-muted);
  border-right: 1px solid var(--color-border-strong);
}

.mod_header .dropdown_inner .dropdown_inner::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 0;
  bottom: 0;
  width: 12px;
}

.article-section{
  padding: 29px calc(21px + 12px);
  border-left: 8px solid var(--color-accent-2); background: var(--color-surface);
  box-sizing: border-box; min-width: 0;
}

.breadcrumb-nav .breadcrumb-item a{color:var(--color-accent);text-decoration:none}

@font-face {
  font-family: 'Nunito Sans';
  src: url('/assets/fonts/nunito-sans-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: optional;
}

[data-nn4f97c]::-webkit-scrollbar { display: none; }

/* fixed_right — floating FAB top-right (legacy default). */
 .nav_toggle {
  position: fixed;
  top: 12px;
  right: 12px;
  left: auto;
  bottom: auto;
}

.stats-overview {
  display: flex; flex-wrap: wrap; gap: 21px; justify-content: center;
  padding: 29px 21px;
  background: var(--color-contrast); color: var(--color-on-contrast);
  border-radius: 4px;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 12px, color-mix(in srgb, var(--color-on-contrast) 6%, transparent) 12px, color-mix(in srgb, var(--color-on-contrast) 6%, transparent) 13px);
}

html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  max-width: 100%;
  overflow-x: clip;
  font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
  background: var(--color-bg, #f7f6f8);
  color: var(--color-text, #261a2c);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

h3 { font-size: calc(1.35rem * var(--heading-scale, 1)); }

.category-grid .category-label{margin:0 0 6px;color:var(--color-text)}

/* Hub pages with nested children are links, not accordion buttons — keep
   the nested list visible so mobile still shows every page. */
.menu_list li:not(.accordion_group) > .accordion_body {
  display: grid;
}

/* Ancestor of the current page: subtler cue than the leaf current item. */
.sidebar_right li:has(> ul):not(.active):has(.active) > a,
.sidebar_right li:has(> ul):not(.active):has(.active) > span {
  color: var(--color-text);
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

.brand-logo-section{display:flex;flex-direction:column;gap:12px;min-width:0}

.sidebar-aside .nav-menu-label {
  display: block; font-size: 0.7rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--color-muted); margin-bottom: 6px;
}

.mod_header .header_container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: min(100%, 1018px);
  margin: 0 auto;
}

.mod_header .nav-menu-item { list-style: none; }

.payout-table .payout-heading{grid-column:2;grid-row:1;margin:0;color:var(--color-text);min-width:0}

.process-flow{display:grid;gap:0;background:var(--color-contrast);border-radius:min(4px, 20px);overflow:hidden;min-width:0}

.author-card .author-title{margin:0 0 8px;color:var(--color-muted);font-size:.85rem}

.mod_footer .footer-extra-nav a:hover {
  color: var(--color-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 40%, transparent);
}

[data-7m7f7uq="v7b54p7"] [data-ce2jtd3] { padding-bottom: 2px; }

/* Global nav_link decoration skins — selected via html[data-sz8w5mn="vnavoxf"].
   Applies to plain navigational links (header/sidebar/footer menu items)
   tagged with the plain [data-ce2jtd3] marker attribute; [data-7m7f7uq] marks
   which chrome region the link lives in ("header" | "sidebar" | "footer")
   so a shared style id can still read right at each scale — footer text is
   small/muted so most skins tone the effect down there. CTA pill buttons are
   intentionally NOT tagged [data-ce2jtd3] and stay outside this axis. */

 [data-ce2jtd3] {
  position: relative;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease,
    text-shadow .18s ease, border-color .18s ease;
}

.pros-cons-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--color-contrast);color:var(--color-on-contrast);border-radius:min(4px, 20px);overflow:hidden;min-width:0}

.sidebar_right li:has(> ul).is_open > ul {
  display: grid;
}

[data-0k8fsbn].outer_wrap, [data-gx47arn].outer_wrap { opacity: 0; pointer-events: none; }

.process-flow .process-title{display:flex;gap:12px;align-items:center;padding:clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px);cursor:pointer;color:var(--color-on-contrast);list-style:none;font-weight:700}

.slider_nav_btn[data-gx47arn] { right: 0.4rem; }

.benefit-section .benefit-heading{
  margin: 0 0 8px; color: var(--color-accent-contrast);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.95rem; letter-spacing: 0.02em;
}

.split-section_content .split-text-image{
  min-height: 180px;
  border-radius: 4px;
  background: var(--color-contrast);
  border-left: 4px solid var(--color-accent-2);
  overflow: hidden;
  max-width: 100%;
  min-width: 0;
}

@font-face {
  font-family: 'Sora';
  src: url('/assets/fonts/sora-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.payout-table .payout-info{grid-column:1;grid-row:1;font-family:var(--font-mono,ui-monospace,monospace);font-weight:700;color:var(--color-accent);font-size:.85rem;white-space:nowrap}

/* Hide the whole control surface when the track doesn't actually overflow at
   the current viewport (e.g. a 4-item icon row exactly filling 4 desktop
   columns) — the JS toggles .is-scrollable on the host once it measures
   scrollWidth > clientWidth, re-checked on resize since desktop vs. mobile can
   flip this for the same block instance. Unscoped (no data-hjpnej0
   prefix) so every style gets this regardless of which one a site rolled. */
.slider_container:not(.is-scrollable) .slider_nav_btn,
.slider_container:not(.is-scrollable) .slider_pagination,
.slider_container:not(.is-scrollable) .slider_loading {
  display: none !important;
}

.action-section{
  padding: 29px 21px;
  background: var(--color-bg);
  border: 1px solid var(--color-border-strong);
  border-radius: 4px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
}

.sidebar_right li:has(> ul) > ul {
  flex: 1 1 100%;
  width: 100%;
  display: none;
  padding-left: 12px;
}

.slider_nav_btn[data-0k8fsbn] { left: 0.4rem; }

.faq-section .faq-block{
  border: 1px dashed var(--color-border-strong);
  padding: clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) calc(clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) + 8px);
  background: var(--color-bg); box-sizing: border-box; min-width: 0;
}

.faq-compact-group .faq-compact-answer{margin-top:6px;font-size:.85rem;color:var(--color-muted)}

.menu_list .accordion_body .item_link:hover {
  color: var(--color-accent);
}

.category-grid .category-icon{aspect-ratio:16/10;overflow:hidden;margin:0 0 12px;background:var(--color-accent-soft);border-radius:calc(4px - 2px)}

.slider_indicator:hover,
.slider_indicator:focus-visible,
.slider_indicator.active {
  background: var(--color-accent);
}

.slider_indicator {
  width: 8px; height: 8px; border-radius: 999px; border: 0;
  background: color-mix(in srgb, var(--color-muted) 45%, transparent);
  cursor: pointer; padding: 0;
}

.hero_cta_btn:hover, .btn_primary:hover { filter: brightness(1.06); }

.mod_footer .footer_nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.faq-compact-group .faq-compact-question::-webkit-details-marker{display:none}

.menu_list .list_item { list-style: none; margin: 0; }

.ribbon-banner .ribbon-action{
  background: var(--color-accent); color: var(--color-on-accent);
  padding: 8px 20px; text-decoration: none; font-weight: 700;
  border-radius: 4px;
}

.payout-table{display:grid;gap:21px;min-width:0}

/* Hub parent that is itself the current page: readable, not a fat tree paint. */
.sidebar_right li.active:has(> ul) > a {
  color: var(--color-text);
  font-weight: 700;
  background: color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));
  box-shadow: none;
}

.feature-grid .feature-point p{ margin: 0; color: var(--color-muted); position: relative; }

.article-section .article-heading{ margin: 0 0 12px; color: var(--color-text); }

.cards-container .card-list-item:nth-child(even){ transform: translateY(14px); }

@media (max-width: 900px) {
  /* !important: css_shuffle can place desktop grid rules after this block */
  [data-8w14mhk="v5c3a6u"].section_block {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  [data-8w14mhk="v5c3a6u"] .side-drawer { display: none !important; }
  [data-8w14mhk="v5c3a6u"] .com_content-area {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px;
    padding-right: 16px;
    align-items: stretch;
    gap: 21px;
  }
  [data-8w14mhk="v5c3a6u"] .com_content-area > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }
  [data-8w14mhk="v5c3a6u"] .mod_footer,
  [data-8w14mhk="v5c3a6u"] > .mod_footer,
  [data-8w14mhk="v5c3a6u"] > footer {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

.breadcrumb-nav .breadcrumb-item a:hover{text-decoration:underline}

.sidebar-aside .nav-menu-link {
  display: inline-flex; align-items: center; padding: 6px 11px;
  text-decoration: none; font-size: 0.82rem; font-weight: 600;
  color: var(--color-text);
  background: color-mix(in srgb, var(--color-bg) 75%, var(--color-surface));
  border: 1px solid color-mix(in srgb, var(--color-border) 75%, transparent);
  border-radius: 999px;
}

/* CLS media: reserve box before image decode */
.bet-product-grid .bet-product-card{aspect-ratio:4 / 3;overflow:hidden}

@media (max-width: 800px) {
  .split-section_content{ grid-template-columns: 1fr; }
  .split-section_content .split-text-image{ border-left: 0; border-top: 4px solid var(--color-accent-2); min-height: 120px; }
}

.hero_cta_btn, .btn_primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  background: var(--color-accent);
  color: var(--color-on-accent, #fff) !important;
  padding: 12px 22px;
  border-radius: var(--ui-radius, 8px);
  text-decoration: none;
}

h2 { font-size: calc(1.75rem * var(--heading-scale, 1)); }

/* ===== Header utility: nav list to the right ===== */
.mod_header .nav_child,
.mod_header ul:first-child {
  margin-left: auto;
}

.module_block {
  /* Approximate header + ~3 match rows before widget paint (mobile CLS). */
  min-height: 280px;
}

.bet-product-grid .bet-product-card {
  margin: 0; background: linear-gradient(145deg, var(--color-accent-soft), var(--color-accent));
  border-radius: 4px; overflow: hidden; border: 1px solid var(--color-border);
  min-height: 140px; display: grid; align-content: end;
}

.article_content a { color: var(--color-accent); font-weight: 600; text-decoration: none; }

.review-carousel .review-card {
  margin: 0; padding: 0 0 14px; background: transparent; border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-on-contrast) 18%, transparent);
}

.action-section p{ margin: 0; color: var(--color-muted); }

.history-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(160px, calc((100% - 3 * 21px) / 4)),1fr));gap:21px;min-width:0}

.sidebar_right li:has(> ul) > a,
.sidebar_right li:has(> ul) > span {
  flex: 1 1 auto;
  min-width: 0;
}

/* v6 — elevated surfaces + soft shadows */
.mod_header,
.mod_header,
header {
  background: var(--color-surface);
  border-bottom: 0 !important;
  box-shadow: 0 4px 24px color-mix(in srgb, var(--color-text) 10%, transparent);
}

.layout-two-columns{
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 21px;
  align-items: start;
}

.nav_toggle::after {
  content: "☰";
  font-size: 1.25rem;
  line-height: 1;
}

.brand-logo-section .brand-logo-lead{max-width:72ch;line-height:1.55;color:var(--color-text);font-size:.95rem}

.pros-cons-wrap .pros-column,.pros-cons-wrap .cons-column{padding:clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) calc(clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) + 10px);min-width:0;box-sizing:border-box}

/* Global slider / carousel skins — selected via html[data-hjpnej0="vpeu9wm"].
   Tracks/items use data-nn4f97c / data-xqy8och (and optional controls). */

 [data-nn4f97c] {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  /* overflow-x scrolling otherwise clips card shadows / bottom radii */
  padding-block: 12px 28px;
  box-sizing: border-box;
}

.mod_header .nav_child {
  display: flex;
  gap: 8px 18px;
  list-style: none;
  margin: 0 0 0 auto;
  padding: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.stats-overview .stats-heading { display: block; font-size: 1.8rem; color: var(--color-accent-2); }

h1 { font-size: calc(2.25rem * var(--heading-scale, 1)); }

.section_content { padding: 28px 0 8px; }

.layout-two-columns .layout-col-right{
  background: var(--color-accent-soft);
  border-radius: 4px;
  color: var(--color-text);
  border-left: 4px solid var(--color-accent-contrast);
}

html, body {
  font-family: var(--font-body);
}

.faq-section{
  display: grid; gap: 8px; box-sizing: border-box; min-width: 0;
}

.slider_loading {
  display: block; height: 3px; margin-top: -1.15rem; margin-bottom: 0; border-radius: 999px;
  background: color-mix(in srgb, var(--color-border) 80%, transparent); overflow: hidden;
}

.nav_toggle[aria-expanded="true"]::after {
  content: "✕";
}

.breadcrumb-nav .breadcrumb-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;align-items:center}

.promo-banner-wrap .promo_btn{
  background: transparent;
  color: var(--color-on-contrast);
  padding: 8px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid color-mix(in srgb, var(--color-on-contrast) 55%, transparent);
}

.history-timeline p{margin:0;color:var(--color-muted);font-size:.92rem}

.faq-compact-group{display:grid;gap:8px;padding:clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;min-width:0;box-sizing:border-box}

h4 { font-size: calc(1.15rem * var(--heading-scale, 1)); }

.brand-logo-section .brand-logo-item{flex:0 0 140px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-height:0;padding:14px 12px;border:2px dashed var(--color-border-strong);color:var(--color-muted);font-family:var(--font-mono,ui-monospace,monospace);font-size:.78rem;box-sizing:border-box;text-align:center}

.category-grid .category-icon img{width:100%;height:100%;object-fit:cover;display:block}

.mod_footer .footer-extra-nav {
  display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0;
}

.hero_title,
.mod_block h1 {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  line-height: 1.2;
}

.cards-container .card-copy{ margin: 0; color: var(--color-muted); }

.process-flow .accordion-content{padding:0 clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px);color:color-mix(in srgb,var(--color-on-contrast) 80%,transparent)}

h1, h2, h3, h4,
[class*="title"], [class*="Title"], [class*="headline"], [class*="Headline"] {
  font-family: var(--font-heading);
}

.author-card .author-name{margin:0 0 2px;color:var(--color-text)}

[data-8w14mhk]:has([data-ggadk4p="v1brm5j"]) .side-drawer {
  background: var(--color-surface);
  border: 0 !important;
  box-shadow: 4px 0 28px color-mix(in srgb, var(--color-text) 9%, transparent);
}

.faq-compact-group .faq-compact-question{cursor:pointer;font-size:.9rem;font-weight:600;color:var(--color-text);list-style:none}

.sidebar_right .sub_menu_toggle:focus-visible {
  box-shadow: inset 0 0 0 2px var(--color-accent, currentColor);
}

.cards-container .card-list-item{
  background: var(--color-bg); border: 1px solid var(--color-border-strong);
  padding: clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) calc(clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) + 8px);
  transform: translateY(0); box-sizing: border-box; min-width: 0;
  box-shadow: 10px 10px 0 var(--color-accent-soft);
}

[data-8w14mhk="v5c3a6u"].section_block {
  display: grid;
  grid-template-columns: 254px minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
  gap: 0;
  background: var(--color-bg);
  color: var(--color-text);
}

.feature-grid .feature-point{
  padding: clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) calc(clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) + 8px);
  background: var(--color-surface); box-sizing: border-box; min-width: 0;
  counter-increment: ft; position: relative; overflow: hidden;
}

@media (max-width: 900px) {
  .nav_toggle { display: inline-flex !important; }
  .layout_wrap {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /*
   * Sidebar shells: CSS rule shuffle can place desktop
   * `grid-template-columns: <aside> 1fr` AFTER this mobile block.
   * !important + structure selectors keep a single column even then.
   * .sidebar_right is fingerprint-aliased in lockstep with HTML.
   */
  .sidebar_nav,
  .sidebar_right {
    display: none !important;
  }
  *:has(> .sidebar_right) {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Reset grid placement only — do NOT force width:100% on every child
     (that stretches fixed .nav_toggle / burger into a full-width bar). */
  *:has(> .sidebar_right) > * {
    grid-column: auto !important;
    grid-row: auto !important;
    min-width: 0;
    box-sizing: border-box;
  }
  .nav_toggle {
    width: auto !important;
    max-width: none !important;
  }
  .main_stage {
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
  }
  .content_block,
  .mod_header,
  .mod_footer,
  .main_stage > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .split_view,
  .media_block {
    grid-template-columns: 1fr !important;
  }
  .hero_mod,
  .mod_block {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

.bet-product-grid .bet-product-card img { width: 100%; height: 100%; object-fit: cover; display: block; }

.slider_nav_btn {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 2.4rem; height: 2.4rem; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.35rem; line-height: 1;
  color: var(--color-on-accent); background: var(--color-accent);
  transition: opacity .15s ease;
}

.author-card .author-avatar{width:64px;height:64px;border-radius:16px;overflow:hidden;background:var(--color-accent-soft);display:grid;place-items:center}

[data-nn4f97c] {
  scroll-snap-type: x proximity; scrollbar-width: none;
  margin-bottom: 1.5rem;
}

.history-timeline .history-title{margin:0 0 6px;color:var(--color-text)}

.layout_wrap,
[data-8w14mhk] {
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}

.pros-cons-wrap .pros-column{border-right:1px solid color-mix(in srgb,var(--color-on-contrast) 22%,transparent)}

.how-it-works .step-number{display:block;margin:0 0 10px;font-size:1.5rem;font-weight:800;color:var(--color-accent-2)}

.action-section .action-heading{ margin: 0 0 6px; color: var(--color-text); }

.sidebar-aside .nav-menu-link {
  border-radius: var(--ui-radius, 8px);
  transition: background .15s ease, box-shadow .15s ease;
}

.mod_footer {
  margin-top: auto;
  padding: calc(35px * 0.85) 21px calc(35px * 1.2);
  /* !important: this variant keeps data-ggadk4p="v1brm5j" on its own root so the
     shared skin still lifts the header/sidebar to match (chrome_skins.css.tpl's
     [data-8w14mhk]:has([data-ggadk4p="v1brm5j"]) rules), but the pill look here comes
     entirely from .footerPanel below — without !important this ties on specificity with
     chrome_skins.css.tpl's own .footerRoot rule and randomly
     wins or loses per rebuild (css_shuffle reorders equal-specificity rules), showing a
     stray section-wide glow/background behind the pill on the builds where it loses. */
  background: transparent !important;
  box-shadow: none !important;
  border-top: 0 !important;
}

[data-hngdvy0="vl8qf09"].main_wrapper.is_open .offcanvas_drawer,
body.nav-open [data-hngdvy0="vl8qf09"] .offcanvas_drawer {
  opacity: 1;
  visibility: visible;
}

.section_header {
  color: var(--color-text);
  margin: 0 0 12px;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}

@font-face {
  font-family: 'Nunito Sans';
  src: url('/assets/fonts/nunito-sans-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: optional;
}

.split-section_content .split-text-content{
  padding: clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  min-width: 0;
  color: var(--color-muted);
}

.menu_list .item_link:hover,
.menu_list .item_label:hover {
  color: var(--color-accent);
  background: color-mix(in srgb, var(--color-accent) 10%, transparent);
}

.promo-banner-wrap .promo_title{ margin: 0; color: var(--color-on-contrast); }

/* a nav too wide for the bar wraps onto a second row instead of scrolling */
.mod_header .header_container > .nav_child {
  flex-wrap: wrap;
  min-width: 0;
}

.layout-two-columns .layout-col-left p:last-child,
.layout-two-columns .layout-col-right p:last-child{
  margin-bottom: 0;
}

/* Direct child only — descendant `.active .navLink` painted every nested
   link when a hub parent is current (fat stacked soft-green blocks). Soft fill
   must use dark text; never --color-on-accent (near-white) on accent-soft.
   !important: css_shuffle reorders rules, so variant `color: accent` can otherwise
   win and wash out labels on the soft fill.
   Also reset gradient_text's -webkit-text-fill-color / background-clip: soft
   opaque bg wins via !important while transparent text-fill would remain and
   erase the label on hover/active. */
 .sidebar-aside .sidebar-link-item.active > .nav-menu-link,
 .sidebar-aside .nav-menu-link.active,
 .sidebar-aside .nav-menu-link:hover {
  background: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface)) !important;
  box-shadow: none !important;
  color: var(--color-text) !important;
  -webkit-text-fill-color: var(--color-text) !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  font-weight: 600;
}

.sidebar_right .sub_menu_toggle {
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  position: relative;
  z-index: 1;
}

.slider_nav_btn,
 .slider_pagination { display: none !important; }

.review-carousel .review-quote { margin: 0 0 8px; color: color-mix(in srgb, var(--color-on-contrast) 88%, transparent); }

.review-carousel .review-author { color: var(--color-accent-2); font-style: normal; font-weight: 700; }

.menu_list, .menu_list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.menu_list .accordion_group.is_open > .item_label::after {
  transform: rotate(180deg);
}

.toc-container .toc_item_link{ flex: 0 0 auto; scroll-snap-align: start; }

.category-grid .category-tile{padding:clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;min-width:0;box-sizing:border-box}

.pros-cons-wrap .pros-list-item:last-child p,.pros-cons-wrap .cons-list-item:last-child p{margin-bottom:0}

.process-flow .process-step{border-bottom:1px solid color-mix(in srgb,var(--color-on-contrast) 18%,transparent)}

@media (max-width: 900px) {
  .mod_header .header_container > .nav_child,
  [data-8w14mhk] header > div > ul,
  header > div > ul {
    display: none !important;
  }
  /* CTA may be a list item or a sibling chip — never keep it in the sticky bar. */
  [data-8w14mhk] header .menu_action-btn,
  [data-8w14mhk] header [class*="menu_action"],
  [data-8w14mhk] header [class*="-cta"],
  header .menu_action-btn,
  header [class*="menu_action"],
  header [class*="-cta"] {
    display: none !important;
  }
  .mod_header .header_container,
  [data-8w14mhk] header > div,
  header > div {
    padding-right: 56px;
  }
}

.breadcrumb-nav [aria-current="page"]{color:var(--color-text);font-weight:600}

.mod_header .menu_action-btn a:hover { filter: brightness(1.05); }

.history-timeline .history-event{padding:clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px);background:var(--color-surface);border-top:3px solid var(--color-accent-contrast);border-radius:0 0 4px 4px;min-width:0;box-sizing:border-box}

.sidebar-aside .sidebar-menu {
  list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;
}

.review-carousel .review-card:last-child { border-bottom: 0; padding-bottom: 0; }

.menu_list .accordion_group > .item_label::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid currentColor;
  opacity: 0.55;
  transition: transform .2s ease;
  flex-shrink: 0;
}

.sidebar_right li:has(> ul) > a::after {
  content: none;
}

/* Logo spacing */
.sidebar_right a.home_page,
.sidebar_right > aside > a:first-of-type {
  display: block;
  margin-bottom: 12px;
}

.brand-logo-section .brand-logo-grid{display:flex;gap:21px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;min-width:0;align-items:stretch}

.pros-cons-wrap .pros-cons-title{display:block;margin:0 0 4px;color:var(--color-on-contrast)}

.how-it-works .step-block{padding:clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px);background:var(--color-contrast);color:var(--color-on-contrast);min-width:0;box-sizing:border-box}

.toc-container .toc_item_link a{
  display: block; padding: 10px 14px; white-space: nowrap;
  background: var(--color-surface); border-bottom: 3px solid var(--color-accent);
  color: var(--color-text); text-decoration: none; box-sizing: border-box;
}

.layout-two-columns .layout-col-left,
.layout-two-columns .layout-col-right{
  min-width: 0;
  padding: clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) calc(clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) + 8px);
  box-sizing: border-box;
}

/* Toggle must not inherit active fill / on-accent text from the row. */
.sidebar_right li.active > .sub_menu_toggle,
.sidebar_right li:has(.active) > .sub_menu_toggle,
.sidebar_right .sub_menu_toggle {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--color-muted);
}

.benefit-section{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(max(200px, calc((100% - 3 * 21px) / 4)), 1fr));
  gap: 21px; box-sizing: border-box; min-width: 0;
}

@media (min-width: 901px) {
  .nav_toggle,
  .main_wrapper { display: none !important; }
}

.mod_block .hero-intro{
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-2);
  max-width: 42rem;
}

.stats-overview .stat-box { text-align: center; min-width: 120px; }

.menu_list .accordion_body .item_link {
  font-weight: 500;
  font-size: 0.95rem;
  padding: 10px 8px;
  color: var(--color-muted);
}

:root {
  --color-accent: #1aa6a6;
  --color-accent-2: #be2cb5;
  --color-accent-contrast: #c51102;
  --color-accent-soft: #1e3a41;
  --color-bg: #0b0f14;
  --color-border: #403b48;
  --color-border-strong: #595066;
  --color-contrast: #eae8ec;
  --color-danger: #b42318;
  --color-link: #1aa6a6;
  --color-link-hover: #636fac;
  --color-muted: #9c96a5;
  --color-on-accent: #f9f9fa;
  --color-on-contrast: #1d1824;
  --color-success: #067647;
  --color-surface: #201c25;
  --color-surface-elevated: #2a2630;
  --color-surface-inverted: #eae8ec;
  --color-text: #efeef0;
  --color-text-inverse: #1d1824;
}

.payout-table .payout-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;padding:12px calc(clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px) + 4px);border-left:4px solid var(--color-accent);background:var(--color-bg);min-width:0;box-sizing:border-box}

@font-face {
  font-family: 'Sora';
  src: url('/assets/fonts/sora-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.mod_header .menu_action-btn a,
.mod_header .menu_action-btn {
  display: inline-flex;
  align-items: center;
  background: var(--color-accent);
  color: var(--color-on-accent, #fff) !important;
  padding: 8px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
}

.author-card .author-avatar img{width:100%;height:100%;object-fit:cover}

.faq-section .faq-question::-webkit-details-marker{ display: none; }

@media (max-width: 800px) {
  .action-section{ grid-template-columns: 1fr; justify-items: start; }
}

.mod_footer .footer-extra-nav a {
  display: inline-flex; align-items: center;
  padding: 4px 10px; border-radius: 999px;
  background: transparent;
  color: var(--color-muted); text-decoration: none; font-size: 0.8rem; font-weight: 500;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-border) 55%, transparent);
}

@media (max-width: 720px) {
  main#com_content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  main .action-section,
main .article-section,
main .author-card,
main .benefit-section,
main .bet-product-grid,
main .brand-logo-section,
main .breadcrumb-nav,
main .cards-container,
main .category-grid,
main .faq-compact-group,
main .faq-section,
main .feature-grid,
main .history-timeline,
main .how-it-works,
main .layout-two-columns,
main .mod_block,
main .mod_footer,
main .mod_header,
main .module_block,
main .payout-table,
main .process-flow,
main .promo-banner-wrap,
main .pros-cons-wrap,
main .review-carousel,
main .ribbon-banner,
main .sidebar-aside,
main .split-section_content,
main .stats-overview,
main .toc-container,
  main .action-section *,
main .article-section *,
main .author-card *,
main .benefit-section *,
main .bet-product-grid *,
main .brand-logo-section *,
main .breadcrumb-nav *,
main .cards-container *,
main .category-grid *,
main .faq-compact-group *,
main .faq-section *,
main .feature-grid *,
main .history-timeline *,
main .how-it-works *,
main .layout-two-columns *,
main .mod_block *,
main .mod_footer *,
main .mod_header *,
main .module_block *,
main .payout-table *,
main .process-flow *,
main .promo-banner-wrap *,
main .pros-cons-wrap *,
main .review-carousel *,
main .ribbon-banner *,
main .sidebar-aside *,
main .split-section_content *,
main .stats-overview *,
main .toc-container * {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    max-width: 100%;
  }
  main .action-section *,
main .article-section *,
main .author-card *,
main .benefit-section *,
main .bet-product-grid *,
main .brand-logo-section *,
main .breadcrumb-nav *,
main .cards-container *,
main .category-grid *,
main .faq-compact-group *,
main .faq-section *,
main .feature-grid *,
main .history-timeline *,
main .how-it-works *,
main .layout-two-columns *,
main .mod_block *,
main .mod_footer *,
main .mod_header *,
main .module_block *,
main .payout-table *,
main .process-flow *,
main .promo-banner-wrap *,
main .pros-cons-wrap *,
main .review-carousel *,
main .ribbon-banner *,
main .sidebar-aside *,
main .split-section_content *,
main .stats-overview *,
main .toc-container * {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  /* Exclude [data-nn4f97c]/[data-xqy8och] — this blanket mobile stack
     rule was forcing horizontal-scroll sliders (TOC v8, gallery/testimonials/
     stats/etc. slider variants — see slider_styles.css.tpl) into a vertical
     column, breaking their intentional overflow-x scroll and, for TOC, causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .action-section,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .article-section,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .author-card,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .benefit-section,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .bet-product-grid,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .brand-logo-section,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .breadcrumb-nav,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .cards-container,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .category-grid,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .faq-compact-group,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .faq-section,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .feature-grid,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .history-timeline,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .how-it-works,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .layout-two-columns,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .mod_block,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .mod_footer,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .mod_header,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .module_block,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .payout-table,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .process-flow,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .promo-banner-wrap,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .pros-cons-wrap,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .review-carousel,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .ribbon-banner,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .sidebar-aside,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .split-section_content,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .stats-overview,
causing
     page-level horizontal overflow since the now-stacked chips no longer sized
     to the container. */
  main .toc-container,
  main .action-section > *:not([data-nn4f97c]),
main .article-section > *:not([data-nn4f97c]),
main .author-card > *:not([data-nn4f97c]),
main .benefit-section > *:not([data-nn4f97c]),
main .bet-product-grid > *:not([data-nn4f97c]),
main .brand-logo-section > *:not([data-nn4f97c]),
main .breadcrumb-nav > *:not([data-nn4f97c]),
main .cards-container > *:not([data-nn4f97c]),
main .category-grid > *:not([data-nn4f97c]),
main .faq-compact-group > *:not([data-nn4f97c]),
main .faq-section > *:not([data-nn4f97c]),
main .feature-grid > *:not([data-nn4f97c]),
main .history-timeline > *:not([data-nn4f97c]),
main .how-it-works > *:not([data-nn4f97c]),
main .layout-two-columns > *:not([data-nn4f97c]),
main .mod_block > *:not([data-nn4f97c]),
main .mod_footer > *:not([data-nn4f97c]),
main .mod_header > *:not([data-nn4f97c]),
main .module_block > *:not([data-nn4f97c]),
main .payout-table > *:not([data-nn4f97c]),
main .process-flow > *:not([data-nn4f97c]),
main .promo-banner-wrap > *:not([data-nn4f97c]),
main .pros-cons-wrap > *:not([data-nn4f97c]),
main .review-carousel > *:not([data-nn4f97c]),
main .ribbon-banner > *:not([data-nn4f97c]),
main .sidebar-aside > *:not([data-nn4f97c]),
main .split-section_content > *:not([data-nn4f97c]),
main .stats-overview > *:not([data-nn4f97c]),
main .toc-container > *:not([data-nn4f97c]),
  main .action-section > * > *:not([data-xqy8och]),
main .article-section > * > *:not([data-xqy8och]),
main .author-card > * > *:not([data-xqy8och]),
main .benefit-section > * > *:not([data-xqy8och]),
main .bet-product-grid > * > *:not([data-xqy8och]),
main .brand-logo-section > * > *:not([data-xqy8och]),
main .breadcrumb-nav > * > *:not([data-xqy8och]),
main .cards-container > * > *:not([data-xqy8och]),
main .category-grid > * > *:not([data-xqy8och]),
main .faq-compact-group > * > *:not([data-xqy8och]),
main .faq-section > * > *:not([data-xqy8och]),
main .feature-grid > * > *:not([data-xqy8och]),
main .history-timeline > * > *:not([data-xqy8och]),
main .how-it-works > * > *:not([data-xqy8och]),
main .layout-two-columns > * > *:not([data-xqy8och]),
main .mod_block > * > *:not([data-xqy8och]),
main .mod_footer > * > *:not([data-xqy8och]),
main .mod_header > * > *:not([data-xqy8och]),
main .module_block > * > *:not([data-xqy8och]),
main .payout-table > * > *:not([data-xqy8och]),
main .process-flow > * > *:not([data-xqy8och]),
main .promo-banner-wrap > * > *:not([data-xqy8och]),
main .pros-cons-wrap > * > *:not([data-xqy8och]),
main .review-carousel > * > *:not([data-xqy8och]),
main .ribbon-banner > * > *:not([data-xqy8och]),
main .sidebar-aside > * > *:not([data-xqy8och]),
main .split-section_content > * > *:not([data-xqy8och]),
main .stats-overview > * > *:not([data-xqy8och]),
main .toc-container > * > *:not([data-xqy8och]) {
    flex-direction: column !important;
  }
  main .action-section > *,
main .article-section > *,
main .author-card > *,
main .benefit-section > *,
main .bet-product-grid > *,
main .brand-logo-section > *,
main .breadcrumb-nav > *,
main .cards-container > *,
main .category-grid > *,
main .faq-compact-group > *,
main .faq-section > *,
main .feature-grid > *,
main .history-timeline > *,
main .how-it-works > *,
main .layout-two-columns > *,
main .mod_block > *,
main .mod_footer > *,
main .mod_header > *,
main .module_block > *,
main .payout-table > *,
main .process-flow > *,
main .promo-banner-wrap > *,
main .pros-cons-wrap > *,
main .review-carousel > *,
main .ribbon-banner > *,
main .sidebar-aside > *,
main .split-section_content > *,
main .stats-overview > *,
main .toc-container > * {
    width: 100%;
    max-width: 100%;
  }
  main .action-section > * > img,
main .article-section > * > img,
main .author-card > * > img,
main .benefit-section > * > img,
main .bet-product-grid > * > img,
main .brand-logo-section > * > img,
main .breadcrumb-nav > * > img,
main .cards-container > * > img,
main .category-grid > * > img,
main .faq-compact-group > * > img,
main .faq-section > * > img,
main .feature-grid > * > img,
main .history-timeline > * > img,
main .how-it-works > * > img,
main .layout-two-columns > * > img,
main .mod_block > * > img,
main .mod_footer > * > img,
main .mod_header > * > img,
main .module_block > * > img,
main .payout-table > * > img,
main .process-flow > * > img,
main .promo-banner-wrap > * > img,
main .pros-cons-wrap > * > img,
main .review-carousel > * > img,
main .ribbon-banner > * > img,
main .sidebar-aside > * > img,
main .split-section_content > * > img,
main .stats-overview > * > img,
main .toc-container > * > img,
  main .action-section > * > picture,
main .article-section > * > picture,
main .author-card > * > picture,
main .benefit-section > * > picture,
main .bet-product-grid > * > picture,
main .brand-logo-section > * > picture,
main .breadcrumb-nav > * > picture,
main .cards-container > * > picture,
main .category-grid > * > picture,
main .faq-compact-group > * > picture,
main .faq-section > * > picture,
main .feature-grid > * > picture,
main .history-timeline > * > picture,
main .how-it-works > * > picture,
main .layout-two-columns > * > picture,
main .mod_block > * > picture,
main .mod_footer > * > picture,
main .mod_header > * > picture,
main .module_block > * > picture,
main .payout-table > * > picture,
main .process-flow > * > picture,
main .promo-banner-wrap > * > picture,
main .pros-cons-wrap > * > picture,
main .review-carousel > * > picture,
main .ribbon-banner > * > picture,
main .sidebar-aside > * > picture,
main .split-section_content > * > picture,
main .stats-overview > * > picture,
main .toc-container > * > picture,
  main .action-section > * > figure,
main .article-section > * > figure,
main .author-card > * > figure,
main .benefit-section > * > figure,
main .bet-product-grid > * > figure,
main .brand-logo-section > * > figure,
main .breadcrumb-nav > * > figure,
main .cards-container > * > figure,
main .category-grid > * > figure,
main .faq-compact-group > * > figure,
main .faq-section > * > figure,
main .feature-grid > * > figure,
main .history-timeline > * > figure,
main .how-it-works > * > figure,
main .layout-two-columns > * > figure,
main .mod_block > * > figure,
main .mod_footer > * > figure,
main .mod_header > * > figure,
main .module_block > * > figure,
main .payout-table > * > figure,
main .process-flow > * > figure,
main .promo-banner-wrap > * > figure,
main .pros-cons-wrap > * > figure,
main .review-carousel > * > figure,
main .ribbon-banner > * > figure,
main .sidebar-aside > * > figure,
main .split-section_content > * > figure,
main .stats-overview > * > figure,
main .toc-container > * > figure,
  main .action-section > * > * > img,
main .article-section > * > * > img,
main .author-card > * > * > img,
main .benefit-section > * > * > img,
main .bet-product-grid > * > * > img,
main .brand-logo-section > * > * > img,
main .breadcrumb-nav > * > * > img,
main .cards-container > * > * > img,
main .category-grid > * > * > img,
main .faq-compact-group > * > * > img,
main .faq-section > * > * > img,
main .feature-grid > * > * > img,
main .history-timeline > * > * > img,
main .how-it-works > * > * > img,
main .layout-two-columns > * > * > img,
main .mod_block > * > * > img,
main .mod_footer > * > * > img,
main .mod_header > * > * > img,
main .module_block > * > * > img,
main .payout-table > * > * > img,
main .process-flow > * > * > img,
main .promo-banner-wrap > * > * > img,
main .pros-cons-wrap > * > * > img,
main .review-carousel > * > * > img,
main .ribbon-banner > * > * > img,
main .sidebar-aside > * > * > img,
main .split-section_content > * > * > img,
main .stats-overview > * > * > img,
main .toc-container > * > * > img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }
  .hero_mod,
  .mod_block {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .mod_block > *,
  .mod_block [class*="copy"],
  .mod_block [class*="content"],
  .mod_block [class*="body"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
    border-left-width: 0 !important;
  }
  .hero_title,
  .mod_block h1 {
    font-size: clamp(1.7rem, 8vw, 2.35rem) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

a { color: var(--color-link, var(--color-accent)); }

[data-8w14mhk="vyn9tg2"]:has([data-ggadk4p="v1brm5j"]) .side-drawer {
  box-shadow: -4px 0 28px color-mix(in srgb, var(--color-text) 9%, transparent);
}

/* height:auto + HTML width/height attrs → browser reserves aspect-ratio (CLS). */
img { max-width: 100%; height: auto; }

[data-hngdvy0="vl8qf09"].main_wrapper.is_open,
body.nav-open [data-hngdvy0="vl8qf09"].main_wrapper {
  pointer-events: auto;
}

@media (max-width: 900px) {
  .mod_header .nav_child { display: none; }
}

.benefit-section .benefit-item p{ margin: 0; color: var(--color-muted); }

.main_stage,
.sidebar_nav,
.content_block,
.mod_header,
.mod_footer {
  min-width: 0;
  max-width: 100%;
}

.toc-container{
  padding: 8px 0; box-sizing: border-box; min-width: 0;
}

@media(max-width:640px){.category-grid{grid-template-columns:1fr}}

.category-grid p{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.5}

.layout-two-columns .layout-col-left p,
.layout-two-columns .layout-col-right p{
  margin: 0 0 0.85em;
}

.bet-product-grid .bet-product-title {
  margin: 0; padding: 8px clamp(14px, calc(14px + 0.0341 * (100vw - 360px)), 29px); background: color-mix(in srgb, var(--color-contrast) 55%, transparent);
  color: var(--color-on-contrast); font-size: 0.85rem;
}

.sidebar_right .sub_menu_toggle::before {
  content: '›';
  font-size: 1.15rem;
  line-height: 1;
  transition: transform 0.2s ease;
  transform: rotate(0deg);
}

/* v12 — dense chip cloud */
.sidebar-aside { padding: 4px 0; }

.toc-container .toc-menu{
  list-style: none; margin: 0; padding: 0 4px 8px;
  display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory;
}

.menu_list .action_btn .item_link:hover {
  filter: brightness(1.06);
  background: var(--color-accent);
  color: var(--color-on-accent, #fff) !important;
  transform: none;
  box-shadow: none;
}

.how-it-works .step-heading{margin:0 0 6px;color:var(--color-on-contrast)}

.sidebar-aside .sidebar-link-item { display: inline-flex; }

.cards-container .card-media-wrap{ aspect-ratio: 16/10; overflow: hidden; margin: 0 0 10px; }

:root[data-btn-hover="none"] {}

.process-flow .process-title::-webkit-details-marker{display:none}

.sidebar-aside .sidebar-heading {
  font-size: 0.78rem; font-weight: 800; margin: 0 0 12px; color: var(--color-text);
}

.mod_header .header_container > .nav-menu-link:first-child {
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
  color: var(--color-text);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

a[class*="btn"],
a[class*="-cta-"],
button,
[class*="Btn"],
[class*="-btn-"] {
  transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.feature-grid{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(max(180px, calc((100% - 3 * 21px) / 4)), 1fr));
  gap: 21px; counter-reset: ft; box-sizing: border-box; min-width: 0;
}

.mod_header .dropdown_inner .nav-menu-link,
.mod_header .dropdown_inner .nav-menu-label {
  width: 100%;
  justify-content: space-between;
}

.menu_list .list_item.active > .item_link {
  color: var(--color-accent);
  font-weight: 600;
}

.mod_footer .footer-content {
  width: min(100%, 1018px);
  margin: 0 auto;
}

@media (max-width: 800px){
  .cards-container .card-list-item:nth-child(even){ transform: none; }
}

.__gone__ .dropdown_inner .nav-menu-label:hover,
.__gone__ .dropdown_inner .nav-menu-link:hover {
  color: var(--color-accent);
}

.breadcrumb-nav .breadcrumb-divider{opacity:.5}

@media (max-width: 800px) {
  .layout-two-columns{ grid-template-columns: 1fr; }
  .layout-two-columns .layout-col-left{ border-right: 0; border-bottom: 1px solid var(--color-border-strong); }
}

/* CLS media: reserve box before image decode */
.author-card .author-avatar{aspect-ratio:1 / 1;overflow:hidden}

@media (min-width: 901px) {
  [data-hngdvy0="vl8qf09"].main_wrapper { display: none !important; }
}

html {
  font-size: calc(100% * var(--site-scale, 1) * var(--text-scale, 1));
}

.menu_action-btn a,
 .menu_action-btn {
  box-shadow: 0 4px 16px color-mix(in srgb, var(--color-accent) 32%, transparent);
}

.process-flow .process-step:last-child{border-bottom:0}

.menu_list .accordion_group > .item_label {
  font-weight: 600;
}

[data-8w14mhk="v5c3a6u"]:has([data-ggadk4p="v1brm5j"]) .main-navigation {
  border-bottom: 0 !important;
  background: var(--color-surface);
  box-shadow: 0 4px 22px color-mix(in srgb, var(--color-text) 8%, transparent);
}

.brand-logo-section .brand-logo-lead a{color:var(--color-accent)}

.menu_list .item_link,
.menu_list .item_label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 12px 8px;
  margin: 0;
  color: var(--color-text);
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.35;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border-radius: var(--ui-radius, 8px);
  text-transform: none;
  letter-spacing: normal;
}

.mod_footer .footer_nav a:hover {
  background: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));
  color: var(--color-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 35%, transparent);
}

.chrome-brand-slot {
  line-height: 0;
}

.sidebar_right .sub_menu_toggle:hover,
.sidebar_right .sub_menu_toggle:focus-visible {
  color: var(--color-text, inherit);
  outline: none;
}

.mod_block .hero-primary-btn{
  display: inline-block;
  font-weight: 600;
  background: var(--color-accent-2);
  color: var(--color-on-accent);
  padding: 8px 20px;
  border-radius: 4px;
  text-decoration: none;
}

.faq-section .faq-response{ margin-top: 10px; color: var(--color-muted); }

.split-section_content{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 21px;
  align-items: stretch;
}

.faq-compact-group .faq-compact-row:last-child{border-bottom:0;padding-bottom:0}

[data-8w14mhk="v5c3a6u"] .side-drawer {
  grid-column: 1;
  grid-row: 2;
  background: var(--color-surface);
  border-right: 1px solid var(--color-border);
  padding: 15px 19px;
  min-height: 0;
}

/* Shared hero utilities only — width is owned by shell .contentMain > * */
.hero_mod,
.mod_block {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  overflow-wrap: normal;
}

.cards-container .card-heading{ margin: 0 0 8px; color: var(--color-accent); }

.breadcrumb-nav{min-width:0;box-sizing:border-box;padding:6px 0}

.action-section .action-button{
  display: inline-block;
  background: var(--color-accent);
  color: var(--color-on-accent);
  padding: 8px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}

.sidebar-aside .sidebar-section {
  display: flex; flex-direction: column; align-items: flex-start; width: 100%;
  margin-top: 4px;
}

.pros-cons-wrap p{margin:0 0 12px;color:color-mix(in srgb,var(--color-on-contrast) 78%,transparent)}

.pros-cons-wrap .pros-cons-tag{margin:0 0 14px;color:var(--color-accent-2);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}

.split-section_content .split-text-image img{ display: block; width: 100%; height: 100%; object-fit: cover; }

[data-8w14mhk="v5c3a6u"] .com_content-area > * {
  width: 100%;
  max-width: min(100%, 1018px);
  min-width: 0;
  box-sizing: border-box;
}

.mod_block .hero-body-text{
  margin: 0;
  color: color-mix(in srgb, var(--color-on-contrast) 82%, transparent);
  max-width: 42rem;
  line-height: 1.55;
}

.faq-compact-group .faq-compact-answer p{margin:0}

/* ===== Sidebar active states (structure-based, variant-safe) =====
   Variants / chrome skins must target only the direct link of the current
   item. Soft fills use --color-text so accent-on-accent-soft never washes out
   labels (esp. with elevated/floating skins). */
.sidebar_right li.active > a,
.sidebar_right a.active[aria-current="page"] {
  color: var(--color-text);
  font-weight: 700;
}

.promo-banner-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  padding: 29px 21px;
  background: var(--color-contrast);
  color: var(--color-on-contrast);
  border-radius: 4px;
  border-bottom: 4px solid var(--color-accent-2);
  flex-wrap: wrap;
}

.brand-logo-section .brand-logo-item img{width:52px;height:52px;max-width:100%;object-fit:cover;border-radius:6px;opacity:.92;filter:none}

.breadcrumb-nav .breadcrumb-item{display:inline-flex;align-items:center;gap:6px;color:var(--color-muted);font-size:.85rem}

.menu_list .accordion_group.is_open > .accordion_body {
  display: grid;
}

/* No `display` here — chrome_base.css's universal li:has(>ul)>ul collapse rule owns
   it (hidden until the parent <li> gets .is_open, then shown as display:grid);
   setting flex here would out-specificity that rule and the submenu would stay
   permanently visible instead of collapsing. */
.sidebar-aside .sidebar-sub-menu {
  list-style: none; margin: 6px 0 0; padding: 0; border: 0; gap: 6px; width: 100%;
}

.history-timeline .history-dot{display:inline-block;margin:0 0 8px;padding:2px 8px;background:var(--color-accent-soft);color:var(--color-accent);font-size:.75rem;font-weight:700;border-radius:999px}

.article_content { color: var(--color-muted); line-height: 1.65; }

.bet-product-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 21px;
}

/* nested header dropdowns open sideways instead of covering the parent menu */
.mod_header .dropdown_inner .nav-menu-item {
  position: relative;
}

.sidebar-aside .sidebar-link-item.active > .nav-menu-link {
  background: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));
  color: var(--color-accent); border-color: color-mix(in srgb, var(--color-accent) 45%, transparent);
}

/* Shared burger — sibling of [data-hngdvy0] wrapper, so do not nest under [data-hngdvy0].
   Default placement is fixed_right; plan.mobile_burger may override via
    rules in mobile_burger.css.tpl. */
/* The trigger's literal "☰" text never changed to indicate open state — mobile.js.tpl
   sets aria-expanded on click, but nothing consumed it visually. font-size:0 hides the
   raw glyph text node; ::after renders the actual glyph, swapped via [aria-expanded].
   Kept as ONE rule, not a separate font-size override rule — css_shuffle.py's rule
   splitter can reorder same-selector rules independently per site, and a second
   trigger rule setting only font-size sometimes shuffled to before this one, leaving
   the default font-size to win and both the raw glyph text and the ::after glyph
   visible at once. NOTE: never put a literal curly brace pair inside a CSS comment
   in this pack — shuffle_css_rules' rule splitter does not know it is inside a
   comment and treats the pair as a real rule boundary, splitting the comment apart
   and shuffling the pieces separately; any real rules that land between the split
   pieces then get silently deleted the next time client_cleanup's fingerprint-
   comment scrub runs, since it reads the reunited span as one big comment.
   Confirmed as the actual cause of a live missing stats-block rule on a real site
   — the same class of bug as the token-in-comment gotcha in VARIANT_PACK.md, one
   level more general since it is about the raw punctuation, not a specific token
   syntax. */
.nav_toggle {
  display: none;
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 60;
  border: 0;
  background: var(--color-accent);
  color: var(--color-on-accent, #fff);
  padding: 11px 18px;
  border-radius: var(--ui-radius, 6px);
  cursor: pointer;
  font-size: 0;
  line-height: 1;
  align-items: center;
  justify-content: center;
}

/* __va_widget_css_begin__ */


.module_block,
.section_wrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  /* Reserve space before match list paints (mobile CLS). */
  min-height: 280px;
}

.main_wrap {
  width: 100%;
}

.mod_box {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  color: var(--color-text);
}

.header_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 18px 20px;
  background: color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));
  border-bottom: 1px solid var(--color-border);
}

.page_title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-text);
}

.page_subtitle {
  font-size: 0.8rem;
  color: var(--color-muted);
}

.call_to_action {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--color-accent);
  color: var(--color-on-accent);
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.call_to_action:hover {
  background: var(--color-accent-2);
}

.search_wrapper {
  padding: 14px 20px 0;
}

.search_field {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 0.85rem;
}

.search_field:focus {
  outline: 2px solid color-mix(in srgb, var(--color-accent) 55%, transparent);
  border-color: var(--color-accent);
}

.search_no_results {
  padding: 16px 20px;
  text-align: center;
  color: var(--color-muted);
  font-size: 0.85rem;
}

.sports_menu {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 20px 0;
}

.tab_trigger {
  padding: 6px 14px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.tab_trigger:hover {
  border-color: var(--color-accent);
}

.tab_current,
.tab_trigger.tab_current {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-on-accent);
}

.mod_body {
  padding: 14px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Baseline vertical spacing between match rows — was only ever set inside the
   ≥640px grid rule below, so below that width [data-14tnpof="vj6a71l"]
   had no display/gap of its own and rows (no margin of their own either) sat
   flush against each other with zero space between on mobile. Applies to
   every variant; the ≥640px rule overrides display to grid for the ones that
   go multi-column there. */
[data-14tnpof="vj6a71l"] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (min-width: 640px) {
  [data-14tnpof="vj6a71l"] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 12px;
    row-gap: 10px;
    align-items: start;
  }
}

/* Match rows — shared by the cached top list and JS-driven search results. */
.list_row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-bg);
}

.league_item {
  flex: 0 0 100%;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-accent);
}

.event_time {
  font-size: 0.75rem;
  color: var(--color-muted);
  order: 3;
}

.match_teams {
  flex: 1 1 auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text);
  order: 2;
}

.match_teams span {
  color: inherit;
}

.odds_wrap {
  display: flex;
  gap: 6px;
  order: 4;
  flex: 0 0 100%;
}

.btn_odd {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex: 1;
  min-width: 56px;
  padding: 6px 8px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.85rem;
}

.btn_odd:hover {
  border-color: var(--color-accent);
  background: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));
}

.btn_odd .odd_result {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--color-muted);
  text-transform: uppercase;
}

.btn_odd .odd_price {
  font-weight: 700;
  color: var(--color-text);
}

/* Search / browse results — compact two-column row: team names left, kickoff
   time right, "Show markets" toggle as its own full-width row below (it reuses
   the same odd_button class as the 1/X/2 pills, so it needs its own override —
   see [data-14tnpof="vuujp6t"] below — or it renders squeezed
   into the flex row next to the team names). */
.search_results_wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  /* No side padding/margin of its own — flush with the box edges, individual
     rows carry their own inset via border + padding rather than the
     container adding a second, redundant gutter on top of theirs. */
  padding: 16px 0 20px;
  margin: 0;
}

/* Plain flex-wrap, not grid: league own line, then teams/time/button flow
   left-to-right and each wraps to a new line only when it doesn't fit —
   exactly "same line as the match name+date if there's room, own line if
   not", which grid's explicit placement can't express but wrap naturally does. */
.list_row[data-14tnpof="vcijdnc"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 12px;
  row-gap: 6px;
}

.list_row[data-14tnpof="vcijdnc"] > .league_item {
  flex: 0 0 100%;
}

.list_row[data-14tnpof="vcijdnc"] > .match_teams {
  flex: 1 1 auto;
  min-width: 140px;
  order: 1;
}

.list_row[data-14tnpof="vcijdnc"] > .event_time {
  flex: 0 0 auto;
  white-space: nowrap;
  order: 2;
}

.btn_odd[data-14tnpof="vuujp6t"] {
  order: 3;
  flex: 0 0 auto;
  flex-direction: row;
  width: auto;
  padding: 6px 12px;
  font-size: 0.78rem;
  font-weight: 600;
  background: var(--color-bg);
  white-space: nowrap;
}

.list_row[data-14tnpof="vcijdnc"] > .odds_wrap,
.list_row[data-14tnpof="vcijdnc"] > .market_list,
.list_row[data-14tnpof="vcijdnc"] > [data-14tnpof="v927j5i"] {
  flex: 0 0 100%;
  order: 4;
}

.market_list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
  width: 100%;
}

.market_item {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 8px 10px;
  background: var(--color-surface);
}

.market_heading {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-muted);
  margin-bottom: 6px;
}

.select_item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  margin: 0 6px 6px 0;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-bg);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.82rem;
}

.select_item:hover {
  border-color: var(--color-accent);
}

.select_value {
  font-weight: 700;
  color: var(--color-accent);
}

/* v9 — elevated soft-shadow cards, borderless. */
.module_block .mod_box {
  border: none;
  box-shadow: 0 2px 10px color-mix(in srgb, var(--color-text) 10%, transparent);
}

.module_block [data-14tnpof="vj6a71l"] {
  row-gap: 14px;
}

.module_block .list_row:not([data-14tnpof]) {
  border: none;
  border-radius: 16px;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--color-text) 8%, transparent);
  padding: 16px;
}

.module_block .btn_odd {
  border-radius: 12px;
}

/* __va_widget_css_begin__ */
.module_block,
.section_wrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  /* Reserve space before match list paints (mobile CLS). */
  min-height: 280px;
}

.main_wrap {
  width: 100%;
}

.mod_box {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  color: var(--color-text);
}

.header_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 18px 20px;
  background: color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));
  border-bottom: 1px solid var(--color-border);
}

.page_title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-text);
}

.page_subtitle {
  font-size: 0.8rem;
  color: var(--color-muted);
}

.call_to_action {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--color-accent);
  color: var(--color-on-accent);
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.call_to_action:hover {
  background: var(--color-accent-2);
}

.search_wrapper {
  padding: 14px 20px 0;
}

.search_field {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 0.85rem;
}

.search_field:focus {
  outline: 2px solid color-mix(in srgb, var(--color-accent) 55%, transparent);
  border-color: var(--color-accent);
}

.search_no_results {
  padding: 16px 20px;
  text-align: center;
  color: var(--color-muted);
  font-size: 0.85rem;
}

.sports_menu {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 20px 0;
}

.tab_trigger {
  padding: 6px 14px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.tab_trigger:hover {
  border-color: var(--color-accent);
}

.tab_current,
.tab_trigger.tab_current {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-on-accent);
}

.mod_body {
  padding: 14px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Baseline vertical spacing between match rows — was only ever set inside the
   ≥640px grid rule below, so below that width [data-14tnpof="vj6a71l"]
   had no display/gap of its own and rows (no margin of their own either) sat
   flush against each other with zero space between on mobile. Applies to
   every variant; the ≥640px rule overrides display to grid for the ones that
   go multi-column there. */
[data-14tnpof="vj6a71l"] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (min-width: 640px) {
  [data-14tnpof="vj6a71l"] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 12px;
    row-gap: 10px;
    align-items: start;
  }
}

/* Match rows — shared by the cached top list and JS-driven search results. */
.list_row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-bg);
}

.league_item {
  flex: 0 0 100%;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--color-accent);
}

.event_time {
  font-size: 0.75rem;
  color: var(--color-muted);
  order: 3;
}

.match_teams {
  flex: 1 1 auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text);
  order: 2;
}

.match_teams span {
  color: inherit;
}

.odds_wrap {
  display: flex;
  gap: 6px;
  order: 4;
  flex: 0 0 100%;
}

.btn_odd {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex: 1;
  min-width: 56px;
  padding: 6px 8px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.85rem;
}

.btn_odd:hover {
  border-color: var(--color-accent);
  background: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));
}

.btn_odd .odd_result {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--color-muted);
  text-transform: uppercase;
}

.btn_odd .odd_price {
  font-weight: 700;
  color: var(--color-text);
}

/* Search / browse results — compact two-column row: team names left, kickoff
   time right, "Show markets" toggle as its own full-width row below (it reuses
   the same odd_button class as the 1/X/2 pills, so it needs its own override —
   see [data-14tnpof="vuujp6t"] below — or it renders squeezed
   into the flex row next to the team names). */
.search_results_wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  /* No side padding/margin of its own — flush with the box edges, individual
     rows carry their own inset via border + padding rather than the
     container adding a second, redundant gutter on top of theirs. */
  padding: 16px 0 20px;
  margin: 0;
}

/* Plain flex-wrap, not grid: league own line, then teams/time/button flow
   left-to-right and each wraps to a new line only when it doesn't fit —
   exactly "same line as the match name+date if there's room, own line if
   not", which grid's explicit placement can't express but wrap naturally does. */
.list_row[data-14tnpof="vcijdnc"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 12px;
  row-gap: 6px;
}

.list_row[data-14tnpof="vcijdnc"] > .league_item {
  flex: 0 0 100%;
}

.list_row[data-14tnpof="vcijdnc"] > .match_teams {
  flex: 1 1 auto;
  min-width: 140px;
  order: 1;
}

.list_row[data-14tnpof="vcijdnc"] > .event_time {
  flex: 0 0 auto;
  white-space: nowrap;
  order: 2;
}

.btn_odd[data-14tnpof="vuujp6t"] {
  order: 3;
  flex: 0 0 auto;
  flex-direction: row;
  width: auto;
  padding: 6px 12px;
  font-size: 0.78rem;
  font-weight: 600;
  background: var(--color-bg);
  white-space: nowrap;
}

.list_row[data-14tnpof="vcijdnc"] > .odds_wrap,
.list_row[data-14tnpof="vcijdnc"] > .market_list,
.list_row[data-14tnpof="vcijdnc"] > [data-14tnpof="v927j5i"] {
  flex: 0 0 100%;
  order: 4;
}

.market_list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
  width: 100%;
}

.market_item {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 8px 10px;
  background: var(--color-surface);
}

.market_heading {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-muted);
  margin-bottom: 6px;
}

.select_item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  margin: 0 6px 6px 0;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-bg);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.82rem;
}

.select_item:hover {
  border-color: var(--color-accent);
}

.select_value {
  font-weight: 700;
  color: var(--color-accent);
}

/* v9 — elevated soft-shadow cards, borderless. */
.module_block .mod_box {
  border: none;
  box-shadow: 0 2px 10px color-mix(in srgb, var(--color-text) 10%, transparent);
}

.module_block [data-14tnpof="vj6a71l"] {
  row-gap: 14px;
}

.module_block .list_row:not([data-14tnpof]) {
  border: none;
  border-radius: 16px;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--color-text) 8%, transparent);
  padding: 16px;
}

.module_block .btn_odd {
  border-radius: 12px;
}
/* __va_widget_css_end__ */

/* __va_sidebar_active_contrast__ */
/* Appended at the end of the styles bundle AFTER harden/widget sync.
   Safety net: never paint nested links via an ancestor .active, and keep
   the chevron toggle free of active fills / washed-out on-accent text.
   Soft-fill readable text for elevated/floating skins lives in chrome_skins
   (`color: var(--color-text) !important`) so solid-accent variants (v2/v7)
   keep white-on-accent when those skins are not selected. */
.sidebar_right li.active > ul a {
  background: transparent !important;
  box-shadow: none !important;
}
.sidebar_right li.active > ul a:not([aria-current="page"]):not(.active) {
  color: var(--color-muted) !important;
  font-weight: 500 !important;
}
.sidebar_right li.active:has(> ul) > a {
  box-shadow: none !important;
}
.sidebar_right li:has(> ul):not(.active):has(.active) > a,
.sidebar_right li:has(> ul):not(.active):has(.active) > span {
  color: var(--color-text) !important;
  font-weight: 600;
  background: transparent !important;
  box-shadow: none !important;
}
.sidebar_right .sub_menu_toggle,
.sidebar_right li.active > .sub_menu_toggle,
.sidebar_right li:has(.active) > .sub_menu_toggle {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--color-muted) !important;
}

/* Hover/active: neutralize link-style gradient_text transparent fill.
   Soft-fill chrome skins replace the gradient bg with an opaque mix via
   !important; without resetting -webkit-text-fill-color the label vanishes.
   Use currentColor so solid-accent active (on-accent) and soft-fill
   (--color-text) both keep the fill matching the intended color. */
.sidebar_right a:hover,
.sidebar_right a:focus-visible,
.sidebar_right li.active > a,
.sidebar_right a.active,
.sidebar_right a[aria-current="page"] {
  -webkit-text-fill-color: currentColor !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
}

