BODY {
  font: 16px/1.4 Trebuchet MS, Arial, sans-serif;
  color: #000;
}

A {
  color: steelblue;
}

H1 {
  font: 2em/1.4 Georgia, serif;
  text-align: center;
}

H4 {
  margin: 0;
  margin-bottom: 0.15em;
  font: 1.3em/1.4 Georgia, serif;
}

P {
  margin: 1.2rem 0;
}

TEXTAREA {
  width: 100%;
  height: 150px;
  margin: 0;
  border: 1px solid #CCC;
  border-radius: 10px;
  font-size: 13px;
  font-family: monospace;
}

CODE {
  padding: 0 3px;
  background: #EEE;
  border-radius: 5px;
  text-shadow: 1px 1px 0 white;
  font: 14px/1.4 monospace;
  color: #333;
}

CODE I {
  font-style: italic;
  color: black;
}

DL,
DD,
DT {
  margin: 0;
}

DL {
  text-align: right;
}

DT {
  border-bottom: 1px dashed;
  display: inline-block;
  line-height: 1;
  color: steelblue;
  cursor: pointer;
}

DT::after {
  content: "";
  display: inline-block;
  border: 0 solid transparent;
  border-width: 8px 4px 0;
  border-top-color: currentColor;
  border-bottom-color: currentColor;
  margin-left: 5px;
}

.opened::after {
  border-width: 0 4px 8px;
}

DD {
  text-align: left;
}

.hidden {
  display: none;
}

.visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.wrapper {
  width: 650px;
  margin: 1.5rem auto 4rem;
}

.header {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #CCC;
}

.header::before {
  content: "";
  display: table;
  width: 100%;
  clear: both;
}

.langs {
  position: absolute;
  top: 0;
  right: 0;
  margin: auto;
  display: flex;
  list-style-type: none;
}
.langs A:not([href]) {
  font-weight: bold;
  color: inherit;
}

.langs__item + .langs__item {
  margin-left: 0.5rem;
}

.footer {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #CCC;
}

.panel {
  position: relative;
  z-index: 1;
  margin-bottom: 2.5rem;
  display: flex;
  justify-content: space-between;
}

.options {
  position: relative;
}

.options__middle-word {
  vertical-align: middle;
  color: #AAA;
}

.options__text {
  display: inline-block;
  border-bottom: 1px dashed;
  color: steelblue;
  cursor: pointer;
}

.options__input:checked + .options__text {
  border: 0;
  color: inherit;
  cursor: default;
}

.expander {
  position: relative;
  z-index: 2;
}

.expanded {
  position: absolute;
  top: -15px;
  right: -15px;
  left: -15px;
  padding: 2rem 1.5rem 1rem;
  background: #FFF;
  border: 1px solid #CCC;
  border-radius: 5px;
  box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.1);
}

.button-example,
.copy-button {
  padding: 0;
  border: 0;
  border-bottom: 1px dashed;
  background: transparent;
  align-self: center;
  font: inherit;
  line-height: 1;
  font-size: 14px;
  color: steelblue;
  cursor: pointer;
}

.containers {
  margin-bottom: 32px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.container {
  position: relative;
  width: 48%;
  margin-bottom: 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
}

.demo-wrapper {
  width: 100%;
  border: 1px dashed rgba(0, 0, 0, 0.25);
}

.demo {
  height: 150px;
  background-repeat: no-repeat;
}

.contrast-buttons {
  display: flex;
  align-items: center;
  margin-bottom: 0.4em;
}

.contrast-button {
  display: block;
  width: 2em;
  height: 2em;
  margin-left: 5px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.25);
  outline: none;
  cursor: pointer;
}

.contrast-button--current {
  box-shadow: 0 0 0 3px steelblue;
}

.contrast-button:active {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.25);
}

.contrast-button--white {
  background: white;
}

.contrast-button--silver {
  background: silver;
}

.contrast-button--black {
  background: black;
}

.tip {
  margin-top: 0.5rem;
  font-size: 0.9em;
  color: #777;
}

.dropzone {
  background-color: rgba(77, 77, 82, 0.6);
  backdrop-filter: blur(0.75rem);
  background-image: url("data:image/svg+xml,%3Csvg height='80' width='80' xmlns='http://www.w3.org/2000/svg' fill='%23fff' class='bi bi-filetype-svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM0 14.84a1.13 1.13 0 0 0 .4.82c.13.11.29.2.48.26s.41.09.66.09c.34 0 .63-.06.86-.16.24-.1.42-.25.54-.44a1.17 1.17 0 0 0 .19-.66c0-.22-.05-.4-.14-.56a1 1 0 0 0-.37-.35 2.03 2.03 0 0 0-.57-.21l-.62-.15a.97.97 0 0 1-.4-.17.37.37 0 0 1-.15-.3.5.5 0 0 1 .19-.39.8.8 0 0 1 .51-.15c.14 0 .27.02.37.07a.63.63 0 0 1 .25.18.56.56 0 0 1 .12.26h.75a1.1 1.1 0 0 0-.2-.57 1.21 1.21 0 0 0-.5-.4 1.81 1.81 0 0 0-.78-.16c-.3 0-.55.05-.78.15-.22.1-.4.24-.53.42-.12.18-.19.4-.19.64a1 1 0 0 0 .47.9c.16.09.34.16.55.2l.62.15c.2.05.36.11.46.2a.39.39 0 0 1 .15.32.51.51 0 0 1-.08.29.56.56 0 0 1-.26.19 1 1 0 0 1-.41.07c-.12 0-.23-.01-.32-.04a.84.84 0 0 1-.25-.12.58.58 0 0 1-.26-.38H0Zm4.58 1.1h.95l1.32-4h-.87l-.9 3.13h-.03l-.9-3.14h-.91l1.33 4Zm5.48-3.3c.07.15.12.31.14.49h-.78a.8.8 0 0 0-.1-.25.69.69 0 0 0-.16-.19.7.7 0 0 0-.24-.13.96.96 0 0 0-.3-.04.8.8 0 0 0-.66.3c-.16.2-.24.49-.24.85v.5c0 .23.03.44.1.62a.88.88 0 0 0 .3.4.87.87 0 0 0 .52.15.96.96 0 0 0 .46-.1.67.67 0 0 0 .27-.26.74.74 0 0 0 .09-.36v-.25h-.82v-.6h1.57v.8c0 .2-.03.38-.1.55a1.29 1.29 0 0 1-.29.46 1.37 1.37 0 0 1-.5.32c-.19.07-.42.1-.69.1a1.98 1.98 0 0 1-.75-.12 1.45 1.45 0 0 1-.53-.38 1.58 1.58 0 0 1-.32-.58 2.48 2.48 0 0 1-.1-.75v-.5c0-.36.06-.68.19-.95.13-.27.33-.48.58-.64.26-.15.57-.22.93-.22.24 0 .45.03.63.1a1.3 1.3 0 0 1 .8.68Z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100000;
  display: block;
  transform: scale(1.4);
  transition: transform 0.1s, opacity 0.1s;
  pointer-events: none;
  opacity: 0;
}
.dropzone--active {
  transform: scale(1);
  pointer-events: all;
  opacity: 1;
}