
.icon[data-v-16b13a9d] {
  fill: currentColor;
}

.language-switcher[data-v-67db17ac] {
  display: flex;
  align-items: center;
}

/* Element Plus风格的语言切换按钮 */
.language-switch-btn[data-v-67db17ac] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--el-border-color);
  border-radius: var(--el-border-radius-base);
  background-color: var(--el-bg-color);
  color: var(--el-text-color-regular);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  outline: none;
  box-sizing: border-box;
}
.language-switch-btn[data-v-67db17ac]:hover {
  border-color: var(--el-color-primary);
  color: var(--el-color-primary);
  background-color: var(--el-color-primary-light-9);
}
.language-switch-btn[data-v-67db17ac]:focus {
  border-color: var(--el-color-primary);
  outline: none;
}
.language-switch-btn[data-v-67db17ac]:active {
  border-color: var(--el-color-primary);
  color: var(--el-color-primary);
  transform: scale(0.98);
}

/* 图标样式 */
.language-switch-btn[data-v-67db17ac] .language-icon {
  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.language-switch-btn[data-v-67db17ac]:hover .language-icon {
  transform: scale(1.1);
}

/* 暗色模式适配 */
.dark .language-switch-btn[data-v-67db17ac] {
  border-color: var(--el-border-color);
  background-color: var(--el-bg-color);
  color: var(--el-text-color-regular);
}
.dark .language-switch-btn[data-v-67db17ac]:hover {
  border-color: var(--el-color-primary);
  color: var(--el-color-primary);
  background-color: var(--el-color-primary-light-9);
}

/* 通用样式 */
.toaster [data-sonner-toast] {
  background-color: white !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 16px !important;
  min-height: 60px !important;
  font-size: 14px !important;
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
}

/* 错误通知样式 - 只改变图标颜色 */
.toaster [data-type='error'] [data-icon] {
  color: #dc2626 !important; /* 红色图标 */
}
.toaster [data-type='error'] [data-title] {
  color: #1f2937 !important; /* 深灰色标题 */
  font-weight: 600 !important;
}
.toaster [data-type='error'] [data-description] {
  color: #6b7280 !important; /* 中灰色描述 */
}

/* 成功通知样式 - 只改变图标颜色 */
.toaster [data-type='success'] [data-icon] {
  color: #16a34a !important; /* 绿色图标 */
}
.toaster [data-type='success'] [data-title] {
  color: #1f2937 !important; /* 深灰色标题 */
  font-weight: 600 !important;
}
.toaster [data-type='success'] [data-description] {
  color: #6b7280 !important; /* 中灰色描述 */
}

/* 警告通知样式 - 只改变图标颜色 */
.toaster [data-type='warning'] [data-icon] {
  color: #d97706 !important; /* 橙色图标 */
}
.toaster [data-type='warning'] [data-title] {
  color: #1f2937 !important; /* 深灰色标题 */
  font-weight: 600 !important;
}
.toaster [data-type='warning'] [data-description] {
  color: #6b7280 !important; /* 中灰色描述 */
}

/* 信息通知样式 - 只改变图标颜色 */
.toaster [data-type='info'] [data-icon] {
  color: #2563eb !important; /* 蓝色图标 */
}
.toaster [data-type='info'] [data-title] {
  color: #1f2937 !important; /* 深灰色标题 */
  font-weight: 600 !important;
}
.toaster [data-type='info'] [data-description] {
  color: #6b7280 !important; /* 中灰色描述 */
}

/* 通用文字样式 */
.toaster [data-title] {
  font-size: 15px !important;
  margin-bottom: 4px !important;
}
.toaster [data-description] {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* 图标样式 */
.toaster [data-icon] {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
}

.logo[data-v-03851de2] {
  height: 6em;
  padding: 1.5em;
  will-change: filter;
  transition: filter 300ms;
}
.logo[data-v-03851de2]:hover {
  filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vue[data-v-03851de2]:hover {
  filter: drop-shadow(0 0 2em #42b883aa);
}

canvas[data-v-66ab6d35] {
  border: 1px solid #e0e0e0; /* 边框 */
  display: block; /* 消除 canvas 默认底部的额外空白 */
  border-radius: 4px; /* 圆角 */
}

/* 菜单按钮 */
.menu-btn[data-v-e513dfa7] {
  position: relative;
  outline: none !important;
}
.menu-btn[data-v-e513dfa7]:focus {
  outline: none !important;
}

/* 弹出菜单 */
.more-menu[data-v-e513dfa7] {
  animation: fadeInUp-e513dfa7 0.2s ease-out;
}
@keyframes fadeInUp-e513dfa7 {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* 通知点 */
.notification-dot[data-v-e513dfa7] {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 6px;
  height: 6px;
  background: #ef4444;
  border-radius: 50%;
  animation: pulse-e513dfa7 2s infinite;
}
@keyframes pulse-e513dfa7 {
0%,
  100% {
    opacity: 1;
    transform: scale(1);
}
50% {
    opacity: 0.6;
    transform: scale(1.1);
}
}

/* 移除点击高亮 */
button[data-v-e513dfa7] {
  -webkit-tap-highlight-color: transparent;
}

/* 容器样式 */
.slider-container[data-v-a2d062d2] {
  margin: 0 auto;
  width: 100%;
  overflow: hidden; /* 防止循环时出现溢出 */
}
.slider-container h1[data-v-a2d062d2] {
  font-size: clamp(1.2rem, 3vw, 1.5rem);
  color: #e5e5e5;
  margin-bottom: 0;
}

/* 加载状态样式 */
.loading-container[data-v-a2d062d2] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 350px;
  color: #e5e5e5;
}
.loading-spinner[data-v-a2d062d2] {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(229, 229, 229, 0.3);
  border-top: 4px solid #e5e5e5;
  border-radius: 50%;
  animation: spin-a2d062d2 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-a2d062d2 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}

/* 无数据状态样式 */
.no-data-container[data-v-a2d062d2] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 350px;
  color: #9ca3af;
  font-size: 1.1rem;
}

/* Swiper 容器 */
.swiper[data-v-a2d062d2] {
  width: 100%;
  padding: 16px 0 20px;
  margin-bottom: 50px;
  overflow: visible; /* 允许 coverflow 效果正常显示 */
}

/* Swiper Slide */
.swiper-slide[data-v-a2d062d2] {
  position: relative;
  width: 600px;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
}

/* 优化循环时的过渡效果 */
.swiper-slide-duplicate[data-v-a2d062d2] {
  transition-timing-function: ease-out;
}
.swiper-slide img[data-v-a2d062d2] {
  border-radius: 20px;
  height: 350px;
  width: 100%;
  object-fit: cover;
  border: 2px solid rgba(159, 160, 168, 0.5);
}

/* 覆盖层 */
.slide-overlay[data-v-a2d062d2] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  row-gap: 12px;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(240deg, transparent, transparent, rgba(38, 21, 149, 0.8));
  border-radius: 20px;
  padding: 30px;
  pointer-events: none; /* 防止覆盖层影响滑动 */
}

/* 按钮仍可点击 */
.slide-overlay button[data-v-a2d062d2] {
  pointer-events: auto;
}
.slide-overlay h2[data-v-a2d062d2] {
  font-size: clamp(1.2rem, 3vw, 2.2rem);
  font-weight: 700;
  color: white;
}
.slide-info[data-v-a2d062d2] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.slide-info .duration[data-v-a2d062d2] {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}
.slide-overlay button[data-v-a2d062d2] {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  width: max-content;
  padding: 12px 16px;
  background: #e9e6eb2a;
  color: #e8e5e5;
  border: 1px solid rgba(159, 160, 168, 0.4);
  border-radius: 12px;
  outline: 0;
  font-size: clamp(0.7rem, 3vw, 1rem);
  font-weight: 500;
  text-transform: uppercase;
  box-shadow:
    rgba(0, 0, 0, 0.16) 0px 10px 36px 0px,
    rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
  transition: all 0.4s linear;
  cursor: pointer;
}
.slide-overlay button[data-v-a2d062d2]:is(:hover, :focus-visible) {
  background: #e9e6eb;
  color: #000;
}

/* 分页器样式 */
[data-v-a2d062d2] .swiper-pagination {
  --swiper-pagination-bottom: -4px;
}
[data-v-a2d062d2] .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #ffffffe7;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
[data-v-a2d062d2] .swiper-pagination-bullet-active {
  background-color: #fff;
  width: 18px;
  border-radius: 8px;
}

/* 响应式设计 */
@media (max-width: 1250px) {
.swiper-slide[data-v-a2d062d2] {
    width: 600px;
}
.swiper-slide img[data-v-a2d062d2] {
    border-radius: 16px;
    height: 280px;
}
}
@media (max-width: 1100px) {
.swiper-slide[data-v-a2d062d2] {
    width: 410px;
}
.swiper-slide img[data-v-a2d062d2] {
    height: 220px;
}
}
@media (max-width: 910px) {
.swiper-slide[data-v-a2d062d2] {
    width: 350px;
}
.swiper-slide img[data-v-a2d062d2] {
    height: 180px;
}
}
@media (max-width: 825px) {
.swiper-slide[data-v-a2d062d2] {
    width: 280px;
}
.swiper-slide img[data-v-a2d062d2] {
    height: 200px;
}
.slide-overlay[data-v-a2d062d2] {
    row-gap: 8px;
    padding: 12px 36px;
}
.slide-overlay button[data-v-a2d062d2] {
    padding: 8px 12px;
}
}
@media (max-width: 750px) {
.slide-overlay[data-v-a2d062d2] {
    row-gap: 12px;
    padding: 20px 30px;
}
.swiper-slide[data-v-a2d062d2] {
    width: 520px;
}
}
@media (max-width: 580px) {
.swiper-slide[data-v-a2d062d2] {
    width: 290px;
}
.swiper-slide img[data-v-a2d062d2] {
    height: 180px;
}
}
@media (max-width: 450px) {
.swiper-slide[data-v-a2d062d2] {
    width: 280px;
}
.slide-overlay[data-v-a2d062d2] {
    row-gap: 8px;
    padding: 12px 36px;
}
}

.global-music-player[data-v-f0c26028] {
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
}
@media (max-width: 640px) {
.global-music-player .container[data-v-f0c26028] {
    padding-left: 1rem;
    padding-right: 1rem;
}
}

/* 确保在移动端Safari中正确显示 */
.scroll-smooth-mobile[data-v-047a6c43] {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

/* 移动端优化的过渡效果 */
@media (max-width: 639px) {
.transition-all[data-v-047a6c43] {
    transition-property: transform, opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
}

/* 确保在移动端Safari中正确显示 */
.scroll-smooth-mobile[data-v-e3488cff] {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

/* Tailwind 不支持的滑块样式 */
input[type='range']::-webkit-slider-thumb {
  appearance: none;
  width: 16px;
  height: 16px;
  background: #f0d90f;
  cursor: pointer;
  border-radius: 50%;
}
input[type='range']::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: #f0d90f;
  cursor: pointer;
  border-radius: 50%;
  border: none;
}

/* 隐藏滚动条 */
.scrollbar-hide[data-v-62f13232] {
  /* 对于 Webkit 浏览器 (Chrome, Safari, Edge) */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 和 Edge */
}
.scrollbar-hide[data-v-62f13232]::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

.skeleton-shimmer[data-v-2fe391aa] {
  background: linear-gradient(
    110deg,
    rgba(71, 85, 105, 0.2) 0%,
    rgba(100, 116, 139, 0.4) 50%,
    rgba(71, 85, 105, 0.2) 100%
  );
  background-size: 200% 100%;
  animation: shimmer-2fe391aa 2s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}
.skeleton-shimmer[data-v-2fe391aa]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  animation: shine-2fe391aa 2s ease-in-out infinite;
}
.skeleton-card[data-v-2fe391aa] {
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    rgba(71, 85, 105, 0.15) 0%,
    rgba(100, 116, 139, 0.25) 50%,
    rgba(71, 85, 105, 0.15) 100%
  );
}
.skeleton-text[data-v-2fe391aa] {
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    rgba(71, 85, 105, 0.2) 0%,
    rgba(100, 116, 139, 0.3) 50%,
    rgba(71, 85, 105, 0.2) 100%
  );
}
.skeleton-avatar[data-v-2fe391aa] {
  border-radius: 50%;
  background: linear-gradient(
    45deg,
    rgba(71, 85, 105, 0.25) 0%,
    rgba(100, 116, 139, 0.4) 50%,
    rgba(71, 85, 105, 0.25) 100%
  );
}
@keyframes shimmer-2fe391aa {
0% {
    background-position: -200% 0;
}
100% {
    background-position: 200% 0;
}
}
@keyframes shine-2fe391aa {
0% {
    left: -100%;
}
100% {
    left: 100%;
}
}

/* 深色主题下的样式 */
.dark .skeleton-shimmer[data-v-2fe391aa] {
  background: linear-gradient(
    110deg,
    rgba(51, 65, 85, 0.3) 0%,
    rgba(71, 85, 105, 0.5) 50%,
    rgba(51, 65, 85, 0.3) 100%
  );
}
.dark .skeleton-shimmer[data-v-2fe391aa]::before {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);
}
.dark .skeleton-card[data-v-2fe391aa] {
  background: linear-gradient(
    135deg,
    rgba(51, 65, 85, 0.2) 0%,
    rgba(71, 85, 105, 0.35) 50%,
    rgba(51, 65, 85, 0.2) 100%
  );
}
.dark .skeleton-text[data-v-2fe391aa] {
  background: linear-gradient(
    90deg,
    rgba(51, 65, 85, 0.25) 0%,
    rgba(71, 85, 105, 0.4) 50%,
    rgba(51, 65, 85, 0.25) 100%
  );
}
.dark .skeleton-avatar[data-v-2fe391aa] {
  background: linear-gradient(
    45deg,
    rgba(51, 65, 85, 0.3) 0%,
    rgba(71, 85, 105, 0.5) 50%,
    rgba(51, 65, 85, 0.3) 100%
  );
}

/* 遮罩层 */
.playlist-overlay[data-v-ab53cb9b] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999; /* 提高层级 */
}

/* 播放列表样式 */
.playlist[data-v-ab53cb9b] {
  background: #000;
  width: 90%;
  max-width: 600px;
  height: 80vh;
  max-height: 700px;
  border-radius: 15px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: #fff;
  position: relative;
}
.playlist__header[data-v-ab53cb9b] {
  padding: 20px 25px 0;
  position: relative;
}
.playlist__close[data-v-ab53cb9b] {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 8px;
  transition: color 0.3s;
}
.playlist__close[data-v-ab53cb9b]:hover {
  color: #fff;
}
.playlist__tabs[data-v-ab53cb9b] {
  display: flex;
  gap: 30px;
  border-bottom: 1px solid #333;
  padding-bottom: 15px;
}
.playlist__tab[data-v-ab53cb9b] {
  font-size: 14px;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  transition: color 0.3s;
  position: relative;
}
.playlist__tab.active[data-v-ab53cb9b] {
  color: #fff;
}
.playlist__tab.active[data-v-ab53cb9b]::after {
  content: '';
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  height: 2px;
  background: #fff;
}
.playlist__content[data-v-ab53cb9b] {
  flex: 1;
  overflow-y: auto;
  padding: 25px;
}
.playlist__playing-from[data-v-ab53cb9b] {
  margin-bottom: 20px;
}
.playlist__playing-from span[data-v-ab53cb9b] {
  font-size: 12px;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.playlist__playing-from h3[data-v-ab53cb9b] {
  margin: 5px 0 0;
  font-size: 24px;
  font-weight: 600;
}
.playlist__save-btn[data-v-ab53cb9b] {
  background: transparent;
  border: 2px solid #333;
  color: #fff;
  padding: 10px 25px;
  border-radius: 25px;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 25px;
  transition: all 0.3s;
}
.playlist__save-btn[data-v-ab53cb9b]:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1);
}
.playlist__tracks[data-v-ab53cb9b] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.playlist__item[data-v-ab53cb9b] {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s;
}
.playlist__item[data-v-ab53cb9b]:hover {
  background: rgba(255, 255, 255, 0.1);
}
.playlist__item.active[data-v-ab53cb9b] {
  background: rgba(255, 255, 255, 0.15);
}
.playlist__item-cover[data-v-ab53cb9b] {
  width: 50px;
  height: 50px;
  border-radius: 4px;
  object-fit: cover;
}
.playlist__item-info[data-v-ab53cb9b] {
  flex: 1;
}
.playlist__item-name[data-v-ab53cb9b] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
}
.playlist__item-artist[data-v-ab53cb9b] {
  font-size: 12px;
  color: #999;
}
.playlist__item-duration[data-v-ab53cb9b] {
  font-size: 12px;
  color: #666;
}

/* 滚动条样式 */
.playlist__content[data-v-ab53cb9b]::-webkit-scrollbar {
  width: 8px;
}
.playlist__content[data-v-ab53cb9b]::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}
.playlist__content[data-v-ab53cb9b]::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}
.playlist__content[data-v-ab53cb9b]::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* 动画 */
.slide-up-enter-active[data-v-ab53cb9b],
.slide-up-leave-active[data-v-ab53cb9b] {
  transition: all 0.3s ease-out;
}
.slide-up-enter-from[data-v-ab53cb9b],
.slide-up-leave-to[data-v-ab53cb9b] {
  opacity: 0;
}
.slide-up-enter-from .playlist[data-v-ab53cb9b],
.slide-up-leave-to .playlist[data-v-ab53cb9b] {
  transform: translateY(100%);
}

/* 响应式 */
@media screen and (max-width: 576px) {
.playlist[data-v-ab53cb9b] {
    width: 100%;
    height: 100vh;
    max-height: none;
    border-radius: 0;
}
}

/* import musicPlayerStyle.css */
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  /* background: #dfe7ef;  */
}
.wrapper {
  width: 100%;
  /* display: flex; */
  flex-direction: column; /* 修改为纵向排列以容纳标题 */
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 1rem; /* 添加一些边距 */
}
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}
/* 播放器样式 */
.player {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(188, 184, 198, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    inset 2px -2px 6px rgba(214, 214, 214, 0.2),
    inset -3px 3px 3px rgba(255, 255, 255, 0.3);
  border-radius: 16px;
  padding: 30px 20px;
  margin-top: 15px;
}
/* 播放列表切换按钮 */
.playlist-toggle {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  border: none;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  z-index: 10;
}
.playlist-toggle:hover {
  transform: translateY(-2px);
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15);
}
.playlist-toggle svg {
  color: #532ab9;
}
.player__top {
  display: flex;
  align-items: flex-start;
  position: relative;
  z-index: 4;
}
/* 封面样式 */
.player-cover {
  width: 220px;
  height: 220px;
  margin-left: -50px;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  border-radius: 15px;
}
.player-cover__item {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 80%;
  height: 80%;
  border-radius: 15px;
  position: absolute;
  left: 12%;
  top: 0;
}
.player-cover__item::before {
  content: '';
  background: inherit;
  width: 100%;
  height: 100%;
  box-shadow: 0px 10px 40px 0px rgba(76, 70, 124, 0.5);
  display: block;
  z-index: 1;
  position: absolute;
  top: 30px;
  transform: scale(0.9);
  filter: blur(10px);
  opacity: 0.9;
  border-radius: 15px;
}
.player-cover__item::after {
  content: '';
  background: inherit;
  width: 100%;
  height: 100%;
  box-shadow: 0px 10px 40px 0px rgba(76, 70, 124, 0.5);
  display: block;
  z-index: 2;
  position: absolute;
  border-radius: 15px;
}
/* 控制按钮样式 */
.player-controls {
  flex: 1;
  padding-left: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.player-controls__item {
  display: inline-flex;
  font-size: 24px;
  padding: 4px;
  margin-bottom: 8px;
  color: #acb8cc;
  cursor: pointer;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: all 0.3s ease-in-out;
}
.player-controls__item::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #fff;
  transform: scale(0.5);
  opacity: 0;
  box-shadow: 0px 5px 10px 0px rgba(76, 70, 124, 0.2);
  transition: all 0.3s ease-in-out;
}
.player-controls__item:hover {
  color: #532ab9;
}
.player-controls__item:hover::before {
  opacity: 1;
  transform: scale(1.3);
}
.player-controls__item .icon {
  position: relative;
  z-index: 2;
}
.player-controls__item.-xl {
  margin-bottom: 0;
  font-size: 70px;
  filter: drop-shadow(0 8px 4px rgba(172, 184, 204, 0.45));
  color: #fff;
  width: auto;
  height: auto;
  display: inline-flex;
}
.player-controls__item.-xl::before {
  display: none;
}
.player-controls__item.-favorite.active {
  color: red;
}
/* 进度条样式 */
.progress {
  width: 100%;
  margin-top: -15px;
  user-select: none;
}
.progress__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.progress__duration {
  color: #71829e;
  font-weight: 700;
  font-size: 20px;
  opacity: 0.5;
}
.progress__time {
  margin-top: 2px;
  color: #71829e;
  font-weight: 700;
  font-size: 16px;
  opacity: 0.7;
}
.progress__bar {
  height: 6px;
  width: 100%;
  cursor: pointer;
  background-color: #d0d8e6;
  display: inline-block;
  border-radius: 10px;
}
.progress__current {
  height: inherit;
  width: 0%;
  background-color: #a3b3ce;
  border-radius: 10px;
  transition: width 0.1s;
}
/* 专辑信息样式 */
.album-info {
  color: #71829e;
  flex: 1;
  padding-right: 40px;
  user-select: none;
}
.album-info__name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.3em;
}
.album-info__track {
  font-weight: 400;
  font-size: 16px;
  opacity: 0.7;
  line-height: 1.3em;
  min-height: 40px;
}
/* 动画 */
.scale-out-enter-active,
.scale-out-leave-active {
  transition: all 0.35s ease-in-out;
}
.scale-out-enter-from {
  transform: scale(0.55);
  opacity: 0;
}
.scale-out-leave-to {
  transform: scale(1.2);
  opacity: 0;
}
.scale-in-enter-active,
.scale-in-leave-active {
  transition: all 0.35s ease-in-out;
}
.scale-in-enter-from {
  transform: scale(1.2);
  opacity: 0;
}
.scale-in-leave-to {
  transform: scale(0.55);
  opacity: 0;
}
/* 响应式设计 */
@media screen and (max-width: 576px), (max-height: 500px) {
.wrapper {
    flex-wrap: wrap;
    flex-direction: column;
}
.player {
    width: 95%;
    padding: 20px;
    margin-top: 75px;
    min-height: initial;
    padding-bottom: 30px;
    max-width: 400px;
}
.player__top {
    flex-wrap: wrap;
}
.player-cover {
    margin-top: -70px;
    margin-bottom: 25px;
    width: 290px;
    height: 230px;
    margin-left: auto;
    margin-right: auto;
}
.player-controls {
    flex-direction: row;
    padding-left: 0;
    width: 100%;
    flex: unset;
}
.player-controls__item {
    font-size: 26px;
    padding: 5px;
    margin-right: 10px;
    width: 40px;
    height: 40px;
    margin-bottom: 0;
}
.player-controls__item.-xl {
    margin-left: auto;
    font-size: 75px;
    margin-right: 0;
}
.album-info {
    padding-right: 30px;
}
.album-info__name {
    font-size: 18px;
    margin-bottom: 9px;
}
.album-info__track {
    font-size: 18px;
    min-height: 50px;
}
.playlist-toggle {
    top: 10px;
    right: 10px;
    width: 35px;
    height: 35px;
}
}
/* --- 新增的样式 --- */
.animated-title {
  font-size: 2rem; /* 调整字体大小 */
  font-weight: bold;
  margin-bottom: 1rem; /* 添加一些下边距 */
  color: transparent;
  background: url(https://github.com/ecemgo/mini-samples-great-tricks/assets/13468728/2bd7c4f1-264e-47de-a50c-5483dbff2525);
  background-clip: text;
  -webkit-background-clip: text;
  animation: animated-text-gradient 26s linear infinite;
  text-align: center;
  user-select: none; /*  <-- 添加这一行 */
  -webkit-user-select: none; /* 兼容老版本的 Chrome/Safari */
}
@keyframes animated-text-gradient {
100% {
    background-position: 100% 0;
}
}
/* 加载中动画样式 */
.loading-icon {
  animation: spin 1s linear infinite;
}
@keyframes spin {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.player-controls__item.loading {
  pointer-events: none;
  opacity: 0.8;
}
/* --- 新增样式结束 --- */

/* 卡片容器 */
.music-card[data-v-dcc520bb] {
  width: 100%;
  /* max-width: 320px; */
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border 0.3s ease;
  cursor: pointer;
  will-change: transform;
  border: 2px solid transparent;
}

/* 选中状态 */
.music-card.selected[data-v-dcc520bb] {
  border-color: #3b82f6;
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
  transform: translateY(-4px);
}
.music-card.selected .title[data-v-dcc520bb] {
  color: #60a5fa;
}
.music-card.selected .wave-container[data-v-dcc520bb] {
  opacity: 1;
  transform: scale(1.05);
}

/* 选中且播放中的动画效果 */
.music-card.selected .play-icon[data-v-dcc520bb] {
  opacity: 1;
  transform: scale(1);
  background: linear-gradient(135deg, #3b82f6, #60a5fa);
  color: white;
}
.music-card.selected .wave-bar[data-v-dcc520bb] {
  animation-play-state: running;
}

/* 卡片悬停效果 */
.music-card[data-v-dcc520bb]:hover {
  transform: translateY(-8px);
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.3),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* 封面图片 */
.cover-image[data-v-dcc520bb] {
  transition:
    transform 0.6s ease,
    filter 0.6s ease;
  will-change: transform;
}
.group:hover .cover-image[data-v-dcc520bb] {
  transform: scale(1.1);
  filter: brightness(0.8);
}

/* 播放按钮 */
.play-button[data-v-dcc520bb] {
  background: transparent;
  transition: background-color 0.3s ease;
  border: none;
  outline: none !important;
}
.play-button[data-v-dcc520bb]:hover {
  background: rgba(0, 0, 0, 0.3);
}
.play-icon[data-v-dcc520bb] {
  opacity: 0;
  transform: scale(0.8);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}
.group:hover .play-icon[data-v-dcc520bb] {
  opacity: 1;
  transform: scale(1);
}
.play-button:hover .play-icon[data-v-dcc520bb] {
  transform: scale(1.1);
}

/* 移除所有焦点边框 */
.music-card[data-v-dcc520bb]:focus,
.music-card[data-v-dcc520bb]:focus-visible,
.music-card[data-v-dcc520bb]:focus-within,
.play-button[data-v-dcc520bb]:focus,
.play-button[data-v-dcc520bb]:focus-visible,
button[data-v-dcc520bb]:focus,
button[data-v-dcc520bb]:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* 音频波形动画 */
.wave-container[data-v-dcc520bb] {
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transform: scale(0.95);
}
.group:hover .wave-container[data-v-dcc520bb] {
  opacity: 1;
  transform: scale(1.05);
}
.group:hover .wave-bar[data-v-dcc520bb] {
  filter: brightness(1.2) saturate(1.3);
}
.wave-bar[data-v-dcc520bb] {
  transform-origin: bottom;
  will-change: transform;
  background: linear-gradient(to top, #60a5fa, #3b82f6, #ffffff);
  box-shadow: 0 0 4px rgba(59, 130, 246, 0.3);
  transition: all 0.3s ease;
}
.wave-bar[data-v-dcc520bb]:nth-child(1) {
  animation: wave-dcc520bb 1.2s ease-in-out infinite;
  height: 20%;
  background: linear-gradient(to top, #f59e0b, #fbbf24, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(2) {
  animation: wave-dcc520bb 1.2s ease-in-out 0.1s infinite;
  height: 40%;
  background: linear-gradient(to top, #10b981, #34d399, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(3) {
  animation: wave-dcc520bb 1.2s ease-in-out 0.2s infinite;
  height: 60%;
  background: linear-gradient(to top, #3b82f6, #60a5fa, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(4) {
  animation: wave-dcc520bb 1.2s ease-in-out 0.3s infinite;
  height: 40%;
  background: linear-gradient(to top, #8b5cf6, #a78bfa, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(5) {
  animation: wave-dcc520bb 1.2s ease-in-out 0.4s infinite;
  height: 20%;
  background: linear-gradient(to top, #ef4444, #f87171, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(6) {
  animation: wave-alt-dcc520bb 1.4s ease-in-out 0.2s infinite;
  height: 35%;
  background: linear-gradient(to top, #06b6d4, #22d3ee, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(7) {
  animation: wave-dcc520bb 1.1s ease-in-out 0.3s infinite;
  height: 55%;
  background: linear-gradient(to top, #ec4899, #f472b6, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(8) {
  animation: wave-alt-dcc520bb 1.3s ease-in-out 0.1s infinite;
  height: 70%;
  background: linear-gradient(to top, #84cc16, #a3e635, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(9) {
  animation: wave-dcc520bb 1.2s ease-in-out 0.5s infinite;
  height: 45%;
  background: linear-gradient(to top, #f97316, #fb923c, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(10) {
  animation: wave-alt-dcc520bb 1.5s ease-in-out 0.4s infinite;
  height: 30%;
  background: linear-gradient(to top, #6366f1, #818cf8, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(11) {
  animation: wave-dcc520bb 1.1s ease-in-out 0.6s infinite;
  height: 25%;
  background: linear-gradient(to top, #14b8a6, #5eead4, #ffffff);
}
.wave-bar[data-v-dcc520bb]:nth-child(12) {
  animation: wave-alt-dcc520bb 1.4s ease-in-out 0.7s infinite;
  height: 15%;
  background: linear-gradient(to top, #dc2626, #fca5a5, #ffffff);
}
@keyframes wave-dcc520bb {
0%,
  100% {
    transform: scaleY(1);
}
25% {
    transform: scaleY(1.4);
}
50% {
    transform: scaleY(1.8);
}
75% {
    transform: scaleY(1.2);
}
}
@keyframes wave-alt-dcc520bb {
0%,
  100% {
    transform: scaleY(1);
}
30% {
    transform: scaleY(1.6);
}
60% {
    transform: scaleY(1.3);
}
90% {
    transform: scaleY(1.9);
}
}

/* 标题 */
.title[data-v-dcc520bb] {
  transition: color 0.2s ease;
}
.music-card:hover .title[data-v-dcc520bb] {
  color: #60a5fa;
}

/* 标签 */
.tag[data-v-dcc520bb] {
  transition: transform 0.2s ease;
  will-change: transform;
}
.tag[data-v-dcc520bb]:hover {
  transform: scale(1.05);
}

/* 统计项 */
.stat-item[data-v-dcc520bb] {
  transition:
    color 0.2s ease,
    transform 0.2s ease;
}
.stat-item[data-v-dcc520bb]:hover {
  color: #ffffff;
  transform: scale(1.05);
}
.stat-like[data-v-dcc520bb]:hover {
  color: #ef4444;
}

/* 作者信息 */
.author-section[data-v-dcc520bb] {
  transition: transform 0.2s ease;
}
.author-section[data-v-dcc520bb]:hover {
  transform: translateX(4px);
}
.author-section:hover .author-name[data-v-dcc520bb] {
  color: #ffffff;
}
.author-section:hover .author-avatar[data-v-dcc520bb] {
  transform: scale(1.1);
}
.author-avatar[data-v-dcc520bb] {
  transition: transform 0.2s ease;
}
.author-name[data-v-dcc520bb] {
  transition: color 0.2s ease;
}

/* 全局优化 */
[data-v-dcc520bb] {
  -webkit-tap-highlight-color: transparent;
}

.album-cover-container[data-v-223ea191] {
  position: relative;
  transition: transform 0.3s ease;
}
.album-cover[data-v-223ea191] {
  transition: all 0.3s ease;
}
.spinning[data-v-223ea191] {
  animation: spin-223ea191 20s linear infinite;
}
.spinning .album-cover[data-v-223ea191] {
  box-shadow: 0 0 30px rgba(59, 130, 246, 0.3);
}
@keyframes spin-223ea191 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.wave-bar[data-v-223ea191] {
  animation: wave-223ea191 1.2s ease-in-out infinite;
}
@keyframes wave-223ea191 {
0%,
  100% {
    transform: scaleY(0.5);
}
50% {
    transform: scaleY(1);
}
}

/* 响应式设计 */
@media (max-width: 768px) {
.album-cover[data-v-223ea191] {
    width: 240px;
    height: 240px;
}
}
@media (max-width: 640px) {
.album-cover[data-v-223ea191] {
    width: 200px;
    height: 200px;
}
}

.playback-controls[data-v-68f5ee0b] {
  width: 100%;
}
.progress-bar-container:hover .progress-thumb[data-v-68f5ee0b] {
  opacity: 1;
}
.control-btn[data-v-68f5ee0b]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.play-pause-btn[data-v-68f5ee0b] {
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}
.volume-slider:hover .volume-fill[data-v-68f5ee0b] {
  background-color: #60a5fa;
}

/* 隐藏滚动条 */
.scrollbar-hide[data-v-531280e4] {
  /* 对于 Webkit 浏览器 (Chrome, Safari, Edge) */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 和 Edge */
}
.scrollbar-hide[data-v-531280e4]::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

/* 自定义滚动条样式 */
.custom-scrollbar[data-v-531280e4]::-webkit-scrollbar {
  width: 6px;
}
.custom-scrollbar[data-v-531280e4]::-webkit-scrollbar-track {
  background: rgba(30, 41, 59, 0.5); /* slate-800 with opacity */
  border-radius: 10px;
}
.custom-scrollbar[data-v-531280e4]::-webkit-scrollbar-thumb {
  background: rgba(59, 130, 246, 0.5); /* blue-500 with opacity */
  border-radius: 10px;
}
.custom-scrollbar[data-v-531280e4]::-webkit-scrollbar-thumb:hover {
  background: rgba(59, 130, 246, 0.7); /* blue-500 with higher opacity on hover */
}

.lyrics-line[data-v-e7d75b46] {
  color: #cbd5e1;
  transition: all 0.3s ease;
}
.lyrics-line[data-v-e7d75b46]:hover {
  color: white;
  background-color: #1e293b;
}
.current-line[data-v-e7d75b46] {
  color: white;
  background: linear-gradient(to right, rgba(37, 99, 235, 0.2), rgba(147, 51, 234, 0.2));
  border-left: 4px solid #3b82f6;
  transform: scale(1.02);
}
.lyrics-content[data-v-e7d75b46] {
  scrollbar-width: thin;
  scrollbar-color: #475569 #1e293b;
}
.lyrics-content[data-v-e7d75b46]::-webkit-scrollbar {
  width: 6px;
}
.lyrics-content[data-v-e7d75b46]::-webkit-scrollbar-track {
  background: #1e293b;
  border-radius: 3px;
}
.lyrics-content[data-v-e7d75b46]::-webkit-scrollbar-thumb {
  background: #475569;
  border-radius: 3px;
}
.lyrics-content[data-v-e7d75b46]::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

/* 歌词行动画 */
.lyrics-line[data-v-e7d75b46]:not(.current-line) {
  opacity: 0.7;
}
.lyrics-line.current-line[data-v-e7d75b46] {
  opacity: 1;
  font-weight: 500;
}

/* 字体大小变化动画 */
.lyrics-line[data-v-e7d75b46] {
  transition:
    font-size 0.3s ease,
    transform 0.3s ease,
    background-color 0.3s ease;
}

.playlist-content[data-v-7b82dfe0] {
  scrollbar-width: thin;
  scrollbar-color: #475569 #1e293b;
}
.playlist-content[data-v-7b82dfe0]::-webkit-scrollbar {
  width: 6px;
}
.playlist-content[data-v-7b82dfe0]::-webkit-scrollbar-track {
  background: #1e293b;
  border-radius: 3px;
}
.playlist-content[data-v-7b82dfe0]::-webkit-scrollbar-thumb {
  background: #475569;
  border-radius: 3px;
}
.playlist-content[data-v-7b82dfe0]::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}
.playlist-item[data-v-7b82dfe0]:hover {
  transform: translateX(2px);
}
.playlist-item.current-track[data-v-7b82dfe0] {
  transform: translateX(4px);
}

/* 播放状态动画 */
@keyframes wave-7b82dfe0 {
0%,
  100% {
    transform: scaleY(0.5);
}
50% {
    transform: scaleY(1);
}
}
.animate-pulse[data-v-7b82dfe0] {
  animation: wave-7b82dfe0 1.2s ease-in-out infinite;
}

/* 确保列表项的hover效果 */
.group[data-v-510d024a]:hover {
  background-color: rgb(51 65 85 / 0.8);
}

/* 文本截断样式 */
.line-clamp-2[data-v-510d024a] {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 标签样式优化 */
.tag-item[data-v-510d024a] {
  white-space: nowrap;
  flex-shrink: 0;
}

/* 播放按钮动画 */
.group:hover .opacity-0[data-v-510d024a] {
  opacity: 1;
}

/* 分享按钮hover效果 */
button:hover svg[data-v-510d024a] {
  transform: scale(1.1);
  transition: transform 0.2s ease;
}

/* 音符浮动动画 */
@keyframes float-03b0760f {
0%, 100% {
    transform: translateY(0) rotate(0deg);
}
50% {
    transform: translateY(-20px) rotate(10deg);
}
}
.music-note[data-v-03b0760f] {
  font-size: 2rem;
  animation: float-03b0760f 6s ease-in-out infinite;
}

/* 响应式调整 */
@media (max-width: 768px) {
.music-note[data-v-03b0760f] {
    font-size: 1.5rem;
}
}
/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-pan-x: initial;
      --tw-pan-y: initial;
      --tw-pinch-zoom: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-orange-400: oklch(75% .183 55.934);
    --color-orange-500: oklch(70.5% .213 47.604);
    --color-yellow-300: oklch(90.5% .182 98.111);
    --color-yellow-400: oklch(85.2% .199 91.936);
    --color-yellow-500: oklch(79.5% .184 86.047);
    --color-lime-500: oklch(76.8% .233 130.85);
    --color-green-100: oklch(96.2% .044 156.743);
    --color-green-300: oklch(87.1% .15 154.449);
    --color-green-400: oklch(79.2% .209 151.711);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-cyan-400: oklch(78.9% .154 211.53);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-300: oklch(80.9% .105 251.813);
    --color-blue-400: oklch(70.7% .165 254.624);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-800: oklch(42.4% .199 265.638);
    --color-indigo-100: oklch(93% .034 272.788);
    --color-indigo-400: oklch(67.3% .182 276.935);
    --color-indigo-500: oklch(58.5% .233 277.117);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-700: oklch(45.7% .24 277.023);
    --color-indigo-800: oklch(39.8% .195 277.366);
    --color-purple-50: oklch(97.7% .014 308.299);
    --color-purple-300: oklch(82.7% .119 306.383);
    --color-purple-400: oklch(71.4% .203 305.504);
    --color-purple-500: oklch(62.7% .265 303.9);
    --color-purple-600: oklch(55.8% .288 302.321);
    --color-purple-700: oklch(49.6% .265 301.924);
    --color-pink-400: oklch(71.8% .202 349.761);
    --color-pink-500: oklch(65.6% .241 354.308);
    --color-pink-600: oklch(59.2% .249 .584);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-700: oklch(37.2% .044 257.287);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-2xl: 42rem;
    --container-4xl: 56rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wide: .025em;
    --leading-relaxed: 1.625;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }

  .-top-1 {
    top: calc(var(--spacing) * -1);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-1 {
    top: calc(var(--spacing) * 1);
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-1\/4 {
    top: 25%;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-2\/3 {
    top: 66.6667%;
  }

  .top-3 {
    top: calc(var(--spacing) * 3);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-6 {
    top: calc(var(--spacing) * 6);
  }

  .top-24 {
    top: calc(var(--spacing) * 24);
  }

  .top-32 {
    top: calc(var(--spacing) * 32);
  }

  .top-full {
    top: 100%;
  }

  .-right-1 {
    right: calc(var(--spacing) * -1);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .right-1 {
    right: calc(var(--spacing) * 1);
  }

  .right-1\/3 {
    right: 33.3333%;
  }

  .right-1\/4 {
    right: 25%;
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .right-6 {
    right: calc(var(--spacing) * 6);
  }

  .-bottom-1 {
    bottom: calc(var(--spacing) * -1);
  }

  .-bottom-2 {
    bottom: calc(var(--spacing) * -2);
  }

  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }

  .bottom-1\/4 {
    bottom: 25%;
  }

  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }

  .bottom-16 {
    bottom: calc(var(--spacing) * 16);
  }

  .bottom-full {
    bottom: 100%;
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .left-1\/2 {
    left: 50%;
  }

  .left-1\/3 {
    left: 33.3333%;
  }

  .left-1\/4 {
    left: 25%;
  }

  .left-2 {
    left: calc(var(--spacing) * 2);
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .z-10 {
    z-index: 10;
  }

  .z-40 {
    z-index: 40;
  }

  .z-50 {
    z-index: 50;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-10 {
    margin: calc(var(--spacing) * 10);
  }

  .mx-4 {
    margin-inline: calc(var(--spacing) * 4);
  }

  .mx-8 {
    margin-inline: calc(var(--spacing) * 8);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }

  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }

  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }

  .-mt-55 {
    margin-top: calc(var(--spacing) * -55);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }

  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }

  .mt-auto {
    margin-top: auto;
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }

  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }

  .mb-20 {
    margin-bottom: calc(var(--spacing) * 20);
  }

  .-ml-1 {
    margin-left: calc(var(--spacing) * -1);
  }

  .ml-0\.5 {
    margin-left: calc(var(--spacing) * .5);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .line-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .aspect-\[3\/4\] {
    aspect-ratio: 3 / 4;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }

  .h-0 {
    height: calc(var(--spacing) * 0);
  }

  .h-1 {
    height: calc(var(--spacing) * 1);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\/4 {
    height: 75%;
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-20 {
    height: calc(var(--spacing) * 20);
  }

  .h-24 {
    height: calc(var(--spacing) * 24);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-40 {
    height: calc(var(--spacing) * 40);
  }

  .h-64 {
    height: calc(var(--spacing) * 64);
  }

  .h-80 {
    height: calc(var(--spacing) * 80);
  }

  .h-180 {
    height: calc(var(--spacing) * 180);
  }

  .h-\[55px\] {
    height: 55px;
  }

  .h-\[calc\(100vh-6rem\)\] {
    height: calc(100vh - 6rem);
  }

  .h-auto {
    height: auto;
  }

  .h-fit {
    height: fit-content;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .max-h-60 {
    max-height: calc(var(--spacing) * 60);
  }

  .max-h-\[90vh\] {
    max-height: 90vh;
  }

  .max-h-\[500px\] {
    max-height: 500px;
  }

  .min-h-\[20px\] {
    min-height: 20px;
  }

  .min-h-\[24px\] {
    min-height: 24px;
  }

  .min-h-\[60vh\] {
    min-height: 60vh;
  }

  .min-h-\[400px\] {
    min-height: 400px;
  }

  .min-h-\[440px\] {
    min-height: 440px;
  }

  .min-h-\[750px\] {
    min-height: 750px;
  }

  .min-h-\[calc\(100vh-6rem\)\] {
    min-height: calc(100vh - 6rem);
  }

  .min-h-\[calc\(100vh-6rem-20rem\)\] {
    min-height: calc(100vh - 26rem);
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-0 {
    width: calc(var(--spacing) * 0);
  }

  .w-0\.5 {
    width: calc(var(--spacing) * .5);
  }

  .w-1 {
    width: calc(var(--spacing) * 1);
  }

  .w-1\/3 {
    width: 33.3333%;
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\/3 {
    width: 66.6667%;
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\/4 {
    width: 75%;
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9\/12 {
    width: 75%;
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-36 {
    width: calc(var(--spacing) * 36);
  }

  .w-40 {
    width: calc(var(--spacing) * 40);
  }

  .w-44 {
    width: calc(var(--spacing) * 44);
  }

  .w-48 {
    width: calc(var(--spacing) * 48);
  }

  .w-64 {
    width: calc(var(--spacing) * 64);
  }

  .w-80 {
    width: calc(var(--spacing) * 80);
  }

  .w-96 {
    width: calc(var(--spacing) * 96);
  }

  .w-\[42\%\] {
    width: 42%;
  }

  .w-\[80\%\] {
    width: 80%;
  }

  .w-\[340px\] {
    width: 340px;
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-\[75vw\] {
    max-width: 75vw;
  }

  .max-w-\[85vw\] {
    max-width: 85vw;
  }

  .max-w-\[1200px\] {
    max-width: 1200px;
  }

  .max-w-full {
    max-width: 100%;
  }

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .min-w-\[30px\] {
    min-width: 30px;
  }

  .min-w-\[110px\] {
    min-width: 110px;
  }

  .min-w-\[120px\] {
    min-width: 120px;
  }

  .min-w-\[160px\] {
    min-width: 160px;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink {
    flex-shrink: 1;
  }

  .flex-shrink-0, .shrink-0 {
    flex-shrink: 0;
  }

  .flex-grow {
    flex-grow: 1;
  }

  .origin-top-right {
    transform-origin: 100% 0;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-1 {
    --tw-translate-x: calc(var(--spacing) * 1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-6 {
    --tw-translate-x: calc(var(--spacing) * 6);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-full {
    --tw-translate-x: 100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-full {
    --tw-translate-y: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-0 {
    --tw-translate-y: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .scale-95 {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-100 {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .transform-gpu {
    transform: translateZ(0) var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .touch-pan-x {
    --tw-pan-x: pan-x;
    touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, );
  }

  .touch-pan-y {
    --tw-pan-y: pan-y;
    touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, );
  }

  .touch-manipulation {
    touch-action: manipulation;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .appearance-none {
    appearance: none;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

  .grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }

  .grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .place-items-center {
    place-items: center;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .justify-around {
    justify-content: space-around;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }

  :where(.space-x-0\.5 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * .5) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-1 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-3 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-4 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-6 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));
  }

  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-visible {
    overflow: visible;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }

  .rounded-\[4px\] {
    border-radius: 4px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius);
  }

  .rounded-md {
    border-radius: calc(var(--radius)  - 2px);
  }

  .rounded-xl {
    border-radius: calc(var(--radius)  + 4px);
  }

  .rounded-r-lg {
    border-top-right-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-t-4 {
    border-top-style: var(--tw-border-style);
    border-top-width: 4px;
  }

  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .border-r-4 {
    border-right-style: var(--tw-border-style);
    border-right-width: 4px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .border-b-4 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 4px;
  }

  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-none {
    --tw-border-style: none;
    border-style: none;
  }

  .border-blue-400 {
    border-color: var(--color-blue-400);
  }

  .border-blue-500 {
    border-color: var(--color-blue-500);
  }

  .border-blue-500\/20 {
    border-color: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-500\/20 {
      border-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
    }
  }

  .border-blue-500\/30 {
    border-color: #3080ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-500\/30 {
      border-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
    }
  }

  .border-blue-600 {
    border-color: var(--color-blue-600);
  }

  .border-gray-400 {
    border-color: var(--color-gray-400);
  }

  .border-gray-500\/30 {
    border-color: #6a72824d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-gray-500\/30 {
      border-color: color-mix(in oklab, var(--color-gray-500) 30%, transparent);
    }
  }

  .border-gray-600 {
    border-color: var(--color-gray-600);
  }

  .border-green-500 {
    border-color: var(--color-green-500);
  }

  .border-input {
    border-color: var(--input);
  }

  .border-orange-400 {
    border-color: var(--color-orange-400);
  }

  .border-red-600 {
    border-color: var(--color-red-600);
  }

  .border-slate-600 {
    border-color: var(--color-slate-600);
  }

  .border-slate-600\/50 {
    border-color: #45556c80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-600\/50 {
      border-color: color-mix(in oklab, var(--color-slate-600) 50%, transparent);
    }
  }

  .border-slate-700 {
    border-color: var(--color-slate-700);
  }

  .border-slate-700\/50 {
    border-color: #31415880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-700\/50 {
      border-color: color-mix(in oklab, var(--color-slate-700) 50%, transparent);
    }
  }

  .border-slate-800 {
    border-color: var(--color-slate-800);
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-white {
    border-color: var(--color-white);
  }

  .border-yellow-400 {
    border-color: var(--color-yellow-400);
  }

  .border-yellow-500 {
    border-color: var(--color-yellow-500);
  }

  .border-yellow-500\/30 {
    border-color: #edb2004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-yellow-500\/30 {
      border-color: color-mix(in oklab, var(--color-yellow-500) 30%, transparent);
    }
  }

  .border-t-slate-700 {
    border-top-color: var(--color-slate-700);
  }

  .border-t-transparent {
    border-top-color: #0000;
  }

  .border-b-slate-700 {
    border-bottom-color: var(--color-slate-700);
  }

  .bg-background {
    background-color: var(--background);
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-black\/20 {
    background-color: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/20 {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }

  .bg-black\/30 {
    background-color: #0000004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/30 {
      background-color: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
  }

  .bg-black\/50 {
    background-color: #00000080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/50 {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }

  .bg-black\/70 {
    background-color: #000000b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/70 {
      background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
    }
  }

  .bg-blue-400\/10 {
    background-color: #54a2ff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-400\/10 {
      background-color: color-mix(in oklab, var(--color-blue-400) 10%, transparent);
    }
  }

  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }

  .bg-blue-500\/10 {
    background-color: #3080ff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-500\/10 {
      background-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
    }
  }

  .bg-blue-500\/20 {
    background-color: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-500\/20 {
      background-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
    }
  }

  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }

  .bg-blue-600\/20 {
    background-color: #155dfc33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-600\/20 {
      background-color: color-mix(in oklab, var(--color-blue-600) 20%, transparent);
    }
  }

  .bg-cyan-400 {
    background-color: var(--color-cyan-400);
  }

  .bg-destructive {
    background-color: var(--destructive);
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-gray-400\/10 {
    background-color: #99a1af1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-400\/10 {
      background-color: color-mix(in oklab, var(--color-gray-400) 10%, transparent);
    }
  }

  .bg-gray-500 {
    background-color: var(--color-gray-500);
  }

  .bg-gray-500\/20 {
    background-color: #6a728233;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-500\/20 {
      background-color: color-mix(in oklab, var(--color-gray-500) 20%, transparent);
    }
  }

  .bg-gray-600 {
    background-color: var(--color-gray-600);
  }

  .bg-gray-700 {
    background-color: var(--color-gray-700);
  }

  .bg-gray-800 {
    background-color: var(--color-gray-800);
  }

  .bg-gray-900 {
    background-color: var(--color-gray-900);
  }

  .bg-green-100 {
    background-color: var(--color-green-100);
  }

  .bg-green-400 {
    background-color: var(--color-green-400);
  }

  .bg-green-500 {
    background-color: var(--color-green-500);
  }

  .bg-green-500\/20 {
    background-color: #00c75833;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-green-500\/20 {
      background-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
    }
  }

  .bg-green-600 {
    background-color: var(--color-green-600);
  }

  .bg-green-600\/20 {
    background-color: #00a54433;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-green-600\/20 {
      background-color: color-mix(in oklab, var(--color-green-600) 20%, transparent);
    }
  }

  .bg-indigo-600 {
    background-color: var(--color-indigo-600);
  }

  .bg-indigo-700 {
    background-color: var(--color-indigo-700);
  }

  .bg-orange-400 {
    background-color: var(--color-orange-400);
  }

  .bg-orange-400\/10 {
    background-color: #ff8b1a1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-orange-400\/10 {
      background-color: color-mix(in oklab, var(--color-orange-400) 10%, transparent);
    }
  }

  .bg-orange-500 {
    background-color: var(--color-orange-500);
  }

  .bg-pink-400 {
    background-color: var(--color-pink-400);
  }

  .bg-pink-500 {
    background-color: var(--color-pink-500);
  }

  .bg-primary {
    background-color: var(--primary);
  }

  .bg-purple-500 {
    background-color: var(--color-purple-500);
  }

  .bg-purple-500\/20 {
    background-color: #ac4bff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-500\/20 {
      background-color: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
    }
  }

  .bg-purple-600\/20 {
    background-color: #9810fa33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-600\/20 {
      background-color: color-mix(in oklab, var(--color-purple-600) 20%, transparent);
    }
  }

  .bg-red-500 {
    background-color: var(--color-red-500);
  }

  .bg-red-600 {
    background-color: var(--color-red-600);
  }

  .bg-secondary {
    background-color: var(--secondary);
  }

  .bg-slate-500 {
    background-color: var(--color-slate-500);
  }

  .bg-slate-600 {
    background-color: var(--color-slate-600);
  }

  .bg-slate-600\/30 {
    background-color: #45556c4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-600\/30 {
      background-color: color-mix(in oklab, var(--color-slate-600) 30%, transparent);
    }
  }

  .bg-slate-700 {
    background-color: var(--color-slate-700);
  }

  .bg-slate-700\/30 {
    background-color: #3141584d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/30 {
      background-color: color-mix(in oklab, var(--color-slate-700) 30%, transparent);
    }
  }

  .bg-slate-700\/50 {
    background-color: #31415880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/50 {
      background-color: color-mix(in oklab, var(--color-slate-700) 50%, transparent);
    }
  }

  .bg-slate-800 {
    background-color: var(--color-slate-800);
  }

  .bg-slate-800\/30 {
    background-color: #1d293d4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/30 {
      background-color: color-mix(in oklab, var(--color-slate-800) 30%, transparent);
    }
  }

  .bg-slate-800\/50 {
    background-color: #1d293d80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/50 {
      background-color: color-mix(in oklab, var(--color-slate-800) 50%, transparent);
    }
  }

  .bg-slate-800\/80 {
    background-color: #1d293dcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/80 {
      background-color: color-mix(in oklab, var(--color-slate-800) 80%, transparent);
    }
  }

  .bg-slate-800\/95 {
    background-color: #1d293df2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/95 {
      background-color: color-mix(in oklab, var(--color-slate-800) 95%, transparent);
    }
  }

  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }

  .bg-slate-900\/95 {
    background-color: #0f172bf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/95 {
      background-color: color-mix(in oklab, var(--color-slate-900) 95%, transparent);
    }
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-white\/30 {
    background-color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/30 {
      background-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .bg-white\/80 {
    background-color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/80 {
      background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .bg-white\/90 {
    background-color: #ffffffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/90 {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }

  .bg-yellow-400 {
    background-color: var(--color-yellow-400);
  }

  .bg-yellow-400\/10 {
    background-color: #fac8001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-yellow-400\/10 {
      background-color: color-mix(in oklab, var(--color-yellow-400) 10%, transparent);
    }
  }

  .bg-yellow-500 {
    background-color: var(--color-yellow-500);
  }

  .bg-yellow-500\/20 {
    background-color: #edb20033;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-yellow-500\/20 {
      background-color: color-mix(in oklab, var(--color-yellow-500) 20%, transparent);
    }
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-black\/70 {
    --tw-gradient-from: #000000b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/70 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);
    }
  }

  .from-black\/70 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-400 {
    --tw-gradient-from: var(--color-blue-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-500 {
    --tw-gradient-from: var(--color-blue-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-600 {
    --tw-gradient-from: var(--color-blue-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-600\/20 {
    --tw-gradient-from: #155dfc33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-blue-600\/20 {
      --tw-gradient-from: color-mix(in oklab, var(--color-blue-600) 20%, transparent);
    }
  }

  .from-blue-600\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-gray-700 {
    --tw-gradient-from: var(--color-gray-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-green-400 {
    --tw-gradient-from: var(--color-green-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-purple-50 {
    --tw-gradient-from: var(--color-purple-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-purple-400 {
    --tw-gradient-from: var(--color-purple-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-purple-500 {
    --tw-gradient-from: var(--color-purple-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-purple-600 {
    --tw-gradient-from: var(--color-purple-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-800 {
    --tw-gradient-from: var(--color-slate-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-yellow-400 {
    --tw-gradient-from: var(--color-yellow-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .via-black\/20 {
    --tw-gradient-via: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-black\/20 {
      --tw-gradient-via: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }

  .via-black\/20 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-gray-800 {
    --tw-gradient-via: var(--color-gray-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-blue-500 {
    --tw-gradient-to: var(--color-blue-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-600 {
    --tw-gradient-to: var(--color-blue-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-gray-900 {
    --tw-gradient-to: var(--color-gray-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-indigo-100 {
    --tw-gradient-to: var(--color-indigo-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-indigo-600 {
    --tw-gradient-to: var(--color-indigo-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-lime-500 {
    --tw-gradient-to: var(--color-lime-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-pink-400 {
    --tw-gradient-to: var(--color-pink-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-pink-500 {
    --tw-gradient-to: var(--color-pink-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-purple-500 {
    --tw-gradient-to: var(--color-purple-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-purple-600 {
    --tw-gradient-to: var(--color-purple-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-purple-600\/20 {
    --tw-gradient-to: #9810fa33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-purple-600\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-purple-600) 20%, transparent);
    }
  }

  .to-purple-600\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-slate-800 {
    --tw-gradient-to: var(--color-slate-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .bg-cover {
    background-size: cover;
  }

  .bg-clip-text {
    -webkit-background-clip: text;
    background-clip: text;
  }

  .bg-center {
    background-position: center;
  }

  .fill-current {
    fill: currentColor;
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .p-10 {
    padding: calc(var(--spacing) * 10);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\! {
    padding-inline: calc(var(--spacing) * 2) !important;
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-4\! {
    padding-block: calc(var(--spacing) * 4) !important;
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }

  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pr-12 {
    padding-right: calc(var(--spacing) * 12);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .leading-\[45px\] {
    --tw-leading: 45px;
    line-height: 45px;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-black {
    color: var(--color-black);
  }

  .text-blue-200 {
    color: var(--color-blue-200);
  }

  .text-blue-300 {
    color: var(--color-blue-300);
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-blue-500 {
    color: var(--color-blue-500);
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-current {
    color: currentColor;
  }

  .text-destructive-foreground {
    color: var(--destructive-foreground);
  }

  .text-gray-200 {
    color: var(--color-gray-200);
  }

  .text-gray-300 {
    color: var(--color-gray-300);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-green-300 {
    color: var(--color-green-300);
  }

  .text-green-400 {
    color: var(--color-green-400);
  }

  .text-green-500 {
    color: var(--color-green-500);
  }

  .text-green-600 {
    color: var(--color-green-600);
  }

  .text-indigo-400 {
    color: var(--color-indigo-400);
  }

  .text-indigo-600 {
    color: var(--color-indigo-600);
  }

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

  .text-orange-400 {
    color: var(--color-orange-400);
  }

  .text-pink-400 {
    color: var(--color-pink-400);
  }

  .text-primary {
    color: var(--primary);
  }

  .text-primary-foreground {
    color: var(--primary-foreground);
  }

  .text-purple-300 {
    color: var(--color-purple-300);
  }

  .text-purple-400 {
    color: var(--color-purple-400);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-red-600 {
    color: var(--color-red-600);
  }

  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }

  .text-slate-200 {
    color: var(--color-slate-200);
  }

  .text-slate-300 {
    color: var(--color-slate-300);
  }

  .text-slate-400 {
    color: var(--color-slate-400);
  }

  .text-slate-500 {
    color: var(--color-slate-500);
  }

  .text-slate-600 {
    color: var(--color-slate-600);
  }

  .text-slate-800 {
    color: var(--color-slate-800);
  }

  .text-slate-900 {
    color: var(--color-slate-900);
  }

  .text-transparent {
    color: #0000;
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/20 {
    color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/20 {
      color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .text-yellow-300\/80 {
    color: #ffe02acc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-yellow-300\/80 {
      color: color-mix(in oklab, var(--color-yellow-300) 80%, transparent);
    }
  }

  .text-yellow-400 {
    color: var(--color-yellow-400);
  }

  .normal-case {
    text-transform: none;
  }

  .italic {
    font-style: italic;
  }

  .underline {
    text-decoration-line: underline;
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .placeholder-gray-400::placeholder {
    color: var(--color-gray-400);
  }

  .placeholder-slate-400::placeholder {
    color: var(--color-slate-400);
  }

  .accent-blue-500 {
    accent-color: var(--color-blue-500);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-20 {
    opacity: .2;
  }

  .opacity-25 {
    opacity: .25;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-blue-500\/20 {
    --tw-shadow-color: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-blue-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-black {
    --tw-ring-color: var(--color-black);
  }

  .ring-blue-500 {
    --tw-ring-color: var(--color-blue-500);
  }

  .ring-yellow-400 {
    --tw-ring-color: var(--color-yellow-400);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[color\,box-shadow\] {
    transition-property: color, box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-none {
    transition-property: none;
  }

  .duration-75 {
    --tw-duration: 75ms;
    transition-duration: 75ms;
  }

  .duration-100 {
    --tw-duration: .1s;
    transition-duration: .1s;
  }

  .duration-150 {
    --tw-duration: .15s;
    transition-duration: .15s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .will-change-transform {
    will-change: transform;
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .\[mm\:ss\] {
    mm: ss;
  }

  .paused {
    animation-play-state: paused;
  }

  @media (hover: hover) {
    .group-hover\:-translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:text-blue-300:is(:where(.group):hover *) {
      color: var(--color-blue-300);
    }

    .group-hover\:text-white:is(:where(.group):hover *) {
      color: var(--color-white);
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled="true"] *) {
    pointer-events: none;
  }

  .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled="true"] *) {
    opacity: .5;
  }

  .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
    cursor: not-allowed;
  }

  .peer-disabled\:opacity-50:is(:where(.peer):disabled ~ *) {
    opacity: .5;
  }

  .selection\:bg-primary ::selection {
    background-color: var(--primary);
  }

  .selection\:bg-primary::selection {
    background-color: var(--primary);
  }

  .selection\:text-primary-foreground ::selection {
    color: var(--primary-foreground);
  }

  .selection\:text-primary-foreground::selection {
    color: var(--primary-foreground);
  }

  .file\:inline-flex::file-selector-button {
    display: inline-flex;
  }

  .file\:h-7::file-selector-button {
    height: calc(var(--spacing) * 7);
  }

  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:bg-transparent::file-selector-button {
    background-color: #0000;
  }

  .file\:text-sm::file-selector-button {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .file\:font-medium::file-selector-button {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .file\:text-foreground::file-selector-button {
    color: var(--foreground);
  }

  .placeholder\:text-muted-foreground::placeholder {
    color: var(--muted-foreground);
  }

  .after\:absolute:after {
    content: var(--tw-content);
    position: absolute;
  }

  .after\:inset-0:after {
    content: var(--tw-content);
    inset: calc(var(--spacing) * 0);
  }

  .after\:top-1\/2:after {
    content: var(--tw-content);
    top: 50%;
  }

  .after\:z-0:after {
    content: var(--tw-content);
    z-index: 0;
  }

  .after\:flex:after {
    content: var(--tw-content);
    display: flex;
  }

  .after\:items-center:after {
    content: var(--tw-content);
    align-items: center;
  }

  .after\:border-t:after {
    content: var(--tw-content);
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .after\:border-border:after {
    content: var(--tw-content);
    border-color: var(--border);
  }

  .last\:border-0:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  @media (hover: hover) {
    .hover\:-translate-y-1:hover {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-110:hover {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:scale-\[1\.02\]:hover {
      scale: 1.02;
    }

    .hover\:border-blue-700:hover {
      border-color: var(--color-blue-700);
    }

    .hover\:border-red-500:hover {
      border-color: var(--color-red-500);
    }

    .hover\:border-slate-500:hover {
      border-color: var(--color-slate-500);
    }

    .hover\:border-slate-600:hover {
      border-color: var(--color-slate-600);
    }

    .hover\:border-slate-600\/50:hover {
      border-color: #45556c80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-slate-600\/50:hover {
        border-color: color-mix(in oklab, var(--color-slate-600) 50%, transparent);
      }
    }

    .hover\:bg-accent:hover {
      background-color: var(--accent);
    }

    .hover\:bg-black\/40:hover {
      background-color: #0006;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/40:hover {
        background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
      }
    }

    .hover\:bg-black\/70:hover {
      background-color: #000000b3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/70:hover {
        background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
      }
    }

    .hover\:bg-blue-400:hover {
      background-color: var(--color-blue-400);
    }

    .hover\:bg-blue-400\/20:hover {
      background-color: #54a2ff33;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-blue-400\/20:hover {
        background-color: color-mix(in oklab, var(--color-blue-400) 20%, transparent);
      }
    }

    .hover\:bg-blue-500:hover {
      background-color: var(--color-blue-500);
    }

    .hover\:bg-blue-700:hover {
      background-color: var(--color-blue-700);
    }

    .hover\:bg-destructive\/90:hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/90:hover {
        background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
      }
    }

    .hover\:bg-gray-500:hover {
      background-color: var(--color-gray-500);
    }

    .hover\:bg-gray-600:hover {
      background-color: var(--color-gray-600);
    }

    .hover\:bg-green-500:hover {
      background-color: var(--color-green-500);
    }

    .hover\:bg-green-600\/30:hover {
      background-color: #00a5444d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-green-600\/30:hover {
        background-color: color-mix(in oklab, var(--color-green-600) 30%, transparent);
      }
    }

    .hover\:bg-green-700:hover {
      background-color: var(--color-green-700);
    }

    .hover\:bg-indigo-700:hover {
      background-color: var(--color-indigo-700);
    }

    .hover\:bg-indigo-800:hover {
      background-color: var(--color-indigo-800);
    }

    .hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/90:hover {
        background-color: color-mix(in oklab, var(--primary) 90%, transparent);
      }
    }

    .hover\:bg-red-600:hover {
      background-color: var(--color-red-600);
    }

    .hover\:bg-red-600\/20:hover {
      background-color: #e4001433;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-red-600\/20:hover {
        background-color: color-mix(in oklab, var(--color-red-600) 20%, transparent);
      }
    }

    .hover\:bg-red-700:hover {
      background-color: var(--color-red-700);
    }

    .hover\:bg-secondary\/80:hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-secondary\/80:hover {
        background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
      }
    }

    .hover\:bg-slate-100:hover {
      background-color: var(--color-slate-100);
    }

    .hover\:bg-slate-500:hover {
      background-color: var(--color-slate-500);
    }

    .hover\:bg-slate-600:hover {
      background-color: var(--color-slate-600);
    }

    .hover\:bg-slate-700:hover {
      background-color: var(--color-slate-700);
    }

    .hover\:bg-slate-700\/50:hover {
      background-color: #31415880;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-700\/50:hover {
        background-color: color-mix(in oklab, var(--color-slate-700) 50%, transparent);
      }
    }

    .hover\:bg-slate-800:hover {
      background-color: var(--color-slate-800);
    }

    .hover\:bg-slate-800\/40:hover {
      background-color: #1d293d66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-800\/40:hover {
        background-color: color-mix(in oklab, var(--color-slate-800) 40%, transparent);
      }
    }

    .hover\:bg-slate-800\/50:hover {
      background-color: #1d293d80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-800\/50:hover {
        background-color: color-mix(in oklab, var(--color-slate-800) 50%, transparent);
      }
    }

    .hover\:bg-yellow-300:hover {
      background-color: var(--color-yellow-300);
    }

    .hover\:bg-yellow-400:hover {
      background-color: var(--color-yellow-400);
    }

    .hover\:bg-yellow-500\/30:hover {
      background-color: #edb2004d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-yellow-500\/30:hover {
        background-color: color-mix(in oklab, var(--color-yellow-500) 30%, transparent);
      }
    }

    .hover\:from-blue-400:hover {
      --tw-gradient-from: var(--color-blue-400);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:from-blue-600:hover {
      --tw-gradient-from: var(--color-blue-600);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:from-blue-700:hover {
      --tw-gradient-from: var(--color-blue-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:from-green-500:hover {
      --tw-gradient-from: var(--color-green-500);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:from-purple-600:hover {
      --tw-gradient-from: var(--color-purple-600);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:from-purple-700:hover {
      --tw-gradient-from: var(--color-purple-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-blue-600:hover {
      --tw-gradient-to: var(--color-blue-600);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-indigo-500:hover {
      --tw-gradient-to: var(--color-indigo-500);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-indigo-700:hover {
      --tw-gradient-to: var(--color-indigo-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-purple-600:hover {
      --tw-gradient-to: var(--color-purple-600);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-purple-700:hover {
      --tw-gradient-to: var(--color-purple-700);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:text-accent-foreground:hover {
      color: var(--accent-foreground);
    }

    .hover\:text-blue-300:hover {
      color: var(--color-blue-300);
    }

    .hover\:text-blue-400:hover {
      color: var(--color-blue-400);
    }

    .hover\:text-blue-700:hover {
      color: var(--color-blue-700);
    }

    .hover\:text-blue-800:hover {
      color: var(--color-blue-800);
    }

    .hover\:text-red-200:hover {
      color: var(--color-red-200);
    }

    .hover\:text-red-300:hover {
      color: var(--color-red-300);
    }

    .hover\:text-red-400:hover {
      color: var(--color-red-400);
    }

    .hover\:text-slate-900:hover {
      color: var(--color-slate-900);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:text-yellow-300:hover {
      color: var(--color-yellow-300);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:opacity-60:hover {
      opacity: .6;
    }

    .hover\:opacity-80:hover {
      opacity: .8;
    }

    .hover\:opacity-100:hover {
      opacity: 1;
    }

    .hover\:shadow-2xl:hover {
      --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-lg:hover {
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-md:hover {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-xl:hover {
      --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:ring-2:hover {
      --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:ring-blue-400:hover {
      --tw-ring-color: var(--color-blue-400);
    }
  }

  .focus\:border-blue-400:focus {
    border-color: var(--color-blue-400);
  }

  .focus\:border-blue-500:focus {
    border-color: var(--color-blue-500);
  }

  .focus\:border-indigo-500:focus {
    border-color: var(--color-indigo-500);
  }

  .focus\:border-transparent:focus {
    border-color: #0000;
  }

  .focus\:border-yellow-400:focus {
    border-color: var(--color-yellow-400);
  }

  .focus\:text-yellow-300:focus {
    color: var(--color-yellow-300);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-blue-400:focus {
    --tw-ring-color: var(--color-blue-400);
  }

  .focus\:ring-blue-500:focus {
    --tw-ring-color: var(--color-blue-500);
  }

  .focus\:ring-indigo-500:focus {
    --tw-ring-color: var(--color-indigo-500);
  }

  .focus\:ring-red-500:focus {
    --tw-ring-color: var(--color-red-500);
  }

  .focus\:ring-yellow-500:focus {
    --tw-ring-color: var(--color-yellow-500);
  }

  .focus\:ring-yellow-500\/50:focus {
    --tw-ring-color: #edb20080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-yellow-500\/50:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-yellow-500) 50%, transparent);
    }
  }

  .focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus\:ring-offset-slate-800:focus {
    --tw-ring-offset-color: var(--color-slate-800);
  }

  .focus\:ring-offset-slate-900:focus {
    --tw-ring-offset-color: var(--color-slate-900);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .focus-visible\:border-ring:focus-visible {
    border-color: var(--ring);
  }

  .focus-visible\:ring-\[3px\]:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-destructive\/20:focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-destructive\/20:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-ring\/50:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  .has-\[\>svg\]\:px-2\.5:has( > svg) {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .has-\[\>svg\]\:px-3:has( > svg) {
    padding-inline: calc(var(--spacing) * 3);
  }

  .has-\[\>svg\]\:px-4:has( > svg) {
    padding-inline: calc(var(--spacing) * 4);
  }

  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .data-\[error\=true\]\:text-destructive-foreground[data-error="true"] {
    color: var(--destructive-foreground);
  }

  .data-\[state\=checked\]\:border-primary[data-state="checked"] {
    border-color: var(--primary);
  }

  .data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: var(--primary);
  }

  .data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
    color: var(--primary-foreground);
  }

  @media (min-width: 40rem) {
    .sm\:flex {
      display: flex;
    }

    .sm\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }

  @media (min-width: 48rem) {
    .md\:flex {
      display: flex;
    }

    .md\:w-1\/3 {
      width: 33.3333%;
    }

    .md\:w-2\/3 {
      width: 66.6667%;
    }

    .md\:w-2\/5 {
      width: 40%;
    }

    .md\:w-3\/5 {
      width: 60%;
    }

    .md\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .md\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .md\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .md\:flex-row {
      flex-direction: row;
    }

    .md\:border-l {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }

    .md\:border-slate-700 {
      border-color: var(--color-slate-700);
    }

    .md\:p-12 {
      padding: calc(var(--spacing) * 12);
    }

    .md\:pl-4 {
      padding-left: calc(var(--spacing) * 4);
    }

    .md\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (min-width: 64rem) {
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .lg\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .lg\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .lg\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .lg\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .lg\:grid-cols-9 {
      grid-template-columns: repeat(9, minmax(0, 1fr));
    }

    .lg\:grid-cols-10 {
      grid-template-columns: repeat(10, minmax(0, 1fr));
    }

    .lg\:grid-cols-11 {
      grid-template-columns: repeat(11, minmax(0, 1fr));
    }

    .lg\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .lg\:flex-row {
      flex-direction: row;
    }

    .lg\:p-10 {
      padding: calc(var(--spacing) * 10);
    }
  }

  @media (min-width: 80rem) {
    .xl\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }

  .dark\:border-input:is(.dark *) {
    border-color: var(--input);
  }

  .dark\:bg-destructive\/60:is(.dark *) {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-destructive\/60:is(.dark *) {
      background-color: color-mix(in oklab, var(--destructive) 60%, transparent);
    }
  }

  .dark\:bg-gray-800:is(.dark *) {
    background-color: var(--color-gray-800);
  }

  .dark\:bg-input\/30:is(.dark *) {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-input\/30:is(.dark *) {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }

  .dark\:from-gray-900:is(.dark *) {
    --tw-gradient-from: var(--color-gray-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:to-gray-800:is(.dark *) {
    --tw-gradient-to: var(--color-gray-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .dark\:text-blue-600:is(.dark *) {
    color: var(--color-blue-600);
  }

  .dark\:text-gray-300:is(.dark *) {
    color: var(--color-gray-300);
  }

  .dark\:text-indigo-600:is(.dark *) {
    color: var(--color-indigo-600);
  }

  .dark\:text-pink-600:is(.dark *) {
    color: var(--color-pink-600);
  }

  .dark\:text-purple-600:is(.dark *) {
    color: var(--color-purple-600);
  }

  .dark\:text-white:is(.dark *) {
    color: var(--color-white);
  }

  @media (hover: hover) {
    .dark\:hover\:bg-accent\/50:is(.dark *):hover {
      background-color: var(--accent);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-accent\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--accent) 50%, transparent);
      }
    }

    .dark\:hover\:bg-input\/50:is(.dark *):hover {
      background-color: var(--input);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-input\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--input) 50%, transparent);
      }
    }
  }

  .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
}

@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}

@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}

@property --tw-animation-duration {
  syntax: "*";
  inherits: false
}

@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}

@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

:root {
  --background: oklch(100% 0 0);
  --foreground: oklch(14.5% 0 0);
  --card: oklch(100% 0 0);
  --card-foreground: oklch(14.5% 0 0);
  --popover: oklch(100% 0 0);
  --popover-foreground: oklch(14.5% 0 0);
  --primary: oklch(20.5% 0 0);
  --primary-foreground: oklch(98.5% 0 0);
  --secondary: oklch(97% 0 0);
  --secondary-foreground: oklch(20.5% 0 0);
  --muted: oklch(97% 0 0);
  --muted-foreground: oklch(55.6% 0 0);
  --accent: oklch(97% 0 0);
  --accent-foreground: oklch(20.5% 0 0);
  --destructive: oklch(57.7% .245 27.325);
  --destructive-foreground: oklch(57.7% .245 27.325);
  --border: oklch(92.2% 0 0);
  --input: oklch(92.2% 0 0);
  --ring: oklch(70.8% 0 0);
  --chart-1: oklch(64.6% .222 41.116);
  --chart-2: oklch(60% .118 184.704);
  --chart-3: oklch(39.8% .07 227.392);
  --chart-4: oklch(82.8% .189 84.429);
  --chart-5: oklch(76.9% .188 70.08);
  --radius: .625rem;
  --sidebar: oklch(98.5% 0 0);
  --sidebar-foreground: oklch(14.5% 0 0);
  --sidebar-primary: oklch(20.5% 0 0);
  --sidebar-primary-foreground: oklch(98.5% 0 0);
  --sidebar-accent: oklch(97% 0 0);
  --sidebar-accent-foreground: oklch(20.5% 0 0);
  --sidebar-border: oklch(92.2% 0 0);
  --sidebar-ring: oklch(70.8% 0 0);
}

.dark {
  --background: oklch(14.5% 0 0);
  --foreground: oklch(98.5% 0 0);
  --card: oklch(14.5% 0 0);
  --card-foreground: oklch(98.5% 0 0);
  --popover: oklch(14.5% 0 0);
  --popover-foreground: oklch(98.5% 0 0);
  --primary: oklch(98.5% 0 0);
  --primary-foreground: oklch(20.5% 0 0);
  --secondary: oklch(26.9% 0 0);
  --secondary-foreground: oklch(98.5% 0 0);
  --muted: oklch(26.9% 0 0);
  --muted-foreground: oklch(70.8% 0 0);
  --accent: oklch(26.9% 0 0);
  --accent-foreground: oklch(98.5% 0 0);
  --destructive: oklch(39.6% .141 25.723);
  --destructive-foreground: oklch(63.7% .237 25.331);
  --border: oklch(26.9% 0 0);
  --input: oklch(26.9% 0 0);
  --ring: oklch(43.9% 0 0);
  --chart-1: oklch(48.8% .243 264.376);
  --chart-2: oklch(69.6% .17 162.48);
  --chart-3: oklch(76.9% .188 70.08);
  --chart-4: oklch(62.7% .265 303.9);
  --chart-5: oklch(64.5% .246 16.439);
  --sidebar: oklch(20.5% 0 0);
  --sidebar-foreground: oklch(98.5% 0 0);
  --sidebar-primary: oklch(48.8% .243 264.376);
  --sidebar-primary-foreground: oklch(98.5% 0 0);
  --sidebar-accent: oklch(26.9% 0 0);
  --sidebar-accent-foreground: oklch(98.5% 0 0);
  --sidebar-border: oklch(26.9% 0 0);
  --sidebar-ring: oklch(43.9% 0 0);
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-pan-x {
  syntax: "*";
  inherits: false
}

@property --tw-pan-y {
  syntax: "*";
  inherits: false
}

@property --tw-pinch-zoom {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}
