:root {
  /* Dark+ theme colors */
  --bg-primary: #1F1F1F;
  --fg-primary: #CCCCCC;

  /* Normal colors */
  --black: #000000;
  --red: #d6181b;
  --green: #6A9955;
  --yellow: #e4d201;
  --blue: #569cd6;
  --magenta: #bc3fbc;
  --cyan: #4EC9B0;
  --white: #e5e5e5;

  /* Bright colors */
  --bright-black: #888888;
  --bright-red: #ce9178;
  --bright-green: #b5cea8;
  --bright-yellow: #DCDCAA;
  --bright-blue: #9cdcfe;
  --bright-magenta: #bd7ebd;
  --bright-cyan: #9cdcfe;
  --bright-white: #e5e5e5;


  --brighter-black: #bbbbbb;

  /* Semantic mappings */
  --text-primary: var(--fg-primary);
  --text-inverse: var(--bg-primary);
  --text-muted: var(--bright-black);
  --text-muted-dark: var(--brighter-black);

  --bg-page: var(--bg-primary);
  --bg-code: #2d2d30;
  --bg-code-inline: #2d2d30;
  --bg-blockquote: #2d2d30;
  --bg-table-row: #2d2d30;

  --border-primary: var(--bright-black);
  --border-light: #3e3e42;
  --border-medium: #3e3e42;
  --border-dark: var(--bright-black);
  --border-subtle: #3e3e42;

  --link-color: var(--bright-blue);
  --header-bg: var(--bg-primary);
  --menu-bg: var(--blue);

  --shadow: #000000;
}

/* Apply dark theme to body */
body {
  background: var(--bg-page);
  color: var(--text-primary);
}

a {
  color: var(--link-color);
}

header {
  background: var(--header-bg);
  border-bottom: 1px solid var(--border-primary);
}

header a {
  color: var(--cyan);
}

header a:hover,
header .current a {
  color: var(--bright-cyan);
}

.menu a {
  background: var(--menu-bg);
  color: var(--white);
}

pre {
  border: 1px solid var(--border-light);
  box-shadow: 5px 5px 5px var(--shadow);
  background: var(--bg-code);
  color: var(--text-primary);
}

code {
  background: var(--bg-code-inline);
  color: var(--bright-red);
}

pre code {
  background: none;
  color: var(--text-primary);
}

blockquote {
  background: var(--bg-blockquote);
  border-left: 5px solid var(--blue);
  color: var(--text-primary);
}

#TableOfContents, #TOC {
  border: 1px solid var(--border-subtle);
}

table {
  border-top: 1px solid var(--border-dark);
  border-bottom: 1px solid var(--border-dark);
}

table thead th {
  border-bottom: 1px solid var(--border-light);
}

tr:nth-child(even) {
  background: var(--bg-table-row);
}

/* Date and metadata styling */
.date {
  color: var(--text-muted);
}

.terms {
  color: var(--text-muted);
}

/* Footer */
footer {
  color: var(--text-muted);
}

footer a {
  color: var(--link-color);
}









footer {
	font-size: 90%;
	font-family: monospace;
}

* {
 font-size: 100%;
 font-family: Arial;
}

pre *, code * {
	font-family: Inconsolata;
  font-size: 105%;
}

h1 {
	font-size: 200%;
}

h2 {
	font-size: 150%;
}

.chroma * .line .cl {
  font-size: 150%;
  .kd,
  .kt {
    color: var(--cyan);
  }

  .nc,
  .nf {
    color: var(--bright-yellow);
  }

  .n {
    color: var(--bright-blue);
  }

  .s {
    color: var(--bright-red);
  }

  .kr,
  .k {
    color: var(--bright-magenta);
  }

  .o {
    color: var(--white);
  }

  .mi {
    color: var(--white);
  }

  .c1 {
    color: var(--bright-black);
  }
}
