body {
  background-color: #0a0a0f;
  color: #e2e8f0;
  overflow-x: hidden;
}
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0a0a0f; }
::-webkit-scrollbar-thumb { background: #bd00ff; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #00f0ff; }
.cursor {
  display: inline-block;
  width: 10px;
  height: 1.2em;
  background-color: #00f0ff;
  vertical-align: middle;
  animation: blink 1s step-end infinite;
}
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.scanlines {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0) 50%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.1));
  background-size: 100% 4px;
  pointer-events: none;
  z-index: 50;
  opacity: 0.3;
}
.text-gradient {
  background: linear-gradient(to right, #00f0ff, #bd00ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.prose-terminal a { color: #00f0ff; text-decoration: underline; text-underline-offset: 2px; }
.prose-terminal a:hover { color: #bd00ff; }
.prose-terminal code {
  background: #0a0a0f;
  border: 1px solid #2d3748;
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
  font-size: 0.85em;
  color: #00f0ff;
}
.prose-terminal pre { background: #0a0a0f; border: 1px solid #2d3748; border-radius: 8px; padding: 0.8rem; overflow: auto; }
.prose-terminal ul { list-style: disc; padding-left: 1.4rem; }
.prose-terminal ol { list-style: decimal; padding-left: 1.4rem; }
table.dl { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
table.dl th, table.dl td { text-align: left; padding: 0.6rem; border-bottom: 1px solid #2d3748; }
table.dl th { color: #9aa3b2; }
