* {
    font-family: sans-serif;
    box-sizing: border-box;  
}

body {
    padding: 20px;
}
div[contenteditable=true] {
    padding: 1em;
    border: 4px solid #eee;
    border-radius: 10px;
    background-color: #e7e7e7;
    outline: none;
}

input, textarea  {
    display: block;
    font-size: 14px;
    margin: 10px;
    width: 100%;
}

textarea  {
    min-height: 200px;
}

textarea#settings {
    font-family: 'Courier New', Courier, monospace;
    max-width: 600px;
    min-height: inherit;
    height: 220px;
}

div[data-dkce-error-type='glossary'] .dkce-class-iconPropose {
    pointer-events: none;
    filter: grayscale(1);
}

textarea#config {
    font-family: monospace;
    padding: 0;
    margin: 10px 0;
    color: #000;
    background: #fff1f1;
    border-radius: 5px;
    border-color: #fff;
    resize: vertical;
}

#collapsible {
  display: none;
}

.lbl-toggle {
  display: block;

  font-weight: bold;
  text-align: center;

  padding: 12px;

  color: #fff;
  background: #fa4250;

  cursor: pointer;

  border-radius: 7px;
  transition: all 0.25s ease-out;
}

.lbl-toggle:hover {
  color: #4a1111;
}

div.content-inner button {
    display: inline-block;
    font-weight: bold;
    text-align: center;
    padding: 12px;
    color: #fff;
    background: #fa4250;
    cursor: pointer;
    border-radius: 7px;
    border: 1px solid #f2e9e9;
}

div.content-inner button:hover {
    background: #ffa4ac;
    color: #000;
    transition: all 0.25s ease-out;
}

.lbl-toggle::before {
  content: ' ';
  display: inline-block;

  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid currentColor;

  vertical-align: middle;
  margin-right: .7rem;
  transform: translateY(-2px);

  transition: transform .2s ease-out;
}

.collapsible-content .content-inner {
  background: rgb(250 66 66 / 20%);
  border-bottom: 1px solid rgb(227 207 207 / 45%);

  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  padding: .5rem 1rem;
}

.collapsible-content {
  max-height: 0px;
  overflow: hidden;

  transition: max-height .25s ease-in-out;
}

.toggle:checked + .lbl-toggle + .collapsible-content {
  max-height: 100vh;
}

.toggle:checked + .lbl-toggle::before {
  transform: rotate(90deg) translateX(-3px);
}

.toggle:checked + .lbl-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

#error {
  display: none;
  color: #ff0;
  font-weight: bold;
  background: #f00;
  padding: 5px;
  border-radius: 6px;
  margin: 0 0 6px 0;
  animation: flashing 1s infinite;;
}

@keyframes flashing {
0%   { color: #ff0; background: #f00}
50%  { color: #ff0; background: #a00}
100% { color: #ff0; background: #f00}
}

span[data-footnote] {
  position: relative;
  top: -0.5em;
  font-size: 90%;
  border: dashed #333;
  border-width: 1px 1px 0 1px;
}