/* Terminal Retro Theme - Subtle CRT Effect */

:root {
  --background: #0a0a0a;
  --foreground: #b8c4b8;
  --accent: #4a9f4a;
  --glow: rgba(74, 159, 74, 0.4);
  --scanline-opacity: 0.03;
  --terminal-font: "Monaco", "Menlo", "SF Mono", "Consolas", "Liberation Mono", monospace;
}

/* Force monospace everywhere */
body, html, * {
  font-family: var(--terminal-font) !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--terminal-font) !important;
  font-weight: normal;
}

/* Scanline overlay */
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, var(--scanline-opacity)) 0px,
    rgba(0, 0, 0, var(--scanline-opacity)) 1px,
    transparent 1px,
    transparent 2px
  );
}

/* Subtle vignette */
body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9998;
  background: radial-gradient(
    ellipse at center,
    transparent 0%,
    transparent 60%,
    rgba(0, 0, 0, 0.3) 100%
  );
}

/* Text glow effect */
h1, h2, h3, .header__logo a, .post-link:hover {
  text-shadow: 0 0 8px var(--glow);
}

/* Header logo styling */
.header__logo a {
  color: var(--accent) !important;
  text-shadow: 0 0 10px var(--glow);
}

/* Command prompt prefix for post titles */
.post-line {
  display: flex;
  align-items: baseline;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(74, 159, 74, 0.15);
}

.post-line:last-child {
  border-bottom: none;
}

.post-line::before {
  content: ">";
  color: var(--accent);
  margin-right: 0.75rem;
  opacity: 0.6;
  font-family: monospace;
}

.post-line .post-date {
  font-family: "Fira Code", Monaco, Consolas, monospace;
  color: rgba(74, 159, 74, 0.7);
  min-width: 100px;
  flex-shrink: 0;
  font-size: 0.85rem;
}

.post-line .post-link {
  color: var(--foreground);
  text-decoration: none;
  transition: all 0.2s ease;
}

.post-line .post-link:hover {
  color: var(--accent);
  text-shadow: 0 0 8px var(--glow);
}

/* Post content styling */
.post-title a {
  color: var(--accent) !important;
  text-shadow: 0 0 10px var(--glow);
  text-decoration: none;
}

.post-content {
  line-height: 1.7;
}

.post-content a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(74, 159, 74, 0.3);
  transition: all 0.2s ease;
}

.post-content a:hover {
  border-bottom-color: var(--accent);
  text-shadow: 0 0 6px var(--glow);
}

/* Code blocks - terminal feel */
pre, code {
  background: rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(74, 159, 74, 0.2) !important;
}

code {
  color: var(--accent) !important;
}

/* Blockquotes */
blockquote {
  border-left: 2px solid var(--accent);
  border-top: none;
  border-bottom: none;
  padding-left: 1rem;
  opacity: 0.85;
}

blockquote::before {
  display: none;
}

/* Footer subtle */
.footer {
  opacity: 0.6;
}

/* Remove image borders for blog */
.post-content img {
  border: 1px solid rgba(74, 159, 74, 0.3) !important;
  padding: 0 !important;
}

/* Cursor blink animation for header */
@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

.header__logo a::after {
  content: "_";
  animation: blink 1s step-end infinite;
  margin-left: 2px;
}

/* Selection color */
::selection {
  background: var(--accent);
  color: var(--background);
}
