.ns-code-build {
  display: grid;
  gap: 14px;
  margin: 12px 0;
  padding: 16px;
  border: 1px solid var(--line2);
  border-left: 3px solid var(--amber);
  background: #08100b;
}

.ns-code-build > header,
.ns-code-build > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ns-code-build > header div {
  display: grid;
  gap: 4px;
}

.ns-code-build > header small,
.ns-code-build > header b,
.ns-code-build > p {
  color: var(--muted);
  font: 9px/1.6 var(--mono);
}

.ns-code-build > header strong {
  font: 600 15px var(--display);
}

.ns-code-build > header small,
.ns-code-build.is-ready > header b {
  color: var(--green);
}

.ns-code-build > ol {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ns-code-build > ol li {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font: 8px var(--mono);
  text-transform: uppercase;
}

.ns-code-build > ol i {
  height: 3px;
  background: var(--line2);
}

.ns-code-build > ol .is-done i { background: var(--green); }
.ns-code-build > ol .is-current { color: var(--text); }
.ns-code-build > ol .is-current i { background: var(--amber); box-shadow: 0 0 9px rgba(255,184,0,.5); }
.ns-code-build.is-failed { border-left-color: #ff655d; }

.ns-code-build > footer a,
.ns-code-build > footer button {
  flex: 1;
  border: 1px solid var(--amber);
  background: var(--amber);
  color: #080906;
  padding: 10px 12px;
  font: 700 9px var(--mono);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

@media (max-width: 560px) {
  .ns-code-build > ol { grid-template-columns: 1fr; }
  .ns-code-build > footer { align-items: stretch; flex-direction: column; }
}
