:root {
  /* colors */
  --blue-50: #eff5ff;
  --blue-100: #dbe8fe;
  --blue-200: #bfd7fe;
  --blue-300: #93bbfd;
  --blue-400: #609afa;
  --blue-500: #3b82f6;
  --blue-600: #2570eb;
  --blue-700: #1d64d8;
  --blue-800: #1e55af;
  --blue-900: #1e478a;
  --blue-950: #172e54;

  --gray-50: #f6f7f8;
  --gray-100: #eaecef;
  --gray-200: #d9dee4;
  --gray-300: #b8c2cc;
  --gray-400: #a0adba;
  --gray-500: #8996a8;
  --gray-600: #778399;
  --gray-700: #6b748a;
  --gray-800: #5a6173;
  --gray-900: #4b515d;
  --gray-950: #30333b;

  --white: #fff;
  --black: #000;

  --brand-github: #333;
  --brand-github-light: #f5f5f5;
  --brand-proton: #6d4aff;
  --brand-mastodon: #6364ff;
  --brand-lastfm: #d51007;
  --brand-trakt: #ed1c24;
  --brand-storygraph: #14919b;
  --brand-buy-me-a-coffee: #ffdd00;
  --brand-rss: #f26522;
  --webrings: #ec8fd0;

  /* fonts */
  --font-sans: silka, Inter, Roboto, 'Helvetica Neue', system-ui, sans-serif;
  --font-mono: ml, ui-monospace, monospace;

  /* text */
  --font-size-xs: .75rem;
  --line-height-xs: 1rem;

  --font-size-sm: .875rem;
  --line-height-sm: 1.25rem;

  --font-size-base: 1rem;
  --line-height-base: 1.5rem;

  --font-size-lg: 1.125rem;
  --line-height-lg: 1.75rem;

  --font-size-xl: 1.25rem;
  --line-height-xl: 1.75rem;

  --font-size-2xl: 1.5rem;
  --line-height-2xl: 2rem;

  --font-size-3xl: 1.875rem;
  --line-height-3xl: 2.25rem;

  /* radii */
  --rounded-none: 0;
  --rounded-sm: .125rem;
  --rounded: .25rem;
  --rounded-md: .375rem;
  --rounded-lg: .5rem;
  --rounded-full: 9999px;

  /* transitions */
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

  /* svgs */
  --stroke-width-default: 1.4;
  --stroke-width-bold: 2;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

body {
  --pagefind-ui-primary: var(--blue-600);
  --pagefind-ui-text: var(--black);
  --pagefind-ui-background: var(--white);
  --pagefind-ui-border: var(--gray-200);
  --pagefind-ui-tag: var(--gray-200);
  --pagefind-ui-border-width: 1px;
  --pagefind-ui-border-radius: 0;
  --pagefind-ui-image-border-radius: 0;
  --pagefind-ui-image-box-ratio: 3 / 2;
  --pagefind-ui-font: var(--font-sans);
}

body,
html {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  font-family: var(--font-sans);
  color: var(--black);
  background: var(--white);
  margin: 0;
}

::-moz-selection {
  color: var(--white);
  background: var(--blue-600);
}

::selection {
  color: var(--white);
  background: var(--blue-600);
}

p {
  line-height: var(--line-height-lg);
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

blockquote {
  margin: 1.25rem 0;
  padding-left: .875rem;
  border-left: 4px solid var(--gray-400);
}

a {
  color: var(--blue-600);
  transition-property: color;
}

a:hover,
a:focus,
a:active,
.main__title h1 a:hover,
.main__title h1 a:focus,
.main__title h1 a:active,
footer .links__secondary a:hover,
footer .links__secondary a:focus,
footer .links__secondary a:active {
  color: var(--blue-800);
}

a > svg {
  stroke: var(--blue-600);
  transition-property: stroke;
}

a > svg:hover,
a > svg:focus,
a > svg:active {
  stroke: var(--blue-800);
}

strong,
.pill--button,
.media__grid .item__meta-text .header {
  font-weight: 700;
}

blockquote,
em {
  font-style: italic;
}

button,
.pill--button {
  appearance: none;
  border: none;
}

/* headers */
h1, h2, h3, h4, h5, h6 {
  font-weight: 900;
}

h1 > svg,
h2 > svg,
h3 > svg,
h4 > svg,
h5 > svg,
h6 > svg {
  margin-right: .25rem;
  stroke-width: var(--stroke-width-bold) !important;
}

hr {
  height: 1px;
  background-color: var(--gray-200);
  width: 100%;
  border: 0;
}

hr.large__spacing,
hr.footnotes-sep {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

/* layout */
.main__wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1 1 0%;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.default__wrapper {
  padding-top: 2rem;
}

/* header */
.main__title {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-top: 1.25rem;
}

.main__title h1 {
  line-height: 1.25;
  margin: 0;
  padding-bottom: .625rem;
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-2xl);
}

.now__topper,
article {
  border-bottom: 1px solid var(--gray-200);
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}

.now__topper h2 {
  font-size: var(--font-size-xl);
  margin-top: 0;
  margin-bottom: 1rem;
}

/* nav */
nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

nav ul li {
  margin-right: 1rem;
}

.main__title h1 a,
nav ul li a,
footer .links__secondary a {
  color: var(--black);
  text-decoration: none;
}

nav svg {
  margin-top: .125rem;
}

nav svg:hover,
nav svg:active,
nav svg:focus {
  stroke-width: var(--stroke-width-bold);
}

nav .at svg {
  stroke: var(--brand-proton);
}

nav .brand-github svg {
  stroke: var(--brand-github);
}

nav .brand-mastodon svg {
  stroke: var(--brand-mastodon);
}

nav .brand-lastfm svg {
  stroke: var(--brand-lastfm);
}

nav .device-tv svg {
  stroke: var(--brand-trakt);
}

nav .books svg {
  stroke: var(--brand-storygraph);
}

nav .cup svg {
  stroke: var(--brand-buy-me-a-coffee);
}

nav .heart-handshake svg {
  stroke: var(--webrings);
}

nav .rss svg {
  stroke: var(--brand-rss);
}

body svg,
html svg,
.link--icon,
.pagination button.disabled > svg,
.pagination button.disabled > svg:hover,
.pagination button.disabled > svg:focus,
.pagination button.disabled > svg:active,
nav .tags svg,
nav .search svg {
  stroke: var(--black);
}

nav .tags svg:hover,
nav .search svg:hover {
  stroke: var(--blue-800);
}

nav ul li:last-child {
  margin-right: 0;
}

.active,
.active svg {
  color: var(--blue-600);
  stroke: var(--blue-600);
  cursor: not-allowed;
}

.active svg:hover {
  stroke-width: var(--stroke-width-default);
}

.link--icon:hover,
.link--icon:active,
.link--icon:focus {
  stroke: var(--blue-800);
}

.pagination button {
  background: none;
  padding-left: 0;
  padding-right: 0;
}

.pagination button > svg {
  cursor: pointer;
  stroke: var(--blue-600);
  transition-property: stroke;
}

.pagination button > svg:hover,
.pagination button > svg:focus,
.pagination button > svg:active {
  stroke: var(--blue-800);
}

.pagination button.disabled > svg {
  opacity: .5;
  cursor: not-allowed;
  stroke-width: var(--stroke-width-default);
}

.pagination .previous {
  padding: .5rem 1rem .5rem 0;
}

footer .social__main {
  gap: 0.5rem;
  margin-top: 2rem;
  padding: 2rem 0 1rem;
  width: 100%;
}

footer .social__main svg {
  margin-top: 0;
}

footer .social__main a {
  width: 1.5rem;
  height: 1.5rem;
}

footer .links__secondary {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  padding-bottom: 2rem;
}

footer .links__secondary span {
  margin-left: .375rem;
  margin-right: .375rem;
}

.highlight-text {
  padding: .125rem;
  background-color: var(--blue-600);
}

code {
  padding: .125rem;
  background-color: var(--black);
}

/* buttons */
.pill--button {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  border-radius: var(--rounded-full);
  padding: .5rem 1rem;
  margin: 0 .25rem .75rem 0;
  cursor: pointer;
  text-decoration: none;
  background-color: var(--blue-600);
  transition-property: background-color;
  display: inline-flex;
  flex-direction: row;
}

.pill--button > svg {
  stroke: var(--white);
  margin-right: .25rem;
  stroke-width: 2 !important;
}

.pill--button.pill--button__small {
  padding-top: .25rem;
  padding-bottom: .25rem;
  padding-left: .5rem;
  padding-right: .5rem;
  margin-right: .5rem;
  margin-bottom: .5rem;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  display: inline-block;
}

.pill--button:hover,
.pill--button:active,
.pill--button:focus {
  background-color: var(--blue-800) !important;
}

.pill--button svg:hover,
.pill--button svg:active,
.pill--button svg:focus {
  stroke: var(--white);
}

/* articles */
article h2 {
  line-height: var(--line-height-2xl);
  margin-top: 0;
  margin-bottom: 0;
}

article time {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}

/* search */
.pagefind-ui__search-input {
  font-weight: 400 !important;
  border-radius: var(--rounded-sm);
  background-color: var(--white);
  border: 1px solid var(--blue-600);
}

.pagefind-ui__search-input:focus {
  border: 1px solid var(--blue-800);
}

/* statistics */
.post-graph {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.post-graph__wrapper {
  position: relative;
  display: flex;
  align-items: center;
  height: 2rem;
  margin-bottom: .375rem;
}

.post-graph__progress {
  background-color: var(--blue-600);
  height: 100%;
}

.post-graph__year {
  font-family: var(--font-mono)
}

.post-graph__progress,
.post-graph__data {
  margin-left: .625rem;
}

/* icons */
[data-tablericon-name] {
  stroke-width: var(--stroke-width-default);
}

.icon--bold > svg {
  stroke-width: var(--stroke-width-bold);
}

.icon--spin > svg {
  animation: spin 1s linear infinite;
}

.link--icon svg {
  color: var(--gray-200);
}

.link--icon:hover svg {
  color: var(--blue-200);
}

.link--icon svg,
.pagination button > svg {
  transition-property: stroke;
}

/* lists */
ul, ol {
  padding-left: 1.25rem;
  list-style-position: inside;
}

.footnotes-list {
  margin-bottom: 0 !important;
  padding-left: 0 !important;
}

.footnotes-list li:last-child {
  margin-bottom: 0;
}

ul li,
ol li {
  margin-top: .375rem;
  margin-bottom: .5rem;
}

/* images */
.image__banner {
  overflow: hidden;
  border: 1px solid var(--blue-600);
  border-radius: var(--rounded-lg);
}

.image__banner,
.image__banner > * {
  display: block;
  width: 100%;
}

.image__banner > * {
  height: auto;
}

/* about */
.avatar__wrapper {
  width: 100%;
  margin-bottom: 1.5rem;
}

.avatar__wrapper .avatar__wrapper--interior {
  width: 16rem;
  height: 16rem;
  border: 1px solid var(--blue-600);
  border-radius: var(--rounded-full);
  display: flex;
  padding: 1rem;
  background-color: var(--white);
  overflow: hidden;
}

.avatar__wrapper .avatar__wrapper--interior > * {
  width: 100%;
  height: 100%;
}

/* contact */
.contact__wrapper {
  display: flex;
  flex-direction: column;
}

.contact__wrapper textarea {
  height: 10rem;
  resize: none;
}

.contact__wrapper .column.contact__description {
  margin-bottom: 1.5rem;
}

.contact__wrapper .column.contact__description p:first-child {
  margin-top: 0;
}

/* now */
.now__section--text {
  padding-left: 1rem;
}

.now__section--text p {
  margin-top: .25rem;
  margin-bottom: .25rem;
}

.now__section--text p > svg {
  vertical-align: middle;
  height: 1.25rem;
  width: 1.25rem;
}

.now__section--header,
article .now__section--header {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.now__section--header:first-of-type {
  margin-top: 0;
}

.now__explainer {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  padding-top: 1rem;
}

.media__grid {
  display: grid;
  gap: .5rem;
}

.media__grid.square {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.media__grid.vertical {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.media__grid.vertical .item__wrapper {
  max-width: 193px;
}

.media__grid .item__wrapper {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
  border: 1px solid var(--blue-600);
  border-radius: var(--rounded-lg);
}

.media__grid .item__wrapper:hover {
  border-color: var(--blue-800)
}

.media__grid .item__cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--rounded-sm);
}

.media__grid .item__cover.gradient {
  background-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.15) 70%,rgba(0,0,0,.5));
}

.media__grid .item__meta-text {
  position: absolute;
  padding: 0 .375rem;
  width: 90%;
  bottom: .375rem;
}

.media__grid .item__meta-text .header,
.media__grid .item__meta-text .subheader {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  overflow: visible;
  display: -webkit-box;
  text-shadow: rgba(0, 0, 0, 0.7) 0px 0px 10px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.media__grid .item__image,
.media__grid .item__image > * {
  width: 100%;
  height: 100%;
}

/* 404 */
.four-oh-four__wrapper .image__banner {
  margin-bottom: 1.25rem;
}

.four-oh-four__wrapper a {
  margin-bottom: 1.25rem;
}

/* pages */
.page__header {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-2xl);
  margin-top: 0;
}

/* widgets */
.popular-posts h2 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.webmentions__wrapper {
  border-top: 1px solid var(--gray-200);
  margin-top: 1.5rem;
  padding-top: 2rem;
}

.webmentions__wrapper .interaction__wrapper.comments {
  flex-direction: column;
}

.webmentions__wrapper .interaction__wrapper {
  cursor: pointer;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}

.webmentions__wrapper .interaction__wrapper .comment__wrapper {
  width: 100%;
  padding-bottom: 1rem;
}

.webmentions__wrapper .interaction__wrapper .comment__wrapper:last-child {
  padding-bottom: 0;
}

.webmentions__wrapper .interaction__wrapper .avatar__wrapper:hover,
.webmentions__wrapper .interaction__wrapper .comment__wrapper:hover .avatar__wrapper {
  border-color: var(--blue-800);
}

.webmentions__wrapper .interaction__wrapper .comment__wrapper--interior .comment {
  margin-left: .75rem;
}

.webmentions__wrapper .interaction__wrapper .comment__wrapper--interior .comment a {
  color: var(--black);
  text-decoration: none;
}

.webmentions__wrapper .interaction__wrapper .comment__wrapper--interior .comment p {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  margin: 0;
}

.webmentions__wrapper .interaction__wrapper .comment__wrapper--interior .comment time {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  margin-top: .25rem;
}

.webmentions__wrapper .interaction__wrapper ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 0 0 .75rem;
  padding: 0;
  list-style: none;
}

.webmentions__wrapper .interaction__wrapper li {
  margin-left: -.75rem;
  height: 3.5rem;
}

.webmentions__wrapper .interaction__wrapper .avatar__wrapper {
  background-color: var(--black);
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 0;
  border-radius: var(--rounded-full);
  overflow: hidden;
  border: 4px solid var(--white);
}

.webmentions__wrapper .interaction__wrapper .avatar__wrapper .avatar__wrapper-image > * {
  width: 100%;
  height: 100%;
  border-radius: var(--rounded-full);
}

.author__wrapper {
  margin-top: 3rem;
  padding: 3rem 0 1rem;
  border-top: 1px solid var(--gray-200);
}

.author__wrapper,
.author__wrapper > .avatar__wrapper,
.webmentions__wrapper .interaction__wrapper .avatar__wrapper > picture {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.author__wrapper > .avatar__wrapper {
  margin-bottom: 1rem;
}

.author__wrapper > .avatar__wrapper > .avatar__wrapper--interior {
  border: 1px solid var(--blue-600);
  border-radius: var(--rounded-full);
  overflow: hidden;
  margin-bottom: 1rem;
  margin-right: 0;
  padding: .25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.author__wrapper > .avatar__wrapper > .avatar__wrapper--interior,
.author__wrapper > .avatar__wrapper > .avatar__wrapper--interior > .author-avatar > * {
  width: 5rem;
  height: 5rem;
}

.author__wrapper > .avatar__wrapper span {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
}

.author__wrapper > .avatar__wrapper,
.author__wrapper > .description__wrapper {
  flex: 1 1 0%;
}

.author__wrapper > .description__wrapper {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  margin-top: 0;
}

.progress-bar__wrapper {
  display: flex;
  overflow: hidden;
  background-color: rgba(217, 222, 228, .6);
  border-radius: var(--rounded-lg);
  height: 1rem;
  width: 100%;
  margin-top: .25rem;
  margin-bottom: .25rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  background-color: var(--blue-600);
}

.webring__wrapper {
  margin-top: 3rem;
  margin-bottom: 2.5rem;
}

.footnotes {
  padding-bottom: 1.5rem;
}

/* inputs */
input[type="text"],
input[type="email"],
textarea {
  color: var(--black);
  background-color: var(--white);
  width: 100%;
  border: 1px solid var(--blue-600);
  padding: .5rem;
  margin-bottom: 1.5rem;
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}

input[type="text"],
input[type="email"],
textarea,
.pagefind-ui__search-input {
  outline: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
  border: 1px solid var(--blue-800);
}

/* utilities */
.hidden {
  display: none !important;
}

.no-underline {
  text-decoration: none !important;
}

.text-center {
  text-align: center !important;
}

.flex--centered {
  display: flex;
  flex-direction: row;
  align-items: center;
}

/* shared styles */
.highlight-text,
code,
.pill--button,
.pill--button:hover,
.pill--button:active,
.pill--button:focus,
.media__grid .item__meta-text .header,
.media__grid .item__meta-text .subheader {
  color: var(--white);
}

a,
a > svg,
.webmentions__wrapper .interaction__wrapper .avatar__wrapper,
.media__grid .item__wrapper,
.pagefind-ui__search-input,
.link--icon svg,
.pagination button > svg,
.pill--button,
input[type="text"],
input[type="email"],
textarea {
  transition-timing-function: var(--ease-in-out);
  transition-duration: 300ms;
}

.webmentions__wrapper .interaction__wrapper .avatar__wrapper,
.media__grid .item__wrapper,
.pagefind-ui__search-input,
input[type="text"],
input[type="email"],
textarea {
  transition-property: border-color;
}

.pagination,
.webmentions__wrapper .interaction__wrapper .comment__wrapper--interior,
.author__wrapper {
  justify-content: space-between;
}

.now__section--text p > svg,
.footnote-item > p {
  display: inline;
}

.avatar__wrapper,
.avatar__wrapper .avatar__wrapper--interior,
.pill--button,
.progress-bar,
.webring__wrapper > .webring__centered,
footer .social__main,
footer .links__secondary {
  justify-content: center;
}

/* screens: small */
@media screen and (min-width: 640px) {
  main {
    max-width: 640px;
  }
}

/* screens: md */
@media screen and (min-width: 768px) {
  .main__title {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 2.5rem;
  }

  .main__title h1 {
    padding-bottom: 0;
    font-size: var(--font-size-3xl);
    line-height: var(--line-height-3xl);
  }

  .now__topper h2 {
    font-size: var(--font-size-2xl);
  }

  .avatar__wrapper .avatar__wrapper--interior {
    width: 24rem;
    height: 24rem;
  }

  main {
    max-width: 768px;
  }

  .page__header {
    font-size: var(--font-size-3xl);
    line-height: var(--line-height-3xl);
  }

  /* lists */
  ul, ol {
    padding-left: 2.5rem;
  }

  footer .social__main {
    gap: .75rem;
  }

  /* now */
  .now__section--text {
    padding-left: 2rem;
  }

  .media__grid.square {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }

  .media__grid.vertical {
    grid-template-columns: repeat(6,minmax(0,1fr));
  }

  .media__grid.vertical .item__wrapper {
    max-width: 121px;
  }

  /* contact */
  .contact__wrapper {
    flex-direction: row;
  }

  .contact__wrapper .column {
    width: 50%;
  }

  .contact__wrapper .column.contact__description {
    padding-right: 1.5rem;
    margin-bottom: 0;
  }

  /* widgets */
  .author__wrapper,
  .author__wrapper > .avatar__wrapper {
    flex-direction: row;
  }

  .author__wrapper > .avatar__wrapper {
    justify-content: start;
  }

  .author__wrapper > .avatar__wrapper {
    margin-bottom: 0;
  }

  .author__wrapper > .avatar__wrapper .avatar__wrapper--interior {
    margin-bottom: 0;
    margin-right: 1rem;
  }
}

/* dark theme */
@media (prefers-color-scheme: dark) {
  body {
    --pagefind-ui-primary: var(--blue-400);
    --pagefind-ui-text: var(--white);
    --pagefind-ui-background: var(--black);
    --pagefind-ui-border: var(--gray-900);
    --pagefind-ui-tag: var(--gray-900);
  }

  body,
  html {
    color: var(--white);
    background-color: var(--black);
  }

  ::-moz-selection {
    background: var(--blue-400);
  }

  ::selection {
    background: var(--blue-400);
  }

  a {
    color: var(--blue-400);
  }

  hr {
    background-color: var(--gray-900);
  }

  .now__topper,
  article {
    border-color: var(--gray-900)
  }

  a:hover,
  a:focus,
  a:active,
  .main__title h1 a:hover,
  .main__title h1 a:focus,
  .main__title h1 a:active,
  footer .links__secondary a:hover,
  footer .links__secondary a:focus,
  footer .links__secondary a:active {
    color: var(--blue-200);
  }

  code {
    color: var(--black);
    background-color: var(--white);
  }

  /* nav */
  nav .brand-github svg {
    stroke: var(--brand-github-light);
  }

  nav .tags svg:hover,
  nav .search svg:hover {
    stroke: var(--blue-200);
  }

  .active {
    color: var(--blue-400);
  }

  .active svg,
  .pagination button > svg {
    stroke: var(--blue-400)
  }

  .pagination button > svg:hover,
  .pagination button > svg:focus,
  .pagination button > svg:active {
    stroke: var(--blue-200);
  }

  /* search */
  .pagefind-ui__search-input {
    border-color: var(--blue-400);
    background-color: var(--black);
  }

  .pagefind-ui__form .pagefind-ui__result-link {
    color: var(--blue-400);
  }

  /* inputs */
  input[type="text"],
  input[type="email"],
  textarea {
    background-color: var(--black);
  }

  /* buttons */
  .pill--button:hover,
  .pill--button:active,
  .pill--button:focus {
    background-color: var(--blue-200);
  }

  body svg,
  html svg,
  nav .tags svg,
  nav .search svg,
  .pagination button.disabled > svg,
  .pagination button.disabled > svg:hover,
  .pagination button.disabled > svg:focus,
  .pagination button.disabled > svg:active,
  .link--icon {
    stroke: var(--white);
  }

  .link--icon:hover,
  .link--icon:active,
  .link--icon:focus {
    stroke: var(--blue-200);
  }

  /* now */
  .media__grid .item__wrapper {
    border-color: var(--blue-400);
  }

  /* images */
  .image__banner {
    border-color: var(--blue-400);
  }

  /* widgets */
  .author__wrapper,
  .webmentions__wrapper {
    border-color: var(--gray-900);
  }

  .webmentions__wrapper .interaction__wrapper .avatar__wrapper {
    background-color: var(--white);
    border-color: var(--black);
  }

  /* shared styles */
  .media__grid .item__wrapper:hover,
  .webmentions__wrapper .interaction__wrapper .avatar__wrapper:hover,
  .webmentions__wrapper .interaction__wrapper .comment__wrapper:hover .avatar__wrapper {
    border-color: var(--blue-200);
  }

  .main__title h1 a,
  footer .links__secondary a,
  nav ul li a,
  input[type="text"],
  input[type="email"],
  textarea,
  .webmentions__wrapper .interaction__wrapper .comment__wrapper--interior .comment a {
    color: var(--white);
  }

  .highlight-text,
  .progress-bar,
  .pagefind-ui__form mark,
  .pill--button,
  .post-graph__progress {
    background-color: var(--blue-400);
  }
}