@charset "UTF-8";
*,
*:after,
*:before {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
}

body {
  color: #212121;
  background-color: #fafafa;
  font-family: Atkinson Hyperlegible Next, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif;
  font-size: 1.8em;
  font-weight: 400;
  line-height: 1.8em;
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 1.6em;
    line-height: 1.6em;
  }
}

a {
  font-weight: 500;
  color: #2c29ff;
  text-decoration: none;
}
a:focus, a:hover {
  text-decoration: underline;
}

p {
  margin: 2rem 0 2rem 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Atkinson Hyperlegible Next, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif;
  font-weight: 600;
  color: #000;
  margin: 4rem 0 2.5rem 0;
}
h1:hover .heading-link,
h2:hover .heading-link,
h3:hover .heading-link,
h4:hover .heading-link,
h5:hover .heading-link,
h6:hover .heading-link {
  visibility: visible;
}
h1 .heading-link,
h2 .heading-link,
h3 .heading-link,
h4 .heading-link,
h5 .heading-link,
h6 .heading-link {
  color: #2c29ff;
  font-weight: inherit;
  text-decoration: none;
  font-size: 80%;
  visibility: hidden;
}
h1 .title-link,
h2 .title-link,
h3 .title-link,
h4 .title-link,
h5 .title-link,
h6 .title-link {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
}

h1 {
  font-size: 3.2rem;
  line-height: 3.6rem;
}
@media only screen and (max-width: 768px) {
  h1 {
    font-size: 3rem;
    line-height: 3.4rem;
  }
}

h2 {
  font-size: 2.8rem;
  line-height: 3.2rem;
}
@media only screen and (max-width: 768px) {
  h2 {
    font-size: 2.6rem;
    line-height: 3rem;
  }
}

h3 {
  font-size: 2.4rem;
  line-height: 2.8rem;
}
@media only screen and (max-width: 768px) {
  h3 {
    font-size: 2.2rem;
    line-height: 2.6rem;
  }
}

h4 {
  font-size: 2.2rem;
  line-height: 2.6rem;
}
@media only screen and (max-width: 768px) {
  h4 {
    font-size: 2rem;
    line-height: 2.4rem;
  }
}

h5 {
  font-size: 2rem;
  line-height: 2.4rem;
}
@media only screen and (max-width: 768px) {
  h5 {
    font-size: 1.8rem;
    line-height: 2.2rem;
  }
}

h6 {
  font-size: 1.8rem;
  line-height: 2.2rem;
}
@media only screen and (max-width: 768px) {
  h6 {
    font-size: 1.6rem;
    line-height: 2rem;
  }
}

b,
strong {
  font-weight: 700;
}

.highlight div,
.highlight pre {
  margin: 2rem 0 2rem;
  padding: 1rem;
  border-radius: 1rem;
}

pre {
  display: block;
  font-family: Atkinson Hyperlegible Mono, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.6rem;
  overflow-x: auto;
  margin: 2rem 0 2rem;
  padding: 1rem;
  border-radius: 1rem;
}
pre code {
  display: inline-block;
  background-color: inherit;
  color: inherit;
}

code {
  font-family: Atkinson Hyperlegible Mono, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  font-size: 1.6rem;
  font-weight: 400;
  border-radius: 0.6rem;
  padding: 0.3rem 0.6rem;
  background-color: #ccc;
  color: #212121;
}

blockquote {
  border-left: 2px solid #e0e0e0;
  padding-left: 2rem;
  line-height: 2.2rem;
  font-weight: 400;
  font-style: italic;
}

th,
td {
  padding: 1.6rem;
}

table {
  border-collapse: collapse;
}

table td,
table th {
  border: 2px solid #000;
}

table tr:first-child th {
  border-top: 0;
}

table tr:last-child td {
  border-bottom: 0;
}

table tr td:first-child,
table tr th:first-child {
  border-left: 0;
}

table tr td:last-child,
table tr th:last-child {
  border-right: 0;
}

img {
  max-width: 100%;
}

figure {
  text-align: center;
}

.footnotes ol li p {
  margin: 0;
}

.preload-transitions * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}

.container {
  margin: 1rem auto;
  max-width: 90rem;
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
}

.fab {
  font-weight: 400;
}

.fas {
  font-weight: 700;
}

.float-right {
  float: right;
}

.float-left {
  float: left;
}

.fab {
  font-weight: 400;
}

.fas {
  font-weight: 900;
}

.content {
  flex: 1;
  display: flex;
  margin-top: 1.6rem;
  margin-bottom: 3.2rem;
}
.content header {
  margin-top: 6.4rem;
  margin-bottom: 3.2rem;
}
.content header h1 {
  font-size: 4.2rem;
  line-height: 4.6rem;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .content header h1 {
    font-size: 4rem;
    line-height: 4.4rem;
  }
}
.content article a:where(.external-link)::after {
  padding-left: 0.5em;
  font-size: 0.75em;
}
.content article details summary {
  cursor: pointer;
}
.content article footer {
  margin-top: 4rem;
}
.content article footer .see-also {
  margin: 3.2rem 0;
}
.content article footer .see-also h3 {
  margin: 3.2rem 0;
}
.content article p {
  text-align: justify;
  text-justify: auto;
  hyphens: auto;
}
.content .post .post-title {
  margin-bottom: 0.75em;
}
.content .post .post-meta i {
  text-align: center;
  width: 1.6rem;
  margin-left: 0;
  margin-right: 0.5rem;
}
.content .post .post-meta .date .posted-on {
  margin-left: 0;
  margin-right: 1.5rem;
}
.content .post .post-meta .tags .tag {
  display: inline-block;
  padding: 0.3rem 0.6rem;
  background-color: #e0e0e0;
  border-radius: 0.6rem;
  line-height: 1.4em;
}
.content .post .post-meta .tags .tag a {
  color: #212121;
}
.content .post .post-meta .tags .tag a:active {
  color: #212121;
}
.content figure {
  margin: 0;
  padding: 0;
}
.content figcaption p {
  text-align: center;
  font-style: italic;
  font-size: 1.6rem;
  margin: 0;
}

.avatar img {
  width: 20rem;
  height: auto;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .avatar img {
    width: 10rem;
  }
}

.list ul {
  margin: 3.2rem 0 3.2rem 0;
  list-style: none;
  padding: 0;
}
.list ul li {
  font-size: 1.8rem;
}
@media only screen and (max-width: 768px) {
  .list ul li {
    margin: 1.6rem 0 1.6rem 0;
  }
}
.list ul li .date {
  display: inline-block;
  flex: 1;
  width: 20rem;
  text-align: right;
  margin-right: 3rem;
}
@media only screen and (max-width: 768px) {
  .list ul li .date {
    display: block;
    text-align: left;
  }
}
.list ul li .title {
  font-size: 1.8rem;
  flex: 2;
  color: #212121;
  font-family: Atkinson Hyperlegible Next, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif;
  font-weight: 700;
}
.list ul li .title:hover, .list ul li .title:focus {
  color: #2c29ff;
}
@media only screen and (min-width: 768.1px) {
  .list ul:not(.pagination) li {
    display: flex;
  }
}

.centered {
  display: flex;
  align-items: center;
  justify-content: center;
}
.centered .about {
  text-align: center;
}
.centered .about h1 {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.centered .about h2 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-size: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .centered .about h2 {
    font-size: 2rem;
  }
}
.centered .about ul {
  list-style: none;
  margin: 3rem 0 1rem 0;
  padding: 0;
}
.centered .about ul li {
  display: inline-block;
  position: relative;
}
.centered .about ul li a {
  color: #212121;
  text-transform: uppercase;
  margin-left: 1rem;
  margin-right: 1rem;
  font-size: 1.6rem;
}
.centered .about ul li a:hover, .centered .about ul li a:focus {
  color: #2c29ff;
}
@media only screen and (max-width: 768px) {
  .centered .about ul li a {
    font-size: 1.4rem;
  }
}
.centered .error {
  text-align: center;
}
.centered .error h1 {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
  font-size: 4.6rem;
}
@media only screen and (max-width: 768px) {
  .centered .error h1 {
    font-size: 3.2rem;
  }
}
.centered .error h2 {
  margin-top: 2rem;
  margin-bottom: 3.2rem;
  font-size: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .centered .error h2 {
    font-size: 2.8rem;
  }
}

.notice {
  border-radius: 0.2rem;
  position: relative;
  margin: 2rem 0;
  padding: 0 0.75rem;
  overflow: auto;
}
.notice .notice-title {
  position: relative;
  font-weight: 700;
  margin: 0 -0.75rem;
  padding: 0.2rem 3.5rem;
  border-bottom: 1px solid #fafafa;
}
.notice .notice-title i {
  position: absolute;
  top: 50%;
  left: 1.8rem;
  transform: translate(-50%, -50%);
}
.notice .notice-content {
  display: block;
  margin: 2rem 2rem;
}

.notice.note {
  background-color: rgba(126, 87, 194, 0.1019607843);
}
.notice.note .notice-title {
  background-color: rgba(103, 58, 183, 0.1019607843);
}
.notice.note .notice-title i {
  color: #5e35b1;
}

.notice.tip {
  background-color: rgba(38, 166, 154, 0.1019607843);
}
.notice.tip .notice-title {
  background-color: rgba(0, 150, 136, 0.1019607843);
}
.notice.tip .notice-title i {
  color: #00897b;
}

.notice.example {
  background-color: rgba(141, 110, 99, 0.1019607843);
}
.notice.example .notice-title {
  background-color: rgba(121, 85, 72, 0.1019607843);
}
.notice.example .notice-title i {
  color: #6d4c41;
}

.notice.question {
  background-color: rgba(156, 204, 101, 0.1019607843);
}
.notice.question .notice-title {
  background-color: rgba(139, 195, 74, 0.1019607843);
}
.notice.question .notice-title i {
  color: #7cb342;
}

.notice.info {
  background-color: rgba(66, 165, 245, 0.1019607843);
}
.notice.info .notice-title {
  background-color: rgba(33, 150, 243, 0.1019607843);
}
.notice.info .notice-title i {
  color: #1e88e5;
}

.notice.warning {
  background-color: rgba(255, 202, 40, 0.1019607843);
}
.notice.warning .notice-title {
  background-color: rgba(255, 193, 7, 0.1019607843);
}
.notice.warning .notice-title i {
  color: #ffb300;
}

.notice.error {
  background-color: rgba(239, 83, 80, 0.1019607843);
}
.notice.error .notice-title {
  background-color: rgba(244, 67, 54, 0.1019607843);
}
.notice.error .notice-title i {
  color: #e53935;
}

.navigation {
  height: 6rem;
  width: 100%;
}
.navigation a,
.navigation span {
  display: inline;
  font-size: 1.7rem;
  font-family: Atkinson Hyperlegible Next, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif;
  font-weight: 600;
  color: #212121;
}
.navigation a:hover, .navigation a:focus {
  color: #2c29ff;
}
.navigation .navigation-title {
  letter-spacing: 0.1rem;
  text-transform: uppercase;
}
.navigation .navigation-list {
  float: right;
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
}
@media only screen and (max-width: 768px) {
  .navigation .navigation-list {
    position: relative;
    top: 2rem;
    right: 0;
    z-index: 5;
    visibility: hidden;
    opacity: 0;
    padding: 0;
    max-height: 0;
    width: 100%;
    background-color: #fafafa;
    border-top: solid 2px #e0e0e0;
    border-bottom: solid 2px #e0e0e0;
    transition: opacity 0.25s, max-height 0.15s linear;
  }
}
.navigation .navigation-list .navigation-item {
  float: left;
  margin: 0;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .navigation .navigation-list .navigation-item {
    float: none !important;
    text-align: center;
  }
  .navigation .navigation-list .navigation-item a,
  .navigation .navigation-list .navigation-item span {
    line-height: 5rem;
  }
}
.navigation .navigation-list .navigation-item a,
.navigation .navigation-list .navigation-item span {
  margin-left: 1rem;
  margin-right: 1rem;
}
@media only screen and (max-width: 768px) {
  .navigation .navigation-list .separator {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .navigation .navigation-list .menu-separator {
    border-top: 2px solid #212121;
    margin: 0 8rem;
  }
  .navigation .navigation-list .menu-separator span {
    display: none;
  }
}
.navigation #dark-mode-toggle {
  margin: 1.7rem 0;
  font-size: 2.4rem;
  line-height: inherit;
  bottom: 2rem;
  left: 2rem;
  z-index: 100;
  position: fixed;
}
.navigation #menu-toggle {
  display: none;
}
@media only screen and (max-width: 768px) {
  .navigation #menu-toggle {
    display: initial;
    position: relative;
    visibility: hidden;
  }
  .navigation #menu-toggle:checked + label > i {
    color: #e0e0e0;
  }
  .navigation #menu-toggle:checked + label + ul {
    visibility: visible;
    opacity: 1;
    max-height: 100rem;
  }
  .navigation #menu-toggle:focus-visible + label {
    outline-style: auto;
  }
}
.navigation .menu-button {
  display: none;
}
@media only screen and (max-width: 768px) {
  .navigation .menu-button {
    position: relative;
    display: block;
    font-size: 2.4rem;
    font-weight: 400;
  }
}
.navigation .menu-button i:hover, .navigation .menu-button i:focus {
  color: #000;
}
.navigation i {
  color: #212121;
  cursor: pointer;
}
.navigation i:hover, .navigation i:focus {
  color: #2c29ff;
}

.pagination {
  display: flex;
  justify-content: center;
  margin-top: 6rem;
  text-align: center;
  font-family: Atkinson Hyperlegible Next, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif;
}
.pagination li {
  display: inline;
  text-align: center;
  font-weight: 700;
  margin: 0;
  text-align: center;
  width: 2.2rem;
}
.pagination li a {
  font-weight: 300;
}

.tabs {
  display: flex;
  flex-wrap: wrap;
  margin: 2rem 0 2rem 0;
  position: relative;
}
.tabs.tabs-left {
  justify-content: flex-start;
}
.tabs.tabs-left label.tab-label {
  margin-right: 0.5rem;
}
.tabs.tabs-left .tab-content {
  border-radius: 0px 4px 4px 4px;
}
.tabs.tabs-right {
  justify-content: flex-end;
}
.tabs.tabs-right label.tab-label {
  margin-left: 0.5rem;
}
.tabs.tabs-right .tab-content {
  border-radius: 4px 0px 4px 4px;
}
.tabs input.tab-input {
  display: none;
}
.tabs label.tab-label {
  background-color: #e0e0e0;
  border-color: #ccc;
  border-radius: 4px 4px 0px 0px;
  border-style: solid;
  border-bottom-style: hidden;
  border-width: 1px;
  cursor: pointer;
  display: inline-block;
  order: 1;
  padding: 0.3rem 0.6rem;
  position: relative;
  top: 1px;
  user-select: none;
}
.tabs input.tab-input:checked + label.tab-label {
  background-color: #fafafa;
}
.tabs .tab-content {
  background-color: #fafafa;
  border-color: #ccc;
  border-style: solid;
  border-width: 1px;
  display: none;
  order: 2;
  padding: 1rem;
  width: 100%;
}
.tabs.tabs-code .tab-content {
  padding: 0.5rem;
}
.tabs.tabs-code .tab-content pre {
  margin: 0;
}

.footer {
  width: 100%;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2rem;
  margin-bottom: 1rem;
}
.footer a {
  color: #2c29ff;
}

.float-container {
  bottom: 2rem;
  right: 2rem;
  z-index: 100;
  position: fixed;
}
.float-container a {
  position: relative;
  display: inline-block;
  width: 5rem;
  height: 5rem;
  font-size: 2rem;
  border-radius: 0.2rem;
  opacity: 0.5;
  transition: all 0.25s ease-in;
  cursor: pointer;
}
.float-container a:hover, .float-container a:focus {
  color: #2c29ff;
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  .float-container a:hover, .float-container a:focus {
    color: #000;
    opacity: 0.5;
  }
}
.float-container a i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.4em;
}

.mastodon-wrapper {
  display: flex;
  gap: 3rem;
  flex-direction: row;
}

.comment-level {
  max-width: 3rem;
  min-width: 3rem;
}

.reply-original {
  display: none;
}

.mastodon-comment {
  background-color: var(--body-background);
  border-radius: var(--card-border-radius);
  padding: var(--card-padding);
  margin-bottom: 1rem;
  display: flex;
  gap: 1rem;
  flex-direction: column;
  flex-grow: 2;
}
.mastodon-comment .comment {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  flex-wrap: true;
}
.mastodon-comment .comment-avatar img {
  width: 6rem;
}
.mastodon-comment .content {
  flex-grow: 2;
}
.mastodon-comment .comment-author {
  display: flex;
  flex-direction: column;
}
.mastodon-comment .comment-author-name {
  font-weight: bold;
}
.mastodon-comment .comment-author-name a {
  display: flex;
  align-items: center;
}
.mastodon-comment .comment-author-date {
  margin-left: auto;
}
.mastodon-comment .disabled {
  color: var(--accent-color);
}

.mastodon-comment-content p:first-child {
  margin-top: 0;
}

.mastodon {
  --dlg-bg: #282c37;
  --dlg-w: 600px;
  --dlg-color: #9baec8;
  --dlg-button-p: 0.75em 2em;
  --dlg-outline-c: #00D9F5;
}

body.colorscheme-dark {
  color: #dadada;
  background-color: #212121;
}
body.colorscheme-dark a {
  color: #abc4ff;
}
body.colorscheme-dark h1,
body.colorscheme-dark h2,
body.colorscheme-dark h3,
body.colorscheme-dark h4,
body.colorscheme-dark h5,
body.colorscheme-dark h6 {
  color: #dadada;
}
body.colorscheme-dark h1:hover .heading-link,
body.colorscheme-dark h2:hover .heading-link,
body.colorscheme-dark h3:hover .heading-link,
body.colorscheme-dark h4:hover .heading-link,
body.colorscheme-dark h5:hover .heading-link,
body.colorscheme-dark h6:hover .heading-link {
  visibility: visible;
}
body.colorscheme-dark h1 .heading-link,
body.colorscheme-dark h2 .heading-link,
body.colorscheme-dark h3 .heading-link,
body.colorscheme-dark h4 .heading-link,
body.colorscheme-dark h5 .heading-link,
body.colorscheme-dark h6 .heading-link {
  color: #abc4ff;
  font-weight: inherit;
  text-decoration: none;
  font-size: 80%;
  visibility: hidden;
}
body.colorscheme-dark h1 .title-link,
body.colorscheme-dark h2 .title-link,
body.colorscheme-dark h3 .title-link,
body.colorscheme-dark h4 .title-link,
body.colorscheme-dark h5 .title-link,
body.colorscheme-dark h6 .title-link {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
}
body.colorscheme-dark pre code {
  background-color: inherit;
  color: inherit;
}
body.colorscheme-dark code {
  background-color: #4f4f4f;
  color: #dadada;
}
body.colorscheme-dark blockquote {
  border-left: 2px solid #424242;
}
body.colorscheme-dark th,
body.colorscheme-dark td {
  padding: 1.6rem;
}
body.colorscheme-dark table {
  border-collapse: collapse;
}
body.colorscheme-dark table td,
body.colorscheme-dark table th {
  border: 2px solid #dadada;
}
body.colorscheme-dark table tr:first-child th {
  border-top: 0;
}
body.colorscheme-dark table tr:last-child td {
  border-bottom: 0;
}
body.colorscheme-dark table tr td:first-child,
body.colorscheme-dark table tr th:first-child {
  border-left: 0;
}
body.colorscheme-dark table tr td:last-child,
body.colorscheme-dark table tr th:last-child {
  border-right: 0;
}

@media (prefers-color-scheme: dark) {
  body.colorscheme-auto {
    color: #dadada;
    background-color: #212121;
  }
  body.colorscheme-auto a {
    color: #abc4ff;
  }
  body.colorscheme-auto h1,
  body.colorscheme-auto h2,
  body.colorscheme-auto h3,
  body.colorscheme-auto h4,
  body.colorscheme-auto h5,
  body.colorscheme-auto h6 {
    color: #dadada;
  }
  body.colorscheme-auto h1:hover .heading-link,
  body.colorscheme-auto h2:hover .heading-link,
  body.colorscheme-auto h3:hover .heading-link,
  body.colorscheme-auto h4:hover .heading-link,
  body.colorscheme-auto h5:hover .heading-link,
  body.colorscheme-auto h6:hover .heading-link {
    visibility: visible;
  }
  body.colorscheme-auto h1 .heading-link,
  body.colorscheme-auto h2 .heading-link,
  body.colorscheme-auto h3 .heading-link,
  body.colorscheme-auto h4 .heading-link,
  body.colorscheme-auto h5 .heading-link,
  body.colorscheme-auto h6 .heading-link {
    color: #abc4ff;
    font-weight: inherit;
    text-decoration: none;
    font-size: 80%;
    visibility: hidden;
  }
  body.colorscheme-auto h1 .title-link,
  body.colorscheme-auto h2 .title-link,
  body.colorscheme-auto h3 .title-link,
  body.colorscheme-auto h4 .title-link,
  body.colorscheme-auto h5 .title-link,
  body.colorscheme-auto h6 .title-link {
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
  }
  body.colorscheme-auto pre code {
    background-color: inherit;
    color: inherit;
  }
  body.colorscheme-auto code {
    background-color: #4f4f4f;
    color: #dadada;
  }
  body.colorscheme-auto blockquote {
    border-left: 2px solid #424242;
  }
  body.colorscheme-auto th,
  body.colorscheme-auto td {
    padding: 1.6rem;
  }
  body.colorscheme-auto table {
    border-collapse: collapse;
  }
  body.colorscheme-auto table td,
  body.colorscheme-auto table th {
    border: 2px solid #dadada;
  }
  body.colorscheme-auto table tr:first-child th {
    border-top: 0;
  }
  body.colorscheme-auto table tr:last-child td {
    border-bottom: 0;
  }
  body.colorscheme-auto table tr td:first-child,
  body.colorscheme-auto table tr th:first-child {
    border-left: 0;
  }
  body.colorscheme-auto table tr td:last-child,
  body.colorscheme-auto table tr th:last-child {
    border-right: 0;
  }
}

body.colorscheme-dark .content .post .tags .tag {
  background-color: #424242;
}
body.colorscheme-dark .content .post .tags .tag a {
  color: #dadada;
}
body.colorscheme-dark .content .post .tags .tag a:active {
  color: #dadada;
}
body.colorscheme-dark .content .list ul li .title {
  color: #dadada;
}
body.colorscheme-dark .content .list ul li .title:hover, body.colorscheme-dark .content .list ul li .title:focus {
  color: #abc4ff;
}
body.colorscheme-dark .content .centered .about ul li a {
  color: #dadada;
}
body.colorscheme-dark .content .centered .about ul li a:hover, body.colorscheme-dark .content .centered .about ul li a:focus {
  color: #abc4ff;
}

@media (prefers-color-scheme: dark) {
  body.colorscheme-auto .content .post .tags .tag {
    background-color: #424242;
  }
  body.colorscheme-auto .content .post .tags .tag a {
    color: #dadada;
  }
  body.colorscheme-auto .content .post .tags .tag a:active {
    color: #dadada;
  }
  body.colorscheme-auto .content .list ul li .title {
    color: #dadada;
  }
  body.colorscheme-auto .content .list ul li .title:hover, body.colorscheme-auto .content .list ul li .title:focus {
    color: #abc4ff;
  }
  body.colorscheme-auto .content .centered .about ul li a {
    color: #dadada;
  }
  body.colorscheme-auto .content .centered .about ul li a:hover, body.colorscheme-auto .content .centered .about ul li a:focus {
    color: #abc4ff;
  }
}

body.colorscheme-dark .notice .notice-title {
  border-bottom: 1px solid #212121;
}

@media (prefers-color-scheme: dark) {
  body.colorscheme-auto .notice .notice-title {
    border-bottom: 1px solid #212121;
  }
}

body.colorscheme-dark .navigation a,
body.colorscheme-dark .navigation span {
  color: #dadada;
}
body.colorscheme-dark .navigation a:hover, body.colorscheme-dark .navigation a:focus {
  color: #abc4ff;
}
@media only screen and (max-width: 768px) {
  body.colorscheme-dark .navigation .navigation-list {
    background-color: #212121;
    border-top: solid 2px #424242;
    border-bottom: solid 2px #424242;
  }
}
@media only screen and (max-width: 768px) {
  body.colorscheme-dark .navigation .navigation-list .menu-separator {
    border-top: 2px solid #dadada;
  }
}
@media only screen and (max-width: 768px) {
  body.colorscheme-dark .navigation #menu-toggle:checked + label > i {
    color: #424242;
  }
}
body.colorscheme-dark .navigation i {
  color: #dadada;
}
body.colorscheme-dark .navigation i:hover, body.colorscheme-dark .navigation i:focus {
  color: #abc4ff;
}
body.colorscheme-dark .navigation .menu-button i:hover, body.colorscheme-dark .navigation .menu-button i:focus {
  color: #dadada;
}

@media (prefers-color-scheme: dark) {
  body.colorscheme-auto .navigation a,
  body.colorscheme-auto .navigation span {
    color: #dadada;
  }
  body.colorscheme-auto .navigation a:hover, body.colorscheme-auto .navigation a:focus {
    color: #abc4ff;
  }
}
@media only screen and (prefers-color-scheme: dark) and (max-width: 768px) {
  body.colorscheme-auto .navigation .navigation-list {
    background-color: #212121;
    border-top: solid 2px #424242;
    border-bottom: solid 2px #424242;
  }
}
@media only screen and (prefers-color-scheme: dark) and (max-width: 768px) {
  body.colorscheme-auto .navigation .navigation-list .menu-separator {
    border-top: 2px solid #dadada;
  }
}
@media only screen and (prefers-color-scheme: dark) and (max-width: 768px) {
  body.colorscheme-auto .navigation #menu-toggle:checked + label > i {
    color: #424242;
  }
}
@media (prefers-color-scheme: dark) {
  body.colorscheme-auto .navigation i {
    color: #dadada;
  }
  body.colorscheme-auto .navigation i:hover, body.colorscheme-auto .navigation i:focus {
    color: #abc4ff;
  }
  body.colorscheme-auto .navigation .menu-button i:hover, body.colorscheme-auto .navigation .menu-button i:focus {
    color: #dadada;
  }
}

body.colorscheme-dark .tabs label.tab-label {
  background-color: #424242;
  border-color: #4f4f4f;
}
body.colorscheme-dark .tabs input.tab-input:checked + label.tab-label {
  background-color: #212121;
}
body.colorscheme-dark .tabs .tab-content {
  background-color: #212121;
  border-color: #4f4f4f;
}

@media (prefers-color-scheme: dark) {
  body.colorscheme-auto .tabs label.tab-label {
    background-color: #424242;
    border-color: #4f4f4f;
  }
  body.colorscheme-auto .tabs input.tab-input:checked + label.tab-label {
    background-color: #212121;
  }
  body.colorscheme-auto .tabs .tab-content {
    background-color: #212121;
    border-color: #4f4f4f;
  }
}

body.colorscheme-dark .footer a {
  color: #abc4ff;
}

@media (prefers-color-scheme: dark) {
  body.colorscheme-auto .footer a {
    color: #abc4ff;
  }
}

body.colorscheme-dark .float-container a:hover, body.colorscheme-dark .float-container a:focus {
  color: #abc4ff;
}
@media only screen and (max-width: 768px) {
  body.colorscheme-dark .float-container a:hover, body.colorscheme-dark .float-container a:focus {
    color: #dadada;
  }
}

@media (prefers-color-scheme: dark) {
  body.colorscheme-auto .float-container a:hover, body.colorscheme-auto .float-container a:focus {
    color: #abc4ff;
  }
}
@media only screen and (prefers-color-scheme: dark) and (max-width: 768px) {
  body.colorscheme-auto .float-container a:hover, body.colorscheme-auto .float-container a:focus {
    color: #dadada;
  }
}

.toaster {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  list-style: none;
  outline: none;
  z-index: 999999999;
  position: fixed;
  padding: 5px;
  top: 20px;
  right: 20px;
  display: flex;
  flex-direction: column-reverse;
}
.toaster .toast {
  color: #212121;
  background-color: rgba(250, 250, 250, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: none;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(33, 33, 33, 0.1);
  font-size: 0.8em;
  display: flex;
  padding: 16px;
  width: 325px;
  margin-bottom: 15px;
  cursor: pointer;
  align-items: center;
}
.toaster .toast:hover {
  scale: 1.05;
  transition: all 0.3s ease-in-out;
}
.toaster .toast.fade-out {
  animation: fade-out 0.3s ease-in-out;
  animation-fill-mode: forwards;
}
.toaster .toast.fade-in {
  animation: fade-in 0.3s ease-in-out;
  animation-fill-mode: forwards;
}
.toaster .toast .ti {
  padding-right: 15px;
  font-size: 1.5em;
}
.toaster .toast .content {
  margin: 0;
  display: block;
  font-weight: 400;
  line-height: 1.4;
  white-space: pre;
  overflow: scroll;
}
.toaster .toast .content .title {
  font-weight: 600;
  line-height: 1.5;
}

/* Entrance animations */
@keyframes fade-in {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* Dark mode */
body.colorscheme-dark .toaster .toast {
  color: #dadada;
  background-color: rgba(33, 33, 33, 0.6);
  box-shadow: 0 4px 12px rgba(250, 250, 250, 0.1);
}

@media (prefers-color-scheme: dark) {
  body.colorscheme-auto .toaster .toast {
    color: #dadada;
    background-color: rgba(33, 33, 33, 0.6);
    box-shadow: 0 4px 12px rgba(250, 250, 250, 0.1);
  }
}

i > .icon-tabler {
  vertical-align: text-bottom;
}

[aria-label] .icon-tabler {
  width: 16px;
  vertical-align: text-top;
}

.links .icon-tabler {
  height: 48px;
  width: 48px;
}

.header-anchor {
  font-weight: 600;
  color: #000;
  transition: none;
}
.header-anchor:not(:hover) [aria-hidden=true] {
  display: none;
}
.header-anchor .icon-tabler {
  vertical-align: top;
}

#dark-mode-toggle .icon-tabler {
  width: 50px;
  height: 50px;
}

.code-container {
  position: relative;
}
.code-container .icon-tabler {
  height: 16px;
  width: 16px;
}

.code-copy {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  border: none;
  border-radius: 4px;
}

pre p {
  margin-bottom: 0;
}

@font-face {
  font-family: "Atkinson Hyperlegible Mono";
  src: url("/assets/fonts/AtkinsonHyperlegibleMono-Regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Atkinson Hyperlegible Next";
  src: url("/assets/fonts/AtkinsonHyperlegibleNext-Regular.woff2") format("woff2");
  font-display: swap;
}