/* ===== Base Layout ===== */
body {
  background-color: #272822;    /* Monokai base */
  color: #F8F8F2;               /* Bone white text */
  max-width: 800px;
  margin: auto;
  padding: 1em;
  line-height: 1.6;
  font-family: "IBM Plex Mono", monospace;
}

/* ===== Headings ===== */
h1 {
  color: #F8F8F2;               /* Bone white – calm authority */
  font-size: 2.0em;
  margin-top: 1.2em;
  margin-bottom: 0.6em;
  border-bottom: 2px solid #FD971F;  /* Amped Amber underline */
  padding-bottom: 0.2em;
  font-weight: 700;
}

h2 {
  color: #A6E22E;               /* Phosphor Green */
  border-bottom: 2px solid #FD971F;
  padding-bottom: 0.2em;
  font-weight: 600;
  margin-bottom: 0.8em;
  letter-spacing: 0.5px;
}

h3 {
  color: #FD971F;               /* Warm amber for sub-sections */
  font-weight: 500;
  font-size: 1.1em;
  margin-top: 1.4em;
  margin-bottom: 0.4em;
}

/* ===== Links ===== */
a {
  color: #66D9EF;               /* Cool cyan */
  text-decoration: none;
  transition: color 0.2s ease;
}

a:visited {
  color: #A6E22E;               /* Subtle green for visited links */
}

a:hover,
a:focus {
  color: #FD971F;               /* Amped amber glow on hover */
}

a:active {
  color: #F92672;               /* Pulse magenta */
}

/* ===== Header / Menu Bar ===== */
.menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #1E1F1C;
  border-bottom: 1px solid #75715E;
  padding: 0.5em 1em;
}

.brand {
  text-shadow: 0 0 6px rgba(253, 151, 31, 0.4); /* faint amber glow */
}

/* menu list (right side) */
.menu-right {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1em;
}

/* Default menu link (plain) */
.menu-right a {
  text-decoration: none;
  color: #E6DB74;                 /* Banana Byte */
  padding: 5px 8px;
  border-radius: 4px;
  border: 1px solid transparent;
  background: none;
  transition: background 0.2s ease, color 0.2s ease, border 0.2s ease, box-shadow 0.2s ease;
}

/* Hover / Active / Current Page */
.menu-right a:hover,
.menu-right a:focus,
.menu-right a[aria-current="page"] {
  background: #FD971F;           /* Amped Amber */
  color: #272822;                /* Dark text on bright hover */
  border: 1px solid #FD971F;
  box-shadow: 0 0 8px rgba(253, 151, 31, 0.5);
}

/* ===== Footer ===== */
footer {
  background: #1E1F1C;
  padding: 0.5em;
  border-top: 1px solid #75715E;
  text-align: center;
  font-size: 0.9em;
}

footer a {
  color: #66D9EF;                /* Cool cyan */
  text-decoration: none;
}

footer a:hover {
  color: #A6E22E;                /* Phosphor green hover */
}

/* ===== Horizontal Rules ===== */
hr {
  border: none;
  border-top: 1px dashed #75715E;
  margin: 2em 0;
}

/* ===== Code Blocks ===== */
pre {
  background: #1E1F1C;
  border: 1px solid #75715E;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
  padding: 1em;
  overflow-x: auto;
  color: #F8F8F2;
}

code {
  background: #383830;
  color: #FD971F;
  padding: 0 3px;
  border-radius: 3px;
}

pre code {
  background: none;
}

/* ===== Images / Media ===== */
img, iframe, video {
  display: block;
  margin: 1.5em auto;
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  border: 1px solid #3E3E3E;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
}

/* ===== Main Content ===== */
main {
  hyphens: auto;
  background: #1E1F1C;
  padding: 1em;
  border-radius: 4px;
  border: 1px solid #75715E;
}

/* ===== Blockquotes ===== */
blockquote {
  background: #383830;
  border-left: 5px solid #A6E22E;
  color: #E6DB74;
  padding: 0.5em 1em;
  font-style: italic;
}

/* ===== Tables ===== */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  border-top: 1px solid #75715E;
  border-bottom: 1px solid #75715E;
  font-size: 0.95em;
}

table thead th {
  background: #383830;
  border-bottom: 1px solid #75715E;
  color: #E6DB74;               /* warm yellow headers */
  text-align: left;
  font-weight: 600;
}

th, td {
  padding: 6px 10px;
  border: 1px solid #3E3E3E;
}

tr:nth-child(odd) {
  background: #2E2F29;
}

tr:nth-child(even) {
  background: #1E1F1C;
}

tfoot {
  background: #383830;
  font-style: italic;
  color: #E6DB74;
}

/* ===== Small Typography ===== */
.title {
  font-size: 0.8em;
}
