/*
 * Excalibur's Sheath
 * Typography
 *
 * Share Tech Mono for all readable site content.
 * VT323 reserved for the site title.
 */

/* Share Tech Mono */
@font-face {
  font-family: "Share Tech Mono";
  src: url("/assets/fonts/share-tech-mono/share-tech-mono-v15-latin-regular.woff2")
       format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* VT323 */
@font-face {
  font-family: "VT323";
  src: url("/assets/fonts/vt323/vt323-v17-latin_latin-ext-regular.woff2")
       format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Body */
body {
  font-family:
    "Share Tech Mono",
    "Lucida Console",
    "Liberation Mono",
    "Noto Sans Mono",
    "Courier New",
    monospace;

  font-size: 1rem;
  line-height: 1.45;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;

  color: var(--color-heading);

  font-family: "Share Tech Mono", "Lucida Console", "Liberation Mono", "Noto Sans Mono", "Courier New", monospace;

  font-weight: 400;
  line-height: 1.2;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  font-size: 1.3rem;
}

h4 {
  font-size: 1.1rem;
}

h5,
h6 {
  font-size: 1rem;
}

/* Paragraphs */
p {
  margin-top: 0;
  margin-bottom: 1em;
}

/* Lists */
ul,
ol {
  margin-top: 0;
  margin-bottom: 1em;
  padding-left: 1.5em;
}

li {
  margin-bottom: 0.25em;
}

/* Strong emphasis */
strong,
b {
  color: var(--ansi-bright-white);
  font-weight: 700;
}

/* Italic emphasis */
em,
i {
  font-style: italic;
}

/* Blockquotes */
blockquote {
  margin: 1.5em 0;
  padding-left: 1rem;

  border-left: 2px dashed var(--color-border);

  color: var(--color-muted);

  font-size: 0.95em;
  line-height: 1.4;
}

/* Code and preformatted content */
code,
pre,
kbd,
samp {
  font-family: "Share Tech Mono", "Lucida Console", "Liberation Mono", "Noto Sans Mono", "Courier New", monospace;
}

code {
  font-size: 0.95em;
}

pre {
  margin: 1.5em 0;
  padding: 1rem;

  overflow-x: auto;

  background-color: rgb(255 255 255 / 4%);
  border: 1px dashed var(--color-border);
  border-radius: 3px;

  color: var(--color-muted);

  font-size: 0.95rem;
  line-height: 1.4;

  white-space: pre;
}

/* Site title */
.site-title {
  margin: 0;

  font-family: "VT323", "Share Tech Mono", "Lucida Console", "Liberation Mono", monospace;

  font-size: 6rem;
  font-weight: 400;
  line-height: 1;

  color: var(--ansi-bright-green);
}

/* Small / secondary text */
small,
.comment,
.post-meta {
  color: var(--color-muted);
}

/* Prevent long technical strings from breaking layout */
p,
li,
blockquote {
  overflow-wrap: break-word;
}

/* Mobile */
@media (max-width: 768px) {
  body {
    font-size: 0.95rem;
  }

  .site-title {
    font-size: 4rem;
  }

  h1 {
    font-size: 1.75rem;
  }

  h2 {
    font-size: 1.45rem;
  }

  h3 {
    font-size: 1.2rem;
  }
}
