/* User Provided Stylesheet */

@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap");
:root {
  --default-font-family: "Roboto", "M PLUS 1p", "Noto Color Emoji", sans-serif;
  --code-font-family: "Roboto Mono", sans-serif;
  --myst-color-primary: #3157a4;
  --myst-color-link: #3157a4;
  --myst-color-link-hover: #24417c;
  --myst-color-active: #3157a4;
  --myst-color-active-bg: #e8eef9;
  --myst-color-bg: #ffffff;
  --myst-color-bg-secondary: #f7f9fc;
  --myst-color-border: #e2e7ef;
  --myst-color-border-strong: #ccd4e0;
  --myst-color-text: #20242b;
  --myst-color-prose-body: #343941;
}

.dark {
  --myst-color-primary: #7aa2f7;
  --myst-color-link: #8ab4f8;
  --myst-color-link-hover: #aecbfa;
  --myst-color-active: #8ab4f8;
  --myst-color-active-bg: rgba(96, 165, 250, 0.18);
  --myst-color-bg: #18181b;
  --myst-color-bg-secondary: #20242b;
  --myst-color-border: #3f4652;
  --myst-color-border-strong: #596170;
  --myst-color-text: #f4f4f5;
  --myst-color-prose-body: #d6d3d1;
}

body {
  font-family: var(--default-font-family);
  font-size: 16px;
  line-height: 1.2;
}

@media (min-width: 1280px) {
  .myst-primary-sidebar-pointer {
    grid-column: screen-start/body-start;
    background: var(--myst-color-bg-secondary);
    border-right: 1px solid var(--myst-color-border);
  }
  .myst-primary-sidebar-nav,
  .myst-primary-sidebar-footer {
    width: 18rem;
    margin-left: auto;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--default-font-family);
}

.article {
  line-height: 1.5;
}
.article p {
  margin-top: 0.25rem;
  margin-bottom: 0.75rem;
}
.article h1 {
  font-size: 2.2rem;
  line-height: 1.25;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.article h2 {
  font-size: 1.65rem;
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid var(--myst-color-border);
}
.article h3 {
  font-size: 1.3rem;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  color: var(--myst-color-text);
}

/* Image and figure */
img.image-with-border {
  border: 1px solid var(--myst-color-border);
}
img.image-stylish {
  border-radius: 0.3rem;
  margin: 1rem auto;
  max-width: 100%;
  width: 80%;
}
@media only screen and (max-width: 768px) {
  img.image-stylish {
    width: 100%;
  }
}

figure.image-with-border img {
  border: 1px solid var(--myst-color-border);
}
figure.image-stylish img {
  border-radius: 0.3rem;
  margin: 1rem auto;
  max-width: 100%;
  width: 80%;
}
@media only screen and (max-width: 768px) {
  figure.image-stylish img {
    width: 100%;
  }
}

/* Linked image */
.link-text img {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

/* navbar */
.myst-top-nav {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--myst-color-border);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.dark .myst-top-nav {
  background: rgba(24, 24, 27, 0.96);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* light/dark mode switch */
.myst-theme-button {
  width: 2rem !important;
  height: 2rem !important;
  border: none !important;
  border-radius: 0.35rem !important;
  background: transparent !important;
  color: var(--myst-color-text-secondary);
}
.myst-theme-button:hover {
  background: var(--myst-color-bg-secondary) !important;
  color: var(--myst-color-text);
}
.myst-theme-button svg {
  padding: 0.25rem !important;
}

.myst-toc-item,
.myst-primary-sidebar-item {
  border-radius: 0.35rem;
}

.myst-toc-item-exact {
  font-weight: 700;
}

.myst-primary-sidebar-toc {
  font-size: 0.9rem;
  line-height: 1.2;
}
.myst-primary-sidebar-toc .myst-toc-item {
  margin-top: 0.1rem;
  margin-bottom: 0.1rem;
}
.myst-primary-sidebar-toc .myst-toc-item > a,
.myst-primary-sidebar-toc .myst-toc-item > div {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.myst-fm-block-title {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.015em;
}

.myst-fm-block-enumerator {
  font-weight: 700;
}

.myst-code {
  margin: 1.25rem 0;
  border: 1px solid var(--myst-color-border);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.myst-code:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* admonition */
.myst-admonition-header {
  font-family: var(--default-font-family);
  font-weight: bold;
}

.myst-admonition.question {
  border-left-color: var(--myst-color-primary);
}
.myst-admonition.question .myst-admonition-header {
  color: var(--myst-color-primary);
}

/*
 * Normal notebook output
 */
.article .myst-jp-nb-block:has(> .myst-code) > [data-name=outputs-container]:not(.hidden):not(:empty) {
  display: block;
  margin: 1.25rem 0 !important;
  padding: 0.75rem 0.9rem;
  background: var(--myst-color-bg-secondary);
  border: 1px solid var(--myst-color-border);
  border-radius: 0.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

/*
 * Hide genuinely empty output containers.
 */
.article .myst-jp-nb-block > [data-name=outputs-container]:empty {
  display: none !important;
}

/*
 * If both input and output are visible, visually connect them.
 */
.article .myst-jp-nb-block:has(> [data-name=outputs-container]:not(.hidden):not(:empty)) > .myst-code:not(.hidden) {
  margin-bottom: 0;
  border-radius: 0.5rem 0.5rem 0 0;
}

.article .myst-jp-nb-block:has(> .myst-code:not(.hidden)) > [data-name=outputs-container]:not(.hidden):not(:empty) {
  margin-top: 0 !important;
  border-top: none;
  border-radius: 0 0 0.5rem 0.5rem;
}

/* Figure caption */
.caption-number {
  font-style: normal !important;
  font-weight: bold;
  font-family: var(--default-font-family);
}

.caption-text {
  font-family: var(--default-font-family);
}

.pasted-text {
  font-weight: normal !important;
}

/* Code block */
div.cell_output th,
div.cell_output td {
  text-align: left !important;
}

/*
 * Jupyter notebook outputs
 */
.lm-Widget {
  overflow: clip !important;
}

.jp-RenderedHTMLCommon {
  padding: 0;
  margin: 0;
  font-size: inherit;
  font-family: inherit;
}

/*
 * Inline scalar output embedded inside prose
 */
.article p > div[data-name=output-decoration-notebook-output],
.article li > div[data-name=output-decoration-notebook-output] {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.article p > div[data-name=output-decoration-notebook-output] *,
.article li > div[data-name=output-decoration-notebook-output] * {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  white-space: normal !important;
}
