* {
  box-sizing: border-box;
  margin: 0;
  font-family: "Roboto", sans-serif;
}

pre > code,
pre > code span {
  font-family: "Roboto Mono", monospace;
  font-size: 0.8rem;
}

h1 {
  font-size: 2em;
}


/* Body */

/* The shell's body box is owned entirely by uv_site.css: the background (theme
 * Primary via --layers-theme-primary) AND the flex column layout. This sheet
 * loads after the shell sheet, so any competing bare-body declaration here
 * wins purely on source order — a literal background painted the shell a flat
 * gray, and an unconditional flex-direction: column overrode the :Narrow
 * band's column-reverse rule (the titlebar-to-bottom move below 600px). */

body.scroll_disabled {
  overflow: hidden;
}

/* Page */

.page {
  display: flex;
  justify-content: center;
}

.page_heading {
  font-size: 2rem;
  font-weight: bold;
}

.page_link:link {
  text-decoration: none;
}

.page_link:hover {
  text-decoration: underline;
}

/* Sections */

.sections {
  display: flex;
  flex-direction: column;
  overflow: auto;
  max-width: 960px;
  width: 100%;
  margin: auto 0;
}

section {
  display: flex;
  justify-content: center;
  align-items: center;
}

.section_content {
  display: flex;
  justify-content: center;
  margin: 11px 10px 30px 10px;
  overflow: auto;
  width: 100%;
  gap: 5px;
}

.section_content.vertical > *:not(:last-child) {
  margin-bottom: 15px;
}

.section_content > *:last-child {
  margin-bottom: 0;
}

.section_content pre {
  min-width: 490px;
}

.section_heading {
  font-size: 1.5rem;
  font-weight: bold;
}

.section_h1 {
  font-size: 1.17rem;
  font-weight: bold;
  margin-top: 20px;
}

/* - */

.noselect {
  user-select: none;
  -webkit-user-select: none;
}

.button {
  display: flex;
  border-radius: 3px;
  background: #312f38;
  color: #f0f0f0;
  font-weight: bold;
  padding: 10px 13px;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-decoration: none;
}

.button_content {
  display: flex;
  justify-content: center;
  align-items: center;
}

.button_logo {
  margin-right: 6px;
}

input {
  color: var(--layers-theme-foreground, #e3e3e3);
}

a {
  color: var(--layers-theme-foreground, #e3e3e3);
}

a:hover {
  text-decoration-color: currentColor;
}

.vertical {
  display: flex;
  flex-direction: column;
}

.section_content.vertical {
  align-items: stretch;
}

.scrollable {
  overflow: scroll;
}

.no-overflow {
  overflow: hidden;
}

.disclaimer {
  display: flex;
  flex-direction: column;
  text-align: center;
  font-size: 0.8rem;
}

.disabled {
  opacity: 0.3;
  cursor: not-allowed;
}