.border-glow-card {
  --edge-proximity: 0;
  --cursor-angle: 45deg;
  --edge-sensitivity: 30;
  --color-sensitivity: calc(var(--edge-sensitivity) + 20);
  --border-radius: 28px;
  --glow-padding: 40px;
  --cone-spread: 25;

  position: relative;
  border-radius: var(--border-radius);
  isolation: isolate;
  transform: translate3d(0, 0, 0.01px);
  display: grid;
  border: 1px solid rgb(255 255 255 / 15%);
  background: var(--card-bg, #120F17);
  overflow: visible;
  box-shadow:
    rgba(0, 0, 0, 0.1) 0px 1px 2px,
    rgba(0, 0, 0, 0.1) 0px 2px 4px,
    rgba(0, 0, 0, 0.1) 0px 4px 8px,
    rgba(0, 0, 0, 0.1) 0px 8px 16px,
    rgba(0, 0, 0, 0.1) 0px 16px 32px,
    rgba(0, 0, 0, 0.1) 0px 32px 64px;
}

.border-glow-card::before,
.border-glow-card::after,
.border-glow-card > .edge-light {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  transition: opacity 0.25s ease-out;
  z-index: -1;
}

.border-glow-color-border {
  display: none;
}

.border-glow-card:not(:hover):not(.sweep-active)::before,
.border-glow-card:not(:hover):not(.sweep-active)::after,
.border-glow-card:not(:hover):not(.sweep-active) > .edge-light {
  opacity: 0;
  transition: opacity 0.75s ease-in-out;
}

/* colored mesh-gradient border */
.border-glow-card::before {
  border: 1px solid transparent;
  background:
    linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,
    linear-gradient(rgb(255 255 255 / 0%) 0% 100%) border-box,
    var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;

  opacity: calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));

  mask-image:
    conic-gradient(
      from var(--cursor-angle) at center,
      black calc(var(--cone-spread) * 1%),
      transparent calc((var(--cone-spread) + 15) * 1%),
      transparent calc((100 - var(--cone-spread) - 15) * 1%),
      black calc((100 - var(--cone-spread)) * 1%)
    );
}

/* colored mesh-gradient background fill near edges */
.border-glow-card::after {
  border: 1px solid transparent;
  background:
    var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;

  mask-image:
    linear-gradient(to bottom, black, black),
    radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%),
    radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%),
    radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%),
    radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%),
    radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%),
    conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);

  mask-composite: subtract, add, add, add, add, add;
  opacity: calc(var(--fill-opacity, 0.5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));
  mix-blend-mode: soft-light;
}

/* outer glow layer */
.border-glow-card > .edge-light {
  inset: calc(var(--glow-padding) * -1);
  pointer-events: none;
  z-index: 1;

  mask-image:
    conic-gradient(
      from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%
    );

  opacity: calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));
  mix-blend-mode: plus-lighter;
}

.border-glow-card > .edge-light::before {
  content: "";
  position: absolute;
  inset: var(--glow-padding);
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),
    inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),
    inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),
    inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),
    inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),
    inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),
    inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),
    0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),
    0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),
    0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),
    0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),
    0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),
    0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%));
}

.border-glow-inner {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: auto;
  z-index: 1;
}
.stroke-text {
  display: block;
  width: 100%;
  line-height: 0;
}

.stroke-text--hover {
  cursor: pointer;
}

.stroke-text__svg {
  display: block;
  width: 100%;
  height: var(--stroke-text-height, 160px);
}

.stroke-text__stroke,
.stroke-text__fill {
  user-select: none;
}
.homepage {
  /* 布局标尺 —— 页面边距与关键尺寸只在此定义一次 */
  --page-max: 1440px;
  --page-gutter: clamp(20px, 4vw, 40px);
  --stage-gap: clamp(24px, 5vw, 80px);
  --portal-w: clamp(380px, 42vw, 600px);
  --portal-h: clamp(64px, 11vh, 100px);
  --portal-column-gap: clamp(12px, 1.8vw, 24px);

  --paper: #f5f7fa;
  --muted: #9ba0ab;
  --accent: #ff6b83;
  --cool: #a78bfa;

  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  row-gap: clamp(24px, 5vh, 56px);
  min-height: 100dvh;
  height: 100dvh;
  overflow: hidden;
  padding: clamp(18px, 4vh, 48px) var(--page-gutter);
  background: #101817;
  color: var(--paper);
  font-family: var(--site-font);
}

.admin-entry-trigger {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  width: 72px;
  height: 72px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: default;
}

.admin-login-dialog,
.admin-item-dialog,
.admin-delete-dialog {
  border: 1px solid rgb(255 255 255 / 0.12);
  background: rgb(23 21 28 / 0.92);
  box-shadow: 0 24px 80px rgb(0 0 0 / 0.42);
  color: var(--paper);
  backdrop-filter: blur(24px) saturate(1.35);
  -webkit-backdrop-filter: blur(24px) saturate(1.35);
}

.admin-login-dialog {
  width: min(100%, 390px);
  padding: 20px;
}

.admin-item-dialog {
  width: min(calc(100% - 32px), 640px);
  max-width: 640px;
  max-height: calc(100dvh - 32px);
  padding: 20px;
  overflow-y: auto;
}

.admin-delete-dialog {
  width: min(calc(100% - 32px), 420px);
  max-width: 420px;
}

.admin-login-dialog [data-slot="dialog-description"],
.admin-item-dialog [data-slot="dialog-description"],
.admin-delete-dialog [data-slot="alert-dialog-description"] {
  color: rgb(245 247 250 / 0.58);
}

.admin-dialog-close {
  position: absolute;
  top: 12px;
  right: 12px;
  color: rgb(245 247 250 / 0.62);
}

.admin-dialog-close:hover,
.admin-dialog-close:focus-visible {
  background: rgb(245 247 250 / 0.1);
  color: var(--paper);
}

.admin-login-form,
.admin-item-form {
  display: grid;
  gap: 18px;
}

.admin-login-field,
.admin-item-field {
  display: grid;
  gap: 7px;
}

.admin-login-field [data-slot="label"],
.admin-item-field [data-slot="label"],
.admin-item-checkbox-field [data-slot="label"] {
  color: rgb(245 247 250 / 0.68);
  font-size: 11px;
}

.admin-login-field [data-slot="input"],
.admin-item-field [data-slot="input"],
.admin-item-select {
  height: 40px;
  border-color: rgb(255 255 255 / 0.12);
  border-radius: 12px;
  background: rgb(255 255 255 / 0.055);
  color: var(--paper);
}

.admin-item-select {
  width: 100%;
}

.admin-order-control {
  height: 40px;
  border-color: rgb(255 255 255 / 0.12);
  border-radius: 12px;
  background: rgb(255 255 255 / 0.055);
}

.admin-order-control[data-control-focus-visible="true"] {
  border-color: rgb(167 139 250 / 0.72);
}

.admin-order-input {
  -moz-appearance: textfield;
}

.admin-order-input::-webkit-inner-spin-button,
.admin-order-input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.admin-order-actions {
  align-self: stretch;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 2px;
  margin-right: 0;
  padding: 4px 6px 4px 4px;
  border-left: 1px solid rgb(255 255 255 / 0.08);
}

.admin-order-actions [data-slot="button"] {
  width: 22px;
  height: 14px;
  min-height: 0;
  border-radius: 6px;
  color: rgb(245 247 250 / 0.56);
}

.admin-order-actions [data-slot="button"]:hover,
.admin-order-actions [data-slot="button"]:focus-visible {
  background: rgb(167 139 250 / 0.14);
  color: var(--paper);
}

.admin-order-actions [data-slot="button"]:focus-visible {
  border-color: transparent;
  box-shadow: none;
}

.admin-login-field [data-slot="input"]:focus,
.admin-item-field [data-slot="input"]:focus,
.admin-item-select:focus {
  border-color: rgb(167 139 250 / 0.72);
}

.admin-login-field [data-slot="input"]:not(:focus),
.admin-item-field [data-slot="input"]:not(:focus),
.admin-item-select:not(:focus),
.admin-order-control:not([data-control-focus-visible="true"]) {
  clip-path: inset(0 round 12px);
}

.admin-item-select-content,
.admin-context-menu {
  border: 1px solid rgb(255 255 255 / 0.12);
  background: rgb(23 21 28 / 0.95);
  color: var(--paper);
  box-shadow: 0 18px 48px rgb(0 0 0 / 0.38);
  backdrop-filter: blur(20px) saturate(1.35);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
}

.admin-item-select-content {
  padding: 6px;
}

.admin-item-select-content [data-slot="select-item"] {
  min-height: 36px;
  padding-inline: 10px 34px;
  border-radius: 8px;
}

.admin-login-submit {
  width: 100%;
  height: 40px;
  border: 1px solid rgb(167 139 250 / 0.5);
  background: rgb(167 139 250 / 0.13);
  color: var(--paper);
}

.admin-login-submit:hover,
.admin-login-submit:focus-visible {
  border-color: rgb(167 139 250 / 0.72);
  background: rgb(167 139 250 / 0.16);
}

.admin-item-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-item-checkbox-field {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding-top: 18px;
}

.admin-item-checkbox-field [data-slot="checkbox"] {
  border-color: rgb(255 255 255 / 0.18);
  background: rgb(255 255 255 / 0.055);
}

.admin-item-checkbox-field [data-slot="checkbox"][data-checked] {
  border-color: #7c3aed;
  background: #7c3aed;
  color: #fff;
}

.admin-form-error {
  margin: 0;
  color: #ff9aab;
  font-size: 11px;
  line-height: 1.45;
}

.admin-item-footer {
  margin: 0 -20px -20px;
  border-color: rgb(255 255 255 / 0.08);
  border-radius: 0 0 16px 16px;
  background: rgb(255 255 255 / 0.025);
}

.admin-item-footer-spacer {
  flex: 1;
}

.admin-session-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-session-badge,
.admin-session-logout {
  min-height: 32px;
  border: 1px solid rgb(255 255 255 / 0.1);
  border-radius: 12px;
  background: rgb(255 255 255 / 0.045);
  box-shadow: 0 4px 24px rgb(0 0 0 / 0.12);
  color: rgb(245 247 250 / 0.72);
  backdrop-filter: blur(20px) saturate(1.55) brightness(1.12);
  -webkit-backdrop-filter: blur(20px) saturate(1.55) brightness(1.12);
}

.admin-session-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  font-size: 10px;
  white-space: nowrap;
}

.admin-session-logout {
  padding-inline: 10px;
  font-size: 10px;
}

.admin-session-logout:hover,
.admin-session-logout:focus-visible {
  border-color: rgb(167 139 250 / 0.58);
  background: rgb(167 139 250 / 0.12);
  color: var(--paper);
}

/* 顶栏与主舞台共用同一条对齐轨道，边缘天然共线 */
.masthead,
.stage,
.site-footer {
  width: 100%;
  max-width: var(--page-max);
  margin-inline: auto;
}

.scenic-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #070b0b;
}

.scenic-background > div {
  width: 100%;
  height: 100%;
  background-color: transparent !important;
}

.scenic-background canvas {
  opacity: 0.66;
}

.letter-glitch-static {
  background-image: repeating-linear-gradient(
    90deg,
    transparent 0 9px,
    rgb(132 215 247 / 0.08) 9px 10px
  );
}

.masthead {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-size: 11px;
  line-height: 1;
}

.masthead-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.current-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 12px;
  color: rgb(245 247 250 / 0.68);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.current-status-dot {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #61dca3;
  box-shadow:
    0 0 0 3px rgb(97 220 163 / 0.08),
    0 0 9px rgb(97 220 163 / 0.28);
  opacity: 0.82;
  transform-origin: center;
  animation: status-breathe 2.8s ease-in-out infinite;
}

@keyframes status-breathe {
  0%,
  100% {
    box-shadow:
      0 0 0 3px rgb(97 220 163 / 0.06),
      0 0 7px rgb(97 220 163 / 0.2);
    opacity: 0.68;
    transform: scale(0.88);
  }

  50% {
    box-shadow:
      0 0 0 4px rgb(97 220 163 / 0.12),
      0 0 12px rgb(97 220 163 / 0.4);
    opacity: 1;
    transform: scale(1);
  }
}

.current-status,
.language-switch,
.footer-glass {
  border: 1px solid rgb(255 255 255 / 0.1);
  background: rgb(255 255 255 / 0.045);
  box-shadow: 0 4px 24px rgb(0 0 0 / 0.12);
  backdrop-filter: blur(20px) saturate(1.55) brightness(1.12);
  -webkit-backdrop-filter: blur(20px) saturate(1.55) brightness(1.12);
}

.language-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 12px;
  color: var(--paper);
}

.language-switch button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 27px;
  height: 24px;
  padding: 0 6px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 10px;
  line-height: 1;
}

.language-switch button.is-active {
  background: rgb(245 247 250 / 0.18);
  color: var(--paper);
}

.language-switch button:hover,
.language-switch button:focus-visible {
  background: rgb(245 247 250 / 0.16);
  outline: none;
}

/* 主舞台：左文字 / 右入口，间距由栅格强制保证，不会重叠 */
.stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--stage-gap);
  min-height: 0;
  overflow: visible;
}

.identity {
  max-width: 620px;
  text-align: left;
}

.identity-title {
  display: block;
  width: min(100%, 610px);
  margin: 16px 0 16px;
  font: inherit;
  line-height: 0;
  filter: drop-shadow(0 0 18px rgb(245 247 250 / 0.12));
}

.identity-title-mark .stroke-text__svg {
  height: clamp(90px, 14vw, 176px);
  overflow: visible;
}

.identity-title-mark text {
  font-family: Georgia, "Times New Roman", serif;
}

.portals {
  --portal-scroll-padding: 48px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--portal-column-gap);
  row-gap: clamp(18px, 3vh, 34px);
  width: calc(var(--portal-w) + (var(--portal-scroll-padding) * 2));
  position: fixed;
  z-index: 1;
  top: 0;
  right: max(0px, calc(var(--page-gutter) - var(--portal-scroll-padding)), calc((100% - var(--page-max)) / 2 - var(--portal-scroll-padding)));
  bottom: 0;
  min-height: 0;
  height: auto;
  align-self: initial;
  margin-block: 0;
  margin-inline: calc(var(--portal-scroll-padding) * -1);
  padding: var(--portal-scroll-padding);
  overflow: auto;
  align-content: safe center;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* The scrollport must receive wheel/touch input in the column gap too. */
  pointer-events: auto;
}

.portals::-webkit-scrollbar {
  display: none;
}

.portal-entry {
  position: relative;
  width: 100%;
  /* Keep a stable height so the glow border can resolve its layout immediately. */
  height: var(--portal-h);
  opacity: 1;
  pointer-events: auto;
}

[data-slot="context-menu-trigger"].portal-entry {
  display: block;
}

.portal-entry--disabled {
  opacity: 0.48;
}

.portal-entry--entering {
  animation: portal-entry-rise 700ms cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

@keyframes portal-entry-rise {
  from {
    transform: translateY(18px);
  }

  to {
    transform: translateY(0);
  }
}

.portal-glow,
.portal-glow > .border-glow-inner {
  width: 100%;
  height: 100%;
}

/* Let the button's shared 1px active translation extend past the fixed card
   height without turning the card content into a scroll container. */
.portal-glow > .border-glow-inner {
  overflow: visible;
}

.portal-glow.border-glow-card {
  border-color: rgb(255 255 255 / 0.1);
  background: rgb(17 38 36 / 0.92);
  box-shadow: 0 4px 24px rgb(0 0 0 / 0.12);
}

.admin-login-divider {
  align-items: center;
  color: rgba(226, 232, 240, 0.62);
  display: flex;
  font-size: 0.75rem;
  gap: 0.75rem;
  text-transform: uppercase;
}

.admin-login-divider::before,
.admin-login-divider::after {
  background: rgba(148, 163, 184, 0.2);
  content: '';
  flex: 1;
  height: 1px;
}

.portal-glow.border-glow-card::before {
  display: none;
}

.portal-glow.border-glow-card::after {
  display: none;
}

.portal-glow.border-glow-card > .border-glow-color-border {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  border-radius: inherit;
  pointer-events: none;
  opacity: calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));
  transition: opacity 0.25s ease-out;
  mask-image: conic-gradient(
    from var(--cursor-angle) at center,
    #000 calc(var(--cone-spread) * 1%),
    transparent calc((var(--cone-spread) + 15) * 1%),
    transparent calc((100 - var(--cone-spread) - 15) * 1%),
    #000 calc((100 - var(--cone-spread)) * 1%)
  );
}

.portal-glow.border-glow-card:not(:hover):not(.sweep-active) > .border-glow-color-border {
  opacity: 0;
  transition: opacity 0.75s ease-in-out;
}

.portal-glow.border-glow-card > .border-glow-color-border::before {
  content: "";
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  padding: 1px;
  border-radius: inherit;
  background:
    var(--gradient-one),
    var(--gradient-two),
    var(--gradient-three),
    var(--gradient-four),
    var(--gradient-five),
    var(--gradient-six),
    var(--gradient-seven),
    var(--gradient-base);
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.portal-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  color: var(--paper);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 3vw, 40px);
  text-decoration: none;
  text-shadow: 0 1px 12px rgb(0 0 0 / 0.5);
}

.portal-link:focus-visible {
  outline: 2px solid var(--cool);
  outline-offset: 4px;
}

.portal-link--disabled {
  border: 0;
  background: transparent;
  cursor: context-menu;
}

.portal-link--disabled:hover,
.portal-link--disabled:focus-visible {
  background: transparent;
}

.portal-add-button {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: transparent;
  color: rgb(245 247 250 / 0.72);
  font-size: 13px;
  /* Match the portal links instead of the shared button press animation. */
  transform: none;
}

.portal-add-button:hover,
.portal-add-button:focus-visible {
  background: transparent;
  color: var(--paper);
}

.portal-add-button:focus-visible {
  border-color: transparent;
  box-shadow: none;
  outline: 2px solid var(--cool);
  outline-offset: 4px;
}

.admin-context-menu [data-slot="context-menu-label"] {
  color: rgb(245 247 250 / 0.52);
}

.admin-context-menu [data-slot="context-menu-item"]:focus {
  background: rgb(167 139 250 / 0.14);
  color: var(--paper);
}

.admin-content-dialog {
  top: auto !important;
  right: 0;
  bottom: 0 !important;
  left: 0;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 16px;
  width: 88vw;
  max-width: none;
  height: 88dvh;
  max-height: calc(100dvh - 20px);
  overflow: hidden;
  padding: 20px 22px 0;
  translate: 0 0 !important;
  transform: none;
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
  border: 1px solid rgb(255 255 255 / 0.12);
  background: rgb(23 21 28 / 0.92);
  box-shadow: 0 -24px 80px rgb(0 0 0 / 0.38);
  color: var(--paper);
  backdrop-filter: blur(24px) saturate(1.35);
  -webkit-backdrop-filter: blur(24px) saturate(1.35);
}

.portal-health-dot {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 9px;
  height: 9px;
  border: 1px solid rgb(255 255 255 / 0.28);
  border-radius: 50%;
  background: #7d8590;
  box-shadow: 0 0 0 3px rgb(0 0 0 / 0.12);
}

.portal-health-dot--up {
  background: #43d17c;
  box-shadow: 0 0 10px rgb(67 209 124 / 0.7);
}

.portal-health-dot--degraded {
  background: #f4bf4f;
  box-shadow: 0 0 10px rgb(244 191 79 / 0.65);
}

.portal-health-dot--down {
  background: #f06464;
  box-shadow: 0 0 10px rgb(240 100 100 / 0.65);
}

.admin-content-dialog[data-open] {
  animation: admin-content-sheet-in 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.admin-content-dialog[data-closed] {
  animation: admin-content-sheet-out 140ms ease-in;
}

.admin-content-dialog > [data-slot="dialog-header"] {
  min-width: 0;
  padding-right: 38px;
}

.admin-content-dialog > [data-slot="dialog-close"] {
  top: 16px;
  right: 18px;
}

.admin-content-sidebar-provider {
  height: 100%;
  min-width: 0;
  min-height: 0;
  background: transparent;
}

.admin-content-tabs {
  display: grid;
  grid-template-columns: clamp(180px, 15vw, 230px) minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.admin-content-sidebar {
  width: 100%;
  min-width: 0;
  background: transparent;
  color: var(--paper);
}

.admin-content-sidebar [data-slot="sidebar-inner"] {
  background: transparent;
}

.admin-content-sidebar [data-slot="sidebar-group-label"] {
  color: rgb(245 247 250 / 0.42);
}

.admin-content-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding-left: clamp(18px, 2vw, 30px);
  overflow: hidden;
  border-left: 1px solid rgb(255 255 255 / 0.1);
}

.admin-content-main > [role="tabpanel"] {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin-top: 14px;
  padding: 0 6px 22px 4px;
  overflow: auto;
  overscroll-behavior: contain;
}

.admin-content-tabs-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}

.admin-content-tabs-list {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  justify-content: flex-start;
  width: 100%;
  max-width: none;
  padding: 8px clamp(12px, 1.5vw, 20px) 8px 0;
  overflow-y: auto;
}

.admin-content-tabs-list [data-slot="sidebar-menu-item"] {
  width: 100%;
}

.admin-content-tabs-list [data-slot="tabs-trigger"] {
  min-height: 42px;
  padding: 0 12px;
  border-radius: 10px;
  color: rgb(245 247 250 / 0.58);
  font-size: 13px;
}

.admin-content-tabs-list [data-slot="tabs-trigger"][data-active] {
  background: rgb(167 139 250 / 0.14);
  color: var(--paper);
}

.admin-content-tabs-list [data-slot="tabs-trigger"]::after {
  right: -1px;
  background: var(--cool);
}

.admin-content-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

@keyframes admin-content-sheet-in {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes admin-content-sheet-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(24px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-content-dialog[data-open],
  .admin-content-dialog[data-closed] {
    animation: none;
  }
}

@media (min-width: 1800px) {
  .admin-content-dialog {
    width: 78vw;
    height: 90dvh;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .admin-content-dialog {
    width: 94vw;
    height: 88dvh;
  }
}

@media (max-width: 640px) {
  .admin-content-dialog {
    width: 100%;
    height: 90dvh;
    max-height: 90dvh;
    padding: 18px 16px 0;
    border-right: 0;
    border-left: 0;
    border-radius: 18px 18px 0 0;
  }

  .admin-content-tabs {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
  }

  .admin-content-tabs-list {
    flex-direction: row;
    align-items: center;
    width: 100%;
    padding: 0 0 10px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .admin-content-sidebar [data-slot="sidebar-group"] {
    padding: 0;
  }

  .admin-content-sidebar [data-slot="sidebar-group-label"] {
    display: none;
  }

  .admin-content-tabs-list [data-slot="tabs-trigger"] {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 12px;
  }

  .admin-content-tabs-list [data-slot="tabs-trigger"]::after {
    inset: auto 0 -5px;
    width: auto;
    height: 2px;
  }

  .admin-content-main {
    padding-left: 0;
    border-top: 1px solid rgb(255 255 255 / 0.1);
    border-left: 0;
  }

  .admin-content-tabs-header {
    padding-top: 10px;
  }

  .admin-content-grid {
    grid-template-columns: 1fr;
  }

  .admin-content-grid aside {
    display: flex;
    overflow-x: auto;
  }

  .admin-page-editor,
  .admin-settings-form .admin-item-fields {
    grid-template-columns: 1fr;
  }
}

.admin-content-message {
  margin: 0;
  color: rgb(167 139 250 / 0.9);
  font-size: 12px;
}

.admin-content-grid {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 18px;
}

.admin-content-grid aside {
  display: grid;
  align-content: start;
  gap: 5px;
}

.admin-content-grid aside button {
  padding: 9px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgb(245 247 250 / 0.62);
  text-align: left;
  cursor: pointer;
}

.admin-content-grid aside button.is-active {
  background: rgb(167 139 250 / 0.14);
  color: var(--paper);
}

.admin-page-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-page-field {
  display: grid;
  gap: 6px;
}

.admin-page-editor label {
  display: grid;
  gap: 6px;
  color: rgb(245 247 250 / 0.68);
  font-size: 11px;
}

.admin-page-editor input,
.admin-page-editor textarea {
  border: 1px solid rgb(255 255 255 / 0.12);
  background: rgb(255 255 255 / 0.055);
  color: var(--paper);
}

.admin-settings-form {
  min-height: 100%;
}

.admin-settings-form .admin-item-fields {
  align-content: start;
}

.admin-settings-footer {
  margin: auto 0 0;
  padding: 14px 0 0;
  border-color: rgb(255 255 255 / 0.08);
  border-radius: 0;
  background: transparent;
}

.admin-page-editor .admin-enabled-field {
  display: flex;
  align-items: center;
  align-self: end;
  gap: 8px;
  min-height: 32px;
}

.admin-enabled-field [data-slot="checkbox"] {
  margin: 0;
}

.admin-body-editor {
  min-height: 150px;
}

.admin-build-list {
  display: grid;
  gap: 10px;
}

.admin-link-editor {
  display: grid;
  gap: 16px;
}

.admin-link-editor-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.admin-link-editor-header h3 {
  margin: 0;
  font-size: 16px;
}

.admin-link-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.admin-health-loading-indicator {
  width: 42px;
  height: 6px;
}

.admin-health-panel {
  display: grid;
  gap: 18px;
}

.admin-health-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.admin-health-header h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
}

.admin-health-header p {
  margin: 6px 0 0;
  color: rgb(245 247 250 / 0.48);
  font-size: 12px;
}

.admin-health-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-health-item {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgb(255 255 255 / 0.1);
  border-radius: 8px;
  background: rgb(255 255 255 / 0.035);
}

.admin-health-card-header,
.admin-health-state-row,
.admin-health-info,
.admin-health-metrics {
  min-width: 0;
}

.admin-health-card-header,
.admin-health-state-row,
.admin-health-window {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.admin-health-overall {
  display: grid;
  flex: 0 0 auto;
  gap: 2px;
  text-align: right;
}

.admin-health-overall span,
.admin-health-window {
  color: rgb(245 247 250 / 0.44);
  font-size: 10px;
}

.admin-health-overall strong {
  font-size: 18px;
  line-height: 1;
}

.admin-health-overall.is-up strong { color: #52d68a; }
.admin-health-overall.is-degraded strong { color: #e9bd55; }
.admin-health-overall.is-down strong { color: #e66b70; }
.admin-health-overall.is-unknown strong { color: rgb(245 247 250 / 0.58); }

.admin-health-state {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgb(245 247 250 / 0.62);
  font-size: 13px;
}

.admin-health-state svg {
  width: 17px;
  height: 17px;
}

.admin-health-state.is-up { color: #6ee7a0; }
.admin-health-state.is-degraded { color: #f4c96b; }
.admin-health-state.is-down { color: #f28b8b; }

.admin-health-info {
  display: grid;
  gap: 5px;
}

.admin-health-info strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-health-info span {
  overflow: hidden;
  color: rgb(245 247 250 / 0.46);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-health-state-row {
  min-height: 18px;
}

.admin-health-window {
  flex: 1;
}

.admin-health-sparkline {
  display: flex;
  align-items: end;
  gap: 4px;
  min-height: 30px;
  overflow-x: auto;
  padding: 2px 0 4px;
  scrollbar-width: thin;
}

.admin-health-sparkline span {
  display: block;
  flex: 0 0 6px;
  width: 6px;
  height: 24px;
  border-radius: 2px;
  background: rgb(245 247 250 / 0.18);
}

.admin-health-tooltip {
  display: grid;
  gap: 3px;
  min-width: 150px;
}

.admin-health-tooltip strong {
  color: inherit;
  font-weight: 700;
}

.admin-health-tooltip span {
  color: currentColor;
  opacity: 0.78;
}

.admin-health-sparkline span.is-up { background: #39d37b; }
.admin-health-sparkline span.is-degraded { background: #e9bd55; }
.admin-health-sparkline span.is-down { background: #e66b70; }

.admin-health-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.admin-health-metrics div {
  min-width: 0;
}

.admin-health-metrics dt,
.admin-health-metrics dd {
  margin: 0;
}

.admin-health-metrics dt {
  display: flex;
  align-items: center;
  gap: 4px;
  color: rgb(245 247 250 / 0.4);
  font-size: 10px;
  text-transform: uppercase;
}

.admin-health-metrics dt svg {
  width: 12px;
  height: 12px;
}

.admin-health-metrics dd {
  margin-top: 4px;
  overflow: hidden;
  color: rgb(245 247 250 / 0.78);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-health-empty {
  color: rgb(245 247 250 / 0.54);
  font-size: 13px;
}

.admin-link-item {
  display: flex;
  width: 100%;
  height: auto;
  min-height: 82px;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgb(255 255 255 / 0.08);
  border-radius: 8px;
  background: rgb(255 255 255 / 0.025);
  cursor: grab;
  touch-action: none;
  text-align: left;
}

.admin-link-info {
  display: grid;
  flex: 1;
  min-width: 0;
  gap: 9px;
  padding: 2px 0;
  cursor: grab;
  text-align: left;
}

.admin-link-info > strong {
  overflow: hidden;
  color: rgb(245 247 250 / 0.96);
  font-size: 14px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-link-order,
.admin-link-status {
  display: inline-flex;
  min-width: 0;
  height: 23px;
  align-items: center;
  gap: 4px;
  padding: 0 7px;
  border: 1px solid rgb(255 255 255 / 0.1);
  border-radius: 5px;
  background: rgb(255 255 255 / 0.045);
  color: rgb(245 247 250 / 0.65);
  font-size: 11px;
  line-height: 1;
}

.admin-link-url {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  min-height: 23px;
  align-items: center;
  gap: 4px;
  padding: 1px 0 2px;
  color: #b9a7ff;
  font-size: 11px;
  line-height: 1.4;
  text-decoration: underline;
  text-decoration-color: rgb(185 167 255 / 0.72);
  text-underline-offset: 3px;
}

.admin-link-url:hover,
.admin-link-url:focus-visible {
  color: #d8ceff;
  text-decoration-color: currentcolor;
}

.admin-link-url:focus-visible {
  border-radius: 3px;
  outline: 2px solid rgb(167 139 250 / 0.75);
  outline-offset: 2px;
}

.admin-link-url > span {
  min-width: 0;
  overflow: hidden;
  padding-bottom: 1px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-link-url svg,
.admin-link-order svg {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
}

.admin-link-order b {
  flex: 0 0 auto;
  color: rgb(245 247 250 / 0.82);
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}

.admin-link-order {
  width: 100%;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.admin-link-order-value {
  flex: 0 0 auto;
  font-size: 10px;
  line-height: 1;
}

.admin-link-status {
  width: 100%;
  font-weight: 600;
}

.admin-link-details {
  display: grid;
  width: 82px;
  flex: 0 0 82px;
  gap: 6px;
}

.admin-link-status.is-enabled {
  border-color: rgb(97 220 163 / 0.35);
  background: rgb(97 220 163 / 0.1);
  color: #83e7ba;
}

.admin-link-status.is-disabled {
  border-color: rgb(255 107 131 / 0.3);
  background: rgb(255 107 131 / 0.08);
  color: #ff9aab;
}

.admin-link-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
}

.admin-link-drag-handle {
  cursor: grab;
  color: rgb(245 247 250 / 0.55);
}

.admin-link-drag-handle:active {
  cursor: grabbing;
}

.admin-link-item.is-dragging {
  z-index: 2;
  border-color: rgb(167 139 250 / 0.62);
  background: #1d1c21;
  box-shadow: 0 16px 32px rgb(0 0 0 / 0.28);
  cursor: grabbing;
  opacity: 1;
}

.admin-link-item.is-dragging .admin-link-info,
.admin-link-item.is-dragging .admin-link-drag-handle {
  cursor: grabbing;
}

@media (max-width: 640px) {
  .admin-link-editor-header {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-link-item {
    min-height: 96px;
  }

  .admin-link-list {
    grid-template-columns: 1fr;
  }

  .admin-link-details {
    width: 82px;
    flex-basis: 82px;
  }
}

.admin-build-list > div {
  padding: 14px;
  border: 1px solid rgb(255 255 255 / 0.1);
  border-radius: 12px;
  background: rgb(255 255 255 / 0.035);
}

.admin-build-list > div,
.admin-build-list h3 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-build-list span {
  flex: 1;
  color: var(--paper);
}

.admin-build-list small {
  display: block;
  color: rgb(245 247 250 / 0.5);
}

.admin-drafts-error {
  grid-column: 1 / -1;
  margin: 0;
  color: #ff9aab;
  font-size: 11px;
  line-height: 1.45;
  pointer-events: auto;
}

.site-footer {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.footer-glass {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 12px;
  color: rgb(245 247 250 / 0.72);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 14px;
}

.footer-link {
  padding: 3px 0;
  border-bottom: 1px solid transparent;
  color: rgb(245 247 250 / 0.82);
  text-decoration: none;
  transition:
    border-color 160ms ease,
    color 160ms ease;
}

.footer-link:hover {
  border-color: rgb(167 139 250 / 0.52);
  color: var(--paper);
}

.footer-link:focus-visible {
  border-color: transparent;
  color: var(--paper);
  outline: 2px solid var(--cool);
  outline-offset: 4px;
}

.site-footer small {
  font: inherit;
  white-space: nowrap;
}

.site-footer small::before {
  content: "\00b7";
  margin-right: 10px;
  color: rgb(245 247 250 / 0.42);
}

@media (max-width: 760px) {
  .masthead {
    flex-wrap: wrap;
    gap: 8px;
    font-size: 10px;
  }

  .masthead-actions {
    gap: 5px;
  }

  .stage {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    gap: clamp(24px, 6vh, 56px);
  }

  .identity-title {
    width: min(100%, 560px);
    margin: 12px 0 9px;
  }

  .identity-title-mark .stroke-text__svg {
    height: clamp(82px, 21vw, 132px);
  }

  .portals {
    --portal-column-gap: 10px;

    row-gap: 10px;
    position: relative;
    z-index: 1;
    top: auto;
    right: auto;
    bottom: auto;
    height: 100%;
    align-self: stretch;
    width: calc(100% + (var(--portal-scroll-padding) * 2));
  }

  .portal-link {
    font-size: clamp(25px, 5vw, 36px);
  }
}

@media (max-width: 560px) {
  .admin-item-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-item-checkbox-field {
    padding-top: 0;
  }

  .admin-item-footer-spacer {
    display: none;
  }

  .admin-session-controls {
    width: 100%;
    justify-content: flex-end;
  }

  .portals {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  .admin-content-tabs-header {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-content-tabs-list {
    width: 100%;
  }

  .admin-content-grid,
  .admin-page-editor {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-health-list {
    grid-template-columns: minmax(0, 1fr);
  }

}

@media (prefers-reduced-motion: reduce) {
  .portal-entry--entering {
    animation: none;
  }

  .current-status-dot {
    animation: none;
    opacity: 0.82;
    transform: none;
  }
}
/*! tailwindcss v4.3.3 | 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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --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-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: 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-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --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;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, 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-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-xs: 20rem;
    --container-sm: 24rem;
    --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);
    --font-weight-medium: 500;
    --tracking-widest: .1em;
    --radius-md: calc(var(--radius) - 2px);
    --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-xs: 4px;
    --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, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)) {
    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;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-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;
  }
}

@layer components;

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

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-y-0 {
    inset-block: 0;
  }

  .top-0 {
    top: 0;
  }

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

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

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

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

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

  .top-\[-10px\] {
    top: -10px;
  }

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

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

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

  .right-\[-250\%\] {
    right: -250%;
  }

  .bottom-0 {
    bottom: 0;
  }

  .bottom-\[-11px\] {
    bottom: -11px;
  }

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

  .left-\[-250\%\] {
    left: -250%;
  }

  .isolate {
    isolation: isolate;
  }

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

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

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

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

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

  .order-first {
    order: -9999;
  }

  .order-last {
    order: 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;
    }
  }

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

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

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

  .mx-3\.5 {
    margin-inline: calc(var(--spacing) * 3.5);
  }

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

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

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

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

  .ml-auto {
    margin-left: auto;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

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

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

  .field-sizing-content {
    field-sizing: content;
  }

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

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

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

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

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

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

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

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

  .size-full {
    width: 100%;
    height: 100%;
  }

  .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-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-\[50\%\] {
    height: 50%;
  }

  .h-\[calc\(100\%-1px\)\] {
    height: calc(100% - 1px);
  }

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .h-svh {
    height: 100svh;
  }

  .max-h-\(--available-height\) {
    max-height: var(--available-height);
  }

  .min-h-0 {
    min-height: 0;
  }

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

  .min-h-svh {
    min-height: 100svh;
  }

  .w-\(--anchor-width\) {
    width: var(--anchor-width);
  }

  .w-\(--sidebar-width\) {
    width: var(--sidebar-width);
  }

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

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

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

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .max-w-\(--skeleton-width\) {
    max-width: var(--skeleton-width);
  }

  .max-w-\[calc\(100\%-2rem\)\] {
    max-width: calc(100% - 2rem);
  }

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

  .min-w-0 {
    min-width: 0;
  }

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

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

  .flex-1 {
    flex: 1;
  }

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

  .origin-\(--transform-origin\) {
    transform-origin: var(--transform-origin);
  }

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

  .-translate-x-px {
    --tw-translate-x: -1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-px {
    --tw-translate-x: 1px;
    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-\[calc\(-50\%-2px\)\] {
    --tw-translate-y: calc(-50% - 2px);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .rotate-45 {
    rotate: 45deg;
  }

  .transform {
    transform: 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-default {
    cursor: default;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-text {
    cursor: text;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

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

  .grid-rows-\[auto_1fr\] {
    grid-template-rows: auto 1fr;
  }

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

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

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

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

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

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

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

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

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

  .gap-0 {
    gap: 0;
  }

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

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

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

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

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

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-hidden {
    overflow-x: hidden;
  }

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

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

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

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

  .rounded-\[calc\(var\(--radius\)-3px\)\] {
    border-radius: calc(var(--radius) - 3px);
  }

  .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
    border-radius: min(var(--radius-md), 10px);
  }

  .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
    border-radius: min(var(--radius-md), 12px);
  }

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

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

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

  .rounded-none {
    border-radius: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

  .bg-black\/10 {
    background-color: #0000001a;
  }

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

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

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

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

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

  .bg-muted, .bg-muted\/50 {
    background-color: var(--muted);
  }

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

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

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

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

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

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

  .from-black {
    --tw-gradient-from: var(--color-black);
    --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));
  }

  .bg-clip-padding {
    background-clip: padding-box;
  }

  .fill-foreground {
    fill: var(--foreground);
  }

  .p-0 {
    padding: 0;
  }

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

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

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

  .p-\[3px\] {
    padding: 3px;
  }

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

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

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

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

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

  .px-\[26px\] {
    padding-inline: 26px;
  }

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

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

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

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

  .py-\[16px\] {
    padding-block: 16px;
  }

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

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

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

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

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

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

  .pl-2\.5 {
    padding-left: calc(var(--spacing) * 2.5);
  }

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

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

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

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

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

  .text-\[0\.8rem\] {
    font-size: .8rem;
  }

  .text-\[16px\] {
    font-size: 16px;
  }

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

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

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

  .text-balance {
    text-wrap: balance;
  }

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

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

  .text-current {
    color: currentColor;
  }

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

  .text-foreground, .text-foreground\/60 {
    color: var(--foreground);
  }

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

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

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

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

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

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

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

  .lowercase {
    text-transform: lowercase;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

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

  .opacity-70 {
    opacity: .7;
  }

  .shadow-\[0_0_0_1px_var\(--sidebar-border\)\] {
    --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));
    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-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-0 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + 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-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-foreground\/10 {
    --tw-ring-color: var(--foreground);
  }

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

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

  @media (forced-colors: active) {
    .outline-hidden {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

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

  .blur {
    --tw-blur: blur(8px);
    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, );
  }

  .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, 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-\[left\,right\,width\] {
    transition-property: left, right, width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

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

  .transition-\[width\,height\,padding\] {
    transition-property: width, height, padding;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[width\] {
    transition-property: width;
    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-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-100 {
    --tw-duration: .1s;
    transition-duration: .1s;
  }

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

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

  .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-linear {
    --tw-ease: linear;
    transition-timing-function: linear;
  }

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

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

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

  .group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *) {
    opacity: 1;
  }

  @media (hover: hover) {
    .group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *) {
      opacity: 1;
    }
  }

  .group-focus\/context-menu-item\:text-accent-foreground:is(:where(.group\/context-menu-item):focus *) {
    color: var(--accent-foreground);
  }

  .group-has-disabled\/field\:opacity-50:is(:where(.group\/field):has(:disabled) *) {
    opacity: .5;
  }

  .group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar="menu-action"]) *) {
    padding-right: calc(var(--spacing) * 8);
  }

  .group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has( > input) *) {
    padding-top: calc(var(--spacing) * 2);
  }

  .group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has( > input) *) {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs)[data-horizontal] *) {
    height: calc(var(--spacing) * 8);
  }

  .group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs)[data-vertical] *) {
    height: fit-content;
  }

  .group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs)[data-vertical] *) {
    width: 100%;
  }

  .group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs)[data-vertical] *) {
    flex-direction: column;
  }

  .group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs)[data-vertical] *) {
    justify-content: flex-start;
  }

  .group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible="icon"] *) {
    margin-top: calc(var(--spacing) * -8);
  }

  .group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible="icon"] *) {
    display: none;
  }

  .group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--spacing) * 8) !important;
    height: calc(var(--spacing) * 8) !important;
  }

  .group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible="icon"] *) {
    width: var(--sidebar-width-icon);
  }

  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)));
  }

  .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible="icon"] *) {
    width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px);
  }

  .group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible="icon"] *) {
    overflow: hidden;
  }

  .group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible="icon"] *) {
    padding: 0 !important;
  }

  .group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible="icon"] *) {
    padding: calc(var(--spacing) * 2) !important;
  }

  .group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible="icon"] *) {
    opacity: 0;
  }

  .group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible="offcanvas"] *) {
    width: 0;
  }

  .group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible="offcanvas"] *) {
    --tw-translate-x: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .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"] *), .group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled="true"] *) {
    opacity: .5;
  }

  .group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side="left"] *) {
    right: calc(var(--spacing) * -4);
  }

  .group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side="left"] *) {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side="right"] *) {
    left: 0;
  }

  .group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side="right"] *) {
    rotate: 180deg;
  }

  .group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side="right"] *) {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size="sm"] *) {
    display: grid;
  }

  .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size="sm"] *) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant="floating"] *) {
    border-radius: var(--radius);
  }

  .group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant="floating"] *) {
    --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);
  }

  .group-data-\[variant\=floating\]\:ring-1:is(:where(.group)[data-variant="floating"] *) {
    --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);
  }

  .group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *) {
    background-color: #0000;
  }

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

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

  .peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size="default"] ~ *) {
    top: calc(var(--spacing) * 1.5);
  }

  .peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size="lg"] ~ *) {
    top: calc(var(--spacing) * 2.5);
  }

  .peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size="sm"] ~ *) {
    top: var(--spacing);
  }

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

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

  .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-2:after {
    content: var(--tw-content);
    inset: calc(var(--spacing) * -2);
  }

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

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

  .after\:inset-y-0:after {
    content: var(--tw-content);
    inset-block: 0;
  }

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

  .after\:w-\[2px\]:after {
    content: var(--tw-content);
    width: 2px;
  }

  .after\:bg-foreground:after {
    content: var(--tw-content);
    background-color: var(--foreground);
  }

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

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

  .group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-horizontal] *):after {
    content: var(--tw-content);
    inset-inline: 0;
  }

  .group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-horizontal] *):after {
    content: var(--tw-content);
    bottom: -5px;
  }

  .group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-horizontal] *):after {
    content: var(--tw-content);
    height: calc(var(--spacing) * .5);
  }

  .group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-vertical] *):after {
    content: var(--tw-content);
    inset-block: 0;
  }

  .group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-vertical] *):after {
    content: var(--tw-content);
    right: calc(var(--spacing) * -1);
  }

  .group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-vertical] *):after {
    content: var(--tw-content);
    width: calc(var(--spacing) * .5);
  }

  .group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible="offcanvas"] *):after {
    content: var(--tw-content);
    left: 100%;
  }

  @media (hover: hover) {
    .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
        background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
      }
    }

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

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

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

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

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

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

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

    .hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover {
      --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

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

  .focus\:text-accent-foreground:focus, :is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant="destructive"]):focus *) {
    color: var(--accent-foreground);
  }

  .focus-visible\:border-destructive\/40:focus-visible {
    border-color: var(--destructive);
  }

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

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

  .focus-visible\:ring-0:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + 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-2:focus-visible {
    --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-visible\:ring-3:focus-visible, .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);
    }
  }

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

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

  .active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]) {
    --tw-translate-y: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

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

  .disabled\:bg-input\/50:disabled {
    background-color: var(--input);
  }

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

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

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

  :where([data-side="left"]) .in-data-\[side\=left\]\:cursor-w-resize {
    cursor: w-resize;
  }

  :where([data-side="right"]) .in-data-\[side\=right\]\:cursor-e-resize {
    cursor: e-resize;
  }

  :where([data-slot="button-group"]) .in-data-\[slot\=button-group\]\:rounded-lg {
    border-radius: var(--radius);
  }

  :where([data-slot="combobox-content"]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within {
    border-color: inherit;
  }

  :where([data-slot="combobox-content"]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + 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);
  }

  .has-disabled\:bg-input\/50:has(:disabled) {
    background-color: var(--input);
  }

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

  .has-disabled\:opacity-50:has(:disabled) {
    opacity: .5;
  }

  .has-data-\[icon\=inline-end\]\:pr-1:has([data-icon="inline-end"]) {
    padding-right: var(--spacing);
  }

  .has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 1.5);
  }

  .has-data-\[icon\=inline-end\]\:pr-2:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 2);
  }

  .has-data-\[icon\=inline-start\]\:pl-1:has([data-icon="inline-start"]) {
    padding-left: var(--spacing);
  }

  .has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 1.5);
  }

  .has-data-\[icon\=inline-start\]\:pl-2:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 2);
  }

  .has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot="alert-dialog-media"]) {
    grid-template-rows: auto auto 1fr;
  }

  .has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot="alert-dialog-media"]) {
    column-gap: calc(var(--spacing) * 4);
  }

  .has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot="kbd"]) {
    padding-right: calc(var(--spacing) * 1.5);
  }

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

  .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has([data-slot][aria-invalid="true"]) {
    --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);
  }

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

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

  .has-\[\>\[data-align\=block-end\]\]\:h-auto:has( > [data-align="block-end"]) {
    height: auto;
  }

  .has-\[\>\[data-align\=block-end\]\]\:flex-col:has( > [data-align="block-end"]) {
    flex-direction: column;
  }

  .has-\[\>\[data-align\=block-start\]\]\:h-auto:has( > [data-align="block-start"]) {
    height: auto;
  }

  .has-\[\>\[data-align\=block-start\]\]\:flex-col:has( > [data-align="block-start"]) {
    flex-direction: column;
  }

  .has-\[\>button\]\:mr-\[-0\.3rem\]:has( > button) {
    margin-right: -.3rem;
  }

  .has-\[\>button\]\:ml-\[-0\.3rem\]:has( > button) {
    margin-left: -.3rem;
  }

  .has-\[\>kbd\]\:mr-\[-0\.15rem\]:has( > kbd) {
    margin-right: -.15rem;
  }

  .has-\[\>kbd\]\:ml-\[-0\.15rem\]:has( > kbd) {
    margin-left: -.15rem;
  }

  .has-\[\>svg\]\:p-0:has( > svg) {
    padding: 0;
  }

  .has-\[\>textarea\]\:h-auto:has( > textarea) {
    height: auto;
  }

  .aria-disabled\:pointer-events-none[aria-disabled="true"] {
    pointer-events: none;
  }

  .aria-disabled\:opacity-50[aria-disabled="true"] {
    opacity: .5;
  }

  .aria-expanded\:bg-muted[aria-expanded="true"] {
    background-color: var(--muted);
  }

  .aria-expanded\:bg-secondary[aria-expanded="true"] {
    background-color: var(--secondary);
  }

  .aria-expanded\:text-foreground[aria-expanded="true"] {
    color: var(--foreground);
  }

  .aria-expanded\:text-secondary-foreground[aria-expanded="true"] {
    color: var(--secondary-foreground);
  }

  .aria-expanded\:opacity-100[aria-expanded="true"] {
    opacity: 1;
  }

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

  .aria-invalid\:ring-0[aria-invalid="true"] {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + 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);
  }

  .aria-invalid\:ring-3[aria-invalid="true"] {
    --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);
  }

  .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);
    }
  }

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

  .data-active\:bg-background[data-active] {
    background-color: var(--background);
  }

  .data-active\:font-medium[data-active] {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .data-active\:text-foreground[data-active] {
    color: var(--foreground);
  }

  .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant="default"] *)[data-active] {
    --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);
  }

  .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *)[data-active] {
    background-color: #0000;
  }

  .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant="line"] *)[data-active] {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant="line"] *)[data-active]:after {
    content: var(--tw-content);
    opacity: 1;
  }

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

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

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

  .data-disabled\:pointer-events-none[data-disabled] {
    pointer-events: none;
  }

  .data-disabled\:opacity-50[data-disabled] {
    opacity: .5;
  }

  .data-ending-style\:opacity-0[data-ending-style] {
    opacity: 0;
  }

  .data-horizontal\:h-px[data-horizontal] {
    height: 1px;
  }

  .data-horizontal\:w-full[data-horizontal] {
    width: 100%;
  }

  .data-horizontal\:flex-col[data-horizontal] {
    flex-direction: column;
  }

  .data-inset\:pl-7[data-inset] {
    padding-left: calc(var(--spacing) * 7);
  }

  .data-open\:bg-accent[data-open] {
    background-color: var(--accent);
  }

  .data-open\:text-accent-foreground[data-open] {
    color: var(--accent-foreground);
  }

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

  .data-starting-style\:opacity-0[data-starting-style] {
    opacity: 0;
  }

  .data-vertical\:w-px[data-vertical] {
    width: 1px;
  }

  .data-vertical\:self-stretch[data-vertical] {
    align-self: stretch;
  }

  .data-\[align-trigger\=true\]\:animate-none[data-align-trigger="true"] {
    animation: none;
  }

  .data-\[control-focus-visible\=true\]\:border-ring[data-control-focus-visible="true"] {
    border-color: var(--ring);
  }

  .data-\[control-focus-visible\=true\]\:ring-3[data-control-focus-visible="true"] {
    --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);
  }

  .data-\[control-focus-visible\=true\]\:ring-ring\/50[data-control-focus-visible="true"] {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[control-focus-visible\=true\]\:ring-ring\/50[data-control-focus-visible="true"] {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  .data-\[side\=bottom\]\:inset-x-0[data-side="bottom"] {
    inset-inline: 0;
  }

  .data-\[side\=bottom\]\:top-1[data-side="bottom"] {
    top: var(--spacing);
  }

  .data-\[side\=bottom\]\:bottom-0[data-side="bottom"] {
    bottom: 0;
  }

  .data-\[side\=bottom\]\:h-auto[data-side="bottom"] {
    height: auto;
  }

  .data-\[side\=bottom\]\:border-t[data-side="bottom"] {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .data-\[side\=bottom\]\:data-ending-style\:translate-y-\[2\.5rem\][data-side="bottom"][data-ending-style], .data-\[side\=bottom\]\:data-starting-style\:translate-y-\[2\.5rem\][data-side="bottom"][data-starting-style] {
    --tw-translate-y: 2.5rem;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=inline-end\]\:top-1\/2\![data-side="inline-end"] {
    top: 50% !important;
  }

  .data-\[side\=inline-end\]\:-left-1[data-side="inline-end"] {
    left: calc(var(--spacing) * -1);
  }

  .data-\[side\=inline-end\]\:-translate-y-1\/2[data-side="inline-end"] {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=inline-start\]\:top-1\/2\![data-side="inline-start"] {
    top: 50% !important;
  }

  .data-\[side\=inline-start\]\:-right-1[data-side="inline-start"] {
    right: calc(var(--spacing) * -1);
  }

  .data-\[side\=inline-start\]\:-translate-y-1\/2[data-side="inline-start"] {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=left\]\:inset-y-0[data-side="left"] {
    inset-block: 0;
  }

  .data-\[side\=left\]\:top-1\/2\![data-side="left"] {
    top: 50% !important;
  }

  .data-\[side\=left\]\:-right-1[data-side="left"] {
    right: calc(var(--spacing) * -1);
  }

  .data-\[side\=left\]\:left-0[data-side="left"] {
    left: 0;
  }

  .data-\[side\=left\]\:h-full[data-side="left"] {
    height: 100%;
  }

  .data-\[side\=left\]\:w-3\/4[data-side="left"] {
    width: 75%;
  }

  .data-\[side\=left\]\:-translate-y-1\/2[data-side="left"] {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=left\]\:border-r[data-side="left"] {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .data-\[side\=left\]\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side="left"]:is(:where(.group)[data-collapsible="offcanvas"] *) {
    left: calc(var(--sidebar-width) * -1);
  }

  .data-\[side\=left\]\:data-ending-style\:translate-x-\[-2\.5rem\][data-side="left"][data-ending-style], .data-\[side\=left\]\:data-starting-style\:translate-x-\[-2\.5rem\][data-side="left"][data-starting-style] {
    --tw-translate-x: -2.5rem;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=right\]\:inset-y-0[data-side="right"] {
    inset-block: 0;
  }

  .data-\[side\=right\]\:top-1\/2\![data-side="right"] {
    top: 50% !important;
  }

  .data-\[side\=right\]\:right-0[data-side="right"] {
    right: 0;
  }

  .data-\[side\=right\]\:-left-1[data-side="right"] {
    left: calc(var(--spacing) * -1);
  }

  .data-\[side\=right\]\:h-full[data-side="right"] {
    height: 100%;
  }

  .data-\[side\=right\]\:w-3\/4[data-side="right"] {
    width: 75%;
  }

  .data-\[side\=right\]\:-translate-y-1\/2[data-side="right"] {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=right\]\:border-l[data-side="right"] {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .data-\[side\=right\]\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side="right"]:is(:where(.group)[data-collapsible="offcanvas"] *) {
    right: calc(var(--sidebar-width) * -1);
  }

  .data-\[side\=right\]\:data-ending-style\:translate-x-\[2\.5rem\][data-side="right"][data-ending-style], .data-\[side\=right\]\:data-starting-style\:translate-x-\[2\.5rem\][data-side="right"][data-starting-style] {
    --tw-translate-x: 2.5rem;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=top\]\:inset-x-0[data-side="top"] {
    inset-inline: 0;
  }

  .data-\[side\=top\]\:top-0[data-side="top"] {
    top: 0;
  }

  .data-\[side\=top\]\:-bottom-2\.5[data-side="top"] {
    bottom: calc(var(--spacing) * -2.5);
  }

  .data-\[side\=top\]\:h-auto[data-side="top"] {
    height: auto;
  }

  .data-\[side\=top\]\:border-b[data-side="top"] {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .data-\[side\=top\]\:data-ending-style\:translate-y-\[-2\.5rem\][data-side="top"][data-ending-style], .data-\[side\=top\]\:data-starting-style\:translate-y-\[-2\.5rem\][data-side="top"][data-starting-style] {
    --tw-translate-y: -2.5rem;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[size\=default\]\:h-8[data-size="default"] {
    height: calc(var(--spacing) * 8);
  }

  .data-\[size\=default\]\:max-w-xs[data-size="default"] {
    max-width: var(--container-xs);
  }

  .data-\[size\=md\]\:text-sm[data-size="md"] {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .data-\[size\=sm\]\:h-7[data-size="sm"] {
    height: calc(var(--spacing) * 7);
  }

  .data-\[size\=sm\]\:max-w-xs[data-size="sm"] {
    max-width: var(--container-xs);
  }

  .data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size="sm"] {
    border-radius: min(var(--radius-md), 10px);
  }

  .data-\[size\=sm\]\:text-xs[data-size="sm"] {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  :is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot="kbd"] {
    position: relative;
  }

  :is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot="kbd"] {
    isolation: isolate;
  }

  :is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot="kbd"] {
    z-index: 50;
  }

  :is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot="kbd"] {
    border-radius: calc(var(--radius) - 4px);
  }

  :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1 > *)[data-slot="select-value"] {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  :is(.\*\:data-\[slot\=select-value\]\:flex > *)[data-slot="select-value"] {
    display: flex;
  }

  :is(.\*\:data-\[slot\=select-value\]\:items-center > *)[data-slot="select-value"] {
    align-items: center;
  }

  :is(.\*\:data-\[slot\=select-value\]\:gap-1\.5 > *)[data-slot="select-value"] {
    gap: calc(var(--spacing) * 1.5);
  }

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

  .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant="destructive"]:focus {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant="destructive"]:focus {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
  }

  .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant="destructive"]:focus {
    color: var(--destructive);
  }

  .data-\[variant\=line\]\:rounded-none[data-variant="line"] {
    border-radius: 0;
  }

  @supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) {
    .supports-backdrop-filter\:backdrop-blur-xs {
      --tw-backdrop-blur: blur(var(--blur-xs));
      -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, );
    }
  }

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

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

    .sm\:flex-row {
      flex-direction: row;
    }

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

    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
      grid-row: span 2 / span 2;
    }

    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
      place-items: start;
    }

    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
      text-align: left;
    }

    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size="default"] *):is(:where(.group\/alert-dialog-content):has([data-slot="alert-dialog-media"]) *) {
      grid-column-start: 2;
    }

    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size="default"] *):has([data-slot="alert-dialog-media"]) {
      grid-template-rows: auto 1fr;
    }

    .data-\[side\=left\]\:sm\:max-w-sm[data-side="left"], .data-\[side\=right\]\:sm\:max-w-sm[data-side="right"], .data-\[size\=default\]\:sm\:max-w-sm[data-size="default"] {
      max-width: var(--container-sm);
    }
  }

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

    .md\:flex {
      display: flex;
    }

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

    .md\:text-pretty {
      text-wrap: pretty;
    }

    .md\:opacity-0 {
      opacity: 0;
    }

    .md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant="inset"] ~ *) {
      margin: calc(var(--spacing) * 2);
    }

    .md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant="inset"] ~ *) {
      margin-left: 0;
    }

    .md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant="inset"] ~ *) {
      border-radius: calc(var(--radius) + 4px);
    }

    .md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant="inset"] ~ *) {
      --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);
    }

    .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant="inset"] ~ *):is(:where(.peer)[data-state="collapsed"] ~ *) {
      margin-left: calc(var(--spacing) * 2);
    }

    .md\:after\:hidden:after {
      content: var(--tw-content);
      display: none;
    }
  }

  .ltr\:-translate-x-1\/2:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *), .rtl\:-translate-x-1\/2:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .dark\:border-input:is(.dark *) {
    border-color: var(--input);
  }

  .dark\:bg-destructive\/20:is(.dark *) {
    background-color: var(--destructive);
  }

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

  .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\:bg-transparent:is(.dark *) {
    background-color: #0000;
  }

  .dark\:text-muted-foreground:is(.dark *) {
    color: var(--muted-foreground);
  }

  @media (hover: hover) {
    .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--destructive) 30%, 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\:hover\:bg-muted\/50:is(.dark *):hover {
      background-color: var(--muted);
    }

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

    .dark\:hover\:text-foreground:is(.dark *):hover {
      color: var(--foreground);
    }
  }

  .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\:disabled\:bg-input\/80:is(.dark *):disabled {
    background-color: var(--input);
  }

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

  .dark\:disabled\:bg-transparent:is(.dark *):disabled {
    background-color: #0000;
  }

  .dark\:has-disabled\:bg-input\/80:is(.dark *):has(:disabled) {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:has-disabled\:bg-input\/80:is(.dark *):has(:disabled) {
      background-color: color-mix(in oklab, var(--input) 80%, transparent);
    }
  }

  .dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid="true"]) {
    --tw-ring-color: var(--destructive);
  }

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

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

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid="true"] {
      border-color: color-mix(in oklab, var(--destructive) 50%, 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);
    }
  }

  .dark\:data-active\:border-input:is(.dark *)[data-active] {
    border-color: var(--input);
  }

  .dark\:data-active\:bg-input\/30:is(.dark *)[data-active] {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-active\:bg-input\/30:is(.dark *)[data-active] {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }

  .dark\:data-active\:text-foreground:is(.dark *)[data-active] {
    color: var(--foreground);
  }

  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant="line"] *)[data-active] {
    border-color: #0000;
  }

  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant="line"] *)[data-active] {
    background-color: #0000;
  }

  .dark\:data-checked\:bg-primary:is(.dark *)[data-checked] {
    background-color: var(--primary);
  }

  .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant="destructive"]:focus {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant="destructive"]:focus {
      background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:size-4 svg {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\.border-b\]\:pb-2.border-b {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .\[\.border-t\]\:pt-2.border-t {
    padding-top: calc(var(--spacing) * 2);
  }

  :is(.\*\:\[a\]\:underline > *):is(a) {
    text-decoration-line: underline;
  }

  :is(.\*\:\[a\]\:underline-offset-3 > *):is(a) {
    text-underline-offset: 3px;
  }

  @media (hover: hover) {
    :is(.\*\:\[a\]\:hover\:text-foreground > *):is(a):hover {
      color: var(--foreground);
    }
  }

  :is(.\*\:\[span\]\:last\:flex > *):is(span):last-child {
    display: flex;
  }

  :is(.\*\:\[span\]\:last\:items-center > *):is(span):last-child {
    align-items: center;
  }

  :is(.\*\:\[span\]\:last\:gap-2 > *):is(span):last-child {
    gap: calc(var(--spacing) * 2);
  }

  :is(.focus\:\*\:\[svg\]\:text-accent-foreground:focus > *):is(svg) {
    color: var(--accent-foreground);
  }

  :is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant="destructive"] > *):is(svg) {
    color: var(--destructive);
  }

  :is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 > *):is(svg:not([class*="size-"])) {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .\[\&\>button\]\:hidden > button {
    display: none;
  }

  .has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has( > [data-align="block-end"]) > input {
    padding-top: calc(var(--spacing) * 3);
  }

  .has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has( > [data-align="block-start"]) > input {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has( > [data-align="inline-end"]) > input {
    padding-right: calc(var(--spacing) * 1.5);
  }

  .has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has( > [data-align="inline-start"]) > input {
    padding-left: calc(var(--spacing) * 1.5);
  }

  .\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\] > kbd {
    border-radius: calc(var(--radius) - 5px);
  }

  .\[\&\>span\:last-child\]\:truncate > span:last-child {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .\[\&\>svg\]\:size-3\.5 > svg {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\]\:size-4 > svg {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\]\:shrink-0 > svg {
    flex-shrink: 0;
  }

  .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 > svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 > svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  [data-side="left"][data-collapsible="offcanvas"] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
    right: calc(var(--spacing) * -2);
  }

  [data-side="left"][data-state="collapsed"] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
    cursor: e-resize;
  }

  [data-side="right"][data-collapsible="offcanvas"] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
    left: calc(var(--spacing) * -2);
  }

  [data-side="right"][data-state="collapsed"] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
    cursor: w-resize;
  }
}

:root {
  --site-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius: .75rem;
  --background: #101817;
  --foreground: #f5f7fa;
  --card: #17151c;
  --card-foreground: #f5f7fa;
  --popover: #17151c;
  --popover-foreground: #f5f7fa;
  --primary: #a78bfa;
  --primary-foreground: #0f1114;
  --secondary: #292730;
  --secondary-foreground: #f5f7fa;
  --muted: #25232b;
  --muted-foreground: #9ba0ab;
  --accent: #302c3a;
  --accent-foreground: #f5f7fa;
  --destructive: #ff6b83;
  --border: #ffffff1f;
  --input: #ffffff1f;
  --ring: #a78bfa;
  color: #f5f7fa;
  font-family: var(--site-font);
  font-synthesis: none;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #171719;
}

* {
  box-sizing: border-box;
}

html, body, #root {
  width: 100%;
  min-width: 320px;
  min-height: 100%;
  margin: 0;
}

body {
  min-height: 100dvh;
  overflow-x: clip;
}

button, input, select {
  font-family: inherit;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

@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-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-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-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  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-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@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
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}
