/* =========================================================
   bfstore Application index page
   Requires: bfstore-article.css and bfstore-components.css
   ========================================================= */

.bfstore-application {
  padding-bottom: 2rem;
}

.bfstore-application > aside {
  margin-top: var(--bfstore-article-block-gap);
  margin-bottom: var(--bfstore-article-block-gap);
}

.bfstore-application__gateway-grid,
.bfstore-application__principles {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bfstore-application__principles {
  --bfstore-principle-accent: var(--circuit-green);
}

.bfstore-application__principles li:nth-child(2n) {
  --bfstore-principle-accent: var(--cloud-blue);
}

.bfstore-application .requirements-table {
  min-width: 44rem;
}

/* Text diagrams retain their visual layout while remaining selectable and readable. */
.bfstore-application__sequence {
  margin: 1.5rem 0 2rem;
}

.bfstore-application__sequence pre {
  margin: 0;
  padding: 1rem 1.15rem;
  overflow-x: auto;
  color: var(--paper);
  background: rgba(16, 16, 24, 0.72);
  border: 1px solid var(--line);
  border-radius: 0.9rem;
  font-family: var(--font-mono);
  font-size: 0.9rem;
  line-height: 1.7;
  scrollbar-gutter: stable;
  white-space: pre;
}

.bfstore-application__sequence pre:focus-visible {
  outline: 3px solid var(--cloud-blue);
  outline-offset: 3px;
}

.bfstore-application__sequence figcaption {
  margin-top: 0.75rem;
  color: var(--muted, #aeb7c8);
  font-size: 0.9rem;
  line-height: 1.55;
}
