/* ============================================================
   terminal.css — Terminal App Window
   macOS Desktop Website
   ============================================================ */

/* ── Theme tokens ───────────────────────────────────────────── */

#window-terminal {
  --term-bg: #1c1c1e;
  --term-text: #d4d4d4;
  --term-prompt: #32d74b;
  --term-green: #32d74b;
  --term-yellow: #ffd60a;
  --term-red: #ff453a;
  --term-blue: #0a84ff;
  --term-dim: #636366;
  --term-caret: #32d74b;
  --term-scrollbar: #444;
  --term-autofill: #1c1c1e;
}

.theme-light #window-terminal {
  --term-bg: #fff;
  --term-text: #1d1d1f;
  --term-prompt: #28a745;
  --term-green: #28a745;
  --term-yellow: #b8860b;
  --term-red: #d32f2f;
  --term-blue: #0066cc;
  --term-dim: #8e8e93;
  --term-caret: #28a745;
  --term-scrollbar: #c4c4c4;
  --term-autofill: #fff;
}

#window-terminal .window-content {
  background: var(--term-bg);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  font-family: 'SF Mono', 'Menlo', 'Monaco', 'Consolas', monospace;
}

/* ── Single scrollable area ─────────────────────────────────── */

.term-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--term-text);
  scrollbar-width: thin;
  scrollbar-color: var(--term-scrollbar) transparent;
}

.term-scroll::-webkit-scrollbar       { width: 6px; }
.term-scroll::-webkit-scrollbar-track { background: transparent; }
.term-scroll::-webkit-scrollbar-thumb { background: var(--term-scrollbar); border-radius: 3px; }

.term-line {
  white-space: pre-wrap;
  word-break: break-word;
  min-height: 1em;
}

/* ── Inline prompt + input ──────────────────────────────────── */

.term-input-line {
  display: flex;
  align-items: center;
}

.term-prompt,
.term-prompt-echo {
  color: var(--term-prompt);
  font-size: 13px;
  white-space: nowrap;
  flex-shrink: 0;
  user-select: none;
  -webkit-user-select: none;
}

.term-input,
#window-terminal .term-input,
body .term-input {
  flex: 1;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: var(--term-text) !important;
  font-family: 'SF Mono', 'Menlo', 'Monaco', 'Consolas', monospace !important;
  font-size: 13px !important;
  caret-color: var(--term-caret);
  padding: 0 !important;
  margin: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: 100%;
  line-height: 1.6;
}

.term-input:-webkit-autofill,
.term-input:-webkit-autofill:focus,
.term-input:-webkit-autofill:hover {
  -webkit-box-shadow: 0 0 0 1000px var(--term-autofill) inset !important;
  -webkit-text-fill-color: var(--term-text) !important;
  background: transparent !important;
}

/* ── Colour helpers ──────────────────────────────────────────── */

.term-green  { color: var(--term-green); }
.term-yellow { color: var(--term-yellow); }
.term-red    { color: var(--term-red); }
.term-blue   { color: var(--term-blue); }
.term-dim    { color: var(--term-dim); }
.term-bold   { font-weight: 700; }

/* ── Neofetch ────────────────────────────────────────────────── */

.term-neofetch {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  padding: 4px 0;
}

.term-nf-art {
  font-size: 11px;
  line-height: 1.45;
  white-space: pre;
  flex-shrink: 0;
}

.term-nf-info {
  font-size: 13px;
  line-height: 1.8;
  white-space: pre;
}

/* ── Matrix canvas ───────────────────────────────────────────── */

.term-matrix {
  margin: 6px 0;
}

.term-matrix canvas {
  display: block;
  border-radius: 4px;
}

/* ── Dock icon ───────────────────────────────────────────────── */

.dock-icon[data-app="terminal"] svg {
  display: block;
}

/* ── Reduced motion ──────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .term-matrix canvas { display: none; }
}
