:root {
  --bg-color: #ffffff;
  --text-color: #334155;
  --link-color: #0f172a;
  --header-bg: #ffffff;
  --header-border-top: #1e293b;
  --header-border-bottom: #e2e8f0;
  --code-bg: #f8fafc;
  --code-border: #e2e8f0;
}

[data-theme="dark"] {
  --bg-color: #0b0f19;
  --text-color: #cbd5e1;
  --link-color: #38bdf8;
  --header-bg: #0b0f19;
  --header-border-top: #38bdf8;
  --header-border-bottom: #1e293b;
  --code-bg: #1e293b;
  --code-border: #334155;
}

html {
  background-color: var(--bg-color);
  color: var(--text-color);
  transition: background-color 0.3s, color 0.3s;
}

body {
  /* borrowed from metaredux.com */
  font: 400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  margin: 0;
  padding: 0;
  background-color: var(--bg-color);
  color: var(--text-color);
  min-height: 100vh;
  transition: background-color 0.3s, color 0.3s;
}

h1, h2, h3 {
  font-weight: 800;
}

a {
  color: var(--link-color);
  transition: color 0.3s;
}

.wrapper {
  max-width: 800px;
  margin: 0 auto 0 auto;
  padding: 0 15px;
}

h2 {
  margin-bottom: 0;
  margin-top: 0;
}

p {
  margin-top: 0.2em;
}

.site-header {
  border-top: 2px solid var(--header-border-top);
  border-bottom: 1px solid var(--header-border-bottom);
  background-color: var(--header-bg);
  min-height: 55.95px;
  position: relative;
  transition: background-color 0.3s, border-color 0.3s;
}

.site-title {
  margin: 0;
}

.site-nav {
  float: right;
  line-height: 4rem;
}

.site-nav .page-link:not(:last-child) {
  margin-right: 20px;
}

.page-link {
  text-decoration: none;
  vertical-align: middle;
}

.page-icon {
  vertical-align: middle;
}

ul.index {
  list-style: none;
  padding-left: 0;
}

.index li {
  margin-bottom: 1em;
}

code {
  white-space: pre;
}

/* Prism overrides for dark mode compatibility */
pre[class*="language-"], code[class*="language-"] {
  background: var(--code-bg) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--code-border);
  text-shadow: none !important;
}

[data-theme="dark"] .token.comment,
[data-theme="dark"] .token.prolog,
[data-theme="dark"] .token.doctype,
[data-theme="dark"] .token.cdata {
  color: #64748b;
}

[data-theme="dark"] .token.punctuation {
  color: #94a3b8;
}

[data-theme="dark"] .token.property,
[data-theme="dark"] .token.tag,
[data-theme="dark"] .token.boolean,
[data-theme="dark"] .token.number,
[data-theme="dark"] .token.constant,
[data-theme="dark"] .token.symbol,
[data-theme="dark"] .token.deleted {
  color: #f43f5e;
}

[data-theme="dark"] .token.selector,
[data-theme="dark"] .token.attr-name,
[data-theme="dark"] .token.string,
[data-theme="dark"] .token.char,
[data-theme="dark"] .token.builtin,
[data-theme="dark"] .token.inserted {
  color: #10b981;
}

[data-theme="dark"] .token.operator,
[data-theme="dark"] .token.entity,
[data-theme="dark"] .token.url,
[data-theme="dark"] .language-css .token.string,
[data-theme="dark"] .style .token.string {
  color: #38bdf8;
}

[data-theme="dark"] .token.atrule,
[data-theme="dark"] .token.attr-value,
[data-theme="dark"] .token.keyword {
  color: #38bdf8;
}

[data-theme="dark"] .token.function,
[data-theme="dark"] .token.class-name {
  color: #f59e0b;
}

[data-theme="dark"] .token.regex,
[data-theme="dark"] .token.important,
[data-theme="dark"] .token.variable {
  color: #e2e8f0;
}

