/* User Provided Stylesheet */

/* Monochrome editorial styling for the supported Jupyter Book theme. */
:root {
  --myst-color-bg: #faf9f6;
  --myst-color-bg-secondary: #f0efeb;
  --myst-color-text: #242424;
  --myst-color-text-secondary: #62615d;
  --myst-color-text-tertiary: #73716c;
  --myst-color-border: #deddd8;
  --myst-color-border-strong: #c7c5bf;
  --myst-color-link: #343434;
  --myst-color-link-hover: #111111;
  --myst-color-link-underline: #777570;
  --myst-color-primary: #343434;
  --myst-color-primary-hover: #111111;
  --myst-color-active: #343434;
  --myst-color-active-bg: #eae9e4;
  --myst-color-active-surface: #efeeea;
  --myst-color-surface: #efeeea;
  --myst-color-surface-hover: #e6e5e0;
  --myst-color-code: #353535;
  --myst-color-focus-ring: #777570;
  --myst-color-focus-outline: #777570;
}
html.dark {
  --myst-color-bg: #202020;
  --myst-color-bg-secondary: #292929;
  --myst-color-text: #eeeeeb;
  --myst-color-text-secondary: #bdbcb6;
  --myst-color-text-tertiary: #aaa9a4;
  --myst-color-border: #3b3b38;
  --myst-color-border-strong: #62625e;
  --myst-color-link: #e0dfd9;
  --myst-color-link-hover: #ffffff;
  --myst-color-link-underline: #aaa9a4;
  --myst-color-primary: #e0dfd9;
  --myst-color-primary-hover: #ffffff;
  --myst-color-active: #eeeeeb;
  --myst-color-active-bg: #353533;
  --myst-color-active-surface: #30302e;
  --myst-color-surface: #30302e;
  --myst-color-surface-hover: #393937;
  --myst-color-code: #e0dfd9;
}
body { font-family: Arial, Helvetica, sans-serif; }
.myst-top-nav { background: var(--myst-color-bg); box-shadow: none; border-bottom: 1px solid var(--myst-color-border); min-height: 72px; }
.myst-home-link { font-size: 14px; letter-spacing: -.2px; }
.myst-search-bar { border-radius: 3px; background: var(--myst-color-bg); }
.myst-toc-item { border-radius: 0; font-weight: 400; }
.myst-toc-item.active { border-left: 2px solid var(--myst-color-text); background: var(--myst-color-active-bg); font-weight: 500; }
.myst-primary-sidebar-nav { padding-top: 38px; }
article.content { padding-top: 24px; }
article.content h1, article.content h2, article.content h3 { font-weight: 500; }
article.content h2 { margin-top: 2em; }
article.content p { line-height: 1.8; }
.course-home { padding-top: 34px; padding-bottom: 55px; }
.course-home h1 { max-width: 650px; font-size: clamp(2.5rem, 5vw, 3.6rem); line-height: 1.08; letter-spacing: -.045em; margin: 24px 0 28px; }
.course-eyebrow { font-size: 11px; letter-spacing: .15em; color: var(--myst-color-text-secondary); }
.course-details { color: var(--myst-color-text-secondary); margin-bottom: 40px; }
.course-details p { margin: 7px 0; }
.course-details strong { color: var(--myst-color-text); font-weight: 500; }
.course-home hr { margin: 36px 0 30px; border-color: var(--myst-color-border); }
.course-home h2 { font-size: 18px; margin-top: 0; margin-bottom: 24px; }
.course-home > p { color: var(--myst-color-text-secondary); font-size: 14px; }
/* Task boxes (admonitions with class "task") and numbered exercises. */
:root { --task-accent: #2e6b4a; --task-bg: #edf3ee; }
html.dark { --task-accent: #86c29f; --task-bg: #1f2823; }
aside.myst-admonition.task, aside.myst-exercise.myst-exercise { border: 0; border-left: 3px solid var(--task-accent); border-radius: 0 4px 4px 0; box-shadow: none; background: var(--task-bg); margin: 1.6em 0 1em; }
aside.myst-admonition.task > .myst-admonition-header, aside.myst-exercise.myst-exercise > .myst-exercise-header { background: transparent; border: 0; padding: 14px 18px 0; }
aside.myst-admonition.task .myst-admonition-header-icon { display: none; }
aside.myst-admonition.task .myst-admonition-header-text, aside.myst-exercise.myst-exercise .myst-exercise-header > div { margin: 0; color: var(--task-accent); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
aside.myst-admonition.task > .myst-admonition-body, aside.myst-exercise.myst-exercise > .myst-exercise-body { padding: 0 18px; }
aside.myst-admonition.task .myst-admonition-body p, aside.myst-exercise.myst-exercise .myst-exercise-body p { margin: 4px 0 14px; }
@media (max-width: 767px) {
  .course-home { padding-top: 20px; padding-bottom: 30px; }
  .course-home h1 { font-size: 2.5rem; }
  .myst-top-nav { min-height: 60px; }
}
