:root {
  /* Main colors - updated for a more consistent, professional palette */
  --color-primary: #3b82f6;
  /* Vibrant blue */
  --color-primary-dark: #2563eb;
  /* Darker blue */
  --color-secondary: #8b5cf6;
  /* Purple accent */
  --color-text: #1e293b;
  /* Dark slate blue for text */
  --color-text-light: #475569;
  /* Lighter slate for secondary text */
  --color-background: #f8fafc;
  /* Very light blue-gray */
  --color-background-alt: #f1f5f9;
  /* Slightly darker background for contrast */
  --color-border: #e2e8f0;
  /* Light border color */
  --color-link: var(--color-primary);
  --color-link-hover: var(--color-primary-dark);
  --color-blockquote-border: var(--color-secondary);
}

body {
  margin: 0 auto;
  max-width: 50rem;
  color: var(--color-text);
  background-color: var(--color-background);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
dl,
img,
figure {
  margin: 2rem 0;
  color: var(--color-text);
}

p {
  margin: 2rem 0;
  color: var(--color-text-light);
}

ul,
ol {
  margin: 2rem 0;
  color: var(--color-text-light);
  padding-left: 2rem;
}

ul li,
ol li {
  margin: 0.5rem 0;
}

blockquote {
  font-style: normal;
  font-family: "Courier New", Courier, monospace;
  border-left: 4px solid var(--color-blockquote-border);
  padding-left: 8px;
  background-color: var(--color-background-alt);
  padding: 1rem;
  border-radius: 4px;
}

a {
  color: var(--color-link);
  text-decoration: none;
  transition: all 0.2s ease;
  border-bottom: 1px solid transparent;
}

a:hover {
  color: var(--color-link-hover);
  border-bottom: 1px solid var(--color-link-hover);
}

a:active {
  color: var(--color-primary-dark);
}

a:visited {
  color: var(--color-link);
  border-bottom: 1px solid transparent;
}

a:visited:hover {
  color: var(--color-link-hover);
  border-bottom: 1px solid var(--color-link-hover);
}