/* Forge terminal — Cursor-like · scan first · BL green · NEED gold */
:root {
  --term-bg: #1e1e1e;
  --term-panel: #252526;
  --term-border: #3c3c3c;
  --term-text: #cccccc;
  --term-bl: #4ec9b0;
  --term-need: #dcdcaa;
  --term-pass: #4ec9b0;
  --term-fail: #f48771;
  --term-key: #9cdcfe;
  --term-dim: #858585;
  --term-user: #ce9178;
  --term-accent: #569cd6;
  --term-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;
}

html, body {
  height: 100%;
  margin: 0;
  background: var(--term-bg) !important;
  color: var(--term-text) !important;
  font-family: var(--term-mono);
}

body.forge-terminal {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 0 !important;
  background: var(--term-bg) !important;
}

.forge-terminal .wrap {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 100vh;
  max-width: none !important;
  width: 100%;
  margin: 0;
}

.forge-terminal header.brain-hd,
.forge-terminal header {
  flex: 0 0 auto;
  padding: 0.5rem 0.85rem !important;
  border-bottom: 1px solid var(--term-border) !important;
  background: var(--term-panel) !important;
}

.forge-terminal header h1,
.forge-terminal header .sub { display: none !important; }

.forge-terminal header .tag,
.forge-terminal .term-top {
  font-size: 0.72rem;
  color: var(--term-dim);
  margin: 0;
  letter-spacing: 0.04em;
}

.forge-terminal .term-top b { color: var(--term-bl); font-weight: 600; }

.forge-terminal .pill,
.forge-terminal .lane {
  font-size: 0.65rem !important;
  padding: 0.15rem 0.45rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--term-border) !important;
  background: #2d2d2d !important;
  color: var(--term-bl) !important;
}

.forge-terminal main.brain-main,
.forge-terminal main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0 !important;
  max-width: 52rem !important;
  width: 100%;
  margin: 0 auto;
  padding: 0.5rem 0.75rem 0 !important;
}

.forge-terminal #timeline {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0.25rem 0;
}

.forge-terminal #timeline:empty::before {
  content: "BL · green   NEED · gold   type check";
  color: var(--term-dim);
  font-size: 0.75rem;
  padding: 0.75rem 0.25rem;
}

.scan-card {
  background: var(--term-panel);
  border: 1px solid var(--term-border);
  border-left: 3px solid var(--term-border);
  border-radius: 6px;
  padding: 0.65rem 0.8rem;
  margin-bottom: 0.5rem;
  font-family: var(--term-mono);
  font-size: 0.82rem;
  line-height: 1.55;
}
.scan-card.user { border-left-color: var(--term-user); }
.scan-card.ok { border-left-color: var(--term-pass); }
.scan-card.fail { border-left-color: var(--term-fail); }
.scan-card.working { border-left-color: var(--term-need); }

.scan-meta {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--term-dim);
  margin-bottom: 0.35rem;
  font-family: system-ui, sans-serif;
}
.scan-card.user .scan-meta { color: var(--term-user); }
.scan-card.ok .scan-meta { color: var(--term-pass); }
.scan-card.fail .scan-meta { color: var(--term-fail); }

.scan-bl {
  color: var(--term-bl);
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 0.3rem;
  display: block;
}
.scan-bl::before {
  content: "BL · ";
  color: var(--term-dim);
  font-weight: 500;
  font-size: 0.68rem;
}

.scan-need {
  color: var(--term-need);
  font-weight: 600;
  margin-bottom: 0.25rem;
  display: block;
  font-size: 0.84rem;
}
.scan-need::before {
  content: "NEED · ";
  color: var(--term-dim);
  font-weight: 500;
  font-size: 0.68rem;
}

.scan-ask {
  display: block;
  color: #7ec8e3;
  font-weight: 700;
  font-size: 0.92rem;
  margin: 0.15rem 0 0.35rem;
}

.scan-tag { margin-bottom: 0.2rem; color: var(--term-dim); font-size: 0.76rem; }
.scan-key { color: var(--term-key); font-weight: 600; }
.scan-pass { color: var(--term-pass); font-weight: 600; }
.scan-fail { color: var(--term-fail); font-weight: 600; }
.scan-dim { color: var(--term-dim); font-size: 0.74rem; margin-bottom: 0.15rem; }
.scan-hdr { color: var(--term-need); font-weight: 700; display: block; margin: 0.3rem 0 0.15rem; }

.forge-terminal .composer-bar {
  flex: 0 0 auto;
  border-top: 1px solid var(--term-border) !important;
  background: var(--term-panel) !important;
  padding: 0.6rem 0.75rem max(0.6rem, env(safe-area-inset-bottom)) !important;
  max-width: 52rem;
  width: 100%;
  margin: 0 auto;
  box-shadow: none !important;
}

.forge-terminal textarea,
.forge-terminal .composer-bar textarea {
  background: var(--term-bg) !important;
  border: 1px solid var(--term-border) !important;
  color: var(--term-text) !important;
  font-family: var(--term-mono) !important;
  font-size: 0.82rem !important;
  border-radius: 6px !important;
  min-height: 3.2rem !important;
}

.forge-terminal .chip {
  font-size: 0.62rem !important;
  padding: 0.2rem 0.45rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--term-border) !important;
  background: #2d2d2d !important;
  color: var(--term-text) !important;
}
.forge-terminal .chip:hover { border-color: var(--term-accent) !important; color: var(--term-accent) !important; }

.forge-terminal button.send,
.forge-terminal button.run {
  background: var(--term-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.forge-terminal .mic {
  border: 1px solid var(--term-border) !important;
  background: #2d2d2d !important;
  color: var(--term-dim) !important;
  border-radius: 6px !important;
}

.forge-terminal #status,
.forge-terminal .progress-meta {
  color: var(--term-dim) !important;
  font-size: 0.68rem !important;
  font-family: var(--term-mono) !important;
}

.forge-terminal .meta-foot { display: none; }
.forge-terminal .meta-foot.show-foot {
  display: block;
  max-width: 52rem;
  margin: 0 auto;
  padding: 0.5rem 0.75rem 1rem;
  font-size: 0.68rem;
  color: var(--term-dim);
  border-top: 1px solid var(--term-border);
}

.forge-terminal .nav a { color: var(--term-accent) !important; }

.forge-terminal .progress-track {
  background: #2d2d2d !important;
  border-color: var(--term-border) !important;
}
.forge-terminal .progress-fill {
  background: linear-gradient(90deg, var(--term-accent), var(--term-bl)) !important;
}
