/* Base colors - Catppuccin Mocha */
:root {
  --text: #cdd6f4;
  --background: #1e1e2e;
  --surface: #313244;
  --accent: #89b4fa;
  --heading: #f5c2e7;
  --code-bg: #45475a;
  --code-text: #f2cdcd;
}

/* General resets */
html, body {
  margin: 0;
  padding: 0;
  background-color: var(--background);
  color: var(--text);
  font-family: 'Noto Sans', sans-serif;
  text-align: left;
  font-size: 1.05rem;
  line-height: 1.6;
}

/* Container for the page */
body {
  max-width: 1000px;
  margin: 0 auto;
  padding: 2em;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  color: var(--heading);
  margin-top: 2em;
}

/* Paragraphs */
p {
  margin-top: 1em;
  margin-bottom: 1em;
}

/* Code blocks */
pre, code {
  background-color: var(--code-bg);
  color: var(--code-text);
  padding: 0.5em;
  border-radius: 5px;
  font-family: 'Fira Code', 'Courier New', monospace;
}

/* Inline code */
code {
  padding: 0.2em 0.4em;
}

/* Block quotes */
blockquote {
  border-left: 4px solid var(--accent);
  padding-left: 1em;
  margin-left: 0;
  margin-right: 0;
  color: var(--accent);
  font-style: italic;
}

/* Tables */
table {
  margin: 2em auto;
  border-collapse: collapse;
  width: 100%;
}

th, td {
  border: 1px solid var(--surface);
  padding: 0.5em;
}

/* Links */
a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.navbar {
  position: fixed;
  top: 1rem;
  right: 2rem;
  display: flex;
  gap: 1.5rem;
  background: rgba(30, 30, 46, 0.7); /* semi-transparent Catppuccin Mocha background */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); /* Safari support */
  padding: 0.5rem 1rem;
  border: 1px solid var(--surface);
  border-radius: 8px;
  z-index: 1000;
  font-size: 1rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

.navbar a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
}

.navbar a:hover {
  text-decoration: underline;
}
