@font-face {
  font-family: "Virgil";
  src: url("https://excalidraw.com/Virgil.woff2");
}
@font-face {
  font-family: "Cascadia";
  src: url("https://excalidraw.com/Cascadia.woff2");
}
@font-face {
  font-family: "Assistant";
  src: url("https://excalidraw.com/Assistant-Regular.woff2");
}

:root {
  --font-stack: "Assistant", "Cascadia", "Virgil", "Segoe UI", system-ui, sans-serif;
  --page-width: min(1024px, 90vw);
  --excalidraw-radius: 8px;
  --background-primary: #fff6f0;
  --background-secondary: #f5ece6;
  --background-tertiary: #ede0d8;
  --text-normal: #1a1a1a;
  --text-muted: #555555;
  --text-faint: #707070;
  --code-background: #f5f2f0;
  --code-border: #ddd;
  --inline-code-background: #f0ebe7;
  --inline-code-border: #ccc;
  --link-color: #2563eb;
  --link-color-hover: #1d4ed8;
  --hr-color: #d1c8c2;
  --blockquote-border: #c4b5ac;
  --table-border: #ddd;
  --table-header-bg: #f0ebe7;
  --table-row-alt-bg: #faf7f5;
}

body {
  font-family: var(--font-stack);
  margin: 0;
  background-color: var(--background-primary);
  color: var(--text-normal);
}

div.markdown-embed-title {
  display: none;
}

div.markdown-embed {
  border: none;
  padding: 0;
  background-color: inherit;
}

div.excalidraw-svg {
  height: 100%;
}

svg.excalidraw-svg {
  max-width: 100%;
  max-height: 90vh;
  width: var(--page-width);
}

svg.excalidraw-svg.ex-pageheight {
  width: initial;
  height: 100%;
}

svg.excalidraw-svg.ex-pagewidth {
  width: 90vw;
  height: initial;
}

.excalidraw-svg .text {
  width: 100%;
  text-align: center;
}

div.excalidraw-svg.enlarged {
  position: fixed;
  inset: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

@media (prefers-color-scheme: dark) {
  body:not(.theme-light) {
    --background-primary: #1a1a1a;
    --background-secondary: #252525;
    --background-tertiary: #2e2e2e;
    --text-normal: #e0e0e0;
    --text-muted: #a0a0a0;
    --text-faint: #707070;
    --code-background: #2a2a2a;
    --code-border: #3a3a3a;
    --inline-code-background: #2d2d2d;
    --inline-code-border: #444444;
    --link-color: #7eb8f7;
    --link-color-hover: #a8d1ff;
    --hr-color: #3a3a3a;
    --blockquote-border: #555555;
    --table-border: #3a3a3a;
    --table-header-bg: #252525;
    --table-row-alt-bg: #222222;
    background-color: var(--background-primary);
    color: var(--text-normal);
  }
}

body.theme-dark {
  --background-primary: #1a1a1a;
  --background-secondary: #252525;
  --background-tertiary: #2e2e2e;
  --text-normal: #e0e0e0;
  --text-muted: #a0a0a0;
  --text-faint: #707070;
  --code-background: #2a2a2a;
  --code-border: #3a3a3a;
  --inline-code-background: #2d2d2d;
  --inline-code-border: #444444;
  --link-color: #7eb8f7;
  --link-color-hover: #a8d1ff;
  --hr-color: #3a3a3a;
  --blockquote-border: #555555;
  --table-border: #3a3a3a;
  --table-header-bg: #252525;
  --table-row-alt-bg: #222222;
  background-color: var(--background-primary);
  color: var(--text-normal);
}

:is(body.theme-dark, body:not(.theme-light)) pre,
:is(body.theme-dark, body:not(.theme-light)) pre[class*="language-"] {
  background-color: var(--code-background) !important;
  border: 1px solid var(--code-border) !important;
  color: #d4d4d4 !important;
}

:is(body.theme-dark, body:not(.theme-light)) code:not(pre code) {
  background-color: var(--inline-code-background) !important;
  border: 1px solid var(--inline-code-border) !important;
  color: #c9d1d9 !important;
}

:is(body.theme-dark, body:not(.theme-light)) a {
  color: var(--link-color) !important;
}

:is(body.theme-dark, body:not(.theme-light)) a:hover {
  color: var(--link-color-hover) !important;
}

:is(body.theme-dark, body:not(.theme-light)) hr {
  border-color: var(--hr-color) !important;
}

:is(body.theme-dark, body:not(.theme-light)) blockquote {
  border-left-color: var(--blockquote-border) !important;
  color: var(--text-muted) !important;
}

:is(body.theme-dark, body:not(.theme-light)) table {
  border-color: var(--table-border) !important;
}

:is(body.theme-dark, body:not(.theme-light)) th {
  background-color: var(--table-header-bg) !important;
  border-color: var(--table-border) !important;
}

:is(body.theme-dark, body:not(.theme-light)) td {
  border-color: var(--table-border) !important;
}

:is(body.theme-dark, body:not(.theme-light)) tr:nth-child(even) {
  background-color: var(--table-row-alt-bg) !important;
}

:is(body.theme-dark, body:not(.theme-light)) .callout,
:is(body.theme-dark, body:not(.theme-light)) .site-body-left-column {
  background-color: var(--background-secondary) !important;
}

:is(body.theme-dark, body:not(.theme-light)) svg.excalidraw-svg {
  background-color: var(--background-secondary) !important;
  border-radius: var(--excalidraw-radius);
}

:is(body.theme-dark, body:not(.theme-light)) div.excalidraw-svg.enlarged {
  background-color: var(--background-primary) !important;
}

:is(body.theme-dark, body:not(.theme-light)) input[type="search"],
:is(body.theme-dark, body:not(.theme-light)) .search-input {
  background-color: var(--background-tertiary) !important;
  border-color: var(--code-border) !important;
  color: var(--text-normal) !important;
}

:is(body.theme-dark, body:not(.theme-light)) .token.string,
:is(body.theme-dark, body:not(.theme-light)) .hljs-string {
  color: #ce9178 !important;
}

:is(body.theme-dark, body:not(.theme-light)) .token.keyword,
:is(body.theme-dark, body:not(.theme-light)) .hljs-keyword {
  color: #569cd6 !important;
}

:is(body.theme-dark, body:not(.theme-light)) .token.comment,
:is(body.theme-dark, body:not(.theme-light)) .hljs-comment {
  color: #6a9955 !important;
}

:is(body.theme-dark, body:not(.theme-light)) .token.number,
:is(body.theme-dark, body:not(.theme-light)) .hljs-number {
  color: #b5cea8 !important;
}

:is(body.theme-dark, body:not(.theme-light)) .token.property,
:is(body.theme-dark, body:not(.theme-light)) .hljs-attr {
  color: #9cdcfe !important;
}

:is(body.theme-dark, body:not(.theme-light)) svg.excalidraw-svg > rect[fill="#ffffff"],
:is(body.theme-dark, body:not(.theme-light)) svg.excalidraw-svg > rect[fill="#fff"],
:is(body.theme-dark, body:not(.theme-light)) svg.excalidraw-svg > rect[fill="white"] {
  fill: var(--background-secondary) !important;
}

:is(body.theme-dark, body:not(.theme-light)) svg.excalidraw-svg [stroke="#1e1e1e"],
:is(body.theme-dark, body:not(.theme-light)) svg.excalidraw-svg [stroke="#000000"],
:is(body.theme-dark, body:not(.theme-light)) svg.excalidraw-svg [stroke="#000"],
:is(body.theme-dark, body:not(.theme-light)) svg.excalidraw-svg [stroke="black"] {
  stroke: #e0e0e0 !important;
}

a.site-body-left-column-site-name {
  display: none;
}

div.site-footer {
  display: none;
}
