html {
  color: #323a42;
  background-color: #efe5d7;
  max-width: 70ch;
  margin: 1em auto;
  line-height: 1.2;
  font-size: 1.25em;
  height: calc(100vh - 2em);
  position: relative;
}
*::selection {
  background: #eab77555;
}
header {
  margin-bottom: 1em;
}
nav {
  display: flex;
  margin-left: -0.25em;
}
nav a {
  font-size: 0.85em;
  left: 0;
  padding: 0.25em 0.5em;
  margin: -0.25em;
}
body {
  margin: 0;
  margin-left: 1rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #efe5d7;
}
main {
  flex-grow: 1;
  margin-right: 1rem;
  display: flex;
  flex-direction: column;
}
a {
  color: #323a42;
  text-decoration: underline;
  position: relative;
  margin: -0.25em;
  padding: 0.25em;
  border-radius: 2px;
}
a:hover, a:focus {
  color: #6d747a;
  outline: 0;
}
a:focus-visible {
  outline: 1px dashed #984624BB;
}
sup, sub {
  line-height: 0;
}
.socials p {
  font-size: 16px;
  margin: 0 0 0.5em 22px;
}
.socials .social-link {
  display: flex;
  align-items: flex-end;
  line-height: 1;
  margin-right: -1em;
}
.socials .social-link a {
  display: inline-block;
  width: fit-content;
  margin-bottom: 0.25em;
  left: -0.25em;
  text-decoration: none;
}
.socials .social-link a::before {
  content: '⇒ ';
}
.line {
  display: inline-block;
  background-color: #323a42;
  height: 2px;
  position: relative;
}
.socials .line {
  flex-grow: 2;
  bottom: 12px;
}
.line.stop-0 {
  background-color: #984624;
}
.line.stop-1 {
  background-color: #ad5f1e;
}
.line.stop-2 {
  background-color: #c59506;
}
.line.stop-3 {
  background-color: #c8b500;
}
.line.stop-4 {
  background-color: #8ea530;
}
.line.stop-5 {
  background-color: #4b7b52;
}
.line.stop-6 {
  background-color: #426153;
}
.stop-0 {
  color: #984624;
}
.stop-1 {
  color: #ad5f1e;
}
.stop-2 {
  color: #c59506;
}
.stop-3 {
  color: #c8b500;
}
.stop-4 {
  color: #8ea530;
}
.stop-5 {
  color: #4b7b52;
}
.stop-6 {
  color: #426153;
}
.socials p a {
  padding: 0 2px;
  margin: 0 -2px;
  /* change this */
  left: 0;
  text-decoration: underline;
}
.socials p a:before {
  content: initial;
}
h1 {
  font-size: 2em;
  margin: 0 -0.5em 0.5em 0;
  border-bottom: 2px solid #323a42;
  font-family: "URW Classico", Optima, Domitian, Palatino, "Palatino Linotype", Arial, sans-serif;
  font-weight: normal;
}
h2, h3, ul, ol, p, main article img {
  margin: 0 0 1em 0;
}
p {
  margin: 0 0 20px 0;
}
hr {
  margin: 0 0 20px 0;
  border: none;
  border-bottom: 3px double #323a42;
}
main img {
  border: 1px solid #323a42;
  border-radius: 2px;
  padding: 2px;
  transition: opacity 200ms;
}
main article img {
  max-width: 100%;
  height: auto;
  margin: 0 auto 1em auto;
}
img.no-border {
  border: none;
}
footer {
  margin-right: 1em;
  margin-top: 1em;
}
footer img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  max-height: 160px;
  width: auto;
  height: auto;
  user-select: none;
}
.journal-related-links {
  display: inline-block;
  font-size: 0.9em;
  margin-bottom: 1em;
  margin-left: auto;
  white-space: nowrap;
}
.key {
  font-size: 0.8em;
  border: 1px solid #323a42;
  border-radius: 3px;
  padding: 0 2px;
  box-shadow: 1px 1px #323a42;
}
.recipe {
  font-variant-numeric: oldstyle-nums;
  display: flex;
  flex-direction: column;
}
.recipe ul {
  list-style: none;
}
ul {
  list-style: '– ';
  padding-left: 30px;
}
ol li::marker {
  font-variant-numeric: oldstyle-nums;
}
li {
  margin-bottom: 0.3em;
}
a.journal-link {
  display: grid;
  text-decoration: none;
  grid-template-columns: auto auto 1fr;
  margin-right: -1em;
  padding-right: 0;
  border: 1px solid #323a42;
  box-shadow: 1px 1px #323a42;
  border-radius: 3px;
}
a.journal-link:hover, a.journal-link:focus {
  outline: 0;
  border-color: #6d747a;
  box-shadow: 2px 2px #6d747a;
}
a.journal-link:hover .line, a.journal-link:focus .line {
  opacity: 0.7;
}
a.journal-link h3 {
  font-family: var(--serif-fonts);
  margin: 0 0.5em 0 0;
}
a.journal-link p {
  grid-column: 1 / span 2;
  margin: 0.5em 5px 0.5em 0;
}
a.journal-link .line {
  grid-column: span 2;
  align-self: end;
  bottom: 6px;
}
a.journal-link time {
  grid-column: span 2;
}
article a.journal-link {
  margin-bottom: 0.5em;
}
article a.journal-link time {
  margin: 0;
}
.journal-link.note {
  display: flex;
  align-items: center;
}
time {
  font-size: 0.9em;
  color: #4E5458;
  font-style: italic;
  font-variant-numeric: oldstyle-nums;
  line-height: 1;
}
article time {
  display: block;
  margin-bottom: 1em;
}
a:hover time, a:focus time {
  color: #6d747a;
}
a.journal-link time + p {
  margin-top: 5px;
}
a.journal-link + a.journal-link {
  margin-top: 1em;
}
article .note {
  font-style: italic;
  color: #4E5458;
}
article .note a {
  color: #4E5458;
}
article figure {
  margin: 0 0 1em 0;
}
article figure img {
  margin: 0;
}
article figure figcaption, article figure figcaption a {
  font-size: 0.9rem;
  color: #4E5458;
  font-style: italic;
  font-variant-numeric: oldstyle-nums;
}
article :is(figure figcaption, .note) i {
  font-variant-numeric: initial;
  font-style: normal;
}
article :is(figure figcaption, .note) i i {
  font-style: italic;
}
.page-nav {
  margin-top: 1em;
  display: flex;
  justify-content: flex-end;
  flex-flow: wrap;
}
.page-nav a, .page-nav span {
  font-size: 0.9em;
  padding: 0.25em;
  line-height: 1;
  margin: 0 0.25em;
  text-decoration: none;
  font-variant-numeric: oldstyle-nums;
}
.page-nav .current {
  font-weight: bold;
  cursor: default;
}
.footnote {
  font-size: 0.8em;
}
blockquote.highlight {
  padding: 0.5em;
  border: 1px solid #eacda6;
  background-color: #f9f4ed;
  box-shadow: 2px 2px #bea98e;
  border-radius: 3px;
}
blockquote h1,
blockquote h2,
blockquote h3,
blockquote h4,
blockquote h5,
blockquote h6,
blockquote p {
  margin-top: 0;
  margin-bottom: 0.5em;
}
blockquote {
  margin-left: 30px;
}
hr {
  border: 1px solid #323a42;
  margin-left: 20px;
  width: 20%;
}
.music-box {
  margin: 0 0 1em 0;
  display: flex;
  align-items: center;
  width: fit-content;
  padding: 2px 4px 2px 2px;
  border-radius: 3px;
  border: 1px solid #323a42;
  user-select: none;
  cursor: pointer;
  box-shadow: 1px 1px #323a42;
}
.music-box:hover, .music-box:focus {
  outline: 0;
  color: #6d747a;
  border-color: #6d747a;
  box-shadow: 2px 2px #6d747a;
}
.music-box svg {
  margin-right: 2px;
}
.music-box.playing svg.play {
  display: none;
}
.music-box.playing svg.pause {
  display: block;
}
.music-box svg.pause {
  display: none;
}
.pixel-art {
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}
table {
  margin: 0 0 20px 0;
  border: 1px solid #323a4288;
}
td {
  padding: 0.25em;
  border: 1px solid #323a4288;
}
th {
  padding: 0.25em 0.5em;
}
.library-links {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 20px;
}
a.library-link {
  display: grid;
  text-decoration: none;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto 1fr;
  margin: -0.25em;
  margin-right: 0;
  padding: 0.25em;
  margin-bottom: 4px;
  padding-right: 0;
  border: 1px solid #323a42;
  box-shadow: 1px 1px #323a42;
  border-radius: 3px;
  align-items: center;
}
a.library-link:hover, a.library-link:focus {
  outline: 0;
  border-color: #6d747a;
  box-shadow: 2px 2px #6d747a;
}
a.library-link:hover .icon, a.library-link:focus .icon {
  opacity: 0.7;
}
a.library-link h3 {
  font-family: var(--serif-fonts);
  grid-column: 2;
  font-size: 1.1em;
  font-weight: bold;
  margin: 0 0.5em 0 0;
}
a.library-link p {
  grid-row: 3;
  font-size: 0.9em;
  grid-column: 1 / span 2;
  margin: 0.25em 5px 0.5em 0;
  align-self: start;
}
a.library-link .icon {
  margin-right: 8px;
}
a.library-link.coming-soon {
  opacity: 0.5;
}
a.library-link .coming-soon {
  color: #4b7b52;
  font-size: 0.8em;
  grid-row: 2;
  grid-column: 1 / span 2;
}
a.library-link .new {
  color: #984624;
  font-size: 0.8em;
  grid-row: 2;
  grid-column: 1 / span 2;
}
.bubbles {
  display: flex;
  gap: 0.4em;
  margin-bottom: 1em;
  flex-wrap: wrap;
}
.bubble {
  background-color: inherit;
  font-family: inherit;
  font-size: inherit;
  display: flex;
  align-items: center;
  width: fit-content;
  padding: 1px 8px;
  line-height: 0.95;
  border-radius: 10px;
  border: 1px solid #323a42;
  cursor: pointer;
  box-shadow: 1px 1px #323a42;
  white-space: nowrap;
}
.bubble.active {
  background-color: #323a42;
  color: #efe5d7;
}
section.hide {
  display: none;
}
section::after {
  content: '';
  display: block;
  width: 50%;
  margin: 1.5em 0 1.5em 1.5em;
  border-bottom: 2px solid #323a42;
}
img.inline {
  display: inline-block;
  padding: 0;
  margin-bottom: -4px;
  margin-right: 4px;
  height: 20px;
}
@media only screen and (max-width: 700px) {
  a.journal-link {
    border-right: none;
    box-shadow: 0 1px #323a42;
    border-radius: 3px 0 0 3px;
  }
  a.journal-link:hover, a.journal-link:focus {
    box-shadow: 0 2px #6d747a;
  }
}
