/* import poppins font from google fonts */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap");

/* crystal-inspired color palette */
:root {
  --background-color: #1b1d26;
  --primary-text: #e8eaf6;
  --secondary-text: #b3b6c3;
  --accent-color: #6b8cff; /* crystal blue */
  --highlight-color: #b3ffe2; /* mint crystal */
  --code-bg: #101116;
  --code-text: #e8eaf6;
  --container-bg: #242732;
}

body {
  font-family: "Poppins", sans-serif;
  background-color: var(--background-color);
  color: var(--primary-text);
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  box-sizing: border-box;
}

/* layout container for main content */
.container {
  max-width: 800px;
  width: 85vw;
  padding: 2em;
  border-radius: 12px;
  background-color: var(--container-bg);
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.3);
  text-align: left;
}

/* headers and general typography */
h1,
h2 {
  color: var(--accent-color);
  font-weight: 600;
  margin: 0.5em 0;
}

p,
ul,
ol {
  color: var(--secondary-text);
  line-height: 1.6;
  margin: 1em 0;
}

/* link styling */
a {
  color: var(--highlight-color);
  text-decoration: none;
  font-weight: 500;
}

a:hover {
  text-decoration: underline;
}

/* list styling */
ul,
ol {
  list-style: none;
  padding-left: 1.2em;
}

ul > li::before {
  content: "•";
  color: var(--highlight-color);
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

blockquote {
  color: var(--secondary-text);
  padding: 1em 1.5em;
  border-left: 4px solid var(--accent-color);
  background-color: #2e313a;
  font-style: italic;
  border-radius: 8px;
  margin: 1.5em 0;
}

/* code and pre styles */
code {
  display: inline-block;
  padding: 0.2em 0.4em;
  font-family: monospace;
  background-color: var(--code-bg);
  color: var(--code-text);
  border-radius: 6px;
}

pre {
  background-color: var(--code-bg);
  color: var(--code-text);
  padding: 1em;
  border-radius: 8px;
  overflow-x: auto;
  font-size: 0.9em;
  margin: 1.5em 0;
}

/* typography scaling for various screen sizes */
h1 {
  font-size: clamp(2em, 4vw, 2.5em);
}

h2 {
  font-size: clamp(1.5em, 3vw, 2em);
}

p,
ul,
ol,
blockquote,
pre {
  font-size: clamp(1em, 1.5vw, 1.2em);
}
