@import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,700;0,900;1,300;1,700&display=swap");

main {
  margin: 2em;
}
:root.light {
  --main-color: #000;
  --main-hover-color: #222939;
  --raw-bg-color: rgba(101, 117, 133, 0.16);
  --main-bg-color: #fafcfc;
  --nav-bg-color: #fafcfc;
  --gray-color: #6d6d6d;
  --accent: oklch(51.51% 0.2307 257.85);
  --accent-dark: oklch(64.94% 0.1982 251.813);
  --black: #0f1219;
}

:root {
  --mainLight: hsl(250, 68%, 74%);
  --textDetailAccent: var(--mainLight);
  --main-color: #dfdfd6;
  --main-hover-color: #fff;
  --gray-color: #939da3;
  --raw-bg-color: #65758529;
  --main-bg-color: #212737;
  --nav-bg-color: #212737;
  --accent: oklch(71.7% 0.1648 250.794);
  --accent-dark: oklch(51.51% 0.2307 257.85);
  --vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono",
    "Courier New", monospace;
  --vp-font-family-base: 
    Merriweather,
    serif,
    "Inter var experimental",
    "Inter var",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    "Fira Sans",
    "Droid Sans",
    "Helvetica Neue",
    sans-serif;
}
body {
  margin: 0;
  padding: 0;
  text-align: justify;
  font-family: var(--vp-font-family-base);
  background: var(--main-bg-color);
  background-size: 100% 600px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: var(--main-color);
  line-height: 1.7;
}

h1 :target,
h2 :target,
h3 :target,
h4 :target,
h5 :target,
h6 :target {
  scroll-margin-top: 1.25em;
}
h1 {
  font-size: 2.75em;
  margin-block-start: 0em;
  margin-block-end: 0.8888889em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  line-height: 1.1111111;
}
h2 {
  font-size: 2em;
  margin-block-start: 1.6em;
  margin-block-end: 0.6em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  line-height: 1.3333333;
}
h3 {
  font-size: 1.5em;
  margin-block-start: 1.5em;
  margin-block-end: 0.6em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  line-height: 1.45;
}
h4 {
  font-size: 1.25em;
  margin-block-start: 1.5em;
  margin-block-end: 0.6em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  line-height: 1.6;
}
h5 {
  font-size: 1.1em;
  margin-block-start: 1.5em;
  margin-block-end: 0.5em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  line-height: 1.5;
}
p {
  margin-block-end: 0.5em;
}
strong,
b {
  font-weight: 700;
}
a,
.link {
  color: var(--accent);
  text-decoration: underline;
  cursor: pointer;
}
a,
.link {
  transition:
    color 0.1s,
    underline 0.1s;
}
a:hover,
.link:hover {
  color: var(--accent-dark);
  text-decoration: underline solid 2px;
}
textarea {
  width: 100%;
  font-size: 16px;
}
input {
  font-size: 16px;
}
table {
  width: 100%;
}
img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
pre,
code,
kbd,
samp {
  font-family: var(--vp-font-family-mono);
}
code {
  padding: 2px 5px;
  background-color: var(--raw-bg-color);
  border-radius: 2px;
}
pre {
  padding: 1.5em;
  border-radius: 8px;
}
pre > code {
  all: unset;
}
blockquote {
  border-left: 4px solid var(--accent);
  padding: 0 0 0 18px;
  margin: 0px;
  font-size: 1.333em;
}
hr {
  border: none;
  border-top: 1px solid var(--raw-bg-color);
}

.sr-only {
  border: 0;
  padding: 0;
  margin: 0;
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  /* IE6, IE7 - a 0 height clip, off to the bottom right of the visible 1px box */
  clip: rect(1px 1px 1px 1px);
  /* maybe deprecated but we need to support legacy browsers */
  clip: rect(1px, 1px, 1px, 1px);
  /* modern browsers, clip-path works inwards from each corner */
  clip-path: inset(50%);
  /* added line to stop words getting smushed together (as they go onto separate lines and some screen readers do not understand line feeds as a space */
  white-space: nowrap;
}
nav a,
.social-links a {
  text-decoration: none;
  color: var(--main-color);
}
nav a:hover,
.social-links a:hover {
  color: var(--main-hover-color);
}
.icon svg {
  width: 32px;
  height: 32px;
  overflow: visible;
}
.icon svg path,
.icon svg circle {
  fill: currentColor;
}
.theme-icon {
  cursor: pointer;
}
.dark .theme-icon.light {
  display: none;
}
.dark .theme-icon.dark {
  display: dark;
}
.theme-icon.light {
  display: dark;
}
.theme-icon.dark {
  display: none;
}
.dark .code-image.themed .light {
  display: none;
}
.dark .code-image.themed .dark {
  display: initial;
}
.code-image.themed .light {
  display: initial;
}
.code-image.themed .dark {
  display: none;
}

figcaption {
  text-align: center;
}
.code-image svg {
  max-width: 100%;
  height: fit-content;
}
.inline-equation {
  display: inline-block;
  width: fit-content;
  margin: 0 0.15em;
}
.block-equation {
  display: grid;
  place-items: center;
  overflow-x: auto;
}

.detail-header {
  margin: 1em 0;
  margin-top: 1.5em;
  padding: 0.5em 1em;
  background-color: rgba(255, 255, 255, 0.05);
  border-left: 3px solid var(--textDetailAccent);
  font-size: 1em;
  position: relative;
}

.detail-header h4 {
  font-size: 1em;
  font-weight: 700;
  margin: 0;
}

.detail-header code {
  background-color: transparent;
  margin: 0;
  padding: 0;
}

.detail-header span > p {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.type-int {
  color: #e7d9ff;
}

.type-float {
  color: #e7d9ff;
}

.type-builtin {
  color: #d2a8ff;
}

.type-none {
  color: #ff6d00;
}

.code-kw,
.type-auto {
  color: #ff6d00;
}

.code-func {
  color: #79c0ff;
}

.code-op {
  color: #79c0ff;
}

.type-inferred-as,
.code-kw.type-inferred {
  transition: background-color 0.1s;
}

.type-inferred-as:hover,
.code-kw.type-inferred:hover {
  background-color: #344134;
}
