body {
  background-color: #000000;
  color: #A3A3A3;
}

.border-struct {
  border-color: #262626;
}

.cursor-blink {
  animation: blink 1s step-end infinite;
}
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* instant, non-eased hover states, matches the IDE feel */
.hover-instant {
  transition: none;
}

.sidebar-item:hover,
.sidebar-item.active {
  background-color: #0A0A0A;
  color: #E6E6E6;
  border-left: 2px solid #f95706;
}

.filter-btn:hover,
.sort-btn:hover {
  background-color: #0A0A0A;
  color: #E6E6E6;
  border-color: #f95706;
}
.filter-btn.active,
.sort-btn.active {
  background-color: #0A0A0A;
  color: #f95706;
  border-left: 2px solid #f95706;
}

.project-row:hover {
  background-color: #0A0A0A;
  color: #E6E6E6;
  cursor: pointer;
}
.project-row:hover .row-title {
  color: #f95706;
}

.article-hover-group:hover .article-title {
  color: #f95706;
  transform: translateX(4px);
}
.article-title {
  transition: color 150ms ease, transform 150ms ease;
}

/* scrollbar, IDE feel */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #000000; border-left: 1px solid #262626; }
::-webkit-scrollbar-thumb { background: #262626; border-radius: 0px; }
::-webkit-scrollbar-thumb:hover { background: #A3A3A3; }

/* prose, used for project detail and writings entry bodies */
.prose { color: #A3A3A3; font-family: 'Inter', sans-serif; }
.prose p { margin-bottom: 1.5rem; line-height: 1.7; font-size: 0.9375rem; }
.prose h2 {
  font-size: 1.5rem; font-weight: 600; color: #E6E6E6;
  margin-top: 2.5rem; margin-bottom: 1rem;
  border-bottom: 1px solid #262626; padding-bottom: 0.5rem;
}
.prose h3 { font-size: 1.25rem; font-weight: 500; color: #E6E6E6; margin-top: 2rem; margin-bottom: 0.75rem; }
.prose ul, .prose ol { padding-left: 1.5rem; margin-bottom: 1.5rem; }
.prose ul { list-style-type: square; }
.prose li { margin-bottom: 0.5rem; line-height: 1.6; font-size: 0.9375rem; }
.prose strong { color: #E6E6E6; font-weight: 600; }
.prose a {
  color: #f95706; text-decoration: underline; text-decoration-style: dashed;
  text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color 0.15s ease;
}
.prose a:hover { color: #E6E6E6; text-decoration-style: solid; }
.prose blockquote {
  border-left: 2px solid #f95706; padding: 1rem; margin: 1.5rem 0;
  color: #888; background: rgba(10, 10, 10, 0.5);
}
.prose code {
  background-color: #0A0A0A; border: 1px solid #262626; padding: 0.125rem 0.375rem;
  border-radius: 0.125rem; color: #E6E6E6; font-size: 0.875em; font-family: 'JetBrains Mono', monospace;
}
.prose pre {
  background-color: #050505 !important; border: 1px solid #262626; border-radius: 0.125rem;
  padding: 1rem; overflow-x: auto; margin: 2rem 0; font-size: 13px; line-height: 1.6;
}
.prose pre code { background: none; border: none; padding: 0; }
