:root {
    --width: 800px;
    --font-main: 'Verdana', sans-serif;
    --font-secondary: 'Verdana', sans-serif;
    --font-scale: 1rem;
    --background-color: #1e1e2e;
    --heading-color: #cdd6f4;
    --text-color: #cdd6f4;
    --link-color: #cba6f7;
    --visited-color: #cba6f7;
    --blockquote-color: #a6adc8;
    --code-background-color: #181825;
  }

  @media (prefers-color-scheme: dark) {
    :root {
      --background-color: #1e1e2e;
      --heading-color: #cdd6f4;
      --text-color: #cdd6f4;
      --link-color: #cba6f7;
      --visited-color: #cba6f7;
      --blockquote-color: #a6adc8;
      --code-background-color: #181825;
    }
  }

  body {
    font-family: var(--font-secondary);
    font-size: var(--font-scale);
    margin: auto;
    padding: 20px;
    max-width: var(--width);
    text-align: left;
    background-color: var(--background-color);
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.5;
    color: var(--text-color);
    font-weight: 300;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--font-main);
    color: var(--heading-color);
  }

  h2 {
    --heading-color: #a6e3a1;
  }

  h3 {
    --heading-color: #94e2d5;
  }

  .reset-heading-color {
    --heading-color: #cdd6f4;
  }

  a {
    color: var(--link-color);
    cursor: pointer;
    text-decoration: none;
  }

  a:hover {
    text-decoration: underline;
  }

  nav a {
    margin-right: 8px;
  }

  strong,
  b {
    color: var(--heading-color);
  }

  button {
    margin: 0;
    cursor: pointer;
  }

  time {
    font-family: monospace;
    font-style: normal;
    font-size: 15px;
  }

  main {
    line-height: 1.6;
  }

  table {
    width: 100%;
    border-collapse: collapse;
  }

  th,
  td {
    padding: 0.5em;
    border: 2px solid var(--text-color);
    word-break: break-word;
  }

  hr {
    border: 0;
    border-top: 1px dashed;
  }

  img {
    max-width: 100%;
  }

  code {
    font-family: monospace;
    padding: 2px 4px;
    border-radius: 3px;
  }

  blockquote {
    border-left: 5px solid var(--blockquote-color);
    color: var(--blockquote-color);
    padding-left: 20px;
    margin-left: 0;
    font-style: italic;
  }

  footer {
    padding: 25px 0;
    text-align: center;
  }

  .title:hover {
    text-decoration: none;
  }

  .title h1 {
    font-size: 1.5em;
  }

  .inline {
    width: auto !important;
  }

  .highlight,
  .code {
    border-radius: 3px;
    margin-block-start: 1em;
    margin-block-end: 1em;
    overflow-x: auto;
  }

  code:not([class]) {
    background-color: var(--code-background-color);
  }

  /* blog post list */
  ul.blog-posts {
    list-style-type: none;
    padding: unset;
  }

  ul.blog-posts li {
    display: flex;
  }

  ul.blog-posts li span {
    flex: 0 0 130px;
  }

  ul.blog-posts li a:visited {
    color: var(--visited-color);
  }

  ul li:not([class]) {
    line-height: 2em;
  }

  .symbol-of-tolerance {
    margin-top: 1em;
    margin-bottom: 1em;
    height: .25em;
    background: linear-gradient(90deg,#d20f39 0% 9.091%,#fe640b 9.091% 18.182%,#df8e1d 18.182% 27.273%,#40a02b 27.273% 36.364%,#1e66f5 36.364% 45.455%,#8839ef 45.455% 54.545%,#04a5e5 54.545% 63.636%,#cdd6f4 63.636% 72.727%,#ea76cb 72.727% 81.818%,#000 81.818% 90.909%,#945516 90.909% 100%)
  }

  .art-posts {
    margin-top: 1em;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: .1em;
  }

.art-post-media {
  margin-top: 1em;
}

.art-post-thumbnail {
  padding: 0;
  margin: 0;
}

.art-posts a {
  display: block;
  padding: 0;
  margin: 0;
  line-height: 0;
}