/* Reset */

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

body {
  margin: 0;
}

/* Layout */

html,
body,
main {
  height: 100%;
}

main {
  padding: 1rem;
  max-width: 80ch;
  margin-inline: auto;

  display: flex;
  flex-direction: column;
}

footer {
  margin-top: auto;

  display: flex;
  justify-content: center;
}

.post-list {
  list-style: none;
  padding: 0;
}

table {
  border-collapse: collapse;
}

td,
th {
  text-align: left;
  padding: 0.5rem 1rem;
  border: 1px solid;
}

/* Font */

html {
  font-size: 1.125rem;
  font-family: Inter, system-ui, sans-serif;
  line-height: 1.5;
}

h2 {
  font-size: 1.35rem;
}

pre,
code,
td,
th {
  font-family: "Source Code Pro", monospace;
  font-size: 0.75rem;
}

.post-meta {
  font-size: 0.85rem;
}

.post-excerpt,
.post-read-more {
  font-size: 0.85rem;
}

footer {
  font-size: 0.75rem;
}

/* Color */

html {
  color: #dedede;
  background-color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #fff;
}

pre,
code {
  background-color: #1e1e1e;
}

code {
  color: #bebebe;
}

.post-meta,
footer {
  color: #a0a0a0;
}

td,
th {
  border-color: #a0a0a0;
}

a {
  color: #64aaeb;
}

/* Syntax */

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #8b949e;
}

.token.punctuation {
  color: #ffffff;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
  color: #78bffe;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
  color: #a5d6ff;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
  color: #79bffe;
}

.token.atrule,
.token.attr-value,
.token.keyword {
  color: #ff7b72;
}

.token.function {
  color: #d2a8ff;
}

.token.regex,
.token.important,
.token.variable {
  color: #fea557;
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

.token.entity {
  cursor: help;
}

.token.deleted-sign {
  display: block;
  background-color: hsl(350deg 100% 88% / 15%);
}

.token.inserted-sign {
  display: block;
  background-color: hsl(120deg 73% 75% / 15%);
}

/* Misc */

.header-anchor {
  color: inherit;
  text-decoration: none;
}

.header-anchor:hover {
  text-decoration: underline;
}

pre {
  padding: 0.75rem;
  border-radius: 0.5rem;
  overflow-x: auto;
}

:not(pre) > code {
  padding: 0.2rem;
  border-radius: 0.25rem;
  white-space: nowrap;
}
