.OwO {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  user-select: none
}

.OwO .OwO-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid var(--border-color);
  border-radius: .65rem;
  background: var(--card-color);
  color: var(--text2-color);
  cursor: pointer;
  transition: transform .22s cubic-bezier(.2, .9, .2, 1), box-shadow .22s cubic-bezier(.2, .9, .2, 1), border-color .22s cubic-bezier(.2, .9, .2, 1), background-color .22s cubic-bezier(.2, .9, .2, 1)
}

.OwO .OwO-logo:active {
  transform: scale(.96)
}

.OwO.OwO-open .OwO-logo {
  border-color: color-mix(in srgb, var(--themecolor) 55%, var(--border-color))
}

.OwO .OwO-body {
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  width: min(420px, calc(100vw - 24px));
  z-index: 50;
  opacity: 0;
  transform: translateY(6px) scale(.985);
  pointer-events: none;
  transition: opacity .22s cubic-bezier(.2, .9, .2, 1), transform .22s cubic-bezier(.2, .9, .2, 1);
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .1))
}

.OwO.OwO-open .OwO-body {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto
}

.OwO .OwO-panel {
  border: 1px solid var(--border-color);
  border-radius: .85rem;
  background: var(--card-color);
  overflow: hidden
}

.OwO .OwO-viewport {
  position: relative;
  background: var(--card-color);
  overflow: hidden;
  max-height: 0;
  transition: max-height .28s cubic-bezier(.22, 1, .24, 1)
}

.OwO .OwO-viewport::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--themecolor) 8%, var(--card-color)) 0, var(--card-color) 55%);
  opacity: .9;
  pointer-events: none
}

.OwO .OwO-items {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 12px 14px;
  margin: 0;
  list-style: none;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch
}

.OwO .OwO-items[hidden] {
  display: none !important
}

.OwO .OwO-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: .65rem;
  background: color-mix(in srgb, var(--card-color) 75%, var(--pure-grey-color));
  border: 1px solid color-mix(in srgb, var(--border-color) 78%, var(--card-color));
  cursor: pointer;
  transition: transform .18s cubic-bezier(.2, .9, .2, 1), border-color .18s cubic-bezier(.2, .9, .2, 1), background-color .18s cubic-bezier(.2, .9, .2, 1)
}

.OwO .OwO-item:hover {
  border-color: color-mix(in srgb, var(--themecolor) 45%, var(--border-color));
  background: color-mix(in srgb, var(--themecolor) 10%, var(--card-color))
}

.OwO .OwO-item:active {
  transform: scale(.96)
}

.OwO .OwO-items-emoji .OwO-item {
  font-size: 20px;
  line-height: 1
}

.OwO .OwO-items-image .OwO-item {
  padding: 8px;
  min-height: unset
}

.OwO .OwO-items-image .OwO-item img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: .55rem
}

.OwO .OwO-bar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-top: 1px solid var(--border-color);
  background: color-mix(in srgb, var(--card-color) 88%, var(--pure-grey-color))
}

.OwO .OwO-packages {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
  overflow: auto;
  scrollbar-width: none
}

.OwO .OwO-packages::-webkit-scrollbar {
  width: 0;
  height: 0
}

.OwO .OwO-packages li {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 10px;
  border-radius: .65rem;
  color: var(--text2-color);
  cursor: pointer;
  transition: color .18s ease, background-color .18s ease, transform .18s cubic-bezier(.2, .9, .2, 1)
}

.OwO .OwO-packages li:hover {
  background: color-mix(in srgb, var(--themecolor) 10%, var(--card-color));
  color: color-mix(in srgb, var(--themecolor) 65%, var(--text2-color))
}

.OwO .OwO-packages li:active {
  transform: scale(.97)
}

.OwO .OwO-packages .OwO-package-active {
  color: var(--text-color)
}

.OwO .OwO-indicator {
  position: absolute;
  left: 10px;
  bottom: 6px;
  height: 3px;
  border-radius: 999px;
  width: 0;
  transform: translateX(0);
  background: linear-gradient(90deg, color-mix(in srgb, var(--themecolor) 88%, var(--card-color)) 0, color-mix(in srgb, var(--themecolor) 58%, var(--card-color)) 55%, color-mix(in srgb, var(--themecolor) 18%, var(--card-color)) 100%);
  transition: width .32s cubic-bezier(.22, 1, .24, 1), transform .32s cubic-bezier(.22, 1, .24, 1);
  will-change: width, transform
}

.OwO.OwO-snap-indicator .OwO-indicator {
  transition-duration: 0s
}

@media (max-width:520px) {
  .OwO .OwO-body {
    width: min(92vw, 420px)
  }

  .OwO .OwO-items {
    gap: 8px;
    padding: 10px 10px 12px
  }

  .OwO .OwO-item {
    border-radius: .6rem
  }
}

@media (prefers-reduced-motion:reduce) {

  .OwO .OwO-body,
  .OwO .OwO-indicator,
  .OwO .OwO-item,
  .OwO .OwO-logo,
  .OwO .OwO-packages li,
  .OwO .OwO-viewport {
    transition: none !important
  }
}

.OwO[data-owo-measure="1"] .OwO-items[hidden] {
  display: flex !important;
  position: absolute !important;
  left: -99999px !important;
  top: -99999px !important;
  visibility: hidden !important;
  pointer-events: none !important
}

.OwO .OwO-viewport {
  overflow: hidden;
  max-height: 0;
  transition: max-height .28s cubic-bezier(.22, 1, .24, 1)
}

.OwO.OwO-height-animating .OwO-viewport {
  transition: height .28s cubic-bezier(.22, 1, .24, 1)
}