/* Highlight.js Terminal Theme */

.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em;
  background: #121212;
  color: #f0f0f0;
}

.hljs-comment,
.hljs-quote {
  color: #707070;
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-type,
.hljs-addition {
  color: #00ff00;
}

.hljs-number,
.hljs-selector-attr,
.hljs-selector-pseudo {
  color: #88ff88;
}

.hljs-string,
.hljs-doctag,
.hljs-regexp {
  color: #f8bc45;
}

.hljs-title,
.hljs-name,
.hljs-section,
.hljs-built_in {
  color: #00ddff;
}

.hljs-variable,
.hljs-template-variable,
.hljs-selector-id,
.hljs-class .hljs-title {
  color: #ff66cc;
}

.hljs-section,
.hljs-name,
.hljs-strong {
  font-weight: bold;
}

.hljs-symbol,
.hljs-bullet,
.hljs-subst,
.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-selector-class,
.hljs-attr,
.hljs-attribute {
  color: #9aedfe;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-deletion {
  color: #ff5555;
}

.hljs-link {
  color: #2aa198;
  text-decoration: underline;
}

/* Line numbers */
.hljs-ln {
  border-collapse: collapse;
}

.hljs-ln-n {
  color: #707070;
  padding-right: 1em;
  text-align: right;
  user-select: none;
}

/* Terminal-like cursor effect */
.code-container:focus-within::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 8px;
  height: 16px;
  background-color: #00ff00;
  animation: blink 1s step-end infinite;
}

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