@font-face {
    font-family: Poppins;
    font-weight: 500;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/Poppins/Poppins-Medium.ttf') format('truetype');
}

@font-face {
    font-family: Poppins;
    font-weight: 600;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/Poppins/Poppins-SemiBold.ttf') format('truetype');
}

@font-face {
    font-family: Bebas Neue;
    font-weight: 100 900;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/Bebas_Neue/BebasNeue-Regular.ttf') format('truetype');
}

@font-face {
    font-family: Inter;
    font-weight: 100 900;
    font-style: normal;
    font-display: auto;
    src: url('../../../../api/fonts/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype');
}

[v-cloak] {
    display: none !important;
}

[flex-center] {
    display: flex;
    align-items: center;
    justify-content: center;
}

[flex-around] {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

[flex-between] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

[flex-shrink] {
    flex-shrink: 0;
}

[flex-align="start"] {
    align-items: start;
}

[flex-align="end"] {
    align-items: end;
}

:root {
    --van-popover-action-height: 2rem;
    --van-cell-group-inset-radius: 12.5rem;
    --van-cell-background: #3B295F;
    --van-cell-group-background: #3B295F;
    --van-field-placeholder-text-color: #9a9a9a;
    --van-field-input-text-color: #c3c3c3;
    --van-popover-dark-background: #3A2E52;
}

html, body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
}

* {
    box-sizing: border-box;
}

a {
    color: #FFFFFF;
    display: inline-block;
    text-decoration: none;
}

#app {
    width: 100%;
}

/* 默认 PC 可见，移动隐藏 */
.mobile-version {
    display: none;
    background: radial-gradient(100% 65% at 50% 70%, #2C1A50, #00081A);
}

.mobile-version .mobile-content {
    height: 100vh;
    display: grid;
    grid-template-rows: 2.5625rem calc(100vh - 2.5625rem - 9.375rem) 9.375rem;
}

.mobile-version .mobile-content header {
    width: 100%;
    height: 2.5625rem;
    padding: 0 1rem;

    display: grid;
    align-items: center;
    grid-template-columns: 1.375rem 1fr 1.375rem;
}

.mobile-version .mobile-content header img {
    width: 100%;
}

.mobile-version .mobile-content header div {
    font-family: Poppins, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    background: linear-gradient(0deg, #DADADA, #DADADA), linear-gradient(97deg, #FCA7E9 6%, rgba(255, 181, 112, 0.726) 32%, #FAFE66 57%, #9FFD7F 91%), linear-gradient(97deg, #FADF8F 5%, #FF6DDF 75%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.mobile-version .mobile-content > .content {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.9375rem;
    padding-top: 0.9375rem;
}

.mobile-version .mobile-content > .content .chatTips {
    color: #DDD8EC;
    width: calc(100% - 2rem);
    height: 8.3125rem;
    border-radius: 1rem;
    margin: 0.75rem auto 0;
    padding: 0.9375rem 0.625rem;
    background: linear-gradient(251deg, #C58AFF -1%, #392085 97%), rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.125rem 0.3125rem 0 rgba(0, 0, 0, 0.3);
    position: relative;
}

.mobile-version .mobile-content > .content .chatTips .title {
    margin-bottom: 0.625rem;
    font-family: Inter, sans-serif;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 100%;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
}

.mobile-version .mobile-content > .content .chatTips .subtitle {
    font-family: Inter, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
}

.mobile-version .mobile-content > .content .chatTips img {
    top: -0.6875rem;
    right: 0.4375rem;
    height: 6.0625rem;
    position: absolute;
}

.mobile-version .mobile-content > .content .chatTips .case {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4.375rem;
    border-radius: 1rem;
    padding: 0.625rem 0.625rem 0;
    background: rgba(255, 255, 255, 0.31);
    backdrop-filter: blur(5.75rem);
    font-family: Inter, sans-serif;
}

.mobile-version .mobile-content > .content .chatTips .case .van-swipe-item {
    height: 2.8125rem;
    padding-top: 0.3125rem;
    font-family: Inter, sans-serif;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 100%;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
    color: #FFFFFF;
}

.mobile-version .mobile-content > .content .chatBox {
    color: #FFFFFF;
    width: fit-content;
    max-width: calc(100vw - 2rem);
    padding: 0.9375rem 0.625rem;
    margin: 0 1rem;
    overflow-wrap: break-word;
    font-family: Inter, sans-serif;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 150%;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
    border-radius: 0.625rem
}

.mobile-version .mobile-content > .content .player {
    align-self: flex-end;
    background: #825CF1;
    border-bottom-right-radius: 0;
}

.mobile-version .mobile-content > .content .robot {
    background: #291D3F;
    border-bottom-left-radius: 0;
    border: 0.03125rem solid rgba(255, 255, 255, 0.16);
}

.mobile-version .mobile-content > .content .robot img {
    width: 100%;
}

.mobile-version .mobile-content footer {
    width: 100vw;
    padding-top: 0.625rem;
    --van-field-placeholder-text-color: #75678D;
}

.mobile-version .mobile-content footer .funTypes {
    /*width: 100%;*/
    gap: 1rem;
    display: flex;
    color: #FFFFFF;
    padding: 0 1rem 0.5rem;
    overflow-x: auto;
    margin-bottom: 0.9375rem;

    font-family: Inter, sans-serif;
    font-size: 1rem;
    font-weight: normal;
    line-height: 100%;
    text-transform: capitalize;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
    text-wrap: nowrap;
}

.mobile-version .mobile-content footer .funTypes > div {
    padding: 0.0625rem;
    background: transparent;
    border-radius: 0.5rem;
}

.mobile-version .mobile-content footer .funTypes .content {
    padding: 0.75rem;
    border-radius: 0.5rem;
    background: #3B2763;
}

.mobile-version .mobile-content footer .funTypes img {
    width: 1rem;
    margin-right: 0.625rem;
}

.mobile-version .mobile-content footer .funTypes .active {
    background: radial-gradient(59% 86% at 50% 50%, #151515 50%, rgba(21, 21, 21, 0) 100%),
    radial-gradient(59% 76% at 50% 50%, #FFFFFF 50%, rgba(255, 255, 255, 0.3) 100%);
}

.mobile-version .mobile-content footer .funTypes .active .content {
    background: linear-gradient(108deg, #1F1239 0%, #52456C 99%)
}

.mobile-version .mobile-content footer .inputBtn {
    width: 3.4375rem;
    height: 2.1875rem;
    border-radius: 1.34375rem;
    background: linear-gradient(242deg, #9F6DF0 0%, #825CF1 95%), linear-gradient(0deg, #56555C, #56555C), linear-gradient(0deg, #0EB3F4 0%, #06FFFF 100%), #22252C;
    transition: filter 0.4s ease;
}

.mobile-version .mobile-content footer .inputBtn img {
    width: 1.1875rem;
}

.mobile-version .mobile-content footer .inputBtn.display {
    filter: grayscale(80%);
}

.mobile-version .mobile-content > .van-overlay {
    background: transparent;
    backdrop-filter: blur(0.1875rem);
    --van-overlay-background: linear-gradient(0deg, #222222, #222222), linear-gradient(38deg, #323537 0%, #000000 100%);
}

.mobile-version .mobile-content > .van-popup {
    width: 100%;
    border-radius: 1.03125rem 1.03125rem 0 0;
    background: linear-gradient(0deg, #222222, #222222), linear-gradient(38deg, #323537 0%, #000000 100%);
    box-shadow: 0 0.125rem 0.3125rem 0 rgba(0, 0, 0, 0.3);
    padding: 1.25rem 1rem 0.625rem;

    --van-cell-background: linear-gradient(0deg, #222222, #222222), linear-gradient(38deg, #323537 0%, #000000 100%);
    --van-dropdown-menu-option-active-color: #BCBCBC;
    --van-cell-text-color: #BCBCBC;
}

.mobile-version .mobile-content > .van-popup .title {
    font-family: Inter, sans-serif;
    font-size: 1rem;
    font-weight: bold;
    line-height: 129%;
    text-transform: capitalize;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
    color: #FFFFFF;
    margin-bottom: 1.25rem;
}

.mobile-version .mobile-content > .van-popup .type-title {
    color: #DADADA;
    font-family: Inter, sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 129%;
    text-transform: capitalize;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
    margin-bottom: 0.9375rem;
}

.mobile-version .mobile-content > .van-popup .van-dropdown-item__content {
    max-height: none;
}

.mobile-version .mobile-content > .van-popup .van-overlay {
    background: linear-gradient(0deg, #222222, #222222), linear-gradient(38deg, #323537 0%, #000000 100%);
}

.mobile-version .mobile-content > .van-popup .van-dropdown-menu__item {
    justify-content: start;
}

.mobile-version .mobile-content > .van-popup .van-dropdown-menu__title {
    width: 100%;
    --van-dropdown-menu-title-active-text-color: #BCBCBC;
}

.mobile-version .mobile-content > .van-popup .van-dropdown-menu__title::after {
    right: var(--van-padding-xs);
}

.mobile-version .mobile-content > .van-popup .van-dropdown-menu__bar {
    border-radius: 0.625rem;
    background: linear-gradient(0deg, #2B2B2B, #2B2B2B), linear-gradient(82deg, #323537 0%, #000000 100%);
    --van-dropdown-menu-title-text-color: #BCBCBC;
}

.mobile-version .mobile-content > .van-popup .van-cell {
    padding: var(--van-cell-vertical-padding) calc(var(--van-padding-xs) + var(--van-cell-horizontal-padding));
}

.mobile-version .mobile-content > .van-popup .van-cell::after {
    --van-cell-border-color: rgba(235, 237, 240, 0.4);
}

.mobile-version .mobile-content > .van-popup .tips-title {
    display: grid;
    gap: 0.625rem;
    grid-template-columns: 1fr 5.7rem;
    margin-top: 2.1875rem;
}

.mobile-version .mobile-content > .van-popup .tips-title .tips {
    color: #DADADA;
    font-family: Inter, sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 129%;
    text-transform: capitalize;
    letter-spacing: 0;
}

.mobile-version .mobile-content > .van-popup .tips-title .astrict {
    color: #6D6D6D;
    font-family: Inter, sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 129%;
    text-transform: capitalize;
    letter-spacing: 0;
}

.mobile-version .mobile-content > .van-popup .tips-title .random {
    width:100%;
    height: 2.6875rem;
    border-radius: 1.34375rem;
    background: linear-gradient(101deg, #6D33FA 39%, #A676EF 99%), linear-gradient(101deg, #6D33FA 39%, #A676EF 99%), linear-gradient(264deg, #9F6DF0 -1%, #825CF1 99%), linear-gradient(0deg, #35F1FE, #35F1FE), linear-gradient(0deg, #0EB3F4 0%, #06FFFF 100%), #332962;

    text-align: center;
    font-family: Inter, sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 100%;
    text-transform: capitalize;
    letter-spacing: 0;
    color: #e4e4e4;
}

.mobile-version .mobile-content > .van-popup > .van-cell {
    height: 9.75rem;
    margin-top: 0.625rem;
    border-radius: 0.625rem;
    --van-cell-background: #2B2B2B;
    padding: 0.9375rem
}

.mobile-version .mobile-content > .van-popup > .van-cell::after {
    display: none;
}

.mobile-version .mobile-content > .van-popup > .add {
    width:100%;
    height: 2.6875rem;
    border-radius: 1.34375rem;
    margin-top: 1rem;
    background: linear-gradient(101deg, #6D33FA 39%, #A676EF 99%), linear-gradient(101deg, #6D33FA 39%, #A676EF 99%), linear-gradient(264deg, #9F6DF0 -1%, #825CF1 99%), linear-gradient(0deg, #35F1FE, #35F1FE), linear-gradient(0deg, #0EB3F4 0%, #06FFFF 100%), #332962;

    font-family: Inter, sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 100%;
    text-transform: capitalize;
    letter-spacing: 0;
    color: #FFFFFF;
}

.permission {
    left: 0;
    right: 0;
    bottom: 0;
    position: fixed;
    background: rgba(0, 0, 0, 0.7);
}

.permission .mobile-version {
    padding: 0.9375rem;
}

.permission .mobile-version .permission-tips {
    color: #FFFFFF;
    font-family: Inter, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
}

.permission .mobile-version .permission-btn {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem;
    height: 2.25rem;
    margin-top: 0.9375rem;
}

.permission .mobile-version .button {
    width: 100%;
    border-radius: 0.625rem;
    background: linear-gradient(107deg, #6D33FA 38%, #A676EF 99%);

    font-family: Poppins, sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #FBFBFB;
}

.pc-version {
    position: relative;
    height: 100vh;
    background: #010002;
}

.pc-version .pc-background {
    width: 100%;
    height: 100%;
    background: radial-gradient(55% 80% at 50% 50%, #3e2671, transparent);
    backdrop-filter: blur(6.25rem);
}

.pc-version header {
    gap: 2.375rem;

    width: 100%;
    height: 3rem;
    background: rgba(0, 0, 0, 0);
    transition: background 0.2s ease;

    font-family: Inter, sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 129%;
    text-transform: capitalize;
    letter-spacing: 0;
    color: #BABABA;
}

.pc-version header a {
    color: #BABABA;
}

.pc-version header :nth-child(n) {
    cursor: pointer;
}

.pc-version header div img {
    width: 0.4375rem;
    margin-left: 0.3125rem;
}

.pc-version header .active {
    color: white;
}

.pc-version .pc-content {
    top: 0;
    left: 0;
    width: 100%;
    position: absolute;
    text-align: center;
}

.pc-version .pc-content .title {
    margin-top: 5.625rem;
    font-family: Poppins, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 100%;
    text-transform: uppercase;
    letter-spacing: 0;
    color: white;
}

.pc-version .pc-content .input {
    width: 40rem;
    height: 13rem;
    margin: 1.25rem auto 0;
    border-radius: 0.625rem;
    background: linear-gradient(100deg, #64606B, #C4C2C8, #5F596C, #5F596C, #C4C2C8, #5F596C, #5F596C, #C4C2C8, #64606B);
    backdrop-filter: blur(9.875rem);
    padding: 0.0625rem;
    overflow: hidden;

    --van-cell-line-height: 100%;
    --van-field-placeholder-text-color: #4E4265;
}

.pc-version .pc-content .input-bg {
    width: 100%;
    height: 100%;
    background: #1D1138;
    border-radius: 0.625rem;
    overflow: hidden;
}

.pc-version .pc-content .input .van-cell-group {
    margin: 0;
    width: 100%;
    height: 10rem;
}

.pc-version .pc-content .input .van-cell-group--inset {
    border-radius: 0.625rem;

}

.pc-version .pc-content .input .van-cell-group .van-cell {
    padding: 0.9375rem;
    background: #1D1138;
    height: 100%;
}

.pc-version .pc-content .input .btnGroup {
    padding: 0 0.9375rem;
    height: 3rem;
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1.75rem;
    gap: 1.25rem;
}

.pc-version .pc-content .input .btnGroup .funTypes {
    gap: 1.25rem;
    font-family: Inter, sans-serif;
    font-size: 0.75rem;
    font-weight: normal;
    text-transform: capitalize;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
    color: #CBCBCB;
    overflow-x: auto;
    display: flex;
    align-items: center;
}

.pc-version .pc-content .input .btnGroup .funTypes > div {
    padding: 0.0625rem;
    background: transparent;
    border-radius: 0.5rem;
}

.pc-version .pc-content .input .btnGroup .funTypes .content {
    padding: 0.5rem 0.6875rem;
    border-radius: 0.5rem;
    background: #3B2763;
    cursor: pointer;
}

.pc-version .pc-content .input .btnGroup .funTypes img {
    width: 0.75rem;
    margin-right: 0.625rem;
}

.pc-version .pc-content .input .btnGroup .funTypes .active {
    background: radial-gradient(59% 86% at 50% 50%, #151515 50%, rgba(21, 21, 21, 0) 100%),
    radial-gradient(59% 76% at 50% 50%, #FFFFFF 50%, rgba(255, 255, 255, 0.3) 100%);
}

.pc-version .pc-content .input .btnGroup .funTypes .active .content {
    background: linear-gradient(108deg, #1F1239 0%, #52456C 99%)
}

.pc-version .pc-content .input .btnGroup .inputBtn {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: linear-gradient(242deg, #9F6DF0 0%, #825CF1 95%), linear-gradient(0deg, #56555C, #56555C), linear-gradient(0deg, #0EB3F4 0%, #06FFFF 100%), #22252C;
    transition: filter 0.4s ease;
    cursor: pointer;
}

.pc-version .pc-content .input .btnGroup .inputBtn img {
    width: 0.875rem;
}

.pc-version .pc-content .input .btnGroup .inputBtn.display {
    filter: grayscale(80%);
}

.pc-version .pc-content .input .van-cell-group textarea {
    font-size: 0.75rem;
}

.pc-version .pc-content > .content {
    height: calc(100vh - 3rem - 8.5625rem);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.9375rem;
    padding: 0.9375rem calc(50% - 20rem);
    margin: 0 auto;
}

.pc-version .pc-content > .content .chatBox {
    color: #FFFFFF;
    width: fit-content;
    padding: 0.65rem 0.55rem;
    margin: 0 1rem;
    overflow-wrap: break-word;
    font-family: Inter, sans-serif;
    font-size: 0.7rem;
    font-weight: normal;
    line-height: 150%;
    letter-spacing: 0;
    font-feature-settings: "kern" on;
    border-radius: 0.625rem
}

.pc-version .pc-content > .content .player {
    max-width: 70%;
    text-align: left;
    align-self: flex-end;
    background: #825CF1;
    border-bottom-right-radius: 0;
}

.pc-version .pc-content > .content .robot {
    text-align: left;
}

.pc-version .pc-content > .content .robot img {
    width: 100%;
    max-width: 9.25rem;
}

.pc-version .pc-content > .content .dot-loading .dot-loader {
    width: 0.3rem;
    height: 0.3rem;
}

.pc-version .pc-content footer.input {
    position: fixed;
    bottom: 0.75rem;
    left: 50%;
    transform: translateX(-50%);
    height: 7.8125rem;
}

.pc-version .pc-content footer.input .van-cell-group {
    height: 5rem;
}

.pc-version .pc-content footer.input .btnGroup {
    height: 2.8125rem
}

/*.pc-version footer {*/
/*    width: 50%;*/
/*    margin: 9.375rem auto 0;*/
/*    color: rgba(255, 255, 255, 0.6);*/
/*    font-size: 0.5rem;*/
/*    text-align: center;*/
/*    display: grid;*/
/*    align-items: center;*/
/*    grid-template-rows: repeat(2, 1.5rem);*/
/*    grid-template-columns: 1fr 0.25rem 1fr 0.25rem 1fr;*/
/*}*/

/*.pc-version footer a {*/
/*    color: #FFFFFF;*/
/*    text-align: center;*/
/*}*/

/*.pc-version footer div {*/
/*    color: rgba(255, 255, 255, 0.6);*/
/*    grid-column: 1 / -1;*/
/*}*/

.van-popover__content {
    padding: 0.375rem 0;
}

.van-popover__action-text {
    justify-content: start;

    font-family: Inter, sans-serif;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 100%;
    text-transform: capitalize;
    letter-spacing: 0;
    color: #E8E8E8;
}

.van-hairline--bottom:after {
    border: none;
}

.van-cell .van-cell__value, .van-cell .van-field__body, .van-cell .van-field__body textarea {
    line-height: 150% !important;
}

/* PC 移动 UI兼容 */
@media screen and (max-width: 600px) {
    .pc-version {
        display: none;
    }

    .mobile-version {
        display: block;
    }
}

/* dot-loading */
.dot-loading {
    display: flex;
    align-items: center;
}

.dot-loading .dot-loader {
    height: 0.4375rem;
    width: 0.4375rem;
    border-radius: 50%;
    background-color: #D8D8D8;
    position: relative;
    animation: 1.4s grow ease-in-out infinite;
}

.dot-loading .dot-loader--2 {
    animation: 1.4s grow ease-in-out infinite 0.15555s;
    margin: 0 0.75rem;
}

.dot-loading .dot-loader--3 {
    animation: 1.4s grow ease-in-out infinite 0.3s;
}

@keyframes grow {
    0%, 40%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    40% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.van-cell .van-cell__value,
.van-cell .van-field__body,
.van-cell .van-field__body textarea {
    height: 100%;
    line-height: 130%;
    min-height: auto;
    font-family: Inter, sans-serif;
}

.scrollbar {
    scrollbar-width: thin;
    scrollbar-color: rgba(177, 177, 177, 0.5) transparent;
}
