/* src/templates/css/reset.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}
*:not(dialog) {
  margin: 0;
}
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-tab-size: 4;
  tab-size: 4;
}
body {
  line-height: 1.5;
}
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}
input,
button,
textarea,
select,
optgroup {
  font: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}
p {
  text-wrap: pretty;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}
ul,
ol {
  list-style: none;
  padding: 0;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
table {
  border-color: currentcolor;
}
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  appearance: button;
}
legend {
  padding: 0;
}
progress {
  vertical-align: baseline;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
[type=search] {
  -webkit-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}

/* src/templates/assets/fonts/inter/inter.css */
@font-face {
  font-family: InterVariable;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../woff2/InterVariable-AM3KRH5U.woff2") format("woff2");
}
@font-face {
  font-family: InterVariable;
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../woff2/InterVariable-Italic-ZENN32PX.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("../woff2/Inter-Thin-D2WWV233.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url("../woff2/Inter-ThinItalic-POIGQG4N.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../woff2/Inter-ExtraLight-K7ORWP56.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url("../woff2/Inter-ExtraLightItalic-35OFXG3A.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../woff2/Inter-Light-R2IJJU4I.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../woff2/Inter-LightItalic-DX6PWM2I.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../woff2/Inter-Regular-GS5EHSMB.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../woff2/Inter-Italic-IHS2W5JK.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../woff2/Inter-Medium-5IRUMIHZ.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../woff2/Inter-MediumItalic-I6DTMVID.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../woff2/Inter-SemiBold-SVBZ7NC6.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../woff2/Inter-SemiBoldItalic-3TPMFI5T.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../woff2/Inter-Bold-UGVMS3V6.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../woff2/Inter-BoldItalic-XDGHFO5T.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../woff2/Inter-ExtraBold-NR5OG37O.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("../woff2/Inter-ExtraBoldItalic-MRZJRNV2.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../woff2/Inter-Black-6PLUPCVU.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url("../woff2/Inter-BlackItalic-E5KP4DKU.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("../woff2/InterDisplay-Thin-AKHK4O7D.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url("../woff2/InterDisplay-ThinItalic-OLRESIJA.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../woff2/InterDisplay-ExtraLight-ULIF3EVB.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url("../woff2/InterDisplay-ExtraLightItalic-ASB7QCDM.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../woff2/InterDisplay-Light-CAO4JSIU.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../woff2/InterDisplay-LightItalic-N5AOG2XN.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../woff2/InterDisplay-Regular-O4OC6GHS.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../woff2/InterDisplay-Italic-BZ4CESK6.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../woff2/InterDisplay-Medium-VZB2EIUW.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../woff2/InterDisplay-MediumItalic-XMZEXNFC.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../woff2/InterDisplay-SemiBold-OYJPZN4N.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../woff2/InterDisplay-SemiBoldItalic-Q5TMTS3C.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../woff2/InterDisplay-Bold-H4BXAIEW.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../woff2/InterDisplay-BoldItalic-IVOSLA6M.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../woff2/InterDisplay-ExtraBold-LDXDL7PR.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("../woff2/InterDisplay-ExtraBoldItalic-N26TLRTO.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../woff2/InterDisplay-Black-G2YNVQK5.woff2") format("woff2");
}
@font-face {
  font-family: "InterDisplay";
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url("../woff2/InterDisplay-BlackItalic-B4YK5UXI.woff2") format("woff2");
}
@font-feature-values InterVariable {
  @character-variant {
    cv01: 1;
    cv02: 2;
    cv03: 3;
    cv04: 4;
    cv05: 5;
    cv06: 6;
    cv07: 7;
    cv08: 8;
    cv09: 9;
    cv10: 10;
    cv11: 11;
    cv12: 12;
    cv13: 13;
    alt-1: 1;
    alt-3: 9;
    open-4: 2;
    open-6: 3;
    open-9: 4;
    lc-l-with-tail: 5;
    simplified-u: 6;
    alt-double-s: 7;
    uc-i-with-serif: 8;
    uc-g-with-spur: 10;
    single-story-a: 11;
    compact-lc-f: 12;
    compact-lc-t: 13;
  }
  @styleset {
    ss01: 1;
    ss02: 2;
    ss03: 3;
    ss04: 4;
    ss05: 5;
    ss06: 6;
    ss07: 7;
    ss08: 8;
    open-digits: 1;
    disambiguation: 2;
    disambiguation-except-zero: 4;
    round-quotes-and-commas: 3;
    square-punctuation: 7;
    square-quotes: 8;
    circled-characters: 5;
    squared-characters: 6;
  }
}
@font-feature-values Inter {
  @character-variant {
    cv01: 1;
    cv02: 2;
    cv03: 3;
    cv04: 4;
    cv05: 5;
    cv06: 6;
    cv07: 7;
    cv08: 8;
    cv09: 9;
    cv10: 10;
    cv11: 11;
    cv12: 12;
    cv13: 13;
    alt-1: 1;
    alt-3: 9;
    open-4: 2;
    open-6: 3;
    open-9: 4;
    lc-l-with-tail: 5;
    simplified-u: 6;
    alt-double-s: 7;
    uc-i-with-serif: 8;
    uc-g-with-spur: 10;
    single-story-a: 11;
    compact-lc-f: 12;
    compact-lc-t: 13;
  }
  @styleset {
    ss01: 1;
    ss02: 2;
    ss03: 3;
    ss04: 4;
    ss05: 5;
    ss06: 6;
    ss07: 7;
    ss08: 8;
    open-digits: 1;
    disambiguation: 2;
    disambiguation-except-zero: 4;
    round-quotes-and-commas: 3;
    square-punctuation: 7;
    square-quotes: 8;
    circled-characters: 5;
    squared-characters: 6;
  }
}
@font-feature-values InterDisplay {
  @character-variant {
    cv01: 1;
    cv02: 2;
    cv03: 3;
    cv04: 4;
    cv05: 5;
    cv06: 6;
    cv07: 7;
    cv08: 8;
    cv09: 9;
    cv10: 10;
    cv11: 11;
    cv12: 12;
    cv13: 13;
    alt-1: 1;
    alt-3: 9;
    open-4: 2;
    open-6: 3;
    open-9: 4;
    lc-l-with-tail: 5;
    simplified-u: 6;
    alt-double-s: 7;
    uc-i-with-serif: 8;
    uc-g-with-spur: 10;
    single-story-a: 11;
    compact-lc-f: 12;
    compact-lc-t: 13;
  }
  @styleset {
    ss01: 1;
    ss02: 2;
    ss03: 3;
    ss04: 4;
    ss05: 5;
    ss06: 6;
    ss07: 7;
    ss08: 8;
    open-digits: 1;
    disambiguation: 2;
    disambiguation-except-zero: 4;
    round-quotes-and-commas: 3;
    square-punctuation: 7;
    square-quotes: 8;
    circled-characters: 5;
    squared-characters: 6;
  }
}

/* src/templates/css/fonts.css */
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 100;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-Thin-AMJY2NGU.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-Thin-CITAD2IG.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 100;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-ThinItalic-CAXW2NSH.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-ThinItalic-24TWFPMN.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 200;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-ExtraLight-GZNKNJPK.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-ExtraLight-LB3EUV6F.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 200;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-ExtraLightItalic-Z7JUKU3T.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-ExtraLightItalic-VK4FHR4S.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-Light-THL32I5G.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-Light-IOZ6B7SS.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 300;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-LightItalic-233B5KWB.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-LightItalic-Z7ZFFXM6.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 350;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-SemiLight-H3RARGSP.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-SemiLight-TK2CUJUS.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 350;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-SemiLightItalic-YOIQCMHP.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-SemiLightItalic-GPRYDPFV.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 400;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-Regular-OYXBZSTM.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-Regular-2ATNNBSX.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 400;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-Italic-V45M5SRK.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-Italic-NEIMYSLB.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-Medium-6CKBDQE6.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-Medium-FE332OTH.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 500;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-MediumItalic-MKHXLMLY.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-MediumItalic-5FNUCLW5.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-SemiBold-QWY4ATIM.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-SemiBold-3WGRATIT.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 600;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-SemiBoldItalic-UHFCVUNS.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-SemiBoldItalic-HPE4NPKD.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 700;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-Bold-74W2OKEY.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-Bold-RFRYC45K.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 700;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-BoldItalic-A3GZMBOK.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-BoldItalic-BPOGFOBM.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 800;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-ExtraBold-G4WHTQMH.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-ExtraBold-QLFXDRPH.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 800;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-ExtraBoldItalic-GVZQBXQ4.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-ExtraBoldItalic-OEEC4H2X.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 900;
  font-stretch: normal;
  font-style: normal;
  src: url("../woff2/IosevkaGlitchcometMono-Black-CQ3L34QN.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-Black-OUHQ3JPJ.ttf") format("truetype");
}
@font-face {
  font-family: "Iosevka Glitchcomet Mono";
  font-display: swap;
  font-weight: 900;
  font-stretch: normal;
  font-style: italic;
  src: url("../woff2/IosevkaGlitchcometMono-BlackItalic-KWYWWVKL.woff2") format("woff2"), url("../ttf/IosevkaGlitchcometMono-BlackItalic-AMUAEOIN.ttf") format("truetype");
}

/* src/templates/css/main.css */
*,
*:before,
*:after {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
html {
  font-size: 16px;
}
:root {
  font-family: Inter, sans-serif;
  font-feature-settings:
    "liga" 1,
    "calt" 1,
    "tnum" 1,
    "ss01" 1,
    "ss02" 1,
    "ss07" 1,
    "ss08" 1;
  --font-sans: Inter, sans-serif;
  --font-mono: "Iosevka Glitchcomet Mono", monospace;
}
@supports (font-variation-settings: normal) {
  :root {
    font-family: InterVariable, sans-serif;
    --font-sans: InterVariable, sans-serif;
  }
}
.typography {
  font-size: 16px;
  line-height: 1.4;
}
.typography h1,
.typography h2,
.typography h3,
.typography h4,
.typography h5,
.typography h6 {
  font-size: calc((20 / 16) * 1em);
  font-family: var(--font-mono);
  font-feature-settings:
    "calt" 0,
    "liga" 0,
    "dlig" 0;
  line-height: 1.2;
  margin-top: 2.5em;
  margin-bottom: 1em;
  font-weight: bold;
}
.typography h1 {
  font-size: calc((30 / 16) * 1em);
}
.typography h2 {
  font-size: calc((26 / 16) * 1em);
}
.typography h3 {
  font-size: calc((22 / 16) * 1em);
}
.typography p {
  margin-top: 1.4em;
  margin-bottom: 1.4em;
}
.typography strong {
  font-weight: 650;
}
.typography em {
  font-weight: 300;
}
.typography em strong {
  font-weight: 650;
}
.typography a {
  -webkit-text-decoration: none;
  text-decoration: none;
}
.typography a:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
.typography ul {
  padding-left: 2.5em;
  list-style-type: disc;
}
.typography ul li {
  margin-bottom: 0.4em;
}
.typography .closer-ul p {
  margin-bottom: 0.4em;
}
.typography .closer-ul ul {
  margin-bottom: 1.5em;
}
.typography pre,
.typography code {
  font-family: var(--font-mono);
  font-size: calc((14 / 16) * 1em);
  line-height: 1.2;
}
.typography .wrapped-code pre code {
  word-break: break-all;
  white-space: break-spaces;
}
.typography pre {
  overflow-x: auto;
  width: 100%;
  margin-bottom: 2em;
}
.typography blockquote {
  border-left: 1px solid black;
  padding-left: 1.5em;
  opacity: 0.7;
}
.typography img {
  width: 100%;
}
.typography .katex {
  font-size: 18px;
}
.typography .katex-display {
  overflow-x: auto;
  margin: 2.0em 0;
}
.typography table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-mono);
  font-size: calc((14 / 16) * 1em);
  margin-bottom: 2.0em;
}
.typography td,
.typography th {
  border: 1px solid black;
  padding-left: 1em;
  text-align: start;
}
.typography tr:first-child th {
  border-top: 0;
}
.typography tr:last-child td {
  border-bottom: 0;
}
.typography tr td:first-child,
.typography tr th:first-child {
  border-left: 0;
}
.typography tr td:last-child,
.typography tr th:last-child {
  border-right: 0;
}
.typography .subtext {
  margin-top: -1.2em;
  text-align: center;
  white-space: nowrap;
  font-size: calc((14 / 16) * 1em);
}
@media only screen and (max-width: 842px) {
  html,
  .typography {
    font-size: 14px;
  }
  .typography .katex {
    font-size: 16px;
  }
  .typography table {
    font-size: calc((12 / 16) * 1em);
  }
}

/* src/templates/css/theme.css */
:root {
  --dark-bg: #0b0b0e;
  --dark-fg: #bcb8cb;
  --dark-fg-dull: #5c6574;
  --dark-fg-bold: #f9f0f0;
  --dark-fg-low-contrast: #3b3d49;
  --dark-border: #222038;
  --dark-border-inverted: #525063;
  --dark-cyan: #599dce;
  --dark-cyan-bright: #60c0d8;
  --dark-orange: #ef8164;
  --dark-red: #fc5d72;
  --dark-code-fg: #9b83d9;
  --dark-code-bg: #14141a;
  --dark-math: #d7b5b5;
  --light-bg: #f4f4f7;
  --light-fg: #3f485a;
  --light-fg-dull: #8c96a7;
  --light-fg-bold: #3e3b3b;
  --light-border: #d5dce6;
  --light-border-inverted: #989fa9;
  --light-fg-low-contrast: #c0bfd2;
  --light-cyan: #2f73a7;
  --light-cyan-bright: #66ccee;
  --light-orange: #da6646;
  --light-red: #fb5e5e;
  --light-code-fg: #361682;
  --light-code-bg: #e2e2ef;
  --light-math: #904841;
  --color-bg: var(--dark-bg);
  --color-fg: var(--dark-fg);
  --color-fg-dull: var(--dark-fg-dull);
  --color-fg-bold: var(--dark-fg-bold);
  --color-fg-low-contrast: var(--dark-fg-low-contrast);
  --color-border: var(--dark-border);
  --color-border-inverted: var(--dark-border-inverted);
  --color-cyan: var(--dark-cyan);
  --color-cyan-bright: var(--dark-cyan-bright);
  --color-orange: var(--dark-orange);
  --color-red: var(--dark-red);
  --color-code-fg: var(--dark-code-fg);
  --color-code-bg: var(--dark-code-bg);
  --color-math: var(--dark-math);
}
html *:focus-visible {
  outline: 1px solid var(--color-red);
  outline-offset: 4px;
}
body {
  color: var(--color-fg);
  background-color: var(--color-bg);
}
a {
  color: var(--color-cyan);
}
a:focus-visible,
button:focus-visible {
  outline: 1px solid var(--color-red);
  outline-offset: 4px;
}
h1 {
  color: var(--color-red);
}
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-orange);
}
strong,
b {
  color: var(--color-fg-bold);
}
.typography blockquote {
  border-left: 1px solid var(--color-cyan);
}
.typography .subtext {
  color: var(--color-fg-dull);
}
pre,
code {
  font-family: var(--font-mono);
}
.typography table td,
.typography table th {
  border: 1px solid var(--color-border);
}
.typography .katex {
  color: var(--color-math);
}
footer {
  color: var(--color-fg-dull);
}

/* src/templates/css/navbar.css */
#primary-nav {
  display: flex;
  flex-wrap: wrap;
  padding: 28px 0;
  white-space: pre;
  font-size: calc((16 / 16) * 1em);
  font-family: var(--font-mono);
  font-feature-settings:
    "calt" 0,
    "liga" 0,
    "dlig" 0;
}
#primary-nav *[aria-hidden=true] {
  color: var(--color-fg-low-contrast);
}
#primary-nav .link-color {
  color: var(--color-cyan);
  -webkit-text-decoration: none;
  text-decoration: none;
}
:is(#primary-nav .link-color) *[aria-hidden=true] {
  color: var(--color-fg-dull);
}
#primary-nav .link-color:hover,
#primary-nav summary:hover .link-color {
  color: var(--color-cyan-bright);
  font-weight: bold;
  -webkit-text-decoration: none;
  text-decoration: none;
}
#primary-nav details[open] summary .link-color,
#primary-nav .current-link {
  color: var(--color-fg);
  font-weight: 600;
}
#primary-nav .secret-link {
  -webkit-text-decoration: none;
  text-decoration: none;
}
#primary-nav .triangle {
  display: inline-block;
  transform: scale(0.9);
}
#primary-nav {
  --nav-text-padding: 0ch;
}
#primary-nav a.hover-effect,
#primary-nav summary .hover-effect {
  display: inline-block;
  margin: 0ch 1ch;
}
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect) .text {
  padding: 0ch var(--nav-text-padding);
}
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect)::before,
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect)::after,
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect) .text::before,
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect) .text::after {
  position: absolute;
  transition: transform 0.3s, opacity 0.2s;
  color: var(--color-fg-low-contrast);
}
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect)::before {
  content: "[";
  transform: translateX(-1ch);
  opacity: 1;
}
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect)::after {
  content: "]";
  transform: translateX(0ch);
  opacity: 1;
}
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect) .text::before {
  content: "-";
  transform: translateX(0ch);
  opacity: 0;
}
:is(#primary-nav a.hover-effect, #primary-nav summary .hover-effect) .text::after {
  content: "-";
  transform: translateX(-1ch);
  opacity: 0;
}
:is(#primary-nav a.hover-effect:hover, #primary-nav summary:hover .hover-effect, #primary-nav details[open] summary .hover-effect)::before {
  transform: translateX(-2ch);
  opacity: 0;
}
:is(#primary-nav a.hover-effect:hover, #primary-nav summary:hover .hover-effect, #primary-nav details[open] summary .hover-effect)::after {
  transform: translateX(1ch);
  opacity: 0;
}
:is(#primary-nav a.hover-effect:hover, #primary-nav summary:hover .hover-effect, #primary-nav details[open] summary .hover-effect) .text::before {
  transform: translateX(-1ch);
  opacity: 1;
}
:is(#primary-nav a.hover-effect:hover, #primary-nav summary:hover .hover-effect, #primary-nav details[open] summary .hover-effect) .text::after {
  transform: translateX(0ch);
  opacity: 1;
}
#primary-nav summary {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
:is(#primary-nav summary)::marker {
  content: ":: ";
  color: var(--color-fg-low-contrast);
}
#primary-nav details[open] summary::marker {
  content: "\25bd  ";
}
#primary-nav .nav-dropdown {
  display: flex;
  flex-direction: column;
}
:is(#primary-nav .nav-dropdown) .nav-dropdown-spacer {
  display: inline-block;
  height: 4px;
  margin-left: 1ch;
  border-left: 1px solid var(--color-fg-low-contrast);
}
:is(#primary-nav .nav-dropdown) .nav-dropdown-entry {
  position: relative;
  margin-left: 1ch;
}
:is(:is(#primary-nav .nav-dropdown) .nav-dropdown-entry) .nav-dropdown-left-border {
  display: inline-block;
  border-left: 1px solid var(--color-fg-low-contrast);
}
:is(:is(#primary-nav .nav-dropdown) .nav-dropdown-entry) .nav-dropdown-left-border-half::before {
  content: "";
  position: absolute;
  top: 0;
  height: 50%;
  border-left: 1px solid var(--color-fg-low-contrast);
}
#primary-nav .nav-linebreak {
  display: none;
}
@media (max-width: 522px) {
  #primary-nav .nav-linebreak {
    display: block;
    height: 0;
    flex-basis: 100%;
  }
}
#primary-nav .theme-dark-text,
#primary-nav .theme-light-text {
  color: var(--color-orange);
}
:is(#primary-nav input[type=checkbox]:not(:checked) + span) .theme-light-text {
  display: none;
}
:is(#primary-nav input[type=checkbox]:checked + span) .theme-dark-text {
  display: none;
}
#primary-nav #theme-label {
  cursor: pointer;
}
:is(#primary-nav #theme-label):hover {
  font-weight: bold;
}
#primary-nav input[type=checkbox] {
  position: absolute;
  width: 1em;
  height: 1em;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
#primary-nav input[type=checkbox]:focus + span {
  outline: 1px solid var(--color-red);
  outline-offset: 4px;
}
#primary-nav input[type=checkbox]:focus:not(:focus-visible) + span {
  outline: none;
}
#primary-nav input[type=checkbox]:disabled {
  cursor: not-allowed;
}
#primary-nav #theme-label:has(input[type=checkbox]:disabled) {
  cursor: not-allowed;
}
:is(#primary-nav input[type=checkbox]:disabled + span) .theme-dark-text {
  -webkit-user-select: none;
  user-select: none;
}
:is(#primary-nav input[type=checkbox]:disabled + span) .theme-light-text {
  -webkit-user-select: none;
  user-select: none;
}

/* src/templates/css/global.css */
#skipnav:focus {
  border: unset;
  padding: unset;
  margin: unset;
  height: unset;
  width: unset;
  overflow: unset;
  clip: unset;
  clip: unset;
  clip-path: unset;
  white-space: unset;
  color: var(--color-fg-dull);
  background-color: var(--color-bg);
  padding: 0.2em 0.8em;
  font-size: calc((14 / 16) * 1em);
  font-family: var(--font-mono);
  margin-top: 2em;
  z-index: 10;
}
.visually-hidden {
  border: 0;
  padding: 0;
  margin: 0;
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  white-space: nowrap;
}
