/* CSS autogen'd from SASS at sphinx-build time */
/* FONT-FACES (vars !allowed) ----------------------------------------------------> */
/* Headers */
@font-face {
  font-family: 'Sharp Grotesk';
  src: url("../../fonts/sharp-grotesk/SharpGroteskMedium16.otf") format("opentype"), url("../../fonts/sharp-grotesk/SharpGroteskSmBold16.otf") format("opentype");
  font-weight: 400 500;
  /* Regular to medium hweights */
  font-style: normal; }

/* Thin (Light) */
@font-face {
  font-family: 'Graphik';
  src: url("../../fonts/Graphik/Graphik-Thin-Web.woff2") format("woff2");
  font-weight: 300;
  /* Thin */
  font-style: normal; }

/* Regular */
@font-face {
  font-family: 'Graphik';
  src: url("../../fonts/Graphik/Graphik-Regular-Web.woff2") format("woff2");
  font-weight: 400;
  /* Regular */
  font-style: normal; }

/* Medium (AND bold, currently) */
@font-face {
  font-family: 'Graphik';
  src: url("../../fonts/Graphik/Graphik-Medium-Web.woff2") format("woff2");
  font-weight: 500;
  /* Medium */
  font-style: normal; }

/* Code */
@font-face {
  font-family: 'Source Code Pro';
  src: url("../../fonts/source-code-pro/SourceCodePro-Regular.ttf.woff2") format("woff2");
  font-weight: 400;
  /* Normal weight */
  font-style: normal; }

:root {
  color-scheme: dark;
  /* For Dark Reader extensions to see */
  --font-awesome: 'Font Awesome 6 Free';
  --xsui-brand-pink-color: #FF005B;
  --xsui-brand-pink-color-brighter: #ffdde9;
  /* Inline code markdown */
  --xsui-brand-pink-color-bright: #FCAECA;
  /* Inline code markdown */
  --xsui-brand-pink-color-dark: #80002E;
  /* blockquote border-left */
  --xsui-brand-blue-color: #0073f7;
  /* Table row hover */
  --xsui-marine-green-light-action-color: #9bffd2;
  --xsui-marine-green-action-color: #00c77e;
  --xsui-marine-green-dark-action-color: #006E46;
  --xsui-crimson-red-color: #eb002f;
  --xsui-destruction-red-color: #fc2b55;
  --xsui-bold-orange-color: #ff8111;
  --xsui-brightened-orange-yellow-color: #ffa04c;
  --xsui-bluish-black-color: #00244d;
  --xsui-bluish-darker-black-color: #000e1e;
  /* Code block bg */
  --xsui-bluish-darker-gray-secondary-text: #747e8a;
  --xsui-bluish-dark-gray-disabled-text: #a0abb8;
  --xsui-bluish-light-gray-borders-text: #c5d0db;
  --xsui-bluish-lighter-pearl-gray-table-cell: #fafbfc;
  --xsui-bluish-lightest-gray-white-bg: #f7faff;
  --xsui-start-color-gradient-bright-sky: #489dff;
  /* Admonition info bg */
  --xsui-start-color-gradient-coral-orange: #ff497f;
  /* Admonition warning bg */
  --xsui-start-color-gradient-blue-violet: #ac2eff;
  /* Admonition attention bg */
  --xsui-gradient-bright-sky: linear-gradient(90deg, var(--xsui-start-color-gradient-bright-sky), #00ffca);
  /* Admonition info bg */
  --xsui-gradient-coral-orange: linear-gradient(90deg, var(--xsui-start-color-gradient-coral-orange), #fcdd40);
  /* Admonition warning bg */
  --xsui-gradient-blue-violet: linear-gradient(90deg, var(--xsui-start-color-gradient-blue-violet), #37b9fb);
  /* Admonition attention bg */
  --thin-font-weight: 300;
  --regular-font-weight: 400;
  --medium-font-weight: 400;
  --bold-font-weight: 500; }

/* THEME OVERRIDES ----------------------------------------------------------> */
/* 
- Force the default bold text to use font-weight 500
- Fixes pydata-sphinx-theme bug setting `nav.bd-links .current > a` to 600 weight:
  https://github.com/pydata/pydata-sphinx-theme/issues/2080
*/
strong, b, nav.bd-links .current > a {
  font-weight: var(--bold-font-weight); }

html {
  scroll-behavior: smooth;
  /* Jolting fix when jumping navigations or anchors */
  font-family: 'Graphik', 'Open Sans', 'Lato', sans-serif;
  font-weight: var(--regular-font-weight);
  --pst-font-family-base-system: 'Graphik', -apple-system,
    'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue',
    'Arial', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
    'Segoe UI Symbol';
  --pst-font-family-base-heading: 'Sharp Grotesk', 'Graphik', -apple-system,
    'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Arial', sans-serif,
    'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  --pst-font-family-base-monospace: 'Source Code Pro', 'SFMono-Regular',
    'Menlo', 'Consolas', 'Monaco', 'Liberation Mono',
    'Lucida Console', monospace;
  --pst-font-family-base: var(--pst-font-family-base-system);
  --pst-font-family-heading: var(--pst-font-family-base-heading);
  --pst-font-family-monospace: var(--pst-font-family-base-monospace); }

body {
  font-family: var(--pst-font-family-base), sans-serif;
  font-weight: var(--regular-font-weight); }

/* Heading font */
h1, h2, h3 {
  font-family: var(--pst-font-family-heading), sans-serif; }

/* Less-intense lesser header weight */
h4, h5, h6, .h4, .h5, .h6 {
  font-weight: var(--medium-font-weight); }

h1 {
  font-size: 175%; }

h2 {
  font-size: 24px;
  color: var(--xsui-brand-pink-color) !important; }

h3 {
  font-size: 125%; }

h4 {
  font-size: 115%; }

h5 {
  font-size: 110%; }

/* Any toctree: XsollaPink header caption txt  */
.caption-text {
  color: var(--xsui-brand-pink-color) !important; }

/* Middle content toctree headers should match h3 style */
.bd-article section .toctree-wrapper .caption-text {
  font-family: var(--pst-font-family-base-heading), sans-serif; }

.bd-article section .toctree-wrapper p.caption {
  margin-bottom: 13px; }

/* Left nav */
.nav, .page-toc .nav-link {
  font-size: 105%; }

/* Right subnav */
.page-toc .reference {
  font-size: 14px; }

/* Right subnav active color */
.active a.reference.internal.nav-link {
  color: var(--xsui-marine-green-action-color); }

/* Code blocks */
.sphinx-tabs-panel .highlight {
  font-family: var(--pst-font-family-base-monospace), monospace; }

code, pre {
  font-family: var(--pst-font-family-base-monospace), monospace;
  font-weight: var(--regular-font-weight);
  background-color: var(--xsui-bluish-darker-black-color); }

/* `Literals` - dark blue bg (same bg as code blocks) */
.docutils.literal.notranslate {
  background-color: var(--xsui-bluish-darker-black-color); }

/* Give the code block linenos gutter some padding + dark gray border */
span.linenos {
  margin-right: 1.2em;
  border-right: 1px solid var(--xsui-bluish-darker-gray-secondary-text);
  font-family: var(--pst-font-family-base-monospace), monospace; }

/* Unselected code block tab */
.sphinx-tabs-tab {
  color: var(--xsui-bluish-dark-gray-disabled-text) !important; }

/* Selected code block tab */
.sphinx-tabs-tab[aria-selected="true"] {
  color: var(--xsui-bluish-lighter-pearl-gray-table-cell) !important;
  background-color: transparent !important; }

/* Code block outer padding */
.sphinx-tabs-panel {
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: none !important; }

/* Selected right-column navbar item */
.toc-entry a.nav-link.active {
  font-weight: var(--regular-font-weight); }

/* 
 * Merges separate toctrees into 1, useful for having
 * different :maxdepth: sizes
 * https://stackoverflow.com/a/64368882/6541639 
*/
.rst-content .toctree-wrapper:not(:last-child) ul {
  margin-bottom: 0; }

/* 
 * Bug workaround for unresponsive tables that won't auto-wrap 
 * Thanks, Korne127 | https://github.com/readthedocs/sphinx_rtd_theme/issues/1505#issuecomment-2258832864 
*/
.wy-table-responsive table td, .wy-table-responsive table th {
  white-space: normal; }

.table thead > tr > th {
  background-color: var(--xsui-bluish-darker-black-color);
  border-bottom: 2px solid white !important;
  /* Adjust the thickness as needed */ }

/* 
 * We currently only allocated time to style the dark theme.
 * Thanks, choldgraf | https://github.com/executablebooks/sphinx-book-theme/issues/750
 */
button.theme-switch-button {
  display: none !important; }

/* Consistent top-right button colors */
.pst-navbar-icon:hover {
  color: var(--xsui-bluish-lighter-pearl-gray-table-cell) !important;
  text-decoration: none; }

/* ADMONITION ------------------------------------------------------------------- */
/* Admonition (note/warning directive) top banner text color */
div.admonition > .admonition-title::after {
  color: var(--xsui-bluish-lighter-pearl-gray-table-cell) !important; }

/* note:: directive (admonition) top banner */
.admonition.note > .admonition-title,
div.admonition.note > .admonition-title {
  background: var(--xsui-gradient-bright-sky); }

/* warning:: directive (admonition) left vert line color */
.admonition.note, div.admonition.note {
  border-color: var(--xsui-start-color-gradient-bright-sky); }

/* warning:: directive (admonition) top banner */
.admonition.warning > .admonition-title,
div.admonition.warning > .admonition-title {
  background: var(--xsui-gradient-coral-orange); }

/* warning:: directive (admonition) left vert line color */
.admonition.warning, div.admonition.warning {
  border-color: var(--xsui-start-color-gradient-coral-orange); }

/* attention:: directive (admonition) top banner */
.admonition.attention > .admonition-title,
div.admonition.attention > .admonition-title {
  background: var(--xsui-gradient-blue-violet); }

/* attention:: directive (admonition) left vert line color */
.admonition.attention, div.admonition.attention {
  border-color: var(--xsui-start-color-gradient-blue-violet); }

.admonition-grid-wrapper {
  margin: 0 0 10px;
  /* Remove margins for elements following the admonition-title */
  /* Style the admonition block border */
  /* Hide both the title and the icon for specific admonitions (e.g., Quick Links) */ }
  .admonition-grid-wrapper .admonition-title ~ * {
    margin-left: 0 !important;
    margin-right: 0 !important; }
  .admonition-grid-wrapper .admonition {
    border-color: var(--xsui-start-color-gradient-bright-sky);
    margin: 0;
    padding: 0;
    background: linear-gradient(to right, #000e1e 75%, transparent 100%); }
  .admonition-grid-wrapper .admonition-quick-links > .admonition-title {
    display: none !important;
    /* Hides both the title and its icon */ }
  .admonition-grid-wrapper .sd-card-body {
    border-color: transparent !important;
    padding: 0;
    border: none; }

/* MAIN COLOR THEME -------------------------------------------------------- */
html[data-theme='dark'] {
  /* Main theme */
  --pst-color-primary: var(--xsui-marine-green-action-color);
  --pst-color-secondary: #0081fd;
  --pst-color-surface: var(--xsui-bluish-black-color);
  --pst-color-text-base: var(--xsui-bluish-lighter-pearl-gray-table-cell);
  /* Body; but doesn't apply to <p>? */
  --darkreader-inline-color: var(--xsui-bluish-lighter-pearl-gray-table-cell);
  --pst-color-accent: var(--xsui-marine-green-action-color);
  --pst-color-table-row-hover-bg: var(--xsui-brand-blue-color);
  --pst-color-inline-code-links: var(--xsui-marine-green-action-color);
  /* Table row hover */
  --pst-link-color: #3691f9;
  /* Link color */
  --pst-link-hover-color: var(--xsui-marine-green-action-color);
  /* Link hover color */
  --pst-color-text-muted: var(--xsui-bluish-light-gray-borders-text);
  /* Xsolla's actual muted color is too dark */
  --pst-color-border: transparent; }

/* Block quotes and local body toc should show left bar with blue gradient fading to right */
blockquote, nav#contents.local {
  background: linear-gradient(150deg, #000e1e 0%, transparent 50%);
  border-left: 0.2em solid var(--xsui-brand-pink-color-dark); }

.bd-article section ul > li:has(ul) ul li {
  font-weight: normal; }

/* Match Xsolla's sharp edge logo on all pics */
img {
  border-radius: 0 !important;
  margin-bottom: 1.15rem;
  /* BUG FIX: No bottom spacing after images */ }

/* The extension default colors are too dark */
button.copybtn.success {
  border-color: var(--xsui-marine-green-action-color);
  color: var(--xsui-marine-green-action-color); }

.navbar-brand {
  display: flex;
  align-items: center;
  padding-right: 30px !important; }

/* Navbar */
.nav.bd-sidenav .reference.internal {
  color: var(--xsui-bluish-lighter-pearl-gray-table-cell); }

/* Left navbar bg color */
.bd-sidebar-primary {
  background-color: #101318; }

/* Left navbar hover color */
.nav.bd-sidenav .reference.internal:hover {
  /*color: white !important;*/
  color: var(--pst-link-hover-color) !important; }

.toctree-wrapper .compound {
  text-decoration: none; }

.search-button-field {
  background: linear-gradient(225deg, rgba(18, 18, 18, 0.1) 20%, #00244d 70%); }

/* Fix: Stop making images dark in dark theme */
html[data-theme='dark'] img:not(.only-dark, .dark-light) {
  filter: none; }

/* BODY -------------------------------------------------------------------- */
/* Body toctree: Less bold toctree headers (normally ~600) */
.toctree-wrapper li.toctree-l1 {
  font-weight: var(--medium-font-weight) !important; }

.toctree-wrapper li.toctree-l2 {
  list-style-type: disc;
  /* Adds the bullet points */
  font-weight: normal;
  margin-left: 1.5em;
  /* indentation */
  padding-left: 0.5em;
  /* padding */ }

.toctree-wrapper li.toctree-l3,
.toctree-wrapper li.toctree-l4,
.toctree-wrapper li.toctree-l5 {
  list-style-type: square;
  /* Adds the bullet points */
  font-weight: normal;
  margin-left: 1.5em;
  /* indentation */
  padding-left: 0.5em;
  /*  padding */ }

/* Dark Reader: Ignore */
.bd-content .sd-card .sd-card-body, .bd-content .sd-card .sd-card-footer {
  background-color: unset; }

/* LINKS ------------------------------------------------------------------- */
a:hover {
  text-decoration-thickness: 1px !important; }

.bd-main a {
  text-decoration: none; }

.bd-main a:hover {
  text-decoration: none; }

/* When there are header links (rare), it's probably a hierarchy/list (like at components) */
h3:has(a.reference.internal), h4:has(a.reference.internal), h5:has(a.reference.internal), h6:has(a.reference.internal) {
  /* Keep these closer together, but indent like a list item, +using less intense fonts */
  font-family: var(--pst-font-family-base-system), sans-serif; }

h3 a .doc, h3 a .std.std-ref, h4 a .doc, h4 a .std.std-ref, h5 a .doc, h5 a .std.std-ref, h6 a .doc, h6 a .std.std-ref {
  color: var(--xsui-marine-green-light-action-color) !important;
  /* Act as if it's a block quote */
  background: linear-gradient(150deg, #000e1e 0%, transparent 50%);
  border-right: none;
  /* Hover, visited color */ }
  h3 a .doca:visited:hover, h3 a .std.std-refa:visited:hover, h4 a .doca:visited:hover, h4 a .std.std-refa:visited:hover, h5 a .doca:visited:hover, h5 a .std.std-refa:visited:hover, h6 a .doca:visited:hover, h6 a .std.std-refa:visited:hover {
    color: var(--pst-color-link-hover); }
  h3 a .doca:active, h3 a .doc a:visited, h3 a .std.std-refa:active, h3 a .std.std-ref a:visited, h4 a .doca:active, h4 a .doc a:visited, h4 a .std.std-refa:active, h4 a .std.std-ref a:visited, h5 a .doca:active, h5 a .doc a:visited, h5 a .std.std-refa:active, h5 a .std.std-ref a:visited, h6 a .doca:active, h6 a .doc a:visited, h6 a .std.std-refa:active, h6 a .std.std-ref a:visited {
    color: var(--pst-color-link); }
  h3 a .doca:hover, h3 a .std.std-refa:hover, h4 a .doca:hover, h4 a .std.std-refa:hover, h5 a .doca:hover, h5 a .std.std-refa:hover, h6 a .doca:hover, h6 a .std.std-refa:hover {
    color: var(--pst-color-link-hover);
    text-decoration-skip-ink: none; }

/* External links in body should show icon */
.bd-article.reference.external:after, a.reference.external:after {
  font-family: var(--font-awesome), sans-serif;
  font-weight: 900;
  content: "\f35d";
  display: inline-block;
  /* Give some buffer between the text */
  margin-left: 4px;
  margin-right: 4px; }

/* The # hashtag next to headers to copy url */
.headerlink {
  color: var(--xsui-brand-pink-color) !important; }

/* Toctree external links within a body should show FontAwesome external icon */
.bd-article .toctree-wrapper a.external::after {
  font-family: var(--font-awesome), sans-serif;
  content: "\f35d";
  display: inline-block;
  margin-left: 4px; }

/* Grids ----------------------------------------------------------------- */
/* There's too much vertical space - we could optionally limit this later to just home page */
div.sd-card-body.docutils {
  margin-bottom: -2.5em; }

/* BADGES ----------------------------------------------------------------- */
/* The default is overwhelmingly bold and too spacious */
.sd-sphinx-override.sd-badge.sd-outline-info.sd-text-info {
  font-weight: normal;
  line-height: 0.9;
  font-size: 0.7em;
  letter-spacing: -0.8px; }

/* XSOLLA UI -------------------------------------------------------------- */
.xsui-button {
  font-family: 'Graphik', -apple-system, system-ui, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, Helvetica, Arial;
  font-size: 12px;
  font-weight: var(--bold-font-weight);
  letter-spacing: 1px;
  line-height: 24px;
  text-transform: uppercase;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 40px;
  color: #fff !important;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: background-color .1s ease-in-out, border-color .1s ease-in-out, color .1s ease-in-out, opacity .1s ease-in-out, box-shadow .1s ease-in-out; }

.xsui-button--appearance-primary {
  background-color: var(--xsui-marine-green-action-color) !important;
  border-color: var(--xsui-marine-green-action-color) !important;
  box-shadow: 0 4px 16px rgba(0, 199, 126, 0.32); }
  .xsui-button--appearance-primary:hover {
    background-color: #01b170 !important;
    border-color: #01b170 !important;
    box-shadow: 0 8px 16px rgba(0, 199, 126, 0.32); }

.xsui-button--appearance-secondary {
  background-color: var(--xsui-brand-blue-color) !important;
  border-color: var(--xsui-brand-blue-color) !important;
  box-shadow: 0 4px 16px rgba(0, 70, 199, 0.32); }
  .xsui-button--appearance-secondary:hover {
    background-color: #0064d6 !important;
    border-color: #0064d6 !important;
    box-shadow: 0 8px 16px 0 rgba(0, 115, 247, 0.32); }

.xsui-button--size-sm {
  min-width: 108px;
  max-width: 200px;
  padding: 5px 24px; }

.xsui-button--size-md {
  min-width: 140px;
  padding: 9px 32px; }

.xsui-button--size-lg {
  min-width: 172px;
  padding: 13px 44px;
  font-size: 14px; }

.xsui-button__wrapper {
  position: relative; }

.xsui-button__content {
  display: flex;
  align-items: center; }

/* Non-vanilla XsollaUI Overrides--------------------------------------------------- */
/* Buttons should give some margin buffer @ bottom */
.xsui-button {
  margin-bottom: 20px; }

/* WEBKIT SCROLLBARS FOR !FIREFOX ------------------------------------------------- */
/* Hide scrollbar for WebKit browsers (Chrome, Safari, Edge) */
.bd-sidebar-primary::-webkit-scrollbar {
  display: none; }

/* Show scrollbar normally in Firefox */
@-moz-document url-prefix() {
  .bd-sidebar-primary {
    scrollbar-width: auto;
    /* Ensure scrollbars remain visible in Firefox */ } }

/* 
SPHINX-BOOK-THEME HOTFIX (top-right icons): 
https://github.com/executablebooks/sphinx-book-theme/issues/879 
*/
.header-article__inner .header-article-items__end, .header-article__inner .header-article-items__start {
  align-items: start;
  display: flex;
  gap: .5rem; }

/* 
SPHINX-BOOK-THEME HOTFIX (right column vertical stretching fix): 
https://github.com/executablebooks/sphinx-book-theme/issues/879 
*/
.toc-entry a.nav-link {
  padding: .125rem 0 .125rem 1rem; }

/* 
h3 font weight fix (from extra heavy to normal):
https://github.com/executablebooks/sphinx-book-theme/issues/879 
*/
h3 {
  font-size: 125%;
  font-weight: normal; }

/* theme fix: horizontal ruler should be white */
hr {
  border-color: white; }

/* Useful for images that come before a header that already has a ton of margin spacing */
.no-margin-bottom {
  margin-bottom: 0; }

/* Imbalanced margin-bottom */
.logo__image {
  margin-bottom: 0; }
