/* ===== AL Academy — terminal / REPL view ===== */
.terminal {
  margin: 22px 0; border-radius: var(--radius); overflow: hidden;
  border: 1px solid var(--border); background: #05070b;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.terminal-head {
  display: flex; align-items: center; gap: 8px; padding: 8px 12px;
  background: #11151d; border-bottom: 1px solid var(--border);
}
.terminal-head .dot { width: 11px; height: 11px; border-radius: 50%; }
.terminal-head .title { margin-left: 8px; font-size: 12px; color: var(--text-dim); font-family: var(--mono); }

.terminal-body {
  font-family: var(--mono); font-size: 13.5px; line-height: 1.55;
  padding: 12px 14px; color: #b9f4d8; max-height: 420px; overflow-y: auto;
}
.terminal-line { white-space: pre-wrap; word-break: break-word; }
.terminal-line .prompt { color: var(--accent-2); user-select: none; }
.terminal-line .cont   { color: var(--text-dim); user-select: none; }
.terminal-line .in     { color: #e9f3ff; }
.terminal-line .out    { color: #b9f4d8; }
.terminal-line .err    { color: #ff8b8b; }

.terminal-input-row { display: flex; align-items: baseline; font-family: var(--mono); font-size: 13.5px; }
.terminal-input-row .prompt { color: var(--accent-2); margin-right: 8px; user-select: none; }
.terminal-input {
  flex: 1; background: transparent; border: none; outline: none;
  color: #e9f3ff; font-family: var(--mono); font-size: 13.5px; caret-color: var(--accent);
}
.terminal-hint { padding: 6px 14px 12px; font-size: 11.5px; color: var(--text-dim); font-family: var(--mono); }

/* Blinking cursor for static demo lines */
.blink { animation: blink 1.1s step-end infinite; }
@keyframes blink { 50% { opacity: 0; } }
