
.vib-button[data-v-a62f1d2f] {
  --button-radius: 0.16rem;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0.48rem;
  padding: 0.1rem 0.24rem;
  border: 0;
  border-radius: var(--button-radius);
  background: var(--white-8);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.16rem;
  line-height: 0.2rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}
.vib-button[data-size='32'][data-v-a62f1d2f] {
  --button-radius: 0.14rem;
  min-height: 0.32rem;
  padding: 0.08rem 0.16rem;
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.vib-button[data-size='44'][data-v-a62f1d2f] {
  min-height: 0.44rem;
  padding-block: 0.13rem;
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.vib-button[data-size='56'][data-v-a62f1d2f] {
  --button-radius: 0.2rem;
  min-height: 0.56rem;
  padding-block: 0.18rem;
}
.vib-button[data-variant='primary'][data-v-a62f1d2f]:not(:disabled) {
  -webkit-backdrop-filter: blur(0.06rem);
  backdrop-filter: blur(0.06rem);
  box-shadow:
    inset 0 0 0.22rem rgb(242 242 242 / 8%),
    inset -0.02rem -0.02rem 0.01rem -0.02rem rgb(102 102 102),
    inset 0.02rem 0.02rem 0.01rem -0.02rem rgb(102 102 102);
}
/* 单独绘制玻璃边缘高光，避免阴影或混合模式影响按钮文字。 */
.vib-button[data-variant='primary'][data-v-a62f1d2f]:not(:disabled)::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 0.01rem;
  border-radius: inherit;
  background: linear-gradient(
    135deg,
    var(--white-90),
    var(--white-12) 24%,
    var(--white-4) 52%,
    var(--white-20)
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
.vib-button[data-variant='secondary'][data-v-a62f1d2f] {
  box-shadow: inset 0 0 0 0.01rem var(--white-12);
}
.vib-button[data-variant='special-secondary'][data-v-a62f1d2f] {
  background: linear-gradient(168deg, #1e325a, #070d19 48%, #0a0f1e 84%, #1f2e53);
  box-shadow: inset 0 0 0.04rem #abcaff;
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.vib-button[data-v-a62f1d2f]:disabled {
  color: var(--text-disabled);
  background: var(--item-background-primary);
  box-shadow: inset 0 0 0 0.01rem var(--white-8);
  cursor: not-allowed;
}
.vib-button[data-variant='secondary'][data-v-a62f1d2f]:disabled {
  background: var(--white-8);
}
.vib-button[data-v-a62f1d2f]:hover {
  filter: none;
}
.vib-button[data-v-a62f1d2f]:hover:not(:disabled) {
  opacity: 0.94;
}
.vib-button[data-v-a62f1d2f]:active:not(:disabled) {
  transform: scale(0.985);
}
.vib-button[data-v-a62f1d2f]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
.vib-button-content[data-v-a62f1d2f] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  min-width: 0;
}
.vib-button-label[data-v-a62f1d2f] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  min-width: 0;
  /* 使用字体自身的行框，避免继承固定行高后文字视觉偏上。 */
  line-height: normal;
  overflow-wrap: anywhere;
}
/* 默认插槽中的图片也移除行内基线留白，避免纯图标按钮偏上。 */
.vib-button-content[data-v-a62f1d2f] img,
.vib-button-content[data-v-a62f1d2f] svg {
  display: block;
  flex-shrink: 0;
}
.vib-button-icon[data-v-a62f1d2f] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 0.24rem;
  height: 0.24rem;
}
.vib-button-icon[data-v-a62f1d2f] img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.vib-button-icon[data-v-a62f1d2f] svg {
  max-width: 100%;
  max-height: 100%;
}
.vib-button[data-size='44'] .vib-button-icon[data-v-a62f1d2f] {
  width: 0.2rem;
  height: 0.2rem;
}
.vib-button[data-size='32'] .vib-button-icon[data-v-a62f1d2f] {
  width: 0.16rem;
  height: 0.16rem;
}
.vib-button[data-size='32'] .vib-button-content[data-v-a62f1d2f] {
  gap: 0.04rem;
}
@media (prefers-reduced-motion: reduce) {
.vib-button[data-v-a62f1d2f] {
    transition: none;
}
.vib-button[data-v-a62f1d2f]:active:not(:disabled) {
    transform: none;
}
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
.vib-button[data-variant='primary'][data-v-a62f1d2f]:not(:disabled) {
    background: var(--item-background-primary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
}


.global-route-loading {
  position: fixed;
  z-index: 199;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 0.24rem;
  background: color-mix(in srgb, var(--background-primary, #0e0e0e) 48%, transparent);
  color: var(--text-primary, #fff);
  -webkit-backdrop-filter: blur(0.16rem) saturate(110%);
  backdrop-filter: blur(0.16rem) saturate(110%);
  touch-action: none;
}
.route-loading-spinner {
  width: 0.32rem;
  height: 0.32rem;
  border: 0.02rem solid var(--white-30, rgb(255 255 255 / 30%));
  border-top-color: var(--text-primary, #fff);
  border-radius: 50%;
  animation: route-spinner 800ms linear infinite;
}
.route-loading-error {
  max-width: 4.2rem;
  text-align: center;
}
.route-loading-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.12rem;
}
.route-loading-leave-active {
  transition: opacity 195ms ease-in;
  pointer-events: none;
}
.route-loading-leave-to {
  opacity: 0;
}
@keyframes route-spinner {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .route-loading-spinner {
    animation: none;
  }
  .route-loading-leave-active {
    transition: none;
  }
}
@supports not (backdrop-filter: blur(0.01rem)) {
  .global-route-loading {
    background: var(--background-primary, #0e0e0e);
  }
}
@media (prefers-reduced-transparency: reduce) {
  .global-route-loading {
    background: var(--background-primary, #0e0e0e);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}



.ui-dialog[data-v-204cb389] {
  --dialog-background: #232323;
  width: min(3.2rem, calc(100vw - 0.32rem));
  max-width: none;
  max-height: calc(
    100dvh - max(0.16rem, env(safe-area-inset-top)) - max(0.16rem, env(safe-area-inset-bottom))
  );
  margin: auto;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0.01rem solid transparent;
  border-radius: 0.3rem;
  background:
    linear-gradient(var(--dialog-background), var(--dialog-background)) padding-box,
    linear-gradient(131deg, #2c2b2b, #3f3f3f) border-box;
  color: var(--text-primary);
  -webkit-backdrop-filter: blur(0.02rem);
  backdrop-filter: blur(0.02rem);
}
.ui-dialog[data-v-204cb389]::backdrop {
  background: rgb(0 0 0 / 65%);
}
.ui-dialog[data-v-204cb389]:focus-visible {
  outline: none;
}
.ui-dialog-header[data-v-204cb389] {
  position: relative;
  padding: 0.2rem 0.44rem;
}
.ui-dialog-title[data-v-204cb389] {
  margin: 0;
  color: var(--text-primary);
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 0.24rem;
  text-align: center;
  overflow-wrap: anywhere;
}
.ui-dialog-close[data-v-204cb389] {
  position: absolute;
  top: 0.04rem;
  right: 0.04rem;
  display: grid;
  place-items: center;
  width: 0.44rem;
  height: 0.44rem;
  padding: 0;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
}
.ui-dialog-close[data-v-204cb389]:hover {
  background: var(--white-4);
  filter: none;
}
.ui-dialog-close[data-v-204cb389]:focus-visible {
  outline: none;
  background: var(--white-4);
}
.ui-dialog-close[data-v-204cb389]:disabled {
  background: transparent;
  opacity: 0.4;
  cursor: not-allowed;
}
.ui-dialog-content[data-v-204cb389] {
  display: grid;
  gap: 0.16rem;
  padding: 0 0.24rem;
  min-width: 0;
}
.ui-dialog-description[data-v-204cb389] {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.14rem;
  line-height: 0.2rem;
  text-align: center;
}
.ui-dialog-footer[data-v-204cb389] {
  display: flex;
  align-items: stretch;
  gap: 0.12rem;
  padding: 0.24rem;
}
.ui-dialog-action[data-v-204cb389] {
  flex: 1;
  min-height: 0.46rem;
  padding: 0.13rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.2rem;
}
.ui-dialog-action[data-variant='secondary'][data-v-204cb389] {
  font-weight: 500;
  background: rgb(27 27 27 / 40%);
  box-shadow: inset 0 0 0 0.01rem var(--white-20);
}
.ui-dialog:not(:has(.ui-dialog-footer)) .ui-dialog-content[data-v-204cb389] {
  padding-bottom: 0.24rem;
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
.ui-dialog[data-v-204cb389] {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
}



.top-bar[data-v-ea464693] {
  width: 100%;
  padding-top: env(safe-area-inset-top);
  color: var(--text-primary);
  flex-shrink: 0;
}
.top-bar--inline[data-v-ea464693] {
  position: relative;
}
.top-bar--overlay[data-v-ea464693] {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
}
.top-bar--fixed[data-v-ea464693] {
  position: fixed;
  inset: 0 0 auto;
  z-index: 10;
}
.top-bar--sticky[data-v-ea464693] {
  position: sticky;
  top: 0;
  z-index: 10;
}
.top-bar--glass[data-v-ea464693] {
  background: var(--background-secondary);
  border-bottom: 0.01rem solid var(--border-primary);
}
.top-bar--transparent[data-v-ea464693] {
  background: transparent;
}
.top-bar--scrolled[data-v-ea464693] {
  background: var(--background-primary);
}
.top-bar-content[data-v-ea464693] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.12rem;
  align-items: center;
  width: 100%;
  max-width: 12.8rem;
  margin-inline: auto;
  padding: 0.08rem 0.1rem;
}
.top-bar-leading[data-v-ea464693],
.top-bar-trailing[data-v-ea464693] {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 0.44rem;
  gap: 0.12rem;
}
.top-bar-leading[data-v-ea464693] {
  justify-self: start;
}
.top-bar-trailing[data-v-ea464693] {
  justify-self: end;
}
.top-bar-title[data-v-ea464693] {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: start;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 0.24rem;
}
@media (min-width: 640px) {
.top-bar-content[data-v-ea464693] {
    padding-inline: 0.16rem;
}
}
/* 用户确认的底部弹窗规范：36px 返回按钮距面板顶部 20px、左侧 24px。 */
.top-bar--dialog[data-v-ea464693] {
  position: relative;
  padding-top: 0;
}
.top-bar--dialog .top-bar-content[data-v-ea464693] {
  padding: 0.16rem 0.24rem 0;
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
.top-bar--scrolled[data-v-ea464693] {
    background: color-mix(in srgb, var(--background-primary) 12%, transparent);
    -webkit-backdrop-filter: blur(0.2rem);
    backdrop-filter: blur(0.2rem);
}
.top-bar--glass[data-v-ea464693] {
    background: color-mix(in srgb, var(--background-secondary) 80%, transparent);
    -webkit-backdrop-filter: blur(0.2rem);
    backdrop-filter: blur(0.2rem);
}
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
.top-bar--scrolled[data-v-ea464693] {
    background: var(--background-primary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.top-bar--glass[data-v-ea464693] {
    background: var(--background-secondary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
}



.top-bar-back[data-v-17216624] {
  display: grid;
  place-items: center;
  width: 0.36rem;
  height: 0.36rem;
  flex-shrink: 0;
  border: 0.01rem solid transparent;
  border-radius: 50%;
  color: var(--text-primary);
  text-decoration: none;
  transition: background-color 160ms ease;
}
.top-bar-back--glass[data-v-17216624] {
  border-color: var(--white-12);
  background: var(--white-8);
  -webkit-backdrop-filter: blur(0.072rem);
  backdrop-filter: blur(0.072rem);
}
.top-bar-back[data-v-17216624]:hover {
  background: var(--white-12);
}
.top-bar-back[data-v-17216624]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
.top-bar-back img[data-v-17216624] {
  width: 0.18rem;
  height: 0.18rem;
}
.top-bar-back:dir(rtl) img[data-v-17216624] {
  transform: scaleX(-1);
}
@media (prefers-reduced-motion: reduce) {
.top-bar-back[data-v-17216624] {
    transition: none;
}
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
.top-bar-back--glass[data-v-17216624] {
    background: var(--item-background-primary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
}



.top-bar-close[data-v-26d8f274] {
  display: grid;
  place-items: center;
  width: 0.36rem;
  height: 0.36rem;
  padding: 0;
  flex-shrink: 0;
  border: 0.01rem solid var(--white-12);
  border-radius: 50%;
  background: var(--white-8);
  color: var(--text-primary);
  -webkit-backdrop-filter: blur(0.072rem);
  backdrop-filter: blur(0.072rem);
  transition: background-color 160ms ease;
}
.top-bar-close[data-v-26d8f274]:hover {
  background: var(--white-12);
  filter: none;
}
.top-bar-close[data-v-26d8f274]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
.top-bar-close[data-v-26d8f274]:disabled {
  opacity: 0.4;
  background: var(--white-8);
}
.top-bar-close img[data-v-26d8f274] {
  width: 0.2rem;
  height: 0.2rem;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}
@media (prefers-reduced-motion: reduce) {
.top-bar-close[data-v-26d8f274] {
    transition: none;
}
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
.top-bar-close[data-v-26d8f274] {
    background: var(--item-background-primary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
}



.ui-input[data-v-d9705a5f] {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}
.ui-input-heading[data-v-d9705a5f] {
  display: flex;
  align-items: center;
  gap: 0.04rem;
  color: var(--white-95);
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.ui-input-control[data-v-d9705a5f] {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  min-width: 0;
  height: 0.52rem;
  padding: 0 0.16rem;
  border: 0.01rem solid var(--white-4);
  border-radius: 0.16rem;
  background: var(--item-background-secondary);
  -webkit-backdrop-filter: blur(0.2rem);
  backdrop-filter: blur(0.2rem);
}
.ui-input--filled .ui-input-control[data-v-d9705a5f],
.ui-input--error .ui-input-control[data-v-d9705a5f],
.ui-input-control[data-v-d9705a5f]:focus-within {
  background: var(--item-background-primary);
}
.ui-input--filled .ui-input-control[data-v-d9705a5f],
.ui-input-control[data-v-d9705a5f]:focus-within {
  box-shadow: 0 0.04rem 0.04rem rgb(0 0 0 / 25%);
}
.ui-input-control[data-v-d9705a5f]:focus-within,
.ui-input--error .ui-input-control[data-v-d9705a5f] {
  border-color: var(--white-50);
}
.ui-input-native[data-v-d9705a5f] {
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  color: var(--white-95);
  font: inherit;
  font-size: 0.16rem;
  font-weight: 400;
  line-height: 0.2rem;
}
.ui-input-native[data-v-d9705a5f]::placeholder {
  color: var(--text-description);
  opacity: 1;
}
.ui-input[data-size='40'] .ui-input-control[data-v-d9705a5f] {
  height: 0.4rem;
  padding-inline: 0.12rem;
  gap: 0.08rem;
  border-color: var(--white-12);
  background: var(--item-background-primary);
}
.ui-input[data-size='40'] .ui-input-native[data-v-d9705a5f] {
  font-size: 0.14rem;
}
.ui-input[data-size='40'] .ui-input-control[data-v-d9705a5f]:focus-within,
.ui-input[data-size='40'].ui-input--error .ui-input-control[data-v-d9705a5f] {
  border-color: var(--white-50);
}
.ui-input-control[data-v-d9705a5f]:has(.ui-input-native:disabled) {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}
.ui-input-native[data-v-d9705a5f]:disabled {
  cursor: not-allowed;
}
.ui-input-leading[data-v-d9705a5f],
.ui-input-trailing[data-v-d9705a5f] {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.ui-input-message[data-v-d9705a5f] {
  margin: 0;
  color: var(--text-description);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.ui-input-message--error[data-v-d9705a5f] {
  color: var(--error);
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.ui-input-clear[data-v-d9705a5f] {
  display: grid;
  place-items: center;
  flex: 0 0 0.32rem;
  width: 0.32rem;
  height: 0.32rem;
  padding: 0;
  margin-inline-end: -0.08rem;
  border: 0;
  background: transparent;
}
.ui-input-clear[data-v-d9705a5f]:hover {
  background: var(--white-8);
  filter: none;
}
.ui-input-clear[data-v-d9705a5f]:disabled {
  display: none;
}
.ui-input-sr-only[data-v-d9705a5f] {
  position: absolute;
  width: 0.01rem;
  height: 0.01rem;
  padding: 0;
  margin: -0.01rem;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
.ui-input-control[data-v-d9705a5f] {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
}



.ui-toast-region[data-v-49412e18] {
  position: fixed;
  inset: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  pointer-events: none;
}
.ui-toast-region[data-v-49412e18]::backdrop {
  background: transparent;
  pointer-events: none;
}
.ui-toast[data-v-49412e18] {
  --toast-shift: 0.12rem;
  position: fixed;
  z-index: 1000;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 0.1rem;
  width: max-content;
  max-width: min(4.2rem, calc(100vw - 0.4rem));
  padding: 0.14rem 0.18rem;
  border: 0.01rem solid var(--white-12);
  border-radius: 0.18rem;
  background: var(--item-background-tertiary);
  color: var(--text-primary);
  font-size: 0.14rem;
  line-height: 0.2rem;
  overflow-wrap: anywhere;
  box-shadow: 0 0.02rem 0.03rem rgb(0 0 0 / 10%);
  transform: translateX(-50%);
  pointer-events: none;
}
.ui-toast[data-position='bottom'][data-v-49412e18] {
  bottom: calc(var(--toast-offset) + env(safe-area-inset-bottom));
}
.ui-toast[data-position='top'][data-v-49412e18] {
  --toast-shift: -0.12rem;
  top: calc(var(--toast-offset) + env(safe-area-inset-top));
}
.ui-toast-icon[data-v-49412e18] {
  flex: 0 0 0.22rem;
  width: 0.22rem;
  height: 0.22rem;
}
.ui-toast[data-status='success'] .ui-toast-icon[data-v-49412e18] {
  color: var(--success);
}
.ui-toast[data-status='error'] .ui-toast-icon[data-v-49412e18] {
  color: var(--error);
}
.ui-toast[data-status='warning'] .ui-toast-icon[data-v-49412e18] {
  color: var(--warning);
}
.toast-enter-active[data-v-49412e18],
.toast-leave-active[data-v-49412e18] {
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}
.toast-enter-from[data-v-49412e18],
.toast-leave-to[data-v-49412e18] {
  opacity: 0;
  transform: translate(-50%, var(--toast-shift));
}
@media (prefers-reduced-motion: reduce) {
.toast-enter-active[data-v-49412e18],
  .toast-leave-active[data-v-49412e18] {
    transition: none;
}
}



.auth-contact-entry[data-v-2703d5a7] {
  width: 100%;
  padding-top: 0.24rem;
  padding-bottom: var(--auth-entry-bottom-space, 92px);
  text-align: center;
}
.auth-entry-illustration[data-v-2703d5a7] {
  position: relative;
  width: 2rem;
  height: 1.36rem;
  margin-inline: auto;
}
.auth-entry-illustration img[data-v-2703d5a7] {
  /* Figma 导出包含外溢光晕，按原坐标放回 200×136 的配图区域。 */
  position: absolute;
  top: -0.23rem;
  left: -0.06rem;
  width: 2.23rem;
  height: 1.97rem;
  max-width: none;
  pointer-events: none;
}
.auth-entry-reward[data-v-2703d5a7] {
  margin: 0.16rem 0 0;
  color: var(--text-secondary);
  font-size: 0.16rem;
  line-height: 0.2rem;
}
.auth-entry-reward strong[data-v-2703d5a7] {
  color: #f3cf86;
  font-weight: 400;
  white-space: nowrap;
}
.auth-entry-actions[data-v-2703d5a7] {
  margin-top: 0.4rem;
}
.auth-entry-support[data-size='56'][data-v-2703d5a7] {
  width: 100%;
  min-height: 0.56rem;
  padding: 0.16rem;
}
.auth-entry-support img[data-v-2703d5a7] {
  flex-shrink: 0;
  width: 0.24rem;
  height: 0.24rem;
}
.auth-entry-register[data-v-2703d5a7] {
  min-height: 0.44rem;
  margin-top: 0.08rem;
  padding: 0.13rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-secondary);
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.18rem;
}
.auth-entry-register-link[data-v-2703d5a7] {
  text-decoration: underline;
  text-underline-offset: 0.02rem;
}


.auth-background {
  /* 预渲染光效，避免 WebKit 截断 SVG mask 内的模糊扩散。 */
  --auth-glow-width: min(82vw, 4.3rem);
  /* 图片为 659×562，将下半幅放到容器外，让亮区中心贴住下边缘。 */
  --auth-background: url("/17afae7af2a222e4.png") right -0.33rem bottom
    calc(var(--auth-glow-width) * -281 / 659) / var(--auth-glow-width) auto no-repeat #141414;
}
.auth-shell {
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  background: var(--auth-background);
}
.auth-main {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  padding: max(1.5rem, calc(env(safe-area-inset-top) + 0.97rem)) 0.24rem
    max(0.24rem, env(safe-area-inset-bottom));
}
.auth-register .auth-main {
  padding-top: max(1.14rem, calc(env(safe-area-inset-top) + 0.8rem));
}
.auth-contact .auth-main {
  padding-top: max(1.14rem, calc(env(safe-area-inset-top) + 0.8rem));
}
.auth-content h1 {
  margin: 0 0.08rem;
  font-size: 0.28rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
  white-space: pre-line;
}
.auth-register h1 {
  font-size: 0.36rem;
}
/* Figma 3306:105746 / 3443:30975：白色在文字宽度的末段渐隐至 30%。 */
.auth-shell:not(.auth-contact) .auth-content h1,
.auth-drawer-form .auth-drawer-title {
  background: linear-gradient(90deg, #fff 6%, #fff 72%, rgb(255 255 255 / 30%) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.auth-shell:not(.auth-contact) .auth-content h1 {
  width: fit-content;
  max-width: calc(100% - 0.16rem);
}
.auth-contact .auth-content h1 {
  margin: 0;
  font-size: 0.24rem;
  line-height: 0.28rem;
  letter-spacing: 0;
  text-align: center;
  background: linear-gradient(270deg, #3cf5ff, #fff 45%);
  background-clip: text;
  color: transparent;
}
.auth-description {
  margin: 0.08rem 0.08rem 0;
  color: var(--text-secondary);
  font-size: 0.14rem;
  line-height: 1.4;
}
.auth-form {
  display: grid;
  gap: 0.24rem;
  margin-top: 0.24rem;
}
.auth-fields {
  display: grid;
  min-width: 0;
  gap: 0.12rem;
  margin: 0;
  padding: 0;
  border: 0;
}
.auth-phone-row {
  display: grid;
  grid-template-columns: 0.96rem minmax(0, 1fr);
  gap: 0.08rem;
}
.auth-country {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  height: 0.52rem;
  padding: 0 0.08rem;
  border: 0.01rem solid var(--white-4);
  border-radius: 0.16rem;
  background: var(--item-background-secondary);
  font-size: 0.16rem;
}
.auth-country img {
  flex-shrink: 0;
  width: 0.24rem;
  height: 0.24rem;
}
.auth-eye {
  display: grid;
  place-items: center;
  flex: 0 0 0.44rem;
  width: 0.44rem;
  height: 0.44rem;
  padding: 0;
  margin-right: -0.1rem;
  border: 0;
  background: transparent;
}
.auth-eye:disabled {
  background: transparent;
}
.auth-submit {
  width: 100%;
}
.auth-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  margin-top: auto;
  padding-top: 0.48rem;
  color: var(--text-secondary);
  font-size: 0.14rem;
}
.auth-footer a {
  display: inline-flex;
  align-items: center;
  min-height: 0.44rem;
  color: var(--text-primary);
  text-decoration: none;
}
.auth-footer a:hover {
  text-decoration: underline;
}
.auth-reward {
  position: relative;
  overflow: hidden;
  margin-top: 0.24rem;
  border-radius: 0.16rem;
  /* 保留 Figma 背景的坐标、模糊、叠加混合与描边，文案仍由 i18n 渲染。 */
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNTQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAzNTQgNDQiIGZpbGw9Im5vbmUiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgogIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8zMzA2XzEwNTc0OSkiPgogICAgPHJlY3Qgd2lkdGg9IjM1NCIgaGVpZ2h0PSI0NCIgcng9IjE2IiBmaWxsPSIjMUMxQzFDIiAvPgogICAgPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZl8zMzA2XzEwNTc0OSkiPgogICAgICA8cGF0aCBkPSJNMTE1LjQwMiAtMjEuMTQxNkMxMTcuMjc4IC04LjkyMzU2IDY5LjY2MjcgMy40NDU4NyAyNy45MDIzIDkuODU4NEMtMTMuODU4IDE2LjI3MDkgLTE4LjIyMTMgODUuNTc2NCAtMjAuMDk3NCA3My4zNTg0Qy0yMS45NzM2IDYxLjE0MDMgLTU4Ljg1NjggLTM3LjIyOTIgLTE3LjA5NjUgLTQzLjY0MTdDMjQuNjYzOCAtNTAuMDU0MiAxMTMuNTI2IC0zMy4zNTk2IDExNS40MDIgLTIxLjE0MTZaIiBmaWxsPSIjOURDMEUyIiAvPgogICAgPC9nPgogICAgPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZl8zMzA2XzEwNTc0OSkiPgogICAgICA8cGF0aCBkPSJNMTQxIDcyLjIyNUMxNDguODg3IDcwLjM0NTcgMTkzLjA4OSA2OC40OTA1IDIxNS4zNjQgNTkuODIxM0MyMzUuNjQ1IDUxLjkyOCAyNDQuNyAzOS41MjM4IDI1Ny44ODkgMjkuMzc1OEMyNzYuMjA3IDE1LjI4MDYgMzE3Ljg4NyAxOC42NjA4IDM4NS40OTkgNDEuMjE1N0M0MDQuNDMyIDQ3LjUzMTYgNDM1Ljc2NSAyNy40MDU4IDQ2MC43MTggNi4yNTYyMkw0NjYuNjIzIC0xMC4wOTA2QzUyMS4yMTEgLTU5LjQ3MzYgNDk4LjEzNyAtMjUuNDU3NyA0NjAuNzE4IDYuMjU2MjJMNDIzLjI0NCAxMTBIMjIyLjk2TDE0MSA3Mi4yMjVaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMzMwNl8xMDU3NDkpIiAvPgogICAgPC9nPgogICAgPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjJfZl8zMzA2XzEwNTc0OSkiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpwbHVzLWxpZ2h0ZXIiPgogICAgICA8cGF0aCBkPSJNMjgxLjk5NyAyNi4xMDY0QzMyMi42MzkgLTE4LjMxNzQgMjk4LjA3NCA4MC41Mjg3IDQ4Ni4xMDIgNjMuOTc4QzQ4Ni4zMDkgMi44NDcwMyA1MDguMjQyIDYxLjYwNjIgNTA4LjI0MiA2MS42MDYyQzUwMC41NTEgNjIuNTY5MyA0OTMuMTc2IDYzLjM1NTQgNDg2LjEwMiA2My45NzhDNDg2LjEwMSA2NC4zMjMgNDg2LjEwMSA2NC42NzE3IDQ4Ni4xMDEgNjUuMDI0M0M0ODYuMTQxIDEyNy44NjcgNDcxIDgyIDQ3MSA4Mkw1My41MDAxIDgyQzEyNS4yNTYgNzYuODkzMiAxMzkuODUxIDc0LjMwOTkgMTg3LjQ5OCA2OC40OTkzQzI0OC45OTggNjAuOTk5MyAyNjAuNDk4IDQ5LjYwNjggMjgxLjk5NyAyNi4xMDY0WiIgZmlsbD0iIzNGODdDRiIgLz4KICAgIDwvZz4KICA8L2c+CiAgPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIzNTMiIGhlaWdodD0iNDMiIHJ4PSIxNS41IiBzdHJva2U9InVybCgjcGFpbnQ3X2xpbmVhcl8zMzA2XzEwNTc0OSkiIHN0cm9rZS1vcGFjaXR5PSIwLjgiIC8+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIGlkPSJmaWx0ZXIwX2ZfMzMwNl8xMDU3NDkiIHg9Ii03Ni45MjM4IiB5PSItODUuMDYwNSIgd2lkdGg9IjIzMi4zOCIgaGVpZ2h0PSIxOTkuODU5IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4IiAvPgogICAgICA8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMjAiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8zMzA2XzEwNTc0OSIgLz4KICAgIDwvZmlsdGVyPgogICAgPGZpbHRlciBpZD0iZmlsdGVyMV9mXzMzMDZfMTA1NzQ5IiB4PSI4MSIgeT0iLTk1IiB3aWR0aD0iNDc4IiBoZWlnaHQ9IjI2NSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgogICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIgLz4KICAgICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiIC8+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwIiByZXN1bHQ9ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMzMwNl8xMDU3NDkiIC8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIgaWQ9ImZpbHRlcjJfZl8zMzA2XzEwNTc0OSIgeD0iLTYuNSIgeT0iLTQ1LjQ3NjYiIHdpZHRoPSI1NzQuNzQyIiBoZWlnaHQ9IjIwMy42MzEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIC8+CiAgICAgIDxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIzMCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzMzMDZfMTA1NzQ5IiAvPgogICAgPC9maWx0ZXI+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMzMwNl8xMDU3NDkiIHgxPSIzNjEuNSIgeTE9IjMzLjUiIHgyPSIyMjAuMTMiIHkyPSIxODguODY2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM0NkE5RUIiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzlGRkU1NCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50N19saW5lYXJfMzMwNl8xMDU3NDkiIHgxPSIxMzguNSIgeTE9Ii0zMy41IiB4Mj0iMTcxIiB5Mj0iNzkuNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjQ0FGMERGIiAvPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuMzgwNzAzIiBzdG9wLWNvbG9yPSIjMkY0MjQyIiAvPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuODIxMjQxIiBzdG9wLWNvbG9yPSIjMzc1QTVBIiAvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3RURFREUiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGNsaXBQYXRoIGlkPSJjbGlwMF8zMzA2XzEwNTc0OSI+CiAgICAgIDxyZWN0IHdpZHRoPSIzNTQiIGhlaWdodD0iNDQiIHJ4PSIxNiIgZmlsbD0id2hpdGUiIC8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+") center / 100%
    100% no-repeat;
}
.auth-reward p {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.06rem;
  margin: 0;
  padding: 0.1rem 0.16rem;
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.auth-reward p > img {
  flex-shrink: 0;
}
.auth-reward strong {
  color: inherit;
  font-weight: 400;
}
.auth-reward + .auth-form {
  margin-top: 0.12rem;
}
@media (min-width: 768px) {
  .auth-main {
    align-items: center;
    padding-inline: 0.48rem;
  }
  .auth-content,
  .auth-footer {
    width: min(100%, 5.2rem);
  }
  .auth-register h1 {
    font-size: 0.4rem;
  }
}
@media (max-width: 360px) {
  .auth-main {
    padding-inline: 0.18rem;
  }
}

/* 使用公共 Dialog 的焦点、遮罩与滚动锁，仅为认证抽屉调整面板布局。 */
.ui-dialog.auth-drawer {
  --dialog-background: var(--background);
  position: fixed;
  inset: auto 0 0;
  width: min(100%, 5.2rem);
  margin: 0 auto;
  height: 80vh;
  max-height: 80vh;
  overflow-y: auto;
  border-radius: 0.28rem 0.28rem 0 0;
  border-bottom: 0;
  padding-bottom: env(safe-area-inset-bottom);
  background: var(--auth-background);
}
.ui-dialog.auth-drawer[open] {
  animation: auth-drawer-enter 220ms ease-out;
}
.auth-drawer-title {
  margin: 0.24rem 0.24rem 0.12rem;
  font-size: 0.24rem;
  line-height: 1.3;
  text-align: center;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.auth-drawer .ui-dialog-content {
  gap: 0;
}
.ui-dialog.auth-drawer-contact {
  --auth-entry-bottom-space: 0.32rem;
  height: auto;
}
.auth-drawer-contact .auth-drawer-title {
  margin-bottom: 0;
  line-height: 0.28rem;
  background: linear-gradient(270deg, #3cf5ff, #fff 45%);
  background-clip: text;
  color: transparent;
}
.auth-drawer-description {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.14rem;
  line-height: 1.4;
  text-align: center;
}
.auth-drawer-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  padding-top: 0.2rem;
  color: var(--text-secondary);
  font-size: 0.14rem;
}
.auth-drawer-footer button {
  min-height: 0.44rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  font: inherit;
}
/* Figma 3306:105736 / 3443:30966；仅调整表单内容，TopBar 使用公共样式。 */
.ui-dialog.auth-drawer-form {
  height: 7.02rem;
  max-height: 80dvh;
  border: 0;
  border-radius: 0.32rem 0.32rem 0 0;
}
.auth-drawer-form .auth-drawer-title {
  width: fit-content;
  max-width: calc(100% - 0.48rem);
  /* 公共 dialog TopBar 底部比返回按钮低 4px，加 28px 后得到 32px 间距。 */
  margin: 0.28rem 0.24rem 0;
  font-size: 0.28rem;
  line-height: 0.32rem;
  text-align: left;
  white-space: normal;
}
.auth-drawer-form .auth-drawer-description {
  margin: 0.08rem 0.24rem 0;
  color: var(--text-tertiary);
  line-height: 0.18rem;
  text-align: left;
}
.ui-dialog.auth-drawer-form .ui-dialog-content {
  padding-top: 0.24rem;
  padding-bottom: 0.64rem;
}
.auth-drawer-form .auth-form {
  margin-top: 0;
}
.auth-drawer-form .auth-phone-row {
  grid-template-columns: 0.94rem minmax(0, 1fr);
}
.auth-drawer-form .auth-country {
  gap: 0.1rem;
}
.auth-drawer-form .auth-eye img {
  width: 0.16rem;
  height: 0.16rem;
}
.auth-drawer-form .auth-reward {
  margin-top: 0;
}
.auth-drawer-form .auth-reward + .auth-form {
  margin-top: 0.16rem;
}
.ui-dialog.auth-drawer-form .auth-submit[data-size='56'] {
  padding: 0.16rem;
}
.auth-drawer-form .auth-drawer-footer {
  margin-top: 0.12rem;
  padding-top: 0;
  color: var(--text-description);
  line-height: 0.18rem;
}
.auth-drawer-form .auth-drawer-footer button {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 0.02rem;
}
@keyframes auth-drawer-enter {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ui-dialog.auth-drawer[open] {
    animation: none;
  }
}


.support-frame[data-v-5204edca] {
  position: fixed;
  z-index: 5;
  border: 0;
  visibility: hidden;
  pointer-events: none;
}
.support-frame-visible[data-v-5204edca] {
  visibility: visible;
  pointer-events: auto;
}



.support-notification-region[data-v-b35a2d08] {
  position: fixed;
  inset: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  pointer-events: none;
}
.support-notification-region[data-v-b35a2d08]::backdrop {
  background: transparent;
  pointer-events: none;
}
.support-notification[data-v-b35a2d08] {
  position: absolute;
  top: calc(0.12rem + env(safe-area-inset-top));
  left: 50%;
  display: flex;
  width: min(4.2rem, calc(100% - 0.32rem));
  border: 0.01rem solid var(--border-primary);
  border-radius: 0.16rem;
  background: var(--item-background-primary);
  box-shadow: 0 0.04rem 0.16rem color-mix(in srgb, var(--background-primary) 70%, transparent);
  transform: translateX(-50%);
  pointer-events: auto;
}
.support-notification-open[data-v-b35a2d08],
.support-notification-close[data-v-b35a2d08] {
  display: flex;
  align-items: center;
  min-height: 0.48rem;
  padding: 0.12rem;
  border: 0;
  background: transparent;
  color: inherit;
}
.support-notification-open[data-v-b35a2d08] {
  flex: 1;
  min-width: 0;
  gap: 0.1rem;
  text-align: start;
  font-size: 0.14rem;
  line-height: 0.2rem;
}
.support-notification-text[data-v-b35a2d08] {
  flex: 1;
}
.support-notification-link[data-v-b35a2d08] {
  color: var(--info);
  text-decoration: underline;
  text-underline-offset: 0.02rem;
}
.support-notification img[data-v-b35a2d08] {
  flex-shrink: 0;
}
.support-notification-close[data-v-b35a2d08] {
  flex-shrink: 0;
}
.support-notification button[data-v-b35a2d08]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: -0.03rem;
}



.agent-frame[data-v-0ad160e7] {
  position: fixed;
  z-index: 0;
  display: block;
  border: 0;
  visibility: hidden;
  pointer-events: none;
  background: var(--background-primary);
}
.agent-frame-visible[data-v-0ad160e7] {
  visibility: visible;
  pointer-events: auto;
}



.route-view[data-v-bc34f300] {
  display: contents;
}



.tab-bar-region[data-v-d939cb6e] {
  --tab-surface: color-mix(in srgb, var(--item-background-secondary) 80%, transparent);
  --tab-border: rgb(255 255 255 / 6%);
  --tab-muted: var(--text-tertiary);
  --tab-foreground: var(--text-primary);
  --tab-selected-border: var(--white-8);
  /* 基础间距与安全区取较大值后统一缩小 10px，避免 iOS 上叠加留白。 */
  --tab-bottom-space: calc(max(0.23rem, env(safe-area-inset-bottom)) - 0.1rem);
  position: fixed;
  z-index: 100;
  inset: auto 0 0;
  height: calc(0.97rem + var(--tab-bottom-space));
  padding: 0.31rem max(0.27rem, env(safe-area-inset-right)) var(--tab-bottom-space)
    max(0.27rem, env(safe-area-inset-left));
  background: linear-gradient(180deg, rgb(0 0 0 / 0%) 0%, var(--background-primary) 67%);
  pointer-events: none;
}
.tab-bar[data-v-d939cb6e] {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(var(--tab-count), minmax(0, 1fr));
  width: 3.48rem;
  max-width: 100%;
  height: 0.66rem;
  margin: 0 auto;
  padding: 0.04rem;
  border-radius: 0.32rem;
  background: var(--tab-surface);
  box-shadow: inset 0 0.006rem 0 var(--tab-border);
  backdrop-filter: blur(0.08rem);
  pointer-events: auto;
  isolation: isolate;
}
.tab[data-v-d939cb6e] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.02rem;
  min-width: 0;
  border-radius: 0.32rem;
  color: var(--tab-muted);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: color 220ms ease;
}
.tab-indicator[data-v-d939cb6e] {
  position: absolute;
  z-index: -1;
  top: 0.04rem;
  bottom: 0.04rem;
  left: 0.04rem;
  width: calc((100% - 0.08rem) / var(--tab-count));
  border-radius: 0.32rem;
  box-shadow: inset 0 0 0 0.01rem var(--tab-selected-border);
  transform: translateX(calc(var(--active-index) * 100%));
  transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
.tab-indicator[data-v-d939cb6e]::before {
  content: '';
  position: absolute;
  z-index: -1;
  /* 光晕越过单项边界，仅由整个导航栏的圆角裁切。 */
  inset: -0.24rem -0.32rem;
  background:
    radial-gradient(
      ellipse 48% 65% at 50% 42%,
      rgb(133 151 194 / 20%) 0%,
      rgb(95 114 157 / 12%) 35%,
      rgb(66 77 109 / 5%) 65%,
      rgb(66 77 109 / 0%) 100%
    ),
    radial-gradient(
      ellipse 50% 50% at 50% 70%,
      rgb(66 77 109 / 16%) 0%,
      rgb(66 77 109 / 6%) 50%,
      rgb(66 77 109 / 0%) 100%
    );
}
.tab-active[data-v-d939cb6e] {
  color: var(--tab-foreground);
}
.icon-slot[data-v-d939cb6e] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.24rem;
  height: 0.24rem;
}
.icon[data-v-d939cb6e] {
  display: block;
  /* SVG 保留 Figma 原始尺寸，使用缩放控制实际渲染大小。 */
  flex-shrink: 0;
  max-width: none;
  transform: scale(var(--tab-icon-scale, 1));
}
.label[data-v-d939cb6e] {
  font-family: 'Rubik', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 0.11rem;
  line-height: 0.16rem;
  font-weight: 400;
}
.tab-active .label[data-v-d939cb6e] {
  font-weight: 500;
}
.tab[data-v-d939cb6e]:focus-visible {
  outline: 0.02rem solid var(--tab-foreground);
  outline-offset: -0.02rem;
}
@media (prefers-reduced-motion: reduce) {
.tab-indicator[data-v-d939cb6e],
  .tab[data-v-d939cb6e] {
    transition: none;
}
}



.ui-select[data-v-8af8f800] {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}
.ui-select-label[data-v-8af8f800] {
  color: var(--text-secondary);
  font-size: 0.14rem;
}
.ui-select-trigger[data-v-8af8f800] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.12rem;
  width: 100%;
  min-height: 0.44rem;
  padding: 0.1rem 0.12rem;
  border: 0.01rem solid var(--border-primary);
  border-radius: 0.12rem;
  background: var(--background-secondary);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.14rem;
  text-align: start;
  cursor: pointer;
}
.ui-select-trigger[data-v-8af8f800]:hover {
  background: var(--item-background-secondary);
  filter: none;
}
.ui-select-trigger[data-v-8af8f800]:focus-visible,
.ui-select-trigger[aria-expanded='true'][data-v-8af8f800] {
  outline: none;
  background: var(--item-background-secondary);
}
.ui-select-trigger[data-v-8af8f800]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.ui-select-value[data-v-8af8f800] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-select-chevron[data-v-8af8f800] {
  flex-shrink: 0;
  width: 0.2rem;
  height: 0.2rem;
  color: var(--text-secondary);
  transition: transform 160ms ease;
}
.ui-select-chevron.is-open[data-v-8af8f800] {
  transform: rotate(180deg);
}
.ui-select-menu[data-v-8af8f800] {
  inset: auto;
  position: fixed;
  z-index: 500;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
  margin: 0;
  padding: 0.06rem;
  border: 0.01rem solid var(--white-12);
  border-radius: 0.16rem;
  background: var(--item-background-tertiary);
  color: var(--text-primary);
  box-shadow: 0 0.02rem 0.03rem rgb(0 0 0 / 10%);
}
.ui-select-option[data-v-8af8f800] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.12rem;
  min-height: 0.44rem;
  padding: 0.1rem 0.12rem;
  border-radius: 0.1rem;
  font-size: 0.14rem;
  line-height: 0.2rem;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.ui-select-option > span[data-v-8af8f800] {
  flex: 1;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ui-select-option.is-active[data-v-8af8f800] {
  background: var(--white-8);
}
.ui-select-option[aria-selected='true'][data-v-8af8f800] {
  font-weight: 600;
}
.ui-select-option[aria-disabled='true'][data-v-8af8f800] {
  color: var(--text-disabled);
  cursor: not-allowed;
}
.ui-select-option svg[data-v-8af8f800] {
  flex: 0 0 0.2rem;
  width: 0.2rem;
  height: 0.2rem;
}
.ui-select-error[data-v-8af8f800] {
  margin: 0;
  color: var(--error);
  font-size: 0.14rem;
  line-height: 0.2rem;
}
@media (prefers-reduced-motion: reduce) {
.ui-select-chevron[data-v-8af8f800] {
    transition: none;
}
}



.ui-loading[data-v-f2678d0f] {
  display: grid;
  place-items: center;
  min-height: 2.6rem;
}
.ui-loading-spinner[data-v-f2678d0f] {
  width: 0.32rem;
  height: 0.32rem;
  border: 0.03rem solid var(--white-12);
  border-top-color: var(--text-primary);
  border-radius: 50%;
  animation: loading-spin-f2678d0f 0.8s linear infinite;
}
.ui-loading-inline[data-v-f2678d0f] {
  display: inline-grid;
  min-height: 0;
  width: 0.2rem;
  height: 0.2rem;
}
.ui-loading-inline .ui-loading-spinner[data-v-f2678d0f] {
  width: 0.2rem;
  height: 0.2rem;
  border-width: 0.02rem;
}
@keyframes loading-spin-f2678d0f {
to {
    transform: rotate(360deg);
}
}
@media (prefers-reduced-motion: reduce) {
.ui-loading-spinner[data-v-f2678d0f] {
    animation: none;
}
}



.top-bar-action[data-v-cd378ee7] {
  display: grid;
  place-items: center;
  width: 0.36rem;
  height: 0.36rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}
.top-bar-action[data-v-cd378ee7]:hover {
  filter: none;
}
.top-bar-action[data-v-cd378ee7]:disabled:not([aria-busy='true']) {
  background: transparent;
  opacity: 0.4;
}
.top-bar-action-icon[data-v-cd378ee7] {
  display: grid;
  place-items: center;
}
.top-bar-action-icon[data-v-cd378ee7],
.top-bar-action > .ui-loading[data-v-cd378ee7] {
  grid-area: 1 / 1;
}
.top-bar-action[aria-busy='true'] .top-bar-action-icon[data-v-cd378ee7] {
  visibility: hidden;
}



.support-entry-icon[data-v-3463cde0] {
  position: relative;
  display: flex;
}
.support-entry-dot[data-v-3463cde0] {
  position: absolute;
  top: -0.02rem;
  right: -0.02rem;
  width: 0.08rem;
  height: 0.08rem;
  border-radius: 50%;
  background: var(--error);
}



.tab-header[data-v-7f4ac079] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.16rem;
  min-height: calc(0.6rem + env(safe-area-inset-top));
  max-width: 10.4rem;
  margin: 0 auto 0.08rem;
  padding: calc(0.08rem + env(safe-area-inset-top)) 0.2rem 0.08rem;
}
.tab-header-title[data-v-7f4ac079] {
  margin: 0;
  font-size: 0.3rem;
  line-height: 0.36rem;
  font-weight: 700;
  background: linear-gradient(90deg, var(--text-primary) 60%, var(--white-30));
  background-clip: text;
  color: transparent;
  width: fit-content;
}
.tab-header-logo[data-v-7f4ac079] {
  display: block;
  width: 1rem;
  height: 0.3125rem;
  object-fit: contain;
}
.tab-header-home-actions[data-v-7f4ac079] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.12rem;
}
.tab-header-pro[data-v-7f4ac079] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.02rem;
  padding: 0.05rem 0.13rem 0.05rem 0.11rem;
  border: 0.01rem solid transparent;
  border-radius: 0.42rem;
  background:
    linear-gradient(90deg, #0e0e10, #111822, #0e0e10) padding-box,
    linear-gradient(135deg, rgb(208 232 255 / 40%), transparent 50%, rgb(255 203 125 / 40%))
      border-box;
  color: var(--text-primary);
  font-size: 0.12rem;
  line-height: 0.18rem;
  text-decoration: none;
}
.tab-header-pro img[data-v-7f4ac079] {
  width: 0.15rem;
  height: 0.15rem;
}
.tab-header-pro[data-v-7f4ac079]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
.tab-header-language[data-v-7f4ac079] .ui-select-trigger {
  min-height: 0.3rem;
  padding: 0.03rem 0.1rem;
  gap: 0.02rem;
  border: 0.01rem solid var(--white-20);
  border-radius: 0.24rem;
  background: rgb(27 27 27 / 40%);
  line-height: 0.22rem;
}
.tab-header-language[data-v-7f4ac079] .ui-select-chevron {
  width: 0.16rem;
  height: 0.16rem;
}
@media (min-width: 768px) {
.tab-header-logo[data-v-7f4ac079] {
    width: auto;
    height: 0.4rem;
}
.tab-header[data-v-7f4ac079] {
    min-height: calc(0.84rem + env(safe-area-inset-top));
    margin-bottom: 0.24rem;
    padding-top: calc(0.32rem + env(safe-area-inset-top));
    padding-inline: 0.36rem;
}
}
@media (min-width: 1200px) {
.tab-header[data-v-7f4ac079] {
    padding-inline: 0.52rem;
}
}



.invite-policy[data-v-62534150] {
  display: inline-flex;
  align-items: center;
  min-height: 0.44rem;
  flex-shrink: 0;
  color: var(--text-primary);
  font-size: 0.14rem;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  text-align: end;
}
.invite-policy img[data-v-62534150] {
  flex-shrink: 0;
  max-width: none;
}



.guild-create-entry[data-v-7956facc] {
  display: inline-flex;
  align-items: center;
  gap: 0.04rem;
  flex-shrink: 0;
  padding: 0.08rem;
  border: 0.01rem solid var(--white-20);
  border-radius: 0.12rem;
  background: transparent;
  color: var(--text-primary);
  font-size: 0.14rem;
  font-weight: 700;
  line-height: normal;
}
.guild-create-entry[data-v-7956facc]:disabled {
  opacity: 0.5;
}



.me-vip-badge[data-v-d3505280] {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 0.02rem;
  width: 0.64rem;
  height: 0.32rem;
  padding: 0.02rem 0.14rem 0.02rem 0.12rem;
  border: 0;
  background: rgb(243 207 134 / 6%);
  color: var(--text-primary);
  border-radius: 0.5rem;
  font-family: inherit;
  font-size: 0.12rem;
  font-weight: 700;
  line-height: normal;
  cursor: pointer;
}
.me-vip-badge[data-v-d3505280]::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 0.01rem;
  border-radius: inherit;
  background:
    radial-gradient(ellipse at 15% 10%, #fff, transparent 55%),
    radial-gradient(ellipse at 85% 100%, var(--white-90), transparent 55%);
  mix-blend-mode: plus-lighter;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
.me-vip-badge[data-v-d3505280]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
.me-vip-badge img[data-v-d3505280] {
  flex-shrink: 0;
  max-width: none;
  width: 0.16rem;
  height: 0.16rem;
}



.main[data-v-b700be22] {
  flex: 1;
  width: 100%;
  min-width: 0;
  padding: 0 env(safe-area-inset-right) 0.64rem env(safe-area-inset-left);
}
/* 首页光晕从页面顶部开始，贯穿 VIB AI 标题与正文。 */
.main-home-background[data-v-b700be22] {
  background-color: var(--background-primary);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
}
@media (min-width: 1200px) {
.main-home-background[data-v-b700be22] {
    background-size: min(42vw, 6rem) auto;
}
}
.main-guild-analysis[data-v-b700be22],
.main-guild-policy[data-v-b700be22] {
  background: #000;
}
/* 欢迎页两步共用整页背景，从顶部覆盖透明标题栏及正文。 */
.main-guild-welcome[data-v-b700be22] {
  isolation: isolate;
  background-color: #000;
  background-repeat: no-repeat;
  background-position: -1.5rem -2.6rem;
  background-size: 5.29rem auto;
}
@media (min-width: 600px) {
.main-guild-welcome[data-v-b700be22] {
    background-position-x: calc(50% - 1.255rem);
}
}
.main-with-tabs[data-v-b700be22] {
  padding-bottom: calc(1.44rem + env(safe-area-inset-bottom));
}
.main-page-glow[data-v-b700be22] {
  position: relative;
  isolation: isolate;
  /* 邀请与智能体共用顶部光效，跨越公共 Header 与正文。 */
  background-color: var(--background-primary);
  background-repeat: no-repeat;
  background-size: 3.6rem auto;
  background-position: -0.94rem calc(-1.28rem + env(safe-area-inset-top));
}
.invite-decoration[data-v-b700be22] {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  /* WebP 的黑底在与页面光效合成时消失，不能隔离在内容区内部。 */
  mix-blend-mode: lighten;
}
.invite-plane[data-v-b700be22] {
  position: absolute;
  top: calc(0.06rem + env(safe-area-inset-top));
  right: 0;
  width: 1.65rem;
  height: auto;
  max-width: none;
}
[dir='rtl'] .invite-decoration[data-v-b700be22] {
  transform: scaleX(-1);
}



.home-intro[data-v-f67eed5c] {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: var(--background-primary);
  pointer-events: none;
}
.home-intro-video[data-v-f67eed5c] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 160ms ease;
}
.home-intro-video.is-ready[data-v-f67eed5c] {
  opacity: 1;
}
.home-intro-skip[data-v-f67eed5c] {
  position: absolute;
  top: calc(0.2rem + env(safe-area-inset-top));
  right: 0.2rem;
  pointer-events: auto;
  color: var(--text-primary);
  background: var(--item-background-primary);
  border-color: var(--border-primary);
}
.home-intro-fade-leave-active[data-v-f67eed5c] {
  transition: opacity 300ms ease;
}
.home-intro-fade-leave-to[data-v-f67eed5c] {
  opacity: 0;
}


.home-footer[data-v-c86b4a69] {
  display: none;
}
@media (max-width: 1023px) {
.home-footer--mobile-visible[data-v-c86b4a69] {
    position: relative;
    z-index: 1;
    display: block;
    padding: 0 0.2rem calc(0.76rem + env(safe-area-inset-bottom));
}
.home-footer--mobile-visible .home-footer-inner[data-v-c86b4a69] {
    display: flex;
    width: min(100%, 6.4rem);
    flex-direction: column;
    gap: 0.32rem;
    margin-inline: auto;
}
.home-footer--mobile-visible .home-footer-logo[data-v-c86b4a69] {
    display: block;
    width: 1.04rem;
    height: auto;
}
.home-footer--mobile-visible .home-footer-navigation[data-v-c86b4a69] {
    display: flex;
    flex-direction: column;
    gap: 0.24rem;
}
.home-footer--mobile-visible .home-footer-group[data-v-c86b4a69] {
    display: flex;
    flex-direction: column;
}
.home-footer--mobile-visible .home-footer-group-toggle[data-v-c86b4a69] {
    position: relative;
    display: flex;
    min-height: 0.24rem;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    cursor: pointer;
    color: color-mix(in srgb, var(--text-primary) 95%, transparent);
    font: inherit;
    font-size: 0.16rem;
    font-weight: 500;
    line-height: 0.2rem;
    text-align: start;
    background: transparent;
    border: 0;
}
.home-footer--mobile-visible .home-footer-group-toggle[data-v-c86b4a69]::before {
    content: '';
    position: absolute;
    inset: -0.1rem 0;
}
.home-footer--mobile-visible .home-footer-group-toggle[data-v-c86b4a69]:focus-visible {
    outline: 0.02rem solid var(--text-primary);
    outline-offset: 0.04rem;
}
.home-footer--mobile-visible .home-footer-group-heading[data-v-c86b4a69] {
    display: none;
}
.home-footer--mobile-visible .home-footer-chevron[data-v-c86b4a69] {
    width: 0.24rem;
    height: 0.24rem;
    flex: 0 0 0.24rem;
    transition: transform 240ms ease;
}
.home-footer--mobile-visible .home-footer-chevron.is-expanded[data-v-c86b4a69] {
    transform: rotate(180deg);
}
.home-footer--mobile-visible .home-footer-links[data-v-c86b4a69] {
    display: flex;
    max-height: 0;
    flex-direction: column;
    gap: 0.16rem;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition:
      max-height 240ms ease,
      margin-top 240ms ease,
      opacity 180ms ease,
      visibility 0s linear 240ms;
}
.home-footer--mobile-visible .home-footer-links.is-expanded[data-v-c86b4a69] {
    max-height: 1.6rem;
    margin-top: 0.16rem;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}
.home-footer--mobile-visible .home-footer-links[data-v-c86b4a69] :where(a, .home-footer-placeholder) {
    width: fit-content;
    color: var(--text-secondary);
    font-size: 0.14rem;
    font-weight: 300;
    line-height: 0.18rem;
    text-decoration: none;
}
.home-footer--mobile-visible .home-footer-meta[data-v-c86b4a69] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.24rem;
}
.home-footer--mobile-visible .home-footer-socials[data-v-c86b4a69] {
    display: flex;
    align-items: center;
    gap: 0.16rem;
}
.home-footer--mobile-visible .home-footer-socials a[data-v-c86b4a69] {
    display: grid;
    width: 0.32rem;
    height: 0.32rem;
    place-items: center;
    background: color-mix(in srgb, var(--text-primary) 8%, transparent);
    border-radius: 50%;
}
.home-footer--mobile-visible .home-footer-socials img[data-v-c86b4a69] {
    width: 0.14rem;
    max-height: 0.15rem;
    object-fit: contain;
}
.home-footer--mobile-visible .home-footer-meta p[data-v-c86b4a69] {
    margin: 0;
    color: var(--text-secondary);
    width: 100%;
    padding-top: 0.16rem;
    font-size: 0.14rem;
    line-height: 0.2rem;
    text-align: start;
    border-top: 0.01rem solid color-mix(in srgb, var(--text-primary) 5%, transparent);
}
}
@media (min-width: 1024px) {
.home-footer[data-v-c86b4a69] {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 0.64rem;
    padding: 0.24rem 0.4rem 0.2rem;
    border-top: 0.01rem solid color-mix(in srgb, var(--text-primary) 6%, transparent);
}
.home-footer-inner[data-v-c86b4a69] {
    display: grid;
    width: min(100%, 12rem);
    grid-template-columns: 1.04rem minmax(0, 1fr);
    align-items: start;
    column-gap: 0.4rem;
    row-gap: 0.18rem;
    margin-inline: auto;
}
.home-footer-logo[data-v-c86b4a69] {
    display: block;
    width: 1.04rem;
    height: auto;
}
.home-footer-navigation[data-v-c86b4a69] {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    gap: 0.32rem;
}
.home-footer-group-toggle[data-v-c86b4a69] {
    display: none;
}
.home-footer-group h2[data-v-c86b4a69] {
    margin: 0;
    color: var(--text-primary);
    font-size: 0.14rem;
    font-weight: 500;
    line-height: 0.18rem;
}
.home-footer-links[data-v-c86b4a69] {
    display: flex;
    flex-direction: column;
    gap: 0.07rem;
    padding-top: 0.09rem;
}
.home-footer-links[data-v-c86b4a69] :where(a, .home-footer-placeholder) {
    width: fit-content;
    color: var(--text-secondary);
    font-size: 0.12rem;
    font-weight: 300;
    line-height: 0.16rem;
    text-decoration: none;
}
.home-footer-links a[data-v-c86b4a69] {
    transition: color 200ms ease;
}
.home-footer-links a[data-v-c86b4a69]:hover {
    color: var(--text-primary);
}
.home-footer-meta[data-v-c86b4a69] {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: space-between;
    gap: 0.24rem;
}
.home-footer-socials[data-v-c86b4a69] {
    display: flex;
    align-items: center;
    gap: 0.1rem;
}
.home-footer-socials a[data-v-c86b4a69] {
    display: grid;
    width: 0.28rem;
    height: 0.28rem;
    place-items: center;
    background: color-mix(in srgb, var(--text-primary) 8%, transparent);
    border-radius: 50%;
}
.home-footer-socials img[data-v-c86b4a69] {
    width: 0.14rem;
    max-height: 0.15rem;
    object-fit: contain;
}
.home-footer-meta p[data-v-c86b4a69] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.12rem;
    line-height: 0.16rem;
    text-align: end;
}
}
@media (min-width: 1200px) {
.home-footer[data-v-c86b4a69] {
    padding-inline: clamp(0.48rem, 8vw, 1.2rem);
}
.home-footer-inner[data-v-c86b4a69] {
    grid-template-columns: 1.04rem max-content minmax(0, 1fr);
    column-gap: 0.4rem;
}
.home-footer-navigation[data-v-c86b4a69] {
    gap: 0.32rem;
}
.home-footer-meta[data-v-c86b4a69] {
    grid-column: auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.14rem;
}
}
@media (prefers-reduced-motion: reduce) {
.home-footer-links[data-v-c86b4a69],
  .home-footer-links a[data-v-c86b4a69],
  .home-footer-chevron[data-v-c86b4a69] {
    transition: none;
}
}
.home-footer[data-v-c86b4a69] {
  margin-top: 0.96rem;
}


/* Homepage body styles ported from release-1.1; public navigation is owned by the layout. */
.home-landing {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  color: var(--text-primary);
  background: transparent;
}

/**
 * 旧首页 AnimatedSection 的单次入场节奏：常规内容淡入上移，模型卡片逐个翻转。
 * 只有脚本成功挂载观察器后才隐藏目标，避免脚本不可用时正文永久不可见。
 */
.home-landing.home-reveal-ready {
  --home-reveal-duration: 700ms;
}

.home-landing.home-reveal-ready [data-home-reveal] {
  opacity: 0;
}

.home-landing.home-reveal-ready [data-home-reveal='up'] {
  transform: translate3d(0, 100%, 0);
}

.home-landing.home-reveal-ready [data-home-reveal='flip'] {
  backface-visibility: visible;
  transform: perspective(4rem) rotate3d(0, 1, 0, 90deg);
}

.home-landing.home-reveal-ready [data-home-reveal='up'].is-home-revealed {
  animation: home-reveal-up var(--home-reveal-duration) ease both;
  animation-delay: var(--home-reveal-delay, 0ms);
}

.home-landing.home-reveal-ready [data-home-reveal='fade'].is-home-revealed {
  animation: home-reveal-fade var(--home-reveal-duration) ease both;
  animation-delay: var(--home-reveal-delay, 0ms);
}

.home-landing.home-reveal-ready [data-home-reveal='flip'].is-home-revealed {
  animation: home-reveal-flip-y var(--home-reveal-duration) ease both;
  animation-delay: var(--home-reveal-delay, 0ms);
}

.home-landing.home-reveal-ready [data-home-reveal].is-home-reveal-complete {
  opacity: 1;
  transform: none;
  animation: none;
}

@keyframes home-reveal-up {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes home-reveal-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes home-reveal-flip-y {
  from {
    opacity: 0;
    transform: perspective(4rem) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
  }

  40% {
    transform: perspective(4rem) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    opacity: 1;
    transform: perspective(4rem) rotate3d(0, 1, 0, 10deg);
  }

  80% {
    transform: perspective(4rem) rotate3d(0, 1, 0, -5deg);
  }

  to {
    opacity: 1;
    transform: perspective(4rem);
  }
}

.home-gradient-title {
  color: transparent;
  background: linear-gradient(
    180deg,
    var(--text-primary) 38%,
    color-mix(in srgb, var(--text-primary) 24%, transparent) 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
}

.home-section-title {
  width: min(100%, 3.34rem);
  margin: 0 auto;
  font-size: 0.3rem;
  font-weight: 700;
  line-height: 0.36rem;
  text-align: center;
  letter-spacing: normal;
  text-wrap: balance;
  white-space: normal;
}

.home-section-heading {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 0.16rem;
  text-align: center;
}

.home-section-heading > p {
  width: min(100%, 3.5rem);
  margin: 0;
  color: color-mix(in srgb, var(--text-primary) 60%, transparent);
  font-size: 0.16rem;
  font-weight: 300;
  line-height: 0.2rem;
  text-wrap: balance;
  white-space: normal;
}

.home-section {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-inline: 0.2rem;
}

.home-hero {
  /* 公共 TabHeader 的流内占位，用于将正文定位换算为首屏坐标。 */
  --home-header-space: calc(0.68rem + env(safe-area-inset-top));
  position: relative;
  z-index: 1;
  height: 100svh;
  min-height: 0;
}

/* 地球使用原有旋转视频；Figma 顶部光晕仍由默认布局贯穿标题与正文。 */
.home-hero-earth {
  position: absolute;
  /* 跟随文案实际高度定位，最后一段描述到视频顶部保持 80px。 */
  top: calc(100% + 0.8rem);
  left: -0.2rem;
  z-index: -1;
  display: block;
  width: calc(100% + 0.4rem);
  max-width: none;
  height: auto;
  max-height: max(
    1.8rem,
    calc(100svh - 3.4rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))
  );
  pointer-events: none;
  mix-blend-mode: lighten;
}

.home-hero-earth video,
.home-hero-earth-fallback {
  display: block;
  width: 100%;
  height: auto;
  max-height: inherit;
  object-fit: cover;
  object-position: center top;
}

.home-hero-earth video {
  background: transparent;
  mix-blend-mode: screen;
}

.home-hero-earth::after {
  content: '';
  position: absolute;
  top: -0.55rem;
  right: -0.55rem;
  left: -0.55rem;
  height: 1.1rem;
  background: linear-gradient(180deg, transparent, var(--background-primary) 50%, transparent);
}

.home-hero-earth-fade {
  position: absolute;
  inset: auto 0 0;
  height: 72%;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--background-primary) 0%, transparent) 0%,
    color-mix(in srgb, var(--background-primary) 92%, transparent) 48%,
    var(--background-primary) 76%
  );
}

.home-hero-content {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  padding: calc(1.18rem + env(safe-area-inset-top) - var(--home-header-space)) 0.2rem
    calc(2.08rem + env(safe-area-inset-bottom));
}

.home-hero-text {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: inherit;
}

.home-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

.home-hero-title {
  width: min(calc(100vw - 0.32rem), 3.7rem);
  margin: 0;
  font-size: 0.32rem;
  font-weight: 700;
  line-height: 0.34rem;
  text-align: center;
  letter-spacing: normal;
  text-wrap: balance;
}

.home-hero-subtitle,
.home-hero-description {
  margin: 0;
  color: color-mix(in srgb, var(--text-primary) 60%, transparent);
  font-size: 0.16rem;
  line-height: 0.18rem;
  text-align: center;
  text-wrap: balance;
  white-space: pre-line;
}

.home-hero-subtitle {
  width: min(100%, 3.62rem);
  font-weight: 400;
}

.home-hero-description {
  width: min(100%, 3.5rem);
  margin-top: 0.36rem;
  font-weight: 500;
}

.home-hero-actions {
  position: absolute;
  bottom: calc(0.6rem + env(safe-area-inset-bottom));
  left: 50%;
  display: flex;
  width: calc(100% - 0.4rem);
  max-width: 3.62rem;
  flex-direction: column;
  align-items: stretch;
  gap: 0.24rem;
  transform: translateX(-50%);
}

.home-primary-cta {
  min-height: 0.56rem;
  padding: 0.16rem 0.24rem;
  font-size: 0.16rem;
  line-height: 0.2rem;
}

.home-learn-more {
  display: flex;
  min-height: 0.56rem;
  cursor: pointer;
  flex-direction: column;
  align-self: center;
  align-items: center;
  justify-content: center;
  gap: 0.02rem;
  padding: 0.08rem 0.24rem;
  color: var(--text-primary);
  font: inherit;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.18rem;
  background: transparent;
  border: 0;
  border-radius: 0.22rem;
  transition:
    opacity 240ms ease,
    visibility 0s linear;
}

.home-learn-more img {
  width: 0.2rem;
  height: 0.2rem;
  animation: home-learn-more-arrow 1.5s ease-in-out infinite;
}

.home-learn-more--hidden {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition:
    opacity 240ms ease,
    visibility 0s linear 240ms;
}

@keyframes home-learn-more-arrow {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(0.05rem);
  }
}

.home-partnerships {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.home-models {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.32rem;
}

/**
 * 移动端模型矩阵与 Web3 区域之间的高光使用 CSS 绘制。
 * 尺寸和锚点对应参考页的 337 × 466 装饰层，并跟随模型区底部定位，
 * 避免页面内容高度变化时高光漂移到任务卡片后方。
 */
.home-models::after {
  content: '';
  position: absolute;
  inset-inline-end: 0;
  bottom: -2rem;
  z-index: -1;
  width: min(83.83vw, 3.37rem);
  aspect-ratio: 1170 / 1618;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse 22% 17% at 70% 78%,
      rgb(213 227 255 / 0.54),
      rgb(105 131 182 / 0.22) 48%,
      transparent 76%
    ),
    radial-gradient(
      ellipse 32% 66% at 50% 50%,
      rgb(105 131 182 / 0.52),
      rgb(96 126 186 / 0.24) 56%,
      transparent 80%
    );
  filter: blur(0.12rem);
  transform: rotate(-35deg) scale(1.04);
  transform-origin: center;
}

.home-model-grid {
  display: grid;
  width: min(100%, 3.62rem);
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.04rem;
  list-style: none;
}

.home-model-item {
  display: flex;
  min-width: 0;
  aspect-ratio: 87 / 94;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  color: color-mix(in srgb, var(--text-primary) 75%, transparent);
  font-size: 0.12rem;
  line-height: 0.18rem;
  text-align: center;
  background: color-mix(in srgb, var(--text-primary) 6%, transparent);
  border: 0.01rem solid color-mix(in srgb, var(--text-primary) 6%, transparent);
  border-radius: 0.16rem;
  -webkit-backdrop-filter: blur(0.16rem);
  backdrop-filter: blur(0.16rem);
}

.home-model-item img {
  display: block;
  width: 0.38rem;
  height: 0.38rem;
  object-fit: contain;
}

.home-model-item span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-web3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.24rem;
  padding-inline: 0;
}

.home-web3-marquee {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 min(0.8rem, 20vw),
    #000 calc(100% - min(0.8rem, 20vw)),
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 min(0.8rem, 20vw),
    #000 calc(100% - min(0.8rem, 20vw)),
    transparent 100%
  );
}

.home-architecture-list::-webkit-scrollbar,
.home-evolution-list::-webkit-scrollbar {
  display: none;
}

.home-web3-rows {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.16rem;
  padding: 0.16rem 0.2rem;
}

.home-web3-track {
  display: flex;
  width: max-content;
  animation: home-web3-marquee 24s linear infinite;
  will-change: transform;
}

.home-web3-track--reverse {
  animation-direction: reverse;
}

.home-web3-list {
  display: flex;
  flex: 0 0 auto;
  margin: 0;
  padding: 0 0.08rem 0 0;
  gap: 0.08rem;
  list-style: none;
}

.home-web3-item {
  height: 0.44rem;
  flex: 0 0 auto;
}

.home-web3-item img {
  display: block;
  width: auto;
  height: 0.44rem;
}

.home-web3-marquee:is(:hover, :focus-within) .home-web3-track {
  animation-play-state: paused;
}

@keyframes home-web3-marquee {
  to {
    transform: translateX(-25%);
  }
}

.home-quest {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.32rem;
  margin-top: 1rem;
}

.home-quest .home-section-heading,
.home-data .home-section-heading {
  gap: 0.24rem;
}

.home-data .home-section-heading > p {
  width: min(100%, 3.3rem);
}

.home-feature-list {
  display: flex;
  width: min(100%, 3.62rem);
  flex-direction: column;
  gap: 0.12rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-feature-row {
  display: flex;
  min-height: 1rem;
  align-items: center;
  gap: 0.1rem;
  padding: 0.2rem 0.2rem 0.2rem 0.12rem;
  background: color-mix(in srgb, var(--item-background-primary) 55%, transparent);
  border: 0.01rem solid var(--border-primary);
  border-radius: 0.2rem;
}

.home-feature-art {
  display: grid;
  width: 0.6rem;
  height: 0.6rem;
  flex: 0 0 0.6rem;
  place-items: center;
}

.home-feature-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-feature-copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.04rem;
}

.home-feature-copy strong {
  color: color-mix(in srgb, var(--text-primary) 95%, transparent);
  font-size: 0.18rem;
  font-weight: 500;
  line-height: 0.22rem;
}

.home-feature-copy > span {
  color: var(--text-secondary);
  font-size: 0.14rem;
  font-weight: 300;
  line-height: 0.18rem;
}

.home-showcase {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 1rem;
}

.home-showcase-glow {
  position: absolute;
  top: -2.95rem;
  left: calc(50% - 50vw);
  z-index: -1;
  width: 100vw;
  max-width: none;
  opacity: 0.85;
  pointer-events: none;
}

.home-transition-title {
  width: min(100%, 3.34rem);
  margin: 0;
  font-size: 0.3rem;
  font-weight: 700;
  line-height: 0.36rem;
  text-align: center;
  letter-spacing: normal;
  text-wrap: balance;
  white-space: pre-line;
}

.home-showcase-layout {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-top: 0.32rem;
}

.home-phone-figure {
  display: flex;
  width: min(72vw, 2.6rem);
  flex-direction: column;
  align-items: center;
  gap: 0.32rem;
  margin: 0;
}

.home-phone-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 541 / 1147;
  touch-action: pan-y;
}

.home-phone-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 300ms ease;
}

.home-phone-image.is-active {
  z-index: 1;
  opacity: 1;
}

.home-carousel-indicator {
  display: flex;
  align-items: center;
  gap: 0.04rem;
}

.home-carousel-indicator button {
  width: 0.05rem;
  height: 0.03rem;
  cursor: pointer;
  background-clip: content-box;
  background: color-mix(in srgb, var(--text-primary) 25%, transparent);
  border: 0;
}

.home-carousel-indicator button.is-active {
  width: 0.12rem;
  background: color-mix(in srgb, var(--text-primary) 75%, transparent);
  background-clip: content-box;
}

.home-product-copy {
  display: flex;
  width: min(100%, 3.62rem);
  flex-direction: column;
  gap: 0.24rem;
}

.home-product-copy .home-section-title,
.home-architecture .home-section-title {
  width: min(100%, 3.34rem);
}

.home-product-copy .home-section-heading > p {
  width: min(100%, 2.54rem);
}

.home-product-points {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin: 0;
  padding: 0.24rem 0.2rem;
  color: color-mix(in srgb, var(--text-primary) 60%, transparent);
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.18rem;
  list-style: none;
  background: var(--item-background-primary);
  border: 0.01rem solid var(--border-primary);
  border-radius: 0.22rem;
}

.home-product-points li,
.home-architecture-copy li {
  display: flex;
  align-items: flex-start;
  gap: 0.08rem;
}

.home-product-points li > span,
.home-architecture-copy li > span {
  width: 0.04rem;
  height: 0.04rem;
  flex: 0 0 0.04rem;
  margin-top: 0.07rem;
  background: var(--text-primary);
  border-radius: 50%;
}

.home-architecture {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.32rem;
  margin-top: 1rem;
  padding-inline: 0;
}

.home-architecture .home-section-heading {
  padding-inline: 0.2rem;
}

.home-architecture .home-section-heading > p {
  width: min(100%, 3.2rem);
}

.home-architecture-list {
  display: flex;
  width: 100%;
  gap: 0.16rem;
  margin: 0;
  padding: 0 0.2rem;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  list-style: none;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  touch-action: pan-x pan-y;
}

.home-architecture-card {
  position: relative;
  width: 2.06rem;
  min-height: 4.39rem;
  flex: 0 0 2.06rem;
  padding-top: 0.71rem;
  scroll-snap-align: center;
}

.home-architecture-art {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  object-fit: contain;
  transform: translateX(-50%);
}

.home-architecture-copy {
  display: flex;
  min-height: 3.3rem;
  flex-direction: column;
  gap: 0.12rem;
  padding: 0.7rem 0.16rem 0.18rem;
  background: var(--item-background-primary);
  border: 0.01rem solid var(--border-primary);
  border-radius: 0.22rem;
}

.home-architecture-copy h3,
.home-architecture-copy p,
.home-architecture-copy ul,
.home-architecture-copy strong {
  margin: 0;
}

.home-architecture-copy h3 {
  color: color-mix(in srgb, var(--text-primary) 95%, transparent);
  font-size: 0.18rem;
  font-weight: 500;
  line-height: 0.22rem;
}

.home-architecture-copy p,
.home-architecture-copy li {
  color: color-mix(in srgb, var(--text-primary) 60%, transparent);
  font-size: 0.14rem;
  font-weight: 300;
  line-height: 0.18rem;
}

.home-architecture-copy p {
  white-space: pre-line;
}

.home-architecture-copy ul {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  padding: 0;
  list-style: none;
}

.home-architecture-copy strong {
  margin-top: auto;
  color: var(--text-primary);
  font-size: 0.12rem;
  font-weight: 400;
  line-height: 0.16rem;
}

.home-data {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.32rem;
  margin-top: 1rem;
}

.home-data-background {
  position: absolute;
  top: -3.2rem;
  right: 0;
  z-index: -1;
  width: min(164vw, 6.4rem);
  max-width: none;
  opacity: 1;
  pointer-events: none;
}

.home-data-list .home-feature-row {
  gap: 0.12rem;
  border-radius: 0.22rem;
}

.home-data-art--multi_country_collection,
.home-data-art--multilingual_annotation,
.home-data-art--multi_scenario_construction {
  overflow: hidden;
}

.home-evolution {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-top: 1rem;
  padding-inline: 0;
}

.home-evolution > .home-section-title,
.home-evolution-summary {
  padding-inline: 0;
}

.home-evolution > .home-section-title {
  font-weight: 700;
}

.home-evolution-list {
  display: flex;
  width: 100%;
  gap: 0.36rem;
  margin: 0.32rem 0 0;
  padding: 0 max(0.2rem, calc((100% - 1.62rem) / 2));
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  list-style: none;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  touch-action: pan-x pan-y;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 min(0.8rem, 20vw),
    #000 calc(100% - min(0.8rem, 20vw)),
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 min(0.8rem, 20vw),
    #000 calc(100% - min(0.8rem, 20vw)),
    transparent 100%
  );
}

.home-evolution-step {
  position: relative;
  display: flex;
  width: 1.62rem;
  flex: 0 0 1.62rem;
  flex-direction: column;
  align-items: center;
  scroll-snap-align: center;
}

.home-evolution-card {
  display: flex;
  width: 1.62rem;
  height: 2.22rem;
  flex-direction: column;
  align-items: center;
  gap: 0.16rem;
  padding: 0.16rem;
  color: inherit;
  font: inherit;
  text-align: center;
  background: linear-gradient(180deg, rgb(28 28 28 / 0.88), rgb(14 14 14 / 0.96));
  border: 0.01rem solid rgb(30 30 30);
  border-radius: 0.22rem;
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease,
    opacity 300ms ease;
  pointer-events: none;
}

.home-evolution-step:not(.is-active) .home-evolution-card {
  opacity: 0.72;
}

.home-evolution-step.is-active .home-evolution-card {
  border-color: color-mix(in srgb, var(--text-primary) 38%, transparent);
  box-shadow:
    0 0 0.28rem color-mix(in srgb, var(--text-primary) 8%, transparent),
    inset 0 0.01rem 0 color-mix(in srgb, var(--text-primary) 8%, transparent);
}

.home-evolution-media {
  display: grid;
  width: 1.3rem;
  height: 1.2rem;
  overflow: hidden;
  place-items: center;
  border-radius: 0.18rem;
}

.home-evolution-media :where(img, video) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-evolution-description {
  display: flex;
  min-height: 0.36rem;
  align-items: center;
  justify-content: center;
  color: color-mix(in srgb, var(--text-primary) 60%, transparent);
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.18rem;
}

.home-evolution-label {
  margin-top: 0.24rem;
  color: var(--text-primary);
  font-size: 0.18rem;
  font-weight: 400;
  line-height: 0.18rem;
  transition: color 300ms ease;
}

.home-evolution-step:not(.is-active) .home-evolution-label {
  color: var(--text-secondary);
}

.home-evolution-arrow {
  position: absolute;
  top: 2.44rem;
  right: -0.39rem;
  width: 0.41rem;
  height: 0.24rem;
  object-fit: contain;
}

.home-evolution-summary {
  width: min(100%, 3.5rem);
  margin: 0.32rem 0 0;
  font-size: 0.18rem;
  font-weight: 500;
  line-height: 0.22rem;
  text-align: center;
  text-wrap: balance;
}

.home-participation {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-top: 1rem;
  padding-inline: 0;
}

.home-participation-art {
  width: min(112vw, 4.5rem);
}

.home-participation-art img {
  display: block;
  width: 100%;
  height: auto;
}

.home-participation-copy {
  display: flex;
  width: min(calc(100% - 0.4rem), 3.5rem);
  flex-direction: column;
  gap: 0.4rem;
}

.home-participation-statements {
  display: flex;
  margin: 0;
  flex-direction: column;
  gap: 0.2rem;
  text-align: center;
}

.home-participation-line {
  display: block;
  color: var(--text-primary);
  font-size: 0.18rem;
  font-weight: 500;
  line-height: 0.22rem;
  opacity: 0.5;
  transform: scale(1);
  transition:
    font-size 300ms linear,
    line-height 300ms linear,
    opacity 300ms linear,
    transform 300ms linear;
}

.home-participation-line:last-child {
  margin-block-start: 0.04rem;
}

.home-participation-statement {
  color: transparent;
  background: linear-gradient(
    180deg,
    var(--text-primary) 38%,
    color-mix(in srgb, var(--text-primary) 24%, transparent) 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
  font-size: 0.2rem;
  font-weight: 700;
  line-height: 0.24rem;
  opacity: 1;
  transform: scale(1.06);
}

.home-participation-cta {
  min-height: 0.56rem;
  padding: 0.16rem 0.24rem;
  font-size: 0.16rem;
  line-height: 0.2rem;
}

@media (min-width: 768px) {
  .home-models::after {
    content: none;
  }

  .home-showcase-glow {
    top: -10.11rem;
    width: min(100vw, 7.68rem);
  }

  .home-data-background {
    width: min(100vw, 7.68rem);
  }

  .home-section-title {
    width: min(100%, 6.4rem);
    font-size: clamp(0.38rem, 5vw, 0.48rem);
    line-height: clamp(0.48rem, 6.25vw, 0.6rem);
  }

  .home-quest .home-section-title,
  .home-product-copy .home-section-title,
  .home-architecture .home-section-title {
    width: min(100%, 6.4rem);
  }

  .home-models .home-section-title {
    width: min(100%, 7.6rem);
  }

  .home-section-heading > p {
    font-size: clamp(0.18rem, 2.1vw, 0.2rem);
    line-height: clamp(0.24rem, 2.7vw, 0.26rem);
  }

  .home-data .home-section-heading {
    gap: 0.32rem;
  }

  .home-quest .home-section-heading > p {
    width: min(100%, 6.72rem);
  }

  .home-architecture .home-section-heading > p {
    width: min(100%, 7.04rem);
  }

  .home-data .home-section-heading > p {
    width: min(100%, 7.36rem);
  }

  .home-hero {
    --home-header-space: calc(1.08rem + env(safe-area-inset-top));
    height: 100svh;
    min-height: 0;
  }

  .home-hero-title {
    width: min(100%, 6.2rem);
    font-size: 0.48rem;
    font-weight: 600;
    line-height: 0.6rem;
  }

  .home-hero-subtitle {
    width: min(100%, 5.6rem);
    font-size: 0.2rem;
  }

  .home-hero-description {
    width: min(100%, 5.6rem);
    font-size: 0.16rem;
    font-weight: 400;
  }

  .home-hero-actions {
    max-width: 4.2rem;
  }

  .home-model-grid {
    width: min(100%, 7.6rem);
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 0.06rem;
  }

  .home-web3-rows {
    padding-inline: 0.32rem;
  }

  .home-quest,
  .home-data {
    margin-inline: auto;
  }

  .home-feature-list,
  .home-product-copy {
    width: min(100%, 6.2rem);
  }

  .home-feature-row {
    min-height: 0.96rem;
    padding: 0.16rem 0.24rem 0.16rem 0.16rem;
  }

  .home-feature-copy > span {
    font-size: 0.14rem;
    line-height: 0.24rem;
  }

  .home-transition-title {
    width: min(100%, 7.68rem);
    font-size: clamp(0.38rem, 5vw, 0.48rem);
    line-height: clamp(0.48rem, 6.25vw, 0.6rem);
  }

  .home-phone-figure {
    width: 3rem;
  }

  .home-architecture .home-section-heading {
    padding-inline: 0.32rem;
  }

  .home-architecture-list {
    padding-inline: 0.32rem;
  }

  .home-architecture-card {
    width: 2.8rem;
    flex-basis: 2.8rem;
  }

  .home-evolution-list {
    gap: 0.64rem;
    padding-inline: max(0.32rem, calc((100% - 2.1rem) / 2));
  }

  .home-evolution-step,
  .home-evolution-card {
    width: 2.1rem;
  }

  .home-evolution-step {
    flex-basis: 2.1rem;
  }

  .home-evolution-card {
    height: 2.6rem;
  }

  .home-evolution-media {
    width: 1.78rem;
    height: 1.6rem;
  }

  .home-evolution-arrow {
    top: 2.82rem;
    right: -0.59rem;
  }

  .home-participation-art {
    width: min(80vw, 6.2rem);
  }

  .home-participation-copy {
    width: min(calc(100% - 0.64rem), 6.2rem);
  }

  .home-participation-line {
    font-size: clamp(0.2rem, 2.35vw, 0.24rem);
    line-height: clamp(0.28rem, 3.1vw, 0.32rem);
  }

  .home-participation-statement {
    font-size: clamp(0.22rem, 2.35vw, 0.24rem);
    line-height: clamp(0.3rem, 3.5vw, 0.36rem);
  }
}

@media (min-width: 1024px) {
  .home-hero {
    height: auto;
    min-height: 8.8rem;
  }

  .home-hero-content {
    height: auto;
    min-height: 8.8rem;
    padding-bottom: 0.8rem;
  }

  .home-hero-actions {
    position: static;
    width: min(100%, 4.2rem);
    max-width: none;
    margin-top: 2.1rem;
    transform: none;
  }

  .home-learn-more {
    position: fixed;
    bottom: 0.28rem;
    left: 50%;
    z-index: 40;
    transform: translateX(-50%);
  }
}

@media (min-width: 1200px) {
  .home-hero {
    min-height: 9rem;
  }

  .home-hero-earth {
    right: -0.4rem;
    left: auto;
    width: min(58vw, 6rem);
    max-height: none;
    mask-image: linear-gradient(90deg, transparent, #000 0.24rem, #000 calc(100% - 0.24rem), transparent);
  }

  .home-hero-earth-fade {
    height: 42%;
    background: linear-gradient(180deg, transparent, var(--background-primary));
  }

  .home-hero-content {
    width: min(100%, 12.8rem);
    min-height: 9rem;
    align-items: flex-start;
    margin-inline: auto;
    padding: calc(1.18rem + env(safe-area-inset-top) - var(--home-header-space)) 0.4rem 0.8rem;
  }

  .home-hero-copy {
    align-items: flex-start;
  }

  .home-hero-title {
    width: min(50vw, 6.2rem);
    font-size: 0.48rem;
    line-height: 0.6rem;
    text-align: start;
  }

  .home-hero-subtitle {
    width: min(45vw, 5.6rem);
    font-size: 0.2rem;
    text-align: start;
  }

  .home-hero-description {
    width: min(45vw, 5.6rem);
    font-size: 0.16rem;
    text-align: start;
  }

  .home-hero-actions {
    width: min(45vw, 4.2rem);
    margin-top: 0.72rem;
  }

  .home-primary-cta {
    width: 100%;
    min-width: 0;
  }

  .home-partnerships {
    gap: 1.28rem;
  }

  .home-models,
  .home-web3,
  .home-quest,
  .home-showcase,
  .home-architecture,
  .home-data,
  .home-evolution,
  .home-participation {
    width: min(100%, 12.8rem);
    margin-right: auto;
    margin-left: auto;
  }

  .home-model-grid {
    width: min(100%, 11.2rem);
    gap: 0.12rem;
  }

  .home-models .home-section-title {
    width: min(100%, 11.2rem);
  }

  .home-model-item {
    min-height: 1.24rem;
    aspect-ratio: auto;
    gap: 0.12rem;
  }

  .home-model-item img {
    width: 0.46rem;
    height: 0.46rem;
  }

  .home-web3-marquee {
    width: min(100%, 11.2rem);
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0,
      #000 1.6rem,
      #000 calc(100% - 1.6rem),
      transparent 100%
    );
    mask-image: linear-gradient(
      90deg,
      transparent 0,
      #000 1.6rem,
      #000 calc(100% - 1.6rem),
      transparent 100%
    );
  }

  .home-web3-rows {
    width: 100%;
    margin-inline: auto;
    padding: 0.2rem 0;
  }

  .home-web3-list {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  .home-quest,
  .home-data {
    display: grid;
    max-width: 11.2rem;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 0.96rem;
    margin-top: 1.6rem;
  }

  .home-data-background {
    top: -3.2rem;
    right: calc((11.2rem - 100vw) / 2);
    width: 7.68rem;
  }

  .home-quest .home-section-heading,
  .home-data .home-section-heading {
    align-items: flex-start;
    text-align: start;
  }

  .home-quest .home-section-title,
  .home-data .home-section-title {
    width: 100%;
    margin: 0;
    text-align: start;
  }

  .home-quest .home-section-heading > p,
  .home-data .home-section-heading > p {
    width: 100%;
  }

  .home-feature-list {
    width: 100%;
  }

  .home-showcase {
    margin-top: 1.8rem;
  }

  .home-transition-title {
    width: min(100%, 8.4rem);
    font-size: 0.48rem;
    line-height: 0.64rem;
  }

  .home-showcase-layout {
    width: min(100%, 9.8rem);
    flex-direction: row;
    justify-content: center;
    gap: 1.55rem;
    margin-top: 1.12rem;
  }

  .home-phone-figure {
    width: 3.2rem;
    flex: 0 0 3.2rem;
  }

  .home-product-copy {
    width: min(42vw, 4.8rem);
    align-items: stretch;
  }

  .home-product-copy .home-section-heading {
    align-items: flex-start;
    text-align: start;
  }

  .home-product-copy .home-section-title {
    width: 100%;
    margin: 0;
    text-align: start;
  }

  .home-product-copy .home-section-heading > p {
    width: 100%;
    text-align: start;
  }

  .home-architecture {
    margin-top: 1.8rem;
  }

  .home-architecture-list {
    width: min(100%, 11.2rem);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.12rem;
    padding-inline: 0;
    overflow: visible;
  }

  .home-architecture-card {
    width: auto;
    min-height: 4.39rem;
    min-width: 0;
  }

  .home-architecture-copy {
    min-height: 3.3rem;
    padding: 0.7rem 0.16rem 0.18rem;
  }

  .home-evolution {
    margin-top: 1.8rem;
  }

  .home-evolution-list {
    width: min(100%, 11.2rem);
    gap: 0.64rem;
    padding-inline: max(0.32rem, calc((100% - 2.1rem) / 2));
    overflow-x: auto;
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0,
      #000 1.6rem,
      #000 calc(100% - 1.6rem),
      transparent 100%
    );
    mask-image: linear-gradient(
      90deg,
      transparent 0,
      #000 1.6rem,
      #000 calc(100% - 1.6rem),
      transparent 100%
    );
  }

  .home-evolution-step,
  .home-evolution-card {
    width: 2.1rem;
  }

  .home-evolution-step {
    flex-basis: 2.1rem;
  }

  .home-evolution-card {
    height: 3rem;
  }

  .home-evolution-media {
    width: 1.78rem;
    height: 1.78rem;
  }

  .home-evolution-arrow {
    top: 3.22rem;
    right: -0.59rem;
  }

  .home-evolution-summary {
    width: min(100%, 7.2rem);
    font-size: 0.18rem;
    font-weight: 600;
    line-height: 0.26rem;
  }

  .home-participation {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    align-items: center;
    column-gap: 0.4rem;
    margin-top: 0.88rem;
  }

  .home-participation-art {
    width: 100%;
  }

  .home-participation-copy {
    width: min(100%, 4.8rem);
    padding-inline-end: 0.4rem;
  }

  .home-participation-statements {
    text-align: start;
  }

  .home-participation-line {
    font-size: 0.24rem;
    font-weight: 500;
    line-height: 0.32rem;
    transform-origin: left center;
  }

  [dir='rtl'] .home-participation-line {
    transform-origin: right center;
  }

  .home-participation-statement {
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 0.36rem;
  }
}

@media (max-width: 1023px) and (max-height: 680px) {
  .home-hero-title {
    font-size: clamp(0.28rem, 4vw, 0.36rem);
    line-height: 1.1;
  }

  .home-hero-subtitle,
  .home-hero-description {
    font-size: 0.14rem;
  }

  .home-hero-actions {
    max-width: 3.6rem;
    gap: 0.08rem;
  }

  .home-primary-cta {
    min-height: 0.48rem;
    padding-block: 0.12rem;
  }

  .home-learn-more {
    min-height: 0.44rem;
    padding-block: 0.04rem;
  }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .home-model-item {
    background: var(--item-background-primary);
  }
}

@media (prefers-contrast: more), (prefers-reduced-transparency: reduce) {
  .home-feature-row,
  .home-model-item {
    background: var(--item-background-primary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-landing.home-reveal-ready [data-home-reveal] {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .home-web3-track,
  .home-learn-more img {
    animation: none;
  }

  .home-phone-image,
  .home-evolution-card,
  .home-evolution-label,
  .home-participation-line,
  .home-learn-more {
    transition: none;
  }
}

/* Tailwind's element resets are not part of the Vue application. Keep these local. */
.home-landing :where(ul, ol) {
  list-style: none;
}
.home-landing :where(figure) {
  margin: 0;
}
.home-landing :where(button, a, [tabindex]):focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.04rem;
}
.home-carousel-indicator button {
  position: relative;
  box-sizing: content-box;
  padding: 0.12rem 0.08rem;
  background-clip: content-box;
}
.home-participation-line {
  white-space: pre-line;
}
.home-models {
  scroll-margin-top: 0.24rem;
}
@media (max-width: 1023px) {
  /* Header is in normal flow. Reserve space in the body instead of positioning over it. */
  .home-hero {
    height: auto;
    min-height: max(5.8rem, calc(100svh - 1rem));
  }
  .home-hero-content {
    height: auto;
    min-height: inherit;
    padding: calc(1.18rem + env(safe-area-inset-top) - var(--home-header-space)) 0.2rem 0.48rem;
  }
  .home-hero-actions {
    position: static;
    width: min(100%, 3.62rem);
    margin-top: auto;
    padding-top: 0.64rem;
    transform: none;
  }
}


.catalog-icon[data-v-b6ada384] {
  width: 0.28rem;
  height: 0.28rem;
  object-fit: contain;
  flex-shrink: 0;
}



.agents-grid[data-v-c6c031ec] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.24rem 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.agents-grid > li[data-v-c6c031ec] {
  min-width: 0;
}
.agents-brand[data-v-c6c031ec] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  min-width: 0;
  border-radius: 0.16rem;
  color: var(--text-primary);
  text-align: center;
  text-decoration: none;
}
.agents-brand-surface[data-v-c6c031ec] {
  display: grid;
  place-items: center;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 0.14rem;
  background: var(--white-4);
  box-shadow: inset 0 0 0 0.01rem var(--white-8);
}
.agents-brand-name[data-v-c6c031ec] {
  max-width: 100%;
  font-size: 0.12rem;
  line-height: 0.16rem;
  overflow-wrap: anywhere;
}
.agents-brand[data-v-c6c031ec]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
@media (min-width: 768px) {
.agents-grid[data-v-c6c031ec] {
    gap: 0.32rem 0.08rem;
}
.agents-brand-name[data-v-c6c031ec] {
    font-size: 0.14rem;
    line-height: 0.2rem;
}
}



.catalog-status[data-v-3bcec815] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.16rem;
  color: var(--text-secondary);
  text-align: center;
  font-size: 0.14rem;
}



.agents-drawer[data-v-d5b4d2ea] {
  position: fixed;
  z-index: 2;
  inset-inline: 0;
  bottom: env(safe-area-inset-bottom);
  height: var(--agents-drawer-height, var(--agents-drawer-peek));
  max-height: calc(100% - 0.24rem);
  overflow: hidden auto;
  overscroll-behavior-y: none;
  scrollbar-width: none;
  border-radius: 0.3rem 0.3rem 0 0;
  background: var(--item-background-primary);
  transition: height 200ms ease-out;
}
.agents-drawer[data-dragging][data-v-d5b4d2ea],
.agents-drawer[data-measuring][data-v-d5b4d2ea] {
  transition: none;
  user-select: none;
}
.agents-drawer[data-v-d5b4d2ea]::-webkit-scrollbar {
  display: none;
}
.agents-drawer-peek[data-v-d5b4d2ea] {
  position: absolute;
  width: 0;
  height: var(--agents-drawer-peek);
  visibility: hidden;
  pointer-events: none;
}
.agents-catalog[data-v-d5b4d2ea] {
  position: relative;
  min-height: 100%;
}
.agents-drawer-content[data-v-d5b4d2ea] {
  position: relative;
}
.agents-drawer-content > h2[data-v-d5b4d2ea] {
  margin: 0;
  padding: 0.3rem 0.2rem 0.36rem;
  text-align: center;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 0.22rem;
}
.agents-drawer-toggle[data-v-d5b4d2ea] {
  position: absolute;
  z-index: 1;
  inset: 0 0 auto;
  display: flex;
  justify-content: center;
  width: 100%;
  min-height: 0.44rem;
  padding: 0.14rem 0 0;
  border: 0;
  border-radius: 0.3rem 0.3rem 0 0;
  background: transparent;
}
.agents-catalog-handle[data-v-d5b4d2ea] {
  width: 0.4rem;
  height: 0.03rem;
  border-radius: 0.03rem;
  background: var(--border-primary);
}
.agents-drawer-toggle[data-v-d5b4d2ea]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: -0.03rem;
}
.agents-drawer-items[data-v-d5b4d2ea] {
  padding: 0 0.2rem calc(0.32rem + 0.6rem);
}
@media (min-width: 768px) {
.agents-drawer[data-v-d5b4d2ea] {
    position: static;
    height: auto;
    max-height: none;
    overflow: visible;
    border-radius: 0.3rem;
    transition: none;
}
.agents-drawer-peek[data-v-d5b4d2ea],
  .agents-drawer-toggle[data-v-d5b4d2ea] {
    display: none;
}
.agents-catalog[data-v-d5b4d2ea] {
    min-height: 0;
}
.agents-drawer-content > h2[data-v-d5b4d2ea] {
    padding: 0.32rem 0.16rem 0.4rem;
}
.agents-drawer-items[data-v-d5b4d2ea] {
    padding: 0 0.16rem 0.32rem;
}
}
@media (min-width: 1200px) {
.agents-drawer-content > h2[data-v-d5b4d2ea] {
    padding: 0.4rem 6%;
}
.agents-drawer-items[data-v-d5b4d2ea] {
    padding: 0 6% 0.4rem;
}
}
@media (prefers-reduced-motion: reduce) {
.agents-drawer[data-v-d5b4d2ea] {
    transition: none;
}
}
@media (max-width: 767px) and (max-height: 540px) {
.agents-drawer[data-v-d5b4d2ea] {
    position: static;
    height: auto;
    max-height: none;
    overflow: visible;
    border-radius: 0.3rem;
    transition: none;
}
.agents-drawer-peek[data-v-d5b4d2ea],
  .agents-drawer-toggle[data-v-d5b4d2ea] {
    display: none;
}
.agents-catalog[data-v-d5b4d2ea] {
    min-height: 0;
}
}



.agents-overview[data-v-a7c104a4] {
  --agents-content-height: calc(100dvh - var(--agents-layout-inset, 0px));
  /* 矮屏优先保留提问入口，目录仍可通过把手完整展开。 */
  --agents-drawer-peek: min(3.24rem, max(0.88rem, calc(var(--agents-content-height) - 2.2rem)));
  position: relative;
  display: flex;
  flex-direction: column;
  height: var(--agents-content-height);
  min-height: 0;
  overflow: hidden;
  touch-action: pan-x pinch-zoom;
  color: var(--text-primary);
}
.agents-layout[data-v-a7c104a4] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}
.agents-hero[data-v-a7c104a4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.32rem;
  padding: 0.38rem 0.3rem 0.64rem;
  height: calc(100% - var(--agents-drawer-peek));
  min-height: 0;
}
.agents-hero-mark[data-v-a7c104a4] {
  width: 1.6rem;
  height: auto;
  min-height: 0;
  object-fit: contain;
  mix-blend-mode: lighten;
}
.agents-quick-chat[data-v-a7c104a4] {
  flex-shrink: 0;
  width: 100%;
}
@media (min-width: 768px) {
.agents-overview[data-v-a7c104a4] {
    height: auto;
    overflow: visible;
    touch-action: auto;
    padding-inline: 5%;
}
.agents-layout[data-v-a7c104a4] {
    display: grid;
    flex: none;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 5%;
}
.agents-hero[data-v-a7c104a4] {
    height: auto;
    padding: 0.4rem 0;
}
}
@media (min-width: 1200px) {
.agents-overview[data-v-a7c104a4] {
    padding-inline: 10%;
}
.agents-layout[data-v-a7c104a4] {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 8%;
}
.agents-hero[data-v-a7c104a4] {
    gap: 0.48rem;
    padding-inline: 4%;
}
.agents-hero-mark[data-v-a7c104a4] {
    width: 55%;
}
}
@media (max-width: 767px) and (max-height: 740px) {
.agents-hero[data-v-a7c104a4] {
    gap: 0.16rem;
    padding: 0.12rem 7.5% 0.2rem;
}
}
@media (max-width: 767px) and (max-height: 540px) {
  /* 矮横屏改用普通滚动，避免固定抽屉挤占提问入口。 */
.agents-overview[data-v-a7c104a4] {
    height: auto;
    min-height: 0;
    overflow: visible;
    touch-action: auto;
}
.agents-hero[data-v-a7c104a4] {
    height: auto;
    justify-content: center;
    gap: 0;
    padding: 0.08rem 7.5%;
}
.agents-hero-mark[data-v-a7c104a4] {
    display: none;
}
}



.guild-site-icons[data-v-4e609668] {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(var(--site-icon-columns, 6), minmax(0, 0.4rem));
  gap: 0.08rem 0.13rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.guild-site-icons li[data-v-4e609668] {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border: 0.01rem solid var(--white-12);
  border-radius: 0.08rem;
}
.guild-site-images[data-v-4e609668] {
  width: 100%;
  height: 100%;
}
.guild-site-images img[data-v-4e609668] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.guild-site-mosaic[data-v-4e609668] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: 0.02rem;
  padding: 0.02rem;
}
.guild-site-mosaic img[data-v-4e609668] {
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  border-radius: 0.02rem;
}
.guild-site-mosaic img[data-v-4e609668]:only-child {
  grid-column: 1 / -1;
}
.guild-site-count[data-v-4e609668] {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgb(0 0 0 / 28%);
  backdrop-filter: blur(0.02rem);
  font-size: 0.15rem;
  line-height: 0.2rem;
  font-weight: 500;
}



.guild-skeleton-block[data-v-c38713cd] {
  display: block;
  border-radius: 0.04rem;
  background: var(--white-8);
  animation: guild-skeleton-pulse-c38713cd 1.4s ease-in-out infinite;
}
.guild-skeleton-title[data-v-c38713cd] {
  width: 75%;
  height: 0.18rem;
}
.guild-item-logo[data-v-c38713cd] {
  border-radius: 0.12rem;
}
.guild-skeleton-country[data-v-c38713cd] {
  width: 0.64rem;
  height: 0.16rem;
}
.guild-item-copy .guild-skeleton-country[data-v-c38713cd] {
  margin-top: 0.04rem;
}
.guild-skeleton-button[data-v-c38713cd] {
  width: 0.72rem;
  height: 0.32rem;
  flex-shrink: 0;
  border-radius: 0.14rem;
}
.guild-skeleton-summary[data-v-c38713cd] {
  width: 100%;
  height: 0.32rem;
}
.guild-skeleton-mine-button[data-v-c38713cd] {
  width: 1.84rem;
  height: 0.32rem;
  border-radius: 0.14rem;
}
.guild-skeleton-official-button[data-v-c38713cd] {
  width: 100%;
  height: 0.44rem;
  border-radius: 0.16rem;
}
.guild-skeleton-sites[data-v-c38713cd] {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 0.4rem));
  gap: 0.13rem;
}
.guild-skeleton-sites > span[data-v-c38713cd] {
  aspect-ratio: 1;
  border-radius: 0.07rem;
}
@keyframes guild-skeleton-pulse-c38713cd {
50% {
    opacity: 0.45;
}
}
@media (prefers-reduced-motion: reduce) {
.guild-skeleton-block[data-v-c38713cd] {
    animation: none;
}
}
.guild-skeleton-preview-button[data-v-c38713cd] {
  width: 100%;
  height: 0.44rem;
  border-radius: 0.16rem;
}


.ui-dialog.guild-join-dialog {
  width: min(3.34rem, calc(100vw - 0.32rem));
}
.ui-dialog.guild-join-dialog .ui-dialog-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.24rem;
  padding: 0.34rem 0.2rem 0;
}
.guild-join-flag {
  width: 1rem;
  height: 0.6481rem;
  border-radius: 0.0556rem;
  object-fit: cover;
}
.ui-dialog.guild-join-dialog .ui-dialog-title {
  font-size: 0.18rem;
  line-height: 0.22rem;
}
.guild-join-logo {
  height: 1rem;
  border-radius: 0.12rem;
}
.ui-dialog.guild-join-dialog:not(:has(.ui-dialog-footer)) .ui-dialog-content {
  gap: 0.12rem;
  padding: 0.12rem 0.2rem 0.4rem;
}
.ui-dialog.guild-join-dialog .ui-dialog-description {
  width: min(2.71rem, 100%);
  justify-self: center;
  color: var(--text-tertiary);
}
.guild-join-form {
  display: grid;
  gap: 0.24rem;
  margin: 0;
}
.guild-join-form .ui-input-heading {
  color: var(--text-secondary);
  padding-block: 0.04rem;
}
.guild-join-form .ui-input {
  gap: 0.04rem;
}
.guild-join-form .ui-input-native {
  font-size: 0.14rem;
}
.guild-join-form .ui-input .ui-input-control {
  height: 0.53rem;
  border-color: #4d4d4d;
  border-radius: 0.15rem;
  background: rgb(27 27 27 / 40%);
}
.guild-join-form .ui-input-native::placeholder {
  color: var(--white-95);
}
.guild-join-actions {
  display: grid;
  gap: 0.08rem;
}
.guild-join-actions > .vib-button {
  min-height: 0.46rem;
  width: 100%;
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.guild-join-actions > .vib-button:not(:disabled) {
  background: rgb(255 255 255 / 16%);
}
.guild-join-actions > .guild-join-support:not(:disabled) {
  background: rgb(51 51 51 / 20%);
}
.ui-dialog.guild-join-dialog::backdrop {
  background: rgb(0 0 0 / 70%);
}
.ui-dialog.guild-join-dialog .ui-dialog-close {
  top: 0.04rem;
  right: 0;
}

.guild-shell {
  width: 100%;
  max-width: 10.4rem;
  margin-inline: auto;
  padding: 0.08rem 0.16rem 0.32rem;
}
.guild-overview {
  overflow: clip;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
}
.guild-overview h2,
.guild-ranking h2 {
  font-size: 0.18rem;
  line-height: 0.22rem;
  margin: 0;
}
.guild-overview p,
.guild-ranking p {
  margin: 0;
  color: var(--text-description);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.guild-hero {
  position: relative;
  min-height: 1.25rem;
  padding: 0.08rem 0.04rem;
  isolation: isolate;
}
.guild-hero h2 {
  font-size: 0.28rem;
  line-height: 0.32rem;
}
.guild-hero p {
  font-size: 0.14rem;
  line-height: 0.18rem;
  white-space: pre-line;
  margin-top: 0.08rem;
}
.guild-hero > img {
  position: absolute;
  z-index: -1;
  right: -1.95rem;
  top: -0.12rem;
  width: 4.92rem;
  mix-blend-mode: lighten;
  max-width: none;
  pointer-events: none;
}
.guild-official-card,
.guild-mine-card,
.guild-promo,
.guild-ranking {
  position: relative;
  overflow: hidden;
  border: 0.01rem solid var(--white-12);
  border-radius: 0.2rem;
  padding: 0.2rem 0.16rem;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  background: var(--white-4);
}
/* Design uses distinct guild identity and promotion surfaces. */
.guild-official-card {
  background: linear-gradient(140deg, rgba(27, 52, 91, 0.7), rgba(9, 14, 25, 0.8));
}
.guild-promo {
  background: radial-gradient(ellipse at bottom, rgba(35, 92, 249, 0.6), transparent 65%), #141414;
}
.guild-create-promo {
  background: radial-gradient(ellipse at bottom, rgba(35, 92, 249, 0.55), transparent 65%), #030303;
  box-shadow: inset 0 0 0.16rem rgba(68, 79, 101, 0.6);
}
.guild-promo-heading {
  display: flex;
  align-items: center;
  gap: 0.08rem;
}
.guild-promo-heading > img {
  flex-shrink: 0;
  object-fit: contain;
}
.guild-promo-heading > div {
  min-width: 0;
  flex: 1;
}
.guild-promo-heading p {
  margin-top: 0.06rem;
}
.guild-promo-heading ul {
  margin: 0.06rem 0 0;
  padding-inline-start: 0.12rem;
  display: grid;
  gap: 0.04rem;
  color: var(--text-description);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.guild-mine-card p,
.guild-policy-promo ul {
  color: var(--text-secondary);
}
.guild-promo > .vib-button,
.guild-official-card > .vib-button,
.guild-ranking > .vib-button {
  width: 100%;
}
.guild-official-card h2 > span {
  font-size: 0.1rem;
  border: 0.01rem solid var(--white-30);
  border-radius: 0.06rem;
  padding: 0.02rem 0.04rem;
}
.guild-mine-card {
  padding: 0.16rem 0.2rem;
  gap: 0.12rem;
  background-origin: border-box;
  background-clip: border-box;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0.24rem;
}
.guild-mine-card h2 {
  font-size: 0.2rem;
  line-height: 0.24rem;
}
.guild-mine-card > .vib-button {
  align-self: flex-start;
}
.guild-button-arrow {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.guild-official-badge {
  position: absolute;
  right: 0;
  top: 0;
  padding: 0.03rem 0.16rem;
  font-size: 0.1rem;
  border-radius: 0 0 0 0.12rem;
  background: rgba(18, 40, 92, 0.6);
}
.guild-ranking {
  isolation: isolate;
  background: var(--background-secondary);
  padding: 0.2rem 0.16rem;
}
.guild-ranking-glow {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  /* 显式裁剪模糊光晕的合成层，避免越过卡片圆角。 */
  clip-path: inset(0 round 0.2rem);
  pointer-events: none;
}
.guild-ranking-glow > img {
  position: absolute;
  left: -1.87rem;
  top: -1.62rem;
  max-width: none;
}
.guild-ranking-glow::after {
  content: '';
  position: absolute;
  top: -0.36rem;
  right: -0.34rem;
  width: 1.66rem;
  height: 0.36rem;
  border-radius: 50%;
  background: var(--text-primary);
  opacity: 0.4;
  filter: blur(0.16rem);
}
.guild-ranking-heading > .guild-ranking-trophy {
  position: relative;
  width: 0.6rem;
  height: 0.63rem;
  flex: 0 0 0.6rem;
}
.guild-ranking-trophy > img {
  position: absolute;
  left: -0.1rem;
  top: -0.09rem;
  width: 0.8rem;
  height: 0.8rem;
  max-width: none;
}
.guild-ranking-heading p {
  margin-top: 0.04rem;
  color: var(--text-tertiary);
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.guild-ranking .guild-list-filters {
  gap: 0.08rem;
}
.guild-ranking-note {
  display: flex;
  align-items: flex-start;
  gap: 0.04rem;
  padding-inline: 0.04rem;
}
.guild-ranking-note > img {
  flex-shrink: 0;
  width: 0.12rem;
  height: 0.12rem;
  margin-top: 0.02rem;
}
.guild-ranking-note > p {
  color: var(--text-tertiary);
  font-size: 0.11rem;
  line-height: 0.16rem;
}
.guild-ranking .guild-item-copy p,
.guild-ranking .guild-item-sites > p {
  color: var(--text-secondary);
}
.guild-discovery-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.12rem;
}
.guild-discovery-item {
  padding: 0.16rem;
  background: var(--item-background-primary);
  border: 0.01rem solid var(--white-8);
  border-radius: 0.16rem;
  display: grid;
  gap: 0.12rem;
}
.guild-item-heading {
  display: flex;
  align-items: center;
  gap: 0.08rem;
}
.guild-item-logo {
  width: 0.48rem;
  height: 0.48rem;
  border: 0.01rem solid var(--white-12);
  border-radius: 0.12rem;
  object-fit: cover;
  flex-shrink: 0;
}
.guild-item-copy {
  flex: 1;
  min-width: 0;
}
.guild-item-copy h3 {
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.18rem;
  margin: 0;
  overflow-wrap: anywhere;
}
.guild-item-copy p,
.guild-item-sites > p {
  margin: 0;
  color: var(--text-description);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.guild-item-copy p {
  margin-top: 0.04rem;
}
.guild-item-heading > .vib-button {
  flex-shrink: 0;
}
.guild-item-sites {
  display: grid;
  gap: 0.08rem;
}
.guild-create-form {
  display: grid;
  gap: 0.24rem;
}
.guild-create-form textarea {
  width: 100%;
  padding: 0.16rem;
  border: 0.01rem solid var(--white-20);
  border-radius: 0.16rem;
  background: var(--item-background-secondary);
  color: var(--text-primary);
  resize: vertical;
}
.guild-create-form label > span {
  display: block;
  margin-bottom: 0.08rem;
  font-size: 0.14rem;
}
.guild-logo-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.12rem;
}
.guild-logo-grid label {
  position: relative;
}
.guild-logo-grid img {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 0.12rem;
  object-fit: cover;
}
.guild-logo-grid input {
  position: absolute;
  top: 0.04rem;
  right: 0.04rem;
}
@media (min-width: 768px) {
  .guild-shell {
    padding: 0.16rem 0.36rem 0.48rem;
  }
  .guild-discovery-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .guild-hero {
    min-height: 1.8rem;
  }
  .guild-hero > img {
    width: 4.92rem;
  }
  .guild-create-form {
    max-width: 6.4rem;
    margin: auto;
  }
}
@media (min-width: 1200px) {
  .guild-shell {
    padding-inline: 0.52rem;
  }
}
.guild-hero::before {
  content: '';
  position: absolute;
  z-index: -2;
  width: 5.16rem;
  height: 5.13rem;
  left: -1.13rem;
  top: -1.85rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTE2IiBoZWlnaHQ9IjUxMyIgdmlld0JveD0iMCAwIDUxNiA1MTMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpwbHVzLWxpZ2h0ZXIiPgo8ZyBmaWx0ZXI9InVybCgjZmlsdGVyMF9mXzIzMDdfNTYxMjApIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjFfZl8yMzA3XzU2MTIwKSIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOnBsdXMtbGlnaHRlciI+CjxwYXRoIGQ9Ik0xMDAuMTUzIDIyOC4zMTdDOTguMzY1OSAyMzkuNDUxIDEyNi4zMTIgMjQ3LjYzOSAyNjEuODAxIDI2OS4zODZDMzk3LjI5IDI5MS4xMzIgMTU3LjM4MiAxMTEuODQ3IDE1OS4xNjkgMTAwLjcxNEMxNjAuOTU2IDg5LjU3OTkgNjAyLjQyIDIyNy4zNjMgMjY4LjI3MiAyMjkuMDY3QzEzMi43ODMgMjA3LjMyMSAxMDEuOTQgMjE3LjE4MyAxMDAuMTUzIDIyOC4zMTdaIiBmaWxsPSIjNjA3RUJBIi8+CjwvZz4KPC9nPgo8bWFzayBpZD0ibWFzazBfMjMwN181NjEyMCIgc3R5bGU9Im1hc2stdHlwZTphbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iNzIiIHk9Ijk2IiB3aWR0aD0iNDQ0IiBoZWlnaHQ9IjQzMCI+CjxyZWN0IHdpZHRoPSIzOTAiIGhlaWdodD0iMzcyLjI0NCIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTg4ODc4IC0wLjE1MzY0NSAtMC4xNTM2NDUgMC45ODg4NzggNTE1LjYyMyAxNTYuOTA4KSIgZmlsbD0iI0Q5RDlEOSIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazBfMjMwN181NjEyMCkiPgo8ZyBmaWx0ZXI9InVybCgjZmlsdGVyMl9mXzIzMDdfNTYxMjApIj4KPHJlY3Qgd2lkdGg9Ijc1LjY1MTUiIGhlaWdodD0iNTQ4LjM2MyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTk4MzI4IDAuMDY5NDc0NyAwLjczMDI3MyAwLjY4NDI0MiAxMTcuMzY4IDc3LjE2NDcpIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMjMwN181NjEyMCkiIGZpbGwtb3BhY2l0eT0iMC40Ii8+CjwvZz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjNfZl8yMzA3XzU2MTIwKSI+CjxyZWN0IHdpZHRoPSI3MS40NjE4IiBoZWlnaHQ9IjQ3NS42NTMiIHRyYW5zZm9ybT0ibWF0cml4KC0wLjk5ODMyOCAwLjA2OTQ3NDcgMC43MzAyNzMgMC42ODQyNDIgMTIxLjA5MiAxNjQuNDgzKSIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzIzMDdfNTYxMjApIiBmaWxsLW9wYWNpdHk9IjAuNCIvPgo8L2c+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXI0X2ZfMjMwN181NjEyMCkiPgo8cmVjdCB3aWR0aD0iNjguMTQ2NyIgaGVpZ2h0PSI0OTkuMSIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTk4MzI4IDAuMDY5NDc0NyAwLjczMDI3MyAwLjY4NDI0MiAtOS4zMTE2IDExMC40NDMpIiBmaWxsPSJ1cmwoI3BhaW50Ml9saW5lYXJfMjMwN181NjEyMCkiIGZpbGwtb3BhY2l0eT0iMC42Ii8+CjwvZz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjVfZl8yMzA3XzU2MTIwKSIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOnBsdXMtbGlnaHRlciI+CjxwYXRoIGQ9Ik0xMTYuNTAzIDE5MC4yMThDMTEzLjI3IDE5Mi4xNDEgMTE0LjgxNiAxNDEuOTQ2IDE0NS41ODQgMTkzLjY1NEMxNzYuMzUzIDI0NS4zNjMgMTYwLjU5OSAxODMuMzkzIDE2My44MzIgMTgxLjQ3QzE2Ny4wNjQgMTc5LjU0NyAyNTAuNzUyIDM2My4yOTcgMTYxLjE3NCAyNDguMzk1QzEzMC40MDYgMTk2LjY4NiAxMTkuNzM1IDE4OC4yOTUgMTE2LjUwMyAxOTAuMjE4WiIgZmlsbD0iIzYwN0VCQSIvPgo8L2c+CjwvZz4KPC9nPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9mXzIzMDdfNTYxMjAiIHg9IjAiIHk9IjAiIHdpZHRoPSI0OTMuMzI1IiBoZWlnaHQ9IjM3MS4yODciIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNTAiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMzA3XzU2MTIwIi8+CjwvZmlsdGVyPgo8ZmlsdGVyIGlkPSJmaWx0ZXIxX2ZfMjMwN181NjEyMCIgeD0iNDAuNjMwMiIgeT0iNDAuNjMwMiIgd2lkdGg9IjQxMi4wNjUiIGhlaWdodD0iMjkwLjAyNyIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIyOS43IiByZXN1bHQ9ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMjMwN181NjEyMCIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyMl9mXzIzMDdfNTYxMjAiIHg9IjE3LjgyNTciIHk9IjUzLjE0NjkiIHdpZHRoPSI1MjQuMDE0IiBoZWlnaHQ9IjQyOC41MDUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMTIiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMzA3XzU2MTIwIi8+CjwvZmlsdGVyPgo8ZmlsdGVyIGlkPSJmaWx0ZXIzX2ZfMjMwN181NjEyMCIgeD0iMjUuNzMyIiB5PSIxNDAuNDY2IiB3aWR0aD0iNDY2LjczNSIgaGVpZ2h0PSIzNzguNDYzIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEyIiByZXN1bHQ9ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMjMwN181NjEyMCIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyNF9mXzIzMDdfNTYxMjAiIHg9Ii0xMDEuMzYyIiB5PSI4Ni40MjU1IiB3aWR0aD0iNDgwLjU0OCIgaGVpZ2h0PSIzOTQuMjc2IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEyIiByZXN1bHQ9ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXJfMjMwN181NjEyMCIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyNV9mXzIzMDdfNTYxMjAiIHg9IjM0Ljc2NDEiIHk9Ijg5LjYzNjkiIHdpZHRoPSIyNDguMjMzIiBoZWlnaHQ9IjI3Ny4xMzciIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNDAuMjUiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMzA3XzU2MTIwIi8+CjwvZmlsdGVyPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjMwN181NjEyMCIgeDE9IjM3LjgyNTciIHkxPSIwIiB4Mj0iMzcuODI1NyIgeTI9IjU0OC4zNjMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzYwN0VCQSIgc3RvcC1vcGFjaXR5PSIwLjY0Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzYwN0VCQSIgc3RvcC1vcGFjaXR5PSIwIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8yMzA3XzU2MTIwIiB4MT0iMzUuNzMwOSIgeTE9IjAiIHgyPSIzNS43MzA5IiB5Mj0iNDc1LjY1MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjNjA3RUJBIiBzdG9wLW9wYWNpdHk9IjAuNjQiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNjA3RUJBIiBzdG9wLW9wYWNpdHk9IjAiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDJfbGluZWFyXzIzMDdfNTYxMjAiIHgxPSIzNC4wNzM0IiB5MT0iMCIgeDI9IjM0LjA3MzQiIHkyPSI0OTkuMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjNjA3RUJBIiBzdG9wLW9wYWNpdHk9IjAuNjQiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNjA3RUJBIiBzdG9wLW9wYWNpdHk9IjAiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K") no-repeat;
  pointer-events: none;
}
.guild-promo::before {
  content: '';
  position: absolute;
  z-index: 0;
  width: 5.29rem;
  height: 2.41rem;
  left: -1rem;
  bottom: -1.95rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTI5IiBoZWlnaHQ9IjI0MSIgdmlld0JveD0iMCAwIDUyOSAyNDEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2ZfMjMwN181NjY0OSkiPgo8cGF0aCBkPSJNNDY4LjY1OSAxODAuOTg0TDYwLjAxNiAxNDAuMjMzQzE0Ni42ODIgMTMxLjA3MyAxNDYuMzIgODEuNjA0NyAxOTEuNzc3IDc4LjkzMjFDMTk5LjkyOCA3OC40NTI5IDIwOS4wNjggNzkuNzU3NiAyMTguMzczIDgyLjI3NzdDMjI4LjY0OCA3NC4xNjc2IDI0Mi4xMzIgNjYuNTc0NyAyNTkuNzcxIDYwLjk2NDdDMzAxLjk2NyA0Ny41NDQyIDQ2OC42NTkgMTgwLjk4NCA0NjguNjU5IDE4MC45ODRaIiBmaWxsPSIjMkM3MkZGIi8+CjwvZz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZl8yMzA3XzU2NjQ5IiB4PSIwIiB5PSIwIiB3aWR0aD0iNTI4LjY3NCIgaGVpZ2h0PSIyNDEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMzAiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8yMzA3XzU2NjQ5Ii8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPgo=") no-repeat;
  pointer-events: none;
}
.guild-promo > * {
  position: relative;
}

.guild-list-filters {
  display: grid;
  gap: 0.12rem;
}

.guild-discovery-preview {
  min-width: 0;
}
.guild-discovery-preview .guild-discovery-list {
  display: flex;
  gap: 0.1rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-inline: 0.16rem;
  scroll-padding-inline: 0.16rem;
}
.guild-discovery-preview .guild-discovery-list::-webkit-scrollbar {
  display: none;
}
.guild-discovery-preview .guild-discovery-item {
  flex: 0 0 2.72rem;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  padding: 0.16rem;
  scroll-snap-align: start;
  background: #1c1c1c;
}
.guild-discovery-preview .guild-item-copy h3 {
  font-weight: 700;
}
.guild-discovery-preview .guild-item-sites {
  margin-bottom: 0.08rem;
}
.guild-discovery-preview .guild-discovery-item > .vib-button {
  width: 100%;
  margin-top: auto;
}
.guild-discovery-preview .guild-site-icons {
  gap: 0.1rem;
}
.guild-discovery-preview .guild-skeleton-sites {
  grid-template-columns: repeat(5, minmax(0, 0.4rem));
  gap: 0.1rem;
}
.guild-discovery-preview > [role='alert'],
.guild-discovery-preview > [role='status'] {
  margin: 0;
  font-size: 0.12rem;
  color: var(--text-secondary);
}
.guild-discovery-preview > [role='alert'],
.guild-discovery-preview > p[role='status'] {
  padding-inline: 0.16rem;
}


/* Figma 3492:40648: 20px line height plus 11px top/bottom padding. */
.guild-ranking-search.ui-input[data-size='40'][data-v-54ec5591] .ui-input-control {
  height: 0.42rem;
  border-color: var(--white-8);
}
.guild-ranking-search[data-v-54ec5591] .ui-input-native::placeholder {
  color: #64625f;
}
.guild-ranking-search.ui-input[data-size='40'][data-v-54ec5591] .ui-input-control:focus-within {
  border-color: var(--white-50);
}



.guild-unjoined[data-v-5181b8ae] {
  background: radial-gradient(ellipse at top left, rgb(80 113 172 / 55%), transparent 65%), #080a10;
}
.guild-unjoined-subtitle[data-v-5181b8ae] {
  color: var(--text-secondary);
  font-size: 0.14rem;
  line-height: 0.2rem;
}
.guild-unjoined .guild-promo-heading p + p[data-v-5181b8ae] {
  margin-top: 0.02rem;
}



.bindings-number[data-v-e03915f6] {
  display: inline-flex;
  height: 1lh;
  vertical-align: bottom;
}
.number-digit[data-v-e03915f6] {
  position: relative;
  display: inline-grid;
  width: 1ch;
  height: 1lh;
  overflow: hidden;
}
.number-value[data-v-e03915f6] {
  grid-area: 1 / 1;
  white-space: nowrap;
}
.number-up-enter-active[data-v-e03915f6],
.number-down-enter-active[data-v-e03915f6],
.number-up-leave-active[data-v-e03915f6],
.number-down-leave-active[data-v-e03915f6] {
  transition: transform 240ms ease;
}
/* 每位数字的旧字符单独退出，窗口宽高固定。 */
.number-up-leave-active[data-v-e03915f6],
.number-down-leave-active[data-v-e03915f6] {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
}
.number-up-enter-from[data-v-e03915f6],
.number-down-leave-to[data-v-e03915f6] {
  transform: translateY(100%);
}
.number-down-enter-from[data-v-e03915f6],
.number-up-leave-to[data-v-e03915f6] {
  transform: translateY(-100%);
}
@media (prefers-reduced-motion: reduce) {
.number-up-enter-active[data-v-e03915f6],
  .number-down-enter-active[data-v-e03915f6],
  .number-up-leave-active[data-v-e03915f6],
  .number-down-leave-active[data-v-e03915f6] {
    transition: none;
}
}



.assistant-bubble[data-v-daa54448] {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-width: 0;
  height: 0.36rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
  padding: 0.02rem 0.12rem 0.02rem 0.64rem;
  border-radius: 0.12rem;
  color: var(--white-95);
  font-size: 0.12rem;
  font-weight: 500;
  line-height: 0.16rem;
}
.assistant-background[data-v-daa54448] {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  /* 只裁切背景光晕，避免 iOS 漏出方角，同时保留机器人头部外溢。 */
  -webkit-clip-path: inset(0 round 0.12rem);
  clip-path: inset(0 round 0.12rem);
  background: rgb(134 187 243 / 10%);
  pointer-events: none;
}
.assistant-background[data-v-daa54448]::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -0.1582rem;
  right: -0.3rem;
  width: 1.28rem;
  height: 0.202rem;
  border-radius: 50%;
  background: linear-gradient(207deg, #46a9eb 47%, rgb(159 254 84 / 50%) 100%);
  filter: blur(0.16rem);
  pointer-events: none;
}
.assistant-avatar-mask[data-v-daa54448] {
  position: absolute;
  inset: 0;
  /* 底部沿气泡的 12px 圆角裁切，顶部保留完整的 10px 高度差。 */
  clip-path: inset(-0.1rem 0 0 0 round 0 0 0.12rem 0.12rem);
}
.assistant-avatar[data-v-daa54448] {
  /* Figma 3239:101802：机器人右缘在 55px，文字起点 64px，净间距 9px。 */
  position: absolute;
  /* 46px 机器人比 36px 气泡高 10px，底部对齐时完整露出头部。 */
  top: -0.1rem;
  left: -0.07rem;
  display: block;
  width: 0.62rem;
  height: 0.46rem;
  object-fit: contain;
}
.assistant-icon[data-v-daa54448] {
  /* 图片固定在文字视口外，不参与文字滚动。 */
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 0.2rem;
  height: 0.2rem;
  object-fit: contain;
}
.assistant-content[data-v-daa54448] {
  position: relative;
  flex: 1;
  min-width: 0;
}
.assistant-current[data-v-daa54448] {
  display: block;
  position: relative;
  min-width: 0;
  min-height: 0.16rem;
}
.assistant-viewport[data-v-daa54448] {
  display: block;
  min-width: 0;
  height: 0.16rem;
  overflow: hidden;
  white-space: nowrap;
}
.assistant-typing[data-v-daa54448] {
  display: block;
  width: max-content;
  min-width: 100%;
}
.assistant-current.has-icon[data-v-daa54448] {
  /* 只预留图标宽度及 8px 间距，不额外预留图标高度。 */
  padding-left: 0.28rem;
}
.assistant-message[data-v-daa54448] {
  position: absolute;
  width: 0.01rem;
  height: 0.01rem;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}



.game-favorite-removal.ui-dialog {
  width: min(3.38rem, calc(100vw - 0.32rem));
}



.removal-confirm.vib-button[data-size='44'][data-v-ad554746] {
  flex: 1;
  min-height: 0.46rem;
  padding: 0.13rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.2rem;
}



.game-launch-notice.ui-dialog {
  width: min(3.3rem, calc(100vw - 0.32rem));
}
.game-launch-notice .ui-dialog-title {
  line-height: 0.2rem;
}
.game-launch-notice .ui-dialog-footer {
  flex-direction: column;
  gap: 0.16rem;
}



.launch-notice-copy[data-v-2dd727d0] {
  color: var(--text-secondary);
  text-align: center;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.launch-notice-preference[data-v-2dd727d0] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.04rem;
  min-height: 0.2rem;
  color: var(--text-secondary);
  font-size: 0.14rem;
  line-height: 0.18rem;
  cursor: pointer;
}
.launch-notice-preference input[data-v-2dd727d0] {
  appearance: none;
  flex-shrink: 0;
  width: 0.2rem;
  height: 0.2rem;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: transparent center / contain no-repeat;
  cursor: pointer;
}
.launch-notice-preference input[data-v-2dd727d0]:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
.launch-notice-confirm.vib-button[data-v-2dd727d0] {
  width: 100%;
  min-height: 0.46rem;
  font-size: 0.16rem;
  line-height: 0.2rem;
}
.launch-notice-confirm[data-v-2dd727d0] .vib-button-label {
  line-height: 0.2rem;
}



.winning-notice[data-v-68cf5a63] {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 0.08rem;
  min-height: 0.36rem;
  margin-bottom: 0.12rem;
  padding: 0.04rem 0.06rem;
  overflow: hidden;
  border-radius: 0.12rem;
  /* Safari 的模糊合成层可能越过 overflow 圆角，显式裁切光晕。 */
  -webkit-clip-path: inset(0 round 0.12rem);
  clip-path: inset(0 round 0.12rem);
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--warning) 10%, transparent),
    rgb(78 108 141 / 10%)
  );
  color: var(--white-95);
}
.winning-notice[data-v-68cf5a63]::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -0.16rem;
  left: -0.37rem;
  width: 1.19rem;
  height: 0.2rem;
  border-radius: 50%;
  background: var(--warning);
  opacity: 0.2;
  filter: blur(0.16rem);
  pointer-events: none;
}
.winning-speaker[data-v-68cf5a63],
.winning-speaker[data-v-68cf5a63]:disabled {
  display: grid;
  place-items: center;
  flex: 0 0 0.26rem;
  width: 0.26rem;
  height: 0.26rem;
  padding: 0.04rem;
  border: 0;
  border-radius: 0.1rem;
  background: color-mix(in srgb, var(--warning) 10%, transparent);
}
.winning-speaker[data-v-68cf5a63]:disabled {
  cursor: default;
}
.winning-speaker img[data-v-68cf5a63] {
  display: block;
}
.winning-messages[data-v-68cf5a63] {
  display: grid;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.winning-message[data-v-68cf5a63] {
  grid-area: 1 / 1;
  align-self: center;
  margin: 0;
  font-size: 0.12rem;
  line-height: 0.16rem;
  visibility: hidden;
  opacity: 0;
  transform: translateY(0.08rem);
  transition:
    opacity var(--notice-transition) ease,
    transform var(--notice-transition) ease,
    visibility var(--notice-transition);
}
.winning-message.is-active[data-v-68cf5a63] {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.winning-message[data-v-68cf5a63] {
  white-space: pre-wrap;
  font-variant-numeric: tabular-nums;
}
@media (prefers-reduced-motion: reduce) {
.winning-message[data-v-68cf5a63] {
    transition: none;
    transform: none;
}
}


.game-bindings {
  min-width: 0;
  margin-inline: 0.16rem;
}
.game-bindings .bindings-heading {
  padding-inline: 0.08rem;
  margin-bottom: 0.12rem;
}
.game-bindings .bindings-heading h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 0.22rem;
}
.game-bindings .bindings-heading p {
  margin: 0.02rem 0 0;
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.game-bindings .bindings-controls {
  display: flex;
  align-items: center;
  gap: 0.16rem 0.1rem;
  margin-bottom: 0.12rem;
}
.game-bindings .bindings-tabs {
  display: flex;
  flex: 1;
  min-width: 0;
  padding: 0.02rem;
  background: #1c1c1c;
  border-radius: 0.12rem;
}
.game-bindings .bindings-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.04rem;
  flex: 1;
  min-width: 0;
  min-height: 0.4rem;
  padding: 0.08rem 0.06rem;
  border: 0;
  border-radius: 0.1rem;
  background: transparent;
  color: var(--text-tertiary);
  font: inherit;
  font-size: 0.14rem;
  line-height: normal;
  cursor: pointer;
}
.game-bindings .bindings-tabs button[aria-pressed='true'] {
  background: #262626;
  color: var(--text-primary);
  font-weight: 700;
  box-shadow: 0 0.03rem 0.08rem rgb(0 0 0 / 12%);
}
.game-bindings .bindings-tab-icon {
  flex-shrink: 0;
  color: #6e6e6e;
}
.game-bindings .bindings-tabs button[aria-pressed='true'] .bindings-tab-icon {
  color: #fff;
}
.game-bindings .bindings-sort {
  position: relative;
  flex-shrink: 0;
}
.game-bindings .bindings-sort-trigger {
  display: flex;
  align-items: center;
  gap: 0.02rem;
  min-height: 0.4rem;
  padding: 0.1rem 0.12rem 0.1rem 0.14rem;
  border: 0;
  border-radius: 0.12rem;
  background: #1c1c1c;
  color: var(--text-primary);
  font: inherit;
  font-size: 0.12rem;
  line-height: normal;
  cursor: pointer;
}
.game-bindings .bindings-sort-menu {
  position: absolute;
  z-index: 10;
  top: calc(100% + 0.08rem);
  right: 0;
  display: grid;
  gap: 0.12rem;
  min-width: 1.5rem;
  max-width: calc(100vw - 0.32rem);
  padding: 0.16rem;
  border: 0.01rem solid var(--white-12);
  border-radius: 0.18rem;
  background: rgb(22 22 22 / 90%);
  backdrop-filter: blur(0.16rem);
}
.game-bindings .bindings-sort-menu button {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.08rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-tertiary);
  font: inherit;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.2rem;
  text-align: left;
  white-space: normal;
  cursor: pointer;
}
.game-bindings .bindings-sort button:focus-visible {
  outline: none;
}
.game-bindings .bindings-sort-menu button:focus-visible {
  background: var(--white-8);
}
.game-bindings .bindings-sort-menu button > span {
  flex: 1;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.game-bindings .bindings-sort-menu button > img {
  flex-shrink: 0;
}
.game-bindings .bindings-sort-menu button[aria-checked='true'] {
  color: var(--text-primary);
}
.game-bindings .bindings-list {
  display: grid;
  gap: 0.12rem;
}
.game-bindings .bindings-item {
  position: relative;
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.16rem;
  border: 0.01rem solid var(--white-8);
  border-radius: 0.2rem;
  background: #1f1f1f;
  backdrop-filter: blur(0.04rem);
}
.game-bindings .bindings-item[data-launchable='true'] {
  cursor: pointer;
}
.game-bindings .bindings-favorite {
  position: absolute;
  top: 0.1rem;
  inset-inline-end: 0.1rem;
  display: grid;
  place-items: center;
  width: 0.32rem;
  height: 0.32rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.game-bindings .bindings-favorite:focus-visible {
  outline: 0.01rem solid var(--info);
  outline-offset: 0.02rem;
}
.game-bindings .bindings-favorite:disabled {
  cursor: default;
}
.game-bindings .bindings-site {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  min-width: 0;
}
.game-bindings .bindings-logo {
  display: flex;
  flex: 0 0 0.64rem;
  align-items: center;
  justify-content: center;
  width: 0.64rem;
  height: 0.64rem;
  overflow: hidden;
  border-radius: 0.16rem;
  background: rgb(35 246 240 / 20%);
  box-shadow: 0 0 0 0.01rem var(--white-20);
}
.game-bindings .bindings-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.game-bindings .bindings-logo span {
  font-size: 0.28rem;
  font-weight: 700;
}
.game-bindings .bindings-info {
  flex: 1;
  min-width: 0;
}
.game-bindings .bindings-name {
  padding-inline-end: 0.32rem;
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  gap: 0.04rem;
  min-height: 0.2rem;
}
.game-bindings .bindings-name h3 {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 0.2rem;
}
.game-bindings .bindings-badge {
  flex-shrink: 0;
  padding: 0.02rem 0.06rem;
  border: 0.01rem solid var(--white-20);
  border-radius: 0.06rem;
  background: var(--white-8);
  color: var(--text-secondary);
  font-size: 0.1rem;
  line-height: 0.14rem;
}
.game-bindings .bindings-badge[data-bound='true'] {
  background: rgb(134 243 168 / 10%);
  border-color: rgb(134 243 168 / 24%);
  color: #86f3a8;
}
.game-bindings .bindings-host {
  margin: 0.02rem 0 0;
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
  overflow-wrap: anywhere;
}
.game-bindings .bindings-statistics {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.04rem 0.06rem;
  min-height: 0.26rem;
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.18rem;
}
.game-bindings .bindings-statistics > span,
.game-bindings .bindings-statistics > .bindings-rtp {
  display: inline-flex;
  align-items: center;
  gap: 0.04rem;
  padding-block: 0.04rem;
  white-space: nowrap;
}
.game-bindings .bindings-statistics strong {
  color: var(--text-primary);
  font-size: 0.14rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.game-bindings .bindings-playing-icon {
  width: 0.14rem;
  height: 0.14rem;
  background: url("/fb28195a3343b957.webp") center / contain no-repeat;
}
@property --bindings-rtp-radius {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 85%;
}
.game-bindings .bindings-rtp-dot {
  --rtp-cycle: 2s;
  position: relative;
  flex-shrink: 0;
}
.game-bindings .bindings-rtp-core {
  position: relative;
  width: 0.14rem;
  height: 0.14rem;
  border-radius: 50%;
  pointer-events: none;
  /* 外围直径约 9–12px；保留 14px 定位盒子和中心 5px 圆点。 */
  background: radial-gradient(
    circle closest-side at center,
    color-mix(in srgb, var(--success) 16%, transparent) 0
      calc(var(--bindings-rtp-radius, 85%) - 0.5%),
    transparent var(--bindings-rtp-radius, 85%)
  );
  animation:
    bindings-rtp-expand var(--rtp-cycle) ease-in-out infinite,
    bindings-rtp-breathe var(--rtp-cycle) ease-in-out infinite;
}
.game-bindings .bindings-rtp-light {
  /* 与外围共用完整画布，通过圆形裁切显示 5px 圆点，避免独立居中的取整偏差。 */
  position: absolute;
  inset: 0;
  background: var(--success);
  clip-path: circle(0.025rem at 50% 50%);
}
.game-bindings .bindings-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.game-bindings .bindings-launch-control > .vib-button {
  width: 100%;
  height: 0.44rem;
  min-height: 0.44rem;
  padding: 0.12rem 0.12rem 0.12rem 0.28rem;
  overflow: hidden;
  border-radius: 0.16rem;
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 0.18rem;
}
.game-bindings .bindings-actions .bindings-launch.vib-button:not(:disabled) {
  background: linear-gradient(90deg, #4ae79f, #31c5d0);
  color: #0e0e0e;
  box-shadow:
    inset 0 0 0 0.01rem #cffffa,
    inset 0 0 0.16rem rgb(255 255 255 / 40%);
}
.game-bindings .bindings-actions .bindings-launch.vib-button:not(:disabled)::before {
  display: none;
}
.game-bindings .bindings-launch:not(:disabled)::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: -0.46rem;
  right: -0.425rem;
  width: 1.23rem;
  height: 1.12rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIzIiBoZWlnaHQ9IjExMiIgdmlld0JveD0iMCAwIDEyMyAxMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIG9wYWNpdHk9IjAuNiIgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZl8zMjM5XzEwMTczOCkiPgo8cGF0aCBkPSJNNzAuNSA1M0M4My43IDYxLjQgODAuNjY2NyA4MC41IDgwLjUgODhIOThMOTguNSAzMC41TDg0IDI2TDQ1IDI0TDI0IDQ0QzM4LjUgNDQgNTcuMyA0NC42IDcwLjUgNTNaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2ZfMzIzOV8xMDE3MzgiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMjIuNSIgaGVpZ2h0PSIxMTIiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0ic2hhcGUiLz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMTIiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8zMjM5XzEwMTczOCIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K") center / contain
    no-repeat;
  pointer-events: none;
}
.game-bindings .bindings-launch .vib-button-content {
  gap: 0.04rem;
}
.game-bindings .bindings-launch .vib-button-icon:first-child {
  width: 0.24rem;
  height: 0.24rem;
}
.game-bindings .bindings-launch-title {
  font-size: 0.14rem;
  font-weight: 700;
  line-height: 0.18rem;
}
.game-bindings .bindings-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.24rem;
  padding: 0.4rem 0.16rem;
  text-align: center;
}
.game-bindings .bindings-empty > img {
  margin-bottom: -0.08rem;
}
.game-bindings .bindings-empty h3 {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 0.18rem;
}
.game-bindings .bindings-empty p {
  margin: 0.08rem 0 0;
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.game-bindings .bindings-empty .vib-button {
  min-width: 1.4rem;
}
.game-bindings .skeleton-block {
  display: block;
  background: var(--white-8);
  border-radius: 0.08rem;
  animation: bindings-pulse 1.4s ease-in-out infinite alternate;
}
.game-bindings .skeleton-name {
  width: 60%;
  height: 0.2rem;
}
.game-bindings .skeleton-host {
  width: 45%;
  height: 0.16rem;
  margin-top: 0.02rem;
}
.game-bindings .bindings-skeleton .bindings-logo {
  border-radius: 0.16rem;
  box-shadow: none;
}
.game-bindings .bindings-skeleton .bindings-actions > span {
  height: 0.56rem;
  border-radius: 0.16rem;
}
.game-bindings .bindings-skeleton .skeleton-message {
  height: 0.4rem;
  border-radius: 0.12rem;
}
.game-bindings button:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
/* 单张渐变共用圆心，中心半径固定；只改变外围半径。 */
@keyframes bindings-rtp-breathe {
  0%,
  100% {
    opacity: 0.4;
  }
  50% {
    opacity: 1;
  }
}
@keyframes bindings-rtp-expand {
  0%,
  100% {
    --bindings-rtp-radius: 65%;
  }
  50% {
    --bindings-rtp-radius: 85%;
  }
}
@keyframes bindings-pulse {
  to {
    opacity: 0.4;
  }
}
@media (prefers-reduced-motion: reduce) {
  .game-bindings .skeleton-block,
  .game-bindings .bindings-rtp-core {
    animation: none;
  }
}
@media (max-width: 359px) {
  .game-bindings .bindings-controls {
    gap: 0.08rem;
  }
  .game-bindings .bindings-tabs button {
    font-size: 0.12rem;
  }
  .game-bindings .bindings-sort-trigger {
    padding-inline: 0.08rem;
  }
}

.game-bindings .bindings-rtp-info {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 0.14rem;
  width: 0.14rem;
  height: 0.14rem;
  padding: 0;
  border: 0;
  background: transparent;
}
/* 扩大触摸范围，保持统计行现有间距。 */
.game-bindings .bindings-rtp-info::after {
  content: '';
  position: absolute;
  inset: -0.08rem;
}

.game-bindings .bindings-launch-control {
  min-width: 0;
}


.game-sites[data-v-b549c35b] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 0.12rem;
  padding: 0.16rem;
  border-radius: 0.18rem;
  background: rgb(3 3 3 / 20%);
  box-shadow: inset 0 0 0.16rem rgb(68 79 101 / 60%);
}
.game-sites[data-v-b549c35b]::after {
  content: '';
  position: absolute;
  inset: 0;
  padding: 0.01rem;
  border-radius: inherit;
  background: linear-gradient(
    120deg,
    var(--white-50),
    var(--white-12) 30%,
    var(--white-4) 65%,
    rgb(168 191 236 / 65%)
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
.game-sites-glow[data-v-b549c35b] {
  position: absolute;
  z-index: -1;
  left: -0.38rem;
  top: -0.36rem;
  max-width: none;
  pointer-events: none;
}
.game-sites-emblem[data-v-b549c35b] {
  position: relative;
  flex: 0 0 0.56rem;
  height: 0.56rem;
}
.game-sites-emblem > img[data-v-b549c35b]:first-child {
  width: 0.56rem;
  height: 0.56rem;
  object-fit: cover;
}
.game-sites-light[data-v-b549c35b] {
  position: absolute;
  left: 0.2575rem;
  top: 0.085rem;
  max-width: none;
}
.game-sites-copy[data-v-b549c35b] {
  flex: 1;
  min-width: 0;
}
.game-sites h2[data-v-b549c35b] {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.22rem;
}
.game-sites p[data-v-b549c35b] {
  margin: 0.02rem 0 0;
  font-size: 0.12rem;
  line-height: 0.16rem;
  color: rgb(255 255 255 / 35%);
}
.game-sites > .vib-button[data-v-b549c35b] {
  flex-shrink: 0;
}
@media (max-width: 359px) {
.game-sites[data-v-b549c35b] {
    gap: 0.08rem;
    padding: 0.12rem;
}
.game-sites-emblem[data-v-b549c35b] {
    flex-basis: 0.48rem;
}
.game-sites-emblem > img[data-v-b549c35b]:first-child {
    width: 0.48rem;
}
}



.game-guilds[data-v-63793f26] {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}
.game-guilds-heading[data-v-63793f26] {
  padding-inline: 0.2rem;
}
.game-guilds-heading h2[data-v-63793f26] {
  margin: 0;
  font-size: 0.18rem;
  line-height: 0.22rem;
}
.game-guilds-heading p[data-v-63793f26] {
  margin: 0.02rem 0 0;
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.game-guilds > .vib-button[data-v-63793f26] {
  width: calc(100% - 0.32rem);
  margin-inline: 0.16rem;
}



.guild-member-overview[data-v-0f78d7ad] {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
}
.guild-mine-card h2[data-v-0f78d7ad] {
  margin: 0;
  overflow-wrap: anywhere;
}
.guild-mine-card p[data-v-0f78d7ad] {
  margin: 0;
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.guild-member-bindings[data-v-0f78d7ad] {
  margin-inline: 0;
}
.guild-member-discovery[data-v-0f78d7ad] {
  margin-inline: -0.16rem;
}



.invite-skeleton[data-v-7b9efbfc] {
  display: grid;
  gap: 0.12rem;
  width: 100%;
  min-width: 0;
}
.invite-skeleton-block[data-v-7b9efbfc] {
  display: block;
  height: 0.16rem;
  border-radius: 0.08rem;
  background: var(--white-8);
  animation: invite-skeleton-pulse-7b9efbfc 1.5s ease-in-out infinite alternate;
}
.invite-skeleton-short[data-v-7b9efbfc] {
  width: 60%;
}
.invite-skeleton-credentials[data-v-7b9efbfc] {
  gap: 0.1rem;
}
.invite-skeleton-credentials[data-v-7b9efbfc] > :first-child {
  width: 0.64rem;
}
.invite-skeleton-credentials[data-v-7b9efbfc] > :nth-child(2) {
  height: 0.2rem;
}
.invite-skeleton-credentials[data-v-7b9efbfc] > :last-child {
  margin-top: 0.1rem;
}
.invite-skeleton-amount[data-v-7b9efbfc] {
  max-width: 1.4rem;
}
.invite-skeleton-amount > span[data-v-7b9efbfc] {
  height: 0.36rem;
}
.invite-skeleton-row[data-v-7b9efbfc] {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  padding: 0.16rem;
  border-radius: 0.2rem;
  background: var(--item-background-primary);
}
.invite-skeleton-avatar[data-v-7b9efbfc] {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  flex-shrink: 0;
}
.invite-skeleton-person[data-v-7b9efbfc] {
  display: grid;
  gap: 0.08rem;
  flex: 1;
  min-width: 0;
}
.invite-skeleton-value[data-v-7b9efbfc] {
  width: 0.44rem;
  flex-shrink: 0;
}
@keyframes invite-skeleton-pulse-7b9efbfc {
to {
    opacity: 0.45;
}
}
@media (prefers-reduced-motion: reduce) {
.invite-skeleton-block[data-v-7b9efbfc] {
    animation: none;
}
}



.invite-skeleton-action[data-v-753fe3a5] {
  height: 0.44rem;
  border-radius: 0.16rem;
  background: var(--white-8);
}
.invite-commission-panel[data-v-753fe3a5] {
  min-height: 1.16rem;
}
.invite-skeleton-records[data-v-753fe3a5] {
  margin-top: 0.24rem;
}



.invite-membership[data-v-ca87830a] {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  min-width: 0;
}
.invite-membership-icon[data-v-ca87830a] {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--white-8);
  color: var(--text-primary);
}
.invite-membership-icon svg[data-v-ca87830a] {
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.invite-membership-text[data-v-ca87830a] {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.invite-membership-title[data-v-ca87830a] {
  color: var(--text-primary);
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.invite-membership-description[data-v-ca87830a] {
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}


.purchase-page,
.withdraw-page,
.payment-surface {
  --color-background: 14 14 14;
  --color-foreground: 255 255 255;
  --color-surface: 31 31 31;
  --color-surface-muted: 28 28 28;
  --color-glass: 20 20 20;
  --color-control: 38 38 38;
  --color-input: 28 28 28;
  --color-border: 48 48 48;
  --color-border-strong: 48 48 48;
  --color-navigation-muted: 131 131 131;
  --color-navigation-secondary: 186 188 191;
  --color-description: 110 110 110;
  --color-disabled: 82 82 82;
  --color-accent: 255 255 255;
  --color-accent-foreground: 14 14 14;
  --color-accent-gold: 243 207 134;
  --color-positive: 134 243 168;
  --color-destructive: 241 85 85;
  --color-destructive-foreground: 255 255 255;
  --color-warning: 243 207 134;
  --color-info: 168 211 248;
  --radius-control: 0.16rem;
}
.purchase-page,
.withdraw-page {
  min-height: 100dvh;
  color: var(--text-primary);
}
.purchase-content,
.withdraw-content {
  padding: 0.12rem 0.24rem max(0.32rem, env(safe-area-inset-bottom));
}
:where(.purchase-page) :where(h2, h3, p, ul, fieldset, dl, dd),
:where(.withdraw-page) :where(h2, p, ul, dl, dd) {
  margin: 0;
}
:where(.purchase-page, .withdraw-page) ul {
  list-style: none;
  padding: 0;
}
.purchase-page fieldset {
  margin: 0;
}
.purchase-loading {
  display: grid;
  place-items: center;
  min-height: calc(100dvh - 0.6rem);
}
.purchase-error {
  display: grid;
  justify-items: center;
  gap: 0.2rem;
  padding: 0.32rem;
  text-align: center;
}
.purchase-page a {
  color: inherit;
}
:where(.payment-surface) :where(p, dl, dd) {
  margin: 0;
}
.payment-surface a {
  color: inherit;
}

@media (min-width: 768px) {
  .purchase-content,
  .withdraw-content {
    width: 76%;
    margin-inline: auto;
    padding: 0.32rem 0 0.48rem;
  }
}
@media (min-width: 1200px) {
  .purchase-content,
  .withdraw-content {
    width: 54%;
    padding-top: 0.4rem;
  }
}

/* Teleport 面板是业务样式边界；面板选择器高于公共 Dialog 的 scoped 默认样式，
   避免异步路由重复加载公共 CSS 后因顺序变化覆盖旧版布局。 */
.payment-method-sheet .payment-method-loading {
  display: grid;
  place-items: center;
  min-height: 1.8rem;
}
.payment-method-sheet .payment-method-options {
  display: grid;
  padding-bottom: 0.16rem;
}
.payment-method-sheet .payment-method-option {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  width: 100%;
  min-height: 0.56rem;
  padding-block: 0.08rem;
  border-radius: 0.16rem;
  text-align: start;
}
.payment-method-sheet .payment-method-option:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.payment-method-sheet .payment-method-icon {
  flex: 0 0 0.24rem;
  width: 0.24rem;
  height: 0.24rem;
  object-fit: contain;
}
.payment-method-sheet .payment-method-description {
  flex: 1;
  min-width: 0;
  font-size: 0.16rem;
  overflow-wrap: anywhere;
}
.payment-method-sheet .payment-method-description small {
  display: block;
  margin-top: 0.04rem;
  font-size: 0.12rem;
  color: rgb(var(--color-navigation-secondary));
}
.payment-method-sheet .payment-method-brands {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.04rem;
  margin-top: 0.04rem;
}
.payment-method-sheet .payment-method-brands img {
  width: 0.18rem;
  height: 0.12rem;
  object-fit: contain;
}
.payment-method-sheet .payment-method-check {
  display: grid;
  place-items: center;
  flex: 0 0 0.24rem;
  width: 0.24rem;
  height: 0.24rem;
  border: 0.01rem solid rgb(var(--color-foreground) / 0.25);
  border-radius: 50%;
}
.payment-method-sheet .payment-method-option[aria-pressed='true'] .payment-method-check {
  border-color: rgb(var(--color-foreground));
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
}
.payment-method-sheet .payment-method-option:disabled .payment-method-check {
  border-color: rgb(var(--color-foreground) / 0.1);
}
.payment-method-sheet .payment-method-check svg {
  width: 0.16rem;
  height: 0.16rem;
}
.payment-method-sheet .payment-method-confirm {
  width: 100%;
  max-width: none;
  margin-top: 0.08rem;
}
.payment-method-sheet .payment-method-option:focus-visible {
  outline: 0.02rem solid rgb(var(--color-accent));
  outline-offset: 0.03rem;
}
@media (hover: hover) {
  .payment-method-sheet .payment-method-option:not(:disabled):hover {
    background: rgb(var(--color-foreground) / 0.02);
  }
}

.ui-dialog.payment-surface.payment-method-sheet {
  position: fixed;
  inset: auto 0 0;
  margin: 0;
  width: 100%;
  max-width: none;
  max-height: calc(100dvh - env(safe-area-inset-top) - 0.16rem);
  border-radius: 0.3rem 0.3rem 0 0;
  background: rgb(var(--color-surface-muted));
  border: 0.01rem solid rgb(var(--color-border));
  padding: 0.24rem 0.24rem calc(0.16rem + env(safe-area-inset-bottom));
}
.ui-dialog.payment-surface.payment-method-sheet > .ui-dialog-header {
  padding: 0 0.32rem;
  margin-bottom: 0.24rem;
}
.ui-dialog.payment-surface.payment-method-sheet .ui-dialog-title {
  font-size: 0.18rem;
}
.ui-dialog.payment-surface.payment-method-sheet > .ui-dialog-content,
.ui-dialog.payment-surface.payment-method-sheet > .ui-dialog-footer {
  padding: 0;
}
.payment-method-sheet .payment-method-option {
  padding: 0.08rem 0.12rem;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  font-weight: 400;
}
@media (min-width: 768px) {
  .ui-dialog.payment-surface.payment-method-sheet {
    inset: auto;
    bottom: 50%;
    left: 50%;
    width: 70%;
    transform: translate(-50%, 50%);
    border-radius: 0.3rem;
  }
}
@media (min-width: 1200px) {
  .ui-dialog.payment-surface.payment-method-sheet {
    width: 50%;
  }
}


.invite-empty[data-v-4739631d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  padding: 0.24rem 0 0.48rem;
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
  text-align: center;
  overflow-wrap: anywhere;
}
.invite-empty img[data-v-4739631d] {
  width: 0.36rem;
  height: 0.36rem;
  margin-bottom: 0.04rem;
}
.invite-empty p[data-v-4739631d] {
  max-width: 100%;
  margin: 0;
}
.invite-empty-text[data-v-4739631d] {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}


/* 旧版内容依赖 reset；只作用于邀请内容，不覆盖公共 Header 和按钮。 */
:is(.invite-overview, .invite-details-content, .invitation-policy-content)
  :where(h2, h3, p, dl, dd, ol, ul) {
  margin: 0;
}
:is(.invite-overview, .invite-details-content, .invitation-policy-content) :where(ol, ul) {
  list-style: none;
  padding: 0;
}
.invite-overview {
  position: relative;
  isolation: isolate;
  color: var(--text-primary);
}
.invite-shell {
  display: flow-root;
  padding: 0 0.16rem 0.32rem;
}
.invite-layout {
  margin-top: 0.16rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.32rem;
}
.invite-actions-column {
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  min-width: 0;
}
.invite-guest {
  margin-top: 0.16rem;
}
.invite-guest-panel h2,
.invite-guest-description,
.invite-guest-note {
  white-space: pre-line;
}
.invite-guest-description,
.invite-guest-note {
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
  overflow-wrap: anywhere;
}
.invite-guest-note {
  margin-top: 0.64rem;
  color: color-mix(in srgb, var(--text-secondary) 70%, transparent);
  line-height: 0.26rem;
  text-align: center;
}
.invite-panel {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  overflow: hidden;
  padding: 0.24rem 0.2rem 0.18rem;
  box-shadow: inset 0 0 0 0.01rem var(--white-8);
  border-radius: 0.2rem;
  background: linear-gradient(
    225deg,
    color-mix(in srgb, var(--item-background-primary) 40%, transparent) 3%,
    var(--item-background-primary) 100%
  );
  -webkit-backdrop-filter: blur(0.1rem);
  backdrop-filter: blur(0.1rem);
}
.invite-panel-decoration {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.invite-card-glow {
  position: absolute;
  z-index: -1;
  top: 0.6rem;
  left: -1.97rem;
  /* Figma SVG 已包含模糊留白，保留导出的根尺寸。 */
  max-width: none;
  pointer-events: none;
}
.invite-panel-intro h2 {
  font-size: 0.24rem;
  font-weight: 700;
  line-height: 0.28rem;
  color: var(--white-95);
  overflow-wrap: anywhere;
}
.invite-panel-intro p {
  margin-top: 0.08rem;
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.invite-link {
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
  overflow-wrap: anywhere;
}
.invite-commission-panel {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.18rem 0.2rem;
  box-shadow: inset 0 0 0 0.01rem var(--white-8);
  border-radius: 0.2rem;
  overflow: hidden;
  background: linear-gradient(
    225deg,
    color-mix(in srgb, var(--item-background-primary) 40%, transparent) 3%,
    var(--item-background-primary)
  );
}
.invite-commission-decoration {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.invite-commission-glow {
  position: absolute;
  top: 0.02rem;
  left: -2.44rem;
  max-width: none;
}
.invite-overview .invite-withdraw {
  width: 0.92rem;
  padding-inline: 0.12rem;
}
.invite-commission {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--warning);
}
.invite-commission h2 {
  font-size: 0.12rem;
  font-weight: 700;
  line-height: 0.16rem;
}
.invite-commission-note {
  margin-top: 0.06rem;
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.invite-commission-total {
  display: flex;
  align-items: baseline;
  gap: 0.08rem;
  margin-top: 0.06rem;
}
.invite-commission-amount {
  min-width: 0;
  font-size: 0.3rem;
  font-weight: 700;
  line-height: 0.36rem;
}
.invite-currency {
  flex-shrink: 0;
  font-size: 0.14rem;
  line-height: 0.18rem;
}
.invite-credentials {
  display: grid;
  gap: 0.12rem;
}
.invite-credential {
  position: relative;
  padding-inline-end: 0.48rem;
  min-width: 0;
}
.invite-credential-value {
  min-width: 0;
}
.invite-credential dt {
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.invite-credential dd {
  margin-top: 0.06rem;
  font-size: 0.16rem;
  line-height: 0.2rem;
  overflow-wrap: anywhere;
}
.invite-panel .invite-credential .invite-copy-action {
  position: absolute;
  inset-inline-end: 0;
  bottom: -0.06rem;
  background: transparent;
  box-shadow: none;
}

@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .invite-panel {
    background: var(--item-background-primary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
.invite-chevron {
  width: 0.26rem;
  height: 0.26rem;
  flex-shrink: 0;
}
[dir='rtl'] .invite-chevron {
  transform: scaleX(-1);
}
.invite-records {
  min-width: 0;
}
.invite-records-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.12rem;
  margin-bottom: 0.12rem;
}
.invite-records-heading h2 {
  font-size: 0.24rem;
  font-weight: 700;
  line-height: 0.28rem;
}

.invite-details-content {
  padding: 0.12rem 0.2rem calc(0.24rem + env(safe-area-inset-bottom));
}
.invite-details .invite-record-row {
  padding: 0.2rem 0.16rem;
  border-radius: 0.16rem;
}
@media (min-width: 768px) {
  .invite-details-content {
    width: 80%;
    margin-inline: auto;
  }
}
@media (min-width: 1200px) {
  .invite-details-content {
    width: 60%;
  }
}

.invite-records-description {
  margin: 0.12rem 0 0.16rem;
  color: var(--text-description);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.invite-view-all {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  min-height: 0.28rem;
  color: var(--text-description);
  font-size: 0.12rem;
  line-height: normal;
}
.invite-record-list {
  display: grid;
  gap: 0.1rem;
}
.invite-record-row {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  min-height: 0.8rem;
  padding: 0.15rem;
  border: 0.01rem solid var(--border-primary);
  border-radius: 0.2rem;
  background: var(--item-background-primary);
}
.invite-record-avatar {
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 0.48rem;
  height: 0.48rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--item-background-secondary);
}
.invite-record-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.invite-record-person {
  display: grid;
  flex: 1;
  gap: 0.04rem;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  font-size: 0.16rem;
  line-height: 0.2rem;
}
.invite-record-person > span + span {
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.invite-record-person > span:first-child {
  font-weight: 500;
}
.invite-record-row-invitation .invite-record-person > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.invite-details .invite-record-row-invitation {
  padding: 0.15rem;
  border-radius: 0.2rem;
}
.invite-record-rebate {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.02rem;
  max-width: 45%;
  flex-shrink: 0;
  overflow-wrap: anywhere;
  text-align: end;
}
.invite-record-rebate bdi {
  max-width: 100%;
  color: var(--text-primary);
  font-size: 0.18rem;
  font-weight: 500;
  line-height: 0.22rem;
}
.invite-record-rebate > span {
  color: var(--text-tertiary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.invite-data-status {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  padding: 0.2rem 0;
  color: var(--text-tertiary);
  font-size: 0.14rem;
  line-height: 0.2rem;
}
.invite-records-summary {
  margin-bottom: 0.12rem;
  color: var(--text-tertiary);
  font-size: 0.14rem;
}

.invite-record-amount {
  max-width: 48%;
  overflow-wrap: anywhere;
  text-align: end;
  color: var(--text-tertiary);
  font-size: 0.14rem;
  line-height: 0.18rem;
}

@media (min-width: 768px) {
  .invite-shell {
    display: flow-root;
    padding: 0.16rem 5% 0.4rem;
  }
  .invite-guest {
    width: 70%;
    margin-inline: auto;
  }
  .invite-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.24rem;
    align-items: start;
  }
}

@media (min-width: 1200px) {
  .invite-shell {
    display: flow-root;
    padding: 0.24rem 10% 0.56rem;
  }
  .invite-layout {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 0.4rem;
  }
  .invite-guest {
    width: 60%;
  }
}


.invite-view-all {
  text-decoration: none;
}
.invite-share {
  width: 100%;
}
.invite-withdraw {
  flex-shrink: 0;
}
.invite-levels {
  display: flex;
  gap: 0.08rem;
}
.invite-levels > button {
  flex: 1;
}
.invite-levels > button[aria-pressed='false'] {
  color: var(--text-secondary);
}
.invite-details-content .invite-levels {
  margin-bottom: 0.16rem;
}
.invite-status {
  display: grid;
  justify-items: center;
  gap: 0.12rem;
  padding: 0.24rem 0;
  color: var(--text-secondary);
  text-align: center;
}
.invite-records-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  padding-block: 0.4rem;
  color: var(--text-tertiary);
  font-size: 0.14rem;
  text-align: center;
}
.invite-details-content .invite-records-empty {
  padding-top: 0.8rem;
}
.invite-records-empty img {
  width: 0.36rem;
  height: 0.36rem;
}

.invite-levels-compact {
  gap: 0.12rem;
}
.invite-levels-compact > .vib-button[data-size='32'] {
  flex: none;
  min-height: 0.34rem;
  border-radius: 1rem;
  background: #1f1f1f;
  box-shadow: inset 0 0 0 0.01rem var(--white-8);
  font-size: 0.14rem;
  font-weight: 400;
  line-height: 0.18rem;
  color: var(--text-tertiary);
}
.invite-levels-compact > .vib-button[aria-pressed='true'] {
  color: var(--text-primary);
  font-weight: 500;
}
.invite-levels-compact .vib-button-label {
  line-height: 0.18rem;
}


.me-support-unread[data-v-cba6e725] {
  color: var(--error);
  font-weight: inherit;
}


.me-overview {
  max-width: 10.4rem;
  margin-inline: auto;
  padding: 0 0.16rem 0.24rem;
}
.me-overview h2,
.me-overview p {
  margin: 0;
}
.me-profile {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  margin: 0 0.04rem 0.28rem;
  min-height: 0.8rem;
}
.me-portrait {
  position: relative;
  flex: 0 0 0.8rem;
}
.me-avatar {
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  object-fit: cover;
  background: var(--item-background-primary);
}
.me-level {
  position: absolute;
  isolation: isolate;
  bottom: -0.06rem;
  left: 52%;
  width: max-content;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.02rem;
  padding: 0.02rem 0.08rem;
  border: 0;
  border-radius: 0.5rem;
  background: linear-gradient(-84deg, #0f1a274d, #006fff4d), var(--background-primary);
  box-shadow: inset 0.01rem 0.01rem 0.02rem var(--white-20);
  color: var(--text-primary);
  font-family: inherit;
  font-size: 0.12rem;
  font-weight: 400;
  line-height: 0.16rem;
  white-space: nowrap;
  cursor: pointer;
}
.me-level::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 0.01rem;
  border-radius: inherit;
  background:
    radial-gradient(ellipse at 15% 0%, var(--white-50), transparent 65%),
    radial-gradient(ellipse 46% 41.43% at 49.79% 97.14%, var(--white-30), transparent);
  mix-blend-mode: plus-lighter;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
.me-level:focus-visible {
  outline: 0.02rem solid var(--text-primary);
  outline-offset: 0.03rem;
}
.me-level img {
  flex-shrink: 0;
  width: 0.16rem;
  height: 0.16rem;
  object-fit: contain;
}
.me-profile-details {
  min-width: 0;
  flex: 1;
}
.me-name-row {
  display: flex;
  align-items: flex-start;
  gap: 0.08rem;
  margin-bottom: 0.08rem;
}
.me-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.2rem;
  font-weight: 700;
  line-height: 0.24rem;
}
.me-contact,
.me-uid {
  color: var(--text-secondary);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.me-uid {
  display: flex;
  align-items: center;
  gap: 0.06rem;
  margin-top: 0.04rem;
  line-height: normal;
}
.me-icon-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  border-radius: 0.04rem;
}
.me-icon-button::after {
  content: '';
  position: absolute;
  width: max(100%, 0.44rem);
  height: 0.44rem;
}
.me-icon-button:disabled {
  cursor: default;
  background: transparent;
  opacity: 0.5;
}
.me-icon-button img {
  max-width: none;
}
.me-grid {
  display: grid;
  gap: 0.12rem;
}
/* 新版 Figma 明确采用资产分组与独立快捷入口，保留对应面板边界。 */
.me-panel {
  min-width: 0;
  padding: 0.2rem 0.16rem;
  border: 0.01rem solid var(--white-4);
  border-radius: 0.2rem;
  background: var(--item-background-primary);
}
.me-credits {
  background: linear-gradient(
    225deg,
    color-mix(in srgb, var(--item-background-primary) 40%, transparent) 3%,
    var(--item-background-primary)
  );
}
.me-asset-heading {
  display: flex;
  align-items: center;
  gap: 0.04rem;
}
.me-asset-heading h2 {
  font-size: 0.16rem;
  font-weight: 700;
  line-height: normal;
}
.me-asset-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.12rem;
  margin-top: 0.12rem;
}
.me-credit-value {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.02rem;
  min-width: 0;
  min-height: 0.36rem;
}
.me-credit-value bdi,
.me-credit-number {
  font-variant-numeric: tabular-nums;
  font-size: 0.3rem;
  font-weight: 700;
  line-height: 0.36rem;
  overflow-wrap: anywhere;
}
.me-credit-value bdi {
  color: var(--warning);
}
.me-credit-caption,
.me-currency,
.me-estimate {
  font-size: 0.14rem;
  line-height: 0.18rem;
  color: var(--text-tertiary);
}
.me-overview .me-small-button {
  flex-shrink: 0;
  min-width: 0.85rem;
  max-width: 48%;
}
.me-small-button::after {
  content: '';
  position: absolute;
  inset: -0.06rem 0;
}
.me-balance-heading {
  justify-content: space-between;
  gap: 0.12rem;
}
.me-text-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-secondary);
  font-size: 0.12rem;
  font-weight: 400;
  line-height: normal;
  border-radius: 0.04rem;
}
.me-history {
  display: inline-flex;
  align-items: center;
  text-align: end;
}
.me-history img {
  flex-shrink: 0;
}
.me-balance-row {
  align-items: flex-end;
  margin-top: 0.16rem;
}
.me-balance-values {
  min-width: 0;
  min-height: 0.48rem;
}
.me-balance-total {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.04rem;
}
.me-balance-number {
  min-width: 0;
  font-size: 0.24rem;
  line-height: 0.28rem;
  font-weight: 700;
}
.me-balance-total .me-icon-button {
  align-self: center;
  margin-inline-start: 0.02rem;
}
.me-estimate {
  margin-top: 0.02rem !important;
}
.me-asset-error {
  margin-top: 0.08rem !important;
  color: var(--error);
  font-size: 0.12rem;
}
.me-vip {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.2rem;
  overflow: hidden;
  border: 0.01rem solid color-mix(in srgb, var(--info) 40%, var(--border-primary));
  border-radius: 0.2rem;
  background: var(--item-background-primary);
}
.me-vip-lights {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.me-vip-lights img {
  position: absolute;
  max-width: none;
}
/* 导出 SVG 包含模糊留白；保留原始尺寸，定位时补偿留白。 */
.me-vip-top {
  top: -0.85rem;
  left: -0.74rem;
}
.me-vip-blue {
  top: -0.3rem;
  right: -2.03rem;
}
.me-vip-art {
  position: absolute;
  top: 0.09rem;
  right: 0.16rem;
  width: 0.89rem;
  height: 0.65rem;
  object-fit: contain;
  pointer-events: none;
}
.me-vip-copy {
  min-height: 0.46rem;
  padding-inline-end: 0.76rem;
}
.me-vip-copy h2 {
  font-size: 0.22rem;
  font-weight: 700;
  font-style: italic;
  line-height: 0.24rem;
  background: linear-gradient(90deg, #f9f7f6 12%, #b5d4e6 26%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.me-vip-copy p {
  margin-top: 0.06rem;
  color: var(--white-50);
  font-size: 0.12rem;
  line-height: 0.16rem;
}
.me-vip-action {
  width: 100%;
  margin-top: auto;
}
.me-actions {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.me-entry {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  width: 100%;
  min-height: 0.56rem;
  padding: 0.12rem 0.16rem;
  background: var(--item-background-primary);
  color: var(--text-primary);
  border: 0.01rem solid var(--white-4);
  border-radius: 0.2rem;
  font-size: 0.14rem;
  font-weight: 500;
  line-height: normal;
  text-align: start;
}
.me-entry img {
  flex-shrink: 0;
  max-width: none;
}
.me-entry span {
  flex: 1;
  min-width: 0;
}
.me-actions li:last-child .me-entry {
  border-radius: 0.16rem;
}
.me-skeleton {
  display: block;
  background: var(--white-8);
  border-radius: 0.12rem;
}
.me-avatar.me-skeleton {
  border-radius: 50%;
}
/* 资料占位复用头像、姓名行、联系方式与 UID 的真实排版，不用整块矩形替代。 */
.me-profile-name-skeleton {
  width: min(1.2rem, 100%);
  height: 0.24rem;
}
.me-profile-contact-skeleton {
  width: min(1.4rem, 100%);
  height: 0.16rem;
}
.me-profile-uid-skeleton {
  width: min(1.04rem, 100%);
  height: 0.16rem;
}
/* 使用与金额相同的文字行盒和基线，避免空块参与 baseline 排版时撑高余额行。 */
.me-amount-skeleton {
  width: 0.72rem;
  color: transparent;
  user-select: none;
}
.me-load-error {
  display: grid;
  justify-items: center;
  gap: 0.16rem;
  padding: 0.32rem 0.16rem;
}
@media (min-width: 768px) {
  .me-overview {
    padding: 0 0.32rem 0.32rem;
  }
  .me-profile {
    margin-bottom: 0.32rem;
  }
  .me-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.2rem;
  }
  .me-vip {
    grid-column: 1 / -1;
  }
  .me-actions {
    grid-column: 1 / -1;
  }
}
@media (min-width: 1200px) {
  .me-overview {
    padding-inline: 0.48rem;
  }
  .me-vip {
    grid-column: 1;
  }
  .me-actions {
    grid-column: 2;
  }
}

.me-guest {
  width: calc(100% - 0.08rem);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-primary);
  text-align: start;
}
.me-guest .me-name {
  min-width: 0;
}

/* html 的根字号保留 px，不经过 px→rem，避免根字号引用自身。 */
html {
  font-size: min(calc(100vw / 4.02), 120px);
}
@media (min-width: 600px) {
  html {
    font-size: clamp(100px, calc(100vw / 7.68), 120px);
  }
}
@media (min-width: 900px) {
  html {
    font-size: clamp(100px, calc(100vw / 10.24), 120px);
  }
}
@media (min-width: 1200px) {
  html {
    font-size: clamp(100px, calc(100vw / 14.4), 120px);
  }
}
@media (min-width: 1600px) {
  html {
    font-size: clamp(100px, calc(100vw / 19.2), 120px);
  }
}



* {
  outline: none;
}
:root {
  font-family: 'Avenir Next', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  color: var(--foreground);
  background: var(--background);
  /* Figma Color-guide · 6:546，颜色以色块与 HEX 标注为准。 */
  --text-primary: #ffffff;
  --text-secondary: #babcbf;
  --text-tertiary: #838383;
  --text-description: #6e6e6e;
  --text-disabled: #525252;
  --text-button: #0e0e0e;
  --background-primary: #0e0e0e;
  --background-secondary: #141414;
  --background-tertiary: #ffffff;
  --item-background-primary: #1c1c1c;
  --item-background-secondary: #1f1f1f;
  --item-background-tertiary: #262626;
  --border-primary: #303030;
  --success: #86f3a8;
  --error: #f15555;
  --warning: #f3cf86;
  /* 蓝色色块在设计中也标为 Warning，这里按用途命名为 info。 */
  --info: #a8d3f8;
  --white-95: rgb(255 255 255 / 95%);
  --white-90: rgb(255 255 255 / 90%);
  --white-75: rgb(255 255 255 / 75%);
  --white-50: rgb(255 255 255 / 50%);
  --white-30: rgb(255 255 255 / 30%);
  --white-20: rgb(255 255 255 / 20%);
  --white-12: rgb(255 255 255 / 12%);
  --white-8: rgb(255 255 255 / 8%);
  --white-4: rgb(255 255 255 / 4%);

  /* 现有组件使用的语义别名。 */
  --background: var(--background-primary);
  --foreground: var(--text-primary);
  --primary: var(--background-tertiary);
  --primary-foreground: var(--text-button);
  --muted: var(--text-secondary);
  --border: var(--border-primary);
  --header: var(--background-secondary);
  --radius: 9.99rem;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  color-scheme: dark;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--background);
  font-size: 0.16rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
#app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
img {
  max-width: 100%;
}
button {
  font: inherit;
  cursor: pointer;
  padding: 0.13rem 0.22rem;
  border: 0.01rem solid var(--primary);
  border-radius: var(--radius);
  background: var(--primary);
  color: var(--primary-foreground);
  font-weight: 600;
}
button:hover {
  filter: brightness(0.92);
}
button:disabled {
  cursor: wait;
  background: var(--item-background-primary);
  border-color: var(--border);
  color: var(--text-disabled);
}
:focus-visible {
  outline: 0.03rem solid var(--primary);
  outline-offset: 0.04rem;
}


/*# sourceMappingURL=main.577f785a.css.map*/