/* ═══════════════════════════════════════════════════════════
   Grimorie Pixel Terminal — 8-bit wizard terminal skin
   Overrides glassmorphic terminal styles when wrapped in
   .gm-pixel-terminal. Uses muted gold/green medieval palette.
   ═══════════════════════════════════════════════════════════ */

/* ── 1. Outer wrapper ─────────────────────────────────────── */
.gm-pixel-terminal {
  position: relative;
  border-radius: 0;
  overflow: hidden;
}

/* ── 2. Pixel frame canvas ────────────────────────────────── */
.gm-pixel-terminal > canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

/* ── 3. Content overlay ───────────────────────────────────── */
.gm-pixel-terminal-content {
  position: relative;
  z-index: 1;
}

/* ── 4. Terminal overrides — strip glassmorphism ───────────── */
.gm-pixel-terminal .gm-terminal-animated {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.gm-pixel-terminal .gm-term-anim-hdr {
  background: transparent;
  border-bottom: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.gm-pixel-terminal .gm-term-anim-body {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.gm-pixel-terminal .gm-term-anim-body::after {
  display: none;
}

/* ── 5. Text colors — white output, themed prompt ─────────── */
.gm-pixel-terminal .gm-term-anim-line {
  color: rgba(255, 255, 255, 0.45);
}

.gm-pixel-terminal .gm-term-anim-line[data-type="command"] {
  color: rgba(255, 255, 255, 0.5);
}

.gm-pixel-terminal .gm-term-anim-line[data-type="success"] {
  color: rgba(255, 255, 255, 0.55);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.55);
  background: none;
  filter: none;
}

.gm-pixel-terminal .gm-term-anim-user {
  color: var(--gm-primary);
  opacity: 0.7;
}

.gm-pixel-terminal .gm-term-anim-path {
  color: var(--gm-cyan);
  opacity: 0.6;
}

.gm-pixel-terminal .gm-term-anim-sep,
.gm-pixel-terminal .gm-term-anim-dollar {
  color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}

.gm-pixel-terminal .gm-term-anim-typing {
  color: rgba(255, 255, 255, 0.5);
}

.gm-pixel-terminal .gm-term-anim-cursor {
  color: var(--gm-primary);
  opacity: 0.6;
}

/* ── 6. Header dots — pixel squares ───────────────────────── */
.gm-pixel-terminal .nx-dot {
  width: 4px;
  height: 4px;
  border-radius: 0;
  opacity: 0.5;
}

.gm-pixel-terminal .nx-dot-r {
  background: #ff5f57;
}

.gm-pixel-terminal .nx-dot-y {
  background: #febc2e;
}

.gm-pixel-terminal .nx-dot-g {
  background: #28c840;
}

/* ── 7. Title + LIVE indicator ────────────────────────────── */
.gm-pixel-terminal .gm-term-anim-title {
  font-size: 8px;
  opacity: 0.4;
}

.gm-pixel-terminal .gm-term-anim-live {
  font-size: 7px;
  opacity: 0.4;
}

.gm-pixel-terminal .gm-term-anim-live-dot {
  opacity: 0.4;
}

/* ── 8. Loading indicator ─────────────────────────────────── */
.gm-pixel-terminal .gm-term-anim-loading {
  opacity: 0.3;
}

/* ── 9. Prompt overall ────────────────────────────────────── */
.gm-pixel-terminal .gm-term-anim-prompt {
  opacity: 0.65;
}

/* ── 10. Font — mono at pixel scale ───────────────────────── */
.gm-pixel-terminal {
  font-family: var(--gm-font-mono);
  font-size: 10px;
}

.gm-pixel-terminal .gm-term-anim-hdr,
.gm-pixel-terminal .gm-term-anim-title,
.gm-pixel-terminal .gm-term-anim-live {
  font-family: var(--gm-font-mono);
}

.gm-pixel-terminal .gm-term-anim-hdr {
  font-size: 8px;
}
