:root {
  --bg: #282828; /* Gruvbox dark background */
  --fg: #ebdbb2; /* Gruvbox light text */
  --panel: #3c3836; /* Gruvbox dark panel */
  --border: #665c54; /* Gruvbox gray */
  --link: #83a598; /* Gruvbox blue */
  --accent: #d79921; /* Gruvbox yellow */
  --muted: #a89984; /* Gruvbox light gray */
}

html, body {
  margin: 0;
  padding: 0;
  height: auto;
  min-height: 100vh;
  overflow-y: auto;
  font-size: 16px;
  font-family: 'Fira Code', monospace;
  background: var(--bg);
  color: var(--fg);
}

body {
  display: flex;
  justify-content: center;
}

a {
  text-decoration: none;
  color: var(--link);
}

a:hover {
  text-decoration: underline;
}

.post-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--link);
}

.post-title:hover {
  text-decoration: underline;
}

.pfp {
	position: relative;
	float: right;
	clear: both;
	margin-left: 10px;
	margin-bottom: 10px;
	border-radius: 30px;
}

.rainbow-text {
  font-size: 1.2rem;
  background: linear-gradient(90deg, #fb4934, #fe8019, #fabd2f, #b8bb26, #83a598, #d3869b, #fb4934);
  background-size: 300%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: rainbow 5s linear infinite;
}

@keyframes rainbow {
  0% { background-position: 0%; }
  100% { background-position: 100%; }
}

.scroll-container {
  width: 100%;
  max-width: 1000px;
  padding: 2rem 1rem;
  margin: 0 auto;
}

.center-window {
  background: var(--panel);
  border: 3px double var(--border);
  padding: 1.5rem;
  box-sizing: border-box;
}

.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
}

header {
  border-bottom: 2px dashed var(--border);
  margin-bottom: 1rem;
}

header h1 {
  margin: 0;
  color: var(--accent);
}

nav a {
  margin-right: 1rem;
  color: var(--link);
  text-decoration: none;
}

nav a:hover {
  text-decoration: underline;
}

.terminal-box {
  background: var(--bg);
  border: 2px dashed var(--border);
  padding: 1rem;
  margin-bottom: 1rem;
}

.markdown-container {
  background: var(--bg);
  border: 2px dashed var(--border);
  padding: 1rem;
  margin-top: 1rem;
  color: var(--fg);
  overflow-wrap: break-word;
}

.post-list {
  list-style-type: none;
  padding-left: 0;
}

.post-list li {
  margin: 0.5em 0;
}

.post-date {
  color: var(--muted);
  margin-left: 0.5em;
  font-size: 0.9em;
}

/* Terminal Status Display - Gruvbox VHS Style */
.terminal-container {
  width: 85%;
  background: linear-gradient(135deg, #1d2021, #282828);
  border: 2px solid #d79921b0;
  border-radius: 0;
  box-shadow: 
    0 0 20px #d7992150,
    0 20px 20px #d7992130,
    inset 0 0 10px rgba(215, 153, 33, 0.1);
  overflow: hidden;
  margin: 2rem auto 4rem;
  position: relative;
}

.terminal-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    transparent 50%,
    rgba(235, 219, 178, 0.03) 50%
  );
  background-size: 100% 4px;
  pointer-events: none;
  z-index: 1;
}

.terminal-container::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(235, 219, 178, 0.02);
  animation: flicker 0.15s infinite linear alternate;
  pointer-events: none;
  z-index: 2;
}

@keyframes flicker {
  0% { opacity: 1; }
  100% { opacity: 0.98; }
}

/* .terminal-header { */
/*   background: linear-gradient(135deg, #1d2021, #282828); */
/*   padding: 0.9rem 1rem; */
/*   border-bottom: 1px solid #d79921ee; */
/*   font-size: 1rem; */
/*   color: #d79921ee; */
/*   text-transform: uppercase; */
/*   letter-spacing: 1px; */
/*   position: relative; */
/*   z-index: 3; */
/* } */

/* .terminal-header::before { */
/*   content: '● REC'; */
/*   position: absolute; */
/*   right: 1rem; */
/*   top: 50%; */
/*   transform: translateY(-50%); */
/*   color: #fb4934; */
/*   animation: blink-rec 2s infinite; */
/*   font-weight: bold; */
/* } */
/**/
/* @keyframes blink-rec { */
/*   0%, 50% { opacity: 1; } */
/*   51%, 100% { opacity: 0.3; } */
/* } */

/* .terminal-title { */
/*   margin: 0; */
/*   font-weight: bold; */
/* } */

.terminal-body {
  padding: 1rem;
  min-height: 280px;
  font-size: 0.9rem;
  line-height: 1.3;
  white-space: pre-wrap;
  color: #ebdbb2;
  position: relative;
  z-index: 3;
  overflow-x: auto;
}

.terminal-body::after {
  content: '█';
  color: #d79921;
  display: inline;
  animation: blink-cursor 1.2s infinite;
  font-weight: bold;
}

.terminal-body.no-animation::after {
  animation: none;
}

@keyframes blink-cursor {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

.prompt {
  color: #b8bb26; /* Gruvbox green */
  font-weight: bold;
}

.status-active { 
  color: #b8bb26; /* Gruvbox green */
  text-shadow: 0 0 5px #b8bb26;
}

.status-loading { 
  color: #fabd2f; /* Gruvbox yellow */
  text-shadow: 0 0 5px #fabd2f;
  animation: pulse-yellow 1.5s infinite;
}

.status-inactive { 
  color: #928374; /* Gruvbox gray */
}

.status-error { 
  color: #fb4934; /* Gruvbox red */
  text-shadow: 0 0 5px #fb4934;
}

@keyframes pulse-yellow {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

.service-name { 
  color: #83a598; /* Gruvbox blue */
  font-weight: bold;
}

.service-url { 
  color: #8ec07c; /* Gruvbox aqua */
  font-style: italic;
}

.terminal-body {
  text-shadow: 0 0 2px currentColor;
}

.terminal-body * {
  text-shadow: inherit;
}

.terminal-container {
  transform: perspective(300px) rotateX(8deg);
  filter: contrast(1.1) brightness(1.05);
}
