.fault-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
.fault-flow > div,
.irr-word {
  border: 1px solid var(--line);
  border-radius: 0.6rem;
  padding: 1rem;
  background: var(--bg);
}
.fault-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1rem 0;
}
.fault-copy {
  padding: 0 1.2rem 1rem;
}
.fault-copy li {
  margin: 0.8rem 0;
}
.irr-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
}
.irr-word[data-pending="true"] {
  border: 2px solid var(--accent);
}
.irr-word span {
  display: block;
  font-family: monospace;
}
#guest-page {
  max-height: 28rem;
  overflow: auto;
  white-space: pre;
  overflow-wrap: normal;
}
#buffer-slots pre {
  margin: 0;
  padding: 0;
  max-width: 75ch;
}
#fault-result,
#fault-history {
  max-height: 30rem;
  overflow: auto;
}
.edge-page select {
  max-width: 100%;
  padding: 0.65rem;
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
  font: inherit;
}
.edge-page button:disabled {
  opacity: 0.5;
  cursor: default;
}
.edge-page form {
  margin: 1rem 0;
}
.edge-page form > button {
  margin: 0.5rem;
}
#page-root {
  display: block;
  margin: 0.6rem 0;
}
@media (max-width: 750px) {
  .fault-flow {
    grid-template-columns: 1fr;
  }
  .irr-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 380px) {
  .irr-grid {
    grid-template-columns: 1fr;
  }
}

.edge-page section {
  scroll-margin-top: 7rem;
}
