@charset "UTF-8";
/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
  list-style: none;
}

/* Firefox: solve issue where nested ordered lists continue numbering from parent (https://bugzilla.mozilla.org/show_bug.cgi?id=1881517) */
ol {
  counter-reset: revert;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

/* fira-sans-latin-200-italic */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-display: swap;
  font-weight: 200;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  src: url("/_assets/fonts/fira-sans-latin-200-italic.woff2") format("woff2");
}
/* fira-sans-latin-200-normal */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 200;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  src: url("/_assets/fonts/fira-sans-latin-200-normal.woff2") format("woff2");
}
/* fira-sans-latin-400-italic */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  src: url("/_assets/fonts/fira-sans-latin-400-italic.woff2") format("woff2");
}
/* fira-sans-latin-400-normal */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  src: url("/_assets/fonts/fira-sans-latin-400-normal.woff2") format("woff2");
}
/* fira-sans-latin-500-italic */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-display: swap;
  font-weight: 500;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  src: url("/_assets/fonts/fira-sans-latin-500-italic.woff2") format("woff2");
}
/* fira-sans-latin-500-normal */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  src: url("/_assets/fonts/fira-sans-latin-500-normal.woff2") format("woff2");
}
/* fira-mono-latin-400-normal */
@font-face {
  font-family: "Fira Mono";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  src: url("/_assets/fonts/fira-mono-latin-400-normal.woff2") format("woff2");
}
/* fira-mono-latin-500-normal */
@font-face {
  font-family: "Fira Mono";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  src: url("/_assets/fonts/fira-mono-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Fira Math";
  font-style: normal;
  font-weight: 400;
  src: url("/_assets/fonts/fira-math.otf") format("opentype");
}
body {
  overflow-x: hidden;
  overflow-y: auto;
  display: grid;
  grid-template-areas: "content sidebar" "footer footer";
  grid-template-columns: 1fr 320px;
  grid-template-rows: 1fr auto;
  gap: 2rem;
  padding: 2rem;
  min-height: 100dvh;
  background-color: #fafafa;
}
@media (width <= 1024px) {
  body {
    grid-template-areas: "content" "sidebar" "footer";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto auto;
    gap: 8rem;
    padding: 1rem;
  }
}

.content {
  grid-area: "content";
  min-height: 100%;
}

.sidebar {
  grid-area: "sidebar";
}

.backlinks {
  padding: 1rem;
  border: 2px solid #0a0a0a;
  box-shadow: 0.5rem 0.5rem 0 0 #0a0a0a;
  font-family: "Fira Sans", system-ui, ui-sans-serif, sans-serif;
  font-size: 0.875rem;
  color: #525252;
}
.backlinks__title {
  display: block;
  margin-bottom: 1rem;
  font-weight: 500;
  color: #171717;
}
.backlinks__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.backlinks__note {
  position: relative;
}
.backlinks__note:hover {
  color: #404040;
}
.backlinks__note::before {
  content: "";
  position: absolute;
  inset: -0.5rem -1rem;
  background-color: #f5f5f5;
  opacity: 0;
  transition: opacity 125ms ease-out;
  z-index: -1;
}
.backlinks__note:hover::before {
  opacity: 1;
}
.backlinks__link {
  display: block;
}
@media (width <= 1024px) {
  .backlinks {
    box-shadow: none;
  }
}

.footer {
  grid-area: "footer";
  display: flex;
  flex-wrap: wrap;
}
.footer__part {
  font-family: "Fira Sans", system-ui, ui-sans-serif, sans-serif;
  color: #525252;
}
.footer__part + .footer__part::before {
  display: inline-block;
  margin-inline: 0.5rem;
  color: #a3a3a3;
  content: "/";
}
.footer__link {
  text-decoration-line: underline;
  text-decoration-style: dotted;
}

.content {
  padding-inline: calc((100% - 65ch) / 2);
  overflow-x: auto;
  font-family: "Fira Sans", system-ui, ui-sans-serif, sans-serif;
  color: #404040;
  line-height: 1.4;
}
.content :where(math, math *) {
  all: revert;
}
.content h1 {
  margin-block: 4rem;
  font-weight: 200;
  font-size: 3.75rem;
  font-style: italic;
  color: #171717;
  letter-spacing: -0.075em;
  line-height: 1;
}
.content h2 {
  font-weight: 500;
  font-size: 1.25rem;
  color: #171717;
  line-height: 1.1;
}
.content h3 {
  font-weight: 500;
  font-size: 1.125rem;
  color: #171717;
  line-height: 1.1;
}
.content strong {
  font-weight: 500;
  color: #171717;
}
.content em {
  font-style: italic;
}
.content a {
  color: #b91c1c;
}
.content a:hover {
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
}
.content blockquote {
  position: relative;
  margin-left: 1rem;
  font-style: italic;
}
.content blockquote::before {
  content: "“";
  position: absolute;
  top: 0;
  left: -1rem;
  font-size: 1.25rem;
  font-weight: 500;
}
.content ul {
  list-style-type: disc;
  margin-left: 1rem;
}
.content ol {
  list-style-type: decimal;
  margin-left: 1rem;
}
.content ol::marker {
  font-weight: 500;
}
.content math {
  font-family: "Fira Math", math;
}
.content pre, .content code {
  font-family: "Fira Mono", ui-monospace, monospace;
}
.content pre {
  box-sizing: border-box;
  padding: 1rem;
  tab-size: 4;
  border: 2px solid #0a0a0a;
  box-shadow: 0.5rem 0.5rem 0 0 #0a0a0a;
  overflow-x: auto;
}
.content img {
  display: block;
  border: 2px solid #0a0a0a;
  box-shadow: 0.5rem 0.5rem 0 0 #0a0a0a;
  max-width: 100%;
  margin-inline: auto;
}
.content > * + *,
.content ul > * + li > p {
  margin-top: 1.5rem;
}
.content > * + h2 {
  margin-top: 3rem;
}
.content > * + h3 {
  margin-top: 2rem;
}

:is(pre, code)[class*=language-] .token.comment {
  font-style: italic;
  color: #b91c1c;
}
:is(pre, code)[class*=language-] .token.symbol, :is(pre, code)[class*=language-] .token.regex, :is(pre, code)[class*=language-] .token.string, :is(pre, code)[class*=language-] .token.char {
  color: #15803d;
}
:is(pre, code)[class*=language-] .token.keyword, :is(pre, code)[class*=language-] .token.number, :is(pre, code)[class*=language-] .token.constant, :is(pre, code)[class*=language-] .token.boolean {
  color: #7e22ce;
}
:is(pre, code)[class*=language-] .token.operator, :is(pre, code)[class*=language-] .token.punctuation {
  color: #737373;
}
:is(pre, code)[class*=language-] .token.variable, :is(pre, code)[class*=language-] .token.class-name, :is(pre, code)[class*=language-] .token.builtin, :is(pre, code)[class*=language-] .token.function, :is(pre, code)[class*=language-] .token.entity {
  color: #1d4ed8;
}
:is(pre, code)[class*=language-] .token.important, :is(pre, code)[class*=language-] .token.bold {
  font-weight: 500;
}
:is(pre, code)[class*=language-] .token.italic {
  font-style: italic;
}
:is(pre, code)[class*=language-] .token.inserted {
  background-color: #bbf7d0;
}
:is(pre, code)[class*=language-] .token.deleted {
  background-color: #fecaca;
}