@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400&family=Manufacturing+Consent&display=swap');

:root {
  --background: #f5f5f5;
  --foreground: #1a1a1a;
  --accent: #2563eb;
  --blue: #2563eb;
  --blue-dim: #1d4ed8;
  --code-border: #ccc;
  --font-size: 1rem;
  --line-height: 1.75em;
}

/* serif body text */
body {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 0.95rem;
}


/* mono for all UI chrome: headings, nav, meta, code */
h1, h2, h3, h4, h5, h6,
.logo, .header-nav, .header-nav a,
.logo-social, .post-meta, .footer,
code, kbd, pre, samp {
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
}

/* fix verbatim overflow */
pre {
  overflow-x: auto !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* wider, centered layout */
.container {
  max-width: 1100px;
  margin: 0 auto;
  border-right: none;
}

/* big centered title */
.header {
  text-align: center;
  padding: 32px 0 8px;
}

.header__inner {
  justify-content: center;
}

.header__logo {
  flex: 0 0 auto;
}

/* remove the dotted line after logo */
.header__logo::after {
  display: none;
}

.header__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.logo,
.post-title,
.post-title a,
h1 {
  color: #1a1a1a !important;
}

.logo {
  background: transparent;
  color: #1a1a1a;
  font-size: 3rem;
  letter-spacing: 0.04em;
  padding: 0;
  transition: color 0.2s, text-shadow 0.2s;
}

.header__logo a:hover .logo {
  color: #1a1a1a !important;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.5), 0 0 18px rgba(0, 0, 0, 0.25);
}

/* icon row under the title */
.header__inner {
  flex-direction: column;
  align-items: center;
}

.header-icons {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  justify-content: center;
  gap: 16px;
  margin-top: 48px;
}

.header-icon {
  display: inline-flex;
  color: #1a1a1a !important;
  transition: filter 0.2s;
}

.header-icon:hover {
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 10px rgba(0, 0, 0, 0.25));
}

.header-icon svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.nav-icon svg {
  width: 22px;
  height: 22px;
}


/* footer links row: ARCHIVE + social */
.footer-links {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 8px 0 4px;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.82rem;
}

.footer-links a {
  color: #1a1a1a !important;
  text-decoration: none;
  letter-spacing: 0.04em;
}

.footer-links a:hover {
  color: var(--blue) !important;
}

.footer-icon {
  display: inline-flex;
  color: #1a1a1a !important;
  transition: filter 0.2s;
}

.footer-icon:hover {
  color: #1a1a1a !important;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.5));
}

.footer-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* smaller copyright line */
.footer-credit {
  font-size: 0.7rem;
  opacity: 0.6;
  margin-top: 1.2em;
}

/* search page */
.search-page form {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.search-page input[type="search"] {
  flex: 1;
  max-width: 500px;
}

/* links */
a {
  color: var(--blue) !important;
}
a:hover {
  color: var(--blue-dim) !important;
}

/* post metadata and tags */
.post-meta,
.post-meta a,
.post-tags a,
.post-date,
.post-author {
  color: #1a1a1a !important;
  opacity: 1;
}

/* dark code blocks — blue left border accent */
pre {
  background: #1e1e1e !important;
  color: #d4d4d4 !important;
  border: 1px solid #333 !important;
  border-left: 3px solid var(--blue) !important;
  overflow-x: auto !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* inline code: subtle light gray */
code, kbd {
  background: #e2e2e2 !important;
  border-color: #ccc !important;
  color: #1a1a1a !important;
  overflow-wrap: break-word;
  word-break: break-word;
}

pre code {
  background: none !important;
  color: inherit !important;
  border: none !important;
}

/* social icons row inside .header-right */
.logo-social {
  display: flex;
  align-items: center;
  gap: 14px;
}

.logo-social a {
  display: inline-flex;
  color: #1a1a1a !important;
  text-decoration: none;
  transition: filter 0.2s;
}

.logo-social a:hover {
  color: #1a1a1a !important;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 10px rgba(0, 0, 0, 0.25));
}

.logo-social svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* gothic drop cap on first paragraph of every post */
.post-content > p:first-child::first-letter,
.post-content > div > p:first-child::first-letter {
  float: left;
  font-family: 'Manufacturing Consent', serif;
  font-size: 5em;
  line-height: 0.75;
  padding-right: 0.06em;
  padding-top: 0.04em;
  color: #1a1a1a;
}
