/* ------------------------------------------------------
   VARIABLES
------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;600&family=Roboto+Mono&display=swap');


/* ------------------------------------------------------
   GLOBAL FIX TO PREVENT MOBILE OVERFLOW
------------------------------------------------------ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --text: #222;
  --muted: #555;
  --bg: #ffffff;
  --accent: #6b3fa0;
  --code-bg: #f9f9f9;
  --border: #e8e8e8;
  --measure: 65ch;
  --lh: 1.6;
  --space: 1.1rem;
}

/* ------------------------------------------------------
   BASE
------------------------------------------------------ */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  background: var(--bg);
  color: var(--text);
  font-family: "EB Garamond", Georgia, "Times New Roman", serif;
  font-size: 1.15em;
  line-height: var(--lh);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html {
  scroll-behavior: smooth;
}

/* ------------------------------------------------------
   LAYOUT (CENTERED COLUMN)
------------------------------------------------------ */
body, #main-block {
  max-width: var(--measure);
  margin: 3rem auto;
  padding: 0 1.5rem;   /* keeps spacing on the sides */
}

/* ------------------------------------------------------
   HEADINGS
------------------------------------------------------ */
h1, h2, h3, h4 {
  font-family: "EB Garamond", "Times New Roman", serif;
  color: var(--text);
  font-weight: 400;
  margin-top: 2.5rem;
  margin-bottom: 0.8rem;
}

h1 {
  text-align: center;
  margin-top: 0;
  font-size: 2rem;
  letter-spacing: 0.3px;
}

/* ------------------------------------------------------
   PARAGRAPHS
------------------------------------------------------ */
p, .verse {
  margin: 0 0 var(--space);
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  color: var(--text);
  font-size: 1.1em;
}

/* ------------------------------------------------------
   BLOCKQUOTES
------------------------------------------------------ */
blockquote {
  font-size: 1.05em;
  color: var(--muted);
  border-left: 3px solid var(--border);
  padding-left: 1em;
  margin: 1.4em 0;
  background: #fdfdfd;
}

/* ------------------------------------------------------
   CODE
------------------------------------------------------ */
code, pre {
  font-family: "Roboto Mono", monospace;
  font-size: 0.9em;
  background: var(--code-bg);
  border-radius: 4px;
}

pre {
  padding: 0.9em 1em;
  margin: 1em 0;
  overflow-x: auto;
  border: 1px solid var(--border);
}

code {
  padding: 0.2em 0.4em;
}

/* ------------------------------------------------------
   IMAGES
------------------------------------------------------ */
img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.2rem auto;
}

.responsive-img {
  display: block;
  margin: 0 auto;
  max-width: 600px;
  width: 100%;
  height: auto;
}

/* ------------------------------------------------------
   TABLES
------------------------------------------------------ */
table {
  border-collapse: collapse;
  margin: 1rem 0;
  width: 100%;
  font-size: 0.95rem;
}

th, td {
  border: 1px solid var(--border);
  padding: 0.5rem 0.7rem;
  vertical-align: top;
}

th {
  background: #fafafa;
  font-weight: 600;
}

/* ------------------------------------------------------
   LINKS
------------------------------------------------------ */
a {
  color: var(--accent);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #9d5de1;
}

/* ------------------------------------------------------
   FOOTER
------------------------------------------------------ */
.footer {
  text-align: center;
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 0.9rem;
}

.footer .home-link {
  color: var(--muted);
  font-family: "EB Garamond", serif;
  font-size: 0.95em;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer .home-link:hover {
  color: var(--accent);
}

/* ------------------------------------------------------
   HEADER
------------------------------------------------------ */
.header {
  text-align: center;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}

.header .home-link {
  color: var(--muted);
  font-family: "EB Garamond", serif;
  font-size: 0.80em;
  text-decoration: none;
  transition: color 0.2s ease;
}

.header .home-link:hover {
  color: var(--accent);
}

/* ------------------------------------------------------
   RESPONSIVE ADJUSTMENTS
------------------------------------------------------ */
@media (max-width: 768px) {
  body, #main-block {
    margin: 2rem auto;
    padding: 0 1rem;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 1em;
  }
  body, #main-block {
    margin: 1.5rem auto;
    padding: 0 1rem;
  }
}
