.cs-menu {
  position: absolute; z-index: 40; margin: 0; padding: 6px; list-style: none;
  max-height: 264px; overflow-y: auto;
  border-radius: 12px;
  border: 1px solid rgba(160, 200, 255, .24);
  background: linear-gradient(180deg, rgba(20, 28, 44, .96), rgba(9, 13, 22, .98));
  -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 24px 50px -16px rgba(0, 0, 0, .8), 0 0 30px -10px rgba(61, 127, 255, .3);
  opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.985); transform-origin: top center;
  transition: opacity .28s cubic-bezier(.22, .61, .36, 1), transform .4s cubic-bezier(.16, 1, .3, 1), visibility 0s .4s;
  scrollbar-width: thin; scrollbar-color: rgba(160, 200, 255, .25) transparent;
}
.cs-menu.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .28s cubic-bezier(.22, .61, .36, 1), transform .4s cubic-bezier(.16, 1, .3, 1), visibility 0s; }
.cs-option {
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 12px 10px 14px; border-radius: 8px; cursor: pointer;
  font-size: .92rem; color: #cfdaeb; line-height: 1.3;
  transition: background .25s, color .25s;
}
.cs-option.is-active { background: rgba(61, 127, 255, .14); color: #fff; }
.cs-option[aria-selected="true"] { color: #fff; }
.cs-option[aria-selected="true"]::after {
  content: ""; width: 14px; height: 14px; flex: none;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b9bff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
.cs-menu.is-open .cs-option { animation: csIn .4s cubic-bezier(.16, 1, .3, 1) both; }
.cs-menu.is-open .cs-option:nth-child(2) { animation-delay: .03s; }
.cs-menu.is-open .cs-option:nth-child(3) { animation-delay: .06s; }
.cs-menu.is-open .cs-option:nth-child(4) { animation-delay: .09s; }
.cs-menu.is-open .cs-option:nth-child(5) { animation-delay: .12s; }
.cs-menu.is-open .cs-option:nth-child(n+6) { animation-delay: .15s; }
@keyframes csIn { from { opacity: 0; transform: translateY(-4px); } }
select.cs-open { border-color: rgba(120, 170, 255, .75) !important; box-shadow: 0 0 0 3px rgba(61, 127, 255, .14) !important; }
@media (prefers-reduced-motion: reduce) { .cs-menu, .cs-option { transition: none !important; animation: none !important; } }
