:root {
  --c-bg: #fff;
  --c-scrollbar: #eee;
  --c-scrollbar-hover: #bbb;
}

html {
  background-color: var(--c-bg);
  overflow-x: hidden;
  overflow-y: scroll;
  scroll-behavior: smooth;
}

html.dark {
  --c-bg: #050505;
  --c-scrollbar: #111;
  --c-scrollbar-hover: #222;
}

::selection {
  background: #8884;
}

#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: #888;
  opacity: 0.75;
  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
}

* {
  scrollbar-color: var(--c-scrollbar) var(--c-bg);
}

::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar:horizontal {
  height: 6px;
}
::-webkit-scrollbar-track,
::-webkit-scrollbar-corner {
  background: var(--c-bg);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb {
  background: var(--c-scrollbar);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--c-scrollbar-hover);
}

h2 + p > em:first-child {
  opacity: 0.5;
  display: block;
  margin-top: -20px;
  font-size: 0.9em;
}

.dark [img-light] {
  display: none;
}

html:not(.dark) [img-dark] {
  display: none;
}

@keyframes slide-enter {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html:not(.no-sliding) [slide-enter],
  html:not(.no-sliding) .slide-enter,
  html:not(.no-sliding) .slide-enter-content > *:not(:has(.table-of-contents)) {
    --enter-stage: 0;
    --enter-step: 90ms;
    --enter-initial: 0ms;
    animation: slide-enter 1s both 1;
    animation-delay: calc(var(--enter-initial) + var(--enter-stage) * var(--enter-step));
  }

  .slide-enter-content > *:nth-child(1) {
    --enter-stage: 1 !important;
  }
  .slide-enter-content > *:nth-child(2) {
    --enter-stage: 2 !important;
  }
  .slide-enter-content > *:nth-child(3) {
    --enter-stage: 3 !important;
  }
  .slide-enter-content > *:nth-child(4) {
    --enter-stage: 4 !important;
  }
  .slide-enter-content > *:nth-child(5) {
    --enter-stage: 5 !important;
  }
  .slide-enter-content > *:nth-child(6) {
    --enter-stage: 6 !important;
  }
  .slide-enter-content > *:nth-child(7) {
    --enter-stage: 7 !important;
  }
  .slide-enter-content > *:nth-child(8) {
    --enter-stage: 8 !important;
  }
  .slide-enter-content > *:nth-child(9) {
    --enter-stage: 9 !important;
  }
  .slide-enter-content > *:nth-child(10) {
    --enter-stage: 10 !important;
  }
  .slide-enter-content > *:nth-child(11) {
    --enter-stage: 11 !important;
  }
  .slide-enter-content > *:nth-child(12) {
    --enter-stage: 12 !important;
  }
  .slide-enter-content > *:nth-child(13) {
    --enter-stage: 13 !important;
  }
  .slide-enter-content > *:nth-child(14) {
    --enter-stage: 14 !important;
  }
  .slide-enter-content > *:nth-child(15) {
    --enter-stage: 15 !important;
  }
  .slide-enter-content > *:nth-child(16) {
    --enter-stage: 16 !important;
  }
  .slide-enter-content > *:nth-child(17) {
    --enter-stage: 17 !important;
  }
  .slide-enter-content > *:nth-child(18) {
    --enter-stage: 18 !important;
  }
  .slide-enter-content > *:nth-child(19) {
    --enter-stage: 19 !important;
  }
  .slide-enter-content > *:nth-child(20) {
    --enter-stage: 20 !important;
  }
}

::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}
::view-transition-old(root) {
  z-index: 1;
}
::view-transition-new(root) {
  z-index: 9999;
}
.dark::view-transition-old(root) {
  z-index: 9999;
}
.dark::view-transition-new(root) {
  z-index: 1;
}

/* Transitions */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.2s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}
