* {
  margin: 0;
  padding: 0;
}
html {
  font-size: 110%;
  color-scheme: light dark;
}
body {
  font-family: sans-serif;
}
main {
  padding: 0.5rem 1rem;
  margin: 0 auto;
  max-width: 40em;
}
.demo {
  margin: calc(var(--spacing-unit) * 6) auto 0;
  font-size: 1.1em;
  max-width: 30em;
  text-align: left;
}
.demo > code {
  display: block;
  font-size: 1em;
  white-space: pre-wrap;
  word-break: break-all;
  padding: 0 0.5ch;
}
form {
  font-family: sans-serif;
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 1.5em;
  margin: calc(var(--spacing-unit) * 6) 0 0;
  font-size: var(--size-l-1);
}

label {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

/* Beat the specificity! Beat it! */
form > label > code:not([class]) {
  display: block;
  line-height: 1;
  margin-left: 1ch;
  padding: 0;
  background: none;
}

:has([name="overflow"]:checked) ~ pre .line-content {
  overflow: hidden;
}

:has([name="top"]:checked) ~ pre .line-content::after {
  top: -1lh;
}

:has([name="size"]:checked) ~ pre .line-content::after {
  --arrow-size: 100% var(--line-height);
}

main > p {
  margin: calc(var(--spacing-unit) * 6) 0;
}
