body {
  margin: 0;
  padding: 0;
  --list-border-color: rgba(33, 33, 33, 0.33);
}

* {
  box-sizing: border-box;
  text-wrap: balance;
  font-family: sans-serif;

  font-family: "abordage";
  /* font-family: "basalte"; */
  /* font-family: "director"; */
  /* font-family: "karrik"; */
  /* font-family: "lineal"; */
  line-height: 1.5rem;
}

body {
  --bg-color: rgb(var(--background));
  --fg-color: rgb(var(--foreground));
  background: var(--bg-color, #ccc);
  color: var(--fg-color, #333);
  --content-width: min(999px, 90vw);
}
main {
  backdrop-filter: blur(3px);
  background-color: color-mix(in oklab, var(--bg-color, #ccc) 70%, transparent);
  border: 1px solid var(--bg-color, #ccc);
  width: var(--content-width);
  margin: 66px auto;
  padding: 33px;
  position: relative;
  z-index: 2;
}

ul,
dd,
dt {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.h1 * {
  font-family: "basteleur-moonlight";
}

h1,
h2,
h3,
dt {
  font-weight: bold;
}
dt {
  margin-top: 1rem;
}
dl,
ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
dd,
li {
  --list-border-color: color-mix(in oklab, var(--fg-color), transparent);
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 3px solid var(--list-border-color);
}
dd:has(ul) {
  --list-border-color: transparent;
  padding-bottom: 0.5rem;
}
a {
  color: currentcolor;
  text-decoration: none;

  background:
    linear-gradient(to right, transparent, transparent),
    linear-gradient(to right, currentcolor, currentcolor);
  background-size:
    100% 0.1rem,
    0 0.1rem;
  background-position:
    100% 100%,
    0 100%;
  background-repeat: no-repeat;
  transition: background-size 300ms;
}

a:hover,
a:focus {
  background-size:
    0 0.1rem,
    100% 0.1rem;
}

.pub-type {
  font-weight: bold;
}

.pub-date {
  font-style: italic;
}

#pdf-link {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 9px;
  padding: 9px 33px;
  border: 1px solid color-mix(in oklab, var(--fg-color), transparent);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  /* width: var(--content-width); */
}
#pdf-link a {
  margin: auto;
}

#bg {
  /* background-image: linear-gradient(to left, red, blue); */
  background-image: var(--wallpaper);
  background-size: cover;
  background-position: center;
  position: fixed;
  inset: 0;
  z-index: 1;
  /* transition: none !important; */

  transition: background-image 0.3s ease-in-out;
}
article {
  padding-block: 33vh;
}
header {
  height: 22rem;
  position: sticky;
  top: -11rem;
  z-index: 10;
}
header .h1 {
  font-size: 24px;
  position: sticky;
  top: -1rem;
  padding: 2rem 1rem;
  margin: 0;
  border: 1px solid transparent;
  border-bottom-color: var(--fg-color);
  height: 100%;
  background: var(--bg-color);
}
header .h1 span {
  margin-block: 0;
  display: block;
}
.subtitle {
  line-height: 1.33rem;
  top: 10rem;
  position: sticky;
  margin-inline: 1rem;
}
.name {
  margin-bottom: 10px !important;
  position: sticky;
  top: 6rem;
}
.tagline,
.subtitle {
  font-size: 1.33rem;
  /* font-size: clamp(1.25rem, -0.2875rem + 6.8333vw, 3.3rem); */
}

.scroller {
  margin-inline: 3rem;
}
.scroller:first-child {
  margin-inline: 2rem;
}
#header:not(.scrolled) :is(.tagline, .scroller) {
  opacity: 0.9999;
}
#header.scrolled :is(.tagline, .scroller) {
  opacity: 0.0001;
}
.themer {
  background: var(--bg-color);
}
@media print {
  body {
    --bg-color: transparent;
    color: black !important;
    background: transparent;
  }
  * {
    position: relative;
  }
  main {
    width: 80%;
    margin: auto;
    padding: 33px;
  }
  article {
    padding: 0;
  }
  .themer {
    display: none;
  }
  header {
    height: auto;
    position: relative;
    top: 0;
  }
  header,
  header .h1,
  header .h1 span {
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    display: block;
    gap: 0;
  }
  .tagline {
    opacity: 1 !important;
  }
  .subtitle,
  .name {
    margin: 0;
    top: auto;
  }
  header .h1 {
    top: auto;
    display: flex;
    flex-direction: column-reverse;
  }
  .scroller {
    display: none !important;
  }

  ul {
    list-style-type: inside circle;
  }

  #pdf-link {
    display: none;
  }
}
