/* Root variables for theme */
:root {
  --green: #00FF00;
  --green-dark: #00c966;
  --green-light: #00a933;
  --background: #323232;
  --text: #A2E197;
  --box-bg: #2a2a2a;
  --highlight: #ffffff;
}

/* Link styling */
a {color: var(--green);text-decoration: underline;}
a:visited {color: var(--green-dark);}
a:hover {color: var(--highlight);background-color: var(--green-dark);}


/* Layout and page structure */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  max-width: 1024px;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: var(--background);
  color: var(--text);
  font-family: 'JetBrains Mono', monospace;
  box-sizing: border-box;
}

/* Main content takes up remaining vertical space */
main {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Text alignment */
.center {  text-align: center;}

/* Columns and layout */
.three-column {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 2rem;
  margin-top: 2rem;
}

.column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.left-column,.right-column {max-width: 400px;}
.center-column {max-width: 600px;}

/* Responsive fallback: stack columns on small screens */
@media (max-width: 1024px) {
  .three-column {
    grid-template-columns: 1fr;
  }
}

/* Boxes */
.box {
  border: 1px solid var(--green-light);
  padding: 1rem;
  background-color: var(--box-bg);
  box-shadow: 0 0 5px var(--green);
  width: 100%;
  box-sizing: border-box;
}

/* Navigation bar */
nav {text-align: center;margin-bottom: 2rem;font-size: 1rem;}
nav a {margin: 0 1rem;text-decoration: none;color: var(--green);}
nav a:hover {background-color: var(--green-light);color: var(--highlight);padding: 0.2rem 0.5rem;border-radius: 3px;}

/* Lists */
ol {padding-left: 1.5rem;}

/* Footer */
footer {
  font-size: 0.7rem;
  color: #aaa;
  text-align: center;
  margin-top: 2rem;
}

/* Images */
.blog-img {
  width: 250px;
  height: auto;
  max-height: 400px;
}

/* Box container layout */
.stacked-boxes {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
