form.demo {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
form.demo.disabled {
  opacity: 0.5;
  pointer-events: none;
}
form.demo label {
  margin-bottom: 0.2em;
}
form.demo input,
form.demo output,
form.demo button {
  width: 100%;
  box-sizing: border-box;
}
form.demo output {
  width: 100%;
  min-height: 3em;
  max-height: 20em;
  padding: 1ex;
  background-color: aliceblue;
  overflow: auto;
  display: block;
  border: 1px solid;
  white-space: pre-wrap;
  resize: vertical;
}
form.demo .help {
  opacity: 0.8;
  font-size: 80%;
  min-height: 0.8em;
  margin-bottom: 0;
}
form.demo span.element {
  color: #009999;
}
form.demo span.element:not(:last-child)::after {
  content: ", ";
}

input:focus.invalid,
input.invalid {
  border-color: red !important;
}

datalist {
  display: block;
}
datalist::before {
  content: "examples: ";
}
datalist option {
  color: #009999;
  display: inline-block;
}
datalist option::before {
  content: attr(value);
}
datalist option:not(:empty)::before {
  content: attr(value) ": ";
}
datalist option:not(:last-child)::after {
  color: black;
  content: ", ";
}

div:is(.sect1, .sect2).tips-aside form {
  display: block;
}
div:is(.sect1, .sect2).tips-aside .admonitionblock.tip {
  float: right;
  width: 50%;
  padding-left: 2ex;
  overflow-y: auto;
}
div:is(.sect1, .sect2).tips-aside .admonitionblock.tip table {
  border-collapse: collapse;
  width: 100%;
  background: none;
  box-shadow: none;
  border: none;
}
div:is(.sect1, .sect2).tips-aside .admonitionblock.tip table td,
div:is(.sect1, .sect2).tips-aside .admonitionblock.tip table th {
  border: none;
  padding: 0.5em 0;
}
div:is(.sect1, .sect2).tips-aside .admonitionblock.tip table td.icon {
  display: none;
}
div:is(.sect1, .sect2).tips-aside dl {
  position: relative;
}
div:is(.sect1, .sect2).tips-aside dl dd {
  display: none;
}
div:is(.sect1, .sect2).tips-aside dl dt {
  display: inline-block;
  margin: 0.1em;
  padding: 0.3em 0.6em;
  background: #f0f0f0;
  border: 2px solid #bbb;
  border-radius: 0.4em;
  font-size: 1.2em;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  transition: background 0.1s, box-shadow 0.1s;
}

div:is(.sect1, .sect2):has(> #demo_solver) .admonitionblock.tip {
  max-height: 500px;
}

div.sect1:has(> #demo_calculator) .admonitionblock.tip table th {
  border: none;
  padding: 0.5em 0;
}

#demo_section .sect1 {
  clear: both;
}

/*# sourceMappingURL=demo.css.map */
