@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4");
@import url("https://fonts.googleapis.com/css2?family=Quicksand");
@import url("https://fonts.googleapis.com/css2?family=Cardo");
@import url("https://fonts.googleapis.com/css2?family=Spectral");
@import url("https://fonts.googleapis.com/css2?family=Jost");
@import url("https://fonts.googleapis.com/css2?family=Arvo");
@import url("https://fonts.googleapis.com/css2?family=Bellefair");
@import url("https://fonts.googleapis.com/css2?family=Fira+Code");
@import url("https://fonts.googleapis.com/css2?family=Passions+Conflict");
/* 

*-color: foreground, text
*-bg: background of elements
*-accent: setting an element or text to stand out against bg
*-accent-contrast: setting an element (text, usually) to stand out against accent. When in doubt, set to *-bg.

When unsure of tertiary-*, set to secondary-*; 
when unsure of secondary-*, set to primary-*.

eventually add a third accent type called accent color:
- specifically for accent text on *-bg, as opposed to accent-contrast on accent-bg and 


all colours must be fully opaque. 
*/
.theme-light {
  --base-accent: #3fa7a7;
  --pure-contrast: black;
  --pure-color: white;
  --primary-color: #07495f;
  --primary-bg: #fbfeff;
  --primary-accent: #35adcf;
  --primary-accent-contrast: var(--primary-bg);
  --secondary-color: #004d67;
  --secondary-bg: #b4ddec;
  --secondary-accent: #3fa7a7;
  --secondary-accent-contrast: var(--secondary-bg);
}

.theme-default, .theme-dark {
  --pure-contrast: white;
  --pure-color: black;
  --base-accent: #408b8b;
  --primary-color: #ebf3f6;
  --primary-bg: #1e2a2e;
  --primary-accent: #4fa6ba;
  --primary--accent-contrast: var(--primary-bg);
  --secondary-color: white;
  --secondary-bg: #12181c;
  --secondary-accent: #408b8b;
  --secondary-accent-contrast: var(--secondary-bg);
}

.theme-raspberry {
  --base-accent: #d32274;
  --pure-contrast: white;
  --pure-color: black;
  --primary-color: #dfd9dd;
  --primary-bg: #19030b;
  --primary-accent: #d32274;
  --primary-accent-contrast: var(--primary-color);
  --secondary-color: rgb(255, 255, 255);
  --secondary-bg: #4d1126;
  --secondary-accent: #ea799f;
  --secondary-accent-contrast: var(--secondary-bg);
}

.theme-cherry-blossom {
  --pure-contrast: black;
  --pure-color: white;
  --primary-color: #212729;
  --primary-bg: #fff;
  --primary-accent: rgb(220, 67, 154);
  --primary-accent-contrast: white;
  --secondary-color: #511b36;
  --secondary-bg: #f8d9e9;
  --secondary-accent: hotpink;
  --secondary-accent-contrast: var(--secondary-bg);
}

.theme-inverted-blossom {
  --pure-contrast: black;
  --pure-color: white;
  --secondary-color: #212729;
  --secondary-bg: #fff;
  --secondary-accent: rgb(220, 67, 154);
  --secondary-accent-contrast: white;
  --primary-color: #ac295b;
  --primary-bg: #f7b0c8;
  --primary-accent: rgb(255, 255, 255);
  --primary-accent-contrast: var(--secondary-bg);
}

.theme-sepia {
  --pure-contrast: black;
  --pure-color: white;
  --primary-color: #482005;
  --primary-bg: #f0e8e0;
  --primary-bg: #fcf2e5;
  --primary-accent: rgb(192, 130, 106);
  --secondary-color: white;
  --secondary-bg: #b38877;
  --secondary-bg: color-mix(in srgb, #c2847a, var(--primary-bg));
  --secondary-bg: #b58670;
  --secondary-accent: #f7cf9c;
}

.theme-emerald {
  --pure-contrast: white;
  --pure-color: black;
  --primary-color: #7cbd97;
  --primary-bg: #10351c;
  --primary-accent: rgb(170, 238, 191);
  --secondary-color: #fff;
  --secondary-bg: #071f0e;
  --secondary-accent: rgb(113, 207, 113);
}

.theme-space {
  --base-accent: #7e94eb;
  --pure-contrast: white;
  --pure-color: black;
  --primary-color: #f6f6ff;
  --primary-bg: #1a1147;
  --primary-accent: rgb(152, 139, 214);
  --primary-accent-contrast: var(--primary-bg)
  // secondary
  --secondary-color: #fff;
  --secondary-bg: #06062a;
  --secondary-accent: #7e94eb;
}

.theme-peony {
  --base-accent: #rgb(255,181,96);
  --pure-contrast: black;
  --pure-color: white;
  --primary-color: #292621;
  --primary-bg: #fffef2;
  --primary-accent: rgb(235, 168, 81);
  --secondary-color: #231707;
  --secondary-bg: #fef1d8;
  --secondary-accent: rgb(255, 181, 96);
}

.theme-dark-peach {
  --pure-contrast: white;
  --pure-color: black;
  --primary-color: #e8e8e8;
  --primary-bg: #464649;
  --primary-accent: rgb(255, 168, 181);
  --primary-accent-contrast: var(--primary-bg);
  --secondary-color: #5a0000;
  --secondary-bg: #ed8c86;
  --secondary-accent: rgb(255, 203, 189);
  --secondary-accent-contrast: var(--secondary-bg);
  --primary-font: "Fira Code", consolas;
  --header-font: "Arvo", consolas;
  --sans-font: "Arvo", "fira code"
  //--logo-font: consolas;
}

.theme-misty-dark {
  --pure-contrast: white;
  --pure-color: black;
  --primary-color: #e8e8e8;
  --primary-bg: #7979a1;
  --primary-accent: rgb(223, 203, 255);
  --primary-accent-contrast: var(--primary-bg);
  --secondary-color: #27285a;
  --secondary-bg: #ddddef;
  --secondary-accent: rgb(162, 153, 233);
  --secondary-accent-contrast: var(--secondary-bg);
}

.theme-misty-light {
  --pure-contrast: black;
  --pure-color: white;
  --secondary-color: #e8e8e8;
  --secondary-bg: #7979a1;
  --secondary-accent: rgb(162, 149, 220);
  --secondary-accent-contrast: var(--secondary-bg);
  --primary-color: #27285a;
  --primary-bg: #ededf8;
  --primary-accent: rgb(162, 153, 233);
  --primary-accent-contrast: var(--primary-bg);
}

.theme-cornflower {
  --pure-contrast: black;
  --pure-color: white;
  --secondary-color: white;
  --secondary-bg: #7f92c1;
  --secondary-accent: rgb(237, 243, 255);
  --secondary-accent-contrast: var(--secondary-bg);
  --primary-color: #27285a;
  --primary-bg: #f8f6ed;
  --primary-accent: rgb(118, 153, 229);
  --primary-accent-contrast: var(--primary-bg);
}

.theme-dystopian {
  --pure-contrast: white;
  --pure-color: black;
  --primary-color: #b0b3ab;
  --primary-bg: #474946;
  --primary-accent: rgb(206, 213, 169);
  --primary-accent-contrast: var(--primary-bg);
  --secondary-color: #ffffff;
  --secondary-bg: #666760;
  --secondary-accent: rgb(255, 252, 189);
  --secondary-accent-contrast: var(--secondary-bg);
  --primary-font: "Fira Code", consolas;
  --header-font: "Fira Code", consolas;
  --sans-font: "fira code" ;
}

.theme-alabaster {
  --base-accent: #rgb(255,181,96);
  --pure-contrast: black;
  --pure-color: white;
  --primary-color: #8b7457;
  --primary-bg: #fbf6f2;
  --primary-accent: rgb(163, 101, 30);
  --secondary-color: #896b4a;
  --secondary-bg: #e3d0c0;
  --secondary-accent: rgb(255, 255, 255);
}

.theme-jest {
  --primary-color: #750b4c;
  --primary-bg: #ffe8f3;
  --primary-accent: rgb(238, 170, 204);
  --secondary-color: #fff;
  --secondary-bg: #475d43;
  --secondary-accent: rgb(197, 234, 197);
  --tertiary-color: var(--secondary-color);
  --tertiary-bg: #a2ad917d;
  --tertiary-accent: color-mix(in srgb, var(--secondary-color), var(--secondary-accent));
}

.theme-grape {
  --base-accent: #ab7eeb;
  --primary-color: #303085;
  --primary-bg: #9c8ec4;
  --primary-accent: rgb(145, 97, 204);
  --secondary-color: #fff;
  --secondary-bg: #6c4879;
  --secondary-accent: #ab7eeb;
  --tertiary-color: var(--secondary-color);
  --tertiary-bg: #6a48797b;
  --tertiary-accent: #dcc8ff;
}

.theme-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 1em;
  padding: 2em;
  border-radius: 0rem;
  padding-inline: 4em;
  /* grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); */
}
.theme-options .theme-item[class*=theme-] {
  font-family: var(--theme-button-font);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  color: var(--primary-color);
  font-size: 1.5em;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: var(--primary-bg);
  position: relative;
  padding: 1.6rem;
  padding-right: 3rem;
  -webkit-text-decoration: var(--primary-accent) 2px underline;
          text-decoration: var(--primary-accent) 2px underline;
  text-underline-offset: 0.25em;
  --middle: 70%;
  --middle-left: calc(var(--middle) - 10%);
  --middle-right: calc(var(--middle) + 10%);
  --right: 95%;
  --border-width: 4%;
  --middle: 70%;
  --middle-middle: var(--middle);
  --middle-left: calc(var(--middle) - var(--border-width));
  --middle-right: calc(var(--middle) + var(--border-width));
  --right: 95%;
  background: linear-gradient(100deg, var(--primary-bg) var(--middle-left), var(--primary-accent) var(--middle-left), var(--primary-accent) var(--middle-middle), var(--secondary-bg) var(--middle-middle), var(--secondary-bg) var(--right));
  border-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border: 3px solid var(--primary-accent);
  -webkit-box-shadow: 0 0 3px color-mix(in srgb, transparent 95%, var(--pure-contrast));
          box-shadow: 0 0 3px color-mix(in srgb, transparent 95%, var(--pure-contrast));
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*:root {
  --nav-width: 10vw;
  --primary-font: spectral, "Cardo";
  --sans-font: jost, "quicksand", "Julius sans one", "Jura", "Bricolage Grotesque";
  --header-font: "Spectral", "Playfair Display", "Julius sans one";
  --logo-font: Bellefair, "Playfair display";
  --main-font-size: 20px;
  --prose-title-font: Bellefair, "passions conflict", "mea culpa";
  font-size: var(--main-font-size);
  /* to set rem */
}

body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
  margin: 0;
  background-color: var(--primary-bg);
  font-family: var(--primary-font);
  color: var(--primary-color);
  font-size: 1rem;
  overflow: scroll;
  min-height: 100vh;
  height: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
body a {
  color: var(--primary-color);
}
body p > a {
  color: var(--primary-accent);
}

body {
  background-color: var(--primary-bg);
  color: var(--primary-color);
}

.nav-mobile {
  display: none;
}

.navbar {
  font-family: var(--sans-font);
  font-weight: 100;
  text-transform: uppercase;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: var(--nav-width);
  min-width: -webkit-min-content;
  min-width: -moz-min-content;
  min-width: min-content;
  text-wrap: pretty;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 3em 1.1em 3em 1.1em;
  background-color: var(--secondary-bg);
  color: var(--secondary-color);
  /* underline effect */
  /* more nav stuff */
}
.navbar * {
  display: block;
  line-height: 2;
  letter-spacing: 0.1em;
}
.navbar .navbar-item.navbar-logo {
  font-size: 1.9rem;
  font-family: var(--logo-font);
  font-weight: 100;
  text-transform: capitalize;
  margin-block: 2rem;
  line-height: 1.4;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
.navbar .navbar-item.navbar-logo::after {
  content: "";
  width: 70%;
  height: 2px;
  background-color: var(--secondary-accent);
  display: block;
  margin: auto;
}
.navbar a,
.navbar #blog-button {
  text-decoration: none;
  color: inherit;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  text-wrap: pretty;
}
.navbar .navbar-item {
  background: -webkit-gradient(linear, left top, right top, from(transparent), to(transparent)), -webkit-gradient(linear, left top, right top, from(color-mix(in srgb, var(--secondary-accent), var(--secondary-bg))), to(var(--secondary-accent)));
  background: linear-gradient(to right, transparent, transparent), linear-gradient(to right, color-mix(in srgb, var(--secondary-accent), var(--secondary-bg)), var(--secondary-accent));
  background-size: 100% 3px, 0 3px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  opacity: 0.75;
  -webkit-transition-property: opacity, background-position;
  transition-property: opacity, background-position;
  -webkit-transition: 200ms ease-in-out;
  transition: 200ms ease-in-out;
  margin-block: 0.3em;
  font-size: 0.9em;
}
.navbar a,
.navbar #blog-button {
  font-weight: 800;
}
.navbar a:not(.navbar-logo):hover {
  background-size: 0 3px, 100% 3px;
  opacity: 1;
}
.navbar li a {
  margin-left: 1em;
}
.navbar a#home-link {
  letter-spacing: 0.2em;
  font-size: 1.3em;
  font-weight: 800;
  opacity: unset;
}
.navbar a.active {
  color: var(--secondary-accent);
  opacity: 1;
}

.mainbody {
  --subtle-text-color: color-mix(in srgb, var(--primary-color) 95%, transparent);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(100vw - var(--nav-width));
  margin-right: 0;
  margin-left: auto;
}
.mainbody ::-moz-selection {
  background-color: color-mix(in srgb, var(--primary-accent), var(--primary-bg) 75%);
}
.mainbody ::selection {
  background-color: color-mix(in srgb, var(--primary-accent), var(--primary-bg) 75%);
}
.mainbody > h1 {
  padding-inline: 3rem;
  margin-bottom: 0;
  margin-top: 2rem;
}
.mainbody .tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0rem;
}
.mainbody .tag-list .tag {
  color: var(--subtle-text-color);
  opacity: 0.8;
  font-family: var(--sans-font);
  padding-inline: 0.5rem;
  padding-block: 0;
  font-size: 0.9rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-right: solid 2.2px color-mix(in srgb, var(--primary-accent), var(--subtle-text-color));
}
.mainbody .tag-list .tag:first-child {
  padding-left: 0;
}
.mainbody .tag-list .tag:last-child {
  border-right: none;
}
.mainbody .last-mod {
  color: var(--subtle-text-color);
  opacity: 0.75;
  font-family: var(--sans-font);
  font-size: 0.85rem;
  margin-top: 0.2em;
}
.mainbody main {
  padding-block: 3rem;
  padding-left: 7rem;
  padding-right: 10rem;
  overflow-y: auto;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  grid-column: 2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  min-height: 100vh;
}
.mainbody main.container h1.title {
  font-size: 2.5rem;
  margin-bottom: 0.3em;
}
.mainbody main.container h1.title:has(+ .description) {
  margin-bottom: 0;
}
.mainbody main.container .description {
  margin-top: 0.4em;
  margin-bottom: 1.2em;
  font-size: 1rem;
  opacity: 0.85;
}
.mainbody .footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding-block: 0.3rem;
  border-top: solid 2px var(--secondary-bg);
  padding-block: 1em;
  background-color: color-mix(in srgb, var(--pure-contrast), transparent 94%);
  background-color: color-mix(in srgb, var(--primary-bg) 92%, var(--primary-accent));
}
.mainbody .footer p {
  display: block;
  margin: 0;
}
.mainbody .footer a {
  text-decoration: none;
  font-weight: 100;
  font-family: var(--sans-font);
  text-transform: uppercase;
}
.mainbody hr {
  border-color: color-mix(in srgb, transparent 80%, var(--primary-accent));
}
.mainbody article.content {
  padding-block: 2em;
}
.mainbody article.content blockquote {
  margin-inline: 0;
  -webkit-border-start: 2px var(--primary-accent) solid;
          border-inline-start: 2px var(--primary-accent) solid;
  -webkit-padding-start: 1.4em;
          padding-inline-start: 1.4em;
  -webkit-margin-start: 0.4em;
          margin-inline-start: 0.4em;
}
.mainbody article.content code {
  white-space: nowrap;
  display: inline-block;
  color: var(--primary-accent);
}
.mainbody article.content h1 {
  margin-bottom: 0.2em;
  margin-top: 1em;
  font-size: 1.4em;
}
.mainbody article.content p, .mainbody article.content ul, .mainbody article.content ol {
  color: var(--subtle-text-color);
  line-height: 1.7;
}
.mainbody article.content p {
  margin-block: 0.1em;
  margin-bottom: 0.8em;
}
.mainbody article.content p:has(+ :is(ul, ol)) {
  margin-bottom: 0;
}
.mainbody article.content p + hr:has(+ p) {
  border: none;
  margin: 0;
}
.mainbody article.content p + hr:has(+ p)::before {
  content: " ✽✽✽ ";
  color: color-mix(in srgb, var(--primary-color) 90%, var(--primary-accent));
  margin-block: 1.6em;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  letter-spacing: 1em;
}
.mainbody article.content p:has(+ hr) {
  margin-bottom: 0;
}
.mainbody article.content ul, .mainbody article.content ol {
  margin-block: 0.4em;
}
.mainbody article.content a {
  color: color-mix(in oklch, var(--subtle-text-color), var(--primary-accent) 80%);
}
.mainbody article.content div.poem {
  width: 70%;
  margin-left: 3em;
  margin-bottom: 2em;
}

main.post-list, main > .post-list {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
main.post-list a, main > .post-list a {
  text-decoration: none;
}
main.post-list .section-name-headers a, main > .post-list .section-name-headers a {
  -webkit-text-decoration: underline solid 2px var(--secondary-accent);
          text-decoration: underline solid 2px var(--secondary-accent);
}
main.post-list .content.shortened, main > .post-list .content.shortened {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 5em;
}
main.post-list .empty-message, main > .post-list .empty-message {
  background-color: color-mix(in srgb, var(--secondary-bg), transparent);
  border: 2px var(--primary-accent) dashed;
  border: none;
  color: var(--secondary-color);
  padding-inline: 2em;
  padding-block: 1em;
}
main.post-list .empty-message p, main > .post-list .empty-message p {
  font-size: 1.5rem;
}
main.post-list .empty-message h1, main > .post-list .empty-message h1 {
  font-size: 2rem;
}

.TEX-A:is(.mjx-c25FB, .mjx-c25FC) {
  --special-color: color-mix(in srgb, var(--primary-accent), var(--primary-color) 70%);
  color: var(--special-color);
  font-weight: 1000;
}

mjx-container[jax=CHTML][display=true] {
  color: color-mix(in srgb, var(--primary-color), var(--base-accent) 50%);
  margin-block: 0em;
  padding-block: 1em;
  padding-inline: 1em;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  width: 100%;
  margin: auto !important;
  font-size: 1.3em !important;
}

button {
  padding-inline: 0.5rem;
  padding-block: 0.2rem;
  border-radius: 0.5rem;
  border: solid 1px color-mix(in oklch, var(--primary-accent), transparent);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: color-mix(in srgb, var(--primary-accent), transparent 85%);
  color: var(--primary-accent);
  font-family: var(--primary-font);
  font-weight: bold;
}

button.active {
  background-color: color-mix(in srgb, var(--primary-accent), transparent 2%);
  color: var(--primary-bg);
}

main.container.poem-container {
  font-family: var(--primary-font);
}
main.container.poem-container h1.title.poem-title {
  font-family: var(--sans-font);
  font-size: 2rem;
  margin-bottom: 0.7em;
}
main.container.poem-container article.content {
  padding-top: 0;
}
main.container.poem-container article.content p {
  margin-block: 0.5em;
  font-size: 1rem;
  line-height: 1.45;
  margin-bottom: 1.5em;
}
main.container.poem-container hr {
  border: none;
  margin-left: 12em;
  margin-block: 0;
}
main.container.poem-container hr:before {
  content: "∗ ∗ ∗";
  text-align: left;
  color: var(--primary-accent);
  opacity: 100%;
  font-size: 1.5em;
  line-height: 1;
}

.poem-list {
  margin-block: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0rem;
}
.poem-list li {
  --border-size: 1px;
  list-style-type: none;
  border-block: var(--border-size) var(--primary-accent) solid;
  margin-bottom: calc(-1 * var(--border-size));
  padding-block: 0.7em;
  padding-inline: 1em;
  -webkit-transition: all ease 200ms;
  transition: all ease 200ms;
}
.poem-list li:hover {
  background-color: var(--secondary-bg);
  color: var(--secondary-color);
}
.poem-list li a {
  text-decoration: none;
  display: block;
  font-size: 1.5rem;
  color: inherit;
}

ul.blog-post-list, ul.home-post-list, .post-list {
  padding: 0;
  padding: 1em;
  background-color: var(--primary-bg);
  color: var(--primary-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0rem;
}
ul.blog-post-list li, ul.home-post-list li, .post-list li {
  list-style-type: none;
  padding-inline: 1em;
  padding-block: 0.8em;
  --border-size: 1px;
  border-block: solid var(--border-size) color-mix(in srgb, var(--primary-accent), var(--primary-bg));
  margin-bottom: calc(-1 * var(--border-size));
}
ul.blog-post-list li:hover, ul.home-post-list li:hover, .post-list li:hover {
  background-color: color-mix(in srgb, color-mix(in oklch, var(--primary-accent) 90%, var(--pure-contrast)), transparent 92%);
  color: var(--primary-color);
}
ul.blog-post-list li a, ul.home-post-list li a, .post-list li a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
ul.blog-post-list li a .date, ul.blog-post-list li a .title, ul.home-post-list li a .date, ul.home-post-list li a .title, .post-list li a .date, .post-list li a .title {
  min-width: 6em;
}
ul.blog-post-list li a .date, ul.home-post-list li a .date, .post-list li a .date {
  color: var(--primary-accent);
  font-weight: bold;
  font-size: 1.1em;
  padding-right: 1em;
  display: inline-block;
  width: 6em;
}
ul.blog-post-list li .tag, ul.home-post-list li .tag, .post-list li .tag {
  padding-inline: 0.5rem;
  padding-block: 0.2rem;
  border-radius: 0.5rem;
  border: solid 1px color-mix(in oklch, var(--primary-accent), transparent);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: color-mix(in srgb, var(--primary-accent), transparent 85%);
  color: var(--primary-accent);
  font-family: var(--primary-font);
  font-weight: bold;
}

.home-post-lists > .home-post-group:hover:not(:has(> ul:hover)) > * {
  background-color: color-mix(in srgb, var(--primary-bg) 95%, var(--primary-accent));
}
.home-post-lists > .home-post-group > h2 {
  margin-block: 0;
}
.home-post-lists > .home-post-group > h2 a {
  display: block;
  text-decoration: none;
  padding-block: 0.2em;
  padding-inline: 0.6em;
  -webkit-transition: color 100ms ease;
  transition: color 100ms ease;
  border-top: 2px solid color-mix(in srgb, var(--primary-accent), transparent 80%);
  border-left: 2px solid color-mix(in srgb, var(--primary-accent), transparent 80%);
  color: var(--primary-accent);
}
.home-post-lists > .home-post-group > h2 a:hover {
  color: var(--primary-accent);
  background-color: color-mix(in srgb, var(--primary-bg) 85%, var(--primary-accent));
}
.home-post-lists .home-post-list {
  margin-block: 0;
  -webkit-margin-after: 2em;
          margin-block-end: 2em;
  padding-top: 0;
}
.home-post-lists .home-post-list li:first-child {
  border-top: none;
}
.home-post-lists .home-post-list li:last-child {
  border-bottom: none;
}
.home-post-lists .home-post-list .post-list-item.poem {
  line-height: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.home-post-lists .home-post-list .post-list-item.poem h4 {
  margin: 0;
  font-weight: 100;
}
.home-post-lists .home-post-group:last-child li:last-child {
  border-bottom: solid var(--border-size) color-mix(in srgb, var(--primary-accent), var(--primary-bg));
}

.mainbody main.prose-container h1.prose-title {
  font-family: var(--prose-title-font);
  font-weight: 100;
  font-size: 3rem;
  color: color-mix(in srgb, var(--primary-color), var(--primary-accent) 40%);
}
.mainbody main.prose-container article.prose-content {
  padding-top: 0;
}
.mainbody main.prose-container article.prose-content p {
  margin-bottom: 0.2em;
}
.mainbody main.prose-container article.prose-content p:not(:first-child) {
  text-indent: 1.5em;
}

.backnext {
  --backnext-bg-color: color-mix(in oklch, var(--primary-accent) 13%, var(--primary-bg));
  background-color: var(--backnext-bg-color);
  color: ver(--secondary-color);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.backnext ul {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0;
  padding: 0;
}
.backnext ul li {
  border: 1px solid var(--secondary-accent);
  padding-block: 0.7em;
  padding-inline: 1.5em;
  list-style-type: none;
}
.backnext ul li:hover {
  background-color: color-mix(in oklch, var(--primary-accent) 20%, var(--primary-bg));
}
.backnext ul li.disabled {
  background-color: color-mix(in oklch, var(--backnext-bg-color) 96%, var(--pure-contrast));
  --contrast-color: color-mix(in oklch, var(--backnext-bg-color) 68%, var(--pure-contrast)) ;
}
.backnext ul li.disabled:has(.next) {
  border-color: var(--contrast-color);
  border-left-color: var(--secondary-accent);
}
.backnext ul li.disabled:has(.previous) {
  border-color: var(--contrast-color);
  border-right-color: var(--secondary-accent);
}
.backnext ul li.disabled a {
  color: var(--contrast-color);
}
.backnext ul li:first-child {
  border-right: none;
}
.backnext ul li a {
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  body {
    display: block;
    overflow-x: hidden;
  }
  .nav-mobile {
    width: 100vw;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    min-height: -webkit-min-content;
    min-height: -moz-min-content;
    min-height: min-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    top: 0;
    padding: 0.2em 0.4em;
    background-color: var(--secondary-bg);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .nav-mobile * {
    color: var(--secondary-accent);
    background-color: transparent;
    border: none;
    font-size: 2rem;
  }
  .nav-mobile #expand {
    z-index: 999;
    -webkit-transition: color 200ms ease;
    transition: color 200ms ease;
  }
  .nav-mobile #expand.active {
    color: var(--secondary-color);
    background-color: transparent;
    border: none;
    opacity: 0.75;
  }
  .nav-mobile .nav-settings-button:hover {
    color: var(--secondary-color);
  }
  .nav-mobile .nav-home-button {
    color: var(--secondary-accent);
    font-size: 2rem;
    display: block;
  }
  .nav-mobile .nav-home-button:hover {
    color: var(--secondary-color);
  }
  .nav-mobile a {
    text-decoration: none;
  }
  #modal-background {
    z-index: 89;
    width: 100%;
    height: 100%;
    overflow: auto;
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    background-color: rgba(0, 0, 0, 0.1882352941);
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
  }
  .navbar {
    z-index: 91;
    position: fixed;
    width: 55vw;
    min-width: -webkit-min-content;
    min-width: -moz-min-content;
    min-width: min-content;
    left: 0;
  }
  .navbar .navbar-item.navbar-logo {
    font-size: 2.5rem;
  }
  .navbar .navbar-item:not(.navbar-logo) {
    padding-inline: 1.3em;
    margin-block: 0.4em;
    font-size: 1rem;
  }
  .mainbody {
    position: relative;
    margin: 0 !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .mainbody main {
    padding: 5vw;
  }
  .mainbody main.container {
    padding: 5vw;
  }
  .mainbody main.container .description {
    margin-block: 0.3em;
  }
  .mainbody main.container .last-mod {
    display: none;
  }
  .mainbody main.container .tag-list {
    opacity: 0.85;
  }
  .mainbody main.container .tag-list .tag {
    font-size: 0.8rem;
  }
  .mainbody article.content p {
    margin-block: 1em;
  }
  .mainbody article.content blockquote {
    -webkit-margin-end: 0.4em;
            margin-inline-end: 0.4em;
    background-color: color-mix(in srgb, color-mix(in oklch, var(--pure-contrast), var(--primary-accent) 70%), var(--primary-bg) 97%);
    border-left-width: 6px;
    padding-block: 0.1em;
    -webkit-padding-end: 1em;
            padding-inline-end: 1em;
    text-align: justify;
    text-wrap: wrap;
  }
  .footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1em;
  }
  .footer p {
    width: 90vw !important;
  }
  ul.blog-post-list li a .date {
    display: block;
  }
  main > .post-list .post-list-item .title {
    width: 100%;
  }
  .poem-container .content p {
    font-size: 1rem;
  }
  .poem-container hr {
    margin-left: 4em;
  }
  .home-post-lists .home-post-list {
    margin-block: 0;
    -webkit-margin-after: 0.5em;
            margin-block-end: 0.5em;
  }
  .home-post-lists .home-post-list li {
    padding-inline: 0.1em;
  }
  .home-post-lists .home-post-list li .title {
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
  }
  .home-post-lists .home-post-list li .date {
    min-width: 6em;
    font-size: 0.9em;
  }
  main.container {
    width: 100vw;
  }
  main.container h1.title {
    font-size: 1.5rem;
  }
  main.container .tag {
    font-size: 0.7em;
    padding: 0.4rem;
  }
  mjx-container[jax=CHTML][display=true] {
    font-size: 1.1rem !important;
    background-color: color-mix(in srgb, color-mix(in oklch, var(--pure-contrast), var(--primary-accent) 70%), var(--primary-bg) 94%);
    overflow: scroll;
    overflow-wrap: break-word;
  }
  .mainbody:has(.theme-options) {
    padding-inline: 1em;
    width: 100vw;
  }
  .mainbody:has(.theme-options) footer {
    display: none;
  }
  h1:has(+ .theme-options) {
    padding-left: 0em;
  }
  .theme-options {
    grid-template-columns: repeat(2, 1fr);
    max-width: 100vw;
    padding-top: 3em;
    padding-bottom: 6em;
    padding-inline: 0em;
  }
  .theme-options .theme-item[class*=theme-] {
    font-size: 0.8em;
    padding: 0.8em;
    background: var(--primary-bg);
  }
}/*# sourceMappingURL=styles.css.map */