/* Box-sizing reset */
* {
  box-sizing: border-box;
}

/* Global resets */
html, body {
  margin: 0;
  padding: 0;
  font-family: Helvetica, sans-serif;
  font-weight: 300;
  color: black;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  line-height: 1.5;
  font-size: 16px;
}
a:-moz-any-link {text-decoration: none;}
a:any-link {text-decoration: none;}

@media (min-width: 38em) {
  html {
    font-size: 20px;
  }
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  color: #313131;
  font-weight: 700;
  line-height: 1.25;
  text-rendering: optimizeLegibility;
  margin-bottom: .5rem;
}
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3, .lead { font-size: 1.25rem; }
h3 { margin-top: 1.5rem; }
h4, h5, h6 { 
  font-size: 1rem;
  margin-top: 1rem;
}
h2, h4, h5, h6 { margin-top: 1rem; }

/* Abbreviations & definitions */
abbr, dt { font-weight: 700; }
abbr {
  color: #555;
  text-transform: uppercase;
  cursor: help;
  border-bottom: 1px dotted #e5e5e5;
}
abbr[title] {}

/* Paragraphs, lists, declarations */
p, ul, ol, dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Strong text */
strong {
  font-weight: bolder;}

/* Links */
a {
font-weight: bold;
}
a:hover,
a:focus {
  text-decoration: none;
}
.post-title a:hover,
h1 a:hover,
article.post p a:hover,
a.sidebar-nav-item:hover,
a.sidebar-nav-item:focus {
  text-decoration: none;
}
article.post p a {
  color: inherit;
}


/* Horizontal rule */
hr {
  position: relative;
  margin: 1.5rem 0;
  border: 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #fff;
}

/* Code & syntax highlighting */
code, pre {
  font-family: Menlo, Monaco, "Courier New", monospace;
  background-color: #f9f9f9;
  padding: .25em .5em;
  border-radius: 3px;
  color: #000000;
}
pre {
  display: block;
  margin-bottom: 1rem;
  padding: 1rem;
  font-size: .8rem;
  line-height: 1.4;
  white-space: pre-wrap;
  word-break: break-word;
  border-radius: 4px;
}
pre code {
  padding: 0;
  background: transparent;
  font-size: 100%;
}
.gist code,
.gist pre,
.gist .gist-file .gist-data {
  background: transparent !important;
  padding: 0 !important;
}
.gist .markdown-body {
  padding: 15px;
}
.highlight pre,
blockquote p:last-child {
  margin-bottom: 0;
}
.gist code,
.related-posts li a:hover small,
a strong,
pre code {
  color: inherit;
}

/* Highlight.js core */
.hljs {
  display: block;
  overflow-x: auto;
  padding: .5em;
  color: #333;
  background: #f8f8f8;
}

/* Highlight.js tokens */
.hljs-comment,
.hljs-quote {
  color: #998;
  font-style: italic;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
  color: #333;
  font-weight: 700;
}
.hljs-literal,
.hljs-number,
.hljs-tag .hljs-attr,
.hljs-template-variable,
.hljs-variable {
  color: teal;
}
.hljs-doctag,
.hljs-string {
  color: #d14;
}
.hljs-section,
.hljs-selector-id,
.hljs-title {
  color: #900;
  font-weight: 700;
}
.hljs-subst {
  font-weight: 400;
}
.hljs-class .hljs-title,
.hljs-type {
  color: #458;
  font-weight: 700;
}
.hljs-attribute,
.hljs-name,
.hljs-tag {
  color: navy;
  font-weight: 400;
}
.hljs-meta,
.hljs-strong {
  font-weight: 700;
}
.hljs-link,
.hljs-regexp {
  color: #009926;
}
.hljs-bullet,
.hljs-symbol {
  color: #990073;
}
.hljs-built_in,
.hljs-builtin-name {
  color: #0086b3;
}
.hljs-meta {
  color: #999;
}
.hljs-deletion {
  background: #fdd;
}
.hljs-addition {
  background: #dfd;
}
.hljs-emphasis {
  font-style: italic;
}

/* Blockquotes */
blockquote {
  padding: .5rem 1rem;
  margin: .8rem 0;
  color: #7a7a7a;
  border-left: .25rem solid #e5e5e5;
}
@media (min-width: 30em) {
  blockquote {
    padding-left: 1.25rem;
    padding-right: 5rem;
  }
}

/* Images & iframes */
img, iframe {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 0 1rem;
  border-radius: 5px;
}

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}
td, th {
  border: 1px solid #e5e5e5;
  padding: .25rem .5rem;
}
tbody tr:nth-child(odd) td,
tbody tr:nth-child(odd) th {
  background-color: #f9f9f9;
  color: #000000;
}

/* Messages */
.message,
pre {
  padding: 1rem;
  background-color: #f9f9f9;
  color: #000000;
}
.message {
  color: #717171;
  margin-bottom: 1rem;
}

/* Pagination */
.pagination {
  overflow: hidden;
  margin: 3rem -1rem;
  font-family: "PT Sans", Helvetica, Arial, sans-serif;
  text-align: center;
  color: #ccc;
}
.pagination-item {
  display: block;
  float: left;
  width: 50%;
  padding: 1rem;
  border: 1px solid #eee;
}
.pagination-item:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.pagination-item:last-child {
  margin-left: -1px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.pagination-item:hover {
  background-color: #f5f5f5;
  color: #000000;
}

/* Layout containers */
.container {
  max-width: 38rem;
  padding: 0 1rem;
  margin: 0 auto;
}
.masthead {
  padding: 1rem 0;
  margin-bottom: 3rem;
}
.masthead-title {
  margin: 0 0 .5rem;
  color: #505050;
}
.page, .post {
  margin-bottom: 4em;
}
.post {
  padding-bottom: 4em;
  border-bottom: 4px solid #000;
}
.post-date {
  margin: -.5rem 0 1rem;
  color: #747474;
  font-size: 90%;
}

/* Related posts */
.related {
  padding: 2rem 0;
  border-top: 1px solid #eee;
}
.related-posts {
  list-style: none;
  padding-left: 0;
}
.related-posts li small {
  font-size: 75%;
  color: #747474;
}
.related-posts li a:hover {
  text-decoration: none;
}

/* Sidebar */
.sidebar {
  padding: 2rem 1rem;
  text-align: left;
  background-color: #202020;
  color: #ffffff;
}
.sidebar a {
  color: #fff;
}
.sidebar-about h1 {
  color: #fff;
  margin-top: 0;
}
.sidebar-nav {
  margin-bottom: 1rem;
}
.sidebar-nav-item {
  display: block;
  line-height: 2.75;
}
.sidebar-nav-item.active {
  font-weight: 700;
}
@media (min-width: 48em) {
  .sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 18rem;
  }
  .content {
    max-width: 38rem;
    margin: 0 2rem 0 20rem;
  }
  .sidebar-sticky {
    position: absolute;
    inset: 1rem;
  }
  .sidebar-nav-item {
    line-height: 1.75;
  }
}

/* Content area */
.content {
  padding: 4rem 0;
}
@media (min-width: 48em) {
  .layout-reverse .sidebar {
    left: auto;
    right: 0;
  }
  .layout-reverse .content {
    margin-left: 4rem;
    margin-right: 22rem;
  }
}
@media (min-width: 64em) {
  .content {
    margin-left: 22rem;
    margin-right: 4rem;
  }
}

/* Theme variants */
.theme-base-08 .sidebar,
.theme-base-08 .content a,
.theme-base-08 .related-posts li a:hover {
  background-color: #ac4142;
  color: #ffffff;
}
.theme-base-09 .sidebar,
.theme-base-09 .content a,
.theme-base-09 .related-posts li a:hover {
  background-color: #d28445;
  color: #ffffff;
}
.theme-base-0a .sidebar,
.theme-base-0a .content a,
.theme-base-0a .related-posts li a:hover {
  background-color: #f4bf75;
  color: #000000;
}
.theme-base-0b .sidebar,
.theme-base-0b .content a,
.theme-base-0b .related-posts li a:hover {
  background-color: #90a959;
  color: #ffffff;
}
.theme-base-0c .sidebar,
.theme-base-0c .content a,
.theme-base-0c .related-posts li a:hover {
  background-color: #75b5aa;
  color: #ffffff;
}
.theme-base-0d .sidebar,
.theme-base-0d .content a,
.theme-base-0d .related-posts li a:hover {
  background-color: #6a9fb5;
  color: #ffffff;
}
.theme-base-0e .sidebar,
.theme-base-0e .content a,
.theme-base-0e .related-posts li a:hover {
  background-color: #aa759f;
  color: #ffffff;
}
.theme-base-0f .sidebar,
.theme-base-0f .content a,
.theme-base-0f .related-posts li a:hover {
  background-color: #8f5536;
  color: #ffffff;
}

/* Footnotes & corrections */
#footnotes,
.correction {
  background: #fff5f5;
}

/* Mobile-only tweaks */
@media only screen and (min-device-width: 320px) and (max-device-width: 500px) and (-webkit-min-device-pixel-ratio: 2) {
  .hide {
    display: none;
  }
  nav.sidebar-nav ul li {
    display: inline;
    float: right;
  }
  .sidebar {
    height: 50vh;
  }
}

/* Background gradient overlay */
.sidebar {
  background: repeating-radial-gradient(
    circle at bottom left,
    #fedc00 0, #fedc00 5.5555555556%,
    #fcb712 5.5555555556%, #fcb712 11.1111111111%,
    #f7921e 11.1111111111%, #f7921e 16.6666666667%,
    #e87f24 16.6666666667%, #e87f24 22.2222222222%,
    #dd6227 22.2222222222%, #dd6227 27.7777777778%,
    #dc4c27 27.7777777778%, #dc4c27 33.3333333333%,
    #ca3435 33.3333333333%, #ca3435 38.8888888889%,
    #b82841 38.8888888889%, #b82841 44.4444444444%,
    #953751 44.4444444444%, #953751 50%,
    #364c88 50%, #364c88 55.5555555556%,
    #16599d 55.5555555556%, #16599d 61.1111111111%,
    #02609e 61.1111111111%, #02609e 66.6666666667%,
    #0073a9 66.6666666667%, #0073a9 72.2222222222%,
    #008aa4 72.2222222222%, #008aa4 77.7777777778%,
    #239a87 77.7777777778%, #239a87 83.3333333333%,
    #7cba6d 83.3333333333%, #7cba6d 88.8888888889%,
    #becc2f 88.8888888889%, #becc2f 94.4444444444%,
    #e0d81d 94.4444444444%, #e0d81d 100%
  ), repeating-radial-gradient(
    circle at bottom right,
    #fedc00 0, #fedc00 5.5555555556%,
    #fcb712 5.5555555556%, #fcb712 11.1111111111%,
    #f7921e 11.1111111111%, #f7921e 16.6666666667%,
    #e87f24 16.6666666667%, #e87f24 22.2222222222%,
    #dd6227 22.2222222222%, #dd6227 27.7777777778%,
    #dc4c27 27.7777777778%, #dc4c27 33.3333333333%,
    #ca3435 33.3333333333%, #ca3435 38.8888888889%,
    #b82841 38.8888888889%, #b82841 44.4444444444%,
    #953751 44.4444444444%, #953751 50%,
    #364c88 50%, #364c88 55.5555555556%,
    #16599d 55.5555555556%, #16599d 61.1111111111%,
    #02609e 61.1111111111%, #02609e 66.6666666667%,
    #0073a9 66.6666666667%, #0073a9 72.2222222222%,
    #008aa4 72.2222222222%, #008aa4 77.7777777778%,
    #239a87 77.7777777778%, #239a87 83.3333333333%,
    #7cba6d 83.3333333333%, #7cba6d 88.8888888889%,
    #becc2f 88.8888888889%, #becc2f 94.4444444444%,
    #e0d81d 94.4444444444%, #e0d81d 100%
  );
  background-blend-mode: overlay;
}







/* Auto-generated extended background colors for all links within .posts */
/* Extended colors from sidebar gradient - applied to all post links */

:root {
  --link-bg-color-1: #fedc00;
  --link-bg-color-2: #fcb712;
  --link-bg-color-3: #f7921e;
  --link-bg-color-4: #e87f24;
  --link-bg-color-5: #dd6227;
  --link-bg-color-6: #dc4c27;
  --link-bg-color-7: #ca3435;
  --link-bg-color-8: #b82841;
  --link-bg-color-9: #953751;
  --link-bg-color-10: #364c88;
  --link-bg-color-11: #16599d;
  --link-bg-color-12: #02609e;
  --link-bg-color-13: #0073a9;
  --link-bg-color-14: #008aa4;
  --link-bg-color-15: #239a87;
  --link-bg-color-16: #7cba6d;
  --link-bg-color-17: #becc2f;
  --link-bg-color-18: #e0d81d;
  --link-bg-color-19: #fdd006;
  --link-bg-color-20: #fdc30c;
  --link-bg-color-21: #faab16;
  --link-bg-color-22: #f99e1a;
  --link-bg-color-23: #f28c20;
  --link-bg-color-24: #ed8522;
  --link-bg-color-25: #e47525;
  --link-bg-color-26: #e16c26;
  --link-bg-color-27: #dd5b27;
  --link-bg-color-28: #dc5327;
  --link-bg-color-29: #d6442c;
  --link-bg-color-30: #d03c30;
  --link-bg-color-31: #c43039;
  --link-bg-color-32: #be2c3d;
  --link-bg-color-33: #ac2d46;
  --link-bg-color-34: #a1324c;
  --link-bg-color-35: #753e63;
  --link-bg-color-36: #564576;
  --link-bg-color-37: #2b508f;
  --link-bg-color-38: #215596;
  --link-bg-color-39: #0f5b9d;
  --link-bg-color-40: #095e9e;
  --link-bg-color-41: #0166a2;
  --link-bg-color-42: #016da5;
  --link-bg-color-43: #007ba7;
  --link-bg-color-44: #0082a6;
  --link-bg-color-45: #0c8f9a;
  --link-bg-color-46: #179591;
  --link-bg-color-47: #41a57e;
  --link-bg-color-48: #5eaf76;
  --link-bg-color-49: #92c058;
  --link-bg-color-50: #a8c644;
  --link-bg-color-51: #c9d029;
  --link-bg-color-52: #d5d423;
}

.posts article:nth-of-type(1) a {
  background-color: var(--link-bg-color-1);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(2) a {
  background-color: var(--link-bg-color-2);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(3) a {
  background-color: var(--link-bg-color-3);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(4) a {
  background-color: var(--link-bg-color-4);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(5) a {
  background-color: var(--link-bg-color-5);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(6) a {
  background-color: var(--link-bg-color-6);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(7) a {
  background-color: var(--link-bg-color-7);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(8) a {
  background-color: var(--link-bg-color-8);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(9) a {
  background-color: var(--link-bg-color-9);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(10) a {
  background-color: var(--link-bg-color-10);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(11) a {
  background-color: var(--link-bg-color-11);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(12) a {
  background-color: var(--link-bg-color-12);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(13) a {
  background-color: var(--link-bg-color-13);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(14) a {
  background-color: var(--link-bg-color-14);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(15) a {
  background-color: var(--link-bg-color-15);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(16) a {
  background-color: var(--link-bg-color-16);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(17) a {
  background-color: var(--link-bg-color-17);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(18) a {
  background-color: var(--link-bg-color-18);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(19) a {
  background-color: var(--link-bg-color-19);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(20) a {
  background-color: var(--link-bg-color-20);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(21) a {
  background-color: var(--link-bg-color-21);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(22) a {
  background-color: var(--link-bg-color-22);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(23) a {
  background-color: var(--link-bg-color-23);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(24) a {
  background-color: var(--link-bg-color-24);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(25) a {
  background-color: var(--link-bg-color-25);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(26) a {
  background-color: var(--link-bg-color-26);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(27) a {
  background-color: var(--link-bg-color-27);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(28) a {
  background-color: var(--link-bg-color-28);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(29) a {
  background-color: var(--link-bg-color-29);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(30) a {
  background-color: var(--link-bg-color-30);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(31) a {
  background-color: var(--link-bg-color-31);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(32) a {
  background-color: var(--link-bg-color-32);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(33) a {
  background-color: var(--link-bg-color-33);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(34) a {
  background-color: var(--link-bg-color-34);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(35) a {
  background-color: var(--link-bg-color-35);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(36) a {
  background-color: var(--link-bg-color-36);
  color: #ffffff; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(37) a {
  background-color: var(--link-bg-color-37);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(38) a {
  background-color: var(--link-bg-color-38);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(39) a {
  background-color: var(--link-bg-color-39);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(40) a {
  background-color: var(--link-bg-color-40);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(41) a {
  background-color: var(--link-bg-color-41);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(42) a {
  background-color: var(--link-bg-color-42);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(43) a {
  background-color: var(--link-bg-color-43);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(44) a {
  background-color: var(--link-bg-color-44);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(45) a {
  background-color: var(--link-bg-color-45);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(46) a {
  background-color: var(--link-bg-color-46);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(47) a {
  background-color: var(--link-bg-color-47);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(48) a {
  background-color: var(--link-bg-color-48);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(49) a {
  background-color: var(--link-bg-color-49);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(50) a {
  background-color: var(--link-bg-color-50);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(51) a {
  background-color: var(--link-bg-color-51);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.posts article:nth-of-type(52) a {
  background-color: var(--link-bg-color-52);
  color: #000000; /* Will be overridden by contrast calculator */
  padding: 2px 4px;
  border-radius: 3px;
  text-decoration: none;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

/* Hover effects for all links in .posts */
.posts a:hover {
  opacity: 0.8 !important;
  text-decoration: none !important;
  transform: scale(1.02);
}

@keyframes subtleGlow {
  0% { filter: brightness(1); }
  50% { filter: brightness(1.1); }
  100% { filter: brightness(1); }
}

.posts a {
  animation: subtleGlow 3s ease-in-out infinite;
  animation-delay: calc(var(--link-index, 0) * 0.2s);
}

/* End auto-generated color cycling */
