.wsl{
  --wsl-ink:#0B0B0B; --wsl-line:#E4E4E1; --wsl-line2:#D2D2CE; --wsl-muted:#6E6E6B;
  --wsl-blue:#121AB0; --wsl-blue50:#EEF0FB; --wsl-panel:#F3F3F1; --wsl-ph:#A3A3A0;
  --wsl-red:#DC2626; --wsl-r:7px; --wsl-h:44px;
  position:relative; display:block; width:100%; box-sizing:border-box;
}
.wsl .wsl-native{
  position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; padding:0;
  border:0; background:none; opacity:0; pointer-events:none; -webkit-appearance:none; appearance:none;
}
.wsl .wsl-btn{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  width:100%; height:var(--wsl-h); box-sizing:border-box; padding:0 13px;
  border:1px solid var(--wsl-line); border-radius:var(--wsl-r); background:#fff;
  font-family:inherit; font-size:14px; font-weight:400; line-height:1.7; color:var(--wsl-ink);
  text-align:start; cursor:pointer; -webkit-appearance:none; appearance:none;
  transition:border-color .16s, box-shadow .16s;
}
.wsl .wsl-btn:hover{ border-color:var(--wsl-line2) }
.wsl.is-open .wsl-btn,.wsl .wsl-btn:focus-visible{
  border-color:var(--wsl-blue); box-shadow:0 0 0 3px rgba(18,26,176,.12); outline:none;
}
.wsl.is-err .wsl-btn{ border-color:var(--wsl-red) }
.wsl.is-err.is-open .wsl-btn,.wsl.is-err .wsl-btn:focus-visible{ box-shadow:0 0 0 3px rgba(220,38,38,.12) }
.wsl .wsl-msg{ display:block; margin-top:5px; font-size:12.5px; font-weight:400; line-height:1.7; color:var(--wsl-red) }
.wsl.is-dis .wsl-btn{ background:var(--wsl-panel); color:var(--wsl-muted); cursor:not-allowed }
.wsl .wsl-val{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.wsl .wsl-val.is-ph{ color:var(--wsl-ph) }
.wsl .wsl-ch{ width:16px; height:16px; flex:none; color:var(--wsl-muted); transition:transform .16s }
.wsl.is-open .wsl-ch{ transform:rotate(180deg) }

.wsl-pop{
  --wsl-ink:#0B0B0B; --wsl-line:#E4E4E1; --wsl-line2:#D2D2CE; --wsl-muted:#6E6E6B;
  --wsl-blue:#121AB0; --wsl-blue50:#EEF0FB; --wsl-panel:#F3F3F1; --wsl-ph:#A3A3A0; --wsl-r:7px;
  position:fixed; z-index:2147483000; display:none; box-sizing:border-box; padding:5px;
  background:#fff; border:1px solid var(--wsl-line); border-radius:var(--wsl-r);
  box-shadow:0 2px 6px rgba(11,11,11,.05), 0 18px 36px -24px rgba(11,11,11,.30);
}
.wsl-pop.is-open{ display:block }
.wsl-pop *{ box-sizing:border-box }
.wsl-pop .wsl-qw{ padding:3px 3px 6px; border-bottom:1px solid var(--wsl-line); margin-bottom:5px }
.wsl-pop .wsl-q{
  width:100%; height:32px; padding:0 10px; border:1px solid var(--wsl-line); border-radius:var(--wsl-r);
  background:#fff; font-family:inherit; font-size:13px; font-weight:400; color:var(--wsl-ink); outline:none;
}
.wsl-pop .wsl-q:focus{ border-color:var(--wsl-blue); box-shadow:0 0 0 3px rgba(18,26,176,.12) }
.wsl-pop .wsl-q::placeholder{ color:var(--wsl-ph) }
.wsl-pop .wsl-list{
  overflow-y:auto; overflow-x:hidden; outline:none; scrollbar-width:thin; scrollbar-color:var(--wsl-line2) transparent;
}
.wsl-pop .wsl-list::-webkit-scrollbar{ width:4px }
.wsl-pop .wsl-list::-webkit-scrollbar-thumb{ background:var(--wsl-line2); border-radius:99px }
.wsl-pop .wsl-list::-webkit-scrollbar-track{ background:transparent }
.wsl-pop .wsl-grp{
  padding:8px 10px 3px; font-size:11.5px; font-weight:500; color:var(--wsl-muted);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.wsl-pop .wsl-opt{
  display:block; padding:7px 10px; border:1px solid transparent; border-radius:var(--wsl-r);
  font-family:inherit; font-size:13.5px; font-weight:400; line-height:1.65; color:var(--wsl-ink);
  cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.wsl-pop .wsl-opt:hover{ background:var(--wsl-panel) }
.wsl-pop .wsl-opt.is-act{ background:var(--wsl-panel); border-color:var(--wsl-line2) }
.wsl-pop .wsl-opt[aria-selected="true"]{ background:var(--wsl-blue50); color:var(--wsl-blue); font-weight:500 }
.wsl-pop .wsl-opt.is-act[aria-selected="true"]{ border-color:var(--wsl-blue) }
.wsl-pop .wsl-opt.is-off{ color:#C9C9C6; cursor:not-allowed; background:none; border-color:transparent }
.wsl-pop .wsl-empty{ padding:14px 10px; text-align:center; font-size:13px; color:var(--wsl-muted) }
@media (max-width:768px){ .wsl-pop .wsl-q{ font-size:16px; height:36px } }
