@charset "UTF-8";
/* Common imports for all CSS modules */
/*
 * This source is generated by bin/gen/licon.py. Run licon.py after changing public/font/lichess.sfd
 *
 * Constant names and values are pulled from private use characters defined in the sfd file.
 *
 * Character names can be edited in fontforge's "glyph info" dialog, or by editing the StartChar: line that
 * begins each character chunk in lichess.sfd
 *
 * To make these characters visible in your editor, install the lichess.ttf font (which is also generated by
 * licon.py) and then add it to your editor's font list.
 */
/* Uniboard: keep the same page layout across pages */
/* text printed directly on the page background deserves special treatment (transp theme) */
.tagify__tag > div > * {
  overflow: hidden;
  text-overflow: ellipsis;
}

.tagify {
  border-radius: 7px;
}

/* helps with clipping background into border-radius */
.tagify__dropdown__wrapper {
  border-radius: 0 0 7px 7px;
}

:root {
  --tagify-dd-color-primary: var(--c-primary);
  --tagify-dd-bg-color: var(--c-bg-box);
}

.tagify {
  background: var(--c-bg-input);
  --tags-border-color: var(--c-border);
  --tags-hover-border-color: var(--m-dimmer_clearer--mix-63);
  --tags-focus-border-color: var(--c-primary);
  --tag-bg: var(--c-bg-zebra2);
  --tag-hover: var(--m-primary_bg-zebra2--mix-20);
  --tag-text-color: var(--c-font-clearer);
  --tag-text-color--edit: var(--c-font-clearer);
  --tag-pad: 0.3em 0.5em;
  --tag-inset-shadow-size: 1.5em;
  --tag-invalid-color: var(--m-bad_bg-zebra2--mix-60);
  --tag-invalid-bg: var(--m-bad_bg-zebra2--mix-20);
  --tag-remove-bg: var(--m-bad_bg-zebra2--mix-30);
  --tag-remove-btn-color: var(--c-font-clearer);
  --tag-remove-btn-bg: none;
  --tag-remove-btn-bg--hover: var(--c-bad);
  --input-color: inherit;
  --tag--min-width: 1ch;
  --tag--max-width: auto;
  --tag-hide-transition: 0.3s;
  --placeholder-color: var(--m-font--fade-50);
  --placeholder-color-focus: var(--m-font--fade-70);
  --loader-size: 0.8em;
}
@keyframes tags-bump {
  30% {
    transform: scale(1.2);
  }
}
@keyframes rotate-loader {
  to {
    transform: rotate(1turn);
  }
}
.tagify {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  border: 1px solid var(--c-border);
  border: 1px solid var(--tags-border-color);
  padding: 0;
  margin: 1em 0;
  line-height: normal;
  cursor: text;
  outline: none;
  position: relative;
  box-sizing: border-box;
  transition: 0.1s;
  text-align: left;
  height: auto;
}
.tagify:hover {
  border-color: var(--m-dimmer_clearer--mix-63);
  border-color: var(--tags-hover-border-color);
}
.tagify.tagify--focus {
  transition: 0s;
  border-color: var(--c-primary);
  border-color: var(--tags-focus-border-color);
}
.tagify[readonly]:not(.tagify--mix) {
  cursor: default;
}
.tagify[readonly]:not(.tagify--mix) > .tagify__input {
  visibility: hidden;
  width: 0;
  margin: 5px 0;
}
.tagify[readonly]:not(.tagify--mix) .tagify__tag__removeBtn {
  display: none;
}
.tagify[readonly]:not(.tagify--mix) .tagify__tag > div {
  padding: 0.3em 0.5em;
  padding: var(--tag-pad);
}
.tagify[readonly]:not(.tagify--mix) .tagify__tag > div::before {
  background: linear-gradient(45deg, var(--tag-bg) 25%, transparent 25%, transparent 50%, var(--tag-bg) 50%, var(--tag-bg) 75%, transparent 75%, transparent) 0/5px 5px;
  box-shadow: none;
  filter: brightness(0.95);
}
.tagify--loading .tagify__input > br:last-child {
  display: none;
}
.tagify--loading .tagify__input::before {
  content: none;
}
.tagify--loading .tagify__input::after {
  content: "";
  vertical-align: middle;
  margin: -2px 0 -2px 0.5em;
  opacity: 1;
  width: var(--loader-size);
  height: var(--loader-size);
  border: 3px solid;
  border-color: #eee #bbb #888 transparent;
  border-radius: 50%;
  animation: rotate-loader 0.4s infinite linear;
  content: "" !important;
  margin: -2px 0 -2px 0.5em;
}
html:not([dir=rtl]) .tagify--loading .tagify__input:empty::after {
  left: 0;
}
html[dir=rtl] .tagify--loading .tagify__input:empty::after {
  right: 0;
}
.tagify + input,
.tagify + textarea {
  position: absolute !important;
  left: -9999em !important;
  transform: scale(0) !important;
}
.tagify__tag {
  display: inline-flex;
  align-items: center;
  margin-inline-start: 5px;
  margin-inline-end: 0;
  margin-top: 5px;
  margin-bottom: 5px;
  position: relative;
  z-index: 1;
  outline: none;
  cursor: default;
  transition: 0.13s ease-out;
}
.tagify__tag.sortable-ghost {
  opacity: 0.6;
  outline: 1px solid var(--c-primary);
}
.tagify__tag > div {
  vertical-align: top;
  box-sizing: border-box;
  max-width: 100%;
  padding: 0.3em 0.5em;
  padding: var(--tag-pad, 0.3em 0.5em);
  color: var(--c-font-clearer);
  color: var(--tag-text-color, var(--c-font-clearer));
  line-height: inherit;
  border-radius: 3px;
  white-space: nowrap;
  transition: 0.13s ease-out;
}
.tagify__tag > div > * {
  white-space: pre-wrap;
  display: inline-block;
  vertical-align: top;
  min-width: var(--tag--min-width, 1ch);
  max-width: var(--tag--max-width, auto);
  transition: 0.8s ease, 0.1s color;
  unicode-bidi: plaintext;
}
.tagify__tag > div > *[contenteditable] {
  outline: none;
  user-select: text;
  cursor: text;
  margin: -2px;
  padding: 2px;
  max-width: 350px;
}
.tagify__tag > div::before {
  content: "";
  position: absolute;
  border-radius: inherit;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  transition: 120ms ease;
  animation: tags-bump 0.3s ease-out 1;
  box-shadow: 0 0 0 var(--tag-inset-shadow-size, 1.5em) var(--tag-bg, var(--c-bg-zebra2)) inset;
}
.tagify__tag:hover:not([readonly]) div::before {
  inset: -2px;
  box-shadow: 0 0 0 1.5em var(--m-primary_bg-zebra2--mix-20) inset;
  box-shadow: 0 0 0 var(--tag-inset-shadow-size, 1.5em) var(--tag-hover, var(--m-primary_bg-zebra2--mix-20)) inset;
}
.tagify__tag--loading {
  pointer-events: none;
}
.tagify__tag--loading .tagify__tag__removeBtn {
  display: none;
}
.tagify__tag--loading::after {
  --loader-size: 0.4em;
  content: "";
  vertical-align: middle;
  margin: -2px 0 -2px 0.5em;
  opacity: 1;
  width: var(--loader-size);
  height: var(--loader-size);
  border: 3px solid;
  border-color: #eee #bbb #888 transparent;
  border-radius: 50%;
  animation: rotate-loader 0.4s infinite linear;
  margin: 0 0.5em 0 -0.1em;
}
.tagify__tag--flash div::before {
  animation: none;
}
.tagify__tag--hide {
  width: 0 !important;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
  opacity: 0;
  transform: scale(0);
  transition: 0.3s;
  transition: var(--tag-hide-transition, 0.3s);
  pointer-events: none;
}
.tagify__tag--hide > div > * {
  white-space: nowrap;
}
.tagify__tag.tagify--noAnim > div::before {
  animation: none;
}
.tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div > span {
  opacity: 0.5;
}
.tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div::before {
  box-shadow: 0 0 0 1.5em var(--m-bad_bg-zebra2--mix-20) inset !important;
  box-shadow: 0 0 0 var(--tag-inset-shadow-size, 1.5em) var(--tag-invalid-bg, var(--m-bad_bg-zebra2--mix-20)) inset !important;
  transition: 0.2s;
}
.tagify__tag[readonly] .tagify__tag__removeBtn {
  display: none;
}
.tagify__tag[readonly] > div::before {
  background: linear-gradient(45deg, var(--tag-bg) 25%, transparent 25%, transparent 50%, var(--tag-bg) 50%, var(--tag-bg) 75%, transparent 75%, transparent) 0/5px 5px;
  box-shadow: none;
  filter: brightness(0.95);
}
.tagify__tag--editable > div {
  color: var(--c-font-clearer);
  color: var(--tag-text-color--edit, var(--c-font-clearer));
}
.tagify__tag--editable > div::before {
  box-shadow: 0 0 0 2px var(--m-primary_bg-zebra2--mix-20) inset !important;
  box-shadow: 0 0 0 2px var(--tag-hover, var(--m-primary_bg-zebra2--mix-20)) inset !important;
}
.tagify__tag--editable > .tagify__tag__removeBtn {
  pointer-events: none;
}
.tagify__tag--editable > .tagify__tag__removeBtn::after {
  opacity: 0;
  transform: translateX(100%) translateX(5px);
}
.tagify__tag--editable.tagify--invalid > div::before {
  box-shadow: 0 0 0 2px var(--m-bad_bg-zebra2--mix-60) inset !important;
  box-shadow: 0 0 0 2px var(--tag-invalid-color, var(--m-bad_bg-zebra2--mix-60)) inset !important;
}
.tagify__tag__removeBtn {
  order: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  cursor: pointer;
  font: 14px Serif;
  background: none;
  background: var(--tag-remove-btn-bg, none);
  color: var(--c-font-clearer);
  color: var(--tag-remove-btn-color, var(--c-font-clearer));
  width: 14px;
  height: 14px;
  margin-inline-end: 4.6666666667px;
  margin-inline-start: auto;
  overflow: hidden;
  transition: 0.2s ease-out;
}
.tagify__tag__removeBtn::after {
  content: "×";
}
.tagify__tag__removeBtn:hover {
  color: white;
  background: var(--c-bad);
  background: var(--tag-remove-btn-bg--hover, var(--c-bad));
}
.tagify__tag__removeBtn:hover + div > span {
  opacity: 0.5;
}
.tagify__tag__removeBtn:hover + div::before {
  box-shadow: 0 0 0 1.5em rgba(var(--m-bad_bg-zebra2--mix-60), 0.3) inset !important;
  box-shadow: 0 0 0 var(--tag-inset-shadow-size, 1.5em) var(--tag-remove-bg, rgba(var(--m-bad_bg-zebra2--mix-60), 0.3)) inset !important;
  transition: 0.2s;
}
.tagify:not(.tagify--mix) .tagify__input br {
  display: none;
}
.tagify:not(.tagify--mix) .tagify__input * {
  display: inline;
  white-space: nowrap;
}
.tagify__input {
  flex-grow: 1;
  display: inline-block;
  min-width: 110px;
  margin: 5px;
  padding: 0.3em 0.5em;
  padding: var(--tag-pad, 0.3em 0.5em);
  line-height: inherit;
  position: relative;
  white-space: pre-wrap;
  color: inherit;
  color: var(--input-color, inherit);
  box-sizing: inherit;
}
@supports (-moz-appearance: none) {
  .tagify__input:empty {
    display: flex;
  }
}
.tagify__input:empty::before {
  transition: 0.2s ease-out;
  opacity: 0.5;
  transform: none;
  display: inline-block;
  width: auto;
}
.tagify--mix .tagify__input:empty::before {
  display: inline-block;
}
.tagify__input:focus {
  outline: none;
}
.tagify__input:focus::before {
  transition: 0.2s ease-out;
  opacity: 0;
  transform: translateX(6px);
  /* ALL MS BROWSERS: hide placeholder (on focus) otherwise the caret is places after it, which is weird */
  /* IE10+ CSS styles go here */
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .tagify__input:focus::before {
    display: none;
  }
}
.tagify__input:focus::before {
  /* IE Edge 12+ CSS styles go here */
}
@supports (-ms-ime-align: auto) {
  .tagify__input:focus::before {
    display: none;
  }
}
.tagify__input:focus:empty::before {
  transition: 0.2s ease-out;
  opacity: 0.5;
  transform: none;
}
@supports (-moz-appearance: none) {
  .tagify__input:focus:empty::before {
    content: unset;
    display: inline-block;
  }
}
.tagify__input:focus:empty::before {
  color: var(--m-font--fade-70);
  color: var(--placeholder-color-focus);
}
@supports (-moz-appearance: none) {
  .tagify__input:focus:empty::after {
    display: none;
  }
}
.tagify__input::before {
  content: attr(data-placeholder);
  height: 1em;
  line-height: 1em;
  margin: auto 0;
  z-index: 1;
  color: var(--m-font--fade-50);
  color: var(--placeholder-color);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  position: absolute;
}
.tagify--mix .tagify__input::before {
  display: none;
  position: static;
  line-height: inherit;
}
@supports (-moz-appearance: none) {
  .tagify__input::before {
    line-height: inherit;
    position: relative;
  }
}
.tagify__input::after {
  content: attr(data-suggest);
  display: inline-block;
  /* allows spaces at the beginning */
  white-space: pre;
  color: var(--c-font-clearer);
  opacity: 0.3;
  pointer-events: none;
  max-width: 100px;
}
.tagify__input {
  /*
      in "mix mode" the tags are inside the input element
  */
}
.tagify__input .tagify__tag {
  margin: 0;
}
.tagify__input .tagify__tag > div {
  padding-top: 0;
  padding-bottom: 0;
}
.tagify--mix {
  display: block;
}
.tagify--mix .tagify__input {
  padding: 5px;
  margin: 0;
  width: 100%;
  height: 100%;
  line-height: 1.5;
  display: block;
}
.tagify--mix .tagify__input::before {
  height: auto;
}
.tagify--mix .tagify__input::after {
  content: none;
}
.tagify--select::after {
  content: ">";
  opacity: 0.5;
  position: absolute;
  top: 50%;
}
html:not([dir=rtl]) .tagify--select::after {
  right: 0;
}
html[dir=rtl] .tagify--select::after {
  left: 0;
}
.tagify--select::after {
  bottom: 0;
  font: 16px monospace;
  line-height: 8px;
  height: 8px;
  pointer-events: none;
  transform: translate(-150%, -50%) scaleX(1.2) rotate(90deg);
  transition: 0.2s ease-in-out;
}
.tagify--select[aria-expanded=true]::after {
  transform: translate(-150%, -50%) rotate(270deg) scaleY(1.2);
}
.tagify--select .tagify__tag {
  position: absolute;
  top: 0;
}
html:not([dir=rtl]) .tagify--select .tagify__tag {
  right: 1.8em;
}
html[dir=rtl] .tagify--select .tagify__tag {
  left: 1.8em;
}
.tagify--select .tagify__tag {
  bottom: 0;
}
.tagify--select .tagify__tag div {
  display: none;
}
.tagify--select .tagify__input {
  width: 100%;
}
.tagify--invalid {
  --tags-border-color: var(--m-bad_bg-zebra2--mix-60);
}
.tagify__dropdown {
  position: absolute;
  z-index: 9999;
  transform: translateY(1px);
  overflow: hidden;
}
.tagify__dropdown[placement=top] {
  margin-top: 0;
  transform: translateY(-100%);
}
.tagify__dropdown[placement=top] .tagify__dropdown__wrapper {
  border-top-width: 1px;
  border-bottom-width: 0;
}
.tagify__dropdown[position=text] {
  box-shadow: 0 0 0 3px rgba(var(--tagify-dd-color-primary), 0.1);
  font-size: 0.9em;
}
.tagify__dropdown[position=text] .tagify__dropdown__wrapper {
  border-width: 1px;
}
.tagify__dropdown__wrapper {
  max-height: 300px;
  overflow: hidden;
  background: var(--c-bg-popup);
  border: 1px solid var(--c-primary);
  border-width: 1.1px;
  border-top-width: 0;
  box-shadow: 0 2px 4px -2px rgba(0, 0, 0, 0.2);
  transition: 0.25s cubic-bezier(0, 1, 0.5, 1);
}
.tagify__dropdown__wrapper:hover {
  overflow: auto;
}
.tagify__dropdown--initial .tagify__dropdown__wrapper {
  max-height: 20px;
  transform: translateY(-1em);
}
.tagify__dropdown--initial[placement=top] .tagify__dropdown__wrapper {
  transform: translateY(2em);
}
.tagify__dropdown__item {
  box-sizing: inherit;
  padding: 0.3em 0.5em;
  margin: 1px;
  cursor: pointer;
  border-radius: 2px;
  position: relative;
  outline: none;
}
.tagify__dropdown__item--active {
  background: var(--c-primary);
  color: white;
}
.tagify__dropdown__item:active {
  filter: brightness(105%);
}

/*# sourceMappingURL=bits.tagify.css.map */
