.alert p {
  padding: 20px;
  background-color: var(--alert-background);
  line-height: 1em;
  border: 2px solid;
  display: block;
  margin: 10px;
}

/* Admonitions*/
.aside {
  position: relative;
  padding: 0.03rem 0.8rem;
  margin-bottom: 1em;
  border: 2px solid var(--code-border);
  color: var(--code-foreground);
  background-color: var(--aside-background);
}

.warn {
  background-color: var(--warning-background);
}

.date-range {
  border: 2px solid var(--code-border);
  padding: 0 0.5em;
  width: fit-content;
  line-height: 0;
}

.error {
  background-color: rgba(255, 23, 68, 0.15);
}

.message p {
  margin: 0.5em;
}

.message-left {
  margin-right: 6em;
}

.message-right {
  margin-left: 6em;
  background-color: #f4f4f4;
}

@media (prefers-color-scheme: dark) {
  .message-right {
    background-color: #978a8a;
  }
}

@media screen and (min-width: 900px) {
  .message-left {
    margin-right: 12em;
  }

  .message-right {
    margin-left: 12em;
  }
}

.collection {
  --spacing-block: 1rem;
  --title-font-size: 1.1rem;
  margin-block-end: var(--spacing-block);
  margin-block-start: var(--spacing-block);
}

article.collection p {
  margin-top: 0px;
}

article.collection h2 {
  margin-top: 0px;
  margin-bottom: 5px;
}

.aside time a,
.collection time a {
  color: var(--time-foreground, currentColor);
  text-decoration: none;
}

.collection.title {
  margin-block-end: 0.5rem;
  margin-block-start: 0;
}

.collection.title header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--spacing-block);
}

.collection.title h2 {
  flex: 1;
  font-size: var(--title-font-size);
  font-weight: 400;
  margin: 0;
  min-width: 0; /* Prevents flex item from overflowing */
}

.collection.body {
  background: var(--collection-body-background);
  border: 2px solid var(--code-border);
  padding: var(--spacing-block);
}

.collection.body time a {
  color: var(--time-foreground);
  text-decoration: none;
}

.collection.body time a:hover {
  text-decoration: underline;
}

.collection.summary h2 {
  display: inline;
  font-size: var(--title-font-size);
  margin: 0;
}

.collection.title time,
.collection.summary time {
  font-family: var(--font-sans);
  float: right;
}

.collection .backlinks a {
  text-decoration: none;
  font-size: 0.9rem;
}

.gallery {
  display: grid;
  gap: var(--gallery-spacing);
  width: 100%;
  margin: 2rem 0;
}

.gallery > img,
.gallery > picture {
  width: 100%;
  height: 100%;
}

.gallery > img,
.gallery > picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--image-radius);
  transition: transform var(--gallery-transition);
}

.gallery > img:hover,
.gallery > picture:hover img {
  transform: scale(1.01);
  cursor: zoom-in;
}

.gallery > figcaption {
  grid-column: 1 / -1;
  text-align: center;
  margin-top: calc(var(--gallery-spacing) / 2);
  font-style: italic;
  color: #555;
}

/* Dynamic columns based on number of children */
.gallery:has(> :nth-child(1):nth-last-child(1)) {
  grid-template-columns: 1fr;
}

.gallery:has(> figcaption):has(> :nth-child(1):nth-last-child(2)) {
  grid-template-columns: 1fr;
}

.gallery:has(> :nth-child(1):nth-last-child(2)),
.gallery:has(> :nth-child(2):nth-last-child(1)) {
  grid-template-columns: repeat(2, 1fr);
}

.gallery:has(> figcaption):has(> :nth-child(1):nth-last-child(3)),
.gallery:has(> figcaption):has(> :nth-child(2):nth-last-child(2)),
.gallery:has(> figcaption):has(> :nth-child(3):nth-last-child(1)) {
  grid-template-columns: repeat(2, 1fr);
}

.gallery:has(> :nth-child(1):nth-last-child(3)),
.gallery:has(> :nth-child(2):nth-last-child(2)),
.gallery:has(> :nth-child(3):nth-last-child(1)) {
  grid-template-columns: repeat(3, 1fr);
}

.gallery:has(> figcaption):has(> :nth-child(1):nth-last-child(4)),
.gallery:has(> figcaption):has(> :nth-child(2):nth-last-child(3)),
.gallery:has(> figcaption):has(> :nth-child(3):nth-last-child(2)),
.gallery:has(> figcaption):has(> :nth-child(4):nth-last-child(1)) {
  grid-template-columns: repeat(3, 1fr);
}

.gallery:has(> :nth-child(n + 5)),
.gallery:has(> figcaption):has(> :nth-child(n + 4)) {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

/* Fallback, in case there are 4 items and no figcaption */
.gallery:not(:has(> figcaption)):has(> :nth-child(n + 4)) {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

/* Layout variants */

.gallery.narrow-image picture,
.gallery.narrow-image picture img {
  max-width: 500px;
  margin: auto;
}

figure.gallery.one-wide.one-wide {
  grid-template-columns: 1fr;
}

figure.gallery.two-wide.two-wide {
  grid-template-columns: repeat(2, 1fr);
}

.gallery.four-wide {
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
}

.gallery.wide-first > :first-child:not(figcaption),
.gallery.wide-last > :last-child:not(figcaption) {
  grid-column: 1 / -1;
}

.gallery.full-viewport {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

figure.gallery.full-viewportmg,
figure.gallery.full-viewport.full-viewport picture {
  transform: none;
  border-radius: 0;
}

.gallery.square-items > img,
.gallery.square-items > picture img {
  aspect-ratio: 1;
}

@media (max-width: 768px) {
  .gallery:has(> :nth-child(1):nth-last-child(3)),
  .gallery:has(> :nth-child(2):nth-last-child(2)),
  .gallery:has(> :nth-child(3):nth-last-child(1)),
  .gallery:has(> figcaption):has(> :nth-child(1):nth-last-child(4)),
  .gallery:has(> figcaption):has(> :nth-child(2):nth-last-child(3)),
  .gallery:has(> figcaption):has(> :nth-child(3):nth-last-child(2)),
  .gallery:has(> figcaption):has(> :nth-child(4):nth-last-child(1)) {
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery.four-wide,
  .gallery:has(> :nth-child(n + 4)) {
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery:has(> :nth-child(3):nth-last-child(1))
    > :last-child:not(figcaption) {
    grid-column: span 2;
  }

  /* ADDED: New rule for 3 items + figcaption case */
  .gallery:has(> figcaption):has(> :nth-child(4):nth-last-child(1))
  > :nth-child(3) {
    grid-column: span 2;
  }
}

@media (max-width: 480px) {
  .gallery {
    grid-template-columns: 1fr;
  }

  .gallery.four-wide,
  .gallery:has(> :nth-child(n + 4)) {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Disable hover effects on touch devices */
  .gallery > img:hover,
  .gallery > picture:hover img {
    transform: none;
  }
}

.lightbox-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lightbox-overlay.active {
  opacity: 1;
}

.lightbox-container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem 1rem 1rem;
  box-sizing: border-box;
}

.lightbox-image {
  max-width: 95%;
  max-height: 85%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: var(--image-radius);
  transition: transform 0.3s ease;
  transform: scale(0.95);
}

.lightbox-overlay.active .lightbox-image {
  transform: scale(1);
}

.lightbox-caption {
  color: white;
  text-align: center;
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.4;
  max-width: 80%;
  padding: 0.5rem 1rem;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 4px;
  margin-top: 1rem;
}

.lightbox-counter {
  position: absolute;
  top: 2rem;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  font-family: var(--font-sans);
  font-size: 0.9rem;
  background: rgba(0, 0, 0, 0.7);
  padding: 0.5rem 1rem;
  border-radius: 4px;
}

.lightbox-button {
  background: rgba(255, 255, 255, 0.2);
  border: 0;
  color: white;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-family: var(--font-sans);
  font-weight: 400;
  user-select: none;
  position: absolute;
}

.lightbox-button:hover {
  background: rgba(255, 255, 255, 0.3);
  border-color: var(--border-color-hover);
}

.lightbox-button:active {
  transform: scale(0.95);
}

.lightbox-close {
  top: 2rem;
  right: 2rem;
  width: 48px;
  height: 48px;
  font-size: 24px;
}

.lightbox-nav {
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  font-size: 18px;
}

.lightbox-prev {
  left: 2rem;
}

.lightbox-next {
  right: 2rem;
}

.lightbox-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-family: var(--font-sans);
}

.lightbox-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: white;
  animation: spin 1s ease-in-out infinite;
}

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

.lightbox-nav.hidden {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 768px) {
  .lightbox-container {
    padding: 2rem 0.5rem 0.5rem 0.5rem;
  }

  .lightbox-close {
    top: 1rem;
    right: 1rem;
    width: 44px;
    height: 44px;
    font-size: 20px;
  }

  .lightbox-counter {
    top: 1rem;
    font-size: 0.8rem;
    padding: 0.4rem 0.8rem;
  }

  .lightbox-nav {
    width: 44px;
    height: 44px;
    font-size: 16px;
  }

  .lightbox-prev {
    left: 1rem;
  }

  .lightbox-next {
    right: 1rem;
  }

  .lightbox-caption {
    font-size: 0.9rem;
    max-width: 90%;
    padding: 0.4rem 0.8rem;
  }
}

@media (max-width: 480px) {
  .lightbox-container {
    padding: 1.5rem 0.5rem 0.5rem 0.5rem;
  }

  .lightbox-nav {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }

  .lightbox-close {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lightbox-overlay,
  .lightbox-image,
  .lightbox-button {
    transition: none;
  }
}

.poem {
  text-align: center;
  color: var(--blockquote-foreground);
}

.poem ul {
  list-style: none;
}

div.highlight {
  margin-top: 1em;
  margin-bottom: 1em;
}

.highlight {
  font-size: var(--highlight-font-size, 0.9em);
  padding: var(--highlight-padding, 1rem);
  border: 2px solid var(--code-border);
}

.highlight pre {
  margin: 0;
  overflow-x: auto;
}

.highlight table {
  border-spacing: 0;
  border: none;
  margin: 0;
}

.highlight table td {
  padding: 0;
  border: none;
}

.highlight .linenos {
  user-select: none;
  padding-right: 1rem;
  color: var(--highlight-line-number-color);
  text-align: right;
  width: 1%;
  white-space: nowrap;
}

@media (prefers-color-scheme: dark) {
  .highlight {
    background: var(--code-background, #262220) !important;
  }

  td.linenos .normal {
    color: #4e4e4e;
    background-color: transparent;
    padding-left: 5px;
    padding-right: 5px;
  }

  span.linenos {
    color: #4e4e4e;
    background-color: transparent;
    padding-left: 5px;
    padding-right: 5px;
  }

  td.linenos .special {
    color: #8f9494;
    background-color: #ffffc0;
    padding-left: 5px;
    padding-right: 5px;
  }

  span.linenos.special {
    color: #8f9494;
    background-color: #ffffc0;
    padding-left: 5px;
    padding-right: 5px;
  }

  .highlight .hll {
    background-color: #ddd0c0;
  }

  .highlight {
    background: #262220;
    color: #ddd0c0;
  }

  .highlight .c {
    color: #70757a;
  }

  /* Comment */
  .highlight .err {
    color: #af5f5f;
  }

  /* Error */
  .highlight .esc {
    color: #ddd0c0;
  }

  /* Escape */
  .highlight .g {
    color: #ddd0c0;
  }

  /* Generic */
  .highlight .k {
    color: #919191;
  }

  /* Keyword */
  .highlight .l {
    color: #af875f;
  }

  /* Literal */
  .highlight .n {
    color: #ddd0c0;
  }

  /* Name */
  .highlight .o {
    color: #878787;
  }

  /* Operator */
  .highlight .x {
    color: #ddd0c0;
  }

  /* Other */
  .highlight .p {
    color: #ddd0c0;
  }

  /* Punctuation */
  .highlight .ch {
    color: #8f9f9f;
  }

  /* Comment.Hashbang */
  .highlight .cm {
    color: #70757a;
  }

  /* Comment.Multiline */
  .highlight .cp {
    color: #fdd0c0;
  }

  /* Comment.Preproc */
  .highlight .cpf {
    color: #c9b98f;
  }

  /* Comment.PreprocFile */
  .highlight .c1 {
    color: #70757a;
  }

  /* Comment.Single */
  .highlight .cs {
    color: #af5f5f;
  }

  /* Comment.Special */
  .highlight .gd {
    color: #bb6868;
  }

  /* Generic.Deleted */
  .highlight .ge {
    color: #ddd0c0;
    font-style: italic;
  }

  /* Generic.Emph */
  .highlight .ges {
    color: #ddd0c0;
  }

  /* Generic.EmphStrong */
  .highlight .gr {
    color: #af5f5f;
  }

  /* Generic.Error */
  .highlight .gh {
    color: #ddd0c0;
  }

  /* Generic.Heading */
  .highlight .gi {
    color: #849155;
  }

  /* Generic.Inserted */
  .highlight .go {
    color: #ddd0c0;
  }

  /* Generic.Output */
  .highlight .gp {
    color: #ddd0c0;
  }

  /* Generic.Prompt */
  .highlight .gs {
    color: #ddd0c0;
    font-weight: bold;
  }

  /* Generic.Strong */
  .highlight .gu {
    color: #ddd0c0;
  }

  /* Generic.Subheading */
  .highlight .gt {
    color: #af5f5f;
  }

  /* Generic.Traceback */
  .highlight .kc {
    color: #875f5f;
  }

  /* Keyword.Constant */
  .highlight .kd {
    color: #875f5f;
  }

  /* Keyword.Declaration */
  .highlight .kn {
    color: #875f5f;
  }

  /* Keyword.Namespace */
  .highlight .kp {
    color: #919191;
  }

  /* Keyword.Pseudo */
  .highlight .kr {
    color: #b46276;
  }

  /* Keyword.Reserved */
  .highlight .kt {
    color: #af875f;
  }

  /* Keyword.Type */
  .highlight .ld {
    color: #af875f;
  }

  /* Literal.Date */
  .highlight .m {
    color: #87afaf;
  }

  /* Literal.Number */
  .highlight .s {
    color: #c9b98f;
  }

  /* Literal.String */
  .highlight .na {
    color: #ddd0c0;
  }

  /* Name.Attribute */
  .highlight .nb {
    color: #ddd0c0;
  }

  /* Name.Builtin */
  .highlight .nc {
    color: #875f5f;
  }

  /* Name.Class */
  .highlight .no {
    color: #af8787;
  }

  /* Name.Constant */
  .highlight .nd {
    color: #fdd0c0;
  }

  /* Name.Decorator */
  .highlight .ni {
    color: #ddd0c0;
  }

  /* Name.Entity */
  .highlight .ne {
    color: #877575;
  }

  /* Name.Exception */
  .highlight .nf {
    color: #fdd0c0;
  }

  /* Name.Function */
  .highlight .nl {
    color: #ddd0c0;
  }

  /* Name.Label */
  .highlight .nn {
    color: #ddd0c0;
  }

  /* Name.Namespace */
  .highlight .nx {
    color: #ddd0c0;
  }

  /* Name.Other */
  .highlight .py {
    color: #dfaf87;
  }

  /* Name.Property */
  .highlight .nt {
    color: #87afaf;
  }

  /* Name.Tag */
  .highlight .nv {
    color: #ddd0c0;
  }

  /* Name.Variable */
  .highlight .ow {
    color: #878787;
  }

  /* Operator.Word */
  .highlight .pm {
    color: #ddd0c0;
  }

  /* Punctuation.Marker */
  .highlight .w {
    color: #ddd0c0;
  }

  /* Text.Whitespace */
  .highlight .mb {
    color: #87afaf;
  }

  /* Literal.Number.Bin */
  .highlight .mf {
    color: #87afaf;
  }

  /* Literal.Number.Float */
  .highlight .mh {
    color: #87afaf;
  }

  /* Literal.Number.Hex */
  .highlight .mi {
    color: #87afaf;
  }

  /* Literal.Number.Integer */
  .highlight .mo {
    color: #87afaf;
  }

  /* Literal.Number.Oct */
  .highlight .sa {
    color: #dfaf87;
  }

  /* Literal.String.Affix */
  .highlight .sb {
    color: #c9b98f;
  }

  /* Literal.String.Backtick */
  .highlight .sc {
    color: #c9b98f;
  }

  /* Literal.String.Char */
  .highlight .dl {
    color: #c9b98f;
  }

  /* Literal.String.Delimiter */
  .highlight .sd {
    color: #878787;
  }

  /* Literal.String.Doc */
  .highlight .s2 {
    color: #c9b98f;
  }

  /* Literal.String.Double */
  .highlight .se {
    color: #af5f5f;
  }

  /* Literal.String.Escape */
  .highlight .sh {
    color: #c9b98f;
  }

  /* Literal.String.Heredoc */
  .highlight .si {
    color: #af5f5f;
  }

  /* Literal.String.Interpol */
  .highlight .sx {
    color: #fdd0c0;
  }

  /* Literal.String.Other */
  .highlight .sr {
    color: #af5f5f;
  }

  /* Literal.String.Regex */
  .highlight .s1 {
    color: #c9b98f;
  }

  /* Literal.String.Single */
  .highlight .ss {
    color: #af5f5f;
  }

  /* Literal.String.Symbol */
  .highlight .bp {
    color: #87afaf;
  }

  /* Name.Builtin.Pseudo */
  .highlight .fm {
    color: #fdd0c0;
  }

  /* Name.Function.Magic */
  .highlight .vc {
    color: #ddd0c0;
  }

  /* Name.Variable.Class */
  .highlight .vg {
    color: #ddd0c0;
  }

  /* Name.Variable.Global */
  .highlight .vi {
    color: #ddd0c0;
  }

  /* Name.Variable.Instance */
  .highlight .vm {
    color: #ddd0c0;
  }

  /* Name.Variable.Magic */
  .highlight .il {
    color: #87afaf;
  }

  /* Literal.Number.Integer.Long */
}

@media (prefers-color-scheme: light) {
  .highlight {
    background: var(--code-background, #e7daca) !important;
  }

  td.linenos .normal {
    color: inherit;
    background-color: transparent;
    padding-left: 5px;
    padding-right: 5px;
  }

  span.linenos {
    color: inherit;
    background-color: transparent;
    padding-left: 5px;
    padding-right: 5px;
  }

  td.linenos .special {
    color: #000000;
    background-color: #ffffc0;
    padding-left: 5px;
    padding-right: 5px;
  }

  span.linenos.special {
    color: #000000;
    background-color: #ffffc0;
    padding-left: 5px;
    padding-right: 5px;
  }

  .highlight .hll {
    background-color: #ffffcc;
  }

  .highlight {
    background: #ffffff;
  }

  .highlight .c {
    color: #999988;
    font-style: italic;
  }

  /* Comment */
  .highlight .err {
    color: #a61717;
    background-color: #e3d2d2;
  }

  /* Error */
  .highlight .k {
    font-weight: bold;
  }

  /* Keyword */
  .highlight .o {
    font-weight: bold;
  }

  /* Operator */
  .highlight .ch {
    color: #999988;
    font-style: italic;
  }

  /* Comment.Hashbang */
  .highlight .cm {
    color: #999988;
    font-style: italic;
  }

  /* Comment.Multiline */
  .highlight .cp {
    color: #999999;
    font-weight: bold;
  }

  /* Comment.Preproc */
  .highlight .cpf {
    color: #999988;
    font-style: italic;
  }

  /* Comment.PreprocFile */
  .highlight .c1 {
    color: #999988;
    font-style: italic;
  }

  /* Comment.Single */
  .highlight .cs {
    color: #999999;
    font-weight: bold;
    font-style: italic;
  }

  /* Comment.Special */
  .highlight .gd {
    color: #000000;
    background-color: #ffdddd;
  }

  /* Generic.Deleted */
  .highlight .ge {
    font-style: italic;
  }

  /* Generic.Emph */
  .highlight .ges {
    font-weight: bold;
    font-style: italic;
  }

  /* Generic.EmphStrong */
  .highlight .gr {
    color: #aa0000;
  }

  /* Generic.Error */
  .highlight .gh {
    color: #999999;
  }

  /* Generic.Heading */
  .highlight .gi {
    color: #000000;
    background-color: #ddffdd;
  }

  /* Generic.Inserted */
  .highlight .go {
    color: #888888;
  }

  /* Generic.Output */
  .highlight .gp {
    color: #555555;
  }

  /* Generic.Prompt */
  .highlight .gs {
    font-weight: bold;
  }

  /* Generic.Strong */
  .highlight .gu {
    color: #aaaaaa;
  }

  /* Generic.Subheading */
  .highlight .gt {
    color: #aa0000;
  }

  /* Generic.Traceback */
  .highlight .kc {
    font-weight: bold;
  }

  /* Keyword.Constant */
  .highlight .kd {
    font-weight: bold;
  }

  /* Keyword.Declaration */
  .highlight .kn {
    font-weight: bold;
  }

  /* Keyword.Namespace */
  .highlight .kp {
    font-weight: bold;
  }

  /* Keyword.Pseudo */
  .highlight .kr {
    font-weight: bold;
  }

  /* Keyword.Reserved */
  .highlight .kt {
    color: #445588;
    font-weight: bold;
  }

  /* Keyword.Type */
  .highlight .m {
    color: #009999;
  }

  /* Literal.Number */
  .highlight .s {
    color: #bb8844;
  }

  /* Literal.String */
  .highlight .na {
    color: #008080;
  }

  /* Name.Attribute */
  .highlight .nb {
    color: #999999;
  }

  /* Name.Builtin */
  .highlight .nc {
    color: #445588;
    font-weight: bold;
  }

  /* Name.Class */
  .highlight .no {
    color: #008080;
  }

  /* Name.Constant */
  .highlight .ni {
    color: #800080;
  }

  /* Name.Entity */
  .highlight .ne {
    color: #990000;
    font-weight: bold;
  }

  /* Name.Exception */
  .highlight .nf {
    color: #990000;
    font-weight: bold;
  }

  /* Name.Function */
  .highlight .nn {
    color: #555555;
  }

  /* Name.Namespace */
  .highlight .nt {
    color: #000080;
  }

  /* Name.Tag */
  .highlight .nv {
    color: #008080;
  }

  /* Name.Variable */
  .highlight .ow {
    font-weight: bold;
  }

  /* Operator.Word */
  .highlight .w {
    color: #bbbbbb;
  }

  /* Text.Whitespace */
  .highlight .mb {
    color: #009999;
  }

  /* Literal.Number.Bin */
  .highlight .mf {
    color: #009999;
  }

  /* Literal.Number.Float */
  .highlight .mh {
    color: #009999;
  }

  /* Literal.Number.Hex */
  .highlight .mi {
    color: #009999;
  }

  /* Literal.Number.Integer */
  .highlight .mo {
    color: #009999;
  }

  /* Literal.Number.Oct */
  .highlight .sa {
    color: #bb8844;
  }

  /* Literal.String.Affix */
  .highlight .sb {
    color: #bb8844;
  }

  /* Literal.String.Backtick */
  .highlight .sc {
    color: #bb8844;
  }

  /* Literal.String.Char */
  .highlight .dl {
    color: #bb8844;
  }

  /* Literal.String.Delimiter */
  .highlight .sd {
    color: #bb8844;
  }

  /* Literal.String.Doc */
  .highlight .s2 {
    color: #bb8844;
  }

  /* Literal.String.Double */
  .highlight .se {
    color: #bb8844;
  }

  /* Literal.String.Escape */
  .highlight .sh {
    color: #bb8844;
  }

  /* Literal.String.Heredoc */
  .highlight .si {
    color: #bb8844;
  }

  /* Literal.String.Interpol */
  .highlight .sx {
    color: #bb8844;
  }

  /* Literal.String.Other */
  .highlight .sr {
    color: #808000;
  }

  /* Literal.String.Regex */
  .highlight .s1 {
    color: #bb8844;
  }

  /* Literal.String.Single */
  .highlight .ss {
    color: #bb8844;
  }

  /* Literal.String.Symbol */
  .highlight .bp {
    color: #999999;
  }

  /* Name.Builtin.Pseudo */
  .highlight .fm {
    color: #990000;
    font-weight: bold;
  }

  /* Name.Function.Magic */
  .highlight .vc {
    color: #008080;
  }

  /* Name.Variable.Class */
  .highlight .vg {
    color: #008080;
  }

  /* Name.Variable.Global */
  .highlight .vi {
    color: #008080;
  }

  /* Name.Variable.Instance */
  .highlight .vm {
    color: #008080;
  }

  /* Name.Variable.Magic */
  .highlight .il {
    color: #009999;
  }
}

@media (prefers-color-scheme: dark) {
  .gallery.invert-dark,
  img.invert-dark,
  picture.invert-dark,
  picture.invert-dark img,
  figure.invert-dark,
  figure.invert-dark img,
  figure.invert-dark picture {
    filter: invert(1) hue-rotate(180deg);
  }
}

figure.figureChart {
  margin: 1em auto;
  text-align: center;
}
@media screen and (min-width: 600px) {
  figure.figureChart {
    width: 60%;
  }
  figure.figureChart figcaption {
    font-size: 0.9rem;
    /* Adjust font size for the caption */
  }
}

.book-viewer {
  width: 90%;
  border: 2px solid #ccc;
  margin: 20px auto;
  position: relative;
}

.book-viewer-navigation {
  text-align: center;
}

.book-viewer-button {
  padding: 0.2em;
  margin: 0 5px;
}

@media print {
  .collection.body {
    background: none;
    padding: 0;
  }

  .collection time a {
    text-decoration: none;
  }

  .gallery {
    page-break-inside: avoid;
  }

  img {
    margin: 0;
    padding: 0;
    page-break-inside: avoid;
  }
}

